0ebf4b255e95782ce245bb5a1d49e62c06eaef80
[autoinstalls/wordpress.git] / wp-admin / link-categories.php
1 <?php
2 // Links
3 // Copyright (C) 2002, 2003 Mike Little -- mike@zed1.com
4 require_once('admin.php');
5 $title = __('Link Categories');
6 $this_file='link-categories.php';
7 $parent_file = 'link-manager.php';
8 $list_js = true;
9
10 $wpvarstoreset = array('action', 'cat', 'auto_toggle');
11 for ($i=0; $i<count($wpvarstoreset); $i += 1) {
12     $wpvar = $wpvarstoreset[$i];
13     if (!isset($$wpvar)) {
14         if (empty($_POST["$wpvar"])) {
15             if (empty($_GET["$wpvar"])) {
16                 $$wpvar = '';
17             } else {
18                 $$wpvar = $_GET["$wpvar"];
19             }
20         } else {
21             $$wpvar = $_POST["$wpvar"];
22         }
23     }
24 }
25
26 switch ($action) {
27   case 'addcat':
28   {
29       check_admin_referer('add-link-category');
30
31       if ( !current_user_can('manage_links') )
32           die (__("Cheatin' uh ?"));
33
34       $cat_name = wp_specialchars($_POST['cat_name']);
35       $auto_toggle = $_POST['auto_toggle'];
36       if ($auto_toggle != 'Y') {
37           $auto_toggle = 'N';
38       }
39
40       $show_images = $_POST['show_images'];
41       if ($show_images != 'Y') {
42           $show_images = 'N';
43       }
44
45       $show_description = $_POST['show_description'];
46       if ($show_description != 'Y') {
47           $show_description = 'N';
48       }
49
50       $show_rating = $_POST['show_rating'];
51       if ($show_rating != 'Y') {
52           $show_rating = 'N';
53       }
54
55       $show_updated = $_POST['show_updated'];
56       if ($show_updated != 'Y') {
57           $show_updated = 'N';
58       }
59
60       $sort_order = $_POST['sort_order'];
61
62       $sort_desc = $_POST['sort_desc'];
63       if ($sort_desc != 'Y') {
64           $sort_desc = 'N';
65       }
66       $text_before_link = $_POST['text_before_link'];
67       $text_after_link = $_POST['text_after_link'];
68       $text_after_all = $_POST['text_after_all'];
69
70       $list_limit = $_POST['list_limit'];
71       if ($list_limit == '')
72           $list_limit = -1;
73
74       $wpdb->query("INSERT INTO $wpdb->linkcategories (cat_id, cat_name, auto_toggle, show_images, show_description, \n" .
75              " show_rating, show_updated, sort_order, sort_desc, text_before_link, text_after_link, text_after_all, list_limit) \n" .
76              " VALUES ('0', '$cat_name', '$auto_toggle', '$show_images', '$show_description', \n" .
77              " '$show_rating', '$show_updated', '$sort_order', '$sort_desc', '$text_before_link', '$text_after_link', \n" .
78              " '$text_after_all', $list_limit)");
79
80       wp_redirect('link-categories.php');
81     break;
82   } // end addcat
83   case 'Delete':
84   {
85         $cat_id = (int) $_GET['cat_id'];
86     check_admin_referer('delete-link-category_' . $cat_id);
87
88     $cat_name=get_linkcatname($cat_id);
89
90     if ($cat_id=="1")
91         die(sprintf(__("Can't delete the <strong>%s</strong> link category: this is the default one"), $cat_name));
92
93     if ( !current_user_can('manage_links') )
94       die (__("Cheatin' uh ?"));
95
96     $wpdb->query("DELETE FROM $wpdb->linkcategories WHERE cat_id='$cat_id'");
97     $wpdb->query("UPDATE $wpdb->links SET link_category=1 WHERE link_category='$cat_id'");
98
99     wp_redirect('link-categories.php');
100     break;
101   } // end delete
102   case 'Edit':
103   {
104     include_once ('admin-header.php');
105     $cat_id = (int) $_GET['cat_id'];
106     $row = $wpdb->get_row("SELECT cat_id, cat_name, auto_toggle, show_images, show_description, "
107          . " show_rating, show_updated, sort_order, sort_desc, text_before_link, text_after_link, "
108          . " text_after_all, list_limit FROM $wpdb->linkcategories WHERE cat_id=$cat_id");
109     if ($row) {
110         if ($row->list_limit == -1) {
111             $row->list_limit = '';
112         }
113 ?>
114
115 <div class="wrap">
116   <h2><?php printf(__('Edit &#8220%s&#8221; Category'), wp_specialchars($row->cat_name)); ?></h2>
117
118   <form name="editcat" method="post">
119   <?php wp_nonce_field('update-link-category_' . $row->cat_id) ?>
120       <input type="hidden" name="action" value="editedcat" />
121       <input type="hidden" name="cat_id" value="<?php echo $row->cat_id ?>" />
122 <fieldset class="options">
123 <legend><?php _e('Category Options') ?></legend>
124 <table class="editform" width="100%" cellspacing="2" cellpadding="5">
125 <tr>
126         <th width="33%" scope="row"><?php _e('Name:') ?></th>
127         <td width="67%"><input name="cat_name" type="text" value="<?php echo wp_specialchars($row->cat_name)?>" size="30" /></td>
128 </tr>
129 <tr>
130         <th scope="row"><?php _e('Show:') ?></th>
131         <td>
132             <label>
133             <input type="checkbox" name="show_images"  value="Y" <?php checked('Y', $row->show_images); ?> /> 
134             <?php _e('Image') ?></label> <br />
135             <label>
136             <input type="checkbox" name="show_description" value="Y" <?php checked('Y', $row->show_description); ?> /> 
137             <?php _e('Description') ?></label> 
138             <?php _e('(shown in <code>title</code> regardless)') ?><br />
139             <label>
140             <input type="checkbox" name="show_rating"  value="Y" <?php checked('Y', $row->show_rating); ?> /> 
141             <?php _e('Rating') ?></label> <br />
142             <label>
143             <input type="checkbox" name="show_updated" value="Y" <?php checked('Y', $row->show_updated); ?> /> 
144             <?php _e('Updated') ?></label>
145 <?php _e('(shown in <code>title</code> regardless)') ?></td>
146 </tr>
147 <tr>
148         <th scope="row"><?php _e('Sort order:') ?></th>
149         <td>
150         <select name="sort_order" size="1">
151             <option value="name" <?php echo ($row->sort_order == 'name') ? 'selected="selected"' : ''?>><?php _e('Name') ?></option>
152             <option value="id"      <?php echo ($row->sort_order == 'id') ? 'selected' : ''?>><?php _e('Id') ?></option>
153             <option value="url"     <?php echo ($row->sort_order == 'url') ? 'selected' : ''?>><?php _e('URL') ?></option>
154             <option value="rating"  <?php echo ($row->sort_order == 'rating') ? 'selected' : ''?>><?php _e('Rating') ?></option>
155             <option value="updated" <?php echo ($row->sort_order == 'updated') ? 'selected' : ''?>><?php _e('Updated') ?></option>
156             <option value="rand"  <?php echo ($row->sort_order == 'rand') ? 'selected' : ''?>><?php _e('Random') ?></option>
157             <option value="length"  <?php echo ($row->sort_order == 'length') ? 'selected' : ''?>><?php _e('Name Length') ?></option>
158         </select>
159         <label>
160         <input type="checkbox" name="sort_desc" value="Y" <?php checked('Y', $row->sort_desc); ?> /> 
161         <?php _e('Descending') ?></label>
162         </td>
163 </tr>
164 <tr>
165         <th scope="row"><?php _e('Limit:') ?></th>
166         <td>
167         <input type="text" name="list_limit" size="5" value="<?php echo $row->list_limit ?>" /> 
168         <?php _e('(Leave empty for no limit to number of links shown)') ?>
169         </td>
170 </tr>
171 <tr>
172         <th scope="row"><?php _e('Toggle:') ?></th>
173         <td><label>
174                 <input type="checkbox" name="auto_toggle"  value="Y" <?php checked('Y', $row->auto_toggle); ?> /> 
175                 <?php _e('When new link is added toggle all others to be invisible') ?></label></td>
176 </tr>
177
178 </table>
179 </fieldset>
180 <fieldset class="options">
181 <legend><?php _e('Formatting') ?></legend>
182 <table class="editform" width="100%" cellspacing="2" cellpadding="5">
183 <tr>
184         <th width="33%" scope="row"><?php _e('Before Link:') ?></th>
185         <td width="67%"><input type="text" name="text_before_link" size="45" value="<?php echo wp_specialchars($row->text_before_link,'double')?>" /></td>
186 </tr>
187 <tr>
188 <th scope="row"><?php _e('Between Link and Description:') ?></th>
189 <td><input type="text" name="text_after_link" size="45" value="<?php echo wp_specialchars($row->text_after_link,'double')?>" /></td>
190 </tr>
191 <tr>
192 <th scope="row"><?php _e('After Link:') ?></th>
193 <td><input type="text" name="text_after_all" size="45" value="<?php echo wp_specialchars($row->text_after_all,'double')?>"/></td>
194 </tr>
195 </table>
196 </fieldset>
197 <p class="submit"><input type="submit" name="submit" value="<?php _e('Save Category Settings &raquo;') ?>" /></p>
198 </form>
199
200 </div>
201 <?php
202     } // end if row
203     break;
204   } // end Edit
205   case "editedcat":
206   {
207     $cat_id = (int)$_POST["cat_id"];
208     check_admin_referer('update-link-category_' . $cat_id);
209
210     if ( !current_user_can('manage_links') )
211       die (__("Cheatin' uh ?"));
212
213     $submit=$_POST["submit"];
214     if (isset($submit)) {
215
216     $cat_name= wp_specialchars($_POST["cat_name"]);
217     $auto_toggle = $_POST["auto_toggle"];
218     if ($auto_toggle != 'Y') {
219         $auto_toggle = 'N';
220     }
221
222     $show_images = $_POST["show_images"];
223     if ($show_images != 'Y') {
224         $show_images = 'N';
225     }
226
227     $show_description = $_POST["show_description"];
228     if ($show_description != 'Y') {
229         $show_description = 'N';
230     }
231
232     $show_rating = $_POST["show_rating"];
233     if ($show_rating != 'Y') {
234         $show_rating = 'N';
235     }
236
237     $show_updated = $_POST["show_updated"];
238     if ($show_updated != 'Y') {
239         $show_updated = 'N';
240     }
241
242     $sort_order = $_POST["sort_order"];
243
244     $sort_desc = $_POST["sort_desc"];
245     if ($sort_desc != 'Y') {
246         $sort_desc = 'N';
247     }
248     $text_before_link = $_POST["text_before_link"];
249     $text_after_link = $_POST["text_after_link"];
250     $text_after_all = $_POST["text_after_all"];
251
252     $list_limit = $_POST["list_limit"];
253     if ($list_limit == '')
254         $list_limit = -1;
255
256     $wpdb->query("UPDATE $wpdb->linkcategories set
257             cat_name='$cat_name',
258             auto_toggle='$auto_toggle',
259             show_images='$show_images',
260             show_description='$show_description',
261             show_rating='$show_rating',
262             show_updated='$show_updated',
263             sort_order='$sort_order',
264             sort_desc='$sort_desc',
265             text_before_link='$text_before_link',
266             text_after_link='$text_after_link',
267             text_after_all='$text_after_all',
268             list_limit=$list_limit
269             WHERE cat_id=$cat_id
270             ");
271     } // end if save
272
273
274     wp_redirect("link-categories.php");
275     break;
276   } // end editcat
277   default:
278   {
279     include_once ("admin-header.php");
280     if ( !current_user_can('manage_links') )
281       die(__("You have do not have sufficient permissions to edit the link categories for this blog. :)"));
282 ?>
283
284 <div class="wrap">
285             <h2><?php _e('Link Categories:') ?></h2>
286             <table id="the-list" width="100%" cellpadding="5" cellspacing="0" border="0">
287               <tr>
288                 <th rowspan="2" valign="bottom"><?php _e('Name') ?></th>
289                 <th rowspan="2" valign="bottom"><?php _e('ID') ?></th>
290                 <th rowspan="2" valign="bottom"><?php _e('Toggle?') ?></th>
291                 <th colspan="4" valign="bottom" class="alternate"><?php _e('Show') ?></th>
292                 <th rowspan="2" valign="bottom"><?php _e('Sort Order') ?></th>
293                 <th rowspan="2" valign="bottom"><?php _e('Desc?') ?></th>
294                 <th colspan="3" valign="bottom" class="alternate"><?php _e('Formatting') ?></th>
295                 <th rowspan="2" valign="bottom"><?php _e('Limit') ?></th>
296                 <th rowspan="2" colspan="2">&nbsp;</th>
297               </tr>
298               <tr>
299                 <th valign="top"><?php _e('Images') ?></th>
300                 <th valign="top"><?php _e('Description') ?></th>
301                 <th valign="top"><?php _e('Rating') ?></th>
302                 <th valign="top"><?php _e('Updated') ?></th>
303                 <th valign="top"><?php _e('Before') ?></th>
304                 <th valign="top"><?php _e('Between') ?></th>
305                 <th valign="top"><?php _e('After') ?></th>
306               </tr>
307 <?php
308 $results = $wpdb->get_results("SELECT cat_id, cat_name, auto_toggle, show_images, show_description, "
309          . " show_rating, show_updated, sort_order, sort_desc, text_before_link, text_after_link, "
310          . " text_after_all, list_limit FROM $wpdb->linkcategories ORDER BY cat_id");
311 $i = 1;
312 foreach ($results as $row) {
313     if ($row->list_limit == -1) {
314         $row->list_limit = __('none');
315     }
316     $style = ($i % 2) ? ' class="alternate"' : '';
317     /*
318         Manually internationalize every sort order option.
319     */
320     switch ($row->sort_order) {
321         case 'name':
322                 $row->sort_order = __('name');
323                 break;
324         case 'id':
325                 $row->sort_order = __('id');
326                 break;
327         case 'url':
328                 $row->sort_order = __('url');
329                 break;
330         case 'rating':
331                 $row->sort_order = __('rating');
332                 break;
333         case 'updated':
334                 $row->sort_order = __('updated');
335                 break;
336         case 'rand':
337                 $row->sort_order = __('rand');
338                 break;
339         case 'length':
340                 $row->sort_order = __('length');
341                 break;
342     }
343 ?>
344               <tr id="link-category-<?php echo $row->cat_id; ?>" valign="middle" align="center" <?php echo $style ?> style="border-bottom: 1px dotted #9C9A9C;">
345                 <td><?php echo wp_specialchars($row->cat_name)?></td>
346                                 <td ><?php echo $row->cat_id?></td>
347                 <td><?php echo $row->auto_toggle == 'Y' ? __('Yes') : __('No') ?></td>
348                 <td><?php echo $row->show_images == 'Y' ? __('Yes') : __('No') ?></td>
349                 <td><?php echo $row->show_description == 'Y' ? __('Yes') : __('No') ?></td>
350                 <td><?php echo $row->show_rating == 'Y' ? __('Yes') : __('No') ?></td>
351                 <td><?php echo $row->show_updated == 'Y' ? __('Yes') : __('No') ?></td>
352                 <td><?php echo $row->sort_order ?></td>
353                 <td><?php echo $row->sort_desc == 'Y' ? __('Yes') : __('No') ?></td>
354                 <td nowrap="nowrap"><?php echo wp_specialchars($row->text_before_link)?>&nbsp;</td>
355                 <td nowrap="nowrap"><?php echo wp_specialchars($row->text_after_link)?>&nbsp;</td>
356                 <td nowrap="nowrap"><?php echo wp_specialchars($row->text_after_all)?></td>
357                 <td><?php echo $row->list_limit ?></td>
358                 <td><a href="link-categories.php?cat_id=<?php echo $row->cat_id?>&amp;action=Edit" class="edit"><?php _e('Edit') ?></a></td>
359                 <td><a href="<?php echo wp_nonce_url("link-categories.php?cat_id=$row->cat_id?>&amp;action=Delete", 'delete-link-category_' . $row->cat_id) ?>" onclick="return deleteSomething( 'link category', <?php echo $row->cat_id . ", '" . sprintf(__("You are about to delete the &quot;%s&quot; link category.\\n&quot;Cancel&quot; to stop, &quot;OK&quot; to delete."), js_escape($row->cat_name)); ?>' );" class="delete"><?php _e('Delete') ?></a></td>
360               </tr>
361 <?php
362         ++$i;
363     }
364 ?>
365             </table>
366 <p><?php _e('These are the defaults for when you call a link category with no additional arguments. All of these settings may be overwritten.') ?></p>
367
368 <div id="ajax-response"></div>
369
370 </div>
371
372 <div class="wrap">
373     <form name="addcat" method="post" action="">
374     <?php wp_nonce_field('add-link-category'); ?>
375       <input type="hidden" name="action" value="addcat" />
376           <h2><?php _e('Add a Link Category:') ?></h2>
377 <fieldset class="options">
378 <legend><?php _e('Category Options') ?></legend>
379 <table class="editform" width="100%" cellspacing="2" cellpadding="5">
380 <tr>
381         <th width="33%" scope="row"><?php _e('Name:') ?></th>
382         <td width="67%"><input type="text" name="cat_name" size="30" /></td>
383 </tr>
384 <tr>
385         <th scope="row"><?php _e('Show:') ?></th>
386         <td>
387             <label>
388             <input type="checkbox" name="show_images"  value="Y" /> 
389             <?php _e('Image') ?></label> <br />
390             <label>
391             <input type="checkbox" name="show_description" value="Y" /> 
392             <?php _e('Description') ?></label> 
393             <?php _e('(shown in <code>title</code> regardless)') ?><br />
394             <label>
395             <input type="checkbox" name="show_rating"  value="Y" /> 
396             <?php _e('Rating') ?></label> <br />
397             <label>
398             <input type="checkbox" name="show_updated" value="Y" /> 
399             <?php _e('Updated') ?></label>
400 <?php _e('(shown in <code>title</code> regardless)') ?></td>
401 </tr>
402 <tr>
403         <th scope="row"><?php _e('Sort order:') ?></th>
404         <td>
405         <select name="sort_order" size="1">
406         <option value="name"><?php _e('Name') ?></option>
407         <option value="id"><?php _e('Id') ?></option>
408         <option value="url"><?php _e('URL') ?></option>
409         <option value="rating"><?php _e('Rating') ?></option>
410         <option value="updated"><?php _e('Updated') ?></option>
411         <option value="rand"><?php _e('Random') ?></option>
412         </select>
413         <label>
414         <input type="checkbox" name="sort_desc" value="Y" /> 
415         <?php _e('Descending') ?></label>
416         </td>
417 </tr>
418 <tr>
419         <th scope="row"><?php _e('Limit:') ?></th>
420         <td>
421         <input type="text" name="list_limit" size="5" value="" /> <?php _e('(Leave empty for no limit to number of links shown)') ?>
422         </td>
423 </tr>
424 <tr>
425         <th scope="row"><?php _e('Toggle:') ?></th>
426         <td><label>
427                 <input type="checkbox" name="auto_toggle"  value="Y" /> 
428                 <?php _e('When new link is added toggle all others to be invisible') ?></label></td>
429 </tr>
430
431 </table>
432 </fieldset>
433 <fieldset class="options">
434 <legend><?php _e('Formatting') ?></legend>
435 <table class="editform" width="100%" cellspacing="2" cellpadding="5">
436 <tr>
437         <th width="33%" scope="row"><?php _e('Before Link:') ?></th>
438         <td width="67%"><input type="text" name="text_before_link" size="45" value="&lt;li&gt;" /></td>
439 </tr>
440 <tr>
441 <th scope="row"><?php _e('Between Link and Description:') ?></th>
442 <td><input type="text" name="text_after_link" size="45" value="&lt;br /&gt;" /></td>
443 </tr>
444 <tr>
445 <th scope="row"><?php _e('After Link:') ?></th>
446 <td><input type="text" name="text_after_all" size="45" value="&lt;/li&gt;"/></td>
447 </tr>
448 </table>
449 </fieldset>
450 <p class="submit"><input type="submit" name="submit" value="<?php _e('Add Category &raquo;') ?>" /></p>
451   </form>
452 </div>
453 <div class="wrap">
454     <h3><?php _e('Note:') ?></h3>
455         <p><?php printf(__('Deleting a link category does not delete links from that category.<br />It will just set them back to the default category <strong>%s</strong>.'), get_linkcatname(1)) ?></p>
456 </div>
457 <?php
458     break;
459   } // end default
460 } // end case
461 ?>
462 <?php include('admin-footer.php'); ?>