on filtering the share box users and groups whose name begins with the search term shall appear on top, fixes #6430

This commit is contained in:
Arthur Schiwon 2014-01-15 13:26:08 +01:00
parent bea80ffe20
commit 71e4d965a1
1 changed files with 24 additions and 0 deletions

View File

@ -354,8 +354,32 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
break;
}
}
usort($shareWith, 'sortSearchFirst');
OC_JSON::success(array('data' => $shareWith));
}
break;
}
}
/**
* User and Group names matching the search term at the beginning shall appear
* on top of the share dialog.
* Callback function for usort. http://php.net/usort
*/
function sortSearchFirst($a, $b) {
$enc = 'UTF-8';
$nameA = mb_strtolower($a['label'], $enc);
$nameB = mb_strtolower($b['label'], $enc);
$term = mb_strtolower($_GET['search'], $enc);
$i = mb_strpos($nameA, $term, 0, 'UTF-8');
$j = mb_strpos($nameB, $term, 0, 'UTF-8');
if($i === $j) {
return 0;
} else if ($i === 0) {
return -1;
} else {
return 1;
}
}