/** *вынимает нужную информацию из XML в прайсе Попарада */ public function parse_price_poparada() { if ($_FILES['file']['tmp_name']) { $dom = DOMDocument::load($_FILES['file']['tmp_name']); $rows = $dom->getElementsByTagName('Row'); //print_r($rows); $row_num = 1; //полезная инфа начинается с 7 строки! //название позиции находится в первой ячейке //цены в 4,5,6 и 7 ячейках foreach ($rows as $row) { if ($row_num >= 7) { $cells = $row->getElementsByTagName('Cell'); $cell_num = 1; $kat_num = 1; foreach ($cells as $cell) { if ($cell_num == 1) { $name = $cell->nodeValue; } if ($cell_num >= 4 && $cell_num <= 7) { $kat[$kat_num] = $cell->nodeValue; $kat_num++; } $cell_num++; } if (!empty($name)) { add_price($name, $kat[1], $kat[2], $kat[3], $kat[4]); } } $row_num++; } } }
/** *вынимает нужную информацию из XML в прайсе Вика */ function parse_price_vika() { if ($_FILES['file']['tmp_name']) { $dom = DOMDocument::load($_FILES['file']['tmp_name']); //print_r($dom); $worksheets = $dom->getElementsByTagName('Worksheet'); foreach ($worksheets as $worksheet) { $ws_name = $worksheet->getAttribute('ss:Name'); //echo "$ws_name vkladka <br>"; if ($ws_name == "Розница грн.") { //echo "need vkladka <br>"; $rows = $dom->getElementsByTagName('Row'); //print_r($rows); $row_num = 1; //полезная инфа начинается с 4 строки! //если первая ячейка не пустая, то название дивана находится во второй ячейке //цены идус с 6 ячейки через одну ячейку (6, 8, 10 и т.д.) foreach ($rows as $row) { //print_r($row); if ($row_num >= 4) { $cells = $row->getElementsByTagName('Cell'); $cell_num = 1; $kat_num = 1; $pass = false; foreach ($cells as $cell) { $elem = $cell->nodeValue; //echo "$elem $cell_num <br>"; if ($cell_num == 1 && empty($elem)) { $pass = true; } if ($pass == false && $cell_num == 2) { $name = $elem; } if ($pass == false && $cell_num >= 6) { if ($cell_num % 2 == 0) { $kat[$kat_num] = $cell->nodeValue; $kat_num++; } } $cell_num++; } if ($name != "Назва виробу" && !empty($name) && !empty($kat[1]) && !empty($kat[2]) && !empty($kat[3]) && !empty($kat[4]) && !empty($kat[5]) && !empty($kat[6]) && !empty($kat[7]) && !empty($kat[8]) && !empty($kat[9]) && !empty($kat[10])) { add_price($name, $kat[1], $kat[2], $kat[3], $kat[4], $kat[5], $kat[6], $kat[7], $kat[8], $kat[9], $kat[10]); } } $row_num++; } /*echo '<pre>'; print_r($data); echo '</pre>';*/ } } } }
/** *вынимает нужную информацию из XML в прайсе Лисогор */ public function parse_price_lisogor() { if ($_FILES['file']['tmp_name']) { $dom = DOMDocument::load($this->file1); //print_r($dom); $rows = $dom->getElementsByTagName('Row'); //print_r($rows); $row_num = 1; //полезная инфа начинается с 5 строки! //в нечетной строке у нас идет название дивана во второй ячейке //в четной, с 3 по 21 идут цены (при этом они идут через одну ячейку, например 3,5,8 и т.д. foreach ($rows as $row) { //print_r($row); if ($row_num >= 5) { if (!($row_num % 2 == 0)) { $cells = $row->getElementsByTagName('Cell'); $cell_num = 1; foreach ($cells as $cell) { if ($cell_num == 2) { $name = $cell->nodeValue; //echo " name=".$name; //имя дивана находится во второй ячейке } $cell_num++; } } else { //начиная с третей ячейки через одну читаем цены $cells = $row->getElementsByTagName('Cell'); $cell_num = 1; $kat_num = 1; foreach ($cells as $cell) { if ($cell_num >= 3) { if (!($cell_num % 2 == 0)) { $kat[$kat_num] = round($cell->nodeValue); $kat_num++; } } $cell_num++; } add_price($name, $kat[1], $kat[2], $kat[3], $kat[4], $kat[5], $kat[6], $kat[7], $kat[8], $kat[9], $kat[10]); } } $row_num++; } /*echo '<pre>'; print_r($data); echo '</pre>';*/ } trunc_arr(); }
/** *вынимает нужную информацию из XML в прайсе Гербор */ function parse_price_gerbor() { if ($_FILES['file']['tmp_name']) { $dom = DOMDocument::load($_FILES['file']['tmp_name']); //print_r($dom); $rows = $dom->getElementsByTagName('Row'); //print_r($rows); $row_num = 1; //полезная инфа начинается с 10 строки! //если вторая ячейка в строке - пустая, значит 3 ячейка это название системы (goods.goods_article_link) //и ее цена находиться в 6 ячейке строки // //если первая ячейка строки - цифра, то это элемент системы //4 ячейка в строке - это ее goods.goods_article_link (id товара в парйсе) //6 ячейка - цена foreach ($rows as $row) { if ($row_num >= 10) { $cells = $row->getElementsByTagName('Cell'); $cell_num = 1; $isModule = false; foreach ($cells as $cell) { $elem = $cell->nodeValue; if ($cell_num == 2 and empty($elem)) { $isModule = true; //echo "enter NAME $row_num $cell_num $elem<br>"; } if ($isModule == true and $cell_num == 3) { $name = $elem; } if ($isModule == false and $cell_num == 4) { $name = $elem; //echo "enter ID $row_num $cell_num $elem<br>"; } if ($cell_num == 6) { $price = $elem; } $cell_num++; } add_price($name, $price); } $row_num++; } } }