コード例 #1
0
 /**
  * Update product download
  *
  * @param object $product Product
  * @return bool
  */
 public function updateDownloadProduct($product, $edit = 0)
 {
     if ((int) Tools::getValue('is_virtual_file') == 1) {
         if (isset($_FILES['virtual_product_file_uploader']) && $_FILES['virtual_product_file_uploader']['size'] > 0) {
             $virtual_product_filename = ProductDownload::getNewFilename();
             $helper = new HelperUploader('virtual_product_file_uploader');
             $files = $helper->setPostMaxSize(Tools::getOctets(ini_get('upload_max_filesize')))->setSavePath(_PS_DOWNLOAD_DIR_)->upload($_FILES['virtual_product_file_uploader'], $virtual_product_filename);
         } else {
             $virtual_product_filename = Tools::getValue('virtual_product_filename', ProductDownload::getNewFilename());
         }
         $product->setDefaultAttribute(0);
         //reset cache_default_attribute
         if (Tools::getValue('virtual_product_expiration_date') && !Validate::isDate(Tools::getValue('virtual_product_expiration_date'))) {
             if (!Tools::getValue('virtual_product_expiration_date')) {
                 $this->errors[] = Tools::displayError('The expiration-date attribute is required.');
                 return false;
             }
         }
         // Trick's
         if ($edit == 1) {
             $id_product_download = (int) ProductDownload::getIdFromIdProduct((int) $product->id);
             if (!$id_product_download) {
                 $id_product_download = (int) Tools::getValue('virtual_product_id');
             }
         } else {
             $id_product_download = Tools::getValue('virtual_product_id');
         }
         $is_shareable = Tools::getValue('virtual_product_is_shareable');
         $virtual_product_name = Tools::getValue('virtual_product_name');
         $virtual_product_nb_days = Tools::getValue('virtual_product_nb_days');
         $virtual_product_nb_downloable = Tools::getValue('virtual_product_nb_downloable');
         $virtual_product_expiration_date = Tools::getValue('virtual_product_expiration_date');
         $download = new ProductDownload((int) $id_product_download);
         $download->id_product = (int) $product->id;
         $download->display_filename = $virtual_product_name;
         $download->filename = $virtual_product_filename;
         $download->date_add = date('Y-m-d H:i:s');
         $download->date_expiration = $virtual_product_expiration_date ? $virtual_product_expiration_date . ' 23:59:59' : '';
         $download->nb_days_accessible = (int) $virtual_product_nb_days;
         $download->nb_downloadable = (int) $virtual_product_nb_downloable;
         $download->active = 1;
         $download->is_shareable = (int) $is_shareable;
         if ($download->save()) {
             return true;
         }
     } else {
         /* unactive download product if checkbox not checked */
         if ($edit == 1) {
             $id_product_download = (int) ProductDownload::getIdFromIdProduct((int) $product->id);
             if (!$id_product_download) {
                 $id_product_download = (int) Tools::getValue('virtual_product_id');
             }
         } else {
             $id_product_download = ProductDownload::getIdFromIdProduct($product->id);
         }
         if (!empty($id_product_download)) {
             $product_download = new ProductDownload((int) $id_product_download);
             $product_download->date_expiration = date('Y-m-d H:i:s', time() - 1);
             $product_download->active = 0;
             return $product_download->save();
         }
     }
     return false;
 }
コード例 #2
0
ファイル: product.php プロジェクト: jeprodev/jeproshop
 /**
  * Update product download
  *
  * @param int $edit
  * @return bool
  */
 public function updateDownloadProduct($edit = 0)
 {
     $app = JFactory::getApplication();
     if ((int) $app->input->get('is_virtual_file') == 1) {
         if (isset($_FILES['virtual_product_file_uploader']) && $_FILES['virtual_product_file_uploader']['size'] > 0) {
             $virtual_product_filename = JeproshopProductDownloadModelProductDownload::getNewFilename();
             $helper = new HelperUploader('virtual_product_file_uploader');
             $files = $helper->setPostMaxSize(Tools::getOctets(ini_get('upload_max_filesize')))->setSavePath(_PS_DOWNLOAD_DIR_)->upload($_FILES['virtual_product_file_uploader'], $virtual_product_filename);
         } else {
             $virtual_product_filename = $app->input->get('virtual_product_filename', JeproshopProductDownloadModelProductDownload::getNewFilename());
         }
         $this->setDefaultAttribute(0);
         //reset cache_default_attribute
         if ($app->input->get('virtual_product_expiration_date') && !JeproshopTools::isDate($app->input->get('virtual_product_expiration_date'))) {
             if (!$app->input->get('virtual_product_expiration_date')) {
                 JText::_('The expiration-date attribute is required.');
                 $this->context->controller->has_errors = true;
                 return false;
             }
         }
         // Trick's
         if ($edit == 1) {
             $product_download_id = (int) JeproshopProductDownloadModelProductDownload::getIdFromProductId((int) $this->product_id);
             if (!$product_download_id) {
                 $product_download_id = (int) $app->input->get('virtual_product_id');
             }
         } else {
             $product_download_id = $app->input->get('virtual_product_id');
         }
         $is_sharable = $app->input->get('virtual_product_is_sharable');
         $virtual_product_name = $app->input->get('virtual_product_name');
         $virtual_product_nb_days = $app->input->get('virtual_product_nb_days');
         $virtual_product_nb_downloadable = $app->input->get('virtual_product_nb_downloadable');
         $virtual_product_expiration_date = $app->input->get('virtual_product_expiration_date');
         $download = new JeproshopProductDownloadModelProductDownload((int) $product_download_id);
         $download->product_id = (int) $this->product_id;
         $download->display_filename = $virtual_product_name;
         $download->filename = $virtual_product_filename;
         $download->date_add = date('Y-m-d H:i:s');
         $download->date_expiration = $virtual_product_expiration_date ? $virtual_product_expiration_date . ' 23:59:59' : '';
         $download->nb_days_accessible = (int) $virtual_product_nb_days;
         $download->nb_downloadable = (int) $virtual_product_nb_downloadable;
         $download->published = 1;
         $download->is_sharable = (int) $is_sharable;
         if ($download->save()) {
             return true;
         }
     } else {
         /* un-active download product if checkbox not checked */
         if ($edit == 1) {
             $product_download_id = (int) JeproshopProductDownloadModelProductDownload::getIdFromProductId((int) $this->product_id);
             if (!$product_download_id) {
                 $product_download_id = (int) $app->input->get('virtual_product_id');
             }
         } else {
             $product_download_id = JeproshopProductDownloadModelProductDownload::getIdFromProductId($this->product_id);
         }
         if (!empty($product_download_id)) {
             $product_download = new JeproshopProductDownloadModelProductDownload((int) $product_download_id);
             $product_download->date_expiration = date('Y-m-d H:i:s', time() - 1);
             $product_download->published = 0;
             return $product_download->save();
         }
     }
     return false;
 }