Просмотр файла profile.php

Размер файла: 10.29Kb
<?php
// This is main page;

require './config.php';
tmp_page (to_utf('Личный кабинет'));
echo '<p>';

if(!empty($j) && !$_SESSION['Muis'])list($id,$pass)=explode('_',base64_decode($j));
if ($_SESSION['Muis'])list($id,$pass)=explode('_',base64_decode($_SESSION['Muis']));

function login()
  {
	global $nick,$pass,$id;
		if (empty($id))
			$autorize = sql("select * from `users` where `nick`='$nick' and `pass`='".md5($pass)."';");
		else 
			$autorize = sql("select * from `users` where `id`='$id' and `pass`='".md5($pass)."';");	
    return $autorize;
  };
  
$login=login();
  
if (!$login)
	{

		echo to_utf ('Вход в личный кабинет'). '<br/><br/>';

		echo to_utf ('Логин:<br/>') . '<input type="text" name="nick" maxlength="25"/><br/>';
		echo to_utf ('Пароль:<br/>') .'<input type="password" name="pass" maxlength="12"/><br/>';

		echo utf_url($this_uri, 'Войти', true, array('nick','pass'));
		
		echo '</p><p align="center">'. utf_url ('./', 'Фотоальбом') . '<br/>' . $copy . '<br/>';

	tmp_foot();
	die();
	}
else
{			
	$uis =base64_encode($login['id'].'_'.$pass);
	$us = 'j='.$uis;
	$_SESSION['Muis']=$uis;
}

 switch ($do)
 	{
		default:
		
		echo to_utf('Личный кабинет:<br/><br/>');
		
		echo to_utf ('- Управление каталогами:<br/><br/>');
		echo '&#187; ' . utf_url ($this_uri,'Добавить каталог',true,array('do'=>'newcat', 'j'=>$uis)).'<br/>';
		echo '&#187; ' . utf_url ($this_uri, 'Удалить каталог',true,array('do'=>'delcat', 'j'=>$uis)).'<br/><br/>';
		
		echo to_utf ('- Управление альбомом:<br/><br/>');
		echo '&#187; ' . utf_url ('./newfoto.php','Загрузка фото(html)',true,array('j'=>$uis)).'<br/>';
		echo '&#187; ' . utf_url ('./newfoto.php','Импорт фото',true,array('j'=>$uis, 'do'=>'newph')).'<br/>';
		echo '&#187; ' . utf_url ($this_uri, 'Удалить фото',true,array('j'=>$uis, 'do'=>'delph')).'<br/><br/>';
		
		echo utf_url ($this_uri.'?do=my&amp;'.$us, 'Редакировать анкету');
		
		break;
		
		case 'my':
		
		if ($accept!='upd')
		{
		echo to_utf ('Имя:<br/>') . '<input type="text" name="name" maxlength="25" value="'.$login['name'].'"/><br/>';
		echo to_utf ('Пароль:<br/>') .'<input type="password" name="npass" maxlength="12" value="'.$pass.'"/><br/>';
		echo to_utf ('Возраст:<br/>').'<input type="text" name="age" format="*N" maxlength="2" value="'.$login['age'].'"/><br/>';
		echo to_utf ('День рождения:<br/>') . '<input type="text" name="birth" format="*N" maxlength="2" value="'.$login['birth'].'"/><br/>';
		echo to_utf ('Месяц рождения:<br/>'). '<input type="text" name="bmonth" format="*N" maxlength="2" value="'.$login['bmonth'].'"/><br/>';
		echo to_utf ('E-Mail:<br/>') .'<input type="text" name="mail" maxlength="25" value="'.$login['mail'].'"/><br/>';
		echo to_utf ('Пол: ') . 	  '<select name="pol">
									  <option value="j">'. to_utf ('Ж') . '</option>
									  <option value="m">'. to_utf ('М') . '</option>
									  </select>
									  <br/>
									  ';
		echo to_utf ('О себе:<br/>') . '<input type="text" name="about" maxlength="100" value="'.$login['about'].'"/><br/>';
									  
		echo utf_url($this_uri,'Применить',true,array('name','npass','age','mail','pol','about','birth','bmonth',
														'accept'=>'upd','j'=>$j,'do'=>'my'));

		}
	  else 
		 { 
		  function checkmail ($address) 
			{
			   $return = false;
			   if (preg_match ('/^[\w.-]+@([\w.-]+)\.[a-z]{2,6}$/i', $address, $domain)) {
				 $domain = explode ('.', $domain[0]);
				 foreach ($domain as $part) { 
					 if (substr ($part, 0, 1) == '_' || substr ($part, strlen ($part) - 1, 1) == '_')
					   $return = false; 
					 else
					   $return = true; 
				 }
			   }
			   return $return;
			};

			$name=stripslashes(htmlspecialchars(substr($_POST['name'],0,25), ENT_QUOTES));
			$about=stripslashes(htmlspecialchars(substr($_POST['about'],0,25), ENT_QUOTES));
			$npass=substr($_POST['npass'],0,25);
			$age=(int)$_POST['age'];
			$birth=(int)substr($_POST['birth'],0,2);
			$bmonth=(int)substr($_POST['bmonth'],0,2);
			$pol=substr($_POST['pol'],0,1);
			
				$useragent = htmlentities(getenv('HTTP_USER_AGENT'));
				$userip = $_SERVER['REMOTE_ADDR'];
				$userhost = gethostbyaddr(getenv('REMOTE_ADDR'));
				
				$error = '';
				
				if (empty($name)) $error.= 'Не указано Ваше имя<br/>';
				if (empty($npass)) $error.= 'Не указан пароль<br/>';
				if (!preg_match('/([0-9a-z_]+)/i',$pass)) $error.= 'В пароле обнаружены запрещенные символы<br/>';
				if (empty($pol)) $error.= 'Не указан Ваш пол<br/>';
				if (!empty($mail) && !checkmail($mail)) $error.= 'Формат эл. почты неверный<br/>';
				if (empty($birth))$error .= 'Не указан день рождения<br/>';
				if (empty($bmonth))$error .='Не указан месяц рождения<br/>';
				if ($birth < 1 || $birth > 31) $error .= 'Неверный формат дня рождения<br/>';
				if ($bmonth <1 || $bmonth >12) $error .= 'Неверный формат месяца рождения<br/>';
				
					if ($error==false)
						{
						$sql="update `users` set name='$name', pass='".md5($npass)."', birth='$birth', bmonth='$bmonth', age='$age', sex='$pol', mail='$mail', about='$about', uagent='$useragent', userip='$userip', uhost='$userhots' where id='".$login[id]."';";
						mysql_query($sql) ;

						
						$select=sql("select `id`, `pass` from `users` where `nick`='$login[nick]' and `pass`='".md5($npass)."'");
						echo to_utf (
							"Даные успешно изменены!<br/>".
							"Для перхода к главной странице личного кабинета, нажмите ").
							utf_url('profile.php','Сюда',true,array('id'=>$login['id'], 'pass'=>$npass));
			 }
			  else {
				 	echo to_utf ('Изменение анкеты невозможно по следующим причинам:<br/>'.$error); 
				  }
			};
			
		break;
		
		case 'newcat':
		
		if (isset($add))
			{
			 $error ='';
			 
			 $newcat=stripslashes(htmlspecialchars(substr($_POST['newcat'],0,30), ENT_QUOTES));
			 if (empty($newcat)) $error.='Вы не вели имя каталога, который хотите создать!<br/>';
			 
			 $is_cat =sql("select `gname` from `gallery_id` where `user_id`='$login[id]' and `gname`='$newcat'");
			 if($is_cat[0]==$newcat) $error.= '- Каталог c таким названием уже есть<br/>';
			 
			 if (empty($error))
			 	{
					mysql_query("insert into `gallery_id` set `user_id`='$login[id]', `gname`='$newcat', `crdate`='".time()."';");
					echo to_utf('Каталог с именем `') . $newcat . to_utf('` удачно создан!');
				}
					else {
						echo to_utf('Каталог не может быть создан по следующим причинам: <br/>'.$error);
						}
			 echo '<br/><br/>';
			};
					
		echo to_utf('Введите имя нового каталога:<br/>');
		echo '<input name="newcat" type="text"/><br/>';
		echo utf_url($this_uri,'Добавить каталог',true,array('j'=>$j,'newcat','do'=>'newcat','add'=>'true'));
			  
		break;
		
		case 'delcat':

		if (isset($del))
			{
			 $error ='';
			 
			 if(!is_int($delcat)) $error.= ' - В имени каталога обнаружены запрещенные символы<br/>';
			 $is_cat =sql("select `gname` from `gallery_id` where `user_id`='$login[id]' and `id`='$delcat'");
			 if($is_cat[0]) $error.= '- Каталог c таким названием не найден<br/>';
			 if (empty($delcat)) $error .= ' -Не выбран каталог, который Вы хотите удалить!<br/>';
			 
			 if (empty($error))
			 	{
					mysql_query("delete from `gallery_id` where `user_id`='$login[id]' and `id`='$delcat';");
					echo to_utf('Каталог с именем `') . $delcat . to_utf('` успешно удален!');
				}
					else {
						echo to_utf('Каталог не может быть удален по следующим причинам: <br/>'.$error);
						}
			 echo '<br/><br/>';
			};
					  
		  $tot = sql("select count(*) from `gallery_id` where `user_id`='$login[id]'");

			echo to_utf('Выберите каталог, который хотите удалить:<br/>');
			
			if ($tot[0]>0) 
			{
			$gall_id = mysql_query("select * from `gallery_id` where `user_id`='$login[id]'");
			echo '<select name="delcat">';
			
			while ($top_gall=mysql_fetch_array($gall_id))
					echo '<option value="'.$top_gall['id'].'">'.$top_gall['gname'].'</option>';
				
			echo '</select>';
			echo '<br/>';
			echo utf_url($this_uri,'Удалить каталог',true,array('j'=>$j,'delcat','do'=>'delcat','del'=>'true'));
			}
			else echo  to_utf('Каталогов нет!');
				
		break;
		
		case 'delph':
	
		$cnt = sql("select count(*) from `photo_id` where `user_id`='$login[id]';");
		if ($cnt[0]==0){echo to_utf('Фотографий нет!');}
		
		else {
		
		if (!empty($f))
				{
				$rest = sql("select `original` from `photo_id` where `user_id`='$login[id]' && `id`='".$_POST['f']."';");
				if (file_exists('./photos/'.$rest[0])){
					unlink ('./photos/'.$rest[0]);
					mysql_query("delete from `photo_id` where `user_id`='$login[id]' && `id`='".$_POST['f']."';");
					
					echo to_utf('Фотография успешно удалена!<br/><br/>');
					} 
				else {
					echo to_utf('Фотография не может быть удалена, т.к она не найдена!<br/><br/>');
					};
				};
				
		$fcount = sql("select count(*) from `gallery_id` where `user_id`='$login[id]';");
		echo to_utf('Выберите каталог:<br/>');
		
		$open = mysql_query("select * from `gallery_id` where `user_id`='$login[id]';");
		echo '<select name="cataloge">';
		
		while ($sopen=mysql_fetch_array($open))
			echo '<option value="'.$sopen['id'].'">'.$sopen['gname'].'</option>';
		
		echo '</select><br/>';
		echo utf_url($this_uri,'Выбрать!',true,array('j'=>$j,'cataloge','do'=>'delph','select'=>'true'));

		if (isset($select))
				{
				echo '<br/><br/>';
				$cnt2 = sql("select count(*) from `photo_id` where `user_id`='$login[id]' && `gallery_id`='$cataloge';");
				if ($cnt2[0]==0){echo to_utf('Фотагрфий в выбранном каталоге нет!');}
					
				else {
						
					$is_page=is_page($cnt2[0]);
						
			$open=mysql_query("select * from `photo_id` where `user_id`='$login[id]' && `gallery_id`='$cataloge' order by `crdate` desc limit $is_page[start], $is_page[finish];");
				 for ($i=$is_page['start']; $i<$is_page['finish']; $i++) 
					{
					$res = mysql_fetch_array($open);
					echo'<img src="image.php?pre=80&amp;id='.$login['id'].'&amp;pid='.$res['id'].'" alt="'.$res['phname'].'"/>';
					echo $res['phname'].' ';
					echo utf_url($this_uri,'DEL',true,array('j'=>$j,'do'=>'delph','cataloge'=>$cataloge,'f'=>$res['id']));
					echo '<br/>';
					};
					
			echo '<br/>'.to_utf('Стр. ');
			echo listpages ($is_page['p'],2,$is_page['pages'],'&amp;do=delph&amp;&amp;select&amp;j='.$j);
			echo ' ('.($is_page['start']+1).'-'.$is_page['finish'].to_utf(' из ').$cnt2[0].')';
				}
			}
		}
		
		break;
		}
			
echo '</p>';
if ($do)$link=utf_url($this_uri.'?j='.$j, 'Профиль['.$login['nick'].']').'<br/>';
echo '<p align="center">'.$link. utf_url ('./', 'Фотоальбом') . '<br/>' . $copy ;
tmp_foot();
?>