public function editAction() { $modelCategory = new Application_Model_Category(); $this->view->categories = $modelCategory->getAll(); $modelCurrency = new Application_Model_Currency(); $this->view->currencies = $modelCurrency->getAll(); $modelPaiement = new Application_Model_Paiement(); $this->view->paiements = $modelPaiement->getAll(); $id = $this->getRequest()->getParam("id"); $modelTransaction = new Application_Model_Transaction(); if (isset($id)) { $this->view->transaction = $modelTransaction->getById($id); } if ($this->getRequest()->isPost()) { $description = $this->getRequest()->getPost('description', null); $category = $this->getRequest()->getPost('category', null); $currency = $this->getRequest()->getPost('currency', null); $paiement = $this->getRequest()->getPost('paiement', null); $transaction = $this->getRequest()->getPost('transaction', null); $date = $this->getRequest()->getPost('date', null); if ($transaction == 0) { $this->view->error = "Le montant de la transaction est vide"; } $session = new Zend_Session_Namespace('Zend_auth'); if (!isset($this->view->error)) { $data_transaction = array('description' => $description, 'amount' => $transaction, 'date' => $date, 'id_category' => $category, 'id_currency' => $currency, 'id_mode_paiement' => $paiement, 'id_user' => $session->user); if (!isset($id)) { $modelTransaction->insertTransaction($data_transaction); } else { $modelTransaction->updateTransaction($data_transaction, $id); } $this->_redirect('transaction/'); } } }
public function saveAction() { $id = $this->getParam('id'); $form = new Application_Form_SaveCurrency(); if ($id) { $currencyMapper = new Application_Model_CurrencyMapper(); $currency = $currencyMapper->find($id); $form->getElement('code')->setValue($currency->code); $form->getElement('rate')->setValue(number_format((double) $currency->rate, 4)); $form->getElement('def')->setValue($currency->def); $form->getElement('active')->setValue($currency->active); if (!$currency->def) { $delForm = new Application_Form_SubmitButton(); $delForm->setAction($this->view->url(array('controller' => 'currencies', 'action' => 'delete'), null, true)); $delForm->addAttribs(array('id' => 'delSettingForm' . $id, 'onsubmit' => self::VALIDATE_FORM . "('delSettingForm" . $id . "')", 'class' => 'form-horizontal')); $delForm->getElement('id')->setValue($id); $delForm->getElement('submit')->setAttribs(array('class' => 'btn btn-danger')); $delForm->getElement('submit')->setLabel('Delete'); $this->view->delForm = $delForm; } } $form->getElement('active')->setValue(1); $request = $this->getRequest(); if ($request->isPost()) { if ($form->isValid($request->getPost())) { $data = $form->getValues(); $currency = new Application_Model_Currency($data); $currency->setId($id); $currencyMapper = new Application_Model_CurrencyMapper(); //var_dump($data, $currency); try { $currencyMapper->save($currency); if ($currency->def) { $currencyMapper->updater(); } } catch (Exception $e) { $this->_helper->getHelper('FlashMessenger')->addMessage($e->getMessage(), 'error'); } return $this->_helper->redirector('dashboard', 'users'); } } else { foreach ($form->getMessages() as $error) { $this->_helper->getHelper('FlashMessenger')->addMessage(array_shift(array_values($error)), 'error'); $this->_helper->redirector('save'); //var_dump(array_shift(array_values($error))); } } $this->view->form = $form; }
public function save(Application_Model_Currency $currency) { if ($currency->def) { $currency->active = 1; } $data = array('id' => $currency->id, 'code' => $currency->code, 'rate' => $currency->rate, 'def' => $currency->def, 'active' => $currency->active); if ($data['def']) { $this->getDbTable()->update(array('def' => 0), array('id <> ?' => $currency->id)); } if (null === ($id = $currency->getId())) { unset($data['id']); $this->getDbTable()->insert($data); } else { $this->getDbTable()->update($data, array('id = ?' => $id)); } }
public function myprofileAction() { $session = new Zend_Session_Namespace('Zend_auth'); if (!isset($session->user)) { $this->_redirect('index/login'); } // action body $modelCurrency = new Application_Model_Currency(); $this->view->currencies = $modelCurrency->fetchAll(); $modelUser = new Application_Model_User(); $user = $modelUser->getById($session->user); $this->view->user = $user; if ($this->getRequest()->isPost()) { $password = $this->getRequest()->getPost('pwd', null); $newpassword = $this->getRequest()->getPost('newpwd', null); $confnewpassword = $this->getRequest()->getPost('confnewpwd', null); $firstname = $this->getRequest()->getPost('firstname', null); $lastname = $this->getRequest()->getPost('lastname', null); $default_currency = $this->getRequest()->getPost('default_currency', null); $params = array("first_name" => $firstname, "last_name" => $lastname, "default_currency" => $default_currency); if (!empty($newpassword)) { if ($confnewpassword == $newpassword) { if ($user['password'] == sha1($password)) { $params["password"] = sha1($newpassword); } else { $this->view->error = "Le mot de passe actuel est invalide"; } } else { $this->view->error = "Les deux mots de passes ne sont pas identiques"; } } if (!isset($this->view->error)) { $modelUser->updateUser($params, $session->user); $this->_redirect('index/myprofile?success'); } } }
/** * Добавить валюту по значению буквенного кода * * @param string $currencyLetterCode буквенный код валюты * @return string */ public function addCurrency($currencyLetterCode) { $currencyMapper = new Application_Model_CurrencyMapper(); $existsCurrency = $currencyMapper->fetchByName($currencyLetterCode); if ($existsCurrency) { return 'exists'; } $currencyModel = new Application_Model_Currency(); $quotations = $this->_prepareData(); foreach ($quotations as $data) { if ($data['name'] !== $currencyLetterCode) { continue; } $currencyModel->setOptions($data); break; } if (!$currencyModel->getProviderCurrencyId()) { return 'notFound'; } $currencyMapper->save($currencyModel); $result = $this->updateQuotations(); return $result; }
/** * Получить все данные * * @return \Application_Model_Currency Результат выборки данных */ public function fetchAll() { $cacheId = $this->_cachePrefix . 'all'; $cache = Zend_Registry::get('cache'); if (!($resultSet = $cache->load($cacheId))) { $resultSet = $this->getDbTable()->fetchAll(); $cache->save($resultSet, $cacheId); } $entries = array(); foreach ($resultSet as $row) { $entry = new Application_Model_Currency(); $entry->setId($row->id)->setTitle($row->title)->setName($row->name)->setProviderCurrencyId($row->providerCurrencyId); $entries[] = $entry; } return $entries; }