Подскажите можно как нибудь автоматизировать процесс смена статуса заказа по отслеживанию посылки (по шпи). Есть вот такой скрипт который парсер шпи в массивы забитые вручную, можно как нибудь привязать этот скрипт к престе чтоб автоматом парсер и менял статус заказа?



<?
// Массив с трек-номерами посылок
// заполняйте его по аналогии трек-номерами своих посылок
$codes=array('RA111111111CN', 'RA222222222CN', 'RA33333333CN');

// Массив с результатами отслеживания
$status=array();

$link='http://www.russianpost.ru/resp_engine.aspx?Path='.
'rp/servise/ru/home/postuslug/trackingpo';

foreach ($codes as $code) {
// Подготовка запроса cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'entryBarCode='.$code.
'&BarCode='.$code.'&searchsign=1');

// Отправка POST-запроса на сервер и получение страницы результата
$grab=curl_exec($ch);

if (eregi('value="([0-9]+)"',$grab,$pocket)) {
// установка URL и других необходимых параметров
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'key='.$pocket[1]);

// загрузка страницы
$grab=curl_exec($ch);

// установка URL и других необходимых параметров
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'entryBarCode='.$code.
'&BarCode='.$code.'&searchsign=1');

// загрузка страницы
$grab=curl_exec($ch);
}

// Фикс кодировки полученной страницы
$grab=mb_convert_encoding($grab, 'Windows-1251', 'UTF-8');

// Небольшой фикс для упрощения парсинга страницы
$grab=eregi_replace('<a href=javascript\:Wind\([^\(]*\)>','',$grab);

preg_match_all('/<tr align="center"><td>([^<]+)<\/td><td>([^<]+)'.
'<\/td><td>[^<]*<\/td><td>([^<]+)<\/td><td>([^<]*)<\/td>/',$grab,$matches);

$st=array();
$st['code']=$code;
// Если получен какой-то результат
if (count($matches[1])) {
// Последнее действие
if ($matches[4][count($matches[1])-1]) {
$st['action']=$matches[4][count($matches[1])-1];
}
else {
$st['action']=$matches[1][count($matches[1])-1];
}
// Дата последнего действия
$st['date']=$matches[2][count($matches[1])-1];
// Местонахождение посылки
$st['where']=$matches[3][count($matches[1])-1];
}
// Ошибка на сервере или статус посылки еще не определен
else {
$st['action']='Неизвестно';
$st['date']='--';
$st['where']='--';
}

// Записать результат в массив
$status[]=$st;

curl_close($ch);
}
// Теперь в массиве $status содержится информация по всем посылкам
var_dump($status);
?>