Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Sep 12th, 2011  |  syntax: PHP  |  size: 2.50 KB  |  views: 27  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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.         }
clone this paste RAW Paste Data