Просмотр файла gallery/index.php

Размер файла: 19.88Kb
  1. <?php
  2. require_once"../template/start.php";
  3. require_once"../template/regglobals.php";
  4. require_once"../template/config.php";
  5. require_once"../template/functions.php";
  6. require_once"../template/antidos.php";
  7. require_once"../template/cookies.php";
  8. require_once"../template/gzip.php";
  9. require_once"../template/header.php";
  10. require_once"../template/referer.php";
  11. include_once"../themes/$config_themes/index.php";
  12. include_once"../template/isset.php";
  13.  
  14. mb_internal_encoding('UTF-8');
  15. Error_Reporting(E_ALL & ~ E_NOTICE);
  16.  
  17. $auth = $_SESSION['log']!="" && md5($_SESSION['par'])!="" && md5($_SESSION['par'])==$provpar && $_SESSION['log']==$provlog ? true : false;
  18. $dirsize = 30;
  19.  
  20. function page($start, $posts, $total, $page){
  21. echo'<div class="menu"><div class="b">';
  22.  
  23. if ($start != 0) {echo '<a href="'.$page.'start='.($start - $posts).'">&lt;-Назад</a> ';}else{echo'&lt;-Назад';}
  24. echo' | ';
  25. if ($total > $start + $posts) {echo ' <a href="'.$page.'start='.($start + $posts).'">Далее-&gt;</a>';}else{echo'Далее-&gt;';}
  26.  
  27. $ba=ceil($total/$posts);
  28. $ba2=$ba*$posts-$posts;
  29.  
  30. echo '</div>Страницы:';
  31. $asd=$start-($posts*4);
  32. $asd2=$start+($posts*5);
  33.  
  34. if($asd<$total && $asd>0){echo ' <a href="'.$page.'start=0">1</a> ... ';}
  35.  
  36. for($i=$asd; $i<$asd2;){
  37. if($i<$total && $i>=0){
  38. $ii=floor(1+$i/$posts);
  39.  
  40. if ($start==$i) {
  41. echo ' <b>('.$ii.')</b> ';
  42. } else {
  43. echo ' <a href="'.$page.'start='.$i.'">'.$ii.'</a>';
  44. }}
  45.  
  46.  
  47. $i=$i+$posts;
  48. }
  49. if($asd2<$total){echo ' ... <a href="'.$page.'start='.$ba2.'">'.$ba.'</a>';}
  50. echo'</div>';
  51. }
  52.  
  53. $user = $_GET['user'] ? check($_GET['user']) : $log;
  54.  
  55. echo'<div class="b">Фотогалерея</div>';
  56.  
  57. if($auth){
  58.  
  59. if(isset($_GET['action'])) $action = $_GET['action']; else $action = false;
  60.  
  61. switch($action){
  62.  
  63. case('addkomm'):
  64.  
  65. if(isset($_GET['id'])) $id = abs((int)$_GET['id']);
  66. else $id = 0;
  67. if(isset($_GET['dir'])) $dir = abs((int)$_GET['dir']);
  68. else $dir = 1;
  69.  
  70. echo'<div class="b"> Добавление комментария</div>';
  71.  
  72. if ($_SESSION['log']!="" && md5($_SESSION['par'])!="" && md5($_SESSION['par'])==$provpar && $_SESSION['log']==$provlog ){
  73. if(strlen(utf_to_win(trim($msg)))>5 && strlen(utf_to_win($msg))<750){
  74. if(file_exists("../local/datagallery/$gid")){
  75.  
  76. //--------------------- Новый антифлуд -----------------------------//
  77. if($config_floodstime > 0){
  78. if(flooder($ip, $php_self) == TRUE ){header ("location: index.php?action=komm&id=$id&user=$user&dir=$dir&isset=antiflood&"); exit;}
  79. $flood_file = fopen(BASEDIR."local/flood.dat", "a+");
  80. flock ($flood_file,LOCK_EX);
  81. fputs ($flood_file,"$sitetime|$ip|$php_self|\r\n");
  82. fflush($flood_file);
  83. flock ($flood_file,LOCK_UN);
  84. fclose($flood_file);
  85. }
  86.  
  87. //--------------------- Карантин -----------------------------//
  88.  
  89. if($config_karantin > 0){
  90. if($udata[6]+$config_karantin>$sitetime){header ("Location: index.php?action=komm&gid=$gid&isset=karantin&".SID); exit;}
  91. }
  92.  
  93. $msg=wordwrap($msg,100,' ',1);
  94. $msg=substr($msg,0,750);
  95. $msg=check($msg);
  96.  
  97. if($trans=="y"){$msg=transliter($msg);}
  98. $msg = antimat($msg);
  99. $msg = smiles($msg);
  100.  
  101. $text=$msg.'||'.$sitetime.'|'.$log.'|';
  102. $text=no_br($text);
  103.  
  104. $fp=fopen("../local/commgallery/$user/$id.dat","a+");
  105. flock ($fp,LOCK_EX);
  106. fputs($fp,"$text\r\n");
  107. flock ($fp,LOCK_UN);
  108. fclose($fp);
  109. chmod("../local/commgallery/$user/$id.dat", 0777);
  110.  
  111. //Ваш комментарий успешно добавлен!
  112. header("location: index.php?action=komm&id=$id&user=$user&dir=$dir&isset=addkomm&".SID);
  113.  
  114. }else{echo'<b>Ошибка, такой фотографии не существует!</b><br>'; }
  115. }else{echo'<b>Вы не написали комментарий или он слишком короткий</b><br>'; }
  116. }else{
  117. echo 'Вы не авторизованы, чтобы добавить сообщение необходимо<br>';
  118. echo '<b><a href="../pages/vhod.php?'.SID.'">Авторизоваться</a></b> или в начале <b><a href="../pages/registration.php?'.SID.'">Зарегистрироваться</a></b><br>';
  119. }
  120.  
  121. echo'<a href="index.php?action=komm&amp;id='.$dt[8].'&amp;dir='.$dir.'&amp;user='.$user.'">Вернуться</a><br>';
  122. break;
  123.  
  124. case('komm'):
  125. if(isset($_GET['id'])) $id = abs((int)$_GET['id']);
  126. else $id = 0;
  127. if(isset($_GET['dir'])) $dir = abs((int)$_GET['dir']);
  128. else $dir = 1;
  129.  
  130. if($act=="del"){
  131. if($provpar==md5($_SESSION['par']) && $provlog==$_SESSION['log']){
  132. if ($dostup==101 || $dostup==102 || $dostup==103 || $dostup==105){
  133. $file=file('../local/commgallery/'.$user.'/'.$id.'.dat');
  134. $fp=fopen('../local/commgallery/'.$user.'/'.$id.'.dat',"w");
  135. flock ($fp,LOCK_EX);
  136. for ($i=0;$i< sizeof($file);$i++) { if ($i==$num) {unset($file[$i]);} }
  137. fputs($fp, implode("",$file));
  138. flock ($fp,LOCK_UN);
  139. fclose($fp);}}}
  140.  
  141. $fotos = '../local/gallery/'.$user.'.dat';
  142.  
  143. if(file_exists($fotos) && count($fotos)>0){
  144.  
  145. $foto = array_reverse(file($fotos));
  146. $total = count($foto);
  147.  
  148. $truefoto = false;
  149.  
  150. for ($i = 0; $i < $total; $i++){
  151. $dt = explode("|", $foto[$i]);
  152. if($dt[8] == $id){$fotoid = $i; $truefoto = true;}
  153. }
  154.  
  155. if($truefoto){
  156.  
  157. if ($auth){
  158.  
  159.  
  160. echo'<form action="index.php?action=addkomm&amp;id='.$id.'&amp;user='.$user.'" name="form" method="post">';
  161.  
  162. echo'<b>Сообщение:</b><br>';
  163. echo'<textarea cols="25" rows="3" name="msg"></textarea><br>';
  164. echo "<script language=\"JavaScript\" type=\"text/javascript\"> function tag(text1, text2) { if ((document.selection)) { document.form.msg.focus(); document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2; } else if(document.forms['form'].elements['msg'].selectionStart != undefined) { var element = document.forms['form'].elements['msg']; var str = element.value; var start = element.selectionStart; var length = element.selectionEnd - element.selectionStart; element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length); } else document.form.msg.value += text1+text2; } </script>";include_once BASEDIR."template/quickcode.php";include_once BASEDIR."template/quicksmiles.php";
  165.  
  166. if($config_translit=="1"){
  167. echo'Транслит: <input name="trans" type="checkbox" value="y" /><br>';}
  168. echo'<input type="submit" value="Написать" /></form><hr>';
  169.  
  170. }else{
  171. echo 'Вы не авторизованы, чтобы добавить сообщение необходимо<br>';
  172. echo '<b><a href="../pages/vhod.php?'.SID.'">Авторизоваться</a></b> или в начале <b><a href="../pages/registration.php?'.SID.'">Зарегистрироваться</a></b><br>';
  173. }
  174.  
  175. $comm = "../local/commgallery/$user/$id.dat";
  176.  
  177. if(file_exists($comm) && count($comm)>0){
  178. $file = file("../local/commgallery/$user/$id.dat");
  179. $file = array_reverse($file);
  180. $total = count($file);
  181.  
  182. $start = abs((int)$_GET['start']);
  183. if($start < 0 || $start > $total){$start = 0;}
  184. if ($total < $start + $config_postgallery){$end = $total;}
  185. else {$end = $start + $config_postgallery;}
  186. for ($i = $start; $i < $end; $i++){
  187.  
  188. $data = explode("|",$file[$i]);
  189. $num=$total-$i-1;
  190.  
  191. $ava = file("../local/profil/$data[3].prof");
  192. $avv = explode(":||:",$ava[0]);
  193.  
  194. $data[0]=bb_code($data[0]);
  195.  
  196. echo'<div class=b> ';
  197. if(!empty($udata[45])){
  198. if($avv[43]!="" && $avv[43]!="noavatar.gif"){
  199. echo'<img src="../'.$avv[43].'" alt=""> ';}else{
  200. echo'<img src="../images/avators/noavatar.gif" alt=""> ';}
  201.  
  202. echo '<b><a href="../pages/anketa.php?uz='.$data[3].'"> '.nickname($data[3]).' </a></b> '.user_online($data[3]);
  203. }else{
  204. echo'<img src="../images/img/edit.gif" alt=""> <b><a href="../pages/anketa.php?uz='.$data[3].'"> '.nickname($data[3]).' </a></b> '.user_online($data[3]);
  205. }
  206.  
  207. echo '<small> ('.date_fixed($data[2]).')</small>';
  208.  
  209. if ($auth && ($dostup==101 || $dostup==102 || $dostup==103 || $dostup==105)){
  210. echo ' <a href="index.php?action=komm&amp;id='.$dt[8].'&amp;dir='.$dir.'&amp;user='.$user.'&amp;act=del&amp;num='.$num.'"><font color="#FF0000">[Del]</font></a>';
  211. }
  212.  
  213. echo '</div><div>'.$data[0].'</div>';
  214.  
  215. }
  216.  
  217. if($log!=$page){$self=explode("/",$_SERVER["PHP_SELF"]);$chel=nickname($log);$mess="$chel добавил <a href=\"../list/komm.php?action=komm&amp;gid=$gid&amp;mod=$mod&amp;page=$page&amp;".SID."\">комментарий</a> в вашей личной страничке! Посмотрите на досуге)))";$mess=base64_encode($mess);$tex="Смотрящий|$mess|$sitetime";$fp=fopen(BASEDIR."local/privat/$page.priv","a+"); flock($fp,LOCK_EX); fputs($fp,"$tex \r\n");fflush ($fp);flock ($fp,LOCK_UN);fclose($fp); @chmod("$fp", 0777);@chmod(BASEDIR."local/privat/$page.priv", 0777);$ufile = file(BASEDIR."local/profil/$page.prof"); $udata = explode(":||:",$ufile[0]);$udata[10]=$udata[10]+1;for ($u=0; $u<$config_userprofkey; $u++){$utext.=$udata[$u].':||:';}if($udata[0]!="" && $udata[1]!="" && $udata[4]!="" && $utext!=""){$fp=fopen(BASEDIR."local/profil/$page.prof","a+");flock($fp,LOCK_EX);ftruncate($fp,0);fputs($fp,$utext);fflush($fp);flock($fp,LOCK_UN);fclose($fp); unset($utext);}}
  218. page($start, $config_postgallery, $total, 'index.php?action=komm&amp;dir='.$dir.'&amp;user='.$user.'&amp;id='.$id.'&amp;');
  219. echo '<br>';
  220. } else echo '<b>Комментариев еще нет!</b><hr>';
  221. } else echo '<b>Данной фотографии нет!</b><br>';
  222.  
  223. } else echo '<b>Фотографий нет!</b><br>';
  224. echo '<a href="index.php?user='.$user.'&amp;dir='.$dir.'">Вернуться</a><br>';
  225. break;
  226.  
  227. case('show'):
  228. if(isset($_GET['id'])) $id = abs((int)$_GET['id']);
  229. else $id = 0;
  230. if(isset($_GET['dir'])) $dir = abs((int)$_GET['dir']);
  231. else $dir = 1;
  232.  
  233. $fotos = '../local/gallery/'.$user.'.dat';
  234.  
  235. if(file_exists($fotos) && count($fotos)>0){
  236.  
  237. $foto = file($fotos);
  238. $total = count($foto);
  239.  
  240. $start = abs((int)$_GET['start']);
  241.  
  242. $truefoto = false;
  243.  
  244. for ($i = 0; $i < $total; $i++){
  245. $dt = explode("|", $foto[$i]);
  246. if($dt[8] == $id){$fotoid = $i; $truefoto = true;}
  247. }
  248.  
  249. if($truefoto){
  250.  
  251. if(isset($_GET['del']) && ($log==$user || $dostup==101)){
  252. $delstring = explode("|", $foto[$fotoid]);
  253.  
  254. unset($foto[$fotoid]);
  255.  
  256. $file = fopen('../local/gallery/'.$user.'.dat', 'w');
  257. fputs($file, implode('', $foto));
  258. fclose($file);
  259. chmod('../local/gallery/'.$user.'.dat', 0666);
  260.  
  261. $categories = file('../local/gallery/'.$user.'.cat');
  262.  
  263. for($i=0; $i<count($categories); $i++){
  264. $catinfo = explode('|', $categories[$i]);
  265. if($delstring[4]==$catinfo[1]){
  266. $catinfo[2]--;
  267. $categories[$i] = implode('|', $catinfo);
  268. }
  269. }
  270.  
  271. $file = fopen('../local/gallery/'.$user.'.cat', 'w');
  272. fputs($file, implode('', $categories));
  273. fclose($file);
  274. chmod('../local/gallery/'.$user.'.cat', 0666);
  275.  
  276. header("Location: index.php?action=view&user=$user&dir=$dir");
  277. }
  278.  
  279. $dt = explode("|", $foto[$fotoid]);
  280.  
  281. $totalkomm=0;
  282. if (file_exists("../local/commgallery/$dt[8].dat")){
  283. $file = file("../local/commgallery/$dt[8].dat");
  284. $totalkomm = count($file);
  285. }
  286.  
  287. echo '<div class=b><div class=menu>';
  288. echo '<b>'.$dt[1].'</b> ('.formatsize($dt[5]).')';
  289. if($log==$user || $dostup==101) echo ' [<a href="index.php?action=show&amp;dir='.$dir.'&amp;id='.$id.'&amp;fid='.$fotoid.'&amp;user='.$user.'&amp;del"><font color="red">del</font></a>]<br>';
  290. echo '</div><div>';
  291.  
  292. if($dt[6]>240 || $dt[7]>240){
  293. echo '<img src="resize.php?act='.$dt[9].'&amp;gdir=local&amp;gpoddir=gallery/'.$user.'&amp;gname='.$dt[8].'.'.$dt[9].'&amp;maxsize=240" alt="">';
  294. }else{
  295. echo '<img src="gallery.php?image='.$dt[8].'.'.$dt[9].'&amp;user='.$user.'" alt="">';
  296. }
  297.  
  298. echo '<br>'.$dt[0].'<br>';
  299. echo 'Размер: <b>'.$dt[6].' х '.$dt[7].'</b><br>';
  300. echo 'Добавил: <a href="../pages/anketa.php?uz='.$dt[2].'">'.nickname($dt[2]).'</a> ('.date_fixed($dt[3]).')<br>';
  301.  
  302.  
  303. echo '<a href="index.php?action=komm&amp;id='.$dt[8].'&amp;dir='.$dir.'&amp;user='.$user.'">Комментарии</a> ('.(int)$totalkomm.')';
  304. echo '</div>';
  305.  
  306. } else echo '<b>Данной фотографии нет!</b><br>';
  307.  
  308. } else echo '<b>Фотографий нет!</b><br>';
  309. echo '<a href="index.php?action=view&amp;user='.$user.'&amp;dir='.$dir.'&amp;start='.$start.'">Назад</a><br>';
  310. break;
  311.  
  312. case('view'):
  313. if(isset($_GET['dir'])) $dir = abs((int)$_GET['dir']);
  314. else $dir = 1;
  315.  
  316. $fotos = '../local/gallery/'.$user.'.dat';
  317.  
  318. if(file_exists($fotos) && count($fotos)>0){
  319.  
  320. $fotos = array_reverse(file($fotos));
  321.  
  322. $foto = array();
  323.  
  324. for ($i = 0; $i < count($fotos); $i++){
  325. $data = explode('|', $fotos[$i]);
  326. if($data[4] == $dir) $foto[]=$fotos[$i];
  327. }
  328.  
  329. $total = count($foto);
  330.  
  331. if($total<1) echo '<b>Фотографий еще нет!</b><br>';
  332.  
  333. $start = abs((int)$_GET['start']);
  334. if($start > $total) $start = 0;
  335. if ($total < $start + $config_fotolist) $end = $total;
  336. else $end = $start + $config_fotolist;
  337.  
  338. for ($i = $start; $i < $end; $i++){
  339.  
  340. $dt = explode("|", $foto[$i]);
  341.  
  342. $totalkomm = 0;
  343. if (file_exists("../local/commgallery/$user/$dt[8].dat")){
  344. $file = file("../local/commgallery/$user/$dt[8].dat");
  345. $totalkomm = count($file);
  346. }
  347.  
  348. echo '<div class=b> ';
  349. echo '<b><a href="index.php?action=show&amp;id='.$dt[8].'&amp;dir='.$dir.'&amp;user='.$user.'&amp;start='.$start.'">'.$dt[1].'</a></b> ('.formatsize($dt[5]).')</div><div class=menu>';
  350.  
  351. if($dt[6]>$config_previewsize || $dt[7]>$config_previewsize){
  352. echo '<img src="resize.php?act='.$dt[9].'&amp;gdir=local&amp;gpoddir=gallery/'.$user.'&amp;gname='.$dt[8].'.'.$dt[9].'&amp;maxsize='.$config_previewsize.'" alt="">';
  353. }else{
  354. echo '<img src="gallery.php?image='.$dt[8].'.'.$dt[9].'&amp;user='.$user.'" alt="">';
  355. }
  356.  
  357. echo'<br>'.$dt[0].'<br>';
  358.  
  359. echo 'Разместил: <a href="../pages/anketa.php?uz='.$dt[2].'">'.nickname($dt[2]).'</a> ('.date_fixed($dt[3]).')<br>';
  360. echo '<a href="index.php?action=komm&amp;id='.$dt[8].'&amp;dir='.$dir.'&amp;user='.$user.'">Комментарии</a> ('.(int)$totalkomm.')';
  361. echo '</div>';
  362. }
  363.  
  364. page($start, $config_fotolist, $total, 'index.php?action=view&amp;dir='.$dir.'&amp;user='.$user.'&amp;');
  365. echo '<br>';
  366.  
  367. } else echo '<b>Фотографий нет!</b><br>';
  368. echo '<a href="index.php?user='.$user.'">Назад</a><br>';
  369. break;
  370.  
  371. case('add'):
  372. if(file_exists('../local/gallery/'.$log.'.cat')){
  373.  
  374. if(isset($_POST['cat'])){
  375.  
  376. $tmp = $_FILES['file']['tmp_name'];
  377. $tmp_name = $_FILES['file']['name'];
  378. $tmp_size = filesize($tmp);
  379. $name = no_br(check($_POST['name']));
  380. $cat = abs((int)$_POST['cat']);
  381. $msg = check($_POST['msg']);
  382. $error = false;
  383.  
  384. $format = mb_strtolower(pathinfo($tmp_name, PATHINFO_EXTENSION));
  385. $formats = array('jpg', 'gif', 'png');
  386.  
  387. if(!is_uploaded_file($tmp)) $error.='Укажите файл для загрузки<br>';
  388. if(!in_array($format, $formats)) $error.='Данный файл не является фотографией!<br>';
  389. if(mb_strlen($name)>$dirsize) $error.='Недопустимая длина названия фотографии<br>';
  390. if(empty($name)) $error.='Отсутствует название фотографии!<br>';
  391. if(empty($msg)) $error.='Отсутствует описание фотографии!<br>';
  392.  
  393. $cats = file('../local/gallery/'.$log.'.cat');
  394.  
  395. $dirs = array();
  396.  
  397. $counts = 0;
  398.  
  399. for($i=0; $i<count($cats); $i++){
  400.  
  401. $catinfo = explode('|', $cats[$i]);
  402.  
  403. $dirs[] = $catinfo[1];
  404. if($cat==$catinfo[1]) $idcat = $i;
  405.  
  406. $counts+=$catinfo[3];
  407. }
  408.  
  409. if(!in_array($cat, $dirs)) $error.='Выберите категорию!<br>';
  410.  
  411. list($width, $height) = GetImageSize($tmp);
  412.  
  413. if($width>$config_filefoto && $height>$config_filefoto && $height<10 && $width<10)
  414. $error.='Слишком большой размер фотографии!<br>';
  415.  
  416. if($tmp_size>$config_filesize && $tmp_size<=0)
  417. $error.='Слишком большой вес файла!<br>';
  418.  
  419. if($error)
  420. echo '<b>Обнаружены ошибки при добавлении фотографии:</b><br>'.$error;
  421. else {
  422.  
  423. $FileName = "../local/gallery/$log/$counts.$format";
  424. move_uploaded_file($tmp, $FileName);
  425. chmod($FileName, 0777);
  426.  
  427. $text = $msg.'|'.$name.'|'.$log.'|'.$sitetime.'|'.$cat.'|'.$tmp_size.'|'.$width.'|'.$height.'|'.$counts.'|'.$format.'|';
  428. $text = no_br($text);
  429.  
  430. $datacat = explode('|', $cats[$idcat]);
  431. $datacat[3]++;
  432. $datacat[2]++;
  433. $textcat = implode('|', $datacat);
  434. $cats[$idcat] = $textcat;
  435.  
  436. $file = fopen('../local/gallery/'.$log.'.cat', 'w');
  437. fputs($file, implode('', $cats));
  438. fclose($file);
  439. chmod('../local/gallery/'.$log.'.cat', 0666);
  440.  
  441. $file = fopen('../local/gallery/'.$log.'.dat', 'a+');
  442. fputs($file, "$text\r\n");
  443. fclose($file);
  444. chmod('../local/gallery/'.$log.'.dat', 0666);
  445.  
  446. header ("Location: index.php?isset=addfoto"); exit;
  447.  
  448. }
  449.  
  450. } else {
  451. echo '<form action="index.php?action=add" method="post" name="form" enctype="multipart/form-data">';
  452. echo 'Название: <br><input type="text" value="" name="name" /><br>';
  453. echo 'Прикрепить фото:<br><input type="file" name="file" /><br>';
  454. echo 'Категория:<br><select name="cat">';
  455.  
  456. $cat = file('../local/gallery/'.$log.'.cat');
  457. $total = count($cat);
  458.  
  459. for($i=0; $i<$total; $i++){
  460.  
  461. $catinfo = explode('|', $cat[$i]);
  462.  
  463. echo '<option value="'.$catinfo[1].'">'.$catinfo[0].'</option>';
  464.  
  465. }
  466.  
  467. echo '</select><br>Подпись к фото: <br><textarea cols="25" rows="3" name="msg"></textarea><br>';
  468. echo '<input type="submit" value="Добавить" /></form><hr>';
  469. echo 'Разрешается добавлять фотки с расширением jpg, gif и png<br>';
  470. echo 'Весом не более '.formatsize($config_filesize).' и размером не более '.(int)$config_filefoto.'*'.(int)$config_filefoto.' px<br>';
  471. }
  472. } else echo '<b>Категории не созданы!</b><br>';
  473. break;
  474.  
  475. case('create'):
  476.  
  477. if(isset($_POST['dir']) && $_POST['dir']!=""){
  478.  
  479. $error = false;
  480. $dir = no_br(check($_POST['dir']));
  481.  
  482. if(mb_strlen($dir)>$dirsize) $error.='Недопустимая длина название папки!<br>';
  483. if(empty($dir)) $error.='Отсутствует название папки!<br>';
  484.  
  485. if($error){
  486. echo 'Обнаружены ошибки в создании папки:<br>'.$error;
  487. } else {
  488.  
  489. if(file_exists('../local/gallery/'.$log.'.cat'))
  490. $total = count(file('../local/gallery/'.$log.'.cat'))+1;
  491. else $total = 1;
  492.  
  493. $file = fopen('../local/gallery/'.$log.'.cat', 'a+');
  494. fputs($file, "$dir|$total|0|0|\r\n");
  495. fclose($file);
  496. chmod('../local/gallery/'.$log.'.cat', 0777);
  497.  
  498. if(!is_dir('../local/gallery/'.$log)){
  499. mkdir('../local/gallery/'.$log);
  500. chmod('../local/gallery/'.$log, 0777);
  501. mkdir('../local/commgallery/'.$log);
  502. chmod('../local/commgallery/'.$log, 0777);
  503. }
  504.  
  505. echo 'Категория <b>'.$dir.'</b> создана!<br>';
  506.  
  507. }
  508.  
  509. } else {
  510.  
  511. echo '<form action="index.php?action=create" method="post">
  512. <b>Название категории</b>:<br>
  513. <input type="text" name="dir"><br>
  514. <input type="submit" value="Добавить"><br>';
  515. }
  516. echo '<a href="index.php">Назад</a><br>';
  517.  
  518. break;
  519.  
  520. default:
  521. if(file_exists('../local/gallery/'.$user.'.cat')){
  522.  
  523. if(isset($_GET['del'])){
  524. $file = file('../local/gallery/'.$log.'.cat');
  525. unset($file[$_GET['id']]);
  526. $fp = fopen('../local/gallery/'.$log.'.cat',"w");
  527. flock ($fp,LOCK_EX);
  528. $file[$i];
  529. fputs($fp, implode("",$file));
  530. flock ($fp,LOCK_UN);
  531. fclose($fp);
  532.  
  533. $foto = file('../local/gallery/'.$log.'.dat');
  534. $fotos = $foto;
  535.  
  536. for ($i = 0; $i < count($foto); $i++){
  537. $dt = explode("|", $foto[$i]);
  538. if($dt[4] == $_GET['dir']){unset($fotos[$i]); unlink('../local/gallery/'.$log.'/'.$dt[8].'.'.$dt[9]);}
  539. }
  540.  
  541. $fp = fopen('../local/gallery/'.$log.'.dat',"w");
  542. flock ($fp,LOCK_EX);
  543. $file[$i];
  544. fputs($fp, implode("",$fotos));
  545. flock ($fp,LOCK_UN);
  546. fclose($fp);
  547.  
  548. }
  549. echo'<div class="menu">';
  550. $cat = file('../local/gallery/'.$user.'.cat');
  551. $total = count($cat);
  552.  
  553. for($i=0; $i<$total; $i++){
  554.  
  555. $catinfo = explode('|', $cat[$i]);
  556.  
  557. echo '<img src="../images/img/dir.gif" alt="">
  558. <a href="index.php?action=view&amp;dir='.$catinfo[1].'&amp;user='.$user.'">'.$catinfo[0].'</a>
  559. ('.$catinfo[2].')';
  560.  
  561. if($log==$user) echo ' [<a href="index.php?dir='.$catinfo[1].'&amp;id='.$i.'&amp;user='.$user.'&amp;del"><font color="red">del</font></a>]<br>';
  562.  
  563. }
  564. echo'</div>';
  565. if($log==$user) echo '<a href="index.php?action=add">Добавить фотографию</a><br>';
  566.  
  567. } elseif($log==$user) echo '<b>Категории не созданы!</b><br>';
  568. else echo '<b>У данного пользователя не существует фотоальбома!</b><br>';
  569.  
  570. if($log==$user) echo '<a href="index.php?action=create">Создать категорию</a><br>';
  571. break;
  572.  
  573. }
  574. }
  575.  
  576. echo '<a href="../index.php">На главную</a>';
  577.  
  578. include_once "../themes/$config_themes/foot.php";
  579. ?>