1.7 / add extra menu item otherwise $uninstall_hook = false; if ( function_exists('register_uninstall_hook') ) { register_uninstall_hook(__FILE__, 'iar_uninstall'); $uninstall_hook = true; } // Register sidebar widget and shortcode add_action('widgets_init', create_function('', 'return register_widget("iarSidebarWidget");')); add_action('plugins_loaded', 'iar_add_shortcode'); ######################################################################################################### # Functions needed by this plugin - don't modify the following contents if you're not sure what to do # ######################################################################################################### if ( check_php_version() === false ) { add_action('admin_notices', 'php_version_info'); } function check_php_version() { if ( version_compare(PHP_VERSION, IAR_PHP_REQUIRED) < 1 ) { return false; } return true; } function php_version_info() { echo '

I am reading: PHP Version '.IAR_PHP_REQUIRED.' or higher required to use this plugin.

'; } /** * Initialises plugins settings. * * @return void */ function iar_init() { // set textdomain used by gettext() load_plugin_textdomain(IAR_TEXTDOMAIN, false, IAR_LANG_DIR); // echo IAR_TEXTDOMAIN . ' | ' . IAR_LANG_DIR; } /** /** * Adds new top level menu called 'Books' * and registers action for loading JS. * * @return void */ function iar_setup_menu() { if ( (check_php_version() === true) && is_admin() ) { global $uninstall_hook, $iar_pages; add_menu_page('I am reading', 'I am reading', 1, 'iar_current', 'iar_load_menu', IAR_PLUGIN_URL.'/admin/images/menu-icon.png'); $page_book = add_submenu_page('iar_current', 'I am reading', __('Current Book', IAR_TEXTDOMAIN), 1, 'iar_current', 'iar_load_menu'); $page_book = add_submenu_page('iar_current', 'I am reading', __('Book Search', IAR_TEXTDOMAIN), 1, 'iar_search', 'iar_load_menu'); $page_config = add_submenu_page('iar_current', 'I am reading', __('Amazon API', IAR_TEXTDOMAIN), 1, 'iar_amazon', 'iar_load_menu'); $page_display = add_submenu_page('iar_current', 'I am reading', __('Appearance', IAR_TEXTDOMAIN), 1, 'iar_display', 'iar_load_menu'); if ( $uninstall_hook === false ) { $page_display = add_submenu_page('iar_current', 'I am reading', __('Uninstall', IAR_TEXTDOMAIN), 1, 'iar_uninstall', 'iar_load_menu'); } if ( in_array($_GET['page'], $iar_pages) ) { add_action( 'admin_print_styles', 'iar_admin_styles' ); add_action( 'admin_print_scripts', 'iar_admin_scripts' ); } } } /** * Load JavaScripts needed on different admin pages. * * @return void */ function iar_admin_scripts() { wp_enqueue_script('jquery'); wp_enqueue_script('iar_boxover', plugins_url($path = 'i-am-reading-continued/admin/js/boxover.js')); wp_enqueue_script('iar_settings', plugins_url($path = 'i-am-reading-continued/admin/js/config.js')); switch ( $_GET['page'] ) { case 'iar_display': wp_enqueue_script('DHTMLColor', IAR_PLUGIN_URL . 'admin/js/DHTMLColors/301a.js'); break; } } /** * Load CSS styles needed on different admin pages. * * @return void */ function iar_admin_styles() { wp_enqueue_style('iar_admin_css', plugins_url($path = 'i-am-reading-continued/admin/admin.css')); switch ( $_GET['page'] ) { case 'iar_display': wp_enqueue_style('colorpicker'); break; } } /** * Loads an admin page. * * @return void; */ function iar_load_menu() { switch ( $_GET['page'] ) { case 'iar_current': include IAR_ADMIN_DIR.'iar-current.php'; break; case 'iar_search': include IAR_ADMIN_DIR.'iar-search.php'; break; case 'iar_amazon': include IAR_ADMIN_DIR.'iar-amazon.php'; break; case 'iar_display': include IAR_ADMIN_DIR.'iar-display.php'; break; case 'iar_uninstall': include IAR_ADMIN_DIR.'iar-uninstall.php'; break; } } /** * Generates all needed database tables and information when the plugin * gets activated in admin panel. Database will be upgraded if a current * plugin version gets detected. * * @return void */ function iar_activation() { if ( check_php_version() === true ) { $iAmReading = new iAmReading(); $iAmReading->install(); } else { return false; } } /** * Removes all database tables and information stored in the database * by this plugin. * * @return void */ function iar_uninstall() { $iAmReading = new iAmReading(); $iAmReading->uninstall(); } /** * Instantiates management object (class iAmReading) and * prints out book data as HTML. * * @return void * @see iAmReading::getBookHtml */ function iar_print_html() { $iAmReading = new iAmReading(); print $iAmReading->getBookHtml(); } /** * Registers the shortcode [i-am-reading] * * @return void */ function iar_add_shortcode() { add_shortcode('i-am-reading', 'iar_print_html'); } /** * Widget for generating html output with widget title and content. */ class iarSidebarWidget extends WP_Widget { function iarSidebarWidget() { parent::WP_Widget('iar_widget', 'I am reading'); } function widget($args, $instance) { $iAmReading = new iAmReading(); $widget_display = $iAmReading->getBookHtml(); $config = $iAmReading->getConfig(); echo $args['before_widget']; echo $args['before_title'].$config['widget_title'].$args['after_title']; echo $widget_display; echo $args['after_widget']; } function update($new_instance, $old_instance) { $instance = $old_instance; return $instance; } function form($instance) { } } /** * Registers the sidebar widget * * @return void */ function iar_register_sidebar_widget() { // register_widget('iarSidebarWidget'); } /** * Register AJAX function for retrieving theme * * @return void */ function iar_get_theme() { $theme = trim($_POST['theme']); $iAmReading = new iAmReading(); echo $iAmReading->getBookHtml($theme); die(); } add_action('wp_ajax_iar_get_theme', 'iar_get_theme'); ?>