public function newAction() { $this->_form = new Mybase_Form_Project(); $session = new Zend_Session_Namespace('Zend_Auth'); $this->_form->populate(array('iduser' => $session->storage->iduser)); $this->view->form = $this->_form; $formData = $this->getRequest()->getPost(); if ($this->_request->isPost()) { if ($this->_form->isValid($formData)) { $lastInsertId = $this->_model->save($formData); $acl = new Model_Acl(); if (isset($formData['img'])) { $account = new Model_Account(); if (!is_dir(ROOT_PATH . '/public/files/' . $account->getId())) { mkdir(ROOT_PATH . '/public/files/' . $account->getId()); } mkdir(ROOT_PATH . '/public/files/' . $account->getId() . '/' . $lastInsertId . '/'); rename(ROOT_PATH . '/public/files/tmp/' . $formData['img'], ROOT_PATH . '/public/files/' . $account->getId() . '/' . $lastInsertId . '/' . $formData['img']); } $acl->createDefault($lastInsertId, $formData['iduser']); $this->_flash('New project has been successfully created', 'done'); return $this->_redirect('/' . $lastInsertId . '/team'); } else { $this->_flash('Formulář není vyplněn správně', 'error', false); $this->_form->populate($formData); } } }
/** * Vraci pole ve tvaru "id => jmeno uzivatele" * * @param int $idaccount ID uctu * @param bool|array $companyData Seznam spolecnosti. Prebira bud pole s daty * (napr vystup metody {@link Model_Company::getFormSelect()}), * anebo hodnotu true, kdy v tomto pripade provede dotaz do DB. * @return array */ public function getFormSelect($idaccount = null, $companyData = null) { $return = array(); if (is_null($idaccount)) { $account = new Model_Account(); $idaccount = $account->getId(); } $users = $this->_dbTable->fetchAllEntry('idaccount = ' . $idaccount . '', array('iduser', 'name', 'surname', 'idcompany')); if (is_null($companyData)) { foreach ($users as $row) { $return[$row->iduser] = $row->surname . ' ' . $row->name; } } else { if (is_bool($companyData) and $companyData == true) { $companies = new Model_Company(); $companyData = $companies->getFormSelect($idaccount); } foreach ($companyData as $idcompany => $company) { foreach ($users as $row) { if ($idcompany == $row->idcompany) { $return[$company][$row->iduser] = $row->surname . ' ' . $row->name; } } } } return $return; }
public function loginAction() { $this->_form = new Mybase_Form_Login(); if (!$this->getRequest()->isPost()) { $this->view->form = $this->_form; } else { $form = $this->_form; if (!$form->isValid($_POST)) { $this->view->form = $form; $this->_flash('Všechna pole musí být vyplněna', 'error', false); } else { $values = $form->getValues(); $auth = Zend_Auth::getInstance(); $authAdapter = new Zend_Auth_Adapter_DbTable(Zend_Db_Table_Abstract::getDefaultAdapter(), 'user_login', 'username', 'password', 'MD5(?)'); $modelAccount = new Model_Account(); $idaccount = $modelAccount->getId($this->_request->account); $select = $authAdapter->getDbSelect(); $select->where('idaccount = ' . $idaccount); $authAdapter->setIdentity($values['username']); $authAdapter->setCredential($values['password']); $result = $auth->authenticate($authAdapter); switch ($result->getCode()) { case Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND: $this->view->form = $form; $this->_flash('Špatné uživatelské jméno', 'error', false); break; case Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID: $this->view->form = $form; $this->_flash('Špatné heslo', 'error', false); break; case Zend_Auth_Result::SUCCESS: $storage = $auth->getStorage(); $storage->write($authAdapter->getResultRowObject(array('email', 'name', 'surname', 'username', 'iduser', 'owner', 'administrator'))); if ($form->getValue('remember') == 1) { Zend_Session::rememberMe(60 * 60 * 24 * 14); } //$this->_redirect('http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']); $this->_redirect('/'); break; case Zend_Auth_Result::FAILURE: $this->view->form = $form; $this->_flash('Neznámá chyba (FAILURE)', 'error', false); break; case Zend_Auth_Result::FAILURE_IDENTITY_AMBIGUOUS: $this->view->form = $form; $this->_flash('"Nejednoznačné"', 'error', false); break; case Zend_Auth_Result::FAILURE_UNCATEGORIZED: $this->view->form = $form; $this->_flash('Neznámá chyba(FAILURE_UNCATEGORIZED)', 'error', false); break; default: $this->view->form = $form; $this->_flash('Neznámá chyba (default)', 'error', false); break; } } } $this->_helper->layout->disableLayout(); }
public function getMain() { $account = new Model_Account(); $idaccount = $account->getId(); $data = $this->_dbTable->getMainStream($idaccount, null); $return = array(); foreach ($data as $item) { $return[$item->idproject]['data'][] = $item; $return[$item->idproject]['project'] = $item->project; } return $return; }
/** * Vraci pole ve tvaru "id => nazev spolecnosti" * * @param int $idaccount ID uctu * @param string $nullVal Prvni prvek selectu * @return array */ public function getFormSelect($idaccount = null, $nullVal = null) { $return = array(); if (is_null($idaccount)) { $account = new Model_Account(); $idaccount = $account->getId(); } $company = $this->_dbTable->fetchAllEntry('idaccount = ' . $idaccount . '', array('idcompany', 'name')); foreach ($company as $row) { if (!is_null($nullVal)) { $return[null] = $nullVal; } $return[$row->idcompany] = $row->name; } return $return; }