/index.php

https://bitbucket.org/denisOg/soft-site · PHP · 161 lines · 131 code · 26 blank · 4 comment · 44 complexity · 9ca64d41b0939fd2814740d9856645b8 MD5 · raw file

  1. <?php
  2. error_reporting(E_ALL | E_STRICT);
  3. ini_set('display_errors', 'On');
  4. ini_set('short_open_tag', 'On');
  5. include_once(__DIR__ . '/config.php');
  6. $PAGE = !empty($_GET['page']) ? $_GET['page'] : 'list';
  7. $data = array('test' => 'Success');
  8. $data['aSystem'] = get_array('id_system', 'system', $oMySQL->ExecuteSQL('SELECT * FROM system ORDER BY system'));
  9. $data['aType'] = get_array('id_type', 'type', $oMySQL->ExecuteSQL('SELECT * FROM type ORDER BY type'));
  10. $data['aLic'] = get_array('id_license', 'license', $oMySQL->ExecuteSQL('SELECT * FROM license ORDER BY license'));
  11. if ($PAGE == 'list')
  12. {
  13. $data['title'] = 'Список программ';
  14. $data['aResult'] = $oMySQL->Select('soft');
  15. render('_list.php', $data);
  16. }
  17. if ($PAGE == 'admin_list')
  18. {
  19. isAdmin();
  20. $data['title'] = 'Список программ';
  21. $data['aResult'] = $oMySQL->Select('soft');
  22. render('_admin_list.php', $data);
  23. }
  24. if ($PAGE == 'admin_add_edit')
  25. {
  26. isAdmin('die');
  27. $data['title'] = 'Добавить программу';
  28. if (!empty($_GET['id']))
  29. {
  30. $data['aResult'] = $oMySQL->Select('soft', array('id_soft' => (int)$_GET['id']));
  31. $data['aResult'] = (is_array($data['aResult'])) ? $data['aResult'][0] : NULL;
  32. }
  33. render('_admin_form.php', $data);
  34. }
  35. if ($PAGE == 'save')
  36. {
  37. isAdmin();
  38. if (IS_AJAX)
  39. {
  40. $sError = '';
  41. $aResult = array('status' => 0, 'text' => 'Ошибки');
  42. $Input['soft'] = !empty($_POST['soft']) ? addslashes(strip_tags(trim($_POST['soft']))) : NULL;
  43. $Input['desc_soft'] = !empty($_POST['desc_soft']) ? addslashes(strip_tags(trim($_POST['desc_soft']))) : NULL;
  44. $Input['type_id'] = !empty($_POST['type_id']) ? (int)$_POST['type_id'] : NULL;
  45. $Input['license_id'] = !empty($_POST['license_id']) ? (int)$_POST['license_id'] : NULL;
  46. $Input['file_soft'] = !empty($_POST['file_soft']) ? $_POST['file_soft'] : NULL;
  47. $Input['system_soft'] = !empty($_POST['system_soft']) ? $_POST['system_soft'] : NULL;
  48. $id_soft = !empty($_POST['id_soft']) ? (int)$_POST['id_soft'] : NULL;
  49. if (strlen($Input['soft']) < 2) $sError .= '<b>Укажите название<b><br>';
  50. if (strlen($Input['file_soft']) < 2) $sError .= '<b>Загрузите архив<b><br>';
  51. if (strlen($Input['desc_soft']) < 2) $sError .= '<b>Укажите описание<b><br>';
  52. if ($Input['type_id'] == 0) $sError .= '<b>Укажите тип<b><br>';
  53. if ($Input['license_id'] == 0) $sError .= '<b>Укажите условия распространения<b><br>';
  54. if ($Input['system_soft'] == 0) $sError .= '<b>Опрерационные системы<b><br>';
  55. $aResult['error'] = $sError;
  56. if ($sError == '')
  57. {
  58. $Input['system_soft'] = json_encode($Input['system_soft']);
  59. //ошибок нет
  60. if (!empty($id_soft))
  61. {
  62. //обновление
  63. $aResult['text'] = 'Обновление прошло успешно';
  64. $oMySQL->Update('soft', $Input, array('id_soft' => $id_soft));
  65. } else
  66. {
  67. //добавление
  68. $aResult['text'] = 'Добавление прошло успешно';
  69. $oMySQL->Insert($Input, 'soft');
  70. }
  71. $aResult['status'] = 1;
  72. }
  73. echo json_encode($aResult);
  74. return;
  75. }
  76. }
  77. if ($PAGE == 'admin_delete')
  78. {
  79. isAdmin('die');
  80. if (IS_AJAX)
  81. {
  82. $id = (int)$_POST['id'];
  83. $oMySQL->Delete('soft', array('id_soft' => $id));
  84. echo 'ok';
  85. }
  86. }
  87. if ($PAGE == 'loadFile')
  88. {
  89. isAdmin('die');
  90. $file_name = md5(time() + mt_rand(1, 1000000000)) . '.zip';
  91. $file = realpath('.') . '/media/upload/' . $file_name;
  92. if (move_uploaded_file($_FILES['file_soft']['tmp_name'], $file))
  93. {
  94. echo $file_name;
  95. } else
  96. {
  97. echo "error";
  98. }
  99. }
  100. if ($PAGE == 'admin_login')
  101. {
  102. if (!isAdmin('bool')) render('_login_form.php', $data);
  103. }
  104. if ($PAGE == 'do_login')
  105. {
  106. $aResult = array('status' => 0, 'error' => '');
  107. $Input['login'] = !empty($_POST['login']) ? addslashes(strip_tags(trim($_POST['login']))) : NULL;
  108. $Input['pass'] = !empty($_POST['pass']) ? addslashes(strip_tags(trim($_POST['pass']))) : NULL;
  109. if (empty($Input['login'])) $aResult['error'] .= 'Поле логин обязательно для заполнения<br>';
  110. if (empty($Input['pass'])) $aResult['error'] .= 'Поле пароль обязательно для заполнения<br>';
  111. if ($Input['login'] !== LOGIN_ADMIN) $aResult['error'] .= 'Нет такого логина<br>';
  112. if ($Input['pass'] !== PASS_ADMIN) $aResult['error'] .= 'Нет такого пароля<br>';
  113. if ($aResult['error'] == '')
  114. {
  115. //авторизирую
  116. $_SESSION['LOGIN_ADMIN'] = LOGIN_ADMIN;
  117. $_SESSION['PASS_ADMIN'] = PASS_ADMIN;
  118. $aResult['text'] = 'Авторизация прошла успешно';
  119. $aResult['status'] = 1;
  120. }
  121. echo json_encode($aResult);
  122. }
  123. if ($PAGE == 'do_logout')
  124. {
  125. if (isAdmin('die')) unset($_SESSION);
  126. session_destroy();
  127. header("Location: " . SITE_URL);
  128. }
  129. if ($PAGE == 'view')
  130. {
  131. $id = (int)$_GET['id'];
  132. $data['aResult'] = $oMySQL->SELECT('soft', array('id_soft' => $id));
  133. $data['aResult'] = (is_array($data['aResult'])) ? $data['aResult'][0] : NULL;
  134. render('_view.php', $data);
  135. }