. */ /* Stop direct call */ defined('ABSPATH') OR exit; if (!defined('AFPW_PATH')) define( 'AFPW_PATH', plugin_dir_path(__FILE__) ); if (!defined('AFPW_BASE')) define( 'AFPW_BASE', plugin_basename(__FILE__) ); # loading the framework if (!class_exists('A5_Image')) require_once AFPW_PATH.'class-lib/A5_ImageClass.php'; if (!class_exists('A5_Excerpt')) require_once AFPW_PATH.'class-lib/A5_ExcerptClass.php'; if (!class_exists('A5_FormField')) require_once AFPW_PATH.'class-lib/A5_FormFieldClass.php'; if (!class_exists('A5_OptionPage')) require_once AFPW_PATH.'class-lib/A5_OptionPageClass.php'; if (!class_exists('A5_DynamicFiles')) require_once AFPW_PATH.'class-lib/A5_DynamicFileClass.php'; #loading plugin specific classes if (!class_exists('AFPW_Admin')) require_once AFPW_PATH.'class-lib/AFPW_AdminClass.php'; if (!class_exists('AFPW_DynamicCSS')) require_once AFPW_PATH.'class-lib/AFPW_DynamicCSSClass.php'; if (!class_exists('Advanced_Featured_Post_Widget')) require_once AFPW_PATH.'class-lib/AFPW_WidgetClass.php'; class Advanced_FPW { const language_file = 'advanced-fpw'; private static $options; function __construct() { self::$options = get_option('afpw_options'); if (isset(self::$options['tags'])) $this->update_plugin_options(); // Load language files load_plugin_textdomain(self::language_file, false , basename(dirname(__FILE__)).'/languages'); add_action('admin_enqueue_scripts', array(&$this, 'register_js_sheet')); add_filter('plugin_row_meta', array(&$this, 'register_links'), 10, 2); add_filter( 'plugin_action_links', array(&$this, 'plugin_action_links'), 10, 2 ); register_activation_hook( __FILE__, array(&$this, '_install') ); register_deactivation_hook( __FILE__, array(&$this, '_uninstall') ); $AFPW_DynamicCSS = new AFPW_DynamicCSS; $AFPW_Admin = new AFPW_Admin; } /* attach JavaScript file for textarea resizing */ function register_js_sheet($hook) { if ($hook != 'settings_page_advanced-fpw-settings' && $hook != 'widgets.php') return; wp_register_script('ta-expander-script', plugins_url('ta-expander.js', __FILE__), array('jquery'), '3.0', true); wp_enqueue_script('ta-expander-script'); } //Additional links on the plugin page function register_links($links, $file) { if ($file == AFPW_BASE) : $links[] = ''.__('FAQ', self::language_file).''; $links[] = ''.__('Donate', self::language_file).''; endif; return $links; } function plugin_action_links( $links, $file ) { if ($file == AFPW_BASE) array_unshift($links, ''.__('Settings', self::language_file).''); return $links; } // Creating default options on activation static function _install() { $default = array( 'cache' => array(), 'inline' => NULL ); add_option('afpw_options', $default); } // Cleaning on deactivation static function _uninstall() { delete_option('afpw_options'); } // updating options in case they are outdated function update_plugin_options() { if (isset(self::$options['afpw_css'])) self::$options['css'] = self::$options['afpw_css']; self::$options['cache'] = array(); self::$options['inline'] = NULL; unset(self::$options['tags'], self::$options['sizes'], self::$options['afpw_css']); update_option('afpw_options', self::$options); } } $Advanced_FPW = new Advanced_FPW; ?>