/** * Adds LeadOut link to top-level admin bar */ function add_leadout_link_to_admin_bar($wp_admin_bar) { global $wp_version; if (!current_user_can('activate_plugins')) { if (!array_key_exists('li_grant_access_to_' . leadout_get_user_role(), get_option('leadin_options'))) { return FALSE; } } $leadout_icon = '<img src="' . LEADIN_PATH . '/images/leadout-icon-16x16.png' . '">'; $args = array('id' => 'leadout-admin-menu', 'title' => '<span class="ab-icon" ' . ($wp_version < 3.8 && !is_plugin_active('mp6/mp6.php') ? ' style="margin-top: 3px;"' : '') . '>' . $leadout_icon . '</span><span class="ab-label">LeadOut</span>', 'parent' => FALSE, 'href' => get_bloginfo('wpurl') . '/wp-admin/admin.php?page=leadout_stats', 'meta' => array('title' => 'LeadOut')); $wp_admin_bar->add_node($args); }
/** * Adds LeadOut menu to /wp-admin sidebar */ function leadout_add_menu_items() { $options = get_option('leadin_options'); global $submenu; global $wp_version; // Block non-sanctioned users from accessing LeadOut $capability = 'activate_plugins'; if (!current_user_can('activate_plugins')) { if (!array_key_exists('li_grant_access_to_' . leadout_get_user_role(), $options)) { return FALSE; } else { if (current_user_can('manage_network')) { // super admin $capability = 'manage_network'; } else { if (current_user_can('edit_pages')) { // editor $capability = 'edit_pages'; } else { if (current_user_can('publish_posts')) { // author $capability = 'publish_posts'; } else { if (current_user_can('edit_posts')) { // contributor $capability = 'edit_posts'; } else { if (current_user_can('read')) { // subscriber $capability = 'read'; } } } } } } } self::check_admin_action(); $leadout_icon = LEADIN_PATH . '/images/leadout-icon-16x16.png'; add_menu_page('LeadOut', 'LeadOut', $capability, 'leadout_stats', array($this, 'leadout_build_stats_page'), $leadout_icon, '25.100713'); if (count($this->admin_power_ups)) { foreach ($this->admin_power_ups as $power_up) { if ($power_up->activated) { $power_up->admin_init(); // Creates the menu icon for power-up if it's set. Overrides the main LeadOut menu to hit the contacts power-up if ($power_up->menu_text) { add_submenu_page('leadout_stats', $power_up->menu_text, $power_up->menu_text, $capability, 'leadout_' . $power_up->menu_link, array($power_up, 'power_up_setup_callback')); } } } add_submenu_page('leadout_stats', 'Tags', 'Tags', $capability, 'leadout_tags', array(&$this, 'leadout_build_tag_page')); add_submenu_page('leadout_stats', 'Settings', 'Settings', 'activate_plugins', 'leadout_settings', array(&$this, 'leadout_plugin_options')); add_submenu_page('leadout_stats', 'Power-ups', 'Power-ups', 'activate_plugins', 'leadout_power_ups', array(&$this, 'leadout_power_ups_page')); $submenu['leadout_stats'][0][0] = 'Stats'; if (!isset($_GET['page']) || $_GET['page'] != 'leadout_settings') { $options = get_option('leadin_options'); if (!isset($options['ignore_settings_popup']) || !$options['ignore_settings_popup']) { $li_pointers = new LI_Pointers(); } } } }
/** * Checks whether or not to ignore the logged in user in the LeadOut tracking scripts * */ function leadout_ignore_logged_in_user() { // ignore logged in users if defined in settings if (is_user_logged_in()) { if (array_key_exists('li_do_not_track_' . leadout_get_user_role(), get_option('leadin_options'))) { return TRUE; } else { return FALSE; } } else { return FALSE; } }