1 | <?php
|
---|
2 |
|
---|
3 | /**
|
---|
4 | * odl_admin_structure.php
|
---|
5 | *
|
---|
6 | * This file handles the Administration of the Categories
|
---|
7 | *
|
---|
8 | * @author Mohammad Forgani
|
---|
9 | * @copyright Copyright 2008, Oh Jung-Su
|
---|
10 | * @version 1.0
|
---|
11 | * @link http://www.forgani.com
|
---|
12 | **/
|
---|
13 |
|
---|
14 | function process_odlinksstructure(){
|
---|
15 | global $_GET, $_POST, $table_prefix, $PHP_SELF, $wpdb;
|
---|
16 | $odlinkssettings = get_option('odlinksdata');
|
---|
17 | $view = true;
|
---|
18 | $id = $_GET['c_id']*1;
|
---|
19 | if (!$id) $id=0;
|
---|
20 | echo '<div class="wrap"><h2>ODLinks Sturcture - Add/Edit Categories</h2><p>';
|
---|
21 | switch ($_GET['odlinks_admin_action']){
|
---|
22 | case "saveCategory":
|
---|
23 | if ($id==0){
|
---|
24 | $today = date("Y-m-d");
|
---|
25 | if ($_POST['odlinksdata']['c_hide']=='y'){
|
---|
26 | $c_hide = "hidden";
|
---|
27 | }else{$c_hide = "visible";}
|
---|
28 | $position = $wpdb->get_var("SELECT MAX(c_position) FROM {$table_prefix}odcategories")+1;
|
---|
29 | $sql = "INSERT INTO {$table_prefix}odcategories (c_parent, c_name, c_title, c_description, c_keywords, c_position, c_status, c_hide, c_date) values ('".($_POST['odlinksdata']['c_parent']*1)."', '".$wpdb->escape($_POST['odlinksdata']['c_name'])."', '".$wpdb->escape($_POST['odlinksdata']['c_title'])."', '".$wpdb->escape($_POST['odlinksdata']['c_description'])."', '".$wpdb->escape($_POST['odlinksdata']['c_keywords'])."', '".$position."', '".$wpdb->escape($_POST['odlinksdata']['c_status'])."', '".$c_hide."', '".$today."')";
|
---|
30 | $wpdb->query($sql);
|
---|
31 | } else {
|
---|
32 | if ($_POST['odlinksdata']['c_hide']=='y'){
|
---|
33 | $c_hide = "hidden";
|
---|
34 | } else{
|
---|
35 | $c_hide = "visible";
|
---|
36 | }
|
---|
37 | $sql = "UPDATE {$table_prefix}odcategories SET c_status = '".$wpdb->escape($_POST['odlinksdata']['c_status'])."', c_hide = '".$c_hide."', c_parent = '".($_POST['odlinksdata']['c_parent']*1)."', c_title = '".$wpdb->escape(stripslashes($_POST['odlinksdata']['c_title']))."', c_name = '".$wpdb->escape(stripslashes($_POST['odlinksdata']['c_name']))."', c_status = '".$wpdb->escape(stripslashes($_POST['odlinksdata']['c_status']))."', c_hide = '".$c_hide."', c_description = '".$wpdb->escape(stripslashes($_POST['odlinksdata']['c_description']))."' WHERE c_id = '".($_GET['c_id']*1)."'";
|
---|
38 | $wpdb->query($sql);
|
---|
39 | }
|
---|
40 | $msg ="Category Saved.";
|
---|
41 | break;
|
---|
42 | case "editCategory":
|
---|
43 | odl_edit_category($id);
|
---|
44 | $view = false;
|
---|
45 | break;
|
---|
46 | case "deleteCategory":
|
---|
47 | if ($id<>0) {
|
---|
48 | $wpdb->query("DELETE FROM {$table_prefix}odcategories WHERE c_id = '".($id)."'");
|
---|
49 | $wpdb->query("DELETE FROM {$table_prefix}odlinks WHERE l_c_id = '".($id)."'");
|
---|
50 | }
|
---|
51 | break;
|
---|
52 | }
|
---|
53 |
|
---|
54 | if ($msg!=''){
|
---|
55 | ?>
|
---|
56 | <div id="message" class="updated fade"><?php echo $msg;?></div>
|
---|
57 | <?php
|
---|
58 | }
|
---|
59 | if ($view) odl_view_category(0);
|
---|
60 | echo '</div>';
|
---|
61 | }
|
---|
62 |
|
---|
63 |
|
---|
64 |
|
---|
65 | function odl_edit_category($id) {
|
---|
66 | global $_GET, $_POST, $table_prefix, $PHP_SELF, $wpdb;
|
---|
67 | $odlinkssettings = get_option('odlinksdata');
|
---|
68 | $odCategories = $wpdb->get_row("SELECT * FROM {$table_prefix}odcategories WHERE c_id = '".($id)."'", ARRAY_A);
|
---|
69 | ?>
|
---|
70 | <P>
|
---|
71 | <style type="text/css">
|
---|
72 | fieldset {
|
---|
73 | padding: 1em;
|
---|
74 | font:12px;
|
---|
75 | font-weight:bold;
|
---|
76 | border:1px solid #ddd;
|
---|
77 | }
|
---|
78 | label {
|
---|
79 | float:left;
|
---|
80 | width:25%;
|
---|
81 | margin-right:0.5em;
|
---|
82 | padding-top:0.2em;
|
---|
83 | text-align:right;
|
---|
84 | font-weight:bold;}
|
---|
85 | </style>
|
---|
86 |
|
---|
87 | <form method="post" id="odl_form_post" name="odl_form_post" action="<?php echo $PHP_SELF;?>?page=odlinksstructure&odlinks_admin_page_arg=<?php echo $_GET['odlinks_admin_page_arg'];?>&odlinks_admin_action=saveCategory&c_id=<?php echo $id; ?>">
|
---|
88 | <fieldset>
|
---|
89 | <legend>Edit Category</legend>
|
---|
90 | <label>Category title:</label>
|
---|
91 | <input type="text" size="50" name="odlinksdata[c_title]" value="<?php echo $odCategories['c_title'];?>">
|
---|
92 | <br>
|
---|
93 | <label>Category name:</label>
|
---|
94 | <input type="text" size="50" name="odlinksdata[c_name]" value="<?php echo $odCategories['c_name'];?>">
|
---|
95 | <br>
|
---|
96 | <label>Category description:</label>
|
---|
97 | <textarea name="odlinksdata[c_description]" rows="3" cols="48"><?php echo $odCategories['c_description'];?></textarea>
|
---|
98 | <br>
|
---|
99 | <label>Category keywords:</label>
|
---|
100 | <input type="text" size="50" name="odlinksdata[c_keywords]" value="<?php echo $odCategories['c_keywords'];?>">
|
---|
101 | <br>
|
---|
102 | <label>Parent category:</label>
|
---|
103 | <select name="odlinksdata[c_parent]">
|
---|
104 | <option value="0">root/ </option>
|
---|
105 | <?php odl_list_cats(0,0,$odCategories['c_id'],$odCategories['c_parent']); ?>
|
---|
106 | </select>
|
---|
107 | <br>
|
---|
108 | <label>Category Status</label>
|
---|
109 | <select name="odlinksdata[c_status]"><option value="active">Open</option>
|
---|
110 | <option value="inactive"<?php echo ($odCategories['c_status']=='inactive')?" selected":"";?>>Closed</option>
|
---|
111 | <option value="readonly"<?php echo ($odCategories['c_status']=='readonly')?" selected":"";?>>Read-Only</option>
|
---|
112 | </select>
|
---|
113 | <br>
|
---|
114 | <label> </label>
|
---|
115 | <input type="checkbox" name="odlinksdata[c_hide]" value="y"<?php echo ($odCategories['c_hide']=='hidden')?" checked":"";?>> -Hide Category?
|
---|
116 | <P>
|
---|
117 | <label> </label>
|
---|
118 | <input type="submit" value="Save category"> <input type=button value="Cancel" onclick="history.go(-1);"> </fieldset>
|
---|
119 | </form>
|
---|
120 | <P>
|
---|
121 | <?php
|
---|
122 | }
|
---|
123 |
|
---|
124 |
|
---|
125 |
|
---|
126 | function odl_view_category($id) {
|
---|
127 | global $_GET, $_POST, $table_prefix, $PHP_SELF, $wpdb;
|
---|
128 | $odlinkssettings = get_option('odlinksdata');
|
---|
129 | $categoy_status = array(active=>"Open",inactive=>"Closed",readonly=>"Read-Only");
|
---|
130 | ?>
|
---|
131 | <input type="button" value="Add Category" onclick="document.location.href='<?php echo $PHP_SELF;?>?page=odlinksstructure&odlinks_admin_page_arg=<?php echo $_GET['odlinks_admin_page_arg'];?>&odlinks_admin_action=editCategory&c_id=0';">
|
---|
132 | <hr>
|
---|
133 | <img src="<?php echo get_bloginfo('wpurl'); ?>/wp-content/plugins/odlinks/images/delete.png"> - delete category, including subcategories and all links within.<p>
|
---|
134 |
|
---|
135 | <table style="width: 100%; background-color:#fafafa; border:1px #C0C0C0 solid; border-spacing:1px;">
|
---|
136 | <tr><td>
|
---|
137 | <table width="100%" style="border:1px #C0C0C0 solid;">
|
---|
138 | <tr style="background-color:#ccc">
|
---|
139 | <td style="border:1px #C0C0C0 solid; padding-left:2px; background-color:#ccc"><img border=0 src="<?php echo get_bloginfo('wpurl'); ?>/wp-content/plugins/odlinks/images/edit.gif"> Title / Name</td>
|
---|
140 | <td style="border:1px #C0C0C0 solid; padding-left:2px; background-color:#ccc" width="150">Number of links</td>
|
---|
141 | <td nowrap style="border:1px #C0C0C0 solid; padding-left:2px; background-color:#ccc">Date</td>
|
---|
142 | <td style="border:1px #C0C0C0 solid; padding-left:2px; background-color:#ccc">Delete</td>
|
---|
143 | </tr>
|
---|
144 | <?php odl_main_cats($id,0,$orderby,$how);?>
|
---|
145 | </table></td>
|
---|
146 | </tr></table>
|
---|
147 | </table>
|
---|
148 | <?php
|
---|
149 | } // odl_view_category
|
---|
150 |
|
---|
151 |
|
---|
152 | function odl_list_cats($parent, $lev, $exclude, $selected) {
|
---|
153 | global $table_prefix, $wpdb;
|
---|
154 | $out = "";
|
---|
155 | if ($lev == 0) {
|
---|
156 | echo "\n";
|
---|
157 | }
|
---|
158 | $space = "";
|
---|
159 | for ($x = 0; $x < $lev; $x++) {
|
---|
160 | $space .= " - ";
|
---|
161 | }
|
---|
162 | $categories = $wpdb->get_results("SELECT * FROM {$table_prefix}odcategories WHERE c_parent = '$parent' ORDER BY c_title ASC");
|
---|
163 | for ($i=0; $i<count($categories); $i++){
|
---|
164 | $category = $categories[$i];
|
---|
165 | $res = $wpdb->get_row("SELECT * FROM {$table_prefix}odlinks WHERE l_c_id = '".$category->c_id."'", ARRAY_A);
|
---|
166 | $linksNum = count($res);
|
---|
167 | $id = $category->c_id;
|
---|
168 | $title = $category->c_title;
|
---|
169 | $sel = "";
|
---|
170 | if($id == $selected){$sel = " selected ";}
|
---|
171 | if($id != $exclude){echo "<option $sel value=\"$id\">$space$title ($linksNum)</option>";}
|
---|
172 | $out = odl_list_cats($id, $lev + 1, $exclude, $selected);
|
---|
173 | }
|
---|
174 | return $out;
|
---|
175 | }
|
---|
176 |
|
---|
177 |
|
---|
178 | function odl_main_cats($parent,$lev,$orderby,$how) {
|
---|
179 | global $table_prefix, $wpdb;
|
---|
180 | $out = "";
|
---|
181 | if($lev == 0){print "\n";}
|
---|
182 | if(!$how){$how = "ASC";}
|
---|
183 | if($orderby <> "c_date"){$orderby = "c_title";}
|
---|
184 | $space = "";
|
---|
185 |
|
---|
186 | ?>
|
---|
187 | <script language=javascript>
|
---|
188 | <!--
|
---|
189 | function deleteCategory(x, y){
|
---|
190 | if (confirm("<?php echo ("Are you sure you wish to delete the Category"); ?>\n"+x)){
|
---|
191 | document.location.href = y;
|
---|
192 | }
|
---|
193 | }
|
---|
194 | //-->
|
---|
195 | </script>
|
---|
196 | <?
|
---|
197 |
|
---|
198 | for($x=0;$x<$lev;$x++){
|
---|
199 | $space .= " ";
|
---|
200 | }
|
---|
201 | $sql = "SELECT * FROM {$table_prefix}odcategories WHERE c_parent = $parent ORDER BY $orderby $how";
|
---|
202 | $categories = $wpdb->get_results($sql);
|
---|
203 | for ($i=0; $i<count($categories); $i++){
|
---|
204 | $category = $categories[$i];
|
---|
205 | $linksCnt = $wpdb->get_row("SELECT count(l_id) as count FROM {$table_prefix}odlinks WHERE l_c_id = '".$category->c_id."'", ARRAY_A);
|
---|
206 | $linksNum = $linksCnt['count'];
|
---|
207 | $id = $category->c_id;
|
---|
208 | $title = $category->c_title;
|
---|
209 | $name = $category->c_name;
|
---|
210 | $categoy_status = array(active=>"Open",inactive=>"Closed",readonly=>"Read-Only");
|
---|
211 |
|
---|
212 | $status = $categoy_status[$category->c_status];
|
---|
213 | echo '<tr bgcolor="#F0F0F0" onMouseOver="this.bgColor="#FFFFFF";" onMouseOut="this.bgColor="#E9E9E9";">';
|
---|
214 | echo '<td style="background-color:#E9E9E9"> ' . $space;
|
---|
215 | ?>
|
---|
216 | <a style="text-decoration: none;" href="<?php echo $PHP_SELF;?>?page=odlinksstructure&odlinks_admin_page_arg=<?php echo $_GET['odlinks_admin_page_arg'];?>&odlinks_admin_action=editCategory&c_id=<?php echo $id;?>"><?php echo ($title . " / " . $name); ?></a>
|
---|
217 | <?php
|
---|
218 | echo "<span class=\"font-size:8px;\">(" . $status;
|
---|
219 | echo ($tfs->c_hide=='hidden')?" and Hidden":"";
|
---|
220 | echo ")</span></td>";
|
---|
221 |
|
---|
222 | echo '<td style="background-color:#E9E9E9">(<a href="'. $PHP_SELF .'?page=odlinksstructure&odlinks_admin_page_arg=' . $_GET['odlinks_admin_page_arg'] .'&odlinks_admin_action=viewCategory&c_id=' .$category->c_parent. '">'. $linksNum .'</a>)</td>';
|
---|
223 | echo '<td>'.$category->c_date.'</td>';
|
---|
224 | ?>
|
---|
225 | <td style="background-color:#E9E9E9"><a style="text-decoration: none;" href="javascript:deleteCategory('<?php echo rawurlencode($category->c_title . " " . $category->c_name );?>', '<?php echo $PHP_SELF;?>?page=odlinksstructure&odlinks_admin_page_arg=<?php echo $_GET['odlinks_admin_page_arg'];?>&odlinks_admin_action=deleteCategory&c_id=<?php echo $id;?>');"><img border=0 src="<?php echo get_bloginfo('wpurl'); ?>/wp-content/plugins/odlinks/images/delete.png"></a></td></tr>
|
---|
226 | <?php
|
---|
227 | $print = odl_main_cats($id,$lev + 1,$orderby,$how);
|
---|
228 | }
|
---|
229 | return $out;
|
---|
230 | }
|
---|
231 |
|
---|
232 | ?>
|
---|