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;
 }
Exemple #2
0
 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;
 }
Exemple #3
0
 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);
 }
Exemple #4
0
 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;
 }
Exemple #12
0
 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');
 }
Exemple #14
0
 public function getFriends()
 {
     $users = new Application_Model_UserMapper();
     return $users->getFriendsForUser($this->_id);
 }
Exemple #15
0
 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('/');
     }
 }
Exemple #18
0
 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;
     }
 }
Exemple #19
0
 public function getUser()
 {
     $userMapper = new Application_Model_UserMapper();
     return $userMapper->getOneById($this->_userId);
 }
Exemple #20
0
 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");
 }