/** * init */ static function init() { register_activation_hook(__FILE__, array(__CLASS__, 'activation_hook')); add_action('admin_menu', array(__CLASS__, 'admin_menu')); add_action('admin_head', array(__CLASS__, 'ajax_javascript')); add_action('admin_head', array(__CLASS__, 'admin_css')); add_action('wp_ajax_spacker_inc_script', array(__CLASS__, 'wp_ajax_spacker_inc_script')); add_action('admin_notices', array(__CLASS__, 'show_admin_messages')); if (is_admin()) { if (isset($_POST['spacker']) && is_array($_POST['spacker'])) { //evScriptOptimizer::$options = $_POST['spacker']; self::options_join(evScriptOptimizer::$options, $_POST['spacker']); evScriptOptimizer::$options['cache-js'] = array(); evScriptOptimizer::$options['cache-css'] = array(); //print_r(evScriptOptimizer::$options); evScriptOptimizer::save_options(); evScriptOptimizer::check_cache_directory(); self::$saved = true; } } }
/** * init */ static function init() { $is_logged_in = is_user_logged_in(); // init some constants self::$plugin_path = dirname(__FILE__); // load plugin localizations load_plugin_textdomain('spacker', false, dirname(plugin_basename(__FILE__)) . '/lang/'); // load options self::$options = get_option('spacker-options'); //self::$options = false;//*** if (!is_array(self::$options)) { self::$options = array('only-selfhosted-js' => false, 'combine-js' => 'combine', 'packing-js' => true, 'css' => true, 'only-selfhosted-css' => false, 'combine-css' => true, 'packing-css' => true, 'inc-js' => null, 'inc-css' => null, 'exclude-js' => null, 'exclude-css' => null, 'cache' => array(), 'cache-css' => array(), 'strict-ordering-beta' => false, 'cache-dir-path' => SO_REC_CACHE_DIR_PATH, 'cache-dir-url' => SO_REC_CACHE_DIR_URL); } else { // Old cache directory if (!isset(self::$options['cache-dir-path'])) { $uploads = wp_upload_dir(); $upload_path = $uploads['basedir'] . '/'; $upload_url = $uploads['baseurl'] . '/'; if (substr($upload_path, -1) != '/') { $upload_path .= '/'; } if (substr($upload_url, -1) != '/') { $upload_url .= '/'; } $cache_directory = $upload_path . 'spacker-cache/'; $cache_url = $upload_url . 'spacker-cache/'; self::$options['cache-dir-path'] = $cache_directory; self::$options['cache-dir-url'] = $cache_url; self::save_options(); } } if (!isset(self::$options['strict-ordering-beta'])) { self::$options['enable-plugin'] = true; self::$options['strict-ordering-beta'] = false; } if (!isset(self::$options['combine-css']) and !empty(self::$options['combining-css'])) { self::$options['combine-css'] = true; } // Strict ordering temporary disabled self::$options['strict-ordering-beta'] = false; self::$options['packing-css'] = true; // add actions and hooks if (!is_admin()) { if (self::is_on()) { global $wp_version; if (version_compare($wp_version, '2.8.0', '>')) { add_action('wp_print_scripts', array(__CLASS__, 'wp_print_scripts_action'), 0); add_action('wp_print_footer_scripts', array(__CLASS__, 'wp_print_scripts_action'), 0); if (self::$options['css']) { add_action('wp_print_styles', array(__CLASS__, 'wp_print_styles_action'), -10000); add_action('wp_print_footer_scripts', array(__CLASS__, 'wp_print_styles_action'), 0); } } else { add_action('wp_print_scripts', array(__CLASS__, 'wp_print_scripts_action'), 200); if (self::$options['css']) { add_action('wp_print_styles', array(__CLASS__, 'wp_print_styles_action'), 200); } } add_action('wp_footer', array(__CLASS__, 'footer'), 20000000); //add_action('wp_head', array(__CLASS__, 'head'), 20000000); // Include added scripts if (is_array(self::$options['inc-js'])) { foreach (self::$options['inc-js'] as $key => $js) { if ($js['url']) { wp_deregister_script($key); wp_register_script($key, $js['url'], false); } wp_enqueue_script($key); } } if (is_array(self::$options['inc-css'])) { foreach (self::$options['inc-css'] as $key => $css) { if (!$css['loggedIn'] || $is_logged_in) { wp_enqueue_style($key, $css['url'], false, false, $css['media']); } } } if (self::$options['strict-ordering-beta']) { self::ordering_start(); } } } else { require_once 'backend.php'; evScriptOptimizerBackend::init(); } }