Advertisement
NFL

Untitled

NFL
May 24th, 2012
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.86 KB | None | 0 0
  1.     public function addproductAction() {
  2.         Application_Plugin_Title::append('Добавить товар');
  3.         $form = new Application_Form_Admin_Catalog_AddProduct ();
  4.         $table = new Application_Model_Catalog_Goods ();
  5.         if ($this->getRequest()->isPost()) {
  6.             $data = $this->getRequest()->getPost();
  7.             if ($form->isValid($data)) {
  8.                 unset($data ['submit']);
  9.                 $data ['created'] = date("Y-m-d H:i:s");
  10.                 $photoName = '';
  11.                 if ($_FILES ['photo'] ['error'] != UPLOAD_ERR_NO_FILE) {
  12.                     //var_dump($_FILES['photo']);
  13.                     $extension = array_reverse(explode('.', $_FILES ['photo'] ['name']));
  14.                     $extension = $extension [0];
  15.                     $photoName = md5($_FILES ['photo'] ['name'] . time()) . '.' . $extension;
  16.                     $data ['photo'] = $photoName;
  17.  
  18.                     if (!move_uploaded_file($_FILES ['photo'] ['tmp_name'], GOODS_PHOTOS_FULL_DIR . $photoName)) {
  19.                         $this->view->status = 'fail';
  20.                         $this->view->message = 'Не удалось загрузить файл';
  21.                     } else {
  22.                         $resizer = new Application_Plugin_ImageResize ();
  23.                         if ($resizer->resize(GOODS_PHOTOS_FULL_DIR . $photoName, GOODS_PHOTOS_PREVIEW_DIR . $photoName, 152, 204)) {
  24.                             unset($data ['MAX_FILE_SIZE']);
  25.                             //$data['current_price'] = $data['price'];
  26.                             if ($goodId = $table->insert($data)) {
  27.                                 //$this->view->message = "Товар успешно добавлен";
  28.                                 //$this->view->status = 'success';
  29.                                 $sizesForm = new Application_Form_Admin_Catalog_AddProductsSizes ();
  30.                                 $sizesForm->addElement('hidden', 'good_id', array('value' => $goodId));
  31.                                 $this->view->form = $sizesForm;
  32.  
  33.                                 //                                  if ($this->getRequest ()->isPost ()) {
  34.                                 //                                      $data = $this->getRequest ()->getPost ();
  35.                                 //                                      Zend_Debug::dump ( $data );
  36.                                 //                                  } else {
  37.                                 //                                      $this->view->form = $sizesForm;
  38.                                 //                                  }
  39.                             } else {
  40.                                 //echo "Database Error ";
  41.                             }
  42.                         } else {
  43.                             $this->view->message = 'Не удалось сгенерировать Preview';
  44.                         }
  45.                     }
  46.                 } else {
  47.                     unset($data ['photo']);
  48.                     unset($data ['MAX_FILE_SIZE']);
  49.                     //$data['current_price'] = $data['price'];
  50.                     if ($goodId = $table->insert($data)) {
  51.  
  52.                         //$this->view->message = "Товар успешно добавлен";
  53.                         //$this->view->status = 'success';
  54.  
  55.  
  56.                         $sizesForm = new Application_Form_Admin_Catalog_AddProductsSizes ();
  57.                         $sizesForm->addElement('hidden', 'good_id', array('value' => $goodId));
  58.                         $this->view->message = "Выберите размеры";
  59.                         $this->view->form = $sizesForm;
  60.  
  61.                         //                              if ($this->getRequest ()->isPost ()) {
  62.                         //                                  $data = $this->getRequest ()->getPost ();
  63.                         //                                  Zend_Debug::dump ( $data );
  64.                         //                              } else {
  65.                         //                                  $this->view->form = $sizesForm;
  66.                         //                              }
  67.                         //                         
  68.                     } else {
  69.                         //echo "Database Error ";
  70.                     }
  71.                 }
  72.             } else {
  73.                 $this->view->form = $form->populate($data);
  74.             }
  75.         } else {
  76.             $this->view->form = $form;
  77.         }
  78.         $this->render();
  79.     }
  80.  
  81.     public function addsizestogoodAction() {
  82.         $table = new Application_Model_Catalog_SizesPrices ();
  83.         $form = new Application_Form_Admin_Catalog_AddProductsSizes ();
  84.         if ($this->getRequest()->isPost()) {
  85.             $data = $this->getRequest()->getPost();
  86.             $goodId = $data ['good_id'];
  87.             unset($data ['good_id']);
  88.             unset($data ['submit']);
  89.  
  90.             $sizes = array();
  91.  
  92.             $sizesAndPrices = array_chunk($data, 2); //AAAAAAAAAAAAAAAAAAA! FUCK MY BRAIN!!!
  93.             foreach ($data as $k => $array) {
  94.                 if (($array [0] == 0) || empty($array [0])) {
  95.                     unset($data [$k]);
  96.                 }
  97.             }
  98.             //Zend_Debug::dump ( $data );
  99.             $readySizes = array();
  100.             foreach ($data as $k => $v) {
  101.  
  102.                 if (strpos($k, 'price') !== false) {
  103.  
  104.                     $readySizes [str_replace('price', '', $k)] = $v;
  105.                 }
  106.                 //var_dump($k, strpos($k, 'size'));
  107.                 if (strpos($k, 'size') !== false) {
  108.                     unset($data [$k]);
  109.                 }
  110.             }
  111.             foreach ($readySizes as $k => $size) {
  112.                 $insert = array('good_id' => $goodId, 'size_id' => $k, 'price' => $size, 'current_price' => $size);
  113.                 if (!$table->insert($insert)) {
  114.                     $this->view->message = 'Не удалось добавить размеры!';
  115.                     break;
  116.                 } else {
  117.                     $this->view->message = 'Размеры успешно добавлены';
  118.                 }
  119.             }
  120.         }
  121.         $this->render();
  122.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement