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

Размер файла: 17.39Kb
  1. <?
  2. /*
  3. =============================================
  4. Движок: SHCMS Engine
  5. =============================================
  6. Название файла: Фотоальбомы
  7. =============================================
  8. Official website: http://shcms.ru
  9. =============================================
  10. */
  11. define('SHCMS', true);
  12. include_once'../system/inc/basic_settings.php';
  13.  
  14. switch($act):
  15. default:
  16. $shcmsengine['title'] = 'Фотоальбомы';
  17. include_once'../template/head.php';
  18.  
  19. $boys = mysql_result(mysql_query("SELECT COUNT(DISTINCT `user_id`)FROM `photo_users` LEFT JOIN `users` ON `photo_users`.`user_id` = `users`.`id` WHERE `users`.`pol` = '1'"), 0);
  20. $girls = mysql_result(mysql_query("SELECT COUNT(DISTINCT `user_id`)FROM `photo_users` LEFT JOIN `users` ON `photo_users`.`user_id` = `users`.`id` WHERE `users`.`pol` = '2'"), 0);
  21.  
  22. echo '<div class="maintitle mainrazd">Фотоальбомы</div>';
  23. echo '<div class="maintext">
  24. <div class="posts"><a href="?act=boys">Мальчики</a>&nbsp;<span class="mainforum">Всего: '. $boys.'</span></div>
  25. <div class="posts"><a href="?act=girl">Девочки</a>&nbsp;<span class="mainforum">Всего: '. $girls.'</span></div></div>';
  26. break;
  27.  
  28.  
  29. case 'boys':
  30. $shcmsengine['title'] = 'Фотоальбомы - Мальчики';
  31. include_once'../template/head.php';
  32.  
  33. $allfield = mysql_result(mysql_query("SELECT COUNT(DISTINCT `user_id`) FROM `photo_users` LEFT JOIN `users` ON `photo_users`.`user_id` = `users`.`id` WHERE `users`.`pol` = '1'"), 0);
  34. $newlist = new Navigation($allfield, 10, true);
  35.  
  36.  
  37. $users_boy = mysql_query("SELECT `photo_users`.*, COUNT(`photo_users`.`id`) AS `photo_count`, `users`.`id` , `users`.`login` FROM `photo_users` LEFT JOIN `users` ON `photo_users`.`user_id` = `users`.`id` WHERE users.`pol` = '1' GROUP BY `photo_users`.`user_id` ORDER BY `users`.`login` ". $newlist->limit()."");
  38. if(mysql_num_rows($users_boy) != 0) {
  39. while($users_boys = mysql_fetch_array($users_boy)) {
  40.  
  41. echo '<div class="posts"><img src="../template/icon/users/1.png">&nbsp;
  42. <a href="?act=from&photo_user='.$users_boys['id'].'">'.$users_boys['login'].'</a><span class="mainforum">Фотографий: '.$users_boys['photo_count'].'</span></div>';
  43.  
  44. }
  45. echo '<div class="pages">';
  46. echo $newlist->pagination('act=boys');
  47. echo '</div>';
  48. }else {
  49. echo '<div class="posts">';
  50. echo SHCMS_core::img_shcms('../template/icon/empty.png');
  51. echo 'Фотоальбомы у Парней временно отсутствуют</div>';
  52. }
  53. break;
  54.  
  55. case 'girl':
  56. $shcmsengine['title'] = 'Фотоальбомы - Девочки';
  57. include_once'../template/head.php';
  58.  
  59. $allfield = mysql_result(mysql_query("SELECT COUNT(DISTINCT `user_id`) FROM `photo_users` LEFT JOIN `users` ON `photo_users`.`user_id` = `users`.`id` WHERE `users`.`pol` = '2'"), 0);
  60. $newlist = new Navigation($allfield, 10, true);
  61. $users_girl = mysql_query("SELECT `photo_users`.*, COUNT(`photo_users`.`id`) AS `photo_count`, `users`.`id` , `users`.`login` FROM `photo_users` LEFT JOIN `users` ON `photo_users`.`user_id` = `users`.`id` WHERE users.`pol` = '2' GROUP BY `photo_users`.`user_id` ORDER BY `users`.`login` ". $newlist->limit()."");
  62. if(mysql_num_rows($users_girl) != 0) {
  63. while($users_girls = mysql_fetch_array($users_girl)) {
  64. echo '<div class="posts"><img src="../template/icon/users/2.png">&nbsp;
  65. <a href="?act=from&photo_user='.$users_girls['id'].'">'.$users_girls['login'].'</a> <span class="mainforum">Фотографий: '.$users_girls['photo_count'].'</span></div>';
  66.  
  67. }
  68. echo '<div class="pages">';
  69. echo $newlist->pagination('act=girl');
  70. echo '</div>';
  71. }
  72. else {
  73. echo '<div class="posts">';
  74. echo SHCMS_core::img_shcms('../template/icon/empty.png');
  75. echo 'Фотоальбомы у Девушек временно отсутствуют</div>';
  76. }
  77.  
  78. break;
  79.  
  80. /*
  81. * @var Вывод всех папок пользоваля
  82. * string case: photos_upload
  83. */
  84. case 'from':
  85. if(isset($_GET['photo_user'])) {$photo_user = $_GET['photo_user'];}
  86. $users_from = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '$photo_user'"));
  87. $shcmsengine['title'] = 'Фотоальбомы - '.$users_from['login'].'';
  88. include_once'../template/head.php';
  89.  
  90.  
  91.  
  92. echo '<div class="maintitle mainrazd">Фотоальбомы: '.$users_from['login'].' <a href="'.DIR_SHCMS.'change_view.php?id='.$users_from['id'].'"><span style="font-size:9px">[анкета]</span></a></div>';
  93. echo '<div class="maintext">';
  94. $allfield = mysql_result(mysql_query("SELECT COUNT(*) FROM `photo_dir` WHERE `user_id` = $users_from[id]"),0);
  95. $newlist = new Navigation($allfield, 10, true);
  96. $photo_cat = mysql_query("SELECT * FROM `photo_dir` WHERE `user_id` = $users_from[id] ORDER BY `id` DESC ". $newlist->limit()." ");
  97. if(mysql_num_rows($photo_cat) != 0) {
  98. while($photo_dir = mysql_fetch_array($photo_cat)) {
  99. $count_photo = mysql_result(mysql_query("SELECT * FROM `photo_users` WHERE `id_photo` = '$photo_dir[id]'"),0);
  100. echo '<div class="posts"><img src="../download/icons/image.png">&nbsp;
  101. <a href="?act=dirname&dir='.$photo_dir['id'].'&photo_user='.$photo_dir['user_id'].'"><strong>'.$photo_dir['title'].'</strong></a>&nbsp;';
  102. if($count_photo) {
  103. echo '('.$count_photo.')';
  104. }else {
  105. echo '(пусто)';
  106. }
  107. echo '<span class="maintime">'.$timedate->times($photo_dir['time']).'</span><br/><span style="font-size:11px;">'.processing($photo_dir['opis']).'</span></div>';
  108. }
  109. echo '<div class="pages">';
  110. echo $newlist->pagination("act=from&photo_user=$photo_user");
  111. echo '</div>';
  112. }else {
  113. echo '<div class="posts"><img src="../template/icon/empty.png">&nbsp; Ничего не найдено!</div>';
  114. }
  115. if($user_id == $photo_user) {
  116. echo '<div class="posts"><a href="?act=new_photo&photo_user='.$photo_user.'">Создать новый альбом</div>';
  117. }
  118. echo '</div>';
  119.  
  120.  
  121. break;
  122. /*
  123. * @var Создании новой папки
  124. * string case: new_photo
  125. */
  126. case 'new_photo':
  127. if(isset($_GET['photo_user'])) {$photo_user = $_GET['photo_user'];}
  128. $shcmsengine['title'] = 'Фотоальбомы - Создать новый альбом';
  129. include_once'../template/head.php';
  130.  
  131. if($user_id != $photo_user) {
  132. errors('Вы не можете создать папку для другого пользователя');
  133. header("Refresh: 1; url=?");
  134. include_once'../template/foot.php';
  135. exit;
  136. }
  137. if(isset($_POST['submit'])) {
  138. $submit = $_POST['submit'];
  139. }
  140.  
  141. if(isset($submit)) {
  142.  
  143. if(isset($_POST['photo'])) {
  144. $photo = $_POST['photo'];
  145. }
  146. if(isset($_POST['opis'])) {
  147. $opis = $_POST['opis'];
  148. }
  149.  
  150. $photo = htmlspecialchars($photo);
  151. $opis = htmlspecialchars($photo);
  152.  
  153. if(empty($photo)) {
  154. errors('Названия альбома отсутствует');
  155. header("Refresh: 1; url=?act=new_photo&photo_user=$photo_user");
  156. include_once'../template/foot.php';
  157. exit;
  158. }
  159.  
  160. if(strlen($photo) < 2 and strlen($photo) > 50) {
  161. errors('Названия не должно превышать 50символов');
  162. header("Refresh: 1; url=?act=new_photo&photo_user=$photo_user");
  163. include_once'../template/foot.php';
  164. exit;
  165.  
  166. }
  167.  
  168. $newdir = mysql_query("SELECT * FROM `photo_dir` WHERE `title`='" . my_esc($photo) . "' AND `user_id` = '$photo_user'");
  169. if (mysql_fetch_array($newdir) != 0)
  170. {
  171. errors('Название которую вы ввели уже существует');
  172. header("Refresh: 1; url=?act=new_photo&photo_user=$photo_user");
  173. include_once'../template/foot.php';
  174. exit();
  175. }
  176. $insert_photo = mysql_query("INSERT INTO `photo_dir` SET `user_id` = '".my_esc($photo_user)."',`title` = '".my_esc($photo)."', `opis` = '".my_esc($opis)."',`time` = '".time()."'");
  177. if($insert_photo == true) {
  178. messag('Папка успешно создана');
  179. header("Refresh: 1; url=?act=from&photo_user=$photo_user");
  180. }else {
  181. errors('Ошибка при создании папки');
  182. header("Refresh: 1; url=?act=new_photo&photo_user=$photo_user");
  183. include_once'../template/foot.php';
  184. exit;
  185. }
  186.  
  187. }
  188.  
  189. $form = new form("?act=new_photo&photo_user=$photo_user");
  190. $form->input('<strong>Названия альбомa:</strong>','photo','text',false,true);
  191. $form->textarea('<strong>Описания альбомa:</strong>','opis',false,true);
  192. $form->submit('Создать альбом','submit');
  193. $form->finish();
  194. break;
  195.  
  196. /*
  197. * @var Вывод всех фотографий
  198. * string case: dirname
  199. */
  200. case 'dirname':
  201. if(isset($_GET['photo_user'])) {$photo_user = $_GET['photo_user'];}
  202. if(isset($_GET['dir'])) {$dir = $_GET['dir'];}
  203. $dirname = mysql_fetch_array(mysql_query("SELECT * FROM `photo_dir` WHERE `id` = '$dir'"));
  204. $shcmsengine['title'] = 'Фотоальбомы - '.$dirname['title'].'';
  205. include_once'../template/head.php';
  206.  
  207.  
  208. echo '<div class="maintitle mainrazd">Альбом : '.$dirname['title'].'</div>';
  209. echo '<div class="maintext">'.processing($dirname['opis']).' <span class="mainforum">'.$timedate->times($dirname['time']).'</span></div>';
  210. echo '<div class="maintext">';
  211. $allfield = mysql_result(mysql_query("SELECT COUNT(*) FROM `photo_users` WHERE `user_id` = '$photo_user' AND `id_photo` = '$dir'"),0);
  212. $newlist = new Navigation($allfield, 10, true);
  213. $photo_list = mysql_query("SELECT * FROM `photo_users` WHERE `user_id` = '$photo_user' AND `id_photo` = '$dir' ". $newlist->limit()." ");
  214. if(mysql_num_rows($photo_list) != 0) {
  215. while($photo_dirname = mysql_fetch_array($photo_list)) {
  216. echo '<div class="posts">';
  217. echo '<img width="70px" src="../photo/files/'.$photo_dirname['name'].'"><span class="mainforum">'.$timedate->times($photo_dirname['time']).'</span><br/>';
  218. echo processing($photo_dirname['opis']);
  219. echo '<div style="text-align:right;"><a href="?act=prosmotr&dir='.$dir.'&files='.$photo_dirname['id'].'&photo_user='.$photo_user.'">Подробнее...</div></div>';
  220.  
  221. }
  222. echo '<div class="pages">';
  223. echo $newlist->pagination("act=dirname&dir=$photo_dir[id].'&photo_user=$photo_dir[user_id]");
  224. echo '</div>';
  225. }else {
  226. echo '<div class="posts"><img src="../template/icon/empty.png">&nbsp; Ничего не найдено!</div>';
  227. }
  228. echo '</div>';
  229. if($user_id == $photo_user) {
  230. echo '<div class="posts"><a href="?act=photos_upload&dir='.$dir.'&photo_user='.$photo_user.'">Добавить фотографию</a></div>';
  231. }
  232. break;
  233.  
  234. /*
  235. * @var Функция загрузки фотографии
  236. * string case: photos_upload
  237. */
  238. case 'photos_upload':
  239.  
  240. if(isset($_GET['photo_user'])) {$photo_user = $_GET['photo_user'];}
  241. if(isset($_GET['dir'])) {$dir = $_GET['dir'];}
  242. $shcmsengine['title'] = 'Фотоальбомы - Добавить фотографию';
  243. include_once'../template/head.php';
  244.  
  245.  
  246. if($user_id != $photo_user) {
  247. errors('Вы не можете загружать файлы для другого пользователя');
  248. header("Refresh: 1; url=?");
  249. include_once'../template/foot.php';
  250. exit;
  251. }
  252. if(isset($_POST['submit'])) {
  253. $submit = $_POST['submit'];
  254. }
  255.  
  256. if(isset($submit)) {
  257.  
  258. if(isset($_POST['files'])) {
  259. $files = $_POST['files'];
  260. }
  261. if(isset($_POST['files_opis'])) {
  262. $files_opis = $_POST['files_opis'];
  263. }
  264.  
  265. if(isset($_FILES['files']))
  266. {
  267. $files_image = $_FILES['files']['name'];
  268. }
  269. $files_image = utf8_win(SHCMS_core::Upload_end($files_image));
  270. if(!empty($_FILES['files']))
  271. {
  272. $files_opis = htmlspecialchars($files_opis);
  273. if(! $files_img = @imagecreatefromjpeg($_FILES ['files'] ['tmp_name']) and ! $files_img = @imagecreatefrompng($_FILES ['files'] ['tmp_name']) and ! $files_img = imagecreatefromgif($_FILES['files']['tmp_name']))
  274. {
  275. echo '<div class="errors">Файл не является изображением JPEG, PNG или GIF</div>';
  276. header("Refresh: 1; url=?act=photos_upload&dir=$dir&photo_user=$photo_user");
  277. include_once'../template/foot.php';
  278. exit();
  279. }
  280. if(!preg_match('#\.jpe?g$#ui', $_FILES ['files']['name']) and !preg_match('#\.gif$#ui',$_FILES['files']['name'])and !preg_match('#\.png$#ui',$_FILES['files']['name']))
  281. {
  282. echo '<div class="errors">Неверное содержание файла</div>';
  283. header("Refresh: 1; url=?act=photos_upload&dir=$dir&photo_user=$photo_user");
  284. include_once'../template/foot.php';
  285. exit();
  286. }
  287.  
  288. }
  289. $pol_users = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '$photo_user'"));
  290. $upload_image = mysql_query("INSERT INTO `photo_users` SET `user_id` = '$photo_user',`id_photo` = '$dir', `opis` = '$files_opis', `name` = '$files_image',`time` = '".time()."',`pol` = '$pol_users[pol]', `size` = '".$_FILES['files']['size']."'");
  291. $uploaddir = $_SERVER['DOCUMENT_ROOT']."/photo/files/$files_image";
  292. if(move_uploaded_file($_FILES["files"]["tmp_name"], $uploaddir) == true)
  293. {
  294. messag("Фотография загружена");
  295. header("Refresh: 1; url=?act=dirname&dir=$dir&photo_user=$photo_user");
  296. include_once'../template/foot.php';
  297. exit();
  298. }else {
  299. errors('Фотография не загружена');
  300. header("Refresh: 1; url=?act=photos_upload&dir=$dir&photo_user=$photo_user");
  301. include_once'../template/foot.php';
  302. exit();
  303. }
  304. }
  305.  
  306.  
  307. $form = new form("?act=photos_upload&dir=$dir&photo_user=$photo_user",false,false,'enctype="multipart/form-data"');
  308. $form->input('<strong>Фотография:</strong>','files','file',false,true,false,false,false,'accept=\'image/*,image/gif,image/jpeg,image/png\'');
  309. $form->textarea('<strong>Описания фотографии:</strong>','files_opis',false,true);
  310. $form->submit('Загрузить','submit');
  311. $form->finish();
  312. echo '<div class="posts">* Разрешено выгружать только файлы (PNG, GIF, JPEG)</div>';
  313. break;
  314.  
  315.  
  316. case'prosmotr':
  317. $shcmsengine['title'] = 'Фотоальбомы - Фотографии';
  318. include_once'../template/head.php';
  319.  
  320. if(isset($_GET['photo_user'])) {$photo_user = $_GET['photo_user'];}
  321. if(isset($_GET['files'])) {$files = $_GET['files'];}
  322. if(isset($_GET['dir'])) {$dir = $_GET['dir'];}
  323. if(!dir and !$files and !$photo_user) {
  324. errors('Фотография не найдено');
  325. header("Refresh: 1; url=?act=dirname&dir=$dir&photo_user=$photo_user");
  326. include_once'../template/foot.php';
  327. exit();
  328. }
  329.  
  330. $prosmotr = mysql_fetch_array(mysql_query("SELECT * FROM `photo_users` WHERE `user_id` = '$photo_user' AND `id_photo` = '$dir'"));
  331. $files_user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id`= '$photo_user'"));
  332. echo '<div class="maintitle mainrazd">Фотография: №: '.$prosmotr['id'].'</div>';
  333. echo '<div class="maintext">';
  334. echo '<center><img src="files/'.$prosmotr['name'].'"></center></div>';
  335. echo '<div class="maintext">';
  336. echo 'Названия: '.$translits->translit_rus(SHCMS_core::format2($prosmotr['name']));
  337. echo '<br/>Добавил: <a href="'.DIR_SHCMS.'change_view.php?id='.$files_user['id'].'">'.$files_user['login'].'</a><span class="mainforum">'.$timedate->times($prosmotr['time']).'</span>';
  338. echo '<br/>Размер: '.size($prosmotr['size']);
  339. if ($prosmotr['opis'] == false) {
  340. echo '<br/>Описания: Описания не добавлено!';
  341. }else {
  342. echo '<br/>Описания: '.processing($prosmotr['opis']);
  343. }
  344. echo '<hr/>';
  345. echo '<a href="?act=download&id_down='.$prosmotr['id'].'">Скачать</a> <span style="font-size:10px;">(Загрузок: '.$prosmotr['count'].')</span><br/>';
  346. echo '<a href="comment.php?id='.$prosmotr['id'].'">Комментарии</a> ('.mysql_result(mysql_query("SELECT COUNT(*) FROM `photo_comm` WHERE `id_comm` = '$prosmotr[id]'"),0).')';
  347. echo '</div>';
  348. break;
  349.  
  350. case 'download':
  351.  
  352. include_once'../template/head.php';
  353.  
  354. if(isset($_GET['id_down'])) {$id_down = $_GET['id_down'];}
  355. $photo_file = mysql_fetch_array(mysql_query("SELECT * FROM `photo_users` WHERE `id` = '$id_down'"));
  356. $filename = '../photo/files/'.$photo_file['name'].'';
  357.  
  358.  
  359. if (file_exists($filename)) {
  360. mysql_query("UPDATE `photo_users` SET `count` = '".($photo_file['count'] + 1)."' WHERE `id` = '$id_down'");
  361. $list = $filename;
  362. $name = explode("/",$list);
  363. $name = $name[count($name)-1];
  364. header('Content-type: text/plain');
  365. header("Content-disposition: attachment; filename=$name");
  366. header('Content-Description: File Transfer');
  367. header('Content-Transfer-Encoding: binary');
  368. header('Expires: 0');
  369. header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  370. header('Pragma: public');
  371. header('Content-Length: ' . filesize($list));
  372. ob_clean();
  373. flush();
  374. readfile($list);
  375. } else {
  376. errors('Файла не существует!');
  377. }
  378.  
  379.  
  380. break;
  381. endswitch;
  382.  
  383.  
  384. echo '<div class="link_str"><a href="index.php">Назад</div>';
  385. include_once'../template/foot.php';
  386. ?>