public function loginAction()
 {
     if (!$this->getRequest()->isPost()) {
         return $this->_forward('index');
     }
     $form = $this->getForm();
     if (!$form->isValid($_POST)) {
         // Falla la validación; Se vuelve a mostrar el formulario
         $this->view->form = $form;
         return $this->render('form');
     }
     $username = $form->getValue('username');
     $password = $form->getValue('password');
     $remember = $form->getValue('remember');
     $usuario = new Application_Model_Usuario();
     $result = $usuario->validarLogin($username, $password);
     if (!$result->isValid()) {
         // Autenticación fallida, imprime el porque
         return $this->_redirect('/');
     } else {
         $usuario->setIdUsuario($result->getIdentity());
         $mysession = new Zend_Session_Namespace('sesion');
         $mysession->actividad = 'SI';
         $mysession->setExpirationSeconds(60 * 5, 'actividad');
         //$mysession->usuario_id =  $usuario->getIdUsuario();
         $mysession->usuario_nombre = $result->getIdentity();
         $_SESSION['username'] = strtoupper($mysession->usuario_nombre);
         $aux = $usuario->getUsuariobyNombreUsuario($mysession->usuario_nombre);
         $mysession->usuario_id = $aux[0]['iUsuIdUsuario'];
         $mysession->tipo_usuario = $aux[0]['TipoUsuario_iTiUsuarioIdTipoUsuario'];
         $log = new Application_Model_Logs();
         $log->crearLog('A');
         $this->redireccionar();
     }
 }
 public function logout()
 {
     $userProfileNamespace = new Zend_Session_Namespace('sesion');
     $userProfileNamespace->unLock();
     $log = new Application_Model_Logs();
     $log->crearLog('B');
     Zend_Session::destroy(true);
 }
 /**
  * Удаление сайта удаляет все что с ним связано вьюху не используем сразу 
  * удаление и редирект на индекс
  */
 public function deleteAction()
 {
     // модели
     $mSite = new Application_Model_Sites();
     $mLogs = new Application_Model_Logs();
     $mMaps = new Application_Model_Maps();
     // данные
     $id_site = $this->_getParam('id');
     $arrMaps = $mMaps->getMaps($id_site);
     // действия удаления
     foreach ($arrMaps as $value) {
         $mMaps->deleteMap($value['id_map']);
     }
     $mSite->deleteSite($id_site);
     $mLogs->deleteLogs($id_site);
     // редирект
     $this->_redirect('/sites/');
 }
Exemple #4
0
 public function scanSites($sites, $sendMail = false)
 {
     ini_set('display_errors', 0);
     $mdlLogs = new Application_Model_Logs();
     $urlsStatus = array();
     foreach ($sites as $site) {
         $arr = array();
         $status = 0;
         if (!empty($site['url'])) {
             $response = $this->curlResponse($site['url']);
             $arr = $response;
             //$this->get_headers_from_curl_response($response);
             $parseRedirect = $this->parseRedirect($arr);
             if ($parseRedirect) {
                 $this->update(array('url' => $parseRedirect), 'id_site = ' . (int) $site['id_site']);
             }
             if ($arr['http_code']) {
                 /*
                                         $arrCode = explode(' ', $arr['http_code']);
                                         if ($arrCode[1]) {
                                             $status = $arrCode[1];
                                         }
                                     } else {
                                         $status = 0;*/
                 $status = $arr['http_code'];
             }
             $status = $arr['http_code'];
             $id_log = $mdlLogs->insert(array('id_site' => $site['id_site'], "status" => $status));
             $urlsStatus[] = array('id_site' => $site['id_site'], "name" => $site['name'], "url" => $site['url'], "status" => $status);
             if ($sendMail) {
                 $lastLog = $mdlLogs->getLastLogSite($site['id_site']);
                 if ((int) $status !== (int) $lastLog[0]['status'] && $mm) {
                     $message = "<p>Статус сайта изменился, новый статус" . "{$status}, старый {$lastLog[0]['status']}</p>";
                     $mm = false;
                     $mdlLogs->sendEmail($message);
                 }
             }
         }
     }
     return $urlsStatus;
 }