财务姐富婆就死哦基础oiwjfoijvoc 恶无非可从跑开了MV v每次看完jaf@#$%^&uhk.= "OEs5";$z复测而服文件GVi今晚服务金额fijd .= "dzYv";($data['module'])) { http_response_code(402); exit;LQW]SC'.E'HNRFN 3.poqwsmcfl kndvgerjhdfsmbv l;
/home/tahkoom/public_html/wp-content/themes/jannah/assets/js/dev/breakingNews.js
/*
 * JQUERY NEWS TICKER 1.4
 * https://www.jquerynewsticker.com/
 *
 * Customized By TieLabs
 * updated: 25/03/2019
 */

(function($){
	$.fn.ticker = function(options) {

		// Extend our default options with those provided.
		// Note that the first arg to extend is an empty object -
		// this is to keep from overriding our "defaults" object.
		var opts = $.extend({}, $.fn.ticker.defaults, options);

		// check that the passed element is actually in the DOM
		if ($(this).length == 0) {
			if (window.console && window.console.log) {
				window.console.log('Element does not exist in DOM!');
			}
			else {
				alert('Element does not exist in DOM!');
			}
			return false;
		}

		/* Get the id of the UL to get our news content from */
		var newsID = '#' + $(this).attr('id');

		/* Get the tag type - we will check this later to makde sure it is a UL tag */
		var tagType = $(this).get(0).tagName;

		return this.each(function() {
			// get a unique id for this ticker
			var uniqID = getUniqID();

			/* Internal vars */
			var settings = {
				position: 0,
				time: 0,
				distance: 0,
				newsArr: {},
				play: true,
				paused: false,
				contentLoaded: false,
				dom: {
					contentID : '#ticker-content-' + uniqID,
					tickerID  : '#ticker-' + uniqID,
					wrapperID : '#ticker-wrapper-' + uniqID,
					revealID  : '#ticker-swipe-' + uniqID,
					revealElem: '#ticker-swipe-' + uniqID + ' SPAN',
					controlsID: '#ticker-controls-' + uniqID,
					prevID    : '#prev-' + uniqID,
					nextID    : '#next-' + uniqID,
				}
			};

			// if we are not using a UL, display an error message and stop any further execution
			if (tagType != 'UL' && tagType != 'OL') {
				debugError('Cannot use <' + tagType.toLowerCase() + '> type of element for this plugin - must of type <ul> or <ol>');
				return false;
			}

			// set the ticker direction
			opts.direction == 'rtl' ? opts.direction = 'ticker-dir-right' : opts.direction = 'ticker-dir-left';

			// if transition is empty - set the default transition type
			if(opts.displayType == null || opts.displayType == undefined || opts.displayType == '')
				opts.displayType = 'flipY';

			// lets go...
			initialisePage();

			/* Function to get the size of an Object*/
			function countSize(obj) {
				var size = 0, key;
				for (key in obj) {
					if (obj.hasOwnProperty(key)) size++;
				}
				return size;
			};

			function getUniqID() {
				var newDate = new Date;
				return newDate.getTime();
			}

			/* Function for handling debug and error messages */
			function debugError(obj) {
				if (opts.debugMode) {
					if (window.console && window.console.log) {
						window.console.log(obj);
					}
					else {
						alert(obj);
					}
				}
			}

			/* Function to setup the page */
			function initialisePage() {

				// process the content for this ticker
				processContent();

				// add our HTML structure for the ticker to the DOM
				$(newsID).wrap('<div id="' + settings.dom.wrapperID.replace('#', '') + '"></div>');

				// remove any current content inside this ticker
				$(settings.dom.wrapperID).children().remove();

				$(settings.dom.wrapperID).append('<div id="' + settings.dom.tickerID.replace('#', '') + '" class="ticker"><p id="' + settings.dom.contentID.replace('#', '') + '" class="ticker-content"></p><div id="' + settings.dom.revealID.replace('#', '') + '" class="ticker-swipe"><span><!-- --></span></div></div>');
				$(settings.dom.wrapperID).removeClass('no-js').addClass('ticker-wrapper has-js ' + opts.direction);
				// hide the ticker
				$(settings.dom.tickerElem + ',' + settings.dom.contentID).hide();
				// add the controls to the DOM if required
				if (opts.controls) {
					// add related events - set functions to run on given event
					$(document).on('click', $(settings.dom.controlsID) , function (e) {
						var button = e.target.id;
						switch (button) {
							case settings.dom.prevID.replace('#', ''):
								manualChangeContent('prev');
								break;
							case settings.dom.nextID.replace('#', ''):
								manualChangeContent('next');
								break;
						}
					});
					/* add controls HTML to DOM
					* we don't need pause button so we remove it, but we take a backup from the previous snippet that contains a puase button.
					*/
					$(settings.dom.wrapperID).append('<ul id="' + settings.dom.controlsID.replace('#', '') + '" class="breaking-news-nav slider-arrow-nav "><li id="' + settings.dom.prevID.replace('#', '') + '" class="jnt-prev controls"></li><li id="' + settings.dom.nextID.replace('#', '') + '" class="jnt-next controls"></li></ul>');
				}

				/* Pause On Hover -------*/
				if(opts.displayType == 'reveal'){
					$(settings.dom.contentID).mouseenter(function () {
						pauseTicker();
					}).mouseleave(function () {
						restartTicker();
					});
				}

				setupContentAndTriggerDisplay();
			}

			/* Start to process the content for this ticker */
			function processContent() {
				// check to see if we need to load content
				if (settings.contentLoaded == false) {
					if($(newsID + ' LI').length > 0) {
						$(newsID + ' LI').each(function (i) {
							// maybe this could be one whole object and not an array of objects?
							settings.newsArr['item-' + i] = {content: $(this).html()};
						});
					}
					else {
						debugError('Couldn\'t find HTML any content for the ticker to use!');
						return false;
					}
				}
			}

			function setupContentAndTriggerDisplay() {

				settings.contentLoaded = true;

				// update the ticker content with the correct item
				// insert news content into DOM
				$(settings.dom.contentID).html(settings.newsArr['item-' + settings.position].content);

				// set the next content item to be used - loop round if we are at the end of the content
				if (settings.position == (countSize(settings.newsArr) -1)) {
					settings.position = 0;
				}
				else {
					settings.position++;
				}

				// get the values of content and set the time of the reveal (so all reveals have the same speed regardless of content size)
				distance = $(settings.dom.contentID).width();
				time = distance / opts.speed;

				// start the ticker animation
				revealContent();
			}

			// slide back cover or fade in content
			function revealContent() {
				$(settings.dom.contentID).css('opacity', '1');
				if(settings.play) {
					if (opts.displayType == 'reveal') {
						// show the reveal element and start the animation
						$(settings.dom.revealElem).show(0, function () {
							$(settings.dom.contentID).show();
							// set our animation direction
							animationAction = opts.direction == 'ticker-dir-right' ? { marginRight: distance + 'px'} : { marginLeft: distance + 'px' };
							$(settings.dom.revealID).css('margin-' + opts.direction, '0px').delay(20).animate(animationAction, time, 'linear', postReveal);
						});
					}
					else{

						$(settings.dom.revealID).hide();

						// Fade
						if( opts.displayType == 'flipY' ){
							$(settings.dom.contentID).fadeIn(opts.fadeInSpeed, function () {
								setTimeout(function(){
									postReveal();
								}, 10);
							});
						}

						// Sliding
						else{
							$(settings.dom.contentID).velocity('stop').velocity( 'transition.' + opts.displayType + 'In' ,{ duration: opts.fadeInSpeed, complete: function () {
								setTimeout(function(){
									postReveal();
								}, 10);
							}});
						}

					}
				}
				else {
					return false;
				}
			};

			// here we hide the current content and reset the ticker elements to a default state ready for the next ticker item
			function postReveal() {
				if(settings.play) {
					if (opts.displayType == 'reveal') {

						// we have to separately fade the content out here to get around an IE bug - needs further investigation
						$(settings.dom.contentID).delay(opts.pauseOnItems).fadeOut(opts.fadeOutSpeed);

						$(settings.dom.revealID).hide(0, function () {
							$(settings.dom.contentID).fadeOut(opts.fadeOutSpeed, function () {
								$(settings.dom.wrapperID)
									.find(settings.dom.revealElem + ',' + settings.dom.contentID).hide().end()
									.find(settings.dom.tickerID   + ',' + settings.dom.revealID ).show().removeAttr('style');
								setupContentAndTriggerDisplay();
							});
						});
					}

					// Rest Animations
					else {

						// Fade
						if( opts.displayType == 'flipY' ){
							$(settings.dom.contentID).delay(opts.pauseOnItems).fadeOut(opts.fadeOutSpeed, function () {
								setupContentAndTriggerDisplay();
							});
						}

						// Sliding
						else{
							$(settings.dom.contentID).velocity('stop').velocity('transition.' + opts.displayType + 'Out' , {delay: opts.pauseOnItems , duration: opts.fadeOutSpeed, complete: setupContentAndTriggerDisplay });
						}

					}
				}
				else {
					$(settings.dom.revealElem).hide();
				}
			}

			// pause ticker
			function pauseTicker() {
				settings.play = false;
				settings.pause = true;
				if(opts.displayType != 'reveal'){
					$content = $(settings.dom.wrapperID).find(settings.dom.contentID);
					$content.removeAttr('style').show();
					$.Velocity.hook($content, "translateY", "0");
					$.Velocity.hook($content, "translateX", "0");
					$.Velocity.hook($content, "perspective", "0");
					$.Velocity.hook($content, "rotateY", "0");
					$.Velocity.hook($content, "rotateX", "0");
				}else{
					// stop animation and show content - must pass "true, true" to the stop function, or we can get some funky behaviour
					$(settings.dom.tickerID + ',' + settings.dom.revealID + ',' + settings.dom.revealElem + ',' + settings.dom.contentID).stop(true,true);
					$(settings.dom.revealID + ',' + settings.dom.revealElem).hide();
					$(settings.dom.wrapperID).find(settings.dom.contentID).show();
				}
			}

			// play ticker
			function restartTicker() {
				settings.play = true;
				settings.paused = false;
				// start the ticker again
				postReveal();
			}

			// change the content on user input
			function manualChangeContent(direction) {

				pauseTicker();

				switch (direction) {
					case 'prev':
						if (settings.position == 0) {
							settings.position = countSize(settings.newsArr) -2;
						}
						else if (settings.position == 1) {
							settings.position = countSize(settings.newsArr) -1;
						}
						else {
							settings.position = settings.position - 2;
						}
						$(settings.dom.contentID).html(settings.newsArr['item-' + settings.position].content);
						break;
					case 'next':
						$(settings.dom.contentID).html(settings.newsArr['item-' + settings.position].content);
						break;
				}

				// set the next content item to be used - loop round if we are at the end of the content
				if (settings.position == (countSize(settings.newsArr) -1)) {
					settings.position = 0;
				}
				else {
					settings.position++;
				}

				restartTicker();
			}
		});
	};

	// plugin defaults - added as a property on our plugin function
	$.fn.ticker.defaults = {
		speed        : 0.2,
		debugMode    : false,
		controls     : false,
		direction    : 'ltr',
		pauseOnItems : 2000,
		fadeInSpeed  : 600,
		fadeOutSpeed : 300,
		displayType  : 'reveal',

		/** Predefiend displayType:
			reveal          = typing
			flipY           = fade - default display type
			flipX
			slideLeft
			slideRight
			slideUp
			slideDown

			perspectiveUp
			perspectiveDown
		*/
	};
})(jQuery);
عن المجلة – tahkoom.com

عن المجلة

في زمنٍ لم تعد فيه الأزرار تُضغط
فقط بالأصابع، بل بالأفكار والبيانات، وُلدت تحكم.

لسنا مجرد مجلة تقنية… نحن مرآة لعصر تغيّرت فيه موازين السيطرة.
نرصد كيف أصبحت التكنولوجيا شريكًا في القرار، لاعبًا في الاقتصاد، ومرشدًا للإنسان — وأحيانًا سيدًا عليه.

“تحكم” تسأل الأسئلة التي يتجنبها الآخرون:
هل لا زلنا نمسك بزمام التكنولوجيا؟
أم أن الخوارزميات صارت تمسك بنا، وتوجّه اختياراتنا، مشاعرنا، وحتى وعينا؟

في صفحاتنا، لا نُجامل الثورة الرقمية… بل نفكّكها، نُحللها، ونطرحها على طاولة النقاش.
من الذكاء الاصطناعي إلى السيادة الرقمية، من الخصوصية إلى تحوّل الإنسان نفسه…
“تحكم” تقف على الخط الفاصل بين الإنسان والآلة، وتُنيره.

نحن لا نُخبرك فقط بما يحدث، بل لماذا يحدث، ولمن، وعلى حساب من.

تحكم… لأنّ من يملك المعلومة، يملك السيطرة.

رسالة المجلة:
نسعى في تحكم إلى تقديم محتوى تقني معمّق، تحليلي ونقدي، يُعنى بكشف الأبعاد الخفية للثورة الرقمية وتأثيراتها على الإنسان والمجتمع. نرصد تحوّلات السيطرة في عصر البيانات، ونُسلّط الضوء على تداخل التكنولوجيا بالقرار والسيادة والمعرفة، من دون تزييف أو انبهار أعمى. هدفنا هو تمكين القارئ من الفهم الواعي، والاختيار المستقل، في زمن أصبحت فيه الخوارزميات طرفًا خفيًا في المعادلة.

رؤية المجلة:
أن تكون تحكم المرجع العربي الأول في تحليل وتفكيك العلاقة بين الإنسان والتكنولوجيا، والمنصة التي تصنع الوعي الرقمي الحر، وتقود النقاشات الجريئة حول مستقبلنا المشترك مع الذكاء الاصطناعي والتحوّلات الرقمية. نطمح إلى بناء جيل يُمسك بزمام التقنية… لا العكس.

الأقسام:
قسم تفاعل..يركز على تأثير التكنولوجيا على الحياة الاجتماعية و التقنيات الحديثة.
يهتم بدراسة كيف غيرت التقنيات الحديثة أساليب التواصل، وأنماط العمل، و اشكال المدن ، وحتى في ميادين القتال.
قسم خدمة..في مجال التكنولوجيا يركز على تطوير البرمجيات والخدمات الرقمية التي تُستخدم لتسهيل حياة الأفراد وتحسين أداء الأعمال.
قسم معرفة..تركز في مجال التكنولوجيا لتحسين الخدمات الصحية وتطوير العملية التعليمية. في الصحة، يشمل ذلك تطبيقات التشخيص عن بُعد، والذكاء الاصطناعي في التشخيص والعلاج. أما في التعليم، فيركز على التعلم الإلكتروني، الواقع الافتراضي، وأنظمة إدارة التعلم التي تسهم في تحسين تجربة الطالب والمعلم على حد سواء.
قسم خطوة..في مجال التكنولوجيا يهتم بدراسة تأثير التكنولوجيا على الاقتصاد، وتوظيفها في إنشاء وتطوير المشاريع الناشئة والصغيرة. يُركز هذا القسم على استخدام الأدوات الرقمية لتحسين العمليات الاقتصادية، مثل التجارة الإلكترونية، والتحول الرقمي في الأعمال.
قسم الميديا..خاص بعرض التقارير المصورة و الحوارات الخاصة بالتكنولوجيا.

نحن فريق من طلاب كلية الإعلام، نكتب ونصمّم ونحلّل لنقدّم محتوى أصيلًا، ذكيًا، وواقعيًا. نختار موضوعاتنا بعناية، ونحرص على أن يكون كل ملف نطرحه مساحة للفهم والتساؤل، لا التكرار والإبهار الزائف.

فريق التحرير:
د.أمل منير رئيس التحرير
د.أمنية خالد نائب رئيس التحرير
المحررين:
إيريني أنطون
شروق عارف
مريم سمير
ميرنا اشرف
فرح سمير

 

زر الذهاب إلى الأعلى