Example #1
0
 public function upload()
 {
     if (!isset($_POST['terms'])) {
         echo 'Перед загрузкой файлов необходимо прочитать и принять условия пользования.';
         die;
     }
     if (empty($_FILES['uploadFile']['tmp_name']) && empty($_POST['remote_url'])) {
         echo 'Выберите файл для загрузки!';
         die;
     }
     if (empty($_FILES) && $_SERVER['CONTENT_LENGTH'] > 52428800) {
         echo 'Размер файла превышает максимум!';
         die;
     }
     if (!empty($_FILES['uploadFile']['tmp_name'])) {
         if ($_FILES['uploadFile']['error'] === UPLOAD_ERR_INI_SIZE || $_FILES['uploadFile']['error'] === UPLOAD_ERR_FORM_SIZE) {
             echo 'Размер файла превышает максимум!';
             die;
         } elseif ($_FILES['uploadFile']['error'] === UPLOAD_ERR_PARTIAL) {
             echo 'Файл поврежден!';
             die;
         } elseif ($_FILES['uploadFile']['error'] === UPLOAD_ERR_NO_FILE) {
             echo 'Файл не был загружен!';
             die;
         } elseif ($_FILES['uploadFile']['error'] === UPLOAD_ERR_NO_TMP_DIR) {
             echo 'Отсутствует временная папка. Обратитесь к администратору.';
             die;
         } elseif ($_FILES['uploadFile']['error'] === UPLOAD_ERR_CANT_WRITE) {
             echo 'Ошибка при записи файла. Обратитесь к администратору.';
             die;
         } elseif ($_FILES['uploadFile']['error'] === UPLOAD_ERR_EXTENSION) {
             echo 'Загрузка файла была остановлена. Обратитесь к администратору.';
             die;
         }
         $fileName = strtolower(str_replace(' ', '_', $_FILES['uploadFile']['name']));
         $fileName = \Helpers\Data::toTranslite($fileName);
         $fileSize = $_FILES['uploadFile']['size'];
     }
     if (!empty($_POST['remote_url'])) {
         $checkURL = \Helpers\GUMP::is_valid($_POST, array('remote_url' => 'valid_url'));
         if (is_array($checkURL)) {
             echo $checkURL[0];
             die;
         }
         $fileSize = \Helpers\SimpleCurl::remotefileSize($_POST['remote_url']);
         if (is_numeric($fileSize) == FALSE || $fileSize == 0) {
             echo 'Не удалось определить размер удаленного файла.';
             die;
         }
         if ($fileSize > 52428800) {
             echo 'Размер удаленного файла превышает 50 МБ';
             die;
         }
         $fileName = array_pop(explode('/', $_POST['remote_url']));
         if (!preg_match('/.+\\.[a-z0-9]{2,}$/ui', $fileName)) {
             echo 'Неверный формат удаленного файла.';
             die;
         }
         $fileName = strtolower(\Helpers\Data::toTranslite($fileName));
     }
     $fileExtension = \Helpers\Document::getExtension($fileName);
     $fileType = \Helpers\Document::getFileType($fileExtension);
     $mimeType = $fileType . '/' . $fileExtension;
     $serverFileName = uniqid() . '_' . $fileName . '.txt';
     if (!empty($_SESSION['rf_user'])) {
         $userName = $_SESSION['rf_user'];
     } else {
         $userName = '******';
     }
     $currentDate = time();
     $uploadPath = $_SERVER['DOCUMENT_ROOT'] . '/uploads/';
     if (!empty($_FILES['uploadFile']['tmp_name'])) {
         if (!move_uploaded_file($_FILES['uploadFile']['tmp_name'], $uploadPath . $serverFileName)) {
             echo 'Ошибка при перемещении файла.';
             die;
         }
     }
     if (!empty($_POST['remote_url'])) {
         if (!copy($_POST['remote_url'], $uploadPath . $serverFileName)) {
             echo 'Не удалось загрузить файл с удаленного сервера.';
             die;
         }
     }
     $result = $this->_files->uploadFile($userName, $fileName, $serverFileName, $fileSize, $currentDate, $mimeType);
     if (ctype_digit($result)) {
         echo $result;
         die;
     }
 }
Example #2
0
 public function create()
 {
     if (Request::isPost()) {
         //Checkbox validation
         if ($_POST['participeAvant'] == "Yes") {
             $participe_avant = 'true';
         } else {
             $participe_avant = 'false';
         }
         //date validation
         $_POST['dateD'] = $this->validate_date($_POST['dateD']);
         $_POST['dateF'] = $this->validate_date($_POST['dateF']);
         if ($_POST['dateD'] != null && $_POST['dateF'] != null) {
             if (!$this->is_date_higher($_POST['dateD'], $_POST['dateF'])) {
                 $_POST['dateD'] = null;
                 $_POST['dateF'] = null;
             }
         }
         GUMP::set_field_name("titre", "\"Titre\"");
         GUMP::set_field_name("dateD", "\"Date de début\"");
         GUMP::set_field_name("dateF", "\"Date de fin\"");
         GUMP::set_field_name("participeAvant", "\"Participe avant\"");
         GUMP::set_field_name("nbParticipantsMax", "\"Nombre de participant max\"");
         GUMP::set_field_name("image_concours", "\"Image\"");
         $is_valid = GUMP::is_valid(array_merge($_POST, $_FILES), array('titre' => 'required', 'dateD' => 'required', 'dateF' => 'required', 'participeAvant' => 'boolean', 'nbParticipantsMax' => 'required|integer', 'image_concours' => 'required', 'nb_votes_max' => 'required|integer'));
         //A modifier
         $id_client = 1;
         $image_concours = "image_concours";
         //save de contest
         if ($is_valid === true) {
             /*
             $concour  = array(
                                 'titre' => $_POST['titre'],
                                 'theme' => $_POST['theme'],
                                 'reglement' => $_POST['reglement'],
                                 'description' => $_POST['description'],
                                 'lots' => $_POST['lots'],
                                 'dateD' => $_POST['dateD'],
                                 'dateF' => $_POST['dateF'],
                                 'nbParticipantsMax' => intval($_POST['nbPaticipantsMax']),
                                 'participeAvant' => $_POST['participeAvant'],
                                 'image_concours' => $image_concours,
                                 'fk_id_client' => $id_client,
                                 'nb_votes_max' => intval($_POST['nb_votes_max'])
                             );
             */
             $query = "INSERT INTO concours(titre, theme, reglement, description, lots, \"dateD\",\n                 \"dateF\", \"nbParticipantsMax\", image_concours,\n                 \"participeAvant\", fk_id_client, nb_votes_max)\n\n                 VALUES ('" . $_POST['titre'] . "',' " . $_POST['theme'] . "', '" . $_POST['reglement'] . "', '" . $_POST['description'] . "', '" . $_POST['lots'] . "', '" . $_POST['dateD'] . "', '" . $_POST['dateF'] . "', " . intval($_POST['nbPaticipantsMax']) . ", '" . $image_concours . "', '" . $participe_avant . "', " . $id_client . ", '" . $_POST['nb_votes_max'] . "')";
             $bdd = pg_connect(DB_CONFIG);
             //$res = pg_insert($bdd, "concours", $concour);
             $res = pg_query($bdd, $query);
             pg_close($bdd);
             if ($res) {
                 $data['saved_correctly'] = true;
             } else {
                 $data['is_error'] = true;
                 $data['is_valid'] = array('Une erreur s\'est produite au moment de la sauvegarde');
             }
         } else {
             $data['post'] = $_POST;
             $data['is_error'] = true;
             $data['is_valid'] = $is_valid;
         }
     }
     $this->validate_date("4/13/2017");
     $data['title'] = $this->language->get('createContest');
     //Adding specific JS files
     $data['js-datePlaceholder'] = true;
     View::renderTemplate('backoffice/header', $data);
     View::renderTemplate('backoffice/main_header', $data);
     View::render('backoffice/contest/create', $data);
     View::renderTemplate('backoffice/footer', $data);
 }
Example #3
0
 public function refresh()
 {
     \Helpers\GUMP::set_field_name('new-email', 'email');
     \Helpers\GUMP::set_field_name('new-password', 'Пароль');
     \Helpers\GUMP::set_field_name('confirm-new-password', 'Подтверждение пароля');
     $validated = \Helpers\GUMP::is_valid($_POST, array('user-id' => 'required|integer', 'old-email' => 'required|valid_email', 'new-email' => 'required|valid_email', 'new-password' => 'required|max_len,32|min_len,4', 'confirm-new-password' => 'required|max_len,32|min_len,4'));
     if (is_array($validated)) {
         echo $validated[0];
         die;
     }
     if ($_POST['new-password'] != $_POST['confirm-new-password']) {
         echo 'Пароли не совпадают.';
         die;
     }
     if (mb_strtolower($_POST['old-email']) != mb_strtolower($_POST['new-email'])) {
         $checkEmail = $this->_user->checkEmail(mb_strtolower($_POST['new-email']));
         if (!empty($checkEmail)) {
             echo 'Этот email уже есть в базе.';
             die;
         }
     }
     $newPass = \Helpers\Password::make($_POST['new-password']);
     $this->_user->updateUser($_POST['new-email'], $newPass, $_POST['user-id']);
 }