/** * 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')); } }
/** * Write to the Dynamik Custom Functions file if it exists. * * @since 1.0 * */ function dynamik_write_custom_functions($code = '') { dynamik_folders_open_permissions(); if (!file_exists(dynamik_get_custom_functions_path())) { dynamik_create_custom_functions_file(); } $handle = @fopen(dynamik_get_custom_functions_path(), 'w+'); @fwrite($handle, stripslashes($code)); @fclose($handle); dynamik_folders_close_permissions(); }