function import()
 {
     $response = array('global' => array('error' => 1));
     $Notice = new ThemeNotice();
     $result = $this->download();
     if ($result) {
         $response['global']['error'] = 0;
     } else {
         $Notice->addError(ThemeHelper::getFormName('import_google_font', false), ThemeHelper::esc_html('Cannot import list of fonts'));
         $response['local'] = $Notice->getError();
     }
     $response['global']['notice'] = $Notice->createHTML(THEME_PATH_TEMPLATE . 'notice.php');
     echo json_encode($response);
     exit;
 }
Beispiel #2
0
 function adminOptionPanelSave()
 {
     $option = ThemeHelper::getPostOption();
     ThemeHelper::removeUIndex($option, 'maintenance_mode_user_id');
     $response = array('global' => array('error' => 1));
     $CSS = new ThemeCSS();
     $Blog = new ThemeBlog();
     $Notice = new ThemeNotice();
     $Easing = new ThemeEasing();
     $FancyBox = new ThemeFancybox();
     $Background = new ThemeBackground();
     $Validation = new ThemeValidation($Notice);
     $ResponsiveMode = new ThemeResponsiveMode($this->responsiveMode);
     $media = $ResponsiveMode->getMedia();
     $invalidValue = esc_html__('Invalid value', THEME_DOMAIN);
     /* Main */
     $Validation->notice('isNumber', array($option['header_enable'], 0, 1), array(ThemeHelper::getFormName('header_enable', false), $invalidValue));
     if (!array_key_exists($option['header_background_image_repeat'], $Background->backgroundRepeat)) {
         $Notice->addError(ThemeHelper::getFormName('header_background_image_repeat', false), $invalidValue);
     }
     if (!array_key_exists($option['header_background_image_size_1'], $Background->backgroundSize)) {
         $Notice->addError(ThemeHelper::getFormName('header_background_image_size_1', false), $invalidValue);
     }
     /* Blog */
     if (!in_array($option['blog_sort_field'], array_keys($Blog->sortPostBlogField))) {
         $Notice->addError(ThemeHelper::getFormName('blog_sort_field', false), $invalidValue);
     }
     if (!in_array($option['blog_sort_direction'], array_keys($Blog->sortDirection))) {
         $Notice->addError(ThemeHelper::getFormName('blog_sort_direction', false), $invalidValue);
     }
     $Validation->notice('isNumber', array($option['blog_automatic_excerpt_length'], 0, 999), array(ThemeHelper::getFormName('blog_automatic_excerpt_length', false), $invalidValue));
     /* Post */
     $Validation->notice('isNumber', array($option['post_category_visible'], 0, 1), array(ThemeHelper::getFormName('post_category_visible', false), $invalidValue));
     $Validation->notice('isNumber', array($option['post_author_visible'], 0, 1), array(ThemeHelper::getFormName('post_author_visible', false), $invalidValue));
     $Validation->notice('isNumber', array($option['post_tag_visible'], 0, 1), array(ThemeHelper::getFormName('post_tag_visible', false), $invalidValue));
     $Validation->notice('isNumber', array($option['post_comment_count_visible'], 0, 1), array(ThemeHelper::getFormName('post_comment_count_visible', false), $invalidValue));
     $Validation->notice('isNumber', array($option['post_navigation_visible'], 0, 1), array(ThemeHelper::getFormName('post_navigation_visible', false), $invalidValue));
     /* Plugins / Menu top */
     if (!in_array($option['menu_responsive_mode'], $this->responsiveMode)) {
         $Notice->addError(ThemeHelper::getFormName('menu_responsive_mode', false), $invalidValue);
     }
     $Validation->notice('isNumber', array($option['menu_sticky_enable'], 0, 1), array(ThemeHelper::getFormName('menu_sticky_enable', false), $invalidValue));
     $Validation->notice('isNumber', array($option['menu_hide_scroll_enable'], 0, 1), array(ThemeHelper::getFormName('menu_hide_scroll_enable', false), $invalidValue));
     $Validation->notice('isNumber', array($option['menu_animation_enable'], 0, 1), array(ThemeHelper::getFormName('menu_animation_enable', false), $invalidValue));
     $Validation->notice('isNumber', array($option['menu_animation_speed_open'], 0, 99999), array(ThemeHelper::getFormName('menu_animation_speed_open', false), $invalidValue));
     $Validation->notice('isNumber', array($option['menu_animation_speed_close'], 0, 99999), array(ThemeHelper::getFormName('menu_animation_speed_close', false), $invalidValue));
     $Validation->notice('isNumber', array($option['menu_animation_delay'], 0, 99999), array(ThemeHelper::getFormName('menu_animation_delay', false), $invalidValue));
     $Validation->notice('isNumber', array($option['menu_scroll_animation_enable'], 0, 1), array(ThemeHelper::getFormName('menu_scroll_animation_enable', false), $invalidValue));
     $Validation->notice('isNumber', array($option['menu_scroll_animation_speed'], 0, 99999), array(ThemeHelper::getFormName('menu_scroll_animation_speed', false), $invalidValue));
     if (!in_array($option['menu_scroll_animation_easing'], array_keys($Easing->easingType))) {
         $Notice->addError(ThemeHelper::getFormName('menu_scroll_animation_easing', false), $invalidValue);
     }
     /* Footer */
     $Validation->notice('isNumber', array($option['footer_enable'], 0, 1), array(ThemeHelper::getFormName('footer_enable', false), $invalidValue));
     $Validation->notice('isNumber', array($option['footer_sticky_enable'], 0, 1), array(ThemeHelper::getFormName('footer_sticky_enable', false), $invalidValue));
     $Validation->notice('isNumber', array($option['footer_top_enable'], 0, 1), array(ThemeHelper::getFormName('footer_top_enable', false), $invalidValue));
     if (!array_key_exists($option['footer_top_background_image_repeat'], $Background->backgroundRepeat)) {
         $Notice->addError(ThemeHelper::getFormName('footer_top_background_image_repeat', false), $invalidValue);
     }
     if (!array_key_exists($option['footer_top_background_image_size_1'], $Background->backgroundSize)) {
         $Notice->addError(ThemeHelper::getFormName('footer_top_background_image_size_1', false), $invalidValue);
     }
     $Validation->notice('isNumber', array($option['footer_bottom_enable'], 0, 1), array(ThemeHelper::getFormName('footer_bottom_enable', false), $invalidValue));
     /* Content copying */
     $Validation->notice('isNumber', array($option['right_click_enable'], 0, 1), array(ThemeHelper::getFormName('right_click_enable', false), $invalidValue));
     $Validation->notice('isNumber', array($option['copy_selection_enable'], 0, 1), array(ThemeHelper::getFormName('copy_selection_enable', false), $invalidValue));
     /* Responsive mode */
     $Validation->notice('isNumber', array($option['responsive_mode_enable'], 0, 1), array(ThemeHelper::getFormName('responsive_mode_enable', false), $invalidValue));
     /* Go to page to */
     $Validation->notice('isNumber', array($option['go_to_page_top_enable'], 0, 1), array(ThemeHelper::getFormName('go_to_page_top_enable', false), $invalidValue));
     $Validation->notice('isNotEmpty', array($option['go_to_page_top_hash']), array(ThemeHelper::getFormName('go_to_page_top_hash', false), $invalidValue));
     $Validation->notice('isNumber', array($option['go_to_page_top_animation_enable'], 0, 1), array(ThemeHelper::getFormName('go_to_page_top_animation_enable', false), $invalidValue));
     $Validation->notice('isNumber', array($option['go_to_page_top_animation_duration'], 0, 99999), array(ThemeHelper::getFormName('go_to_page_top_animation_duration', false), $invalidValue));
     if (!in_array($option['go_to_page_top_animation_easing'], array_keys($Easing->easingType))) {
         $Notice->addError(ThemeHelper::getFormName('go_to_page_top_animation_easing', false), $invalidValue);
     }
     /* Font */
     $font = array('base', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6');
     foreach ($font as $value) {
         foreach ($media as $mediaIndex => $mediaValue) {
             $Validation->notice('isNumber', array($option['font_' . $value . '_size_' . $mediaIndex], 1, 100), array(ThemeHelper::getFormName('font_' . $value . '_size_' . $mediaIndex, false), $invalidValue));
         }
         if (!in_array($option['font_' . $value . '_style'], array_keys($CSS->fontStyle))) {
             $Notice->addError(ThemeHelper::getFormName('font_' . $value . '_style', false), $invalidValue);
         }
         if (!in_array($option['font_' . $value . '_weight'], array_keys($CSS->fontWeight))) {
             $Notice->addError(ThemeHelper::getFormName('font_' . $value . '_weight', false), $invalidValue);
         }
     }
     /* Plugin / Fancybox for images */
     $Validation->notice('isNumber', array($option['fancybox_image_padding'], 0, 999), array(ThemeHelper::getFormName('fancybox_image_padding', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_margin'], 0, 999), array(ThemeHelper::getFormName('fancybox_image_margin', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_min_width'], 1, 9999), array(ThemeHelper::getFormName('fancybox_image_min_width', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_min_height'], 1, 9999), array(ThemeHelper::getFormName('fancybox_image_min_height', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_max_width'], 1, 9999), array(ThemeHelper::getFormName('fancybox_image_max_width', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_max_height'], 1, 9999), array(ThemeHelper::getFormName('fancybox_image_max_height', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_helper_button_enable'], 0, 1), array(ThemeHelper::getFormName('fancybox_image_helper_button_enable', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_autoresize'], 0, 1), array(ThemeHelper::getFormName('fancybox_image_autoresize', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_autocenter'], 0, 1), array(ThemeHelper::getFormName('fancybox_image_autocenter', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_fittoview'], 0, 1), array(ThemeHelper::getFormName('fancybox_image_fittoview', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_arrow'], 0, 1), array(ThemeHelper::getFormName('fancybox_image_arrow', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_close_button'], 0, 1), array(ThemeHelper::getFormName('fancybox_image_close_button', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_close_click'], 0, 1), array(ThemeHelper::getFormName('fancybox_image_close_click', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_next_click'], 0, 1), array(ThemeHelper::getFormName('fancybox_image_next_click', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_mouse_wheel'], 0, 1), array(ThemeHelper::getFormName('fancybox_image_mouse_wheel', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_autoplay'], 0, 1), array(ThemeHelper::getFormName('fancybox_image_autoplay', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_loop'], 0, 1), array(ThemeHelper::getFormName('fancybox_image_loop', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_playspeed'], 1, 99999), array(ThemeHelper::getFormName('fancybox_image_playspeed', false), $invalidValue));
     if (!in_array($option['fancybox_image_animation_effect_open'], array_keys($FancyBox->transitionType))) {
         $Notice->addError(ThemeHelper::getFormName('fancybox_image_animation_effect_open', false), $invalidValue);
     }
     if (!in_array($option['fancybox_image_animation_effect_close'], array_keys($FancyBox->transitionType))) {
         $Notice->addError(ThemeHelper::getFormName('fancybox_image_animation_effect_close', false), $invalidValue);
     }
     if (!in_array($option['fancybox_image_animation_effect_next'], array_keys($FancyBox->transitionType))) {
         $Notice->addError(ThemeHelper::getFormName('fancybox_image_animation_effect_next', false), $invalidValue);
     }
     if (!in_array($option['fancybox_image_animation_effect_previous'], array_keys($FancyBox->transitionType))) {
         $Notice->addError(ThemeHelper::getFormName('fancybox_image_animation_effect_previous', false), $invalidValue);
     }
     if (!in_array($option['fancybox_image_easing_open'], array_keys($Easing->easingType))) {
         $Notice->addError(ThemeHelper::getFormName('fancybox_image_easing_open', false), $invalidValue);
     }
     if (!in_array($option['fancybox_image_easing_close'], array_keys($Easing->easingType))) {
         $Notice->addError(ThemeHelper::getFormName('fancybox_image_easing_close', false), $invalidValue);
     }
     if (!in_array($option['fancybox_image_easing_next'], array_keys($Easing->easingType))) {
         $Notice->addError(ThemeHelper::getFormName('fancybox_image_easing_next', false), $invalidValue);
     }
     if (!in_array($option['fancybox_image_easing_previous'], array_keys($Easing->easingType))) {
         $Notice->addError(ThemeHelper::getFormName('fancybox_image_easing_previous', false), $invalidValue);
     }
     $Validation->notice('isNumber', array($option['fancybox_image_speed_open'], 1, 99999), array(ThemeHelper::getFormName('fancybox_image_speed_open', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_speed_close'], 1, 99999), array(ThemeHelper::getFormName('fancybox_image_speed_close', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_speed_next'], 1, 99999), array(ThemeHelper::getFormName('fancybox_image_speed_next', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_image_speed_previous'], 1, 99999), array(ThemeHelper::getFormName('fancybox_image_speed_previous', false), $invalidValue));
     /* Plugin / Fancybox for videos */
     $Validation->notice('isNumber', array($option['fancybox_video_padding'], 0, 999), array(ThemeHelper::getFormName('fancybox_video_padding', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_video_margin'], 0, 999), array(ThemeHelper::getFormName('fancybox_video_margin', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_video_min_width'], 1, 9999), array(ThemeHelper::getFormName('fancybox_video_min_width', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_video_min_height'], 1, 9999), array(ThemeHelper::getFormName('fancybox_video_min_height', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_video_max_width'], 1, 9999), array(ThemeHelper::getFormName('fancybox_video_max_width', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_video_max_height'], 1, 9999), array(ThemeHelper::getFormName('fancybox_video_max_height', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_video_autoresize'], 0, 1), array(ThemeHelper::getFormName('fancybox_video_autoresize', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_video_autocenter'], 0, 1), array(ThemeHelper::getFormName('fancybox_video_autocenter', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_video_fittoview'], 0, 1), array(ThemeHelper::getFormName('fancybox_video_fittoview', false), $invalidValue));
     $Validation->notice('isNumber', array($option['fancybox_video_close_button'], 0, 1), array(ThemeHelper::getFormName('fancybox_video_close_button', false), $invalidValue));
     /* Plugin / Maintenance mode */
     $Validation->notice('isNumber', array($option['maintenance_mode_enable'], 0, 1), array(ThemeHelper::getFormName('maintenance_mode_enable', false), $invalidValue));
     if ($Notice->isError()) {
         $response['local'] = $Notice->getError();
     } else {
         $response['global']['error'] = 0;
         ThemeOption::updateOption($option);
         $this->createCSSFile();
     }
     $response['global']['notice'] = $Notice->createHTML(THEME_PATH_TEMPLATE . 'notice.php');
     echo json_encode($response);
     exit;
 }