| punbb-1.1.2/upload/admin_options.php |
punbb-1.1.5/upload/admin_options.php |
| 94: $form['maintenance'] = '0'; | 94: $form['maintenance'] = '0'; |
| 95: } | 95: } |
| 96: | 96: |
| | 97: $form['timeout_visit'] = intval($form['timeout_visit']); |
| | 98: $form['timeout_online'] = intval($form['timeout_online']); |
| | 99: $form['redirect_delay'] = intval($form['redirect_delay']); |
| | 100: $form['flood_interval'] = intval($form['flood_interval']); |
| | 101: $form['topic_review'] = intval($form['topic_review']); |
| | 102: $form['disp_topics_default'] = intval($form['disp_topics_default']); |
| | 103: $form['disp_posts_default'] = intval($form['disp_posts_default']); |
| | 104: $form['indent_num_spaces'] = intval($form['indent_num_spaces']); |
| | 105: $form['avatars_width'] = intval($form['avatars_width']); |
| | 106: $form['avatars_height'] = intval($form['avatars_height']); |
| | 107: $form['avatars_size'] = intval($form['avatars_size']); |
| 97: | 108: |
| 98: while (list($key, $input) = @each($form)) | 109: while (list($key, $input) = @each($form)) |
| 99: { | 110: { |
| 100: // Only update values that have changed | 111: // Only update values that have changed |
| 101: if ($pun_config['o_'.$key] != $input) | 112: if ($pun_config['o_'.$key] != $input) |
| 102: { | 113: { |
| 103: if ($input != '') | 114: if ($input != '' || is_int($input)) |
| 104: $value = '\''.escape($input).'\''; | 115: $value = '\''.escape($input).'\''; |
| 105: else | 116: else |
| 106: $value = 'NULL'; | 117: $value = 'NULL'; |
| punbb-1.1.2/upload/admin_permissions.php |
punbb-1.1.5/upload/admin_permissions.php |
| 38: | 38: |
| 39: $form = array_map('trim', $_POST['form']); | 39: $form = array_map('trim', $_POST['form']); |
| 40: | 40: |
| | 41: $form['sig_length'] = intval($form['sig_length']); |
| | 42: $form['sig_lines'] = intval($form['sig_lines']); |
| | 43: |
| 41: while (list($key, $input) = @each($form)) | 44: while (list($key, $input) = @each($form)) |
| 42: { | 45: { |
| 43: // Only update values that have changed | 46: // Only update values that have changed |
| 44: if ($pun_config['p_'.$key] != $input) | 47: if ($pun_config['p_'.$key] != $input) |
| 45: { | 48: { |
| 46: if ($input != '') | 49: if ($input != '' || is_int($input)) |
| 47: $value = '\''.escape($input).'\''; | 50: $value = '\''.escape($input).'\''; |
| 48: else | 51: else |
| 49: $value = 'NULL'; | 52: $value = 'NULL'; |
| punbb-1.1.2/upload/header.php |
punbb-1.1.5/upload/header.php |
| 23: ************************************************************************/ | 23: ************************************************************************/ |
| 24: | 24: |
| 25: | 25: |
| | 26: // Make sure no one attempts to run this script "directly" |
| | 27: if (!defined('PUN')) |
| | 28: exit; |
| | 29: |
| 26: // Send no-cache headers | 30: // Send no-cache headers |
| 27: header('Cache-Control: no-store, no-cache, must-revalidate'); | 31: //header('Cache-Control: no-store, no-cache, must-revalidate'); |
| 28: header('Cache-Control: post-check=0, pre-check=0', false); | 32: header('Cache-Control: post-check=0, pre-check=0', false); |
| 29: header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); | 33: header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); |
| 30: header('Expires: Thu, 21 Jul 1977 07:30:00 GMT'); // When yours truly first set eyes on this world! :) | 34: header('Expires: Thu, 21 Jul 1977 07:30:00 GMT'); // When yours truly first set eyes on this world! :) |
| punbb-1.1.2/upload/include/common_admin.php |
punbb-1.1.5/upload/include/common_admin.php |
| 82: // | 82: // |
| 83: function prune($forum_id, $prune_sticky, $prune_date) | 83: function prune($forum_id, $prune_sticky, $prune_date) |
| 84: { | 84: { |
| 85: global $db; | 85: global $pun_root, $db; |
| 86: | 86: |
| 87: $extra_sql = ($prune_date != -1) ? ' AND last_post<'.$prune_date : ''; | 87: $extra_sql = ($prune_date != -1) ? ' AND last_post<'.$prune_date : ''; |
| 88: | 88: |
| 111: $db->query('DELETE FROM '.$db->prefix.'posts WHERE id IN('.$post_ids.')') or error('Unable to prune posts', __FILE__, __LINE__, $db->error()); | 111: $db->query('DELETE FROM '.$db->prefix.'posts WHERE id IN('.$post_ids.')') or error('Unable to prune posts', __FILE__, __LINE__, $db->error()); |
| 112: | 112: |
| 113: // We removed a bunch of posts, so now we have to update the search index | 113: // We removed a bunch of posts, so now we have to update the search index |
| 114: require $pun_root.'include/search_idx.php'; | 114: require_once $pun_root.'include/search_idx.php'; |
| 115: strip_search_index($post_ids); | 115: strip_search_index($post_ids); |
| 116: } | 116: } |
| 117: } | 117: } |
| punbb-1.1.2/upload/include/functions.php |
punbb-1.1.5/upload/include/functions.php |
| 328: if ($user['title'] != '') | 328: if ($user['title'] != '') |
| 329: $user_title = pun_htmlspecialchars($user['title']); | 329: $user_title = pun_htmlspecialchars($user['title']); |
| 330: // If the user is banned | 330: // If the user is banned |
| 331: else if (in_array(strtolower($user['username']), $ban_list)) | 331: else if (in_array(strtolower($user['username']), $ban_list, true)) |
| 332: $user_title = $lang_common['Banned']; | 332: $user_title = $lang_common['Banned']; |
| 333: else if ($user['status'] <= PUN_USER) | 333: else if ($user['status'] <= PUN_USER) |
| 334: { | 334: { |
| 607: { | 607: { |
| 608: global $pun_config, $lang_common; | 608: global $pun_config, $lang_common; |
| 609: | 609: |
| 610: if (!preg_match('#^'.preg_quote($pun_config['o_base_url'].'/'.$script, '#').'#i', $_SERVER['HTTP_REFERER'])) | 610: if (!preg_match('#^'.preg_quote(str_replace('www.', '', $pun_config['o_base_url']).'/'.$script, '#').'#i', str_replace('www.', '', $_SERVER['HTTP_REFERER']))) |
| 611: message($lang_common['Bad referer']); | 611: message($lang_common['Bad referer']); |
| 612: } | 612: } |
| 613: | 613: |
| punbb-1.1.2/upload/include/parser.php |
punbb-1.1.5/upload/include/parser.php |
| 173: { | 173: { |
| 174: global $cur_user; | 174: global $cur_user; |
| 175: | 175: |
| 176: $full_url = $url; | 176: $full_url = str_replace(' ', '%20', $url); |
| 177: if (strpos($url, 'www.') === 0) | 177: if (strpos($url, 'www.') === 0) |
| 178: $full_url = 'http://'.$full_url; | 178: $full_url = 'http://'.$full_url; |
| 179: else if (strpos($url, 'ftp.') === 0) | 179: else if (strpos($url, 'ftp.') === 0) |
| 180: $full_url = 'ftp://'.$full_url; | 180: $full_url = 'ftp://'.$full_url; |
| | 181: else if (!preg_match('#^([a-z]{3,5})://#', $url)) |
| | 182: $full_url = 'http://'.$full_url; |
| 181: | 183: |
| 182: // Ok, not very pretty :-) | 184: // Ok, not very pretty :-) |
| 183: $link = ($link == '' || $link == $url) ? ((strlen($url) > 55) ? substr($url, 0 , 39).' ... '.substr($url, -10) : $url) : stripslashes($link); | 185: $link = ($link == '' || $link == $url) ? ((strlen($url) > 55) ? substr($url, 0 , 39).' ... '.substr($url, -10) : $url) : stripslashes($link); |
| punbb-1.1.2/upload/include/search_idx.php |
punbb-1.1.5/upload/include/search_idx.php |
| 43: | 43: |
| 44: if (empty($noise_match)) | 44: if (empty($noise_match)) |
| 45: { | 45: { |
| 46: $noise_match = array('^', '$', '&', '(', ')', '<', '>', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '-', '~', '+', '.', '[', ']', '{', '}', ':', '\\', '/', '=', '#', ';', '!', '*'); | 46: $noise_match = array('quote', 'code', 'url', 'img', 'email', 'color', 'colour', '^', '$', '&', '(', ')', '<', '>', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '-', '~', '+', '.', '[', ']', '{', '}', ':', '\\', '/', '=', '#', ';', '!', '*'); |
| 47: $noise_replace = array(' ', ' ', ' ', ' ', ' ', ' ', ' ', '', '', ' ', ' ', ' ', ' ', '', ' ', ' ', '', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '' , ' ', ' ', ' ', ' ', ' ', ' '); | 47: $noise_replace = array('', '', '', '', '', '', '', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '', '', ' ', ' ', ' ', ' ', '', ' ', ' ', '', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '' , ' ', ' ', ' ', ' ', ' ', ' '); |
| 48: | 48: |
| 49: $stopwords = @file('lang/'.$language.'/'.$language.'_stopwords.txt'); | 49: $stopwords = @file('lang/'.$language.'/'.$language.'_stopwords.txt'); |
| 50: } | 50: } |
| punbb-1.1.2/upload/lang/en/en_edit.php |
punbb-1.1.5/upload/lang/en/en_edit.php |
| 12: 'No caps message' => 'Messages must not contain only capital letters and special characters in this forum.', | 12: 'No caps message' => 'Messages must not contain only capital letters and special characters in this forum.', |
| 13: | 13: |
| 14: // Miscellaneous | 14: // Miscellaneous |
| 15: 'Show smilies' => 'Show smilies', | 15: 'Show smilies' => 'Convert smilies to icons', |
| 16: 'Silent edit' => 'Silent edit (don\'t display "Edited by ..." in topic view)', | 16: 'Silent edit' => 'Silent edit (don\'t display "Edited by ..." in topic view)', |
| 17: 'Edit message' => 'Edit message', | 17: 'Edit message' => 'Edit message', |
| 18: 'Edit redirect' => 'Post updated. Redirecting ...' | 18: 'Edit redirect' => 'Post updated. Redirecting ...' |
| punbb-1.1.2/upload/lang/en/en_post.php |
punbb-1.1.5/upload/lang/en/en_post.php |
| 8: 'Too long subject' => 'Subjects cannot be longer than 70 characters.', | 8: 'Too long subject' => 'Subjects cannot be longer than 70 characters.', |
| 9: 'No caps subject' => 'Subjects must not contain only capital letters and special characters in this forum.', | 9: 'No caps subject' => 'Subjects must not contain only capital letters and special characters in this forum.', |
| 10: 'No message' => 'You must enter a message.', | 10: 'No message' => 'You must enter a message.', |
| 11: 'Too long message' => 'Posts cannot be longer that 65535 characters (64 Kb).', | 11: 'Too long message' => 'Posts cannot be longer that 65535 characters (64 KB).', |
| 12: 'No caps message' => 'Messages must not contain only capital letters and special characters in this forum.', | 12: 'No caps message' => 'Messages must not contain only capital letters and special characters in this forum.', |
| 13: | 13: |
| 14: // Miscellaneous | 14: // Miscellaneous |
| 15: 'Post redirect' => 'Post entered. Redirecting ...', | 15: 'Post redirect' => 'Post entered. Redirecting ...', |
| 16: 'Post a reply' => 'Post a reply', | 16: 'Post a reply' => 'Post a reply', |
| 17: 'Post new topic' => 'Post new topic', | 17: 'Post new topic' => 'Post new topic', |
| 18: 'Show smilies' => 'Show smilies as icons', | 18: 'Show smilies' => 'Convert smilies to icons', |
| 19: 'Subscribe' => 'Subscribe to this topic', | 19: 'Subscribe' => 'Subscribe to this topic', |
| 20: 'Topic review' => 'Topic review (newest first)', | 20: 'Topic review' => 'Topic review (newest first)', |
| 21: 'Flood start' => 'At least', | 21: 'Flood start' => 'At least', |
| punbb-1.1.2/upload/moderate.php |
punbb-1.1.5/upload/moderate.php |
| 316: $moved_to = $db->fetch_assoc($result); | 316: $moved_to = $db->fetch_assoc($result); |
| 317: | 317: |
| 318: // Create the redirect topic | 318: // Create the redirect topic |
| 319: $db->query('INSERT INTO '.$db->prefix.'topics (poster, subject, posted, last_post, moved_to, forum_id) VALUES(\''.$moved_to['poster'].'\', \''.$moved_to['subject'].'\', '.$moved_to['posted'].', '.$moved_to['last_post'].', '.$cur_topic.', '.$fid.')') or error('Unable to create redirect topic', __FILE__, __LINE__, $db->error()); | 319: $db->query('INSERT INTO '.$db->prefix.'topics (poster, subject, posted, last_post, moved_to, forum_id) VALUES(\''.addslashes($moved_to['poster']).'\', \''.addslashes($moved_to['subject']).'\', '.$moved_to['posted'].', '.$moved_to['last_post'].', '.$cur_topic.', '.$fid.')') or error('Unable to create redirect topic', __FILE__, __LINE__, $db->error()); |
| 320: } | 320: } |
| 321: } | 321: } |
| 322: | 322: |
| punbb-1.1.2/upload/post.php |
punbb-1.1.5/upload/post.php |
| 40: message($lang_post['Flood start'].' '.$pun_config['o_flood_interval'].' '.$lang_post['flood end']); | 40: message($lang_post['Flood start'].' '.$pun_config['o_flood_interval'].' '.$lang_post['flood end']); |
| 41: | 41: |
| 42: // Make sure form_user is correct | 42: // Make sure form_user is correct |
| 43: if (($cookie['is_guest'] && $_POST['form_user'] != 'Guest') || (!$cookie['is_guest'] && $_POST['form_user'] != $cur_user['username'])) | 43: if (($cookie['is_guest'] && $_POST['form_user'] != 'Guest') || (!$cookie['is_guest'] && unescape($_POST['form_user']) != $cur_user['username'])) |
| 44: message($lang_common['Bad request']); | 44: message($lang_common['Bad request']); |
| 45: | 45: |
| 46: $smilies = $_POST['smilies']; | 46: $smilies = $_POST['smilies']; |
| 110: else | 110: else |
| 111: { | 111: { |
| 112: $username = trim(unescape($_POST['req_username'])); | 112: $username = trim(unescape($_POST['req_username'])); |
| 113: $email = trim($_POST['req_email']); | 113: $email = strtolower(trim($_POST['req_email'])); |
| 114: | 114: |
| 115: // Load the register.php/profile.php language files | 115: // Load the register.php/profile.php language files |
| 116: require $pun_root.'lang/'.$language.'/'.$language.'_prof_reg.php'; | 116: require $pun_root.'lang/'.$language.'/'.$language.'_prof_reg.php'; |
| punbb-1.1.2/upload/profile.php |
punbb-1.1.5/upload/profile.php |
| 603: if ($cur_user['id'] != $id && $cur_user['status'] < PUN_MOD) | 603: if ($cur_user['id'] != $id && $cur_user['status'] < PUN_MOD) |
| 604: message($lang_common['No permission']); | 604: message($lang_common['No permission']); |
| 605: | 605: |
| 606: $form = $_POST['form']; | 606: // Extract elements from $_POST['form'] |
| | 607: $wanted_elements = array('realname', 'url', 'icq', 'msn', 'aim', 'yahoo', 'location', 'use_avatar', 'disp_topics', 'disp_posts', 'timezone', 'email_setting', 'save_pass', 'notify_with_post', 'smilies', 'show_img', 'show_avatars', 'show_sig', 'link_to_new_win', 'style'); |
| | 608: $form = array(); |
| | 609: |
| | 610: while (list($key, $value) = @each($_POST['form'])) |
| | 611: { |
| | 612: if (in_array($key, $wanted_elements)) |
| | 613: $form[$key] = $value; |
| | 614: } |
| 607: | 615: |
| 608: | 616: |
| 609: if ($cur_user['status'] > PUN_USER) | 617: if ($cur_user['status'] > PUN_USER) |
| 615: | 623: |
| 616: if (strlen($username) < 2) | 624: if (strlen($username) < 2) |
| 617: message($lang_prof_reg['Username too short']); | 625: message($lang_prof_reg['Username too short']); |
| | 626: else if (pun_strlen($username) > 25) // This usually doesn't happen since the form element only accepts 25 characters |
| | 627: message($lang_common['Bad request']); |
| 618: else if (!strcasecmp($username, 'Guest') || !strcasecmp($username, $lang_common['Guest'])) | 628: else if (!strcasecmp($username, 'Guest') || !strcasecmp($username, $lang_common['Guest'])) |
| 619: message($lang_prof_reg['Username guest']); | 629: message($lang_prof_reg['Username guest']); |
| 620: else if (preg_match('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/', $username)) | 630: else if (preg_match('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/', $username)) |
| 672: $form['url'] = 'http://'.$form['url']; | 682: $form['url'] = 'http://'.$form['url']; |
| 673: | 683: |
| 674: // If the ICQ UIN contains anything other than digits it's invalid | 684: // If the ICQ UIN contains anything other than digits it's invalid |
| 675: if ($form['icq'] != '' && preg_match('/[^0-9]/', $form[icq])) | 685: if ($form['icq'] != '' && preg_match('/[^0-9]/', $form['icq'])) |
| 676: message($lang_prof_reg['Bad ICQ']); | 686: message($lang_prof_reg['Bad ICQ']); |
| 677: | 687: |
| 678: | 688: |
| 1043: </tr> | 1053: </tr> |
| 1044: <?php endif; ?> <tr> | 1054: <?php endif; ?> <tr> |
| 1045: <td class="puncon1right" style="width: 140px; white-space: nowrap"> | 1055: <td class="puncon1right" style="width: 140px; white-space: nowrap"> |
| 1046: <?php echo $lang_prof_reg['Signature'] ?> <br><br> | 1056: <?php echo $lang_profile['Signature'] ?> <br><br> |
| 1047: <a href="help.php#bbcode" target="_blank"><?php echo $lang_common['BBCode'] ?></a>: <?php echo ($pun_config['p_sig_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?> <br> | 1057: <a href="help.php#bbcode" target="_blank"><?php echo $lang_common['BBCode'] ?></a>: <?php echo ($pun_config['p_sig_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?> <br> |
| 1048: <a href="help.php#img" target="_blank"><?php echo $lang_common['img tag'] ?></a>: <?php echo ($pun_config['p_sig_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?> <br> | 1058: <a href="help.php#img" target="_blank"><?php echo $lang_common['img tag'] ?></a>: <?php echo ($pun_config['p_sig_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?> <br> |
| 1049: <a href="help.php#smilies" target="_blank"><?php echo $lang_common['Smilies'] ?></a>: <?php echo ($pun_config['o_smilies_sig'] == '1') ? $lang_common['on'] : $lang_common['off']; ?> <br> | 1059: <a href="help.php#smilies" target="_blank"><?php echo $lang_common['Smilies'] ?></a>: <?php echo ($pun_config['o_smilies_sig'] == '1') ? $lang_common['on'] : $lang_common['off']; ?> <br> |
| punbb-1.1.2/upload/register.php |
punbb-1.1.5/upload/register.php |
| 102: // Validate username and passwords | 102: // Validate username and passwords |
| 103: if (strlen($username) < 2) | 103: if (strlen($username) < 2) |
| 104: message($lang_prof_reg['Username too short']); | 104: message($lang_prof_reg['Username too short']); |
| | 105: else if (pun_strlen($username) > 25) // This usually doesn't happen since the form element only accepts 25 characters |
| | 106: message($lang_common['Bad request']); |
| 105: else if (strlen($password1) < 4) | 107: else if (strlen($password1) < 4) |
| 106: message($lang_prof_reg['Pass too short']); | 108: message($lang_prof_reg['Pass too short']); |
| 107: else if ($password1 != $password2) | 109: else if ($password1 != $password2) |
| punbb-1.1.2/upload/search.php |
punbb-1.1.5/upload/search.php |
| 53: | 53: |
| 54: | 54: |
| 55: // Detect two byte character sets | 55: // Detect two byte character sets |
| 56: $multibyte = (in_array($lang_common['lang_encoding'], array('utf-8', 'gb2312', 'big5', 'shift_jis', 'euc-kr'))) ? true : false; | 56: $multibyte = (isset($lang_common['lang_multibyte']) && $lang_common['lang_multibyte']) ? true : false; |
| 57: | 57: |
| 58: | 58: |
| 59: // Figure out what to do :-) | 59: // Figure out what to do :-) |
| 188: while (list(, $word) = @each($stopwords)) | 188: while (list(, $word) = @each($stopwords)) |
| 189: { | 189: { |
| 190: $word = trim($word); | 190: $word = trim($word); |
| 191: if ($word != 'and' || $word != 'or' || $word != 'not') | 191: if ($word != 'and' && $word != 'or' && $word != 'not') |
| 192: $keywords = preg_replace('#\b'.preg_quote($word).'\b#', ' ', $keywords); | 192: $keywords = preg_replace('#\b'.preg_quote($word).'\b#', ' ', $keywords); |
| 193: } | 193: } |
| 194: } | 194: } |
| 564: if ($search_set[$i]['poster_id'] > 1) | 564: if ($search_set[$i]['poster_id'] > 1) |
| 565: $pposter = '<a href="profile.php?id='.$search_set[$i]['poster_id'].'">'.$pposter.'</a>'; | 565: $pposter = '<a href="profile.php?id='.$search_set[$i]['poster_id'].'">'.$pposter.'</a>'; |
| 566: | 566: |
| 567: if (pun_strlen($message) == 140) | 567: if (pun_strlen($message) >= 140) |
| 568: $message .= ' ...'; | 568: $message .= ' ...'; |
| 569: | 569: |
| 570: ?> | 570: ?> |
| 694: | 694: |
| 695: $extra_sql = ($cur_user['status'] < PUN_MOD) ? ' WHERE f.admmod_only=\'0\'' : ''; | 695: $extra_sql = ($cur_user['status'] < PUN_MOD) ? ' WHERE f.admmod_only=\'0\'' : ''; |
| 696: | 696: |
| 697: $result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id'.$extra.' ORDER BY c.disp_position, c.id, f.disp_position') or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error()); | 697: $result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id'.$extra_sql.' ORDER BY c.disp_position, c.id, f.disp_position') or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error()); |
| 698: $num_forums = $db->num_rows($result); | 698: $num_forums = $db->num_rows($result); |
| 699: | 699: |
| 700: while ($num_forums--) | 700: while ($num_forums--) |