config = $config; $this->options = $config->getOptions(); $this->on_activate(); $this->set_hooks(); $this->set_plugin(); } public function on_activate() { register_activation_hook(__FILE__, array($this, 'set_default_options')); } public static function set_default_options() { $old_options = get_option('acelerator_options'); $default_options = [ 'acelerator_selector_string' => ( $old_options && isset($old_options['acelerator_selector_string']) ? $old_options['acelerator_selector_string'] : 'textarea[name="data_source"]' ), 'acelerator_syntaxes' => ( $old_options && isset($old_options['acelerator_syntaxes']) ? $old_options['acelerator_syntaxes'] : 'h4:contains(\'CSS Code\')@css|h4:contains(\'Javascript Code\')@javascript|h4:contains(\'PHP Code\')@php' ), ] ; update_option('acelerator_options', $default_options); } public function set_hooks() { add_filter(sprintf( '%splugin_action_links_%s', is_multisite() ? 'network_admin_' : '', plugin_basename(__FILE__) ), array( $this, 'add_plugin_actions_links' )); } public function add_plugin_actions_links($links) { return array_merge( array(sprintf('Settings', get_admin_url()) ), $links ); } public function set_plugin() { add_action("in_admin_footer", function () { $plugindir = plugin_dir_url(__FILE__); ?>