diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index bbdc82b1b8b..13d7d341961 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -2922,9 +2922,9 @@ function migrate_project_task_actors($db,$langs,$conf) * @param Conf $conf Object conf * @param string $table Table name * @param int $fk_source Id of element source - * @param type $sourcetype Type of element source + * @param string $sourcetype Type of element source * @param int $fk_target Id of element target - * @param type $targettype Type of element target + * @param string $targettype Type of element target * @return void */ function migrate_relationship_tables($db,$langs,$conf,$table,$fk_source,$sourcetype,$fk_target,$targettype) @@ -4833,7 +4833,7 @@ function migrate_reload_menu($db,$langs,$conf,$versionto) */ function migrate_user_photospath() { - global $conf, $db, $langs; + global $conf, $db, $langs, $user; print ''; @@ -4842,14 +4842,14 @@ function migrate_user_photospath() include_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php'; $fuser = new User($db); + if (! is_object($user)) $user = $fuser; // To avoid error during migration + $sql = "SELECT rowid as uid from ".MAIN_DB_PREFIX."user"; // Get list of all users $resql = $db->query($sql); if ($resql) { while ($obj = $db->fetch_object($resql)) { - print '.'; - $fuser->fetch($obj->uid); //echo '
'.$fuser->id.' -> '.$fuser->entity; $entity = (empty($fuser->entity) ? 1 : $fuser->entity); @@ -4860,45 +4860,52 @@ function migrate_user_photospath() } if ($dir) { - $origin = $dir .'/'. get_exdir($fuser->id,2,0,0,$fuser,'user'); - $destin = $dir .'/'. $fuser->id; + $origin = $dir .'/'. get_exdir($fuser->id,2,0,0,$fuser,'user'); + $destin = $dir .'/'. $fuser->id; - $error = 0; + $origin_osencoded=dol_osencode($origin); - $origin_osencoded=dol_osencode($origin); - $destin_osencoded=dol_osencode($destin); - dol_mkdir($destin); - //echo '
'.$origin.' -> '.$destin; - if (dol_is_dir($origin)) - { - $handle=opendir($origin_osencoded); - if (is_resource($handle)) - { - while (($file = readdir($handle)) !== false) - { - if ($file != '.' && $file != '..' && is_dir($origin_osencoded.'/'.$file)) - { - $thumbs = opendir($origin_osencoded.'/'.$file); - if (is_resource($thumbs)) - { - dol_mkdir($destin.'/'.$file); - while (($thumb = readdir($thumbs)) !== false) - { - dol_move($origin.'/'.$file.'/'.$thumb, $destin.'/'.$file.'/'.$thumb); - } - // dol_delete_dir($origin.'/'.$file); - } - } - else - { - if (dol_is_file($origin.'/'.$file) ) - { - dol_move($origin.'/'.$file, $destin.'/'.$file); - } - } - } - } - } + dol_mkdir($destin); + //echo '
'.$origin.' -> '.$destin; + if (dol_is_dir($origin)) + { + $handle=opendir($origin_osencoded); + if (is_resource($handle)) + { + while (($file = readdir($handle)) !== false) + { + if ($file == '.' || $file == '..') continue; + + if (dol_is_dir($origin.'/'.$file)) // it is a dir (like 'thumbs') + { + $thumbs = opendir($origin_osencoded.'/'.$file); + if (is_resource($thumbs)) + { + dol_mkdir($destin.'/'.$file); + while (($thumb = readdir($thumbs)) !== false) + { + if (! dol_is_file($destin.'/'.$file.'/'.$thumb)) + { + if ($thumb == '.' || $thumb == '..') continue; + + print '.'; + dol_move($origin.'/'.$file.'/'.$thumb, $destin.'/'.$file.'/'.$thumb, 0, 0, 0, 0); + } + } + // dol_delete_dir($origin.'/'.$file); + } + } + else // it is a file + { + if (! dol_is_file($destin.'/'.$file)) + { + print '.'; + dol_move($origin.'/'.$file, $destin.'/'.$file, 0, 0, 0, 1); + } + } + } + } + } } } }