Browse Source

create folders when enter into files list

Piotr Labudda 10 years ago
parent
commit
019d13b676
2 changed files with 32 additions and 3 deletions
  1. 20 3
      SE/se-lib/FileUploader.php
  2. 12 0
      SE/se-lib/TableAjax.php

+ 20 - 3
SE/se-lib/FileUploader.php

@@ -139,7 +139,7 @@ class FileUploader {
 	}
 	}
 
 
 	/**
 	/**
-	 * TODO: 
+	 * TODO:
 	 */
 	 */
 	function generateFolderName() {
 	function generateFolderName() {
 		$DBG = false;
 		$DBG = false;
@@ -585,11 +585,11 @@ class FileUploader {
 
 
 	/**
 	/**
 	 * Rename file by params.
 	 * Rename file by params.
-	 * 
+	 *
 	 * @param array $params
 	 * @param array $params
 	 * @param string $FILENAME_POST
 	 * @param string $FILENAME_POST
 	 * @param string $dest_folder
 	 * @param string $dest_folder
-	 * 
+	 *
 	 * @returns array (
 	 * @returns array (
 	 *                  'M_DIST_FILES_DEST_FOLDER',
 	 *                  'M_DIST_FILES_DEST_FOLDER',
 	 *                  'DST_FILE_NAME',
 	 *                  'DST_FILE_NAME',
@@ -742,6 +742,16 @@ class FileUploader {
 
 
 		if($_SESSION['DEBUG']) print_r($genLog);
 		if($_SESSION['DEBUG']) print_r($genLog);
 
 
+		if (!file_exists($dest_folder)) {
+			$genLog['INFO'] .= "TWORZE_NOWY_FOLDER , ";
+			$this->tryCreateDestFolder($dest_folder);
+			if (!file_exists($dest_folder)) {
+				//$genLog['ERROR'] .= "ERROR_DEST_FOLDER_NOT_EXISTS";
+				$errorMsg = "folder nie istnieje - nie udało się go utworzyć";
+				return false;
+			}
+		}
+	{// OLD
 		// try to create folder if not exists
 		// try to create folder if not exists
 		if (!file_exists($dest_folder)) {
 		if (!file_exists($dest_folder)) {
 			mkdir($dest_folder, 0777, true);
 			mkdir($dest_folder, 0777, true);
@@ -754,6 +764,7 @@ class FileUploader {
 				return false;
 				return false;
 			}
 			}
 		}
 		}
+	}
 
 
 		$dest_folder_name = explode('/', $dest_folder);
 		$dest_folder_name = explode('/', $dest_folder);
 		$dest_folder_name = end($dest_folder_name);
 		$dest_folder_name = end($dest_folder_name);
@@ -825,4 +836,10 @@ class FileUploader {
 		return false;
 		return false;
 	}
 	}
 
 
+	public function tryCreateDestFolder($dest_folder) {
+		mkdir($dest_folder, 0777, true);
+		@chmod($dest_folder, 0777);
+		return file_exists($dest_folder);
+	}
+
 }
 }

+ 12 - 0
SE/se-lib/TableAjax.php

@@ -5143,6 +5143,18 @@ jQuery(document).ready(function(){
 		$mainFolder = $uploader->getDestFolder();
 		$mainFolder = $uploader->getDestFolder();
 		if($DBG){ echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">mainFolder (F.' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($mainFolder);echo'</pre>'; }
 		if($DBG){ echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">mainFolder (F.' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($mainFolder);echo'</pre>'; }
 
 
+		if (!$mainFolder) {
+			$destFolderPath = $uploader->getDestLocalPath(true);
+			$folderCreated = $uploader->tryCreateDestFolder($destFolderPath);
+			if ($folderCreated) {
+				//SE_Layout::alert('info', "Utworzono katalog");
+				$uploader->findFolder();
+				$mainFolder = $uploader->getDestFolder();
+			} else {
+				SE_Layout::alert('warning', "Nie udało się utworzyć katalogu");
+			}
+		}
+
 		$files = $uploader->getFilesFromFolder($mainFolder, false, true);
 		$files = $uploader->getFilesFromFolder($mainFolder, false, true);
 		if($DBG){ echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">files (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($files);echo'</pre>'; }
 		if($DBG){ echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">files (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($files);echo'</pre>'; }