public function modify(array $params) { if (isset($params[0])) { $id_user = intval($params[0]); if (!($user = $this->model->getUser($id_user))) { return false; } $data = Request::getAssoc(array()); $errors = array(); if (Request::getMethod() == 'POST') { $data = Request::getAssoc(array('access', 'lastname', 'firstname', 'lastname', 'email')); if (!Tools::isEmail($data['email'])) { $errors[] = 'L\'email saisi n\'est pas valide !'; } if (empty($errors)) { $this->model->updateUser($id_user, $data); } $password = Request::getAssoc(array('password', 'password_confirm')); if (!empty($password['password']) && !empty($password['password_confirm'])) { // Update the password only if modified if ($password['password'] == $password['password_confirm']) { $this->model->updateUserPassword($id_user, $password['password']); } else { $errors[] = 'Les mots de passe saisis ne sont pas identiques.'; } } return array('id_user' => $id_user, 'user' => $user, 'method' => 'POST', 'errors' => $errors); } return array('id_user' => $id_user, 'user' => $user, 'method' => 'GET', 'errors' => $errors); } return false; }
function send_comment(array $params) { if (!isset($params[0])) { return false; } $topic_id = intval($params[0]); $data = Request::getAssoc(array('message')); if (!in_array(null, $data, true)) { $this->model->addComment($topic_id, $data); return array('id' => $topic_id); } }
function modif_confirm(array $params) { if (isset($params[0])) { $article_id = intval($params[0]); $data = Request::getAssoc(array('nom', 'corps')); if (!in_array(null, $data, true)) { $data += Request::getAssoc(array('mclef')); $errors = array(); //TO DO : Make the error work (doesn't appear despite bad extension) //-------------Banniere--------------------------------------------------- $maxwidth = 100000; $minwidth = 0; $maxheight = 100000; $minheight = 0; $banner = Request::get('bann', null, 'FILES'); $message_erreur = ''; if (!empty($banner['name'])) { if (!$banner['error']) { $extensions_valides = array('jpg', 'jpeg', 'gif', 'png'); //1. strrchr renvoie l'extension avec le point (« . »). //2. substr(chaine,1) ignore le premier caractère de chaine. //3. strtolower met l'extension en minuscules. $extension_upload = strtolower(substr(strrchr($banner['name'], '.'), 1)); if (in_array($extension_upload, $extensions_valides)) { $sizeimage = getimagesize($banner['tmp_name']); if ($sizeimage[0] > $minwidth and $sizeimage[1] > $minheight) { $new_file_name = $banner['name']; move_uploaded_file($banner['tmp_name'], UPLOAD_DIR . 'article' . DS . 'banner' . DS . $new_file_name); $data['bann'] = Config::get('config.base') . '/upload/article/banner/' . $new_file_name; } else { $errors += array('Problème de dimension pour la bannière : trop petit en hauteur et/ou en largeur'); } } else { $errors += array('Problème d\'extension pour la bannière : votre fichier n\'est pas du type png, jpeg, jpg ou gif'); } } else { $errors += array('Problème de Serveur'); } } else { $data['bann'] = ''; } //----------------------------------------------------------------------------(fin banniere) if (empty($data['bann'])) { $data['bann'] = null; } $id_article = $article_id; $this->model->modifArticle($data, $id_article); return array('id' => $id_article, 'error' => $errors); } } }
public function contactconfirm() { $data = Request::getAssoc(array('subject', 'message', 'firstname', 'lastname', 'email')); //Destination $mail = Config::get('config.email'); //filter if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}\$#", $mail)) { $passage_ligne = "\r\n"; } else { $passage_ligne = "\n"; } //extract email $email = $data['email']; //extract firsname $firstname = $data['firstname']; //extract lastname $lastname = $data['lastname']; //extract message text $message_txt = $data['message']; //extract subject. $subject = $data['subject']; //Create boundary $boundary = "-----=" . md5(rand()); //=====Create header $header = "From: <" . $email . ">" . $passage_ligne; $header .= "Reply-to: <" . $mail . ">" . $passage_ligne; $header .= "MIME-Version: 1.0" . $passage_ligne; $header .= "Content-Type: multipart/alternative;" . $passage_ligne . " boundary=\"{$boundary}\"" . $passage_ligne; //========== //=====Create message. $message = $passage_ligne . "--" . $boundary . $passage_ligne; //=====Message $message .= "Content-Type: text/plain; charset=\"ISO-8859-1\"" . $passage_ligne; $message .= "Content-Transfer-Encoding: 8bit" . $passage_ligne; $message .= $passage_ligne . $message_txt . $passage_ligne; //$message.= $passage_ligne."--".$boundary.$passage_ligne; $message .= $passage_ligne . "--" . $boundary . "--" . $passage_ligne; $message .= $passage_ligne . "--" . $boundary . "--" . $passage_ligne; //=====send e-mail mail($mail, $subject, $message, $header); //========== }
function add_confirm_region(array $params) { $data = Request::getAssoc(array('nom')); $this->model->addRegion($data); header('Location: ' . Config::get('config.base') . '/admin/events/regions'); }
public function uploadphoto(array $params) { if (isset($params[0])) { $id_event = intval($params[0]); if (!($event = $this->model->getEvent($id_event))) { return array('errors' => array('L\'évenement demandé n\'existe pas !')); } $data = Request::getAssoc(array('title')); if (!in_array(null, $data, true)) { $photo = Request::get('photo', null, 'FILES'); $minwidth = 640; $maxwidth = 1280; $minheight = 360; $maxheight = 720; $errors = array(); if (!empty($photo['name'])) { if (!$photo['error']) { $extensions_valides = array('jpg', 'jpeg', 'gif', 'png'); //1. strrchr renvoie l'extension avec le point (« . »). //2. substr(chaine,1) ignore le premier caractère de chaine. //3. strtolower met l'extension en minuscules. $extension_upload = strtolower(substr(strrchr($photo['name'], '.'), 1)); if (in_array($extension_upload, $extensions_valides)) { $sizeimage = getimagesize($photo['tmp_name']); if ($sizeimage[0] >= $minwidth && $sizeimage[1] >= $minheight) { if ($sizeimage[0] <= $maxwidth && $sizeimage[1] <= $maxheight) { $new_file_name = preg_replace('#[^a-z0-9]#', '', strtolower($data['title'])) . '-' . time() . '.' . $extension_upload; move_uploaded_file($photo['tmp_name'], UPLOAD_DIR . 'events' . DS . 'photos' . DS . $new_file_name); $data['photo'] = Config::get('config.base') . '/upload/events/photos/' . $new_file_name; } else { $errors += array('Problème de dimension pour la photo : trop grand en hauteur et/ou en largeur'); } } else { $errors += array('Problème de dimension pour la photo : trop petit en hauteur et/ou en largeur'); } } else { $errors += array('Problème d\'extension pour la photo : votre fichier n\'est pas du type png, jpeg, jpg ou gif'); } } else { $errors += array('Problème de Serveur'); } } else { $errors += array('Aucune photo n\'a été téléchargée !'); } if (empty($errors)) { $user_id = $_SESSION['userid']; $creator = $this->model->getCreator($event['id_createur']); $review = $user_id == $creator['id'] ? 1 : 0; $photo_id = $this->model->addPhoto($id_event, $data, $review); if ($review == 0) { // Send a email to the creator of the event to tell him to review the photo $headers = "From: " . strip_tags(Config::get('config.email')) . "\r\n"; $headers .= "Reply-To: " . strip_tags(Config::get('config.email')) . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; $message = 'Bonjour <strong>' . $creator['nickname'] . '</strong>,<br><br>' . "\r\n"; $message .= 'Une photo a été ajouté à votre événement <a href="' . Config::get('config.base') . '/events/detail/' . $event['id'] . '">' . $event['nom'] . '</a> par un utilisateur.<br><br>' . "\r\n"; $message .= 'Afin que cette photo puisse être visible sur la page de votre événement, vous devez la valider en allant sur <a href="' . Config::get('config.base') . '/events/reviewphoto/' . $photo_id . '">ce lien</a>.<br><br>'; $message .= 'Merci par avance !'; mail($creator['email'], 'Event-You-All : Photo ajoutée à l\'un de vos événements', $message, $headers); } return array('event' => $event, 'success' => true, 'need_review' => $review == 0); } return array('event' => $event, 'errors' => $errors); } return array('event' => $event); } return false; }
function confirmAdd() { $data = Request::getAssoc(array("text_modifyQ", "text_modifyR")); $this->model->confirmAdd($data); }
public function basicsearch() { $search = Request::getAssoc(array('search')); if (isset($search) && !empty($search)) { $results = $this->model->basicsearchindatabase($search); //Function defined in model $data['advancedresults'] = $results; $k = 0; foreach ($data['advancedresults'] as $value) { $data['advancedresults'][$k]['theme'] = $this->model->getthemewithid($value['id_theme']); $data['advancedresults'][$k]['type'] = $this->model->gettypewithid($value['id_type']); $k += 1; } $themetest = $this->model->gettheme(); $typetest = $this->model->gettype(); $regiontest = $this->model->getregion(); foreach ($regiontest as $index => $value) { if ($value['afficher'] == 1) { $data['region'][$index] = $value; } } foreach ($typetest as $index => $value) { if ($value['afficher'] == 1) { $data['type'][$index] = $value; } } foreach ($themetest as $index => $value) { if ($value['afficher'] == 1) { $data['theme'][$index] = $value; } } return $data; } else { //Error if nothing has been typed in by the user return array("error" => "Veuillez insérer un mot-clef s'il vous plaît !"); } }
function modifyConfirm() { $data = Request::getAssoc(array('text_modify')); $this->model->modifyConfirm($data); }
public function updatepassword(array $params) { $session = System::getSession(); if ($session->isConnected()) { $user_id = $_SESSION['userid']; } $oldpassword = $this->model->getoldpasswordcheck($user_id); $modifications = Request::getAssoc(array('oldpassword', 'newpassword', 'newpasswordcheck')); if (empty($modifications['oldpassword']) && empty($modifications['newpassword']) && empty($modifications['newpasswordcheck'])) { $nothingyet = true; } else { $nothingyet = false; } $error = ''; if ($oldpassword['password'] == sha1($modifications['oldpassword'])) { if ($modifications['newpassword'] == $modifications['newpasswordcheck']) { $a = $this->model->modifpassword($user_id, sha1($modifications['newpassword'])); } else { $error .= 'Les deux mots de passe sont différents'; } } else { $error .= 'Mot de Passe erroné !'; } if (empty($error)) { $data = array('success' => true, 'error' => $error); } elseif ($nothingyet === true) { $data = array('success' => 'pasencore'); } else { $data = array('success' => false, 'error' => $error); } return $data; }