From 412da87e6583375f98ef1bdd755c56caab14b8ac Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 9 Sep 2014 15:45:56 +0200 Subject: [PATCH 1/8] Move select2 from files_external to core --- apps/files_external/settings.php | 4 ++-- .../css}/select2/select2-spinner.gif | Bin .../3rdparty => core/css}/select2/select2.css | 0 .../3rdparty => core/css}/select2/select2.png | Bin .../3rdparty => core/css}/select2/select2x2.png | Bin .../3rdparty => core/js}/select2/LICENSE | 0 .../3rdparty => core/js}/select2/README.md | 0 .../3rdparty => core/js}/select2/bower.json | 0 .../3rdparty => core/js}/select2/component.json | 0 .../3rdparty => core/js}/select2/composer.json | 0 .../3rdparty => core/js}/select2/package.json | 0 .../3rdparty => core/js}/select2/release.sh | 0 .../js}/select2/select2-bootstrap.css | 0 .../js}/select2/select2.jquery.json | 0 .../3rdparty => core/js}/select2/select2.js | 0 .../js}/select2/select2_locale_ar.js | 0 .../js}/select2/select2_locale_bg.js | 0 .../js}/select2/select2_locale_ca.js | 0 .../js}/select2/select2_locale_cs.js | 0 .../js}/select2/select2_locale_da.js | 0 .../js}/select2/select2_locale_de.js | 0 .../js}/select2/select2_locale_el.js | 0 .../js}/select2/select2_locale_en.js.template | 0 .../js}/select2/select2_locale_es.js | 0 .../js}/select2/select2_locale_et.js | 0 .../js}/select2/select2_locale_eu.js | 0 .../js}/select2/select2_locale_fa.js | 0 .../js}/select2/select2_locale_fi.js | 0 .../js}/select2/select2_locale_fr.js | 0 .../js}/select2/select2_locale_gl.js | 0 .../js}/select2/select2_locale_he.js | 0 .../js}/select2/select2_locale_hr.js | 0 .../js}/select2/select2_locale_hu.js | 0 .../js}/select2/select2_locale_id.js | 0 .../js}/select2/select2_locale_is.js | 0 .../js}/select2/select2_locale_it.js | 0 .../js}/select2/select2_locale_ja.js | 0 .../js}/select2/select2_locale_ka.js | 0 .../js}/select2/select2_locale_ko.js | 0 .../js}/select2/select2_locale_lt.js | 0 .../js}/select2/select2_locale_lv.js | 0 .../js}/select2/select2_locale_mk.js | 0 .../js}/select2/select2_locale_ms.js | 0 .../js}/select2/select2_locale_nl.js | 0 .../js}/select2/select2_locale_no.js | 0 .../js}/select2/select2_locale_pl.js | 0 .../js}/select2/select2_locale_pt-BR.js | 0 .../js}/select2/select2_locale_pt-PT.js | 0 .../js}/select2/select2_locale_ro.js | 0 .../js}/select2/select2_locale_rs.js | 0 .../js}/select2/select2_locale_ru.js | 0 .../js}/select2/select2_locale_sk.js | 0 .../js}/select2/select2_locale_sv.js | 0 .../js}/select2/select2_locale_th.js | 0 .../js}/select2/select2_locale_tr.js | 0 .../js}/select2/select2_locale_uk.js | 0 .../js}/select2/select2_locale_vi.js | 0 .../js}/select2/select2_locale_zh-CN.js | 0 .../js}/select2/select2_locale_zh-TW.js | 0 59 files changed, 2 insertions(+), 2 deletions(-) rename {apps/files_external/3rdparty => core/css}/select2/select2-spinner.gif (100%) rename {apps/files_external/3rdparty => core/css}/select2/select2.css (100%) rename {apps/files_external/3rdparty => core/css}/select2/select2.png (100%) rename {apps/files_external/3rdparty => core/css}/select2/select2x2.png (100%) rename {apps/files_external/3rdparty => core/js}/select2/LICENSE (100%) rename {apps/files_external/3rdparty => core/js}/select2/README.md (100%) rename {apps/files_external/3rdparty => core/js}/select2/bower.json (100%) rename {apps/files_external/3rdparty => core/js}/select2/component.json (100%) rename {apps/files_external/3rdparty => core/js}/select2/composer.json (100%) rename {apps/files_external/3rdparty => core/js}/select2/package.json (100%) rename {apps/files_external/3rdparty => core/js}/select2/release.sh (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2-bootstrap.css (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2.jquery.json (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_ar.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_bg.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_ca.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_cs.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_da.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_de.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_el.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_en.js.template (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_es.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_et.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_eu.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_fa.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_fi.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_fr.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_gl.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_he.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_hr.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_hu.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_id.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_is.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_it.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_ja.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_ka.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_ko.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_lt.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_lv.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_mk.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_ms.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_nl.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_no.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_pl.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_pt-BR.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_pt-PT.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_ro.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_rs.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_ru.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_sk.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_sv.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_th.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_tr.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_uk.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_vi.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_zh-CN.js (100%) rename {apps/files_external/3rdparty => core/js}/select2/select2_locale_zh-TW.js (100%) diff --git a/apps/files_external/settings.php b/apps/files_external/settings.php index 4c87360486a7..e49eba06731b 100644 --- a/apps/files_external/settings.php +++ b/apps/files_external/settings.php @@ -25,8 +25,8 @@ OCP\Util::addScript('files_external', 'settings'); OCP\Util::addStyle('files_external', 'settings'); -OCP\Util::addScript('files_external', '../3rdparty/select2/select2'); -OCP\Util::addStyle('files_external', '../3rdparty/select2/select2'); +OCP\Util::addScript('core', 'select2/select2'); +OCP\Util::addStyle('core', 'select2/select2'); $backends = OC_Mount_Config::getBackends(); $personal_backends = array(); diff --git a/apps/files_external/3rdparty/select2/select2-spinner.gif b/core/css/select2/select2-spinner.gif similarity index 100% rename from apps/files_external/3rdparty/select2/select2-spinner.gif rename to core/css/select2/select2-spinner.gif diff --git a/apps/files_external/3rdparty/select2/select2.css b/core/css/select2/select2.css similarity index 100% rename from apps/files_external/3rdparty/select2/select2.css rename to core/css/select2/select2.css diff --git a/apps/files_external/3rdparty/select2/select2.png b/core/css/select2/select2.png similarity index 100% rename from apps/files_external/3rdparty/select2/select2.png rename to core/css/select2/select2.png diff --git a/apps/files_external/3rdparty/select2/select2x2.png b/core/css/select2/select2x2.png similarity index 100% rename from apps/files_external/3rdparty/select2/select2x2.png rename to core/css/select2/select2x2.png diff --git a/apps/files_external/3rdparty/select2/LICENSE b/core/js/select2/LICENSE similarity index 100% rename from apps/files_external/3rdparty/select2/LICENSE rename to core/js/select2/LICENSE diff --git a/apps/files_external/3rdparty/select2/README.md b/core/js/select2/README.md similarity index 100% rename from apps/files_external/3rdparty/select2/README.md rename to core/js/select2/README.md diff --git a/apps/files_external/3rdparty/select2/bower.json b/core/js/select2/bower.json similarity index 100% rename from apps/files_external/3rdparty/select2/bower.json rename to core/js/select2/bower.json diff --git a/apps/files_external/3rdparty/select2/component.json b/core/js/select2/component.json similarity index 100% rename from apps/files_external/3rdparty/select2/component.json rename to core/js/select2/component.json diff --git a/apps/files_external/3rdparty/select2/composer.json b/core/js/select2/composer.json similarity index 100% rename from apps/files_external/3rdparty/select2/composer.json rename to core/js/select2/composer.json diff --git a/apps/files_external/3rdparty/select2/package.json b/core/js/select2/package.json similarity index 100% rename from apps/files_external/3rdparty/select2/package.json rename to core/js/select2/package.json diff --git a/apps/files_external/3rdparty/select2/release.sh b/core/js/select2/release.sh similarity index 100% rename from apps/files_external/3rdparty/select2/release.sh rename to core/js/select2/release.sh diff --git a/apps/files_external/3rdparty/select2/select2-bootstrap.css b/core/js/select2/select2-bootstrap.css similarity index 100% rename from apps/files_external/3rdparty/select2/select2-bootstrap.css rename to core/js/select2/select2-bootstrap.css diff --git a/apps/files_external/3rdparty/select2/select2.jquery.json b/core/js/select2/select2.jquery.json similarity index 100% rename from apps/files_external/3rdparty/select2/select2.jquery.json rename to core/js/select2/select2.jquery.json diff --git a/apps/files_external/3rdparty/select2/select2.js b/core/js/select2/select2.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2.js rename to core/js/select2/select2.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_ar.js b/core/js/select2/select2_locale_ar.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_ar.js rename to core/js/select2/select2_locale_ar.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_bg.js b/core/js/select2/select2_locale_bg.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_bg.js rename to core/js/select2/select2_locale_bg.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_ca.js b/core/js/select2/select2_locale_ca.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_ca.js rename to core/js/select2/select2_locale_ca.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_cs.js b/core/js/select2/select2_locale_cs.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_cs.js rename to core/js/select2/select2_locale_cs.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_da.js b/core/js/select2/select2_locale_da.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_da.js rename to core/js/select2/select2_locale_da.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_de.js b/core/js/select2/select2_locale_de.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_de.js rename to core/js/select2/select2_locale_de.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_el.js b/core/js/select2/select2_locale_el.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_el.js rename to core/js/select2/select2_locale_el.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_en.js.template b/core/js/select2/select2_locale_en.js.template similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_en.js.template rename to core/js/select2/select2_locale_en.js.template diff --git a/apps/files_external/3rdparty/select2/select2_locale_es.js b/core/js/select2/select2_locale_es.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_es.js rename to core/js/select2/select2_locale_es.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_et.js b/core/js/select2/select2_locale_et.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_et.js rename to core/js/select2/select2_locale_et.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_eu.js b/core/js/select2/select2_locale_eu.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_eu.js rename to core/js/select2/select2_locale_eu.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_fa.js b/core/js/select2/select2_locale_fa.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_fa.js rename to core/js/select2/select2_locale_fa.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_fi.js b/core/js/select2/select2_locale_fi.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_fi.js rename to core/js/select2/select2_locale_fi.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_fr.js b/core/js/select2/select2_locale_fr.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_fr.js rename to core/js/select2/select2_locale_fr.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_gl.js b/core/js/select2/select2_locale_gl.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_gl.js rename to core/js/select2/select2_locale_gl.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_he.js b/core/js/select2/select2_locale_he.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_he.js rename to core/js/select2/select2_locale_he.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_hr.js b/core/js/select2/select2_locale_hr.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_hr.js rename to core/js/select2/select2_locale_hr.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_hu.js b/core/js/select2/select2_locale_hu.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_hu.js rename to core/js/select2/select2_locale_hu.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_id.js b/core/js/select2/select2_locale_id.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_id.js rename to core/js/select2/select2_locale_id.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_is.js b/core/js/select2/select2_locale_is.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_is.js rename to core/js/select2/select2_locale_is.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_it.js b/core/js/select2/select2_locale_it.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_it.js rename to core/js/select2/select2_locale_it.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_ja.js b/core/js/select2/select2_locale_ja.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_ja.js rename to core/js/select2/select2_locale_ja.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_ka.js b/core/js/select2/select2_locale_ka.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_ka.js rename to core/js/select2/select2_locale_ka.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_ko.js b/core/js/select2/select2_locale_ko.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_ko.js rename to core/js/select2/select2_locale_ko.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_lt.js b/core/js/select2/select2_locale_lt.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_lt.js rename to core/js/select2/select2_locale_lt.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_lv.js b/core/js/select2/select2_locale_lv.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_lv.js rename to core/js/select2/select2_locale_lv.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_mk.js b/core/js/select2/select2_locale_mk.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_mk.js rename to core/js/select2/select2_locale_mk.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_ms.js b/core/js/select2/select2_locale_ms.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_ms.js rename to core/js/select2/select2_locale_ms.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_nl.js b/core/js/select2/select2_locale_nl.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_nl.js rename to core/js/select2/select2_locale_nl.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_no.js b/core/js/select2/select2_locale_no.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_no.js rename to core/js/select2/select2_locale_no.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_pl.js b/core/js/select2/select2_locale_pl.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_pl.js rename to core/js/select2/select2_locale_pl.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_pt-BR.js b/core/js/select2/select2_locale_pt-BR.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_pt-BR.js rename to core/js/select2/select2_locale_pt-BR.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_pt-PT.js b/core/js/select2/select2_locale_pt-PT.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_pt-PT.js rename to core/js/select2/select2_locale_pt-PT.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_ro.js b/core/js/select2/select2_locale_ro.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_ro.js rename to core/js/select2/select2_locale_ro.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_rs.js b/core/js/select2/select2_locale_rs.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_rs.js rename to core/js/select2/select2_locale_rs.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_ru.js b/core/js/select2/select2_locale_ru.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_ru.js rename to core/js/select2/select2_locale_ru.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_sk.js b/core/js/select2/select2_locale_sk.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_sk.js rename to core/js/select2/select2_locale_sk.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_sv.js b/core/js/select2/select2_locale_sv.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_sv.js rename to core/js/select2/select2_locale_sv.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_th.js b/core/js/select2/select2_locale_th.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_th.js rename to core/js/select2/select2_locale_th.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_tr.js b/core/js/select2/select2_locale_tr.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_tr.js rename to core/js/select2/select2_locale_tr.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_uk.js b/core/js/select2/select2_locale_uk.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_uk.js rename to core/js/select2/select2_locale_uk.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_vi.js b/core/js/select2/select2_locale_vi.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_vi.js rename to core/js/select2/select2_locale_vi.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_zh-CN.js b/core/js/select2/select2_locale_zh-CN.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_zh-CN.js rename to core/js/select2/select2_locale_zh-CN.js diff --git a/apps/files_external/3rdparty/select2/select2_locale_zh-TW.js b/core/js/select2/select2_locale_zh-TW.js similarity index 100% rename from apps/files_external/3rdparty/select2/select2_locale_zh-TW.js rename to core/js/select2/select2_locale_zh-TW.js From d23621536c23f89785f6beea13cdc53ec2b9392f Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 9 Sep 2014 17:06:50 +0200 Subject: [PATCH 2/8] Now using select2 for the groups excluded from sharing --- settings/admin.php | 16 +------ settings/js/admin.js | 90 ++++++++++++++++++++++-------------- settings/templates/admin.php | 9 +--- 3 files changed, 58 insertions(+), 57 deletions(-) diff --git a/settings/admin.php b/settings/admin.php index 65deed6b8835..b4064c3345e1 100755 --- a/settings/admin.php +++ b/settings/admin.php @@ -54,22 +54,8 @@ $tmpl->assign('shareEnforceExpireDate', OC_Appconfig::getValue('core', 'shareapi_enforce_expire_date', 'no')); $excludeGroups = OC_Appconfig::getValue('core', 'shareapi_exclude_groups', 'no') === 'yes' ? true : false; $tmpl->assign('shareExcludeGroups', $excludeGroups); -$allGroups = OC_Group::getGroups(); $excludedGroupsList = OC_Appconfig::getValue('core', 'shareapi_exclude_groups_list', ''); -$excludedGroups = $excludedGroupsList !== '' ? explode(',', $excludedGroupsList) : array(); -$groups = array(); -foreach ($allGroups as $group) { - if (in_array($group, $excludedGroups)) { - $groups[$group] = array('gid' => $group, - 'excluded' => true); - } else { - $groups[$group] = array('gid' => $group, - 'excluded' => false); - } -} -ksort($groups); -$tmpl->assign('groups', $groups); - +$tmpl->assign('shareExcludedGroupsList', $excludedGroupsList); // Check if connected using HTTPS $tmpl->assign('isConnectedViaHTTPS', OC_Request::serverProtocol() === 'https'); diff --git a/settings/js/admin.js b/settings/js/admin.js index 56dc1b987166..d38c770a28ab 100644 --- a/settings/js/admin.js +++ b/settings/js/admin.js @@ -1,38 +1,60 @@ var SharingGroupList = { - applyMultipleSelect: function(element) { - var checked = []; - if ($(element).hasClass('groupsselect')) { - if (element.data('userGroups')) { - checked = element.data('userGroups'); - } - var checkHandeler = function(group) { - $.post(OC.filePath('settings', 'ajax', 'excludegroups.php'), - {changedGroup: group, selectedGroups: JSON.stringify(checked)}, - function() {}); - }; - - - var addGroup = function(select, group) { - $(this).each(function(index, element) { - if ($(element).find('option[value="' + group + '"]').length === 0 && - select.data('msid') !== $(element).data('msid')) { - $(element).append(''); + setupGroupsSelect: function($elements) { + if ($elements.length > 0) { + // note: settings are saved through a "change" event registered + // on all input fields + $elements.select2({ + placeholder: t('core', 'Groups'), + allowClear: true, + multiple: true, + ajax: { + url: OC.generateUrl('/settings/ajax/grouplist'), + dataType: 'json', + quietMillis: 100, + data: function (term) { + return { + pattern: term, //search term + }; + }, + results: function (data) { + if (data.status === "success") { + var results = []; + + // add groups + $.each(data.data.adminGroups, function(i, group) { + results.push({id:group.id, displayname:group.name}); + }); + $.each(data.data.groups, function(i, group) { + results.push({id:group.id, displayname:group.name}); + }); + + return {results: results}; + } else { + //FIXME add error handling + } } - }); - }; - - var label = null; - element.multiSelect({ - createCallback: addGroup, - createText: label, - selectedFirst: true, - checked: checked, - oncheck: checkHandeler, - onuncheck: checkHandeler, - minWidth: 100 + }, + id: function(element) { + return element.id; + }, + initSelection: function(element, callback) { + var selection = + _.map(($(element).val() || []).split(',').sort(), + function(groupName) { + return { + id: groupName, + displayname: groupName + }; + }); + callback(selection); + }, + formatResult: function (element) { + return element.displayname; + }, + formatSelection: function (element) { + return element.displayname; + } }); - } } }; @@ -57,8 +79,8 @@ $(document).ready(function(){ } - $('select#excludedGroups[multiple]').each(function (index, element) { - SharingGroupList.applyMultipleSelect($(element)); + $('#excludedGroups').each(function (index, element) { + SharingGroupList.setupGroupsSelect($(element)); }); diff --git a/settings/templates/admin.php b/settings/templates/admin.php index 0e6cb14bcef0..9ceebad4ee14 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -317,14 +317,7 @@

- +
t('These groups will still be able to receive shares, but not to initiate them.')); ?>

From 4a27f4b8b55ef2f388a9998b74b8d1b8ed337bb6 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 9 Sep 2014 17:18:12 +0200 Subject: [PATCH 3/8] Load select2 on admin page --- settings/admin.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/settings/admin.php b/settings/admin.php index b4064c3345e1..1d56a3521cfc 100755 --- a/settings/admin.php +++ b/settings/admin.php @@ -11,6 +11,8 @@ OC_Util::addScript( "settings", "admin" ); OC_Util::addScript( "settings", "log" ); OC_Util::addScript( 'core', 'multiselect' ); +OCP\Util::addScript('core', 'select2/select2'); +OCP\Util::addStyle('core', 'select2/select2'); OC_App::setActiveNavigationEntry( "admin" ); $tmpl = new OC_Template( 'settings', 'admin', 'user'); From 39f5580cdf154256a7586fa57c8e7f094a9721a9 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 9 Sep 2014 17:18:24 +0200 Subject: [PATCH 4/8] Remove excludegroup.php The ajax call is now using ajax/appconfig.php instead --- settings/ajax/excludegroups.php | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 settings/ajax/excludegroups.php diff --git a/settings/ajax/excludegroups.php b/settings/ajax/excludegroups.php deleted file mode 100644 index c3488c5bae7e..000000000000 --- a/settings/ajax/excludegroups.php +++ /dev/null @@ -1,18 +0,0 @@ - Date: Tue, 9 Sep 2014 18:00:53 +0200 Subject: [PATCH 5/8] Added select2 on the apps page Moved setupGroupsSelect() from admin.js to a common settings.js as OC.Settings.setupGoupsSelect(). Now using select2 as well on the apps page. --- settings/admin.php | 3 +- settings/apps.php | 8 ++--- settings/js/admin.js | 63 +------------------------------- settings/js/apps.js | 35 +++++++++--------- settings/js/settings.js | 72 +++++++++++++++++++++++++++++++++++++ settings/templates/apps.php | 6 +--- 6 files changed, 99 insertions(+), 88 deletions(-) create mode 100644 settings/js/settings.js diff --git a/settings/admin.php b/settings/admin.php index 1d56a3521cfc..03befdba66fc 100755 --- a/settings/admin.php +++ b/settings/admin.php @@ -7,7 +7,8 @@ OC_Util::checkAdminUser(); -OC_Util::addStyle( "settings", "settings" ); +OCP\Util::addStyle('settings', 'settings'); +OCP\Util::addScript('settings', 'settings'); OC_Util::addScript( "settings", "admin" ); OC_Util::addScript( "settings", "log" ); OC_Util::addScript( 'core', 'multiselect' ); diff --git a/settings/apps.php b/settings/apps.php index 7573c8b573f7..6021574cbb35 100644 --- a/settings/apps.php +++ b/settings/apps.php @@ -24,17 +24,17 @@ OC_Util::checkAdminUser(); // Load the files we need -OC_Util::addStyle( "settings", "settings" ); -OC_Util::addScript("core", "multiselect"); +OCP\Util::addStyle('settings', 'settings' ); +OCP\Util::addScript('settings', 'settings'); +OCP\Util::addScript('core', 'select2/select2'); +OCP\Util::addStyle('core', 'select2/select2'); OC_App::setActiveNavigationEntry( "core_apps" ); $combinedApps = OC_App::listAllApps(); -$groups = \OC_Group::getGroups(); $tmpl = new OC_Template( "settings", "apps", "user" ); $tmpl->assign('apps', $combinedApps); -$tmpl->assign('groups', $groups); $appid = (isset($_GET['appid'])?strip_tags($_GET['appid']):''); diff --git a/settings/js/admin.js b/settings/js/admin.js index d38c770a28ab..943bf78e024a 100644 --- a/settings/js/admin.js +++ b/settings/js/admin.js @@ -1,64 +1,3 @@ -var SharingGroupList = { - setupGroupsSelect: function($elements) { - if ($elements.length > 0) { - // note: settings are saved through a "change" event registered - // on all input fields - $elements.select2({ - placeholder: t('core', 'Groups'), - allowClear: true, - multiple: true, - ajax: { - url: OC.generateUrl('/settings/ajax/grouplist'), - dataType: 'json', - quietMillis: 100, - data: function (term) { - return { - pattern: term, //search term - }; - }, - results: function (data) { - if (data.status === "success") { - var results = []; - - // add groups - $.each(data.data.adminGroups, function(i, group) { - results.push({id:group.id, displayname:group.name}); - }); - $.each(data.data.groups, function(i, group) { - results.push({id:group.id, displayname:group.name}); - }); - - return {results: results}; - } else { - //FIXME add error handling - } - } - }, - id: function(element) { - return element.id; - }, - initSelection: function(element, callback) { - var selection = - _.map(($(element).val() || []).split(',').sort(), - function(groupName) { - return { - id: groupName, - displayname: groupName - }; - }); - callback(selection); - }, - formatResult: function (element) { - return element.displayname; - }, - formatSelection: function (element) { - return element.displayname; - } - }); - } - } -}; - $(document).ready(function(){ var params = OC.Util.History.parseUrlQuery(); @@ -80,7 +19,7 @@ $(document).ready(function(){ $('#excludedGroups').each(function (index, element) { - SharingGroupList.setupGroupsSelect($(element)); + OC.Settings.setupGroupsSelect($(element)); }); diff --git a/settings/js/apps.js b/settings/js/apps.js index e808e51e936d..20b0c5ce18fe 100644 --- a/settings/js/apps.js +++ b/settings/js/apps.js @@ -7,6 +7,11 @@ OC.Settings = OC.Settings || {}; OC.Settings.Apps = OC.Settings.Apps || { + setupGroupsSelect: function() { + OC.Settings.setupGroupsSelect($('#group_select'), { + placeholder: t('core', 'All') + }); + }, loadApp:function(app) { var page = $('#app-content'); page.find('p.license').show(); @@ -112,23 +117,16 @@ OC.Settings.Apps = OC.Settings.Apps || { page.find(".warning").hide(); } - page.find("div.multiselect").parent().remove(); if(OC.Settings.Apps.isType(app, 'filesystem') || OC.Settings.Apps.isType(app, 'prelogin') || OC.Settings.Apps.isType(app, 'authentication') || OC.Settings.Apps.isType(app, 'logging')) { page.find("#groups_enable").hide(); page.find("label[for='groups_enable']").hide(); page.find("#groups_enable").attr('checked', null); } else { - $('#group_select > option').each(function (i, el) { - if (app.groups.length === 0 || app.groups.indexOf(el.value) >= 0) { - $(el).attr('selected', 'selected'); - } else { - $(el).attr('selected', null); - } - }); + $('#group_select').val((app.groups || []).join(',')); if (app.active) { if (app.groups.length) { - $('#group_select').multiSelect(); + OC.Settings.Apps.setupGroupsSelect(); page.find("#groups_enable").attr('checked','checked'); } else { page.find("#groups_enable").attr('checked', null); @@ -383,6 +381,11 @@ $(document).ready(function(){ $('#group_select').change(function() { var element = $('#app-content input.enable'); var groups = $(this).val(); + if (groups && groups !== '') { + groups = groups.split(','); + } else { + groups = []; + } var appid = element.data('appid'); if (appid) { OC.Settings.Apps.enableApp(appid, false, element, groups); @@ -404,14 +407,14 @@ $(document).ready(function(){ } $("#groups_enable").change(function() { + var $select = $('#group_select'); + $select.val(''); if (this.checked) { - $("div.multiselect").parent().remove(); - $('#group_select').multiSelect(); - } else { - $('#group_select').hide().val(null); - $("div.multiselect").parent().remove(); + OC.Settings.Apps.setupGroupsSelect(); } - - $('#group_select').change(); + else { + $select.select2('destroy'); + } + $select.change(); }); }); diff --git a/settings/js/settings.js b/settings/js/settings.js new file mode 100644 index 000000000000..85e8996ae7fd --- /dev/null +++ b/settings/js/settings.js @@ -0,0 +1,72 @@ +/** + * Copyright (c) 2014, Vincent Petry + * This file is licensed under the Affero General Public License version 3 or later. + * See the COPYING-README file. + */ +OC.Settings = OC.Settings || {}; +OC.Settings = _.extend(OC.Settings, { + /** + * Setup selection box for group selection. + * @param $elements jQuery element (hidden input) to setup select2 on + * @param [extraOptions] extra options hash to pass to select2 + */ + setupGroupsSelect: function($elements, extraOptions) { + if ($elements.length > 0) { + // note: settings are saved through a "change" event registered + // on all input fields + $elements.select2(_.extend({ + placeholder: t('core', 'Groups'), + allowClear: true, + multiple: true, + ajax: { + url: OC.generateUrl('/settings/ajax/grouplist'), + dataType: 'json', + quietMillis: 100, + data: function (term) { + return { + pattern: term, //search term + }; + }, + results: function (data) { + if (data.status === "success") { + var results = []; + + // add groups + $.each(data.data.adminGroups, function(i, group) { + results.push({id:group.id, displayname:group.name}); + }); + $.each(data.data.groups, function(i, group) { + results.push({id:group.id, displayname:group.name}); + }); + + return {results: results}; + } else { + //FIXME add error handling + } + } + }, + id: function(element) { + return element.id; + }, + initSelection: function(element, callback) { + var selection = + _.map(($(element).val() || []).split(',').sort(), + function(groupName) { + return { + id: groupName, + displayname: groupName + }; + }); + callback(selection); + }, + formatResult: function (element) { + return element.displayname; + }, + formatSelection: function (element) { + return element.displayname; + } + }, extraOptions || {})); + } + } +}); + diff --git a/settings/templates/apps.php b/settings/templates/apps.php index 29fda0ed243c..5199d3fd7c78 100644 --- a/settings/templates/apps.php +++ b/settings/templates/apps.php @@ -58,11 +58,7 @@ class="version">