public function share($user_id, $post_id) { $post_mapper = new Application_Model_PostMapper(); $user_mapper = new Application_Model_UserMapper(); $shared_post = $post_mapper->find($post_id); $user = $user_mapper->find($shared_post['user_id']); $share_elm = $this->findByTwoColumns('user_id', $user_id, 'post_id', $post_id); $db = Zend_Registry::get('db'); if (empty($share_elm)) { $sql = "insert into post_share VALUES(" . $user_id . "," . $post_id . ");"; $db->query($sql); $post_model = new Application_Model_Post(); $username = $user['username']; $post_model->_fields['user_id'] = get_user_id(); $post_model->_fields['content'] = "The Post originally shared by {$username}: \n" . $shared_post['content']; $post_model->_fields['comment_number'] = 0; $post_model->_fields['is_reported'] = 0; $post_model->_fields['updated_at'] = time(); $new_id = $post_mapper->save($post_model); $path = APPLICATION_PATH . "/../public/post_pic/" . "{$post_id}.png"; $path2 = APPLICATION_PATH . "/../public/post_pic/{$new_id}.png"; copy($path, $path2); return true; } return false; }
public function fetchallAction() { //Instance du Mapper $userMapper = new Application_Model_UserMapper(); //Find $user = $userMapper->fetchAll(); //Envoie des données à la vue $this->view->user = $user; }
public function autocompleteUserAction() { $this->_helper->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); $query = $this->getRequest()->getParam('term'); $userMapper = new Application_Model_UserMapper(); $arrUsers = $userMapper->searchUserByName($query); $arrNames = array(); foreach ($arrUsers as $obUser) { array_push($arrNames, $obUser->getUserName()); } $arrNames = Zend_Json::encode($arrNames); print_r($arrNames); }
public function regAction() { $request = $this->getRequest(); $form = new Application_Form_UserRegistration(); if ($this->getRequest()->isPost()) { if ($form->isValid($request->getPost())) { $user = new Application_Model_User($form->getValues()); $user->setUserReg(date('Y-m-d H:i:s', time()))->setUserLastLogin(date('Y-m-d H:i:s', time())); $userMapper = new Application_Model_UserMapper(); $userMapper->save($user); return $this->_helper->redirector('index,', 'index'); } } $this->view->form = $form; }
public function loginAction() { $username = strip_tags(trim($this->getRequest()->getParam('username'))); $password = md5(strip_tags(trim($this->getRequest()->getParam('password')))); $UserMapper = new Application_Model_UserMapper(); $arr = $UserMapper->checkUser($username, $password); if (!empty($arr)) { if ($arr[0]['Activate'] == 1) { $DeptMapper = new Application_Model_DepartmentMapper(); $DeptID = $arr[0]['Department']; $arrDept = $DeptMapper->findDept($DeptID); if (!empty($arrDept)) { $DeptCode = $arrDept[0]['DeptCode']; $DeptName = $arrDept[0]['DeptName']; } $session = new Zend_Session_Namespace('user'); $session->UserID = $arr[0]['UID']; $session->UserName = $arr[0]['UserName']; $session->RealName = $arr[0]['RealName']; $session->DeptID = $arr[0]['Department']; $session->DeptCode = $DeptCode; $session->DeptName = $DeptName; $session->Type = $arr[0]['Type']; $session->LastLoginTime = $arr[0]['LastLoginTime']; if ($this->getRequest()->getParam('remember') == "on") { $session->setExpirationSeconds(3600); } else { $session->setExpirationSeconds(1800); } $res = $UserMapper->updateLastLoginTime($arr[0]['UID']); $this->_redirect('/admin'); } else { $string = "<meta http-equiv='content-type' content='text/html; charset=UTF-8'><script language=\"JavaScript\">alert(\"未授权用户!\");location.href = \"/login\";</script>"; echo $string; exit; } } else { $string = "<meta http-equiv='content-type' content='text/html; charset=UTF-8'><script language=\"JavaScript\">alert(\"登陆失败!\");location.href = \"/login\";</script>"; echo $string; exit; } }
public function homeAction() { $request = $this->getRequest(); $this->view->isAdmin = is_admin(); $name = $request->getParam("name"); $order = $request->getParam('order'); $tag = $request->getParam('tag'); $xml_loc = "http://plus.local/post/getposts"; if (!empty($tag)) { $xml_loc .= "/tag/{$tag}"; } elseif (!empty($name)) { $xml_loc .= "/name/{$name}"; } elseif (!empty($order)) { $xml_loc .= "/order/{$order}"; } $this->view->xml = $xml_loc; $user_mapper = new Application_Model_UserMapper(); $user = $user_mapper->find(get_user_id()); $this->view->username = $user['username']; }
public function createKeysAction() { if (($username = Prosecco_Authentication::getInstance()->loggedInAs()) != false) { $this->view->userName = $username; // Get UID $userMapper = new Application_Model_UserMapper(); $userdata = $userMapper->findByColumn("uname", $username); $uid = $userdata[0]->getUid(); // Get real name $userdata = new Application_Model_UserData(); $userDataMapper = new Application_Model_UserDataMapper(); $userDataMapper->find($uid, $userdata); if ($userdata !== null) { $this->view->realName = $this->buildRealName($userdata->getForename(), $userdata->getSurname()); } else { $this->view->realName = null; } } else { //TODO require authentication } }
public function fetchAll() { $resultSetUser = $this->_userMapper->fetchAll(); $entries = array(); foreach ($resultSetUser as $row) { $entry = new Application_Model_UserComplete(); $entry->setUserModel($row); $userdata = new Application_Model_UserData(); $this->_userDataMapper->find($row->getUid(), $userdata); $entry->setUserDataModel($userdata); $entries[] = $entry; } return $entries; }
public function editAction() { $request = $this->getRequest(); $user_id = get_user_id(); $user_mapper = new Application_Model_UserMapper(); $user = $user_mapper->find($user_id); $this->view->user = $user; if ($request->isPost()) { $username = $request->getParam("username"); $password = $request->getParam("password"); $about = $request->getParam("about"); $place = $request->getParam('place'); if (strlen($username) < 4) { $this->_redirect("/user/edit"); } $user_model = new Application_Model_User(); $user_model->_fields['id'] = $user_id; $user_model->_fields['username'] = $username; $user_model->_fields['about'] = $about; $user_model->_fields['place'] = $place; $user_model->_fields['password'] = $password; $user_mapper->save($user_model); if (isset($_FILES['profile_pic'])) { if (is_uploaded_file($_FILES['profile_pic']['tmp_name'])) { if (!move_uploaded_file($_FILES['profile_pic']['tmp_name'], APPLICATION_PATH . "/../public/profile_pic/" . $user_id . '.png')) { $this->_redirect("/user/edit"); } } } if (isset($_FILES['cover_pic'])) { if (!is_uploaded_file($_FILES['cover_pic']['tmp_name'])) { $this->_redirect("/profile/profile"); } if (!move_uploaded_file($_FILES['cover_pic']['tmp_name'], APPLICATION_PATH . "/../public/cover_pic/" . $user_id . '.png')) { $this->_redirect("/user/edit"); } } $this->_redirect("/profile/profile"); } }
/** * * Change password */ public function updateAction() { // display form $request = $this->getRequest(); $form = new Application_Form_Update(); // process form if ($request->isPost()) { if ($form->isValid($request->getPost())) { $userMapper = new Application_Model_UserMapper(); $auth = Zend_Auth::getInstance(); $user = new Application_Model_User(get_object_vars($auth->getIdentity())); $user->setPassword($form->getValue('password')); $userMapper->save($user); $form = null; $this->view->msg = "Your password has been updated."; } } $this->view->form = $form; }
public function editAction() { if (!Zend_Auth::getInstance()->hasIdentity()) { return $this->_redirect('/'); } $user = new Zend_Session_Namespace('user'); // process the form $form = new Application_Form_UserEdit(); if ($this->getRequest()->isPost()) { if ($form->isValid($_POST)) { /** * Because some fields are excluded from the form, they will be * set manually */ $id = $user->user['id']; $username = $user->user['username']; $password_salt = $user->user['password_salt']; $password_hash = $user->user['password_hash']; if ($form->getValue('password') == $form->getValue('password_confirm')) { /** * Check if the user changed the email to one that is * already in use */ $user_mapper = new Application_Model_UserMapper(); $email = $user_mapper->findByEmail($form->getValue('email')); $duplicate = false; if ($email) { $email = $email[0]; if ($id != $email->getId()) { $duplicate = true; } } if (!$duplicate) { // update the user $values = $form->getValues(); $user_mapper = new Application_Model_UserMapper(); $user = new Application_Model_User($values); $user->setId($id); $user->setUsername($username); $user->setPassword_salt($password_salt); $user->setPassword_hash($password_hash); $user->setActive(1); $user_mapper->save($user); // update the session $session = new Zend_Session_Namespace('user'); $session->user = $user->get_array(); $this->_helper->FlashMessenger('Successful Update'); return $this->_redirect('/user'); } else { print "A user with this email already exists."; } } else { print "The password was not confirmed."; } } else { print 'Invalid form'; } } // populate the form with the user's information $elements = $form->getElements(); unset($elements['submit']); foreach ($elements as $key => $row) { $form->{$key}->setValue($user->user[$key]); } $this->view->form = $form; }
public static function getAuthUser() { $auth = Zend_Auth::getInstance(); $users = new Application_Model_UserMapper(); return $users->getOneByUsername($auth->getIdentity()); }
public function exepaypalAction() { if (isset($_GET['success']) && $_GET['success'] == 'true') { $paymentId = $_GET['paymentId']; $token = $_GET['token']; $PayerID = $_GET['PayerID']; require_once APPLICATION_PATH . "/../library/My/paypal_bootstrap.php"; $payment = Payment::get($paymentId, $apiContext); $execution = new PaymentExecution(); $execution->setPayerId($PayerID); $result = $payment->execute($execution, $apiContext); $payment = Payment::get($paymentId, $apiContext); if ($payment->getState() == 'approved') { $transactions = $payment->getTransactions(); $relatedResources = $transactions[0]->getRelatedResources(); $sale = $relatedResources[0]->getSale(); $saleId = $sale->getId(); $sale = Sale::get($saleId, $apiContext); //var_dump($transactions[0], $sale); $order_id = $transactions[0]->getCustom(); $userMapper = new Application_Model_UserMapper(); $db_adapter = $userMapper->getDbTable()->getAdapter(); $db = Zend_Db::factory('Mysqli', $db_adapter->getConfig()); $data = array('state' => $sale->getState(), 'transaction_id' => $saleId); $db->update('orders', $data, array('id = ?' => $order_id)); $row = $db->fetchRow($db->select('user_id')->from('orders')->where('id = ?', $order_id)); $db->delete('shoppingcarts', array('user_id = ?' => $row['user_id'])); $this->_helper->getHelper('FlashMessenger')->addMessage('Order Complete', 'success'); } } else { $this->_helper->getHelper('FlashMessenger')->addMessage('You close the payment', 'error'); } return $this->_helper->redirector('mycart'); }
public function getFriends() { $users = new Application_Model_UserMapper(); return $users->getFriendsForUser($this->_id); }
public function facebookcbAction() { $this->_helper->viewRenderer->setNoRender(true); $this->_helper->layout()->disableLayout(); $request = $this->getRequest(); $params = $request->getParams(); if (isset($params['code'])) { // Code Parameter aus dem Facebook Callback auslesen $code = $params['code']; $url = 'https://graph.facebook.com/oauth/access_token'; $arpost = array('client_id' => Zend_Registry::get('facebook_client_id'), 'redirect_uri' => Zend_Registry::get('facebook_redirect_uri'), 'client_secret' => Zend_Registry::get('facebook_client_secret'), 'code' => $code); $result = $this->requestFacebookAPI_GET($url, $arpost); $userdb = new Application_Model_UserMapper(); if ($result === FALSE) { /// TODO Error Page Redirect } else { parse_str($result, $arresult); $auth = Zend_Auth::getInstance(); $usermapper = new Application_Model_UserMapper(); // Prüfe ob User eingeloggt ist. if (!$auth->hasIdentity()) { // Nicht eingeloggt $auth = Zend_Auth::getInstance(); // Noch kein Handling von mehreren Accounts mit dem gleichen Token $user = $usermapper->getOneByAccess_token($arresult['access_token']); if ($user) { $adapter = new Application_Model_Adapter_AuthFb(); $adapter->setIdentity($user->getUserName()); $adapter->setCredential($arresult['access_token']); $adapter->authenticate(); $result = $auth->authenticate($adapter); switch ($result->getCode()) { case Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND: $this->_redirect(index); break; case Zend_Auth_Result::SUCCESS: $this->_redirect(map); break; } } if (false) { // TODO Profilinformation wird in die Anmeldefelder eingetragen, access_token in die DB geschrieben. } } // Mit Access Token das UserProfil auslesen $url = 'https://graph.facebook.com/me'; $arpost = array('access_token' => $arresult['access_token']); $result = $this->requestFacebookAPI_GET($url, $arpost); if ($result === FALSE) { // Error Handling hinzufügen } elseif ($auth->hasIdentity()) { $user = Application_Model_AuthUser::getAuthUser(); $user_id = $user->getId(); $arprofile = json_decode($result, true); print_r($arresult); print_r($arprofile); $data = array('id' => $user->getId(), 'facebook_access_token' => $arresult['access_token'], 'facebook_name' => $arprofile['name'], 'facebook_id' => $arprofile['id']); $userdb->addFacebookData($user_id, $data); $this->_redirect("/map"); } } } }
public function resetpassAction() { $form = new Application_Form_ResetPass(); $request = $this->getRequest(); if ($request->isPost()) { if ($form->isValid($request->getPost())) { $data = $form->getValues(); try { //check if email is registered $userMapper = new Application_Model_UserMapper(); $result = $userMapper->getDbTable()->fetchRow($userMapper->getDbTable()->select('id')->where('email = ?', $data['email'])); if (!$result || count($result) == 0) { throw new ErrorException('Email is not registered!'); } //generate new password and update database field $length = 8; $pass = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length); $new_pass = md5($pass); $update_fields = array('password' => $new_pass); //send email with new credentials $mailMapper = new Application_Model_MailsettingMapper(); $default_config_id = $mailMapper->getDefault(); $mailsetting = $mailMapper->getConfig($default_config_id); $obj = new My_Class_Cript(); $config = array('auth' => 'login', 'username' => $mailsetting->email, 'password' => $obj->decript($mailsetting->password), 'ssl' => $mailsetting->stype, 'port' => $mailsetting->port); $transport = new Zend_Mail_Transport_Smtp($mailsetting->host, $config); $mail = new Zend_Mail(); $message = "<p>New password is: {$pass}</p>"; $mail->setBodyHtml($message); $mail->setFrom('*****@*****.**', 'Products-Pilot'); $mail->addTo($data['email'], 'You'); $mail->setSubject('New Password'); if ($mail->send($transport)) { $result = $userMapper->getDbTable()->update($update_fields, array('email = ?' => $data['email'])); if (!$result) { throw new ErrorException('Something goes wrong!'); } $this->_helper->getHelper('FlashMessenger')->addMessage('Check your email for new password', 'info'); return $this->_helper->redirector('login'); } } catch (Exception $e) { //var_dump($e); if ($e instanceof ErrorException) { $message = $e->getMessage(); } else { $message = 'Mail service error: ' . $e->getMessage(); } $this->_helper->getHelper('FlashMessenger')->addMessage($message, 'error'); $this->_helper->redirector('resetpass'); } //$this->_helper->redirector('login'); } else { foreach ($form->getMessages() as $error) { $this->_helper->getHelper('FlashMessenger')->addMessage(array_shift(array_values($error)), 'error'); $this->_helper->redirector('resetpass'); //var_dump(array_shift(array_values($error))); } } } $this->view->form = $form; }
public function resetPasswordAction() { if (!$this->getRequest()->getParam('password_reset_key')) { return $this->_redirect('/auth/forgot-password'); } // check if the reset key is valid $password_reset_mapper = new Application_Model_PasswordResetMapper(); $password_reset = $password_reset_mapper->findByPassword_reset_key($this->getRequest()->getParam('password_reset_key')); if ($password_reset) { $password_reset = $password_reset[0]; /** * Check if the activation key has not expired (24 hours have not * passed) */ $now = date('Y-m-d H:i:s'); $time_elapsed = abs(strtotime($now) - strtotime($password_reset->getCreated())); $time_elapsed = (int) ($time_elapsed / 86400); if ($time_elapsed) { /** * Redirect the user back to the form to generate a fresh reset * key */ return $this->_redirect('/auth/forgot-password'); } // check if the user associated with the reset key exists $user_mapper = new Application_Model_UserMapper(); $user = $user_mapper->find($password_reset->getUser_id()); if (!$user) { $password_reset_mapper->delete($password_reset->getId()); return $this->_redirect('/'); } // process the form $form = new Application_Form_PasswordReset(); if ($this->getRequest()->isPost() && $form->isValid($_POST)) { if ($form->getValue('password') == $form->getValue('password_confirm')) { // Hash the password with a random salt $user->setPassword_salt(mcrypt_create_iv(64)); $user->setPassword_hash(hash('sha256', $user->getPassword_salt() . $form->getValue('password'))); // Save the new password $user_mapper->save($user); $password_reset_mapper->delete($password_reset->getId()); print 'Your password has been successfully reset.'; } else { print "The password was not confirmed."; $form->password_reset_key->setValue($this->getRequest()->getParam('password_reset_key')); $this->view->form = $form; } } else { $form->password_reset_key->setValue($this->getRequest()->getParam('password_reset_key')); $this->view->form = $form; } } else { return $this->_redirect('/'); } }
public function createUserFormAction() { $this->_helper->layout()->disableLayout(); $arrRequest = $this->getRequest()->getParams(); $this->view->usernameHeadline = '<p>Benutzername:</p>'; $this->view->eMailHeadline = '<p>E-Mail:</p>'; $this->view->eMail2Headline = '<p>E-Mail bestätigen:</p>'; $this->view->passwordHeadline = '<p>Passwort:</p>'; // testen ob das formular übermittelt wurde if (isset($arrRequest['formType'])) { $obUsers = new Application_Model_UserMapper(); // values der view übergeben $this->view->inputUsername = $arrRequest['inputUsername']; $this->view->inputEMail = $arrRequest['inputEMail']; $this->view->inputEMail2 = $arrRequest['inputEMail2']; $boolBreak = false; // testen ob emails nicht überein stimmen if ($arrRequest['inputEMail'] != $arrRequest['inputEMail2']) { $this->view->eMailHeadline = '<p class="red"> Die Mail-Adressen stimmen nicht über ein!</p>'; $this->view->eMailHeadline2 = '<p>E-Mail bestätigen:</p>'; $boolBreak = true; } // testen ob email und username bereits vergeben wurden $obUser = $obUsers->getOneByUsername($arrRequest['inputUsername']); $obUser2 = $obUsers->getOneByEMail($arrRequest['inputEMail']); if (!empty($obUser)) { $this->view->usernameHeadline = '<p class="red"> Der Username ist bereits vergeben!</p>'; $boolBreak = true; } if (!empty($obUser2)) { $this->view->eMailHeadline = '<p class="red"> Die Mail-Adresse ist bereits vergeben!</p>'; $boolBreak = true; } // testen ob emails wirklich emails sind $validator = new Zend_Validate_EmailAddress(); if (!$validator->isValid($arrRequest['inputEMail'])) { $this->view->eMailHeadline = '<p class="red"> Das ist keine gültige Mail-Adresse!</p>'; $boolBreak = true; } if (!$validator->isValid($arrRequest['inputEMail2'])) { $this->view->eMail2Headline = '<p class="red"> Das ist keine gültige Mail-Adresse!</p>'; $boolBreak = true; } // testen ob felder nicht gesetzt wurden if ($arrRequest['inputUsername'] == '') { $this->view->usernameHeadline = '<p class="red"> Du musst einen Benutzernamen eingeben!</p>'; $boolBreak = true; } if ($arrRequest['inputEMail'] == '') { $this->view->eMailHeadline = '<p class="red"> Du musst deine Mail-Adresse angeben!</p>'; $boolBreak = true; } if ($arrRequest['inputEMail2'] == '') { $this->view->eMail2Headline = '<p class="red"> Hier musst du noch deine Mail-Adresse bestätigen!</p>'; $boolBreak = true; } if ($arrRequest['inputPassword'] == '') { $this->view->passwordHeadline = '<p class="red"> Bitte gib hier ein Passwort an!</p>'; $boolBreak = true; } // abbrechen falls eine der überprüfungen fehlgeschlagen ist if ($boolBreak) { return 0; } // eintrag in die datenbank $obUsers->create($arrRequest['inputUsername'], $arrRequest['inputEMail'], md5($arrRequest['inputPassword']), $arrRequest['birth']['year'] . '-' . $arrRequest['birth']['month'] . '-' . $arrRequest['birth']['day']); // formular ausblenden $this->view->success = true; } }
public function getUser() { $userMapper = new Application_Model_UserMapper(); return $userMapper->getOneById($this->_userId); }
public function getTimelineAction() { $this->_helper->layout()->disableLayout(); $userMapper = new Application_Model_UserMapper(); $this->view->obUser = $userMapper->getOneByUsername($this->getRequest()->getParam('username')); }
public function viewxmlAction() { $request = $this->getRequest(); $user_id = get_user_id(); $follower_mapper = new Application_Model_FollowMapper(); $friends = $follower_mapper->findAllByColumn('follower_id', $user_id); $user_mapper = new Application_Model_UserMapper(); $persons = array(); foreach ($friends as $friend) { $friends_of_friend = $follower_mapper->findAllByColumn('followed_id', $friend['followed_id']); foreach ($friends_of_friend as $ff) { $person_id = $ff['follower_id']; $image = get_profile_path($person_id); $person = $user_mapper->find($person_id); $name = $person['username']; $about = $person['about']; $matual = $user_mapper->find($friend['followed_id']); $matual_name = $matual['username']; if ($name != get_username()) { $f = $follower_mapper->findAllByTwoColumns('followed_id', $ff['follower_id'], 'follower_id', get_user_id()); if (empty($f)) { $persons[] = array('image' => $image, 'name' => $name, 'about' => $about, 'matual_friend' => $matual_name); } } } } $note = '<?xml version="1.0" encoding="UTF-8"?>'; $note .= "<people>"; foreach ($persons as $item) { $note .= "<person>"; $note .= "<image>"; $note .= $item['image']; $note .= "</image>"; $note .= "<name>"; $note .= $item['name']; $note .= "</name>"; $note .= "<about>"; $note .= $item['about']; $note .= "</about>"; $note .= "<matualFriend>"; $note .= $item['matual_friend']; $note .= "</matualFriend>"; $note .= "</person>"; } $note .= "</people>"; header("Content-type: text/xml"); $xml = new SimpleXMLElement($note); echo $xml->asXML(); exit; }
public function activateAction() { if (!$this->getRequest()->getParam('activation_key')) { return $this->_redirect('/'); } // check if the activation key is valid $user_activation_mapper = new Application_Model_UserActivationMapper(); $user_activation = $user_activation_mapper->findByActivation_key($this->getRequest()->getParam('activation_key')); if ($user_activation) { $user_activation = $user_activation[0]; /** * Check if the activation key has not expired (24 hours have not * passed) */ $now = date('Y-m-d H:i:s'); $time_elapsed = abs(strtotime($now) - strtotime($user_activation->getCreated())); $time_elapsed = (int) ($time_elapsed / 86400); if ($time_elapsed) { /** * Redirect the user back to the confirmation page to generate a * fresh activation key */ return $this->_redirect('/registration/confirm/id' . $user_activation->getUser_id()); } // Check if the user associated with the activation key exists $user_mapper = new Application_Model_UserMapper(); $user = $user_mapper->find($user_activation->getUser_id()); if (!$user) { $user_activation_mapper->delete($user_activation->getId()); return $this->_redirect('/'); } // Activate the account and delete the obsolete activation key $user->setActive(1); $user_mapper->save($user); $user_activation_mapper->delete($user_activation->getId()); } else { return $this->_redirect('/'); } }
/** * 停用用户 */ public function disableuserAction() { $ID = $this->getRequest()->getParam('id'); $UserMapper = new Application_Model_UserMapper(); $info = $UserMapper->disableUser($ID); $this->_redirect("/admin/usermanager"); }