Example #1
0
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);
Example #2
0
 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);
             }
         }
     }
 }