$image_tstamp = time();
 $product_original = mslib_fe::getProduct($this->post['pid']);
 $original_images = array();
 foreach ($product_original as $arr_key => $arr_val) {
     if (strpos($arr_key, 'products_image') !== false && !empty($arr_val)) {
         $original_file = $arr_val;
         $original_images[$arr_key] = $arr_val;
         $tmp_filename = explode('.', $original_file);
         $count_filename = count($tmp_filename);
         $ext = $tmp_filename[$count_filename - 1];
         unset($tmp_filename[$count_filename - 1]);
         $new_filename = implode('', $tmp_filename) . '-CL' . $image_tstamp . '.' . $ext;
         // copy original product image
         $original_path = $this->DOCUMENT_ROOT . mslib_befe::getImagePath($original_file, 'products', 'original');
         //
         $folder = mslib_befe::getImagePrefixFolder($new_filename);
         if (!is_dir($this->DOCUMENT_ROOT . $this->ms['image_paths']['products']['original'] . '/' . $folder)) {
             \TYPO3\CMS\Core\Utility\GeneralUtility::mkdir($this->DOCUMENT_ROOT . $this->ms['image_paths']['products']['original'] . '/' . $folder);
         }
         $folder .= '/';
         $target = $this->DOCUMENT_ROOT . $this->ms['image_paths']['products']['original'] . '/' . $folder . $new_filename;
         if (copy($original_path, $target)) {
             mslib_befe::resizeProductImage($target, $new_filename, $this->DOCUMENT_ROOT . \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::siteRelPath($this->extKey), 1);
         }
         //
         $updateArray[$arr_key] = $new_filename;
     }
 }
 if ($update_product_images) {
     foreach ($update_product_images as $key => $value) {
         if ($original_images[$key] != $value) {
Example #2
0
 public function getImagePath($filename, $type, $width = 100)
 {
     $folder = $this->ms['image_paths'][$type][$width] . '/' . mslib_befe::getImagePrefixFolder($filename);
     return $folder . '/' . $filename;
 }
 function customAjaxPage(&$params, &$ref)
 {
     error_log("customAjaxPage hook");
     error_log("products path: " . $ref->ms['image_paths']['products']['original']);
     $ref->ms['image_paths']['variants']['original'] = 'uploads/tx_msvariants/images/original';
     error_log("variants path: " . $ref->ms['image_paths']['variants']['original']);
     if ($ref->ADMIN_USER) {
         if (isset($_SERVER["CONTENT_LENGTH"])) {
             //        switch ($ref->get['file_type']) {
             //          case 'variants_image':
             //          for ($x=0; $x<$ref->ms['MODULES']['NUMBER_OF_PRODUCT_IMAGES']; $x++) {
             //              // hidden filename that is retrieved from the ajax upload
             //            $i=$x;
             //            if ($i==0) {
             //              $i='';
             //            }
             //            $field='products_image'.$i;
             //            if ($ref->get['file_type']==$field) {
             $temp_file = $ref->DOCUMENT_ROOT . 'uploads/tx_multishop/tmp/' . uniqid();
             if (isset($_FILES['qqfile'])) {
                 move_uploaded_file($_FILES['qqfile']['tmp_name'], $temp_file);
             } else {
                 $input = fopen("php://input", "r");
                 $debug_file = fopen("/Applications/XAMPP/xamppfiles/htdocs/typo3/typo3temp/debug.txt", "w");
                 fwrite($debug_file, sys_get_temp_dir());
                 fclose($debug_file);
                 $temp = tmpfile();
                 $realSize = stream_copy_to_stream($input, $temp);
                 fclose($input);
                 $target = fopen($temp_file, "w");
                 fseek($temp, 0, SEEK_SET);
                 stream_copy_to_stream($temp, $target);
                 fclose($target);
             }
             error_log("temp file created");
             $size = getimagesize($temp_file);
             if ($size[0] > 5 and $size[1] > 5) {
                 error_log("size ok");
                 $imgtype = mslib_befe::exif_imagetype($temp_file);
                 if ($imgtype) {
                     error_log("type ok");
                     // valid image
                     $ext = image_type_to_extension($imgtype, false);
                     if ($ext) {
                         error_log("ext ok");
                         $i = 0;
                         $filename = mslib_fe::rewritenamein($ref->get['products_name']) . '.' . $ext;
                         $folder = mslib_befe::getImagePrefixFolder($filename);
                         $array = explode(".", $filename);
                         if (!is_dir($ref->DOCUMENT_ROOT . $ref->ms['image_paths']['variants']['original'] . '/' . $folder)) {
                             t3lib_div::mkdir($ref->DOCUMENT_ROOT . $ref->ms['image_paths']['variants']['original'] . '/' . $folder);
                         }
                         error_log("mkdir ok");
                         $folder .= '/';
                         $target = $ref->DOCUMENT_ROOT . $ref->ms['image_paths']['variants']['original'] . '/' . $folder . $filename;
                         if (file_exists($target)) {
                             error_log("file exists ok");
                             do {
                                 $filename = mslib_fe::rewritenamein($ref->get['products_name']) . ($i > 0 ? '-' . $i : '') . '.' . $ext;
                                 $folder_name = mslib_befe::getImagePrefixFolder($filename);
                                 $array = explode(".", $filename);
                                 $folder = $folder_name;
                                 if (!is_dir($ref->DOCUMENT_ROOT . $ref->ms['image_paths']['variants']['original'] . '/' . $folder)) {
                                     t3lib_div::mkdir($ref->DOCUMENT_ROOT . $ref->ms['image_paths']['variants']['original'] . '/' . $folder);
                                 }
                                 $folder .= '/';
                                 $target = $ref->DOCUMENT_ROOT . $ref->ms['image_paths']['variants']['original'] . '/' . $folder . $filename;
                                 $i++;
                             } while (file_exists($target));
                         }
                         error_log("before copy file ok");
                         if (copy($temp_file, $target)) {
                             $filename = mslib_befe::resizeProductImage($target, $filename, $ref->DOCUMENT_ROOT . t3lib_extMgm::siteRelPath($ref->extKey), 1);
                             $result = array();
                             $result['success'] = true;
                             $result['error'] = false;
                             $result['filename'] = $filename;
                             echo htmlspecialchars(json_encode($result), ENT_NOQUOTES);
                             exit;
                         }
                     }
                 }
             }
         }
         //          }
         //          break;
         //        }
         //      }
     }
     //    exit();
     //    break;
 }
Example #4
0
     $filter[] = '(' . implode(' OR ', $orFilter) . ')';
     $count = mslib_befe::getCount('', 'tx_multishop_products', '', $filter);
     if ($count < 2) {
         // Only delete the file is we have found 1 product using it
         mslib_befe::deleteProductImage($this->get['old_image']);
     }
 }
 if (!is_dir($this->DOCUMENT_ROOT . $this->ms['image_paths']['products']['original'] . '/' . $folder)) {
     \TYPO3\CMS\Core\Utility\GeneralUtility::mkdir($this->DOCUMENT_ROOT . $this->ms['image_paths']['products']['original'] . '/' . $folder);
 }
 $folder .= '/';
 $target = $this->DOCUMENT_ROOT . $this->ms['image_paths']['products']['original'] . '/' . $folder . $filename;
 if (file_exists($target)) {
     do {
         $filename = mslib_fe::rewritenamein($tmp_filename) . ($i > 0 ? '-' . $i : '') . '.' . $ext;
         $folder_name = mslib_befe::getImagePrefixFolder($filename);
         $array = explode(".", $filename);
         $folder = $folder_name;
         if (!is_dir($this->DOCUMENT_ROOT . $this->ms['image_paths']['products']['original'] . '/' . $folder)) {
             \TYPO3\CMS\Core\Utility\GeneralUtility::mkdir($this->DOCUMENT_ROOT . $this->ms['image_paths']['products']['original'] . '/' . $folder);
         }
         $folder .= '/';
         $target = $this->DOCUMENT_ROOT . $this->ms['image_paths']['products']['original'] . '/' . $folder . $filename;
         $i++;
     } while (file_exists($target));
 }
 if (copy($temp_file, $target)) {
     $filename = mslib_befe::resizeProductImage($target, $filename, $this->DOCUMENT_ROOT . \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::siteRelPath($this->extKey), 1);
     $fileLocation = $this->FULL_HTTP_URL . mslib_befe::getImagePath($filename, 'products', '50');
     $result = array();
     $result['success'] = true;
 } else {
     $s = $i;
 }
 switch ($imageType) {
     case 'products':
         $colName = 'products_image' . $s;
         break;
     case 'categories':
         $colName = 'categories_image' . $s;
         break;
     case 'manufacturers':
         $colName = 'manufacturers_image' . $s;
         break;
 }
 if ($row[$colName]) {
     $folder = mslib_befe::getImagePrefixFolder($row[$colName]);
     $v1_folder = $this->DOCUMENT_ROOT . 'uploads/tx_multishop/images/' . $imageType . '/original/' . $row[$colName];
     $v3_folder = $this->DOCUMENT_ROOT . 'uploads/tx_multishop/images/' . $imageType . '/original/' . $folder . '/' . $row[$colName];
     if (!file_exists($v3_folder) and file_exists($v1_folder)) {
         // V1 setup
         $dirs = array();
         $dirs[] = $this->DOCUMENT_ROOT . $this->ms['image_paths'][$imageType]['100'] . '/' . $folder;
         $dirs[] = $this->DOCUMENT_ROOT . $this->ms['image_paths'][$imageType]['200'] . '/' . $folder;
         $dirs[] = $this->DOCUMENT_ROOT . $this->ms['image_paths'][$imageType]['300'] . '/' . $folder;
         $dirs[] = $this->DOCUMENT_ROOT . $this->ms['image_paths'][$imageType]['50'] . '/' . $folder;
         $dirs[] = $this->DOCUMENT_ROOT . $this->ms['image_paths'][$imageType]['normal'] . '/' . $folder;
         $dirs[] = $this->DOCUMENT_ROOT . 'uploads/tx_multishop/images/' . $imageType . '/original/' . $folder;
         foreach ($dirs as $dir) {
             if (!is_dir($dir)) {
                 \TYPO3\CMS\Core\Utility\GeneralUtility::mkdir($dir);
             }
Example #6
0
             if (file_exists($source_file)) {
                 copy($source_file, PATH_site . 'uploads/tx_multishop/tmp/' . $backup_folder . '/images/categories/' . $record['categories_image']);
             }
         }
     }
     // copy the category images to the backup folder eof
     // copy the products images to the backup folder
     foreach ($data['tx_multishop_products'] as $record) {
         for ($i = 0; $i < 5; $i++) {
             if ($i == 0) {
                 $cur = '';
             } else {
                 $cur = $i;
             }
             if ($record['products_image' . $cur]) {
                 $folder = mslib_befe::getImagePrefixFolder($record['products_image' . $cur]);
                 $source_file = $this->DOCUMENT_ROOT . $this->ms['image_paths']['products']['original'] . '/' . $folder . '/' . $record['products_image' . $cur];
                 if (file_exists($source_file)) {
                     copy($source_file, PATH_site . 'uploads/tx_multishop/tmp/' . $backup_folder . '/images/products/' . $record['products_image' . $cur]);
                 }
             }
         }
     }
     // copy the products images to the backup folder eof
 }
 if (!file_put_contents(PATH_site . 'uploads/tx_multishop/tmp/' . $backup_folder . '/data.sql', $output)) {
     die(PATH_site . 'uploads/tx_multishop/tmp/' . $backup_folder . '/data.sql is not writable.');
 } else {
     $backup_file = date("Y-m-d_G-i-s");
     if ($this->zipPack(PATH_site . 'uploads/tx_multishop/tmp/' . $backup_folder . '/', PATH_site . 'uploads/tx_multishop/tmp/' . $backup_folder . '/' . $backup_file . '.zip')) {
         $output = mslib_fe::file_get_contents(PATH_site . 'uploads/tx_multishop/tmp/' . $backup_folder . '/' . $backup_file . '.zip');