function edit(Default_Model_RecurrentExpenses $model) { $expenseId = new Zend_Form_Element_Hidden('expenseId'); $expenseId->setValue($model->getId()); $this->addElement($expenseId); $this->name->setValue($model->getName()); $this->name->setLabel(Zend_Registry::get('translate')->_('admin_name')); $this->price->setValue($model->getPrice()); $this->price->setLabel(Zend_Registry::get('translate')->_('admin_price')); $this->date->setValue(date('m/d/Y', strtotime($model->getDate()))); $this->date->setLabel('Date'); $productGroups = new Default_Model_ProductGroups(); $select = $productGroups->getMapper()->getDbTable()->select()->where('idProduct=?', $model->getId())->where('repeated=?', 1); $result = $productGroups->fetchAll($select); if (NULL != $result) { foreach ($result as $value) { $options[$value->getId()] = $value->getIdGroup(); } } $this->idGroup->setValue($options); $this->idGroup->setLabel(Zend_Registry::get('translate')->_('category')); $this->submit->setValue(Zend_Registry::get('translate')->_('admin_edit_recurrent_expense')); }
public function delete(Default_Model_RecurrentExpenses $value) { $id = $value->getId(); $data = array('deleted' => '1'); $this->getDbTable()->update($data, array('id = ?' => $id)); //logs action done //$user_name = $value->getUserName()->getName().' '.$value->getUserName()->getSurname(); $product_name = $value->getName(); $action_done = ' User deleted the expense ' . $product_name . ' '; Needs_Logs::DbLogTracking(0, $id, 'expenses', 'stergere', $action_done); //end logs action done return $id; }
function cronjob($runHours = 'month') { $updatedRE = false; //Get Time $now = date('Y-m-d'); //data de azi //Convert Time $model = new Default_Model_RecurrentExpenses(); $select = $model->getMapper()->getDbTable()->select()->where('NOT `deleted`'); $result = $model->fetchAll($select); if ($result) { foreach ($result as $values) { $date = $values->getDatePaid() ? $values->getDatePaid() : $values->getDate(); //1 mai 2014 $day = date('d', strtotime($date)); $feb = date('L', strtotime($date)) ? 29 : 28; //an bisect $days = array(0, 31, $feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31); //nr zile pe luna //$month=array(1,2,3,4,5,6,7,8,9,10,11,12); $newdate = strtotime('+' . $days[date('n', strtotime($date))] . ' days', strtotime($date)); if ($day < 29 && $day > 1) { $newdate = date('Y-m', $newdate) . "-{$day}"; } else { if (date('n', strtotime($date)) == 1) { //january if ($feb == 29) { $newdate = date('Y-02') . "-" . ($day == 1 ? '01' : '29'); } else { $newdate = date('Y-02') . "-" . ($day == 1 ? '01' : '28'); } } else { if ($days[date('n', strtotime($date))] > $days[date('n', strtotime($date)) + 1] && $day > 1) { $newdate = date('Y-m-d', strtotime('+' . $days[date('n', strtotime($date)) + 1] . ' days', strtotime($date))); } else { $newdate = date('Y-m-d', $newdate); } } //$newdate=date ( 'Y-m-d' , $newdate ); } if ($newdate <= date('Y-m-d')) { $model->find($values->getId()); $model->setDatePaid($newdate); if ($model->save()) { $modelExpenses = new Default_Model_Expenses(); $modelExpenses->setIdMember($model->getIdMember()); $modelExpenses->setName($model->getName()); $modelExpenses->setPrice($model->getPrice()); $modelExpenses->setType($model->getType()); $modelExpenses->setDate($model->getDatePaid()); if ($expenseId = $modelExpenses->save()) { $productGroups = new Default_Model_ProductGroups(); $select = $productGroups->getMapper()->getDbTable()->select()->where('idProduct=?', $model->getId())->where('repeated=?', 1); $result = $productGroups->fetchRow($select); if (NULL != $result) { $idGroup = $result->getIdGroup(); $productGroups->setIdProduct($expenseId); $productGroups->setIdGroup($idGroup); $productGroups->setId(''); $productGroups->setRepeated(0); $productGroups->save(); } } $updatedRE = true; } } } } return $updatedRE; }