public function sendAction() { $this->logger->entering(); $this->logger->info('Get email from params'); $email = $this->_getParam('email'); $this->logger->info('Getting password for email'); $users = new User(); $where = $this->db->quoteInto('email = ?', $email); $user = $users->fetchRow($where); if ($user->id != null) { $this->logger->debug("Got user #{$user->id}"); $this->logger->info('Sending password reminder'); $mail = new Zend_Mail(); $mail->setFrom('*****@*****.**', 'Some Sender'); $mail->addTo($user->email, $user->name); $mail->setSubject("Your Swaplady Password"); $mail->setBodyText("Hi {$user->name},\nHere's your swaplady password:\n{$user->password}\nPlease keep it safe and sound."); $mail->send(); $this->flash->notice = "Your password has been emailed to {$user->email}"; $this->_redirect('/session/new'); } else { $this->logger->warn('Unknown email'); $this->flash->notice = "Your email wasn't recognized, did you spell it right?"; $this->_redirect('/password/forgot'); } $this->logger->exiting(); }
public function createAction() { $this->logger->entering(); $this->logger->info('Getting the username and password'); $user = $this->_getParam('user'); $username = $user['username']; $password = $user['password']; $this->logger->info("Loading the user by username and password '{$username}'"); $users = new User(); $where = $this->db->quoteInto('username = ?', $username) . $this->db->quoteInto('AND password = ?', $password); $user = $users->fetchRow($where); if ($user->username == $username && $user->password == $password) { $this->logger->info("Found the user '{$user->id}'"); $this->session->user_id = $user->id; if (isset($this->flash->redirectedFrom)) { $intendedAction = $this->flash->redirectedFrom; $this->logger->notice("Redirecting to intended action '{$intendedAction['controller']}::{$intendedAction['action']}'"); $this->_redirect('/' . $intendedAction['controller'] . '/' . $intendedAction['action']); } else { $this->logger->info('Redirecting to user page by default'); $this->_redirect("user/show/{$user->id}"); } } else { $this->flash->notice = 'Invalid username/password combination. Perhaps you\'d like to <a href="/user/new">register</a>? Or would you like us to <a href="/password/forgot">email your password to you</a>?'; $this->flash->keep = TRUE; $this->_redirect('/session/new'); } }
/** * Implementacja metody z interfejsu Zend_Auth_Adapter_Interface * @see Zend_Auth_Adapter_Interface::authenticate() * @return Zend_Auth_Result */ public function authenticate() { if (empty($this->_username)) { throw new Zend_Auth_Adapter_Exception('Nie podano loginu!'); } if (empty($this->_password)) { throw new Zend_Auth_Adapter_Exception('Nie podano hasła!'); } $config = Zend_Registry::get('config'); $this->_options = $config['ldap']; $resultLDAP = parent::authenticate(); if ($resultLDAP->isValid()) { $userModel = new User(); $userRow = $userModel->fetchRow(array('login = ?' => new Zend_Db_Expr("UPPER('{$this->_username}')"), 'ghost = ?' => 'f', 'is_locked = ?' => 'f', new Zend_Db_Expr('valid_until > NOW()'))); if ($userRow !== null) { $identity = $this->_toStdClass($userRow); unset($identity->password); $ldapData = parent::getAccountObject(); $identity->ldap = $ldapData; $branchModel = new Branch(); $identity->id_branch = ODDZIAL_ID; $identity->view_branch = ODDZIAL_ID; $data = $branchModel->find($identity->id_branch); $d = $data->current()->toArray(); $d['application_code'] = 'getin'; $identity->jednostka = $d; $identity->user_backend_apps_logins = null; $identity->default_branches[$d['application_code']]['default_login'] = '******'; $this->_authResult['code'] = Zend_Auth_Result::SUCCESS; $this->_authResult['messages'] = 'Autoryzacja pomyślna.'; $this->_authResult['identity'] = $identity; return $this->_createAuthResult(); } else { $this->_authResult['code'] = Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND; $this->_authResult['messages'] = 'Konto nieaktywne lub zablokowane.'; return $this->_createAuthResult(); } } else { $this->_authResult['code'] = Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID; $this->_authResult['messages'] = 'Nieprawidłowe dane logowania.'; return $this->_createAuthResult(); } }
/** * * @TODO cach profilu */ protected function getCurrentProfile() { if (defined('CMD')) { $config = Zend_Registry::get('config'); if ($config['bin']['user'] === null || $config['bin']['branch'] === null) { throw new Exception('Brak ustawień w application.ini bin.user lub bin.branch'); } $u = new User(); $u_data = $u->fetchRow("login = '******'bin']['user'] . "'", "id DESC")->toArray(); $storageRow = new stdClass(); foreach ($u_data as $key => $value) { $storageRow->{$key} = $value; } $auth = Zend_Auth::getInstance(); $storage = $auth->getStorage(); $o = new Branch(); $data = $o->fetchRow("branch_name = '" . $config['bin']['branch'] . "'", "id DESC")->toArray(); $storageRow->jednostka = $data; $profile = new Profile(); $profiles = $profile->fetchAll(array('id_user = '******'id'], 'id_branch = ' . $data['id'], 'ghost = false')); if (count($profiles)) { $storageRow->profile_id = $profiles[0]['id']; } $storage->write($storageRow); } if (defined('CMD') && defined('EXPORT_ID_USER')) { $identity['id'] = EXPORT_ID_USER; $where_id = $identity['id']; } else { $where_id = Zend_Auth::getInstance()->getIdentity() ? Zend_Auth::getInstance()->getIdentity()->id : ''; } if (!$this->currentProfile and $where_id) { $cm = $this->getBootstrap()->getResource('cachemanager'); $cache = $cm->getCache('rolecache'); $cache_id = str_replace("-", "", 'OUcache' . ODDZIAL_ID . '_' . $where_id); if (!($this->currentProfile = $cache->load($cache_id))) { $profilModel = new Profile(); $this->currentProfile = $profilModel->fetchRow(array("id_user = {$where_id}", "id_branch = " . ODDZIAL_ID, 'ghost = false')); $cache->save($this->currentProfile, $cache_id); } } return $this->currentProfile; }
function _authenticateValidateResult($resultIdentity) { $zendAuthCredentialMatchColumn = $this->_zendDb->foldCase('zend_auth_credential_match'); if ($resultIdentity[$zendAuthCredentialMatchColumn] != '1') { $this->_authenticateResultInfo['code'] = Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID; $this->_authenticateResultInfo['messages'][] = 'Supplied credential is invalid.'; return $this->_authenticateCreateAuthResult(); } unset($resultIdentity[$zendAuthCredentialMatchColumn]); $this->_resultRow = $resultIdentity; // $userModel = new Logic_User(); // $user = $userModel->getUserByLogin(); $userModel = new User(); $user = $userModel->fetchRow(array('login = ?' => new Zend_Db_Expr("UPPER('" . $resultIdentity['login'] . "')"), 'ghost = ?' => 'f', 'is_locked = ?' => 'f', new Zend_Db_Expr('valid_until > NOW()'))); if (empty($user)) { $this->_authenticateResultInfo['code'] = Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND; $this->_authenticateResultInfo['messages'][] = 'Authentication failed.'; return $this->_authenticateCreateAuthResult(); } $identity = $this->_toStdClass($user); $identity->password = $this->_password; $branchModel = new Branch(); $identity->id_branch = ODDZIAL_ID; $identity->view_branch = ODDZIAL_ID; $data = $branchModel->find($identity->id_branch); $d = $data->current()->toArray(); $d['application_code'] = 'getin'; $identity->jednostka = $d; $identity->user_backend_apps_logins = null; $identity->default_branches[$d['application_code']]['default_login'] = '******'; //$identity->user_backend_apps_logins[$d['application_code']]['application_login'] = '******'; $this->_authenticateResultInfo['identity'] = $identity; $this->_resultRow = $user; $this->_authenticateResultInfo['code'] = Zend_Auth_Result::SUCCESS; $this->_authenticateResultInfo['messages'][] = 'Authentication successful.'; return $this->_authenticateCreateAuthResult(); }
echo "\n\n" . $opts->getUsageMessage() . "\n\n"; exit; } /** Zend_Application */ require_once 'Zend/Application.php'; // Create application, bootstrap, and run $application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini'); Base_Controller_Action_Helper_Currentip::$_unitTestEnabled = true; $application->bootstrap(); Zend_Controller_Front::getInstance()->setParam('bootstrap', $application->getBootstrap()); $user = $application->getOption('bin'); if ($user['user'] === null || $user['branch'] === null) { throw new Exception('Brak ustawień w application.ini bin.user lub bin.branch'); } $u = new User(); $u_data = $u->fetchRow("login = '******'user'] . "'", "id DESC"); if (null == $u_data) { throw new Exception('Brak użytkownika o podanym loginie ' . $user['user']); } $u_data->toArray(); $storageRow = new stdClass(); foreach ($u_data as $key => $value) { $storageRow->{$key} = $value; } $auth = Zend_Auth::getInstance(); $storage = $auth->getStorage(); $o = new Branch(); $data = $o->fetchRow("branch_name = '" . $user['branch'] . "'", "id DESC"); if (null == $u_data) { throw new Exception('Brak Branch\'a ' . $user['branch']); }
public function signupUser($user) { Zend_Registry::get('logger')->entering(); $transactionId = $this->create(); $users = new User(); $swaplady = $users->fetchRow('username = "******"'); Zend_Registry::get('logger')->debug('Transfer signup bonus from swaplady to user'); SwapbuckEntry::transfer($transactionId, $swaplady, $user, self::SIGNUP_BONUS); Zend_Registry::get('logger')->exiting(); return $transactionId; }
public function forgotPasswordAction() { $request = $this->getRequest(); $validateOnly = $request->isXmlHttpRequest(); if ($validateOnly) { $this->setNoRenderer(); } $status = ValidationContainer::instance(); $this->view->assign('complete', false); $status->setStatusMessage(t('Starting...')); if ($this->_getParam('send')) { $status->checkRequired($this, 'email', t('Email')); if (!$status->hasError()) { //$this->view->assign ( 'test', "has error"); $userTable = new User(); $select = $userTable->select(); $select->where("email = ?", $this->_getParam('email')); $row = $userTable->fetchRow($select); if (!$row) { $status->setStatusMessage('That user could not be found.'); $this->view->assign('complete', true); } if ($row) { require_once 'models/Password.php'; $newpass = Text_Password::create(8); $row->password = $newpass; $result = $row->save(); if ($result > 0) { $view = new Zend_View(); $view->assign('base_url', Settings::$COUNTRY_BASE_URL); $view->setScriptPath(Globals::$BASE_PATH . '/app/views/scripts/email'); $view->assign('first_name', $row->first_name); $view->assign('username', $row->username); $view->assign('password', $newpass); $text = $view->render('text/forgot.phtml'); $html = $view->render('html/forgot.phtml'); $mail = new Zend_Mail(); $mail->setBodyText($text); $mail->setBodyHtml($html); $mail->setFrom(Settings::$EMAIL_ADDRESS, Settings::$EMAIL_NAME); $mail->addTo($row->email, $row->username); $mail->setSubject('Password Change Requested'); $mail->send(); $status->setStatusMessage(t('Your new password has been sent. Please check your email for further instructions.')); //$this->view->assign ( 'complete', true ); } else { $status->setStatusMessage(t('Mail send error.')); } } } } if ($validateOnly) { $this->sendData($status); } else { $this->view->assign('status', $status); } }
/** * The default action - show the home page */ public function indexAction() { $method = $this->getRequest()->getMethod(); $view = $this->initView(); $callback = $this->getRequest()->getParam('callback'); $id = $this->getRequest()->getParam('id'); $date = $this->getRequest()->getParam('date'); if ($method == 'GET') { $user = new User(); if ($id) { $s = 'id'; if (!is_numeric($id)) { $s = 'login'; } $row = $user->fetchRow($user->select()->where($s . ' = ?', $id)); if (is_null($row)) { /* 404 Not Found */ $this->getResponse()->setHttpResponseCode(404); } else { $response = Zend_Json_Encoder::encode($row->toArray()); } } else { $rows = $user->fetchAll(); $users = $rows->toArray(); if ($users == 0) { /* 404 Not Found */ $this->getResponse()->setHttpResponseCode(404); } else { /*foreach ($users as &$u) { $u['teste'] = $id.' - '.$date; }*/ $response = Zend_Json_Encoder::encode($users); } } if ($callback) { $response = $callback . "(" . $response . ")"; } $view->json = $response; $this->render('json'); } elseif ($method == 'POST') { //$user = Zend_Json_Decoder::decode($this->getRequest()->getParam('user')); $t = $this->getRequest()->getRawBody(); $temp = Zend_Json_Decoder::decode($t, Zend_Json::TYPE_ARRAY); $user = new User(); try { $l = Zend_Json_Decoder::decode($t, Zend_Json::TYPE_OBJECT)->login; $verified = $user->fetchRow($user->select()->where('login = ?', $l)); if ($verified->id == 0) { $inserted = $user->insert($temp); $response = $inserted; //$user['name']; } else { /* 409 Conflict */ $this->getResponse()->setHttpResponseCode(409); } } catch (Exception $e) { $response = $e->getMessage(); } if ($callback) { $response = $callback . "(" . $response . ")"; } $view->json = $response; $this->render('json'); } elseif ($method == 'DELETE') { } elseif ($method == 'PUT') { } else { /* 405 Method Not Allowed */ $this->getResponse()->setHttpResponseCode(405); } }
public function insert(array $data) { $auth = Zend_Auth::getInstance(); $user_id = $auth->getIdentity()->id; $user_table = new User(); $user_row = $user_table->fetchRow('id = ' . $user_id); $data['created_by'] = $user_id; if (!isset($data['approval_status']) or !$data['approval_status']) { $data['approval_status'] = 'new'; } //get recipients $training_id = $data['training_id']; $select = $this->select()->setIntegrityCheck(false)->from($this->_name)->join(array('u' => 'user'), "training_approval_history.created_by = u.id", array('email', 'first_name', 'last_name'))->where("training_id = {$training_id} AND u.is_blocked = 0"); $previous_history_rows = $this->fetchAll($select); $recipients = array(); foreach ($previous_history_rows as $rec) { $recipients[$rec->created_by] = array('email' => $rec->email, 'name' => $rec->first_name . ' ' . $rec->last_name); } //send to anyone other than creator unset($recipients[$user_id]); //insert the row $data['recipients'] = implode(',', array_keys($recipients)); parent::insert($data); //send the mail #echo print_r($recipients, true) . '//'.$data['approval_status']; #$recipients = array('name' => '*****@*****.**', 'email' => '*****@*****.**'); if ($recipients && $data['approval_status']) { require_once 'models/table/Training.php'; $training = new Training(); $training_name = $training->getCourseName($training_id); $view = new Zend_View(); $view->setScriptPath(Globals::$BASE_PATH . '/app/views/scripts/email'); $view->assign('creator', $user_row->first_name . ' ' . $user_row->last_name); $view->assign('training_name', $training_name); $view->assign('comments', $data['message']); $view->assign('link', Settings::$COUNTRY_BASE_URL . '/training/edit/id/' . $training_id); $mail = new Zend_Mail(); switch ($data['approval_status']) { case 'approved': $text = $view->render('text/approved.phtml'); $html = $view->render('html/approved.phtml'); $mail->setSubject(t('Training') . ' ' . t('Approved')); break; case 'rejected': $text = $view->render('text/rejected.phtml'); $html = $view->render('html/rejected.phtml'); $mail->setSubject(t('Training') . ' ' . t('Rejected')); break; case 'resubmitted': $text = $view->render('text/resubmitted.phtml'); $html = $view->render('html/resubmitted.phtml'); $mail->setSubject(t('Training') . ' ' . t('Resubmitted')); break; } $mail->setBodyText($text); $mail->setBodyHtml($html); $mail->setFrom(Settings::$EMAIL_ADDRESS, Settings::$EMAIL_NAME); foreach ($recipients as $guy) { $mail->addTo($guy['email'], $guy['name']); } //$mail->send(); } }
public function getAssignetWsClientId($id = null) { if (null === $id) { if (null === ($identity = Zend_Auth::getInstance()->getIdentity())) { return null; } $userId = $identity->id; } else { $userId = $id; } $model = new User(); $entry = $model->fetchRow('id = ' . $userId); return $entry->ws_client_id; /* $dict = new Base_Dictionary(); $dicEntry = $dict->setSource(new WsClientMpk(),array("mpk_code ilike '".$entry->mpk_code."'"), 'id ASC' , 'mpk_code', array('ws_client_id'))->getDictionary(); $ws_client_id = $dicEntry[$entry->mpk_code]; return $ws_client_id; */ }
public function doGet() { $view = $this->initView(); $callback = $this->getRequest()->getParam('callback'); $id = $this->getRequest()->getParam('id'); $date = $this->getRequest()->getParam('date'); $user = new User(); if ($id) { $s = 'id'; if (!is_numeric($id)) { $s = 'login'; } $row = $user->fetchRow($user->select()->where($s . ' = ?', $id)); if (is_null($row)) { /* 404 Not Found */ $this->getResponse()->setHttpResponseCode(404); } else { $response = Zend_Json_Encoder::encode($row->toArray()); } } else { $rows = $user->fetchAll(); $users = $rows->toArray(); if ($users == 0) { /* 404 Not Found */ $this->getResponse()->setHttpResponseCode(404); } else { /*foreach ($users as &$u) { $u['teste'] = $id.' - '.$date; }*/ $response = Zend_Json_Encoder::encode($users); } } if ($callback) { $response = $callback . "(" . $response . ")"; } $view->json = $response; $this->render('json'); }