source: trunk/www.guidonia.net/wp/wp-content/plugins/odlinks/admin/odl_admin_settings.php@ 44

Last change on this file since 44 was 44, checked in by luciano, 14 years ago
File size: 15.3 KB
Line 
1<?php
2
3/*
4 * odl_functions.php
5 * wordpress plugin website directory project
6 * This file contains the ODLinks functions
7 * @author website: http://www.forgani.com
8 * @copyright Copyright 2008, Mohammad Forgani
9 * @version 1.0
10 * @link
11*/
12
13function process_odlinkssettings(){
14 global $_GET, $_POST, $wp_rewrite, $PHP_SELF, $wpdb, $table_prefix, $odlinksversion, $wp_version;
15
16 $odlinkssettings = get_option('odlinksdata');
17
18 switch ($_GET['odlinks_admin_action']){
19 case "savesettings":
20 foreach ($_POST["odlinksdata"] as $k=>$v){
21 $_POST["odlinksdata"][$k] = stripslashes($v);
22 }
23 $_POST['odlinksdata']['odlinksinstalled'] = 'y';
24 $_POST['odlinksdata']['odlinksversion'] = $odlinksversion;
25 $odl_new_slug = $_POST['odlinksdata']['odlinksslug'];
26 $odlinkssettings = get_option('odlinksdata');
27 $odl_slug_check = $wpdb->get_results("SELECT post_name FROM {$table_prefix}posts WHERE post_name = '".$wpdb->escape($odl_new_slug)."'");
28 $odl_slug_checked = $odl_slug_check[0];
29 $odlinkswp_pageinfo = $wpdb->get_row("SELECT * FROM {$table_prefix}posts WHERE post_title = '[[ODLINKS]]'", ARRAY_A);
30
31 if ($odlinkswp_pageinfo["post_title"]!="[[ODLINKS]]"){
32 $odlinkswp_pageinfo = odlinkscreate_page();
33 }
34
35 $msg = "Settings Updated.";
36
37 if($odl_new_slug!=$odlinkssettings['odlinksslug']){
38 if($odl_slug_checked->post_name!=$odl_new_slug){
39 $wpdb->query("UPDATE {$table_prefix}posts SET post_name = '".$odl_new_slug."' WHERE post_title = '[[ODLINKS]]'");
40 $msg ="Settings Updated.";
41 }else{
42 $msg ="Settings Updated but a Slug exists with the name: ".$odl_new_slug."<br />"."Try Again.";
43 $_POST['odlinksdata']['odlinksslug'] = $odlinkssettings['odlinksslug'];
44 }
45 }
46
47 $odlinksnew_settings = array();
48 $odlinksnew_settings = $_POST['odlinksdata'];
49 update_option('odlinksdata', $odlinksnew_settings);
50 $wp_rewrite->flush_rules();
51 odlinkscheck_db();
52 $odlinkssettings = get_option('odlinksdata');
53 break;
54 }
55
56 odlinksinstall();
57
58 if ($msg!=''){
59 ?>
60 <div id="message" class="updated fade">
61 <?php echo $msg;?>
62 </div>
63 <?php
64 }
65
66 $odlinkssettings = get_option('odlinksdata');
67
68 $selflink = ($wp_rewrite->get_page_permastruct()=="")?"<a href=\"".get_bloginfo('url')."/index.php?pagename=".$odlinkssettings['odlinksslug']."\">".get_bloginfo('url')."/index.php?pagename=".$odlinkssettings['odlinksslug']."</a>":"<a href=\"".get_bloginfo('url')."/".$odlinkssettings['odlinksslug']."/\">".get_bloginfo('url')."/".$odlinkssettings['odlinksslug']."/</a>";
69
70 $pageinfo = odlinksget_pageinfo();
71 ?>
72 <div class="wrap">
73 <h2>General Settings</h2>
74 <p>
75 <form method="post" id="odl_form_post" name="odl_form_post" action="<?php echo $PHP_SELF;?>?page=odlinks&odlinks_admin_page_arg=<?php echo $_GET['odlinks_admin_page_arg'];?>&odlinks_admin_action=savesettings">
76 <input type="hidden" name="odlinksdata[odlinksversion]" value="<?php echo $odlinksversion;?>">
77 <table border="0" class="editform">
78 <tr>
79 <th align="right">odlinks Version:</th>
80 <td><?php echo $odlinksversion;?></td>
81 </tr>
82 <tr><th align="right">WordPress Version:</th>
83 <td><?php echo $wp_version;?></td>
84 </tr>
85 <tr><th align="right">odlinks URL:</th>
86 <td><?php echo $selflink;?></td>
87 </tr>
88 <tr><th align="right">odlinks Slug:</th>
89 <td><input type="text" size="25" name="odlinksdata[odlinksslug]" value="<?php echo str_replace('"', "&quot;", stripslashes($odlinkssettings['odlinksslug']));?>">
90 </td>
91 </tr>
92 <tr>
93 <th align="right">&nbsp;</th>
94 <td><input type="checkbox" name="odlinksdata[odlinksshow_credits]" value="y"<?php echo ($odlinkssettings['odlinksshow_credits']=='y')?" checked":"";?>> Display odlinks credit line at the bottom of ODLinks pages
95 </td>
96 </tr>
97 <tr>
98 <th align="right">ODLinks Page Link Name:</th>
99 <td><input type="text" name="odlinksdata[page_link_title]" value="<?php echo $odlinkssettings['page_link_title'];?>">
100 </td>
101 </tr>
102 <tr><th align="right">Number Of 'Last Links':</th>
103 <td>
104 <input type="text" size="4" name="odlinksdata[odlinks_last_links_num]" value="<?php echo ($odlinkssettings['odlinks_last_links_num']);?>" onchange="this.value=this.value*1;">
105 </td>
106 </tr>
107 <tr><th align="right">&nbsp;</th>
108 <td><input type="checkbox" name="odlinksdata[odlinks_last_links]" value="y"<?php echo ($odlinkssettings['odlinks_last_links']=='y')?" checked":"";?>> Display 'Last Links' Post.
109 </td>
110 </tr>
111 <tr><th align="right">Excerpt Length:</th>
112 <td><input type="text" size="4" name="odlinksdata[odlinks_excerpt_length]" value="<?php echo ($odlinkssettings['odlinks_excerpt_length']);?>" onchange="this.value=this.value*1;">
113 </td>
114 </tr>
115 <tr><th align="right">Display # of new/updated links:</th>
116 <td><input type="text" size="4" name="odlinksdata[odlinks_new_links]" value="<?php echo ($odlinkssettings['odlinks_new_links']);?>" onchange="this.value=this.value*1;">
117 </td>
118 </tr>
119 <tr><th align="right">of subcategories under each category link:</th>
120 <td><input type="text" size="4" name="odlinksdata[odlinks_sub_cat_num]" value="<?php echo ($odlinkssettings['odlinks_sub_cat_num']);?>" onchange="this.value=this.value*1;">
121 </td>
122 </tr>
123 <tr><th align="right">of subcategories to display under each category:</th>
124 <td><input type="text" size="4" name="odlinksdata[odlinks_num_links]" value="<?php echo ($odlinkssettings['odlinks_num_links']);?>" onchange="this.value=this.value*1;">
125 </td>
126 </tr>
127
128 <tr><th align="right">number of links per page to display in categories:</th>
129 <td><input type="text" size="4" name="odlinksdata[odlinks_num_pages]" value="<?php echo ($odlinkssettings['odlinks_num_pages']);?>" onchange="this.value=this.value*1;">
130 </td>
131 </tr>
132
133 <tr><th align="right">ODLinks Top Image:</th>
134 <td><input type="text" size="25" name="odlinksdata[odlinks_top_image]" value="<?php echo ($odlinkssettings['odlinks_top_image']);?>">
135 </td>
136 </tr>
137
138 <tr><th align="right">Show the confirmation code: </th>
139 <td><input type=checkbox name="odlinksdata[confirmation_code]" value="y"<?php echo ($odlinkssettings['confirmation_code']=='y')?" checked":"";?>></td>
140 </tr>
141 <tr><td colspan=2><hr /><strong>Google AdSense for Open Directory Links</strong><hr /></td></tr>
142 <?php
143 //for upgrade versions
144 if (!$odlinkssettings[GADcolor_border]) $odlinkssettings[GADcolor_border]= 'FFFFFF';
145 if (!$odlinkssettings[GADcolor_link]) $odlinkssettings[GADcolor_link]= '0000FF';
146 if (!$odlinkssettings[GADcolor_bg]) $odlinkssettings[GADcolor_bg]= 'FFFFFF';
147 if (!$odlinkssettings[GADcolor_text]) $odlinkssettings[GADcolor_text]= '000000';
148 if (!$odlinkssettings[GADcolor_url]) $odlinkssettings[GADcolor_url]= 'FF0000';
149 if (!$odlinkssettings[GADposition]) $odlinkssettings[GADposition]= 'btn';
150 if (!$odlinkssettings[GADproduct]) $odlinkssettings[GADproduct]= 'link';
151 if (!$odlinkssettings[googleID]) $odlinkssettings[googleID] = 'pub-2844370112691023';
152 $GADpos = array ('top' => 'top','btn' => 'bottom', 'bth' => 'both','no' => 'none');
153 ?>
154 <tr>
155 <th align="right" valign="top"><a href='https://www.google.com/adsense/' target='google'>Google AdSense Account ID: </a></th>
156 <td><input type='text' name='odlinksdata[googleID]' id='odlinksdata[googleID]' value="<?php echo ($odlinkssettings['googleID']);?>" size='22' /><br><span class="smallTxt"> example: no, pub-2844370112691023 or ...
157 </span></td></tr>
158 <tr>
159 <th align="right" valign="top">Google Ad Position: </th>
160 <td>
161 <select name="odlinksdata[GADposition]" tabindex="1">
162 <?php
163 foreach($GADpos as $key=>$value) {
164 if ($key == $odlinkssettings[GADposition]) {
165 echo "\n<option value='$key' selected='selected'>$value</option>\n";
166 } else {
167 echo "\n<option value='$key'>$value</option>\n";
168 }
169 }
170 ?>
171 </select>&nbsp;&nbsp;<span class="smallTxt">(If this value is assigned to 'none' then the Google Ads will not show up)</small>
172 </td>
173 </tr>
174
175 <?php
176 $share = '10'; // my smallest cut on ad revenue is 10% -
177 while($share<101){
178 if($share==$odlinkssettings['share']){
179 $share_list .= "<option value='$share' selected='selected'>$share%\n";
180 }else{
181 $share_list .= "<option value='$share'>$share%\n";
182 }
183 ++$share;
184 }
185 ?>
186 <tr>
187 <th align="right" valign="top"><label>Plugin Author Ad Share: </label></th>
188 <td>
189 <select name='odlinksdata[share]'><?php echo $share_list;?></select>
190 </td>
191 </tr>
192
193 <?php
194 $odlinkssettings[GADproduct] = 'link';
195 $lformats=array ('728x15' => '728 x 15', '468x15' => '468 x 15');
196 ?>
197
198 <th align="right" valign="top"><label>Link Format: </label></th>
199 <td><select name="odlinksdata[GADLformat]">
200 <?php
201 foreach($lformats as $key=>$value) {
202 if ($key == $odlinkssettings[GADLformat]) {
203 echo "\n<option value='$key' selected='selected'>$value</option>\n";
204 } else {
205 echo "\n<option value='$key'>$value</option>\n";
206 }
207 }
208 ?>
209 </select></td>
210 </tr>
211 <tr><th align="right">Ad Colours: </th><td></td></tr>
212 <tr><td colspan=2 align="center">
213 <table><tr>
214 <td>Border: </td>
215 <td><input name='odlinksdata[GADcolor_border]' id='odlinksdata[GADcolor_border]' size='6' value='<?php echo $odlinkssettings[GADcolor_border]; ?>'/>
216 </td>
217 <td>Title/Link: </td>
218 <td><input name='odlinksdata[GADcolor_link]' id='odlinksdata[GADcolor_link]' size='6' value='<?php echo $odlinkssettings[GADcolor_link]; ?>'/>
219 </td>
220 <td>Background: </td>
221 <td><input name='odlinksdata[GADcolor_bg]' id='odlinksdata[GADcolor_bg]' size='6' value='<?php echo $odlinkssettings[GADcolor_bg]; ?>'/>
222 </td>
223 <td>Text: </td>
224 <td><input name='odlinksdata[GADcolor_text]' id='odlinksdata[GADcolor_text]' size='6' value='<?php echo $odlinkssettings[GADcolor_text]; ?>'/>
225 </td>
226 <td>URL: </td>
227 <td><input name='odlinksdata[GADcolor_url]' id='odlinksdata[GADcolor_url]' size='6' value='<?php echo $odlinkssettings[GADcolor_url]; ?>'/>
228 </td>
229 </tr>
230 </th></tr></table>
231 </td></tr>
232 <tr><td colspan=2><HR /></td></tr>
233 <tr><th>&nbsp;</th>
234 <td><p><input type="submit" value="Update ODLinks Settings"></p></td>
235 </tr>
236 </table>
237 </form>
238 </p></div>
239 <?php
240}
241
242function odlinksinstall(){
243 global $odlinksversion;
244
245 $odlinkssettings = get_option('odlinksdata');
246 $odlinkssettings['odlinksversion'] = $odlinksversion;
247
248 if ($odlinkssettings['odlinksinstalled']!='y'){
249 $odlinkssettings['odlinksinstalled'] = 'y';
250 $odlinkssettings['userfield'] = odlinksget_namefield();
251 $odlinkssettings['odlinksadd_into_pages'] = 'y';
252 $odlinkssettings['odlinksshow_credits'] = 'y';
253 $odlinkssettings['odlinksread_blog'] = 'y';
254 $odlinkssettings['odlinksslug'] = 'odlinks';
255 $odlinkssettings['page_link_title'] = 'Open Directory Links';
256 $odlinkssettings['odlinkstheme'] = 'default';
257 $odlinkssettings['odlinks_display_titles'] = 'y';
258
259 $odlinkssettings['odlinks_top_image'] = '';
260 $odlinkssettings['odlinks_display_last_links'] = 'y';
261 $odlinkssettings['odlinks_display_last_post_link'] = 'y';
262 $odlinkssettings['odlinks_last_links_num'] = 5;
263 $odlinkssettings['odlinks_excerpt_length'] = 100;
264 $odlinkssettings['odlinks_last_links'] = "y";
265 $odlinkssettings['confirmation_code']="y";
266 $odlinkssettings['odlinks_new_links'] = '10';
267 $odlinkssettings['odlinks_sub_cat_num'] = '10';
268 $odlinkssettings['odlinks_num_links'] = '4';
269 $odlinkssettings['odlinks_num_pages'] = '10';
270 $odlinkssettings['odlinks_search_log'] = '25';
271//
272
273 $odlinkssettings['odlinks_description'] = '';
274 $odlinkssettings['odlinks_keywords'] = 'dummy';
275
276 $odlinkssettings['googleID'] = 'pub-2844370112691023';
277 $odlinkssettings['GADproduct'] = 'link';
278 $odlinkssettings['GADLformat'] = '468x15';
279 $odlinkssettings['GADtype'] = 'text';
280 $odlinkssettings[GADcolor_border]= 'FFFFFF';
281 $odlinkssettings[GADcolor_link]= '0000FF';
282 $odlinkssettings[GADcolor_bg]= 'E4F2FD';
283 $odlinkssettings[GADcolor_text]= '000000';
284 $odlinkssettings[GADcolor_url]= 'FF0000';
285 $odlinkssettings[GADposition] = 'btn';
286 }
287
288 update_option('odlinksdata', $odlinkssettings);
289}
290
291function odlinkscheck_db(){
292 odlinksupdate_db();
293}
294
295function odlinksupdate_db(){
296 global $wpdb, $table_prefix, $odlinksversion;
297
298 $odlinkssql[$table_prefix.'odcategories'] = "CREATE TABLE {$table_prefix}odcategories (
299 c_id int(11) NOT NULL auto_increment,
300 c_parent int(11) NOT NULL default '0',
301 c_position int(11) NOT NULL default '0',
302 c_name varchar(150) NOT NULL,
303 c_title varchar(150) NOT NULL,
304 c_description text NOT NULL,
305 c_text text NOT NULL,
306 c_date date,
307 c_keywords text,
308 c_status enum('active','inactive','readonly') NOT NULL default 'active',
309 c_hide enum('hidden','visible') NOT NULL default 'visible',
310 c_links int(11) NOT NULL default '0',
311 c_posts int(11) NOT NULL default '0',
312 c_rss text,
313 PRIMARY KEY (c_id),
314 KEY c_parent (c_parent)
315 );";
316
317 $odlinkssql[$table_prefix.'odbanned'] = "CREATE TABLE {$table_prefix}odbanned (
318 b_id int(11) NOT NULL auto_increment,
319 c_domain text NOT NULL,
320 PRIMARY KEY (b_id)
321 );";
322
323/*
324 CREATE TABLE search_log (
325 id int(11) NOT NULL auto_increment,
326 date date NOT NULL default '0000-00-00',
327 matches int(11) NOT NULL default '0',
328 text text NOT NULL,
329 PRIMARY KEY (id),
330 FULLTEXT KEY text (text)
331) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
332
333*/
334 $odlinkssql[$table_prefix.'odlinks'] = "CREATE TABLE {$table_prefix}odlinks (
335 l_id int(11) NOT NULL auto_increment,
336 l_c_id int(11) NOT NULL default '0',
337 l_date date,
338 l_subject varchar(255) NOT NULL default '',
339 l_description text NOT NULL default '',
340 l_url varchar(255) NOT NULL default '',
341 l_posts int(11) NOT NULL default '0',
342 l_views int(11) NOT NULL default '0',
343 l_sticky enum('y','n') NOT NULL default 'n',
344 l_status enum('closed','deleted','open') NOT NULL default 'open',
345 l_hide enum('hidden','visible') NOT NULL default 'visible',
346 l_author_name varchar(100) NOT NULL default '',
347 l_author_ip varchar(15) NOT NULL default '',
348 l_author_mail varchar(64) NOT NULL default '',
349 l_recip tinyint(4) NOT NULL default '0',
350 l_title varchar(255),
351 l_google_rank varchar(255),
352 PRIMARY KEY (l_id)
353 );";
354
355 $odlinkssql[$table_prefix.'odpages'] = "CREATE TABLE {$table_prefix}odpages (
356 p_id int(11) NOT NULL auto_increment,
357 p_l_id int(11) NOT NULL default '0',
358 p_url text NOT NULL,
359 p_title text NOT NULL,
360 p_description text NOT NULL,
361 p_google_rank tinyint(4) NOT NULL default '0',
362 p_recip tinyint(4) NOT NULL default '0',
363 p_date int(20) NOT NULL default '0',
364 p_size int(32) NOT NULL default '0',
365 PRIMARY KEY (p_id)
366 );";
367
368 $odlinkssql[$table_prefix.'odnew_links'] = "CREATE TABLE {$table_prefix}odnew_links (
369 n_id int(11) NOT NULL auto_increment,
370 n_url text NOT NULL,
371 n_title text NOT NULL,
372 n_description text NOT NULL,
373 n_email tinytext NOT NULL,
374 n_category int(11) NOT NULL default '0',
375 PRIMARY KEY (n_id)
376 );";
377
378
379 $tabs = $wpdb->get_results("SHOW TABLES", ARRAY_N);
380
381 $tables = array();
382
383 for ($i=0; $i<count($tabs); $i++){
384 $tables[] = $tabs[$i][0];
385 }
386
387 @reset($odlinkssql);
388
389 while (list($k, $v) = @each($odlinkssql)){
390 if (!@in_array($k, $tables)){
391 echo " - create table: " . $k . "<br />";
392 $wpdb->query($v);
393 }
394 }
395}
396
397function odlinksget_namefield(){
398 global $wpdb, $table_prefix, $wp_version;
399 if ($user_field == false){
400 $tcols = $wpdb->get_results("SHOW COLUMNS FROM {$table_prefix}users", ARRAY_A);
401 $cols = array();
402 for ($i=0; $i<count($tcols); $i++){
403 $cols[] = $tcols[$i]['Field'];
404 }
405 if (in_array("display_name", $cols)){
406 $wpc_user_field = "display_name";
407 $wp_version = "2";
408 } else {
409 $wpc_user_field = "user_nickname";
410 $wp_version = "1";
411 }
412 }
413 return $user_field;
414}
415
416
417?>
Note: See TracBrowser for help on using the repository browser.