public function ajaxGetClassesAction() { $this->_helper->layout->disableLayout(); $subjectModel = new Application_Model_Subjects(); $subjects = $subjectModel->fetchAll($subjectModel->getAllAvaiabled()); $this->view->subjects = $subjects; $page = $this->_getParam('page', 1); $params = array('Classes.ClassId' => 'DESC'); $params['foreign'] = array(array('table' => 'Grades', 'key' => 'GradeId', 'cols' => array('GradeName')), array('table' => 'Districts', 'key' => 'DistrictId', 'cols' => array('DistrictName'))); $where = array('Classes.IsDisabled = 0'); $class = $this->_getParam('class', null); $district = $this->_getParam('district', null); $subject = $this->_getParam('subject', null); if (!is_null($class)) { $where[] = 'Classes.GradeId=' . $class; } if (!is_null($district)) { $where[] = 'Classes.DistrictId=' . $district; } if (!is_null($subject)) { $sub = "ClassSubjects = '{$subject}' "; $sub .= "OR ClassSubjects like '{$subject},%' "; $sub .= "OR ClassSubjects like '%,{$subject},%' "; $sub .= "OR ClassSubjects like '%,{$subject}' "; $where[] = $sub; } $params['where'] = $where; //set Lastest News pagination $this->view->page = $page; $paginator = Zend_Paginator::factory($this->_model->getQuerySelectAll($params)); $paginator->setItemCountPerPage(CLASSES_ITEMS); $paginator->setCurrentPageNumber($page); $this->view->paginator = $paginator; }
public function indexAction() { global $CC_CONFIG; if (Zend_Auth::getInstance()->hasIdentity()) { $this->_redirect('Showbuilder'); } //uses separate layout without a navigation. $this->_helper->layout->setLayout('login'); $error = false; $request = $this->getRequest(); $baseUrl = $request->getBaseUrl(); $this->view->headScript()->appendFile($baseUrl . '/js/airtime/login/login.js?' . $CC_CONFIG['airtime_version'], 'text/javascript'); $form = new Application_Form_Login(); $message = "Please enter your user name and password"; if ($request->isPost()) { // if the post contains recaptcha field, which means form had recaptcha field. // Hence add the element for validation. if (array_key_exists('recaptcha_response_field', $request->getPost())) { $form->addRecaptcha(); } if ($form->isValid($request->getPost())) { //get the username and password from the form $username = $form->getValue('username'); $password = $form->getValue('password'); if (Application_Model_Subjects::getLoginAttempts($username) >= 3 && $form->getElement('captcha') == NULL) { $form->addRecaptcha(); } else { $authAdapter = Application_Model_Auth::getAuthAdapter(); //pass to the adapter the submitted username and password $authAdapter->setIdentity($username)->setCredential($password); $auth = Zend_Auth::getInstance(); $result = $auth->authenticate($authAdapter); if ($result->isValid()) { //all info about this user from the login table omit only the password $userInfo = $authAdapter->getResultRowObject(null, 'password'); //the default storage is a session with namespace Zend_Auth $authStorage = $auth->getStorage(); $authStorage->write($userInfo); Application_Model_LoginAttempts::resetAttempts($_SERVER['REMOTE_ADDR']); Application_Model_Subjects::resetLoginAttempts($username); $tempSess = new Zend_Session_Namespace("referrer"); $tempSess->referrer = 'login'; $this->_redirect('Showbuilder'); } else { $message = "Wrong username or password provided. Please try again."; Application_Model_Subjects::increaseLoginAttempts($username); Application_Model_LoginAttempts::increaseAttempts($_SERVER['REMOTE_ADDR']); $form = new Application_Form_Login(); $error = true; } } } } $this->view->message = $message; $this->view->error = $error; $this->view->form = $form; $this->view->airtimeVersion = Application_Model_Preference::GetAirtimeVersion(); $this->view->airtimeCopyright = AIRTIME_COPYRIGHT_DATE; if (isset($CC_CONFIG['demo'])) { $this->view->demo = $CC_CONFIG['demo']; } }