Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once 'uAPImodule.php';
- require_once 'PHPExcel/Classes/PHPExcel/IOFactory.php';
- // получаем xls c исходными данными и сохраняем в файл
- $data_file_url = "http://b2b.technolight.ru/upload/ostatki_tl.xls";
- $data = file_get_contents($data_file_url);
- $fh = fopen("tmp/tmp_data.xls", "w");
- if(!$fh) exit("Не удалось открыть поток для tmp/tmp_data.xls");
- fwrite($fh, $data);
- fclose($fh);
- // переводим xls в csv формат
- $obj_PHPExcel_data = PHPExcel_IOFactory::load("tmp/tmp_data.xls");
- $objWriter = PHPExcel_IOFactory::createWriter($obj_PHPExcel_data, 'CSV')
- ->setDelimiter(',')
- ->setEnclosure('"')
- ->setLineEnding("\r\n")
- ->setSheetIndex(0)
- ->save("tmp/tmp_data.csv");
- // получаем массив с актуальной информацией
- $data_to_update = array();
- $fh = fopen("tmp/tmp_data.csv", "r");
- if(!$fh) exit("Не удалось открыть поток для tmp/tmp_data.csv");
- // пропускаем заголовки
- fgetcsv($fh);
- while ($string = fgetcsv($fh)) {
- $data_to_update[$string[0]] = array(
- "stock" => $string[1]
- );
- }
- fclose($fh);
- // подготавливаем объект для запросов по api
- $request = new Request(array(
- 'oauth_consumer_key' => 'products_stock_updater',
- 'oauth_consumer_secret' => 'ogSrK8VaP1y4Y1nZIOjgtJstoC.AXi',
- 'oauth_token' => 'nmNajT9l4hv3KzY3FHRlMrz1Zs3DgwqdOS0Ya0.n',
- 'oauth_token_secret' => '73dGbiBdAfv2HpMFfcOB3ysZkeyCXAk3xL76QzUN'
- ));
- // получаем список всех товаров
- $all_goods = array();
- $cur_page = 1;
- do {
- $response = $request->get('/shop/request', array(
- 'page' => 'allgoods',
- 'pnum' => $cur_page
- ));
- $response = json_decode($response);
- $num_pages = $response->success->paginator->num_pages;
- foreach ($response->success->goods_list as $product) {
- if(isset($data_to_update[$product->entry_art_no])) {
- $data_to_update[$product->entry_art_no]["id"] = $product->entry_id;
- }
- }
- $cur_page++;
- } while ($cur_page <= $num_pages);
- // обновляем информацию о наличии
- foreach ($data_to_update as $art_no => $value) {
- if(isset($value["id"])) {
- $response = $request->get('/shop/editgoods', array(
- 'method' => 'cnt-save',
- 'id' => $value["id"],
- 'stock_q' => $value["stock"]
- ));
- $response = json_decode($response);
- echo "<pre>";
- print_r($response);
- echo "</pre>";
- }
- else continue;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement