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__); ?>