public function themAction() { // TODO Auto-generated {0}::indexAction() default action $this->view->form = $form = new Admin_Form_BoMon_Create(); if (!$this->getRequest()->isPost()) { return; } if (!$form->isValid($this->getRequest()->getPost())) { return; } $db = Khcn_Db_Table::getDefaultAdapter(); $db->beginTransaction(); try { $values = $form->getValues(); $table = Khcn_Api::_()->getDbTable('bo_mon', 'default'); $bo_mon = $table->createRow(); $bo_mon->setFromArray($values); $bo_mon->save(); $db->commit(); $_SESSION['msg'] = 'Thành công !. Dữ liệu đã được lưu trữ .'; $_SESSION['type_msg'] = 'success'; $this->_redirect('/admin/bo-mon/index'); } catch (Exception $e) { $db->rollBack(); throw $e; } }
protected function _initDb() { $file = APPLICATION_PATH . '/settings/database.php'; $options = (include $file); $db = Zend_Db::factory($options['adapter'], $options['params']); Khcn_Db_Table::setDefaultAdapter($db); Khcn_Db_Table::setTablePrefix($options['tablePrefix']); // Non-production if (APPLICATION_ENV !== 'production') { $db->setProfiler(array('class' => 'Zend_Db_Profiler_Firebug', 'enabled' => true)); } // set DB to UTC timezone for this session switch ($options['adapter']) { case 'mysqli': case 'mysql': case 'pdo_mysql': $db->query("SET time_zone = '+0:00'"); break; case 'postgresql': $db->query("SET time_zone = '+0:00'"); break; default: // do nothing } // attempt to disable strict mode try { $db->query("SET SQL_MODE = ''"); } catch (Exception $e) { } $profiler = new Zend_Db_Profiler_Firebug('All DB Queries'); //$profiler->setEnabled(true); //$db->setProfiler($profiler); Zend_Registry::set('connectDB', $db); Zend_Registry::set('configDB', $options['params']); return $db; }
public function editAction() { //Checking viewer if (!$this->_helper->requireUser()->isValid()) { return; } //Get nguoi_dung $id = $this->_getParam('id', 0); $this->view->nguoi_dung = $nguoi_dung = Khcn_Api::_()->getItem('default_nguoi_dung', $id); $tableGV = Khcn_Api::_()->getDbTable('giang_vien', 'default'); $this->view->form = $form = new Admin_Form_NguoiDung(); $form->populate($nguoi_dung->toArray()); $form->ngay_sinh->setValue(date('d-m-Y', strtotime($nguoi_dung->ngay_sinh))); if (!empty($nguoi_dung->giang_vien_id) && ($giang_vien = Khcn_Api::_()->getItem('default_giang_vien', $nguoi_dung->giang_vien_id))) { $giangViens = $tableGV->getGiangViensByDonViAssoc($giang_vien->ma_don_vi); $form->giang_vien_id->setMultiOptions($giangViens)->setValue($nguoi_dung->giang_vien_id); $form->is_giang_vien->setValue(1); $form->don_vi_id->setValue($giang_vien->ma_don_vi); $this->view->giang_vien = $giang_vien; } // Check method/valid if (!$this->getRequest()->isPost()) { return; } if (!$form->isValid($this->getRequest()->getPost())) { return; } $db = Khcn_Db_Table::getDefaultAdapter(); $db->beginTransaction(); try { $values = $form->getValues(); $nguoi_dung->ho = $values['ho']; $nguoi_dung->ten = $values['ten']; $nguoi_dung->ngay_sinh = date('Y-m-d', strtotime($values['ngay_sinh'])); if (!empty($values['is_giang_vien'])) { $nguoi_dung->giang_vien_id = $values['giang_vien_id']; } else { $nguoi_dung->giang_vien_id = 0; } $nguoi_dung->setTenHienThi(array('ho' => $values['ho'], 'ten' => $values['ten'])); $nguoi_dung->save(); $_SESSION['msg'] = 'Thành công !. Dữ liệu đã được cập nhật.'; $_SESSION['type_msg'] = 'success'; $db->commit(); } catch (Exception $e) { $db->rollBack(); $_SESSION['msg'] = 'Lỗi !. Đã có lỗi trong quá trình xử lý.'; $_SESSION['type_msg'] = 'error'; throw $e; } return $this->_forward('index', 'nguoi-dung', 'admin'); }
public function indexAction() { // Already logged in $viewer = Khcn_Api::_()->getViewer(); if ($viewer && $viewer->getIdentity()) { $this->view->status = false; $this->view->error = Zend_Registry::get('Zend_Translate')->_('Bạn đã đăng nhập.'); $this->_helper->redirector->gotoRoute(array(), 'default', true); return; } // Make form $this->view->form = $form = new Default_Form_Login(); $form->setAction($this->view->url(array('return_url' => null))); $form->populate(array('return_url' => $this->_getParam('return_url'))); // Not a post if (!$this->getRequest()->isPost()) { $this->view->status = false; $this->view->error = Zend_Registry::get('Zend_Translate')->_('No action taken'); return; } // Form not valid if (!$form->isValid($this->getRequest()->getPost())) { $this->view->status = false; $this->view->error = Zend_Registry::get('Zend_Translate')->_('Invalid data'); return; } // Check login creds extract($form->getValues()); // $Username, $Password, $Remember $userTable = Khcn_Api::_()->getItemTable('default_nguoi_dung'); $userSelect = $userTable->select()->where('ten_dang_nhap = ?', $Username); // If post exists $user = $userTable->fetchRow($userSelect); // Get ip address $db = Khcn_Db_Table::getDefaultAdapter(); // Check if user exists if (empty($user)) { $this->view->status = false; $this->view->error = Zend_Registry::get('Zend_Translate')->_('Tên đăng nhập hoặc mật khẩu không đúng.'); $form->addError(Zend_Registry::get('Zend_Translate')->_('Tên đăng nhập hoặc mật khẩu không đúng.')); return; } // Check if user is verified and enabled if (!$user->enabled) { if (!$user->verified) { $this->view->status = false; $translate = Zend_Registry::get('Zend_Translate'); $error = $translate->translate('Vui lòng kích hoạt tài khoản thông qua email.'); $form->getDecorator('errors')->setOption('escape', false); $form->addError($error); return; } else { if (!$user->approved) { $this->view->status = false; $translate = Zend_Registry::get('Zend_Translate'); $error = $translate->translate('Tài khoản của bạn cần được kích hoạt bởi admin.'); $form->getDecorator('errors')->setOption('escape', false); $form->addError($error); return; } } // Should be handled by hooks or payment //return; } // Version 3 Import compatibility if (empty($user->mat_khau)) { $form->addError('Mật khẩu không hợp lệ. Vui lòng reset lại mật khẩu.'); return; } else { $authResult = Khcn_Api::_()->authenticate($Username, $Password); $authCode = $authResult->getCode(); Khcn_Api::_()->setViewer(); if ($authCode != Zend_Auth_Result::SUCCESS) { $this->view->status = false; $this->view->error = Zend_Registry::get('Zend_Translate')->_('Tên đăng nhập hoặc mật khẩu không đúng.'); $form->addError(Zend_Registry::get('Zend_Translate')->_('Tên đăng nhập hoặc mật khẩu không đúng.')); return; } } // -- Success! -- // Remember if (!empty($Remember)) { $lifetime = 1209600; // Two weeks Zend_Session::getSaveHandler()->setLifetime($lifetime, true); Zend_Session::rememberMe($lifetime); } // Test activity @todo remove $viewer = Khcn_Api::_()->getViewer(); if ($viewer && $viewer->getIdentity()) { $viewer->lan_dang_nhap_cuoi = date("Y-m-d H:i:s"); $viewer->save(); } // Assign sid to view for json context $this->view->status = true; $this->view->message = Zend_Registry::get('Zend_Translate')->_('Đăng nhập thành công'); $this->view->sid = Zend_Session::getId(); $this->view->sname = Zend_Session::getOptions('name'); // Do redirection only if normal context // Redirect by form $uri = $form->getValue('return_url'); if ($uri) { if (substr($uri, 0, 3) == '64-') { $uri = base64_decode(substr($uri, 3)); } return $this->_redirect($uri, array('prependBase' => false)); } // Redirect by session $session = new Zend_Session_Namespace('Redirect'); if (isset($session->uri)) { $uri = $session->uri; $opts = $session->options; $session->unsetAll(); return $this->_redirect($uri, $opts); } else { if (isset($session->route)) { $session->unsetAll(); return $this->_helper->redirector->gotoRoute($session->params, $session->route, $session->reset); } } // Just redirect to home return $this->_helper->redirector->gotoRoute(array(), null, true); }
/** * Set the table name prefix * * @param string $prefix */ public static function setTablePrefix($prefix) { self::$_tablePrefix = $prefix; }
/** * Get the authentication adapter * * @return Zend_Auth_Adapter_Interface */ public function getAuthAdapter() { if (null === $this->_authAdapter) { $db = Khcn_Db_Table::getDefaultAdapter(); $tablePrefix = Khcn_Db_Table::getTablePrefix(); $this->_authAdapter = new Zend_Auth_Adapter_DbTable($db, Khcn_Api::_()->getItemTable('default_nguoi_dung')->info('name'), 'id', 'mat_khau'); } return $this->_authAdapter; }