public static function add_admin_pages()
 {
     global $aecomments;
     $capabilities = 'administrator';
     if (AECCore::is_multisite()) {
         $capabilities = 'manage_network';
     }
     $admin_hooks = array();
     $admin_hooks[] = add_menu_page('Ajax Edit Comments', 'AEC', $capabilities, 'wpaec', array("AECAdmin", 'print_admin_page_behavior'), $aecomments->get_plugin_url('images/menu-icon.png'));
     $admin_hooks[] = add_submenu_page('wpaec', __('Behavior', 'ajaxEdit'), __('Behavior', 'ajaxEdit'), $capabilities, 'wpaec', array('AECAdmin', 'print_admin_page_behavior'));
     $admin_hooks[] = add_submenu_page('wpaec', __('Appearance', 'ajaxEdit'), __('Appearance', 'ajaxEdit'), $capabilities, 'aecappearance', array('AECAdmin', 'print_admin_page_appearance'));
     $admin_hooks[] = add_submenu_page('wpaec', __('Permissions', 'ajaxEdit'), __('Permissions', 'ajaxEdit'), $capabilities, 'aecpermissions', array('AECAdmin', 'print_admin_page_permissions'));
     $admin_hooks[] = add_submenu_page('wpaec', __('Cleanup', 'ajaxEdit'), __('Cleanup', 'ajaxEdit'), $capabilities, 'aeccleanup', array('AECAdmin', 'print_admin_page_cleanup'));
     foreach ($admin_hooks as $hook) {
         add_action('admin_print_styles-' . $hook, array('AECDependencies', 'add_admin_panel_css'), 1000);
         add_action('admin_print_scripts-' . $hook, array('AECDependencies', 'add_admin_scripts'), 1000);
     }
     do_action('aec-addon-menus');
 }
 public static function add_settings_link($links)
 {
     global $aecomments;
     $multisite_network = AECCore::is_multisite();
     $admin_uri = add_query_arg(array('page' => 'wpaec'), admin_url(sprintf('%sadmin.php', $multisite_network ? 'network/' : '')));
     array_push($links, sprintf('<a href="%s">%s</a>', $admin_uri, __("Settings", 'ajaxEdit')));
     return $links;
 }
 public function init()
 {
     //If registered users can only comment and user is not logged in, skip loading the plugin.
     include_once ABSPATH . WPINC . '/pluggable.php';
     if (get_option('comment_registration') == '1') {
         if (!is_user_logged_in()) {
             return;
         }
     }
     //Initialize Addons
     do_action('aec-addons-init');
     $this->plugin_url = apply_filters('aec-addons-plugin-directory', $this->get_plugin_url());
     $this->colorbox_params['script_handler'] = apply_filters('aec-colorbox-script-name', 'colorbox');
     $this->colorbox_params['style_handler'] = apply_filters('aec-colorbox-style-name', 'colorbox');
     //If a user isn't logged in and has no comment cookie, don't load the plugin either
     if (!is_user_logged_in()) {
         $cookieloaded = false;
         foreach ($_COOKIE as $value => $key) {
             if (strstr($value, 'WPAjaxEditCommentsComment')) {
                 $cookieloaded = true;
                 break;
             }
         }
         if (!$cookieloaded) {
             add_action("wp_print_styles", array('AECDependencies', 'load_frontend_css'));
             add_action('wp_print_scripts', array('AECDependencies', 'load_frontend'), 1000);
             return;
         }
     }
     add_action('wp_print_scripts', array('AECDependencies', 'ajax_url'), 12);
     $this->errors = AECCore::initialize_errors();
     $this->skip = false;
     //css
     add_action("wp_print_styles", array('AECDependencies', "load_frontend_css"));
     add_action("wp_print_styles", array('AECDependencies', "add_css"));
     add_action('admin_print_styles', array('AECDependencies', "add_css"));
     //JavaScript
     add_action('admin_print_scripts-index.php', array('AECDependencies', 'add_post_scripts'), 1000);
     add_action('admin_print_scripts-edit-comments.php', array('AECDependencies', 'add_post_scripts'), 1000);
     if (!is_admin()) {
         add_action('wp_print_scripts', array('AECDependencies', 'add_post_scripts'), 1000);
     }
     //Ajax stuff
     AECAjax::initialize_actions();
     //Admin options
     if (AECCore::is_multisite()) {
         add_action('network_admin_menu', array("AECAdmin", 'add_admin_pages'));
     } else {
         add_action('admin_menu', array("AECAdmin", 'add_admin_pages'));
     }
     add_action('template_redirect', array($this, 'comment_text'));
     //front end
     add_action('auth_redirect', array($this, 'comment_text'));
     //admin panel
     //* Localization Code */
     load_plugin_textdomain('ajaxEdit', false, dirname(plugin_basename(__FILE__)) . '/languages/');
 }