Advertisement
Guest User

Untitled

a guest
Sep 12th, 2011
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.50 KB | None | 0 0
  1.     public function migration() {
  2.         $products = unserialize(file_get_contents(__DIR__ . '/../../external/data.txt'));;
  3.         echo "<pre>";
  4.         $t = 0;
  5.         $parentID = 4731;
  6.         foreach($products as $menu1 => $category1) {
  7.             $parentID1 = $this->createCatalog($menu1, $parentID);          
  8.            
  9.             echo "$menu1:\n";
  10.             foreach ($category1 as $menu2 => $category2) {
  11.                 $parentID2 = $this->createCatalog($menu2, $parentID1);
  12.                 echo "\t$menu2\n";;
  13.                 foreach($category2 as $menu3 => $category3) {
  14.                     $parentID3 = $this->createCatalog($menu3, $parentID2);
  15.                     echo "\t\t$menu3\n";;
  16.                     foreach($category3 as $menu4 => $category4) {
  17.                         if (isset($category4['price'])) {                                                  
  18.                             echo "\t\t\t *". $category4['name'] ."\n";
  19.                             if (!is_int($this->createProduct($category4, $parentID3))) {
  20.                                 die('wrong a');
  21.                             }                          
  22.                             $t++;
  23.                             if ($t > 30) die('okok');
  24.                         }else {
  25.                             continue;
  26.                             $parentID4 = $this->createCatalog($menu4, $parentID3);
  27.                             echo "\t\t\t$menu4\n";     
  28.                             foreach($category4 as $menu5 => $category5) {
  29.                                 echo "\t\t\t\t *". $category5['name'] ."\n";
  30.                                 if (!is_int($this->createProduct($category5, $parentID4))) {
  31.                                     die('wrong');
  32.                                 }
  33.                                 if ($t > 30) die('okok');
  34.                             }
  35.                         }
  36.                     }
  37.                 }
  38.             }
  39.         }
  40.     }
  41.    
  42.     private function createCatalog($title, $pid) {
  43.             $do = new Catalog();             
  44.             $do->Title = $title;
  45.             $do->MenuTitle = $title;
  46.             $do->ParentID = $pid;
  47.             $parentID = $do->write();
  48. //          $do->doPublish();
  49.             return $parentID;
  50.     }
  51.     private function createProduct($data, $pid) {
  52.         if ($pid <= 0) die('pidpid');
  53.         $do = new Product();
  54.         $do->ParentID = $pid;
  55.         $do->Title = $data['name'];
  56.         $do->MenuTitle = $data['name'];
  57.         $do->Content = $data['description'];
  58.         $do->Price = $data['price']['litais'];
  59.         if ($data['images']) {
  60.             foreach($data['images'] as $i => $image) {
  61.                 if ($i > 4) {echo $i."more than\n"; break; }
  62.                 if (file_exists(ASSETS_PATH . '/images/' . $image . '.jpg')) {
  63.                     $img = new Image();
  64.                     $img->setFilename(ASSETS_DIR . '/images/' . $image . '.jpg');
  65.                     $img->Title = $data['name'];               
  66.                     $imgID = $img->write();
  67.                     $img->CMSThumbnail();
  68.                     $img->updateFilesystem();
  69.                    
  70.                     $imgStr = 'Photo' . ($i+1) . 'ID';
  71.                     $do->{$imgStr}  = $imgID;
  72.                 }else {
  73.                     echo 'shit';
  74.                     echo ASSETS_PATH . '/images/' . $image . '.jpg';
  75.                 }
  76.             }
  77.         }
  78.        
  79.        
  80.         return $do->write();
  81. //      $do->doPublish();
  82.         //print_r($data);
  83.        
  84.         //exit;
  85.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement