function __construct() { if (!$this->checkIsUser()) { Routes::redirect(); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { $params = array(); $params['secret'] = '6Lf3ZxMTAAAAANVc5p92ISpeXZp8oTTrOr5WS6iD'; // Secret key if (!empty($_POST) && isset($_POST['g-recaptcha-response'])) { $params['response'] = urlencode($_POST['g-recaptcha-response']); } $params['remoteip'] = $_SERVER['REMOTE_ADDR']; $params_string = http_build_query($params); $requestURL = 'https://www.google.com/recaptcha/api/siteverify?' . $params_string; $curl = curl_init(); curl_setopt_array($curl, array(CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $requestURL)); $response = curl_exec($curl); curl_close($curl); $response = @json_decode($response, true); if ($response["success"] != true && !$this->checkIsUser()) { echo '<h3 class="alert alert-danger">Captcha - bład w weryfikacji</h3>'; } elseif ($response["success"] || self::$isLogged) { if ($this->addPost($_POST)) { header('Location: ' . parent::config()['url']); } } } else { $this->setPostModel(); } }
function __construct($action = 'index', $recordId = null) { if (!$this->checkIsUser()) { Routes::redirect(); } switch ($action) { case 'index': $this->setAddressBookModel(); self::$data['action'] = $action; break; case 'add': self::$data['action'] = $action; if ($_SERVER['REQUEST_METHOD'] == 'POST') { $this->addContact(); } break; case 'delete': self::$data['action'] = $action; $this->deleteContact($recordId); $this->setAddressBookModel(); break; case 'edit': self::$data['action'] = $action; if ($_SERVER['REQUEST_METHOD'] == 'POST') { $this->addContact($_POST['id_contact']); } $this->setAddressBookModel((int) $recordId); break; } new Sidebar($this->sideMenuItems()); }
/** * Edit personnal information */ public function profile_edit($params) { $this->setView('profile_edit.php'); $this->setTitle(__('USER_EDIT_TITLE')); $is_logged = isset(User_Model::$auth_data); $is_student = $is_logged && isset(User_Model::$auth_data['student_number']); // Authorization if (!$is_student) { throw new ActionException('Page', 'error404'); } $user = User_Model::$auth_data; // Birthday $user['birthday'] = date(__('USER_EDIT_FORM_BIRTHDAY_FORMAT'), strtotime($user['birthday'])); // Saving data if (isset($_POST['mail']) && isset($_POST['msn']) && isset($_POST['jabber']) && isset($_POST['address']) && isset($_POST['zipcode']) && isset($_POST['city']) && isset($_POST['cellphone']) && isset($_POST['phone']) && isset($_POST['birthday'])) { try { // Other info $data = array('mail' => $_POST['mail'], 'msn' => $_POST['msn'], 'jabber' => $_POST['jabber'], 'address' => $_POST['address'], 'zipcode' => $_POST['zipcode'], 'city' => $_POST['city'], 'cellphone' => $_POST['cellphone'], 'phone' => $_POST['phone'], 'birthday' => $_POST['birthday']); $this->model->save((int) User_Model::$auth_data['id'], $data); Routes::redirect('student', array('username' => User_Model::$auth_data['username'])); } catch (FormException $e) { foreach ($data as $key => $value) { $user[$key] = $value; } $this->set('form_error', $e->getError()); } } $this->set('user', $user); $this->addJSCode('User.initEdit();'); }
function __construct($mode, $action = null) { if (!$this->isAdmin()) { Routes::redirect(); } self::$data['mode'] = $mode; if ($action && isset($action['action'])) { $functionToFire = $action['action'] . ucfirst($mode); if (isset($action['id'])) { self::$data['action'] = $action['action']; $this->{$functionToFire}($action['id']); } else { self::$data['action'] = $action['action']; $this->{$functionToFire}(); } } $this->{$mode}(); }
/** * Add a group */ public function add($params) { $this->setView('add.php'); $this->setTitle(__('GROUP_ADD_TITLE')); $is_logged = isset(User_Model::$auth_data); $is_admin = $is_logged && User_Model::$auth_data['admin'] == '1'; // Authorization if (!$is_admin) { throw new ActionException('Page', 'error404'); } $group = array(); // Saving data if (isset($_POST['name']) && isset($_POST['creation_date']) && isset($_POST['mail']) && isset($_POST['description'])) { $uploaded_files = array(); try { // Members $members = array(); if (isset($_POST['members_ids']) && is_array($_POST['members_ids'])) { foreach ($_POST['members_ids'] as $id) { if (ctype_digit($id)) { $id = (int) $id; $members[$id] = array('title' => isset($_POST['member_title_' . $id]) ? $_POST['member_title_' . $id] : '', 'admin' => isset($_POST['member_admin_' . $id])); } } } // Other info $data = array('name' => $_POST['name'], 'creation_date' => $_POST['creation_date'], 'mail' => $_POST['mail'], 'description' => $_POST['description'], 'members' => $members); // Avatar if (isset($_FILES['avatar']) && !is_array($_FILES['avatar']['name'])) { if ($_FILES['avatar']['size'] > Config::UPLOAD_MAX_SIZE_PHOTO) { throw new FormException('avatar'); } if ($avatarpath = File::upload('avatar')) { $uploaded_files[] = $avatarpath; 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; $data['avatar_path'] = $avatarthumbpath; $data['avatar_big_path'] = $avatarpath; } catch (Exception $e) { throw new FormException('avatar'); } } } $url_name = $this->model->create($data); Routes::redirect('group', array('group' => $url_name)); } catch (FormException $e) { foreach ($uploaded_files as $uploaded_file) { File::delete($uploaded_file); } foreach ($data as $key => $value) { $group[$key] = $value; } $group['members'] = Student_Model::getInfoByUsersIds(array_keys($members)); foreach ($group['members'] as &$member) { if (isset($members[(int) $member['user_id']])) { $member['title'] = $members[(int) $member['user_id']]['title']; $member['admin'] = $members[(int) $member['user_id']]['admin'] ? '1' : '0'; } } $this->set('form_error', $e->getError()); } } $this->set('group', $group); $this->addJSCode('Group.initEdit();'); }
/** * Edit a user */ public function edit($params) { $this->setView('edit.php'); $is_logged = isset(User_Model::$auth_data); $is_admin = $is_logged && User_Model::$auth_data['admin'] == '1'; // Authorization if (!$is_admin) { throw new ActionException('Page', 'error404'); } try { $student = $this->model->getInfo($params['username']); } catch (Exception $e) { throw new ActionException('Page', 'error404'); } $this->setTitle(__('STUDENT_EDIT_TITLE', array('username' => $student['username']))); // Birthday $student['birthday'] = date(__('USER_EDIT_FORM_BIRTHDAY_FORMAT'), strtotime($student['birthday'])); // Saving data if (isset($_POST['mail']) && isset($_POST['msn']) && isset($_POST['jabber']) && isset($_POST['address']) && isset($_POST['zipcode']) && isset($_POST['city']) && isset($_POST['cellphone']) && isset($_POST['phone']) && isset($_POST['birthday']) && isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['student_number']) && isset($_POST['promo'])) { $uploaded_files = array(); try { // Other info $user_data = array('mail' => $_POST['mail'], 'msn' => $_POST['msn'], 'jabber' => $_POST['jabber'], 'address' => $_POST['address'], 'zipcode' => $_POST['zipcode'], 'city' => $_POST['city'], 'cellphone' => $_POST['cellphone'], 'phone' => $_POST['phone'], 'birthday' => $_POST['birthday']); $student_data = array('firstname' => $_POST['firstname'], 'lastname' => $_POST['lastname'], 'student_number' => $_POST['student_number'], 'promo' => $_POST['promo'], 'cesure' => isset($_POST['cesure'])); // Avatar if (isset($_FILES['avatar']) && !is_array($_FILES['avatar']['name'])) { if ($_FILES['avatar']['size'] > Config::UPLOAD_MAX_SIZE_PHOTO) { throw new FormException('avatar'); } if ($avatarpath = File::upload('avatar')) { $uploaded_files[] = $avatarpath; 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; } catch (Exception $e) { throw new FormException('avatar'); } } } $user_model = new User_Model(); $user_model->save((int) $student['id'], $user_data); $this->model->save($student['username'], $student_data); Routes::redirect('student', array('username' => $params['username'])); } catch (FormException $e) { foreach ($uploaded_files as $uploaded_file) { File::delete($uploaded_file); } foreach ($student_data as $key => $value) { $student[$key] = $value; } foreach ($user_data as $key => $value) { $student[$key] = $value; } $this->set('form_error', $e->getError()); } } $this->set('student', $student); $this->addJSCode('User.initEdit();'); }