Changeset 864 in ExiteCMS for trunk/administration/forums.php
- Timestamp:
- 10/03/07 21:38:21 (5 years ago)
- File:
-
- 1 edited
-
trunk/administration/forums.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/administration/forums.php
r834 r864 16 16 require_once PATH_ROOT."/includes/theme_functions.php"; 17 17 18 // load the locale for this module18 // load the locales for this module 19 19 include PATH_LOCALE.LOCALESET."admin/forums.php"; 20 include PATH_LOCALE.LOCALESET."admin/forum_polls.php"; 20 21 21 22 // temp storage for template variables … … 34 35 if (!isset($action)) $action = ""; 35 36 if (!isset($t)) $t = ""; 37 38 // create the forum polls default global settings if not defined 39 $result = dbquery("SELECT * FROM ".$db_prefix."forum_poll_settings WHERE forum_id = '0'"); 40 if (dbrows($result) == 0) { 41 // create a default global settings record 42 $data = array('forum_id' => 0, 43 'enable_polls' => 0, 44 'create_permissions' => "", 45 'vote_permissions' => "", 46 'guest_permissions' => 0, 47 'require_approval' => 0, 48 'lock_threads' => 0, 49 'option_max' => 0, 50 'option_show' => 0, 51 'option_increment' => 0, 52 'duration_min' => 0, 53 'duration_max' => 0, 54 'hide_poll' => 0 55 ); 56 // and store them 57 $result = dbquery("INSERT INTO ".$db_prefix."forum_poll_settings 58 (forum_id, enable_polls, create_permissions, vote_permissions, guest_permissions, require_approval, lock_threads, 59 option_max, option_show, option_increment, duration_min, duration_max, hide_poll) VALUES 60 ('0', '".$data['enable_polls']."', '".$data['create_permissions']."', '".$data['vote_permissions']."', 61 '".$data['guest_permissions']."', '".$data['require_approval']."', '".$data['lock_threads']."', 62 '".$data['option_max']."', '".$data['option_show']."', '".$data['option_increment']."', '".$data['duration_min']."', 63 '".$data['duration_max']."', '".$data['hide_poll']."')" 64 ); 65 } 36 66 37 67 // refresh the forum order … … 90 120 $variables = array(); 91 121 } 122 123 // save forum settings? 124 if (isset($_POST['save_settings']) && !isset($_POST['reset'])) { 125 // validate the input 126 $enable_polls = isset($_POST['enable_polls']) && $_POST['enable_polls'] == 1 ? 1 : 0; 127 $same_voters = isset($_POST['same_voters']) ? 1 : 0; 128 $same_creators = isset($_POST['same_creators']) ? 1 : 0; 129 $temp_array = isset($_POST['create_groups']) ? explode(",", $_POST['create_groups']) : ""; 130 $temp_array2 = array(); 131 for($i = 0; $i < count($temp_array); $i ++) { 132 if (isNum($temp_array[$i])) { $temp_array2[] = "G".$temp_array[$i]; } 133 } 134 $temp_array = isset($_POST['create_users']) ? explode(",", $_POST['create_users']) : ""; 135 for($i = 0; $i < count($temp_array); $i ++) { 136 if (isNum($temp_array[$i])) { $temp_array2[] = $temp_array[$i]; } 137 } 138 $temp_array = isset($_POST['vote_groups']) ? explode(",", $_POST['vote_groups']) : ""; 139 $temp_array3 = array(); 140 for($i = 0; $i < count($temp_array); $i ++) { 141 if (isNum($temp_array[$i])) { $temp_array3[] = "G".$temp_array[$i]; } 142 } 143 $temp_array = isset($_POST['vote_users']) ? explode(",", $_POST['vote_users']) : ""; 144 for($i = 0; $i < count($temp_array); $i ++) { 145 if (isNum($temp_array[$i])) { $temp_array3[] = $temp_array[$i]; } 146 } 147 $create_array = $same_creators == 1 ? array_merge_recursive($temp_array2, $temp_array3) : $temp_array2; 148 $vote_array = $same_voters == 1 ? array_merge_recursive($temp_array2, $temp_array3) : $temp_array3; 149 sort($create_array); sort($vote_array); 150 $create_permissions = implode(".", $create_array); 151 $vote_permissions = implode(".", $vote_array); 152 $guest_permissions = isset($_POST['guest_permissions']) && isNum($_POST['guest_permissions']) && $_POST['guest_permissions'] < 3 ? $_POST['guest_permissions'] : 0; 153 $require_approval = isset($_POST['require_approval']) && $_POST['require_approval'] == 1 ? 1 : 0; 154 $lock_threads = isset($_POST['lock_threads']) && $_POST['lock_threads'] == 1 ? 1 : 0; 155 $option_max = isset($_POST['option_max']) && isNum($_POST['option_max']) ? $_POST['option_max'] : 10; 156 $option_show = isset($_POST['option_show']) && isNum($_POST['option_show']) ? $_POST['option_show'] : 5; 157 $option_increment = isset($_POST['option_increment']) && isNum($_POST['option_increment']) ? $_POST['option_increment'] : 5; 158 $duration_min = isset($_POST['duration_min']) && isNum($_POST['duration_min']) && $_POST['duration_min'] >= 1 ? $_POST['duration_min'] : 1; 159 $duration_max = isset($_POST['duration_max']) && isNum($_POST['duration_max']) ? $_POST['duration_max'] : 0; 160 $hide_poll = isset($_POST['hide_poll']) && $_POST['hide_poll'] == 1 ? 1 : 0; 161 // check if this record already exists 162 $result = dbquery("SELECT * FROM ".$db_prefix."forum_poll_settings WHERE forum_id = '$forum_id'"); 163 if (dbrows($result) != 0) { 164 $result = dbquery("UPDATE ".$db_prefix."forum_poll_settings SET forum_id = '$forum_id', 165 enable_polls = '".$enable_polls."', create_permissions = '".$create_permissions."', 166 vote_permissions = '".$vote_permissions."', guest_permissions = '".$guest_permissions."', 167 require_approval = '".$require_approval."', lock_threads = '".$lock_threads."', 168 option_max = '".$option_max."', option_show = '".$option_show."', 169 option_increment = '".$option_increment."', duration_min = '".($duration_min * 86400)."', 170 duration_max = '".($duration_max * 86400)."', hide_poll = '".$hide_poll."' WHERE forum_id='$forum_id'" 171 ); 172 } else { 173 $result = dbquery("INSERT INTO ".$db_prefix."forum_poll_settings 174 (forum_id, enable_polls, create_permissions, vote_permissions, guest_permissions, require_approval, lock_threads, 175 option_max, option_show, option_increment, duration_min, duration_max, hide_poll) VALUES 176 ('$forum_id', '".$enable_polls."', '".$create_permissions."', '".$vote_permissions."', 177 '".$guest_permissions."', '".$require_approval."', '".$lock_threads."', 178 '".$option_max."', '".$option_show."', '".$option_increment."', '".($duration_min*86400)."', 179 '".($duration_max*86400)."', '".$hide_poll."')" 180 ); 181 } 182 unset($forum_id); 183 } elseif (isset($_POST['reset'])) { 184 // delete the record (force to use globals again) 185 $result = dbquery("DELETE FROM ".$db_prefix."forum_poll_settings WHERE forum_id = '$forum_id'"); 186 } 92 187 93 188 if (isset($_POST['save_cat'])) { … … 293 388 if (isset($ug)) unset($ug); 294 389 if ($user_group['0'] == "0") { 295 $ug = array('id' => $user_group['0'], 'name' => ' ');390 $ug = array('id' => $user_group['0'], 'name' => ' '); 296 391 } else { 297 392 if ($user_group['0'] < 100) { … … 357 452 } 358 453 454 // get the info for the edit settings panel 455 if (isset($forum_id)) { 456 457 // get the name of the forum 458 $result = dbquery("SELECT * FROM ".$db_prefix."forums WHERE forum_id = '$forum_id'"); 459 if ($forum = dbarray($result)) { 460 $variables['forum_name'] = $forum['forum_name']; 461 } else { 462 fallback(BASEDIR."index.php"); 463 } 464 465 // get the poll settings for this forum. If they don't exist, get the defaults. If the don't exist, make some up! 466 $result = dbquery("SELECT * FROM ".$db_prefix."forum_poll_settings WHERE forum_id = '$forum_id'"); 467 if ($data = dbarray($result)) { 468 // found 469 $data['duration_min'] = floor($data['duration_min']/86400); 470 $data['duration_max'] = floor($data['duration_max']/86400); 471 } else { 472 // not found, get the globals 473 $result = dbquery("SELECT * FROM ".$db_prefix."forum_poll_settings WHERE forum_id = '0'"); 474 if ($data = dbarray($result)) { 475 // found 476 $data['duration_min'] = floor($data['duration_min']/86400); 477 $data['duration_max'] = floor($data['duration_max']/86400); 478 } else { 479 // not found either. something's wrong... 480 fallback(BASEDIR."index.php"); 481 } 482 } 483 // make sure the record has the correct forum_id 484 $data['forum_id'] = $forum_id; 485 // store the record for use on the template 486 $variables['settings'] = $data; 487 488 // create the group and user arrays 489 $fp_group_array = array( 490 array(103, $locale['user3']), 491 array(102, $locale['user2']), 492 array(101, $locale['user1']) 493 ); 494 $result = dbquery("SELECT * FROM ".$db_prefix."user_groups ORDER BY group_name"); 495 if (dbrows($result) != 0) { 496 while ($fp_group_data = dbarray($result)) { 497 $fp_group_array[] = array($fp_group_data['group_id'], $fp_group_data['group_name']); 498 } 499 } 500 $variables['create_group_1'] = array(); 501 $variables['create_group_2'] = array(); 502 while(list($key, $fp_group) = each($fp_group_array)){ 503 $group_id = $fp_group['0']; 504 if (!preg_match("(^G{$group_id}$|^G{$group_id}\.|\.G{$group_id}\.|\.G{$group_id}$)", $data['create_permissions'])) { 505 $variables['create_group_1'][] = array($fp_group['0'], $fp_group['1']); 506 } else { $variables['create_group_2'][] = array($fp_group['0'], $fp_group['1']); } 507 unset($group_id); 508 } 509 unset($fp_group); 510 511 reset($fp_group_array); 512 $variables['vote_group_1'] = array(); 513 $variables['vote_group_2'] = array(); 514 while(list($key, $fp_group) = each($fp_group_array)){ 515 $group_id = $fp_group['0']; 516 if (!preg_match("(^G{$group_id}$|^G{$group_id}\.|\.G{$group_id}\.|\.G{$group_id}$)", $data['vote_permissions'])) { 517 $variables['vote_group_1'][] = array($fp_group['0'], $fp_group['1']); 518 } else { $variables['vote_group_2'][] = array($fp_group['0'], $fp_group['1']); } 519 unset($group_id); 520 } 521 522 $variables['create_user_1'] = array(); 523 $variables['create_user_2'] = array(); 524 $result = dbquery("SELECT user_id,user_name FROM ".$db_prefix."users ORDER BY user_level DESC, user_name"); 525 while ($fp_user_data = dbarray($result)) { 526 $fp_user_array[] = $fp_user_data; 527 $user_id = $fp_user_data['user_id']; 528 if (!preg_match("(^{$user_id}$|^{$user_id}\.|\.{$user_id}\.|\.{$user_id}$)", $data['create_permissions'])) { 529 $variables['create_user_1'][] = array($fp_user_data['user_id'], $fp_user_data['user_name']); 530 } else { $variables['create_user_2'][] = array($fp_user_data['user_id'], $fp_user_data['user_name']); } 531 unset($user_id); 532 } 533 unset($fp_user_data); 534 535 $variables['vote_user_1'] = array(); 536 $variables['vote_user_2'] = array(); 537 while(list($key, $fp_user_data) = each($fp_user_array)){ 538 $user_id = $fp_user_data['user_id']; 539 if (!preg_match("(^{$user_id}$|^{$user_id}\.|\.{$user_id}\.|\.{$user_id}$)", $data['vote_permissions'])) { 540 $variables['vote_user_1'][] = array($fp_user_data['user_id'], $fp_user_data['user_name']); 541 } else { $variables['vote_user_2'][] = array($fp_user_data['user_id'], $fp_user_data['user_name']); } 542 unset($user_id); 543 } 544 if ($forum_id != 0 && count($variables['create_group_2']) == 0) { 545 $variables['create_group_2'][] = array($forum['forum_posting'], getgroupname($forum['forum_posting'])); 546 } 547 if ($forum_id != 0 && count($variables['vote_group_2']) == 0) { 548 $variables['vote_group_2'][] = array($forum['forum_posting'], getgroupname($forum['forum_posting'])); 549 } 550 } 551 359 552 // define the admin body panel 360 $template_panels[] = array('type' => 'body', 'name' => 'admin.forums', 'template' => 'admin.forums.tpl', 'locale' => PATH_LOCALE.LOCALESET."admin/forums.php");553 $template_panels[] = array('type' => 'body', 'name' => 'admin.forums', 'template' => 'admin.forums.tpl', 'locale' => array(PATH_LOCALE.LOCALESET."admin/forums.php",PATH_LOCALE.LOCALESET."admin/forum_polls.php")); 361 554 $template_variables['admin.forums'] = $variables; 362 555
Note: See TracChangeset
for help on using the changeset viewer.
