<?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 '» ' . utf_url ($this_uri,'Добавить каталог',true,array('do'=>'newcat', 'j'=>$uis)).'<br/>';
echo '» ' . utf_url ($this_uri, 'Удалить каталог',true,array('do'=>'delcat', 'j'=>$uis)).'<br/><br/>';
echo to_utf ('- Управление альбомом:<br/><br/>');
echo '» ' . utf_url ('./newfoto.php','Загрузка фото(html)',true,array('j'=>$uis)).'<br/>';
echo '» ' . utf_url ('./newfoto.php','Импорт фото',true,array('j'=>$uis, 'do'=>'newph')).'<br/>';
echo '» ' . utf_url ($this_uri, 'Удалить фото',true,array('j'=>$uis, 'do'=>'delph')).'<br/><br/>';
echo utf_url ($this_uri.'?do=my&'.$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&id='.$login['id'].'&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'],'&do=delph&&select&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();
?>