Przeglądaj źródła

Feature #272 - The functions api_get_permissions_for_new_directories() and api_get_permissions_for_new_files() have been introduced in the installation scripts.

Ivan Tcholakov 15 lat temu
rodzic
commit
921f8f307c

+ 3 - 6
main/install/install_functions.inc.php

@@ -564,14 +564,11 @@ function display_requirements($installType, $badUpdatePath, $updatePath = '', $u
 
 		$error = false;
 
-		$perm = api_get_setting('permissions_for_new_directories');
-		$perm = octdec(!empty($perm) ? $perm : '0770');
+		//First, attempt to set writing permissions if we don't have them yet
 
-		$perm_file = api_get_setting('permissions_for_new_files');
-		$perm_file = octdec(!empty($perm_file) ? $perm_file : '0660');
+		$perm = api_get_permissions_for_new_directories();
+		$perm_file = api_get_permissions_for_new_files();
 
-		//First, attempt to set writing permissions if we don't have them yet
-		//0xxx is an octal number, this is the required format
 		$notwritable = array();
         $curdir = getcwd();
 

+ 3 - 1
main/install/update-db-1.8.5-1.8.6.inc.php

@@ -92,6 +92,9 @@ if (defined('DOKEOS_INSTALL') || defined('DOKEOS_COURSE_UPDATE')) {
 	while ($row = mysql_fetch_object($dblistres)) {
     	$dblist[] = $row->Database;
 	}
+
+	$perm = api_get_permissions_for_new_directories();
+
 	/*
 	-----------------------------------------------------------
 		Normal upgrade procedure:
@@ -163,7 +166,6 @@ if (defined('DOKEOS_INSTALL') || defined('DOKEOS_COURSE_UPDATE')) {
 			$image_repository = file_exists($dir.$file) ? $dir.$file : $dir.$user_id.'/'.$file;
 
 			if (!is_dir($dir.$user_id)) {
-				$perm = octdec(!empty($perm) ? $perm : '0777');
 				@mkdir($dir.$user_id, $perm);
 			}
 

+ 1 - 2
main/install/update-files-1.6.x-1.8.0.inc.php

@@ -77,8 +77,7 @@ if (defined('DOKEOS_INSTALL') || defined('DOKEOS_COURSE_UPDATE')) {
 	error_log('Getting courses for files updates: '.$sql, 0);
 	$result = mysql_query($sql);
 
-	$perm = api_get_setting('permissions_for_new_directories');
-	$perm = octdec(!empty($perm) ? $perm : '0770');
+	$perm = api_get_permissions_for_new_directories();
 
 	//$old_umask = umask(0); // This function is not thread-safe.
 

+ 1 - 2
main/install/update-files-1.8.5-1.8.6.inc.php

@@ -64,8 +64,7 @@ if (defined('DOKEOS_INSTALL') || defined('DOKEOS_COURSE_UPDATE')) {
 	error_log('Getting courses for files updates: '.$sql, 0);
 	$result = mysql_query($sql);
 
-	$perm = api_get_setting('permissions_for_new_directories');
-	$perm = octdec(!empty($perm) ? $perm : '0770');
+	$perm = api_get_permissions_for_new_directories();
 
 	//$old_umask = umask(0); // This function is not thread-safe.
 

+ 1 - 2
main/install/update-files-1.8.6-1.8.6.1.inc.php

@@ -53,8 +53,7 @@ if (defined('DOKEOS_INSTALL') || defined('DOKEOS_COURSE_UPDATE')) {
 	fwrite($fh, '?>');
 	fclose($fh);
 
-	$perm = api_get_setting('permissions_for_new_directories');
-	$perm = octdec(!empty($perm) ? $perm : '0770');
+	$perm = api_get_permissions_for_new_directories();
 
 	//$old_umask = umask(0); // This function is not thread-safe.
 

+ 2 - 2
main/install/update-files-1.8.6.1-1.8.6.2.inc.php

@@ -47,8 +47,8 @@ if (defined('DOKEOS_INSTALL') || defined('DOKEOS_COURSE_UPDATE')) {
 	fclose($fh);
 
 	$sys_course_path = $pathForm.'courses/';
-	$perm = api_get_setting('permissions_for_new_directories');
-	$perm = octdec(!empty($perm) ? $perm : '0770');
+
+	$perm = api_get_permissions_for_new_directories();
 
 	//$old_umask = umask(0); // This function is not thread-safe.
 

+ 1 - 2
main/install/update_files.inc.php

@@ -143,8 +143,7 @@ if (defined('DOKEOS_INSTALL') || defined('DOKEOS_COURSE_UPDATE')) {
 	$newPath = str_replace('\\', '/', realpath('../..')).'/';
 	$oldPath = $_POST['updatePath'];
 
-	$perm = api_get_setting('permissions_for_new_directories');
-	$perm = octdec(!empty($perm) ? $perm : '0770');
+	$perm = api_get_permissions_for_new_directories();
 
 	foreach ($coursePath as $key => $course) {
 		$mysql_base_course = $courseDB[$key];

+ 1 - 2
main/install/upgrade.php

@@ -139,8 +139,7 @@ class Page_Requirements extends HTML_QuickForm_Page {
 	function get_not_writable_folders() {
 		$writable_folders = array('../inc/conf', '../upload', '../../archive', '../../courses', '../../home');
 		$not_writable = array();
-		$perm = api_get_setting('permissions_for_new_directories');
-		$perm = octdec(!empty($perm) ? $perm : '0770');
+		$perm = api_get_permissions_for_new_directories();
 		foreach ($writable_folders as $index => $folder) {
 			if (!is_writable($folder) && !@ chmod($folder, $perm)) {
 				$not_writable[] = $folder;