Source for file prefs.php
Documentation is available at prefs.php
-  * This contains functions for filebased user prefs locations 
-  * @copyright 1999-2020 The SquirrelMail Project Team 
-  * @license http://opensource.org/licenses/gpl-license.php GNU Public License 
-  * @version $Id: prefs.php 14845 2020-01-07 08:09:34Z pdontthink $ 
-  * Given a username and datafilename, this will return the path to the 
-  * hashed location of that datafile. 
-  * @param string username the username of the current user 
-  * @param string dir the SquirrelMail datadir 
-  * @param string datafile the name of the file to open 
-  * @param bool hash_seach default true 
-  * @return string the hashed location of datafile 
- function getHashedFile($username, $dir, $datafile, $hash_search - =  true) {
 
-     /* Remove trailing slash from $dir if found */ 
-     if (substr($dir, - - 1)- ==  '/') {
 
-     /* Compute the hash for this user and extract the hash directories. */ 
-     /* First, get and make sure the full hash directory exists. */ 
-     /* Set the value of our real data file, after we've removed unwanted characters. */ 
-     $result - =  "$real_hash_dir/$datafile";
 
-     /* Check for this file in the real hash directory. */ 
-         /* First check the base directory, the most common location. */ 
-             rename("$dir/$datafile", $result); 
-         /* Then check the full range of possible hash directories. */ 
-             for ($h - =  0; $h- <  4;- ++ $h) {
 
-                 $check_hash_dir - .=  '/'- .  $hash_dirs[$h];
 
-                     rename("$check_hash_dir/$datafile", $result); 
-     /* Return the full hashed datafile path. */ 
-  * Helper function for getHashedFile, given a username returns the hashed 
-  * @param string username the username of the current user 
-  * @param string dir the SquirrelMail datadir 
-  * @param string hash_dirs default '' 
-  * @return the path to the hash dir for username 
-     /* Remove trailing slash from $dir if found */ 
-     if (substr($dir, - - 1)- ==  '/') {
 
-     /* If necessary, populate the hash dir variable. */ 
-     /* Make sure the full hash directory exists. */ 
-     for ($h - =  0; $h- <  $dir_hash_level;- ++ $h) {
 
-         $real_hash_dir - .=  '/'- .  $hash_dirs[$h];
 
-         if (!@is_dir($real_hash_dir)) { 
- //FIXME: When safe_mode is turned on, the error suppression below makes debugging safe_mode UID/GID restrictions tricky... for now, I will add a check in configtest 
-             if (!@mkdir($real_hash_dir, 0770)) { 
-                      _("Could not create hashed directory structure!") - .  "\n"- . 
 
-                      _("Please contact your system administrator and report this error.") ); 
-     /* And return that directory. */ 
-  * Helper function for getHashDir which does the actual hash calculation. 
-  * Uses a crc32 algorithm by default, but if you put 
-  * the following in config/config_local.php, you can 
-  *    $hash_dirs_use_md5 = TRUE; 
-  * You may also specify that if usernames are in full 
-  * email address format, the domain part (beginning 
-  * with "@") be stripped before calculating the crc 
-  * or md5.  Do that by putting the following in 
-  * config/config_local.php: 
-  *    $hash_dirs_strip_domain = TRUE; 
-  * @param string username the username to calculate the hash dir for 
-  * @return array a list of hash dirs for this username 
-     global $hash_dirs_use_md5, $hash_dirs_strip_domain; 
-     static $hash_dirs - =  array();
 
-     // strip domain from username 
-     if ($hash_dirs_strip_domain) 
-         $user - =  substr($username, 0, strpos($username, '@'));
 
-     // have we already calculated it? 
-     if (!empty($hash_dirs[$user])) 
-         return $hash_dirs[$user]; 
-     if ($hash_dirs_use_md5) { 
-         /* Compute the hash for this user and extract the hash directories.  */ 
-         /* Note that the crc32() function result will be different on 32 and */ 
-         /* 64 bit systems, thus the hack below.                              */ 
-     for ($h - =  0; $h- <  4;- ++  $h) {
 
-         $my_hash_dirs[] - =  substr($hash, $h, 1);
 
-     // Return our array of hash directories 
-     $hash_dirs[$user] - =  $my_hash_dirs;
 
 
	
		Documentation generated on Mon, 13 Jan 2020 04:23:23 +0100 by phpDocumentor 1.4.3