PageSourceSearch

https://kit.ac.in/web-assets/angular/angularjs/controllers/cms-news-controller.js?version=1782474991

js kit.ac.in collected 2026-09-30 10:01:34 UTC 13,913 bytes, 452 lines download raw bytes

1var csrflistHash = $("#csrflistHash").val();
2
3app.controller("adminNewsListServicesCtrl", function ($scope, $http, toastr) {
4	$scope.newsListInit = function () {
5		$scope.newsListArray = {
6			newsAndCircular: [],
7			importantNotices: [],
8		};
9		$scope.getCategory = [];
10		$scope.getAllNewArray = [];
11		$scope.getAllnewsCategory();
12		$scope.getAllNews();
13		$scope.getAllnewsListService();
14		$scope.inputSearchValue = "";
15		$scope.categoryName = "All News";
16		$scope.seperator = "^%^";
17		$scope.isLoading = true;
18		$scope.formatDate = function (inputDate) {
19			var date = new Date(inputDate);
20			var options = { month: "short", day: "numeric" };
21			return date.toLocaleDateString("en-US", options);
22		};
23	};
24
25	$scope.changeHomeNewCategory = function (category) {
26		if (category == "") {
27			$scope.getAllnewsListService();
28		} else {
29			let category_id = category;
30			let newsArrary = $scope.getAllNewArray;
31
32			let newCategoryArray = [];
33			$scope.newsListArray.newsAndCircular = [];
34			$scope.newsListArray.importantNotices = [];
35
36			newCategoryArray = newsArrary.filter(
37				(data) => data.tncl_nws_category_id === category_id
38			);
39
40			$scope.numberOfNews = newCategoryArray.length;
41			newCategoryArray.map((news) => {
42				let newsObj = {};
43				let linkInfo = [];
44
45				newsObj.nws_id = news.nws_id;
46				newsObj.nws_title = news.nws_title;
47				newsObj.tnbt_name = news.tnbt_name;
48				newsObj.tncm_category_name_shortcode =
49					news.tncm_category_name_shortcode;
50				newsObj.nws_created_date = news.nws_created_date;
51				newsObj.nws_new_flag = news.nws_new_flag === "1" ? true : false;
52				newsObj.isShowNews = true;
53
54				if (news.nws_target === "new") {
55					newsObj.nws_target = "_blank";
56				} else if (news.nws_target === "same") {
57					newsObj.nws_target = "_self";
58				}
59
60				if (news.nws_link) {
61					linkInfo = news.nws_link.split($scope.seperator);
62					newsObj.nws_link = {
63						actualLink: linkInfo[0],
64						linkOrPath: linkInfo[1],
65					};
66				} else {
67					newsObj.isShowNews = true;
68				}
69
70				let currentDateWithZeroHours = new Date();
71				currentDateWithZeroHours.setHours(0, 0, 0, 0);
72				let validFromDate, validTillDate;
73
74				// date validation
75				// both date are present
76				if (news.nws_valid_from && news.nws_valid_till) {
77					if (
78						news.nws_valid_from == "0000-00-00 00:00:00" &&
79						news.nws_valid_till == "0000-00-00 00:00:00"
80					) {
81						newsObj.isShowNews = true;
82					} else {
83						validFromDate = new Date(news.nws_valid_from);
84						validTillDate = new Date(news.nws_valid_till);
85						if (
86							validFromDate.getTime() === validTillDate.getTime() &&
87							validTillDate.getTime() != currentDateWithZeroHours.getTime()
88						) {
89							newsObj.isShowNews = false;
90						}
91						// if from date > current date or current date > till then don't show news
92						else if (
93							validFromDate.getTime() > currentDateWithZeroHours.getTime() ||
94							currentDateWithZeroHours.getTime() > validTillDate.getTime()
95						) {
96							newsObj.isShowNews = false;
97						}
98					}
99				}
100				// only from date is present
101				else if (news.nws_valid_from && !news.nws_valid_till) {
102					if (news.nws_valid_from == "0000-00-00 00:00:00") {
103						newsObj.isShowNews = true;
104					} else {
105						validFromDate = new Date(news.nws_valid_from);
106						// if from date > current date then don't show news
107						if (validFromDate.getTime() > currentDateWithZeroHours.getTime()) {
108							newsObj.isShowNews = false;
109						}
110					}
111				}
112				// only till date is present
113				else if (!news.nws_valid_from && news.nws_valid_till) {
114					if (news.nws_valid_till == "0000-00-00 00:00:00") {
115						newsObj.isShowNews = true;
116					} else {
117						validTillDate = new Date(news.nws_valid_till);
118						// if till date is less than current date then don't show news
119						if (validTillDate.getTime() < currentDateWithZeroHours.getTime()) {
120							newsObj.isShowNews = false;
121						}
122					}
123				}
124
125				if (newsObj.isShowNews) {
126					if (news.nws_type === "News & Circulars") {
127						$scope.newsListArray.newsAndCircular.push(newsObj);
128					} else if (news.nws_type === "Important Notices") {
129						$scope.newsListArray.importantNotices.push(newsObj);
130					}
131				}
132			});
133		}
134	};
135
136	$scope.changeCategory = function (category) {
137		if (document.getElementById("All News")) {
138			document.getElementById("All News").classList.remove("active");
139		}
140		if (document.getElementById(category.tncm_category_name)) {
141			document
142				.getElementById(category.tncm_category_name)
143				.classList.add("active");
144		}
145		if (document.getElementById($scope.categoryName)) {
146			document.getElementById($scope.categoryName).classList.remove("active");
147		}
148
149		$scope.categoryName = category.tncm_category_name;
150		let category_id = category.tncl_nws_category_id;
151		let newsArrary = $scope.getAllNewArray;
152
153		let newCategoryArray = [];
154		$scope.newsListArray.newsAndCircular = [];
155		$scope.newsListArray.importantNotices = [];
156
157		newCategoryArray = newsArrary.filter(
158			(data) => data.tncl_nws_category_id === category_id
159		);
160
161		$scope.numberOfNews = newCategoryArray.length;
162		newCategoryArray.map((news) => {
163			let newsObj = {};
164			let linkInfo = [];
165
166			newsObj.nws_id = news.nws_id;
167			newsObj.nws_title = news.nws_title;
168			newsObj.tnbt_name = news.tnbt_name;
169			newsObj.tncm_category_name_shortcode = news.tncm_category_name_shortcode;
170			newsObj.nws_created_date = news.nws_created_date;
171			newsObj.nws_new_flag = news.nws_new_flag === "1" ? true : false;
172			newsObj.isShowNews = true;
173
174			if (news.nws_target === "new") {
175				newsObj.nws_target = "_blank";
176			} else if (news.nws_target === "same") {
177				newsObj.nws_target = "_self";
178			}
179
180			if (news.nws_link) {
181				linkInfo = news.nws_link.split($scope.seperator);
182				newsObj.nws_link = {
183					actualLink: linkInfo[0],
184					linkOrPath: linkInfo[1],
185				};
186			} else {
187				newsObj.isShowNews = true;
188			}
189
190			let currentDateWithZeroHours = new Date();
191			currentDateWithZeroHours.setHours(0, 0, 0, 0);
192			let validFromDate, validTillDate;
193
194			// date validation
195			// both date are present
196			if (news.nws_valid_from && news.nws_valid_till) {
197				if (
198					news.nws_valid_from == "0000-00-00 00:00:00" &&
199					news.nws_valid_till == "0000-00-00 00:00:00"
200				) {
201					newsObj.isShowNews = true;
202				} else {
203					validFromDate = new Date(news.nws_valid_from);
204					validTillDate = new Date(news.nws_valid_till);
205					if (
206						validFromDate.getTime() === validTillDate.getTime() &&
207						validTillDate.getTime() != currentDateWithZeroHours.getTime()
208					) {
209						newsObj.isShowNews = false;
210					}
211					// if from date > current date or current date > till then don't show news
212					else if (
213						validFromDate.getTime() > currentDateWithZeroHours.getTime() ||
214						currentDateWithZeroHours.getTime() > validTillDate.getTime()
215					) {
216						newsObj.isShowNews = false;
217					}
218				}
219			}
220			// only from date is present
221			else if (news.nws_valid_from && !news.nws_valid_till) {
222				if (news.nws_valid_from == "0000-00-00 00:00:00") {
223					newsObj.isShowNews = true;
224				} else {
225					validFromDate = new Date(news.nws_valid_from);
226					// if from date > current date then don't show news
227					if (validFromDate.getTime() > currentDateWithZeroHours.getTime()) {
228						newsObj.isShowNews = false;
229					}
230				}
231			}
232			// only till date is present
233			else if (!news.nws_valid_from && news.nws_valid_till) {
234				if (news.nws_valid_till == "0000-00-00 00:00:00") {
235					newsObj.isShowNews = true;
236				} else {
237					validTillDate = new Date(news.nws_valid_till);
238					// if till date is less than current date then don't show news
239					if (validTillDate.getTime() < currentDateWithZeroHours.getTime()) {
240						newsObj.isShowNews = false;
241					}
242				}
243			}
244
245			if (newsObj.isShowNews) {
246				if (news.nws_type === "News & Circulars") {
247					$scope.newsListArray.newsAndCircular.push(newsObj);
248				} else if (news.nws_type === "Important Notices") {
249					$scope.newsListArray.importantNotices.push(newsObj);
250				}
251			}
252		});
253	};
254	// get category of news
255
256	$scope.getAllnewsCategory = function () {
257		var transform = function (data) {
258			return $.param(data);
259		};
260		$http
261			.post(
262				window.site_url + "FrontEndAPI/getAllCategory",
263				{
264					inputSearchValue: $scope.inputSearchValue,
265				},
266				{
267					headers: {
268						"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
269					},
270					transformRequest: transform,
271				}
272			)
273			.then(function (response) {
274				if (response.data.status.status == "201") {
275					$scope.getCategory = response.data.data;
276				} else {
277					toastr.error(response.data.status.message);
278				}
279			});
280	};
281
282	$scope.getAllNews = function () {
283		var transform = function (data) {
284			return $.param(data);
285		};
286		$http
287			.post(
288				window.site_url + "FrontEndAPI/getAllNews",
289				{
290					inputSearchValue: $scope.inputSearchValue,
291				},
292				{
293					headers: {
294						"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
295					},
296					transformRequest: transform,
297				}
298			)
299			.then(function (response) {
300				if (response.data.status.status == "201") {
301					$scope.getAllNewArray = response.data.data;
302				} else {
303					toastr.error(response.data.status.message);
304				}
305			});
306	};
307
308	// get all news and filter them according to news and circular/important notices
309	$scope.getAllnewsListService = function () {
310		if (document.getElementById("All News")) {
311			document.getElementById("All News").classList.add("active");
312		}
313		if (document.getElementById($scope.categoryName)) {
314			document.getElementById($scope.categoryName).classList.remove("active");
315		}
316		$scope.categoryName = "All News";
317		var transform = function (data) {
318			return $.param(data);
319		};
320		$http
321			.post(
322				window.site_url + "FrontEndAPI/getNewsListForWebsite",
323				{
324					inputSearchValue: $scope.inputSearchValue,
325				},
326				{
327					headers: {
328						"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
329					},
330					transformRequest: transform,
331				}
332			)
333			.then(function (response) {
334				$scope.isLoading = false;
335				if (response.data.status.status == "201") {
336					$scope.numberOfNews = response.data.data.length;
337
338					$scope.newsListArray.newsAndCircular = [];
339					$scope.newsListArray.importantNotices = [];
340
341					response.data.data.map((news) => {
342						let newsObj = {};
343						let linkInfo = [];
344
345						newsObj.nws_id = news.nws_id;
346						// Parse "id~~name~~shortcode~^~id~~name~~shortcode" → array of names
347						if (news.newsCategory) {
348							newsObj.newsCategories = news.newsCategory.split('~^~').map(function(cat) {
349								var parts = cat.split('~~');
350								return parts.length >= 2 ? parts[1].trim() : cat.trim();
351							});
352						} else {
353							newsObj.newsCategories = [];
354						}
355						newsObj.nws_created_date = news.nws_created_date;
356						newsObj.nws_title = news.nws_title;
357						newsObj.tnbt_name = news.tnbt_name;
358						newsObj.nws_short_description = news.nws_short_description;
359						newsObj.nws_description = news.nws_description;
360						newsObj.nws_new_flag = news.nws_new_flag === "1" ? true : false;
361						newsObj.isShowNews = true;
362
363						if (news.nws_target === "new") {
364							newsObj.nws_target = "_blank";
365						} else if (news.nws_target === "same") {
366							newsObj.nws_target = "_self";
367						}
368
369						if (news.nws_link) {
370							linkInfo = news.nws_link.split($scope.seperator);
371							newsObj.nws_link = {
372								actualLink: linkInfo[0],
373								linkOrPath: linkInfo[1],
374							};
375						} else {
376							newsObj.isShowNews = true;
377						}
378
379						let currentDateWithZeroHours = new Date();
380						currentDateWithZeroHours.setHours(0, 0, 0, 0);
381						let validFromDate, validTillDate;
382
383						// date validation
384						// both date are present
385						if (news.nws_valid_from && news.nws_valid_till) {
386							if (
387								news.nws_valid_from == "0000-00-00 00:00:00" &&
388								news.nws_valid_till == "0000-00-00 00:00:00"
389							) {
390								newsObj.isShowNews = true;
391							} else {
392								validFromDate = new Date(news.nws_valid_from);
393								validTillDate = new Date(news.nws_valid_till);
394								if (
395									validFromDate.getTime() === validTillDate.getTime() &&
396									validTillDate.getTime() != currentDateWithZeroHours.getTime()
397								) {
398									newsObj.isShowNews = false;
399								}
400								// if from date > current date or current date > till then don't show news
401								else if (
402									validFromDate.getTime() >
403										currentDateWithZeroHours.getTime() ||
404									currentDateWithZeroHours.getTime() > validTillDate.getTime()
405								) {
406									newsObj.isShowNews = false;
407								}
408							}
409						}
410						// only from date is present
411						else if (news.nws_valid_from && !news.nws_valid_till) {
412							if (news.nws_valid_from == "0000-00-00 00:00:00") {
413								newsObj.isShowNews = true;
414							} else {
415								validFromDate = new Date(news.nws_valid_from);
416								// if from date > current date then don't show news
417								if (
418									validFromDate.getTime() > currentDateWithZeroHours.getTime()
419								) {
420									newsObj.isShowNews = false;
421								}
422							}
423						}
424						// only till date is present
425						else if (!news.nws_valid_from && news.nws_valid_till) {
426							if (news.nws_valid_till == "0000-00-00 00:00:00") {
427								newsObj.isShowNews = true;
428							} else {
429								validTillDate = new Date(news.nws_valid_till);
430								// if till date is less than current date then don't show news
431								if (
432									validTillDate.getTime() < currentDateWithZeroHours.getTime()
433								) {
434									newsObj.isShowNews = false;
435								}
436							}
437						}
438
439						if (newsObj.isShowNews) {
440							if (news.nws_type === "News & Circulars") {
441								$scope.newsListArray.newsAndCircular.push(newsObj);
442							} else if (news.nws_type === "Important Notices") {
443								$scope.newsListArray.importantNotices.push(newsObj);
444							}
445						}
446					});
447				} else {
448					toastr.error(response.data.status.message);
449				}
450			});
451	};
452});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.