From be4fd4c1eb65aaf8351c9c7cac25dcb935f9ca96 Mon Sep 17 00:00:00 2001 From: Ivan Tcholakov Date: Sun, 14 Mar 2010 04:14:12 +0200 Subject: [PATCH] Feature #272 - fileManage.lib.php and text.lib.php: Revision, coding conventions, cleaning. --- main/inc/header.inc.php | 2 +- main/inc/lib/fileManage.lib.php | 693 +++++++++++++------------------- main/inc/lib/text.lib.php | 36 +- 3 files changed, 288 insertions(+), 443 deletions(-) diff --git a/main/inc/header.inc.php b/main/inc/header.inc.php index ae2f5e45f1..df27da735f 100755 --- a/main/inc/header.inc.php +++ b/main/inc/header.inc.php @@ -75,7 +75,7 @@ if (!empty($mycourseid) && $mycourseid != -1) { if (!empty($mycoursetheme) && $mycoursetheme != -1) { if (!empty($mycoursetheme) && $mycoursetheme != $my_style) { - $my_style = $mycoursetheme; // course's css + $my_style = $mycoursetheme; // course's css } } diff --git a/main/inc/lib/fileManage.lib.php b/main/inc/lib/fileManage.lib.php index e66e3f8971..685c28badd 100755 --- a/main/inc/lib/fileManage.lib.php +++ b/main/inc/lib/fileManage.lib.php @@ -1,54 +1,49 @@ * @param - action (string) - action type require : 'delete' or 'update' - * @param - oldPath (string) - old path info stored to change - * @param - newPath (string) - new path info to substitute + * @param - old_path (string) - old path info stored to change + * @param - new_path (string) - new path info to substitute * @desc Update the file or directory path in the document db document table * */ +function update_db_info($action, $old_path, $new_path = '') { -function update_db_info($action, $oldPath, $newPath="") -{ - global $dbTable; // table 'document' // RH: see below + global $dbTable; // Table 'document' /* DELETE */ - if ($action == "delete") - { + if ($action == 'delete') { /* // RH: metadata, update 2004/08/23 these two lines replaced by new code below: $query = "DELETE FROM `$dbTable` - WHERE path='".$oldPath."' OR path LIKE '".$oldPath."/%'"; + WHERE path='".$old_path."' OR path LIKE '".$old_path."/%'"; */ - $to_delete = "WHERE path LIKE BINARY '".$oldPath."' OR path LIKE BINARY '".$oldPath."/%'"; + $to_delete = "WHERE path LIKE BINARY '".$old_path."' OR path LIKE BINARY '".$old_path."/%'"; $query = "DELETE FROM $dbTable " . $to_delete; $result = Database::query("SELECT id FROM $dbTable " . $to_delete); - if (Database::num_rows($result)) - { - require_once(api_get_path(INCLUDE_PATH) . "../metadata/md_funcs.php"); + if (Database::num_rows($result)) { + + require_once api_get_path(INCLUDE_PATH).'../metadata/md_funcs.php'; $mdStore = new mdstore(TRUE); // create if needed - $mdType = (substr($dbTable, -13) == 'scormdocument') ? - 'Scorm' : 'Document'; + $md_type = (substr($dbTable, -13) == 'scormdocument') ? 'Scorm' : 'Document'; - while ($row = Database::fetch_array($result)) - { - $eid = $mdType . '.' . $row['id']; + while ($row = Database::fetch_array($result)) { + $eid = $md_type . '.' . $row['id']; $mdStore->mds_delete($eid); $mdStore->mds_delete_offspring($eid); } @@ -57,23 +52,22 @@ function update_db_info($action, $oldPath, $newPath="") /* UPDATE */ - if ($action == "update") - { - //Display::display_normal_message("newPath = $newPath"); - if ($newPath[0] == ".") $newPath = substr($newPath,1); - $newPath = str_replace('//','/',$newPath); - //Display::display_normal_message("character 0 = " . $newPath[0] . " 1=" . $newPath[1]); - //Display::display_normal_message("newPath = $newPath"); + if ($action == 'update') { + //Display::display_normal_message("new_path = $new_path"); + if ($new_path[0] == '.') $new_path = substr($new_path, 1); + $new_path = str_replace('//', '/', $new_path); + //Display::display_normal_message("character 0 = " . $new_path[0] . " 1=" . $new_path[1]); + //Display::display_normal_message("new_path = $new_path"); - //older broken version + // Older broken version //$query = "UPDATE `$dbTable` - //SET path = CONCAT('".$newPath."', SUBSTRING(path, LENGTH('".$oldPath."')+1) ) - //WHERE path = '".$oldPath."' OR path LIKE '".$oldPath."/%'"; + //SET path = CONCAT('".$new_path."', SUBSTRING(path, LENGTH('".$old_path."')+1) ) + //WHERE path = '".$old_path."' OR path LIKE '".$old_path."/%'"; - //attempt to update - tested & working for root dir + // Attempt to update - tested & working for root dir $query = "UPDATE $dbTable - SET path = CONCAT('".$newPath."', SUBSTRING(path, LENGTH('".$oldPath."')+1) ) - WHERE path LIKE BINARY '".$oldPath."' OR path LIKE BINARY '".$oldPath."/%'"; + SET path = CONCAT('".$new_path."', SUBSTRING(path, LENGTH('".$old_path."')+1) ) + WHERE path LIKE BINARY '".$old_path."' OR path LIKE BINARY '".$old_path."/%'"; } //echo $query; //error_log($query,0); @@ -81,43 +75,34 @@ function update_db_info($action, $oldPath, $newPath="") //Display::display_normal_message("query = $query"); } -//------------------------------------------------------------------------------ - /** * Cheks a file or a directory actually exist at this location * * @author - Hugues Peeters - * @param - filePath (string) - path of the presume existing file or dir + * @param - file_path (string) - path of the presume existing file or dir * @return - boolean TRUE if the file or the directory exists * boolean FALSE otherwise. */ - -function check_name_exist($filePath) -{ +function check_name_exist($file_path) { clearstatcache(); $save_dir = getcwd(); - if(!is_dir(dirname($filePath))) - { + if (!is_dir(dirname($file_path))) { return false; } - chdir ( dirname($filePath) ); - $fileName = basename ($filePath); + chdir(dirname($file_path)); + $file_name = basename($file_path); - if (file_exists( $fileName )) - { + if (file_exists($file_name)) { chdir($save_dir); return true; - } - else - { + } else { chdir($save_dir); return false; } } - /** - * Delete a file or a directory + * Deletes a file or a directory * * @author - Hugues Peeters * @param - $file (String) - the path of file or directory to delete @@ -125,34 +110,22 @@ function check_name_exist($filePath) * bolean - false otherwise. * @see - delete() uses check_name_exist() and removeDir() functions */ - -function my_delete($file) -{ - if ( check_name_exist($file) ) - { - if ( is_file($file) ) // FILE CASE - { +function my_delete($file) { + if (check_name_exist($file)) { + if (is_file($file)) { // FILE CASE unlink($file); return true; - } - - elseif ( is_dir($file) ) // DIRECTORY CASE - { + } elseif (is_dir($file)) { // DIRECTORY CASE removeDir($file); return true; } - } - else - { + } else { return false; // no file or directory to delete } - } -//------------------------------------------------------------------------------ - /** - * removes a directory recursively + * Removes a directory recursively * * @returns true if OK, otherwise false * @@ -161,29 +134,19 @@ function my_delete($file) * * @param string $dir directory to remove */ - -function removeDir($dir) -{ - if(!@$opendir = opendir($dir)) - { +function removeDir($dir) { + if (!@$opendir = opendir($dir)) { return false; } - while($readdir = readdir($opendir)) - { - if($readdir != '..' && $readdir != '.') - { - if(is_file($dir.'/'.$readdir)) - { - if(!@unlink($dir.'/'.$readdir)) - { + while ($readdir = readdir($opendir)) { + if ($readdir != '..' && $readdir != '.') { + if (is_file($dir.'/'.$readdir)) { + if (!@unlink($dir.'/'.$readdir)) { return false; } - } - elseif(is_dir($dir.'/'.$readdir)) - { - if(!removeDir($dir.'/'.$readdir)) - { + } elseif (is_dir($dir.'/'.$readdir)) { + if (!removeDir($dir.'/'.$readdir)) { return false; } } @@ -192,66 +155,61 @@ function removeDir($dir) closedir($opendir); - if(!@rmdir($dir)) - { + if (!@rmdir($dir)) { return false; } return true; } -//------------------------------------------------------------------------------ - /** - * Rename a file or a directory + * Renames a file or a directory * * @author - Hugues Peeters - * @param - $filePath (string) - complete path of the file or the directory - * @param - $newFileName (string) - new name for the file or the directory + * @param - $file_path (string) - complete path of the file or the directory + * @param - $new_file_name (string) - new name for the file or the directory * @return - boolean - true if succeed * - boolean - false otherwise * @see - rename() uses the check_name_exist() and php2phps() functions */ +function my_rename($file_path, $new_file_name) { -function my_rename($filePath, $newFileName) -{ $save_dir = getcwd(); - $path = dirname($filePath); - $oldFileName = basename($filePath); + $path = dirname($file_path); + $old_file_name = basename($file_path); - $newFileName = replace_dangerous_char($newFileName); + $new_file_name = replace_dangerous_char($new_file_name); // If no extension, take the old one - if ((strpos($newFileName, '.') === FALSE) - && ($dotpos = strrpos($oldFileName, '.'))) - { - $newFileName .= substr($oldFileName, $dotpos); + if ((strpos($new_file_name, '.') === false) && ($dotpos = strrpos($old_file_name, '.'))) { + $new_file_name .= substr($old_file_name, $dotpos); } // Note: still possible: 'xx.yy' -rename-> '.yy' -rename-> 'zz' // This is useful for folder names, where otherwise '.' would be sticky // Extension PHP is not allowed, change to PHPS - $newFileName = php2phps($newFileName); + $new_file_name = php2phps($new_file_name); - if ($newFileName == $oldFileName) return $oldFileName; + if ($new_file_name == $old_file_name) { + return $old_file_name; + } - if (strtolower($newFileName) != strtolower($oldFileName) && check_name_exist($path."/".$newFileName)) return false; + if (strtolower($new_file_name) != strtolower($old_file_name) && check_name_exist($path.'/'.$new_file_name)) { + return false; + } // On a Windows server, it would be better not to do the above check // because it succeeds for some new names resembling the old name. // But on Unix/Linux the check must be done because rename overwrites. chdir($path); - $res = rename($oldFileName, $newFileName) ? $newFileName : false; + $res = rename($old_file_name, $new_file_name) ? $new_file_name : false; chdir($save_dir); return $res; } -//------------------------------------------------------------------------------ - - /** - * Move a file or a directory to an other area + * Moves a file or a directory to an other area * * @author - Hugues Peeters * @param - $source (String) - the path of file or directory to move @@ -260,116 +218,86 @@ function my_rename($filePath, $newFileName) * bolean - false otherwise. * @see - move() uses check_name_exist() and copyDirTo() functions */ +function move($source, $target) { + if (check_name_exist($source)) { + $file_name = basename($source); -function move($source, $target) -{ - if ( check_name_exist($source) ) - { - $fileName = basename($source); - - if ( check_name_exist($target."/".$fileName) ) - { + if (check_name_exist($target.'/'.$file_name)) { return false; - } - else - { /* File case */ - if ( is_file($source) ) - { - copy($source , $target."/".$fileName); + } else { + /* File case */ + if (is_file($source)) { + copy($source , $target.'/'.$file_name); unlink($source); return true; } /* Directory case */ - elseif (is_dir($source)) - { - // check to not copy the directory inside itself - if (ereg("^".$source."/", $target."/")) - { + elseif (is_dir($source)) { + // Check to not copy the directory inside itself + if (ereg('^'.$source.'/', $target.'/')) { // TODO: ereg() function is deprecated in PHP 5.3 return false; - } - else - { + } else { copyDirTo($source, $target); return true; } } } - } - else - { + } else { return false; } - } -//------------------------------------------------------------------------------ - - /** - * Move a directory and its content to an other area + * Moves a directory and its content to an other area * * @author - Hugues Peeters - * @param - $origDirPath (String) - the path of the directory to move - * @param - $destination (String) - the path of the new area - * @return - no return !! + * @param - $orig_dir_path (string) - the path of the directory to move + * @param - $destination (string) - the path of the new area + * @return - no return */ +function copyDirTo($orig_dir_path, $destination, $move = true) { -function copyDirTo($origDirPath, $destination, $move=true) -{ - $save_dir=getcwd(); - // extract directory name - create it at destination - update destination trail - $dirName = basename($origDirPath); - if(is_dir($dirName)){ - mkdir ($destination."/".$dirName, api_get_permissions_for_new_directories()); - $destinationTrail = $destination."/".$dirName; - if(is_dir($destination)){ - chdir ($origDirPath) ; - $handle = opendir($origDirPath); - - while ($element = readdir($handle) ) - { - if ( $element == "." || $element == "..") - { - continue; // skip the current and parent directories - } - elseif ( is_file($element) ) - { - copy($element, $destinationTrail."/".$element); - - if($move) - { - unlink($element) ; + $save_dir = getcwd(); + // Extract directory name - create it at destination - update destination trail + $dir_name = basename($orig_dir_path); + if (is_dir($dir_name)) { + mkdir($destination.'/'.$dir_name, api_get_permissions_for_new_directories()); + $destination_trail = $destination.'/'.$dir_name; + if (is_dir($destination)) { + chdir ($orig_dir_path) ; + $handle = opendir($orig_dir_path); + + while ($element = readdir($handle)) { + if ( $element == '.' || $element == '..') { + continue; // Skip the current and parent directories + } elseif (is_file($element)) { + copy($element, $destination_trail.'/'.$element); + + if ($move) { + unlink($element) ; + } + } elseif (is_dir($element)) { + $dir_to_copy[] = $orig_dir_path.'/'.$element; } } - elseif ( is_dir($element) ) - { - $dirToCopy[] = $origDirPath."/".$element; - } - } - closedir($handle) ; + closedir($handle) ; - if ( sizeof($dirToCopy) > 0) - { - foreach($dirToCopy as $thisDir) - { - copyDirTo($thisDir, $destinationTrail, $move); // recursivity + if (sizeof($dir_to_copy) > 0) { + foreach ($dir_to_copy as $this_dir) { + copyDirTo($this_dir, $destination_trail, $move); // Recursivity + } } - } - if($move) - { - rmdir ($origDirPath) ; - } - chdir($save_dir); + if ($move) { + rmdir($orig_dir_path) ; + } + chdir($save_dir); } } } -//------------------------------------------------------------------------------ - - /* NOTE: These functions batch is used to automatically build HTML forms * with a list of the directories contained on the course Directory. * @@ -384,35 +312,33 @@ function copyDirTo($origDirPath, $destination, $move=true) * @param - path (string) - directory path of the one to index * @return - an array containing the path of all the subdirectories */ - function index_dir($path) { - $dirArray = array(); + $dir_array = array(); $save_dir = getcwd(); - if(is_dir($path)){ + if (is_dir($path)){ chdir($path); $handle = opendir($path); - // reads directory content end record subdirectoies names in $dir_array + // Reads directory content end record subdirectoies names in $dir_array if ($handle !== false) { - while ($element = readdir($handle) ) { - if ( $element == "." || $element == "..") continue; // skip the current and parent directories - if ( is_dir($element) ) $dirArray[] = $path."/".$element; + while ($element = readdir($handle)) { + if ($element == '.' || $element == '..') continue; // Skip the current and parent directories + if (is_dir($element)) $dir_array[] = $path.'/'.$element; } closedir($handle) ; } - // recursive operation if subdirectories exist - $dirNumber = sizeof($dirArray); - if ( $dirNumber > 0 ) { - for ($i = 0 ; $i < $dirNumber ; $i++ ) { - $subDirArray = index_dir( $dirArray[$i] ) ; // function recursivity - $dirArray = array_merge( (array)$dirArray , (array)$subDirArray ); // data merge + // Recursive operation if subdirectories exist + $dir_number = sizeof($dir_array); + if ($dir_number > 0) { + for ($i = 0 ; $i < $dir_number ; $i++) { + $sub_dir_array = index_dir($dir_array[$i]); // Function recursivity + $dir_array = array_merge((array)$dir_array, (array)$sub_dir_array); // Data merge } } } chdir($save_dir) ; - return $dirArray ; + return $dir_array ; } - /** * Indexes all the directories and subdirectories * contented in a given directory, and sort them alphabetically @@ -423,123 +349,91 @@ function index_dir($path) { * false, if there is no directory * @see - index_and_sort_dir uses the index_dir() function */ - -function index_and_sort_dir($path) -{ +function index_and_sort_dir($path) { $dir_list = index_dir($path); - - if ($dir_list) - { - //sort($dir_list); + if ($dir_list) { natsort($dir_list); - return $dir_list; } - else - { - return false; - } + return false; } /** - * build an html form listing all directories of a given directory + * Builds a html form listing all directories of a given directory * */ +function form_dir_list($source_type, $source_component, $command, $base_work_dir) { -function form_dir_list($sourceType, $sourceComponent, $command, $baseWorkDir) -{ - - $dirList = index_and_sort_dir($baseWorkDir); - $dialogBox .= "
\n" ; - $dialogBox .= "\n" ; - $dialogBox .= get_lang('Move').' '.$sourceComponent.' '.get_lang('To'); - $dialogBox .= "\n" ; + $dialog_box .= get_lang('Move').' '.$source_component.' '.get_lang('To'); + $dialog_box .= "\n"; - $dialogBox .= ""; - $dialogBox .= "
\n"; + $dialog_box .= "\n"; + $dialog_box .= ""; + $dialog_box .= "\n"; - return $dialogBox; + return $dialog_box; } -//------------------------------------------------------------------------------ - /** - * to extract the extention of the filename + * Extracting extention of a filename * * @returns array * @param string $filename filename */ -function getextension($filename) -{ - $bouts = explode(".", $filename); - return array(array_pop($bouts), implode(".", $bouts)); +function getextension($filename) { + $bouts = explode('.', $filename); + return array(array_pop($bouts), implode('.', $bouts)); } /** - * to compute the size of the directory + * Calculation size of a directory * * @returns integer size * @param string $path path to size * @param boolean $recursive if true , include subdir in total */ -function dirsize($root,$recursive=true) -{ - $dir=@opendir($root); - - $size=0; - - while($file=@readdir($dir)) - { - if(!in_array($file,array('.','..'))) - { - if(is_dir($root.'/'.$file)) - { - $size+=$recursive?dirsize($root.'/'.$file):0; - } - else - { - $size+=@filesize($root.'/'.$file); +function dirsize($root, $recursive = true) { + $dir = @opendir($root); + $size = 0; + while ($file = @readdir($dir)) { + if (!in_array($file, array('.', '..'))) { + if (is_dir($root.'/'.$file)) { + $size += $recursive ? dirsize($root.'/'.$file) : 0; + } else { + $size += @filesize($root.'/'.$file); } } } - @closedir($dir); - return $size; } -/* -=============================================================== - CLASS FileManager -=============================================================== -*/ +/* CLASS FileManager */ /** This class contains functions that you can access statically. @@ -556,7 +450,6 @@ class FileManager { /** - --------------------------------------------------------------- Returns a list of all directories, except the base dir, of the current course. This function uses recursion. @@ -564,175 +457,144 @@ class FileManager @author Roan Embrechts @version 1.0.1 - --------------------------------------------------------------- */ - function list_all_directories($path) - { - $resultArray = array(); + function list_all_directories($path) { + + $result_array = array(); if (is_dir($path)) { $save_dir = getcwd(); chdir($path); $handle = opendir($path); - while ($element = readdir($handle) ) - { - if ( $element == "." || $element == "..") continue; // skip the current and parent directories - if ( is_dir($element) ) - { - $dirArray[] = $path."/".$element; + while ($element = readdir($handle)) { + if ($element == '.' || $element == '..') continue; // Skip the current and parent directories + if (is_dir($element)) { + $dir_array[] = $path.'/'.$element; } } closedir($handle); - // recursive operation if subdirectories exist - $dirNumber = sizeof($dirArray); - if ( $dirNumber > 0 ) - { - for ($i = 0 ; $i < $dirNumber ; $i++ ) - { - $subDirArray = FileManager::list_all_directories($dirArray[$i]) ; // function recursivity - if (is_array($dirArray) && is_array($subDirArray)) { - $dirArray = array_merge( $dirArray , $subDirArray ) ; // data merge + // Recursive operation if subdirectories exist + $dir_number = sizeof($dir_array); + if ($dir_number > 0) { + for ($i = 0 ; $i < $dir_number ; $i++) { + $sub_dir_array = FileManager::list_all_directories($dir_array[$i]); // Function recursivity + if (is_array($dir_array) && is_array($sub_dir_array)) { + $dir_array = array_merge($dir_array, $sub_dir_array); // Data merge } } } - $resultArray = $dirArray; + $result_array = $dir_array; chdir($save_dir) ; } - return $resultArray ; + return $result_array ; } - /** - =============================================================== This function receives a list of directories. It returns a list of all files in these directories @author Roan Embrechts @version 1.0 - =============================================================== */ - function list_all_files($dirArray) - { - $elementArray = array(); - if(is_dir($dirArray)) - { + function list_all_files($dir_array) { + $element_array = array(); + if (is_dir($dir_array)) { $save_dir = getcwd(); - foreach ($dirArray as $directory) - { + foreach ($dir_array as $directory) { chdir($directory); - $handle = opendir($directory); - while ($element = readdir($handle) ) - { - if ( $element == "." || $element == ".." || $element == '.htaccess') continue; // skip the current and parent directories - if ( ! is_dir($element) ) - { - $elementArray[] = $directory."/".$element; - } + $handle = opendir($directory); + while ($element = readdir($handle)) { + if ($element == '.' || $element == '..' || $element == '.htaccess') continue; // Skip the current and parent directories + if (!is_dir($element)) { + $element_array[] = $directory.'/'.$element; } - closedir($handle) ; - chdir("..") ; - chdir($save_dir); + } + closedir($handle); + chdir('..'); + chdir($save_dir); } } - return $elementArray; - + return $element_array; } - /** - Load contents of file $filename into memory - and return them as a string. + Loads contents of file $filename into memory and returns them as a string. Function kept for compatibility with older PHP versions. Function is binary safe (is needed on Windows) */ - function compat_load_file($file_name) - { + function compat_load_file($file_name) { $buffer = ''; - if(file_exists($file_name)) - { - $fp = fopen($file_name, "rb"); - $buffer = fread ($fp, filesize ($file_name)); + if (file_exists($file_name)) { + $fp = fopen($file_name, 'rb'); + $buffer = fread ($fp, filesize($file_name)); fclose ($fp); - //api_display_debug_info(htmlentities($buffer)); } return $buffer; - } - /** - * Adds file/folder to document table in database - * improvement from set_default_settings (see below): - * take all info from function parameters - * no global variables needed - * - * NOTE $glued_table should already have backticks around it - * (get it from the database library, and it is done automatically) - * - * @param path, filename, filetype, + * Adds file/folder to document table in database + * improvement from set_default_settings (see below): + * take all info from function parameters + * no global variables needed + * + * NOTE $glued_table should already have backticks around it + * (get it from the database library, and it is done automatically) + * + * @param path, filename, filetype, $glued_table, default_visibility - * @action Adds an entry to the document table with the default settings. - * @author Olivier Cauberghe - * @author Roan Embrechts - * @version 1.2 - */ - function set_default_settings($upload_path, $filename, $filetype="file", $glued_table, $default_visibility='v') - { - if (!$default_visibility) $default_visibility="v"; - - //make sure path is not wrongly formed - if( strlen($upload_path) ) $upload_path = "/$upload_path"; - else $upload_path = ""; - - $endchar=substr($filename,strlen($filename)-1,1); - if($endchar=="\\" || $endchar=="/") - { - $filename=substr($filename,0,strlen($filename)-1); + * @action Adds an entry to the document table with the default settings. + * @author Olivier Cauberghe + * @author Roan Embrechts + * @version 1.2 + */ + function set_default_settings($upload_path, $filename, $filetype = 'file', $glued_table, $default_visibility = 'v') { + if (!$default_visibility) $default_visibility = 'v'; + + // Make sure path is not wrongly formed + $upload_path = !empty($upload_path) ? "/$upload_path" : ''; + + $endchar = substr($filename, strlen($filename) - 1, 1); + if ($endchar == "\\" || $endchar == '/') { + $filename = substr($filename, 0, strlen($filename) - 1); } - $full_file_name = $upload_path."/".$filename; - //$upload_path = str_replace("//", "/", $upload_path); - $full_file_name = str_replace("//", "/", $full_file_name); + $full_file_name = $upload_path.'/'.$filename; + //$upload_path = str_replace("//", '/', $upload_path); + $full_file_name = str_replace("//", '/', $full_file_name); $sql_query = "SELECT count(*) as number_existing FROM $glued_table WHERE path='$full_file_name'"; - //api_display_debug_info($sql_query); $sql_result = Database::query($sql_query); $result = Database::fetch_array($sql_result); - //determine which query to execute - if( $result["number_existing"] > 0 ) - { - //entry exists, update - $query="UPDATE $glued_table SET path='$full_file_name',visibility='$default_visibility', filetype='$filetype' WHERE path='$full_file_name'"; - } - else - { - //no entry exists, create new one - $query="INSERT INTO $glued_table (path,visibility,filetype) VALUES('$full_file_name','$default_visibility','$filetype')"; + // Determine which query to execute + if ($result['number_existing'] > 0) { + // Entry exists, update + $query = "UPDATE $glued_table SET path='$full_file_name',visibility='$default_visibility', filetype='$filetype' WHERE path='$full_file_name'"; + } else { + // No entry exists, create new one + $query = "INSERT INTO $glued_table (path,visibility,filetype) VALUES('$full_file_name','$default_visibility','$filetype')"; } Database::query($query); } - /** - * Like in Java, creates the directory named by this abstract pathname, - * including any necessary but nonexistent parent directories. - * - * @author Hugues Peeters - * @author Christophe Gesche - * - * @param string $path - path to create - * @param string $mode - directory permission (default is '770') - * - * @return boolean TRUE if succeeds FALSE otherwise - */ - function mkdirs($path, $mode = '0770') - { - if (file_exists($path)) - { + + /** + * Like in Java, creates the directory named by this abstract pathname, + * including any necessary but nonexistent parent directories. + * + * @author Hugues Peeters + * @author Christophe Gesche + * + * @param string $path - path to create + * @param string $mode - directory permission (default is '770') + * + * @return boolean TRUE if succeeds FALSE otherwise + */ + function mkdirs($path, $mode = '0770') { + if (file_exists($path)) { return false; - } - else - { + } else { FileManager :: mkdirs(dirname($path), $mode); //mkdir($path, $mode); return true; @@ -742,11 +604,7 @@ class FileManager } //end class FileManager -/* -=============================================================== - DEPRECATED FUNCTIONS -=============================================================== -*/ +/* DEPRECATED FUNCTIONS */ /** * @deprecated 06-FEB-2010. The function mkdir() is able to create directories recursively. @@ -763,56 +621,43 @@ class FileManager * @param string $mode fix if chmod is same of parent or default (Note: This misterious parameter is not used). * @global string $langCreatedIn string to say "create in" */ -function mkpath($path, $verbose = false, $mode = "herit") -{ +function mkpath($path, $verbose = false, $mode = 'herit') { global $langCreatedIn, $_configuration; - $path = str_replace("/", "\\", $path); + $path = str_replace('/', "\\", $path); $dirs = explode("\\", $path); $path = $dirs[0]; - if ($verbose) - { - echo "
    "; + if ($verbose) { + echo '
      '; } - for ($i = 1; $i < sizeof($dirs); $i++) - { + for ($i = 1; $i < sizeof($dirs); $i++) { $path .= '/'.$dirs[$i]; - if (ereg('^'.$path,$_configuration['root_sys']) && strlen($path) < strlen($_configuration['root_sys'])) - { + if (ereg('^'.$path, $_configuration['root_sys']) && strlen($path) < strlen($_configuration['root_sys'])) { continue; } - if (!is_dir($path)) - { + if (!is_dir($path)) { $ret = mkdir($path, api_get_permissions_for_new_directories()); - if ($ret) - { - if($verbose) - { + if ($ret) { + if ($verbose) { echo '
    • '.basename($path).'
      '.$langCreatedIn.'
      '.realpath($path.'/..').'
    • '; } - } - else - { - if ($verbose) - { + } else { + if ($verbose) { echo '
    error : '.$path.' not created'; } - $ret = false; - break; } } } - if ($verbose) - { + if ($verbose) { echo '
'; } diff --git a/main/inc/lib/text.lib.php b/main/inc/lib/text.lib.php index 51b74db2bc..03b97ad9e8 100755 --- a/main/inc/lib/text.lib.php +++ b/main/inc/lib/text.lib.php @@ -13,7 +13,7 @@ /** * function make_clickable($string) * - * @desc completes url contained in the text with ""), $textext); } return $textext; - } /** @@ -159,11 +158,11 @@ function _text_parse_glossary($input) { * @author Patrick Cool */ function _text_parse_tool($input) { - // an array with all the valid tools + // An array with all the valid tools $tools[] = array(TOOL_ANNOUNCEMENT, 'announcements/announcements.php'); $tools[] = array(TOOL_CALENDAR_EVENT, 'calendar/agenda.php'); - // check if the name between the [tool] [/tool] tags is a valid one + // Check if the name between the [tool] [/tool] tags is a valid one } /** @@ -173,7 +172,7 @@ function _text_parse_tool($input) { function latex_gif_renderer($latex_code) { global $_course; - // setting the paths and filenames + // Setting the paths and filenames $mimetex_path = api_get_path(LIBRARY_PATH).'mimetex/'; $temp_path = api_get_path(SYS_COURSE_PATH).$_course['path'].'/temp/'; $latex_filename = md5($latex_code).'.gif'; @@ -219,20 +218,21 @@ function cut($text, $maxchar, $embed = false) { * @return mixed an integer or a float depends on the parameter */ function float_format($number, $flag = 1) { - if (is_numeric($number)) { // a number - if (!$number) { // zero - $result = ($flag == 2 ? '0.00' : '0'); // output zero - } else { // value - if (floor($number) == $number) { // whole number - $result = number_format($number, ($flag == 2 ? 2 : 0)); // format - } else { // cents - $result = number_format(round($number, 2), ($flag == 0 ? 0 : 2)); // format - } // integer or decimal - } // value + if (is_numeric($number)) { + if (!$number) { + $result = ($flag == 2 ? '0.00' : '0'); + } else { + if (floor($number) == $number) { + $result = number_format($number, ($flag == 2 ? 2 : 0)); + } else { + $result = number_format(round($number, 2), ($flag == 0 ? 0 : 2)); + } + } return $result; } } +// TODO: To be checked for timezones management and to be moved in the internationalization library. /** * Function to obtain last week timestamps * @return array times for every day inside week @@ -248,7 +248,7 @@ function get_last_week() { } $lastweek = sprintf("%02d", $lastweek); - for ($i=1; $i<=7; $i++) { + for ($i = 1; $i <= 7; $i++) { $arrdays[] = strtotime("$year"."W$lastweek"."$i"); } return $arrdays;