/** * 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; }
/** * 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; }