Просмотр файла modules/admin/sm.php

Размер файла: 10.73Kb
  1. <?php
  2. include ('../../config.php');
  3. include ('../../templates/run.php');
  4. include ('../../templates/func.php');
  5. $title_page = 'Управление смайлами';
  6. $m_polozhenie = 'В админке';
  7. include '../../themes/'.$themes.'.php';
  8. ##############
  9. if (isset($_SESSION['sespass']) && isset($passw) && $_SESSION['sespass'] == $passw && ($status == '1' || $status == '2'))
  10. {
  11. echo '<p class="modul_name">Управление смайлами</p>';
  12. if($_GET['act'] == 'del')
  13. {
  14. $smd = filter($_GET['sm']);
  15. if(file_exists("../../sm/$smd"))
  16. {
  17. @unlink('../../sm/'.$smd.'');
  18. $date = date('d.m.Y / H:i:s', time() + ($sdvigclock*3600));
  19. $adm_log_f = @file('../../data/adm_log.php');
  20. $adm_log_count = count($adm_log_f) - 2;
  21. $mes_to_adm_log = "$login|$date|Удалил смайл $smd в Управление смайлами\r\n";
  22. for($i=2; $i < $adm_log_count; $i++)
  23. {
  24. $mes_to_adm_log .= $adm_log_f[$i];
  25. }
  26. $mes_to_adm_log = trim($mes_to_adm_log);
  27. $adm_log_file = fopen('../../data/adm_log.php','w');
  28. flock ($adm_log_file,LOCK_EX);
  29. fputs($adm_log_file,"<?php\r\n/*\r\n$mes_to_adm_log\r\n*/\r\n?>");
  30. fflush ($adm_log_file);
  31. flock ($adm_log_file,LOCK_UN);
  32.  
  33. fclose($adm_log_file);
  34. header ("Location: sm.php?set=1&".session_name()."=".session_id()."");
  35. }
  36. else
  37. {
  38. header ("Location: sm.php?err=2&".session_name()."=".session_id()."");
  39. }
  40. }
  41.  
  42. if($_GET['act'] == 'red')
  43. {
  44. $smre = filter($_GET['smr']);
  45. if(file_exists('../../sm/'.$smre.'.gif'))
  46. {
  47. echo'<form action="sm.php?act=new&amp;sr='.$smre.'"method="post">';
  48. echo'<p class="b">Переименование смайла:<br />
  49. <input name="nsm"maxlength="30"value="'.$smre.'"/><br/>
  50. <input value="Сохранить"type="submit"/></form></p>';
  51. }
  52. else
  53. {
  54. header ("Location: sm.php?err=3&".session_name()."=".session_id()."");
  55. }
  56. }
  57. if($_GET['act'] == 'new')
  58. {
  59. $nsmre = filter($_GET['sr']);
  60.  
  61. $nsm = filter($_POST['nsm']);
  62. if(file_exists('../../sm/'.$nsm.'.gif'))
  63. {
  64. header ("Location: sm.php?err=8&".session_name()."=".session_id()."");
  65. exit;
  66. }
  67. if(empty($nsm))
  68. {
  69. header ("Location: sm.php?err=7&".session_name()."=".session_id()."");
  70. exit;
  71. }
  72. if(!preg_match("/^[-a-zA-Zа-яА-ЯЁё0-9_\.:@\? \(\)]{1,30}$/u", $nsm))
  73. {
  74. header ("Location: sm.php?err=6&".session_name()."=".session_id()."");
  75. exit;
  76. }
  77. if(file_exists('../../sm/'.$nsmre.'.gif'))
  78. {
  79. @rename('../../sm/'.$nsmre.'.gif','../../sm/'.$nsm.'.gif');
  80.  
  81. $date = date('d.m.Y / H:i:s', time() + ($sdvigclock*3600));
  82. $adm_log_f = @file('../../data/adm_log.php');
  83. $adm_log_count = count($adm_log_f) - 2;
  84. $mes_to_adm_log = "$login|$date|Переименовал смайл с $nsmre на $nsm в Управление смайлами\r\n";
  85. for($i=2; $i < $adm_log_count; $i++)
  86. {
  87. $mes_to_adm_log .= $adm_log_f[$i];
  88. }
  89. $mes_to_adm_log = trim($mes_to_adm_log);
  90. $adm_log_file = fopen('../../data/adm_log.php','w');
  91.  
  92. flock ($adm_log_file,LOCK_EX);
  93. fputs($adm_log_file,"<?php\r\n/*\r\n$mes_to_adm_log\r\n*/\r\n?>");
  94. fflush ($adm_log_file);
  95. flock ($adm_log_file,LOCK_UN);
  96. fclose($adm_log_file);
  97. header ("Location: sm.php?set=2&".session_name()."=".session_id()."");
  98. }
  99. else
  100. {
  101. header ("Location: sm.php?err=4&".session_name()."=".session_id()."");
  102. }
  103. }
  104.  
  105. if($_GET['act'] == 'load')
  106. {
  107. echo'
  108. <form method="post" action="sm.php?act=upload" enctype="multipart/form-data">';
  109. echo'
  110. <p class="b">Название смайла:<br />
  111. <input name="upn"maxlength="30"value="smile"/><br/>
  112. Загрузить смайл:<br />
  113. <input type="file" name="uploadfile" size="15"><br>
  114. <input type="submit" value="Загрузить">
  115. </form><br />
  116. Формат смайла: (jpg/png/gif)<br />Размер смайла: (макс.30 КБ)</p>';
  117. }
  118. ###
  119. if($_GET['act'] == 'upload')
  120. {
  121. if( (($_FILES['uploadfile']['size'])/30) > 1000)
  122. {
  123. header ("Location: sm.php?err=5&".session_name()."=".session_id()."");
  124. exit;
  125. }
  126. $upn = filter($_POST['upn']);
  127.  
  128. if(file_exists('../../sm/'.$upn.'.gif'))
  129. {
  130. header ("Location: sm.php?err=8&".session_name()."=".session_id()."");
  131. exit;
  132. }
  133. if(empty($upn))
  134. {
  135. header ("Location: sm.php?err=7&".session_name()."=".session_id()."");
  136. exit;
  137. }
  138. if(!preg_match("/^[-a-zA-Zа-яА-ЯЁё0-9_\.:@\? \(\)]{1,30}$/u", $upn))
  139. {
  140. header ("Location: sm.php?err=6&".session_name()."=".session_id()."");
  141. exit;
  142. }
  143. if($_FILES['uploadfile']['type'] == 'image/jpeg' || $_FILES['uploadfile']['type'] == 'image/JPEG' || $_FILES['uploadfile']['type'] == 'image/JPG' || $_FILES['uploadfile']['type'] == 'image/jpg') {
  144. $im = imagecreatefromjpeg($_FILES['uploadfile']['tmp_name']);
  145. }
  146. if($_FILES['uploadfile']['type'] == 'image/png' || $_FILES['uploadfile']['type'] == 'image/PNG') {
  147. $im = imagecreatefrompng($_FILES['uploadfile']['tmp_name']);
  148. }
  149. if($_FILES['uploadfile']['type'] == 'image/gif' || $_FILES['uploadfile']['type'] == 'image/GIF') {
  150. $im = imagecreatefromgif($_FILES['uploadfile']['tmp_name'] );
  151. }
  152. if(!$im)
  153. {
  154. header ("Location: sm.php?err=1&".session_name()."=".session_id()."");
  155. }
  156. if($im)
  157. {
  158. header("Content-type: image/gif");
  159. imagegif($im,'../../sm/'.$upn.'.gif',60);
  160. imagedestroy($im);
  161.  
  162.  
  163. $date = date('d.m.Y / H:i:s', time() + ($sdvigclock*3600));
  164. $adm_log_f = @file('../../data/adm_log.php');
  165. $adm_log_count = count($adm_log_f) - 2;
  166. $mes_to_adm_log = "$login|$date|Загрузил смайл $upn.gif в Управление смайлами\r\n";
  167. for($i=2; $i < $adm_log_count; $i++)
  168. {
  169. $mes_to_adm_log .= $adm_log_f[$i];
  170. }
  171. $mes_to_adm_log = trim($mes_to_adm_log);
  172. $adm_log_file = fopen('../../data/adm_log.php','w');
  173. flock ($adm_log_file,LOCK_EX);
  174. fputs($adm_log_file,"<?php\r\n/*\r\n$mes_to_adm_log\r\n*/\r\n?>");
  175. fflush ($adm_log_file);
  176. flock ($adm_log_file,LOCK_UN);
  177. fclose($adm_log_file);
  178.  
  179. header ("Location: sm.php?set=3&".session_name()."=".session_id()."");
  180. }
  181. }
  182.  
  183. if($_GET['set'] == 1)
  184. {
  185.  
  186. echo'<p class="b"><img src="/themes/chuma/es.gif"/> Смайл удален.</p>';
  187. }
  188.  
  189. if($_GET['set'] == 2)
  190.  
  191. {
  192. echo'<p class="b"><img src="/themes/chuma/es.gif"/> Смайл изменен.</p>';
  193. }
  194. if($_GET['set'] == 3)
  195. {
  196. echo'<p class="b"><img src="/themes/chuma/es.gif"/> Смайл загружен.</p>';
  197. }
  198. if($_GET['err'] == 1)
  199. {
  200. echo'<p class="err">Ошибка!!! Формат смайла должен быть только (jpg/png/gif).</p>';
  201. }
  202. if($_GET['err'] == 2)
  203. {
  204. echo'<p class="err">Ошибка!!! Смайл с таким названием уже удален.</p>';
  205. }
  206. if($_GET['err'] == 3)
  207. {
  208. echo'<p class="err">Ошибка!!! Смайл с таким названием ненайден.</p>';
  209. }
  210. if($_GET['err'] == 4)
  211. {
  212. echo'<p class="err">Ошибка!!! Вы пытаетесь переименовать несуществующий смайл.</p>';
  213. }
  214. if($_GET['err'] == 5)
  215. {
  216. echo'<p class="err">Ошибка!!! Превышен максимальный размер смайла (30 КБ).</p>';
  217. }
  218. if($_GET['err'] == 6)
  219. {
  220. echo'<p class="err">Ошибка!!! Название смайла должно быть от 1 до 30 символов содержащие буквы русского и латинского алфавита, цифры, а также знаки " -_.:@)( ".</p>';
  221. }
  222. if($_GET['err'] == 7)
  223. {
  224. echo'<p class="err">Ошибка!!! Название смайла не может быть пустым.</p>';
  225. }
  226. if($_GET['err'] == 8)
  227. {
  228. echo'<p class="err">Ошибка!!! Смайл с таким названием уже существует.</p>';
  229. }
  230.  
  231. echo'<p align="center" class="a"><a href="/modules/admin/sm.php?act=load&amp;'.session_name().'='.session_id().'">Загрузить смайл</a></p>';
  232. $sm_dir = opendir('../../sm');
  233. while ($file = readdir($sm_dir))
  234. {
  235. if($file != 'Thumbs.db' && $file != '..' && $file != '.')
  236. {
  237. $smiles[] = $file;
  238. }
  239. }
  240. closedir ($sm_dir);
  241. sort($smiles);
  242. sort($smiles);
  243. $count = count($smiles);
  244.  
  245. $kolsm = 10;
  246. $stranic = ceil($count/$kolsm);
  247.  
  248. if(empty($_GET['page']))
  249. {
  250. $page_get = 1;
  251.  
  252. }
  253. else
  254. {
  255. $page_get = htmlspecialchars(stripslashes($_GET['page']));
  256.  
  257. }
  258. $do = $kolsm * ($page_get - 1);
  259. $end = $kolsm * $page_get;
  260.  
  261. $page_nazad = $page_get - 1;
  262. $page_dalee = $page_get + 1;
  263. echo "<p class=\"b\">";
  264. for ($i = $do; $i < $end; $i++)
  265. {
  266. if(!empty($smiles[$i]))
  267. {
  268. $smile = explode(".", $smiles[$i]);
  269. echo "<img src=\"../../sm/$smile[0].$smile[1]\" alt=\":$smile[0]\" /> - :$smile[0] [<a href=\"/modules/admin/sm.php?act=red&amp;smr=$smile[0]&amp;".session_name()."=".session_id()."\">Ред</a>][<a href=\"/modules/admin/sm.php?act=del&amp;sm=$smiles[$i]&amp;".session_name()."=".session_id()."\"onclick=\"return confirm('Подтверждаете удаление?')\">Удал</a>]<br />";
  270. }
  271. }
  272. echo "</p>";
  273. echo "<p align=\"center\" class=\"d\">";
  274. echo "Страницы:";
  275. echo "<br />";
  276.  
  277.  
  278. if($page_get > 4)
  279. {
  280. echo "<a href=\"../../modules/admin/sm.php?act=smile&amp;for=$for&amp;page=1&amp;".session_name()."=".session_id()."\">1</a>...";
  281. }
  282. $start_1 = $page_get - 3;
  283. $end_1 = $page_get - 1;
  284. if($start_1 < 1)
  285. {
  286.  
  287.  
  288. $start_1 = 1;
  289. }
  290. for($i = $start_1; $i <= $end_1; $i++)
  291. {
  292. echo"<a href=\"../../modules/admin/sm.php?act=smile&amp;for=$for&amp;page=$i&amp;".session_name()."=".session_id()."\">$i</a> ";
  293. }
  294.  
  295. echo"$page_get";
  296.  
  297.  
  298. $start_2 = $page_get + 1;
  299. $end_2 = $page_get + 3;
  300. if($start_2 < 1)
  301. {
  302. $start_2 = 1;
  303. }
  304. if($end_2 > $stranic)
  305. {
  306. $end_2 = $stranic;
  307. }
  308. for($i = $start_2; $i <= $end_2; $i++)
  309. {
  310. echo" <a href=\"../../modules/admin/sm.php?act=smile&amp;for=$for&amp;page=$i&amp;".session_name()."=".session_id()."\">$i</a>";
  311. }
  312.  
  313. if($stranic > $page_get && $page_get < ($stranic-3))
  314. {
  315. echo "...<a href=\"../../modules/admin/sm.php?act=smile&amp;for=$for&amp;page=$stranic&amp;".session_name()."=".session_id()."\">$stranic</a>";
  316. }
  317. echo "<br />";
  318.  
  319. if($page_get > 1)
  320. {
  321. echo "<a href=\"../../modules/admin/sm.php?act=smile&amp;for=$for&amp;page=$page_nazad&amp;".session_name()."=".session_id()."\">Назад</a>";
  322. }
  323. echo " | ";
  324. if($stranic > $page_get)
  325. {
  326. echo "<a href=\"../../modules/admin/sm.php?act=smile&amp;for=$for&amp;page=$page_dalee&amp;".session_name()."=".session_id()."\">Дальше</a>";
  327. }
  328. echo "</p>";
  329. echo "<p align=\"center\">Всего $count смайлов<br /></p>";
  330. echo "<p><a href=\"../../modules/admin/index.php?".session_name()."=".session_id()."\">В админку</a></p>";
  331. echo "<p><a href=\"../../modules/kabinet/index.php\">В кабинет</a></p>";
  332. }
  333. else
  334. {
  335. echo'<p class="err">Ошибка!!!Вы не авторизованны!Войдите в личный кабинет.</p>';
  336. }
  337. include ('../../templates/foot.php');
  338. ####################
  339. ?>