define('CLI_MODE', true); define('APP_DIR', realpath(dirname(__FILE__) . '/../') . '/'); define('CF_DIR', realpath(dirname(__FILE__) . '/../../confeature/') . '/'); define('DATA_DIR', realpath(dirname(__FILE__) . '/../../data/') . '/'); try { // Loading Confeature require_once CF_DIR . 'init.php'; $avatars_tmp_path = DATA_DIR . Config::DIR_DATA_TMP . '/avatars'; if (!is_dir($avatars_tmp_path)) { throw new Exception($avatars_tmp_path . ' not found!'); } $students = DB::createQuery('students')->fields('student_number', 'firstname', 'lastname')->select(); foreach ($students as $student) { try { $avatar_path = Student_Model::getAvatarPath((int) $student['student_number']); $avatar_thumb_path = Student_Model::getAvatarPath((int) $student['student_number'], true); if (file_exists($avatar_path)) { continue; } $original_path = $avatars_tmp_path . '/' . $student['student_number'] . '.jpg'; if (!file_exists($original_path)) { throw new Exception('Photo of the student n°' . $student['student_number'] . ' (' . $student['firstname'] . ' ' . $student['lastname'] . ') not found!'); } $avatar_dir = File::getPath($avatar_path); if (!is_dir($avatar_dir)) { File::makeDir($avatar_dir, 0777, true); } File::copy($original_path, $avatar_path); // Thumb $img = new Image(); $img->load($original_path);
public function usersPage($param) { $this->setView('users.php'); /* * Enregistrement du post dans la table users */ if (isset($_FILES['uploadxml1']) && $_FILES['uploadxml1']['name'] != null) { if ($_FILES['uploadxml1']['size'] > Config::UPLOAD_MAX_SIZE_FILE) { throw new Exception(__('POST_ADD_ERROR_FILE_SIZE', array('size' => File::humanReadableSize(Config::UPLOAD_MAX_SIZE_FILE)))); } //On déplace le fichier vers le serveur if ($filepaths = File::upload('uploadxml1')) { if (!preg_match('#\\.xml$#', $filepaths)) { throw new Exception(__('POST_ADD_ERROR_FILE_FORMAT')); } $name = $filepaths; } $student = array(); $path = DATA_DIR . Config::DIR_DATA_TMP . $_FILES['uploadxml1']['name']; if (file_exists($path)) { $data = simplexml_load_file($path); foreach ($data->data as $data) { if (isset($data->username) && isset($data->admin) && isset($data->mail) && isset($data->msn) && isset($data->jabber) && isset($data->address) && isset($data->address) && isset($data->zipcode) && isset($data->city) && isset($data->cellphone) && isset($data->phone) && isset($data->birthday)) { $username = $data->username; $admin = $data->admin; $mail = $data->mail; $msn = $data->msn; $jabber = $data->jabber; $address = $data->address; $zipcode = $data->zipcode; $city = $data->city; $cellphone = $data->cellphone; $phone = $data->phone; $birthday = $data->birthday; if (!$this->model->checkuser($username, 1)) { $this->model->insertUsers($username, $admin, utf8_decode($mail), utf8_decode($msn), utf8_decode($jabber), utf8_decode($address), $zipcode, $city, $cellphone, $phone, $birthday); } else { array_push($student, $username); } } else { throw new Exception(__('ADMIN_UPLOAD_ERROR2')); } } } else { throw new Exception(__('ADMIN_UPLOAD_ERROR')); } FILE::delete($path); $this->set('fail', $student); } /* * Enregistrement du post dans la table students */ if (isset($_FILES['uploadxml2']) && $_FILES['uploadxml2']['name'] != null) { if ($_FILES['uploadxml2']['size'] > Config::UPLOAD_MAX_SIZE_FILE) { throw new Exception(__('POST_ADD_ERROR_FILE_SIZE', array('size' => File::humanReadableSize(Config::UPLOAD_MAX_SIZE_FILE)))); } if ($filepaths = File::upload('uploadxml2')) { if (!preg_match('#\\.xml$#', $filepaths)) { throw new Exception(__('POST_ADD_ERROR_FILE_FORMAT')); } $name = $filepaths; } $student = array(); $path = DATA_DIR . Config::DIR_DATA_TMP . $_FILES['uploadxml2']['name']; if (file_exists($path)) { $data = simplexml_load_file($path); foreach ($data->data as $data) { if (isset($data->username) && isset($data->lastname) && isset($data->firstname) && isset($data->student_number) && isset($data->promo) && isset($data->cesure)) { $username = $data->username; $lastname = $data->lastname; $firstname = $data->firstname; $student_number = $data->student_number; $promo = $data->promo; $cesure = $data->cesure; if (!$this->model->checkuser($username, 2)) { $this->model->insertStudents($username, utf8_decode($lastname), utf8_decode($firstname), $student_number, $promo, $cesure); } else { array_push($student, $username); } } else { throw new Exception(__('ADMIN_UPLOAD_ERROR2')); } } } else { throw new Exception(__('ADMIN_UPLOAD_ERROR')); } FILE::delete($path); $this->set('fail', $student); } /* * Enregistrement des avatars */ if (isset($_FILES['avatar_photo']) && is_array($_FILES['avatar_photo']['name'])) { foreach ($_FILES['avatar_photo']['size'] as $size) { if ($size > Config::UPLOAD_MAX_SIZE_PHOTO) { throw new Exception(__('POST_ADD_ERROR_PHOTO_SIZE', array('size' => File::humanReadableSize(Config::UPLOAD_MAX_SIZE_PHOTO)))); } } $student = array(); if ($avatarpaths = File::upload('avatar_photo')) { foreach ($avatarpaths as $avatarpath) { $uploaded_files[] = $avatarpath; } foreach ($avatarpaths as $i => $avatarpath) { $name = $_FILES['avatar_photo']['name'][$i]; try { $img = new Image(); $img->load($avatarpath); $type = $img->getType(); if ($type == IMAGETYPE_JPEG) { $ext = 'jpg'; } else { if ($type == IMAGETYPE_GIF) { $ext = 'gif'; } else { if ($type == IMAGETYPE_PNG) { $ext = 'png'; } else { throw new Exception(); } } } if ($img->getWidth() > 800) { $img->setWidth(800, true); } $img->setType(IMAGETYPE_JPEG); $img->save($avatarpath); // Thumb $avatarthumbpath = $avatarpath . '.thumb'; $img->thumb(Config::$AVATARS_THUMBS_SIZES[0], Config::$AVATARS_THUMBS_SIZES[1]); $img->setType(IMAGETYPE_JPEG); $img->save($avatarthumbpath); unset($img); $uploaded_files[] = $avatarthumbpath; $student_data['avatar_path'] = $avatarthumbpath; $student_data['avatar_big_path'] = $avatarpath; $student_data['student_number'] = preg_replace('/\\.[a-z0-9]+$/i', '', $name); if (isset($student_data['avatar_path']) && isset($student_data['student_number']) && File::exists($student_data['avatar_path'])) { $avatar_path = Student_Model::getAvatarPath((int) $student_data['student_number'], true); $avatar_dir = File::getPath($avatar_path); if (!is_dir($avatar_dir)) { File::makeDir($avatar_dir, 0777, true); } File::rename($student_data['avatar_path'], $avatar_path); } if (isset($student_data['avatar_big_path']) && isset($student_data['student_number']) && File::exists($student_data['avatar_big_path'])) { $avatar_path = Student_Model::getAvatarPath((int) $student_data['student_number'], false); $avatar_dir = File::getPath($avatar_path); if (!is_dir($avatar_dir)) { File::makeDir($avatar_dir, 0777, true); } File::rename($student_data['avatar_big_path'], $avatar_path); } } catch (Exception $e) { array_push($student, $name); } } $this->set('fail2', $student); foreach ($uploaded_files as $uploaded_file) { File::delete($uploaded_file); } } } }