Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Изменение статуса заказа по CRON


Evgenka

Recommended Posts

Эх, как бы еще кто подсказал как мне вызвать необходимую функцию - счастья бы моего небыло предела, но видать не судьба

Сам вроде читал гугл 2 дня, но, к сожалению, результатов это не дало

Змінено користувачем Evgenka
Надіслати
Поділитися на інших сайтах


require_once(dirname(__FILE__).'/config.php');
require_once(DIR_SYSTEM . 'startup.php');
require_once(DIR_SYSTEM . 'library/sms.php');
$registry = new Registry();
$loader = new Loader($registry);
$registry->set('load', $loader);
$config = new Config();
$registry->set('config', $config);
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$registry->set('db', $db);
$query = $db->query("SELECT * FROM " . DB_PREFIX . "order WHERE order_status_id = '14'"); 

foreach ($query->rows as $resulti) {

$data = array(
				'order_id'      => $resulti['order_id'],
				'track_no'      => $resulti['track_no'],
				'email'      => $resulti['email'],
				'telephone'      => $resulti['telephone'],
				'shipping_method'      => $resulti['shipping_method'],
				'order_status_id'      => $resulti['order_status_id'],
				'date_added'      => $resulti['date_added'],
				'language_id'      => $resulti['language_id'],
				'customer_id'      => $resulti['customer_id'],
				'store_url'      => $resulti['store_url'],
				'total'      => $resulti['total'],
				'currency_code'      => $resulti['currency_code'],
				'currency_value'      => $resulti['currency_value'],
				'order_status_id'      => $resulti['order_status_id'],
				'store_name'      => $resulti['store_name']
				);


$source = file_get_contents('https://webservices.belpost.by/searchRu.aspx?search='.$resulti['track_no']);
preg_match_all('|<span id="GridInfo0_(.*?)</span>|i', $source, $m); 
	
	$data_ship = array(
	'order_status_id' => 15,
	'notify' => true,
	'comment' => false
			);

$arr = $m[0];		
$string = implode(", ", $m[0]);
foreach ($arr as $text) {
	$bad = preg_match('~(РУПС)|(ОПП)|(УООП)|(ЦОПП)|(Центр)|(УПС)~',$text);
	$good = preg_match('~(Поступило в участок обработки почты)~',$text);
	if (!strpos($string, '10. Вручено') !== false){
	if ($good && !$bad) {
	preg_match_all('|[0-9][0-9][0-9][0-9][0-9][0-9]|i',$text, $index);	
$source2 = file_get_contents('https://webservices.belpost.by/zip.aspx?search='. $index[0][0]);
preg_match_all('|<span id="LblAdr">(.*?)</span>|i', $source2, $adres_post); 
$stringin = implode(", ", $adres_post[1]);
$query = $db->query("UPDATE `" . DB_PREFIX . "order` SET order_status_id = '" . (int)$data_ship['order_status_id'] . "', date_modified = NOW() WHERE order_id = '" . (int)$resulti['order_id'] . "'");

$query = $db->query("INSERT INTO " . DB_PREFIX . "order_history SET order_id = '" . (int)$resulti['order_id'] . "', order_status_id = '" . (int)$data_ship['order_status_id'] . "', notify = '" . (isset($data_ship['notify']) ? (int)$data_ship['notify'] : 0) . "', comment = '" . $db->escape(strip_tags($data_ship['comment'])) . "', date_added = NOW()");	
      	
}
}
}

}

 

Змінено користувачем Evgenka
Надіслати
Поділитися на інших сайтах


Не могу понять, зачем вы подключили реестр и лоадер, если они у вас не используются (реестр используется только для лоадера, который ни для чего).

Но они таки вам понадобятся.

 

$registry->get('load')->model('sale/order');
$registry->get('model_sale_order')->addOrderHistory();

 

 

А вообще, я бы это оформил в нормальный контроллер и вызывал из отдельной копии index.php.

  • +1 1
Надіслати
Поділитися на інших сайтах


3 минуты назад, Evgenka сказал:

бонусные баллы, о которых изначально и шла речь, так и не были начислены.

Они начисляются в момент добавления заказа, если было за что начислять.

При изменении статуса на завершённый только ваучеры отсылаются.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.