.
*/
/* 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, 'enqueue_scripts'));
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 enqueue_scripts($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' => false
);
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'] = false;
unset(self::$options['tags'], self::$options['sizes'], self::$options['afpw_css']);
update_option('afpw_options', self::$options);
}
}
$Advanced_FPW = new Advanced_FPW;
?>