public function datetext($value) { return date_text($value, 'd'); }
/** * Подробная инфо о БС */ public function actionDetails() { $num = __paramInit('int', 'num'); if (!$num) { $this->missingAction(null); } $reserveInstance = ReservesAdminOrderModel::model(); $reserve = $reserveInstance->getReserveAdmin($num); if (!$reserve) { $this->missingAction(null); } $formChangeStatus = new ReservesChangeStatusForm(); if (isset($_POST) && sizeof($_POST) > 0) { $do = __paramInit('string', NULL, 'do', null); switch ($do) { case 'accept_back': $reserveInstance->changeBackStatus(ReservesAdminOrderModel::SUBSTATUS_PAYED); break; case 'decline_back': $message = __paramInit('string', NULL, 'message', null); $reserveInstance->setUpdatedData('reason_payback', $message); $reserveInstance->changeBackStatus(ReservesAdminOrderModel::SUBSTATUS_ERR); break; case 'accept_pay': $reserveInstance->changePayStatus(ReservesAdminOrderModel::SUBSTATUS_PAYED); break; case 'decline_pay': $message = __paramInit('string', NULL, 'message', null); $reserveInstance->setUpdatedData('reason_payout', $message); $reserveInstance->changePayStatus(ReservesAdminOrderModel::SUBSTATUS_ERR); break; case 'accept_reserve': $reserveInstance->changeStatus(ReservesAdminOrderModel::STATUS_RESERVE); break; case 'decline_reserve': $message = __paramInit('string', NULL, 'message', null); $reserveInstance->setUpdatedData('reason_reserve', $message); $reserveInstance->changeStatus(ReservesAdminOrderModel::STATUS_ERR); break; default: $docs = __paramInit('array_int', NULL, 'docs', array()); $is_create = __paramInit('bool', NULL, 'create', false); if (!empty($docs) || $is_create) { $data = array(); $datereqv_complete = __paramInit('string', NULL, 'file_date', null); //@todo: если будет ряд данных на изменения то подумать как сделать лучше if ($datereqv_complete) { $datereqv_complete = date_text($datereqv_complete, 'j'); $data['datereqv_complete'] = $datereqv_complete; } $reserveInstance->updateDocs($docs, $is_create, $data); } elseif ($formChangeStatus->isValid($_POST)) { $to_status = $formChangeStatus->getValue('status'); $reserveInstance->switchStatus($to_status); } } $this->redirect(sprintf(self::DETAILS_URL, $num)); } else { $formChangeStatus->setDefaultStatus($reserveInstance->getReserveOrderStatus(), $reserveInstance->getReserveDataByKey('arbitrage_is_emp')); } $this->render('details', array('reserveInstance' => $reserveInstance, 'form' => $formChangeStatus->render())); }
/** * НЕ ИСПОЛЬЗОВАТЬ - УСТАРЕЛ СМ generateInvoice2. * * Генерация счета * * @todo: может перенести генерацию в очереди? * @todo: но тогда нужно организовать обратную связь. * * @param type $user_info * * @return bool|\CFile */ public function generateInvoice($user_info) { extract($this->options); $file = new CFile(); $file_path = $this->getFilePath(); $reserve_id = @$this->data['reserve_id']; if (!$file_path || !$reserve_id || empty($this->data)) { return false; } $data = $this->getCheckByReserveId($reserve_id); if (isset($data['payed_date']) && !empty($data['payed_date'])) { return false; } if (isset($data['check_file_id']) && $data['check_file_id'] > 0) { $file->Delete($data['check_file_id']); } if (!$data) { $data = array(); } $this->data = array_merge($data, $this->data, $user_info); $data = $this->data; $bill_num = sprintf($bill_num_format, $data['reserve_id']); $data['bill_num'] = $bill_num; $data['date'] = date_text($data['date'], 'd'); $data['price_txt'] = num2str(intval($data['price'])); $data['price'] = number_format($data['price'], 2, ',', ''); $data['title'] = sprintf($check_title, $bill_num); foreach ($data as $key => $value) { $data['$' . $key] = $value; unset($data[$key]); } $pdf = new odt2pdf($invoice_template); $pdf->setFolder(ABS_PATH . $templates_path); $pdf->convert($data); $content = $pdf->output(null, 'S'); $len = strlen($content); if (!$len) { return false; } $file->path = $file_path; $file->table = $table_files; $file->size = $len; $file->src_id = $src_id; $file->name = basename($file->secure_tmpname($file->path, '.pdf')); $file->original_name = change_q_x(sprintf($check_org_filename, $bill_num)); if (!$file->putContent($file->path . $file->name, $content)) { return false; } $this->data['check_file_id'] = $file->id; return $this->addCheck() ? $file : false; }