From 84ffd59c0c3ff78bca5fbcd2c8893b741f36c9ba Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <bruederli@kolabsys.com>
Date: Thu, 19 Sep 2013 12:00:28 -0400
Subject: [PATCH] Allow sysadmins to define static responses which are immutable for the user

---
 program/steps/settings/responses.inc |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/program/steps/settings/responses.inc b/program/steps/settings/responses.inc
index 330b4fd..cfc4148 100644
--- a/program/steps/settings/responses.inc
+++ b/program/steps/settings/responses.inc
@@ -26,7 +26,7 @@
 
     if (!empty($name) && !empty($text)) {
         $dupes = 0;
-        $responses = $RCMAIL->get_compose_responses();
+        $responses = $RCMAIL->get_compose_responses(false, true);
         foreach ($responses as $resp) {
             if (strcasecmp($name, preg_replace('/\s\(\d+\)$/', '', $resp['name'])) == 0)
                 $dupes++;
@@ -54,7 +54,7 @@
 
 if ($RCMAIL->action == 'delete-response') {
     if ($key = get_input_value('_key', RCUBE_INPUT_GPC)) {
-        $responses = $RCMAIL->get_compose_responses();
+        $responses = $RCMAIL->get_compose_responses(false, true);
         foreach ($responses as $i => $response) {
             if (empty($response['key']))
                 $response['key'] = substr(md5($response['name']), 0, 16);
@@ -67,7 +67,7 @@
     }
 
     if ($deleted) {
-        $RCMAIL->output->command('display_message', rcube_label('successfullydeleted'), 'confirmation');
+        $RCMAIL->output->command('display_message', rcube_label('deletedsuccessfully'), 'confirmation');
         $RCMAIL->output->command('remove_response', $key);
     }
 
@@ -99,6 +99,8 @@
 
     // set client env
     $OUTPUT->add_gui_object('responseslist', $attrib['id']);
+    $OUTPUT->set_env('readonly_responses', array_values(array_map(function($rec){ return $rec['key']; },
+      array_filter($plugin['list'], function($item){ return !empty($item['static']); }))));
 
     return $out;
 }

--
Gitblit v1.9.1