コード例 #1
0
/**
 * 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();
}
コード例 #2
0
/**
 * 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&notice=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&notice=import-complete'));
        exit;
    } else {
        wp_redirect(admin_url('admin.php?page=genesis-extender-settings&activetab=genesis-extender-settings-nav-import-export&notice=import-error'));
        exit;
    }
}
コード例 #3
0
/**
 * 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;
}