From 8b941a80788aa5e6bee688dea7575a100438a5d6 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Tue, 6 Sep 2022 05:39:52 +0000 Subject: [PATCH] cache administration: prepopulate memcached settings and fix message upon... Closes #1536 and #1124 Merge request studip/studip!962 --- app/controllers/admin/cache.php | 2 -- lib/classes/StudipMemcachedCache.php | 2 +- resources/vue/components/MemcachedCacheConfig.vue | 8 ++++++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/controllers/admin/cache.php b/app/controllers/admin/cache.php index 604718b35f1..329aab7a968 100644 --- a/app/controllers/admin/cache.php +++ b/app/controllers/admin/cache.php @@ -112,8 +112,6 @@ class Admin_CacheController extends AuthenticatedController if (Config::get()->store('SYSTEMCACHE', $settings)) { PageLayout::postSuccess(_('Die Einstellungen wurden gespeichert.')); StudipCacheFactory::unconfigure(); - } else { - PageLayout::postError(_('Die Einstellungen konnten nicht gespeichert werden.')); } $this->relocate('admin/cache/settings'); diff --git a/lib/classes/StudipMemcachedCache.php b/lib/classes/StudipMemcachedCache.php index 4b9b628c68b..619a61ed91c 100644 --- a/lib/classes/StudipMemcachedCache.php +++ b/lib/classes/StudipMemcachedCache.php @@ -46,7 +46,7 @@ class StudipMemcachedCache implements StudipSystemCache if (count($this->memcache->getServerList()) === 0) { foreach ($servers as $server) { - $status = $this->memcache->addServer($server['hostname'], $server['port']); + $status = $this->memcache->addServer($server['hostname'], (int) $server['port']); if (!$status) { throw new Exception("Could not add server: {$server['hostname']} @ port {$server['port']}"); diff --git a/resources/vue/components/MemcachedCacheConfig.vue b/resources/vue/components/MemcachedCacheConfig.vue index 84e8059d865..c2e46632f23 100644 --- a/resources/vue/components/MemcachedCacheConfig.vue +++ b/resources/vue/components/MemcachedCacheConfig.vue @@ -46,13 +46,17 @@ export default { }, methods: { addServer () { - this.serverConfig.push({ server: '', port: null }) + this.serverConfig.push({ hostname: 'localhost', port: 11211 }) }, removeServer (event, index) { this.serverConfig.splice(index, 1) }, isValid () { - return this.serverConfig.length > 0; + return this.serverConfig.length > 0 + && this.serverConfig.every(server => { + return server.hostname.length > 0 + && server.port > 0; + }); } }, watch: { -- GitLab