本文整理汇总了PHP中Default_Model_Users::setOptions方法的典型用法代码示例。如果您正苦于以下问题:PHP Default_Model_Users::setOptions方法的具体用法?PHP Default_Model_Users::setOptions怎么用?PHP Default_Model_Users::setOptions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Default_Model_Users
的用法示例。
在下文中一共展示了Default_Model_Users::setOptions方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: forgotPasswordAction
public function forgotPasswordAction()
{
$form = new Default_Form_ForgotPassword();
$form->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/forgot-password.phtml'))));
$this->view->formForgotPassword = $form;
$model = new Default_Model_Users();
if ($this->getRequest()->isPost()) {
if ($form->isValid($this->getRequest()->getPost())) {
$model->setOptions($form->getValues());
$select = $model->getMapper()->getDbTable()->select()->from(array('u' => 'users'), array('u.*'))->where("NOT u.deleted")->where("u.email=?", $model->getEmail());
$result = $model->fetchRow($select);
if (count($result) != 0) {
$newpass = '';
$alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
for ($i = 0; $i < 8; $i++) {
$n = rand(0, count($alphabet) - 1);
$pass[$i] = $alphabet[$n];
$newpass .= $pass[$i];
}
$newpassMd5 = md5($newpass);
$model->setPassword($newpassMd5);
$savedPass = $model->save();
$emailArray = array();
$emailArray['subject'] = 'Resetare Parola';
$emailArray['content'] = 'Noua dumneavoastra parola este: ' . $newpass;
$emailArray['toEmail'] = $model->getEmail();
$emailArray['fromEmail'] = "noreply@tfsvreau1site.ro";
$emailArray['fromName'] = "Resetare Parola";
$emailArray['SMTP_USERNAME'] = SMTP_USERNAME;
$emailArray['SMTP_PASSWORD'] = SMTP_PASSWORD;
$emailArray['SMTP_PORT'] = SMTP_PORT;
$emailArray['SMTP_URL'] = SMTP_URL;
$sent = Needs_Tools::sendEmail($emailArray);
if ($sent && $savedPass) {
$this->_flashMessenger->addMessage("<div class='success canhide'><p>The password was successfully changed!</p><a href='javascript:;'></a></div>");
} else {
$this->_flashMessenger->addMessage("<div class='error canhide'><p>The password was not changed!<a href='javascript:;'></a></p></div>");
}
} else {
$this->_flashMessenger->addMessage("<div class='error canhide'><p>The email was not found in the database!<a href='javascript:;'></a></p></div>");
}
$this->_redirect('/auth/forgot-password/');
}
}
}
示例2: indexAction
public function indexAction()
{
$model = new Default_Model_Users();
$params = array();
$name = $this->getRequest()->getParam('nameSearch');
$email = $this->getRequest()->getParam('emailSearch');
$page = $this->getRequest()->getParam('page') ? (int) $this->getRequest()->getParam('page') : 1;
$shop = $this->getRequest()->getParam('idShopSearch');
$level = $this->getRequest()->getParam('idRoleSearch');
$select = $model->getMapper()->getDbTable()->select()->where('NOT deleted');
if (!empty($name)) {
$params['nameSearch'] = $name;
$select->where('name LIKE ?', '%' . $name . '%');
}
if (!empty($email)) {
$params['emailSearch'] = $email;
$select->where('email LIKE ?', '%' . $email . '%');
}
if (!empty($shop)) {
$params['idShopSearch'] = $shop;
$select->where('idShop = ?', $shop);
}
if (!empty($level)) {
$params['idRoleSearch'] = $level;
$select->where('idRole = ?', $level);
}
$select->order('created DESC');
$this->view->page = $page;
$this->view->search = $params;
$result = $model->fetchAll($select);
if (NULL != $result) {
$paginator = Zend_Paginator::factory($result);
$paginator->setItemCountPerPage(10);
$paginator->setCurrentPageNumber($this->_getParam('page'));
$paginator->setPageRange(5);
$this->view->result = $paginator;
$this->view->itemCountPerPage = $paginator->getItemCountPerPage();
$this->view->totalItemCount = $paginator->getTotalItemCount();
Zend_Paginator::setDefaultScrollingStyle('Sliding');
Zend_View_Helper_PaginationControl::setDefaultViewPartial(array('_pagination.phtml', $params));
}
Needs_Roles::hasAccess('adaugare_utilizator', true);
$form = new Default_Form_Users();
$form->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/users/user-add.phtml'))));
$this->view->form = $form;
$formSearch = new Default_Form_UsersSearch();
$formSearch->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/users/user-search.phtml'))));
$this->view->formSearch = $formSearch;
if ($this->getRequest()->isPost()) {
$post = $this->getRequest()->getPost();
if (!empty($post['action']) && $post['action'] == 'add') {
if ($form->isValid($post)) {
$model = new Default_Model_Users();
$model->setOptions($form->getValues());
$password = substr(md5(sha1(rand(0, 9999999))), 0, 6);
$code = substr(md5(sha1(rand(0, 9999999))), 0, 6);
$model->setPassword(md5($password));
//generare parola random la inregistrare user
$model->setCode($code);
$model->setStatus(0);
if ($id = $model->save()) {
//BEGIN:salvam drepturile
if ($form->getValue('resourceId')) {
foreach ($form->getValue('resourceId') as $value) {
$resourceUser = new Default_Model_ResourceUsers();
$resourceUser->setResourceId($value);
$resourceUser->setUserId($id);
$resourceUser->save();
}
}
//END:salvam drepturile
//BEGIN: CHECK IF DISTRICT MANAGER AND SAVE SHOPS
if ($form->getValue('idRole') == 14) {
foreach ($form->getValue('idShopMulti') as $value) {
$shopUser = new Default_Model_DistrictManagerShops();
$shopUser->setIdShop($value);
$shopUser->setIdUser($id);
$shopUser->save();
}
}
//END: CHECK IF DISTRICT MANAGER AND SAVE SHOPS
//BeGIN: send email with user data, generated password and activation link
$activation = '<a href="' . WEBROOT . 'auth/activation/code/' . $code . '">Activate</a>';
$emailTemplate = new Default_Model_EmailTemplates();
$select = $emailTemplate->getMapper()->getDbTable()->select()->where('const = ?', 'user_activare_cont')->limit(1);
$emailTemplate->fetchRow($select);
if (NULL != $emailTemplate->getContent()) {
$emailArray = array();
$name = $model->getName();
$message = nl2br($emailTemplate->getContent());
$message = str_replace("{" . "\$" . "name}", $name, $message);
$message = str_replace("{" . "\$" . "password}", $password, $message);
$message = str_replace("{" . "\$" . "activation_link}", $activation, $message);
$emailArray['subject'] = $emailTemplate->getSubject();
$emailArray['content'] = $message;
$emailArray['toEmail'] = $model->getEmail();
$emailArray['toName'] = $name;
$emailArray['fromEmail'] = FROM_EMAIL;
$emailArray['fromName'] = FROM_NAME;
$emailArray['SMTP_USERNAME'] = SMTP_USERNAME;
//.........这里部分代码省略.........
示例3: fetchRow
public function fetchRow($select, Default_Model_Users $model)
{
$result = $this->getDbTable()->fetchRow($select);
if (0 == count($result)) {
return;
}
$model->setOptions($result->toArray());
return $model;
}