Beispiel #1
0
 public function indexAction()
 {
     $request = $this->getRequest();
     $form = new Application_Form_Index();
     $sort = new Application_Form_Sort();
     $messages = new Application_Model_DbTable_Message();
     $users = new Application_Model_DbTable_User();
     if ($request->isPost()) {
         if (isset($request->getPost()['submit2'])) {
             $yandex = new Application_Model_YandexReferat();
             $message['name'] = 'Иван';
             $message['email'] = '*****@*****.**';
             $message['title'] = $yandex->yandex_referat()['title'];
             $message['text'] = $yandex->yandex_referat()['body'];
             $user = $users->getUser(NULL, $message['email']);
             if (empty($user)) {
                 $userAgent = new Zend_Http_UserAgent();
                 $user_id = $users->addUser($message['name'], $message['email'], $userAgent->getDevice()->getUserAgent());
             } else {
                 $user_id = $user['user_id'];
             }
             $messages->addMessage($user_id, $message['title'], $message['text']);
             $this->_helper->redirector('index');
         } else {
             if ($form->isValid($request->getPost())) {
                 $messages = new Application_Model_DbTable_Message();
                 $users = new Application_Model_DbTable_User();
                 $message = $form->getValues();
                 $user = $users->getUser(NULL, $message['email']);
                 if (empty($user)) {
                     $userAgent = new Zend_Http_UserAgent();
                     $user_id = $users->addUser($message['name'], $message['email'], $userAgent->getDevice()->getUserAgent());
                 } else {
                     $user_id = $user['user_id'];
                 }
                 $messages->addMessage($user_id, $message['title'], $message['text']);
                 $this->_helper->redirector('index');
             }
         }
     }
     $this->view->form = $form;
     $this->view->sort = $sort;
     if (isset($request->getQuery()['sort'])) {
         $sortable = $request->getQuery();
         $sort->populate(array('sortby' => $sortable['sortby'], 'orderby' => $sortable['orderby']));
     } else {
         $sortable['sortby'] = 'message_id';
         $sortable['orderby'] = 'ASC';
     }
     $page_messages = $messages->getMessages($sortable);
     $paginator = Zend_Paginator::factory($page_messages);
     $page = $this->_getParam('page', 1);
     $paginator->setCurrentPageNumber($page);
     $paginator->setItemCountPerPage(5);
     $this->view->messages = $paginator;
 }
 public function socialAction()
 {
     header('Content-type: text/html; charset=UTF-8');
     $token = $_POST['access_token'];
     $host = $_SERVER['SERVER_NAME'];
     $url = 'http://login4play.com/token.php?token=' . $token . '&host=' . $host;
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_HEADER, false);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     $result = curl_exec($ch);
     curl_close($ch);
     $data = json_decode($result, true);
     $username = $data['given_name'];
     $password = $data['uid'];
     $email = $data['email'];
     $network = $data['network'];
     $date = $date = time();
     $validator = new Zend_Validate_Db_NoRecordExists(array('table' => 'users', 'field' => 'pass'));
     if ($validator->isValid(md5($password))) {
         $user = new Application_Model_DbTable_User();
         $user->addUser($username, md5($password), $email, $date, $network);
     }
     $authAdapter = new Zend_Auth_Adapter_DbTable(Zend_Db_Table::getDefaultAdapter());
     $authAdapter->setTableName('users')->setIdentityColumn('login')->setCredentialColumn('pass');
     $authAdapter->setIdentity($username)->setCredential(md5($password));
     $auth = Zend_Auth::getInstance();
     $result = $auth->authenticate($authAdapter);
     if ($result->isValid()) {
         $identity = $authAdapter->getResultRowObject();
         $authStorage = $auth->getStorage();
         $authStorage->write($identity);
         $this->_helper->redirector('index', 'index', 'default');
     } else {
         $this->view->errMessage = 'Ви ввели не правильний логін або пароль!';
     }
 }