| [ Index ] |
PHP Cross Reference of zeList |
[Summary view] [Print] [Text view]
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
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Sat May 30 23:51:06 2009 | Cross-referenced by PHPXref 0.7 |