[ Index ]

PHP Cross Reference of zeList

title

Body

[close]

/includes/ -> admin-hooks.php (source)

   1  <?php
   2  /**
   3   * zeList Filters and Actions
   4   */
   5  
   6  /**
   7   * Replace Link Manager Pages
   8   */
   9  function zelist_admin_menu() {
  10    global $menu,$submenu;
  11    $menu[15] = array( __('Links'), 'manage_links', 'link-manager.php', '', 'menu-top', 'menu-links', 'div' );
  12    $submenu['link-manager.php'][5] = array( __('Edit'), 'manage_links', 'zelist/admin/link-manager.php' );
  13    $submenu['link-manager.php'][10] = array( _c('Add New|links'), 'manage_links', 'zelist/admin/link-add.php' );
  14    $submenu['link-manager.php'][15] = array( __('Link Categories','zelist'), 'manage_links_advanced', 'zelist/admin/link-categories.php' );
  15    $submenu['link-manager.php'][20] = array( __('Link Tags','zelist'), 'manage_links_advanced', 'zelist/admin/tags.php' );
  16    //$submenu['link-manager.php'][24] = array( __('zeList API','zelist'), 'manage_links_advanced', 'zelist/admin/api.php' );
  17    $submenu['link-manager.php'][25] = array( __('zeList Settings','zelist'), 'manage_links_advanced', 'zelist/admin/settings.php' );
  18    do_action('zelist_admin_menu_hook');
  19  }
  20  add_action('_admin_menu','zelist_admin_menu');
  21  
  22  function zelist_screen_meta_screen($screen) {
  23    if(stripos($screen,'zelist') === false) return $screen;
  24    $screen = substr($screen,strrpos($screen,'/')+1);
  25    return $screen;
  26  }
  27  add_filter('screen_meta_screen', 'zelist_screen_meta_screen');
  28  
  29  
  30  
  31  /**
  32   * Add zeList CSS to admin
  33   * @return unknown_type
  34   */
  35  function zelist_admin_css() {
  36    wp_enqueue_style('zelist_admin_css',ZELIST_URL.'/style/admin.css',false,
  37    date('His')
  38    //ZELIST_CURRENT_VERSION
  39    ,'all');
  40  
  41  }
  42  add_action('admin_print_styles','zelist_admin_css');
  43  
  44  /**
  45   * Add zeList JS to admin
  46   * @return unknown_type
  47   */
  48  function zelist_admin_js() {
  49  
  50  }
  51  add_action('admin_print_scripts','zelist_admin_js');
  52  
  53  
  54  /**
  55   * Add editor script to edit link page
  56   * @return unknown_type
  57   */
  58  function zelist_link_load() {
  59    global $wp_scripts;
  60    $wp_scripts->dequeue('link');
  61    wp_enqueue_script('zelist_link',ZELIST_URL.'/js/link.js', array('jquery-form','jquery-ui-tabs', 'wp-lists', 'thickbox', 'postbox','quicktags','suggest','slug','word-count'),ZELIST_CURRENT_VERSION);
  62    wp_localize_script('zelist_link','linkL10n',array(
  63      'tagsUsed' =>  __('Tags used on this link:','zelist'),
  64      'add' => attribute_escape(__('Add')),
  65      'addTag' => attribute_escape(__('Add new tag')),
  66      'separate' => __('Separate tags with commas'),
  67      'cancel' => __('Cancel'),
  68      'edit' => __('Edit'),
  69      'publish' => __('Publish'),
  70      'update' => __('Update link','zelist'),
  71      'savePending' => __('Save as Pending'),
  72      'public' => __('Public'),
  73      'published' => __('Published'),
  74      'ajax_submit' => admin_url('admin-ajax.php'),
  75      'admin_images' => admin_url('images/'),
  76        'force_submit' => __('Force submit','zelist'),
  77        'pre_submit_wrong' => __('Please fill all required fields','zelist'),
  78      'pre_submit_no_url' => __('No URL','zelist'),
  79      'pre_submit_no_category' => __('No Category','zelist'),
  80        'pre_submit_no_name' => __('No Name','zelist'),
  81        'pre_submit_check_description' => __('Check the link description','zelist'),
  82      'l10n_print_after' => 'try{convertEntities(linkL10n);}catch(e){};'
  83      ));
  84  
  85      wp_enqueue_script('link-media-upload',ZELIST_URL.'/js/link-media-upload.js',false,ZELIST_CURRENT_VERSION);
  86      wp_enqueue_script('editor');
  87      wp_enqueue_script('tiny_mce');
  88  
  89      wp_deregister_script('word-count');
  90      wp_enqueue_script('link-word-count',ZELIST_URL.'/js/word-count.js',array(),ZELIST_CURRENT_VERSION);
  91      wp_localize_script('link-word-count', 'linkWordCountL10n', array(
  92      'count' => __('Characters count: %d','zelist'),
  93      'min_length' => get_option('zelist_description_min_length'),
  94      'max_length' => get_option('zelist_description_max_length'),
  95      'need_more' => __('Description too short. Please use at least %d characters','zelist'),
  96      'need_less' => __('Description too long. Please stay under %d characters','zelist'),
  97      'l10n_print_after' => 'try{convertEntities(linkWordCountL10n);}catch(e){};'
  98      ));
  99  
 100  
 101      add_action( 'admin_head', 'wp_tiny_mce' );
 102  
 103      // META Boxes for link edit form
 104      add_meta_box('linkimagediv', __('Image','zelist'), 'link_image_meta_box', 'link', 'normal', 'core');
 105      add_meta_box('linkrssdiv', __('RSS','zelist'), 'link_rss_meta_box', 'link', 'normal', 'core');
 106  
 107      add_meta_box('linksubmitdiv', __('Save','zelist'), 'zelist_link_submit_meta_box', 'link', 'side', 'core');
 108      add_meta_box('linkownerdiv', __('Webmaster','zelist'), 'link_owner_meta_box', 'link', 'side', 'core');
 109      add_meta_box('linkcategorydiv', __('Categories','zelist'), 'link_categories_meta_box', 'link', 'side', 'core');
 110      add_meta_box('tagsdiv', __('Tags','zelist'), 'link_tags_meta_box', 'link', 'side', 'core');
 111  
 112  
 113  }
 114  add_action('load-zelist/admin/link.php','zelist_link_load');
 115  add_action('load-zelist/admin/link-add.php','zelist_link_load');
 116  
 117  function zelist_link_manager_load() {
 118    wp_enqueue_script('inline-edit-link',ZELIST_URL.'/js/inline-edit-link', array('suggest','jquery-form'),ZELIST_CURRENT_VERSION);
 119    wp_localize_script('inline-edit-link', 'inlineEditL10n', array(
 120    'error' => __('Error while saving the changes.'),
 121    'ntdeltitle' => __('Remove From Bulk Edit'),
 122    'notitle' => __('(no title)'),
 123    'l10n_print_after' => 'try{convertEntities(inlineEditL10n);}catch(e){};'
 124    ) );
 125  }
 126  add_action('load-zelist/admin/link-manager.php','zelist_link_manager_load');
 127  
 128  /**
 129   * Loads JS for settings page
 130   * @return unknown_type
 131   */
 132  function zelist_settings_load() {
 133    wp_enqueue_script('zelist_settings',ZELIST_URL.'/js/settings.js',array('jquery-form'),ZELIST_CURRENT_VERSION);
 134  
 135    //if($_POST) {   echo '<pre>'.print_r($_POST,1).'</pre>';    die();  }
 136  
 137    if($_POST['action'] == 'update') {
 138      global $errors;
 139  
 140      check_admin_referer('zelist-settings');
 141  
 142      if(isset($_POST['zelist_banreasons']) && isset($_POST['zelist_banlabels'])) {
 143        $reasons = $_POST['zelist_banreasons'];
 144        foreach($reasons as $i => $reason) {
 145          $reasons[$i] = sanitize_title_with_dashes($reason);
 146        }
 147        $banreasons = array_combine($reasons,$_POST['zelist_banlabels']);
 148        update_option('zelist_banreasons',$banreasons);
 149      }
 150  
 151      foreach($_POST['settings'] as $option_name => $option_value) {
 152        if($option_name == 'zelist_rewrite_prefix_link_tag' && $option_value == 'tag')
 153          $errors[] = __("You cannot choose 'tag' as a prefix for link tags",'zelist');
 154        elseif($option_name == 'zelist_rewrite_prefix_link_tag' && $option_value == 'tag')
 155          $errors[] = __("You cannot choose 'category' as a prefix for link categories",'zelist');
 156        else update_option($option_name,$option_value);
 157      }
 158      if(isset($_POST['settings']['zelist_rewrite']) && $_POST['settings']['zelist_rewrite']) {
 159        global $wp_rewrite;
 160        $wp_rewrite->flush_rules();
 161      }
 162  
 163  
 164      global $wp_rewrite;
 165      $wp_rewrite->flush_rules();
 166      global $updated;
 167      $updated = true;
 168  
 169    }
 170  
 171  }
 172  add_action('load-zelist/admin/settings.php','zelist_settings_load');
 173  
 174  
 175  /**
 176   * Process zelist categories form
 177   * @return unknown_type
 178   */
 179  function zelist_categories_load() {
 180  
 181  }
 182  add_action('load-zelist/admin/edit-link-categories.php','zelist_categories_load');
 183  
 184  /**
 185   * Filter the link manager columns
 186   * @param $columns
 187   * @return unknown_type
 188   */
 189  function zelist_link_manager_columns($columns) {
 190    global $_wp_column_headers;
 191    $_wp_column_headers['link-manager'] = array(
 192          'cb' => '<input type="checkbox" />',
 193          'name' => __('Name'),
 194          'web' => __('Web','zelist'),
 195          'categories' => __('Categories'),
 196          'metas' => __('Metas','zelist'),
 197    //'tags' => __('Tags'),
 198    );
 199    return $_wp_column_headers['link-manager'];
 200  }
 201  add_filter('manage_link-manager_columns','zelist_link_manager_columns');
 202  
 203  function zelist_edit_link_tags_columns($columns) {
 204    global $_wp_column_headers;
 205    $_wp_column_headers['edit-link-tags'] = array(
 206      'cb' => '<input type="checkbox" />',
 207      'name' => __('Name'),
 208      'slug' => __('Slug'),
 209      'links' => __('Links')    );
 210    return $_wp_column_headers['edit-link-tags'];
 211  }
 212  add_filter('manage_edit-link-tags_columns','zelist_edit_link_tags_columns');
 213  
 214  function zelist_edit_link_metas_columns($columns) {
 215    global $_wp_column_headers;
 216    $_wp_column_headers['edit-link-metas'] = array(
 217      'name' => __('Box name','zelist'),
 218      'fields' => __('Fields','zelist'),
 219      'position' => __('Position','zelist'),
 220    );
 221    return $_wp_column_headers['edit-link-metas'];
 222  }
 223  add_filter('manage_edit-link-metas_columns','zelist_edit_link_metas_columns');
 224  
 225  function zelist_edit_link_metas_fields_columns($columns) {
 226    global $_wp_column_headers;
 227    $_wp_column_headers['edit-link-metas-fields'] = array(
 228      'name' => __('Name','zelist'),
 229      'type' => __('Type','zelist'),
 230    );
 231    return $_wp_column_headers['edit-link-metas-fields'];
 232  }
 233  add_filter('manage_edit-link-metas-fields_columns','zelist_edit_link_metas_fields_columns');
 234  
 235  
 236  /**
 237   * After edit, add the tags and meta values
 238   * @param $link_id
 239   * @return unknown_type
 240   */
 241  function zelist_edit_link($link_id) {
 242    wp_set_link_tags( $link_id, $_POST['tags_input'] );
 243  
 244    if(isset($_POST['ban_reason']) && $ban_reason = sanitize_title_with_dashes($_POST['ban_reason'])) {
 245      update_link_meta($link_id,'ban_reason',$ban_reason);
 246    }
 247  
 248  
 249  
 250  
 251    link_status($link_id,$_POST['link_status']);
 252    link_touch($link_id);
 253  }
 254  add_action('edit_link','zelist_edit_link',9);
 255  
 256  /**
 257   * Show admin messages to users > level 3
 258   * @ action 'admin_notices'
 259   * @return echo
 260   */
 261  function zelist_beta_message()
 262  {
 263    global $pagenow;
 264    if(!isset($_GET['page']) || stripos($_GET['page'],'zelist') === false) return; // not a links page
 265    if(!current_user_can('level_3')) return; // do not show beta messages for users
 266    $warnings = array();
 267    ?>
 268  <div class="tip"><?php
 269  printf(__('You are running %s version of zeList beta','zelist'),ZELIST_CURRENT_VERSION);
 270  echo ' : ';
 271  printf(__('<a href="%s">Report bugs</a>','zelist'),'http://www.zelist.net/bugs/');
 272  echo ' | ';
 273  printf(__('<a href="%s">Get support</a>','zelist'),'http://www.zelist.net/support/');
 274  echo '<img src="http://api.zelist.net/blank.gif?version='.ZELIST_CURRENT_VERSION.'" width="1" height="1" />';
 275  ?></div>
 276  <?php
 277  if(!get_option('users_can_register'))
 278    $warnings[] = __('Users cannot register, which is mandatory to submit a link','zelist')
 279    . ' | ' . sprintf(__('<a href="%s">Modify the setting</a>','zelist'),admin_url('options-general.php'));
 280  
 281  if(get_option('default_role') == 'subscriber') {
 282    $warnings[] = __('Default role must be set to "Contributor" for users to be able to add links','zelist')
 283    . ' | ' . sprintf(__('<a href="%s">Modify the setting</a>','zelist'),admin_url('options-general.php'));
 284  }
 285  
 286  if(count($warnings))
 287  foreach($warnings as $warning) echo '<div class="warning">'.$warning.'</div>';
 288  }
 289  add_action('admin_notices','zelist_beta_message');
 290  
 291  


Generated: Sat May 30 23:51:06 2009 Cross-referenced by PHPXref 0.7