Файл: msg.php
Строк: 90
<?
if ($msg) { //linkКонтакты
// выведем свой ID, список онлайн и возможность отправить
if ($msg==1) { // основная страница
if ($player['style']=='0') { $stmp = "<a href="#add">[добавить] </a>|";
} else {
$stmp.="n<br/><a href="$PHP_SELF?sid=$sid&msg=dobav">[Добавить]</a>|";
}
if($player["ishmsg"]) $stmp.="<br/><a href="$PHP_SELF?sid=$sid&msg=readis">[Исходящие]</a>";
// список онлайн
$count=0;
foreach (array_keys($player["msg"]) as $i) {
if (isset($game["players"][$i])) {
$count++;
$stmp.="n<br/><a href="$PHP_SELF?sid=$sid&msg=read&id=$i">".$game["loc"][$game["players"][$i]][$i]["title"];
if ($player["msg"][$i]) $stmp.=" (+)";
$stmp.="</a>";
}
}
// список оффлайн
$count = 0;
if ( isset($player["msg"]) && count($player["msg"]) ) foreach (array_keys($player["msg"]) as $i) if ( $player["msg"][$i] && !isset($game["players"][$i]) ) $count++;
if ($count) $stmp.="<br/>---n<br/><a href="$PHP_SELF?sid=$sid&msg=off">Оффлайн:($count)</a>";
// карта добавить
if ($player['style']=='0'){
$stmp1='';
if ($game["loc"][$player["loc"]]) foreach(array_keys($game["loc"][$player["loc"]]) as $i) if ($i!=$login && substr($i,0,5)=='user.') {
$stmp1.="<br/><a href="$PHP_SELF?sid=$sid&id=".$i."&msg=add">";
$stmp1.=$game["loc"][$player["loc"]][$i]["title"];
$stmp1.="</a>";
}
if (!$stmp1) $stmp1="<br/>никого нет";
$stmp.="n</p>n</card>n<card id="add" title="Добавить"><p>Кого добавить:".$stmp1;
}
}
if ($msg=='dobav') {
// список онлайн
$count=0;
foreach (array_keys($player["msg"]) as $i) {
if (isset($game["players"][$i])) {
$count++;
$stmp.="n<br/><a href="$PHP_SELF?sid=$sid&msg=read&id=$i">".$game["loc"][$game["players"][$i]][$i]["title"];
if ($player["msg"][$i]) $stmp.=" (+)";
$stmp.="</a>";
}
}
// карта добавить
$stmp1='';
if ($game["loc"][$player["loc"]]) foreach(array_keys($game["loc"][$player["loc"]]) as $i) if ($i!=$login && substr($i,0,5)=='user.') {
$stmp1.="<br/><a href="$PHP_SELF?sid=$sid&id=".$i."&msg=add">";
$stmp1.=$game["loc"][$player["loc"]][$i]["title"];
$stmp1.="</a>";
}
if (!$stmp1) $stmp1="<br/>никого нет";
$stmp.="n</p>n</card>n<card id="add" title="Добавить"><p>Кого добавить:".$stmp1;
}
if ($msg=='off'){
foreach (array_keys($player["msg"]) as $i) {
if (!isset($game["players"][$i])) {
$stmp.="n<br/><a href="$PHP_SELF?sid=$sid&msg=read&id=$i">".$i;
if ($player["msg"][$i]) $stmp.=" (+)";
$stmp.="</a>";
}
}
}
if ($msg=='add') { // добавить $id
if (!$id) msg("Вы должны указать ID того, кого хотите добавить в свои контакты");
$player["msg"][$id]="";
$stmp="ID ".$id." добавленn<br/><a href="$PHP_SELF?sid=$sid&msg=1">Контакты</a>";
addjournal($id,'<u>Вас добавил в контакты '.$login.'</u>');
}
if ($msg=='del') { // добавить $id
if (!$id) msg("Вы должны указать ID того, кого хотите удалить из своих контактов");
unset($player["msg"][$id]);
$stmp="ID ".$id." удаленn<br/><a href="$PHP_SELF?sid=$sid&msg=1">Контакты</a>";
addjournal($id,'<u>Вас удалил из контактов '.$login.'</u>');
}
if ($msg=='cls') { // очистка msg
$player["msg"][$id]=""; // удаляем прочитанные сообщения
$stmp="Сообщения очищены";
}
if ($msg=='iscls') { // очистка msg
unset($player["ishmsg"]); // удаляем прочитанные сообщения
$stmp="Сообщения очищены";
}
if ($msg=='read') { // добавить $id
if (!$id) msg("Вы должны указать ID того, чьи сообщения хотите прочитать");
$stmp=$game["loc"][$game["players"][$id]][$id]["title"]." (ID: $id)n<br/><a href="$PHP_SELF?sid=$sid&msg=del&id=$id">[Удалить Контакт]</a>";
if (!$player["msg"][$id]) $stmp.="n<br/>Сообщений нет";
else $stmp.="n<br/>".preg_replace("/{[^}]+}/","",$player["msg"][$id],strlen($player["msg"][$id])-700);
$stmp.="n<br/><a href="$PHP_SELF?sid=$sid&msg=cls&id=$id">[Очистить]</a>";
if ($player['style']=='0') $stmp.="n<br/><a href="#write">[Написать]</a>"; else
$stmp.="n<br/><a href="$PHP_SELF?sid=$sid&msg=napis&id=$id">[Написать]</a>";
// карта написать
if ($player['style']=='0'){
$stmp.="n</p>n</card>n<card id="write" title="Написать">n<p>n<input name="text" maxlength="200"/>n<br/>";
$stmp.="<anchor>[ok]<go method="post" href="$PHP_SELF?sid=$sid&msg=write&id=$id">
<postfield name="text" value="$(text)"/></go></anchor>";
}
}
if ($msg=='readis') { // добавить $id
$player["ishmsg"]=str_replace("user.","",$player["ishmsg"]);
if (!$player["ishmsg"]) $stmp.="n<br/>Сообщений нет";
else $stmp.="n<br/>".$player["ishmsg"]."";
if (strlen($player["ishmsg"])>70){ unset ($player["ishmsg"]);
addjournal ($login,"Сообщения очищены, т.к превышают 70символов");
}
$stmp.="n<br/><a href="$PHP_SELF?sid=$sid&msg=iscls">[Очистить]</a>";
}
if ($msg=='napis')
$stmp.="<form action="$PHP_SELF?sid=$sid&msg=write&id=$id" method="post"><input name="text" class="inup"/>n<br/><input type="submit" value="Написать" class="btn">";
if ($msg=='write') { // добавить $id
if (!$id) msg("Вы должны указать того, кому пишете собщение");
if ( !$HTTP_POST_VARS["text"] ) msg("Нет текста для отправки");
$text = $HTTP_POST_VARS["text"];
if (ereg("[%<>'{}$#&]+",$text)) msg("Присутствуют запрещенные символы!.");
$text=substr($text,0,160);
$text=strip_tags($text);
$text=str_replace("+"," ",$text);
$text=str_replace("&","",$text);
$text=str_replace("#","",$text);
$text=str_replace('$','',$text);
if (!isset($game["players"][$id])) msg("Нет такого пользователя");
if (isset($game["players"][$id])) {
$md1=getdate(time());
$md1=$md1["yday"];
$fnum23=fopen("msg/p$md1.dat","a+t");
$stroka23=">".$login." to ".$id.": ".$text."n";
$stroka23=str_replace("user.","",$stroka23);
fputs($fnum23,$stroka23);
fclose($fnum23);
if (!isset($game["loc"][$game["players"][$id]][$id]["msg"][$login])) msg("Вы не добавлены в контакты у ".$game["loc"][$player["loc"]][$id]["title"]);
if ($game["loc"][$game["players"][$id]][$id]["msg"][$login]) $game["loc"][$game["players"][$id]][$id]["msg"][$login].="<br/>";
$game["loc"][$game["players"][$id]][$id]["msg"][$login].="[".date("d.m H:i")."] ".strip_tags($text);
$game["loc"][$game["players"][$login]][$login]["ishmsg"].="<br/>$id "."[".date("d.m H:i")."] "."- $text";
addjournal($id,'<u>Сообщение от '.$login.': '.strip_tags($text).'</u>');
} else {
if (!isset($game["loc"]["loc.offline"][$id]["msg"][$login])) msg("Вы не добавлены в контакты у ".$game["loc"][$player["loc"]][$id]["title"]);
if ($game["loc"]["loc.offline"][$id]["msg"][$login]) $game["loc"]["loc.offline"][$id]["msg"][$login].="<br/>";
$game["loc"]["loc.offline"][$id]["msg"][$login].="[".date("d.m H:i")."] ".strip_tags($text);
}
$stmp="Сообщение для ".$game["loc"][$player["loc"]][$id]["title"]." отправленоn<br/><a href="$PHP_SELF?sid=$sid&msg=1">Контакты</a>";
}
msg($stmp,"Контакты");
}
?>