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 = 'Ви ввели не правильний логін або пароль!'; } }