コード例 #1
0
ファイル: HTTPCrawler.php プロジェクト: sonvq/2015_freelance6
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     if (!isset($_SERVER['HTTP_USER_AGENT']) || isset($_SERVER['HTTP_USER_AGENT']) && false === strpos($_SERVER['HTTP_USER_AGENT'], 'sanmax-crawler-bot')) {
         return;
     }
     $config = array('accept_schemes' => 'basic', 'realm' => 'crawler', 'digest_domains' => '/', 'nonce_timeout' => 3600);
     $adapter = new Zend_Auth_Adapter_Http($config);
     $basicResolver = new Zend_Auth_Adapter_Http_Resolver_File(APPLICATION_PATH . '/var/bot-basic');
     $adapter->setBasicResolver($basicResolver);
     $response = Zend_Controller_Front::getInstance()->getResponse();
     $adapter->setRequest($request);
     $adapter->setResponse($response);
     $auth = Zend_Auth::getInstance();
     $result = $auth->authenticate($adapter);
     if (!$result->isValid()) {
         $response->sendHeaders();
         exit;
     }
     $user = new SxCms_User();
     $gMapper = new SxCms_Group_DataMapper();
     $groups = $gMapper->getAll();
     foreach ($groups as $group) {
         $user->addGroup($group);
     }
     $storage = $auth->getStorage();
     $storage->write($user);
     $front = Zend_Controller_Front::getInstance();
     $front->setParam('isBot', true);
     $mvc = Zend_Layout::getMvcInstance();
     $view = $mvc->getView();
     $view->isBot = true;
     return;
 }
コード例 #2
0
 public function addAction()
 {
     SxCms_Acl::requireAcl('account', 'account.add');
     $gMapper = new SxCms_Group_DataMapper();
     $this->view->groups = $gMapper->getAll();
     $user = new SxCms_User();
     if ($this->getRequest()->isPost()) {
         $user->setEmail($this->_getParam('email'))->setFirstName($this->_getParam('first_name'))->setLastName($this->_getParam('last_name'))->setPassword($this->_getParam('password'));
         foreach ($this->_getParam('group') as $groupId) {
             $group = new SxCms_Group();
             $group->setId($groupId);
             $user->addGroup($group);
         }
         $validator = new SxCms_User_BaseValidator();
         $validator->setPasswordRepeat($this->_getParam('password_repeat'));
         if ($validator->validate($user)) {
             $user->save();
             $this->_helper->redirector->gotoSimple('index', 'account');
         }
     }
     $this->view->user = $user;
     $this->view->messages = Sanmax_MessageStack::getInstance('SxCms_User');
 }