punbb-1.2.6/upload/admin_groups.php |
punbb-1.2.13/upload/admin_groups.php |
243: } | 243: } |
244: else | 244: else |
245: { | 245: { |
246: $result = $db->query('SELECT 1 FROM '.$db->prefix.'groups WHERE g_title=\''.$db->escape($title).'\' AND g_id!='.$_POST['group_id']) or error('Unable to check group title collision', __FILE__, __LINE__, $db->error()); | 246: $result = $db->query('SELECT 1 FROM '.$db->prefix.'groups WHERE g_title=\''.$db->escape($title).'\' AND g_id!='.intval($_POST['group_id'])) or error('Unable to check group title collision', __FILE__, __LINE__, $db->error()); |
247: if ($db->num_rows($result)) | 247: if ($db->num_rows($result)) |
248: message('There is already a group with the title \''.pun_htmlspecialchars($title).'\'.'); | 248: message('There is already a group with the title \''.pun_htmlspecialchars($title).'\'.'); |
249: | 249: |
250: $db->query('UPDATE '.$db->prefix.'groups SET g_title=\''.$db->escape($title).'\', g_user_title='.$user_title.', g_read_board='.$read_board.', g_post_replies='.$post_replies.', g_post_topics='.$post_topics.', g_edit_posts='.$edit_posts.', g_delete_posts='.$delete_posts.', g_delete_topics='.$delete_topics.', g_set_title='.$set_title.', g_search='.$search.', g_search_users='.$search_users.', g_edit_subjects_interval='.$edit_subjects_interval.', g_post_flood='.$post_flood.', g_search_flood='.$search_flood.' WHERE g_id='.$_POST['group_id']) or error('Unable to update group', __FILE__, __LINE__, $db->error()); | 250: $db->query('UPDATE '.$db->prefix.'groups SET g_title=\''.$db->escape($title).'\', g_user_title='.$user_title.', g_read_board='.$read_board.', g_post_replies='.$post_replies.', g_post_topics='.$post_topics.', g_edit_posts='.$edit_posts.', g_delete_posts='.$delete_posts.', g_delete_topics='.$delete_topics.', g_set_title='.$set_title.', g_search='.$search.', g_search_users='.$search_users.', g_edit_subjects_interval='.$edit_subjects_interval.', g_post_flood='.$post_flood.', g_search_flood='.$search_flood.' WHERE g_id='.intval($_POST['group_id'])) or error('Unable to update group', __FILE__, __LINE__, $db->error()); |
251: } | 251: } |
252: | 252: |
253: // Regenerate the quickjump cache | 253: // Regenerate the quickjump cache |
punbb-1.2.6/upload/admin_options.php |
punbb-1.2.13/upload/admin_options.php |
63: if (substr($form['base_url'], -1) == '/') | 63: if (substr($form['base_url'], -1) == '/') |
64: $form['base_url'] = substr($form['base_url'], 0, -1); | 64: $form['base_url'] = substr($form['base_url'], 0, -1); |
65: | 65: |
| 66: // Clean avatars_dir |
| 67: $form['avatars_dir'] = str_replace("\0", '', $form['avatars_dir']); |
| 68: |
66: // Make sure avatars_dir doesn't end with a slash | 69: // Make sure avatars_dir doesn't end with a slash |
67: if (substr($form['avatars_dir'], -1) == '/') | 70: if (substr($form['avatars_dir'], -1) == '/') |
68: $form['avatars_dir'] = substr($form['avatars_dir'], 0, -1); | 71: $form['avatars_dir'] = substr($form['avatars_dir'], 0, -1); |
117: while (list($key, $input) = @each($form)) | 120: while (list($key, $input) = @each($form)) |
118: { | 121: { |
119: // Only update values that have changed | 122: // Only update values that have changed |
120: if (isset($pun_config['o_'.$key]) && $pun_config['o_'.$key] != $input) | 123: if (array_key_exists('o_'.$key, $pun_config) && $pun_config['o_'.$key] != $input) |
121: { | 124: { |
122: if ($input != '' || is_int($input)) | 125: if ($input != '' || is_int($input)) |
123: $value = '\''.$db->escape($input).'\''; | 126: $value = '\''.$db->escape($input).'\''; |
punbb-1.2.6/upload/admin_permissions.php |
punbb-1.2.13/upload/admin_permissions.php |
39: { | 39: { |
40: confirm_referrer('admin_permissions.php'); | 40: confirm_referrer('admin_permissions.php'); |
41: | 41: |
42: $form = array_map('trim', $_POST['form']); | 42: $form = array_map('intval', $_POST['form']); |
43: | |
44: $form['sig_length'] = intval($form['sig_length']); | |
45: $form['sig_lines'] = intval($form['sig_lines']); | |
46: | 43: |
47: while (list($key, $input) = @each($form)) | 44: while (list($key, $input) = @each($form)) |
48: { | 45: { |
49: // Only update values that have changed | 46: // Only update values that have changed |
50: if (isset($pun_config['p_'.$key]) && $pun_config['p_'.$key] != $input) | 47: if (array_key_exists('p_'.$key, $pun_config) && $pun_config['p_'.$key] != $input) |
51: { | 48: $db->query('UPDATE '.$db->prefix.'config SET conf_value='.$input.' WHERE conf_name=\'p_'.$db->escape($key).'\'') or error('Unable to update board config', __FILE__, __LINE__, $db->error()); |
52: if ($input != '' || is_int($input)) | |
53: $value = '\''.$db->escape($input).'\''; | |
54: else | |
55: $value = 'NULL'; | |
56: | |
57: $db->query('UPDATE '.$db->prefix.'config SET conf_value='.$value.' WHERE conf_name=\'p_'.$key.'\'') or error('Unable to update board config', __FILE__, __LINE__, $db->error()); | |
58: } | |
59: } | 49: } |
60: | 50: |
61: // Regenerate the config cache | 51: // Regenerate the config cache |
punbb-1.2.6/upload/edit.php |
punbb-1.2.13/upload/edit.php |
175: else if (isset($_POST['preview'])) | 175: else if (isset($_POST['preview'])) |
176: { | 176: { |
177: require_once PUN_ROOT.'include/parser.php'; | 177: require_once PUN_ROOT.'include/parser.php'; |
178: $message = parse_message(trim($_POST['req_message']), $hide_smilies); | 178: $preview_message = parse_message($message, $hide_smilies); |
179: | 179: |
180: ?> | 180: ?> |
181: <div id="postpreview" class="blockpost"> | 181: <div id="postpreview" class="blockpost"> |
184: <div class="inbox"> | 184: <div class="inbox"> |
185: <div class="postright"> | 185: <div class="postright"> |
186: <div class="postmsg"> | 186: <div class="postmsg"> |
187: <?php echo $message."\n" ?> | 187: <?php echo $preview_message."\n" ?> |
188: </div> | 188: </div> |
189: </div> | 189: </div> |
190: </div> | 190: </div> |
208: <?php if ($can_edit_subject): ?> <label><?php echo $lang_common['Subject'] ?><br /> | 208: <?php if ($can_edit_subject): ?> <label><?php echo $lang_common['Subject'] ?><br /> |
209: <input class="longinput" type="text" name="req_subject" size="80" maxlength="70" tabindex="<?php echo $cur_index++ ?>" value="<?php echo pun_htmlspecialchars(isset($_POST['req_subject']) ? $_POST['req_subject'] : $cur_post['subject']) ?>" /><br /></label> | 209: <input class="longinput" type="text" name="req_subject" size="80" maxlength="70" tabindex="<?php echo $cur_index++ ?>" value="<?php echo pun_htmlspecialchars(isset($_POST['req_subject']) ? $_POST['req_subject'] : $cur_post['subject']) ?>" /><br /></label> |
210: <?php endif; ?> <label><?php echo $lang_common['Message'] ?><br /> | 210: <?php endif; ?> <label><?php echo $lang_common['Message'] ?><br /> |
211: <textarea name="req_message" rows="20" cols="95" tabindex="<?php echo $cur_index++ ?>"><?php echo pun_htmlspecialchars(isset($_POST['req_message']) ? $_POST['req_message'] : $cur_post['message']) ?></textarea><br /></label> | 211: <textarea name="req_message" rows="20" cols="95" tabindex="<?php echo $cur_index++ ?>"><?php echo pun_htmlspecialchars(isset($_POST['req_message']) ? $message : $cur_post['message']) ?></textarea><br /></label> |
212: <ul class="bblinks"> | 212: <ul class="bblinks"> |
213: <li><a href="help.php#bbcode" onclick="window.open(this.href); return false;"><?php echo $lang_common['BBCode'] ?></a>: <?php echo ($pun_config['p_message_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li> | 213: <li><a href="help.php#bbcode" onclick="window.open(this.href); return false;"><?php echo $lang_common['BBCode'] ?></a>: <?php echo ($pun_config['p_message_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li> |
214: <li><a href="help.php#img" onclick="window.open(this.href); return false;"><?php echo $lang_common['img tag'] ?></a>: <?php echo ($pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li> | 214: <li><a href="help.php#img" onclick="window.open(this.href); return false;"><?php echo $lang_common['img tag'] ?></a>: <?php echo ($pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li> |
punbb-1.2.6/upload/include/common.php |
punbb-1.2.13/upload/include/common.php |
32: if (!defined('PUN_ROOT')) | 32: if (!defined('PUN_ROOT')) |
33: exit('The constant PUN_ROOT must be defined and point to a valid PunBB installation root directory.'); | 33: exit('The constant PUN_ROOT must be defined and point to a valid PunBB installation root directory.'); |
34: | 34: |
| 35: |
| 36: // Load the functions script |
| 37: require PUN_ROOT.'include/functions.php'; |
| 38: |
| 39: // Reverse the effect of register_globals |
| 40: if (@ini_get('register_globals')) |
| 41: unregister_globals(); |
| 42: |
| 43: |
35: @include PUN_ROOT.'config.php'; | 44: @include PUN_ROOT.'config.php'; |
36: | 45: |
37: // If PUN isn't defined, config.php is missing or corrupt | 46: // If PUN isn't defined, config.php is missing or corrupt |
76: define('PUN_GUEST', 3); | 85: define('PUN_GUEST', 3); |
77: define('PUN_MEMBER', 4); | 86: define('PUN_MEMBER', 4); |
78: | 87: |
79: | |
80: // Load the functions script | |
81: require PUN_ROOT.'include/functions.php'; | |
82: | 88: |
83: // Load DB abstraction layer and connect | 89: // Load DB abstraction layer and connect |
84: require PUN_ROOT.'include/dblayer/common_db.php'; | 90: require PUN_ROOT.'include/dblayer/common_db.php'; |
punbb-1.2.6/upload/include/email.php |
punbb-1.2.13/upload/include/email.php |
75: $subject = trim(preg_replace('#[\n\r]+#s', '', $subject)); | 75: $subject = trim(preg_replace('#[\n\r]+#s', '', $subject)); |
76: $from = trim(preg_replace('#[\n\r:]+#s', '', $from)); | 76: $from = trim(preg_replace('#[\n\r:]+#s', '', $from)); |
77: | 77: |
78: // Detect what linebreak we should use for the headers | 78: $headers = 'From: '.$from."\r\n".'Date: '.date('r')."\r\n".'MIME-Version: 1.0'."\r\n".'Content-transfer-encoding: 8bit'."\r\n".'Content-type: text/plain; charset='.$lang_common['lang_encoding']."\r\n".'X-Mailer: PunBB Mailer'; |
79: if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) | |
80: $eol = "\r\n"; | |
81: else if (strtoupper(substr(PHP_OS, 0, 3) == 'MAC')) | |
82: $eol = "\r"; | |
83: else | |
84: $eol = "\n"; | |
85: | |
86: $headers = 'From: '.$from.$eol.'Date: '.date('r').$eol.'MIME-Version: 1.0'.$eol.'Content-transfer-encoding: 8bit'.$eol.'Content-type: text/plain; charset='.$lang_common['lang_encoding'].$eol.'X-Mailer: PunBB Mailer'; | |
87: | 79: |
88: // Make sure all linebreaks are CRLF in message | 80: // Make sure all linebreaks are CRLF in message |
89: $message = str_replace("\n", "\r\n", pun_linebreaks($message)); | 81: $message = str_replace("\n", "\r\n", pun_linebreaks($message)); |
91: if ($pun_config['o_smtp_host'] != '') | 83: if ($pun_config['o_smtp_host'] != '') |
92: smtp_mail($to, $subject, $message, $headers); | 84: smtp_mail($to, $subject, $message, $headers); |
93: else | 85: else |
| 86: { |
| 87: // Change the linebreaks used in the headers according to OS |
| 88: if (strtoupper(substr(PHP_OS, 0, 3)) == 'MAC') |
| 89: $headers = str_replace("\r\n", "\r", $headers); |
| 90: else if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') |
| 91: $headers = str_replace("\r\n", "\n", $headers); |
| 92: |
94: mail($to, $subject, $message, $headers); | 93: mail($to, $subject, $message, $headers); |
| 94: } |
95: } | 95: } |
96: | 96: |
97: | 97: |
punbb-1.2.6/upload/include/functions.php |
punbb-1.2.13/upload/include/functions.php |
138: // Enable sending of a P3P header by removing // from the following line (try this if login is failing in IE6) | 138: // Enable sending of a P3P header by removing // from the following line (try this if login is failing in IE6) |
139: // @header('P3P: CP="CUR ADM"'); | 139: // @header('P3P: CP="CUR ADM"'); |
140: | 140: |
141: setcookie($cookie_name, serialize(array($user_id, md5($cookie_seed.$password_hash))), $expire, $cookie_path, $cookie_domain, $cookie_secure); | 141: if (version_compare(PHP_VERSION, '5.2.0', '>=')) |
| 142: setcookie($cookie_name, serialize(array($user_id, md5($cookie_seed.$password_hash))), $expire, $cookie_path, $cookie_domain, $cookie_secure, true); |
| 143: else |
| 144: setcookie($cookie_name, serialize(array($user_id, md5($cookie_seed.$password_hash))), $expire, $cookie_path.'; HttpOnly', $cookie_domain, $cookie_secure); |
142: } | 145: } |
143: | 146: |
144: | 147: |
168: } | 171: } |
169: | 172: |
170: if ($cur_ban['username'] != '' && !strcasecmp($pun_user['username'], $cur_ban['username'])) | 173: if ($cur_ban['username'] != '' && !strcasecmp($pun_user['username'], $cur_ban['username'])) |
| 174: { |
| 175: $db->query('DELETE FROM '.$db->prefix.'online WHERE ident=\''.$db->escape($pun_user['username']).'\'') or error('Unable to delete from online list', __FILE__, __LINE__, $db->error()); |
171: message($lang_common['Ban message'].' '.(($cur_ban['expire'] != '') ? $lang_common['Ban message 2'].' '.strtolower(format_time($cur_ban['expire'], true)).'. ' : '').(($cur_ban['message'] != '') ? $lang_common['Ban message 3'].'<br /><br /><strong>'.pun_htmlspecialchars($cur_ban['message']).'</strong><br /><br />' : '<br /><br />').$lang_common['Ban message 4'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.', true); | 176: message($lang_common['Ban message'].' '.(($cur_ban['expire'] != '') ? $lang_common['Ban message 2'].' '.strtolower(format_time($cur_ban['expire'], true)).'. ' : '').(($cur_ban['message'] != '') ? $lang_common['Ban message 3'].'<br /><br /><strong>'.pun_htmlspecialchars($cur_ban['message']).'</strong><br /><br />' : '<br /><br />').$lang_common['Ban message 4'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.', true); |
| 177: } |
172: | 178: |
173: if ($cur_ban['ip'] != '') | 179: if ($cur_ban['ip'] != '') |
174: { | 180: { |
179: $cur_ban_ips[$i] = $cur_ban_ips[$i].'.'; | 185: $cur_ban_ips[$i] = $cur_ban_ips[$i].'.'; |
180: | 186: |
181: if (substr($user_ip, 0, strlen($cur_ban_ips[$i])) == $cur_ban_ips[$i]) | 187: if (substr($user_ip, 0, strlen($cur_ban_ips[$i])) == $cur_ban_ips[$i]) |
| 188: { |
| 189: $db->query('DELETE FROM '.$db->prefix.'online WHERE ident=\''.$db->escape($pun_user['username']).'\'') or error('Unable to delete from online list', __FILE__, __LINE__, $db->error()); |
182: message($lang_common['Ban message'].' '.(($cur_ban['expire'] != '') ? $lang_common['Ban message 2'].' '.strtolower(format_time($cur_ban['expire'], true)).'. ' : '').(($cur_ban['message'] != '') ? $lang_common['Ban message 3'].'<br /><br /><strong>'.pun_htmlspecialchars($cur_ban['message']).'</strong><br /><br />' : '<br /><br />').$lang_common['Ban message 4'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.', true); | 190: message($lang_common['Ban message'].' '.(($cur_ban['expire'] != '') ? $lang_common['Ban message 2'].' '.strtolower(format_time($cur_ban['expire'], true)).'. ' : '').(($cur_ban['message'] != '') ? $lang_common['Ban message 3'].'<br /><br /><strong>'.pun_htmlspecialchars($cur_ban['message']).'</strong><br /><br />' : '<br /><br />').$lang_common['Ban message 4'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.', true); |
| 191: } |
183: } | 192: } |
184: } | 193: } |
185: } | 194: } |
203: $now = time(); | 212: $now = time(); |
204: | 213: |
205: // Fetch all online list entries that are older than "o_timeout_online" | 214: // Fetch all online list entries that are older than "o_timeout_online" |
206: $result = $db->query('SELECT * FROM '.$db->prefix.'online WHERE logged<'.($now-$pun_config['o_timeout_online'])) or error('Unable to delete from online list', __FILE__, __LINE__, $db->error()); | 215: $result = $db->query('SELECT * FROM '.$db->prefix.'online WHERE logged<'.($now-$pun_config['o_timeout_online'])) or error('Unable to fetch old entries from online list', __FILE__, __LINE__, $db->error()); |
207: while ($cur_user = $db->fetch_assoc($result)) | 216: while ($cur_user = $db->fetch_assoc($result)) |
208: { | 217: { |
209: // If the entry is a guest, delete it | 218: // If the entry is a guest, delete it |
675: // | 684: // |
676: function get_remote_address() | 685: function get_remote_address() |
677: { | 686: { |
678: $remote_address = $_SERVER['REMOTE_ADDR']; | 687: return $_SERVER['REMOTE_ADDR']; |
679: | |
680: // If HTTP_X_FORWARDED_FOR is set, we try to grab the first non-LAN IP | |
681: if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) | |
682: { | |
683: if (preg_match_all('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/', $_SERVER['HTTP_X_FORWARDED_FOR'], $address_list)) | |
684: { | |
685: $lan_ips = array('/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/', '/^10\..*/', '/^224\..*/', '/^240\..*/'); | |
686: $address_list = preg_replace($lan_ips, null, $address_list[0]); | |
687: | |
688: while (list(, $cur_address) = each($address_list)) | |
689: { | |
690: if ($cur_address) | |
691: { | |
692: $remote_address = $cur_address; | |
693: break; | |
694: } | |
695: } | |
696: } | |
697: } | |
698: | |
699: return $remote_address; | |
700: } | 688: } |
701: | 689: |
702: | 690: |
1040: </div> | 1028: </div> |
1041: <?php | 1029: <?php |
1042: | 1030: |
| 1031: } |
| 1032: |
| 1033: |
| 1034: // |
| 1035: // Unset any variables instantiated as a result of register_globals being enabled |
| 1036: // |
| 1037: function unregister_globals() |
| 1038: { |
| 1039: // Prevent script.php?GLOBALS[foo]=bar |
| 1040: if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) |
| 1041: exit('I\'ll have a steak sandwich and... a steak sandwich.'); |
| 1042: |
| 1043: // Variables that shouldn't be unset |
| 1044: $no_unset = array('GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES'); |
| 1045: |
| 1046: // Remove elements in $GLOBALS that are present in any of the superglobals |
| 1047: $input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array()); |
| 1048: foreach ($input as $k => $v) |
| 1049: { |
| 1050: if (!in_array($k, $no_unset) && isset($GLOBALS[$k])) |
| 1051: unset($GLOBALS[$k]); |
| 1052: } |
1043: } | 1053: } |
1044: | 1054: |
1045: | 1055: |
punbb-1.2.6/upload/include/parser.php |
punbb-1.2.13/upload/include/parser.php |
264: { | 264: { |
265: global $pun_user; | 265: global $pun_user; |
266: | 266: |
267: $full_url = str_replace(' ', '%20', $url); | 267: $full_url = str_replace(array(' ', '\'', '`', '"'), array('%20', '', '', ''), $url); |
268: if (strpos($url, 'www.') === 0) // If it starts with www, we add http:// | 268: if (strpos($url, 'www.') === 0) // If it starts with www, we add http:// |
269: $full_url = 'http://'.$full_url; | 269: $full_url = 'http://'.$full_url; |
270: else if (strpos($url, 'ftp.') === 0) // Else if it starts with ftp, we add ftp:// | 270: else if (strpos($url, 'ftp.') === 0) // Else if it starts with ftp, we add ftp:// |
314: $pattern = array('#\[b\](.*?)\[/b\]#s', | 314: $pattern = array('#\[b\](.*?)\[/b\]#s', |
315: '#\[i\](.*?)\[/i\]#s', | 315: '#\[i\](.*?)\[/i\]#s', |
316: '#\[u\](.*?)\[/u\]#s', | 316: '#\[u\](.*?)\[/u\]#s', |
317: '#\[url\](.*?)\[/url\]#e', | 317: '#\[url\]([^\[]*?)\[/url\]#e', |
318: '#\[url=(.*?)\](.*?)\[/url\]#e', | 318: '#\[url=([^\[]*?)\](.*?)\[/url\]#e', |
319: '#\[email\](.*?)\[/email\]#', | 319: '#\[email\]([^\[]*?)\[/email\]#', |
320: '#\[email=(.*?)\](.*?)\[/email\]#', | 320: '#\[email=([^\[]*?)\](.*?)\[/email\]#', |
321: '#\[color=([a-zA-Z]*|\#?[0-9a-fA-F]{6})](.*?)\[/color\]#s'); | 321: '#\[color=([a-zA-Z]*|\#?[0-9a-fA-F]{6})](.*?)\[/color\]#s'); |
322: | 322: |
323: $replace = array('<strong>$1</strong>', | 323: $replace = array('<strong>$1</strong>', |
punbb-1.2.6/upload/post.php |
punbb-1.2.13/upload/post.php |
338: if ($qid < 1) | 338: if ($qid < 1) |
339: message($lang_common['Bad request']); | 339: message($lang_common['Bad request']); |
340: | 340: |
341: $result = $db->query('SELECT poster, message FROM '.$db->prefix.'posts WHERE id='.$qid) or error('Unable to fetch quote info', __FILE__, __LINE__, $db->error()); | 341: $result = $db->query('SELECT poster, message FROM '.$db->prefix.'posts WHERE id='.$qid.' AND topic_id='.$tid) or error('Unable to fetch quote info', __FILE__, __LINE__, $db->error()); |
342: if (!$db->num_rows($result)) | 342: if (!$db->num_rows($result)) |
343: message($lang_common['Bad request']); | 343: message($lang_common['Bad request']); |
344: | 344: |
440: else if (isset($_POST['preview'])) | 440: else if (isset($_POST['preview'])) |
441: { | 441: { |
442: require_once PUN_ROOT.'include/parser.php'; | 442: require_once PUN_ROOT.'include/parser.php'; |
443: $message = parse_message($message, $hide_smilies); | 443: $preview_message = parse_message($message, $hide_smilies); |
444: | 444: |
445: ?> | 445: ?> |
446: <div id="postpreview" class="blockpost"> | 446: <div id="postpreview" class="blockpost"> |
449: <div class="inbox"> | 449: <div class="inbox"> |
450: <div class="postright"> | 450: <div class="postright"> |
451: <div class="postmsg"> | 451: <div class="postmsg"> |
452: <?php echo $message."\n" ?> | 452: <?php echo $preview_message."\n" ?> |
453: </div> | 453: </div> |
454: </div> | 454: </div> |
455: </div> | 455: </div> |
491: if ($fid): ?> | 491: if ($fid): ?> |
492: <label><strong><?php echo $lang_common['Subject'] ?></strong><br /><input class="longinput" type="text" name="req_subject" value="<?php if (isset($_POST['req_subject'])) echo pun_htmlspecialchars($subject); ?>" size="80" maxlength="70" tabindex="<?php echo $cur_index++ ?>" /><br /></label> | 492: <label><strong><?php echo $lang_common['Subject'] ?></strong><br /><input class="longinput" type="text" name="req_subject" value="<?php if (isset($_POST['req_subject'])) echo pun_htmlspecialchars($subject); ?>" size="80" maxlength="70" tabindex="<?php echo $cur_index++ ?>" /><br /></label> |
493: <?php endif; ?> <label><strong><?php echo $lang_common['Message'] ?></strong><br /> | 493: <?php endif; ?> <label><strong><?php echo $lang_common['Message'] ?></strong><br /> |
494: <textarea name="req_message" rows="20" cols="95" tabindex="<?php echo $cur_index++ ?>"><?php echo isset($_POST['req_message']) ? pun_htmlspecialchars(trim($_POST['req_message'])) : (isset($quote) ? $quote : ''); ?></textarea><br /></label> | 494: <textarea name="req_message" rows="20" cols="95" tabindex="<?php echo $cur_index++ ?>"><?php echo isset($_POST['req_message']) ? pun_htmlspecialchars($message) : (isset($quote) ? $quote : ''); ?></textarea><br /></label> |
495: <ul class="bblinks"> | 495: <ul class="bblinks"> |
496: <li><a href="help.php#bbcode" onclick="window.open(this.href); return false;"><?php echo $lang_common['BBCode'] ?></a>: <?php echo ($pun_config['p_message_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li> | 496: <li><a href="help.php#bbcode" onclick="window.open(this.href); return false;"><?php echo $lang_common['BBCode'] ?></a>: <?php echo ($pun_config['p_message_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li> |
497: <li><a href="help.php#img" onclick="window.open(this.href); return false;"><?php echo $lang_common['img tag'] ?></a>: <?php echo ($pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li> | 497: <li><a href="help.php#img" onclick="window.open(this.href); return false;"><?php echo $lang_common['img tag'] ?></a>: <?php echo ($pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li> |
punbb-1.2.6/upload/profile.php |
punbb-1.2.13/upload/profile.php |
201: } | 201: } |
202: else if (isset($_POST['form_sent'])) | 202: else if (isset($_POST['form_sent'])) |
203: { | 203: { |
| 204: if (pun_hash($_POST['req_password']) !== $pun_user['password']) |
| 205: message($lang_profile['Wrong pass']); |
| 206: |
204: require PUN_ROOT.'include/email.php'; | 207: require PUN_ROOT.'include/email.php'; |
205: | 208: |
206: // Validate the email-address | 209: // Validate the email-address |
264: } | 267: } |
265: | 268: |
266: $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_common['Profile']; | 269: $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_common['Profile']; |
267: $required_fields = array('req_new_email' => $lang_profile['New e-mail']); | 270: $required_fields = array('req_new_email' => $lang_profile['New e-mail'], 'req_password' => $lang_common['Password']); |
268: $focus_element = array('change_email', 'req_new_email'); | 271: $focus_element = array('change_email', 'req_new_email'); |
269: require PUN_ROOT.'header.php'; | 272: require PUN_ROOT.'header.php'; |
270: | 273: |
279: <div class="infldset"> | 282: <div class="infldset"> |
280: <input type="hidden" name="form_sent" value="1" /> | 283: <input type="hidden" name="form_sent" value="1" /> |
281: <label><strong><?php echo $lang_profile['New e-mail'] ?></strong><br /><input type="text" name="req_new_email" size="50" maxlength="50" /><br /></label> | 284: <label><strong><?php echo $lang_profile['New e-mail'] ?></strong><br /><input type="text" name="req_new_email" size="50" maxlength="50" /><br /></label> |
| 285: <label><strong><?php echo $lang_common['Password'] ?></strong><br /><input type="password" name="req_password" size="16" maxlength="16" /><br /></label> |
282: <p><?php echo $lang_profile['E-mail instructions'] ?></p> | 286: <p><?php echo $lang_profile['E-mail instructions'] ?></p> |
283: </div> | 287: </div> |
284: </fieldset> | 288: </fieldset> |
362: message($lang_profile['Move failed'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.'); | 366: message($lang_profile['Move failed'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.'); |
363: | 367: |
364: // Now check the width/height | 368: // Now check the width/height |
365: list($width, $height, ,) = getimagesize($pun_config['o_avatars_dir'].'/'.$id.'.tmp'); | 369: list($width, $height, $type,) = getimagesize($pun_config['o_avatars_dir'].'/'.$id.'.tmp'); |
366: if (empty($width) || empty($height) || $width > $pun_config['o_avatars_width'] || $height > $pun_config['o_avatars_height']) | 370: if (empty($width) || empty($height) || $width > $pun_config['o_avatars_width'] || $height > $pun_config['o_avatars_height']) |
367: { | 371: { |
368: @unlink($pun_config['o_avatars_dir'].'/'.$id.'.tmp'); | 372: @unlink($pun_config['o_avatars_dir'].'/'.$id.'.tmp'); |
369: message($lang_profile['Too wide or high'].' '.$pun_config['o_avatars_width'].'x'.$pun_config['o_avatars_height'].' '.$lang_profile['pixels'].'.'); | 373: message($lang_profile['Too wide or high'].' '.$pun_config['o_avatars_width'].'x'.$pun_config['o_avatars_height'].' '.$lang_profile['pixels'].'.'); |
370: } | 374: } |
| 375: else if ($type == 1 && $uploaded_file['type'] != 'image/gif') // Prevent dodgy uploads |
| 376: { |
| 377: @unlink($pun_config['o_avatars_dir'].'/'.$id.'.tmp'); |
| 378: message($lang_profile['Bad type']); |
| 379: } |
371: | 380: |
372: // Delete any old avatars and put the new one in place | 381: // Delete any old avatars and put the new one in place |
373: @unlink($pun_config['o_avatars_dir'].'/'.$id.$extensions[0]); | 382: @unlink($pun_config['o_avatars_dir'].'/'.$id.$extensions[0]); |
708: $form['email'] = strtolower(trim($_POST['req_email'])); | 717: $form['email'] = strtolower(trim($_POST['req_email'])); |
709: if (!is_valid_email($form['email'])) | 718: if (!is_valid_email($form['email'])) |
710: message($lang_common['Invalid e-mail']); | 719: message($lang_common['Invalid e-mail']); |
| 720: } |
| 721: |
| 722: // Make sure we got a valid language string |
| 723: if (isset($form['language'])) |
| 724: { |
| 725: $form['language'] = preg_replace('#[\.\\\/]#', '', $form['language']); |
| 726: if (!file_exists(PUN_ROOT.'lang/'.$form['language'].'/common.php')) |
| 727: message($lang_common['Bad request']); |
711: } | 728: } |
712: | 729: |
713: break; | 730: break; |
punbb-1.2.6/upload/register.php |
punbb-1.2.13/upload/register.php |
79: | 79: |
80: else if (isset($_POST['form_sent'])) | 80: else if (isset($_POST['form_sent'])) |
81: { | 81: { |
| 82: // Check that someone from this IP didn't register a user within the last hour (DoS prevention) |
| 83: $result = $db->query('SELECT 1 FROM '.$db->prefix.'users WHERE registration_ip=\''.get_remote_address().'\' AND registered>'.(time() - 3600)) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error()); |
| 84: |
| 85: if ($db->num_rows($result)) |
| 86: message('A new user was registered with the same IP address as you within the last hour. To prevent registration flooding, at least an hour has to pass between registrations from the same IP. Sorry for the inconvenience.'); |
| 87: |
| 88: |
82: $username = pun_trim($_POST['req_username']); | 89: $username = pun_trim($_POST['req_username']); |
83: $email1 = strtolower(trim($_POST['req_email1'])); | 90: $email1 = strtolower(trim($_POST['req_email1'])); |
84: | 91: |
171: $save_pass = (!isset($_POST['save_pass']) || $_POST['save_pass'] != '1') ? '0' : '1'; | 178: $save_pass = (!isset($_POST['save_pass']) || $_POST['save_pass'] != '1') ? '0' : '1'; |
172: | 179: |
173: $email_setting = intval($_POST['email_setting']); | 180: $email_setting = intval($_POST['email_setting']); |
174: if ($email_setting < 0 && $email_setting > 2) $email_setting = 1; | 181: if ($email_setting < 0 || $email_setting > 2) $email_setting = 1; |
175: | 182: |
176: // Insert the new user into the database. We do this now to get the last inserted id for later use. | 183: // Insert the new user into the database. We do this now to get the last inserted id for later use. |
177: $now = time(); | 184: $now = time(); |
punbb-1.2.6/upload/search.php |
punbb-1.2.13/upload/search.php |
51: $action = (isset($_GET['action'])) ? $_GET['action'] : null; | 51: $action = (isset($_GET['action'])) ? $_GET['action'] : null; |
52: $forum = (isset($_GET['forum'])) ? intval($_GET['forum']) : -1; | 52: $forum = (isset($_GET['forum'])) ? intval($_GET['forum']) : -1; |
53: $sort_dir = (isset($_GET['sort_dir'])) ? (($_GET['sort_dir'] == 'DESC') ? 'DESC' : 'ASC') : 'DESC'; | 53: $sort_dir = (isset($_GET['sort_dir'])) ? (($_GET['sort_dir'] == 'DESC') ? 'DESC' : 'ASC') : 'DESC'; |
| 54: if (isset($search_id)) unset($search_id); |
54: | 55: |
55: // If a search_id was supplied | 56: // If a search_id was supplied |
56: if (isset($_GET['search_id'])) | 57: if (isset($_GET['search_id'])) |
386: | 387: |
387: | 388: |
388: // Prune "old" search results | 389: // Prune "old" search results |
| 390: $old_searches = array(); |
389: $result = $db->query('SELECT ident FROM '.$db->prefix.'online') or error('Unable to fetch online list', __FILE__, __LINE__, $db->error()); | 391: $result = $db->query('SELECT ident FROM '.$db->prefix.'online') or error('Unable to fetch online list', __FILE__, __LINE__, $db->error()); |
390: | 392: |
391: if ($db->num_rows($result)) | 393: if ($db->num_rows($result)) |