owncloud8.2.3で、フォルダをダウンロードしたときの文字化けと、ユーザ名の検索を修正する

owncloud8.2.3になってました。もう9.0とかもでているみたいですが。

さてフォルダをダウンロードしたときzipファイルを開くとファイル名が文字化けしている件は、下記で直ります。
まあWindows8以降なら問題ないそうですけど、7だといまだにダメなので。

owncloud/3rdparty/mcnetic/zipstreamer/src/ZipStreamer.php

private static function normalizeFilePath($filePath) {
return trim(str_replace('\\', '/', $filePath), '/');
}

private static function normalizeFilePath($filePath) {
return mb_convert_encoding(trim(str_replace('\\', '/', $filePath), '/'),"SJIS","UTF-8");
}

共有先のユーザの検索は、おせっかいなことに前後方一致検索になっているので、前方一致に直すなら下記の部分で「’%’ . $search . ‘%’」になっている部分を「$search . ‘%’」にしてください。まあ、投げているクエリからして20000ユーザ表示するみたいなので、直さなくてもいいかもですが……。

owncloud/lib/private/user/database.php

public function getDisplayNames($search = '', $limit = null, $offset = null) {
$parameters = [];
$searchLike = '';
if ($search !== '') {
$parameters[] = '%' . $search . '%';
$parameters[] = '%' . $search . '%';
$searchLike = ' WHERE LOWER(`displayname`) LIKE LOWER(?) OR '
. 'LOWER(`uid`) LIKE LOWER(?)';
}

public function getUsers($search = '', $limit = null, $offset = null) {
$parameters = [];
$searchLike = '';
if ($search !== '') {
$parameters[] = '%' . $search . '%';
$searchLike = ' WHERE LOWER(`uid`) LIKE LOWER(?)';

vi owncloud/lib/private/groups/database.php

public function getGroups($search = '', $limit = null, $offset = null) {
$parameters = [];
$searchLike = '';
if ($search !== '') {
$parameters[] = '%' . $search . '%';
$searchLike = ' WHERE LOWER(`gid`) LIKE LOWER(?)';
}

広告