Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
260dbdfd56
|
|||
53211076a0
|
|||
5ef5d5f701
|
|||
b053e18e11
|
@ -1,3 +1,11 @@
|
|||||||
|
Version 1.20.2 - Jul. 9, 2016
|
||||||
|
Fix bug preventing to send PMs to number-only nicknames
|
||||||
|
|
||||||
|
Version 1.20.1 - Jun. 13, 2016
|
||||||
|
Bugfix when logging guests out via admin section
|
||||||
|
Don't hide image embedding option in profile with cookies disabled
|
||||||
|
Making a moderator to member now sets incognito back to disabled
|
||||||
|
|
||||||
Version 1.20 - May 15, 2016
|
Version 1.20 - May 15, 2016
|
||||||
Add setting in profile to allow offline inbox for: staff, members or everyone
|
Add setting in profile to allow offline inbox for: staff, members or everyone
|
||||||
Completely fix link-redirection
|
Completely fix link-redirection
|
||||||
|
68
chat.php
68
chat.php
@ -843,7 +843,7 @@ function send_admin($arg=''){
|
|||||||
print_start('admin');
|
print_start('admin');
|
||||||
$chlist="<select name=\"name[]\" size=\"5\" multiple><option value=\"\">$I[choose]</option>";
|
$chlist="<select name=\"name[]\" size=\"5\" multiple><option value=\"\">$I[choose]</option>";
|
||||||
$chlist.="<option value=\"&\">$I[allguests]</option>";
|
$chlist.="<option value=\"&\">$I[allguests]</option>";
|
||||||
array_multisort(array_map('strtolower', array_keys($P)), SORT_ASC, SORT_STRING, $P);
|
array_multisort(array_map('strtolower', (string) array_keys($P)), SORT_ASC, SORT_STRING, $P);
|
||||||
foreach($P as $user){
|
foreach($P as $user){
|
||||||
if($user[2]<$U['status']){
|
if($user[2]<$U['status']){
|
||||||
$chlist.="<option value=\"$user[0]\" style=\"$user[1]\">$user[0]</option>";
|
$chlist.="<option value=\"$user[0]\" style=\"$user[1]\">$user[0]</option>";
|
||||||
@ -940,7 +940,7 @@ function send_admin($arg=''){
|
|||||||
frmadm('status');
|
frmadm('status');
|
||||||
echo "<table class=\"right-table\"><td class=\"right\"><select name=\"name\" size=\"1\"><option value=\"\">$I[choose]</option>";
|
echo "<table class=\"right-table\"><td class=\"right\"><select name=\"name\" size=\"1\"><option value=\"\">$I[choose]</option>";
|
||||||
read_members();
|
read_members();
|
||||||
array_multisort(array_map('strtolower', array_keys($A)), SORT_ASC, SORT_STRING, $A);
|
array_multisort(array_map('strtolower', (string) array_keys($A)), SORT_ASC, SORT_STRING, $A);
|
||||||
foreach($A as $member){
|
foreach($A as $member){
|
||||||
echo "<option value=\"$member[0]\" style=\"$member[2]\">$member[0]";
|
echo "<option value=\"$member[0]\" style=\"$member[2]\">$member[0]";
|
||||||
if($member[1]==0){
|
if($member[1]==0){
|
||||||
@ -1459,7 +1459,7 @@ function send_approve_waiting(){
|
|||||||
echo '<table class="center-table left">';
|
echo '<table class="center-table left">';
|
||||||
echo "<tr><th class=\"padded\">$I[sessnick]</th><th class=\"padded\">$I[sessua]</th></tr>";
|
echo "<tr><th class=\"padded\">$I[sessnick]</th><th class=\"padded\">$I[sessua]</th></tr>";
|
||||||
foreach($tmp as $temp){
|
foreach($tmp as $temp){
|
||||||
echo '<tr>'.hidden('alls[]', $temp['nickname'])."<td class=\"padded\"><input type=\"checkbox\" name=\"csid[]\" id=\"$temp[nickname]]\" value=\"$temp[nickname]\"><label for=\"$temp[nickname]\"> ".style_this($temp['nickname'], $temp['style'])."</label></td><td class=\"padded\">$temp[useragent]</td></tr>";
|
echo '<tr>'.hidden('alls[]', $temp['nickname'])."<td class=\"padded\"><input type=\"checkbox\" name=\"csid[]\" id=\"$temp[nickname]\" value=\"$temp[nickname]\"><label for=\"$temp[nickname]\"> ".style_this($temp['nickname'], $temp['style'])."</label></td><td class=\"padded\">$temp[useragent]</td></tr>";
|
||||||
}
|
}
|
||||||
echo "</table><br><table class=\"center-table left\"><tr><td><input type=\"radio\" name=\"what\" value=\"allowchecked\" id=\"allowchecked\" checked><label for=\"allowchecked\">$I[allowchecked]</label></td>";
|
echo "</table><br><table class=\"center-table left\"><tr><td><input type=\"radio\" name=\"what\" value=\"allowchecked\" id=\"allowchecked\" checked><label for=\"allowchecked\">$I[allowchecked]</label></td>";
|
||||||
echo "<td><input type=\"radio\" name=\"what\" value=\"allowall\" id=\"allowall\"><label for=\"allowall\">$I[allowall]</label></td>";
|
echo "<td><input type=\"radio\" name=\"what\" value=\"allowall\" id=\"allowall\"><label for=\"allowall\">$I[allowall]</label></td>";
|
||||||
@ -1627,11 +1627,11 @@ function send_post(){
|
|||||||
while($tmp=$stmt->fetch(PDO::FETCH_ASSOC)){
|
while($tmp=$stmt->fetch(PDO::FETCH_ASSOC)){
|
||||||
$P[$tmp['nickname']]=["$tmp[nickname] $I[offline]", $tmp['style'], $tmp['status']];
|
$P[$tmp['nickname']]=["$tmp[nickname] $I[offline]", $tmp['style'], $tmp['status']];
|
||||||
}
|
}
|
||||||
array_multisort(array_map('strtolower', array_keys($P)), SORT_ASC, SORT_STRING, $P);
|
array_multisort(array_map('strtolower', (string) array_keys($P)), SORT_ASC, SORT_STRING, $P);
|
||||||
foreach($P as $name => $user){
|
foreach($P as $name => $user){
|
||||||
if($U['nickname']!==$user[0] && !in_array($user[0], $ignored)){
|
if($U['nickname']!==$user[0] && !in_array($user[0], $ignored)){
|
||||||
echo '<option ';
|
echo '<option ';
|
||||||
if($_REQUEST['sendto']===$name){
|
if($_REQUEST['sendto']==$name){
|
||||||
echo 'selected ';
|
echo 'selected ';
|
||||||
}
|
}
|
||||||
echo "value=\"$name\" style=\"$user[1]\">$user[0]</option>";
|
echo "value=\"$name\" style=\"$user[1]\">$user[0]</option>";
|
||||||
@ -1698,7 +1698,7 @@ function send_profile($arg=''){
|
|||||||
print_start('profile');
|
print_start('profile');
|
||||||
echo "<$H[form]>$H[commonform]".hidden('action', 'profile').hidden('do', 'save')."<h2>$I[profile]</h2><i>$arg</i><table class=\"center-table\">";
|
echo "<$H[form]>$H[commonform]".hidden('action', 'profile').hidden('do', 'save')."<h2>$I[profile]</h2><i>$arg</i><table class=\"center-table\">";
|
||||||
thr();
|
thr();
|
||||||
array_multisort(array_map('strtolower', array_keys($P)), SORT_ASC, SORT_STRING, $P);
|
array_multisort(array_map('strtolower', (string) array_keys($P)), SORT_ASC, SORT_STRING, $P);
|
||||||
$ignored=array();
|
$ignored=array();
|
||||||
$ignore=get_ignored();
|
$ignore=get_ignored();
|
||||||
foreach($ignore as $ign){
|
foreach($ignore as $ign){
|
||||||
@ -1776,7 +1776,7 @@ function send_profile($arg=''){
|
|||||||
echo '<tr><td>'.style_this("$U[nickname] : $I[fontexample]", $U['style']).'</td></tr>';
|
echo '<tr><td>'.style_this("$U[nickname] : $I[fontexample]", $U['style']).'</td></tr>';
|
||||||
thr();
|
thr();
|
||||||
$bool_settings=['timestamps', 'nocache'];
|
$bool_settings=['timestamps', 'nocache'];
|
||||||
if(get_setting('imgembed') && isSet($_COOKIE[COOKIENAME])){
|
if(get_setting('imgembed')){
|
||||||
$bool_settings[]='embed';
|
$bool_settings[]='embed';
|
||||||
}
|
}
|
||||||
if($U['status']>=5 && get_setting('incognito')){
|
if($U['status']>=5 && get_setting('incognito')){
|
||||||
@ -2268,7 +2268,7 @@ function logout_chatter($names){
|
|||||||
$stmt1->execute(array($name));
|
$stmt1->execute(array($name));
|
||||||
$stmt2->execute(array($name));
|
$stmt2->execute(array($name));
|
||||||
$stmt3->execute(array($name, $name));
|
$stmt3->execute(array($name, $name));
|
||||||
$stmt4->execute(array($name, $name));
|
$stmt4->execute(array($name));
|
||||||
}
|
}
|
||||||
unset($P[$name]);
|
unset($P[$name]);
|
||||||
}
|
}
|
||||||
@ -2471,33 +2471,35 @@ function change_status($nick, $status){
|
|||||||
}elseif($U['status']<=$status || !preg_match('/^[023567\-]$/', $status)){
|
}elseif($U['status']<=$status || !preg_match('/^[023567\-]$/', $status)){
|
||||||
return sprintf($I['cantchgstat'], $nick);
|
return sprintf($I['cantchgstat'], $nick);
|
||||||
}
|
}
|
||||||
$stmt=$db->prepare('SELECT * FROM ' . PREFIX . 'members WHERE nickname=? AND status<?;');
|
$stmt=$db->prepare('SELECT incognito FROM ' . PREFIX . 'members WHERE nickname=? AND status<?;');
|
||||||
$stmt->execute(array($nick, $U['status']));
|
$stmt->execute(array($nick, $U['status']));
|
||||||
if($stmt->fetch(PDO::FETCH_ASSOC)){
|
if(!$old=$stmt->fetch(PDO::FETCH_NUM)){
|
||||||
if($_REQUEST['set']==='-'){
|
|
||||||
$stmt=$db->prepare('DELETE FROM ' . PREFIX . 'inbox WHERE recipient=?;');
|
|
||||||
$stmt->execute(array($nick));
|
|
||||||
$stmt=$db->prepare('DELETE FROM ' . PREFIX . 'members WHERE nickname=?;');
|
|
||||||
$stmt->execute(array($nick));
|
|
||||||
$stmt=$db->prepare('UPDATE ' . PREFIX . 'sessions SET status=1 WHERE nickname=?;');
|
|
||||||
$stmt->execute(array($nick));
|
|
||||||
if(isSet($P[$nick])){
|
|
||||||
$P[$nick][2]=1;
|
|
||||||
}
|
|
||||||
return sprintf($I['succdel'], $nick);
|
|
||||||
}else{
|
|
||||||
$stmt=$db->prepare('UPDATE ' . PREFIX . 'members SET status=? WHERE nickname=?;');
|
|
||||||
$stmt->execute(array($status, $nick));
|
|
||||||
$stmt=$db->prepare('UPDATE ' . PREFIX . 'sessions SET status=? WHERE nickname=?;');
|
|
||||||
$stmt->execute(array($status, $nick));
|
|
||||||
if(isSet($P[$nick])){
|
|
||||||
$P[$nick][2]=$status;
|
|
||||||
}
|
|
||||||
return sprintf($I['succchg'], $nick);
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
return sprintf($I['cantchgstat'], $nick);
|
return sprintf($I['cantchgstat'], $nick);
|
||||||
}
|
}
|
||||||
|
if($_REQUEST['set']==='-'){
|
||||||
|
$stmt=$db->prepare('DELETE FROM ' . PREFIX . 'inbox WHERE recipient=?;');
|
||||||
|
$stmt->execute(array($nick));
|
||||||
|
$stmt=$db->prepare('DELETE FROM ' . PREFIX . 'members WHERE nickname=?;');
|
||||||
|
$stmt->execute(array($nick));
|
||||||
|
$stmt=$db->prepare('UPDATE ' . PREFIX . 'sessions SET status=1, incognito=0 WHERE nickname=?;');
|
||||||
|
$stmt->execute(array($nick));
|
||||||
|
if(isSet($P[$nick])){
|
||||||
|
$P[$nick][2]=1;
|
||||||
|
}
|
||||||
|
return sprintf($I['succdel'], $nick);
|
||||||
|
}else{
|
||||||
|
if($status<5){
|
||||||
|
$old[0]=0;
|
||||||
|
}
|
||||||
|
$stmt=$db->prepare('UPDATE ' . PREFIX . 'members SET status=?, incognito=? WHERE nickname=?;');
|
||||||
|
$stmt->execute(array($status, $old[0], $nick));
|
||||||
|
$stmt=$db->prepare('UPDATE ' . PREFIX . 'sessions SET status=?, incognito=? WHERE nickname=?;');
|
||||||
|
$stmt->execute(array($status, $old[0], $nick));
|
||||||
|
if(isSet($P[$nick])){
|
||||||
|
$P[$nick][2]=$status;
|
||||||
|
}
|
||||||
|
return sprintf($I['succchg'], $nick);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function passreset($nick, $pass){
|
function passreset($nick, $pass){
|
||||||
@ -3740,7 +3742,7 @@ function load_lang(){
|
|||||||
|
|
||||||
function load_config(){
|
function load_config(){
|
||||||
date_default_timezone_set('UTC');
|
date_default_timezone_set('UTC');
|
||||||
define('VERSION', '1.20'); // Script version
|
define('VERSION', '1.20.2'); // Script version
|
||||||
define('DBVERSION', 23); // Database version
|
define('DBVERSION', 23); // Database version
|
||||||
define('MSGENCRYPTED', false); // Store messages encrypted in the database to prevent other database users from reading them - true/false - visit the setup page after editing!
|
define('MSGENCRYPTED', false); // Store messages encrypted in the database to prevent other database users from reading them - true/false - visit the setup page after editing!
|
||||||
define('ENCRYPTKEY', 'MY_KEY'); // Encryption key for messages
|
define('ENCRYPTKEY', 'MY_KEY'); // Encryption key for messages
|
||||||
|
Reference in New Issue
Block a user