コード例 #1
0
 /**
  *вынимает нужную информацию из 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++;
         }
     }
 }
コード例 #2
0
/**
 *вынимает нужную информацию из 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>';*/
            }
        }
    }
}
コード例 #3
0
 /**
  *вынимает нужную информацию из 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();
 }
コード例 #4
0
/**
 *вынимает нужную информацию из 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++;
        }
    }
}