[ Index ] |
|
Code source de e107 0.7.8 |
1 <?php 2 /* 3 + ----------------------------------------------------------------------------+ 4 | e107 website system 5 | 6 | ©Steve Dunstan 2001-2002 7 | http://e107.org 8 | jalist@e107.org 9 | 10 | Released under the terms and conditions of the 11 | GNU General Public License (http://gnu.org). 12 | 13 | $Source: /cvsroot/e107/e107_0.7/e107_admin/cpage.php,v $ 14 | $Revision: 1.37 $ 15 | $Date: 2007/01/09 20:28:32 $ 16 | $Author: e107steved $ 17 +----------------------------------------------------------------------------+ 18 */ 19 20 require_once ("../class2.php"); 21 22 if (!getperms("5")) { header("location:".e_BASE."index.php"); exit; } 23 24 $e_sub_cat = 'custom'; 25 $e_wysiwyg = "data"; 26 $page = new page; 27 28 require_once ("auth.php"); 29 // require_once(e_HANDLER."ren_help.php"); 30 require_once(e_HANDLER."userclass_class.php"); 31 $custpage_lang = ($sql->mySQLlanguage) ? $sql->mySQLlanguage : $pref['sitelanguage']; 32 33 if (e_QUERY) 34 { 35 $tmp = explode(".", e_QUERY); 36 $action = $tmp[0]; 37 $sub_action = $tmp[1]; 38 $id = $tmp[2]; 39 $from = ($tmp[3] ? $tmp[3] : 0); 40 } 41 42 if(isset($_POST['submitPage'])) 43 { 44 $page -> submitPage(); 45 } 46 47 if(isset($_POST['uploadfiles'])) 48 { 49 50 $page -> uploadPage(); 51 $id = $_POST['pe_id']; 52 $sub_action = ($_POST['pe_id']) ? "edit" : ""; 53 $page -> createPage($_POST['mode']); 54 } 55 56 if(isset($_POST['submitMenu'])) 57 { 58 $page -> submitPage("", TRUE); 59 } 60 61 if(isset($_POST['updateMenu'])) 62 { 63 $page -> submitPage($_POST['pe_id'], TRUE); 64 } 65 66 if(isset($_POST['updatePage'])) 67 { 68 $page -> submitPage($_POST['pe_id']); 69 } 70 71 if(isset($_POST['delete'])) 72 { 73 foreach(array_keys($_POST['delete']) as $pid) 74 { 75 $page -> delete_page($pid); 76 } 77 } 78 79 if (isset($_POST['saveOptions'])) { 80 $page -> saveSettings(); 81 } 82 83 if($page->message) 84 { 85 $ns->tablerender("", "<div style='text-align:center'><b>".$page->message."</b></div>"); 86 } 87 88 if(!e_QUERY) 89 { 90 $page -> showExistingPages(); 91 } 92 else 93 { 94 $function = $action."Page"; 95 $page -> $function(); 96 } 97 98 require_once(e_ADMIN."footer.php"); 99 100 class page 101 { 102 var $message; 103 104 function showExistingPages() 105 { 106 global $sql, $tp, $ns; 107 108 $text = "<div style='text-align: center;'>"; 109 110 if(!$sql -> db_Select("page", "*", "ORDER BY page_datestamp DESC", "nowhere")) 111 { 112 $text .= CUSLAN_42; 113 } 114 else 115 { 116 $pages = $sql -> db_getList('ALL', FALSE, FALSE); 117 $text .= "<form action='".e_SELF."' id='newsform' method='post'> 118 <table style='".ADMIN_WIDTH."' class='fborder'> 119 <tr> 120 <td style='width:5%; text-align: center;' class='fcaption'>ID</td> 121 <td style='width:60%' class='fcaption'>".CUSLAN_1."</td> 122 <td style='width:15%; text-align: center;' class='fcaption'>".CUSLAN_2."</td> 123 <td style='width:20%; text-align: center;' class='fcaption'>".CUSLAN_3."</td> 124 </tr>"; 125 126 foreach($pages as $pge) 127 { 128 $text .= " 129 <tr> 130 <td style='width:5%; text-align: center;' class='forumheader3'>$pge[page_id]</td> 131 <td style='width:60%' class='forumheader3'><a href='".($pge[page_theme] ? e_ADMIN."menus.php" : e_BASE."page.php?{$pge[page_id]}" )."'>$pge[page_title]</a></td> 132 <td style='width:15%; text-align: center;' class='forumheader3'>".($pge[page_theme] ? "menu" : "page")."</td> 133 <td style='width:20%; text-align: center;' class='forumheader3'> 134 <a href='".e_SELF."?".($pge[page_theme] ? "createm": "create").".edit.{$pge[page_id]}'>".ADMIN_EDIT_ICON."</a> 135 <input type='image' title='".LAN_DELETE."' name='delete[{$pge[page_id]}]' src='".ADMIN_DELETE_ICON_PATH."' onclick=\"return jsconfirm('".CUSLAN_4." [ ID: $pge[page_id] ]')\"/> 136 </td> 137 </tr>"; 138 } 139 140 $text .= " 141 </table> 142 </form>"; 143 } 144 145 $text .= " 146 </div>"; 147 148 $ns -> tablerender(CUSLAN_5, $text); 149 } 150 151 function createmPage() 152 { 153 $this -> createPage(TRUE); 154 } 155 156 function uploadPage() 157 { 158 global $pref; 159 $pref['upload_storagetype'] = "1"; 160 require_once(e_HANDLER."upload_handler.php"); 161 $uploaded = file_upload(e_IMAGE."custom/"); 162 } 163 164 function createPage($mode=FALSE) 165 { 166 /* mode: FALSE == page, mode: TRUE == menu */ 167 168 global $sql, $tp, $ns, $pref, $sub_action, $id; 169 170 if ($sub_action == "edit" && !$_POST['preview'] && !$_POST['submit']) 171 { 172 if ($sql->db_Select("page", "*", "page_id='$id' ")) 173 { 174 $row = $sql->db_Fetch(); 175 $page_class = $row['page_class']; 176 $page_password = $row['page_password']; 177 $page_title = $tp -> toFORM($row['page_title']); 178 $page_rating_flag = $row['page_rating_flag']; 179 $page_comment_flag = $row['page_comment_flag']; 180 $page_display_authordate_flag = $row['page_author']; 181 $data = $tp -> toFORM($row['page_text']); 182 $edit = TRUE; 183 } 184 185 if ($sql -> db_Select("links", "*", "link_url='page.php?".$id."'")) 186 { 187 $row = $sql -> db_Fetch(); 188 $page_link = $row['link_name']; 189 } 190 } 191 192 $text = "<div style='text-align:center'> 193 <form method='post' action='".e_SELF."' id='dataform' enctype='multipart/form-data'> 194 <table style='".ADMIN_WIDTH."' class='fborder'>"; 195 196 if($mode) 197 { 198 $text .= "<tr> 199 <td style='width:25%' class='forumheader3'>".CUSLAN_7."</td> 200 <td style='width:75%' class='forumheader3'>"; 201 202 if($edit) 203 { 204 $text .= $page_theme; 205 } 206 else 207 { 208 $text .= "<input class='tbox' type='text' name='menu_name' size='30' value='".$menu_name."' maxlength='50' />"; 209 } 210 211 $text .= "</td> 212 </tr>"; 213 } 214 215 $text .= "<tr> 216 <td style='width:25%' class='forumheader3'>".CUSLAN_8."</td> 217 <td style='width:75%' class='forumheader3'><input class='tbox' type='text' name='page_title' size='50' value='".$page_title."' maxlength='250' /></td> 218 </tr> 219 220 <tr> 221 <td style='width:25%' class='forumheader3'>".CUSLAN_9."</td> 222 <td style='width:75%' class='forumheader3'>"; 223 224 require_once(e_HANDLER."ren_help.php"); 225 $insertjs = (!e_WYSIWYG)?"rows='15' onselect='storeCaret(this);' onclick='storeCaret(this);' onkeyup='storeCaret(this);' style='width:95%'": "rows='25' style='width:100%' "; 226 $data = $tp->toForm($data,FALSE,TRUE); // Make sure we convert HTML tags to entities 227 $text .= "<textarea class='tbox' id='data' name='data' cols='80' $insertjs>".(strstr($data, "[img]http") ? $data : str_replace("[img]../", "[img]", $data))."</textarea>"; 228 229 $text .= "<br />".display_help('',"cpage")."</td> 230 </tr> 231 232 <tr> 233 <td style='width:25%' class='forumheader3'>".LAN_UPLOAD_IMAGES."</td> 234 <td style='width:75%;' class='forumheader3'>".$tp->parseTemplate("{UPLOADFILE=".e_IMAGE."custom/}")."</td> 235 </tr>"; 236 237 if(!$mode) 238 { 239 $text .= " 240 241 242 <tr> 243 <td style='width:25%' class='forumheader3'>".CUSLAN_10."</td> 244 <td style='width:75%;' class='forumheader3'> 245 <input type='radio' name='page_rating_flag' value='1'".($page_rating_flag ? " checked='checked'" : "")." /> ".CUSLAN_38." 246 <input type='radio' name='page_rating_flag' value='0'".($page_rating_flag ? "" : " checked='checked'")." /> ".CUSLAN_39." 247 </td> 248 </tr> 249 250 <tr> 251 <td style='width:25%' class='forumheader3'>".CUSLAN_13."</td> 252 <td style='width:75%;' class='forumheader3'> 253 <input type='radio' name='page_comment_flag' value='1'".($page_comment_flag ? " checked='checked'" : "")." /> ".CUSLAN_38." 254 <input type='radio' name='page_comment_flag' value='0'".($page_comment_flag ? "" : " checked='checked'")." /> ".CUSLAN_39." 255 </td> 256 </tr> 257 258 <tr> 259 <td style='width:25%' class='forumheader3'>".CUSLAN_41."</td> 260 <td style='width:75%;' class='forumheader3'> 261 <input type='radio' name='page_display_authordate_flag' value='1'".($page_display_authordate_flag ? " checked='checked'" : "")." /> ".CUSLAN_38." 262 <input type='radio' name='page_display_authordate_flag' value='0'".($page_display_authordate_flag ? "" : " checked='checked'")." /> ".CUSLAN_39." 263 </td> 264 </tr> 265 266 <tr> 267 <td style='width:25%' class='forumheader3'>".CUSLAN_14."<br /><span class='smalltext'>".CUSLAN_15."</span></td> 268 <td style='width:75%' class='forumheader3'><input class='tbox' type='text' name='page_password' size='20' value='".$page_password."' maxlength='50' /></td> 269 </tr> 270 271 <tr> 272 <td style='width:25%' class='forumheader3'>".CUSLAN_16."<br /><span class='smalltext'>".CUSLAN_17."</span></td> 273 <td style='width:75%' class='forumheader3'><input class='tbox' type='text' name='page_link' size='60' value='".$page_link."' maxlength='50' /></td> 274 </tr> 275 276 <tr> 277 <td style='width:25%' class='forumheader3'>".CUSLAN_18."</td> 278 <td style='width:75%' class='forumheader3'>".r_userclass("page_class", $page_class)."</td> 279 </tr>"; 280 } 281 282 $text .= "<tr> 283 <td colspan='2' style='text-align:center' class='forumheader'>". 284 285 (!$mode ? 286 ($edit ? "<input class='button' type='submit' name='updatePage' value='".CUSLAN_19."' /><input type='hidden' name='pe_id' value='$id' />" : "<input class='button' type='submit' name='submitPage' value='".CUSLAN_20."' />") : 287 ($edit ? "<input class='button' type='submit' name='updateMenu' value='".CUSLAN_21."' /><input type='hidden' name='pe_id' value='$id' />" : "<input class='button' type='submit' name='submitMenu' value='".CUSLAN_22."' />")) 288 289 ."<input type='hidden' name='mode' value='$mode' /> 290 </td> 291 </tr> 292 293 </table> 294 </form> 295 </div>"; 296 297 $caption =(!$mode ? ($edit ? CUSLAN_23 : CUSLAN_24) : ($edit ? CUSLAN_25 : CUSLAN_26)); 298 $ns -> tablerender($caption, $text); 299 } 300 301 302 function submitPage($mode = FALSE, $type=FALSE) 303 { 304 global $sql, $tp, $e107cache; 305 306 $page_title = $tp -> toDB($_POST['page_title']); 307 $page_text = $tp -> toDB($_POST['data']); 308 $pauthor = ($_POST['page_display_authordate_flag'] ? USERID : 0); 309 310 if($mode) 311 { 312 $update = $sql -> db_Update("page", "page_title='$page_title', page_text='$page_text', page_author='$pauthor', page_rating_flag='".intval($_POST['page_rating_flag'])."', page_comment_flag='".intval($_POST['page_comment_flag'])."', page_password='".$_POST['page_password']."', page_class='".$_POST['page_class']."', page_ip_restrict='".$_POST['page_ip_restrict']."' WHERE page_id='$mode'"); 313 $e107cache->clear("page_{$mode}"); 314 $e107cache->clear("page-t_{$mode}"); 315 316 if ($_POST['page_link']) 317 { 318 if ($sql -> db_Select("links", "link_id", "link_url='page.php?".$mode."' && link_name!='".$tp -> toDB($_POST['page_link'])."'")) 319 { 320 $sql -> db_Update("links", "link_name='".$tp -> toDB($_POST['page_link'])."' WHERE link_url='page.php?".$mode."'"); 321 $update++; 322 $e107cache->clear("sitelinks"); 323 } 324 else if (!$sql -> db_Select("links", "link_id", "link_url='page.php?".$mode."'")) 325 { 326 $sql -> db_Insert("links", "0, '".$tp -> toDB($_POST['page_link'])."', 'page.php?".$mode."', '', '', 1, 0, 0, 0, ".$_POST['page_class']); 327 $update++; 328 $e107cache->clear("sitelinks"); 329 } 330 } else { 331 if ($sql -> db_Select("links", "link_id", "link_url='page.php?".$mode."'")) 332 { 333 $sql -> db_Delete("links", "link_url='page.php?".$mode."'"); 334 $update++; 335 $e107cache->clear("sitelinks"); 336 } 337 } 338 admin_update($update, 'update', "Page updated in database."); 339 } 340 else 341 { 342 343 $menuname = ($type ? $tp -> toDB($_POST['menu_name']) : ""); 344 345 admin_update($sql -> db_Insert("page", "0, '$page_title', '$page_text', '$pauthor', '".time()."', '".intval($_POST['page_rating_flag'])."', '".intval($_POST['page_comment_flag'])."', '".$_POST['page_password']."', '".$_POST['page_class']."', '', '".$menuname."'"), 'insert', CUSLAN_27); 346 347 if($type) 348 { 349 $sql -> db_Insert("menus", "0, '$menuname', '0', '0', '0', '', '".mysql_insert_id()."' "); 350 } 351 352 if($_POST['page_link']) 353 { 354 $link = "page.php?".mysql_insert_id(); 355 if (!$sql->db_Select("links", "link_id", "link_name='".$tp -> toDB($_POST['page_link'])."'")) 356 { 357 $linkname = $tp -> toDB($_POST['page_link']); 358 $sql->db_Insert("links", "0, '$linkname', '$link', '', '', 1, 0, 0, 0, ".$_POST['page_class']); 359 $e107cache->clear("sitelinks"); 360 } 361 } 362 } 363 } 364 365 function delete_page($del_id) 366 { 367 global $sql, $e107cache; 368 admin_update($sql -> db_Delete("page", "page_id='$del_id' "), 'delete', CUSLAN_28); 369 $sql -> db_Delete("menus", "menu_path='$del_id' "); 370 if ($sql -> db_Select("links", "link_id", "link_url='page.php?".$del_id."'")) 371 { 372 $sql -> db_Delete("links", "link_url='page.php?".$del_id."'"); 373 $e107cache->clear("sitelinks"); 374 } 375 } 376 377 function optionsPage() 378 { 379 global $ns, $pref; 380 381 if(!isset($pref['pageCookieExpire'])) $pref['pageCookieExpire'] = 84600; 382 383 $text = "<div style='text-align: center; margin-left:auto; margin-right: auto;'> 384 <form method='post' action='".e_SELF."'> 385 <table style='".ADMIN_WIDTH."' class='fborder'> 386 387 <tr> 388 <td style='width:50%' class='forumheader3'>".CUSLAN_29."</td> 389 <td style='width:50%; text-align: right;' class='forumheader3'> 390 <input type='radio' name='listPages' value='1'".($pref['listPages'] ? " checked='checked'" : "")." /> ".CUSLAN_38." 391 <input type='radio' name='listPages' value='0'".($pref['listPages'] ? "" : " checked='checked'")." /> ".CUSLAN_39." 392 </td> 393 </tr> 394 395 <tr> 396 <td style='width:50%' class='forumheader3'>".CUSLAN_30."</td> 397 <td style='width:50%; text-align: right;' class='forumheader3'> 398 <input class='tbox' type='text' name='pageCookieExpire' size='15' value='".$pref['pageCookieExpire']."' maxlength='10' /> 399 </td> 400 </tr> 401 402 <tr> 403 <td colspan='2' style='text-align:center' class='forumheader'> 404 <input class='button' type='submit' name='saveOptions' value='".CUSLAN_40."' /> 405 </td> 406 </tr> 407 </table> 408 </form> 409 </div>"; 410 411 $ns->tablerender("Options", $text); 412 } 413 414 415 function saveSettings() 416 { 417 global $pref; 418 $pref['listPages'] = $_POST['listPages']; 419 $pref['pageCookieExpire'] = $_POST['pageCookieExpire']; 420 save_prefs(); 421 $this -> message = "Settings saved."; 422 } 423 424 function show_options($action) 425 { 426 if ($action == "") 427 { 428 $action = "main"; 429 } 430 $var['main']['text'] = CUSLAN_11; 431 $var['main']['link'] = e_SELF; 432 433 $var['create']['text'] = CUSLAN_12; 434 $var['create']['link'] = e_SELF."?create"; 435 436 $var['createm']['text'] = CUSLAN_31; 437 $var['createm']['link'] = e_SELF."?createm"; 438 439 $var['options']['text'] = LAN_OPTIONS; 440 $var['options']['link'] = e_SELF."?options"; 441 442 443 show_admin_menu(CUSLAN_33, $action, $var); 444 } 445 } 446 447 function cpage_adminmenu() { 448 global $page; 449 global $action; 450 $page -> show_options($action); 451 } 452 453 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Apr 1 01:23:32 2007 | par Balluche grâce à PHPXref 0.7 |