Plugin Directory

Changeset 2907407


Ignore:
Timestamp:
05/03/2023 10:21:49 AM (3 years ago)
Author:
gcorewpress
Message:

Old version

Location:
g-core-labs-cdn/trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • g-core-labs-cdn/trunk/ajax/save.php

    r2907361 r2907407  
    11<?php
    2 /**
    3  * Save
    4  *
    5  * @package GCORE
    6  */
    7 
    8 $gcore_tabs = array(
    9     'main'       => array( 'name' => esc_html( __( 'General', 'gcore_translate' ) ) ),
    10     'types'      => array( 'name' => esc_html( __( 'File types', 'gcore_translate' ) ) ),
    11     'folders'    => array( 'name' => esc_html( __( 'Folders', 'gcore_translate' ) ) ),
    12     'exceptions' => array( 'name' => esc_html( __( 'Exceptions', 'gcore_translate' ) ) ),
     2
     3$tabs = array(
     4    'main' => array('name' => __('General', "gcore_translate")),
     5    'types' => array('name' => __('File types', "gcore_translate")),
     6    'folders' => array('name' => __('Folders', "gcore_translate")),
     7    'exceptions' => array('name' => __('Exceptions', "gcore_translate"))
    138);
    14 if ( isset( $_GET['tab'] ) && in_array( $_GET['tab'], array( 'types', 'folders', 'exceptions' ), true ) ) {
    15     sanitize_text_field( wp_unslash( $_GET['tab'] ) );
     9if (isset($_GET['tab']) AND in_array($_GET['tab'], array('types', 'folders', 'exceptions'))) {
     10    $get_tab = $_GET['tab'];
    1611} else {
    17     $get_tab = 'main';
    18 }
    19 $del = null !== isset( $_GET['del'] ) ? sanitize_text_field( wp_unslash( $_GET['del'] ) ) : null;
    20 
    21 if ( isset( $_POST['save'] ) ) {
    22     if ( 'main' === $get_tab ) {
    23         $gcore_cdn_url = isset( $_POST['gcore_cdn_url'] ) ? trim( esc_url_raw( wp_unslash( $_POST['gcore_cdn_url'] ) ) ) : '';
    24         if ( '' !== $gcore_cdn_url ) {
    25             $gcore_cdn_url = trailingslashit( untrailingslashit( $gcore_cdn_url ) );
    26         }
    27         update_option( 'gcore_cdn_url', $gcore_cdn_url );
    28         $gcore_enable_cdn = isset( $_POST['gcore_enable_cdn'] ) ? intval( $_POST['gcore_enable_cdn'] ) : 0;
    29         update_option( 'gcore_enable_cdn', $gcore_enable_cdn );
    30     }
    31     if ( 'types' === $get_tab ) {
    32         $gcore_cdn_types = get_option( 'gcore_cdn_types' );
    33         $new_type        = isset( $_POST['new_type'] ) ? sanitize_text_field( wp_unslash( $_POST['new_type'] ) ) : '';
    34         $new_type        = preg_replace( '/[^a-zA-Z0-9]/ui', '', strtolower( trim( $new_type ) ) );
    35         if ( '' !== $new_type ) {
    36             if ( '' !== $gcore_cdn_types ) {
    37                 $gcore_cdn_types = json_decode( $gcore_cdn_types, true );
    38             } else {
    39                 $gcore_cdn_types = array();
    40             }
    41             array_push( $gcore_cdn_types, $new_type );
    42             $gcore_cdn_types = array_unique( $gcore_cdn_types );
    43             $gcore_cdn_types = wp_json_encode( $gcore_cdn_types );
    44             update_option( 'gcore_cdn_types', $gcore_cdn_types );
    45         }
    46         update_option( 'gcore_type_image', isset( $_POST['gcore_type_image'] ) ? intval( $_POST['gcore_type_image'] ) : 0 );
    47         update_option( 'gcore_type_video', isset( $_POST['gcore_type_video'] ) ? intval( $_POST['gcore_type_video'] ) : 0 );
    48         update_option( 'gcore_type_audio', isset( $_POST['gcore_type_audio'] ) ? intval( $_POST['gcore_type_audio'] ) : 0 );
    49         update_option( 'gcore_type_js', isset( $_POST['gcore_type_js'] ) ? intval( $_POST['gcore_type_js'] ) : 0 );
    50         update_option( 'gcore_type_css', isset( $_POST['gcore_type_css'] ) ? intval( $_POST['gcore_type_css'] ) : 0 );
    51         update_option( 'gcore_type_archive', isset( $_POST['gcore_type_archive'] ) ? intval( $_POST['gcore_type_archive'] ) : 0 );
    52         update_option( 'gcore_type_advanced', isset( $_POST['gcore_type_advanced'] ) ? intval( $_POST['gcore_type_advanced'] ) : 0 );
    53 
    54     }
    55     if ( 'folders' === $get_tab ) {
    56         $gcore_cdn_folders = get_option( 'gcore_cdn_folders' );
    57         $new_folder        = isset( $_POST['new_folder'] ) ? trim( sanitize_text_field( wp_unslash( $_POST['new_folder'] ) ) ) : '';
    58         if ( '' !== $new_folder ) {
    59             $new_folder = trailingslashit( untrailingslashit( $new_folder ) );
    60             $first      = substr( $new_folder, 0, 1 );
    61             if ( '/' !== $first ) {
    62                 $new_folder = '/' . $new_folder;
    63             }
    64             if ( '' !== $gcore_cdn_folders ) {
    65                 $gcore_cdn_folders = json_decode( $gcore_cdn_folders, true );
    66             } else {
    67                 $gcore_cdn_folders = array();
    68             }
    69             array_push( $gcore_cdn_folders, $new_folder );
    70             $gcore_cdn_folders = array_unique( $gcore_cdn_folders );
    71             $gcore_cdn_folders = wp_json_encode( $gcore_cdn_folders );
    72             update_option( 'gcore_cdn_folders', $gcore_cdn_folders );
    73         }
    74         update_option( 'gcore_folder_templates', intval( isset( $_POST['gcore_folder_templates'] ) ? $_POST['gcore_folder_templates'] : 0 ) );
    75         update_option( 'gcore_folder_plugins', intval( isset( $_POST['gcore_folder_plugins'] ) ? $_POST['gcore_folder_plugins'] : 0 ) );
    76         update_option( 'gcore_folder_content', intval( isset( $_POST['gcore_folder_content'] ) ? $_POST['gcore_folder_content'] : 0 ) );
    77         update_option( 'gcore_folder_advanced', intval( isset( $_POST['gcore_folder_advanced'] ) ? $_POST['gcore_folder_advanced'] : 0 ) );
    78 
    79     }
    80     if ( 'exceptions' === $get_tab ) {
    81         $gcore_cdn_exceptions = get_option( 'gcore_cdn_exceptions' );
    82         $new_exception        = isset( $_POST['new_exception'] ) ? trim( wp_unslash( esc_url_raw( wp_unslash( $_POST['new_exception'] ) ) ) ) : '';
    83         $new_exception        = explode( '?', $new_exception );
    84         $new_exception        = explode( '&', $new_exception[0] );
    85         $new_exception        = $new_exception[0];
    86         if ( '' !== $new_exception ) {
    87             if ( '' !== $gcore_cdn_exceptions ) {
    88                 $gcore_cdn_exceptions = json_decode( $gcore_cdn_exceptions, true );
    89             } else {
    90                 $gcore_cdn_exceptions = array();
    91             }
    92             array_push( $gcore_cdn_exceptions, $new_exception );
    93             $gcore_cdn_exceptions = array_unique( $gcore_cdn_exceptions );
    94             $gcore_cdn_exceptions = wp_json_encode( $gcore_cdn_exceptions );
    95             update_option( 'gcore_cdn_exceptions', $gcore_cdn_exceptions );
    96         }
    97     }
    98 } elseif ( null !== $del ) {
    99     if ( 'types' === $get_tab ) {
    100         $gcore_cdn_types = get_option( 'gcore_cdn_types' );
    101         $new_type        = preg_replace( '/[^a-zA-Z0-9]/ui', '', strtolower( trim( $del ) ) );
    102         if ( '' !== $new_type ) {
    103             if ( '' !== $gcore_cdn_types ) {
    104                 $gcore_cdn_types = json_decode( $gcore_cdn_types, true );
    105                 $k               = array_search( $new_type, $gcore_cdn_types, true );
    106                 if ( false !== $k ) {
    107                     unset( $gcore_cdn_types[ $k ] );
    108                     $gcore_cdn_types = wp_json_encode( $gcore_cdn_types );
    109                     update_option( 'gcore_cdn_types', $gcore_cdn_types );
    110                 }
    111             }
    112         }
    113     }
    114     if ( 'folders' === $get_tab ) {
    115         $gcore_cdn_folders = get_option( 'gcore_cdn_folders' );
    116         $new_folder        = isset( $_POST['new_folder'] ) ? trim( sanitize_text_field( wp_unslash( $_POST['new_folder'] ) ) ) : '';
    117         if ( '' !== $new_folder ) {
    118             $new_folder = trailingslashit( untrailingslashit( $new_folder ) );
    119             $first      = substr( $new_folder, 0, 1 );
    120             if ( '/' !== $first ) {
    121                 $new_folder = '/' . $new_folder;
    122             }
    123             if ( '' !== $gcore_cdn_folders ) {
    124                 $gcore_cdn_folders = json_decode( $gcore_cdn_folders, true );
    125                 $k                 = array_search( $new_folder, $gcore_cdn_folders, true );
    126                 if ( false !== $k ) {
    127                     unset( $gcore_cdn_folders[ $k ] );
    128                     $gcore_cdn_folders = wp_json_encode( $gcore_cdn_folders );
    129                     update_option( 'gcore_cdn_folders', $gcore_cdn_folders );
    130                 }
    131             }
    132         }
    133     }
    134     if ( 'exceptions' === $get_tab ) {
    135         $gcore_cdn_exceptions = get_option( 'gcore_cdn_exceptions' );
    136         $new_exception        = isset( $_POST['new_exception'] ) ? trim( wp_unslash( esc_url_raw( wp_unslash( $_POST['new_exception'] ) ) ) ) : '';
    137         if ( '' !== $new_exception ) {
    138             if ( '' !== $gcore_cdn_exceptions ) {
    139                 $gcore_cdn_exceptions = json_decode( $gcore_cdn_exceptions, true );
    140                 $k                    = array_search( $new_exception, $gcore_cdn_exceptions, true );
    141                 if ( false !== $k ) {
    142                     unset( $gcore_cdn_exceptions[ $k ] );
    143                     $gcore_cdn_exceptions = wp_json_encode( $gcore_cdn_exceptions );
    144                     update_option( 'gcore_cdn_exceptions', $gcore_cdn_exceptions );
    145                 }
    146             }
    147         }
    148     }
    149 }
    150 
    151 $gcore_enable_cdn   = get_option( 'gcore_enable_cdn' );
    152 $gcore_cdn_disabled = ( 1 === $gcore_enable_cdn ) ? '' : ' disabled';
    153 
    154 if ( 'main' === $get_tab ) {
    155     $gcore_cdn_url            = get_option( 'gcore_cdn_url' );
    156     $gcore_enable_cdn_checked = 1 === (int) $gcore_enable_cdn ? ' checked="checked"' : '';
    157 }
    158 if ( 'types' === $get_tab ) {
    159 
    160     $gcore_type_advanced         = get_option( 'gcore_type_advanced' );
    161     $gcore_type_advanced_checked = ( 1 === (int) $gcore_type_advanced ) ? ' checked="checked"' : '';
    162 
    163     if ( 0 === $gcore_type_advanced ) {
    164         $gcore_type_image           = get_option( 'gcore_type_image' );
    165         $gcore_type_image_checked   = ( 1 === (int) $gcore_type_image ) ? ' checked="checked"' : '';
    166         $gcore_type_video           = get_option( 'gcore_type_video' );
    167         $gcore_type_video_checked   = ( 1 === (int) $gcore_type_video ) ? ' checked="checked"' : '';
    168         $gcore_type_audio           = get_option( 'gcore_type_audio' );
    169         $gcore_type_audio_checked   = ( 1 === (int) $gcore_type_audio ) ? ' checked="checked"' : '';
    170         $gcore_type_js              = get_option( 'gcore_type_js' );
    171         $gcore_type_js_checked      = ( 1 === (int) $gcore_type_js ) ? ' checked="checked"' : '';
    172         $gcore_type_css             = get_option( 'gcore_type_css' );
    173         $gcore_type_css_checked     = ( 1 === (int) $gcore_type_css ) ? ' checked="checked"' : '';
    174         $gcore_type_archive         = get_option( 'gcore_type_archive' );
    175         $gcore_type_archive_checked = ( 1 === (int) $gcore_type_archive ) ? ' checked="checked"' : '';
    176     } else {
    177         $gcore_type_image_checked   = ' disabled';
    178         $gcore_type_video_checked   = ' disabled';
    179         $gcore_type_audio_checked   = ' disabled';
    180         $gcore_type_js_checked      = ' disabled';
    181         $gcore_type_css_checked     = ' disabled';
    182         $gcore_type_archive_checked = ' disabled';
    183     }
    184 
    185 
    186     $gcore_cdn_types = get_option( 'gcore_cdn_types' );
    187     $gcore_cdn_types = json_decode( $gcore_cdn_types, true );
    188     if ( '' === $gcore_cdn_types ) {
    189         $gcore_cdn_types = array();
    190     }
    191 }
    192 if ( 'folders' === $get_tab ) {
    193 
    194     $gcore_folder_advanced         = get_option( 'gcore_folder_advanced' );
    195     $gcore_folder_advanced_checked = ( 1 === (int) $gcore_folder_advanced ) ? ' checked="checked"' : '';
    196 
    197     if ( 0 === $gcore_folder_advanced ) {
    198         $gcore_folder_templates         = get_option( 'gcore_folder_templates' );
    199         $gcore_folder_templates_checked = ( 1 === (int) $gcore_folder_templates ) ? ' checked="checked"' : '';
    200         $gcore_folder_plugins           = get_option( 'gcore_folder_plugins' );
    201         $gcore_folder_plugins_checked   = ( 1 === (int) $gcore_folder_plugins ) ? ' checked="checked"' : '';
    202         $gcore_folder_content           = get_option( 'gcore_folder_content' );
    203         $gcore_folder_content_checked   = ( 1 === (int) $gcore_folder_content ) ? ' checked="checked"' : '';
    204     } else {
    205         $gcore_folder_templates_checked = ' disabled';
    206         $gcore_folder_plugins_checked   = ' disabled';
    207         $gcore_folder_content_checked   = ' disabled';
    208     }
    209 
    210     $gcore_cdn_folders = get_option( 'gcore_cdn_folders' );
    211     $gcore_cdn_folders = json_decode( $gcore_cdn_folders, true );
    212     if ( '' === $gcore_cdn_folders ) {
    213         $gcore_cdn_folders = array();
    214     }
    215 }
    216 if ( 'exceptions' === $get_tab ) {
    217     $gcore_cdn_exceptions = get_option( 'gcore_cdn_exceptions' );
    218     $gcore_cdn_exceptions = json_decode( $gcore_cdn_exceptions, true );
    219     if ( '' === $gcore_cdn_exceptions ) {
    220         $gcore_cdn_exceptions = array();
    221     }
    222 }
    223 
    224 
    225 $title_page = $gcore_tabs[ $get_tab ]['name'];
     12    $get_tab = 'main';
     13}
     14
     15
     16if (isset($_POST['save'])) {
     17    if ($get_tab == "main") {
     18        $gcore_cdn_url = sanitize_url(esc_url(trim($_POST['gcore_cdn_url'])));
     19        if ($gcore_cdn_url != '') {
     20            $gcore_cdn_url = trailingslashit(untrailingslashit($gcore_cdn_url));
     21        }
     22        update_option('gcore_cdn_url', $gcore_cdn_url);
     23        update_option('gcore_enable_cdn', intval($_POST['gcore_enable_cdn']));
     24    }
     25    if ($get_tab == "types") {
     26        $gcore_cdn_types = get_option('gcore_cdn_types');
     27        $new_type = preg_replace('/[^a-zA-Z0-9]/ui', '', strtolower(trim($_POST['new_type'])));
     28        if ($new_type != '') {
     29            if ($gcore_cdn_types != '') {
     30                $gcore_cdn_types = json_decode($gcore_cdn_types, true);
     31            } else {
     32                $gcore_cdn_types = array();
     33            }
     34            array_push($gcore_cdn_types, $new_type);
     35            $gcore_cdn_types = array_unique($gcore_cdn_types);
     36            $gcore_cdn_types = json_encode($gcore_cdn_types);
     37            update_option('gcore_cdn_types', $gcore_cdn_types);
     38        }
     39        update_option('gcore_type_image', intval($_POST['gcore_type_image']));
     40        update_option('gcore_type_video', intval($_POST['gcore_type_video']));
     41        update_option('gcore_type_audio', intval($_POST['gcore_type_audio']));
     42        update_option('gcore_type_js', intval($_POST['gcore_type_js']));
     43        update_option('gcore_type_css', intval($_POST['gcore_type_css']));
     44        update_option('gcore_type_archive', intval($_POST['gcore_type_archive']));
     45        update_option('gcore_type_advanced', intval($_POST['gcore_type_advanced']));
     46
     47    }
     48    if ($get_tab == "folders") {
     49        $gcore_cdn_folders = get_option('gcore_cdn_folders');
     50        $new_folder = sanitize_text_field(trim($_POST['new_folder']));
     51        if ($new_folder != '') {
     52            $new_folder = trailingslashit(untrailingslashit($new_folder));
     53            $first = substr($new_folder, 0, 1);
     54            if ($first != "/") {
     55                $new_folder = "/" . $new_folder;
     56            }
     57            if ($gcore_cdn_folders != '') {
     58                $gcore_cdn_folders = json_decode($gcore_cdn_folders, true);
     59            } else {
     60                $gcore_cdn_folders = array();
     61            }
     62            array_push($gcore_cdn_folders, $new_folder);
     63            $gcore_cdn_folders = array_unique($gcore_cdn_folders);
     64            $gcore_cdn_folders = json_encode($gcore_cdn_folders);
     65            update_option('gcore_cdn_folders', $gcore_cdn_folders);
     66        }
     67        update_option('gcore_folder_templates', intval($_POST['gcore_folder_templates']));
     68        update_option('gcore_folder_plugins', intval($_POST['gcore_folder_plugins']));
     69        update_option('gcore_folder_content', intval($_POST['gcore_folder_content']));
     70        update_option('gcore_folder_advanced', intval($_POST['gcore_folder_advanced']));
     71
     72    }
     73    if ($get_tab == "exceptions") {
     74        $gcore_cdn_exceptions = get_option('gcore_cdn_exceptions');
     75        $new_exception = sanitize_text_field(esc_url(trim($_POST['new_exception'])));
     76        $new_exception = explode("?", $new_exception);
     77        $new_exception = explode("&", $new_exception[0]);
     78        $new_exception = $new_exception[0];
     79        if ($new_exception != '') {
     80            if ($gcore_cdn_exceptions != '') {
     81                $gcore_cdn_exceptions = json_decode($gcore_cdn_exceptions, true);
     82            } else {
     83                $gcore_cdn_exceptions = array();
     84            }
     85            array_push($gcore_cdn_exceptions, $new_exception);
     86            $gcore_cdn_exceptions = array_unique($gcore_cdn_exceptions);
     87            $gcore_cdn_exceptions = json_encode($gcore_cdn_exceptions);
     88            update_option('gcore_cdn_exceptions', $gcore_cdn_exceptions);
     89        }
     90    }
     91} elseif (isset($_GET['del'])) {
     92    if ($get_tab == "types") {
     93        $gcore_cdn_types = get_option('gcore_cdn_types');
     94        $new_type = preg_replace('/[^a-zA-Z0-9]/ui', '', strtolower(trim($_GET['del'])));
     95        if ($new_type != '') {
     96            if ($gcore_cdn_types != '') {
     97                $gcore_cdn_types = json_decode($gcore_cdn_types, true);
     98                if (($k = array_search($new_type, $gcore_cdn_types)) !== false) {
     99                    unset($gcore_cdn_types[$k]);
     100                    $gcore_cdn_types = json_encode($gcore_cdn_types);
     101                    update_option('gcore_cdn_types', $gcore_cdn_types);
     102                }
     103            }
     104        }
     105    }
     106    if ($get_tab == "folders") {
     107        $gcore_cdn_folders = get_option('gcore_cdn_folders');
     108        $new_folder = sanitize_text_field(trim($_GET['del']));
     109        if ($new_folder != '') {
     110            $new_folder = trailingslashit(untrailingslashit($new_folder));
     111            $first = substr($new_folder, 0, 1);
     112            if ($first != "/") {
     113                $new_folder = "/" . $new_folder;
     114            }
     115            if ($gcore_cdn_folders != '') {
     116                $gcore_cdn_folders = json_decode($gcore_cdn_folders, true);
     117
     118                if (($k = array_search($new_folder, $gcore_cdn_folders)) !== false) {
     119                    unset($gcore_cdn_folders[$k]);
     120                    $gcore_cdn_folders = json_encode($gcore_cdn_folders);
     121                    update_option('gcore_cdn_folders', $gcore_cdn_folders);
     122                }
     123            }
     124        }
     125    }
     126    if ($get_tab == "exceptions") {
     127        $gcore_cdn_exceptions = get_option('gcore_cdn_exceptions');
     128        $new_exception = sanitize_text_field(esc_url(trim($_GET['del'])));
     129        if ($new_exception != '') {
     130            if ($gcore_cdn_exceptions != '') {
     131                $gcore_cdn_exceptions = json_decode($gcore_cdn_exceptions, true);
     132
     133                if (($k = array_search($new_exception, $gcore_cdn_exceptions)) !== false) {
     134                    unset($gcore_cdn_exceptions[$k]);
     135                    $gcore_cdn_exceptions = json_encode($gcore_cdn_exceptions);
     136                    update_option('gcore_cdn_exceptions', $gcore_cdn_exceptions);
     137                }
     138            }
     139        }
     140    }
     141}
     142
     143$gcore_enable_cdn = get_option('gcore_enable_cdn');
     144$gcore_cdn_disabled = $gcore_enable_cdn == 1 ? '' : ' disabled';
     145
     146if ($get_tab == "main") {
     147    $gcore_cdn_url = get_option('gcore_cdn_url');
     148    $gcore_enable_cdn_checked = $gcore_enable_cdn == 1 ? ' checked="checked"' : '';
     149}
     150if ($get_tab == "types") {
     151
     152    $gcore_type_advanced = get_option('gcore_type_advanced');
     153    $gcore_type_advanced_checked = $gcore_type_advanced == 1 ? ' checked="checked"' : '';
     154
     155    if ($gcore_type_advanced == 0) {
     156        $gcore_type_image = get_option('gcore_type_image');
     157        $gcore_type_image_checked = $gcore_type_image == 1 ? ' checked="checked"' : '';
     158        $gcore_type_video = get_option('gcore_type_video');
     159        $gcore_type_video_checked = $gcore_type_video == 1 ? ' checked="checked"' : '';
     160        $gcore_type_audio = get_option('gcore_type_audio');
     161        $gcore_type_audio_checked = $gcore_type_audio == 1 ? ' checked="checked"' : '';
     162        $gcore_type_js = get_option('gcore_type_js');
     163        $gcore_type_js_checked = $gcore_type_js == 1 ? ' checked="checked"' : '';
     164        $gcore_type_css = get_option('gcore_type_css');
     165        $gcore_type_css_checked = $gcore_type_css == 1 ? ' checked="checked"' : '';
     166        $gcore_type_archive = get_option('gcore_type_archive');
     167        $gcore_type_archive_checked = $gcore_type_archive == 1 ? ' checked="checked"' : '';
     168    } else {
     169        $gcore_type_image_checked = ' disabled';
     170        $gcore_type_video_checked = ' disabled';
     171        $gcore_type_audio_checked = ' disabled';
     172        $gcore_type_js_checked = ' disabled';
     173        $gcore_type_css_checked = ' disabled';
     174        $gcore_type_archive_checked = ' disabled';
     175    }
     176
     177
     178    $gcore_cdn_types = get_option('gcore_cdn_types');
     179    $gcore_cdn_types = json_decode($gcore_cdn_types, true);
     180    if ($gcore_cdn_types == '') {
     181        $gcore_cdn_types = array();
     182    }
     183}
     184if ($get_tab == "folders") {
     185
     186    $gcore_folder_advanced = get_option('gcore_folder_advanced');
     187    $gcore_folder_advanced_checked = $gcore_folder_advanced == 1 ? ' checked="checked"' : '';
     188
     189    if ($gcore_folder_advanced == 0) {
     190        $gcore_folder_templates = get_option('gcore_folder_templates');
     191        $gcore_folder_templates_checked = $gcore_folder_templates == 1 ? ' checked="checked"' : '';
     192        $gcore_folder_plugins = get_option('gcore_folder_plugins');
     193        $gcore_folder_plugins_checked = $gcore_folder_plugins == 1 ? ' checked="checked"' : '';
     194        $gcore_folder_content = get_option('gcore_folder_content');
     195        $gcore_folder_content_checked = $gcore_folder_content == 1 ? ' checked="checked"' : '';
     196    } else {
     197        $gcore_folder_templates_checked = ' disabled';
     198        $gcore_folder_plugins_checked = ' disabled';
     199        $gcore_folder_content_checked = ' disabled';
     200    }
     201
     202    $gcore_cdn_folders = get_option('gcore_cdn_folders');
     203    $gcore_cdn_folders = json_decode($gcore_cdn_folders, true);
     204    if ($gcore_cdn_folders == '') {
     205        $gcore_cdn_folders = array();
     206    }
     207}
     208if ($get_tab == "exceptions") {
     209    $gcore_cdn_exceptions = get_option('gcore_cdn_exceptions');
     210    $gcore_cdn_exceptions = json_decode($gcore_cdn_exceptions, true);
     211    if ($gcore_cdn_exceptions == '') {
     212        $gcore_cdn_exceptions = array();
     213    }
     214}
     215
     216
     217$title_page = $tabs[$get_tab]['name'];
    226218
    227219$admin_url = admin_url();
    228 $data      = '';
    229 $data     .= '
    230 <h1>' . esc_html( __( 'CDN settings', 'gcore_translate' ) ) . ' - ' . esc_html( $title_page ) . '</h1>
     220$data = '';
     221$data .= '
     222<h1>' . __("CDN settings", "gcore_translate") . ' - ' . $title_page . '</h1>
    231223<div>
    232224    <h3>
    233225';
    234226
    235 foreach ( $gcore_tabs as $key => $value ) {
    236     $c     = $key == $get_tab ? ' nav-tab-active' : '';
    237     $data .= '<a class="nav-tab' . esc_html( $c ) . '" href="' . esc_url( $admin_url ) . 'admin.php?page=gcore_labs&tab=' . esc_html( $key ) . '">' . esc_html( $value['name'] ) . '</a>';
     227foreach ($tabs as $key => $value) {
     228    $c = $key == $get_tab ? " nav-tab-active" : '';
     229    $data .= '<a class="nav-tab' . $c . '" href="' . $admin_url . 'admin.php?page=gcore_labs&tab=' . $key . '">' . $value['name'] . '</a>';
    238230}
    239231$data .= '</h3>
     
    241233<form method="post" name="preferences" id="preferences" class="validate">';
    242234
    243 if ( 'main' === $get_tab ) {
    244     $data .= '<table class="form-table" style="max-width: 600px;">
     235if ($get_tab == "main") {
     236    $data .= '<table class="form-table" style="max-width: 600px;">
    245237            <tr class="form-field form-required">
    246238                <td colspan="2">
    247                     <input type="checkbox" name="gcore_enable_cdn" id="gcore_enable_cdn" value="1" ' . esc_html( $gcore_enable_cdn_checked ) . '> <label for="gcore_enable_cdn">' . esc_html( __( 'Enable CDN', 'gcore_translate' ) ) . '</label>
    248                     <p class="description" id="tagline-description">' . esc_html( __( 'In the paths to files conforming to the rules specified below, a domain will be replaced with a personal domain.', 'gcore_translate' ) ) . '</p>
     239                    <input type="checkbox" name="gcore_enable_cdn" id="gcore_enable_cdn" value="1" ' . $gcore_enable_cdn_checked . '> <label for="gcore_enable_cdn">' . __("Enable CDN", "gcore_translate") . '</label>
     240                    <p class="description" id="tagline-description">' . __("In the paths to files conforming to the rules specified below, a domain will be replaced with a personal domain.", "gcore_translate") . '</p>
    249241                </td>
    250242            </tr>           
    251243            <tr class="form-field form-required">
    252                 <td scope="row"><label for="user_login">' . esc_html( __( 'Personal domain (for configuring CNAME)', 'gcore_translate' ) ) . '</label></td>
     244                <td scope="row"><label for="user_login">' . __("Personal domain (for configuring CNAME)", "gcore_translate") . '</label></td>
    253245                <td>
    254                     <input type="text" name="gcore_cdn_url" id="gcore_cdn_url" ' . esc_html( $gcore_cdn_disabled ) . ' value="' . esc_url( $gcore_cdn_url ) . '" placeholder="' . esc_html( __( 'Example', 'gcore_translate' ) ) . ': https://cdn.example.com/">
    255                     <p class="description" id="tagline-description">' . esc_html( __( 'Specify the personal domain with a scheme corresponding to the one specified in Gcore control panel. If you are using a domain in your zone, make sure that this domain is added in the DNS provider settings.', 'gcore_translate' ) ) . '</p>
     246                    <input type="text" name="gcore_cdn_url" id="gcore_cdn_url" ' . $gcore_cdn_disabled . ' value="' . $gcore_cdn_url . '" placeholder="' . __("Example", "gcore_translate") . ': https://cdn.example.com/">
     247                    <p class="description" id="tagline-description">' . __("Specify the personal domain with a scheme corresponding to the one specified in Gcore control panel. If you are using a domain in your zone, make sure that this domain is added in the DNS provider settings.", "gcore_translate") . '</p>
    256248                </td>
    257249            </tr>
    258250            <tr>
    259251                <td></td>
    260                 <td style="text-align: right"><button type="submit" name="save" id="save" class="button button-primary"><span class="save">' . esc_html( __( 'Save', 'gcore_translate' ) ) . '</span><span class="save_go">' . esc_html( __( 'Save and Go', 'gcore_translate' ) ) . '</span></button></td>
     252                <td style="text-align: right"><button type="submit" name="save" id="save" class="button button-primary"><span class="save">' . __("Save", "gcore_translate") . '</span><span class="save_go">' . __("Save and Go", "gcore_translate") . '</span></button></td>
    261253            </tr>
    262254        </table>
    263255';
    264256}
    265 if ( 'types' === $get_tab ) {
    266     $data .= '<div class="clear"></div>
    267         <p class="description" style="margin:15px 0 0 5px">' . esc_html( __( 'Specify the types of files you want to distribute via CDN.', 'gcore_translate' ) ) . '</p>
     257if ($get_tab == "types") {
     258    $data .= '<div class="clear"></div>
     259        <p class="description" style="margin:15px 0 0 5px">' . __("Specify the types of files you want to distribute via CDN.", "gcore_translate") . '</p>
    268260        <table class="form-table" style="max-width: 600px;">
    269261            <tr class="form-field form-required">
    270                 <td><input type="checkbox" name="gcore_type_image" id="gcore_type_image" value="1" ' . esc_html( $gcore_type_image_checked ) . '> <label for="gcore_type_image">' . esc_html( __( 'Type Images', 'gcore_translate' ) ) . '</label></td>
    271                 <td><input type="checkbox" name="gcore_type_video" id="gcore_type_video" value="1" ' . esc_html( $gcore_type_video_checked ) . '> <label for="gcore_type_video">' . esc_html( __( 'Type Video', 'gcore_translate' ) ) . '</label></td>
    272                 <td><input type="checkbox" name="gcore_type_audio" id="gcore_type_audio" value="1" ' . esc_html( $gcore_type_audio_checked ) . '> <label for="gcore_type_audio">' . esc_html( __( 'Type Audio', 'gcore_translate' ) ) . '</label></td>
    273             </tr>
    274             <tr class="form-field form-required">
    275                 <td><input type="checkbox" name="gcore_type_js" id="gcore_type_js" value="1" ' . esc_html( $gcore_type_js_checked ) . '> <label for="gcore_type_js">' . esc_html( __( 'Type JS', 'gcore_translate' ) ) . '</label></td>
    276                 <td><input type="checkbox" name="gcore_type_css" id="gcore_type_css" value="1" ' . esc_html( $gcore_type_css_checked ) . '> <label for="gcore_type_css">' . esc_html( __( 'Type CSS', 'gcore_translate' ) ) . '</label></td>
    277                 <td><input type="checkbox" name="gcore_type_archive" id="gcore_type_archive" value="1" ' . esc_html( $gcore_type_archive_checked ) . '> <label for="gcore_type_archive">' . esc_html( __( 'Type Archive', 'gcore_translate' ) ) . '</label></td>
    278             </tr>
    279         </table>
    280         <div style="margin: 10px"><input type="checkbox" name="gcore_type_advanced" id="gcore_type_advanced" value="1" ' . esc_html( $gcore_type_advanced_checked ) . '> <label for="gcore_type_advanced">' . esc_html( __( 'Advanced property', 'gcore_translate' ) ) . '</label></div>
    281         ';
    282     $data .= '
     262                <td><input type="checkbox" name="gcore_type_image" id="gcore_type_image" value="1" ' . $gcore_type_image_checked . '> <label for="gcore_type_image">' . __("Type Images", "gcore_translate") . '</label></td>
     263                <td><input type="checkbox" name="gcore_type_video" id="gcore_type_video" value="1" ' . $gcore_type_video_checked . '> <label for="gcore_type_video">' . __("Type Video", "gcore_translate") . '</label></td>
     264                <td><input type="checkbox" name="gcore_type_audio" id="gcore_type_audio" value="1" ' . $gcore_type_audio_checked . '> <label for="gcore_type_audio">' . __("Type Audio", "gcore_translate") . '</label></td>
     265            </tr>
     266            <tr class="form-field form-required">
     267                <td><input type="checkbox" name="gcore_type_js" id="gcore_type_js" value="1" ' . $gcore_type_js_checked . '> <label for="gcore_type_js">' . __("Type JS", "gcore_translate") . '</label></td>
     268                <td><input type="checkbox" name="gcore_type_css" id="gcore_type_css" value="1" ' . $gcore_type_css_checked . '> <label for="gcore_type_css">' . __("Type CSS", "gcore_translate") . '</label></td>
     269                <td><input type="checkbox" name="gcore_type_archive" id="gcore_type_archive" value="1" ' . $gcore_type_archive_checked . '> <label for="gcore_type_archive">' . __("Type Archive", "gcore_translate") . '</label></td>
     270            </tr>
     271        </table>
     272        <div style="margin: 10px"><input type="checkbox" name="gcore_type_advanced" id="gcore_type_advanced" value="1" ' . $gcore_type_advanced_checked . '> <label for="gcore_type_advanced">' . __("Advanced property", "gcore_translate") . '</label></div>
     273        ';
     274    $data .= '
    283275        <table class="form-table" style="max-width: 600px;">
    284276        ';
    285     if ( 1 === (int) $gcore_type_advanced ) {
    286         foreach ( $gcore_cdn_types as $gcore_type ) {
    287             $admin_url = admin_url();
    288             $data    .= '<tr class="form-field form-required">
    289                 <td scope="row">' . esc_html( $gcore_type ) . '</td>
    290                 <td><a ' . esc_html( $gcore_cdn_disabled ) . ' href="' . esc_url( $admin_url ) . 'admin.php?page=gcore_labs&tab=types&del=' . esc_html( $gcore_type ) . '" class="button button-danger">' . esc_html( __( 'Delete', 'gcore_translate' ) ) . '</a></td>
     277    if ($gcore_type_advanced == 1) {
     278        foreach ($gcore_cdn_types as $type) {
     279            $admin_url = admin_url();
     280            $data .= '<tr class="form-field form-required">
     281                <td scope="row">' . $type . '</td>
     282                <td><a ' . $gcore_cdn_disabled . ' href="' . $admin_url . 'admin.php?page=gcore_labs&tab=types&del=' . $type . '" class="button button-danger">' . __("Delete", "gcore_translate") . '</a></td>
    291283            </tr>';
    292         }
    293         $data .= '<tr class="form-field form-required">
    294                 <td scope="row"><input ' . esc_html( $gcore_cdn_disabled ) . ' type="text" name="new_type" placeholder="' . esc_html( __( 'Example', 'gcore_translate' ) ) . ': jpg"></td>
    295             <td><input ' . esc_html( $gcore_cdn_disabled ) . ' type="submit" name="save" class="button button-primary" value="' . esc_html( __( 'Add', 'gcore_translate' ) ) . '"></td>
    296             </tr>
    297         </table>
    298         ';
    299     }
    300     $data .= '<p class="submit"><input type="submit" name="save" id="save" class="button button-primary" value="' . esc_html( __( 'Save', 'gcore_translate' ) ) . '"></p>';
    301 }
    302 if ( 'folders' === $get_tab ) {
    303     $data .= '<div class="clear"></div>
    304         <p class="description" style="margin:15px 0 0 5px;max-width: 600px;">' . esc_html( __( 'Specify folders containing files you want to distribute via CDN. Leave this field blank to distribute files from all folders via CDN. Please note that only files that match file types specified on the File Types tab will be delivered via CDN.', 'gcore_translate' ) ) . '</p>
     284        }
     285        $data .= '<tr class="form-field form-required">
     286                <td scope="row"><input ' . $gcore_cdn_disabled . ' type="text" name="new_type" placeholder="' . __("Example", "gcore_translate") . ': jpg"></td>
     287            <td><input ' . $gcore_cdn_disabled . ' type="submit" name="save" class="button button-primary" value="' . __("Add", "gcore_translate") . '"></td>
     288            </tr>
     289        </table>
     290        ';
     291    }
     292    $data .= '<p class="submit"><input type="submit" name="save" id="save" class="button button-primary" value="' . __("Save", "gcore_translate") . '"></p>';
     293}
     294if ($get_tab == "folders") {
     295    $data .= '<div class="clear"></div>
     296        <p class="description" style="margin:15px 0 0 5px;max-width: 600px;">' . __("Specify folders containing files you want to distribute via CDN. Leave this field blank to distribute files from all folders via CDN. Please note that only files that match file types specified on the File Types tab will be delivered via CDN.", "gcore_translate") . '</p>
    305297        <table class="form-table" style="max-width: 600px;">
    306298            <tr class="form-field form-required">
    307                 <td><input type="checkbox" name="gcore_folder_templates" id="gcore_folder_templates" value="1" ' . esc_html( $gcore_folder_templates_checked ) . '> <label for="gcore_folder_templates">' . esc_html( __( 'Folder Templates', 'gcore_translate' ) ) . '</label></td>
    308                 <td><input type="checkbox" name="gcore_folder_plugins" id="gcore_folder_plugins" value="1" ' . esc_html( $gcore_folder_plugins_checked ) . '> <label for="gcore_folder_plugins">' . esc_html( __( 'Folder Plugins', 'gcore_translate' ) ) . '</label></td>
    309                 <td><input type="checkbox" name="gcore_folder_content" id="gcore_folder_content" value="1" ' . esc_html( $gcore_folder_content_checked ) . '> <label for="gcore_folder_content">' . esc_html( __( 'Folder Content', 'gcore_translate' ) ) . '</label></td>
    310             </tr>
    311         </table>
    312         <div style="margin: 10px"><input type="checkbox" name="gcore_folder_advanced" id="gcore_folder_advanced" value="1" ' . esc_html( $gcore_folder_advanced_checked ) . '> <label for="gcore_folder_advanced">' . esc_html( __( 'Advanced property', 'gcore_translate' ) ) . '</label></div>
    313         ';
    314     $data .= '
     299                <td><input type="checkbox" name="gcore_folder_templates" id="gcore_folder_templates" value="1" ' . $gcore_folder_templates_checked . '> <label for="gcore_folder_templates">' . __("Folder Templates", "gcore_translate") . '</label></td>
     300                <td><input type="checkbox" name="gcore_folder_plugins" id="gcore_folder_plugins" value="1" ' . $gcore_folder_plugins_checked . '> <label for="gcore_folder_plugins">' . __("Folder Plugins", "gcore_translate") . '</label></td>
     301                <td><input type="checkbox" name="gcore_folder_content" id="gcore_folder_content" value="1" ' . $gcore_folder_content_checked . '> <label for="gcore_folder_content">' . __("Folder Content", "gcore_translate") . '</label></td>
     302            </tr>
     303        </table>
     304        <div style="margin: 10px"><input type="checkbox" name="gcore_folder_advanced" id="gcore_folder_advanced" value="1" ' . $gcore_folder_advanced_checked . '> <label for="gcore_folder_advanced">' . __("Advanced property", "gcore_translate") . '</label></div>
     305        ';
     306    $data .= '
    315307        <table class="form-table" style="max-width: 600px;">
    316308        ';
    317     if ( 1 === (int) $gcore_folder_advanced ) {
    318         foreach ( $gcore_cdn_folders as $folder ) {
    319             $folder_code = rawurlencode( $folder );
    320             $data      .= '<tr class="form-field form-required">
    321                 <td scope="row">' . esc_html( $folder ) . '</td>
    322                 <td><a ' . esc_html( $gcore_cdn_disabled ) . ' href="' . esc_url( $admin_url ) . 'admin.php?page=gcore_labs&tab=folders&del=' . esc_html( $folder_code ) . '" class="button button-danger">' . esc_html( __( 'Delete', 'gcore_translate' ) ) . '</a></td>
     309    if ($gcore_folder_advanced == 1) {
     310        foreach ($gcore_cdn_folders as $folder) {
     311            $folder_code = urlencode($folder);
     312            $data .= '<tr class="form-field form-required">
     313                <td scope="row">' . $folder . '</td>
     314                <td><a ' . $gcore_cdn_disabled . ' href="' . $admin_url . 'admin.php?page=gcore_labs&tab=folders&del=' . $folder_code . '" class="button button-danger">' . __("Delete", "gcore_translate") . '</a></td>
    323315            </tr>';
    324         }
    325         $data .= '<tr class="form-field form-required">
    326             <td scope="row"><input ' . esc_html( $gcore_cdn_disabled ) . ' type="text" name="new_folder" placeholder="' . esc_html( __( 'Example', 'gcore_translate' ) ) . ': /wp-content/uploads/"></td>
    327             <td><input ' . esc_html( $gcore_cdn_disabled ) . ' type="submit" name="save" class="button button-primary" value="' . esc_html( __( 'Add', 'gcore_translate' ) ) . '"></td>
     316        }
     317        $data .= '<tr class="form-field form-required">
     318            <td scope="row"><input ' . $gcore_cdn_disabled . ' type="text" name="new_folder" placeholder="' . __("Example", "gcore_translate") . ': /wp-content/uploads/"></td>
     319            <td><input ' . $gcore_cdn_disabled . ' type="submit" name="save" class="button button-primary" value="' . __("Add", "gcore_translate") . '"></td>
    328320        </tr>
    329321        </table>
    330322        ';
    331     }
    332     $data .= '<p class="submit"><input type="submit" name="save" id="save" class="button button-primary" value="' . esc_html( __( 'Save', 'gcore_translate' ) ) . '"></p>';
    333 }
    334 if ( 'exceptions' === $get_tab ) {
    335     $data .= '<div class="clear"></div>
    336         <p class="description" style="margin:15px 0 0 5px">' . esc_html( __( 'Specify the URLs you want to add to the exceptions list and not distribute them via CDN.', 'gcore_translate' ) ) . '</p>
     323    }
     324    $data .= '<p class="submit"><input type="submit" name="save" id="save" class="button button-primary" value="' . __("Save", "gcore_translate") . '"></p>';
     325}
     326if ($get_tab == "exceptions") {
     327    $data .= '<div class="clear"></div>
     328        <p class="description" style="margin:15px 0 0 5px">' . __("Specify the URLs you want to add to the exceptions list and not distribute them via CDN.", "gcore_translate") . '</p>
    337329        <table class="form-table" style="max-width: 600px;">';
    338330
    339     foreach ( $gcore_cdn_exceptions as $exception ) {
    340         $delete_url    = admin_url();
    341         $exception_code = rawurlencode( $exception );
    342 
    343         $data .= '<tr class="form-field form-required">
    344                 <td scope="row"><a href="' . esc_html( $exception ) . '" target="_blank">' . esc_html( $exception ) . '</a></td>
    345                 <td><a ' . esc_html( $gcore_cdn_disabled ) . ' href="' . esc_url( $delete_url ) . 'admin.php?page=gcore_labs&tab=exceptions&del=' . esc_html( $exception_code ) . '" class="button button-danger">' . esc_html( __( 'Delete', 'gcore_translate' ) ) . '</a></td>
     331    foreach ($gcore_cdn_exceptions as $exception) {
     332        $delete_url = admin_url();
     333        $exception_code = urlencode($exception);
     334
     335        $data .= '<tr class="form-field form-required">
     336                <td scope="row"><a href="' . $exception . '" target="_blank">' . $exception . '</a></td>
     337                <td><a ' . $gcore_cdn_disabled . ' href="' . $delete_url . 'admin.php?page=gcore_labs&tab=exceptions&del=' . $exception_code . '" class="button button-danger">' . __("Delete", "gcore_translate") . '</a></td>
    346338            </tr>';
    347     }
    348     $data .= '<tr class="form-field form-required">
    349             <td scope="row"><input ' . esc_html( $gcore_cdn_disabled ) . ' type="text" name="new_exception" placeholder="' . esc_html( __( 'Example', 'gcore_translate' ) ) . ': https://example.com/exepstions-page.html"></td>
    350             <td><input ' . esc_html( $gcore_cdn_disabled ) . ' type="submit" name="save" class="button button-primary" value="' . esc_html( __( 'Add', 'gcore_translate' ) ) . '"></td>
     339    }
     340    $data .= '<tr class="form-field form-required">
     341            <td scope="row"><input ' . $gcore_cdn_disabled . ' type="text" name="new_exception" placeholder="' . __("Example", "gcore_translate") . ': https://example.com/exepstions-page.html"></td>
     342            <td><input ' . $gcore_cdn_disabled . ' type="submit" name="save" class="button button-primary" value="' . __("Add", "gcore_translate") . '"></td>
    351343        </tr>
    352344        </table>';
    353345}
    354346$data .= '</form>';
    355 echo esc_html( $data );
     347echo esc_html($data);
  • g-core-labs-cdn/trunk/css/custom.css

    r2907361 r2907407  
    11.button-gcore {
    2     display: inline-block;
    3     text-decoration: none;
    4     font-size: 13px;
    5     line-height: 2.15384615;
    6     min-height: 30px;
    7     margin: 0;
    8     padding: 0 10px;
    9     cursor: pointer;
    10     border-width: 1px;
    11     border-style: solid;
    12     -webkit-appearance: none;
    13     border-radius: 3px;
    14     white-space: nowrap;
    15     box-sizing: border-box;
     2    display: inline-block;
     3    text-decoration: none;
     4    font-size: 13px;
     5    line-height: 2.15384615;
     6    min-height: 30px;
     7    margin: 0;
     8    padding: 0 10px;
     9    cursor: pointer;
     10    border-width: 1px;
     11    border-style: solid;
     12    -webkit-appearance: none;
     13    border-radius: 3px;
     14    white-space: nowrap;
     15    box-sizing: border-box;
    1616}
    1717.button-gcore.focus,
    1818.button-gcore.hover,
    1919.button-gcore {
    20     color: #FFFFFF;
    21     border-color: #FF5700;
    22     background: #FF5700;
     20    color: #FFFFFF;
     21    border-color: #FF5700;
     22    background: #FF5700;
    2323}
    2424.button-gcore:hover {
    25     background: #FFFFFF;
    26     border-color: #FF5700;
    27     color: #FF5700;
     25    background: #FFFFFF;
     26    border-color: #FF5700;
     27    color: #FF5700;
    2828}
  • g-core-labs-cdn/trunk/includes/about.php

    r2907361 r2907407  
    1 <?php
    2 /**
    3  * About
    4  *
    5  * @package GCORE
    6  */
    7 
    8 ?>
    9 <h1><?php printf( esc_html( __( 'About', 'gcore_translate' ) ) ); ?></h1>
    10 <p><?php printf( esc_html( __( 'Author', 'gcore_translate' ) ) ); ?>: <a href="https://gcore.com/" target="_blank">Gcore</a></p>
    11 <p><?php printf( esc_html( __( 'Version', 'gcore_translate' ) ) ); ?>: <strong>1.1.9</strong></p>
    12 <p><?php printf( esc_html( __( 'Supported WordPress version: 5.4 and above', 'gcore_translate' ) ) ); ?></p>
     1<h1><?php printf(__("About", "gcore_translate")); ?></h1>
     2<p><?php printf(__("Author", "gcore_translate")); ?>: <a href="https://gcore.com/" target="_blank">Gcore</a></p>
     3<p><?php printf(__("Version", "gcore_translate")); ?>: <strong>1.1.9</strong></p>
     4<p><?php printf(__("Supported WordPress version: 5.4 and above", "gcore_translate")); ?></p>
  • g-core-labs-cdn/trunk/includes/admin.php

    r2907361 r2907407  
    11<?php
    2 /**
    3  * Admin
    4  *
    5  * @package GCORE
    6  */
    7 
    8 $tabs_list = array(
    9     'main'       => array( 'name' => esc_html( __( 'General', 'gcore_translate' ) ) ),
    10     'types'      => array( 'name' => esc_html( __( 'File types', 'gcore_translate' ) ) ),
    11     'folders'    => array( 'name' => esc_html( __( 'Folders', 'gcore_translate' ) ) ),
    12     'exceptions' => array( 'name' => esc_html( __( 'Exceptions', 'gcore_translate' ) ) ),
    13 );
    14 
    15 $del = isset( $_GET['del'] ) ? sanitize_text_field( wp_unslash( $_GET['del'] ) ) : null;
    16 
    17 if ( isset( $_GET['tab'] ) && in_array( $_GET['tab'], array( 'types', 'folders', 'exceptions' ), true ) ) {
    18     $get_tab = sanitize_text_field( wp_unslash( $_GET['tab'] ) );
     2
     3$tabs = [
     4    'main' => ['name' => __('General', "gcore_translate")],
     5    'types' => ['name' => __('File types', "gcore_translate")],
     6    'folders' => ['name' => __('Folders', "gcore_translate")],
     7    'exceptions' => ['name' => __('Exceptions', "gcore_translate")]
     8];
     9if (isset($_GET['tab']) and in_array($_GET['tab'], ['types', 'folders', 'exceptions'])) {
     10    $get_tab = sanitize_text_field($_GET['tab']);
    1911} else {
    20     $get_tab = 'main';
    21 }
    22 if ( null !== $del ) {
    23     if ( 'types' === $get_tab ) {
    24         $gcore_cdn_types = get_option( 'gcore_cdn_types' );
    25         $new_type        = preg_replace( '/[^a-zA-Z0-9]/ui', '', strtolower( trim( $del ) ) );
    26         if ( '' !== $new_type ) {
    27             if ( '' !== $gcore_cdn_types ) {
    28                 $gcore_cdn_types = json_decode( $gcore_cdn_types, true );
    29                 $k               = array_search( $new_type, $gcore_cdn_types, true );
    30                 if ( false !== $k ) {
    31                     unset( $gcore_cdn_types[ $k ] );
    32                     $gcore_cdn_types = wp_json_encode( $gcore_cdn_types );
    33                     update_option( 'gcore_cdn_types', $gcore_cdn_types );
    34                 }
    35             }
    36         }
    37     }
    38     if ( 'folders' === $get_tab ) {
    39         $gcore_cdn_folders = get_option( 'gcore_cdn_folders' );
    40         $new_folder        = sanitize_text_field( trim( $del ) );
    41         if ( '' !== $new_folder ) {
    42             $new_folder = trailingslashit( untrailingslashit( $new_folder ) );
    43             $first      = substr( $new_folder, 0, 1 );
    44             if ( '/' !== $first ) {
    45                 $new_folder = '/' . $new_folder;
    46             }
    47             if ( '' !== $gcore_cdn_folders ) {
    48                 $gcore_cdn_folders = json_decode( $gcore_cdn_folders, true );
    49 
    50                 $k = array_search( $new_folder, $gcore_cdn_folders, true );
    51                 if ( false !== $k ) {
    52                     unset( $gcore_cdn_folders[ $k ] );
    53                     $gcore_cdn_folders = wp_json_encode( $gcore_cdn_folders );
    54                     update_option( 'gcore_cdn_folders', $gcore_cdn_folders );
    55                 }
    56             }
    57         }
    58     }
    59     if ( 'exceptions' !== $get_tab ) {
    60         $gcore_cdn_exceptions = get_option( 'gcore_cdn_exceptions' );
    61         $new_exception        = esc_url( trim( $del ) );
    62         if ( '' !== $new_exception ) {
    63             if ( '' !== $gcore_cdn_exceptions ) {
    64                 $gcore_cdn_exceptions = json_decode( $gcore_cdn_exceptions, true );
    65                 $k                    = array_search( $new_exception, $gcore_cdn_exceptions, true );
    66                 if ( false !== $k ) {
    67                     unset( $gcore_cdn_exceptions[ $k ] );
    68                     $gcore_cdn_exceptions = wp_json_encode( $gcore_cdn_exceptions );
    69                     update_option( 'gcore_cdn_exceptions', $gcore_cdn_exceptions );
    70                 }
    71             }
    72         }
    73     }
    74 }
    75 
    76 $gcore_enable_cdn   = get_option( 'gcore_enable_cdn' );
    77 $gcore_cdn_disabled = 1 === (int) $gcore_enable_cdn ? '' : ' disabled';
    78 
    79 if ( 'main' === $get_tab ) {
    80     $gcore_cdn_url            = get_option( 'gcore_cdn_url' );
    81     $gcore_enable_cdn_checked = 1 === (int) $gcore_enable_cdn ? ' checked="checked"' : '';
    82 }
    83 if ( 'types' === $get_tab ) {
    84 
    85     $gcore_type_advanced         = get_option( 'gcore_type_advanced' );
    86     $gcore_type_advanced_checked = 1 === (int) $gcore_type_advanced ? ' checked="checked"' : '';
    87 
    88     if ( 0 === $gcore_type_advanced ) {
    89         $gcore_type_image           = get_option( 'gcore_type_image' );
    90         $gcore_type_image_checked   = 1 === (int) $gcore_type_image ? ' checked="checked"' : '';
    91         $gcore_type_video           = get_option( 'gcore_type_video' );
    92         $gcore_type_video_checked   = 1 === (int) $gcore_type_video ? ' checked="checked"' : '';
    93         $gcore_type_audio           = get_option( 'gcore_type_audio' );
    94         $gcore_type_audio_checked   = 1 === (int) $gcore_type_audio ? ' checked="checked"' : '';
    95         $gcore_type_js              = get_option( 'gcore_type_js' );
    96         $gcore_type_js_checked      = 1 === (int) $gcore_type_js ? ' checked="checked"' : '';
    97         $gcore_type_css             = get_option( 'gcore_type_css' );
    98         $gcore_type_css_checked     = 1 === (int) $gcore_type_css ? ' checked="checked"' : '';
    99         $gcore_type_archive         = get_option( 'gcore_type_archive' );
    100         $gcore_type_archive_checked = 1 === (int) $gcore_type_archive ? ' checked="checked"' : '';
    101     } else {
    102         $gcore_type_image_checked  = ' disabled';
    103         $gcore_type_video_checked  = ' disabled';
    104         $gcore_type_audio_checked  = ' disabled';
    105         $gcore_type_js_checked      = ' disabled';
    106         $gcore_type_css_checked    = ' disabled';
    107         $gcore_type_archive_checked = ' disabled';
    108     }
    109 
    110 
    111     $gcore_cdn_types = get_option( 'gcore_cdn_types' );
    112     $gcore_cdn_types = json_decode( $gcore_cdn_types, true );
    113     if ( '' === $gcore_cdn_types ) {
    114         $gcore_cdn_types = array();
    115     }
    116 }
    117 if ( 'folders' === $get_tab ) {
    118 
    119     $gcore_folder_advanced         = get_option( 'gcore_folder_advanced' );
    120     $gcore_folder_advanced_checked = 1 === (int) $gcore_folder_advanced ? ' checked="checked"' : '';
    121 
    122     if ( 0 === $gcore_folder_advanced ) {
    123         $gcore_folder_templates         = get_option( 'gcore_folder_templates' );
    124         $gcore_folder_templates_checked = 1 === (int) $gcore_folder_templates ? ' checked="checked"' : '';
    125         $gcore_folder_plugins           = get_option( 'gcore_folder_plugins' );
    126         $gcore_folder_plugins_checked   = 1 === (int) $gcore_folder_plugins ? ' checked="checked"' : '';
    127         $gcore_folder_content           = get_option( 'gcore_folder_content' );
    128         $gcore_folder_content_checked   = 1 === (int) $gcore_folder_content ? ' checked="checked"' : '';
    129         $gcore_folder_wp                = get_option( 'gcore_folder_wp' );
    130         $gcore_folder_wp_checked        = 1 === (int) $gcore_folder_wp ? ' checked="checked"' : '';
    131     } else {
    132         $gcore_folder_templates_checked = ' disabled';
    133         $gcore_folder_plugins_checked  = ' disabled';
    134         $gcore_folder_content_checked  = ' disabled';
    135         $gcore_folder_wp_checked        = ' disabled';
    136     }
    137 
    138     $gcore_cdn_folders = get_option( 'gcore_cdn_folders' );
    139     $gcore_cdn_folders = json_decode( $gcore_cdn_folders, true );
    140     if ( '' === $gcore_cdn_folders ) {
    141         $gcore_cdn_folders = array();
    142     }
    143 }
    144 if ( 'exceptions' === $get_tab ) {
    145     $gcore_cdn_exceptions = get_option( 'gcore_cdn_exceptions' );
    146     $gcore_cdn_exceptions = json_decode( $gcore_cdn_exceptions, true );
    147     if ( '' === $gcore_cdn_exceptions ) {
    148         $gcore_cdn_exceptions = array();
    149     }
    150 }
    151 
    152 
    153 $title_page = $tabs_list[ $get_tab ]['name'];
     12    $get_tab = 'main';
     13}
     14
     15
     16if (isset($_GET['del'])) {
     17    if ($get_tab == "types") {
     18        $gcore_cdn_types = get_option('gcore_cdn_types');
     19        $new_type = preg_replace('/[^a-zA-Z0-9]/ui', '', strtolower(trim($_GET['del'])));
     20        if ($new_type != '') {
     21            if ($gcore_cdn_types != '') {
     22                $gcore_cdn_types = json_decode($gcore_cdn_types, true);
     23                if (($k = array_search($new_type, $gcore_cdn_types)) !== false) {
     24                    unset($gcore_cdn_types[$k]);
     25                    $gcore_cdn_types = json_encode($gcore_cdn_types);
     26                    update_option('gcore_cdn_types', $gcore_cdn_types);
     27                }
     28            }
     29        }
     30    }
     31    if ($get_tab == "folders") {
     32        $gcore_cdn_folders = get_option('gcore_cdn_folders');
     33        $new_folder = sanitize_text_field(trim($_GET['del']));
     34        if ($new_folder != '') {
     35            $new_folder = trailingslashit(untrailingslashit($new_folder));
     36            $first = substr($new_folder, 0, 1);
     37            if ($first != "/") {
     38                $new_folder = "/" . $new_folder;
     39            }
     40            if ($gcore_cdn_folders != '') {
     41                $gcore_cdn_folders = json_decode($gcore_cdn_folders, true);
     42
     43                if (($k = array_search($new_folder, $gcore_cdn_folders)) !== false) {
     44                    unset($gcore_cdn_folders[$k]);
     45                    $gcore_cdn_folders = json_encode($gcore_cdn_folders);
     46                    update_option('gcore_cdn_folders', $gcore_cdn_folders);
     47                }
     48            }
     49        }
     50    }
     51    if ($get_tab == "exceptions") {
     52        $gcore_cdn_exceptions = get_option('gcore_cdn_exceptions');
     53        $new_exception = sanitize_text_field(esc_url(trim($_GET['del'])));
     54        if ($new_exception != '') {
     55            if ($gcore_cdn_exceptions != '') {
     56                $gcore_cdn_exceptions = json_decode($gcore_cdn_exceptions, true);
     57
     58                if (($k = array_search($new_exception, $gcore_cdn_exceptions)) !== false) {
     59                    unset($gcore_cdn_exceptions[$k]);
     60                    $gcore_cdn_exceptions = json_encode($gcore_cdn_exceptions);
     61                    update_option('gcore_cdn_exceptions', $gcore_cdn_exceptions);
     62                }
     63            }
     64        }
     65    }
     66}
     67
     68$gcore_enable_cdn = get_option('gcore_enable_cdn');
     69$gcore_cdn_disabled = $gcore_enable_cdn == 1 ? '' : ' disabled';
     70
     71if ($get_tab == "main") {
     72    $gcore_cdn_url = get_option('gcore_cdn_url');
     73    $gcore_enable_cdn_checked = $gcore_enable_cdn == 1 ? ' checked="checked"' : '';
     74}
     75if ($get_tab == "types") {
     76
     77    $gcore_type_advanced = get_option('gcore_type_advanced');
     78    $gcore_type_advanced_checked = $gcore_type_advanced == 1 ? ' checked="checked"' : '';
     79
     80    if ($gcore_type_advanced == 0) {
     81        $gcore_type_image = get_option('gcore_type_image');
     82        $gcore_type_image_checked = $gcore_type_image == 1 ? ' checked="checked"' : '';
     83        $gcore_type_video = get_option('gcore_type_video');
     84        $gcore_type_video_checked = $gcore_type_video == 1 ? ' checked="checked"' : '';
     85        $gcore_type_audio = get_option('gcore_type_audio');
     86        $gcore_type_audio_checked = $gcore_type_audio == 1 ? ' checked="checked"' : '';
     87        $gcore_type_js = get_option('gcore_type_js');
     88        $gcore_type_js_checked = $gcore_type_js == 1 ? ' checked="checked"' : '';
     89        $gcore_type_css = get_option('gcore_type_css');
     90        $gcore_type_css_checked = $gcore_type_css == 1 ? ' checked="checked"' : '';
     91        $gcore_type_archive = get_option('gcore_type_archive');
     92        $gcore_type_archive_checked = $gcore_type_archive == 1 ? ' checked="checked"' : '';
     93    } else {
     94        $gcore_type_image_checked = ' disabled';
     95        $gcore_type_video_checked = ' disabled';
     96        $gcore_type_audio_checked = ' disabled';
     97        $gcore_type_js_checked = ' disabled';
     98        $gcore_type_css_checked = ' disabled';
     99        $gcore_type_archive_checked = ' disabled';
     100    }
     101
     102
     103    $gcore_cdn_types = get_option('gcore_cdn_types');
     104    $gcore_cdn_types = json_decode($gcore_cdn_types, true);
     105    if ($gcore_cdn_types == '') {
     106        $gcore_cdn_types = [];
     107    }
     108}
     109if ($get_tab == "folders") {
     110
     111    $gcore_folder_advanced = get_option('gcore_folder_advanced');
     112    $gcore_folder_advanced_checked = $gcore_folder_advanced == 1 ? ' checked="checked"' : '';
     113
     114    if ($gcore_folder_advanced == 0) {
     115        $gcore_folder_templates = get_option('gcore_folder_templates');
     116        $gcore_folder_templates_checked = $gcore_folder_templates == 1 ? ' checked="checked"' : '';
     117        $gcore_folder_plugins = get_option('gcore_folder_plugins');
     118        $gcore_folder_plugins_checked = $gcore_folder_plugins == 1 ? ' checked="checked"' : '';
     119        $gcore_folder_content = get_option('gcore_folder_content');
     120        $gcore_folder_content_checked = $gcore_folder_content == 1 ? ' checked="checked"' : '';
     121        $gcore_folder_wp = get_option('gcore_folder_wp');
     122        $gcore_folder_wp_checked = $gcore_folder_wp == 1 ? ' checked="checked"' : '';
     123    } else {
     124        $gcore_folder_templates_checked = ' disabled';
     125        $gcore_folder_plugins_checked = ' disabled';
     126        $gcore_folder_content_checked = ' disabled';
     127        $gcore_folder_wp_checked = ' disabled';
     128    }
     129
     130    $gcore_cdn_folders = get_option('gcore_cdn_folders');
     131    $gcore_cdn_folders = json_decode($gcore_cdn_folders, true);
     132    if ($gcore_cdn_folders == '') {
     133        $gcore_cdn_folders = [];
     134    }
     135}
     136if ($get_tab == "exceptions") {
     137    $gcore_cdn_exceptions = get_option('gcore_cdn_exceptions');
     138    $gcore_cdn_exceptions = json_decode($gcore_cdn_exceptions, true);
     139    if ($gcore_cdn_exceptions == '') {
     140        $gcore_cdn_exceptions = [];
     141    }
     142}
     143
     144
     145$title_page = $tabs[$get_tab]['name'];
    154146
    155147$admin_url = admin_url();
    156 $data      = '';
    157 $data     .= '
    158 <h1>' . esc_html( __( 'CDN settings', 'gcore_translate' ) ) . ' - ' . esc_html( $title_page ) . '</h1>
     148$data = '';
     149$data .= '
     150<h1>' . __("CDN settings", "gcore_translate") . ' - ' . $title_page . '</h1>
    159151<div>
    160152    <h3>
    161153';
    162154
    163 foreach ( $tabs_list as $key => $value ) {
    164     $c = $key === $get_tab ? ' nav-tab-active' : '';
    165     if ( 0 === $gcore_enable_cdn ) {
    166         $li_style = 'style="opacity:0.3"';
    167         $href     = '#';
    168     } else {
    169         $li_style = '';
    170         $href     = esc_url( $admin_url ) . 'admin.php?page=gcore_labs&tab=' . esc_html( $key );
    171     }
    172     $data .= '<a ' . $li_style . ' class="g-d nav-tab' . $c . '" href="' . $href . '" data-href="' . esc_url( $admin_url ) . 'admin.php?page=gcore_labs&tab=' . esc_html( $key ) . '">' . esc_html( $value['name'] ) . '</a>';
     155foreach ($tabs as $key => $value) {
     156    $c = $key == $get_tab ? " nav-tab-active" : '';
     157    if ($gcore_enable_cdn == 0) {
     158        $li_style = "style=\"opacity:0.3\"";
     159        $href = "#";
     160    } else {
     161        $li_style = "";
     162        $href = $admin_url . 'admin.php?page=gcore_labs&tab=' . $key;
     163    }
     164    $data .= '<a ' . $li_style . ' class="g-d nav-tab' . $c . '" href="' . $href . '" data-href="' . $admin_url . 'admin.php?page=gcore_labs&tab=' . $key . '">' . $value['name'] . '</a>';
    173165}
    174166$data .= '</h3>
     
    176168';
    177169
    178 if ( 'main' === $get_tab ) {
    179     $data .= '<table class="form-table" style="max-width: 600px;">
     170if ($get_tab == "main") {
     171    $data .= '<table class="form-table" style="max-width: 600px;">
    180172            <tr class="form-field form-required">
    181173                <td colspan="2">
    182174                    <label class="el-checkbox el-checkbox-sm">
    183                             <input id="gcore_enable_cdn" type="checkbox" class="g-c" data-t="checkbox" data-o="gcore_enable_cdn" value="1" ' . esc_html( $gcore_enable_cdn_checked ) . '>
    184                         <span class="el-checkbox-style  pull-right"></span>
    185                         <span class="margin-r">' . esc_html( __( 'Enable CDN', 'gcore_translate' ) ) . '</span>
    186                     </label>
    187                     <p class="description" id="tagline-description">' . esc_html( __( 'In the paths to files conforming to the rules specified below, a domain will be replaced with a personal domain.', 'gcore_translate' ) ) . '</p>
     175                        <input id="gcore_enable_cdn" type="checkbox" class="g-c" data-t="checkbox" data-o="gcore_enable_cdn" value="1" ' . $gcore_enable_cdn_checked . '>
     176                        <span class="el-checkbox-style  pull-right"></span>
     177                        <span class="margin-r">' . __("Enable CDN", "gcore_translate") . '</span>
     178                    </label>
     179                    <p class="description" id="tagline-description">' . __("In the paths to files conforming to the rules specified below, a domain will be replaced with a personal domain.", "gcore_translate") . '</p>
    188180                </td>
    189181            </tr>           
    190182            <tr class="form-field form-required">
    191                 <td scope="row"><label for="user_login">' . esc_html( __( 'Personal domain (for configuring CNAME)', 'gcore_translate' ) ) . '</label></td>
    192                 <td>
    193                     <input type="text" class="g-d g-c" id="gcore_cdn_url" data-t="url" data-o="gcore_cdn_url" ' . esc_html( $gcore_cdn_disabled ) . ' value="' . esc_url( $gcore_cdn_url ) . '" placeholder="' . esc_html( __( 'Example', 'gcore_translate' ) ) . ': https://cdn.example.com/">
    194                     <p class="description" id="tagline-description">' . esc_html( __( 'Specify the personal domain with a scheme corresponding to the one specified in Gcore control panel. If you are using a domain in your zone, make sure that this domain is added in the DNS provider settings.', 'gcore_translate' ) ) . '</p>
     183                <td scope="row"><label for="user_login">' . __("Personal domain (for configuring CNAME)", "gcore_translate") . '</label></td>
     184                <td>
     185                    <input type="text" class="g-d g-c" id="gcore_cdn_url" data-t="url" data-o="gcore_cdn_url" ' . $gcore_cdn_disabled . ' value="' . $gcore_cdn_url . '" placeholder="' . __("Example", "gcore_translate") . ': https://cdn.example.com/">
     186                    <p class="description" id="tagline-description">' . __("Specify the personal domain with a scheme corresponding to the one specified in Gcore control panel. If you are using a domain in your zone, make sure that this domain is added in the DNS provider settings.", "gcore_translate") . '</p>
    195187                </td>
    196188            </tr>
    197189            <tr>
    198190                <td></td>
    199                 <td style="text-align: right"><a href="' . esc_url( $admin_url ) . 'admin.php?page=gcore_labs&tab=types" class="button-gcore">' . esc_html( __( 'Next', 'gcore_translate' ) ) . '</a></td>
     191                <td style="text-align: right"><a href="' . $admin_url . 'admin.php?page=gcore_labs&tab=types" class="button-gcore">' . __("Next", "gcore_translate") . '</a></td>
    200192            </tr>
    201193        </table>
    202194';
    203195}
    204 if ( 'types' === $get_tab ) {
    205     $data .= '<div class="clear"></div>
    206         <p class="description" style="margin:15px 0 0 5px">' . esc_html( __( 'Specify the types of files you want to distribute via CDN.', 'gcore_translate' ) ) . '</p>
    207         <table class="form-table" style="max-width: 600px;">
    208             <tr class="form-field form-required">
    209                 <td>
    210                     <label class="el-checkbox el-checkbox-sm">
    211                         <input id="gcore_type_image" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_type_image" value="1" ' . esc_html( $gcore_type_image_checked ) . '>
    212                         <span class="el-checkbox-style  pull-right"></span>
    213                         <span class="margin-r">' . esc_html( __( 'Type Images', 'gcore_translate' ) ) . '</span>
     196if ($get_tab == "types") {
     197    $data .= '<div class="clear"></div>
     198        <p class="description" style="margin:15px 0 0 5px">' . __("Specify the types of files you want to distribute via CDN.", "gcore_translate") . '</p>
     199        <table class="form-table" style="max-width: 600px;">
     200            <tr class="form-field form-required">
     201                <td>
     202                    <label class="el-checkbox el-checkbox-sm">
     203                        <input id="gcore_type_image" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_type_image" value="1" ' . $gcore_type_image_checked . '>
     204                        <span class="el-checkbox-style  pull-right"></span>
     205                        <span class="margin-r">' . __("Type Images", "gcore_translate") . '</span>
    214206                    </label>   
    215207                </td>             
    216208                <td>
    217209                    <label class="el-checkbox el-checkbox-sm">
    218                         <input id="gcore_type_video" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_type_video" value="1" ' . esc_html( $gcore_type_video_checked ) . '>
    219                         <span class="el-checkbox-style  pull-right"></span>
    220                         <span class="margin-r">' . esc_html( __( 'Type Video', 'gcore_translate' ) ) . '</span>
     210                        <input id="gcore_type_video" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_type_video" value="1" ' . $gcore_type_video_checked . '>
     211                        <span class="el-checkbox-style  pull-right"></span>
     212                        <span class="margin-r">' . __("Type Video", "gcore_translate") . '</span>
    221213                    </label>               
    222214                </td>
    223215                <td>
    224216                    <label class="el-checkbox el-checkbox-sm">
    225                         <input id="gcore_type_audio" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_type_audio" value="1" ' . esc_html( $gcore_type_audio_checked ) . '>
    226                         <span class="el-checkbox-style  pull-right"></span>
    227                         <span class="margin-r">' . esc_html( __( 'Type Audio', 'gcore_translate' ) ) . '</span>
    228                     </label>
    229                 </td>
    230             </tr>
    231             <tr class="form-field form-required">
    232                 <td>
    233                     <label class="el-checkbox el-checkbox-sm">
    234                         <input id="gcore_type_js" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_type_js" type="checkbox" value="1" ' . esc_html( $gcore_type_js_checked ) . '>
    235                         <span class="el-checkbox-style  pull-right"></span>
    236                         <span class="margin-r">' . esc_html( __( 'Type JS', 'gcore_translate' ) ) . '</span>
    237                     </label>
    238                 </td>
    239                 <td>
    240                     <label class="el-checkbox el-checkbox-sm">
    241                         <input id="gcore_type_css" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_type_css" type="checkbox" value="1" ' . esc_html( $gcore_type_css_checked ) . '>
    242                         <span class="el-checkbox-style  pull-right"></span>
    243                         <span class="margin-r">' . esc_html( __( 'Type CSS', 'gcore_translate' ) ) . '</span>
    244                     </label>
    245                 </td>
    246                 <td>
    247                     <label class="el-checkbox el-checkbox-sm">
    248                         <input id="gcore_type_archive" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_type_archive" type="checkbox" value="1" ' . esc_html( $gcore_type_archive_checked ) . '>
    249                         <span class="el-checkbox-style  pull-right"></span>
    250                         <span class="margin-r">' . esc_html( __( 'Type Archive', 'gcore_translate' ) ) . '</span>
     217                        <input id="gcore_type_audio" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_type_audio" value="1" ' . $gcore_type_audio_checked . '>
     218                        <span class="el-checkbox-style  pull-right"></span>
     219                        <span class="margin-r">' . __("Type Audio", "gcore_translate") . '</span>
     220                    </label>
     221                </td>
     222            </tr>
     223            <tr class="form-field form-required">
     224                <td>
     225                    <label class="el-checkbox el-checkbox-sm">
     226                        <input id="gcore_type_js" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_type_js" type="checkbox" value="1" ' . $gcore_type_js_checked . '>
     227                        <span class="el-checkbox-style  pull-right"></span>
     228                        <span class="margin-r">' . __("Type JS", "gcore_translate") . '</span>
     229                    </label>
     230                </td>
     231                <td>
     232                    <label class="el-checkbox el-checkbox-sm">
     233                        <input id="gcore_type_css" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_type_css" type="checkbox" value="1" ' . $gcore_type_css_checked . '>
     234                        <span class="el-checkbox-style  pull-right"></span>
     235                        <span class="margin-r">' . __("Type CSS", "gcore_translate") . '</span>
     236                    </label>
     237                </td>
     238                <td>
     239                    <label class="el-checkbox el-checkbox-sm">
     240                        <input id="gcore_type_archive" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_type_archive" type="checkbox" value="1" ' . $gcore_type_archive_checked . '>
     241                        <span class="el-checkbox-style  pull-right"></span>
     242                        <span class="margin-r">' . __("Type Archive", "gcore_translate") . '</span>
    251243                    </label>
    252244                </td>
     
    255247                <td colspan="3">
    256248                    <label class="el-switch">
    257                         <input id="gcore_type_advanced" type="checkbox" class="g-c" data-t="checkbox" data-o="gcore_type_advanced" type="checkbox" value="1" ' . esc_html( $gcore_type_advanced_checked ) . '>
     249                        <input id="gcore_type_advanced" type="checkbox" class="g-c" data-t="checkbox" data-o="gcore_type_advanced" type="checkbox" value="1" ' . $gcore_type_advanced_checked . '>
    258250                        <span class="el-switch-style"></span>
    259251                    </label>
    260                     <span class="margin-r">' . esc_html( __( 'Advanced property', 'gcore_translate' ) ) . '</span>               
     252                    <span class="margin-r">' . __("Advanced property", "gcore_translate") . '</span>               
    261253                </td>
    262254            </tr>
    263255        ';
    264     if ( 0 === $gcore_type_advanced ) {
    265         $disabled = 'display:none;';
    266     } else {
    267         $disabled = '';
    268     }
    269     $data .= '
    270         <table class="form-table list-advanced advanced-show" data-t="types" style="max-width: 600px;' . esc_html( $disabled ) . '"></table>
    271         <table class="form-table" style="max-width: 600px;">
    272             <tr>
    273                 <td style="text-align: left"><a href="' . esc_url( $admin_url ) . 'admin.php?page=gcore_labs&tab=main" class="button-gcore">' . esc_html( __( 'Previous', 'gcore_translate' ) ) . '</a></td>
    274                 <td style="text-align: right"><a href="' . esc_url( $admin_url ) . 'admin.php?page=gcore_labs&tab=folders" class="button-gcore">' . esc_html( __( 'Next', 'gcore_translate' ) ) . '</a></td>
     256    if ($gcore_type_advanced == 0) $disabled = "display:none;"; else $disabled = '';
     257    $data .= '
     258        <table class="form-table list-advanced advanced-show" data-t="types" style="max-width: 600px;' . $disabled . '"></table>
     259        <table class="form-table" style="max-width: 600px;">
     260            <tr>
     261                <td style="text-align: left"><a href="' . $admin_url . 'admin.php?page=gcore_labs&tab=main" class="button-gcore">' . __("Previous", "gcore_translate") . '</a></td>
     262                <td style="text-align: right"><a href="' . $admin_url . 'admin.php?page=gcore_labs&tab=folders" class="button-gcore">' . __("Next", "gcore_translate") . '</a></td>
    275263            </tr>           
    276264        </table>   
    277265    ';
    278266}
    279 if ( 'folders' === $get_tab ) {
    280     $data .= '<div class="clear"></div>
    281         <p class="description" style="margin:15px 0 0 5px;max-width: 600px;">' . esc_html( __( 'Specify folders containing files you want to distribute via CDN. Please note that only files that match file types specified on the File Types tab will be delivered via CDN.', 'gcore_translate' ) ) . '</p>
    282         <table class="form-table" style="max-width: 600px;">
    283             <tr class="form-field form-required">
    284                 <td>
    285                     <label class="el-checkbox el-checkbox-sm">
    286                         <input id="gcore_folder_templates" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_folder_templates" type="checkbox"  value="1" ' . esc_html( $gcore_folder_templates_checked ) . '>
    287                         <span class="el-checkbox-style  pull-right"></span>
    288                         <span class="margin-r">' . esc_html( __( 'Folder Templates', 'gcore_translate' ) ) . '</span>
     267if ($get_tab == "folders") {
     268    $data .= '<div class="clear"></div>
     269        <p class="description" style="margin:15px 0 0 5px;max-width: 600px;">' . __("Specify folders containing files you want to distribute via CDN. Please note that only files that match file types specified on the File Types tab will be delivered via CDN.", "gcore_translate") . '</p>
     270        <table class="form-table" style="max-width: 600px;">
     271            <tr class="form-field form-required">
     272                <td>
     273                    <label class="el-checkbox el-checkbox-sm">
     274                        <input id="gcore_folder_templates" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_folder_templates" type="checkbox"  value="1" ' . $gcore_folder_templates_checked . '>
     275                        <span class="el-checkbox-style  pull-right"></span>
     276                        <span class="margin-r">' . __("Folder Templates", "gcore_translate") . '</span>
    289277                    </label> 
    290278                </td>
    291279                <td>
    292280                    <label class="el-checkbox el-checkbox-sm">
    293                         <input id="gcore_folder_plugins" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_folder_plugins" type="checkbox" value="1" ' . esc_html( $gcore_folder_plugins_checked ) . '>
    294                         <span class="el-checkbox-style  pull-right"></span>
    295                         <span class="margin-r">' . esc_html( __( 'Folder Plugins', 'gcore_translate' ) ) . '</span>
     281                        <input id="gcore_folder_plugins" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_folder_plugins" type="checkbox" value="1" ' . $gcore_folder_plugins_checked . '>
     282                        <span class="el-checkbox-style  pull-right"></span>
     283                        <span class="margin-r">' . __("Folder Plugins", "gcore_translate") . '</span>
    296284                    </label>
    297285                </td>
     
    300288                        <input id="gcore_folder_content" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_folder_content" type="checkbox" value="1" ' . $gcore_folder_content_checked . '>
    301289                        <span class="el-checkbox-style  pull-right"></span>
    302                         <span class="margin-r">' . esc_html( __( 'Folder Content', 'gcore_translate' ) ) . '</span>
    303                     </label>
    304                 </td>
    305                 <td>
    306                     <label class="el-checkbox el-checkbox-sm">
    307                         <input id="gcore_folder_wp" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_folder_wp" type="checkbox" value="1" ' . esc_html( $gcore_folder_wp_checked ) . '>
    308                         <span class="el-checkbox-style  pull-right"></span>
    309                         <span class="margin-r">' . esc_html( __( 'Folder WordPress', 'gcore_translate' ) ) . '</span>
     290                        <span class="margin-r">' . __("Folder Content", "gcore_translate") . '</span>
     291                    </label>
     292                </td>
     293                <td>
     294                    <label class="el-checkbox el-checkbox-sm">
     295                        <input id="gcore_folder_wp" type="checkbox" class="g-c list-ch" data-t="checkbox" data-o="gcore_folder_wp" type="checkbox" value="1" ' . $gcore_folder_wp_checked . '>
     296                        <span class="el-checkbox-style  pull-right"></span>
     297                        <span class="margin-r">' . __("Folder Wordpress", "gcore_translate") . '</span>
    310298                    </label>
    311299                </td>
     
    314302                <td colspan="4">
    315303                    <label class="el-switch">
    316                         <input id="gcore_folder_advanced" type="checkbox" class="g-c" data-t="checkbox" data-o="gcore_folder_advanced" type="checkbox" value="1" ' . esc_html( $gcore_folder_advanced_checked ) . '>
     304                        <input id="gcore_folder_advanced" type="checkbox" class="g-c" data-t="checkbox" data-o="gcore_folder_advanced" type="checkbox" value="1" ' . $gcore_folder_advanced_checked . '>
    317305                        <span class="el-switch-style"></span>
    318306                    </label>
    319                     <span class="margin-r">' . esc_html( __( 'Advanced property', 'gcore_translate' ) ) . '</span>               
     307                    <span class="margin-r">' . __("Advanced property", "gcore_translate") . '</span>               
    320308                </td>
    321309            </tr>
    322310        </table>
    323311        ';
    324     if ( 0 === $gcore_folder_advanced ) {
    325         $disabled = 'display:none;';
    326     } else {
    327         $disabled = '';
    328     }
    329     $data .= '<table class="form-table list-advanced advanced-show" data-t="folders" style="max-width: 600px;' . esc_html( $disabled ) . '"></table>
    330         <table class="form-table" style="max-width: 600px;">
    331             <tr>
    332                 <td style="text-align: left"><a href="' . esc_url( $admin_url ) . 'admin.php?page=gcore_labs&tab=types" class="button-gcore">' . esc_html( __( 'Previous', 'gcore_translate' ) ) . '</a></td>
    333                 <td style="text-align: right"><a href="' . esc_url( $admin_url ) . 'admin.php?page=gcore_labs&tab=exceptions" class="button-gcore">' . esc_html( __( 'Next', 'gcore_translate' ) ) . '</a></td>
     312    if ($gcore_folder_advanced == 0) $disabled = "display:none;"; else $disabled = '';
     313    $data .= '<table class="form-table list-advanced advanced-show" data-t="folders" style="max-width: 600px;' . $disabled . '"></table>
     314        <table class="form-table" style="max-width: 600px;">
     315            <tr>
     316                <td style="text-align: left"><a href="' . $admin_url . 'admin.php?page=gcore_labs&tab=types" class="button-gcore">' . __("Previous", "gcore_translate") . '</a></td>
     317                <td style="text-align: right"><a href="' . $admin_url . 'admin.php?page=gcore_labs&tab=exceptions" class="button-gcore">' . __("Next", "gcore_translate") . '</a></td>
    334318            </tr>           
    335319        </table>   
    336320    ';
    337321}
    338 if ( 'exceptions' === $get_tab ) {
    339     $data .= '<div class="clear"></div>
    340         <p class="description" style="margin:15px 0 0 5px">' . esc_html( __( 'Specify the URLs you want to add to the exceptions list and not distribute them via CDN.', 'gcore_translate' ) ) . '</p>
    341         <table class="form-table list-advanced advanced-show" data-t="exceptions" style="max-width: 600px;' . esc_html( $disabled ) . '"></table>
    342         <table class="form-table" style="max-width: 600px;">
    343             <tr>
    344                 <td style="text-align: left"><a href="' . esc_url( $admin_url ) . 'admin.php?page=gcore_labs&tab=folders" class="button-gcore">' . esc_html( __( 'Previous', 'gcore_translate' ) ) . '</a></td>
     322if ($get_tab == "exceptions") {
     323    $data .= '<div class="clear"></div>
     324        <p class="description" style="margin:15px 0 0 5px">' . __("Specify the URLs you want to add to the exceptions list and not distribute them via CDN.", "gcore_translate") . '</p>
     325        <table class="form-table list-advanced advanced-show" data-t="exceptions" style="max-width: 600px;' . $disabled . '"></table>
     326        <table class="form-table" style="max-width: 600px;">
     327            <tr>
     328                <td style="text-align: left"><a href="' . $admin_url . 'admin.php?page=gcore_labs&tab=folders" class="button-gcore">' . __("Previous", "gcore_translate") . '</a></td>
    345329                <td></td>
    346330            </tr>           
     
    349333}
    350334
    351 $allowed_tags           = wp_kses_allowed_html( 'post' );
    352 $allowed_tags['input']  = array(
    353     'type'        => true,
    354     'name'        => true,
    355     'value'       => true,
    356     'disabled'    => true,
    357     'checked'     => true,
    358     'readonly'    => true,
    359     'data-e'      => true,
    360     'data-t'      => true,
    361     'data-o'      => true,
    362     'data-type'   => true,
     335$allowed_tags = wp_kses_allowed_html( 'post' );
     336$allowed_tags['input'] = array(
     337    'type' => true,
     338    'name' => true,
     339    'value' => true,
     340    'disabled' => true,
     341    'checked' => true,
     342    'readonly' => true,
     343    'data-e' => true,
     344    'data-t' => true,
     345    'data-o' => true,
     346    'data-type' => true,
    363347    'placeholder' => true,
    364     'id'          => true,
    365     'class'       => true,
    366     'required'    => true,
     348    'id' => true,
     349    'class' => true,
     350    'required' => true,
    367351);
    368352$allowed_tags['select'] = array(
    369     'name'     => true,
    370     'value'    => true,
    371     'id'       => true,
    372     'class'    => true,
     353    'name' => true,
     354    'value' => true,
     355    'id' => true,
     356    'class' => true,
    373357    'required' => true,
    374358);
    375359$allowed_tags['button'] = array(
    376     'value'     => true,
    377     'disabled'  => true,
    378     'type'      => true,
    379     'name'      => true,
    380     'data-e'    => true,
    381     'data-t'    => true,
    382     'data-o'    => true,
    383     'id'        => true,
    384     'class'     => true,
     360    'value' => true,
     361    'disabled' => true,
     362    'type' => true,
     363    'name' => true,
     364    'data-e' => true,
     365    'data-t' => true,
     366    'data-o' => true,
     367    'id' => true,
     368    'class' => true,
    385369    'data-type' => true,
    386370);
     
    388372    'value' => true,
    389373);
    390 add_filter(
    391     'safe_style_css',
    392     function( $styles ) {
    393         $styles[] = 'display';
    394         return $styles;
    395     }
    396 );
    397 echo wp_kses( $data, $allowed_tags )
    398 . '<script>const gcoreAmaranMsgSaved = "' . esc_html( __( 'Saved', 'gcore_translate' ) ) . '";const gcoreAmaranMsgDeleted = "' . esc_html( __( 'Deleted', 'gcore_translate' ) ) . '";const gcoreAmaranMsgAdded = "' . esc_html( __( 'Added', 'gcore_translate' ) ) . '";</script>';
     374add_filter( 'safe_style_css', function( $styles ) {
     375    $styles[] = 'display';
     376    return $styles;
     377} );
     378echo wp_kses($data, $allowed_tags)
     379.'<script>const gcoreAmaranMsgSaved = "'.esc_html(__("Saved", "gcore_translate")).'";const gcoreAmaranMsgDeleted = "'.esc_html(__("Deleted", "gcore_translate")).'";const gcoreAmaranMsgAdded = "'.esc_html(__("Added", "gcore_translate")).'";</script>';
  • g-core-labs-cdn/trunk/includes/function.php

    r2907361 r2907407  
    11<?php
    2 /**
    3  * Function
    4  *
    5  * @package gcore
    6  */
    7 
    8 add_action( 'wp_ajax_gcore_save', 'gcore_ajax_save' );
    9 
    10 /**
    11  * Function gcore_ajax_save
    12  *
    13  * @return void
    14  */
    15 function gcore_ajax_save() {
    16     $type = isset( $_POST['t'] ) ? sanitize_text_field( wp_unslash( $_POST['t'] ) ) : null;
    17 
    18     if ( in_array( $type, array( 'url', 'int', 'checkbox' ), true ) ) {
    19         $option = isset( $_POST['o'] ) ? sanitize_text_field( wp_unslash( $_POST['o'] ) ) : null;
    20         if ( 'url' === $type ) {
    21             $value = trim( esc_url_raw( wp_unslash($_POST['v'] ) ) );
    22 
    23             if ( '' !== $value ) {
    24                 $value = trailingslashit( untrailingslashit( $value ) );
    25             }
    26         } elseif ( 'int' === $type ) {
    27             $value = intval( $_POST['v'] );
    28         } elseif ( 'checkbox' === $type ) {
    29             $value = isset( $_POST['v'] ) ? intval( $_POST['v'] ) : 0;
    30             if ( 'gcore_type_advanced' === $option ) {
    31                 update_option( 'gcore_type_image', 0 );
    32                 update_option( 'gcore_type_video', 0 );
    33                 update_option( 'gcore_type_audio', 0 );
    34                 update_option( 'gcore_type_js', 0 );
    35                 update_option( 'gcore_type_css', 0 );
    36                 update_option( 'gcore_type_archive', 0 );
    37             }
    38             if ( 'gcore_folder_advanced' === $option ) {
    39                 update_option( 'gcore_folder_templates', 0 );
    40                 update_option( 'gcore_folder_plugins', 0 );
    41                 update_option( 'gcore_folder_content', 0 );
    42             }
    43         }
    44         update_option( $option, $value );
    45         echo esc_html( $value );
    46     } else {
    47         echo 0;
    48     }
    49     wp_die();
    50 }
    51 
    52 add_action( 'wp_ajax_gcore_advance_param_add', 'gcore_ajax_advance_param_add' );
    53 
    54 /**
    55  * Function gcore_ajax_advance_param_add
    56  *
    57  * @return void
    58  */
    59 function gcore_ajax_advance_param_add() {
    60     $type = isset( $_POST['t'] ) ? sanitize_text_field( wp_unslash( $_POST['t'] ) ) : null;
    61     if ( in_array( $type, array( 'types', 'folders', 'exceptions' ), true ) ) {
    62         $gcore_array = get_option( 'gcore_cdn_' . $type, wp_json_encode( array() ) );
    63         $v           = isset( $_POST['v'] ) ? sanitize_text_field( wp_unslash( $_POST['v'] ) ) : null;
    64         $value       = '';
    65         if ( 'types' === $type ) {
    66             $value = preg_replace( '/[^a-zA-Z0-9]/ui', '', strtolower( trim( $v ) ) );
    67         } elseif ( 'folders' === $type ) {
    68             $value = trim( $v );
    69         } elseif ( 'exceptions' === $type ) {
    70             $value = esc_url( trim( $v ) );
    71             $value = explode( '?', $value );
    72             $value = explode( '&', $value[0] );
    73             $value = $value[0];
    74         }
    75 
    76         if ( '' !== $value ) {
    77             if ( 'folders' === $type ) {
    78                 $value = trailingslashit( untrailingslashit( $value ) );
    79                 $first = substr( $value, 0, 1 );
    80                 if ( '/' !== $first ) {
    81                     $value = '/' . $value;
    82                 }
    83             }
    84             if ( '' !== $gcore_array ) {
    85                 $gcore_array = json_decode( $gcore_array, true );
    86             } else {
    87                 $gcore_array = array();
    88             }
    89             array_push( $gcore_array, $value );
    90             $gcore_array = array_unique( $gcore_array );
    91             $gcore_array = wp_json_encode( $gcore_array );
    92             update_option( 'gcore_cdn_' . $type, $gcore_array );
    93             echo 1;
    94         } else {
    95             echo 0;
    96         }
    97     } else {
    98         echo 0;
    99     }
    100     wp_die();
    101 }
    102 
    103 add_action( 'wp_ajax_gcore_advance_param_del', 'gcore_ajax_advance_param_del' );
    104 
    105 /**
    106  * Function gcore_ajax_advance_param_del
    107  *
    108  * @return void
    109  */
    110 function gcore_ajax_advance_param_del() {
    111     $type = isset( $_POST['t'] ) ? sanitize_text_field( wp_unslash( $_POST['t'] ) ) : null;
    112     if ( in_array( $type, array( 'types', 'folders', 'exceptions' ), true ) ) {
    113         $gcore_array = get_option( 'gcore_cdn_' . $type );
    114         $v           = isset( $_POST['v'] ) ? sanitize_text_field( wp_unslash( $_POST['v'] ) ) : null;
    115         $value       = '';
    116         if ( 'types' === $type ) {
    117             $value = preg_replace( '/[^a-zA-Z0-9]/ui', '', strtolower( trim( $v ) ) );
    118         } elseif ( 'folders' === $type ) {
    119             $value = sanitize_text_field( trim( $v ) );
    120         } elseif ( 'exceptions' === $type ) {
    121             $value = sanitize_text_field( esc_url( trim( $v ) ) );
    122             $value = explode( '?', $value );
    123             $value = explode( '&', $value[0] );
    124             $value = $value[0];
    125         }
    126         if ( '' !== $value ) {
    127             if ( 'folders' === $type ) {
    128                 $value = trailingslashit( untrailingslashit( $value ) );
    129                 $first = substr( $value, 0, 1 );
    130                 if ( '/' !== $first ) {
    131                     $value = '/' . $value;
    132                 }
    133             }
    134             if ( '' !== $gcore_array ) {
    135                 $gcore_array = json_decode( $gcore_array, true );
    136                 $k           = array_search( $value, $gcore_array, true );
    137                 if ( false !== $k ) {
    138                     unset( $gcore_array[ $k ] );
    139                     $gcore_array = wp_json_encode( $gcore_array );
    140                     update_option( 'gcore_cdn_' . $type, $gcore_array );
    141                     echo 1;
    142                 } else {
    143                     echo 0;
    144                 }
    145             } else {
    146                 echo 0;
    147             }
    148         } else {
    149             echo 0;
    150         }
    151     } else {
    152         echo 0;
    153     }
    154     wp_die();
    155 }
    156 
    157 add_action( 'wp_ajax_gcore_advance_param_show', 'gcore_ajax_advance_param_show' );
    158 /**
    159  * Function gcore_ajax_advance_param_show
    160  *
    161  * @return void
    162  */
    163 function gcore_ajax_advance_param_show() {
    164     $type = isset( $_POST['t'] ) ? sanitize_text_field( wp_unslash( $_POST['t'] ) ) : null;
    165     $data = '';
    166     if ( in_array( $type, array( 'types', 'folders', 'exceptions' ), true ) ) {
    167 
    168         $gcore_array = get_option( 'gcore_cdn_' . $type );
    169         $gcore_array = json_decode( $gcore_array, true );
    170         if ( '' === $gcore_array ) {
    171             $gcore_array = array();
    172         }
    173         $example = '';
    174         if ( 'types' === $type ) {
    175             $example = 'jpg';
    176         } elseif ( 'folders' === $type ) {
    177             $example = '/wp-content/uploads/';
    178         } elseif ( 'exceptions' === $type ) {
    179             $example = 'https://example.com/exeptions-page.html';
    180         }
    181 
    182         foreach ( $gcore_array as $element ) {
    183             $data .= '<tr class="form-field form-required">
     2
     3add_action('wp_ajax_gcore_save', 'gcore_ajax_save');
     4function gcore_ajax_save()
     5{
     6    $type = sanitize_text_field($_POST['t']);
     7    if (in_array($_POST['t'], ['url', 'int', 'checkbox'])) {
     8        $value = '';
     9        $option = sanitize_text_field($_POST['o']);
     10        if ($type == 'url') {
     11            $value = sanitize_text_field(esc_url(trim($_POST['v'])));
     12            if ($value != '') {
     13                $value = trailingslashit(untrailingslashit($value));
     14            }
     15        } elseif ($type == 'int') {
     16            $value = intval(sanitize_text_field($_POST['v']));
     17        } elseif ($type == 'checkbox') {
     18            $value = intval(sanitize_text_field($_POST['v']));
     19            if ($option == 'gcore_type_advanced') {
     20                update_option('gcore_type_image', 0);
     21                update_option('gcore_type_video', 0);
     22                update_option('gcore_type_audio', 0);
     23                update_option('gcore_type_js', 0);
     24                update_option('gcore_type_css', 0);
     25                update_option('gcore_type_archive', 0);
     26            }
     27            if ($option == 'gcore_folder_advanced') {
     28                update_option('gcore_folder_templates', 0);
     29                update_option('gcore_folder_plugins', 0);
     30                update_option('gcore_folder_content', 0);
     31            }
     32        }
     33        update_option($option, $value);
     34        echo esc_html($value);
     35    } else {
     36        echo 0;
     37    }
     38    wp_die();
     39}
     40
     41add_action('wp_ajax_gcore_advance_param_add', 'gcore_ajax_advance_param_add');
     42function gcore_ajax_advance_param_add()
     43{
     44    $type = sanitize_text_field($_POST['t']);
     45    if (in_array($type, ['types', 'folders', 'exceptions'])) {
     46        $gcore_array = get_option('gcore_cdn_' . $type);
     47        $value = '';
     48        if($type == "types") {
     49            $value = preg_replace('/[^a-zA-Z0-9]/ui', '', strtolower(trim($_POST['v'])));
     50        } elseif($type == "folders") {
     51            $value = sanitize_text_field(trim($_POST['v']));
     52        } elseif($type == "exceptions") {
     53            $value = sanitize_text_field(esc_url(trim($_POST['v'])));
     54            $value = explode("?", $value);
     55            $value = explode("&", $value[0]);
     56            $value = $value[0];
     57        }
     58        if ($value != '') {
     59            if($type == "folders") {
     60                $value = trailingslashit(untrailingslashit($value));
     61                $first = substr($value, 0, 1);
     62                if ($first != "/") {
     63                    $value = "/" . $value;
     64                }
     65            }
     66            if ($gcore_array != '') {
     67                $gcore_array = json_decode($gcore_array, true);
     68            } else {
     69                $gcore_array = [];
     70            }
     71            array_push($gcore_array, $value);
     72            $gcore_array = array_unique($gcore_array);
     73            $gcore_array = json_encode($gcore_array);
     74            update_option('gcore_cdn_' . $type, $gcore_array);
     75            echo 1;
     76        } else {
     77            echo 0;
     78        }
     79    } else {
     80        echo 0;
     81    }
     82    wp_die();
     83}
     84
     85add_action('wp_ajax_gcore_advance_param_del', 'gcore_ajax_advance_param_del');
     86function gcore_ajax_advance_param_del()
     87{
     88    $type = sanitize_text_field($_POST['t']);
     89    if (in_array($type, ['types', 'folders', 'exceptions'])) {
     90        $gcore_array = get_option('gcore_cdn_' . $type);
     91        $value = '';
     92        if($type == "types") {
     93            $value = preg_replace('/[^a-zA-Z0-9]/ui', '', strtolower(trim($_POST['v'])));
     94        } elseif($type == "folders") {
     95            $value = sanitize_text_field(trim($_POST['v']));
     96        } elseif($type == "exceptions") {
     97            $value = sanitize_text_field(esc_url(trim($_POST['v'])));
     98            $value = explode("?", $value);
     99            $value = explode("&", $value[0]);
     100            $value = $value[0];
     101        }
     102        if ($value != '') {
     103            if($type == "folders") {
     104                $value = trailingslashit(untrailingslashit($value));
     105                $first = substr($value, 0, 1);
     106                if ($first != "/") {
     107                    $value = "/" . $value;
     108                }
     109            }
     110            if ($gcore_array != '') {
     111                $gcore_array = json_decode($gcore_array, true);
     112                if (($k = array_search($value, $gcore_array)) !== false) {
     113                    unset($gcore_array[$k]);
     114                    $gcore_array = json_encode($gcore_array);
     115                    update_option('gcore_cdn_' . $type, $gcore_array);
     116                    echo 1;
     117                } else {
     118                    echo 0;
     119                }
     120            } else {
     121                echo 0;
     122            }
     123        } else {
     124            echo 0;
     125        }
     126    } else {
     127        echo 0;
     128    }
     129    wp_die();
     130}
     131
     132add_action('wp_ajax_gcore_advance_param_show', 'gcore_ajax_advance_param_show');
     133function gcore_ajax_advance_param_show()
     134{
     135
     136    $type = sanitize_text_field($_POST['t']);
     137    $data = "";
     138    if (in_array($type, ['types', 'folders', 'exceptions'])) {
     139
     140        $gcore_array = get_option('gcore_cdn_' . $type);
     141        $gcore_array = json_decode($gcore_array, true);
     142        if ($gcore_array == '') {
     143            $gcore_array = [];
     144        }
     145        $example = '';
     146        if ($type == 'types') {
     147            $example = 'jpg';
     148        } elseif ($type == 'folders') {
     149            $example = '/wp-content/uploads/';
     150        } elseif ($type == 'exceptions') {
     151            $example = 'https://example.com/exepstions-page.html';
     152        }
     153
     154        foreach ($gcore_array as $element) {
     155            $data .= '<tr class="form-field form-required">
    184156                <td scope="row">' . $element . '</td>
    185                 <td><button type="button" class="button-gcore g-delete" data-e="' . $element . '" data-type="' . $type . '">' . __( 'Delete', 'gcore_translate' ) . '</button></td>
     157                <td><button type="button" class="button-gcore g-delete" data-e="' . $element . '" data-type="' . $type . '">' . __("Delete", "gcore_translate") . '</button></td>
    186158            </tr>';
    187         }
    188         $data .= '<tr class="form-field form-required">
    189                 <td scope="row"><input type="text" class="new-' . $type . '" placeholder="' . __( 'Example', 'gcore_translate' ) . ': ' . $example . '"></td>
    190             <td><input type="button" data-type="' . $type . '" class="button-gcore g-add" value="' . __( 'Add', 'gcore_translate' ) . '"></td>
     159        }
     160        $data .= '<tr class="form-field form-required">
     161                <td scope="row"><input type="text" class="new-' . $type . '" placeholder="' . __("Example", "gcore_translate") . ': ' . $example . '"></td>
     162            <td><input type="button" data-type="' . $type . '" class="button-gcore g-add" value="' . __("Add", "gcore_translate") . '"></td>
    191163            </tr>
    192164        ';
    193     }
    194     $allowed_tags           = wp_kses_allowed_html( 'post' );
    195     $allowed_tags['input']  = array(
    196         'type'        => true,
    197         'name'        => true,
    198         'value'       => true,
    199         'checked'     => true,
    200         'readonly'    => true,
    201         'data-e'      => true,
    202         'disabled'    => true,
    203         'data-t'      => true,
    204         'data-o'      => true,
    205         'data-type'   => true,
    206         'placeholder' => true,
    207         'id'          => true,
    208         'class'       => true,
    209         'required'    => true,
    210     );
    211     $allowed_tags['select'] = array(
    212         'name'     => true,
    213         'value'    => true,
    214         'id'       => true,
    215         'class'    => true,
    216         'required' => true,
    217     );
    218     $allowed_tags['button'] = array(
    219         'value'     => true,
    220         'disabled'  => true,
    221         'type'      => true,
    222         'name'      => true,
    223         'data-e'    => true,
    224         'data-t'    => true,
    225         'data-o'    => true,
    226         'id'        => true,
    227         'class'     => true,
    228         'data-type' => true,
    229     );
    230     $allowed_tags['option'] = array(
    231         'value' => true,
    232     );
    233     add_filter(
    234         'safe_style_css',
    235         function( $styles ) {
    236             $styles[] = 'display';
    237             return $styles;
    238         }
    239     );
    240     echo wp_kses( $data, $allowed_tags );
    241     wp_die();
    242 }
     165    }
     166    $allowed_tags = wp_kses_allowed_html( 'post' );
     167    $allowed_tags['input'] = array(
     168        'type' => true,
     169        'name' => true,
     170        'value' => true,
     171        'disabled' => true,
     172        'checked' => true,
     173        'readonly' => true,
     174        'data-e' => true,
     175        'data-t' => true,
     176        'data-o' => true,
     177        'data-type' => true,
     178        'placeholder' => true,
     179        'id' => true,
     180        'class' => true,
     181        'required' => true,
     182    );
     183    $allowed_tags['select'] = array(
     184        'name' => true,
     185        'value' => true,
     186        'id' => true,
     187        'class' => true,
     188        'required' => true,
     189    );
     190    $allowed_tags['button'] = array(
     191        'value' => true,
     192        'disabled' => true,
     193        'type' => true,
     194        'name' => true,
     195        'data-e' => true,
     196        'data-t' => true,
     197        'data-o' => true,
     198        'id' => true,
     199        'class' => true,
     200        'data-type' => true,
     201    );
     202    $allowed_tags['option'] = array(
     203        'value' => true,
     204    );
     205    add_filter( 'safe_style_css', function( $styles ) {
     206        $styles[] = 'display';
     207        return $styles;
     208    } );
     209    echo wp_kses($data, $allowed_tags);
     210    wp_die();
     211}
  • g-core-labs-cdn/trunk/includes/help.php

    r2907361 r2907407  
    11<?php
    2 /**
    3  * Help
    4  *
    5  * @package GCORE
    6  */
    72
    8 $gcore_title = esc_html( __( 'Help', 'gcore_translate' ) );
     3$title = __('Help', 'gcore_translate');
    94
    10 echo wp_kses( '<h1>' . $gcore_title . '</h1><p>' . __( 'If you have questions regarding CDN integration, please email us at', 'gcore_translate' ) . ' <a href="mailto:"' . sanitize_email( '[email protected]' ) . '">' . sanitize_email( '[email protected]' ) . '</a></p>', wp_kses_allowed_html( 'post' ) );
     5echo '<h1>' . esc_html($title) . '</h1>
     6<p>' . __('If you have questions regarding CDN integration, please email us at', 'gcore_translate') . ' ' . '<a href="mailto:"'. sanitize_email('[email protected]') . '">'. sanitize_email('[email protected]') . '</a></p>';
  • g-core-labs-cdn/trunk/includes/stream.php

    r2907361 r2907407  
    1 <?php
    2 /**
    3  * Stream
    4  *
    5  * @package GCORE
    6  */
    7 
    8 ?>
    9 <h1><?php echo esc_html( _e( 'Streaming', 'gcore_translate' ) ); ?></h1>
     1<h1><?php echo esc_html(_e("Streaming", "gcore_translate")); ?></h1>
    102<p>Soon</p>
  • g-core-labs-cdn/trunk/index.php

    r2907361 r2907407  
    1010
    1111
    12 $plugin_dir = dirname( __FILE__ );
     12$plugin_dir = dirname(__FILE__);
    1313
    14 require $plugin_dir . '/includes/function.php';
     14include($plugin_dir . "/includes/function.php");
    1515
    16 add_action( 'admin_menu', 'g_core_labs_admin_menu' );
     16add_action('admin_menu', 'g_core_labs_admin_menu');
    1717
    18 /**
    19  * Function g_core_labs_admin_menu
    20  *
    21  * @return void
    22  */
    23 function g_core_labs_admin_menu() {
    24     add_menu_page( 'Gcore', 'Gcore', 'manage_options', 'gcore_labs', 'g_core_labs_cdn_page', plugin_dir_url( __FILE__ ) . 'plugin-icon.png' );
    25     add_submenu_page( 'gcore_labs', '' . esc_html( __( 'CDN settings', 'gcore_translate' ) ) . '', '' . esc_html( __( 'CDN settings', 'gcore_translate' ) ) . '', 'manage_options', 'gcore_labs', 'g_core_labs_cdn_page' );
    26     add_submenu_page( 'gcore_labs', '' . esc_html( __( 'Help', 'gcore_translate' ) ) . '', '' . esc_html( __( 'Help', 'gcore_translate' ) ) . '', 'manage_options', 'gcore_labs_help', 'g_core_labs_help_page' );
    27     add_submenu_page( 'gcore_labs', '' . esc_html( __( 'About', 'gcore_translate' ) ) . '', '' . esc_html( __( 'About', 'gcore_translate' ) ) . '', 'manage_options', 'gcore_labs_about', 'g_core_labs_about_page' );
     18function g_core_labs_admin_menu()
     19{
     20
     21    add_menu_page("Gcore", "Gcore", 'manage_options', 'gcore_labs', 'g_core_labs_cdn_page', plugin_dir_url(__FILE__) . 'plugin-icon.png');
     22    add_submenu_page('gcore_labs', '' . __("CDN settings", "gcore_translate") . '', '' . __("CDN settings", "gcore_translate") . '', 'manage_options', 'gcore_labs', 'g_core_labs_cdn_page');
     23    //add_submenu_page('gcore_labs', 'Настройки Streaming', 'Настройки Streaming', 'manage_options', 'gcore_labs_stream', 'g_core_labs_stream_page');
     24    add_submenu_page('gcore_labs', '' . __("Help", "gcore_translate") . '', '' . __("Help", "gcore_translate") . '', 'manage_options', 'gcore_labs_help', 'g_core_labs_help_page');
     25    add_submenu_page('gcore_labs', '' . __("About", "gcore_translate") . '', '' . __("About", "gcore_translate") . '', 'manage_options', 'gcore_labs_about', 'g_core_labs_about_page');
    2826}
    2927
    30 /**
    31  * Function g_core_labs_cdn_page
    32  *
    33  * @return void
    34  */
    35 function g_core_labs_cdn_page() {
    36     $plugin_dir = dirname( __FILE__ );
    37     wp_enqueue_style( 'g_core_css-amaran', plugins_url( 'css/amaran.min.css', __FILE__ ), array(), '1.0' );
    38     wp_enqueue_style( 'g_core_css-animate', plugins_url( 'css/animate.min.css', __FILE__ ), array(), '1.0' );
    39     wp_enqueue_style( 'g_core_css-checkbox', plugins_url( 'css/checkbox.min.css', __FILE__ ), array(), '1.0' );
    40     wp_enqueue_style( 'g_core_css-custom', plugins_url( 'css/custom.css', __FILE__ ), array(), '1.0' );
    41     wp_enqueue_script( 'g_core_script-amaran', plugin_dir_url( __FILE__ ) . 'js/jquery.amaran.min.js', array(), '1.0' );
    42     wp_enqueue_script( 'g_core_script', plugin_dir_url( __FILE__ ) . 'js/scripts.js', array(), '1.0' );
     28function g_core_labs_cdn_page()
     29{
     30    $plugin_dir = dirname(__FILE__);
     31    wp_enqueue_style('g_core_css-amaran', plugins_url('css/amaran.min.css', __FILE__));
     32    wp_enqueue_style('g_core_css-animate', plugins_url('css/animate.min.css', __FILE__));
     33    wp_enqueue_style('g_core_css-checkbox', plugins_url('css/checkbox.min.css', __FILE__));
     34    wp_enqueue_style('g_core_css-custom', plugins_url('css/custom.css', __FILE__));
     35    wp_enqueue_script('g_core_script-amaran', plugin_dir_url(__FILE__) . 'js/jquery.amaran.min.js');
     36    wp_enqueue_script('g_core_script', plugin_dir_url(__FILE__) . 'js/scripts.js');
    4337
    44     require $plugin_dir . '/includes/admin.php';
     38    require($plugin_dir . "/includes/admin.php");
    4539}
    4640
    47 /**
    48  * Function g_core_labs_stream_page
    49  *
    50  * @return void
    51  */
    52 function g_core_labs_stream_page() {
    53     $plugin_dir = dirname( __FILE__ );
    54     require $plugin_dir . '/includes/stream.php';
     41function g_core_labs_stream_page()
     42{
     43    $plugin_dir = dirname(__FILE__);
     44    require($plugin_dir . "/includes/stream.php");
    5545}
    5646
    57 /**
    58  * Function g_core_labs_help_page
    59  *
    60  * @return void
    61  */
    62 function g_core_labs_help_page() {
    63     $plugin_dir = dirname( __FILE__ );
    64     require $plugin_dir . '/includes/help.php';
     47function g_core_labs_help_page()
     48{
     49    $plugin_dir = dirname(__FILE__);
     50    require($plugin_dir . "/includes/help.php");
    6551}
    6652
    67 /**
    68  * Function g_core_labs_about_page
    69  *
    70  * @return void
    71  */
    72 function g_core_labs_about_page() {
    73      $plugin_dir = dirname( __FILE__ );
    74     require $plugin_dir . '/includes/about.php';
     53function g_core_labs_about_page()
     54{
     55    $plugin_dir = dirname(__FILE__);
     56    require($plugin_dir . "/includes/about.php");
    7557}
    7658
    77 /**
    78  * Function g_core_labs_activate
    79  *
    80  * @param string $template Required.
    81  *
    82  * @return mixed|string
    83  */
    84 function g_core_labs_activate( $template ) {
    85     if ( $template ) {
    86         include plugin_dir_path( __FILE__ ) . 'includes/front-cdn.php';
    87         $template = plugin_dir_path( __FILE__ ) . 'includes/blank_tpl.php';
    88     }
     59function g_core_labs_activate($template)
     60{
    8961
    90     return $template;
     62    if ($template) {
     63        include(plugin_dir_path(__FILE__) . 'includes/front_cdn.php');
     64        $template = plugin_dir_path(__FILE__) . 'includes/blank_tpl.php';
     65    }
     66
     67    return $template;
    9168}
    9269
    93 /**
    94  * Function g_core_labs_init_action
    95  *
    96  * @return void
    97  */
    98 function g_core_labs_init_action() {
    99     load_plugin_textdomain( 'gcore_translate', false, basename( dirname( __FILE__ ) ) . '/languages' );
     70
     71function g_core_labs_init_action()
     72{
     73
     74    load_plugin_textdomain('gcore_translate', false, basename(dirname(__FILE__)) . '/languages');
    10075
    10176}
    10277
    103 add_action( 'init', 'g_core_labs_init_action' );
     78add_action('init', 'g_core_labs_init_action');
     79/*
     80//add_action( 'plugins_loaded', 'true_load_plugin_textdomain' );
    10481
    105 add_filter( 'template_include', 'g_core_labs_activate', 999 );
     82load_theme_textdomain('gcore_translate', __DIR__ . '/languages');
     83*/
     84add_filter('template_include', 'g_core_labs_activate', 999);
    10685
    107 register_activation_hook( __FILE__, 'g_core_labs' );
    108 
    109 /**
    110  * Function g_core_labs
    111  *
    112  * @return void
    113  */
    114 function g_core_labs() {
    115     update_option( 'gcore_type_image', 1 );
    116     update_option( 'gcore_type_video', 1 );
    117     update_option( 'gcore_type_audio', 1 );
    118     update_option( 'gcore_type_js', 1 );
    119     update_option( 'gcore_type_css', 1 );
    120     update_option( 'gcore_type_archive', 1 );
    121     update_option( 'gcore_folder_templates', 1 );
    122     update_option( 'gcore_folder_plugins', 1 );
    123     update_option( 'gcore_folder_content', 1 );
    124     update_option( 'gcore_folder_wp', 1 );
    125     update_option( 'gcore_type_advanced', 0 );
    126     update_option( 'gcore_folder_advanced', 0 );
     86register_activation_hook(__FILE__, 'g_core_labs');
     87function g_core_labs()
     88{
     89    update_option('gcore_type_image', 1);
     90    update_option('gcore_type_video', 1);
     91    update_option('gcore_type_audio', 1);
     92    update_option('gcore_type_js', 1);
     93    update_option('gcore_type_css', 1);
     94    update_option('gcore_type_archive', 1);
     95    update_option('gcore_folder_templates', 1);
     96    update_option('gcore_folder_plugins', 1);
     97    update_option('gcore_folder_content', 1);
     98    update_option('gcore_folder_wp', 1);
     99    update_option('gcore_type_advanced', 0);
     100    update_option('gcore_folder_advanced', 0);
    127101}
  • g-core-labs-cdn/trunk/js/scripts.js

    r2907361 r2907407  
    1 jQuery(
    2     function () {
    3         jQuery( "#gcore_enable_cdn" ).change(
    4             function () {
    5                 if (this.checked) {
    6                     jQuery( '.g-d' ).prop( 'disabled', false );
    7                     jQuery( 'a.g-d' ).each(
    8                         function (index) {
    9                             temp_v = jQuery( this ).data( 'href' );
    10                             jQuery( this ).prop( 'href', temp_v ).css( 'opacity', '1' );
    11                         }
    12                     );
    13                 } else {
    14                     jQuery( '.g-d' ).prop( 'disabled', true );
    15                     jQuery( 'a.g-d' ).prop( 'href', "#" ).css( 'opacity', '0.3' );
    16                 }
    17             }
    18         );
    19         if (jQuery( ".advanced-show" ).length) {
    20             t = jQuery( '.advanced-show' ).data( 't' );
    21             show_advanced( t );
    22         }
    23     }
    24 );
     1jQuery(function () {
     2    jQuery("#gcore_enable_cdn").change(function () {
     3        if (this.checked) {
     4            jQuery('.g-d').prop('disabled', false);
     5            jQuery('a.g-d').each(function (index) {
     6                temp_v = jQuery(this).data('href');
     7                jQuery(this).prop('href', temp_v).css('opacity', '1');
     8            });
     9        } else {
     10            jQuery('.g-d').prop('disabled', true);
     11            jQuery('a.g-d').prop('href', "#").css('opacity', '0.3');
     12        }
     13    });
     14    if (jQuery(".advanced-show").length) {
     15        t = jQuery('.advanced-show').data('t');
     16        show_advanced(t);
     17    }
     18});
    2519
    2620function show_advanced(t) {
    27     var data = {
    28         action: 'gcore_advance_param_show',
    29         t: t
    30     };
    31     jQuery.post(
    32         ajaxurl,
    33         data,
    34         function (response) {
    35             jQuery( '.advanced-show' ).html( response );
    36         }
    37     );
     21    var data = {
     22        action: 'gcore_advance_param_show',
     23        t: t
     24    };
     25    jQuery.post(ajaxurl, data, function (response) {
     26        jQuery('.advanced-show').html(response);
     27    });
    3828}
    3929
    40 jQuery( '.g-c' ).bind(
    41     "change",
    42     function () {
    43         t = jQuery( this ).data( 't' );
    44         o = jQuery( this ).data( 'o' );
    45         if (t == 'checkbox') {
    46             if (jQuery( this ).is( ':checked' )) {
    47                 v = 1;
    48             } else {
    49                 v = 0;
    50             }
    51             if (o == 'gcore_folder_advanced' || o == 'gcore_type_advanced') {
    52                 if (v == 1) {
    53                     jQuery( '.list-ch' ).prop( 'disabled', true ).prop( 'checked', false );
    54                     jQuery( '.list-advanced' ).show();
    55                 } else {
    56                     jQuery( '.list-ch' ).prop( 'disabled', false );
    57                     jQuery( '.list-advanced' ).hide();
    58                 }
    59             }
    60         } else {
    61             v = jQuery( this ).val();
    62         }
    63         var data = {
    64             action: 'gcore_save',
    65             v: v,
    66             o: o,
    67             t: t
    68         };
    69         jQuery.post(
    70             ajaxurl,
    71             data,
    72             function (response) {
    73                 msg( 'save' );
    74             }
    75         );
    76     }
    77 );
     30jQuery('.g-c').bind("change", function () {
     31    t = jQuery(this).data('t');
     32    o = jQuery(this).data('o');
     33    if (t == 'checkbox') {
     34        if (jQuery(this).is(':checked')) {
     35            v = 1;
     36        } else {
     37            v = 0;
     38        }
     39        if (o == 'gcore_folder_advanced' || o == 'gcore_type_advanced') {
     40            if (v == 1) {
     41                jQuery('.list-ch').prop('disabled', true).prop('checked', false);
     42                jQuery('.list-advanced').show();
     43            } else {
     44                jQuery('.list-ch').prop('disabled', false);
     45                jQuery('.list-advanced').hide();
     46            }
     47        }
     48    } else {
     49        v = jQuery(this).val();
     50    }
     51    var data = {
     52        action: 'gcore_save',
     53        v: v,
     54        o: o,
     55        t: t
     56    };
     57    jQuery.post(ajaxurl, data, function (response) {
     58        msg('save');
     59    });
     60});
    7861
    79 jQuery( '.advanced-show' ).on(
    80     'click',
    81     'input.g-add',
    82     function () {
    83         t = jQuery( this ).data( 'type' );
    84         v = jQuery( '.new-' + t ).val();
    85         if (v != '') {
    86             var data = {
    87                 action: 'gcore_advance_param_add',
    88                 v: v,
    89                 t: t
    90             };
    91             jQuery.post(
    92                 ajaxurl,
    93                 data,
    94                 function (response) {
    95                     if (response == 1) {
    96                         msg( 'add' );
    97                         show_advanced( t )
    98                     }
    99                 }
    100             );
    101         }
    102     }
    103 );
     62jQuery('.advanced-show').on('click', 'input.g-add', function () {
     63    t = jQuery(this).data('type');
     64    v = jQuery('.new-' + t).val();
     65    if (v != '') {
     66        var data = {
     67            action: 'gcore_advance_param_add',
     68            v: v,
     69            t: t
     70        };
     71        jQuery.post(ajaxurl, data, function (response) {
     72            if (response == 1) {
     73                msg('add');
     74                show_advanced(t)
     75            }
     76        });
     77    }
     78});
    10479
    10580function msg(t) {
    106     if (t == "save") {
    107         jQuery.amaran( {"message":gcoreAmaranMsgSaved} );
    108     }
    109     if (t == "del") {
    110         jQuery.amaran( {"message":gcoreAmaranMsgDeleted} );
    111     }
    112     if (t == "add") {
    113         jQuery.amaran( {"message":gcoreAmaranMsgAdded} );
    114     }
     81    if(t == "save") {
     82        jQuery.amaran({"message":gcoreAmaranMsgSaved});
     83    }
     84    if(t == "del") {
     85        jQuery.amaran({"message":gcoreAmaranMsgDeleted});
     86    }
     87    if(t == "add") {
     88        jQuery.amaran({"message":gcoreAmaranMsgAdded});
     89    }
    11590}
    11691
    117 jQuery( '.advanced-show' ).on(
    118     'click',
    119     'button.g-delete',
    120     function () {
    121         t = jQuery( this ).data( 'type' );
    122         v = jQuery( this ).data( 'e' );
    123         if (v != '') {
    124             var data = {
    125                 action: 'gcore_advance_param_del',
    126                 t: t,
    127                 v: v
    128             };
    129             jQuery.post(
    130                 ajaxurl,
    131                 data,
    132                 function (response) {
    133                     if (response == 1) {
    134                         msg( 'del' );
    135                         show_advanced( t )
    136                     }
    137                 }
    138             );
    139         }
    140     }
    141 );
     92jQuery('.advanced-show').on('click', 'button.g-delete', function () {
     93    t = jQuery(this).data('type');
     94    v = jQuery(this).data('e');
     95    if (v != '') {
     96        var data = {
     97            action: 'gcore_advance_param_del',
     98            t: t,
     99            v: v
     100        };
     101        jQuery.post(ajaxurl, data, function (response) {
     102            if (response == 1) {
     103                msg('del');
     104                show_advanced(t)
     105            }
     106        });
     107    }
     108});
  • g-core-labs-cdn/trunk/uninstall.php

    r2907361 r2907407  
    11<?php
    2 /**
    3  * Uninstall
    4  *
    5  * @package GCORE
    6  */
    7 if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
    8     exit();
    9 }
     2if (!defined('WP_UNINSTALL_PLUGIN'))
     3    exit();
Note: See TracChangeset for help on using the changeset viewer.