fluxbb-1.5.0 to fluxbb-1.5.3 Legend
Lines removed 
Lines changed
 Lines added

a/admin_bans.php b/admin_bans.php
127:                                 <tr>127:                                 <tr>
128:                                     <th scope="row"><?php echo $lang_admin_bans['IP label'] ?></th>128:                                     <th scope="row"><?php echo $lang_admin_bans['IP label'] ?></th>
129:                                     <td>129:                                     <td>
130:                                         <input type="text" name="ban_ip" size="45" maxlength="255" value="<?php if (isset($ban_ip)) echo $ban_ip; ?>" tabindex="2" />130:                                         <input type="text" name="ban_ip" size="45" maxlength="255" value="<?php if (isset($ban_ip)) echo pun_htmlspecialchars($ban_ip); ?>" tabindex="2" />
131:                                         <span><?php echo $lang_admin_bans['IP help'] ?><?php if ($ban_user != '' && isset($user_id)) printf(' '.$lang_admin_bans['IP help link'], '<a href="admin_users.php?ip_stats='.$user_id.'">'.$lang_admin_common['here'].'</a>') ?></span>131:                                         <span><?php echo $lang_admin_bans['IP help'] ?><?php if ($ban_user != '' && isset($user_id)) printf(' '.$lang_admin_bans['IP help link'], '<a href="admin_users.php?ip_stats='.$user_id.'">'.$lang_admin_common['here'].'</a>') ?></span>
132:                                     </td>132:                                     </td>
133:                                 </tr>133:                                 </tr>
435:                 <tr>435:                 <tr>
436:                     <td class="tcl"><?php echo ($ban_data['username'] != '') ? pun_htmlspecialchars($ban_data['username']) : '&#160;' ?></td>436:                     <td class="tcl"><?php echo ($ban_data['username'] != '') ? pun_htmlspecialchars($ban_data['username']) : '&#160;' ?></td>
437:                     <td class="tc2"><?php echo ($ban_data['email'] != '') ? $ban_data['email'] : '&#160;' ?></td>437:                     <td class="tc2"><?php echo ($ban_data['email'] != '') ? $ban_data['email'] : '&#160;' ?></td>
438:                     <td class="tc3"><?php echo ($ban_data['ip'] != '') ? $ban_data['ip'] : '&#160;' ?></td>438:                     <td class="tc3"><?php echo ($ban_data['ip'] != '') ? pun_htmlspecialchars($ban_data['ip']) : '&#160;' ?></td>
439:                     <td class="tc4"><?php echo $expire ?></td>439:                     <td class="tc4"><?php echo $expire ?></td>
440:                     <td class="tc5"><?php echo ($ban_data['message'] != '') ? pun_htmlspecialchars($ban_data['message']) : '&#160;' ?></td>440:                     <td class="tc5"><?php echo ($ban_data['message'] != '') ? pun_htmlspecialchars($ban_data['message']) : '&#160;' ?></td>
441:                     <td class="tc6"><?php echo ($ban_data['ban_creator_username'] != '') ? '<a href="profile.php?id='.$ban_data['ban_creator'].'">'.pun_htmlspecialchars($ban_data['ban_creator_username']).'</a>' : $lang_admin_bans['Unknown'] ?></td>441:                     <td class="tc6"><?php echo ($ban_data['ban_creator_username'] != '') ? '<a href="profile.php?id='.$ban_data['ban_creator'].'">'.pun_htmlspecialchars($ban_data['ban_creator_username']).'</a>' : $lang_admin_bans['Unknown'] ?></td>
506: 506: 
507:         <h2 class="block2"><span><?php echo $lang_admin_bans['Ban search head'] ?></span></h2>507:         <h2 class="block2"><span><?php echo $lang_admin_bans['Ban search head'] ?></span></h2>
508:         <div class="box">508:         <div class="box">
509:             <form id="find_band" method="get" action="admin_bans.php">509:             <form id="find_bans" method="get" action="admin_bans.php">
510:                 <p class="submittop"><input type="submit" name="find_ban" value="<?php echo $lang_admin_bans['Submit search'] ?>" tabindex="3" /></p>510:                 <p class="submittop"><input type="submit" name="find_ban" value="<?php echo $lang_admin_bans['Submit search'] ?>" tabindex="3" /></p>
511:                 <div class="inform">511:                 <div class="inform">
512:                     <fieldset>512:                     <fieldset>


a/admin_categories.php b/admin_categories.php
 84:  84: 
 85:         redirect('admin_categories.php', $lang_admin_categories['Category deleted redirect']); 85:         redirect('admin_categories.php', $lang_admin_categories['Category deleted redirect']);
 86:     } 86:     }
 87:     else // If the user hasn't comfirmed the delete 87:     else // If the user hasn't confirmed the delete
 88:     { 88:     {
 89:         $result = $db->query('SELECT cat_name FROM '.$db->prefix.'categories WHERE id='.$cat_to_delete) or error('Unable to fetch category info', __FILE__, __LINE__, $db->error()); 89:         $result = $db->query('SELECT cat_name FROM '.$db->prefix.'categories WHERE id='.$cat_to_delete) or error('Unable to fetch category info', __FILE__, __LINE__, $db->error());
 90:         $cat_name = $db->result($result); 90:         $cat_name = $db->result($result);


a/admin_forums.php b/admin_forums.php
185:                 // Check if the new settings differ from the old185:                 // Check if the new settings differ from the old
186:                 if ($read_forum_new != $_POST['read_forum_old'][$cur_group['g_id']] || $post_replies_new != $_POST['post_replies_old'][$cur_group['g_id']] || $post_topics_new != $_POST['post_topics_old'][$cur_group['g_id']])186:                 if ($read_forum_new != $_POST['read_forum_old'][$cur_group['g_id']] || $post_replies_new != $_POST['post_replies_old'][$cur_group['g_id']] || $post_topics_new != $_POST['post_topics_old'][$cur_group['g_id']])
187:                 {187:                 {
188:                     // If the new settings are identical to the default settings for this group, delete it's row in forum_perms188:                     // If the new settings are identical to the default settings for this group, delete its row in forum_perms
189:                     if ($read_forum_new == '1' && $post_replies_new == $cur_group['g_post_replies'] && $post_topics_new == $cur_group['g_post_topics'])189:                     if ($read_forum_new == '1' && $post_replies_new == $cur_group['g_post_replies'] && $post_topics_new == $cur_group['g_post_topics'])
190:                         $db->query('DELETE FROM '.$db->prefix.'forum_perms WHERE group_id='.$cur_group['g_id'].' AND forum_id='.$forum_id) or error('Unable to delete group forum permissions', __FILE__, __LINE__, $db->error());190:                         $db->query('DELETE FROM '.$db->prefix.'forum_perms WHERE group_id='.$cur_group['g_id'].' AND forum_id='.$forum_id) or error('Unable to delete group forum permissions', __FILE__, __LINE__, $db->error());
191:                     else191:                     else


a/admin_groups.php b/admin_groups.php
 82:                                     <th scope="row"><?php echo $lang_admin_groups['User title label'] ?></th> 82:                                     <th scope="row"><?php echo $lang_admin_groups['User title label'] ?></th>
 83:                                     <td> 83:                                     <td>
 84:                                         <input type="text" name="user_title" size="25" maxlength="50" value="<?php echo pun_htmlspecialchars($group['g_user_title']) ?>" tabindex="2" /> 84:                                         <input type="text" name="user_title" size="25" maxlength="50" value="<?php echo pun_htmlspecialchars($group['g_user_title']) ?>" tabindex="2" />
 85:                                         <span><?php printf($lang_admin_groups['User title help'], $lang_common['Member']) ?></span> 85:                                         <span><?php printf($lang_admin_groups['User title help'], ($group['g_id'] != PUN_GUEST ? $lang_common['Member'] : $lang_common['Guest'])) ?></span>
 86:                                     </td> 86:                                     </td>
 87:                                 </tr> 87:                                 </tr>
 88: <?php if ($group['g_id'] != PUN_ADMIN): if ($group['g_id'] != PUN_GUEST): ?>                                <tr> 88: <?php if ($group['g_id'] != PUN_ADMIN): if ($group['g_id'] != PUN_GUEST): ?>                                <tr>
112: <?php if ($mode != 'edit' || $pun_config['o_default_user_group'] != $group['g_id']): ?>                                <tr>112: <?php if ($mode != 'edit' || $pun_config['o_default_user_group'] != $group['g_id']): ?>                                <tr>
113:                                     <th scope="row"> <?php echo $lang_admin_groups['Mod privileges label'] ?></th>113:                                     <th scope="row"> <?php echo $lang_admin_groups['Mod privileges label'] ?></th>
114:                                     <td>114:                                     <td>
115:                                         <input type="radio" name="moderator" value="1"<?php if ($group['g_moderator'] == '1') echo ' checked="checked"' ?> tabindex="5" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="moderator" value="0"<?php if ($group['g_moderator'] == '0') echo ' checked="checked"' ?> tabindex="6" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>115:                                         <label class="conl"><input type="radio" name="moderator" value="1"<?php if ($group['g_moderator'] == '1') echo ' checked="checked"' ?> tabindex="5" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
116:                                         <span><?php echo $lang_admin_groups['Mod privileges help'] ?></span>116:                                         <label class="conl"><input type="radio" name="moderator" value="0"<?php if ($group['g_moderator'] == '0') echo ' checked="checked"' ?> tabindex="6" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 117:                                         <span class="clearb"><?php echo $lang_admin_groups['Mod privileges help'] ?></span>
117:                                     </td>118:                                     </td>
118:                                 </tr>119:                                 </tr>
119:                                 <tr>120:                                 <tr>
120:                                     <th scope="row"><?php echo $lang_admin_groups['Edit profile label'] ?></th>121:                                     <th scope="row"><?php echo $lang_admin_groups['Edit profile label'] ?></th>
121:                                     <td>122:                                     <td>
122:                                         <input type="radio" name="mod_edit_users" value="1"<?php if ($group['g_mod_edit_users'] == '1') echo ' checked="checked"' ?> tabindex="7" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="mod_edit_users" value="0"<?php if ($group['g_mod_edit_users'] == '0') echo ' checked="checked"' ?> tabindex="8" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>123:                                         <label class="conl"><input type="radio" name="mod_edit_users" value="1"<?php if ($group['g_mod_edit_users'] == '1') echo ' checked="checked"' ?> tabindex="7" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
123:                                         <span><?php echo $lang_admin_groups['Edit profile help'] ?></span>124:                                         <label class="conl"><input type="radio" name="mod_edit_users" value="0"<?php if ($group['g_mod_edit_users'] == '0') echo ' checked="checked"' ?> tabindex="8" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 125:                                         <span class="clearb"><?php echo $lang_admin_groups['Edit profile help'] ?></span>
124:                                     </td>126:                                     </td>
125:                                 </tr>127:                                 </tr>
126:                                 <tr>128:                                 <tr>
127:                                     <th scope="row"><?php echo $lang_admin_groups['Rename users label'] ?></th>129:                                     <th scope="row"><?php echo $lang_admin_groups['Rename users label'] ?></th>
128:                                     <td>130:                                     <td>
129:                                         <input type="radio" name="mod_rename_users" value="1"<?php if ($group['g_mod_rename_users'] == '1') echo ' checked="checked"' ?> tabindex="9" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="mod_rename_users" value="0"<?php if ($group['g_mod_rename_users'] == '0') echo ' checked="checked"' ?> tabindex="10" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>131:                                         <label class="conl"><input type="radio" name="mod_rename_users" value="1"<?php if ($group['g_mod_rename_users'] == '1') echo ' checked="checked"' ?> tabindex="9" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
130:                                         <span><?php echo $lang_admin_groups['Rename users help'] ?></span>132:                                         <label class="conl"><input type="radio" name="mod_rename_users" value="0"<?php if ($group['g_mod_rename_users'] == '0') echo ' checked="checked"' ?> tabindex="10" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 133:                                         <span class="clearb"><?php echo $lang_admin_groups['Rename users help'] ?></span>
131:                                     </td>134:                                     </td>
132:                                 </tr>135:                                 </tr>
133:                                 <tr>136:                                 <tr>
134:                                     <th scope="row"><?php echo $lang_admin_groups['Change passwords label'] ?></th>137:                                     <th scope="row"><?php echo $lang_admin_groups['Change passwords label'] ?></th>
135:                                     <td>138:                                     <td>
136:                                         <input type="radio" name="mod_change_passwords" value="1"<?php if ($group['g_mod_change_passwords'] == '1') echo ' checked="checked"' ?> tabindex="11" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="mod_change_passwords" value="0"<?php if ($group['g_mod_change_passwords'] == '0') echo ' checked="checked"' ?> tabindex="12" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>139:                                         <label class="conl"><input type="radio" name="mod_change_passwords" value="1"<?php if ($group['g_mod_change_passwords'] == '1') echo ' checked="checked"' ?> tabindex="11" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
137:                                         <span><?php echo $lang_admin_groups['Change passwords help'] ?></span>140:                                         <label class="conl"><input type="radio" name="mod_change_passwords" value="0"<?php if ($group['g_mod_change_passwords'] == '0') echo ' checked="checked"' ?> tabindex="12" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 141:                                         <span class="clearb"><?php echo $lang_admin_groups['Change passwords help'] ?></span>
138:                                     </td>142:                                     </td>
139:                                 </tr>143:                                 </tr>
140:                                 <tr>144:                                 <tr>
141:                                     <th scope="row"><?php echo $lang_admin_groups['Ban users label'] ?></th>145:                                     <th scope="row"><?php echo $lang_admin_groups['Ban users label'] ?></th>
142:                                     <td>146:                                     <td>
143:                                         <input type="radio" name="mod_ban_users" value="1"<?php if ($group['g_mod_ban_users'] == '1') echo ' checked="checked"' ?> tabindex="13" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="mod_ban_users" value="0"<?php if ($group['g_mod_ban_users'] == '0') echo ' checked="checked"' ?> tabindex="14" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>147:                                         <label class="conl"><input type="radio" name="mod_ban_users" value="1"<?php if ($group['g_mod_ban_users'] == '1') echo ' checked="checked"' ?> tabindex="13" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
144:                                         <span><?php echo $lang_admin_groups['Ban users help'] ?></span>148:                                         <label class="conl"><input type="radio" name="mod_ban_users" value="0"<?php if ($group['g_mod_ban_users'] == '0') echo ' checked="checked"' ?> tabindex="14" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 149:                                         <span class="clearb"><?php echo $lang_admin_groups['Ban users help'] ?></span>
145:                                     </td>150:                                     </td>
146:                                 </tr>151:                                 </tr>
147: <?php endif; endif; ?>                                <tr>152: <?php endif; endif; ?>                                <tr>
148:                                     <th scope="row"><?php echo $lang_admin_groups['Read board label'] ?></th>153:                                     <th scope="row"><?php echo $lang_admin_groups['Read board label'] ?></th>
149:                                     <td>154:                                     <td>
150:                                         <input type="radio" name="read_board" value="1"<?php if ($group['g_read_board'] == '1') echo ' checked="checked"' ?> tabindex="15" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="read_board" value="0"<?php if ($group['g_read_board'] == '0') echo ' checked="checked"' ?> tabindex="16" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>155:                                         <label class="conl"><input type="radio" name="read_board" value="1"<?php if ($group['g_read_board'] == '1') echo ' checked="checked"' ?> tabindex="15" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
151:                                         <span><?php echo $lang_admin_groups['Read board help'] ?></span>156:                                         <label class="conl"><input type="radio" name="read_board" value="0"<?php if ($group['g_read_board'] == '0') echo ' checked="checked"' ?> tabindex="16" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 157:                                         <span class="clearb"><?php echo $lang_admin_groups['Read board help'] ?></span>
152:                                     </td>158:                                     </td>
153:                                 </tr>159:                                 </tr>
154:                                 <tr>160:                                 <tr>
155:                                     <th scope="row"><?php echo $lang_admin_groups['View user info label'] ?></th>161:                                     <th scope="row"><?php echo $lang_admin_groups['View user info label'] ?></th>
156:                                     <td>162:                                     <td>
157:                                         <input type="radio" name="view_users" value="1"<?php if ($group['g_view_users'] == '1') echo ' checked="checked"' ?> tabindex="17" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="view_users" value="0"<?php if ($group['g_view_users'] == '0') echo ' checked="checked"' ?> tabindex="18" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>163:                                         <label class="conl"><input type="radio" name="view_users" value="1"<?php if ($group['g_view_users'] == '1') echo ' checked="checked"' ?> tabindex="17" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
158:                                         <span><?php echo $lang_admin_groups['View user info help'] ?></span>164:                                         <label class="conl"><input type="radio" name="view_users" value="0"<?php if ($group['g_view_users'] == '0') echo ' checked="checked"' ?> tabindex="18" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 165:                                         <span class="clearb"><?php echo $lang_admin_groups['View user info help'] ?></span>
159:                                     </td>166:                                     </td>
160:                                 </tr>167:                                 </tr>
161:                                 <tr>168:                                 <tr>
162:                                     <th scope="row"><?php echo $lang_admin_groups['Post replies label'] ?></th>169:                                     <th scope="row"><?php echo $lang_admin_groups['Post replies label'] ?></th>
163:                                     <td>170:                                     <td>
164:                                         <input type="radio" name="post_replies" value="1"<?php if ($group['g_post_replies'] == '1') echo ' checked="checked"' ?> tabindex="19" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="post_replies" value="0"<?php if ($group['g_post_replies'] == '0') echo ' checked="checked"' ?> tabindex="20" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>171:                                         <label class="conl"><input type="radio" name="post_replies" value="1"<?php if ($group['g_post_replies'] == '1') echo ' checked="checked"' ?> tabindex="19" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
165:                                         <span><?php echo $lang_admin_groups['Post replies help'] ?></span>172:                                         <label class="conl"><input type="radio" name="post_replies" value="0"<?php if ($group['g_post_replies'] == '0') echo ' checked="checked"' ?> tabindex="20" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 173:                                         <span class="clearb"><?php echo $lang_admin_groups['Post replies help'] ?></span>
166:                                     </td>174:                                     </td>
167:                                 </tr>175:                                 </tr>
168:                                 <tr>176:                                 <tr>
169:                                     <th scope="row"><?php echo $lang_admin_groups['Post topics label'] ?></th>177:                                     <th scope="row"><?php echo $lang_admin_groups['Post topics label'] ?></th>
170:                                     <td>178:                                     <td>
171:                                         <input type="radio" name="post_topics" value="1"<?php if ($group['g_post_topics'] == '1') echo ' checked="checked"' ?> tabindex="21" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="post_topics" value="0"<?php if ($group['g_post_topics'] == '0') echo ' checked="checked"' ?> tabindex="22" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>179:                                         <label class="conl"><input type="radio" name="post_topics" value="1"<?php if ($group['g_post_topics'] == '1') echo ' checked="checked"' ?> tabindex="21" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
172:                                         <span><?php echo $lang_admin_groups['Post topics help'] ?></span>180:                                         <label class="conl"><input type="radio" name="post_topics" value="0"<?php if ($group['g_post_topics'] == '0') echo ' checked="checked"' ?> tabindex="22" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 181:                                         <span class="clearb"><?php echo $lang_admin_groups['Post topics help'] ?></span>
173:                                     </td>182:                                     </td>
174:                                 </tr>183:                                 </tr>
175: <?php if ($group['g_id'] != PUN_GUEST): ?>                                <tr>184: <?php if ($group['g_id'] != PUN_GUEST): ?>                                <tr>
176:                                     <th scope="row"><?php echo $lang_admin_groups['Edit posts label'] ?></th>185:                                     <th scope="row"><?php echo $lang_admin_groups['Edit posts label'] ?></th>
177:                                     <td>186:                                     <td>
178:                                         <input type="radio" name="edit_posts" value="1"<?php if ($group['g_edit_posts'] == '1') echo ' checked="checked"' ?> tabindex="23" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="edit_posts" value="0"<?php if ($group['g_edit_posts'] == '0') echo ' checked="checked"' ?> tabindex="24" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>187:                                         <label class="conl"><input type="radio" name="edit_posts" value="1"<?php if ($group['g_edit_posts'] == '1') echo ' checked="checked"' ?> tabindex="23" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
179:                                         <span><?php echo $lang_admin_groups['Edit posts help'] ?></span>188:                                         <label class="conl"><input type="radio" name="edit_posts" value="0"<?php if ($group['g_edit_posts'] == '0') echo ' checked="checked"' ?> tabindex="24" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 189:                                         <span class="clearb"><?php echo $lang_admin_groups['Edit posts help'] ?></span>
180:                                     </td>190:                                     </td>
181:                                 </tr>191:                                 </tr>
182:                                 <tr>192:                                 <tr>
183:                                     <th scope="row"><?php echo $lang_admin_groups['Delete posts label'] ?></th>193:                                     <th scope="row"><?php echo $lang_admin_groups['Delete posts label'] ?></th>
184:                                     <td>194:                                     <td>
185:                                         <input type="radio" name="delete_posts" value="1"<?php if ($group['g_delete_posts'] == '1') echo ' checked="checked"' ?> tabindex="25" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="delete_posts" value="0"<?php if ($group['g_delete_posts'] == '0') echo ' checked="checked"' ?> tabindex="26" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>195:                                         <label class="conl"><input type="radio" name="delete_posts" value="1"<?php if ($group['g_delete_posts'] == '1') echo ' checked="checked"' ?> tabindex="25" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
186:                                         <span><?php echo $lang_admin_groups['Delete posts help'] ?></span>196:                                         <label class="conl"><input type="radio" name="delete_posts" value="0"<?php if ($group['g_delete_posts'] == '0') echo ' checked="checked"' ?> tabindex="26" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 197:                                         <span class="clearb"><?php echo $lang_admin_groups['Delete posts help'] ?></span>
187:                                     </td>198:                                     </td>
188:                                 </tr>199:                                 </tr>
189:                                 <tr>200:                                 <tr>
190:                                     <th scope="row"><?php echo $lang_admin_groups['Delete topics label'] ?></th>201:                                     <th scope="row"><?php echo $lang_admin_groups['Delete topics label'] ?></th>
191:                                     <td>202:                                     <td>
192:                                         <input type="radio" name="delete_topics" value="1"<?php if ($group['g_delete_topics'] == '1') echo ' checked="checked"' ?> tabindex="27" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="delete_topics" value="0"<?php if ($group['g_delete_topics'] == '0') echo ' checked="checked"' ?> tabindex="28" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>203:                                         <label class="conl"><input type="radio" name="delete_topics" value="1"<?php if ($group['g_delete_topics'] == '1') echo ' checked="checked"' ?> tabindex="27" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
193:                                         <span><?php echo $lang_admin_groups['Delete topics help'] ?></span>204:                                         <label class="conl"><input type="radio" name="delete_topics" value="0"<?php if ($group['g_delete_topics'] == '0') echo ' checked="checked"' ?> tabindex="28" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 205:                                         <span class="clearb"><?php echo $lang_admin_groups['Delete topics help'] ?></span>
194:                                     </td>206:                                     </td>
195:                                 </tr>207:                                 </tr>
196: <?php endif; ?>                                <tr>208: <?php endif; ?>                                <tr>
197:                                     <th scope="row"><?php echo $lang_admin_groups['Post links label'] ?></th>209:                                     <th scope="row"><?php echo $lang_admin_groups['Post links label'] ?></th>
198:                                     <td>210:                                     <td>
199:                                         <input type="radio" name="post_links" value="1"<?php if ($group['g_post_links'] == '1') echo ' checked="checked"' ?> tabindex="29" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="post_links" value="0"<?php if ($group['g_post_links'] == '0') echo ' checked="checked"' ?> tabindex="30" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>211:                                         <label class="conl"><input type="radio" name="post_links" value="1"<?php if ($group['g_post_links'] == '1') echo ' checked="checked"' ?> tabindex="29" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
200:                                         <span><?php echo $lang_admin_groups['Post links help'] ?></span>212:                                         <label class="conl"><input type="radio" name="post_links" value="0"<?php if ($group['g_post_links'] == '0') echo ' checked="checked"' ?> tabindex="30" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 213:                                         <span class="clearb"><?php echo $lang_admin_groups['Post links help'] ?></span>
201:                                     </td>214:                                     </td>
202:                                 </tr>215:                                 </tr>
203: <?php if ($group['g_id'] != PUN_GUEST): ?>                                <tr>216: <?php if ($group['g_id'] != PUN_GUEST): ?>                                <tr>
204:                                     <th scope="row"><?php echo $lang_admin_groups['Set own title label'] ?></th>217:                                     <th scope="row"><?php echo $lang_admin_groups['Set own title label'] ?></th>
205:                                     <td>218:                                     <td>
206:                                         <input type="radio" name="set_title" value="1"<?php if ($group['g_set_title'] == '1') echo ' checked="checked"' ?> tabindex="31" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="set_title" value="0"<?php if ($group['g_set_title'] == '0') echo ' checked="checked"' ?> tabindex="32" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>219:                                         <label class="conl"><input type="radio" name="set_title" value="1"<?php if ($group['g_set_title'] == '1') echo ' checked="checked"' ?> tabindex="31" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
207:                                         <span><?php echo $lang_admin_groups['Set own title help'] ?></span>220:                                         <label class="conl"><input type="radio" name="set_title" value="0"<?php if ($group['g_set_title'] == '0') echo ' checked="checked"' ?> tabindex="32" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 221:                                         <span class="clearb"><?php echo $lang_admin_groups['Set own title help'] ?></span>
208:                                     </td>222:                                     </td>
209:                                 </tr>223:                                 </tr>
210: <?php endif; ?>                                <tr>224: <?php endif; ?>                                <tr>
211:                                     <th scope="row"><?php echo $lang_admin_groups['User search label'] ?></th>225:                                     <th scope="row"><?php echo $lang_admin_groups['User search label'] ?></th>
212:                                     <td>226:                                     <td>
213:                                         <input type="radio" name="search" value="1"<?php if ($group['g_search'] == '1') echo ' checked="checked"' ?> tabindex="33" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="search" value="0"<?php if ($group['g_search'] == '0') echo ' checked="checked"' ?> tabindex="34" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>227:                                         <label class="conl"><input type="radio" name="search" value="1"<?php if ($group['g_search'] == '1') echo ' checked="checked"' ?> tabindex="33" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
214:                                         <span><?php echo $lang_admin_groups['User search help'] ?></span>228:                                         <label class="conl"><input type="radio" name="search" value="0"<?php if ($group['g_search'] == '0') echo ' checked="checked"' ?> tabindex="34" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 229:                                         <span class="clearb"><?php echo $lang_admin_groups['User search help'] ?></span>
215:                                     </td>230:                                     </td>
216:                                 </tr>231:                                 </tr>
217:                                 <tr>232:                                 <tr>
218:                                     <th scope="row"><?php echo $lang_admin_groups['User list search label'] ?></th>233:                                     <th scope="row"><?php echo $lang_admin_groups['User list search label'] ?></th>
219:                                     <td>234:                                     <td>
220:                                         <input type="radio" name="search_users" value="1"<?php if ($group['g_search_users'] == '1') echo ' checked="checked"' ?> tabindex="35" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="search_users" value="0"<?php if ($group['g_search_users'] == '0') echo ' checked="checked"' ?> tabindex="36" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>235:                                         <label class="conl"><input type="radio" name="search_users" value="1"<?php if ($group['g_search_users'] == '1') echo ' checked="checked"' ?> tabindex="35" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
221:                                         <span><?php echo $lang_admin_groups['User list search help'] ?></span>236:                                         <label class="conl"><input type="radio" name="search_users" value="0"<?php if ($group['g_search_users'] == '0') echo ' checked="checked"' ?> tabindex="36" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 237:                                         <span class="clearb"><?php echo $lang_admin_groups['User list search help'] ?></span>
222:                                     </td>238:                                     </td>
223:                                 </tr>239:                                 </tr>
224: <?php if ($group['g_id'] != PUN_GUEST): ?>                                <tr>240: <?php if ($group['g_id'] != PUN_GUEST): ?>                                <tr>
225:                                     <th scope="row"><?php echo $lang_admin_groups['Send e-mails label'] ?></th>241:                                     <th scope="row"><?php echo $lang_admin_groups['Send e-mails label'] ?></th>
226:                                     <td>242:                                     <td>
227:                                         <input type="radio" name="send_email" value="1"<?php if ($group['g_send_email'] == '1') echo ' checked="checked"' ?> tabindex="37" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="send_email" value="0"<?php if ($group['g_send_email'] == '0') echo ' checked="checked"' ?> tabindex="38" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>243:                                         <label class="conl"><input type="radio" name="send_email" value="1"<?php if ($group['g_send_email'] == '1') echo ' checked="checked"' ?> tabindex="37" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
228:                                         <span><?php echo $lang_admin_groups['Send e-mails help'] ?></span>244:                                         <label class="conl"><input type="radio" name="send_email" value="0"<?php if ($group['g_send_email'] == '0') echo ' checked="checked"' ?> tabindex="38" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 245:                                         <span class="clearb"><?php echo $lang_admin_groups['Send e-mails help'] ?></span>
229:                                     </td>246:                                     </td>
230:                                 </tr>247:                                 </tr>
231: <?php endif; ?>                                <tr>248: <?php endif; ?>                                <tr>


a/admin_index.php b/admin_index.php
 38:         message(sprintf($lang_admin_index['New version available message'], '<a href="http://fluxbb.org/">FluxBB.org</a>')); 38:         message(sprintf($lang_admin_index['New version available message'], '<a href="http://fluxbb.org/">FluxBB.org</a>'));
 39: } 39: }
 40:  40: 
 41:  
 42: // Show phpinfo() output 
 43: else if ($action == 'phpinfo' && $pun_user['g_id'] == PUN_ADMIN) 
 44: { 
 45:     // Is phpinfo() a disabled function? 
 46:     if (strpos(strtolower((string) ini_get('disable_functions')), 'phpinfo') !== false) 
 47:         message($lang_admin_index['PHPinfo disabled message']); 
 48:  
 49:     phpinfo(); 
 50:     exit; 
 51: } 
 52:  
 53:  
 54: // Get the server load averages (if possible) 
 55: if (@file_exists('/proc/loadavg') && is_readable('/proc/loadavg')) 
 56: { 
 57:     // We use @ just in case 
 58:     $fh = @fopen('/proc/loadavg', 'r'); 
 59:     $load_averages = @fread($fh, 64); 
 60:     @fclose($fh); 
 61:  
 62:     if (($fh = @fopen('/proc/loadavg', 'r'))) 
 63:     { 
 64:         $load_averages = fread($fh, 64); 
 65:         fclose($fh); 
 66:     } 
 67:     else 
 68:         $load_averages = ''; 
 69:  
 70:     $load_averages = @explode(' ', $load_averages); 
 71:     $server_load = isset($load_averages[2]) ? $load_averages[0].' '.$load_averages[1].' '.$load_averages[2] : $lang_admin_index['Not available']; 
 72: } 
 73: else if (!in_array(PHP_OS, array('WINNT', 'WIN32')) && preg_match('%averages?: ([0-9\.]+),?\s+([0-9\.]+),?\s+([0-9\.]+)%i', @exec('uptime'), $load_averages)) 
 74:     $server_load = $load_averages[1].' '.$load_averages[2].' '.$load_averages[3]; 
 75: else 
 76:     $server_load = $lang_admin_index['Not available']; 
 77:  
 78:  
 79: // Get number of current visitors 
 80: $result = $db->query('SELECT COUNT(user_id) FROM '.$db->prefix.'online WHERE idle=0') or error('Unable to fetch online count', __FILE__, __LINE__, $db->error()); 
 81: $num_online = $db->result($result); 
 82:  
 83:  
 84: // Collect some additional info about MySQL 
 85: if ($db_type == 'mysql' || $db_type == 'mysqli' || $db_type == 'mysql_innodb' || $db_type == 'mysqli_innodb') 
 86: { 
 87:     // Calculate total db size/row count 
 88:     $result = $db->query('SHOW TABLE STATUS LIKE \''.$db->prefix.'%\'') or error('Unable to fetch table status', __FILE__, __LINE__, $db->error()); 
 89:  
 90:     $total_records = $total_size = 0; 
 91:     while ($status = $db->fetch_assoc($result)) 
 92:     { 
 93:         $total_records += $status['Rows']; 
 94:         $total_size += $status['Data_length'] + $status['Index_length']; 
 95:     } 
 96:  
 97:     $total_size = file_size($total_size); 
 98: } 
 99:  
100:  
101: // Check for the existence of various PHP opcode caches/optimizers 
102: if (function_exists('mmcache')) 
103:     $php_accelerator = '<a href="http://'.$lang_admin_index['Turck MMCache link'].'">'.$lang_admin_index['Turck MMCache'].'</a>'; 
104: else if (isset($_PHPA)) 
105:     $php_accelerator = '<a href="http://'.$lang_admin_index['ionCube PHP Accelerator link'].'">'.$lang_admin_index['ionCube PHP Accelerator'].'</a>'; 
106: else if (ini_get('apc.enabled')) 
107:     $php_accelerator ='<a href="http://'.$lang_admin_index['Alternative PHP Cache (APC) link'].'">'.$lang_admin_index['Alternative PHP Cache (APC)'].'</a>'; 
108: else if (ini_get('zend_optimizer.optimization_level')) 
109:     $php_accelerator = '<a href="http://'.$lang_admin_index['Zend Optimizer link'].'">'.$lang_admin_index['Zend Optimizer'].'</a>'; 
110: else if (ini_get('eaccelerator.enable')) 
111:     $php_accelerator = '<a href="http://'.$lang_admin_index['eAccelerator link'].'">'.$lang_admin_index['eAccelerator'].'</a>'; 
112: else if (ini_get('xcache.cacher')) 
113:     $php_accelerator = '<a href="http://'.$lang_admin_index['XCache link'].'">'.$lang_admin_index['XCache'].'</a>'; 
114: else 
115:     $php_accelerator = $lang_admin_index['NA']; 
116:  
117:  
118: $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_admin_common['Admin'], $lang_admin_common['Index']); 41: $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_admin_common['Admin'], $lang_admin_common['Index']);
119: define('PUN_ACTIVE_PAGE', 'admin'); 42: define('PUN_ACTIVE_PAGE', 'admin');
120: require PUN_ROOT.'header.php'; 43: require PUN_ROOT.'header.php';
141:             </div> 64:             </div>
142:         </div> 65:         </div>
143:  66: 
144:         <h2 class="block2"><span><?php echo $lang_admin_index['Statistics head'] ?></span></h2> 67:         <h2 class="block2"><span><?php echo $lang_admin_index['About head'] ?></span></h2>
145:         <div id="adstats" class="box"> 68:         <div id="adstats" class="box">
146:             <div class="inbox"> 69:             <div class="inbox">
147:                 <dl> 70:                 <dl>
149:                     <dd> 72:                     <dd>
150:                         <?php printf($lang_admin_index['FluxBB version data']."\n", $pun_config['o_cur_version'], '<a href="admin_index.php?action=check_upgrade">'.$lang_admin_index['Check for upgrade'].'</a>') ?> 73:                         <?php printf($lang_admin_index['FluxBB version data']."\n", $pun_config['o_cur_version'], '<a href="admin_index.php?action=check_upgrade">'.$lang_admin_index['Check for upgrade'].'</a>') ?>
151:                     </dd> 74:                     </dd>
152:                     <dt><?php echo $lang_admin_index['Server load label'] ?></dt> 75:                     <dt><?php echo $lang_admin_index['Server statistics label'] ?></dt>
153:                     <dd> 76:                     <dd>
154:                         <?php printf($lang_admin_index['Server load data']."\n", $server_load, $num_online) ?> 77:                         <a href="admin_statistics.php"><?php echo $lang_admin_index['View server statistics'] ?></a>
155:                     </dd> 78:                     </dd>
156: <?php if ($pun_user['g_id'] == PUN_ADMIN): ?>                    <dt><?php echo $lang_admin_index['Environment label'] ?></dt> 79:                     <dt><?php echo $lang_admin_index['Support label'] ?></dt>
157:                     <dd> 80:                     <dd>
158:                         <?php printf($lang_admin_index['Environment data OS'], PHP_OS) ?><br /> 81:                         <a href="http://fluxbb.org/forums/index.php"><?php echo $lang_admin_index['Forum label'] ?></a> - <a href="http://fluxbb.org/community/irc.html"><?php echo $lang_admin_index['IRC label'] ?></a>
159:                         <?php printf($lang_admin_index['Environment data version'], phpversion(), '<a href="admin_index.php?action=phpinfo">'.$lang_admin_index['Show info'].'</a>') ?><br /> 
160:                         <?php printf($lang_admin_index['Environment data acc']."\n", $php_accelerator) ?> 
161:                     </dd> 82:                     </dd>
162:                     <dt><?php echo $lang_admin_index['Database label'] ?></dt> 
163:                     <dd> 
164:                         <?php echo implode(' ', $db->get_version())."\n" ?> 
165: <?php if (isset($total_records) && isset($total_size)): ?>                        <br /><?php printf($lang_admin_index['Database data rows']."\n", forum_number_format($total_records)) ?> 
166:                         <br /><?php printf($lang_admin_index['Database data size']."\n", $total_size) ?> 
167: <?php endif; ?>                    </dd> 
168: <?php endif; ?> 
169:                 </dl> 83:                 </dl>
170:             </div> 84:             </div>
171:         </div> 85:         </div>


a/admin_loader.php b/admin_loader.php
 39: define('PUN_ACTIVE_PAGE', 'admin'); 39: define('PUN_ACTIVE_PAGE', 'admin');
 40: require PUN_ROOT.'header.php'; 40: require PUN_ROOT.'header.php';
 41:  41: 
 42: // Attempt to load the plugin. We don't use @ here to supress error messages, 42: // Attempt to load the plugin. We don't use @ here to suppress error messages,
 43: // because if we did and a parse error occurred in the plugin, we would only 43: // because if we did and a parse error occurred in the plugin, we would only
 44: // get the "blank page of death" 44: // get the "blank page of death"
 45: include PUN_ROOT.'plugins/'.$plugin; 45: include PUN_ROOT.'plugins/'.$plugin;


a/admin_maintenance.php b/admin_maintenance.php
280:                                 <tr>280:                                 <tr>
281:                                     <th scope="row"><?php echo $lang_admin_maintenance['Empty index label'] ?></th>281:                                     <th scope="row"><?php echo $lang_admin_maintenance['Empty index label'] ?></th>
282:                                     <td class="inputadmin">282:                                     <td class="inputadmin">
283:                                         <span><input type="checkbox" name="i_empty_index" value="1" tabindex="3" checked="checked" />&#160;&#160;<?php echo $lang_admin_maintenance['Empty index help'] ?></span>283:                                         <label><input type="checkbox" name="i_empty_index" value="1" tabindex="3" checked="checked" />&#160;&#160;<?php echo $lang_admin_maintenance['Empty index help'] ?></label>
284:                                     </td>284:                                     </td>
285:                                 </tr>285:                                 </tr>
286:                             </table>286:                             </table>
308:                                 <tr>308:                                 <tr>
309:                                     <th scope="row"><?php echo $lang_admin_maintenance['Prune sticky label'] ?></th>309:                                     <th scope="row"><?php echo $lang_admin_maintenance['Prune sticky label'] ?></th>
310:                                     <td>310:                                     <td>
311:                                         <input type="radio" name="prune_sticky" value="1" tabindex="6" checked="checked" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="prune_sticky" value="0" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>311:                                         <label class="conl"><input type="radio" name="prune_sticky" value="1" tabindex="6" checked="checked" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
312:                                         <span><?php echo $lang_admin_maintenance['Prune sticky help'] ?></span>312:                                         <label class="conl"><input type="radio" name="prune_sticky" value="0" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 313:                                         <span class="clearb"><?php echo $lang_admin_maintenance['Prune sticky help'] ?></span>
313:                                     </td>314:                                     </td>
314:                                 </tr>315:                                 </tr>
315:                                 <tr>316:                                 <tr>


a/admin_options.php b/admin_options.php
302:                                 <tr>302:                                 <tr>
303:                                     <th scope="row"><?php echo $lang_admin_options['DST label'] ?></th>303:                                     <th scope="row"><?php echo $lang_admin_options['DST label'] ?></th>
304:                                     <td>304:                                     <td>
305:                                         <input type="radio" name="form[default_dst]" id="form_default_dst_1" value="1"<?php if ($pun_config['o_default_dst'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_default_dst_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[default_dst]" id="form_default_dst_0" value="0"<?php if ($pun_config['o_default_dst'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_default_dst_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>305:                                         <label class="conl"><input type="radio" name="form[default_dst]" value="1"<?php if ($pun_config['o_default_dst'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
306:                                         <span><?php echo $lang_admin_options['DST help'] ?></span>306:                                         <label class="conl"><input type="radio" name="form[default_dst]" value="0"<?php if ($pun_config['o_default_dst'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 307:                                         <span class="clearb"><?php echo $lang_admin_options['DST help'] ?></span>
307:                                     </td>308:                                     </td>
308:                                 </tr>309:                                 </tr>
309:                                 <tr>310:                                 <tr>
410:                                 <tr>411:                                 <tr>
411:                                     <th scope="row"><?php echo $lang_admin_options['Version number label'] ?></th>412:                                     <th scope="row"><?php echo $lang_admin_options['Version number label'] ?></th>
412:                                     <td>413:                                     <td>
413:                                         <input type="radio" name="form[show_version]" id="form_show_version_1" value="1"<?php if ($pun_config['o_show_version'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_show_version_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[show_version]" id="form_show_version_0" value="0"<?php if ($pun_config['o_show_version'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_show_version_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>414:                                         <label class="conl"><input type="radio" name="form[show_version]" value="1"<?php if ($pun_config['o_show_version'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
414:                                         <span><?php echo $lang_admin_options['Version number help'] ?></span>415:                                         <label class="conl"><input type="radio" name="form[show_version]" value="0"<?php if ($pun_config['o_show_version'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 416:                                         <span class="clearb"><?php echo $lang_admin_options['Version number help'] ?></span>
415:                                     </td>417:                                     </td>
416:                                 </tr>418:                                 </tr>
417:                                 <tr>419:                                 <tr>
418:                                     <th scope="row"><?php echo $lang_admin_options['Info in posts label'] ?></th>420:                                     <th scope="row"><?php echo $lang_admin_options['Info in posts label'] ?></th>
419:                                     <td>421:                                     <td>
420:                                         <input type="radio" name="form[show_user_info]" id="form_show_user_info_1" value="1"<?php if ($pun_config['o_show_user_info'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_show_user_info_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[show_user_info]" id="form_show_user_info_0" value="0"<?php if ($pun_config['o_show_user_info'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_show_user_info_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>422:                                         <label class="conl"><input type="radio" name="form[show_user_info]" value="1"<?php if ($pun_config['o_show_user_info'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
421:                                         <span><?php echo $lang_admin_options['Info in posts help'] ?></span>423:                                         <label class="conl"><input type="radio" name="form[show_user_info]" value="0"<?php if ($pun_config['o_show_user_info'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 424:                                         <span class="clearb"><?php echo $lang_admin_options['Info in posts help'] ?></span>
422:                                     </td>425:                                     </td>
423:                                 </tr>426:                                 </tr>
424:                                 <tr>427:                                 <tr>
425:                                     <th scope="row"><?php echo $lang_admin_options['Post count label'] ?></th>428:                                     <th scope="row"><?php echo $lang_admin_options['Post count label'] ?></th>
426:                                     <td>429:                                     <td>
427:                                         <input type="radio" name="form[show_post_count]" id="form_show_post_count_1" value="1"<?php if ($pun_config['o_show_post_count'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_show_post_count_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[show_post_count]" id="form_show_post_count_0" value="0"<?php if ($pun_config['o_show_post_count'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_show_post_count_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>430:                                         <label class="conl"><input type="radio" name="form[show_post_count]" value="1"<?php if ($pun_config['o_show_post_count'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
428:                                         <span><?php echo $lang_admin_options['Post count help'] ?></span>431:                                         <label class="conl"><input type="radio" name="form[show_post_count]" value="0"<?php if ($pun_config['o_show_post_count'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 432:                                         <span class="clearb"><?php echo $lang_admin_options['Post count help'] ?></span>
429:                                     </td>433:                                     </td>
430:                                 </tr>434:                                 </tr>
431:                                 <tr>435:                                 <tr>
432:                                     <th scope="row"><?php echo $lang_admin_options['Smilies label'] ?></th>436:                                     <th scope="row"><?php echo $lang_admin_options['Smilies label'] ?></th>
433:                                     <td>437:                                     <td>
434:                                         <input type="radio" name="form[smilies]" id="form_smilies_1" value="1"<?php if ($pun_config['o_smilies'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_smilies_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[smilies]" id="form_smilies_0" value="0"<?php if ($pun_config['o_smilies'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_smilies_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>438:                                         <label class="conl"><input type="radio" name="form[smilies]" value="1"<?php if ($pun_config['o_smilies'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
435:                                         <span><?php echo $lang_admin_options['Smilies help'] ?></span>439:                                         <label class="conl"><input type="radio" name="form[smilies]" value="0"<?php if ($pun_config['o_smilies'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 440:                                         <span class="clearb"><?php echo $lang_admin_options['Smilies help'] ?></span>
436:                                     </td>441:                                     </td>
437:                                 </tr>442:                                 </tr>
438:                                 <tr>443:                                 <tr>
439:                                     <th scope="row"><?php echo $lang_admin_options['Smilies sigs label'] ?></th>444:                                     <th scope="row"><?php echo $lang_admin_options['Smilies sigs label'] ?></th>
440:                                     <td>445:                                     <td>
441:                                         <input type="radio" name="form[smilies_sig]" id="form_smilies_sig_1" value="1"<?php if ($pun_config['o_smilies_sig'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_smilies_sig_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[smilies_sig]" id="form_smilies_sig_0" value="0"<?php if ($pun_config['o_smilies_sig'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_smilies_sig_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>446:                                         <label class="conl"><input type="radio" name="form[smilies_sig]" value="1"<?php if ($pun_config['o_smilies_sig'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
442:                                         <span><?php echo $lang_admin_options['Smilies sigs help'] ?></span>447:                                         <label class="conl"><input type="radio" name="form[smilies_sig]" value="0"<?php if ($pun_config['o_smilies_sig'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 448:                                         <span class="clearb"><?php echo $lang_admin_options['Smilies sigs help'] ?></span>
443:                                     </td>449:                                     </td>
444:                                 </tr>450:                                 </tr>
445:                                 <tr>451:                                 <tr>
446:                                     <th scope="row"><?php echo $lang_admin_options['Clickable links label'] ?></th>452:                                     <th scope="row"><?php echo $lang_admin_options['Clickable links label'] ?></th>
447:                                     <td>453:                                     <td>
448:                                         <input type="radio" name="form[make_links]" id="form_make_links_1" value="1"<?php if ($pun_config['o_make_links'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_make_links_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[make_links]" id="form_make_links_0" value="0"<?php if ($pun_config['o_make_links'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_make_links_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>454:                                         <label class="conl"><input type="radio" name="form[make_links]" value="1"<?php if ($pun_config['o_make_links'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
449:                                         <span><?php echo $lang_admin_options['Clickable links help'] ?></span>455:                                         <label class="conl"><input type="radio" name="form[make_links]" value="0"<?php if ($pun_config['o_make_links'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 456:                                         <span class="clearb"><?php echo $lang_admin_options['Clickable links help'] ?></span>
450:                                     </td>457:                                     </td>
451:                                 </tr>458:                                 </tr>
452:                                 <tr>459:                                 <tr>
459:                                 <tr>466:                                 <tr>
460:                                     <th scope="row"><?php echo $lang_admin_options['Topics per page label'] ?></th>467:                                     <th scope="row"><?php echo $lang_admin_options['Topics per page label'] ?></th>
461:                                     <td>468:                                     <td>
462:                                         <input type="text" name="form[disp_topics_default]" size="3" maxlength="3" value="<?php echo $pun_config['o_disp_topics_default'] ?>" />469:                                         <input type="text" name="form[disp_topics_default]" size="3" maxlength="2" value="<?php echo $pun_config['o_disp_topics_default'] ?>" />
463:                                         <span><?php echo $lang_admin_options['Topics per page help'] ?></span>470:                                         <span><?php echo $lang_admin_options['Topics per page help'] ?></span>
464:                                     </td>471:                                     </td>
465:                                 </tr>472:                                 </tr>
466:                                 <tr>473:                                 <tr>
467:                                     <th scope="row"><?php echo $lang_admin_options['Posts per page label'] ?></th>474:                                     <th scope="row"><?php echo $lang_admin_options['Posts per page label'] ?></th>
468:                                     <td>475:                                     <td>
469:                                         <input type="text" name="form[disp_posts_default]" size="3" maxlength="3" value="<?php echo $pun_config['o_disp_posts_default'] ?>" />476:                                         <input type="text" name="form[disp_posts_default]" size="3" maxlength="2" value="<?php echo $pun_config['o_disp_posts_default'] ?>" />
470:                                         <span><?php echo $lang_admin_options['Posts per page help'] ?></span>477:                                         <span><?php echo $lang_admin_options['Posts per page help'] ?></span>
471:                                     </td>478:                                     </td>
472:                                 </tr>479:                                 </tr>
496:                                 <tr>503:                                 <tr>
497:                                     <th scope="row"><?php echo $lang_admin_options['Quick post label'] ?></th>504:                                     <th scope="row"><?php echo $lang_admin_options['Quick post label'] ?></th>
498:                                     <td>505:                                     <td>
499:                                         <input type="radio" name="form[quickpost]" id="form_quickpost_1" value="1"<?php if ($pun_config['o_quickpost'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_quickpost_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[quickpost]" id="form_quickpost_0" value="0"<?php if ($pun_config['o_quickpost'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_quickpost_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>506:                                         <label class="conl"><input type="radio" name="form[quickpost]" value="1"<?php if ($pun_config['o_quickpost'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
500:                                         <span><?php echo $lang_admin_options['Quick post help'] ?></span>507:                                         <label class="conl"><input type="radio" name="form[quickpost]" value="0"<?php if ($pun_config['o_quickpost'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 508:                                         <span class="clearb"><?php echo $lang_admin_options['Quick post help'] ?></span>
501:                                     </td>509:                                     </td>
502:                                 </tr>510:                                 </tr>
503:                                 <tr>511:                                 <tr>
504:                                     <th scope="row"><?php echo $lang_admin_options['Users online label'] ?></th>512:                                     <th scope="row"><?php echo $lang_admin_options['Users online label'] ?></th>
505:                                     <td>513:                                     <td>
506:                                         <input type="radio" name="form[users_online]" id="form_users_online_1" value="1"<?php if ($pun_config['o_users_online'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_users_online_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[users_online]" id="form_users_online_0" value="0"<?php if ($pun_config['o_users_online'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_users_online_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>514:                                         <label class="conl"><input type="radio" name="form[users_online]" value="1"<?php if ($pun_config['o_users_online'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
507:                                         <span><?php echo $lang_admin_options['Users online help'] ?></span>515:                                         <label class="conl"><input type="radio" name="form[users_online]" value="0"<?php if ($pun_config['o_users_online'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 516:                                         <span class="clearb"><?php echo $lang_admin_options['Users online help'] ?></span>
508:                                     </td>517:                                     </td>
509:                                 </tr>518:                                 </tr>
510:                                 <tr>519:                                 <tr>
511:                                     <th scope="row"><a name="censoring"></a><?php echo $lang_admin_options['Censor words label'] ?></th>520:                                     <th scope="row"><a name="censoring"></a><?php echo $lang_admin_options['Censor words label'] ?></th>
512:                                     <td>521:                                     <td>
513:                                         <input type="radio" name="form[censoring]" id="form_censoring_1" value="1"<?php if ($pun_config['o_censoring'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_censoring_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[censoring]" id="form_censoring_0" value="0"<?php if ($pun_config['o_censoring'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_censoring_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>522:                                         <label class="conl"><input type="radio" name="form[censoring]" value="1"<?php if ($pun_config['o_censoring'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
514:                                         <span><?php printf($lang_admin_options['Censor words help'], '<a href="admin_censoring.php">'.$lang_admin_common['Censoring'].'</a>') ?></span>523:                                         <label class="conl"><input type="radio" name="form[censoring]" value="0"<?php if ($pun_config['o_censoring'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 524:                                         <span class="clearb"><?php printf($lang_admin_options['Censor words help'], '<a href="admin_censoring.php">'.$lang_admin_common['Censoring'].'</a>') ?></span>
515:                                     </td>525:                                     </td>
516:                                 </tr>526:                                 </tr>
517:                                 <tr>527:                                 <tr>
518:                                     <th scope="row"><a name="signatures"></a><?php echo $lang_admin_options['Signatures label'] ?></th>528:                                     <th scope="row"><a name="signatures"></a><?php echo $lang_admin_options['Signatures label'] ?></th>
519:                                     <td>529:                                     <td>
520:                                         <input type="radio" name="form[signatures]" id="form_signatures_1" value="1"<?php if ($pun_config['o_signatures'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_signatures_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[signatures]" id="form_signatures_0" value="0"<?php if ($pun_config['o_signatures'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_signatures_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>530:                                         <label class="conl"><input type="radio" name="form[signatures]" value="1"<?php if ($pun_config['o_signatures'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
521:                                         <span><?php echo $lang_admin_options['Signatures help'] ?></span>531:                                         <label class="conl"><input type="radio" name="form[signatures]" value="0"<?php if ($pun_config['o_signatures'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 532:                                         <span class="clearb"><?php echo $lang_admin_options['Signatures help'] ?></span>
522:                                     </td>533:                                     </td>
523:                                 </tr>534:                                 </tr>
524:                                 <tr>535:                                 <tr>
525:                                     <th scope="row"><?php echo $lang_admin_options['User has posted label'] ?></th>536:                                     <th scope="row"><?php echo $lang_admin_options['User has posted label'] ?></th>
526:                                     <td>537:                                     <td>
527:                                         <input type="radio" name="form[show_dot]" id="form_show_dot_1" value="1"<?php if ($pun_config['o_show_dot'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_show_dot_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[show_dot]" id="form_show_dot_0" value="0"<?php if ($pun_config['o_show_dot'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_show_dot_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>538:                                         <label class="conl"><input type="radio" name="form[show_dot]" value="1"<?php if ($pun_config['o_show_dot'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
528:                                         <span><?php echo $lang_admin_options['User has posted help'] ?></span>539:                                         <label class="conl"><input type="radio" name="form[show_dot]" value="0"<?php if ($pun_config['o_show_dot'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 540:                                         <span class="clearb"><?php echo $lang_admin_options['User has posted help'] ?></span>
529:                                     </td>541:                                     </td>
530:                                 </tr>542:                                 </tr>
531:                                 <tr>543:                                 <tr>
532:                                     <th scope="row"><?php echo $lang_admin_options['Topic views label'] ?></th>544:                                     <th scope="row"><?php echo $lang_admin_options['Topic views label'] ?></th>
533:                                     <td>545:                                     <td>
534:                                         <input type="radio" name="form[topic_views]" id="form_topic_views_1" value="1"<?php if ($pun_config['o_topic_views'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_topic_views_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[topic_views]" id="form_topic_views_0" value="0"<?php if ($pun_config['o_topic_views'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_topic_views_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>546:                                         <label class="conl"><input type="radio" name="form[topic_views]" value="1"<?php if ($pun_config['o_topic_views'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
535:                                         <span><?php echo $lang_admin_options['Topic views help'] ?></span>547:                                         <label class="conl"><input type="radio" name="form[topic_views]" value="0"<?php if ($pun_config['o_topic_views'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 548:                                         <span class="clearb"><?php echo $lang_admin_options['Topic views help'] ?></span>
536:                                     </td>549:                                     </td>
537:                                 </tr>550:                                 </tr>
538:                                 <tr>551:                                 <tr>
539:                                     <th scope="row"><?php echo $lang_admin_options['Quick jump label'] ?></th>552:                                     <th scope="row"><?php echo $lang_admin_options['Quick jump label'] ?></th>
540:                                     <td>553:                                     <td>
541:                                         <input type="radio" name="form[quickjump]" id="form_quickjump_1" value="1"<?php if ($pun_config['o_quickjump'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_quickjump_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[quickjump]" id="form_quickjump_0" value="0"<?php if ($pun_config['o_quickjump'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_quickjump_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>554:                                         <label class="conl"><input type="radio" name="form[quickjump]" value="1"<?php if ($pun_config['o_quickjump'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
542:                                         <span><?php echo $lang_admin_options['Quick jump help'] ?></span>555:                                         <label class="conl"><input type="radio" name="form[quickjump]" value="0"<?php if ($pun_config['o_quickjump'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 556:                                         <span class="clearb"><?php echo $lang_admin_options['Quick jump help'] ?></span>
543:                                     </td>557:                                     </td>
544:                                 </tr>558:                                 </tr>
545:                                 <tr>559:                                 <tr>
546:                                     <th scope="row"><?php echo $lang_admin_options['GZip label'] ?></th>560:                                     <th scope="row"><?php echo $lang_admin_options['GZip label'] ?></th>
547:                                     <td>561:                                     <td>
548:                                         <input type="radio" name="form[gzip]" id="form_gzip_1" value="1"<?php if ($pun_config['o_gzip'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_gzip_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[gzip]" id="form_gzip_0" value="0"<?php if ($pun_config['o_gzip'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_gzip_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>562:                                         <label class="conl"><input type="radio" name="form[gzip]" value="1"<?php if ($pun_config['o_gzip'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
549:                                         <span><?php echo $lang_admin_options['GZip help'] ?></span>563:                                         <label class="conl"><input type="radio" name="form[gzip]" value="0"<?php if ($pun_config['o_gzip'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 564:                                         <span class="clearb"><?php echo $lang_admin_options['GZip help'] ?></span>
550:                                     </td>565:                                     </td>
551:                                 </tr>566:                                 </tr>
552:                                 <tr>567:                                 <tr>
553:                                     <th scope="row"><?php echo $lang_admin_options['Search all label'] ?></th>568:                                     <th scope="row"><?php echo $lang_admin_options['Search all label'] ?></th>
554:                                     <td>569:                                     <td>
555:                                         <input type="radio" name="form[search_all_forums]" id="form_search_all_forums_1" value="1"<?php if ($pun_config['o_search_all_forums'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_search_all_forums_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[search_all_forums]" id="form_search_all_forums_0" value="0"<?php if ($pun_config['o_search_all_forums'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_search_all_forums_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>570:                                         <label class="conl"><input type="radio" name="form[search_all_forums]" value="1"<?php if ($pun_config['o_search_all_forums'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
556:                                         <span><?php echo $lang_admin_options['Search all help'] ?></span>571:                                         <label class="conl"><input type="radio" name="form[search_all_forums]" value="0"<?php if ($pun_config['o_search_all_forums'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 572:                                         <span class="clearb"><?php echo $lang_admin_options['Search all help'] ?></span>
557:                                     </td>573:                                     </td>
558:                                 </tr>574:                                 </tr>
559:                                 <tr>575:                                 <tr>
575:                                 <tr>591:                                 <tr>
576:                                     <th scope="row"><?php echo $lang_admin_options['Default feed label'] ?></th>592:                                     <th scope="row"><?php echo $lang_admin_options['Default feed label'] ?></th>
577:                                     <td>593:                                     <td>
578:                                         <input type="radio" name="form[feed_type]" id="form_feed_type_0" value="0"<?php if ($pun_config['o_feed_type'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_options['None'] ?></strong>&#160;&#160;&#160;<input type="radio" name="form[feed_type]" id="form_feed_type_1" value="1"<?php if ($pun_config['o_feed_type'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_feed_type_0"><strong><?php echo $lang_admin_options['RSS'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[feed_type]" id="form_feed_type_2" value="2"<?php if ($pun_config['o_feed_type'] == '2') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_feed_type_1"><strong><?php echo $lang_admin_options['Atom'] ?></strong></label>594:                                         <label class="conl"><input type="radio" name="form[feed_type]" value="0"<?php if ($pun_config['o_feed_type'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_options['None'] ?></strong></label>
579:                                         <span><?php echo $lang_admin_options['Default feed help'] ?></span>595:                                         <label class="conl"><input type="radio" name="form[feed_type]" value="1"<?php if ($pun_config['o_feed_type'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_options['RSS'] ?></strong></label>
 596:                                         <label class="conl"><input type="radio" name="form[feed_type]" value="2"<?php if ($pun_config['o_feed_type'] == '2') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_options['Atom'] ?></strong></label>
 597:                                         <span class="clearb"><?php echo $lang_admin_options['Default feed help'] ?></span>
580:                                     </td>598:                                     </td>
581:                                 </tr>599:                                 </tr>
582:                                 <tr>600:                                 <tr>
608:                                 <tr>626:                                 <tr>
609:                                     <th scope="row"><?php echo $lang_admin_options['Reporting method label'] ?></th>627:                                     <th scope="row"><?php echo $lang_admin_options['Reporting method label'] ?></th>
610:                                     <td>628:                                     <td>
611:                                         <input type="radio" name="form[report_method]" id="form_report_method_0" value="0"<?php if ($pun_config['o_report_method'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_options['Internal'] ?></strong>&#160;&#160;&#160;<input type="radio" name="form[report_method]" id="form_report_method_1" value="1"<?php if ($pun_config['o_report_method'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_report_method_0"><strong><?php echo $lang_admin_options['By e-mail'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[report_method]" id="form_report_method_2" value="2"<?php if ($pun_config['o_report_method'] == '2') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_report_method_1"><strong><?php echo $lang_admin_options['Both'] ?></strong></label>629:                                         <label class="conl"><input type="radio" name="form[report_method]" value="0"<?php if ($pun_config['o_report_method'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_options['Internal'] ?></strong></label>
612:                                         <span><?php echo $lang_admin_options['Reporting method help'] ?></span>630:                                         <label class="conl"><input type="radio" name="form[report_method]" value="1"<?php if ($pun_config['o_report_method'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_options['By e-mail'] ?></strong></label>
 631:                                         <label class="conl"><input type="radio" name="form[report_method]" value="2"<?php if ($pun_config['o_report_method'] == '2') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_options['Both'] ?></strong></label>
 632:                                         <span class="clearb"><?php echo $lang_admin_options['Reporting method help'] ?></span>
613:                                     </td>633:                                     </td>
614:                                 </tr>634:                                 </tr>
615:                                 <tr>635:                                 <tr>
631:                                 <tr>651:                                 <tr>
632:                                     <th scope="row"><?php echo $lang_admin_options['Use avatars label'] ?></th>652:                                     <th scope="row"><?php echo $lang_admin_options['Use avatars label'] ?></th>
633:                                     <td>653:                                     <td>
634:                                         <input type="radio" name="form[avatars]" id="form_avatars_1" value="1"<?php if ($pun_config['o_avatars'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_avatars_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[avatars]" id="form_avatars_0" value="0"<?php if ($pun_config['o_avatars'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_avatars_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>654:                                         <label class="conl"><input type="radio" name="form[avatars]" value="1"<?php if ($pun_config['o_avatars'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
635:                                         <span><?php echo $lang_admin_options['Use avatars help'] ?></span>655:                                         <label class="conl"><input type="radio" name="form[avatars]" value="0"<?php if ($pun_config['o_avatars'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 656:                                         <span class="clearb"><?php echo $lang_admin_options['Use avatars help'] ?></span>
636:                                     </td>657:                                     </td>
637:                                 </tr>658:                                 </tr>
638:                                 <tr>659:                                 <tr>
689:                                 <tr>710:                                 <tr>
690:                                     <th scope="row"><?php echo $lang_admin_options['Forum subscriptions label'] ?></th>711:                                     <th scope="row"><?php echo $lang_admin_options['Forum subscriptions label'] ?></th>
691:                                     <td>712:                                     <td>
692:                                         <input type="radio" name="form[forum_subscriptions]" id="form_forum_subscriptions_1" value="1"<?php if ($pun_config['o_forum_subscriptions'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_forum_subscriptions_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[forum_subscriptions]" id="form_forum_subscriptions_0" value="0"<?php if ($pun_config['o_forum_subscriptions'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_forum_subscriptions_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>713:                                         <label class="conl"><input type="radio" name="form[forum_subscriptions]" value="1"<?php if ($pun_config['o_forum_subscriptions'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
693:                                         <span><?php echo $lang_admin_options['Forum subscriptions help'] ?></span>714:                                         <label class="conl"><input type="radio" name="form[forum_subscriptions]" value="0"<?php if ($pun_config['o_forum_subscriptions'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 715:                                         <span class="clearb"><?php echo $lang_admin_options['Forum subscriptions help'] ?></span>
694:                                     </td>716:                                     </td>
695:                                 </tr>717:                                 </tr>
696:                                 <tr>718:                                 <tr>
697:                                     <th scope="row"><?php echo $lang_admin_options['Topic subscriptions label'] ?></th>719:                                     <th scope="row"><?php echo $lang_admin_options['Topic subscriptions label'] ?></th>
698:                                     <td>720:                                     <td>
699:                                         <input type="radio" name="form[topic_subscriptions]" id="form_topic_subscriptions_1" value="1"<?php if ($pun_config['o_topic_subscriptions'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_topic_subscriptions_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[topic_subscriptions]" id="form_topic_subscriptions_0" value="0"<?php if ($pun_config['o_topic_subscriptions'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_topic_subscriptions_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>721:                                         <label class="conl"><input type="radio" name="form[topic_subscriptions]" value="1"<?php if ($pun_config['o_topic_subscriptions'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
700:                                         <span><?php echo $lang_admin_options['Topic subscriptions help'] ?></span>722:                                         <label class="conl"><input type="radio" name="form[topic_subscriptions]" value="0"<?php if ($pun_config['o_topic_subscriptions'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 723:                                         <span class="clearb"><?php echo $lang_admin_options['Topic subscriptions help'] ?></span>
701:                                     </td>724:                                     </td>
702:                                 </tr>725:                                 </tr>
703:                                 <tr>726:                                 <tr>
717:                                 <tr>740:                                 <tr>
718:                                     <th scope="row"><?php echo $lang_admin_options['SMTP password label'] ?></th>741:                                     <th scope="row"><?php echo $lang_admin_options['SMTP password label'] ?></th>
719:                                     <td>742:                                     <td>
720:                                         <span><input type="checkbox" name="form[smtp_change_pass]" id="form_smtp_change_pass" value="1" />&#160;&#160;<label class="conl" for="form_smtp_change_pass"><?php echo $lang_admin_options['SMTP change password help'] ?></label></span>743:                                         <label><input type="checkbox" name="form[smtp_change_pass]" value="1" />&#160;<?php echo $lang_admin_options['SMTP change password help'] ?></label>
721: <?php $smtp_pass = !empty($pun_config['o_smtp_pass']) ? random_key(pun_strlen($pun_config['o_smtp_pass']), true) : ''; ?>744: <?php $smtp_pass = !empty($pun_config['o_smtp_pass']) ? random_key(pun_strlen($pun_config['o_smtp_pass']), true) : ''; ?>
722:                                         <input type="password" name="form[smtp_pass1]" size="25" maxlength="50" value="<?php echo $smtp_pass ?>" />745:                                         <input type="password" name="form[smtp_pass1]" size="25" maxlength="50" value="<?php echo $smtp_pass ?>" />
723:                                         <input type="password" name="form[smtp_pass2]" size="25" maxlength="50" value="<?php echo $smtp_pass ?>" />746:                                         <input type="password" name="form[smtp_pass2]" size="25" maxlength="50" value="<?php echo $smtp_pass ?>" />
727:                                 <tr>750:                                 <tr>
728:                                     <th scope="row"><?php echo $lang_admin_options['SMTP SSL label'] ?></th>751:                                     <th scope="row"><?php echo $lang_admin_options['SMTP SSL label'] ?></th>
729:                                     <td>752:                                     <td>
730:                                         <input type="radio" name="form[smtp_ssl]" id="form_smtp_ssl_1" value="1"<?php if ($pun_config['o_smtp_ssl'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_smtp_ssl_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[smtp_ssl]" id="form_smtp_ssl_0" value="0"<?php if ($pun_config['o_smtp_ssl'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_smtp_ssl_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>753:                                         <label class="conl"><input type="radio" name="form[smtp_ssl]" value="1"<?php if ($pun_config['o_smtp_ssl'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
731:                                         <span><?php echo $lang_admin_options['SMTP SSL help'] ?></span>754:                                         <label class="conl"><input type="radio" name="form[smtp_ssl]" value="0"<?php if ($pun_config['o_smtp_ssl'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 755:                                         <span class="clearb"><?php echo $lang_admin_options['SMTP SSL help'] ?></span>
732:                                     </td>756:                                     </td>
733:                                 </tr>757:                                 </tr>
734:                             </table>758:                             </table>
743:                                 <tr>767:                                 <tr>
744:                                     <th scope="row"><?php echo $lang_admin_options['Allow new label'] ?></th>768:                                     <th scope="row"><?php echo $lang_admin_options['Allow new label'] ?></th>
745:                                     <td>769:                                     <td>
746:                                         <input type="radio" name="form[regs_allow]" id="form_regs_allow_1" value="1"<?php if ($pun_config['o_regs_allow'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_regs_allow_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[regs_allow]" id="form_regs_allow_0" value="0"<?php if ($pun_config['o_regs_allow'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_regs_allow_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>770:                                         <label class="conl"><input type="radio" name="form[regs_allow]" value="1"<?php if ($pun_config['o_regs_allow'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
747:                                         <span><?php echo $lang_admin_options['Allow new help'] ?></span>771:                                         <label class="conl"><input type="radio" name="form[regs_allow]" value="0"<?php if ($pun_config['o_regs_allow'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
748:                                     </td>772:                                         <span class="clearb"><?php echo $lang_admin_options['Allow new help'] ?></span>
 773:                                     </td> 
749:                                 </tr>774:                                 </tr>
750:                                 <tr>775:                                 <tr>
751:                                     <th scope="row"><?php echo $lang_admin_options['Verify label'] ?></th>776:                                     <th scope="row"><?php echo $lang_admin_options['Verify label'] ?></th>
752:                                     <td>777:                                     <td>
753:                                         <input type="radio" name="form[regs_verify]" id="form_regs_verify_1" value="1"<?php if ($pun_config['o_regs_verify'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_regs_verify_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[regs_verify]" id="form_regs_verify_0" value="0"<?php if ($pun_config['o_regs_verify'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_regs_verify_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>778:                                         <label class="conl"><input type="radio" name="form[regs_verify]" value="1"<?php if ($pun_config['o_regs_verify'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
754:                                         <span><?php echo $lang_admin_options['Verify help'] ?></span>779:                                         <label class="conl"><input type="radio" name="form[regs_verify]" value="0"<?php if ($pun_config['o_regs_verify'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 780:                                         <span class="clearb"><?php echo $lang_admin_options['Verify help'] ?></span>
755:                                     </td>781:                                     </td>
756:                                 </tr>782:                                 </tr>
757:                                 <tr>783:                                 <tr>
758:                                     <th scope="row"><?php echo $lang_admin_options['Report new label'] ?></th>784:                                     <th scope="row"><?php echo $lang_admin_options['Report new label'] ?></th>
759:                                     <td>785:                                     <td>
760:                                         <input type="radio" name="form[regs_report]" id="form_regs_report_1" value="1"<?php if ($pun_config['o_regs_report'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_regs_report_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[regs_report]" id="form_regs_report_0" value="0"<?php if ($pun_config['o_regs_report'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_regs_report_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>786:                                         <label class="conl"><input type="radio" name="form[regs_report]" value="1"<?php if ($pun_config['o_regs_report'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
761:                                         <span><?php echo $lang_admin_options['Report new help'] ?></span>787:                                         <label class="conl"><input type="radio" name="form[regs_report]" value="0"<?php if ($pun_config['o_regs_report'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 788:                                         <span class="clearb"><?php echo $lang_admin_options['Report new help'] ?></span>
762:                                     </td>789:                                     </td>
763:                                 </tr>790:                                 </tr>
764:                                 <tr>791:                                 <tr>
765:                                     <th scope="row"><?php echo $lang_admin_options['Use rules label'] ?></th>792:                                     <th scope="row"><?php echo $lang_admin_options['Use rules label'] ?></th>
766:                                     <td>793:                                     <td>
767:                                         <input type="radio" name="form[rules]" id="form_rules_1" value="1"<?php if ($pun_config['o_rules'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_rules_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[rules]" id="form_rules_0" value="0"<?php if ($pun_config['o_rules'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_rules_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>794:                                         <label class="conl"><input type="radio" name="form[rules]" value="1"<?php if ($pun_config['o_rules'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
768:                                         <span><?php echo $lang_admin_options['Use rules help'] ?></span>795:                                         <label class="conl"><input type="radio" name="form[rules]" value="0"<?php if ($pun_config['o_rules'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 796:                                         <span class="clearb"><?php echo $lang_admin_options['Use rules help'] ?></span>
769:                                     </td>797:                                     </td>
770:                                 </tr>798:                                 </tr>
771:                                 <tr>799:                                 <tr>
779:                                     <th scope="row"><?php echo $lang_admin_options['E-mail default label'] ?></th>807:                                     <th scope="row"><?php echo $lang_admin_options['E-mail default label'] ?></th>
780:                                     <td>808:                                     <td>
781:                                         <span><?php echo $lang_admin_options['E-mail default help'] ?></span>809:                                         <span><?php echo $lang_admin_options['E-mail default help'] ?></span>
782:                                         <input type="radio" name="form[default_email_setting]" id="form_default_email_setting_0" value="0"<?php if ($pun_config['o_default_email_setting'] == '0') echo ' checked="checked"' ?> />&#160;<?php echo $lang_admin_options['Display e-mail label'] ?><br />810:                                         <label><input type="radio" name="form[default_email_setting]" id="form_default_email_setting_0" value="0"<?php if ($pun_config['o_default_email_setting'] == '0') echo ' checked="checked"' ?> />&#160;<?php echo $lang_admin_options['Display e-mail label'] ?></label>
783:                                         <input type="radio" name="form[default_email_setting]" id="form_default_email_setting_1" value="1"<?php if ($pun_config['o_default_email_setting'] == '1') echo ' checked="checked"' ?> />&#160;<?php echo $lang_admin_options['Hide allow form label'] ?><br />811:                                         <label><input type="radio" name="form[default_email_setting]" id="form_default_email_setting_1" value="1"<?php if ($pun_config['o_default_email_setting'] == '1') echo ' checked="checked"' ?> />&#160;<?php echo $lang_admin_options['Hide allow form label'] ?></label>
784:                                         <input type="radio" name="form[default_email_setting]" id="form_default_email_setting_2" value="2"<?php if ($pun_config['o_default_email_setting'] == '2') echo ' checked="checked"' ?> />&#160;<?php echo $lang_admin_options['Hide both label'] ?><br />812:                                         <label><input type="radio" name="form[default_email_setting]" id="form_default_email_setting_2" value="2"<?php if ($pun_config['o_default_email_setting'] == '2') echo ' checked="checked"' ?> />&#160;<?php echo $lang_admin_options['Hide both label'] ?></label>
785:                                     </td>813:                                     </td>
786:                                 </tr>814:                                 </tr>
787:                             </table>815:                             </table>
796:                                 <tr>824:                                 <tr>
797:                                     <th scope="row"><?php echo $lang_admin_options['Display announcement label'] ?></th>825:                                     <th scope="row"><?php echo $lang_admin_options['Display announcement label'] ?></th>
798:                                     <td>826:                                     <td>
799:                                         <input type="radio" name="form[announcement]" id="form_announcement_1" value="1"<?php if ($pun_config['o_announcement'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_announcement_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[announcement]" id="form_announcement_0" value="0"<?php if ($pun_config['o_announcement'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_announcement_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>827:                                         <label class="conl"><input type="radio" name="form[announcement]" value="1"<?php if ($pun_config['o_announcement'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
800:                                         <span><?php echo $lang_admin_options['Display announcement help'] ?></span>828:                                         <label class="conl"><input type="radio" name="form[announcement]" value="0"<?php if ($pun_config['o_announcement'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 829:                                         <span class="clearb"><?php echo $lang_admin_options['Display announcement help'] ?></span>
801:                                     </td>830:                                     </td>
802:                                 </tr>831:                                 </tr>
803:                                 <tr>832:                                 <tr>
819:                                 <tr>848:                                 <tr>
820:                                     <th scope="row"><a name="maintenance"></a><?php echo $lang_admin_options['Maintenance mode label'] ?></th>849:                                     <th scope="row"><a name="maintenance"></a><?php echo $lang_admin_options['Maintenance mode label'] ?></th>
821:                                     <td>850:                                     <td>
822:                                         <input type="radio" name="form[maintenance]" id="form_maintenance_1" value="1"<?php if ($pun_config['o_maintenance'] == '1') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_maintenance_1"><strong><?php echo $lang_admin_common['Yes'] ?></strong></label>&#160;&#160;&#160;<input type="radio" name="form[maintenance]" id="form_maintenance_0" value="0"<?php if ($pun_config['o_maintenance'] == '0') echo ' checked="checked"' ?> />&#160;<label class="conl" for="form_maintenance_0"><strong><?php echo $lang_admin_common['No'] ?></strong></label>851:                                         <label class="conl"><input type="radio" name="form[maintenance]" value="1"<?php if ($pun_config['o_maintenance'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
823:                                         <span><?php echo $lang_admin_options['Maintenance mode help'] ?></span>852:                                         <label class="conl"><input type="radio" name="form[maintenance]" value="0"<?php if ($pun_config['o_maintenance'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 853:                                         <span class="clearb"><?php echo $lang_admin_options['Maintenance mode help'] ?></span>
824:                                     </td>854:                                     </td>
825:                                 </tr>855:                                 </tr>
826:                                 <tr>856:                                 <tr>


a/admin_permissions.php b/admin_permissions.php
 67:                                 <tr> 67:                                 <tr>
 68:                                     <th scope="row"><?php echo $lang_admin_permissions['BBCode label'] ?></th> 68:                                     <th scope="row"><?php echo $lang_admin_permissions['BBCode label'] ?></th>
 69:                                     <td> 69:                                     <td>
 70:                                         <input type="radio" name="form[message_bbcode]" value="1"<?php if ($pun_config['p_message_bbcode'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="form[message_bbcode]" value="0"<?php if ($pun_config['p_message_bbcode'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong> 70:                                         <label class="conl"><input type="radio" name="form[message_bbcode]" value="1"<?php if ($pun_config['p_message_bbcode'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
 71:                                         <span><?php echo $lang_admin_permissions['BBCode help'] ?></span> 71:                                         <label class="conl"><input type="radio" name="form[message_bbcode]" value="0"<?php if ($pun_config['p_message_bbcode'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
  72:                                         <span class="clearb"><?php echo $lang_admin_permissions['BBCode help'] ?></span>
 72:                                     </td> 73:                                     </td>
 73:                                 </tr> 74:                                 </tr>
 74:                                 <tr> 75:                                 <tr>
 75:                                     <th scope="row"><?php echo $lang_admin_permissions['Image tag label'] ?></th> 76:                                     <th scope="row"><?php echo $lang_admin_permissions['Image tag label'] ?></th>
 76:                                     <td> 77:                                     <td>
 77:                                         <input type="radio" name="form[message_img_tag]" value="1"<?php if ($pun_config['p_message_img_tag'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="form[message_img_tag]" value="0"<?php if ($pun_config['p_message_img_tag'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong> 78:                                         <label class="conl"><input type="radio" name="form[message_img_tag]" value="1"<?php if ($pun_config['p_message_img_tag'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
 78:                                         <span><?php echo $lang_admin_permissions['Image tag help'] ?></span> 79:                                         <label class="conl"><input type="radio" name="form[message_img_tag]" value="0"<?php if ($pun_config['p_message_img_tag'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
  80:                                         <span class="clearb"><?php echo $lang_admin_permissions['Image tag help'] ?></span>
 79:                                     </td> 81:                                     </td>
 80:                                 </tr> 82:                                 </tr>
 81:                                 <tr> 83:                                 <tr>
 82:                                     <th scope="row"><?php echo $lang_admin_permissions['All caps message label'] ?></th> 84:                                     <th scope="row"><?php echo $lang_admin_permissions['All caps message label'] ?></th>
 83:                                     <td> 85:                                     <td>
 84:                                         <input type="radio" name="form[message_all_caps]" value="1"<?php if ($pun_config['p_message_all_caps'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="form[message_all_caps]" value="0"<?php if ($pun_config['p_message_all_caps'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong> 86:                                         <label class="conl"><input type="radio" name="form[message_all_caps]" value="1"<?php if ($pun_config['p_message_all_caps'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
 85:                                         <span><?php echo $lang_admin_permissions['All caps message help'] ?></span> 87:                                         <label class="conl"><input type="radio" name="form[message_all_caps]" value="0"<?php if ($pun_config['p_message_all_caps'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
  88:                                         <span class="clearb"><?php echo $lang_admin_permissions['All caps message help'] ?></span>
 86:                                     </td> 89:                                     </td>
 87:                                 </tr> 90:                                 </tr>
 88:                                 <tr> 91:                                 <tr>
 89:                                     <th scope="row"><?php echo $lang_admin_permissions['All caps subject label'] ?></th> 92:                                     <th scope="row"><?php echo $lang_admin_permissions['All caps subject label'] ?></th>
 90:                                     <td> 93:                                     <td>
 91:                                         <input type="radio" name="form[subject_all_caps]" value="1"<?php if ($pun_config['p_subject_all_caps'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="form[subject_all_caps]" value="0"<?php if ($pun_config['p_subject_all_caps'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong> 94:                                         <label class="conl"><input type="radio" name="form[subject_all_caps]" value="1"<?php if ($pun_config['p_subject_all_caps'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
 92:                                         <span><?php echo $lang_admin_permissions['All caps subject help'] ?></span> 95:                                         <label class="conl"><input type="radio" name="form[subject_all_caps]" value="0"<?php if ($pun_config['p_subject_all_caps'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
  96:                                         <span class="clearb"><?php echo $lang_admin_permissions['All caps subject help'] ?></span>
 93:                                     </td> 97:                                     </td>
 94:                                 </tr> 98:                                 </tr>
 95:                                 <tr> 99:                                 <tr>
 96:                                     <th scope="row"><?php echo $lang_admin_permissions['Require e-mail label'] ?></th>100:                                     <th scope="row"><?php echo $lang_admin_permissions['Require e-mail label'] ?></th>
 97:                                     <td>101:                                     <td>
 98:                                         <input type="radio" name="form[force_guest_email]" value="1"<?php if ($pun_config['p_force_guest_email'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="form[force_guest_email]" value="0"<?php if ($pun_config['p_force_guest_email'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>102:                                         <label class="conl"><input type="radio" name="form[force_guest_email]" value="1"<?php if ($pun_config['p_force_guest_email'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
 99:                                         <span><?php echo $lang_admin_permissions['Require e-mail help'] ?></span>103:                                         <label class="conl"><input type="radio" name="form[force_guest_email]" value="0"<?php if ($pun_config['p_force_guest_email'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 104:                                         <span class="clearb"><?php echo $lang_admin_permissions['Require e-mail help'] ?></span>
100:                                     </td>105:                                     </td>
101:                                 </tr>106:                                 </tr>
102:                             </table>107:                             </table>
111:                                 <tr>116:                                 <tr>
112:                                     <th scope="row"><?php echo $lang_admin_permissions['BBCode sigs label'] ?></th>117:                                     <th scope="row"><?php echo $lang_admin_permissions['BBCode sigs label'] ?></th>
113:                                     <td>118:                                     <td>
114:                                         <input type="radio" name="form[sig_bbcode]" value="1"<?php if ($pun_config['p_sig_bbcode'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="form[sig_bbcode]" value="0"<?php if ($pun_config['p_sig_bbcode'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>119:                                         <label class="conl"><input type="radio" name="form[sig_bbcode]" value="1"<?php if ($pun_config['p_sig_bbcode'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
115:                                         <span><?php echo $lang_admin_permissions['BBCode sigs help'] ?></span>120:                                         <label class="conl"><input type="radio" name="form[sig_bbcode]" value="0"<?php if ($pun_config['p_sig_bbcode'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 121:                                         <span class="clearb"><?php echo $lang_admin_permissions['BBCode sigs help'] ?></span>
116:                                     </td>122:                                     </td>
117:                                 </tr>123:                                 </tr>
118:                                 <tr>124:                                 <tr>
119:                                     <th scope="row"><?php echo $lang_admin_permissions['Image tag sigs label'] ?></th>125:                                     <th scope="row"><?php echo $lang_admin_permissions['Image tag sigs label'] ?></th>
120:                                     <td>126:                                     <td>
121:                                         <input type="radio" name="form[sig_img_tag]" value="1"<?php if ($pun_config['p_sig_img_tag'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="form[sig_img_tag]" value="0"<?php if ($pun_config['p_sig_img_tag'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>127:                                         <label class="conl"><input type="radio" name="form[sig_img_tag]" value="1"<?php if ($pun_config['p_sig_img_tag'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
122:                                         <span><?php echo $lang_admin_permissions['Image tag sigs help'] ?></span>128:                                         <label class="conl"><input type="radio" name="form[sig_img_tag]" value="0"<?php if ($pun_config['p_sig_img_tag'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 129:                                         <span class="clearb"><?php echo $lang_admin_permissions['Image tag sigs help'] ?></span>
123:                                     </td>130:                                     </td>
124:                                 </tr>131:                                 </tr>
125:                                 <tr>132:                                 <tr>
126:                                     <th scope="row"><?php echo $lang_admin_permissions['All caps sigs label'] ?></th>133:                                     <th scope="row"><?php echo $lang_admin_permissions['All caps sigs label'] ?></th>
127:                                     <td>134:                                     <td>
128:                                         <input type="radio" name="form[sig_all_caps]" value="1"<?php if ($pun_config['p_sig_all_caps'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="form[sig_all_caps]" value="0"<?php if ($pun_config['p_sig_all_caps'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>135:                                         <label class="conl"><input type="radio" name="form[sig_all_caps]" value="1"<?php if ($pun_config['p_sig_all_caps'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
129:                                         <span><?php echo $lang_admin_permissions['All caps sigs help'] ?></span>136:                                         <label class="conl"><input type="radio" name="form[sig_all_caps]" value="0"<?php if ($pun_config['p_sig_all_caps'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 137:                                         <span class="clearb"><?php echo $lang_admin_permissions['All caps sigs help'] ?></span>
130:                                     </td>138:                                     </td>
131:                                 </tr>139:                                 </tr>
132:                                 <tr>140:                                 <tr>
133:                                     <th scope="row"><?php echo $lang_admin_permissions['Max sig length label'] ?></th>141:                                     <th scope="row"><?php echo $lang_admin_permissions['Max sig length label'] ?></th>
134:                                     <td>142:                                     <td>
135:                                         <input type="text" name="form[sig_length]" size="5" maxlength="5" value="<?php echo $pun_config['p_sig_length'] ?>" />143:                                         <input type="text" name="form[sig_length]" size="5" maxlength="5" value="<?php echo $pun_config['p_sig_length'] ?>" />
136:                                         <span><?php echo $lang_admin_permissions['Max sig length help'] ?></span>144:                                         <span class="clearb"><?php echo $lang_admin_permissions['Max sig length help'] ?></span>
137:                                     </td>145:                                     </td>
138:                                 </tr>146:                                 </tr>
139:                                 <tr>147:                                 <tr>
140:                                     <th scope="row"><?php echo $lang_admin_permissions['Max sig lines label'] ?></th>148:                                     <th scope="row"><?php echo $lang_admin_permissions['Max sig lines label'] ?></th>
141:                                     <td>149:                                     <td>
142:                                         <input type="text" name="form[sig_lines]" size="3" maxlength="3" value="<?php echo $pun_config['p_sig_lines'] ?>" />150:                                         <input type="text" name="form[sig_lines]" size="3" maxlength="3" value="<?php echo $pun_config['p_sig_lines'] ?>" />
143:                                         <span><?php echo $lang_admin_permissions['Max sig lines help'] ?></span>151:                                         <span class="clearb"><?php echo $lang_admin_permissions['Max sig lines help'] ?></span>
144:                                     </td>152:                                     </td>
145:                                 </tr>153:                                 </tr>
146:                             </table>154:                             </table>
155:                                 <tr>163:                                 <tr>
156:                                     <th scope="row"><?php echo $lang_admin_permissions['Banned e-mail label'] ?></th>164:                                     <th scope="row"><?php echo $lang_admin_permissions['Banned e-mail label'] ?></th>
157:                                     <td>165:                                     <td>
158:                                         <input type="radio" name="form[allow_banned_email]" value="1"<?php if ($pun_config['p_allow_banned_email'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="form[allow_banned_email]" value="0"<?php if ($pun_config['p_allow_banned_email'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>166:                                         <label class="conl"><input type="radio" name="form[allow_banned_email]" value="1"<?php if ($pun_config['p_allow_banned_email'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
159:                                         <span><?php echo $lang_admin_permissions['Banned e-mail help'] ?></span>167:                                         <label class="conl"><input type="radio" name="form[allow_banned_email]" value="0"<?php if ($pun_config['p_allow_banned_email'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 168:                                         <span class="clearb"><?php echo $lang_admin_permissions['Banned e-mail help'] ?></span>
160:                                     </td>169:                                     </td>
161:                                 </tr>170:                                 </tr>
162:                                 <tr>171:                                 <tr>
163:                                     <th scope="row"><?php echo $lang_admin_permissions['Duplicate e-mail label'] ?></th>172:                                     <th scope="row"><?php echo $lang_admin_permissions['Duplicate e-mail label'] ?></th>
164:                                     <td>173:                                     <td>
165:                                         <input type="radio" name="form[allow_dupe_email]" value="1"<?php if ($pun_config['p_allow_dupe_email'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="form[allow_dupe_email]" value="0"<?php if ($pun_config['p_allow_dupe_email'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>174:                                         <label class="conl"><input type="radio" name="form[allow_dupe_email]" value="1"<?php if ($pun_config['p_allow_dupe_email'] == '1') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
166:                                         <span><?php echo $lang_admin_permissions['Duplicate e-mail help'] ?></span>175:                                         <label class="conl"><input type="radio" name="form[allow_dupe_email]" value="0"<?php if ($pun_config['p_allow_dupe_email'] == '0') echo ' checked="checked"' ?> />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 176:                                         <span class="clearb"><?php echo $lang_admin_permissions['Duplicate e-mail help'] ?></span>
167:                                     </td>177:                                     </td>
168:                                 </tr>178:                                 </tr>
169:                             </table>179:                             </table>


/dev/null b/admin_statistics.php
   1: <?php
   2: 
   3: /**
   4:  * Copyright (C) 2008-2012 FluxBB
   5:  * based on code by Rickard Andersson copyright (C) 2002-2008 PunBB
   6:  * License: http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
   7:  */
   8: 
   9: // Tell header.php to use the admin template
  10: define('PUN_ADMIN_CONSOLE', 1);
  11: 
  12: define('PUN_ROOT', dirname(__FILE__).'/');
  13: require PUN_ROOT.'include/common.php';
  14: require PUN_ROOT.'include/common_admin.php';
  15: 
  16: 
  17: if (!$pun_user['is_admmod'])
  18:     message($lang_common['No permission'], false, '403 Forbidden');
  19: 
  20: // Load the admin_index.php language file
  21: require PUN_ROOT.'lang/'.$admin_language.'/admin_index.php';
  22: 
  23: $action = isset($_GET['action']) ? $_GET['action'] : null;
  24: 
  25: 
  26: // Show phpinfo() output
  27: if ($action == 'phpinfo' && $pun_user['g_id'] == PUN_ADMIN)
  28: {
  29:     // Is phpinfo() a disabled function?
  30:     if (strpos(strtolower((string) ini_get('disable_functions')), 'phpinfo') !== false)
  31:         message($lang_admin_index['PHPinfo disabled message']);
  32: 
  33:     phpinfo();
  34:     exit;
  35: }
  36: 
  37: 
  38: // Get the server load averages (if possible)
  39: if (@file_exists('/proc/loadavg') && is_readable('/proc/loadavg'))
  40: {
  41:     // We use @ just in case
  42:     $fh = @fopen('/proc/loadavg', 'r');
  43:     $load_averages = @fread($fh, 64);
  44:     @fclose($fh);
  45: 
  46:     if (($fh = @fopen('/proc/loadavg', 'r')))
  47:     {
  48:         $load_averages = fread($fh, 64);
  49:         fclose($fh);
  50:     }
  51:     else
  52:         $load_averages = '';
  53: 
  54:     $load_averages = @explode(' ', $load_averages);
  55:     $server_load = isset($load_averages[2]) ? $load_averages[0].' '.$load_averages[1].' '.$load_averages[2] : $lang_admin_index['Not available'];
  56: }
  57: else if (!in_array(PHP_OS, array('WINNT', 'WIN32')) && preg_match('%averages?: ([0-9\.]+),?\s+([0-9\.]+),?\s+([0-9\.]+)%i', @exec('uptime'), $load_averages))
  58:     $server_load = $load_averages[1].' '.$load_averages[2].' '.$load_averages[3];
  59: else
  60:     $server_load = $lang_admin_index['Not available'];
  61: 
  62: 
  63: // Get number of current visitors
  64: $result = $db->query('SELECT COUNT(user_id) FROM '.$db->prefix.'online WHERE idle=0') or error('Unable to fetch online count', __FILE__, __LINE__, $db->error());
  65: $num_online = $db->result($result);
  66: 
  67: 
  68: // Collect some additional info about MySQL
  69: if ($db_type == 'mysql' || $db_type == 'mysqli' || $db_type == 'mysql_innodb' || $db_type == 'mysqli_innodb')
  70: {
  71:     // Calculate total db size/row count
  72:     $result = $db->query('SHOW TABLE STATUS LIKE \''.$db->prefix.'%\'') or error('Unable to fetch table status', __FILE__, __LINE__, $db->error());
  73: 
  74:     $total_records = $total_size = 0;
  75:     while ($status = $db->fetch_assoc($result))
  76:     {
  77:         $total_records += $status['Rows'];
  78:         $total_size += $status['Data_length'] + $status['Index_length'];
  79:     }
  80: 
  81:     $total_size = file_size($total_size);
  82: }
  83: 
  84: 
  85: // Check for the existence of various PHP opcode caches/optimizers
  86: if (function_exists('mmcache'))
  87:     $php_accelerator = '<a href="http://'.$lang_admin_index['Turck MMCache link'].'">'.$lang_admin_index['Turck MMCache'].'</a>';
  88: else if (isset($_PHPA))
  89:     $php_accelerator = '<a href="http://'.$lang_admin_index['ionCube PHP Accelerator link'].'">'.$lang_admin_index['ionCube PHP Accelerator'].'</a>';
  90: else if (ini_get('apc.enabled'))
  91:     $php_accelerator ='<a href="http://'.$lang_admin_index['Alternative PHP Cache (APC) link'].'">'.$lang_admin_index['Alternative PHP Cache (APC)'].'</a>';
  92: else if (ini_get('zend_optimizer.optimization_level'))
  93:     $php_accelerator = '<a href="http://'.$lang_admin_index['Zend Optimizer link'].'">'.$lang_admin_index['Zend Optimizer'].'</a>';
  94: else if (ini_get('eaccelerator.enable'))
  95:     $php_accelerator = '<a href="http://'.$lang_admin_index['eAccelerator link'].'">'.$lang_admin_index['eAccelerator'].'</a>';
  96: else if (ini_get('xcache.cacher'))
  97:     $php_accelerator = '<a href="http://'.$lang_admin_index['XCache link'].'">'.$lang_admin_index['XCache'].'</a>';
  98: else
  99:     $php_accelerator = $lang_admin_index['NA'];
 100: 
 101: 
 102: $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_admin_common['Admin'], $lang_admin_common['Server statistics']);
 103: define('PUN_ACTIVE_PAGE', 'admin');
 104: require PUN_ROOT.'header.php';
 105: 
 106: generate_admin_menu('index');
 107: 
 108: ?>
 109:     <div class="block">
 110:         <h2><span><?php echo $lang_admin_index['Server statistics head'] ?></span></h2>
 111:         <div id="adstats" class="box">
 112:             <div class="inbox">
 113:                 <dl>
 114:                     <dt><?php echo $lang_admin_index['Server load label'] ?></dt>
 115:                     <dd>
 116:                         <?php printf($lang_admin_index['Server load data']."\n", $server_load, $num_online) ?>
 117:                     </dd>
 118: <?php if ($pun_user['g_id'] == PUN_ADMIN): ?>                    <dt><?php echo $lang_admin_index['Environment label'] ?></dt>
 119:                     <dd>
 120:                         <?php printf($lang_admin_index['Environment data OS'], PHP_OS) ?><br />
 121:                         <?php printf($lang_admin_index['Environment data version'], phpversion(), '<a href="admin_statistics.php?action=phpinfo">'.$lang_admin_index['Show info'].'</a>') ?><br />
 122:                         <?php printf($lang_admin_index['Environment data acc']."\n", $php_accelerator) ?>
 123:                     </dd>
 124:                     <dt><?php echo $lang_admin_index['Database label'] ?></dt>
 125:                     <dd>
 126:                         <?php echo implode(' ', $db->get_version())."\n" ?>
 127: <?php if (isset($total_records) && isset($total_size)): ?>                        <br /><?php printf($lang_admin_index['Database data rows']."\n", forum_number_format($total_records)) ?>
 128:                         <br /><?php printf($lang_admin_index['Database data size']."\n", $total_size) ?>
 129: <?php endif; ?>                    </dd>
 130: <?php endif; ?>
 131:                 </dl>
 132:             </div>
 133:         </div>
 134:     </div>
 135:     <div class="clearer"></div>
 136: </div>
 137: <?php
 138: 
 139: require PUN_ROOT.'footer.php';


a/admin_users.php b/admin_users.php
 83:  83: 
 84: ?> 84: ?>
 85:                 <tr> 85:                 <tr>
 86:                     <td class="tcl"><a href="moderate.php?get_host=<?php echo $cur_ip['poster_ip'] ?>"><?php echo $cur_ip['poster_ip'] ?></a></td> 86:                     <td class="tcl"><a href="moderate.php?get_host=<?php echo pun_htmlspecialchars($cur_ip['poster_ip']) ?>"><?php echo pun_htmlspecialchars($cur_ip['poster_ip']) ?></a></td>
 87:                     <td class="tc2"><?php echo format_time($cur_ip['last_used']) ?></td> 87:                     <td class="tc2"><?php echo format_time($cur_ip['last_used']) ?></td>
 88:                     <td class="tc3"><?php echo $cur_ip['used_times'] ?></td> 88:                     <td class="tc3"><?php echo $cur_ip['used_times'] ?></td>
 89:                     <td class="tcr"><a href="admin_users.php?show_users=<?php echo $cur_ip['poster_ip'] ?>"><?php echo $lang_admin_users['Results find more link'] ?></a></td> 89:                     <td class="tcr"><a href="admin_users.php?show_users=<?php echo pun_htmlspecialchars($cur_ip['poster_ip']) ?>"><?php echo $lang_admin_users['Results find more link'] ?></a></td>
 90:                 </tr> 90:                 </tr>
 91: <?php 91: <?php
 92:  92: 
178:             <tbody>178:             <tbody>
179: <?php179: <?php
180: 180: 
181:     $result = $db->query('SELECT DISTINCT poster_id, poster FROM '.$db->prefix.'posts WHERE poster_ip=\''.$db->escape($ip).'\' ORDER BY poster DESC') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());181:     $result = $db->query('SELECT DISTINCT poster_id, poster FROM '.$db->prefix.'posts WHERE poster_ip=\''.$db->escape($ip).'\' ORDER BY poster ASC LIMIT '.$start_from.', 50') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
182:     $num_posts = $db->num_rows($result);182:     $num_posts = $db->num_rows($result);
183: 183: 
184:     if ($num_posts)184:     if ($num_posts)
185:     {185:     {
186:         // Loop through users and print out some info186:         $posters = $poster_ids = array();
187:         for ($i = 0; $i < $num_posts; ++$i)187:         while ($cur_poster = $db->fetch_assoc($result))
188:         {188:         {
189:             list($poster_id, $poster) = $db->fetch_row($result);189:             $posters[] = $cur_poster;
 190:             $poster_ids[] = $cur_poster['poster_id'];
 191:         }
190: 192: 
191:             $result2 = $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 INNER JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id WHERE u.id>1 AND u.id='.$poster_id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());193:         $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 INNER JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id WHERE u.id>1 AND u.id IN('.implode(',', $poster_ids).')') or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
192: 194: 
193:             if (($user_data = $db->fetch_assoc($result2)))195:         $user_data = array();
 196:         while ($cur_user = $db->fetch_assoc($result))
 197:             $user_data[$cur_user['id']] = $cur_user;
 198: 
 199:         // Loop through users and print out some info
 200:         foreach ($posters as $cur_poster)
 201:         {
 202:             if (isset($user_data[$cur_poster['poster_id']]))
194:             {203:             {
195:                 $user_title = get_title($user_data);204:                 $user_title = get_title($user_data[$cur_poster['poster_id']]);
196: 205: 
197:                 $actions = '<a href="admin_users.php?ip_stats='.$user_data['id'].'">'.$lang_admin_users['Results view IP link'].'</a> | <a href="search.php?action=show_user_posts&amp;user_id='.$user_data['id'].'">'.$lang_admin_users['Results show posts link'].'</a>';206:                 $actions = '<a href="admin_users.php?ip_stats='.$user_data[$cur_poster['poster_id']]['id'].'">'.$lang_admin_users['Results view IP link'].'</a> | <a href="search.php?action=show_user_posts&amp;user_id='.$user_data[$cur_poster['poster_id']]['id'].'">'.$lang_admin_users['Results show posts link'].'</a>';
198: 207: 
199: ?>208: ?>
200:                 <tr>209:                 <tr>
201:                     <td class="tcl"><?php echo '<a href="profile.php?id='.$user_data['id'].'">'.pun_htmlspecialchars($user_data['username']).'</a>' ?></td>210:                     <td class="tcl"><?php echo '<a href="profile.php?id='.$user_data[$cur_poster['poster_id']]['id'].'">'.pun_htmlspecialchars($user_data[$cur_poster['poster_id']]['username']).'</a>' ?></td>
202:                     <td class="tc2"><a href="mailto:<?php echo $user_data['email'] ?>"><?php echo $user_data['email'] ?></a></td>211:                     <td class="tc2"><a href="mailto:<?php echo $user_data[$cur_poster['poster_id']]['email'] ?>"><?php echo $user_data[$cur_poster['poster_id']]['email'] ?></a></td>
203:                     <td class="tc3"><?php echo $user_title ?></td>212:                     <td class="tc3"><?php echo $user_title ?></td>
204:                     <td class="tc4"><?php echo forum_number_format($user_data['num_posts']) ?></td>213:                     <td class="tc4"><?php echo forum_number_format($user_data[$cur_poster['poster_id']]['num_posts']) ?></td>
205:                     <td class="tc5"><?php echo ($user_data['admin_note'] != '') ? pun_htmlspecialchars($user_data['admin_note']) : '&#160;' ?></td>214:                     <td class="tc5"><?php echo ($user_data[$cur_poster['poster_id']]['admin_note'] != '') ? pun_htmlspecialchars($user_data[$cur_poster['poster_id']]['admin_note']) : '&#160;' ?></td>
206:                     <td class="tcr"><?php echo $actions ?></td>215:                     <td class="tcr"><?php echo $actions ?></td>
207:                 </tr>216:                 </tr>
208: <?php217: <?php
213: 222: 
214: ?>223: ?>
215:                 <tr>224:                 <tr>
216:                     <td class="tcl"><?php echo pun_htmlspecialchars($poster) ?></td>225:                     <td class="tcl"><?php echo pun_htmlspecialchars($cur_poster['poster']) ?></td>
217:                     <td class="tc2">&#160;</td>226:                     <td class="tc2">&#160;</td>
218:                     <td class="tc3"><?php echo $lang_admin_users['Results guest'] ?></td>227:                     <td class="tc3"><?php echo $lang_admin_users['Results guest'] ?></td>
219:                     <td class="tc4">&#160;</td>228:                     <td class="tc4">&#160;</td>
652:                                 <tr>661:                                 <tr>
653:                                     <th scope="row"><?php echo $lang_admin_users['Ban IP label'] ?></th>662:                                     <th scope="row"><?php echo $lang_admin_users['Ban IP label'] ?></th>
654:                                     <td>663:                                     <td>
655:                                         <input type="radio" name="ban_the_ip" tabindex="3" value="1" checked="checked" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong>&#160;&#160;&#160;<input type="radio" name="ban_the_ip" tabindex="4" value="0" checked="checked" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong>664:                                         <label class="conl"><input type="radio" name="ban_the_ip" tabindex="3" value="1" checked="checked" />&#160;<strong><?php echo $lang_admin_common['Yes'] ?></strong></label>
656:                                         <span><?php echo $lang_admin_users['Ban IP help'] ?></span>665:                                         <label class="conl"><input type="radio" name="ban_the_ip" tabindex="4" value="0" checked="checked" />&#160;<strong><?php echo $lang_admin_common['No'] ?></strong></label>
 666:                                         <span class="clearb"><?php echo $lang_admin_users['Ban IP help'] ?></span>
657:                                     </td>667:                                     </td>
658:                                 </tr>668:                                 </tr>
659:                             </table>669:                             </table>


a/db_update.php b/db_update.php
  7:  */  7:  */
  8:   8: 
  9: // The FluxBB version this script updates to  9: // The FluxBB version this script updates to
 10: define('UPDATE_TO', '1.5.0'); 10: define('UPDATE_TO', '1.5.3');
 11:  11: 
 12: define('UPDATE_TO_DB_REVISION', 18); 12: define('UPDATE_TO_DB_REVISION', 18);
 13: define('UPDATE_TO_SI_REVISION', 2); 13: define('UPDATE_TO_SI_REVISION', 2);
358:     $end_at = 0;358:     $end_at = 0;
359:     if ($mysql)359:     if ($mysql)
360:     {360:     {
361:         // Only set up the tables if we are doing this in 1 go, or its the first go361:         // Only set up the tables if we are doing this in 1 go, or it's the first go
362:         if (is_null($start_at) || $start_at == 0)362:         if (is_null($start_at) || $start_at == 0)
363:         {363:         {
364:             // Drop any temp table that exists, in-case it's left over from a failed update364:             // Drop any temp table that exists, in-case it's left over from a failed update
400:             $finished = $db->num_rows($result) == 0;400:             $finished = $db->num_rows($result) == 0;
401:         }401:         }
402: 402: 
403:         // Only swap the tables if we are doing this in 1 go, or its the last go403:         // Only swap the tables if we are doing this in 1 go, or it's the last go
404:         if ($finished)404:         if ($finished)
405:         {405:         {
406:             // Delete old table406:             // Delete old table
713:         // Add the DST option to the users table713:         // Add the DST option to the users table
714:         $db->add_field('users', 'dst', 'TINYINT(1)', false, 0, 'timezone') or error('Unable to add dst field', __FILE__, __LINE__, $db->error());714:         $db->add_field('users', 'dst', 'TINYINT(1)', false, 0, 'timezone') or error('Unable to add dst field', __FILE__, __LINE__, $db->error());
715: 715: 
716:         // Add the last_post field to the online table716:         // Add the last_post column to the online table
717:         $db->add_field('online', 'last_post', 'INT(10) UNSIGNED', true, null, null) or error('Unable to add last_post field', __FILE__, __LINE__, $db->error());717:         $db->add_field('online', 'last_post', 'INT(10) UNSIGNED', true, null, null) or error('Unable to add last_post field', __FILE__, __LINE__, $db->error());
718: 718: 
719:         // Add the last_search field to the online table719:         // Add the last_search column to the online table
720:         $db->add_field('online', 'last_search', 'INT(10) UNSIGNED', true, null, null) or error('Unable to add last_search field', __FILE__, __LINE__, $db->error());720:         $db->add_field('online', 'last_search', 'INT(10) UNSIGNED', true, null, null) or error('Unable to add last_search field', __FILE__, __LINE__, $db->error());
721: 721: 
722:         // Add the last_search column to the users table722:         // Add the last_search column to the users table
975:         if (!$db->add_index('users', 'username_idx', array($field), true))975:         if (!$db->add_index('users', 'username_idx', array($field), true))
976:             $db->add_index('users', 'username_idx', array($field)) or error('Unable to add username_idx field', __FILE__, __LINE__, $db->error());976:             $db->add_index('users', 'username_idx', array($field)) or error('Unable to add username_idx field', __FILE__, __LINE__, $db->error());
977: 977: 
978:         // Add g_view_users field to groups table978:         // Add g_view_users column to groups table
979:         $db->add_field('groups', 'g_view_users', 'TINYINT(1)', false, 1, 'g_read_board') or error('Unable to add g_view_users field', __FILE__, __LINE__, $db->error());979:         $db->add_field('groups', 'g_view_users', 'TINYINT(1)', false, 1, 'g_read_board') or error('Unable to add g_view_users field', __FILE__, __LINE__, $db->error());
980: 980: 
981:         // Add the last_email_sent column to the users table and the g_send_email and981:         // Add the last_email_sent column to the users table and the g_send_email and
1019:         $db->add_field('users', 'time_format', 'TINYINT(1)', false, 0, 'dst') or error('Unable to add time_format field', __FILE__, __LINE__, $db->error());1019:         $db->add_field('users', 'time_format', 'TINYINT(1)', false, 0, 'dst') or error('Unable to add time_format field', __FILE__, __LINE__, $db->error());
1020:         $db->add_field('users', 'date_format', 'TINYINT(1)', false, 0, 'dst') or error('Unable to add date_format field', __FILE__, __LINE__, $db->error());1020:         $db->add_field('users', 'date_format', 'TINYINT(1)', false, 0, 'dst') or error('Unable to add date_format field', __FILE__, __LINE__, $db->error());
1021: 1021: 
1022:         // Change the search_data field to mediumtext1022:         // Change the search_data column to mediumtext
1023:         $db->alter_field('search_cache', 'search_data', 'MEDIUMTEXT', true) or error('Unable to alter search_data field', __FILE__, __LINE__, $db->error());1023:         $db->alter_field('search_cache', 'search_data', 'MEDIUMTEXT', true) or error('Unable to alter search_data field', __FILE__, __LINE__, $db->error());
1024: 1024: 
1025:         // Add the group promotion fields to the groups table1025:         // Add the group promotion columns to the groups table
1026:         $db->add_field('groups', 'g_promote_min_posts', 'INT(10) UNSIGNED', false, 0, 'g_user_title') or error('Unable to add g_promote_min_posts field', __FILE__, __LINE__, $db->error());1026:         $db->add_field('groups', 'g_promote_min_posts', 'INT(10) UNSIGNED', false, 0, 'g_user_title') or error('Unable to add g_promote_min_posts field', __FILE__, __LINE__, $db->error());
1027:         $db->add_field('groups', 'g_promote_next_group', 'INT(10) UNSIGNED', false, 0, 'g_promote_min_posts') or error('Unable to add g_promote_next_group field', __FILE__, __LINE__, $db->error());1027:         $db->add_field('groups', 'g_promote_next_group', 'INT(10) UNSIGNED', false, 0, 'g_promote_min_posts') or error('Unable to add g_promote_next_group field', __FILE__, __LINE__, $db->error());
1028: 1028: 
1029:         // Add a field for the per-group permission to post links1029:         // Add a field for the per-group permission to post links
1030:         $db->add_field('groups', 'g_post_links', 'TINYINT(1)', false, 1, 'g_delete_topics') or error('Unable to add per-group permission to post links', __FILE__, __LINE__, $db->error());1030:         $db->add_field('groups', 'g_post_links', 'TINYINT(1)', false, 1, 'g_delete_topics') or error('Unable to add per-group permission to post links', __FILE__, __LINE__, $db->error());
1031: 1031: 
1032:         // Incase we had the fulltext search extension installed (1.3-legacy), remove it1032:         // In case we had the fulltext search extension installed (1.3-legacy), remove it
1033:         $db->drop_index('topics', 'subject_idx') or error('Unable to drop subject_idx index', __FILE__, __LINE__, $db->error());1033:         $db->drop_index('topics', 'subject_idx') or error('Unable to drop subject_idx index', __FILE__, __LINE__, $db->error());
1034:         $db->drop_index('posts', 'message_idx') or error('Unable to drop message_idx index', __FILE__, __LINE__, $db->error());1034:         $db->drop_index('posts', 'message_idx') or error('Unable to drop message_idx index', __FILE__, __LINE__, $db->error());
1035:         // Incase we had the fulltext search mod installed (1.2), remove it1035:         // In case we had the fulltext search mod installed (1.2), remove it
1036:         $db->drop_index('topics', 'subject_fulltext_search') or error('Unable to drop subject_fulltext_search index', __FILE__, __LINE__, $db->error());1036:         $db->drop_index('topics', 'subject_fulltext_search') or error('Unable to drop subject_fulltext_search index', __FILE__, __LINE__, $db->error());
1037:         $db->drop_index('posts', 'message_fulltext_search') or error('Unable to drop message_fulltext_search index', __FILE__, __LINE__, $db->error());1037:         $db->drop_index('posts', 'message_fulltext_search') or error('Unable to drop message_fulltext_search index', __FILE__, __LINE__, $db->error());
1038: 1038: 


a/delete.php b/delete.php
 55:  55: 
 56:     if ($is_topic_post) 56:     if ($is_topic_post)
 57:     { 57:     {
 58:         // Delete the topic and all of it's posts 58:         // Delete the topic and all of its posts
 59:         delete_topic($cur_post['tid']); 59:         delete_topic($cur_post['tid']);
 60:         update_forum($cur_post['fid']); 60:         update_forum($cur_post['fid']);
 61:  61: 


a/edit.php b/edit.php
 44:     !$is_admmod) 44:     !$is_admmod)
 45:     message($lang_common['No permission'], false, '403 Forbidden'); 45:     message($lang_common['No permission'], false, '403 Forbidden');
 46:  46: 
 47: // Load the post.php/edit.php language file 47: // Load the post.php language file
 48: require PUN_ROOT.'lang/'.$pun_user['language'].'/post.php'; 48: require PUN_ROOT.'lang/'.$pun_user['language'].'/post.php';
 49:  49: 
 50: // Start with a clean slate 50: // Start with a clean slate
226:                         <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>226:                         <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>
227:                         <ul class="bblinks">227:                         <ul class="bblinks">
228:                             <li><span><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']; ?></span></li>228:                             <li><span><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']; ?></span></li>
229:                             <li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span>229:                             <li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
230:                             <li><span><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_bbcode'] == '1' && $pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>230:                             <li><span><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_bbcode'] == '1' && $pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
231:                             <li><span><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a> <?php echo ($pun_config['o_smilies'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>231:                             <li><span><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a> <?php echo ($pun_config['o_smilies'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
232:                         </ul>232:                         </ul>


a/header.php b/header.php
 41: $tpl_main = file_get_contents($tpl_file); 41: $tpl_main = file_get_contents($tpl_file);
 42:  42: 
 43: // START SUBST - <pun_include "*"> 43: // START SUBST - <pun_include "*">
 44: preg_match_all('%<pun_include "([^/\\\\]*?)\.(php[45]?|inc|html?|txt)">%i', $tpl_main, $pun_includes, PREG_SET_ORDER); 44: preg_match_all('%<pun_include "([^"]+)">%i', $tpl_main, $pun_includes, PREG_SET_ORDER);
 45:  45: 
 46: foreach ($pun_includes as $cur_include) 46: foreach ($pun_includes as $cur_include)
 47: { 47: {
 48:     ob_start(); 48:     ob_start();
 49:  49: 
  50:     $file_info = pathinfo($cur_include[1]);
  51:     
  52:     if (!in_array($file_info['extension'], array('php', 'php4', 'php5', 'inc', 'html', 'txt'))) // Allow some extensions
  53:         error(sprintf($lang_common['Pun include extension'], pun_htmlspecialchars($cur_include[0]), basename($tpl_file), pun_htmlspecialchars($file_info['extension'])));
  54:         
  55:     if (strpos($file_info['dirname'], '..') !== false) // Don't allow directory traversal
  56:         error(sprintf($lang_common['Pun include directory'], pun_htmlspecialchars($cur_include[0]), basename($tpl_file)));
  57: 
 50:     // Allow for overriding user includes, too. 58:     // Allow for overriding user includes, too.
 51:     if (file_exists($tpl_inc_dir.$cur_include[1].'.'.$cur_include[2])) 59:     if (file_exists($tpl_inc_dir.$cur_include[1]))
 52:         require $tpl_inc_dir.$cur_include[1].'.'.$cur_include[2]; 60:         require $tpl_inc_dir.$cur_include[1];
 53:     else if (file_exists(PUN_ROOT.'include/user/'.$cur_include[1].'.'.$cur_include[2])) 61:     else if (file_exists(PUN_ROOT.'include/user/'.$cur_include[1]))
 54:         require PUN_ROOT.'include/user/'.$cur_include[1].'.'.$cur_include[2]; 62:         require PUN_ROOT.'include/user/'.$cur_include[1];
 55:     else 63:     else
 56:         error(sprintf($lang_common['Pun include error'], htmlspecialchars($cur_include[0]), basename($tpl_file))); 64:         error(sprintf($lang_common['Pun include error'], pun_htmlspecialchars($cur_include[0]), basename($tpl_file)));
 57:  65: 
 58:     $tpl_temp = ob_get_contents(); 66:     $tpl_temp = ob_get_contents();
 59:     $tpl_main = str_replace($cur_include[0], $tpl_temp, $tpl_main); 67:     $tpl_main = str_replace($cur_include[0], $tpl_temp, $tpl_main);
 75: // START SUBST - <pun_head> 83: // START SUBST - <pun_head>
 76: ob_start(); 84: ob_start();
 77:  85: 
 78: // Define $p if its not set to avoid a PHP notice 86: // Define $p if it's not set to avoid a PHP notice
 79: $p = isset($p) ? $p : null; 87: $p = isset($p) ? $p : null;
 80:  88: 
 81: // Is this a page that we want search index spiders to index? 89: // Is this a page that we want search index spiders to index?


a/help.php b/help.php
 56:         <p><a name="url"></a><code>[url=<?php echo pun_htmlspecialchars(get_base_url(true).'/') ?>]<?php echo pun_htmlspecialchars($pun_config['o_board_title']) ?>[/url]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/') ?>"><?php echo pun_htmlspecialchars($pun_config['o_board_title']) ?></a></samp></p> 56:         <p><a name="url"></a><code>[url=<?php echo pun_htmlspecialchars(get_base_url(true).'/') ?>]<?php echo pun_htmlspecialchars($pun_config['o_board_title']) ?>[/url]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/') ?>"><?php echo pun_htmlspecialchars($pun_config['o_board_title']) ?></a></samp></p>
 57:         <p><code>[url]<?php echo pun_htmlspecialchars(get_base_url(true).'/') ?>[/url]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/') ?>"><?php echo pun_htmlspecialchars(get_base_url(true).'/') ?></a></samp></p> 57:         <p><code>[url]<?php echo pun_htmlspecialchars(get_base_url(true).'/') ?>[/url]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/') ?>"><?php echo pun_htmlspecialchars(get_base_url(true).'/') ?></a></samp></p>
 58:         <p><code>[url=/help.php]<?php echo $lang_help['This help page'] ?>[/url]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/help.php') ?>"><?php echo $lang_help['This help page'] ?></a></samp></p> 58:         <p><code>[url=/help.php]<?php echo $lang_help['This help page'] ?>[/url]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/help.php') ?>"><?php echo $lang_help['This help page'] ?></a></samp></p>
 59:         <p><code>[email]myname@mydomain.com[/email]</code> <?php echo $lang_help['produces'] ?> <samp><a href="mailto:myname@mydomain.com">myname@mydomain.com</a></samp></p> 59:         <p><code>[email]myname@example.com[/email]</code> <?php echo $lang_help['produces'] ?> <samp><a href="mailto:myname@example.com">myname@example.com</a></samp></p>
 60:         <p><code>[email=myname@mydomain.com]<?php echo $lang_help['My email address'] ?>[/email]</code> <?php echo $lang_help['produces'] ?> <samp><a href="mailto:myname@mydomain.com"><?php echo $lang_help['My email address'] ?></a></samp></p> 60:         <p><code>[email=myname@example.com]<?php echo $lang_help['My email address'] ?>[/email]</code> <?php echo $lang_help['produces'] ?> <samp><a href="mailto:myname@example.com"><?php echo $lang_help['My email address'] ?></a></samp></p>
 61:         <p><code>[topic=1]<?php echo $lang_help['Test topic'] ?>[/topic]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/viewtopic.php?id=1') ?>"><?php echo $lang_help['Test topic'] ?></a></samp></p> 61:         <p><code>[topic=1]<?php echo $lang_help['Test topic'] ?>[/topic]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/viewtopic.php?id=1') ?>"><?php echo $lang_help['Test topic'] ?></a></samp></p>
 62:         <p><code>[topic]1[/topic]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/viewtopic.php?id=1') ?>"><?php echo pun_htmlspecialchars(get_base_url(true).'/viewtopic.php?id=1') ?></a></samp></p> 62:         <p><code>[topic]1[/topic]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/viewtopic.php?id=1') ?>"><?php echo pun_htmlspecialchars(get_base_url(true).'/viewtopic.php?id=1') ?></a></samp></p>
 63:         <p><code>[post=1]<?php echo $lang_help['Test post'] ?>[/post]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/viewtopic.php?pid=1#p1') ?>"><?php echo $lang_help['Test post'] ?></a></samp></p> 63:         <p><code>[post=1]<?php echo $lang_help['Test post'] ?>[/post]</code> <?php echo $lang_help['produces'] ?> <samp><a href="<?php echo pun_htmlspecialchars(get_base_url(true).'/viewtopic.php?pid=1#p1') ?>"><?php echo $lang_help['Test post'] ?></a></samp></p>


a/include/common.php b/include/common.php
 10:     exit('The constant PUN_ROOT must be defined and point to a valid FluxBB installation root directory.'); 10:     exit('The constant PUN_ROOT must be defined and point to a valid FluxBB installation root directory.');
 11:  11: 
 12: // Define the version and database revision that this code was written for 12: // Define the version and database revision that this code was written for
 13: define('FORUM_VERSION', '1.5.0'); 13: define('FORUM_VERSION', '1.5.3');
 14:  14: 
 15: define('FORUM_DB_REVISION', 18); 15: define('FORUM_DB_REVISION', 18);
 16: define('FORUM_SI_REVISION', 2); 16: define('FORUM_SI_REVISION', 2);


a/include/dblayer/mysql.php b/include/dblayer/mysql.php
303: 303: 
304:     function rename_table($old_table, $new_table, $no_prefix = false)304:     function rename_table($old_table, $new_table, $no_prefix = false)
305:     {305:     {
306:         // If there new table exists and the old one doesn't, then we're happy306:         // If the new table exists and the old one doesn't, then we're happy
307:         if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))307:         if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))
308:             return true;308:             return true;
309: 309: 
321:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))321:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))
322:             $default_value = '\''.$this->escape($default_value).'\'';322:             $default_value = '\''.$this->escape($default_value).'\'';
323: 323: 
324:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' ADD '.$field_name.' '.$field_type.($allow_null ? ' ' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : ' ').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;324:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' ADD '.$field_name.' '.$field_type.($allow_null ? '' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : '').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;
325:     }325:     }
326: 326: 
327: 327: 
335:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))335:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))
336:             $default_value = '\''.$this->escape($default_value).'\'';336:             $default_value = '\''.$this->escape($default_value).'\'';
337: 337: 
338:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' MODIFY '.$field_name.' '.$field_type.($allow_null ? ' ' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : ' ').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;338:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' MODIFY '.$field_name.' '.$field_type.($allow_null ? '' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : '').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;
339:     }339:     }
340: 340: 
341: 341: 


a/include/dblayer/mysql_innodb.php b/include/dblayer/mysql_innodb.php
317: 317: 
318:     function rename_table($old_table, $new_table, $no_prefix = false)318:     function rename_table($old_table, $new_table, $no_prefix = false)
319:     {319:     {
320:         // If there new table exists and the old one doesn't, then we're happy320:         // If the new table exists and the old one doesn't, then we're happy
321:         if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))321:         if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))
322:             return true;322:             return true;
323: 323: 
335:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))335:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))
336:             $default_value = '\''.$this->escape($default_value).'\'';336:             $default_value = '\''.$this->escape($default_value).'\'';
337: 337: 
338:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' ADD '.$field_name.' '.$field_type.($allow_null ? ' ' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : ' ').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;338:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' ADD '.$field_name.' '.$field_type.($allow_null ? '' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : '').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;
339:     }339:     }
340: 340: 
341: 341: 
349:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))349:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))
350:             $default_value = '\''.$this->escape($default_value).'\'';350:             $default_value = '\''.$this->escape($default_value).'\'';
351: 351: 
352:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' MODIFY '.$field_name.' '.$field_type.($allow_null ? ' ' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : ' ').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;352:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' MODIFY '.$field_name.' '.$field_type.($allow_null ? '' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : '').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;
353:     }353:     }
354: 354: 
355: 355: 


a/include/dblayer/mysqli.php b/include/dblayer/mysqli.php
310: 310: 
311:     function rename_table($old_table, $new_table, $no_prefix = false)311:     function rename_table($old_table, $new_table, $no_prefix = false)
312:     {312:     {
313:         // If there new table exists and the old one doesn't, then we're happy313:         // If the new table exists and the old one doesn't, then we're happy
314:         if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))314:         if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))
315:             return true;315:             return true;
316: 316: 
328:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))328:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))
329:             $default_value = '\''.$this->escape($default_value).'\'';329:             $default_value = '\''.$this->escape($default_value).'\'';
330: 330: 
331:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' ADD '.$field_name.' '.$field_type.($allow_null ? ' ' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : ' ').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;331:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' ADD '.$field_name.' '.$field_type.($allow_null ? '' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : '').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;
332:     }332:     }
333: 333: 
334: 334: 
342:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))342:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))
343:             $default_value = '\''.$this->escape($default_value).'\'';343:             $default_value = '\''.$this->escape($default_value).'\'';
344: 344: 
345:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' MODIFY '.$field_name.' '.$field_type.($allow_null ? ' ' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : ' ').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;345:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' MODIFY '.$field_name.' '.$field_type.($allow_null ? '' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : '').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;
346:     }346:     }
347: 347: 
348: 348: 


a/include/dblayer/mysqli_innodb.php b/include/dblayer/mysqli_innodb.php
323: 323: 
324:     function rename_table($old_table, $new_table, $no_prefix = false)324:     function rename_table($old_table, $new_table, $no_prefix = false)
325:     {325:     {
326:         // If there new table exists and the old one doesn't, then we're happy326:         // If the new table exists and the old one doesn't, then we're happy
327:         if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))327:         if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))
328:             return true;328:             return true;
329: 329: 
341:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))341:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))
342:             $default_value = '\''.$this->escape($default_value).'\'';342:             $default_value = '\''.$this->escape($default_value).'\'';
343: 343: 
344:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' ADD '.$field_name.' '.$field_type.($allow_null ? ' ' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : ' ').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;344:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' ADD '.$field_name.' '.$field_type.($allow_null ? '' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : '').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;
345:     }345:     }
346: 346: 
347: 347: 
355:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))355:         if (!is_null($default_value) && !is_int($default_value) && !is_float($default_value))
356:             $default_value = '\''.$this->escape($default_value).'\'';356:             $default_value = '\''.$this->escape($default_value).'\'';
357: 357: 
358:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' MODIFY '.$field_name.' '.$field_type.($allow_null ? ' ' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : ' ').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;358:         return $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' MODIFY '.$field_name.' '.$field_type.($allow_null ? '' : ' NOT NULL').(!is_null($default_value) ? ' DEFAULT '.$default_value : '').(!is_null($after_field) ? ' AFTER '.$after_field : '')) ? true : false;
359:     }359:     }
360: 360: 
361: 361: 


a/include/dblayer/pgsql.php b/include/dblayer/pgsql.php
354: 354: 
355:     function rename_table($old_table, $new_table, $no_prefix = false)355:     function rename_table($old_table, $new_table, $no_prefix = false)
356:     {356:     {
357:         // If there new table exists and the old one doesn't, then we're happy357:         // If the new table exists and the old one doesn't, then we're happy
358:         if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))358:         if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))
359:             return true;359:             return true;
360: 360: 


a/include/dblayer/sqlite.php b/include/dblayer/sqlite.php
349:     }349:     }
350: 350: 
351: 351: 
352:     function rename_table($old_name, $new_name, $no_prefix = false)352:     function rename_table($old_table, $new_table, $no_prefix = false)
353:     {353:     {
354:         // If there new table exists and the old one doesn't, then we're happy354:         // If the old table does not exist
355:         if ($this->table_exists($new_table, $no_prefix) && !$this->table_exists($old_table, $no_prefix))355:         if (!$this->table_exists($old_table, $no_prefix))
 356:             return false;
 357:         // If the table names are the same
 358:         else if ($old_table == $new_table)
356:             return true;359:             return true;
 360:         // If the new table already exists
 361:         else if ($this->table_exists($new_table, $no_prefix))
 362:             return false;
357: 363: 
358:         $table = $this->get_table_info($old_name, $no_prefix);364:         $table = $this->get_table_info($old_table, $no_prefix);
359: 365: 
360:         // Create new table366:         // Create new table
361:         $newtable = str_replace('CREATE TABLE '.($no_prefix ? '' : $this->prefix).$this->escape($old_name).' (', 'CREATE TABLE '.($no_prefix ? '' : $this->prefix).$this->escape($new_name).' (', $table['sql']);367:         $query = str_replace('CREATE TABLE '.($no_prefix ? '' : $this->prefix).$this->escape($old_table).' (', 'CREATE TABLE '.($no_prefix ? '' : $this->prefix).$this->escape($new_table).' (', $table['sql']);
362:         $result = $this->query($newtable) ? true : false;368:         $result = $this->query($query) ? true : false;
363: 369: 
364:         // Recreate indexes370:         // Recreate indexes
365:         if (!empty($table['indices']))371:         if (!empty($table['indices']))
366:         {372:         {
367:             foreach ($table['indices'] as $cur_index)373:             foreach ($table['indices'] as $cur_index)
368:                 $result &= $this->query($cur_index) ? true : false;374:             {
 375:                 $query = str_replace('CREATE INDEX '.($no_prefix ? '' : $this->prefix).$this->escape($old_table), 'CREATE INDEX '.($no_prefix ? '' : $this->prefix).$this->escape($new_table), $cur_index);
 376:                 $query = str_replace('ON '.($no_prefix ? '' : $this->prefix).$this->escape($old_table), 'ON '.($no_prefix ? '' : $this->prefix).$this->escape($new_table), $query);
 377:                 $result &= $this->query($query) ? true : false;
 378:             }
369:         }379:         }
370: 380: 
371:         // Copy content across381:         // Copy content across
372:         $result &= $this->query('INSERT INTO '.($no_prefix ? '' : $this->prefix).$this->escape($new_name).' SELECT * FROM '.($no_prefix ? '' : $this->prefix).$this->escape($old_name)) ? true : false;382:         $result &= $this->query('INSERT INTO '.($no_prefix ? '' : $this->prefix).$this->escape($new_table).' SELECT * FROM '.($no_prefix ? '' : $this->prefix).$this->escape($old_table)) ? true : false;
373: 383: 
374:         // Drop old table384:         // Drop the old table if the new one exists
375:         $result &= $this->drop_table($table_name, $no_prefix);385:         if ($this->table_exists($new_table, $no_prefix))
 386:             $result &= $this->drop_table($old_table, $no_prefix);
376: 387: 
377:         return $result;388:         return $result;
378:     }389:     }
420:     }431:     }
421: 432: 
422: 433: 
423:     function add_field($table_name, $field_name, $field_type, $allow_null, $default_value = null, $after_field = 0, $no_prefix = false)434:     function add_field($table_name, $field_name, $field_type, $allow_null, $default_value = null, $after_field = null, $no_prefix = false)
424:     {435:     {
425:         if ($this->field_exists($table_name, $field_name, $no_prefix))436:         if ($this->field_exists($table_name, $field_name, $no_prefix))
426:             return true;437:             return true;
436:         // Create new table sql447:         // Create new table sql
437:         $field_type = preg_replace(array_keys($this->datatype_transformations), array_values($this->datatype_transformations), $field_type);448:         $field_type = preg_replace(array_keys($this->datatype_transformations), array_values($this->datatype_transformations), $field_type);
438:         $query = $field_type;449:         $query = $field_type;
 450: 
439:         if (!$allow_null)451:         if (!$allow_null)
440:             $query .= ' NOT NULL';452:             $query .= ' NOT NULL';
441:         if (is_null($default_value) || $default_value === '')453:         
 454:         if ($default_value === '')
442:             $default_value = '\'\'';455:             $default_value = '\'\'';
443: 456: 
444:         $query .= ' DEFAULT '.$default_value;457:         if (!is_null($default_value))
 458:             $query .= ' DEFAULT '.$default_value;
445: 459: 
446:         $old_columns = array_keys($table['columns']);460:         $old_columns = array_keys($table['columns']);
447:         array_insert($table['columns'], $after_field, $query, $field_name);461: 
 462:         // Determine the proper offset
 463:         if (!is_null($after_field))
 464:             $offset = array_search($after_field, array_keys($table['columns']), true) + 1;
 465:         else
 466:             $offset = count($table['columns']);
 467: 
 468:         // Out of bounds checks
 469:         if ($offset > count($table['columns']))
 470:             $offset = count($table['columns']);
 471:         else if ($offset < 0)
 472:             $offset = 0;
 473: 
 474:         if (!is_null($field_name) && $field_name !== '')
 475:             $table['columns'] = array_merge(array_slice($table['columns'], 0, $offset), array($field_name => $query), array_slice($table['columns'], $offset));
448: 476: 
449:         $new_table = 'CREATE TABLE '.($no_prefix ? '' : $this->prefix).$this->escape($table_name).' (';477:         $new_table = 'CREATE TABLE '.($no_prefix ? '' : $this->prefix).$this->escape($table_name).' (';
450: 478: 
482:     }510:     }
483: 511: 
484: 512: 
485:     function alter_field($table_name, $field_name, $field_type, $allow_null, $default_value = null, $after_field = 0, $no_prefix = false)513:     function alter_field($table_name, $field_name, $field_type, $allow_null, $default_value = null, $after_field = null, $no_prefix = false)
486:     {514:     {
487:         // Unneeded for SQLite515:         // Unneeded for SQLite
488:         return true;516:         return true;


a/include/email.php b/include/email.php
158:                 $replacement = '['.str_replace('$1', $matches[3], $url).']';158:                 $replacement = '['.str_replace('$1', $matches[3], $url).']';
159:         }159:         }
160: 160: 
161:         // Update the main text if there is a replacment161:         // Update the main text if there is a replacement
162:         if (!is_null($replacement))162:         if (!is_null($replacement))
163:         {163:         {
164:             $text = str_replace($matches[0], $replacement, $text);164:             $text = str_replace($matches[0], $replacement, $text);
229:     $from = '"'.encode_mail_text($from_name).'" <'.$from_email.'>';229:     $from = '"'.encode_mail_text($from_name).'" <'.$from_email.'>';
230:     $subject = encode_mail_text($subject);230:     $subject = encode_mail_text($subject);
231: 231: 
232:     $headers = 'From: '.$from."\r\n".'Date: '.gmdate('r')."\r\n".'MIME-Version: 1.0'."\r\n".'Content-transfer-encoding: 8bit'."\r\n".'Content-type: text/plain; charset=utf-8'."\r\n".'X-Mailer: FluxBB Mailer';232:     $headers = 'From: '.$from.PHP_EOL.'Date: '.gmdate('r').PHP_EOL.'MIME-Version: 1.0'.PHP_EOL.'Content-transfer-encoding: 8bit'.PHP_EOL.'Content-type: text/plain; charset=utf-8'.PHP_EOL.'X-Mailer: FluxBB Mailer';
233: 233: 
234:     // If we specified a reply-to email, we deal with it here234:     // If we specified a reply-to email, we deal with it here
235:     if (!empty($reply_to_email))235:     if (!empty($reply_to_email))
236:     {236:     {
237:         $reply_to = '"'.encode_mail_text($reply_to_name).'" <'.$reply_to_email.'>';237:         $reply_to = '"'.encode_mail_text($reply_to_name).'" <'.$reply_to_email.'>';
238: 238: 
239:         $headers .= "\r\n".'Reply-To: '.$reply_to;239:         $headers .= PHP_EOL.'Reply-To: '.$reply_to;
240:     }240:     }
241: 241: 
242:     // Make sure all linebreaks are LF in message (and strip out any NULL bytes)242:     // Make sure all linebreaks are LF in message (and strip out any NULL bytes)
260: 260: 
261: //261: //
262: // This function was originally a part of the phpBB Group forum software phpBB2 (http://www.phpbb.com)262: // This function was originally a part of the phpBB Group forum software phpBB2 (http://www.phpbb.com)
263: // They deserve all the credit for writing it. I made small modifications for it to suit PunBB and it's coding standards263: // They deserve all the credit for writing it. I made small modifications for it to suit PunBB and its coding standards
264: //264: //
265: function server_parse($socket, $expected_response)265: function server_parse($socket, $expected_response)
266: {266: {
278: 278: 
279: //279: //
280: // This function was originally a part of the phpBB Group forum software phpBB2 (http://www.phpbb.com)280: // This function was originally a part of the phpBB Group forum software phpBB2 (http://www.phpbb.com)
281: // They deserve all the credit for writing it. I made small modifications for it to suit PunBB and it's coding standards.281: // They deserve all the credit for writing it. I made small modifications for it to suit PunBB and its coding standards.
282: //282: //
283: function smtp_mail($to, $subject, $message, $headers = '')283: function smtp_mail($to, $subject, $message, $headers = '')
284: {284: {
309: 309: 
310:     if ($pun_config['o_smtp_user'] != '' && $pun_config['o_smtp_pass'] != '')310:     if ($pun_config['o_smtp_user'] != '' && $pun_config['o_smtp_pass'] != '')
311:     {311:     {
312:         fwrite($socket, 'EHLO '.$smtp_host."\r\n");312:         // Here we try to determine the *real* hostname (reverse DNS entry preferably)
 313:         $local_host = php_uname('n');
 314: 
 315:         // Able to resolve name to IP
 316:         if (($local_addr = @gethostbyname($local_host)) !== $local_host)
 317:         {
 318:             // Able to resolve IP back to name
 319:             if (($local_name = @gethostbyaddr($local_addr)) !== $local_addr)
 320:             {
 321:                 $local_host = $local_name;
 322:             }
 323:         }
 324: 
 325:         fwrite($socket, 'EHLO '.$local_host."\r\n");
313:         server_parse($socket, '250');326:         server_parse($socket, '250');
314: 327: 
315:         fwrite($socket, 'AUTH LOGIN'."\r\n");328:         fwrite($socket, 'AUTH LOGIN'."\r\n");


a/include/functions.php b/include/functions.php
  6:  * License: http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * License: http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  */  7:  */
  8:   8: 
   9: include PUN_ROOT.'include/srand.php';
  10: 
  9:  11: 
 10: // 12: //
 11: // Return current timestamp (with microseconds) as a float 13: // Return current timestamp (with microseconds) as a float
244:     $remote_addr = get_remote_address();246:     $remote_addr = get_remote_address();
245: 247: 
246:     // Fetch guest user248:     // Fetch guest user
247:     $result = $db->query('SELECT u.*, g.*, o.logged, o.last_post, o.last_search FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON u.group_id=g.g_id LEFT JOIN '.$db->prefix.'online AS o ON o.ident=\''.$remote_addr.'\' WHERE u.id=1') or error('Unable to fetch guest information', __FILE__, __LINE__, $db->error());249:     $result = $db->query('SELECT u.*, g.*, o.logged, o.last_post, o.last_search FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON u.group_id=g.g_id LEFT JOIN '.$db->prefix.'online AS o ON o.ident=\''.$db->escape($remote_addr).'\' WHERE u.id=1') or error('Unable to fetch guest information', __FILE__, __LINE__, $db->error());
248:     if (!$db->num_rows($result))250:     if (!$db->num_rows($result))
249:         exit('Unable to fetch guest information. Your database must contain both a guest user and a guest user group.');251:         exit('Unable to fetch guest information. Your database must contain both a guest user and a guest user group.');
250: 252: 
681: 683: 
682: 684: 
683: //685: //
684: // Delete a topic and all of it's posts686: // Delete a topic and all of its posts
685: //687: //
686: function delete_topic($topic_id)688: function delete_topic($topic_id)
687: {689: {
853:     {855:     {
854:         // Add a previous page link856:         // Add a previous page link
855:         if ($num_pages > 1 && $cur_page > 1)857:         if ($num_pages > 1 && $cur_page > 1)
856:             $pages[] = '<a rel="prev" '.(empty($pages) ? ' class="item1"' : '').' href="'.$link.'&amp;p='.($cur_page - 1).'">'.$lang_common['Previous'].'</a>';858:             $pages[] = '<a rel="prev"'.(empty($pages) ? ' class="item1"' : '').' href="'.$link.'&amp;p='.($cur_page - 1).'">'.$lang_common['Previous'].'</a>';
857: 859: 
858:         if ($cur_page > 3)860:         if ($cur_page > 3)
859:         {861:         {
884: 886: 
885:         // Add a next page link887:         // Add a next page link
886:         if ($num_pages > 1 && !$link_to_all && $cur_page < $num_pages)888:         if ($num_pages > 1 && !$link_to_all && $cur_page < $num_pages)
887:             $pages[] = '<a rel="next" '.(empty($pages) ? ' class="item1"' : '').' href="'.$link.'&amp;p='.($cur_page +1).'">'.$lang_common['Next'].'</a>';889:             $pages[] = '<a rel="next"'.(empty($pages) ? ' class="item1"' : '').' href="'.$link.'&amp;p='.($cur_page +1).'">'.$lang_common['Next'].'</a>';
888:     }890:     }
889: 891: 
890:     return implode(' ', $pages);892:     return implode(' ', $pages);
984: //986: //
985: function random_key($len, $readable = false, $hash = false)987: function random_key($len, $readable = false, $hash = false)
986: {988: {
987:     $key = '';989:     $key = secure_random_bytes($len);
988: 990: 
989:     if ($hash)991:     if ($hash)
990:         $key = substr(pun_hash(uniqid(rand(), true)), 0, $len);992:         $key = substr(bin2hex($key), 0, $len);
991:     else if ($readable)993:     else if ($readable)
992:     {994:         $key = substr(base64_encode($key), 0, $len);
993:         $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; 
994:  
995:         for ($i = 0; $i < $len; ++$i) 
996:             $key .= substr($chars, (mt_rand() % strlen($chars)), 1); 
997:     } 
998:     else 
999:     { 
1000:         for ($i = 0; $i < $len; ++$i) 
1001:             $key .= chr(mt_rand(33, 126)); 
1002:     } 
1003: 995: 
1004:     return $key;996:     return $key;
1005: }997: }
1297: 1289: 
1298:     // If the delay is 0 seconds, we might as well skip the redirect all together1290:     // If the delay is 0 seconds, we might as well skip the redirect all together
1299:     if ($pun_config['o_redirect_delay'] == '0')1291:     if ($pun_config['o_redirect_delay'] == '0')
 1292:     {
1300:         header('Location: '.str_replace('&amp;', '&', $destination_url));1293:         header('Location: '.str_replace('&amp;', '&', $destination_url));
 1294:         exit;
 1295:     }
1301: 1296: 
1302:     // Send no-cache headers1297:     // Send no-cache headers
1303:     header('Expires: Thu, 21 Jul 1977 07:30:00 GMT'); // When yours truly first set eyes on this world! :)1298:     header('Expires: Thu, 21 Jul 1977 07:30:00 GMT'); // When yours truly first set eyes on this world! :)
1359:     $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Redirecting']);1354:     $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Redirecting']);
1360: 1355: 
1361: ?>1356: ?>
1362: <meta http-equiv="refresh" content="<?php echo $pun_config['o_redirect_delay'] ?>;URL=<?php echo str_replace(array('<', '>', '"'), array('&lt;', '&gt;', '&quot;'), $destination_url) ?>" />1357: <meta http-equiv="refresh" content="<?php echo $pun_config['o_redirect_delay'] ?>;URL=<?php echo $destination_url ?>" />
1363: <title><?php echo generate_page_title($page_title) ?></title>1358: <title><?php echo generate_page_title($page_title) ?></title>
1364: <link rel="stylesheet" type="text/css" href="style/<?php echo $pun_user['style'].'.css' ?>" />1359: <link rel="stylesheet" type="text/css" href="style/<?php echo $pun_user['style'].'.css' ?>" />
1365: <?php1360: <?php


a/include/parser.php b/include/parser.php
 66: { 66: {
 67:     global $pun_config, $lang_common, $lang_post, $re_list; 67:     global $pun_config, $lang_common, $lang_post, $re_list;
 68:  68: 
  69:     // Remove empty tags
  70:     while (($new_text = strip_empty_bbcode($text)) !== false)
  71:     {
  72:         if ($new_text != $text)
  73:         {
  74:             $text = $new_text;
  75:             if ($new_text == '')
  76:             {
  77:                 $errors[] = $lang_post['Empty after strip'];
  78:                 return '';
  79:             }
  80:         }
  81:         else
  82:             break;
  83:     }
  84: 
 69:     if ($is_signature) 85:     if ($is_signature)
 70:     { 86:     {
 71:         global $lang_profile; 87:         global $lang_profile;
 90:     if ($pun_config['o_make_links'] == '1')106:     if ($pun_config['o_make_links'] == '1')
 91:         $text = do_clickable($text);107:         $text = do_clickable($text);
 92: 108: 
 109:     $temp_text = false;
 110:     if (empty($errors))
 111:         $temp_text = preparse_tags($text, $errors, $is_signature);
 112: 
 113:     if ($temp_text !== false)
 114:         $text = $temp_text;
 115: 
 93:     // If we split up the message before we have to concatenate it together again (code tags)116:     // If we split up the message before we have to concatenate it together again (code tags)
 94:     if (isset($inside))117:     if (isset($inside))
 95:     {118:     {
107:         unset($inside);130:         unset($inside);
108:     }131:     }
109: 132: 
110:     $temp_text = false; 
111:     if (empty($errors)) 
112:         $temp_text = preparse_tags($text, $errors, $is_signature); 
113:  
114:     if ($temp_text !== false) 
115:         $text = $temp_text; 
116:  
117:     // Remove empty tags133:     // Remove empty tags
118:     while (($new_text = strip_empty_bbcode($text)) !== false)134:     while (($new_text = strip_empty_bbcode($text)) !== false)
119:     {135:     {
680:         else696:         else
681:             $link = stripslashes($link);697:             $link = stripslashes($link);
682: 698: 
683:         return '<a href="'.$full_url.'">'.$link.'</a>';699:         return '<a href="'.$full_url.'" rel="nofollow">'.$link.'</a>';
684:     }700:     }
685: }701: }
686: 702: 
695:     if (is_null($alt))711:     if (is_null($alt))
696:         $alt = basename($url);712:         $alt = basename($url);
697: 713: 
698:     $img_tag = '<a href="'.$url.'">&lt;'.$lang_common['Image link'].' - '.$alt.'&gt;</a>';714:     $img_tag = '<a href="'.$url.'" rel="nofollow">&lt;'.$lang_common['Image link'].' - '.$alt.'&gt;</a>';
699: 715: 
700:     if ($is_signature && $pun_user['show_img_sig'] != '0')716:     if ($is_signature && $pun_user['show_img_sig'] != '0')
701:         $img_tag = '<img class="sigimage" src="'.$url.'" alt="'.$alt.'" />';717:         $img_tag = '<img class="sigimage" src="'.$url.'" alt="'.$alt.'" />';
832:     $text = ' '.$text;848:     $text = ' '.$text;
833: 849: 
834:     $text = ucp_preg_replace('%(?<=[\s\]\)])(<)?(\[)?(\()?([\'"]?)(https?|ftp|news){1}://([\p{L}\p{N}\-]+\.([\p{L}\p{N}\-]+\.)*[\p{L}\p{N}]+(:[0-9]+)?(/(?:[^\s\[]*[^\s.,?!\[;:-])?)?)\4(?(3)(\)))(?(2)(\]))(?(1)(>))(?![^\s]*\[/(?:url|img)\])%uie', 'stripslashes(\'$1$2$3$4\').handle_url_tag(\'$5://$6\', \'$5://$6\', true).stripslashes(\'$4$10$11$12\')', $text);850:     $text = ucp_preg_replace('%(?<=[\s\]\)])(<)?(\[)?(\()?([\'"]?)(https?|ftp|news){1}://([\p{L}\p{N}\-]+\.([\p{L}\p{N}\-]+\.)*[\p{L}\p{N}]+(:[0-9]+)?(/(?:[^\s\[]*[^\s.,?!\[;:-])?)?)\4(?(3)(\)))(?(2)(\]))(?(1)(>))(?![^\s]*\[/(?:url|img)\])%uie', 'stripslashes(\'$1$2$3$4\').handle_url_tag(\'$5://$6\', \'$5://$6\', true).stripslashes(\'$4$10$11$12\')', $text);
835:     $text = ucp_preg_replace('%(?<=[\s\]\)])(<)?(\[)?(\()?([\'"]?)(www|ftp)\.(([\p{L}\p{N}\-]+\.)*[\p{L}\p{N}]+(:[0-9]+)?(/(?:[^\s\[]*[^\s.,?!\[;:-])?)?)\4(?(3)(\)))(?(2)(\]))(?(1)(>))(?![^\s]*\[/(?:url|img)\])%uie', 'stripslashes(\'$1$2$3$4\').handle_url_tag(\'$5.$6\', \'$5.$6\', true).stripslashes(\'$4$10$11$12\')', $text);851:     $text = ucp_preg_replace('%(?<=[\s\]\)])(<)?(\[)?(\()?([\'"]?)(www|ftp)\.(([\p{L}\p{N}\-]+\.)+[\p{L}\p{N}]+(:[0-9]+)?(/(?:[^\s\[]*[^\s.,?!\[;:-])?)?)\4(?(3)(\)))(?(2)(\]))(?(1)(>))(?![^\s]*\[/(?:url|img)\])%uie', 'stripslashes(\'$1$2$3$4\').handle_url_tag(\'$5.$6\', \'$5.$6\', true).stripslashes(\'$4$10$11$12\')', $text);
836: 852: 
837:     return substr($text, 1);853:     return substr($text, 1);
838: }854: }


a/include/search_idx.php b/include/search_idx.php
104:     if (in_array($word, $stopwords))104:     if (in_array($word, $stopwords))
105:         return false;105:         return false;
106: 106: 
107:     // If the word if CJK we don't want to index it, but we do want to be allowed to search it107:     // If the word is CJK we don't want to index it, but we do want to be allowed to search it
108:     if (is_cjk($word))108:     if (is_cjk($word))
109:         return !$idx;109:         return !$idx;
110: 110: 


/dev/null b/include/srand.php
   1: <?php
   2: 
   3: /*
   4:  * Author:
   5:  * George Argyros <argyros.george@gmail.com>
   6:  *
   7:  * Copyright (c) 2012, George Argyros
   8:  * All rights reserved.
   9:  *
  10:  * Redistribution and use in source and binary forms, with or without
  11:  * modification, are permitted provided that the following conditions are met:
  12:  *    * Redistributions of source code must retain the above copyright
  13:  *      notice, this list of conditions and the following disclaimer.
  14:  *    * Redistributions in binary form must reproduce the above copyright
  15:  *      notice, this list of conditions and the following disclaimer in the
  16:  *      documentation and/or other materials provided with the distribution.
  17:  *    * Neither the name of the <organization> nor the
  18:  *      names of its contributors may be used to endorse or promote products
  19:  *      derived from this software without specific prior written permission.
  20:  *
  21:  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  22:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  23:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  24:  * DISCLAIMED. IN NO EVENT SHALL GEORGE ARGYROS BE LIABLE FOR ANY
  25:  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  26:  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  27:  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  28:  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  29:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  30:  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31:  *
  32:  *
  33:  *
  34:  * The function is providing, at least at the systems tested :), 
  35:  * $len bytes of entropy under any PHP installation or operating system.
  36:  * The execution time should be at most 10-20 ms in any system.
  37:  */
  38: function secure_random_bytes($len = 10)
  39: {  
  40:  
  41:    /*
  42:     * Our primary choice for a cryptographic strong randomness function is
  43:     * openssl_random_pseudo_bytes. 
  44:     */
  45:    $SSLstr = '4'; // http://xkcd.com/221/
  46:    if (function_exists('openssl_random_pseudo_bytes') && 
  47:        (version_compare(PHP_VERSION, '5.3.4') >= 0 || 
  48:     substr(PHP_OS, 0, 3) !== 'WIN'))
  49:    {
  50:       $SSLstr = openssl_random_pseudo_bytes($len, $strong);
  51:       if ($strong)
  52:          return $SSLstr;
  53:    }
  54: 
  55:    /*
  56:     * If mcrypt extension is available then we use it to gather entropy from 
  57:     * the operating system's PRNG. This is better than reading /dev/urandom 
  58:     * directly since it avoids reading larger blocks of data than needed. 
  59:     * Older versions of mcrypt_create_iv may be broken or take too much time 
  60:     * to finish so we only use this function with PHP 5.3 and above.
  61:     */
  62:    if (function_exists('mcrypt_create_iv') && 
  63:       (version_compare(PHP_VERSION, '5.3.0') >= 0 || 
  64:        substr(PHP_OS, 0, 3) !== 'WIN')) 
  65:    {
  66:       $str = mcrypt_create_iv($len, MCRYPT_DEV_URANDOM);
  67:       if ($str !== false)
  68:          return $str;    
  69:    }
  70: 
  71: 
  72:    /*
  73:     * No build-in crypto randomness function found. We collect any entropy 
  74:     * available in the PHP core PRNGs along with some filesystem info and memory
  75:     * stats. To make this data cryptographically strong we add data either from 
  76:     * /dev/urandom or if its unavailable, we gather entropy by measuring the 
  77:     * time needed to compute a number of SHA-1 hashes. 
  78:     */
  79:    $str = '';
  80:    $bits_per_round = 2; // bits of entropy collected in each clock drift round
  81:    $msec_per_round = 400; // expected running time of each round in microseconds
  82:    $hash_len = 20; // SHA-1 Hash length
  83:    $total = $len; // total bytes of entropy to collect
  84: 
  85:    $handle = @fopen('/dev/urandom', 'rb');   
  86:    if ($handle && function_exists('stream_set_read_buffer'))
  87:       @stream_set_read_buffer($handle, 0);
  88: 
  89:    do
  90:    {
  91:       $bytes = ($total > $hash_len)? $hash_len : $total;
  92:       $total -= $bytes;
  93: 
  94:       //collect any entropy available from the PHP system and filesystem
  95:       $entropy = rand() . uniqid(mt_rand(), true) . $SSLstr;
  96:       $entropy .= implode('', @fstat(@fopen( __FILE__, 'r')));
  97:       $entropy .= memory_get_usage();
  98:       if ($handle) 
  99:       {
 100:          $entropy .= @fread($handle, $bytes);
 101:       }
 102:       else
 103:       {                   
 104:          // Measure the time that the operations will take on average
 105:          for ($i = 0; $i < 3; $i ++) 
 106:          {
 107:             $c1 = microtime(true);
 108:             $var = sha1(mt_rand());
 109:             for ($j = 0; $j < 50; $j++)
 110:             {
 111:                $var = sha1($var);
 112:             }
 113:             $c2 = microtime(true);
 114:             $entropy .= $c1 . $c2;
 115:          }
 116: 
 117:          // Based on the above measurement determine the total rounds
 118:          // in order to bound the total running time.    
 119:          $rounds = (int)($msec_per_round*50 / (int)(($c2-$c1)*1000000));
 120: 
 121:          // Take the additional measurements. On average we can expect
 122:          // at least $bits_per_round bits of entropy from each measurement.
 123:          $iter = $bytes*(int)(ceil(8 / $bits_per_round));
 124:          for ($i = 0; $i < $iter; $i ++)
 125:          {
 126:             $c1 = microtime();
 127:             $var = sha1(mt_rand());
 128:             for ($j = 0; $j < $rounds; $j++)
 129:             {
 130:                $var = sha1($var);
 131:             }
 132:             $c2 = microtime();
 133:             $entropy .= $c1 . $c2;
 134:          }
 135:             
 136:       } 
 137:       // We assume sha1 is a deterministic extractor for the $entropy variable.
 138:       $str .= sha1($entropy, true);
 139:    } while ($len > strlen($str));
 140:    
 141:    if ($handle) 
 142:       @fclose($handle);
 143:    
 144:    return substr($str, 0, $len);
 145: }
  0: 146: 


a/install.php b/install.php
  7:  */  7:  */
  8:   8: 
  9: // The FluxBB version this script installs  9: // The FluxBB version this script installs
 10: define('FORUM_VERSION', '1.5.0'); 10: define('FORUM_VERSION', '1.5.3');
 11:  11: 
 12: define('FORUM_DB_REVISION', 18); 12: define('FORUM_DB_REVISION', 18);
 13: define('FORUM_SI_REVISION', 2); 13: define('FORUM_SI_REVISION', 2);
1565:     $db->query('INSERT INTO '.$db_prefix.'users (group_id, username, password, email) VALUES(3, \''.$db->escape($lang_install['Guest']).'\', \''.$db->escape($lang_install['Guest']).'\', \''.$db->escape($lang_install['Guest']).'\')')1565:     $db->query('INSERT INTO '.$db_prefix.'users (group_id, username, password, email) VALUES(3, \''.$db->escape($lang_install['Guest']).'\', \''.$db->escape($lang_install['Guest']).'\', \''.$db->escape($lang_install['Guest']).'\')')
1566:         or error('Unable to add guest user. Please check your configuration and try again', __FILE__, __LINE__, $db->error());1566:         or error('Unable to add guest user. Please check your configuration and try again', __FILE__, __LINE__, $db->error());
1567: 1567: 
1568:     $db->query('INSERT INTO '.$db_prefix.'users (group_id, username, password, email, language, style, num_posts, last_post, registered, registration_ip, last_visit) VALUES(1, \''.$db->escape($username).'\', \''.pun_hash($password1).'\', \''.$email.'\', \''.$db->escape($default_lang).'\', \''.$db->escape($default_style).'\', 1, '.$now.', '.$now.', \''.get_remote_address().'\', '.$now.')')1568:     $db->query('INSERT INTO '.$db_prefix.'users (group_id, username, password, email, language, style, num_posts, last_post, registered, registration_ip, last_visit) VALUES(1, \''.$db->escape($username).'\', \''.pun_hash($password1).'\', \''.$email.'\', \''.$db->escape($default_lang).'\', \''.$db->escape($default_style).'\', 1, '.$now.', '.$now.', \''.$db->escape(get_remote_address()).'\', '.$now.')')
1569:         or error('Unable to add administrator user. Please check your configuration and try again', __FILE__, __LINE__, $db->error());1569:         or error('Unable to add administrator user. Please check your configuration and try again', __FILE__, __LINE__, $db->error());
1570: 1570: 
1571:     // Enable/disable avatars depending on file_uploads setting in PHP configuration1571:     // Enable/disable avatars depending on file_uploads setting in PHP configuration
1671:     $db->query('INSERT INTO '.$db_prefix.'topics (poster, subject, posted, first_post_id, last_post, last_post_id, last_poster, forum_id) VALUES(\''.$db->escape($username).'\', \''.$db->escape($subject).'\', '.$now.', 1, '.$now.', 1, \''.$db->escape($username).'\', 1)')1671:     $db->query('INSERT INTO '.$db_prefix.'topics (poster, subject, posted, first_post_id, last_post, last_post_id, last_poster, forum_id) VALUES(\''.$db->escape($username).'\', \''.$db->escape($subject).'\', '.$now.', 1, '.$now.', 1, \''.$db->escape($username).'\', 1)')
1672:         or error('Unable to insert into table '.$db_prefix.'topics. Please check your configuration and try again', __FILE__, __LINE__, $db->error());1672:         or error('Unable to insert into table '.$db_prefix.'topics. Please check your configuration and try again', __FILE__, __LINE__, $db->error());
1673: 1673: 
1674:     $db->query('INSERT INTO '.$db_prefix.'posts (poster, poster_id, poster_ip, message, posted, topic_id) VALUES(\''.$db->escape($username).'\', 2, \''.get_remote_address().'\', \''.$db->escape($message).'\', '.$now.', 1)')1674:     $db->query('INSERT INTO '.$db_prefix.'posts (poster, poster_id, poster_ip, message, posted, topic_id) VALUES(\''.$db->escape($username).'\', 2, \''.$db->escape(get_remote_address()).'\', \''.$db->escape($message).'\', '.$now.', 1)')
1675:         or error('Unable to insert into table '.$db_prefix.'posts. Please check your configuration and try again', __FILE__, __LINE__, $db->error());1675:         or error('Unable to insert into table '.$db_prefix.'posts. Please check your configuration and try again', __FILE__, __LINE__, $db->error());
1676: 1676: 
1677:     // Index the test post so searching for it works1677:     // Index the test post so searching for it works


a/lang/English/admin_categories.php b/lang/English/admin_categories.php
  1: <?php  1: <?php
  2:   2: 
  3: // Language definitions used in admin-categories.php  3: // Language definitions used in admin_categories.php
  4: $lang_admin_categories = array(  4: $lang_admin_categories = array(
  5:   5: 
  6: 'Must enter name message'        =>    'You must enter a name for the category',  6: 'Must enter name message'        =>    'You must enter a name for the category',


a/lang/English/admin_common.php b/lang/English/admin_common.php
  1: <?php  1: <?php
  2:   2: 
  3: // Language definitions used in admin_common  3: // Language definitions used in admin_common.php
  4: $lang_admin_common = array(  4: $lang_admin_common = array(
  5:   5: 
  6: // The menu  6: // The menu
 19: 'Prune'                    =>    'Prune', 19: 'Prune'                    =>    'Prune',
 20: 'Maintenance'            =>    'Maintenance', 20: 'Maintenance'            =>    'Maintenance',
 21: 'Reports'                =>    'Reports', 21: 'Reports'                =>    'Reports',
  22: 'Server statistics'                =>    'Server statistics',
 22:  23: 
 23: 'Admin'                    =>    'Admin', 24: 'Admin'                    =>    'Admin',
 24: 'Go back'                =>    'Go back', 25: 'Go back'                =>    'Go back',


a/lang/English/admin_forums.php b/lang/English/admin_forums.php
  1: <?php  1: <?php
  2:   2: 
  3: // Language definitions used in admin-forums.php  3: // Language definitions used in admin_forums.php
  4: $lang_admin_forums = array(  4: $lang_admin_forums = array(
  5:   5: 
  6: 'Forum added redirect'        =>    'Forum added. Redirecting …',  6: 'Forum added redirect'        =>    'Forum added. Redirecting …',


a/lang/English/admin_groups.php b/lang/English/admin_groups.php
  1: <?php  1: <?php
  2:   2: 
  3: // Language definitions used in admin-groups.php  3: // Language definitions used in admin_groups.php
  4: $lang_admin_groups = array(  4: $lang_admin_groups = array(
  5:   5: 
  6: 'Must enter title message'        =>    'You must enter a group title.',  6: 'Must enter title message'        =>    'You must enter a group title.',
 40: 'User title label'                =>    'User title', 40: 'User title label'                =>    'User title',
 41: 'User title help'                =>    'The rank users in this group have attained. Leave blank to use default title ("%s").', 41: 'User title help'                =>    'The rank users in this group have attained. Leave blank to use default title ("%s").',
 42: 'Promote users label'            =>    'Promote users', 42: 'Promote users label'            =>    'Promote users',
 43: 'Promote users help'            =>    'You can promote users to a new group automatically if they reach a certain number of posts. Select "%s" to disable. For security reasons, you are not allowed to select an administrator group here. Also note that group changes for users affected by this setting may only take effect after their next post.', 43: 'Promote users help'            =>    'You can promote users to a new group automatically if they reach a certain number of posts. Select "%s" to disable. For security reasons, you are not allowed to select an administrator group here. Also note that group changes for users affected by this setting may only take effect after their next post. Note that the amount of posts you enter is the total amount of posts of a user, not the amount of posts made as a member of this group.',
 44: 'Disable promotion'                =>    'Disable promoting', 44: 'Disable promotion'                =>    'Disable promoting',
 45: 'Mod privileges label'            =>    'Allow users moderator privileges', 45: 'Mod privileges label'            =>    'Allow users moderator privileges',
 46: 'Mod privileges help'            =>    'In order for a user in this group to have moderator abilities, he/she must be assigned to moderate one or more forums. This is done via the user administration page of the user\'s profile.', 46: 'Mod privileges help'            =>    'In order for a user in this group to have moderator abilities, he/she must be assigned to moderate one or more forums. This is done via the user administration page of the user\'s profile.',


a/lang/English/admin_index.php b/lang/English/admin_index.php
  7: 'Upgrade check failed message'        =>    'Check for upgrade failed for unknown reasons.',  7: 'Upgrade check failed message'        =>    'Check for upgrade failed for unknown reasons.',
  8: 'Running latest version message'    =>    'You are running the latest version of FluxBB.',  8: 'Running latest version message'    =>    'You are running the latest version of FluxBB.',
  9: 'New version available message'        =>    'A new version of FluxBB has been released. You can download the latest version at %s.',  9: 'New version available message'        =>    'A new version of FluxBB has been released. You can download the latest version at %s.',
 10: 'PHPinfo disabled message'            =>    'The PHP function phpinfo() has been disabled on this server.', 
 11: 'Not available'                        =>    'Not available', 10: 'Not available'                        =>    'Not available',
 12: 'Forum admin head'                    =>    'Forum administration', 11: 'Forum admin head'                    =>    'Forum administration',
 13: 'NA'                                =>    'N/A', 12: 'NA'                                =>    'N/A',
 21: 'Welcome 7'                            =>    'Set up user groups and promotions.', 20: 'Welcome 7'                            =>    'Set up user groups and promotions.',
 22: 'Welcome 8'                            =>    'Prune old posts.', 21: 'Welcome 8'                            =>    'Prune old posts.',
 23: 'Welcome 9'                            =>    'Handle post reports.', 22: 'Welcome 9'                            =>    'Handle post reports.',
 24: 'Statistics head'                    =>    'Statistics', 23: 'About head'                        =>    'About FluxBB',
 25: 'FluxBB version label'                =>    'FluxBB version', 24: 'FluxBB version label'                =>    'FluxBB version',
 26: 'Check for upgrade'                    =>    'Check for upgrade', 25: 'Check for upgrade'                    =>    'Check for upgrade',
 27: 'FluxBB version data'                =>    'v%s - %s', 26: 'FluxBB version data'                =>    'v%s - %s',
  27: 'Server statistics label'            =>    'Server statistics',
  28: 'View server statistics'            =>    'View server statistics',
  29: 'Support label'                        =>    'Support',
  30: 'Forum label'                        =>    'Forum',
  31: 'IRC label'                            =>    'IRC channel',
  32: 
  33: // Language definitions used in admin_statistics.php
  34: 'PHPinfo disabled message'            =>    'The PHP function phpinfo() has been disabled on this server.',
  35: 'Server statistics head'            =>    'Server statistics',
 28: 'Server load label'                    =>    'Server load', 36: 'Server load label'                    =>    'Server load',
 29: 'Server load data'                    =>    '%s - %s user(s) online', 37: 'Server load data'                    =>    '%s - %s user(s) online',
 30: 'Environment label'                    =>    'Environment', 38: 'Environment label'                    =>    'Environment',
 47: 'Database label'                    =>    'Database', 55: 'Database label'                    =>    'Database',
 48: 'Database data rows'                =>    'Rows: %s', 56: 'Database data rows'                =>    'Rows: %s',
 49: 'Database data size'                =>    'Size: %s', 57: 'Database data size'                =>    'Size: %s',
 50:  
 51: ); 58: );


a/lang/English/admin_options.php b/lang/English/admin_options.php
  1: <?php  1: <?php
  2:   2: 
  3: // Language definitions used in admin-options.php  3: // Language definitions used in admin_options.php
  4: $lang_admin_options = array(  4: $lang_admin_options = array(
  5:   5: 
  6: 'Bad HTTP Referer message'            =>    'Bad HTTP_REFERER. If you have moved these forums from one location to another or switched domains, you need to update the Base URL manually in the database (look for o_base_url in the config table) and then clear the cache by deleting all .php files in the /cache directory.',  6: 'Bad HTTP Referer message'            =>    'Bad HTTP_REFERER. If you have moved these forums from one location to another or switched domains, you need to update the Base URL manually in the database (look for o_base_url in the config table) and then clear the cache by deleting all .php files in the /cache directory.',


a/lang/English/admin_permissions.php b/lang/English/admin_permissions.php
  1: <?php  1: <?php
  2:   2: 
  3: // Language definitions used in admin-permissions.php  3: // Language definitions used in admin_permissions.php
  4: $lang_admin_permissions = array(  4: $lang_admin_permissions = array(
  5:   5: 
  6: 'Perms updated redirect'    =>    'Permissions updated. Redirecting …',  6: 'Perms updated redirect'    =>    'Permissions updated. Redirecting …',


a/lang/English/admin_users.php b/lang/English/admin_users.php
  1: <?php  1: <?php
  2:   2: 
  3: // Language definitions used in admin-users.php  3: // Language definitions used in admin_users.php
  4: $lang_admin_users = array(  4: $lang_admin_users = array(
  5:   5: 
  6: 'Non numeric message'        =>    'You entered a non-numeric value into a numeric only column.',  6: 'Non numeric message'        =>    'You entered a non-numeric value into a numeric only column.',


a/lang/English/common.php b/lang/English/common.php
 17: 'No permission'                        =>    'You do not have permission to access this page.', 17: 'No permission'                        =>    'You do not have permission to access this page.',
 18: 'Bad referrer'                        =>    'Bad HTTP_REFERER. You were referred to this page from an unauthorized source. If the problem persists please make sure that \'Base URL\' is correctly set in Admin/Options and that you are visiting the forum by navigating to that URL. More information regarding the referrer check can be found in the FluxBB documentation.', 18: 'Bad referrer'                        =>    'Bad HTTP_REFERER. You were referred to this page from an unauthorized source. If the problem persists please make sure that \'Base URL\' is correctly set in Admin/Options and that you are visiting the forum by navigating to that URL. More information regarding the referrer check can be found in the FluxBB documentation.',
 19: 'No cookie'                            =>    'You appear to have logged in successfully, however a cookie has not been set. Please check your settings and if applicable, enable cookies for this website.', 19: 'No cookie'                            =>    'You appear to have logged in successfully, however a cookie has not been set. Please check your settings and if applicable, enable cookies for this website.',
 20: 'Pun include error'                    =>    'Unable to process user include %s from template %s. There is no such file in neither the template directory nor in the user include directory.', 20: 'Pun include extension'              =>    'Unable to process user include %s from template %s. "%s" files are not allowed',
  21: 'Pun include directory'                =>    'Unable to process user include %s from template %s. Directory traversal is not allowed',
  22: 'Pun include error'                    =>    'Unable to process user include %s from template %s. There is no such file in neither the template directory nor in the user include directory',
 21:  23: 
 22: // Miscellaneous 24: // Miscellaneous
 23: 'Announcement'                        =>    'Announcement', 25: 'Announcement'                        =>    'Announcement',
 41: 'Required'                            =>    '(Required)', 43: 'Required'                            =>    '(Required)',
 42: 'required field'                    =>    'is a required field in this form.', // For javascript form validation 44: 'required field'                    =>    'is a required field in this form.', // For javascript form validation
 43: 'Last post'                            =>    'Last post', 45: 'Last post'                            =>    'Last post',
 44: 'by'                                =>    'by', // As in last post by someuser 46: 'by'                                =>    'by', // As in last post by some user
 45: 'New posts'                            =>    'New posts', // The link that leads to the first new post 47: 'New posts'                            =>    'New posts', // The link that leads to the first new post
 46: 'New posts info'                    =>    'Go to the first new post in this topic.', // The popup text for new posts links 48: 'New posts info'                    =>    'Go to the first new post in this topic.', // The popup text for new posts links
 47: 'Username'                            =>    'Username', 49: 'Username'                            =>    'Username',


a/lang/English/login.php b/lang/English/login.php
 21:  21: 
 22: // Forget password mail stuff 22: // Forget password mail stuff
 23: 'Forget mail'                =>    'An email has been sent to the specified address with instructions on how to change your password. If it does not arrive you can contact the forum administrator at', 23: 'Forget mail'                =>    'An email has been sent to the specified address with instructions on how to change your password. If it does not arrive you can contact the forum administrator at',
 24: 'Email flood'                =>    'This account has already requested a password reset in the past hour. Please wait a while before requesting a new password again.' 24: 'Email flood'                =>    'This account has already requested a password reset in the past hour. Please wait %s minutes before requesting a new password again.'
 25:  25: 
 26: ); 26: );


a/lang/English/misc.php b/lang/English/misc.php
 11: 'No email subject'                =>    'You must enter a subject.', 11: 'No email subject'                =>    'You must enter a subject.',
 12: 'No email message'                =>    'You must enter a message.', 12: 'No email message'                =>    'You must enter a message.',
 13: 'Too long email message'        =>    'Messages cannot be longer than 65535 characters (64 KB).', 13: 'Too long email message'        =>    'Messages cannot be longer than 65535 characters (64 KB).',
 14: 'Email flood'                    =>    'At least %s seconds have to pass between sent emails. Please wait a while and try sending again.', 14: 'Email flood'                    =>    'At least %s seconds have to pass between sent emails. Please wait %s seconds and try sending again.',
 15: 'Email sent redirect'            =>    'Email sent. Redirecting …', 15: 'Email sent redirect'            =>    'Email sent. Redirecting …',
 16: 'Send email to'                    =>    'Send email to', 16: 'Send email to'                    =>    'Send email to',
 17: 'Email subject'                    =>    'Subject', 17: 'Email subject'                    =>    'Subject',
 22: // Report 22: // Report
 23: 'No reason'                        =>    'You must enter a reason.', 23: 'No reason'                        =>    'You must enter a reason.',
 24: 'Reason too long'                =>    'Your message must be under 65535 bytes (~64kb).', 24: 'Reason too long'                =>    'Your message must be under 65535 bytes (~64kb).',
 25: 'Report flood'                    =>    'At least %s seconds have to pass between reports. Please wait a while and try sending again.', 25: 'Report flood'                    =>    'At least %s seconds have to pass between reports. Please wait %s seconds and try sending again.',
 26: 'Report redirect'                =>    'Post reported. Redirecting …', 26: 'Report redirect'                =>    'Post reported. Redirecting …',
 27: 'Report post'                    =>    'Report post', 27: 'Report post'                    =>    'Report post',
 28: 'Reason'                        =>    'Reason', 28: 'Reason'                        =>    'Reason',


a/lang/English/post.php b/lang/English/post.php
 26: 'Subscribe'            =>    'Subscribe to this topic', 26: 'Subscribe'            =>    'Subscribe to this topic',
 27: 'Stay subscribed'    =>    'Stay subscribed to this topic', 27: 'Stay subscribed'    =>    'Stay subscribed to this topic',
 28: 'Topic review'        =>    'Topic review (newest first)', 28: 'Topic review'        =>    'Topic review (newest first)',
 29: 'Flood start'        =>    'At least', 29: 'Flood start'        =>    'At least %s seconds have to pass between posts. Please wait %s seconds and try posting again.',
 30: 'flood end'            =>    'seconds have to pass between posts. Please wait a little while and try posting again.', 
 31: 'Preview'            =>    'Preview', // submit button to preview message 30: 'Preview'            =>    'Preview', // submit button to preview message
 32:  31: 
 33: // Edit post 32: // Edit post


a/lang/English/search.php b/lang/English/search.php
  6: // The search form  6: // The search form
  7: 'User search'                        =>    'User search',  7: 'User search'                        =>    'User search',
  8: 'No search permission'                =>    'You do not have permission to use the search feature.',  8: 'No search permission'                =>    'You do not have permission to use the search feature.',
  9: 'Search flood'                        =>    'At least %s seconds have to pass between searches. Please wait a while and try searching again.',  9: 'Search flood'                        =>    'At least %s seconds have to pass between searches. Please wait %s seconds and try searching again.',
 10: 'Search'                            =>    'Search', 10: 'Search'                            =>    'Search',
 11: 'Search criteria legend'            =>    'Enter your search criteria', 11: 'Search criteria legend'            =>    'Enter your search criteria',
 12: 'Search info'                        =>    'To search by keyword, enter a term or terms to search for. Separate terms with spaces. Use AND, OR and NOT to refine your search. To search by author enter the username of the author whose posts you wish to search for. Use wildcard character * for partial matches.', 12: 'Search info'                        =>    'To search by keyword, enter a term or terms to search for. Separate terms with spaces. Use AND, OR and NOT to refine your search. To search by author enter the username of the author whose posts you wish to search for. Use wildcard character * for partial matches.',


a/login.php b/login.php
 35:     { 35:     {
 36:         $form_password_hash = pun_hash($form_password); // Will result in a SHA-1 hash 36:         $form_password_hash = pun_hash($form_password); // Will result in a SHA-1 hash
 37:  37: 
 38:         // If there is a salt in the database we have upgraded from 1.3-legacy though havent yet logged in 38:         // If there is a salt in the database we have upgraded from 1.3-legacy though haven't yet logged in
 39:         if (!empty($cur_user['salt'])) 39:         if (!empty($cur_user['salt']))
 40:         { 40:         {
 41:             if (sha1($cur_user['salt'].sha1($form_password)) == $cur_user['password']) // 1.3 used sha1(salt.sha1(pass)) 41:             if (sha1($cur_user['salt'].sha1($form_password)) == $cur_user['password']) // 1.3 used sha1(salt.sha1(pass))
 75:         generate_users_info_cache(); 75:         generate_users_info_cache();
 76:     } 76:     }
 77:  77: 
 78:     // Remove this users guest entry from the online list 78:     // Remove this user's guest entry from the online list
 79:     $db->query('DELETE FROM '.$db->prefix.'online WHERE ident=\''.$db->escape(get_remote_address()).'\'') or error('Unable to delete from online list', __FILE__, __LINE__, $db->error()); 79:     $db->query('DELETE FROM '.$db->prefix.'online WHERE ident=\''.$db->escape(get_remote_address()).'\'') or error('Unable to delete from online list', __FILE__, __LINE__, $db->error());
 80:  80: 
 81:     $expire = ($save_pass == '1') ? time() + 1209600 : time() + $pun_config['o_timeout_visit']; 81:     $expire = ($save_pass == '1') ? time() + 1209600 : time() + $pun_config['o_timeout_visit'];
 84:     // Reset tracked topics 84:     // Reset tracked topics
 85:     set_tracked_topics(null); 85:     set_tracked_topics(null);
 86:  86: 
 87:     redirect(htmlspecialchars($_POST['redirect_url']), $lang_login['Login redirect']); 87:     redirect(pun_htmlspecialchars($_POST['redirect_url']), $lang_login['Login redirect']);
 88: } 88: }
 89:  89: 
 90:  90: 
112: else if ($action == 'forget' || $action == 'forget_2')112: else if ($action == 'forget' || $action == 'forget_2')
113: {113: {
114:     if (!$pun_user['is_guest'])114:     if (!$pun_user['is_guest'])
 115:     {
115:         header('Location: index.php');116:         header('Location: index.php');
 117:         exit;
 118:     }
116: 119: 
117:     if (isset($_POST['form_sent']))120:     if (isset($_POST['form_sent']))
118:     {121:     {
149:                 while ($cur_hit = $db->fetch_assoc($result))152:                 while ($cur_hit = $db->fetch_assoc($result))
150:                 {153:                 {
151:                     if ($cur_hit['last_email_sent'] != '' && (time() - $cur_hit['last_email_sent']) < 3600 && (time() - $cur_hit['last_email_sent']) >= 0)154:                     if ($cur_hit['last_email_sent'] != '' && (time() - $cur_hit['last_email_sent']) < 3600 && (time() - $cur_hit['last_email_sent']) >= 0)
152:                         message($lang_login['Email flood'], true);155:                         message(sprintf($lang_login['Email flood'], intval((3600 - (time() - $cur_hit['last_email_sent'])) / 60)), true);
153: 156: 
154:                     // Generate a new password and a new password activation code157:                     // Generate a new password and a new password activation code
155:                     $new_password = random_pass(8);158:                     $new_password = random_pass(8);
228: 231: 
229: 232: 
230: if (!$pun_user['is_guest'])233: if (!$pun_user['is_guest'])
 234: {
231:     header('Location: index.php');235:     header('Location: index.php');
 236:     exit;
 237: }
232: 238: 
233: // Try to determine if the data in HTTP_REFERER is valid (if not, we redirect to index.php after login)239: // Try to determine if the data in HTTP_REFERER is valid (if not, we redirect to index.php after login)
234: if (!empty($_SERVER['HTTP_REFERER']))240: if (!empty($_SERVER['HTTP_REFERER']))
257: 263: 
258: if (!isset($redirect_url))264: if (!isset($redirect_url))
259:     $redirect_url = 'index.php';265:     $redirect_url = 'index.php';
 266: else if (preg_match('%viewtopic\.php\?pid=(\d+)$%', $redirect_url, $matches))
 267:     $redirect_url .= '#p'.$matches[1];
260: 268: 
261: $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Login']);269: $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Login']);
262: $required_fields = array('req_username' => $lang_common['Username'], 'req_password' => $lang_common['Password']);270: $required_fields = array('req_username' => $lang_common['Username'], 'req_password' => $lang_common['Password']);


a/misc.php b/misc.php
111:             message($lang_misc['Too long email message']);111:             message($lang_misc['Too long email message']);
112: 112: 
113:         if ($pun_user['last_email_sent'] != '' && (time() - $pun_user['last_email_sent']) < $pun_user['g_email_flood'] && (time() - $pun_user['last_email_sent']) >= 0)113:         if ($pun_user['last_email_sent'] != '' && (time() - $pun_user['last_email_sent']) < $pun_user['g_email_flood'] && (time() - $pun_user['last_email_sent']) >= 0)
114:             message(sprintf($lang_misc['Email flood'], $pun_user['g_email_flood']));114:             message(sprintf($lang_misc['Email flood'], $pun_user['g_email_flood'], $pun_user['g_email_flood'] - (time() - $pun_user['last_email_sent'])));
115: 115: 
116:         // Load the "form email" template116:         // Load the "form email" template
117:         $mail_tpl = trim(file_get_contents(PUN_ROOT.'lang/'.$pun_user['language'].'/mail_templates/form_email.tpl'));117:         $mail_tpl = trim(file_get_contents(PUN_ROOT.'lang/'.$pun_user['language'].'/mail_templates/form_email.tpl'));
133: 133: 
134:         $db->query('UPDATE '.$db->prefix.'users SET last_email_sent='.time().' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());134:         $db->query('UPDATE '.$db->prefix.'users SET last_email_sent='.time().' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());
135: 135: 
136:         redirect(htmlspecialchars($_POST['redirect_url']), $lang_misc['Email sent redirect']);136:         redirect(pun_htmlspecialchars($_POST['redirect_url']), $lang_misc['Email sent redirect']);
137:     }137:     }
138: 138: 
139: 139: 
140:     // Try to determine if the data in HTTP_REFERER is valid (if not, we redirect to the users profile after the email is sent)140:     // Try to determine if the data in HTTP_REFERER is valid (if not, we redirect to the user's profile after the email is sent)
141:     if (!empty($_SERVER['HTTP_REFERER']))141:     if (!empty($_SERVER['HTTP_REFERER']))
142:     {142:     {
143:         $referrer = parse_url($_SERVER['HTTP_REFERER']);143:         $referrer = parse_url($_SERVER['HTTP_REFERER']);
164: 164: 
165:     if (!isset($redirect_url))165:     if (!isset($redirect_url))
166:         $redirect_url = 'profile.php?id='.$recipient_id;166:         $redirect_url = 'profile.php?id='.$recipient_id;
 167:     else if (preg_match('%viewtopic\.php\?pid=(\d+)$%', $redirect_url, $matches))
 168:         $redirect_url .= '#p'.$matches[1];
167: 169: 
168:     $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_misc['Send email to'].' '.pun_htmlspecialchars($recipient));170:     $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_misc['Send email to'].' '.pun_htmlspecialchars($recipient));
169:     $required_fields = array('req_subject' => $lang_misc['Email subject'], 'req_message' => $lang_misc['Email message']);171:     $required_fields = array('req_subject' => $lang_misc['Email subject'], 'req_message' => $lang_misc['Email message']);
219:             message($lang_misc['Reason too long']);221:             message($lang_misc['Reason too long']);
220: 222: 
221:         if ($pun_user['last_report_sent'] != '' && (time() - $pun_user['last_report_sent']) < $pun_user['g_report_flood'] && (time() - $pun_user['last_report_sent']) >= 0)223:         if ($pun_user['last_report_sent'] != '' && (time() - $pun_user['last_report_sent']) < $pun_user['g_report_flood'] && (time() - $pun_user['last_report_sent']) >= 0)
222:             message(sprintf($lang_misc['Report flood'], $pun_user['g_report_flood']));224:             message(sprintf($lang_misc['Report flood'], $pun_user['g_report_flood'], $pun_user['g_report_flood'] - (time() - $pun_user['last_report_sent'])));
223: 225: 
224:         // Get the topic ID226:         // Get the topic ID
225:         $result = $db->query('SELECT topic_id FROM '.$db->prefix.'posts WHERE id='.$post_id) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());227:         $result = $db->query('SELECT topic_id FROM '.$db->prefix.'posts WHERE id='.$post_id) or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
268: 270: 
269:         $db->query('UPDATE '.$db->prefix.'users SET last_report_sent='.time().' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());271:         $db->query('UPDATE '.$db->prefix.'users SET last_report_sent='.time().' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());
270: 272: 
271:         redirect('viewtopic.php?pid='.$post_id.'#p'.$post_id, $lang_misc['Report redirect']);273:         redirect('viewforum.php?id='.$forum_id, $lang_misc['Report redirect']);
272:     }274:     }
273: 275: 
274:     // Fetch some info about the post, the topic and the forum276:     // Fetch some info about the post, the topic and the forum


a/moderate.php b/moderate.php
710:                     </div>710:                     </div>
711:                 </fieldset>711:                 </fieldset>
712:             </div>712:             </div>
713:             <p class="buttons"><input type="submit" name="delete_topics_comply" value="<?php echo $lang_misc['Delete'] ?>" /><a href="javascript:history.go(-1)"><?php echo $lang_common['Go back'] ?></a></p>713:             <p class="buttons"><input type="submit" name="delete_topics_comply" value="<?php echo $lang_misc['Delete'] ?>" /> <a href="javascript:history.go(-1)"><?php echo $lang_common['Go back'] ?></a></p>
714:         </form>714:         </form>
715:     </div>715:     </div>
716: </div>716: </div>


a/post.php b/post.php
 61: { 61: {
 62:     // Flood protection 62:     // Flood protection
 63:     if (!isset($_POST['preview']) && $pun_user['last_post'] != '' && (time() - $pun_user['last_post']) < $pun_user['g_post_flood']) 63:     if (!isset($_POST['preview']) && $pun_user['last_post'] != '' && (time() - $pun_user['last_post']) < $pun_user['g_post_flood'])
 64:         $errors[] = $lang_post['Flood start'].' '.$pun_user['g_post_flood'].' '.$lang_post['flood end']; 64:         $errors[] = sprintf($lang_post['Flood start'], $pun_user['g_post_flood'], $pun_user['g_post_flood'] - (time() - $pun_user['last_post']));
 65:  65: 
 66:     // If it's a new topic 66:     // If it's a new topic
 67:     if ($fid) 67:     if ($fid)
108:                 $errors[] = $lang_common['Invalid email'];108:                 $errors[] = $lang_common['Invalid email'];
109: 109: 
110:             // Check if it's a banned email address110:             // Check if it's a banned email address
111:             // we should only check guests because members addresses are already verified111:             // we should only check guests because members' addresses are already verified
112:             if ($pun_user['is_guest'] && is_banned_email($email))112:             if ($pun_user['is_guest'] && is_banned_email($email))
113:             {113:             {
114:                 if ($pun_config['p_allow_banned_email'] == '0')114:                 if ($pun_config['p_allow_banned_email'] == '0')
171:                 $new_tid = $tid;171:                 $new_tid = $tid;
172: 172: 
173:                 // Insert the new post173:                 // Insert the new post
174:                 $db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_id, poster_ip, message, hide_smilies, posted, topic_id) VALUES(\''.$db->escape($username).'\', '.$pun_user['id'].', \''.get_remote_address().'\', \''.$db->escape($message).'\', '.$hide_smilies.', '.$now.', '.$tid.')') or error('Unable to create post', __FILE__, __LINE__, $db->error());174:                 $db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_id, poster_ip, message, hide_smilies, posted, topic_id) VALUES(\''.$db->escape($username).'\', '.$pun_user['id'].', \''.$db->escape(get_remote_address()).'\', \''.$db->escape($message).'\', '.$hide_smilies.', '.$now.', '.$tid.')') or error('Unable to create post', __FILE__, __LINE__, $db->error());
175:                 $new_pid = $db->insert_id();175:                 $new_pid = $db->insert_id();
176: 176: 
177:                 // To subscribe or not to subscribe, that ...177:                 // To subscribe or not to subscribe, that ...
187:             {187:             {
188:                 // It's a guest. Insert the new post188:                 // It's a guest. Insert the new post
189:                 $email_sql = ($pun_config['p_force_guest_email'] == '1' || $email != '') ? '\''.$db->escape($email).'\'' : 'NULL';189:                 $email_sql = ($pun_config['p_force_guest_email'] == '1' || $email != '') ? '\''.$db->escape($email).'\'' : 'NULL';
190:                 $db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_ip, poster_email, message, hide_smilies, posted, topic_id) VALUES(\''.$db->escape($username).'\', \''.get_remote_address().'\', '.$email_sql.', \''.$db->escape($message).'\', '.$hide_smilies.', '.$now.', '.$tid.')') or error('Unable to create post', __FILE__, __LINE__, $db->error());190:                 $db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_ip, poster_email, message, hide_smilies, posted, topic_id) VALUES(\''.$db->escape($username).'\', \''.$db->escape(get_remote_address()).'\', '.$email_sql.', \''.$db->escape($message).'\', '.$hide_smilies.', '.$now.', '.$tid.')') or error('Unable to create post', __FILE__, __LINE__, $db->error());
191:                 $new_pid = $db->insert_id();191:                 $new_pid = $db->insert_id();
192:             }192:             }
193: 193: 
293:                     $db->query('INSERT INTO '.$db->prefix.'topic_subscriptions (user_id, topic_id) VALUES('.$pun_user['id'].' ,'.$new_tid.')') or error('Unable to add subscription', __FILE__, __LINE__, $db->error());293:                     $db->query('INSERT INTO '.$db->prefix.'topic_subscriptions (user_id, topic_id) VALUES('.$pun_user['id'].' ,'.$new_tid.')') or error('Unable to add subscription', __FILE__, __LINE__, $db->error());
294: 294: 
295:                 // Create the post ("topic post")295:                 // Create the post ("topic post")
296:                 $db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_id, poster_ip, message, hide_smilies, posted, topic_id) VALUES(\''.$db->escape($username).'\', '.$pun_user['id'].', \''.get_remote_address().'\', \''.$db->escape($message).'\', '.$hide_smilies.', '.$now.', '.$new_tid.')') or error('Unable to create post', __FILE__, __LINE__, $db->error());296:                 $db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_id, poster_ip, message, hide_smilies, posted, topic_id) VALUES(\''.$db->escape($username).'\', '.$pun_user['id'].', \''.$db->escape(get_remote_address()).'\', \''.$db->escape($message).'\', '.$hide_smilies.', '.$now.', '.$new_tid.')') or error('Unable to create post', __FILE__, __LINE__, $db->error());
297:             }297:             }
298:             else298:             else
299:             {299:             {
300:                 // Create the post ("topic post")300:                 // Create the post ("topic post")
301:                 $email_sql = ($pun_config['p_force_guest_email'] == '1' || $email != '') ? '\''.$db->escape($email).'\'' : 'NULL';301:                 $email_sql = ($pun_config['p_force_guest_email'] == '1' || $email != '') ? '\''.$db->escape($email).'\'' : 'NULL';
302:                 $db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_ip, poster_email, message, hide_smilies, posted, topic_id) VALUES(\''.$db->escape($username).'\', \''.get_remote_address().'\', '.$email_sql.', \''.$db->escape($message).'\', '.$hide_smilies.', '.$now.', '.$new_tid.')') or error('Unable to create post', __FILE__, __LINE__, $db->error());302:                 $db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_ip, poster_email, message, hide_smilies, posted, topic_id) VALUES(\''.$db->escape($username).'\', \''.$db->escape(get_remote_address()).'\', '.$email_sql.', \''.$db->escape($message).'\', '.$hide_smilies.', '.$now.', '.$new_tid.')') or error('Unable to create post', __FILE__, __LINE__, $db->error());
303:             }303:             }
304:             $new_pid = $db->insert_id();304:             $new_pid = $db->insert_id();
305: 305: 
638:                         <textarea name="req_message" rows="20" cols="95" tabindex="<?php echo $cur_index++ ?>"><?php echo isset($_POST['req_message']) ? pun_htmlspecialchars($orig_message) : (isset($quote) ? $quote : ''); ?></textarea><br /></label>638:                         <textarea name="req_message" rows="20" cols="95" tabindex="<?php echo $cur_index++ ?>"><?php echo isset($_POST['req_message']) ? pun_htmlspecialchars($orig_message) : (isset($quote) ? $quote : ''); ?></textarea><br /></label>
639:                         <ul class="bblinks">639:                         <ul class="bblinks">
640:                             <li><span><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']; ?></span></li>640:                             <li><span><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']; ?></span></li>
641:                             <li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span>641:                             <li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
642:                             <li><span><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_bbcode'] == '1' && $pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>642:                             <li><span><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_bbcode'] == '1' && $pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
643:                             <li><span><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a> <?php echo ($pun_config['o_smilies'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>643:                             <li><span><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a> <?php echo ($pun_config['o_smilies'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
644:                         </ul>644:                         </ul>
647: <?php647: <?php
648: 648: 
649: $checkboxes = array();649: $checkboxes = array();
650: if ($is_admmod)650: if ($fid && $is_admmod)
651:     $checkboxes[] = '<label><input type="checkbox" name="stick_topic" value="1" tabindex="'.($cur_index++).'"'.(isset($_POST['stick_topic']) ? ' checked="checked"' : '').' />'.$lang_common['Stick topic'].'<br /></label>';651:     $checkboxes[] = '<label><input type="checkbox" name="stick_topic" value="1" tabindex="'.($cur_index++).'"'.(isset($_POST['stick_topic']) ? ' checked="checked"' : '').' />'.$lang_common['Stick topic'].'<br /></label>';
652: 652: 
653: if (!$pun_user['is_guest'])653: if (!$pun_user['is_guest'])


a/profile.php b/profile.php
 28:         message($lang_common['No permission'], false, '403 Forbidden'); 28:         message($lang_common['No permission'], false, '403 Forbidden');
 29: } 29: }
 30:  30: 
 31: // Load the profile.php/register.php language file 31: // Load the prof_reg.php language file
 32: require PUN_ROOT.'lang/'.$pun_user['language'].'/prof_reg.php'; 32: require PUN_ROOT.'lang/'.$pun_user['language'].'/prof_reg.php';
 33:  33: 
 34: // Load the profile.php language file 34: // Load the profile.php language file
 61:         } 61:         }
 62:     } 62:     }
 63:  63: 
 64:     // Make sure we are allowed to change this users password 64:     // Make sure we are allowed to change this user's password
 65:     if ($pun_user['id'] != $id) 65:     if ($pun_user['id'] != $id)
 66:     { 66:     {
 67:         if (!$pun_user['is_admmod']) // A regular user trying to change another users password? 67:         if (!$pun_user['is_admmod']) // A regular user trying to change another user's password?
 68:             message($lang_common['No permission'], false, '403 Forbidden'); 68:             message($lang_common['No permission'], false, '403 Forbidden');
 69:         else if ($pun_user['g_moderator'] == '1') // A moderator trying to change a users password? 69:         else if ($pun_user['g_moderator'] == '1') // A moderator trying to change a user's password?
 70:         { 70:         {
 71:             $result = $db->query('SELECT u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error()); 71:             $result = $db->query('SELECT u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
 72:             if (!$db->num_rows($result)) 72:             if (!$db->num_rows($result))
157: 157: 
158: else if ($action == 'change_email')158: else if ($action == 'change_email')
159: {159: {
160:     // Make sure we are allowed to change this users email160:     // Make sure we are allowed to change this user's email
161:     if ($pun_user['id'] != $id)161:     if ($pun_user['id'] != $id)
162:     {162:     {
163:         if (!$pun_user['is_admmod']) // A regular user trying to change another users email?163:         if (!$pun_user['is_admmod']) // A regular user trying to change another user's email?
164:             message($lang_common['No permission'], false, '403 Forbidden');164:             message($lang_common['No permission'], false, '403 Forbidden');
165:         else if ($pun_user['g_moderator'] == '1') // A moderator trying to change a users email?165:         else if ($pun_user['g_moderator'] == '1') // A moderator trying to change a user's email?
166:         {166:         {
167:             $result = $db->query('SELECT u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());167:             $result = $db->query('SELECT u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
168:             if (!$db->num_rows($result))168:             if (!$db->num_rows($result))
288: <div class="blockform">288: <div class="blockform">
289:     <h2><span><?php echo $lang_profile['Change email'] ?></span></h2>289:     <h2><span><?php echo $lang_profile['Change email'] ?></span></h2>
290:     <div class="box">290:     <div class="box">
291:         <form id="change_email" method="post" action="profile.php?action=change_email&amp;id=<?php echo $id ?>" id="change_email" onsubmit="return process_form(this)">291:         <form id="change_email" method="post" action="profile.php?action=change_email&amp;id=<?php echo $id ?>" onsubmit="return process_form(this)">
292:             <div class="inform">292:             <div class="inform">
293:                 <fieldset>293:                 <fieldset>
294:                     <legend><?php echo $lang_profile['Email legend'] ?></legend>294:                     <legend><?php echo $lang_profile['Email legend'] ?></legend>
677: else if (isset($_POST['form_sent']))677: else if (isset($_POST['form_sent']))
678: {678: {
679:     // Fetch the user group of the user we are editing679:     // Fetch the user group of the user we are editing
680:     $result = $db->query('SELECT u.username, u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());680:     $result = $db->query('SELECT u.username, u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u LEFT JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
681:     if (!$db->num_rows($result))681:     if (!$db->num_rows($result))
682:         message($lang_common['Bad request'], false, '404 Not Found');682:         message($lang_common['Bad request'], false, '404 Not Found');
683: 683: 
684:     list($old_username, $group_id, $is_moderator) = $db->fetch_row($result);684:     list($old_username, $group_id, $is_moderator) = $db->fetch_row($result);
685: 685: 
686:     if ($pun_user['id'] != $id &&                                                                    // If we arent the user (i.e. editing your own profile)686:     if ($pun_user['id'] != $id &&                                                                    // If we aren't the user (i.e. editing your own profile)
687:         (!$pun_user['is_admmod'] ||                                                                    // and we are not an admin or mod687:         (!$pun_user['is_admmod'] ||                                                                    // and we are not an admin or mod
688:         ($pun_user['g_id'] != PUN_ADMIN &&                                                            // or we aren't an admin and ...688:         ($pun_user['g_id'] != PUN_ADMIN &&                                                            // or we aren't an admin and ...
689:         ($pun_user['g_mod_edit_users'] == '0' ||                                                    // mods aren't allowed to edit users689:         ($pun_user['g_mod_edit_users'] == '0' ||                                                    // mods aren't allowed to edit users
1005: 1005: 
1006: 1006: 
1007: // View or edit?1007: // View or edit?
1008: if ($pun_user['id'] != $id &&                                                                    // If we arent the user (i.e. editing your own profile)1008: if ($pun_user['id'] != $id &&                                                                    // If we aren't the user (i.e. editing your own profile)
1009:     (!$pun_user['is_admmod'] ||                                                                    // and we are not an admin or mod1009:     (!$pun_user['is_admmod'] ||                                                                    // and we are not an admin or mod
1010:     ($pun_user['g_id'] != PUN_ADMIN &&                                                            // or we aren't an admin and ...1010:     ($pun_user['g_id'] != PUN_ADMIN &&                                                            // or we aren't an admin and ...
1011:     ($pun_user['g_mod_edit_users'] == '0' ||                                                    // mods aren't allowed to edit users1011:     ($pun_user['g_mod_edit_users'] == '0' ||                                                    // mods aren't allowed to edit users
1037:     {1037:     {
1038:         $user['url'] = pun_htmlspecialchars(($pun_config['o_censoring'] == '1') ? censor_words($user['url']) : $user['url']);1038:         $user['url'] = pun_htmlspecialchars(($pun_config['o_censoring'] == '1') ? censor_words($user['url']) : $user['url']);
1039:         $user_personal[] = '<dt>'.$lang_profile['Website'].'</dt>';1039:         $user_personal[] = '<dt>'.$lang_profile['Website'].'</dt>';
1040:         $user_personal[] = '<dd><span class="website"><a href="'.$user['url'].'">'.$user['url'].'</a></span></dd>';1040:         $user_personal[] = '<dd><span class="website"><a href="'.$user['url'].'" rel="nofollow">'.$user['url'].'</a></span></dd>';
1041:     }1041:     }
1042: 1042: 
1043:     if ($user['email_setting'] == '0' && !$pun_user['is_guest'] && $pun_user['g_send_email'] == '1')1043:     if ($user['email_setting'] == '0' && !$pun_user['is_guest'] && $pun_user['g_send_email'] == '1')
1535:                             </div>1535:                             </div>
1536:                             <ul class="bblinks">1536:                             <ul class="bblinks">
1537:                                 <li><span><a href="help.php#bbcode" onclick="window.open(this.href); return false;"><?php echo $lang_common['BBCode'] ?></a> <?php echo ($pun_config['p_sig_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>1537:                                 <li><span><a href="help.php#bbcode" onclick="window.open(this.href); return false;"><?php echo $lang_common['BBCode'] ?></a> <?php echo ($pun_config['p_sig_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
1538:                                 <li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_sig_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span>1538:                                 <li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_sig_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
1539:                                 <li><span><a href="help.php#img" onclick="window.open(this.href); return false;"><?php echo $lang_common['img tag'] ?></a> <?php echo ($pun_config['p_sig_bbcode'] == '1' && $pun_config['p_sig_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>1539:                                 <li><span><a href="help.php#img" onclick="window.open(this.href); return false;"><?php echo $lang_common['img tag'] ?></a> <?php echo ($pun_config['p_sig_bbcode'] == '1' && $pun_config['p_sig_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
1540:                                 <li><span><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a> <?php echo ($pun_config['o_smilies_sig'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>1540:                                 <li><span><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a> <?php echo ($pun_config['o_smilies_sig'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
1541:                             </ul>1541:                             </ul>
1624:                     <fieldset>1624:                     <fieldset>
1625:                         <legend><?php echo $lang_profile['Pagination legend'] ?></legend>1625:                         <legend><?php echo $lang_profile['Pagination legend'] ?></legend>
1626:                         <div class="infldset">1626:                         <div class="infldset">
1627:                             <label class="conl"><?php echo $lang_profile['Topics per page'] ?><br /><input type="text" name="form[disp_topics]" value="<?php echo $user['disp_topics'] ?>" size="6" maxlength="3" /><br /></label>1627:                             <label class="conl"><?php echo $lang_profile['Topics per page'] ?><br /><input type="text" name="form[disp_topics]" value="<?php echo $user['disp_topics'] ?>" size="6" maxlength="2" /><br /></label>
1628:                             <label class="conl"><?php echo $lang_profile['Posts per page'] ?><br /><input type="text" name="form[disp_posts]" value="<?php echo $user['disp_posts'] ?>" size="6" maxlength="3" /><br /></label>1628:                             <label class="conl"><?php echo $lang_profile['Posts per page'] ?><br /><input type="text" name="form[disp_posts]" value="<?php echo $user['disp_posts'] ?>" size="6" maxlength="2" /><br /></label>
1629:                             <p class="clearb"><?php echo $lang_profile['Paginate info'] ?> <?php echo $lang_profile['Leave blank'] ?></p>1629:                             <p class="clearb"><?php echo $lang_profile['Paginate info'] ?> <?php echo $lang_profile['Leave blank'] ?></p>
1630:                         </div>1630:                         </div>
1631:                     </fieldset>1631:                     </fieldset>
1783:                         if ($cur_category != 0)1783:                         if ($cur_category != 0)
1784:                             echo "\n\t\t\t\t\t\t\t".'</div>'."\n";1784:                             echo "\n\t\t\t\t\t\t\t".'</div>'."\n";
1785: 1785: 
1786:                         echo "\t\t\t\t\t\t\t".'<div class="conl">'."\n\t\t\t\t\t\t\t\t".'<p><strong>'.$cur_forum['cat_name'].'</strong></p>'."\n\t\t\t\t\t\t\t\t".'<div class="rbox">';1786:                         echo "\t\t\t\t\t\t\t".'<div class="conl">'."\n\t\t\t\t\t\t\t\t".'<p><strong>'.pun_htmlspecialchars($cur_forum['cat_name']).'</strong></p>'."\n\t\t\t\t\t\t\t\t".'<div class="rbox">';
1787:                         $cur_category = $cur_forum['cid'];1787:                         $cur_category = $cur_forum['cid'];
1788:                     }1788:                     }
1789: 1789: 


a/register.php b/register.php
 66: if (isset($_POST['form_sent'])) 66: if (isset($_POST['form_sent']))
 67: { 67: {
 68:     // Check that someone from this IP didn't register a user within the last hour (DoS prevention) 68:     // Check that someone from this IP didn't register a user within the last hour (DoS prevention)
 69:     $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()); 69:     $result = $db->query('SELECT 1 FROM '.$db->prefix.'users WHERE registration_ip=\''.$db->escape(get_remote_address()).'\' AND registered>'.(time() - 3600)) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
 70:  70: 
 71:     if ($db->num_rows($result)) 71:     if ($db->num_rows($result))
 72:         message($lang_register['Registration flood']); 72:         message($lang_register['Registration flood']);
156:         $password_hash = pun_hash($password1);156:         $password_hash = pun_hash($password1);
157: 157: 
158:         // Add the user158:         // Add the user
159:         $db->query('INSERT INTO '.$db->prefix.'users (username, group_id, password, email, email_setting, timezone, dst, language, style, registered, registration_ip, last_visit) VALUES(\''.$db->escape($username).'\', '.$intial_group_id.', \''.$password_hash.'\', \''.$db->escape($email1).'\', '.$email_setting.', '.$timezone.' , '.$dst.', \''.$db->escape($language).'\', \''.$pun_config['o_default_style'].'\', '.$now.', \''.get_remote_address().'\', '.$now.')') or error('Unable to create user', __FILE__, __LINE__, $db->error());159:         $db->query('INSERT INTO '.$db->prefix.'users (username, group_id, password, email, email_setting, timezone, dst, language, style, registered, registration_ip, last_visit) VALUES(\''.$db->escape($username).'\', '.$intial_group_id.', \''.$password_hash.'\', \''.$db->escape($email1).'\', '.$email_setting.', '.$timezone.' , '.$dst.', \''.$db->escape($language).'\', \''.$pun_config['o_default_style'].'\', '.$now.', \''.$db->escape(get_remote_address()).'\', '.$now.')') or error('Unable to create user', __FILE__, __LINE__, $db->error());
160:         $new_uid = $db->insert_id();160:         $new_uid = $db->insert_id();
161: 161: 
162:         // If the mailing list isn't empty, we may need to send out some alerts162:         // If the mailing list isn't empty, we may need to send out some alerts


a/search.php b/search.php
123:         {123:         {
124:             // Flood protection124:             // Flood protection
125:             if ($pun_user['last_search'] && (time() - $pun_user['last_search']) < $pun_user['g_search_flood'] && (time() - $pun_user['last_search']) >= 0)125:             if ($pun_user['last_search'] && (time() - $pun_user['last_search']) < $pun_user['g_search_flood'] && (time() - $pun_user['last_search']) >= 0)
126:                 message(sprintf($lang_search['Search flood'], $pun_user['g_search_flood']));126:                 message(sprintf($lang_search['Search flood'], $pun_user['g_search_flood'], $pun_user['g_search_flood'] - (time() - $pun_user['last_search'])));
127: 127: 
128:             if (!$pun_user['is_guest'])128:             if (!$pun_user['is_guest'])
129:                 $db->query('UPDATE '.$db->prefix.'users SET last_search='.time().' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());129:                 $db->query('UPDATE '.$db->prefix.'users SET last_search='.time().' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());
238:                     }238:                     }
239:                 }239:                 }
240: 240: 
241:                 // Sort the results - annoyingly array_multisort re-indexes arrays with numeric keys, so we need to split the keys out into a seperate array then combine them again after241:                 // Sort the results - annoyingly array_multisort re-indexes arrays with numeric keys, so we need to split the keys out into a separate array then combine them again after
242:                 $post_ids = array_keys($keyword_results);242:                 $post_ids = array_keys($keyword_results);
243:                 $topic_ids = array_values($keyword_results);243:                 $topic_ids = array_values($keyword_results);
244: 244: 
360:                 if (!$num_hits)360:                 if (!$num_hits)
361:                     message($lang_search['No user posts']);361:                     message($lang_search['No user posts']);
362: 362: 
363:                 // Pass on the user ID so that we can later know whos posts we're searching for363:                 // Pass on the user ID so that we can later know whose posts we're searching for
364:                 $search_type[2] = $user_id;364:                 $search_type[2] = $user_id;
365:             }365:             }
366:             // If it's a search for topics by a specific user ID366:             // If it's a search for topics by a specific user ID
372:                 if (!$num_hits)372:                 if (!$num_hits)
373:                     message($lang_search['No user topics']);373:                     message($lang_search['No user topics']);
374: 374: 
375:                 // Pass on the user ID so that we can later know whos topics we're searching for375:                 // Pass on the user ID so that we can later know whose topics we're searching for
376:                 $search_type[2] = $user_id;376:                 $search_type[2] = $user_id;
377:             }377:             }
378:             // If it's a search for subscribed topics378:             // If it's a search for subscribed topics
815:         if ($cur_forum['cid'] != $cur_category) // A new category since last iteration?815:         if ($cur_forum['cid'] != $cur_category) // A new category since last iteration?
816:         {816:         {
817:             if ($cur_category)817:             if ($cur_category)
 818:             {
 819:                 echo "\t\t\t\t\t\t\t\t".'</div>'."\n";
818:                 echo "\t\t\t\t\t\t\t".'</fieldset>'."\n";820:                 echo "\t\t\t\t\t\t\t".'</fieldset>'."\n";
819: 821:             }
 822:             
820:             echo "\t\t\t\t\t\t\t".'<fieldset><legend><span>'.pun_htmlspecialchars($cur_forum['cat_name']).'</span></legend>'."\n";823:             echo "\t\t\t\t\t\t\t".'<fieldset><legend><span>'.pun_htmlspecialchars($cur_forum['cat_name']).'</span></legend>'."\n";
 824:             echo "\t\t\t\t\t\t\t\t".'<div class="rbox">';
821:             $cur_category = $cur_forum['cid'];825:             $cur_category = $cur_forum['cid'];
822:         }826:         }
823: 827: 
824:         echo "\t\t\t\t\t\t\t\t".'<div class="checklist-item"><span class="fld-input"><input type="checkbox" name="forums[]" id="forum-'.$cur_forum['fid'].'" value="'.$cur_forum['fid'].'" /></span> <label for="forum-'.$cur_forum['fid'].'">'.pun_htmlspecialchars($cur_forum['forum_name']).'</label></div>'."\n";828:         echo "\t\t\t\t\t\t\t\t".'<label><input type="checkbox" name="forums[]" id="forum-'.$cur_forum['fid'].'" value="'.$cur_forum['fid'].'" />'.pun_htmlspecialchars($cur_forum['forum_name']).'</label>'."\n";
825:     }829:     }
826: 830: 
827:     echo "\t\t\t\t\t\t\t".'</fieldset>'."\n";831:     if ($cur_category)
 832:     {
 833:         echo "\t\t\t\t\t\t\t\t".'</div>'."\n";
 834:         echo "\t\t\t\t\t\t\t".'</fieldset>'."\n";
 835:     }
 836:     
828:     echo "\t\t\t\t\t\t".'</div>'."\n";837:     echo "\t\t\t\t\t\t".'</div>'."\n";
829:     echo "\t\t\t\t\t\t".'</div>'."\n";838:     echo "\t\t\t\t\t\t".'</div>'."\n";
830: }839: }


a/style/Air.css b/style/Air.css
 22: .pun select { 22: .pun select {
 23:     padding-bottom: 1px; 23:     padding-bottom: 1px;
 24:     padding-top: 1px; 24:     padding-top: 1px;
  25:     padding-right: 1px;
 25: } 26: }
 26:  27: 
 27: /* Content Defaults 28: /* Content Defaults
424: /* Breadcrumbs, Postlink, Pagination425: /* Breadcrumbs, Postlink, Pagination
425: ----------------------------------------------------------------*/426: ----------------------------------------------------------------*/
426: 427: 
427: .pun .linkst .inbox, .pun linksb .inbox, .pun .postlinksb .inbox {428: .pun .linkst .inbox, .pun .linksb .inbox, .pun .postlinksb .inbox {
428:     overflow: hidden;429:     overflow: hidden;
429: }430: }
430: 431: 
1304:     max-width: 25em;1305:     max-width: 25em;
1305: }1306: }
1306: 1307: 
1307: .pun .checklist .checklist-item { 
1308:     position: relative; 
1309: } 
1310:  
1311: .pun .checklist .checklist-item label { 
1312:     padding: 0 0 0 1.75em; 
1313: } 
1314:  
1315: .pun .checklist .checklist-item .fld-input { 
1316:     position: absolute; 
1317:     left: 0; 
1318:     top: 0; 
1319:     padding: 0; 
1320:     margin: 0; 
1321: } 
1322:  
1323: .pun .checklist .checklist-item input { 
1324:     margin: 0; 
1325:     height: 1.55em; 
1326:     width: 1.55em; 
1327: } 
1328:  
1329: /*****************************************************************1308: /*****************************************************************
1330: PROFILES (+ ADMIN MENU)1309: PROFILES (+ ADMIN MENU)
1331: *****************************************************************/1310: *****************************************************************/


a/style/Air/base_admin.css b/style/Air/base_admin.css
 34:     display: inline-block; 34:     display: inline-block;
 35: } 35: }
 36:  36: 
 37: #adminconsole fieldset tbody th { 37: #adminconsole fieldset th {
 38:     width: 15em; 38:     width: 15em;
 39:     font-weight: normal; 39:     font-weight: normal;
 40:     padding-right: 8px; 40:     padding-right: 8px;


a/style/Cobalt.css b/style/Cobalt.css
689:     max-width: 25em;689:     max-width: 25em;
690:     }690:     }
691: 691: 
692: .pun .checklist .checklist-item { 
693:     position: relative; 
694:     margin: .2em 0; 
695:     } 
696:  
697: .pun .checklist .checklist-item label { 
698:     padding: 0 0 0 2.1em; 
699:     } 
700:  
701: .pun .checklist .checklist-item .fld-input { 
702:     position: absolute; 
703:     left: 0; 
704:     top: 0; 
705:     padding: 0; 
706:     margin: 0; 
707:     } 
708:  
709: .pun .checklist .checklist-item input { 
710:     margin: 0; 
711:     height: 1.15em; 
712:     width: 1.55em; 
713:     } 
714:  
715: /*****************************************************************692: /*****************************************************************
716: 7. PROFILES AND ADMIN693: 7. PROFILES AND ADMIN
717: *****************************************************************/694: *****************************************************************/


a/style/Earth.css b/style/Earth.css
 22: .pun select { 22: .pun select {
 23:     padding-bottom: 1px; 23:     padding-bottom: 1px;
 24:     padding-top: 1px; 24:     padding-top: 1px;
  25:     padding-right: 1px;
 25: } 26: }
 26:  27: 
 27: /* Content Defaults 28: /* Content Defaults
423: /* Breadcrumbs, Postlink, Pagination424: /* Breadcrumbs, Postlink, Pagination
424: ----------------------------------------------------------------*/425: ----------------------------------------------------------------*/
425: 426: 
426: .pun .linkst .inbox, .pun linksb .inbox, .pun .postlinksb .inbox {427: .pun .linkst .inbox, .pun .linksb .inbox, .pun .postlinksb .inbox {
427:     overflow: hidden;428:     overflow: hidden;
428: }429: }
429: 430: 
1303:     max-width: 25em;1304:     max-width: 25em;
1304: }1305: }
1305: 1306: 
1306: .pun .checklist .checklist-item { 
1307:     position: relative; 
1308: } 
1309:  
1310: .pun .checklist .checklist-item label { 
1311:     padding: 0 0 0 1.75em; 
1312: } 
1313:  
1314: .pun .checklist .checklist-item .fld-input { 
1315:     position: absolute; 
1316:     left: 0; 
1317:     top: 0; 
1318:     padding: 0; 
1319:     margin: 0; 
1320: } 
1321:  
1322: .pun .checklist .checklist-item input { 
1323:     margin: 0; 
1324:     height: 1.55em; 
1325:     width: 1.55em; 
1326: } 
1327:  
1328: /*****************************************************************1307: /*****************************************************************
1329: PROFILES (+ ADMIN MENU)1308: PROFILES (+ ADMIN MENU)
1330: *****************************************************************/1309: *****************************************************************/


a/style/Earth/base_admin.css b/style/Earth/base_admin.css
 34:     display: inline-block; 34:     display: inline-block;
 35: } 35: }
 36:  36: 
 37: #adminconsole fieldset tbody th { 37: #adminconsole fieldset th {
 38:     width: 15em; 38:     width: 15em;
 39:     font-weight: normal; 39:     font-weight: normal;
 40:     padding-right: 8px; 40:     padding-right: 8px;


a/style/Fire.css b/style/Fire.css
 22: .pun select { 22: .pun select {
 23:     padding-bottom: 1px; 23:     padding-bottom: 1px;
 24:     padding-top: 1px; 24:     padding-top: 1px;
  25:     padding-right: 1px;
 25: } 26: }
 26:  27: 
 27: /* Content Defaults 28: /* Content Defaults
423: /* Breadcrumbs, Postlink, Pagination424: /* Breadcrumbs, Postlink, Pagination
424: ----------------------------------------------------------------*/425: ----------------------------------------------------------------*/
425: 426: 
426: .pun .linkst .inbox, .pun linksb .inbox, .pun .postlinksb .inbox {427: .pun .linkst .inbox, .pun .linksb .inbox, .pun .postlinksb .inbox {
427:     overflow: hidden;428:     overflow: hidden;
428: }429: }
429: 430: 
1303:     max-width: 25em;1304:     max-width: 25em;
1304: }1305: }
1305: 1306: 
1306: .pun .checklist .checklist-item { 
1307:     position: relative; 
1308: } 
1309:  
1310: .pun .checklist .checklist-item label { 
1311:     padding: 0 0 0 1.75em; 
1312: } 
1313:  
1314: .pun .checklist .checklist-item .fld-input { 
1315:     position: absolute; 
1316:     left: 0; 
1317:     top: 0; 
1318:     padding: 0; 
1319:     margin: 0; 
1320: } 
1321:  
1322: .pun .checklist .checklist-item input { 
1323:     margin: 0; 
1324:     height: 1.55em; 
1325:     width: 1.55em; 
1326: } 
1327:  
1328: /*****************************************************************1307: /*****************************************************************
1329: PROFILES (+ ADMIN MENU)1308: PROFILES (+ ADMIN MENU)
1330: *****************************************************************/1309: *****************************************************************/


a/style/Fire/base_admin.css b/style/Fire/base_admin.css
 34:     display: inline-block; 34:     display: inline-block;
 35: } 35: }
 36:  36: 
 37: #adminconsole fieldset tbody th { 37: #adminconsole fieldset th {
 38:     width: 15em; 38:     width: 15em;
 39:     font-weight: normal; 39:     font-weight: normal;
 40:     padding-right: 8px; 40:     padding-right: 8px;


a/style/Lithium.css b/style/Lithium.css
689:     max-width: 25em;689:     max-width: 25em;
690:     }690:     }
691: 691: 
692: .pun .checklist .checklist-item { 
693:     position: relative; 
694:     margin: .2em 0; 
695:     } 
696:  
697: .pun .checklist .checklist-item label { 
698:     padding: 0 0 0 2.1em; 
699:     } 
700:  
701: .pun .checklist .checklist-item .fld-input { 
702:     position: absolute; 
703:     left: 0; 
704:     top: 0; 
705:     padding: 0; 
706:     margin: 0; 
707:     } 
708:  
709: .pun .checklist .checklist-item input { 
710:     margin: 0; 
711:     height: 1.15em; 
712:     width: 1.55em; 
713:     } 
714:  
715: /*****************************************************************692: /*****************************************************************
716: 7. PROFILES AND ADMIN693: 7. PROFILES AND ADMIN
717: *****************************************************************/694: *****************************************************************/


a/style/Mercury.css b/style/Mercury.css
689:     max-width: 25em;689:     max-width: 25em;
690:     }690:     }
691: 691: 
692: .pun .checklist .checklist-item { 
693:     position: relative; 
694:     margin: .2em 0; 
695:     } 
696:  
697: .pun .checklist .checklist-item label { 
698:     padding: 0 0 0 2.1em; 
699:     } 
700:  
701: .pun .checklist .checklist-item .fld-input { 
702:     position: absolute; 
703:     left: 0; 
704:     top: 0; 
705:     padding: 0; 
706:     margin: 0; 
707:     } 
708:  
709: .pun .checklist .checklist-item input { 
710:     margin: 0; 
711:     height: 1.15em; 
712:     width: 1.55em; 
713:     } 
714:  
715: /*****************************************************************692: /*****************************************************************
716: 7. PROFILES AND ADMIN693: 7. PROFILES AND ADMIN
717: *****************************************************************/694: *****************************************************************/


a/style/Oxygen.css b/style/Oxygen.css
690:     max-width: 25em;690:     max-width: 25em;
691:     }691:     }
692: 692: 
693: .pun .checklist .checklist-item { 
694:     position: relative; 
695:     margin: .2em 0; 
696:     } 
697:  
698: .pun .checklist .checklist-item label { 
699:     padding: 0 0 0 2.1em; 
700:     } 
701:  
702: .pun .checklist .checklist-item .fld-input { 
703:     position: absolute; 
704:     left: 0; 
705:     top: 0; 
706:     padding: 0; 
707:     margin: 0; 
708:     } 
709:  
710: .pun .checklist .checklist-item input { 
711:     margin: 0; 
712:     height: 1.15em; 
713:     width: 1.55em; 
714:     } 
715:  
716: /*****************************************************************693: /*****************************************************************
717: 7. PROFILES AND ADMIN694: 7. PROFILES AND ADMIN
718: *****************************************************************/695: *****************************************************************/


a/style/Radium.css b/style/Radium.css
689:     max-width: 25em;689:     max-width: 25em;
690:     }690:     }
691: 691: 
692: .pun .checklist .checklist-item { 
693:     position: relative; 
694:     margin: .2em 0; 
695:     } 
696:  
697: .pun .checklist .checklist-item label { 
698:     padding: 0 0 0 2.1em; 
699:     } 
700:  
701: .pun .checklist .checklist-item .fld-input { 
702:     position: absolute; 
703:     left: 0; 
704:     top: 0; 
705:     padding: 0; 
706:     margin: 0; 
707:     } 
708:  
709: .pun .checklist .checklist-item input { 
710:     margin: 0; 
711:     height: 1.15em; 
712:     width: 1.55em; 
713:     } 
714:  
715: /*****************************************************************692: /*****************************************************************
716: 7. PROFILES AND ADMIN693: 7. PROFILES AND ADMIN
717: *****************************************************************/694: *****************************************************************/


a/style/Sulfur.css b/style/Sulfur.css
689:     max-width: 25em;689:     max-width: 25em;
690:     }690:     }
691: 691: 
692: .pun .checklist .checklist-item { 
693:     position: relative; 
694:     margin: .2em 0; 
695:     } 
696:  
697: .pun .checklist .checklist-item label { 
698:     padding: 0 0 0 2.1em; 
699:     } 
700:  
701: .pun .checklist .checklist-item .fld-input { 
702:     position: absolute; 
703:     left: 0; 
704:     top: 0; 
705:     padding: 0; 
706:     margin: 0; 
707:     } 
708:  
709: .pun .checklist .checklist-item input { 
710:     margin: 0; 
711:     height: 1.15em; 
712:     width: 1.55em; 
713:     } 
714:  
715: /*****************************************************************692: /*****************************************************************
716: 7. PROFILES AND ADMIN693: 7. PROFILES AND ADMIN
717: *****************************************************************/694: *****************************************************************/


a/style/Technetium.css b/style/Technetium.css
  1: /*****************************************************************  1: /*****************************************************************
  2: Technitium theme CSS  2: Technitium theme CSS
  3:  
  4: Yes, it is valid CSS 3, but unfortunately border-radius doesn't seem to work correctly in my Firefox version so I have to give it the moz versions, which break the validator. Sorry. 
  5: *****************************************************************/  3: *****************************************************************/
  6:   4: 
  7: /*****************************************************************  5: /*****************************************************************
 17:     margin: 0; 15:     margin: 0;
 18:     padding: 0; 16:     padding: 0;
 19:     border: 0; 17:     border: 0;
 20:     } 18: }
 21:  19: 
 22: .pun ul, .pun ol { 20: .pun ul, .pun ol {
 23:     list-style: none 21:     list-style: none
 24:     } 22: }
 25:  23: 
 26:  24: 
 27: /* Structural Settings 25: /* Structural Settings
 34: .pun { 32: .pun {
 35:     width: 95%; 33:     width: 95%;
 36:     margin: 0 auto; 34:     margin: 0 auto;
 37:     } 35: }
 38:  36: 
 39: .pun .clearer, .pun .nosize { 37: .pun .clearer, .pun .nosize {
 40:     height: 0; 38:     height: 0;
 42:     line-height: 0; 40:     line-height: 0;
 43:     font-size: 0; 41:     font-size: 0;
 44:     overflow: hidden 42:     overflow: hidden
 45:     } 43: }
 46:  44: 
 47: .pun .clearer, .pun .clearb { 45: .pun .clearer, .pun .clearb {
 48:     clear: both 46:     clear: both
 49:     } 47: }
 50:  48: 
 51: .pun .nosize { 49: .pun .nosize {
 52:     position: absolute; 50:     position: absolute;
 53:     left: -9999em; 51:     left: -9999em;
 54:     text-indent: -9999em; 52:     text-indent: -9999em;
 55:     width: 0; 53:     width: 0;
 56:     } 54: }
 57:  55: 
 58: * html .inbox, * html .inform, * html .pun, * html .tclcon, * html .codebox { 56: * html .inbox, * html .inform, * html .pun, * html .tclcon, * html .codebox {
 59:     height: 1px 57:     height: 1px
 60:     } 58: }
 61:  59: 
 62: .pun, .pun .inbox, .pun .inform, .pun .tclcon, .pun .codebox { 60: .pun, .pun .inbox, .pun .inform, .pun .tclcon, .pun .codebox {
 63:     min-height: 1px 61:     min-height: 1px
 64:     } 62: }
 65:  63: 
 66: .clearl { 64: .clearl {
 67:     clear: left; 65:     clear: left;
 68:     } 66: }
 69:  67: 
 70: /* Hidden Elements 68: /* Hidden Elements
 71: ----------------------------------------------------------------*/ 69: ----------------------------------------------------------------*/
 78:     width: 0; 76:     width: 0;
 79:     left: -9999em; 77:     left: -9999em;
 80:     text-indent: -9999em; 78:     text-indent: -9999em;
 81:     } 79: }
 82:  80: 
 83: /***************************************************************** 81: /*****************************************************************
 84: 2. TEXT & CONTENT 82: 2. TEXT & CONTENT
 89:  87: 
 90: .pun { 88: .pun {
 91:     font: 10pt Georgia, Times, "Times New Roman", serif 89:     font: 10pt Georgia, Times, "Times New Roman", serif
 92:     } 90: }
 93:  91: 
 94: .pun table, .pun td, .pun th, .pun input, .pun select, .pun optgroup, .pun textarea, .pun samp, .pun legend { 92: .pun table, .pun td, .pun th, .pun input, .pun select, .pun optgroup, .pun textarea, .pun samp, .pun legend {
 95:     font-size: 1em; 93:     font-size: 1em;
 96:     font-family: Georgia, Times, "Times New Roman", serif; 94:     font-family: Georgia, Times, "Times New Roman", serif;
 97:     } 95: }
 98:  96: 
 99: .pun pre, .pun code { 97: .pun pre, .pun code {
100:     font-size: 1.182em; 98:     font-size: 1.182em;
101:     font-family: consolas, monaco, "bitstream vera sans mono", "courier new", courier, monospace 99:     font-family: consolas, monaco, "bitstream vera sans mono", "courier new", courier, monospace
102:     }100: }
103: 101: 
104: .pun pre code {102: .pun pre code {
105:     font-size: 1em;103:     font-size: 1em;
106:     }104: }
107: 105: 
108: .pun strong {106: .pun strong {
109:     font-weight: bold;107:     font-weight: bold;
110:     }108: }
111: 109: 
112: .pun em {110: .pun em {
113:     font-style: italic;111:     font-style: italic;
114:     }112: }
115: 113: 
116: #vf td {114: #vf td {
117:     font-size: 1.1em;115:     font-size: 1.1em;
118:     }116: }
119: 117: 
120: 118: 
121: /* Content Defaults119: /* Content Defaults
124: .pun p, .pun ul, .pun ol, .pun dl {122: .pun p, .pun ul, .pun ol, .pun dl {
125:     font-size: 1em;123:     font-size: 1em;
126:     padding: 3px 0;124:     padding: 3px 0;
127:     }125: }
128: 126: 
129: .pun h2 {127: .pun h2 {
130:     font-size: 1.5em;128:     font-size: 1.5em;
131:     font-weight: normal;129:     font-weight: normal;
132:     padding: 4px 6px;130:     padding: 4px 6px;
133:     padding: 6px;131:     padding: 6px;
134:     -moz-border-radius-topleft: 0.3em;132:     border-radius: 0.3em 0.3em 0 0;
135:     -moz-border-radius-topright: 0.3em;133: }
136:     -webkit-border-top-left-radius: 0.3em; 
137:     -webkit-border-top-right-radius: 0.3em; 
138:     } 
139: 134: 
140: .pun h2 #brdmenu {135: .pun h2 #brdmenu {
141:     font-size: 1.1em;136:     font-size: 1.1em;
142:     }137: }
143: 138: 
144: .pun .blockpost h2 {139: .pun .blockpost h2 {
145:     font-size: 1.0em;140:     font-size: 1.0em;
146:     padding: 8px;141:     padding: 8px;
147:     }142: }
148: 143: 
149: .pun h3 {144: .pun h3 {
150:     font-size: 1.091em;145:     font-size: 1.091em;
151:     padding: 3px 0;146:     padding: 3px 0;
152:     }147: }
153: 148: 
154: .pun table p, .pun table h3 {149: .pun table p, .pun table h3 {
155:     padding: 0;150:     padding: 0;
156:     }151: }
157: 152: 
158: .pun span.warntext, .pun p.warntext {153: .pun span.warntext, .pun p.warntext {
159:     font-weight: bold154:     font-weight: bold
160:     }155: }
161: 156: 
162: .pun .postleft dl dt {157: .pun .postleft dl dt {
163:     font-size: 1.4em;158:     font-size: 1.4em;
164:     }159: }
165: 160: 
166: /* User Content (Announcements, Rules, Posts)161: /* User Content (Announcements, Rules, Posts)
167: ----------------------------------------------------------------*/162: ----------------------------------------------------------------*/
169: .pun .usercontent p, .pun .postmsg p {164: .pun .usercontent p, .pun .postmsg p {
170:     padding: 0.5em 0;165:     padding: 0.5em 0;
171:     line-height: 1.6em;166:     line-height: 1.6em;
172:     }167: }
173: 168: 
174: .pun .usercontent ul, .pun .postmsg ul {169: .pun .usercontent ul, .pun .postmsg ul {
175:     padding: 0.75em 1em 0.75em 2.5em;170:     padding: 0.75em 1em 0.75em 2.5em;
176:     list-style: disc171:     list-style: disc
177:     }172: }
178: 173: 
179: .pun .usercontent ol, .pun .postmsg ol {174: .pun .usercontent ol, .pun .postmsg ol {
180:     padding: 0.75em 1em 0.75em 2.5em;175:     padding: 0.75em 1em 0.75em 2.5em;
181:     list-style: decimal176:     list-style: decimal
182:     }177: }
183: 178: 
184: .pun .usercontent ol.alpha, .pun .postmsg ol.alpha {179: .pun .usercontent ol.alpha, .pun .postmsg ol.alpha {
185:     list-style: lower-alpha180:     list-style: lower-alpha
186:     }181: }
187: 182: 
188: .pun .usercontent li ol, .pun .usercontent li ul, .pun .postmsg li ol, .pun .postmsg li ul {183: .pun .usercontent li ol, .pun .usercontent li ul, .pun .postmsg li ol, .pun .postmsg li ul {
189:     padding: 0.25em 1em 0.75em 2.5em184:     padding: 0.25em 1em 0.75em 2.5em
190:     }185: }
191: 186: 
192: .pun .usercontent li p, .pun .postmsg li p {187: .pun .usercontent li p, .pun .postmsg li p {
193:     padding: 0188:     padding: 0
194:     }189: }
195: 190: 
196: .pun .usercontent h1 {191: .pun .usercontent h1 {
197:     font-size: 1.4em;192:     font-size: 1.4em;
198:     font-weight: bold;193:     font-weight: bold;
199:     padding: 0.75em 0 0 0194:     padding: 0.75em 0 0 0
200:     }195: }
201: 196: 
202: .pun .usercontent h2 {197: .pun .usercontent h2 {
203:     font-size: 1.2em;198:     font-size: 1.2em;
204:     font-weight: bold;199:     font-weight: bold;
205:     padding: 0.75em 0 0 0200:     padding: 0.75em 0 0 0
206:     }201: }
207: 202: 
208: .pun .usercontent h3 {203: .pun .usercontent h3 {
209:     font-size: 1.1em;204:     font-size: 1.1em;
210:     font-weight: bold;205:     font-weight: bold;
211:     padding: 0.75em 0 0 0206:     padding: 0.75em 0 0 0
212:     }207: }
213: 208: 
214: .pun .usercontent h4, .pun .usercontent h5, .pun .usercontent h6 {209: .pun .usercontent h4, .pun .usercontent h5, .pun .usercontent h6 {
215:     font-size: 1em;210:     font-size: 1em;
216:     font-weight: bold;211:     font-weight: bold;
217:     padding: 0.75em 0 0 0212:     padding: 0.75em 0 0 0
218:     }213: }
219: 214: 
220: .pun .quotebox cite {215: .pun .quotebox cite {
221:     font-weight: bold;216:     font-weight: bold;
222:     font-style: normal;217:     font-style: normal;
223:     padding: 0.75em 0.75em 0 0.75em218:     padding: 0.75em 0.75em 0 0.75em
224:     }219: }
225: 220: 
226: .pun span.bbu {221: .pun span.bbu {
227:     text-decoration: underline222:     text-decoration: underline
228:     }223: }
229: 224: 
230: .pun span.bbs, .pun del {225: .pun span.bbs, .pun del {
231:     text-decoration: line-through;226:     text-decoration: line-through;
232:     }227: }
233: 228: 
234: .pun .postmsg ins, #punhelp samp ins {229: .pun .postmsg ins, #punhelp samp ins {
235:     text-decoration: none;230:     text-decoration: none;
236:     }231: }
237: 232: 
238: .pun div.postmsg h5, #punhelp h5 {233: .pun div.postmsg h5, #punhelp h5 {
239:     font-size: 1.1em;234:     font-size: 1.1em;
240:     font-weight: bold;235:     font-weight: bold;
241:     padding: 0.75em 0 0 0;236:     padding: 0.75em 0 0 0;
242:     }237: }
243: 238: 
244: /*****************************************************************239: /*****************************************************************
245: 3. COMMON STYLES240: 3. COMMON STYLES
250: 245: 
251: .pun {246: .pun {
252:     margin: 12px 20px247:     margin: 12px 20px
253:     }248: }
254: 249: 
255: #punredirect, #punmaint, #puninstall, #pundb_update {250: #punredirect, #punmaint, #puninstall, #pundb_update {
256:     margin: 50px 20% 12px 20%;251:     margin: 50px 20% 12px 20%;
257:     width: auto;252:     width: auto;
258:     }253: }
259: 254: 
260: 255: 
261: /* Vertical Element Spacing256: /* Vertical Element Spacing
263: 258: 
264: #brdheader {259: #brdheader {
265:     margin: 0 0 12px 0;260:     margin: 0 0 12px 0;
266:     }261: }
267: 262: 
268: #announce, #brdstats {263: #announce, #brdstats {
269:     margin: 12px 0 12px 0;264:     margin: 12px 0 12px 0;
270:     }265: }
271: 266: 
272: .pun .blocktable, .pun .block, .pun .blockform, .pun .block2col, #postreview {267: .pun .blocktable, .pun .block, .pun .blockform, .pun .block2col, #postreview {
273:     margin-bottom: 12px268:     margin-bottom: 12px
274:     }269: }
275: 270: 
276: #punindex .blocktable, .pun .blockpost {271: #punindex .blocktable, .pun .blockpost {
277:     margin-bottom: 6px272:     margin-bottom: 6px
278:     }273: }
279: 274: 
280: #postreview .box {275: #postreview .box {
281:     margin-bottom: 3px;276:     margin-bottom: 3px;
282:     }277: }
283: 278: 
284: .pun .block2col .blockform, .pun .block2col .block {279: .pun .block2col .blockform, .pun .block2col .block {
285:     margin-bottom: 0px280:     margin-bottom: 0px
286:     }281: }
287: 282: 
288: .pun .linkst, .pun .linksb {283: .pun .linkst, .pun .linksb {
289:     margin-top: -12px284:     margin-top: -12px
290:     }285: }
291: 286: 
292: .pun .postlinksb {287: .pun .postlinksb {
293:     margin-top: -6px288:     margin-top: -6px
294:     }289: }
295: 290: 
296: 291: 
297: /* External Borders292: /* External Borders
300: .pun .box {295: .pun .box {
301:     border-style: solid;296:     border-style: solid;
302:     border-width: 1px;297:     border-width: 1px;
303:     }298: }
304: 299: 
305: 300: 
306: .pun h2 {301: .pun h2 {
315: 310: 
316: .pun .block .inbox, .pun .blockmenu .inbox {311: .pun .block .inbox, .pun .blockmenu .inbox {
317:     padding: 3px 6px312:     padding: 3px 6px
318:     }313: }
319: 314: 
320: /*****************************************************************315: /*****************************************************************
321: 4. COMMON BOARD ELEMENTS316: 4. COMMON BOARD ELEMENTS
328:     font-size: 1.5em;323:     font-size: 1.5em;
329:     line-height: 1.1em;324:     line-height: 1.1em;
330:     padding: 3px 0 0 0;325:     padding: 3px 0 0 0;
331:     }326: }
332: 327: 
333: #brdmenu {328: #brdmenu {
334:     font-size:1.2em;329:     font-size:1.2em;
335:     }330: }
336: 331: 
337: #brddesc {332: #brddesc {
338:     padding: 3px 0;333:     padding: 3px 0;
339:     }334: }
340: 335: 
341: #brddesc * {336: #brddesc * {
342:     padding-top: 0;337:     padding-top: 0;
343:     padding-bottom: 0;338:     padding-bottom: 0;
344:     }339: }
345: 340: 
346: 341: 
347: #brdmenu li {342: #brdmenu li {
349:     margin-right: 10px;344:     margin-right: 10px;
350:     margin-top: 12px;345:     margin-top: 12px;
351:     margin-bottom: 12px;346:     margin-bottom: 12px;
352:     }347: }
353: 348: 
354: 349: 
355: #brdmenu a:link, #brdmenu a:visited {350: #brdmenu a:link, #brdmenu a:visited {
356:     text-decoration: none;351:     text-decoration: none;
357:     text-shadow: #FFF 1px -1px 0.4em;352:     text-shadow: #FFF 1px -1px 0.4em;
358:     padding: 0.2em;353:     padding: 0.2em;
359:     }354: }
360: 355: 
361: #brdwelcome .conl {356: #brdwelcome .conl {
362:     float: left;357:     float: left;
363:     white-space: nowrap;358:     white-space: nowrap;
364:     }359: }
365: 360: 
366: #brdwelcome li {361: #brdwelcome li {
367:     float:left;362:     float:left;
371: 366: 
372: #brdwelcome .conl li strong:after {367: #brdwelcome .conl li strong:after {
373:     content: '.'368:     content: '.'
374:     }369: }
375: 370: 
376: #brdwelcome .conr {371: #brdwelcome .conr {
377:     float: right;372:     float: right;
378:     text-align: right;373:     text-align: right;
379:     }374: }
380: 375: 
381: #brdwelcome .conr li {376: #brdwelcome .conr li {
382:     float: right;377:     float: right;
383:     text-align: right;378:     text-align: right;
384:     }379: }
385: 380: 
386: /* Breadcrumbs and Post Links381: /* Breadcrumbs and Post Links
387: ----------------------------------------------------------------*/382: ----------------------------------------------------------------*/
388: 383: 
389: .pun .linkst {384: .pun .linkst {
390:     padding: 8px 6px 3px 6px385:     padding: 8px 6px 3px 6px
391:     }386: }
392: 387: 
393: .pun .linksb, .pun .postlinksb {388: .pun .linksb, .pun .postlinksb {
394:     padding: 3px 6px 8px 6px389:     padding: 3px 6px 8px 6px
395:     }390: }
396: 391: 
397: .pun .crumbs {392: .pun .crumbs {
398:     clear: both;393:     clear: both;
399:     width: 100%;394:     width: 100%;
400:     overflow: hidden;395:     overflow: hidden;
401:     }396: }
402: 397: 
403: .pun .crumbs li {398: .pun .crumbs li {
404:     display: inline;399:     display: inline;
405:     white-space: nowrap;400:     white-space: nowrap;
406:     font-weight: bold;401:     font-weight: bold;
407:     }402: }
408: 403: 
409: .pun .linkst .crumbs {404: .pun .linkst .crumbs {
410:     font-size: 1.3em;405:     font-size: 1.3em;
411:     }406: }
412: 407: 
413: .pun .pagelink {408: .pun .pagelink {
414:     float: left;409:     float: left;
415:     display: block;410:     display: block;
416:     white-space: normal;411:     white-space: normal;
417:     }412: }
418: 413: 
419: .pun .postlink {414: .pun .postlink {
420:     font-size: 1.1em;415:     font-size: 1.1em;
421:     font-weight: bold;416:     font-weight: bold;
422:     white-space: wrap;417:     white-space: wrap;
423:     text-decoration: none;418:     text-decoration: none;
424:     }419: }
425: 420: 
426: .pun .linkst .postlink {421: .pun .linkst .postlink {
427:     position: relative;422:     position: relative;
428:     margin-top: -0.2em;423:     margin-top: -0.2em;
429:     margin-bottom: 0.5em;424:     margin-bottom: 0.5em;
430:     }425: }
431: 426: 
432: .pun .linksb .postlink, .pun .postlinksb .postlink {427: .pun .linksb .postlink, .pun .postlinksb .postlink {
433:     position: relative;428:     position: relative;
434:     margin-top: 0.5em;429:     margin-top: 0.5em;
435:     margin-bottom: -0.5em;430:     margin-bottom: -0.5em;
436:     }431: }
437: 432: 
438: .pun .postlink, .pun .modbuttons {433: .pun .postlink, .pun .modbuttons {
439:     float: right;434:     float: right;
440:     text-align: right;435:     text-align: right;
441:     }436: }
442: 437: 
443: .pun .modbuttons {438: .pun .modbuttons {
444:     padding: 1px 0;439:     padding: 1px 0;
445:     white-space: nowrap;440:     white-space: nowrap;
446:     }441: }
447: 442: 
448: .pun .modbuttons input {443: .pun .modbuttons input {
449:     margin-left: 6px;444:     margin-left: 6px;
450:     }445: }
451: 446: 
452: #punindex .subscribelink {447: #punindex .subscribelink {
453:     margin-top: 6px;448:     margin-top: 6px;
454:     }449: }
455: 450: 
456: /* Board Footer451: /* Board Footer
457: ----------------------------------------------------------------*/452: ----------------------------------------------------------------*/
460:     border-bottom-style: solid;455:     border-bottom-style: solid;
461:     border-bottom-width: 1px;456:     border-bottom-width: 1px;
462:     text-align: center;457:     text-align: center;
463:     }458: }
464: 459: 
465: #brdfooter #modcontrols dd {460: #brdfooter #modcontrols dd {
466:     display: inline;461:     display: inline;
467:     margin-right: 10px;462:     margin-right: 10px;
468:     }463: }
469: 464: 
470: #brdfooter .conl {465: #brdfooter .conl {
471:     float: left;466:     float: left;
472:     }467: }
473: 468: 
474: #brdfooter .conr {469: #brdfooter .conr {
475:     float: right;470:     float: right;
476:     text-align: right;471:     text-align: right;
477:     }472: }
478: 473: 
479: #brdfooter #feedlinks span {474: #brdfooter #feedlinks span {
480:     background:url("Technetium/feed.png") no-repeat scroll left center transparent;475:     background:url("Technetium/feed.png") no-repeat scroll left center transparent;
488: 483: 
489: #brdstats .conl {484: #brdstats .conl {
490:     float: left;485:     float: left;
491:     }486: }
492: 487: 
493: #brdstats .conr {488: #brdstats .conr {
494:     float: right;489:     float: right;
495:     text-align: right;490:     text-align: right;
496:     }491: }
497: 492: 
498: #onlinelist dd, #onlinelist dt {493: #onlinelist dd, #onlinelist dt {
499:     display: inline;494:     display: inline;
500:     }495: }
501: 496: 
502: 497: 
503: /*****************************************************************498: /*****************************************************************
509:     border-collapse: collapse;504:     border-collapse: collapse;
510:     border-spacing: 0;505:     border-spacing: 0;
511:     empty-cells: show;506:     empty-cells: show;
512:     }507: }
513: 508: 
514: .pun .blocktable table {509: .pun .blocktable table {
515:     table-layout: fixed;510:     table-layout: fixed;
516:     }511: }
517: 512: 
518: .pun td, .pun th {513: .pun td, .pun th {
519:     padding: 4px 6px;514:     padding: 4px 6px;
520:     line-height: 1.4em;515:     line-height: 1.4em;
521:     text-align: left;516:     text-align: left;
522:     font-weight: normal;517:     font-weight: normal;
523:     }518: }
524: 519: 
525: .pun td {520: .pun td {
526:     border-style: solid none none solid;521:     border-style: solid none none solid;
527:     border-width: 1px;522:     border-width: 1px;
528:     }523: }
529: 524: 
530: .pun .tcl {525: .pun .tcl {
531:     border-left: 0;526:     border-left: 0;
532:     width: auto;527:     width: auto;
533:     }528: }
534: 529: 
535: .pun .tc2, .pun .tc3, .pun .tcmod {530: .pun .tc2, .pun .tc3, .pun .tcmod {
536:     width: 10%;531:     width: 10%;
537:     text-align: center;532:     text-align: center;
538:     padding: 4px 0;533:     padding: 4px 0;
539:     }534: }
540: 535: 
541: .pun .tcr {536: .pun .tcr {
542:     width: 30%;537:     width: 30%;
543:     }538: }
544: 539: 
545: .pun .tcl h3 {540: .pun .tcl h3 {
546:     font-size: 1.3em;541:     font-size: 1.3em;
547:     font-weight: bold;542:     font-weight: bold;
548:     }543: }
549: 544: 
550: .pun .tcl span.newtext, .pun .tcl span.pagestext {545: .pun .tcl span.newtext, .pun .tcl span.pagestext {
551:     white-space: nowrap546:     white-space: nowrap
552:     }547: }
553: 548: 
554: .pun .tcl p {549: .pun .tcl p {
555:     padding: 5px 0 0 0550:     padding: 5px 0 0 0
556:     }551: }
557: 552: 
558: #punsearch #vf .tc2 {553: #punsearch #vf .tc2 {
559:     width: 18%;554:     width: 18%;
560:     text-align: left;555:     text-align: left;
561:     padding: 4px 6px;556:     padding: 4px 6px;
562:     }557: }
563: 558: 
564: #users1 .tcr {559: #users1 .tcr {
565:     width: 25%560:     width: 25%
566:     }561: }
567: 562: 
568: #users1 .tc2 {563: #users1 .tc2 {
569:     width: 25%;564:     width: 25%;
570:     text-align: left;565:     text-align: left;
571:     padding: 4px 6px;566:     padding: 4px 6px;
572:     }567: }
573: 568: 
574: #debug .tcl {569: #debug .tcl {
575:     width: 10%570:     width: 10%
576:     }571: }
577: 572: 
578: #debug .tcr {573: #debug .tcr {
579:     width: 90%;574:     width: 90%;
580:     white-space: normal575:     white-space: normal
581:     }576: }
582: 577: 
583: #punindex .tcr .byuser {578: #punindex .tcr .byuser {
584:     display: block579:     display: block
585:     }580: }
586: 581: 
587: .pun .blocktable .tclcon {582: .pun .blocktable .tclcon {
588:     padding: 0 11px 0 12px;583:     padding: 0 11px 0 12px;
590:     height: 1%;585:     height: 1%;
591:     min-height: 1px;586:     min-height: 1px;
592:     position: relative;587:     position: relative;
593:     }588: }
594: 589: 
595: .pun .blocktable .tclcon div {590: .pun .blocktable .tclcon div {
596:     width: 100%;591:     width: 100%;
597:     overflow: hidden;592:     overflow: hidden;
598:     }593: }
599: 594: 
600: .pun .icon {595: .pun .icon {
601:     height: 24px;596:     height: 24px;
602:     width: 24px;597:     width: 24px;
603:     overflow: hidden;598:     overflow: hidden;
604:     float: left;599:     float: left;
605:     }600: }
606: 601: 
607: .pun .icon div {602: .pun .icon div {
608:     position: absolute;603:     position: absolute;
609:     left: -9999em;604:     left: -9999em;
610:     text-indent: -9999em;605:     text-indent: -9999em;
611:     height: 0;606:     height: 0;
612:     }607: }
613: 608: 
614: .pun .iposted .ipost {609: .pun .iposted .ipost {
615:     position: absolute;610:     position: absolute;
619:     padding-left: 4px;614:     padding-left: 4px;
620:     text-align: center;615:     text-align: center;
621:     top: 0;616:     top: 0;
622:     }617: }
623: 618: 
624: .pun .stickytext {619: .pun .stickytext {
625:     display: none;620:     display: none;
626:     }621: }
627: 622: 
628: .pun .movedtext {623: .pun .movedtext {
629:     display: none;624:     display: none;
631: 626: 
632: .pun .closedtext {627: .pun .closedtext {
633:     font-weight: bold;628:     font-weight: bold;
634:     }629: }
635: /*****************************************************************630: /*****************************************************************
636: 6. MAIN FORMS631: 6. MAIN FORMS
637: *****************************************************************/632: *****************************************************************/
642:     padding: 9px 10px;637:     padding: 9px 10px;
643:     border-style: solid;638:     border-style: solid;
644:     border-width: 1px;639:     border-width: 1px;
645:     }640: }
646: 641: 
647: .pun .forminfo h3 {642: .pun .forminfo h3 {
648:     font-weight: bold;643:     font-weight: bold;
649:     }644: }
650: 645: 
651: 646: 
652: 647: 
707: .pun label {702: .pun label {
708:     display: block;703:     display: block;
709:     padding: 3px 0704:     padding: 3px 0
710:     }705: }
711: 706: 
712: .pun label.conl {707: .pun label.conl {
713:     float: left;708:     float: left;
714:     overflow: visible;709:     overflow: visible;
715:     margin-right: 10px710:     margin-right: 10px
716:     }711: }
717: 712: 
718: .pun select {713: .pun select {
719:     padding-top: 1px;714:     padding-top: 1px;
720:     padding-bottom: 1px;715:     padding-bottom: 1px;
721:     }716: }
722: 717: 
723: .pun fieldset .rbox {718: .pun fieldset .rbox {
724:     }719: }
725: 720: 
726: .pun fieldset .rbox br {721: .pun fieldset .rbox br {
727:     display: none;722:     display: none;
728:     }723: }
729: 724: 
730: .pun fieldset .rbox label {725: .pun fieldset .rbox label {
731:     padding: 3px 0 3px 25px;726:     padding: 3px 0 3px 25px;
732:     position: relative;727:     position: relative;
733:     vertical-align: middle;728:     vertical-align: middle;
734:     }729: }
735: 730: 
736: .pun fieldset .rbox input {731: .pun fieldset .rbox input {
737:     margin: 0 9px 0 -25px;732:     margin: 0 9px 0 -25px;
739:     width: 16px;734:     width: 16px;
740:     position: relative;735:     position: relative;
741:     vertical-align: middle;736:     vertical-align: middle;
742:     }737: }
743: 738: 
744: .pun .txtarea {739: .pun .txtarea {
745:     width: 90%740:     width: 90%
746:     }741: }
747: 742: 
748: .pun .txtarea textarea, .pun input.longinput {743: .pun .txtarea textarea, .pun input.longinput {
749:     width: 100%744:     width: 100%
750:     }745: }
751: 746: 
752: .pun .bblinks {747: .pun .bblinks {
753:     padding-bottom: 10px;748:     padding-bottom: 10px;
754:     padding-left: 4px749:     padding-left: 4px
755:     }750: }
756: 751: 
757: .pun .bblinks li {752: .pun .bblinks li {
758:     display: inline;753:     display: inline;
759:     padding-right: 20px754:     padding-right: 20px
760:     }755: }
761: 756: 
762: .pun .blockform .buttons {757: .pun .blockform .buttons {
763:     padding-left: 18px;758:     padding-left: 18px;
764:     padding-bottom: 5px;759:     padding-bottom: 5px;
765:     }760: }
766: 761: 
767: .pun .blockform .buttons input {762: .pun .blockform .buttons input {
768:     margin-right: 8px;763:     margin-right: 8px;
769:     }764: }
770: 765: 
771: #posterror ul {766: #posterror ul {
772:     list-style: square;767:     list-style: square;
773:     padding: 3px 0 3px 24px;768:     padding: 3px 0 3px 24px;
774:     }769: }
775: 770: 
776: .pun .deletemsg {771: .pun .deletemsg {
777:     border-style: solid;772:     border-style: solid;
778:     border-width: 1px;773:     border-width: 1px;
779:     padding: 6px 15px;774:     padding: 6px 15px;
780:     }775: }
781: 776: 
782: .pun .multiselect {777: .pun .multiselect {
783:     float: left;778:     float: left;
784:     padding-bottom: 7px;779:     padding-bottom: 7px;
785:     }780: }
786: 781: 
787: .pun .checklist {782: .pun .checklist {
788:     border-width: 1px;783:     border-width: 1px;
792:     overflow: auto;787:     overflow: auto;
793:     padding: 0.25em 0.5em;788:     padding: 0.25em 0.5em;
794:     margin: 0.25em 16px 0 0.15em;789:     margin: 0.25em 16px 0 0.15em;
795:     }790: }
796: 791: 
797: .pun .checklist legend {792: .pun .checklist legend {
798:     padding: 0;793:     padding: 0;
799:     }794: }
800: 795: 
801: .pun .checklist legend span {796: .pun .checklist legend span {
802:     width: auto;797:     width: auto;
803:     max-width: 25em;798:     max-width: 25em;
804:     }799: }
805:  
806: .pun .checklist .checklist-item { 
807:     position: relative; 
808:     } 
809:  
810: .pun .checklist .checklist-item label { 
811:     padding: 0 0 0 1.75em; 
812:     } 
813:  
814: .pun .checklist .checklist-item .fld-input { 
815:     position: absolute; 
816:     left: 0; 
817:     top: 0; 
818:     padding: 0; 
819:     margin: 0; 
820:     } 
821:  
822: .pun .checklist .checklist-item input { 
823:     margin: 0; 
824:     height: 1.55em; 
825:     width: 1.55em; 
826:     } 
827: 800: 
828: /*****************************************************************801: /*****************************************************************
829: 7. PROFILES AND ADMIN802: 7. PROFILES AND ADMIN
831: 804: 
832: .pun .block2col {805: .pun .block2col {
833:     padding-bottom: 1px806:     padding-bottom: 1px
834:     }807: }
835: 808: 
836: .pun .block2col .blockform, .pun .block2col .block {809: .pun .block2col .blockform, .pun .block2col .block {
837:     margin-left: 14em810:     margin-left: 14em
838:     }811: }
839: 812: 
840: .pun .blockmenu {813: .pun .blockmenu {
841:     float:left;814:     float:left;
842:     width: 13em815:     width: 13em
843:     }816: }
844: 817: 
845: .pun .blockmenu li {818: .pun .blockmenu li {
846:     padding: 3px 0;819:     padding: 3px 0;
847:     font-weight: bold;820:     font-weight: bold;
848:     }821: }
849: 822: 
850: .pun .blockmenu a:link, .pun .blockmenu a:visited {823: .pun .blockmenu a:link, .pun .blockmenu a:visited {
851:     text-decoration: none824:     text-decoration: none
852:     }825: }
853: 826: 
854: .pun .blockmenu a:hover, .pun .blockmenu a:active {827: .pun .blockmenu a:hover, .pun .blockmenu a:active {
855:     text-decoration: underline828:     text-decoration: underline
856:     }829: }
857: 830: 
858: #viewprofile dl {831: #viewprofile dl {
859:     float: left;832:     float: left;
860:     width: 100%;833:     width: 100%;
861:     overflow: hidden834:     overflow: hidden
862:     }835: }
863: 836: 
864: #viewprofile dd {837: #viewprofile dd {
865:     margin-left: 14em;838:     margin-left: 14em;
866:     padding: 3px;839:     padding: 3px;
867:     }840: }
868: 841: 
869: #viewprofile dt {842: #viewprofile dt {
870:     float: left;843:     float: left;
871:     width: 13em;844:     width: 13em;
872:     margin: 3px 0;845:     margin: 3px 0;
873:     }846: }
874: 847: 
875: #profileavatar img {848: #profileavatar img {
876:     float: right;849:     float: right;
877:     margin-left: 1em850:     margin-left: 1em
878:     }851: }
879: 852: 
880: /*****************************************************************853: /*****************************************************************
881: 8. MAIN POSTS854: 8. MAIN POSTS
883: 856: 
884: .pun .blockpost h2 a:link, .pun .blockpost h2 a:visited {857: .pun .blockpost h2 a:link, .pun .blockpost h2 a:visited {
885:     text-decoration: none;858:     text-decoration: none;
886:     }859: }
887: 860: 
888: .pun .blockpost h2 a:hover, .pun .blockpost h2 a:active {861: .pun .blockpost h2 a:hover, .pun .blockpost h2 a:active {
889:     text-decoration: underline;862:     text-decoration: underline;
890:     }863: }
891: 864: 
892: .pun .blockpost h2 .conr {865: .pun .blockpost h2 .conr {
893:     float: right;866:     float: right;
894:     text-align: right;867:     text-align: right;
895:     }868: }
896: 869: 
897: #punsearch .blockpost h2 span {870: #punsearch .blockpost h2 span {
898:     white-space: nowrap;871:     white-space: nowrap;
899:     }872: }
900: 873: 
901: .pun .blockpost .box {874: .pun .blockpost .box {
902:     overflow: hidden;875:     overflow: hidden;
903:     }876: }
904: 877: 
905: .pun .postleft, .pun .postfootleft {878: .pun .postleft, .pun .postfootleft {
906:     float:left;879:     float:left;
908:     overflow: hidden;881:     overflow: hidden;
909:     position: relative;882:     position: relative;
910:     overflow: hidden;883:     overflow: hidden;
911:     }884: }
912: 885: 
913: .pun .postleft dl {886: .pun .postleft dl {
914:     padding: 0.5em 6px;887:     padding: 0.5em 6px;
915:     }888: }
916: 889: 
917: .pun .postleft .usercontacts, .pun .postleft .icon {890: .pun .postleft .usercontacts, .pun .postleft .icon {
918:     margin-top: 6px891:     margin-top: 6px
919:     }892: }
920: 893: 
921: .pun .postleft .postavatar, .pun .postleft .usertitle {894: .pun .postleft .postavatar, .pun .postleft .usertitle {
922:     margin-bottom: 6px;895:     margin-bottom: 6px;
923:     display: block;896:     display: block;
924:     }897: }
925: 898: 
926: .pun .blockpost dt {899: .pun .blockpost dt {
927:     font-size: 1.091em;900:     font-size: 1.091em;
928:     font-weight: bold;901:     font-weight: bold;
929:     }902: }
930: 903: 
931: .pun .blockpost dt a:link, .pun .blockpost dt a:visited {904: .pun .blockpost dt a:link, .pun .blockpost dt a:visited {
932:     text-decoration: none;905:     text-decoration: none;
933:     }906: }
934: 907: 
935: .pun .blockpost dt a:hover, .pun .blockpost dt a:active {908: .pun .blockpost dt a:hover, .pun .blockpost dt a:active {
936:     text-decoration: underline;909:     text-decoration: underline;
937:     }910: }
938: 911: 
939: .pun .postright, .pun .postfootright {912: .pun .postright, .pun .postfootright {
940:     border-left-width: 18em;913:     border-left-width: 18em;
941:     border-left-style: solid914:     border-left-style: solid
942:     }915: }
943: 916: 
944: #postpreview .postright {917: #postpreview .postright {
945:     border-left: 0918:     border-left: 0
946:     }919: }
947: 920: 
948: .pun .postright {921: .pun .postright {
949:     padding: 0 6px;922:     padding: 0 6px;
950:     }923: }
951: 924: 
952: .pun .postfootright, .pun .multidelete {925: .pun .postfootright, .pun .multidelete {
953:     text-align: right926:     text-align: right
954:     }927: }
955: 928: 
956: .pun .postmsg {929: .pun .postmsg {
957:     width:98%;930:     width:98%;
958:     overflow: hidden;931:     overflow: hidden;
959:     padding-bottom: 6px;932:     padding-bottom: 6px;
960:     word-wrap: break-word;933:     word-wrap: break-word;
961:     }934: }
962: 935: 
963: .pun .postfootright ul, .pun .postfootright div, .pun .postfootright p,936: .pun .postfootright ul, .pun .postfootright div, .pun .postfootright p,
964: .pun .postfootleft p {937: .pun .postfootleft p {
965:     padding: 6px 6px 6px 6px;938:     padding: 6px 6px 6px 6px;
966:     }939: }
967: 940: 
968: .pun .postfootright li {941: .pun .postfootright li {
969:     display: inline;942:     display: inline;
970:     }943: }
971: 944: 
972: .pun .postfootright li:before {945: .pun .postfootright li:before {
973:     content: " | ";946:     content: " | ";
974:     }947: }
975: 948: 
976: .pun .postfootright li:first-child:before {949: .pun .postfootright li:first-child:before {
977:     content: "";950:     content: "";
978:     }951: }
979: 952: 
980: .pun .postfootright a:link, .pun .postfootright a:visited {953: .pun .postfootright a:link, .pun .postfootright a:visited {
981:     text-decoration: none954:     text-decoration: none
982:     }955: }
983: 956: 
984: .pun .postfootright a:hover, .pun .postfootright a:active {957: .pun .postfootright a:hover, .pun .postfootright a:active {
985:     text-decoration: underline958:     text-decoration: underline
986:     }959: }
987: 960: 
988: 961: 
989: .pun .quotebox, .pun .codebox {962: .pun .quotebox, .pun .codebox {
992:     border-left: 5px solid;965:     border-left: 5px solid;
993:     margin: 0.75em 1em;966:     margin: 0.75em 1em;
994:     padding: 0 0.75em;967:     padding: 0 0.75em;
995:     }968: }
996: 969: 
997: .pun .quotebox cite {970: .pun .quotebox cite {
998:     display: block;971:     display: block;
999:     padding: 0.75em 0 0 0;972:     padding: 0.75em 0 0 0;
1000:     }973: }
1001: 974: 
1002: .pun .quotebox blockquote {975: .pun .quotebox blockquote {
1003:     width: 100%;976:     width: 100%;
1004:     overflow: hidden977:     overflow: hidden
1005:     }978: }
1006: 979: 
1007: .pun .codebox pre {980: .pun .codebox pre {
1008:     overflow: auto;981:     overflow: auto;
1009:     width: 100%;982:     width: 100%;
1010:     overflow-y:hidden983:     overflow-y:hidden
1011:     }984: }
1012: 985: 
1013: * html .pun .codebox pre {986: * html .pun .codebox pre {
1014:     padding-bottom: 10px;987:     padding-bottom: 10px;
1015:     }988: }
1016: 989: 
1017: *+html .pun .codebox pre {990: *+html .pun .codebox pre {
1018:     padding-bottom: 10px991:     padding-bottom: 10px
1019:     }992: }
1020: 993: 
1021: .pun .codebox pre code {994: .pun .codebox pre code {
1022:     display: block;995:     display: block;
1023:     padding: 0.75em;996:     padding: 0.75em;
1024:     }997: }
1025: 998: 
1026: .pun .codebox pre.vscroll {999: .pun .codebox pre.vscroll {
1027:     height: 32em;1000:     height: 32em;
1028:     overflow: auto;1001:     overflow: auto;
1029:     overflow-y: auto1002:     overflow-y: auto
1030:     }1003: }
1031: 1004: 
1032: .pun .postmsg .postimg img, .pun .postmsg a .postimg img {1005: .pun .postmsg .postimg img, .pun .postmsg a .postimg img {
1033:     max-width: 100%;1006:     max-width: 100%;
1034:     vertical-align: middle;1007:     vertical-align: middle;
1035:     }1008: }
1036: 1009: 
1037: .pun .postmsg img {1010: .pun .postmsg img {
1038:     vertical-align: bottom;1011:     vertical-align: bottom;
1039:     }1012: }
1040: 1013: 
1041: .pun .postsignature hr {1014: .pun .postsignature hr {
1042:     margin-left: 0px;1015:     margin-left: 0px;
1044:     text-align: left;1017:     text-align: left;
1045:     height: 1px;1018:     height: 1px;
1046:     border:none1019:     border:none
1047:     }1020: }
1048: 1021: 
1049: .pun .blockpost label {1022: .pun .blockpost label {
1050:     padding: 3px 6px;1023:     padding: 3px 6px;
1052:     border-width: 1px;1025:     border-width: 1px;
1053:     vertical-align: middle;1026:     vertical-align: middle;
1054:     display: inline-block;1027:     display: inline-block;
1055:     }1028: }
1056: 1029: 
1057: .pun .blockpost label * {1030: .pun .blockpost label * {
1058:     vertical-align: middle;1031:     vertical-align: middle;
1059:     margin: 0;1032:     margin: 0;
1060:     padding: 0;1033:     padding: 0;
1061:     }1034: }
1062: 1035: 
1063: 1036: 
1064: /****************************************************************/1037: /****************************************************************/
1067: 1040: 
1068: #punhelp h2 {1041: #punhelp h2 {
1069:     margin-top: 12px1042:     margin-top: 12px
1070:     }1043: }
1071: 1044: 
1072: #punhelp div.box {1045: #punhelp div.box {
1073:     padding: 10px1046:     padding: 10px
1074:     }1047: }
1075: 1048: 
1076: /*****************************************************************1049: /*****************************************************************
1077: COLOUR SCHEME1050: COLOUR SCHEME
1083: body {1056: body {
1084:     background: #fff url("Technetium/bg.png") repeat-x top;1057:     background: #fff url("Technetium/bg.png") repeat-x top;
1085:     color: #1224341058:     color: #122434
1086:     }1059: }
1087: 1060: 
1088: .pun {1061: .pun {
1089:     color: #1224341062:     color: #122434
1090:     }1063: }
1091: 1064: 
1092: .pun .box, #adminconsole fieldset th {1065: .pun .box, #adminconsole fieldset th {
1093:     background-color: #FBFCFD;1066:     background-color: #FBFCFD;
1094:     background-image: url("Technetium/light-shade.png");1067:     background-image: url("Technetium/light-shade.png");
1095:     background-position: bottom;1068:     background-position: bottom;
1096:     background-repeat: repeat-x;1069:     background-repeat: repeat-x;
1097:     }1070: }
1098: 1071: 
1099: .pun td.tc2, .pun td.tc3, .pun td.tcmod, #postpreview, #viewprofile dd, .pun .forminfo,1072: .pun td.tc2, .pun td.tc3, .pun td.tcmod, #postpreview, #viewprofile dd, .pun .forminfo,
1100: #brdfooter #modcontrols, #adminconsole fieldset td, .pun .blockmenu .box, #adstats dd {1073: #brdfooter #modcontrols, #adminconsole fieldset td, .pun .blockmenu .box, #adstats dd {
1102:     background-image: url("Technetium/light-shade.png");1075:     background-image: url("Technetium/light-shade.png");
1103:     background-repeat: repeat-x;1076:     background-repeat: repeat-x;
1104:     background-position: bottom;1077:     background-position: bottom;
1105:     }1078: }
1106: 1079: 
1107: .pun h2, #brdmenu {1080: .pun h2, #brdmenu {
1108:     background-color: #C5D8EB;1081:     background-color: #C5D8EB;
1110:     background-image: url("Technetium/dark-shade.png");1083:     background-image: url("Technetium/dark-shade.png");
1111:     background-repeat: repeat-x;1084:     background-repeat: repeat-x;
1112:     background-position: top;1085:     background-position: top;
1113:     }1086: }
1114: 1087: 
1115: .pun h2  {1088: .pun h2  {
1116:     background-color: #C5D8EB;1089:     background-color: #C5D8EB;
1118:     background-repeat: repeat-x;1091:     background-repeat: repeat-x;
1119:     color: #122434;1092:     color: #122434;
1120:     text-shadow: #FFF 1px -1px 0.7em;1093:     text-shadow: #FFF 1px -1px 0.7em;
1121:     }1094: }
1122: 1095: 
1123: .pun #announce h2  {1096: .pun #announce h2  {
1124:     display: none;1097:     display: none;
1125:     }1098: }
1126: 1099: 
1127: .box #announce-block {1100: .box #announce-block {
1128:     background-color: #FDFCE3;1101:     background-color: #FDFCE3;
1132:     background-color: #EFF3F8;1105:     background-color: #EFF3F8;
1133:     background-image: url("Technetium/light-shade.png");1106:     background-image: url("Technetium/light-shade.png");
1134:     background-repeat: repeat-x;1107:     background-repeat: repeat-x;
1135:     }1108: }
1136: 1109: 
1137: .pun td {1110: .pun td {
1138:     background-image: url("Technetium/light-shade.png");1111:     background-image: url("Technetium/light-shade.png");
1139:     background-color: #FBFCFD;1112:     background-color: #FBFCFD;
1140:     background-position: bottom;1113:     background-position: bottom;
1141:     background-repeat: repeat-x;1114:     background-repeat: repeat-x;
1142:     }1115: }
1143: 1116: 
1144: .pun .isticky td {1117: .pun .isticky td {
1145:     background-color: #E4EBF1;1118:     background-color: #E4EBF1;
1146:     }1119: }
1147: 1120: 
1148: .pun .iclosed td {1121: .pun .iclosed td {
1149:     background-color: #ECEEF01122:     background-color: #ECEEF0
1150:     }1123: }
1151: 1124: 
1152: .pun .iclosed.isticky td {1125: .pun .iclosed.isticky td {
1153:     background-color: #CDD6E0;1126:     background-color: #CDD6E0;
1154:     }1127: }
1155: 1128: 
1156: .pun legend {1129: .pun legend {
1157:     color: #1224341130:     color: #122434
1158:     }1131: }
1159: 1132: 
1160: .pun .blockmenu li.isactive a, #posterror li strong {1133: .pun .blockmenu li.isactive a, #posterror li strong {
1161:     color: #3331134:     color: #333
1162:     }1135: }
1163: 1136: 
1164: .pun .usercontent * {1137: .pun .usercontent * {
1165:     background: transparent;1138:     background: transparent;
1166:     color: #3331139:     color: #333
1167:     }1140: }
1168: 1141: 
1169: #adminmenu .box {1142: #adminmenu .box {
1170:     background: #FBFCFD;1143:     background: #FBFCFD;
1171:     }1144: }
1172: 1145: 
1173: .pun .postlink a:link, .pun .postlink a:visited, .pun .postlink a:active  {1146: .pun .postlink a:link, .pun .postlink a:visited, .pun .postlink a:active  {
1174:     background-color:#F0F5FA;1147:     background-color:#F0F5FA;
1180:     padding: 0.3em;1153:     padding: 0.3em;
1181:     border-radius: 0.4em;1154:     border-radius: 0.4em;
1182:     position: relative;1155:     position: relative;
1183:     -moz-border-radius: 0.4em;1156: }
1184:     -webkit-border-top-left-radius: 0.4em; 
1185:     -webkit-border-top-right-radius: 0.4em; 
1186:     -webkit-border-bottom-left-radius: 0.4em; 
1187:     -webkit-border-bottom-right-radius: 0.4em; 
1188:  
1189:     } 
1190: 1157: 
1191: .pun .postlink a:hover {1158: .pun .postlink a:hover {
1192:     background-color: #C0D6E9;1159:     background-color: #C0D6E9;
1193:     color: #000;1160:     color: #000;
1194:     }1161: }
1195: 1162: 
1196: #brdheader .box {1163: #brdheader .box {
1197:     background-color:#F0F5FA;1164:     background-color:#F0F5FA;
1200:     background-position: top;1167:     background-position: top;
1201:     color:#122434;1168:     color:#122434;
1202:     border-radius: 0.4em;1169:     border-radius: 0.4em;
1203:     -moz-border-radius: 0.4em;1170: }
1204:     -webkit-border-top-left-radius: 0.4em; 
1205:     -webkit-border-top-right-radius: 0.4em; 
1206:     -webkit-border-bottom-left-radius: 0.4em; 
1207:     -webkit-border-bottom-right-radius: 0.4em; 
1208:     } 
1209: 1171: 
1210: .pun #brdtitle {1172: .pun #brdtitle {
1211:     background-color: #D1E1EF;1173:     background-color: #D1E1EF;
1212:     background-image: url("Technetium/inv-shade.png");1174:     background-image: url("Technetium/inv-shade.png");
1213:     background-repeat: repeat-x;1175:     background-repeat: repeat-x;
1214:     text-shadow: #FFF 1px -1px 0.4em;1176:     text-shadow: #FFF 1px -1px 0.4em;
1215:     }1177: }
1216: 1178: 
1217: 1179: 
1218: .pun .infldset, #pundelete .deletemsg, #adintro .inbox, #adstats .inbox {1180: .pun .infldset, #pundelete .deletemsg, #adintro .inbox, #adstats .inbox {
1224:     list-style-type: disc;1186:     list-style-type: disc;
1225:     margin-left: 8px;1187:     margin-left: 8px;
1226:     padding-left: 16px;1188:     padding-left: 16px;
1227:     }1189: }
1228: 1190: 
1229: .pun .multiselect {1191: .pun .multiselect {
1230:     color: #122434;1192:     color: #122434;
1231:     }1193: }
1232: 1194: 
1233: .pun .checklist {1195: .pun .checklist {
1234:     background: white;1196:     background: white;
1235:     border-color: #A2B5CC;1197:     border-color: #A2B5CC;
1236:     }1198: }
1237: 1199: 
1238: /* Posts1200: /* Posts
1239: ----------------------------------------------------------------*/1201: ----------------------------------------------------------------*/
1240: 1202: 
1241: .pun .blockpost .box, .pun .postright, .pun .postfootright, .pun .deletemsg {1203: .pun .blockpost .box, .pun .postright, .pun .postfootright, .pun .deletemsg {
1242:     background-color: #F8FAFD;1204:     background-color: #F8FAFD;
1243:     }1205: }
1244: 1206: 
1245: .pun .postright, .pun .postfootright {1207: .pun .postright, .pun .postfootright {
1246:     border-left-color: #F0F5FA1208:     border-left-color: #F0F5FA
1247:     }1209: }
1248: 1210: 
1249: .pun .postleft, .pun .postfootleft, .pun .blockpost label, .pun .codebox, .pun .quotebox {1211: .pun .postleft, .pun .postfootleft, .pun .blockpost label, .pun .codebox, .pun .quotebox {
1250:     background-color: #F0F5FA1212:     background-color: #F0F5FA
1251:     }1213: }
1252: 1214: 
1253: #punhelp .codebox, #punhelp .quotebox {1215: #punhelp .codebox, #punhelp .quotebox {
1254:     background-color: #f9f9f9;1216:     background-color: #f9f9f9;
1255:     }1217: }
1256: 1218: 
1257: .pun .blockpost h2 {1219: .pun .blockpost h2 {
1258:     background-color: #F0F5FA;1220:     background-color: #F0F5FA;
1259:     }1221: }
1260: 1222: 
1261: .pun .blockpost h2 span.conr {1223: .pun .blockpost h2 span.conr {
1262:     color: #aabdcd1224:     color: #aabdcd
1263:     }1225: }
1264: 1226: 
1265: .pun hr {1227: .pun hr {
1266:     background-color: #333;1228:     background-color: #333;
1267:     color: #3331229:     color: #333
1268:     }1230: }
1269: 1231: 
1270: .pun .quotebox {1232: .pun .quotebox {
1271:     background-color: #FAFCFE;1233:     background-color: #FAFCFE;
1272:     }1234: }
1273: 1235: 
1274: .pun .postmsg ins, #punhelp samp ins {1236: .pun .postmsg ins, #punhelp samp ins {
1275:     background-color: #ff0;1237:     background-color: #ff0;
1276:     }1238: }
1277: 1239: 
1278: /* Borders1240: /* Borders
1279: ----------------------------------------------------------------*/1241: ----------------------------------------------------------------*/
1288: 1250: 
1289: .pun td {1251: .pun td {
1290:     border-color: #A2B5CC;1252:     border-color: #A2B5CC;
1291:     }1253: }
1292: 1254: 
1293: .pun th, .pun fieldset {1255: .pun th, .pun fieldset {
1294:     border-color: #A2B5CC;1256:     border-color: #A2B5CC;
1295:     }1257: }
1296: 1258: 
1297: #adminconsole td, #adminconsole th {1259: #adminconsole td, #adminconsole th {
1298:     border-style:solid;1260:     border-style:solid;
1309: 1271: 
1310: .pun .forminfo, .pun .blockpost label, .pun .deletemsg {1272: .pun .forminfo, .pun .blockpost label, .pun .deletemsg {
1311:     border-color: #aca899 #fff #fff #aca899;1273:     border-color: #aca899 #fff #fff #aca899;
1312:     }1274: }
1313: 1275: 
1314: .pun .quotebox, .pun .codebox {1276: .pun .quotebox, .pun .codebox {
1315:     border-color: #BCD2E9;1277:     border-color: #BCD2E9;
1316:     }1278: }
1317: 1279: 
1318: .pun .postlink a:link, .pun .postlink a:visited {1280: .pun .postlink a:link, .pun .postlink a:visited {
1319:     border-color: #C0D6E91281:     border-color: #C0D6E9
1320:     }1282: }
1321: 1283: 
1322: 1284: 
1323: /* Links1285: /* Links
1326: .pun a:link, .pun a:visited {1288: .pun a:link, .pun a:visited {
1327:     color: #1F537B;1289:     color: #1F537B;
1328:     text-decoration: none;1290:     text-decoration: none;
1329:     }1291: }
1330: 1292: 
1331: .pun a:hover, .pun a:active, .pun a:focus {1293: .pun a:hover, .pun a:active, .pun a:focus {
1332:     color: #9E1D001294:     color: #9E1D00
1333:     }1295: }
1334: 1296: 
1335: #brdmenu li a:active, #brdmenu li a:link, #brdmenu li a:visited {1297: #brdmenu li a:active, #brdmenu li a:link, #brdmenu li a:visited {
1336:     color: #1F2E3D;1298:     color: #1F2E3D;
1337:     }1299: }
1338: 1300: 
1339: #brdmenu li a:hover {1301: #brdmenu li a:hover {
1340:     color: #000;1302:     color: #000;
1341:     text-shadow: #8895A2 1px -1px 0.4em;1303:     text-shadow: #8895A2 1px -1px 0.4em;
1342:     }1304: }
1343: 1305: 
1344: #vf a {1306: #vf a {
1345:     font-weight: bold;1307:     font-weight: bold;
1346:     }1308: }
1347: 1309: 
1348: .pun .postreport a:link, .pun .postreport a:visited,1310: .pun .postreport a:link, .pun .postreport a:visited,
1349: .pun .iclosed td.tcl a:link, .pun .iclosed td.tcl a:visited {1311: .pun .iclosed td.tcl a:link, .pun .iclosed td.tcl a:visited {
1350:     color: #8881312:     color: #888
1351:     }1313: }
1352: 1314: 
1353: .pun .isticky.iclosed td.tcl a:link, .pun .isticky.iclosed td.tcl a:visited {1315: .pun .isticky.iclosed td.tcl a:link, .pun .isticky.iclosed td.tcl a:visited {
1354:     color: #475F6B !important;1316:     color: #475F6B !important;
1355:     }1317: }
1356: 1318: 
1357: .pun .isticky.iclosed td.tcl a:hover {1319: .pun .isticky.iclosed td.tcl a:hover {
1358:     color: #577382 !important;1320:     color: #577382 !important;
1359:     }1321: }
1360: 1322: 
1361: 1323: 
1362: .pun .postreport a:hover, .pun .postreport a:active,1324: .pun .postreport a:hover, .pun .postreport a:active,
1363: .pun .iclosed td.tcl a:hover, .pun .iclosed td.tcl a:active {1325: .pun .iclosed td.tcl a:hover, .pun .iclosed td.tcl a:active {
1364:     color: #aaa1326:     color: #aaa
1365:     }1327: }
1366: 1328: 
1367: .pun .maintenancelink a:link, .pun .maintenancelink a:visited {1329: .pun .maintenancelink a:link, .pun .maintenancelink a:visited {
1368:     color: #b420001330:     color: #b42000
1369:     }1331: }
1370: 1332: 
1371: .pun .maintenancelink a:hover, .pun .maintenancelink a:active {1333: .pun .maintenancelink a:hover, .pun .maintenancelink a:active {
1372:     color: #b420001334:     color: #b42000
1373:     }1335: }
1374: 1336: 
1375: 1337: 
1376: /* Status Indicators1338: /* Status Indicators
1378: 1340: 
1379: .pun .icon {1341: .pun .icon {
1380:     background-image:url(Technetium/icon-nonew.png);1342:     background-image:url(Technetium/icon-nonew.png);
1381:     }1343: }
1382: 1344: 
1383: .pun .iredirect .icon {1345: .pun .iredirect .icon {
1384:     background-image:url(Technetium/icon-moved.png);1346:     background-image:url(Technetium/icon-moved.png);
1385:     }1347: }
1386: 1348: 
1387: .pun .inew .icon{1349: .pun .inew .icon{
1388:     background-image:url(Technetium/icon-new.png);1350:     background-image:url(Technetium/icon-new.png);
1389:     }1351: }
1390: 1352: 
1391: .pun .iclosed .icon  {1353: .pun .iclosed .icon  {
1392:     background-image:url(Technetium/icon-closed.png);1354:     background-image:url(Technetium/icon-closed.png);
1393:     }1355: }
1394: 1356: 
1395: .pun .isticky .icon {1357: .pun .isticky .icon {
1396:     background-image:url(Technetium/icon-nonew-sticky.png);1358:     background-image:url(Technetium/icon-nonew-sticky.png);
1397:     }1359: }
1398: 1360: 
1399: .pun .isticky.inew .icon {1361: .pun .isticky.inew .icon {
1400:     background-image:url(Technetium/icon-new-sticky.png);1362:     background-image:url(Technetium/icon-new-sticky.png);
1401:     }1363: }
1402: 1364: 
1403: .pun .iclosed.isticky .icon {1365: .pun .iclosed.isticky .icon {
1404:     background-image:url(Technetium/icon-closed-sticky.png);1366:     background-image:url(Technetium/icon-closed-sticky.png);
1405:     }1367: }
1406: 1368: 
1407: .pun .imoved .icon {1369: .pun .imoved .icon {
1408:     background-image:url(Technetium/icon-moved.png);1370:     background-image:url(Technetium/icon-moved.png);
1409:     }1371: }
1410: 1372: 


a/style/imports/base_admin.css b/style/imports/base_admin.css
  1: #adminconsole .block2 {MARGIN-TOP: 12px}  1: #adminconsole .block2 {margin-top: 12px}
  2:   2: 
  3: /*** Admin Main Content ***/  3: /*** Admin Main Content ***/
  4: * HTML #adstats DD {HEIGHT: 1%}  4: * html #adstats dd {height: 1%}
  5: #adstats DD {MARGIN-LEFT: 14em; PADDING: 3px; MARGIN-BOTTOM: 5px; LINE-HEIGHT: 1.5em}  5: #adstats dd {margin-left: 14em; padding: 3px; margin-bottom: 5px; line-height: 1.5em}
  6: #adstats DT {FLOAT: left; WIDTH: 13em; PADDING: 3px; LINE-HEIGHT: 1.5em}  6: #adstats dt {float: left; width: 13em; padding: 3px; line-height: 1.5em}
  7: #adstats {PADDING: 15px 15px 5px 10px}  7: #adstats {padding: 15px 15px 5px 10px}
  8: #adintro {PADDING: 5px}  8: #adintro {padding: 5px}
  9: #adintro P {PADDING: 10px}  9: #adintro p {padding: 10px}
 10: #adstats DL {PADDING: 5px 0 10px 5px} 10: #adstats dl {padding: 5px 0 10px 5px}
 11:  11: 
 12: #adminconsole FIELDSET TD {TEXT-ALIGN: left; PADDING: 4px; WHITE-SPACE: normal} 12: #adminconsole fieldset td {text-align: left; padding: 4px; white-space: normal}
 13: #adminconsole FIELDSET TH {TEXT-ALIGN: left; PADDING: 4px; WHITE-SPACE: normal} 13: #adminconsole fieldset th {text-align: left; padding: 4px; white-space: normal}
 14: #adminconsole FIELDSET TD SPAN, #adminconsole FIELDSET TH SPAN {DISPLAY: block; FONT-SIZE: 1em; FONT-WEIGHT: normal} 14: #adminconsole fieldset td span, #adminconsole fieldset th span {display: block; font-size: 1em; font-weight: normal}
 15: #adminconsole TH {WIDTH: 15em; FONT-WEIGHT: bold} 15: #adminconsole th {width: 15em; font-weight: bold}
 16: #adminconsole INPUT, #adminconsole SELECT, #adminconsole TEXTAREA {MARGIN-BOTTOM: 0; MARGIN-TOP: 0; FONT-WEIGHT: normal} 16: #adminconsole input, #adminconsole select, #adminconsole textarea {margin-bottom: 0; margin-top: 0; font-weight: normal}
 17: #adminconsole TABLE.aligntop TH, #adminconsole TABLE.aligntop TD {VERTICAL-ALIGN: top} 17: #adminconsole table.aligntop th, #adminconsole table.aligntop td {vertical-align: top}
 18: #adminconsole TABLE.aligntop TH {PADDING-TOP: 0.7em} 18: #adminconsole table.aligntop th {padding-top: 0.7em}
 19: #adminconsole TD, #adminconsole TH {BORDER-STYLE: solid; BORDER-WIDTH: 3px 0 3px 0} 19: #adminconsole td, #adminconsole th {border-style: solid; border-width: 3px 0 3px 0}
 20: #adminconsole P {PADDING-BOTTOM: 6px} 20: #adminconsole p {padding-bottom: 6px}
 21: #adminconsole .topspace {PADDING-TOP: 6px} 21: #adminconsole .topspace {padding-top: 6px}
 22: #adminconsole P.submittop, #adminconsole P.submitend {TEXT-ALIGN: center} 22: #adminconsole p.submittop, #adminconsole p.submitend {text-align: center}
 23: #adminconsole TH.hidehead {COLOR: #f1f1f1} 23: #adminconsole th.hidehead {color: #f1f1f1}
 24: #adminconsole THEAD TH {PADDING-BOTTOM: 0} 24: #adminconsole thead th {padding-bottom: 0}
 25: #adminconsole P.linkactions {FONT-WEIGHT: bold; PADDING-LEFT: 5px} 25: #adminconsole p.linkactions {font-weight: bold; padding-left: 5px}
 26: #adminconsole TH INPUT, #adminconsole DIV.fsetsubmit {MARGIN-TOP: 6px} 26: #adminconsole th input, #adminconsole div.fsetsubmit {margin-top: 6px}
 27:  27: 
 28: /*** Particular table settings ***/ 28: /*** Particular table settings ***/
 29: #categoryedit .tcl {WIDTH: 25%} 29: #categoryedit .tcl {width: 25%}
 30: #censoring .tcl, #censoring .tc2 {WIDTH: 20%} 30: #censoring .tcl, #censoring .tc2 {width: 20%}
 31: #edforum .tcl, #edforum .tc2 {WIDTH: 8%} 31: #edforum .tcl, #edforum .tc2 {width: 8%}
 32: #edforum .tc2 {WIDTH: 6%} 32: #edforum .tc2 {width: 6%}
 33:  33: 
 34: TABLE#forumperms TH, TABLE#forumperms TD {WHITE-SPACE: normal; WIDTH: auto; TEXT-ALIGN: center} 34: table#forumperms th, table#forumperms td {white-space: normal; width: auto; text-align: center}
 35: TABLE#forumperms .atcl {TEXT-ALIGN: left; WIDTH: 15em; WHITE-SPACE: nowrap} 35: table#forumperms .atcl {text-align: left; width: 15em; white-space: nowrap}
 36: #adminconsole TD.nodefault {BACKGROUND-COLOR: #D59B9B} 36: #adminconsole td.nodefault {background-color: #d59b9b}
 37:  37: 
 38: /*** User/Ban Search Result Tables ***/ 38: /*** User/Ban Search Result Tables ***/
 39: #users2 TH, #bans1 TH {TEXT-ALIGN: left} 39: #users2 th, #bans1 th {text-align: left}
 40: #users2 TH.tcmod {TEXT-ALIGN: center} 40: #users2 th.tcmod {text-align: center}
 41: #users2 .tcl, #bans1 .tcl {WIDTH: auto; TEXT-ALIGN: left; PADDING: 4px 6px} 41: #users2 .tcl, #bans1 .tcl {width: auto; text-align: left; padding: 4px 6px}
 42: #users2 .tc2, #bans1 .tc2 {WIDTH: 18%; TEXT-ALIGN: left; PADDING: 4px 6px} 42: #users2 .tc2, #bans1 .tc2 {width: 18%; text-align: left; padding: 4px 6px}
 43: #users2 .tc3, #users2 .tc5, #bans1 .tc3, #bans1 .tc5, #bans1 .tc6 {WIDTH: 12%; TEXT-ALIGN: left; PADDING: 4px 6px} 43: #users2 .tc3, #users2 .tc5, #bans1 .tc3, #bans1 .tc5, #bans1 .tc6 {width: 12%; text-align: left; padding: 4px 6px}
 44: #users2 .tc4, #bans1 .tc4 {WIDTH: 10%; TEXT-ALIGN: center} 44: #users2 .tc4, #bans1 .tc4 {width: 10%; text-align: center}
 45: #users2 .tcr {WIDTH: 20%; WHITE-SPACE: nowrap} 45: #users2 .tcr {width: 20%; white-space: nowrap}
 46: #bans1 .tcr {WIDTH: 15%; WHITE-SPACE: nowrap} 46: #bans1 .tcr {width: 15%; white-space: nowrap}
 47: #users2 .tcmod {WIDTH: 10%; TEXT-ALIGN: center} 47: #users2 .tcmod {width: 10%; text-align: center}
 48: #adminconsole #linkst, #adminconsole #linksb A {FONT-WEIGHT: bold} 48: #adminconsole #linkst, #adminconsole #linksb a {font-weight: bold}
 49:  49: 
 50: /*** Plugins ***/ 50: /*** Plugins ***/


a/viewforum.php b/viewforum.php
108:     <div class="inbox crumbsplus">108:     <div class="inbox crumbsplus">
109:         <ul class="crumbs">109:         <ul class="crumbs">
110:             <li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li>110:             <li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li>
111:             <li><span>»&#160;</span><a href="viewforum.php?id=<?php echo $id ?>"><strong><?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></strong></a></li>111:             <li><span>»&#160;</span><strong><a href="viewforum.php?id=<?php echo $id ?>"><?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></a></strong></li>
112:         </ul>112:         </ul>
113:         <div class="pagepost">113:         <div class="pagepost">
114:             <p class="pagelink conl"><?php echo $paging_links ?></p>114:             <p class="pagelink conl"><?php echo $paging_links ?></p>
287:         </div>287:         </div>
288:         <ul class="crumbs">288:         <ul class="crumbs">
289:             <li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li>289:             <li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li>
290:             <li><span>»&#160;</span><a href="viewforum.php?id=<?php echo $id ?>"><strong><?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></strong></a></li>290:             <li><span>»&#160;</span><strong><a href="viewforum.php?id=<?php echo $id ?>"><?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></a></strong></li>
291:         </ul>291:         </ul>
292: <?php echo (!empty($forum_actions) ? "\t\t".'<p class="subscribelink clearb">'.implode(' - ', $forum_actions).'</p>'."\n" : '') ?>292: <?php echo (!empty($forum_actions) ? "\t\t".'<p class="subscribelink clearb">'.implode(' - ', $forum_actions).'</p>'."\n" : '') ?>
293:         <div class="clearer"></div>293:         <div class="clearer"></div>


a/viewtopic.php b/viewtopic.php
 33:  33: 
 34:     list($id, $posted) = $db->fetch_row($result); 34:     list($id, $posted) = $db->fetch_row($result);
 35:  35: 
 36:     // Determine on what page the post is located (depending on $forum_user['disp_posts']) 36:     // Determine on which page the post is located (depending on $forum_user['disp_posts'])
 37:     $result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'posts WHERE topic_id='.$id.' AND posted<'.$posted) or error('Unable to count previous posts', __FILE__, __LINE__, $db->error()); 37:     $result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'posts WHERE topic_id='.$id.' AND posted<'.$posted) or error('Unable to count previous posts', __FILE__, __LINE__, $db->error());
 38:     $num_posts = $db->result($result) + 1; 38:     $num_posts = $db->result($result) + 1;
 39:  39: 
180:         <ul class="crumbs">180:         <ul class="crumbs">
181:             <li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li>181:             <li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li>
182:             <li><span>»&#160;</span><a href="viewforum.php?id=<?php echo $cur_topic['forum_id'] ?>"><?php echo pun_htmlspecialchars($cur_topic['forum_name']) ?></a></li>182:             <li><span>»&#160;</span><a href="viewforum.php?id=<?php echo $cur_topic['forum_id'] ?>"><?php echo pun_htmlspecialchars($cur_topic['forum_name']) ?></a></li>
183:             <li><span>»&#160;</span><a href="viewtopic.php?id=<?php echo $id ?>"><strong><?php echo pun_htmlspecialchars($cur_topic['subject']) ?></strong></a></li>183:             <li><span>»&#160;</span><strong><a href="viewtopic.php?id=<?php echo $id ?>"><?php echo pun_htmlspecialchars($cur_topic['subject']) ?></a></strong></li>
184:         </ul>184:         </ul>
185:         <div class="pagepost">185:         <div class="pagepost">
186:             <p class="pagelink conl"><?php echo $paging_links ?></p>186:             <p class="pagelink conl"><?php echo $paging_links ?></p>
270:                 if ($pun_config['o_censoring'] == '1')270:                 if ($pun_config['o_censoring'] == '1')
271:                     $cur_post['url'] = censor_words($cur_post['url']);271:                     $cur_post['url'] = censor_words($cur_post['url']);
272: 272: 
273:                 $user_contacts[] = '<span class="website"><a href="'.pun_htmlspecialchars($cur_post['url']).'">'.$lang_topic['Website'].'</a></span>';273:                 $user_contacts[] = '<span class="website"><a href="'.pun_htmlspecialchars($cur_post['url']).'" rel="nofollow">'.$lang_topic['Website'].'</a></span>';
274:             }274:             }
275:         }275:         }
276: 276: 
277:         if ($pun_user['is_admmod'])277:         if ($pun_user['is_admmod'])
278:         {278:         {
279:             $user_info[] = '<dd><span><a href="moderate.php?get_host='.$cur_post['id'].'" title="'.$cur_post['poster_ip'].'">'.$lang_topic['IP address logged'].'</a></span></dd>';279:             $user_info[] = '<dd><span><a href="moderate.php?get_host='.$cur_post['id'].'" title="'.pun_htmlspecialchars($cur_post['poster_ip']).'">'.$lang_topic['IP address logged'].'</a></span></dd>';
280: 280: 
281:             if ($cur_post['admin_note'] != '')281:             if ($cur_post['admin_note'] != '')
282:                 $user_info[] = '<dd><span>'.$lang_topic['Note'].' <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong></span></dd>';282:                 $user_info[] = '<dd><span>'.$lang_topic['Note'].' <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong></span></dd>';
289:         $user_title = get_title($cur_post);289:         $user_title = get_title($cur_post);
290: 290: 
291:         if ($pun_user['is_admmod'])291:         if ($pun_user['is_admmod'])
292:             $user_info[] = '<dd><span><a href="moderate.php?get_host='.$cur_post['id'].'" title="'.$cur_post['poster_ip'].'">'.$lang_topic['IP address logged'].'</a></span></dd>';292:             $user_info[] = '<dd><span><a href="moderate.php?get_host='.$cur_post['id'].'" title="'.pun_htmlspecialchars($cur_post['poster_ip']).'">'.$lang_topic['IP address logged'].'</a></span></dd>';
293: 293: 
294:         if ($pun_config['o_show_user_info'] == '1' && $cur_post['poster_email'] != '' && !$pun_user['is_guest'] && $pun_user['g_send_email'] == '1')294:         if ($pun_config['o_show_user_info'] == '1' && $cur_post['poster_email'] != '' && !$pun_user['is_guest'] && $pun_user['g_send_email'] == '1')
295:             $user_contacts[] = '<span class="email"><a href="mailto:'.$cur_post['poster_email'].'">'.$lang_common['Email'].'</a></span>';295:             $user_contacts[] = '<span class="email"><a href="mailto:'.$cur_post['poster_email'].'">'.$lang_common['Email'].'</a></span>';
386:         <ul class="crumbs">386:         <ul class="crumbs">
387:             <li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li>387:             <li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li>
388:             <li><span>»&#160;</span><a href="viewforum.php?id=<?php echo $cur_topic['forum_id'] ?>"><?php echo pun_htmlspecialchars($cur_topic['forum_name']) ?></a></li>388:             <li><span>»&#160;</span><a href="viewforum.php?id=<?php echo $cur_topic['forum_id'] ?>"><?php echo pun_htmlspecialchars($cur_topic['forum_name']) ?></a></li>
389:             <li><span>»&#160;</span><a href="viewtopic.php?id=<?php echo $id ?>"><strong><?php echo pun_htmlspecialchars($cur_topic['subject']) ?></strong></a></li>389:             <li><span>»&#160;</span><strong><a href="viewtopic.php?id=<?php echo $id ?>"><?php echo pun_htmlspecialchars($cur_topic['subject']) ?></a></strong></li>
390:         </ul>390:         </ul>
391: <?php echo $subscraction ?>391: <?php echo $subscraction ?>
392:         <div class="clearer"></div>392:         <div class="clearer"></div>
435: <textarea name="req_message" rows="7" cols="75" tabindex="<?php echo $cur_index++ ?>"></textarea></label>435: <textarea name="req_message" rows="7" cols="75" tabindex="<?php echo $cur_index++ ?>"></textarea></label>
436:                         <ul class="bblinks">436:                         <ul class="bblinks">
437:                             <li><span><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']; ?></span></li>437:                             <li><span><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']; ?></span></li>
438:                             <li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span>438:                             <li><span><a href="help.php#url" onclick="window.open(this.href); return false;"><?php echo $lang_common['url tag'] ?></a> <?php echo ($pun_config['p_message_bbcode'] == '1' && $pun_user['g_post_links'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
439:                             <li><span><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_bbcode'] == '1' && $pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>439:                             <li><span><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_bbcode'] == '1' && $pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
440:                             <li><span><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a> <?php echo ($pun_config['o_smilies'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>440:                             <li><span><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a> <?php echo ($pun_config['o_smilies'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></span></li>
441:                         </ul>441:                         </ul>


hdiff - version: 2.1.0 (modified)