Merge branch '3620' into 1.11.x

pull/3893/head
Yannick Warnier 4 years ago
commit 5c0ccc4b70
  1. 44
      main/inc/lib/document.lib.php

@ -835,7 +835,8 @@ class DocumentManager
}
if (!empty($document_folders)) {
natsort($document_folders);
// natsort($document_folders);
natcasesort($document_folders);
}
return $document_folders;
@ -924,11 +925,13 @@ class DocumentManager
// If both results are arrays -> //calculate the difference between the 2 arrays -> only visible folders are left :)
if (is_array($visibleFolders) && is_array($invisibleFolders)) {
$document_folders = array_diff($visibleFolders, $invisibleFolders);
natsort($document_folders);
// natsort($document_folders);
natcasesort($document_folders);
return $document_folders;
} elseif (is_array($visibleFolders)) {
natsort($visibleFolders);
natcasesort($visibleFolders);
// natsort($visibleFolders);
return $visibleFolders;
} else {
@ -5065,6 +5068,7 @@ class DocumentManager
while ($obj = Database::fetch_object($res)) {
$folder_titles[$obj->path] = $obj->title;
}
natcasesort($folder_titles);
}
if (empty($form)) {
@ -5087,6 +5091,7 @@ class DocumentManager
$parent_select->addOption(get_lang('Documents'), '/');
if (is_array($folders)) {
$foldersSortedByTitles = [];
foreach ($folders as $folder_id => &$folder) {
$selected = ($document_id == $folder_id) ? ' selected="selected"' : '';
$path_parts = explode('/', $folder);
@ -5098,14 +5103,25 @@ class DocumentManager
$label = ' — '.$folder_titles[$folder];
}
$label = Security::remove_XSS($label);
$parent_select->addOption($label, $folder_id);
if ($selected != '') {
$parent_select->setSelected($folder_id);
$foldersSortedByTitles[$folder_titles[$folder]] = [
'id' => $folder_id,
'selected' => $selected,
'label' => $label
];
}
foreach ($folder_titles as $title) {
$parent_select->addOption(
$foldersSortedByTitles[$title]['label'],
$foldersSortedByTitles[$title]['id']
);
if ($foldersSortedByTitles[$title]['selected'] != '') {
$parent_select->setSelected($foldersSortedByTitles[$title]['id']);
}
}
}
} else {
if (!empty($folders)) {
$foldersSortedByTitles = [];
foreach ($folders as $folder_id => &$folder) {
$selected = ($document_id == $folder_id) ? ' selected="selected"' : '';
$label = $folder_titles[$folder];
@ -5116,9 +5132,19 @@ class DocumentManager
$label = cut($label, 80);
$label = str_repeat('   ', count($path_parts) - 2).' — '.$label;
}
$parent_select->addOption($label, $folder_id);
if ($selected != '') {
$parent_select->setSelected($folder_id);
$foldersSortedByTitles[$folder_titles[$folder]] = [
'id' => $folder_id,
'selected' => $selected,
'label' => $label
];
}
foreach ($folder_titles as $title) {
$parent_select->addOption(
$foldersSortedByTitles[$title]['label'],
$foldersSortedByTitles[$title]['id']
);
if ($foldersSortedByTitles[$title]['selected'] != '') {
$parent_select->setSelected($foldersSortedByTitles[$title]['id']);
}
}
}

Loading…
Cancel
Save