/** * Call to all necessary functions to create both the * Genesis Extender and Custom stylesheets. * * @since 1.0 */ function genesis_extender_write_files($css = true, $ez = true, $custom = true) { genesis_extender_folders_open_permissions(); if ($css) { genesis_extender_write_custom_styles(); genesis_extender_write_minified_styles(); } if ($ez) { genesis_extender_write_ez_structures(genesis_extender_build_ez_structures()); } if ($custom) { $custom_functions = get_option('genesis_extender_custom_functions'); genesis_extender_write_custom_functions($custom_functions['custom_functions']); $custom_js = get_option('genesis_extender_custom_js'); genesis_extender_write_custom_js($custom_js['custom_js']); genesis_extender_write_custom_templates(); genesis_extender_write_custom_widget_areas_register(genesis_extender_register_widget_areas()); genesis_extender_write_custom_widget_areas(genesis_extender_build_widget_areas()); genesis_extender_write_custom_hook_boxes(genesis_extender_build_hook_boxes()); } genesis_extender_folders_close_permissions(); }
/** * Import the specified Custom Option settings into * their appropriate sections of the wp_options table. * * @since 1.0 */ function genesis_extender_custom_import($import_file, $theme_settings = '', $custom_css = '', $custom_functions = '', $custom_js = '', $custom_templates = '', $custom_labels = '', $conditionals = '', $widget_areas = '', $hook_boxes = '', $images = '') { $genesis_extender_templates = get_option('genesis_extender_custom_templates'); $genesis_extender_labels = get_option('genesis_extender_custom_labels'); $genesis_extender_conditionals = get_option('genesis_extender_custom_conditionals'); $genesis_extender_widgets = get_option('genesis_extender_custom_widget_areas'); $genesis_extender_hooks = get_option('genesis_extender_custom_hook_boxes'); if ('zip' == strtolower(substr(strrchr($import_file['name'], '.'), 1))) { genesis_extender_folders_open_permissions(); require_once ABSPATH . 'wp-admin/includes/class-pclzip.php'; $tmp_path = genesis_extender_get_stylesheet_location('path') . 'tmp'; $tmp_import_folder = $tmp_path . '/import'; $tmp_image_folder = $tmp_import_folder . '/images'; $tmp_adthumbs_folder = $tmp_image_folder . '/adminthumbnails'; $image_folder = genesis_extender_get_stylesheet_location('path') . 'images'; $adthumbs_folder = $image_folder . '/adminthumbnails'; if (!is_dir($tmp_path)) { @mkdir($tmp_path, 0755, true); } if (!is_dir($tmp_import_folder)) { @mkdir($tmp_import_folder, 0755, true); } $import_tmp_name = $import_file['tmp_name']; $zip_file = new PclZip($import_tmp_name); if (($unzip_result_list = $zip_file->extract(PCLZIP_OPT_PATH, $tmp_import_folder)) == 0) { die("Error : " . $zip_file->errorInfo(true)); } $handle = opendir($tmp_import_folder); while (false !== ($file = readdir($handle))) { $ext = strtolower(substr(strrchr($file, '.'), 1)); if ($ext == 'dat') { $import_data = file_get_contents($tmp_import_folder . '/' . $file); $genesis_extender_import = unserialize($import_data); if (!empty($theme_settings)) { if (!empty($genesis_extender_import['genesis_extender_settings'])) { $plugin_settings_import = array_merge(genesis_extender_settings_defaults(false, $genesis_extender_import['genesis_extender_settings']), $genesis_extender_import['genesis_extender_settings']); update_option('genesis_extender_settings', $plugin_settings_import); } } if (!empty($custom_css)) { if (!empty($genesis_extender_import['genesis_extender_custom_css'])) { $custom_css_import = array_merge(genesis_extender_custom_css_options_defaults(), $genesis_extender_import['genesis_extender_custom_css']); update_option('genesis_extender_custom_css', $custom_css_import); } } if (!empty($custom_functions)) { if (!empty($genesis_extender_import['genesis_extender_custom_functions'])) { $custom_functions_import = array_merge(genesis_extender_custom_functions_options_defaults(), $genesis_extender_import['genesis_extender_custom_functions']); update_option('genesis_extender_custom_functions', $custom_functions_import); } } if (!empty($custom_js)) { if (!empty($genesis_extender_import['genesis_extender_custom_js'])) { $custom_js_import = array_merge(genesis_extender_custom_js_options_defaults(), $genesis_extender_import['genesis_extender_custom_js']); update_option('genesis_extender_custom_js', $custom_js_import); } } if (!empty($custom_templates)) { if (!empty($genesis_extender_import['genesis_extender_templates'])) { $genesis_extender_templates_array = array(); foreach ($genesis_extender_templates as $key => $value) { if (!in_array($genesis_extender_templates[$key]['template_file_name'], $genesis_extender_templates_array)) { $genesis_extender_templates_array[] = $genesis_extender_templates[$key]['template_file_name']; } } foreach ($genesis_extender_import['genesis_extender_templates'] as $key => $value) { if (in_array($genesis_extender_import['genesis_extender_templates'][$key]['template_file_name'], $genesis_extender_templates_array)) { unset($genesis_extender_import['genesis_extender_templates'][$key]); } } $templates_import = array_merge($genesis_extender_templates, $genesis_extender_import['genesis_extender_templates']); update_option('genesis_extender_custom_templates', $templates_import); } } if (!empty($custom_labels)) { if (!empty($genesis_extender_import['genesis_extender_labels'])) { $genesis_extender_labels_array = array(); foreach ($genesis_extender_labels as $key => $value) { if (!in_array($genesis_extender_labels[$key]['label_name'], $genesis_extender_labels_array)) { $genesis_extender_labels_array[] = $genesis_extender_labels[$key]['label_name']; } } foreach ($genesis_extender_import['genesis_extender_labels'] as $key => $value) { if (in_array($genesis_extender_import['genesis_extender_labels'][$key]['label_name'], $genesis_extender_labels_array)) { unset($genesis_extender_import['genesis_extender_labels'][$key]); } } $labels_import = array_merge($genesis_extender_labels, $genesis_extender_import['genesis_extender_labels']); update_option('genesis_extender_custom_labels', $labels_import); } } if (!empty($conditionals)) { if (!empty($genesis_extender_import['genesis_extender_conditionals'])) { $genesis_extender_conditionals_array = array(); foreach ($genesis_extender_conditionals as $key => $value) { $genesis_extender_conditionals_array[] = $genesis_extender_conditionals[$key]['conditional_id']; } foreach ($genesis_extender_import['genesis_extender_conditionals'] as $key => $value) { if (in_array($genesis_extender_import['genesis_extender_conditionals'][$key]['conditional_id'], $genesis_extender_conditionals_array)) { unset($genesis_extender_import['genesis_extender_conditionals'][$key]); } } $conditionals_import = array_merge($genesis_extender_conditionals, $genesis_extender_import['genesis_extender_conditionals']); update_option('genesis_extender_custom_conditionals', $conditionals_import); } } if (!empty($widget_areas)) { if (!empty($genesis_extender_import['genesis_extender_widgets'])) { $genesis_extender_widgets_array = array(); foreach ($genesis_extender_widgets as $key => $value) { if (!in_array($genesis_extender_widgets[$key]['widget_name'], $genesis_extender_widgets_array)) { $genesis_extender_widgets_array[] = $genesis_extender_widgets[$key]['widget_name']; } } foreach ($genesis_extender_import['genesis_extender_widgets'] as $key => $value) { if (in_array($genesis_extender_import['genesis_extender_widgets'][$key]['widget_name'], $genesis_extender_widgets_array)) { unset($genesis_extender_import['genesis_extender_widgets'][$key]); } } $widgets_import = array_merge($genesis_extender_widgets, $genesis_extender_import['genesis_extender_widgets']); update_option('genesis_extender_custom_widget_areas', $widgets_import); } } if (!empty($hook_boxes)) { if (!empty($genesis_extender_import['genesis_extender_hooks'])) { $genesis_extender_hooks_array = array(); foreach ($genesis_extender_hooks as $key => $value) { if (!in_array($genesis_extender_hooks[$key]['hook_name'], $genesis_extender_hooks_array)) { $genesis_extender_hooks_array[] = $genesis_extender_hooks[$key]['hook_name']; } } foreach ($genesis_extender_import['genesis_extender_hooks'] as $key => $value) { if (in_array($genesis_extender_import['genesis_extender_hooks'][$key]['hook_name'], $genesis_extender_hooks_array)) { unset($genesis_extender_import['genesis_extender_hooks'][$key]); } } $hooks_import = array_merge($genesis_extender_hooks, $genesis_extender_import['genesis_extender_hooks']); update_option('genesis_extender_custom_hook_boxes', $hooks_import); } } } } closedir($handle); if (!empty($images)) { $handle = opendir($tmp_image_folder); while (false !== ($file = readdir($handle))) { $ext = strtolower(substr(strrchr($file, '.'), 1)); if ($ext == 'jpg' || $ext == 'gif' || $ext == 'png') { copy($tmp_image_folder . '/' . $file, $image_folder . '/' . $file); } } closedir($handle); $handle = opendir($tmp_adthumbs_folder); while (false !== ($file = readdir($handle))) { $ext = strtolower(substr(strrchr($file, '.'), 1)); if ($ext == 'jpg' || $ext == 'gif' || $ext == 'png') { copy($tmp_adthumbs_folder . '/' . $file, $adthumbs_folder . '/' . $file); } } closedir($handle); } genesis_extender_delete_dir($tmp_import_folder); genesis_extender_folders_close_permissions(); genesis_extender_write_files(); wp_redirect(admin_url('admin.php?page=genesis-extender-settings&activetab=genesis-extender-settings-nav-import-export¬ice=import-complete')); exit; } elseif ('dat' == strtolower(substr(strrchr($import_file['name'], '.'), 1))) { $import_data = file_get_contents($import_file['tmp_name']); $genesis_extender_import = unserialize($import_data); if (!empty($theme_settings)) { if (!empty($genesis_extender_import['genesis_extender_settings'])) { $plugin_settings_import = array_merge(genesis_extender_settings_defaults(false, $genesis_extender_import['genesis_extender_settings']), $genesis_extender_import['genesis_extender_settings']); update_option('genesis_extender_settings', $plugin_settings_import); } } if (!empty($custom_css)) { if (!empty($genesis_extender_import['genesis_extender_custom_css'])) { $custom_css_import = array_merge(genesis_extender_custom_css_options_defaults(), $genesis_extender_import['genesis_extender_custom_css']); update_option('genesis_extender_custom_css', $custom_css_import); } } if (!empty($custom_functions)) { if (!empty($genesis_extender_import['genesis_extender_custom_functions'])) { $custom_functions_import = array_merge(genesis_extender_custom_functions_options_defaults(), $genesis_extender_import['genesis_extender_custom_functions']); update_option('genesis_extender_custom_functions', $custom_functions_import); } } if (!empty($custom_js)) { if (!empty($genesis_extender_import['genesis_extender_custom_js'])) { $custom_js_import = array_merge(genesis_extender_custom_js_options_defaults(), $genesis_extender_import['genesis_extender_custom_js']); update_option('genesis_extender_custom_js', $custom_functions_import); } } if (!empty($custom_templates)) { if (!empty($genesis_extender_import['genesis_extender_templates'])) { $genesis_extender_templates_array = array(); foreach ($genesis_extender_templates as $key => $value) { if (!in_array($genesis_extender_templates[$key]['template_file_name'], $genesis_extender_templates_array)) { $genesis_extender_templates_array[] = $genesis_extender_templates[$key]['template_file_name']; } } foreach ($genesis_extender_import['genesis_extender_templates'] as $key => $value) { if (in_array($genesis_extender_import['genesis_extender_templates'][$key]['template_file_name'], $genesis_extender_templates_array)) { unset($genesis_extender_import['genesis_extender_templates'][$key]); } } $templates_import = array_merge($genesis_extender_templates, $genesis_extender_import['genesis_extender_templates']); update_option('genesis_extender_custom_templates', $templates_import); } } if (!empty($custom_labels)) { if (!empty($genesis_extender_import['genesis_extender_labels'])) { $genesis_extender_labels_array = array(); foreach ($genesis_extender_labels as $key => $value) { if (!in_array($genesis_extender_labels[$key]['label_name'], $genesis_extender_labels_array)) { $genesis_extender_labels_array[] = $genesis_extender_labels[$key]['label_name']; } } foreach ($genesis_extender_import['genesis_extender_labels'] as $key => $value) { if (in_array($genesis_extender_import['genesis_extender_labels'][$key]['label_name'], $genesis_extender_labels_array)) { unset($genesis_extender_import['genesis_extender_labels'][$key]); } } $labels_import = array_merge($genesis_extender_labels, $genesis_extender_import['genesis_extender_labels']); update_option('genesis_extender_custom_labels', $labels_import); } } if (!empty($conditionals)) { if (!empty($genesis_extender_import['genesis_extender_conditionals'])) { $genesis_extender_conditionals_array = array(); foreach ($genesis_extender_conditionals as $key => $value) { $genesis_extender_conditionals_array[] = $genesis_extender_conditionals[$key]['conditional_id']; } foreach ($genesis_extender_import['genesis_extender_conditionals'] as $key => $value) { if (in_array($genesis_extender_import['genesis_extender_conditionals'][$key]['conditional_id'], $genesis_extender_conditionals_array)) { unset($genesis_extender_import['genesis_extender_conditionals'][$key]); } } $conditionals_import = array_merge($genesis_extender_conditionals, $genesis_extender_import['genesis_extender_conditionals']); update_option('genesis_extender_custom_conditionals', $conditionals_import); } } if (!empty($widget_areas)) { if (!empty($genesis_extender_import['genesis_extender_widgets'])) { $genesis_extender_widgets_array = array(); foreach ($genesis_extender_widgets as $key => $value) { if (!in_array($genesis_extender_widgets[$key]['widget_name'], $genesis_extender_widgets_array)) { $genesis_extender_widgets_array[] = $genesis_extender_widgets[$key]['widget_name']; } } foreach ($genesis_extender_import['genesis_extender_widgets'] as $key => $value) { if (in_array($genesis_extender_import['genesis_extender_widgets'][$key]['widget_name'], $genesis_extender_widgets_array)) { unset($genesis_extender_import['genesis_extender_widgets'][$key]); } } $widgets_import = array_merge($genesis_extender_widgets, $genesis_extender_import['genesis_extender_widgets']); update_option('genesis_extender_custom_widget_areas', $widgets_import); } } if (!empty($hook_boxes)) { if (!empty($genesis_extender_import['genesis_extender_hooks'])) { $genesis_extender_hooks_array = array(); foreach ($genesis_extender_hooks as $key => $value) { if (!in_array($genesis_extender_hooks[$key]['hook_name'], $genesis_extender_hooks_array)) { $genesis_extender_hooks_array[] = $genesis_extender_hooks[$key]['hook_name']; } } foreach ($genesis_extender_import['genesis_extender_hooks'] as $key => $value) { if (in_array($genesis_extender_import['genesis_extender_hooks'][$key]['hook_name'], $genesis_extender_hooks_array)) { unset($genesis_extender_import['genesis_extender_hooks'][$key]); } } $hooks_import = array_merge($genesis_extender_hooks, $genesis_extender_import['genesis_extender_hooks']); update_option('genesis_extender_custom_hook_boxes', $hooks_import); } } genesis_extender_write_files(); wp_redirect(admin_url('admin.php?page=genesis-extender-settings&activetab=genesis-extender-settings-nav-import-export¬ice=import-complete')); exit; } else { wp_redirect(admin_url('admin.php?page=genesis-extender-settings&activetab=genesis-extender-settings-nav-import-export¬ice=import-error')); exit; } }
/** * Build function that deletes specific image. * * @since 1.0 */ function genesis_extender_dodelete() { global $genesis_extender_uploader_settings; $content = ''; if ($_POST['submit'] == 'Delete') { $filename = $_POST['deletefile']; if (substr($filename, -3) == 'gif') { $file_thumb = str_replace('.gif', '.png', $filename); } else { $file_thumb = $filename; } // If an empty filename is attempted to be posted, show below. if (!$_POST['deletefile']) { $content .= '<div class="blackout">'; $content .= '<div class="box"><div class="box-inner"><div class="boxtext"><span class="boxheader">' . __('Delete Image', 'extender') . '</span><br />'; $content .= '<div class="renameerror"></div>'; $content .= __('You did not supply a filename.', 'extender'); $content .= '<a href="?page=genesis-extender-custom&activetab=genesis-extender-custom-options-nav-image-uploader" class="okbutton">' . __('OK', 'extender') . '</a></div></div></div></div>'; } else { genesis_extender_folders_open_permissions(); // Delete the main image file, the admin thumbnail file and the thumbnail file (if it exists). unlink($genesis_extender_uploader_settings['uploadpath'] . $filename); if (file_exists($genesis_extender_uploader_settings['adminthumbpath'] . $file_thumb)) { unlink($genesis_extender_uploader_settings['adminthumbpath'] . $file_thumb); } genesis_extender_folders_close_permissions(); } } else { $content .= '<div class="blackout">'; $content .= '<div class="box"><div class="box-inner"><div class="boxtext"><span class="boxheader">' . __('Delete Image', 'extender') . '</span><br />'; $content .= '<div class="renameerror"></div>'; $content .= __('You did not supply a filename.', 'extender'); $content .= '<a href="?page=genesis-extender-custom&activetab=genesis-extender-custom-options-nav-image-uploader" class="okbutton">' . __('OK', 'extender') . '</a></div></div></div></div>'; } echo $content; }