OpenCart 🇺🇦

Схема

public mixed update ( $order_id, $order_status_id, $comment = '' )

Аргументы

Аргумент Возможный тип Описание
$order_id
$order_status_id
$comment = ''

Описание

Метод пока еще не документирован.

Исходный код

$order_info = $this->model_checkout_order->getOrder($order_id);

$notify = $this->config->get('openbaypro_update_notify');

if ($order_info) {

	$this->db->query("UPDATE `" . DB_PREFIX . "order` SET order_status_id = '" . (int)$order_status_id . "', date_modified = NOW() WHERE order_id = '" . (int)$order_id . "'");
	$this->db->query("INSERT INTO " . DB_PREFIX . "order_history SET order_id = '" . (int)$order_id . "', order_status_id = '" . (int)$order_status_id . "', notify = '" . (int)$notify . "', comment = '" . $this->db->escape($comment) . "', date_added = NOW()");

	if ($notify) {
		$language = new Language($order_info['language_directory']);
		$language->load($order_info['language_filename']);
		$language->load('mail/order');

		$subject = sprintf($language->get('text_update_subject'), html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'), $order_id);

		$message  = $language->get('text_update_order') . ' ' . $order_id . "\n";
		$message .= $language->get('text_update_date_added') . ' ' . date($language->get('date_format_short'), strtotime($order_info['date_added'])) . "\n\n";

		$order_status_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_status WHERE order_status_id = '" . (int)$order_status_id . "' AND language_id = '" . (int)$order_info['language_id'] . "'");

		if ($order_status_query->num_rows) {
			$message .= $language->get('text_update_order_status') . "\n\n";
			$message .= $order_status_query->row['name'] . "\n\n";
		}

		if ($order_info['customer_id']) {
			$message .= $language->get('text_update_link') . "\n";
			$message .= $order_info['store_url'] . 'index.php?route=account/order/info&order_id=' . $order_id . "\n\n";
		}

		if ($comment) {
			$message .= $language->get('text_update_comment') . "\n\n";
			$message .= $comment . "\n\n";
		}

		$message .= $language->get('text_update_footer');

		$message .= "\n\n";
		$message .= 'eBay and Amazon order management - http://www.openbaypro.com/';

		$mail = new Mail();
		$mail->protocol = $this->config->get('config_mail_protocol');
		$mail->parameter = $this->config->get('config_mail_parameter');
		$mail->hostname = $this->config->get('config_smtp_host');
		$mail->username = $this->config->get('config_smtp_username');
		$mail->password = $this->config->get('config_smtp_password');
		$mail->port = $this->config->get('config_smtp_port');
		$mail->timeout = $this->config->get('config_smtp_timeout');
		$mail->setTo($order_info['email']);
		$mail->setFrom($this->config->get('config_email'));
		$mail->setSender($order_info['store_name']);
		$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
		$mail->setText(html_entity_decode($message, ENT_QUOTES, 'UTF-8'));
		$mail->send();
	}
}