/** * Returns an singleton instance of this class * @return */ public static function getInstance() { if (self::$instance == null) { self::$instance = new UsersMapper(); } return self::$instance; }
/** * Find {@link Foc} by identifier. * @return Users Foc or <i>null</i> if not found */ public function findById($id) { $row = $this->query('SELECT * FROM Users WHERE deleted = 0 and id = ' . (int) $id)->fetch(); if (!$row) { return null; } $Users = new Users(); UsersMapper::map($Users, $row); return $Users; }
$edit = array_key_exists('id', $_GET); if ($edit) { $Users = Utils::getFocByGetId(); } else { // set defaults $Users = new Foc(); $Users->setPriority(Foc::PRIORITY_MEDIUM); $dueOn = new DateTime("+1 day"); $dueOn->setTime(0, 0, 0); $Users->setDueOn($dueOn); } if (array_key_exists('cancel', $_POST)) { // redirect Utils::redirect('detail', array('id' => $Users->getId())); } elseif (array_key_exists('save', $_POST)) { // for security reasons, do not map the whole $_POST['foc'] $data = array('username' => $_POST['Users']['username'], 'firsname' => $_POST['Users']['firsname'], 'lastname' => $_POST['Users']['lastname'], 'email' => $_POST['Users']['email'], 'password' => $_POST['Users']['password']); // map UsersMapper::map($Users, $data); // validate $errors = UsersValidator::validate($Users); // validate if (empty($errors)) { // save $dao = new FocDao(); $Users = $dao->save($Users); Flash::addFlash('Changes saved successfully.'); // redirect Utils::redirect('detail', array('id' => $Users->getId())); } }
<?php require_once "lib/User.php"; require_once "lib/Post.php"; require_once "lib/PDO.php"; require_once "lib/UsersMapper.php"; require_once "lib/PostsMapper.php"; $usersMapper = new UsersMapper($DBH); $postsMapper = new PostsMapper($DBH); error_reporting(E_ALL); $error = ""; if (isset($_COOKIE['userscookie']['code'])) { $code = $_COOKIE['userscookie']['code']; $head = "Ваши данные:"; $user = $usersMapper->getUserbyCode($code); $post = new Post(); $new = 1; $message = "вы можете их изменить"; $logined = 1; } else { $head = "Войдите или Зарегистрируйтесь"; header("Location: index.php"); die; } if (isset($_POST['submit'])) { $post->setFields($_POST); $post->setUsrID($user->getID()); $error = $post->checkFields(); if (!$error) { if ($new) { $postsMapper->addPost($post);
<?php require_once "lib/User.php"; require_once "lib/PDO.php"; require_once "lib/UsersMapper.php"; error_reporting(E_ALL); $error = ""; $mapper = new UsersMapper($DBH); if (isset($_COOKIE['userscookie']['code'])) { $code = $_COOKIE['userscookie']['code']; $head = "Ваши данные: можете изменить их"; $user = $mapper->getUserbyCode($code); $new = 0; $message = "вы можете их изменить"; $logined = 1; } else { $head = "Войдите или Зарегистрируйтесь"; $user = new User(); $new = 1; $message = ''; $code = ''; $logined = 0; } if (isset($_POST['regsubmit'])) { $user->setFields($_POST); if ($mapper->isloginUsed($_POST['login'], $code)) { $error = "loginused"; $message = "Такой login уже зарегистрирован!"; } else { if ($mapper->isemailUsed($_POST['email'], $code)) { $error = "emailused";