예제 #1
0
 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);
         }
     }
 }
예제 #2
0
 /**
  * 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;
 }
예제 #3
0
 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();
 }
예제 #4
0
파일: Stream.php 프로젝트: besters/My-Base
 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;
 }
예제 #5
0
파일: Company.php 프로젝트: besters/My-Base
 /**
  * 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;
 }