public function getAddress() { return sprintf('%s %s %s %s %s %s', $this->country, $this->city, $this->street, $this->house, $this->apartment, $this->zipcode); }
/** * The function posts Order. * * @access private * @param object $Order The Order to save. * @param object $Cart The Cart object to clear items. * @return string The JSON response. */ private function postOrder(Order $Order, Cart $Cart = null) { $error = array(); $Order->setPost($_POST); $Custom = $Order->getCustom(); $Address = $Order->getAddress(); if ($Order->Type == Order::STANDARD && (!$Address->Name || !$Address->Phone) || $Order->Type == Order::CUSTOM && (!$Custom->Name || !$Custom->Email) || $Order->Type == Order::PRODUCT && (!$Address->Name || !$Address->Phone)) { $error[] = 'Заполните все обязательные поля'; } else { if ($Order->Type != Order::CUSTOM && !Error::check($Address->Email, 'email')) { $error[] = 'Введите корректный E-mail'; } else { if ($Order->save()) { if (!empty($_FILES['file']['tmp_name'])) { if (File::upload($Order, $_FILES['file'])) { $Order->save(); } } if ($Cart) { $Cart->clear(); $Cart->save(); } $Email = new Email_Order($Order); if (!$Email->send()) { $error[] = 'Ошибка отправки сообщения'; } } else { $error[] = 'Ошибка записи данных'; } } } $response = array('result' => count($error) ? 0 : 1); $response['posted'] = 1; $response['msg'] = implode("\n", $error); return $this->outputJSON($response); }