init_settings(); } public function init_settings() { $async_vid_info = array(array(array())); register_setting('WP_Async_Vid_List-group', 'async_vid_info' ); } public function add_menu() { add_options_page('WP Async Vid List Settings', 'WP Async Vid List', 'manage_options', 'WP_Async_Vid_List', array(&$this, 'plugin_settings_page')); } public function plugin_settings_page() { if(!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.')); } include(sprintf("%s/templates/settings.php", dirname(__FILE__))); } public static function activate() { // Do nothing } public static function deactivate() { // Do nothing } } // END class WP_Async_Vid_List } // END if(!class_exists('WP_Async_Vid_List')) if(class_exists('WP_Async_Vid_List')) { register_activation_hook(__FILE__, array('WP_Async_Vid_List', 'activate')); register_deactivation_hook(__FILE__, array('WP_Async_Vid_List', 'deactivate')); $WP_Async_Vid_List = new WP_Async_Vid_List(); if(isset($WP_Async_Vid_List)) { function plugin_settings_link($links) { $settings_link = 'Settings'; array_unshift($links, $settings_link); return $links; } $plugin = plugin_basename(__FILE__); add_filter("plugin_action_links_$plugin", 'plugin_settings_link'); } } ///////////////// stylesheet function asyncVidList_style() { wp_register_style( 'asyncvidlist-style', plugins_url( '/css/asyncvidlist-style.css', __FILE__ ), array(), '1', 'all' ); wp_enqueue_style( 'asyncvidlist-style' ); } add_action( 'wp_enqueue_scripts', 'asyncVidList_style' ); function asyncVidList_admin_style() { wp_register_style( 'asyncvidlist-admin-style', plugins_url( '/css/asyncvidlist-admin-style.css', __FILE__ ), array(), '1', 'all' ); wp_enqueue_style( 'asyncvidlist-admin-style' ); } add_action( 'admin_print_scripts-settings_page_WP_Async_Vid_List', 'asyncVidList_admin_style' ); ///////////////// scripts function asyncVidList_scripts() { wp_register_script( 'asyncvidlist', plugins_url( '/js/asyncvidlist.js', __FILE__ ), array('jquery') ); wp_enqueue_script( 'asyncvidlist' ); } add_action( 'wp_enqueue_scripts', 'asyncVidList_scripts' ); function asyncVidList_admin_scripts() { wp_register_script( 'asyncvidlistadmin', plugins_url( '/js/asyncvidlistAdmin.js', __FILE__ ), array('jquery') ); wp_enqueue_script( 'asyncvidlistadmin' ); wp_enqueue_script('jquery-ui-accordion'); } add_action( 'admin_print_scripts-settings_page_WP_Async_Vid_List' , 'asyncVidList_admin_scripts' ); ///////////////// Shortcode handler function asyncVidList_shortcode_handler($atts=null, $content=null){ extract( shortcode_atts( array( 'list_id' => 'list_id', 'width' => '420', 'height' => '315' ), $atts ) ); ob_start(); $options = get_option( 'async_vid_info' ); echo '
'; echo ''; echo '
'; ?>