/** * Clone the Genesis Extender Plugin Settings & Images over to the Dynamik Child Theme. * * @since 1.0.2 */ function genesis_extender_clone($clone_plugin_settings = '', $clone_plugin_metadata = '', $clone_plugin_images = '') { if (!empty($clone_plugin_settings)) { $plugin_settings_clone = array_merge(dynamik_theme_settings_defaults(), get_option('genesis_extender_settings')); update_option('dynamik_gen_theme_settings', $plugin_settings_clone); $custom_css_clone = array_merge(dynamik_custom_css_options_defaults(), get_option('genesis_extender_custom_css')); update_option('dynamik_gen_custom_css', $custom_css_clone); $custom_functions_clone = array_merge(dynamik_custom_functions_options_defaults(), get_option('genesis_extender_custom_functions')); update_option('dynamik_gen_custom_functions', $custom_functions_clone); $custom_js_clone = array_merge(dynamik_custom_js_options_defaults(), get_option('genesis_extender_custom_js')); update_option('dynamik_gen_custom_js', $custom_js_clone); update_option('dynamik_gen_custom_templates', get_option('genesis_extender_custom_templates')); update_option('dynamik_gen_custom_labels', get_option('genesis_extender_custom_labels')); $genesis_extender_custom_conditionals = get_option('genesis_extender_custom_conditionals'); foreach ($genesis_extender_custom_conditionals as $key => $value) { if (substr($value['conditional_tag'], 0, 8) == 'extender') { $genesis_extender_custom_conditionals[$key]['conditional_tag'] = str_replace(substr($value['conditional_tag'], 0, 8), 'dynamik', $value['conditional_tag']); } } update_option('dynamik_gen_custom_conditionals', $genesis_extender_custom_conditionals); update_option('dynamik_gen_custom_widget_areas', get_option('genesis_extender_custom_widget_areas')); update_option('dynamik_gen_custom_hook_boxes', get_option('genesis_extender_custom_hook_boxes')); } if (!empty($clone_plugin_metadata)) { global $wpdb; $wpdb->update($wpdb->postmeta, array('meta_key' => '_dyn_labels'), array('meta_key' => '_genext_labels')); } if (!empty($clone_plugin_images)) { dynamik_folders_open_permissions(); $plugin_image_folder = genesis_extender_get_stylesheet_location('path') . 'images'; $plugin_adthumbs_folder = $plugin_image_folder . '/adminthumbnails'; $theme_image_folder = dynamik_get_stylesheet_location('path') . 'images'; $theme_adthumbs_folder = $theme_image_folder . '/adminthumbnails'; dynamik_delete_images($theme_image_folder); dynamik_delete_images($theme_adthumbs_folder); $handle = opendir($plugin_image_folder); while (false !== ($file = readdir($handle))) { $ext = strtolower(substr(strrchr($file, '.'), 1)); if ($ext == 'jpg' || $ext == 'gif' || $ext == 'png') { copy($plugin_image_folder . '/' . $file, $theme_image_folder . '/' . $file); } } closedir($handle); $handle = opendir($plugin_adthumbs_folder); while (false !== ($file = readdir($handle))) { $ext = strtolower(substr(strrchr($file, '.'), 1)); if ($ext == 'jpg' || $ext == 'gif' || $ext == 'png') { copy($plugin_adthumbs_folder . '/' . $file, $theme_adthumbs_folder . '/' . $file); } } closedir($handle); dynamik_folders_close_permissions(); } dynamik_write_files($css = true, $ez = false); wp_redirect(admin_url('admin.php?page=dynamik-settings&activetab=dynamik-theme-settings-nav-import-export¬ice=plugin-clone-complete')); exit; }
/** * Perform Dynamik activation actions. * * @since 1.0 */ function dynamik_activate() { global $dynamik_folders; if (!get_option('dynamik_gen_version_number')) { update_option('dynamik_gen_version_number', '1.2.2'); } if (!get_option('dynamik_gen_theme_settings')) { update_option('dynamik_gen_theme_settings', dynamik_theme_settings_defaults()); } if (!get_option('dynamik_gen_design_options')) { update_option('dynamik_gen_design_options', dynamik_design_options_defaults()); } if (!get_option('dynamik_gen_responsive_options')) { update_option('dynamik_gen_responsive_options', dynamik_responsive_options_defaults()); } if (!get_option('dynamik_gen_design_snapshot_options')) { dynamik_design_snapshot_update($activation = true); } if (!get_option('dynamik_gen_custom_css')) { update_option('dynamik_gen_custom_css', dynamik_custom_css_options_defaults()); } if (!get_option('dynamik_gen_custom_functions')) { update_option('dynamik_gen_custom_functions', dynamik_custom_functions_options_defaults()); } if (!get_option('dynamik_gen_custom_js')) { update_option('dynamik_gen_custom_js', dynamik_custom_js_options_defaults()); } if (!get_option('dynamik_gen_custom_templates')) { update_option('dynamik_gen_custom_templates', array()); } if (!get_option('dynamik_gen_custom_labels')) { update_option('dynamik_gen_custom_labels', array()); } if (!get_option('dynamik_gen_custom_conditionals')) { update_option('dynamik_gen_custom_conditionals', array()); } if (!get_option('dynamik_gen_custom_widget_areas')) { update_option('dynamik_gen_custom_widget_areas', array()); } if (!get_option('dynamik_gen_custom_hook_boxes')) { update_option('dynamik_gen_custom_hook_boxes', array()); } if (!is_dir(CHILD_DIR . '/my-templates')) { mkdir(CHILD_DIR . '/my-templates'); @chmod(CHILD_DIR . '/my-templates', 0755); } if (!is_dir(dynamik_get_stylesheet_location('path', $root = true))) { mkdir(dynamik_get_stylesheet_location('path', $root = true)); @chmod(dynamik_get_stylesheet_location('path', $root = true), 0755); } if (!is_dir(dynamik_get_stylesheet_location('path', $root = true) . 'theme')) { mkdir(dynamik_get_stylesheet_location('path', $root = true) . 'theme'); @chmod(dynamik_get_stylesheet_location('path', $root = true) . 'theme', 0755); } if (!is_dir(dynamik_get_stylesheet_location('path') . 'default-images')) { mkdir(dynamik_get_stylesheet_location('path') . 'default-images'); @chmod(dynamik_get_stylesheet_location('path') . 'default-images', 0755); mkdir(dynamik_get_stylesheet_location('path') . 'default-images/post-formats'); @chmod(dynamik_get_stylesheet_location('path') . 'default-images/post-formats', 0755); $handle = opendir(CHILD_DIR . '/images'); while (false !== ($file = readdir($handle))) { $ext = strtolower(substr(strrchr($file, '.'), 1)); if ($ext == 'jpg' || $ext == 'gif' || $ext == 'png') { copy(CHILD_DIR . '/images/' . $file, dynamik_get_stylesheet_location('path') . 'default-images/' . $file); } } closedir($handle); $handle2 = opendir(CHILD_DIR . '/images/post-formats'); while (false !== ($file = readdir($handle2))) { $ext = strtolower(substr(strrchr($file, '.'), 1)); if ($ext == 'jpg' || $ext == 'gif' || $ext == 'png') { copy(CHILD_DIR . '/images/post-formats/' . $file, dynamik_get_stylesheet_location('path') . 'default-images/post-formats/' . $file); } } closedir($handle2); } $handle3 = opendir(CHILD_DIR . '/images'); while (false !== ($file = readdir($handle3))) { if ($file == 'icon-plus.png' || $file == 'icon-plus-white.png') { copy(CHILD_DIR . '/images/' . $file, dynamik_get_stylesheet_location('path') . 'default-images/' . $file); } } closedir($handle3); if (!is_dir(dynamik_get_stylesheet_location('path') . 'images')) { mkdir(dynamik_get_stylesheet_location('path') . 'images'); @chmod(dynamik_get_stylesheet_location('path') . 'images', 0755); } if (!is_dir(dynamik_get_stylesheet_location('path') . 'images/adminthumbnails')) { mkdir(dynamik_get_stylesheet_location('path') . 'images/adminthumbnails'); @chmod(dynamik_get_stylesheet_location('path') . 'images/adminthumbnails', 0755); } if (!is_dir(dynamik_get_stylesheet_location('path') . 'tmp')) { mkdir(dynamik_get_stylesheet_location('path') . 'tmp'); @chmod(dynamik_get_stylesheet_location('path') . 'tmp', 0755); } if (!is_dir(dynamik_get_stylesheet_location('path') . 'tmp/images')) { mkdir(dynamik_get_stylesheet_location('path') . 'tmp/images'); @chmod(dynamik_get_stylesheet_location('path') . 'tmp/images', 0755); } if (!is_dir(dynamik_get_stylesheet_location('path') . 'tmp/images/adminthumbnails')) { mkdir(dynamik_get_stylesheet_location('path') . 'tmp/images/adminthumbnails'); @chmod(dynamik_get_stylesheet_location('path') . 'tmp/images/adminthumbnails', 0755); } dynamik_write_files(); dynamik_create_custom_functions_file(); $dynamik_unwritable = false; foreach ($dynamik_folders as $dynamik_folder) { if (is_dir($dynamik_folder) && !dynamik_writable($dynamik_folder)) { $dynamik_unwritable = true; } } if ($dynamik_unwritable) { wp_redirect(admin_url('admin.php?page=dynamik-settings¬ice=dynamik-unwritable')); } }
/** * Build the Dynamik Theme Settings admin page. * * @since 1.0 */ function dynamik_theme_settings() { $user = wp_get_current_user(); ?> <div class="wrap"> <div id="dynamik-settings-saved" class="dynamik-update-box"></div> <?php if (!empty($_POST['action']) && $_POST['action'] == 'reset') { update_option('dynamik_gen_theme_settings', dynamik_theme_settings_defaults()); dynamik_write_files($css = true, $ez = false, $custom = false); dynamik_get_settings(null, $args = array('cached' => false, 'array' => false)); ?> <script type="text/javascript">jQuery(document).ready(function($){ $('#dynamik-settings-saved').html('Theme Settings Reset').center().fadeIn('slow');window.setTimeout(function(){$('#dynamik-settings-saved').fadeOut( 'slow' );}, 2222); });</script> <?php } if (!empty($_GET['activetab'])) { ?> <script type="text/javascript">jQuery(document).ready(function($) { $('#<?php echo $_GET['activetab']; ?> ').click(); });</script> <?php } ?> <div id="icon-options-general" class="icon32"></div> <h2 id="dynamik-admin-heading"><?php _e('Dynamik - Theme Settings', 'dynamik'); ?> </h2> <div id="dynamik-admin-wrap"> <form action="/" id="theme-settings-form" name="theme-settings-form"> <input type="hidden" name="action" value="dynamik_theme_settings_save" /> <input type="hidden" name="security" value="<?php echo wp_create_nonce('theme-settings'); ?> " /> <div id="dynamik-floating-save"> <img id="ajax-save-no-throb" src="<?php echo CHILD_URL . '/lib/css/images/no-throb.png'; ?> " style="margin-bottom:11px;" /><img id="ajax-save-throbber" src="<?php echo CHILD_URL . '/lib/css/images/throbber.gif'; ?> " style="display:none;margin-bottom:11px;" /><input type="image" src="<?php echo CHILD_URL . '/lib/css/images/save-changes-x2.png'; ?> " value="<?php _e('Save Changes', 'dynamik'); ?> " class="dynamik-save-button" name="Submit" alt="Save Changes" /> </div> <div id="dynamik-theme-settings-nav"> <ul> <li id="dynamik-theme-settings-nav-info" class="dynamik-options-nav-all dynamik-options-nav-active"><a href="#">Child Theme Info</a></li><li id="dynamik-theme-settings-nav-general" class="dynamik-options-nav-all"><a href="#">General Settings</a></li><li id="dynamik-theme-settings-nav-import-export" class="dynamik-options-nav-all"><a class="dynamik-options-nav-last" href="#">Import / Export</a></li> </ul> </div> <div class="dynamik-theme-settings-wrap"> <?php require_once CHILD_DIR . '/lib/admin/boxes/settings-general.php'; ?> </div> </form> <div class="dynamik-theme-settings-wrap"> <?php require_once CHILD_DIR . '/lib/admin/boxes/settings-theme-info.php'; ?> <?php require_once CHILD_DIR . '/lib/admin/boxes/settings-import-export.php'; ?> </div> <div id="dynamik-admin-footer"> <p> <a href="http://cobaltapps.com" target="_blank">CobaltApps.com</a> | <a href="https://dynamiktheme.desk.com/" target="_blank">Resources</a> | <a href="http://cobaltapps.com/my-account/" target="_blank">My Account</a> | <a href="http://cobaltapps.com/forum/" target="_blank">Community Forum</a> | <a href="http://cobaltapps.com/affiliates/" target="_blank">Affiliates</a> · <a><span id="show-options-reset" class="dynamik-custom-fonts-button button" style="margin:0; float:none !important;"><?php _e('Theme Settings Reset', 'dynamik'); ?> </span></a> </p> </div> <div style="display:none; position:inherit; height:25px; width:520px; margin:-11px 0 0 135px; float:left;" id="show-options-reset-box" class="dynamik-custom-fonts-box"> <form style="width:520px; float:left;" id="dynamik-reset-theme-settings" method="post"> <strong><?php _e('**This Will Reset ALL Your Dynamik Theme Settings**', 'dynamik'); ?> </strong> <input style="background:#D54E21; width:160px !important; color:#FFFFFF !important; text-shadow: 0 0 0 #fff;" type="submit" value="<?php _e('Reset Theme Settings', 'dynamik'); ?> " class="dynamik-reset button" name="Submit" onClick='return confirm("<?php _e('Are you sure your want to reset your Dynamik Theme Settings?', 'dynamik'); ?> ")'/><input type="hidden" name="action" value="reset" /> </form> </div> </div> </div> <!-- Close Wrap --> <?php }