| PunBB 1.2.2 to 1.2.3 changes | Legend | |
|---|---|---|
| Lines removed | ||
| Lines changed | ||
| Lines added | ||
| punbb-1.2.2/upload/admin_censoring.php | punbb-1.2.3/upload/admin_censoring.php |
|---|---|
| 76: { | 76: { |
| 77: confirm_referrer('admin_censoring.php'); | 77: confirm_referrer('admin_censoring.php'); |
| 78: | 78: |
| 79: $id = key($_POST['remove']); | 79: $id = intval(key($_POST['remove'])); |
| 80: | 80: |
| 81: $db->query('DELETE FROM '.$db->prefix.'censoring WHERE id='.$id) or error('Unable to delete censor word', __FILE__, __LINE__, $db->error()); | 81: $db->query('DELETE FROM '.$db->prefix.'censoring WHERE id='.$id) or error('Unable to delete censor word', __FILE__, __LINE__, $db->error()); |
| 82: | 82: |
| punbb-1.2.2/upload/admin_options.php | punbb-1.2.3/upload/admin_options.php |
|---|---|
| 38: if (isset($_POST['form_sent'])) | 38: if (isset($_POST['form_sent'])) |
| 39: { | 39: { |
| 40: // Lazy referer check (in case base_url isn't correct) | 40: // Lazy referer check (in case base_url isn't correct) |
| 41: if (!preg_match('#/admin_options\.php#i', $_SERVER['HTTP_REFERER'])) | 41: if (!isset($_SERVER['HTTP_REFERER']) || !preg_match('#/admin_options\.php#i', $_SERVER['HTTP_REFERER'])) |
| 42: message($lang_common['Bad referrer']); | 42: message($lang_common['Bad referrer']); |
| 43: | 43: |
| 44: $form = array_map('trim', $_POST['form']); | 44: $form = array_map('trim', $_POST['form']); |
| punbb-1.2.2/upload/admin_ranks.php | punbb-1.2.3/upload/admin_ranks.php |
|---|---|
| 69: { | 69: { |
| 70: confirm_referrer('admin_ranks.php'); | 70: confirm_referrer('admin_ranks.php'); |
| 71: | 71: |
| 72: $id = key($_POST['update']); | 72: $id = intval(key($_POST['update'])); |
| 73: | 73: |
| 74: $rank = trim($_POST['rank'][$id]); | 74: $rank = trim($_POST['rank'][$id]); |
| 75: $min_posts = trim($_POST['min_posts'][$id]); | 75: $min_posts = trim($_POST['min_posts'][$id]); |
| 100: { | 100: { |
| 101: confirm_referrer('admin_ranks.php'); | 101: confirm_referrer('admin_ranks.php'); |
| 102: | 102: |
| 103: $id = key($_POST['remove']); | 103: $id = intval(key($_POST['remove'])); |
| 104: | 104: |
| 105: $db->query('DELETE FROM '.$db->prefix.'ranks WHERE id='.$id) or error('Unable to delete rank', __FILE__, __LINE__, $db->error()); | 105: $db->query('DELETE FROM '.$db->prefix.'ranks WHERE id='.$id) or error('Unable to delete rank', __FILE__, __LINE__, $db->error()); |
| 106: | 106: |
| punbb-1.2.2/upload/admin_reports.php | punbb-1.2.3/upload/admin_reports.php |
|---|---|
| 40: { | 40: { |
| 41: confirm_referrer('admin_reports.php'); | 41: confirm_referrer('admin_reports.php'); |
| 42: | 42: |
| 43: $zap_id = key($_POST['zap_id']); | 43: $zap_id = intval(key($_POST['zap_id'])); |
| 44: | 44: |
| 45: $result = $db->query('SELECT zapped FROM '.$db->prefix.'reports WHERE id='.$zap_id) or error('Unable to fetch report info', __FILE__, __LINE__, $db->error()); | 45: $result = $db->query('SELECT zapped FROM '.$db->prefix.'reports WHERE id='.$zap_id) or error('Unable to fetch report info', __FILE__, __LINE__, $db->error()); |
| 46: $zapped = $db->result($result); | 46: $zapped = $db->result($result); |
| punbb-1.2.2/upload/admin_users.php | punbb-1.2.3/upload/admin_users.php |
|---|---|
| 266: $conditions[] = 'u.num_posts<'.$posts_less; | 266: $conditions[] = 'u.num_posts<'.$posts_less; |
| 267: | 267: |
| 268: if ($user_group != 'all') | 268: if ($user_group != 'all') |
| 269: $conditions[] = 'u.group_id='.$user_group; | 269: $conditions[] = 'u.group_id='.$db->escape($user_group); |
| 270: | 270: |
| 271: if (!isset($conditions)) | 271: if (!isset($conditions)) |
| 272: message('You didn\'t enter any search terms.'); | 272: message('You didn\'t enter any search terms.'); |
| 300: <tbody> | 300: <tbody> |
| 301: <?php | 301: <?php |
| 302: | 302: |
| 303: $result = $db->query('SELECT u.id, u.username, u.email, u.title, u.num_posts, u.admin_note, g.g_id, g.g_user_title FROM '.$db->prefix.'users AS u LEFT JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id WHERE u.id>1 AND '.implode(' AND ', $conditions).' ORDER BY '.$order_by.' '.$direction) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error()); | 303: $result = $db->query('SELECT u.id, u.username, u.email, u.title, u.num_posts, u.admin_note, g.g_id, g.g_user_title FROM '.$db->prefix.'users AS u LEFT JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id WHERE u.id>1 AND '.implode(' AND ', $conditions).' ORDER BY '.$db->escape($order_by).' '.$db->escape($direction)) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error()); |
| 304: if ($db->num_rows($result)) | 304: if ($db->num_rows($result)) |
| 305: { | 305: { |
| 306: while ($user_data = $db->fetch_assoc($result)) | 306: while ($user_data = $db->fetch_assoc($result)) |
| punbb-1.2.2/upload/header.php | punbb-1.2.3/upload/header.php |
|---|---|
| 15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 16: GNU General Public License for more details. | 16: GNU General Public License for more details. |
| 17: | 17: |
| 18: You should have received a copy of the GNU G>eneral Public License | 18: You should have received a copy of the GNU General Public License |
| 19: along with this program; if not, write to the Free Software | 19: along with this program; if not, write to the Free Software |
| 20: Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 20: Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
| 21: MA 02111-1307 USA | 21: MA 02111-1307 USA |
| 171: $tpl_temp .= "\n\t\t\t\t".'<li class="maintenancelink"><strong><a href="admin_options.php#maintenance">Maintenance mode is enabled!</a></strong></li>'; | 171: $tpl_temp .= "\n\t\t\t\t".'<li class="maintenancelink"><strong><a href="admin_options.php#maintenance">Maintenance mode is enabled!</a></strong></li>'; |
| 172: } | 172: } |
| 173: | 173: |
| 174: if (basename($_SERVER['PHP_SELF']) == 'index.php') | 174: if (in_array(basename($_SERVER['PHP_SELF']), array('index.php', 'search.php'))) |
| 175: $tpl_temp .= "\n\t\t\t".'</ul>'."\n\t\t\t".'<ul class="conr">'."\n\t\t\t\t".'<li><a href="search.php?action=show_new">'.$lang_common['Show new posts'].'</a></li>'."\n\t\t\t\t".'<li><a href="misc.php?action=markread">'.$lang_common['Mark all as read'].'</a></li>'."\n\t\t\t".'</ul>'."\n\t\t\t".'<div class="clearer"></div>'."\n\t\t".'</div>'; | 175: $tpl_temp .= "\n\t\t\t".'</ul>'."\n\t\t\t".'<ul class="conr">'."\n\t\t\t\t".'<li><a href="search.php?action=show_new">'.$lang_common['Show new posts'].'</a></li>'."\n\t\t\t\t".'<li><a href="misc.php?action=markread">'.$lang_common['Mark all as read'].'</a></li>'."\n\t\t\t".'</ul>'."\n\t\t\t".'<div class="clearer"></div>'."\n\t\t".'</div>'; |
| 176: else if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] == 'action=show_new') | |
| 177: $tpl_temp .= "\n\t\t\t".'</ul>'."\n\t\t\t".'<p class="conr"><a href="misc.php?action=markread">'.$lang_common['Mark all as read'].'</a></p>'."\n\t\t\t".'<div class="clearer"></div>'."\n\t\t".'</div>'; | |
| 178: else | 176: else |
| 179: $tpl_temp .= "\n\t\t\t".'</ul>'."\n\t\t\t".'<div class="clearer"></div>'."\n\t\t".'</div>'; | 177: $tpl_temp .= "\n\t\t\t".'</ul>'."\n\t\t\t".'<div class="clearer"></div>'."\n\t\t".'</div>'; |
| 180: } | 178: } |
| punbb-1.2.2/upload/include/email.php | punbb-1.2.3/upload/include/email.php |
|---|---|
| 67: if (!$from) | 67: if (!$from) |
| 68: $from = '"'.$pun_config['o_board_title'].' '.$lang_common['Mailer'].'" <'.$pun_config['o_webmaster_email'].'>'; | 68: $from = '"'.$pun_config['o_board_title'].' '.$lang_common['Mailer'].'" <'.$pun_config['o_webmaster_email'].'>'; |
| 69: | 69: |
| 70: // Make sure the from line doesn't contain a colon (the character, that is :D) | 70: // Do a little spring cleaning |
| 71: $from = str_replace(':', ' ', $from); | 71: $to = trim(preg_replace('#[\n\r]+#s', '', $to)); |
| 72: $subject = trim(preg_replace('#[\n\r]+#s', '', $subject)); | |
| 73: $from = trim(preg_replace('#[\n\r:]+#s', '', $from)); | |
| 72: | 74: |
| 73: // Detect what linebreak we should use for the headers | 75: // Detect what linebreak we should use for the headers |
| 74: if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) | 76: if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
| punbb-1.2.2/upload/include/functions.php | punbb-1.2.3/upload/include/functions.php |
|---|---|
| 46: $pun_user = $db->fetch_assoc($result); | 46: $pun_user = $db->fetch_assoc($result); |
| 47: | 47: |
| 48: // If user authorisation failed | 48: // If user authorisation failed |
| 49: if (!isset($pun_user['id']) || md5($cookie_seed.$pun_user['password']) != $cookie['password_hash']) | 49: if (!isset($pun_user['id']) || md5($cookie_seed.$pun_user['password']) !== $cookie['password_hash']) |
| 50: { | 50: { |
| 51: pun_setcookie(0, random_pass(8), $expire); | 51: pun_setcookie(0, random_pass(8), $expire); |
| 52: set_default_user(); | 52: set_default_user(); |
| punbb-1.2.2/upload/install.php | punbb-1.2.3/upload/install.php |
|---|---|
| 24: | 24: |
| 25: | 25: |
| 26: // The PunBB version this script installs | 26: // The PunBB version this script installs |
| 27: $punbb_version = '1.2.2'; | 27: $punbb_version = '1.2.3'; |
| 28: | 28: |
| 29: | 29: |
| 30: define('PUN_ROOT', './'); | 30: define('PUN_ROOT', './'); |
| punbb-1.2.2/upload/misc.php | punbb-1.2.3/upload/misc.php |
|---|---|
| 245: | 245: |
| 246: else if (isset($_GET['subscribe'])) | 246: else if (isset($_GET['subscribe'])) |
| 247: { | 247: { |
| 248: if ($pun_user['is_guest']) | 248: if ($pun_user['is_guest'] || $pun_config['o_subscriptions'] != '1') |
| 249: message($lang_common['No permission']); | 249: message($lang_common['No permission']); |
| 250: | 250: |
| 251: $topic_id = intval($_GET['subscribe']); | 251: $topic_id = intval($_GET['subscribe']); |
| 264: | 264: |
| 265: else if (isset($_GET['unsubscribe'])) | 265: else if (isset($_GET['unsubscribe'])) |
| 266: { | 266: { |
| 267: if ($pun_user['is_guest']) | 267: if ($pun_user['is_guest'] || $pun_config['o_subscriptions'] != '1') |
| 268: message($lang_common['No permission']); | 268: message($lang_common['No permission']); |
| 269: | 269: |
| 270: $topic_id = intval($_GET['unsubscribe']); | 270: $topic_id = intval($_GET['unsubscribe']); |
| punbb-1.2.2/upload/post.php | punbb-1.2.3/upload/post.php |
|---|---|
| 207: | 207: |
| 208: update_forum($cur_posting['id']); | 208: update_forum($cur_posting['id']); |
| 209: | 209: |
| 210: | 210: // Should we send out notifications? |
| 211: // Get the post time for the previous post in this topic | 211: if ($pun_config['o_subscriptions'] == '1') |
| 212: $result = $db->query('SELECT posted FROM '.$db->prefix.'posts WHERE topic_id='.$tid.' ORDER BY id DESC LIMIT 1, 1') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error()); | |
| 213: $previous_post_time = $db->result($result); | |
| 214: | |
| 215: // Get any subscribed users that should be notified (banned users are excluded) | |
| 216: $result = $db->query('SELECT u.id, u.email, u.notify_with_post, u.language FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'subscriptions AS s ON u.id=s.user_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id='.$cur_posting['id'].' AND fp.group_id=u.group_id) LEFT JOIN '.$db->prefix.'online AS o ON u.id=o.user_id LEFT JOIN '.$db->prefix.'bans AS b ON u.username=b.username WHERE b.username IS NULL AND COALESCE(o.logged, u.last_visit)>'.$previous_post_time.' AND (fp.read_forum IS NULL OR fp.read_forum=1) AND s.topic_id='.$tid.' AND u.id!='.intval($pun_user['id'])) or error('Unable to fetch subscription info', __FILE__, __LINE__, $db->error()); | |
| 217: if ($db->num_rows($result)) | |
| 218: { | 212: { |
| 219: require_once PUN_ROOT.'include/email.php'; | 213: // Get the post time for the previous post in this topic |
| 214: $result = $db->query('SELECT posted FROM '.$db->prefix.'posts WHERE topic_id='.$tid.' ORDER BY id DESC LIMIT 1, 1') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error()); | |
| 215: $previous_post_time = $db->result($result); | |
| 216: | |
| 217: // Get any subscribed users that should be notified (banned users are excluded) | |
| 218: $result = $db->query('SELECT u.id, u.email, u.notify_with_post, u.language FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'subscriptions AS s ON u.id=s.user_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id='.$cur_posting['id'].' AND fp.group_id=u.group_id) LEFT JOIN '.$db->prefix.'online AS o ON u.id=o.user_id LEFT JOIN '.$db->prefix.'bans AS b ON u.username=b.username WHERE b.username IS NULL AND COALESCE(o.logged, u.last_visit)>'.$previous_post_time.' AND (fp.read_forum IS NULL OR fp.read_forum=1) AND s.topic_id='.$tid.' AND u.id!='.intval($pun_user['id'])) or error('Unable to fetch subscription info', __FILE__, __LINE__, $db->error()); | |
| 219: if ($db->num_rows($result)) | |
| 220: { | |
| 221: require_once PUN_ROOT.'include/email.php'; | |
| 220: | 222: |
| 221: $notification_emails = array(); | 223: $notification_emails = array(); |
| 222: | 224: |
| 223: // Loop through subscribed users and send e-mails | 225: // Loop through subscribed users and send e-mails |
| 224: while ($cur_subscriber = $db->fetch_assoc($result)) | 226: while ($cur_subscriber = $db->fetch_assoc($result)) |
| 225: { | |
| 226: // Is the subscription e-mail for $cur_subscriber['language'] cached or not? | |
| 227: if (!isset($notification_emails[$cur_subscriber['language']])) | |
| 228: { | 227: { |
| 229: if (file_exists(PUN_ROOT.'lang/'.$cur_subscriber['language'].'/mail_templates/new_reply.tpl')) | 228: // Is the subscription e-mail for $cur_subscriber['language'] cached or not? |
| 229: if (!isset($notification_emails[$cur_subscriber['language']])) | |
| 230: { | 230: { |
| 231: // Load the "new reply" template | 231: if (file_exists(PUN_ROOT.'lang/'.$cur_subscriber['language'].'/mail_templates/new_reply.tpl')) |
| 232: $mail_tpl = trim(file_get_contents(PUN_ROOT.'lang/'.$cur_subscriber['language'].'/mail_templates/new_reply.tpl')); | 232: { |
| 233: | 233: // Load the "new reply" template |
| 234: // Load the "new reply full" template (with post included) | 234: $mail_tpl = trim(file_get_contents(PUN_ROOT.'lang/'.$cur_subscriber['language'].'/mail_templates/new_reply.tpl')); |
| 235: $mail_tpl_full = trim(file_get_contents(PUN_ROOT.'lang/'.$cur_subscriber['language'].'/mail_templates/new_reply_full.tpl')); | 235: |
| 236: // Load the "new reply full" template (with post included) | |
| 237: $mail_tpl_full = trim(file_get_contents(PUN_ROOT.'lang/'.$cur_subscriber['language'].'/mail_templates/new_reply_full.tpl')); | |
| 238: | |
| 239: // The first row contains the subject (it also starts with "Subject:") | |
| 240: $first_crlf = strpos($mail_tpl, "\n"); | |
| 241: $mail_subject = trim(substr($mail_tpl, 8, $first_crlf-8)); | |
| 242: $mail_message = trim(substr($mail_tpl, $first_crlf)); | |
| 243: | |
| 244: $first_crlf = strpos($mail_tpl_full, "\n"); | |
| 245: $mail_subject_full = trim(substr($mail_tpl_full, 8, $first_crlf-8)); | |
| 246: $mail_message_full = trim(substr($mail_tpl_full, $first_crlf)); | |
| 247: | |
| 248: $mail_subject = str_replace('<topic_subject>', '\''.$cur_posting['subject'].'\'', $mail_subject); | |
| 249: $mail_message = str_replace('<topic_subject>', '\''.$cur_posting['subject'].'\'', $mail_message); | |
| 250: $mail_message = str_replace('<replier>', $username, $mail_message); | |
| 251: $mail_message = str_replace('<post_url>', $pun_config['o_base_url'].'/viewtopic.php?pid='.$new_pid.'#p'.$new_pid, $mail_message); | |
| 252: $mail_message = str_replace('<unsubscribe_url>', $pun_config['o_base_url'].'/misc.php?unsubscribe='.$tid, $mail_message); | |
| 253: $mail_message = str_replace('<board_mailer>', $pun_config['o_board_title'].' '.$lang_common['Mailer'], $mail_message); | |
| 254: | |
| 255: $mail_subject_full = str_replace('<topic_subject>', '\''.$cur_posting['subject'].'\'', $mail_subject_full); | |
| 256: $mail_message_full = str_replace('<topic_subject>', '\''.$cur_posting['subject'].'\'', $mail_message_full); | |
| 257: $mail_message_full = str_replace('<replier>', $username, $mail_message_full); | |
| 258: $mail_message_full = str_replace('<message>', $message, $mail_message_full); | |
| 259: $mail_message_full = str_replace('<post_url>', $pun_config['o_base_url'].'/viewtopic.php?pid='.$new_pid.'#p'.$new_pid, $mail_message_full); | |
| 260: $mail_message_full = str_replace('<unsubscribe_url>', $pun_config['o_base_url'].'/misc.php?unsubscribe='.$tid, $mail_message_full); | |
| 261: $mail_message_full = str_replace('<board_mailer>', $pun_config['o_board_title'].' '.$lang_common['Mailer'], $mail_message_full); | |
| 262: | |
| 263: $notification_emails[$cur_subscriber['language']][0] = $mail_subject; | |
| 264: $notification_emails[$cur_subscriber['language']][1] = $mail_message; | |
| 265: $notification_emails[$cur_subscriber['language']][2] = $mail_subject_full; | |
| 266: $notification_emails[$cur_subscriber['language']][3] = $mail_message_full; | |
| 236: | 267: |
| 237: // The first row contains the subject (it also starts with "Subject:") | 268: $mail_subject = $mail_message = $mail_subject_full = $mail_message_full = null; |
| 238: $first_crlf = strpos($mail_tpl, "\n"); | 269: } |
| 239: $mail_subject = trim(substr($mail_tpl, 8, $first_crlf-8)); | |
| 240: $mail_message = trim(substr($mail_tpl, $first_crlf)); | |
| 241: | |
| 242: $first_crlf = strpos($mail_tpl_full, "\n"); | |
| 243: $mail_subject_full = trim(substr($mail_tpl_full, 8, $first_crlf-8)); | |
| 244: $mail_message_full = trim(substr($mail_tpl_full, $first_crlf)); | |
| 245: | |
| 246: $mail_subject = str_replace('<topic_subject>', '\''.$cur_posting['subject'].'\'', $mail_subject); | |
| 247: $mail_message = str_replace('<topic_subject>', '\''.$cur_posting['subject'].'\'', $mail_message); | |
| 248: $mail_message = str_replace('<replier>', $username, $mail_message); | |
| 249: $mail_message = str_replace('<post_url>', $pun_config['o_base_url'].'/viewtopic.php?pid='.$new_pid.'#p'.$new_pid, $mail_message); | |
| 250: $mail_message = str_replace('<unsubscribe_url>', $pun_config['o_base_url'].'/misc.php?unsubscribe='.$tid, $mail_message); | |
| 251: $mail_message = str_replace('<board_mailer>', $pun_config['o_board_title'].' '.$lang_common['Mailer'], $mail_message); | |
| 252: | |
| 253: $mail_subject_full = str_replace('<topic_subject>', '\''.$cur_posting['subject'].'\'', $mail_subject_full); | |
| 254: $mail_message_full = str_replace('<topic_subject>', '\''.$cur_posting['subject'].'\'', $mail_message_full); | |
| 255: $mail_message_full = str_replace('<replier>', $username, $mail_message_full); | |
| 256: $mail_message_full = str_replace('<message>', $message, $mail_message_full); | |
| 257: $mail_message_full = str_replace('<post_url>', $pun_config['o_base_url'].'/viewtopic.php?pid='.$new_pid.'#p'.$new_pid, $mail_message_full); | |
| 258: $mail_message_full = str_replace('<unsubscribe_url>', $pun_config['o_base_url'].'/misc.php?unsubscribe='.$tid, $mail_message_full); | |
| 259: $mail_message_full = str_replace('<board_mailer>', $pun_config['o_board_title'].' '.$lang_common['Mailer'], $mail_message_full); | |
| 260: | |
| 261: $notification_emails[$cur_subscriber['language']][0] = $mail_subject; | |
| 262: $notification_emails[$cur_subscriber['language']][1] = $mail_message; | |
| 263: $notification_emails[$cur_subscriber['language']][2] = $mail_subject_full; | |
| 264: $notification_emails[$cur_subscriber['language']][3] = $mail_message_full; | |
| 265: | |
| 266: $mail_subject = $mail_message = $mail_subject_full = $mail_message_full = null; | |
| 267: } | 270: } |
| 268: } | |
| 269: | 271: |
| 270: // We have to double check here because the templates could be missing | 272: // We have to double check here because the templates could be missing |
| 271: if (isset($notification_emails[$cur_subscriber['language']])) | 273: if (isset($notification_emails[$cur_subscriber['language']])) |
| 272: { | 274: { |
| 273: if ($cur_subscriber['notify_with_post'] == '0') | 275: if ($cur_subscriber['notify_with_post'] == '0') |
| 274: pun_mail($cur_subscriber['email'], $notification_emails[$cur_subscriber['language']][0], $notification_emails[$cur_subscriber['language']][1]); | 276: pun_mail($cur_subscriber['email'], $notification_emails[$cur_subscriber['language']][0], $notification_emails[$cur_subscriber['language']][1]); |
| 275: else | 277: else |
| 276: pun_mail($cur_subscriber['email'], $notification_emails[$cur_subscriber['language']][2], $notification_emails[$cur_subscriber['language']][3]); | 278: pun_mail($cur_subscriber['email'], $notification_emails[$cur_subscriber['language']][2], $notification_emails[$cur_subscriber['language']][3]); |
| 279: } | |
| 277: } | 280: } |
| 278: } | 281: } |
| 279: } | 282: } |
| punbb-1.2.2/upload/userlist.php | punbb-1.2.3/upload/userlist.php |
|---|---|
| 116: $where_sql[] = 'u.group_id='.$show_group; | 116: $where_sql[] = 'u.group_id='.$show_group; |
| 117: | 117: |
| 118: // Fetch user count | 118: // Fetch user count |
| 119: $result = $db->query('SELECT COUNT(id)-1 FROM '.$db->prefix.'users AS u'.(!empty($where_sql) ? ' WHERE '.implode(' AND ', $where_sql) : '')) or error('Unable to fetch user list count', __FILE__, __LINE__, $db->error()); | 119: $result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'users AS u'.(!empty($where_sql) ? ' WHERE u.id>1 AND '.implode(' AND ', $where_sql) : '')) or error('Unable to fetch user list count', __FILE__, __LINE__, $db->error()); |
| 120: $num_users = $db->result($result); | 120: $num_users = $db->result($result); |
| 121: | 121: |
| 122: | 122: |
| 154: <?php | 154: <?php |
| 155: | 155: |
| 156: // Grab the users | 156: // Grab the users |
| 157: $result = $db->query('SELECT u.id, u.username, u.title, u.num_posts, u.registered, g.g_id, g.g_user_title FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id WHERE u.id>1'.(!empty($where_sql) ? ' AND '.implode(' AND ', $where_sql) : '').' ORDER BY '.$sort_by.' '.$sort_dir.' LIMIT '.$start_from.', 50') or error('Unable to fetch user list', __FILE__, __LINE__, $db->error()); | 157: $result = $db->query('SELECT u.id, u.username, u.title, u.num_posts, u.registered, g.g_id, g.g_user_title FROM '.$db->prefix.'users AS u LEFT JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id WHERE u.id>1'.(!empty($where_sql) ? ' AND '.implode(' AND ', $where_sql) : '').' ORDER BY '.$sort_by.' '.$sort_dir.' LIMIT '.$start_from.', 50') or error('Unable to fetch user list', __FILE__, __LINE__, $db->error()); |
| 158: if ($db->num_rows($result)) | 158: if ($db->num_rows($result)) |
| 159: { | 159: { |
| 160: while ($user_data = $db->fetch_assoc($result)) | 160: while ($user_data = $db->fetch_assoc($result)) |