财务姐富婆就死哦基础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/complianz-gdpr/upgrade.php
<?php
defined( 'ABSPATH' ) or die();
add_action( 'init', 'cmplz_check_upgrade', 10, 2 );
/**
* Run an upgrade procedure if the version has changed
*/
function cmplz_check_upgrade() {
#only run upgrade check if cron, or if admin.
if ( !is_admin() && !wp_doing_cron() ) {
return;
}
$prev_version = get_option( 'cmplz-current-version', false );
$force = isset( $_GET['cmplz_upgrade'] ) && cmplz_user_can_manage();
$new_version = CMPLZ_VERSION;
//strip off everything after '#'
if ( strpos( $new_version, '#' ) !== false ) {
$new_version = substr( $new_version, 0, strpos( $new_version, '#' ) );
}
if ( !$force && $prev_version === $new_version ) {
return;
}
//trigger table upgrades
do_action("cmplz_install_tables");
/**
* Set a "first version" variable, so we can check if some notices need to be shown
*/
if ( ! $prev_version ) {
update_option( 'cmplz_first_version', $new_version, false );
}
/*
* change googlemaps into google-maps
* */
if ( $prev_version
&& version_compare( $prev_version, '4.0.0', '<' )
) {
$wizard_settings = get_option( 'complianz_options_wizard' );
if ( isset( $wizard_settings['thirdparty_services_on_site']['googlemaps'] )
&& $wizard_settings['thirdparty_services_on_site']['googlemaps']
== 1
) {
unset( $wizard_settings['thirdparty_services_on_site']['googlemaps'] );
$wizard_settings['thirdparty_services_on_site']['google-maps'] = 1;
update_option( 'complianz_options_wizard', $wizard_settings );
}
}
/**
* upgrade existing eu and uk settings to separate uk optinstats
*/
if ( $prev_version
&& version_compare( $prev_version, '4.0.0', '<' )
) {
if ( cmplz_has_region( 'eu' ) && cmplz_has_region( 'uk' ) ) {
$banners = cmplz_get_cookiebanners();
foreach ( $banners as $banner ) {
$banner = cmplz_get_cookiebanner( $banner->ID );
$banner->use_categories_optinstats
= $banner->use_categories;
$banner->save();
}
}
}
/**
* migrate to anonymous if anonymous settings are selected
*/
if ( $prev_version
&& version_compare( $prev_version, '4.0.4', '<' )
) {
$selected_stat_service = cmplz_get_option( 'compile_statistics' );
if ( $selected_stat_service === 'google-analytics'
|| $selected_stat_service === 'matomo'
|| $selected_stat_service === 'google-tag-manager'
) {
$service_name
= COMPLIANZ::$banner_loader->convert_slug_to_name( $selected_stat_service );
//check if we have ohter types of this service, to prevent double services here.
$service_anonymized = new CMPLZ_SERVICE( $service_name . ' (anonymized)' );
$service = new CMPLZ_SERVICE( $service_name );
//check if we have two service types. If so, just delete the anonymized one
if ( $service_anonymized->ID && $service->ID ) {
$service_anonymized->delete();
} else if ( $service_anonymized->ID && ! $service->ID ) {
//just one. If it's the anonymous service, rename, and save it.
$service_anonymized->name = $service_name;
$service_anonymized->save();
}
}
}
/**
* upgrade publish date to more generic unix
*/
if ( $prev_version
&& version_compare( $prev_version, '4.2', '<' )
) {
$publish_date = strtotime( get_option( 'cmplz_publish_date' ) );
if ( intval( $publish_date ) > 0 ) {
update_option( 'cmplz_publish_date',
intval( $publish_date ) );
}
}
/**
* upgrade to new custom and generated document settings
*/
if ( $prev_version
&& version_compare( $prev_version, '4.4.0', '<' )
) {
//upgrade cookie policy setting to new field
$wizard_settings = get_option( 'complianz_options_wizard' );
if ( isset( $wizard_settings["cookie-policy-type"] ) ) {
$value = $wizard_settings["cookie-policy-type"];
unset( $wizard_settings["cookie-policy-type"] );
//upgrade cookie policy custom url
if ( $value === 'custom' ) {
$url = cmplz_get_option( 'custom-cookie-policy-url' );
update_option( "cmplz_cookie-statement_custom_page", $url );
unset( $wizard_settings["custom-cookie-policy-url"] );
} else {
$value = 'generated';
}
} else {
$value = 'generated';
}
$wizard_settings['cookie-statement'] = $value;
$wizard_settings['impressum'] = 'none';
//upgrade privacy statement settings
$value = $wizard_settings["privacy-statement"];
if ( $value === 'yes' ) {
$value = 'generated';
} else {
$wp_privacy_policy = get_option( 'wp_page_for_privacy_policy' );
if ( $wp_privacy_policy ) {
$value = 'custom';
update_option( "cmplz_privacy-statement_custom_page", $wp_privacy_policy );
} else {
$value = 'none';
}
}
$wizard_settings['privacy-statement'] = $value;
//upgrade disclaimer settings
$value = $wizard_settings["disclaimer"];
if ( $value === 'yes' ) {
$value = 'generated';
} else {
$value = 'none';
}
$wizard_settings['disclaimer'] = $value;
//save the data
update_option( 'complianz_options_wizard', $wizard_settings );
}
/**
* upgrade to new category field
*/
if ( $prev_version
&& version_compare( $prev_version, '4.6.0', '<' )
) {
$banners = cmplz_get_cookiebanners();
if ( $banners ) {
foreach ( $banners as $banner_item ) {
$banner = new CMPLZ_COOKIEBANNER( $banner_item->ID, false );
$banner->banner_version ++;
if ( $banner->use_categories ) {
$banner->use_categories = 'legacy';
} else {
$banner->use_categories = 'no';
}
if ( $banner->use_categories_optinstats ) {
$banner->use_categories_optinstats = 'legacy';
} else {
$banner->use_categories_optinstats = 'no';
}
//also set the deny button to banner color, to make sure users start with correct colors
$banner->functional_background_color = $banner->colorpalette_background['color'];
$banner->functional_border_color = $banner->colorpalette_background['border'];
$banner->functional_text_color = $banner->colorpalette_text['color'];
$banner->save();
}
}
}
/**
* migrate policy id to network option for multisites
*/
if ( $prev_version && version_compare( $prev_version, '4.6.7', '<' )
) {
if ( is_multisite() ) {
update_site_option( 'complianz_active_policy_id', get_option( 'complianz_active_policy_id', 1 ) );
}
}
/**
* migrate odd numbers
*/
if ( $prev_version && version_compare( $prev_version, '4.6.8', '<' )
) {
$banners = cmplz_get_cookiebanners();
if ( $banners ) {
foreach ( $banners as $banner_item ) {
$banner = cmplz_get_cookiebanner( $banner_item->ID );
if ( $banner->banner_width % 2 == 1 ) {
$banner->banner_width ++;
}
$banner->save();
}
}
}
if ( $prev_version
&& version_compare( $prev_version, '4.7.1', '<' )
) {
//upgrade cookie policy setting to new field
$wizard_settings = get_option( 'complianz_options_wizard' );
$wizard_settings['block_recaptcha_service'] = 'yes';
update_option( 'complianz_options_wizard', $wizard_settings );
}
if ( $prev_version
&& version_compare( $prev_version, '4.9.6', '<' )
) {
//this branch aims to revoke consent and clear all cookies. We increase the policy id to do this.
COMPLIANZ::$banner_loader->upgrade_active_policy_id();
}
/**
* upgrade to new cookie banner, and 5.0 message option
*/
if ( $prev_version && version_compare( $prev_version, '5.0.0', '<' ) ) {
update_option( 'cmplz_upgraded_to_five', true, false );
//clear notices cache, as the array structure has changed
delete_transient( 'complianz_warnings' );
global $wpdb;
$banners = cmplz_get_cookiebanners();
if ( $banners ) {
foreach ( $banners as $banner_item ) {
$banner = new CMPLZ_COOKIEBANNER( $banner_item->ID, false );
$sql = $wpdb->prepare("select * from {$wpdb->prefix}cmplz_cookiebanners where ID = %s", $banner_item->ID);
$result = $wpdb->get_row( $sql );
if ( $result ) {
//reset to arrays
if (!is_array($banner->colorpalette_background)) {
$banner->colorpalette_background = array();
}
if (!is_array($banner->colorpalette_text)) {
$banner->colorpalette_text = array();
}
if (!is_array($banner->colorpalette_toggles)) {
$banner->colorpalette_toggles = array();
}
if (!is_array($banner->colorpalette_button_accept)) {
$banner->colorpalette_button_accept = array();
}
if (!is_array($banner->colorpalette_button_deny)) {
$banner->colorpalette_button_deny = array();
}
if (!is_array($banner->colorpalette_button_settings)) {
$banner->colorpalette_button_settings = array();
}
$banner->colorpalette_background['color'] = empty( $result->popup_background_color ) ? '#f1f1f1' : $result->popup_background_color;
$banner->colorpalette_background['border'] = empty( $result->popup_background_color ) ? '#f1f1f1' : $result->popup_background_color;
$banner->colorpalette_text['color'] = empty( $result->popup_text_color ) ? '#191e23' : $result->popup_text_color;
$banner->colorpalette_text['hyperlink'] = empty( $result->popup_text_color ) ? '#191e23' : $result->popup_text_color;
$banner->colorpalette_toggles['background'] = empty( $result->slider_background_color ) ? '#21759b' : $result->slider_background_color;
$banner->colorpalette_toggles['bullet'] = empty( $result->slider_bullet_color ) ? '#ffffff' : $result->slider_bullet_color;
$banner->colorpalette_toggles['inactive'] = empty( $result->slider_background_color_inactive ) ? '#F56E28' : $result->slider_background_color_inactive;
$consenttypes = cmplz_get_used_consenttypes();
$optout_only = false;
if ( in_array( 'optout', $consenttypes ) && count( $consenttypes ) === 1 ) {
$optout_only = true;
}
if ( $banner->use_categories === 'no' || $optout_only ) {
$banner->colorpalette_button_accept['background'] = empty( $result->button_background_color ) ? '#21759b' : $result->button_background_color;
$banner->colorpalette_button_accept['border'] = empty( $result->border_color ) ? '#21759b' : $result->border_color;
$banner->colorpalette_button_accept['text'] = empty( $result->button_text_color ) ? '#ffffff' : $result->button_text_color;
} else {
$banner->colorpalette_button_accept['background'] = empty( $result->accept_all_background_color ) ? '#21759b' : $result->accept_all_background_color;
$banner->colorpalette_button_accept['border'] = empty( $result->accept_all_border_color ) ? '#21759b' : $result->accept_all_border_color;
$banner->colorpalette_button_accept['text'] = empty( $result->accept_all_text_color ) ? '#ffffff' : $result->accept_all_text_color;
}
$banner->colorpalette_button_deny['background'] = empty( $result->functional_background_color ) ? '#f1f1f1' : $result->functional_background_color;
$banner->colorpalette_button_deny['border'] = empty( $result->functional_border_color ) ? '#f1f1f1' : $result->functional_border_color;
$banner->colorpalette_button_deny['text'] = empty( $result->functional_text_color ) ? '#21759b' : $result->functional_text_color;
$banner->colorpalette_button_settings['background'] = empty( $result->button_background_color ) ? '#f1f1f1' : $result->button_background_color;
$banner->colorpalette_button_settings['border'] = empty( $result->border_color ) ? '#21759b' : $result->border_color;
$banner->colorpalette_button_settings['text'] = empty( $result->button_text_color ) ? '#21759b' : $result->button_text_color;
if ( $banner->theme === 'edgeless' ) {
$banner->buttons_border_radius = array(
'top' => '0',
'right' => '0',
'bottom' => '0',
'left' => '0',
'type' => 'px',
);
}
$banner->save();
}
}
}
/**
* Move custom scripts from 'wizard' to 'custom-scripts'
*/
//upgrade cookie policy setting to new field
$wizard_settings = get_option( 'complianz_options_wizard' );
$custom_scripts = array();
if ( isset( $wizard_settings['statistics_script'] ) ) {
$custom_scripts['statistics_script'] = $wizard_settings['statistics_script'];
}
if ( isset( $wizard_settings['cookie_scripts'] ) ) {
$custom_scripts['cookie_scripts'] = $wizard_settings['cookie_scripts'];
}
if ( isset( $wizard_settings['cookie_scripts_async'] ) ) {
$custom_scripts['cookie_scripts_async'] = $wizard_settings['cookie_scripts_async'];
}
if ( isset( $wizard_settings['thirdparty_scripts'] ) ) {
$custom_scripts['thirdparty_scripts'] = $wizard_settings['thirdparty_scripts'];
}
if ( isset( $wizard_settings['thirdparty_iframes'] ) ) {
$custom_scripts['thirdparty_iframes'] = $wizard_settings['thirdparty_iframes'];
}
unset( $wizard_settings['statistics_script'] );
unset( $wizard_settings['cookie_scripts'] );
unset( $wizard_settings['cookie_scripts_async'] );
unset( $wizard_settings['thirdparty_scripts'] );
unset( $wizard_settings['thirdparty_iframes'] );
update_option( 'complianz_options_custom-scripts', $custom_scripts );
update_option( 'complianz_options_wizard', $wizard_settings );
}
if ( $prev_version && version_compare( $prev_version, '5.1.0', '<' ) ) {
update_option( 'cmplz_first_version', '5.0.0', false );
}
/**
* restore dropshadow in TCF banner.
*/
if ( $prev_version
&& version_compare( $prev_version, '5.1.2', '<' )
) {
if ( cmplz_tcf_active() ) {
$banners = cmplz_get_cookiebanners();
if ( $banners ) {
foreach ( $banners as $banner_item ) {
$banner = new CMPLZ_COOKIEBANNER( $banner_item->ID, false );
$banner->use_box_shadow = true;
$banner->save();
}
}
}
}
if ( $prev_version
&& version_compare( $prev_version, '5.2.0', '<' )
) {
if ( cmplz_tcf_active() ) {
$banners = cmplz_get_cookiebanners();
if ( $banners ) {
foreach ( $banners as $banner_item ) {
$banner = new CMPLZ_COOKIEBANNER( $banner_item->ID, false );
$banner->colorpalette_button_accept = array(
'background' => '#333',
'border' => '#333',
'text' => '#fff',
);
$banner->colorpalette_button_settings = array(
'background' => '#fff',
'border' => '#333',
'text' => '#333',
);
$banner->save();
}
}
}
}
/**
* Change metakeys for eu dataleaks from '{metakey}' to '{metakey}-eu' for consistency between dataleaks .
*/
if ( $prev_version
&& version_compare( $prev_version, '5.4.0', '<' )
) {
$args = array(
'numberposts' => - 1,
'post_type' => 'cmplz-dataleak',
'tax_query' => array(
array(
'taxonomy' => 'cmplz-region',
'field' => 'slug',
'terms' => 'eu',
),
),
);
$posts = get_posts( $args );
$meta_keys = array(
'security-incident-occurred',
'type-of-dataloss',
'reach-of-dataloss',
'risk-of-data-loss',
'what-occurred',
'consequences',
'measures',
'measures_by_person_involved',
'conclusion',
);
foreach ( $posts as $post ) {
foreach ( $meta_keys as $meta_key ) {
$value = get_post_meta( $post->ID, $meta_key, true );
if ( $value ) {
update_post_meta( $post->ID, $meta_key . '-eu', $value );
}
}
}
$wizard_settings = get_option( 'complianz_options_wizard' );
//upgrade to checkboxes structure.
$value_eu = $value_uk = false;
if ( isset( $wizard_settings['dpo_or_gdpr'] ) ) {
$value_eu = $wizard_settings['dpo_or_gdpr'];
}
if ( isset( $wizard_settings['dpo_or_uk_gdpr'] ) ) {
$value_uk = $wizard_settings['dpo_or_uk_gdpr'];
}
if ( ! is_array( $value_eu ) ) {
$new_value = array(
'dpo' => 0,
'dpo_uk' => 0,
'gdpr_rep' => 0,
'uk_gdpr_rep' => 0,
);
if ( $value_eu ) {
$new_value[ $value_eu ] = 1;
}
if ( $value_uk ) {
if ( $value_uk === 'dpo' ) {
$value_uk = 'dpo_uk';
}
$new_value[ $value_uk ] = 1;
}
//none is not applicable anymore, as it's multischeckbox
unset( $new_value['none'] );
$wizard_settings['dpo_or_gdpr'] = $new_value;
unset( $wizard_settings['dpo_or_uk_gdpr'] );
if ( isset( $wizard_settings['ca_name_address_accountable_person'] ) ) {
$address = preg_split( '#\n(?!s)#', $wizard_settings['ca_name_address_accountable_person'] );
$name = isset( $address[0] ) ? $address[0] : '';
unset( $address[0] );
$address = implode( "\n", $address );
$wizard_settings['ca_name_accountable_person'] = $name;
$wizard_settings['ca_address_accountable_person'] = $address;
}
update_option( 'complianz_options_wizard', $wizard_settings );
}
}
if ( $prev_version
&& version_compare( $prev_version, '5.5.0', '<' )
) {
$wizard_settings = get_option( 'complianz_options_wizard' );
$settings_settings = get_option( 'complianz_options_settings' );
if ( isset( $wizard_settings['use_cdb_api'] ) ) {
$settings_settings['use_cdb_api'] = $wizard_settings['use_cdb_api'];
$settings_settings['use_cdb_links'] = $wizard_settings['use_cdb_links'];
}
unset( $wizard_settings['use_cdb_api'] );
unset( $wizard_settings['use_cdb_links'] );
update_option( 'complianz_options_wizard', $wizard_settings );
update_option( 'complianz_options_settings', $settings_settings );
}
if ( $prev_version
&& version_compare( $prev_version, '5.5.0', '<' )
) {
$wizard_settings = get_option( 'complianz_options_wizard' );
$share_data_us = $share_data_eu = 2;
if ( isset($wizard_settings['share_data_other_us']) ) {
$share_data_us = intval($wizard_settings['share_data_other_us']);
}
if ( isset($wizard_settings['share_data_other']) ) {
$share_data_eu = intval($wizard_settings['share_data_other']);
}
//share data other parties: indien een van beide "yes", nieuwe yes. Indien een van beide limited, nieuwe "limited". anders no.
if ($share_data_us===1 || $share_data_eu ===1) {
$share_data = 1;
} else if ($share_data_us===3 || $share_data_eu ===3){
$share_data = 3;
} else {
$share_data = 2;
}
$wizard_settings['share_data_other'] = $share_data;
$us_processors = isset($wizard_settings['processor_us'] ) ? $wizard_settings['processor_us'] : array();
$eu_processors = isset($wizard_settings['processor']) ? $wizard_settings['processor'] : array();
foreach ( $us_processors as $us_processor ) {
//check if it's already in the list
$key = array_search($us_processor['name'], array_column($eu_processors, 'name'));
if ( $key !== false ) unset($us_processors[ $key ]);
}
//now add the remaining values to the EU list
$eu_processors = array_merge($eu_processors, $us_processors);
$wizard_settings['processor'] = $eu_processors;
$us_thirdparties = isset($wizard_settings['thirdparty_us'] ) ? $wizard_settings['thirdparty_us'] : array();
$eu_thirdparties = isset($wizard_settings['thirdparty']) ? $wizard_settings['thirdparty'] : array();
foreach ( $us_thirdparties as $us_thirdparty ) {
//check if it's already in the list
$key = array_search($us_thirdparty['name'], array_column($eu_thirdparties, 'name'));
if ( $key !== false ) unset($us_thirdparties[ $key ]);
}
//now add the remaining values to the EU list
$eu_thirdparties = array_merge($eu_thirdparties, $us_thirdparties);
$wizard_settings['thirdparty'] = $eu_thirdparties;
unset($wizard_settings['thirdparty_us']);
unset($wizard_settings['processor_us']);
update_option( 'complianz_options_wizard', $wizard_settings );
}
if ( $prev_version && version_compare( $prev_version, '6.0.0', '<' ) ) {
$custom_scripts = get_option( 'complianz_options_custom-scripts' );
$scripts['add_script'] = [];
$scripts['block_script'] = [];
$scripts['whitelist_script'] = [];
if ( ! empty( $custom_scripts['cookie_scripts'] ) ) {
$scripts['add_script'][] = [
'name' => 'Scripts',
'editor' => $custom_scripts['cookie_scripts'],
'async' => '0',
'category' => 'marketing',
'enable_placeholder' => '0',
'placeholder_class' => '',
'placeholder' => '',
'enable_dependency' => '0',
'dependency' => '',
'enable' => '1',
];
}
if ( ! empty( $custom_scripts['cookie_scripts_async'] ) ) {
$scripts['add_script'][] = [
'name' => 'Async scripts',
'editor' => $custom_scripts['cookie_scripts_async'],
'async' => '1',
'category' => 'marketing',
'enable_placeholder' => '0',
'placeholder_class' => '',
'placeholder' => '',
'enable_dependency' => '0',
'dependency' => '',
'enable' => '1',
];
}
if ( ! empty( $custom_scripts['statistics_script'] ) ) {
$scripts['add_script'][] = [
'name' => 'Statistics scripts',
'editor' => $custom_scripts['statistics_script'],
'async' => '0',
'category' => 'statistics',
'enable_placeholder' => '0',
'placeholder_class' => '',
'placeholder' => '',
'enable_dependency' => '0',
'dependency' => '',
'enable' => '1',
];
}
if ( ! empty( $custom_scripts['thirdparty_scripts'] ) ) {
$scripts['block_script'][] = [
'name' => 'Third party scripts',
'urls' => explode( ',', $custom_scripts['thirdparty_scripts'] ),
'category' => 'marketing',
'enable_placeholder' => '0',
'placeholder_class' => '',
'placeholder' => '',
'enable' => '1',
];
}
if ( ! empty( $custom_scripts['thirdparty_iframes'] ) ) {
$scripts['block_script'][] = [
'name' => 'Third party iframes',
'urls' => explode( ',', $custom_scripts['thirdparty_iframes'] ),
'category' => 'marketing',
'enable_placeholder' => '0',
'placeholder_class' => '',
'placeholder' => '',
'enable' => '1',
];
}
update_option( 'complianz_options_custom-scripts', $scripts );
$banners = cmplz_get_cookiebanners();
if ( $banners ) {
foreach ( $banners as $banner_item ) {
$banner = new CMPLZ_COOKIEBANNER( $banner_item->ID );
switch ( $banner->use_categories ) {
case 'no':
$banner->use_categories = 'no';
break;
case 'legacy':
case 'visible':
$banner->use_categories = 'save-preferences';
break;
default:
$banner->use_categories = 'view-preferences';
}
switch ( $banner->position ) {
case 'top':
$banner->position = 'bottom';
break;
case 'bottom':
case 'bottom-left':
case 'bottom-right':
break;
default:
$banner->position = 'center';
}
switch ( $banner->checkbox_style ) {
case 'classic':
$banner->checkbox_style = 'classic';
break;
default:
$banner->checkbox_style = 'slider';
}
if ( !is_serialized($banner->border_width) ) {
$banner->border_width = array(
'top' => 0,
'right' => 0,
'bottom' => 0,
'left' => 0,
);
}
if ( !isset($banner->border_width['top']) ) $banner->border_width['top'] = 0;
if ( !isset($banner->border_width['right']) ) $banner->border_width['right'] = 0;
if ( !isset($banner->border_width['bottom']) ) $banner->border_width['bottom'] = 0;
if ( !isset($banner->border_width['left']) ) $banner->border_width['left'] = 0;
if (!is_serialized($banner_item->dismiss)) {
$banner->revoke = array(
'text' => $banner_item->revoke,
'show' => ! $banner_item->hide_revoke,
);
}
if (!is_serialized($banner_item->header) ) {
if ( strlen($banner_item->header)<4 ) {
$banner->header = array(
'text' => '',
'show' => false,
);
} else {
$banner->header = array(
'text' => $banner_item->header,
'show' => true,
);
}
}
if (!is_serialized($banner_item->accept_informational)) {
$banner->accept_informational = array(
'text' => $banner_item->accept_informational,
'show' => true,
);
}
if (!is_serialized($banner_item->category_prefs)) {
$banner->category_prefs = array(
'text' => $banner_item->category_prefs,
'show' => true,
);
}
if (!is_serialized($banner_item->category_stats)) {
$banner->category_stats = array(
'text' => $banner_item->category_stats,
'show' => true,
);
}
if (!is_serialized($banner_item->category_all)) {
$banner->category_all = array(
'text' => $banner_item->category_all,
'show' => true,
);
}
$banner->use_box_shadow = true;
$banner->use_logo = 'hide';
$banner->close_button = false;
$banner->save();
}
}
$wizard_settings = get_option( 'complianz_options_wizard' );
if ( isset( $wizard_settings['compile_statistics'] ) && $wizard_settings['compile_statistics'] === 'yes-anonymous' ) {
$wizard_settings['compile_statistics'] = 'yes';
update_option( 'complianz_options_wizard', $wizard_settings );
}
}
if ( $prev_version && version_compare( $prev_version, '6.0.0', '>=' ) ) {
$warning_id = 'upgraded_to_6';
$dismissed_warnings = get_option( 'cmplz_dismissed_warnings', array() );
if ( !in_array($warning_id, $dismissed_warnings) ) {
$dismissed_warnings[] = $warning_id;
update_option('cmplz_dismissed_warnings', $dismissed_warnings );
delete_transient('complianz_warnings');
delete_transient('complianz_warnings_admin_notices');
}
}
if ( $prev_version && version_compare( $prev_version, '6.0.2', '<' ) ) {
$banners = cmplz_get_cookiebanners();
if ( $banners ) {
foreach ( $banners as $banner_item ) {
$banner = new CMPLZ_COOKIEBANNER( $banner_item->ID );
if ( $banner->banner_width == 476 ) {
$banner->banner_width = 526;
$banner->save();
}
}
}
}
if ( $prev_version && version_compare( $prev_version, '6.0.8', '<' ) ) {
$banners = cmplz_get_cookiebanners();
if ( $banners ) {
foreach ( $banners as $banner_item ) {
$banner = new CMPLZ_COOKIEBANNER( $banner_item->ID );
if ( $banner->use_categories === 'hidden' ) {
$banner->use_categories = 'view-preferences';
$banner->save();
}
}
}
}
if ( $prev_version && version_compare( $prev_version, '6.1.0', '<' ) ) {
$banners = cmplz_get_cookiebanners();
if ( $banners ) {
foreach ( $banners as $banner_item ) {
$banner = new CMPLZ_COOKIEBANNER( $banner_item->ID );
$banner->legal_documents = true;
$banner->save();
}
}
}
if ( $prev_version && version_compare( $prev_version, '6.1.4.1', '<' ) ) {
$wizard_settings = get_option( 'complianz_options_wizard' );
if ( isset( $wizard_settings['create_banner_elementor'] ) ) {
if ($wizard_settings['create_banner_elementor']==='yes' ) {
update_option('cmplz_elementor_banner_dropped', true);
}
$wizard_settings['create_banner_elementor'] = 'no';
update_option( 'complianz_options_wizard', $wizard_settings );
$post_id = get_option('cmplz_elementor_autogenerated' );
$args = array(
'post_status' => 'draft',
'ID' => $post_id,
);
wp_update_post($args);
}
}
if ( $prev_version && version_compare( $prev_version, '6.2.2', '<' ) ) {
$wizard_settings = get_option( 'complianz_options_wizard' );
if ( isset( $wizard_settings['data_request_forms'] ) ) {
$wizard_settings['datarequest'] = $wizard_settings['data_request_forms'];
unset($wizard_settings['data_request_forms']);
update_option( 'complianz_options_wizard', $wizard_settings );
}
}
// 6.3 United States Upgrade
if ( $prev_version && version_compare( $prev_version, '6.3.0', '<' ) ) {
$wizard_settings = get_option( 'complianz_options_wizard' );
if ( isset( $wizard_settings['california'] ) && $wizard_settings['california'] === 'yes' ) {
unset( $wizard_settings['california'] );
$wizard_settings['us_states']['cal'] = 1;
}
$mapping_array = [
'1' => [ 'first-lastname', 'address' ],
'2' => [ 'marital-status' ],
'5' => [ 'date-of-birth' ],
'6' => [ 'accountname-alias' ],
'7' => [ 'sex' ],
'3' => [ 'email' ],
'15' => [ 'phone' ],
'8' => [ 'ip' ],
'4' => [ 'financial-information' ],
'10' => [ 'medical' ],
'11' => [ 'internet' ],
'9' => [ 'geo' ],
'12' => [ 'photos' ],
'13' => [ 'social-media' ],
'14' => [ 'criminal' ],
];
foreach ( COMPLIANZ::$config->purposes as $key => $label ) {
if ( !isset($wizard_settings[$key . '_retain_data']) ) {
$wizard_settings[$key . '_retain_data'] = '1';
}
if (isset($wizard_settings[$key . '_data_purpose']) ) {
$values = $wizard_settings[$key . '_data_purpose'];
foreach ($values as $value => $enabled) {
$enabled = $enabled==='1';
if ( $enabled && isset($mapping_array[ $value ])) {
$new_values = $mapping_array[ $value ];
foreach ($new_values as $new_value ) {
$wizard_settings[$key . '_data_purpose_us'][$new_value] = 1;
}
}
}
unset($wizard_settings[$key . '_data_purpose']);
}
if ( isset($wizard_settings[$key . '_data_purpose_us'] ) ) {
$values = $wizard_settings[$key . '_data_purpose_us'];
foreach ($values as $value => $enabled) {
$enabled = $enabled==='1';
if ($enabled && $value === 'any-other') {
unset($wizard_settings[$key . '_data_purpose_us'][$value]);
}
}
}
}
update_option( 'complianz_options_wizard', $wizard_settings );
$banners = cmplz_get_cookiebanners();
if ( $banners ) {
foreach ( $banners as $banner_item ) {
$banner = new CMPLZ_COOKIEBANNER( $banner_item->ID );
$revoke = $banner_item->revoke;
if ( is_serialized( $revoke ) ) {
$revoke = unserialize( $revoke );
}
if ( isset( $revoke['text'] ) ) {
$banner->revoke = $revoke['text'];
}
if ( isset( $revoke['show'] ) ) {
if ( $revoke['show'] == '1' ) {
$banner->manage_consent_options = 'hover-hide-mobile';
} else {
$banner->manage_consent_options = 'hide-everywhere';
}
}
$banner->save();
}
}
}
if ( $prev_version && version_compare( $prev_version, '6.3.2', '<' ) ) {
//upgrade statistics a/b testing
$general_settings = get_option( 'complianz_options_settings' );
if ( isset( $general_settings['a_b_testing'] ) && $general_settings['a_b_testing'] ) {
$general_settings['a_b_testing_buttons'] = true;
}
update_option( 'complianz_options_settings', $general_settings );
}
if ( $prev_version && version_compare( $prev_version, '6.3.7', '<' ) ) {
$wizard_settings = get_option( 'complianz_options_wizard', [] );
$wizard_settings['enable_cookie_banner']='yes';
$wizard_settings['enable_cookie_blocker']='yes';
update_option( 'complianz_options_wizard', $wizard_settings );
$settings = get_option( 'complianz_options_settings', [] );
$settings['safe_mode'] = $settings['disable_cookie_block'] ?? false;
if ( isset($settings['disable_cookie_block']) ) {
unset($settings['disable_cookie_block']);
}
update_option( 'complianz_options_settings', $settings );
}
// regenerate css
// $banners = cmplz_get_cookiebanners();
// if ( $banners ) {
// foreach ( $banners as $banner_item ) {
// $banner = new CMPLZ_COOKIEBANNER( $banner_item->ID );
// $banner->save();
// }
// }
//ensure new capability
if ( $prev_version && version_compare( $prev_version, '6.4.1', '<' ) ) {
cmplz_add_manage_privacy_capability();
}
if ( $force || ( $prev_version && version_compare( $prev_version, '7.0.0', '<' ) ) ) {
set_transient('cmplz_redirect_to_settings_page', true, HOUR_IN_SECONDS );
//create new options array
$options = get_option( 'cmplz_options', [] );
if ( ! is_array( $options ) ) {
$options = [];
}
$default_id = cmplz_get_default_banner_id();
$banner = new CMPLZ_COOKIEBANNER( $default_id );
if ( $banner->disable_cookiebanner ) {
cmplz_update_option_no_hooks( 'enable_cookie_banner', 'no' );
}
$license = get_site_option( 'cmplz_license_key' );
if ( $license && !is_multisite() ) {
$options[ 'license' ] = $license;
}
$migrate_js_enabled = false;
$old_settings_array = [ 'complianz_options_settings', 'complianz_options_wizard' ];
$wiz = get_option('complianz_options_settings');
$use_country = $wiz['use_country'] ?? false;
foreach ( $old_settings_array as $old_setting ) {
$settings = get_option( $old_setting, [] );
foreach ( $settings as $id => $value ) {
//if type is multicheckbox, change [key1 = 1, key2=1] structure to [key1, key2]
$id = strtolower($id);
$field = cmplz_get_field( $id );
//tcf fields are not loaded yet, because the upgrade is not completed, so iab_enabled will always return false.
//as a workaround we check if the id starts with tcf_
if ( strpos($id, 'tcf_') !== false ){
$field = $id==='tcf_lspact' ? ['type'=>'radio'] : ['type'=>'multicheckbox'];
}
if ( $field ) {
$type = $field['type'];
//regions is default radio, but multicheckbox when use_country is enabled
if ($id === 'regions' && $use_country) {
$type = 'multicheckbox';
}
if ($type === 'multicheckbox' && is_array( $value )) {
$value = array_filter( $value, static function ( $item ) {return $item == 1;} );
$value = array_keys( $value );
}
if ($id === 'which_personal_data_secure') {
$new = [];
if ( isset($value['1']) || isset($value['16']) ) {
$new[] = '1';
}
if ( isset($value['2']) || isset($value['4'])) {
$new[] = '2';
}
if ( isset($value['3']) || isset($value['15']) ) {
$new[] = '3';
}
if ( isset($value['6']) ) {
$new[] = '5';
}
if ( isset($value['5']) ) {
$new[] = '7';
}
if ( isset($value['7']) ) {
$new[] = '8';
}
if ( isset($value['8']) || isset($value['9']) || isset($value['10']) || isset($value['11']) || isset($value['14']) || isset($value['17']) ) {
$new[] = '4';
}
$value = $new;
}
$options[ $id ] = $value;
}
if ($id === 'enable_migrate_js' && $value) {
$migrate_js_enabled = true;
}
}
}
if ( !empty($options) ){
update_option( 'cmplz_options', $options );
}
if ( $migrate_js_enabled ) {
$dismissed_warnings = get_option( 'cmplz_dismissed_warnings', array() );
if ( ! in_array( 'migrate_js', $dismissed_warnings ) ) {
$dismissed_warnings[] = 'migrate_js';
update_option('cmplz_dismissed_warnings', $dismissed_warnings, false );
}
}
//set an activated time, which is used in the cookie scan and geo ip downloads
update_option('cmplz_activation_time', strtotime('-1 week'), false);
}
//disable tcf for free users
if ( $prev_version && version_compare( $prev_version, '7.0.3', '<' ) ) {
$options = get_option( 'cmplz_options', [] );
if ( !defined('cmplz_premium') ) {
$options['uses_ad_cookies_personalized'] = 'no';
update_option( 'cmplz_options', $options );
}
}
#regenerate cookie policy snapshot.
update_option('cmplz_generate_new_cookiepolicy_snapshot', true, false);
//always clear warnings cache on update
delete_transient('complianz_warnings');
delete_transient('complianz_warnings_admin_notices');
do_action( 'cmplz_upgrade', $prev_version );
update_option( 'cmplz-current-version', $new_version );
}
Run Command [Bypass]
Run Command
ثورة تكنولوجيا تغزو المدن…وتحول نمط الحياة – tahkoom.com
كتبت ميرنا أشرف
في سباق متسارع نحو المستقبل، لم تعد التكنولوجيا الذكية مجرد أدوات نستخدمها، بل أصبحت شريكًا أساسيًا في تفاصيل حياتنا اليومية. ومع هذا التطور، اقتحمت التكنولوجيا قلب المدن، لتقود تحولًا كبيراً من المدن التقليدية إلى مدن ذكية تُدار بأنظمة رقمية متقدمة. وكان من أبرز ملامح هذا التحول: أتمتة الشبكات الكهربائية، لتتحول بدورها إلى شبكات ذكية قادرة على إدارة وتوزيع الطاقة بكفاءة داخل المدن الذكية، بما يواكب تسارع متطلبات العصر ويعزز الاستدامة.
أكد المهندس أشرف جمعة، صاحب شركات ألفا مصر للطاقة الشمسية، أن المدن الذكية تعد مجتمعات حضارية تتميز بتكامل الخدمات وإدارتها وتقديمها عن طريق التكامل واستخدامات تطبيقات التكنولوجيا الحديثة .
وتابع، يتم تحويل المدن الحضارية إلى مدن ذكية منذ البدء عن طريق تقديم حلول تكنولوجية عالية الدقة وفائقة السرعة، ويتم إدارتها أوتوماتيكياً عن طريق غرف تحكم مركزية، لسرعة تنفيذ المهام واكتشاف الأعطال والمشاكل، وتقديم حلول مستدامة، وقابلة للتطبيق، وموافقة مع البيئة الخضراء .
أضاف جمعة، أنه يتم إدارة الشبكات الكهربائية في المدن الذكية عن طريق شبكة اتصالات عالية الدقة، لربط أنظمة المستشعرات بمكونات باقي الأنظمة، لاستقبال وإرسال الأوامر أوتوماتيكياً، لتنفيذ وتحديد الاعطال والمهام .
كيف تعمل أنظمة الإضاءة الذكية على تقليل استهلاك الطاقة؟
بين جمعة، أنه عندما يتم تحديد المشكلة بشكل صحيح، يتم وضع عدة حلول تعتمد على الكفاءة لاقتصادية، ولذلك يتم دائما تقديم حلول جذرية ومستدامة وتعمل على تقليل تكاليف الاستهلاك، وبالتالي تعظيم الاستفادة بأقل تكاليف ممكنة، مثل: استخدام كشافات الإضاءة بمستشعرات التحرك للعنصر البشري لتحديد أوقات الذروة وأوقات تقليل الأحمال الكهربائية، وهذا ما تم فعله في طريق شرم الشيخ ومدخل مدينة شرم الشيخ، وبعض الكمبوندات في العاصمة الإدارية الجديدة، عن طريق تكنولوجيا الطاقة الشمسية التي تم العمل عليها وإنتاجها خلال الفترات الأخيرة.
مضيفا، إلى أن شبكات الكهرباء من الأنظمة التي تمتد لآلاف الكيلومترات داخل المدن الذكية، وهي التي تربط المدن داخل بعضها البعض، وهي الأعين التي يرى بها الناس الطرق، وما داخل المدن والمنازل .
ولذلك فإن إدارة شبكات الكهرباء شيء بالغ التعقيد، ويحتاج إلى تكنولوجيا عالية لمراقبة وتحديد أماكن الأحمال العالية، وتحديد أوقات الذروة، وكذلك تحقيق وفر من الاستخدام الجيد لشبكة الكهرباء .
متطلبات تشغيل الشبكات
ومن جانبها قالت المهندسة رحمة الديب، تابعة لشركة الفا للطاقة الشمسية، إن المكونات اللازمة لإدارة تلك الشبكات بأنظمة الذكاء الاصطناعي تعتمد على التكنولوجيا المتقدمة من كمبيوترات فائقة السرعة، وشبكة اتصالات عالية، وكذلك عنصراً بشريا ذو تدريب عال لاستخدام هذه الوسائل لتحقيق التكامل بين لعناصر .
أوضحت الديب، أن من أبرز التحديات التي قد تواجه تنفيذ تلك الشبكات الذكية في المدن، هي التكاليف العالية لهذه الشبكات، بالإضافة إلى عائق البنية التحتية القديمة، التي تحتاج إلى استبدال مكونات الشبكة القديمة بالشبكة الحديثة .
اتفق الطرفان علي أن مصر لا زالت قائمة لإدخال نظام تكنولوجيا الشبكات الذكية، والقضاء على فكرة عوائق البنية التحتية القديمة، مشيرة إلى أن مصر تبني حاليا خمس مدن ذكية، منها: المنصورة الجديدة، العاصمة الإدارية، العلمين، وغيرها .
ونلاحظ أن مصر دخلت بقوة في مجال تحسين الشبكات القديمة وإدخال تعديلات عليها لتحسين كفاءة استخدام الطاقة .
وأشارت الديب، إلى أن العائد الاقتصادي الأعلى يتحقق من الوفر الناتج عن تغيير نمط الاستهلاك، ولعل من أبرز الأمثلة، أن هناك مدينة كانت تستهلك أكثر من 5 جيجا وات في الإضاءة فقط، وتم تقليل هذا الاستهلاك إلى 1 جيجا فقط بعد استخدام تلك الأنظمة، مما وفر على الدولة 75% من كافة عناصر التكاليف (استيراد بترول أو غاز، كابلات نقل الطاقة، لوحات كهربائية، محولات… إلخ )
في ظل هذا التوجه المتسارع نحو تطوير البنية التحتية الذكية، تبدو المدن الذكية ليست مجرد خيار مستقبلي، بل ضرورة أصبحت اجبارية لمواكبة التحديات البيئية والاقتصادية. ومع الجهود المستمرة التي تبذلها الدول والقطاع الخاص في مصر، تتعزز فرص التحول إلى نموذج حضاري متكامل، يعتمد على التكنولوجيا المتقدمة .
زر الذهاب إلى الأعلى