View file wip-site-portal/src/my_wall.php

File size: 7.57Kb
<?
require('ini.php');

@$mod = $_GET['mod'];

$link=connect();
$user=login('nick, wlim');

head('Стена');

switch($mod){
	
	default:
		@$s = intval($_GET['s']);
		@$msg = trim($_POST['msg']);
		
		echo '<small>';
		
		###
		@$contacts=mysql_fetch_row(mysql_query("select count(id), sum(msg) from wip_contacts where uid='$user[id]';"));
		
		if(@$contacts[1]) echo '<b>Вам поступило '.@$contacts[1].' новых сообщений!</b><br/>';
		else $contacts[1] = 0;
		echo '<a href="contacts.php?sid='.$sid.'">Контакт-лист</a> ['.$contacts[1].'/'.$contacts[0].']<br/>---<br/>';
		###
			
		@$del = intval($_POST['del']);
		@$wid = intval($_GET['wid']);
		
		# Добавляем сообщение
		if($msg or ($del and $wid)){

			$msg = mb_substr(htmlspecialchars($msg, ENT_QUOTES), 0, 255, 'UTF-8');
			
			$msg = str_replace ('$','$$',$msg);
	
			# Добавление смайлов
			$msg=strtr($msg,array(':)'=>'<smile.gif>', ';)'=>'<wink.gif>', 'B)'=>'<cool.gif>', ':(('=>'<aaa.gif>', ':!'=>'<be.gif>', ':S'=>'<blin.gif>', '@='=>'<bum.gif>', ':X'=>'<close.gif>', ';('=>'<cry.gif>', ']:)'=>'<devil.gif>', '@-/-'=>'<flow.gif>', ':]'=>'<gaga.gif>', ':D'=>'<green.gif>', '=)'=>'<ha.gif>', '(:'=>'<lol.gif>', '=/'=>'<hm.gif>', '.kiss.'=>'<kiss.gif>', ':o)'=>'<kloun.gif>', '.lips.'=>'<lips.gif>', '.love.'=>'<love.gif>', '8o'=>'<mmm.gif>', '[:)'=>'<music.gif>', '=]'=>'<napolu.gif>', '.ninja.'=>'<ninja.gif>', '.down.'=>'<no.gif>', '%)'=>'<ogo.gif>', '.pirat.'=>'<pirate.gif>', '.beer.'=>'<pivo.gif>', ':['=>'<red.gif>', ':('=>'<sad.gif>', '.woot.'=>'<shok.gif>', '.zz.'=>'<spit.gif>', '=p'=>'<tong.gif>', ':T'=>'<svist.gif>', '.uuu.'=>'<uuu.gif>', '.wow.'=>'<view.gif>', ':?'=>'<vopros.gif>', '.up.'=>'<yes.gif>', ':@'=>'<angry2.gif>', ':O'=>'<angry.gif>'));
			$arr=explode('<',$msg);
			
			$msg=false;
			
			foreach($arr as $k=>$val){
				if($k!=0 and $k<=3) $msg.='<img src="smiles/'.$val; 
				else $msg.=$val;
			}
			
			$msg=preg_replace("/src\=\"smiles\/([a-z]+)\.gif\>/","src=\"smiles/\\1.gif\" alt=\"\\1\"/>",$msg);
			$msg=eregi_replace("([a-z]+)\.gif\>","",$msg);
			####
			
			# Удаляем сообщение
			if ($del == 1 and $wid){

				$q = mysql_query("SELECT `msg` FROM `wip_wall` WHERE `uid`='".$user['id']."' AND `id`='".$wid."';");
				if(mysql_affected_rows()>0){
					
					$del_msg = mysql_result($q, 0);
					
					# Удаляем файл картинки
					if(stristr($del_msg, 'href="wall_pic')){
						$file = explode('wall_pic/' ,$del_msg);
						$file = explode('"' , $file[1]);
						$file = $file[0];
						
						if(file_exists('wall_pic/'. $file)) unlink('wall_pic/'. $file);
						if(file_exists('wall_thumbs/'. $file)) unlink('wall_thumbs/'. $file);
					}
					###
					
					$delete = mysql_query("DELETE FROM `wip_wall` WHERE `uid`='".$user['id']."' AND `id`='".$wid."';");
				
					if($delete) echo '<b>Запись удалена!</b><br/>';
					else echo '<b>Ошибка удаления!</b><br/>';
				}
				
				
			}
			
			# Сохраняем сообщение
			elseif ($del != 1 and $wid){
				$update = mysql_query("UPDATE `wip_wall` SET `msg`='".$msg."' WHERE `uid`='".$user['id']."' AND `id`='".$wid."';");
				if($update) echo '<b>Запись изменена!</b><br/>';
				else echo '<b>Ошибка записи!</b><br/>';
			}
			
			# Новое сообщение
			else {
				
				mysql_query("SELECT `id` FROM `wip_wall` WHERE `send_id`='".$user['id']."' AND `msg` = '".$msg."' AND `time` > '".(time()-86400)."';");
			
				if(mysql_affected_rows()>0) echo '<b>Вы уже писали это сообщение на стене!</b><br/>';
				else mysql_query("INSERT INTO `wip_wall` SET `uid`='".$user['id']."', `send_id`='".$user['id']."', `time`='".time()."', `msg`='".$msg."';");
			}
			
		}
		####
		
		
		$wlim = $user['wlim'];
		
		if (!$s or $s<=0) $s=1;
		$all = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `wip_wall` WHERE `uid`='".$user['id']."';"), 0);
		$pgs=ceil($all / $wlim);
		if($s > $pgs) $s = $pgs;
		$n = ($s-1) * $wlim;
		
		echo 'Ваша стена:<br/>';
		echo '<a href="my_wall.php?sid='.$sid.'&amp;mod=add">Написать</a> | <a href="my_wall.php?sid='.$sid.'">Обновить</a><br/>';
		echo '---<br/>';
		
		$select = mysql_query("SELECT `w`.`id`, `u`.`id` AS `uid`, `u`.`nick`, `w`.`time`, `w`.`msg` FROM `wip_wall` AS `w`, `wip_users` AS `u` WHERE `uid`='".$user['id']."' AND `w`.`send_id`=`u`.`id` ORDER BY `w`.`id` DESC LIMIT ".$n.", ".$wlim.";");
		
		if(mysql_affected_rows()<1) echo 'На Вашей стене пока никто ничего не писал.<br/>';
		
		else {
			
			while($res = mysql_fetch_assoc($select)){
				
				if($res['uid'] == $user['id']) echo '<b>['.$res['nick'].']</b>';
				else echo '[<a href="user.php?sid='.$sid.'&amp;uid='.$res['uid'].'">'.$res['nick'].'</a>]';
				
				
				echo ', '.date('d.m.Y H:i', $res['time']).'<br/>';
				echo $res['msg'].' [<a href="my_wall.php?sid='.$sid.'&amp;mod=edit&amp;wid='.$res['id'].'">изм</a>]';
				echo '<br/>---<br/>';
			}
			
			# Список страниц
			if ($all > $wlim){
				if ($pgs>3 and $s>2) echo '<a href="my_wall.php?sid='.$sid.'&amp;s=1">1</a>...';
	
				$beg=$s-1; $end=$s+1;
				if ($end>$pgs+1){
					$end=$pgs; $beg=$beg-2;
				}
				elseif ($end>$pgs){
					$end=$pgs; $beg=$beg-1;
				}
				
				for($m=$beg;$m<=$end;$m++){
					if ($m<=0) $end++;
					
					else{
						if($m==$s) echo '<b>'.$m.'</b>';
						else echo '<a href="my_wall.php?sid='.$sid.'&amp;s='.$m.'">'.$m.'</a>';
			
						if($m!=$end) echo '-';
					}
				
					if ($end>$pgs) $end=$pgs;
				}
	
				if ($pgs>3 and $s<=($pgs-2)) echo '...<a href="my_wall.php?sid='.$sid.'&amp;s='.$pgs.'">'.$pgs.'</a>';
				
				echo '<br/>---<br/>';
			}
			
		}
		
		echo '</small>';
		break;
	
	case 'add':
		echo '<small>Написать на своей стене: [<a href="wall_pic.php?sid='.$sid.'&amp;uid='.$user['id'].'">с картинкой</a>]</small><br/>';
		echo '<input name="msg'.$ref.'" type="text" maxlength="255"/><br/>';
		echo '<small><anchor>Сказать<go href="my_wall.php?sid='.$sid.'" method="post">';
		echo '<postfield name="msg" value="$(msg'.$ref.')"/>';
		echo '</go></anchor></small><br/>';
		break;
		
	case 'edit':
		
		@$wid = intval($_GET['wid']);
		
		$select = mysql_query("SELECT `u`.`nick`, `w`.`msg` FROM `wip_wall` AS `w`, `wip_users` AS `u` WHERE `u`.`id`=`w`.`send_id` AND `w`.`uid`='".$user['id']."' AND `w`.`id`='".$wid."';");

		if(mysql_affected_rows()<1){
			echo '<small>Неверная запись!</small><br/>';
			break;
		}
		
		$res = mysql_fetch_assoc($select);
		
		echo '<small>Изменить запись от '.$res['nick'].':</small><br/>';
		echo '<input name="msg'.$ref.'" type="text" maxlength="255" value="'.strip_tags($res['msg']).'"/><br/>';
		echo '<select name="del'.$ref.'">';
		echo '<option value="0">Изменить</option>';
		echo '<option value="1">Удалить</option>';
		echo '</select><br/>';
		echo '<small><anchor>Сохранить<go href="my_wall.php?sid='.$sid.'&amp;wid='.$wid.'" method="post">';
		echo '<postfield name="msg" value="$(msg'.$ref.')"/>';
		echo '<postfield name="del" value="$(del'.$ref.')"/>';
		echo '</go></anchor></small><br/>';
		
		break;
	
}


echo '<small>';
if($mod){
	echo '---<br/>';
	echo '<a href="my_wall.php?sid='.$sid.'">Моя стена</a><br/>';
}

echo '<a href="enter.php?sid='.$sid.'">Главное меню</a>';
echo '</small>';

foot();
mysql_close($link);
?>