vladkras

1C upload

Sep 11th, 2013
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.71 KB | None | 0 0
  1. if ($_GET['file'] and $_GET['table']) {
  2.     $xml = simplexml_load_file($_GET['file']);
  3.     $products = $xml->ПакетПредложений->Предложения->Предложение;
  4.     $properties = $xml->Классификатор->Свойства->Свойство;
  5.     foreach ($properties as $property) {
  6.         if ($property->БитриксКод) {
  7.             $id = (string)$property->Ид;
  8.             $prop_arr[$id] = $property->БитриксКод;
  9.             //echo $property->БитриксКод;
  10.         }
  11.         //else echo $property->Ид;
  12.         //echo " - ".$property->Наименование."<br />";
  13.     }
  14.  
  15.     foreach ($products as $product) {
  16.         $fields = array();
  17.         $values = array();
  18.         $FOTO = array();
  19.        
  20.         $fields[] = "Name";
  21.         $values[] = str_replace("'", "&#39;", $product->Наименование);;
  22.         $fields[] = "Photo";
  23.         $values[] = $product->Картинка;
  24.         foreach ($product->ЗначенияСвойств->ЗначенияСвойства as $prop) {
  25.             if(!empty($prop->Значение)) {
  26.                 $id = (string)$prop->Ид;
  27.                 if (ctype_digit($id)) {
  28.                     $id = $prop_arr[$id];
  29.                 }
  30.                 if (strpos($id, "FOTO")===false) {
  31.                     $fields[] = $id;
  32.                     $html = html_entity_decode($prop->Значение);
  33.                     //$html = strip_tags($html, '<table><tbody><tr><th><td><strong><p><img>');
  34.                     $values[] = str_replace("'", "&#39;", $html);
  35.                 }
  36.                 else $FOTO[] = $prop->Значение;
  37.                
  38.                 //$sql .= $id." => ".$prop->Значение."\n";
  39.             }
  40.         }
  41.         $fields[] = "FOTO";
  42.         $values[] = implode(":", $FOTO);
  43.         $fields[] = "Price";
  44.         $values[] = $product->Цены->Цена->ЦенаЗаЕдиницу;
  45.         $fields[] = "Currency";
  46.         $values[] = $product->Цены->Цена->Валюта;
  47.  
  48.         $sql = "INSERT INTO Message2000 (Subdivision_ID, Sub_Class_ID, ".implode(",", $fields).") VALUES ('33', '45', '".implode("', '", $values)."')";
  49.         if (mysql_query($sql)) echo $values[0]." inserted<br />";
  50.         else echo $values[0]. "error: ".mysql_error()."<br />";
  51.  
  52.     }
  53. }
  54. elseif (isset($_GET['replace'])) {
  55.     $res = mysql_query("SELECT * FROM Message2000 WHERE Message_ID>'1'");
  56.     while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
  57.         echo $row['Message_ID'];
  58.         if ($row['CML2_DETAIL_TEXT']) {
  59.             //$text = preg_replace(array("/об\S+/", "/возду\S+/", "/вне\S+/", "/ча\S+/", "/кры\S+ка-чехол/"), array("обшивки", "воздушный", "внешней", "чаши", "крышка-чехол"), $row['CML2_DETAIL_TEXT']);
  60.            
  61.             if (mysql_query("UPDATE Message2000 SET CML2_DETAIL_TEXT='".html_entity_decode($text, '', 'UTF-8')."' WHERE Message_ID='". $row['Message_ID']."'")) {
  62.                 echo " updated successfully<br />";
  63.             }
  64.             else echo " error: ".mysql_error()."<br />";   
  65.         }
  66.         else echo " no text";
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment