From ce22f1e0c68d6813177f5e2177371032f9924a50 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Mon, 21 Nov 2011 09:10:29 -0500
Subject: [PATCH] Show configurable support link in about page; refer on <srcuri> for download link; no link to roundcube.net to avoid tons of support requests

---
 skins/default/settings.css            |   17 ++++----
 program/localization/en_US/labels.inc |    2 
 program/localization/de_CH/labels.inc |    6 +++
 program/localization/pl_PL/labels.inc |    1 
 program/steps/settings/about.inc      |   22 ++++++++--
 config/main.inc.php.dist              |    4 ++
 skins/default/templates/about.html    |   13 +++---
 7 files changed, 42 insertions(+), 23 deletions(-)

diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist
index d07a3b3..17d3c03 100644
--- a/config/main.inc.php.dist
+++ b/config/main.inc.php.dist
@@ -208,6 +208,10 @@
 // set to false if only registered users can use this service
 $rcmail_config['auto_create_user'] = true;
 
+// provide an URL where a user can get support for this Roundcube installation
+// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
+$rcmail_config['support_url'] = '';
+
 // replace Roundcube logo with this image
 // specify an URL relative to the document root of this Roundcube installation
 $rcmail_config['skin_logo'] = null;
diff --git a/program/localization/de_CH/labels.inc b/program/localization/de_CH/labels.inc
index d5bcf56..457a76a 100644
--- a/program/localization/de_CH/labels.inc
+++ b/program/localization/de_CH/labels.inc
@@ -285,6 +285,7 @@
 $labels['importtext'] = 'Sie können Kontakte aus einem bestehenden Adressbuch hochladen.<br/>Es können Adressbücher im <a href="http://de.wikipedia.org/wiki/VCard">vCard-Format</a> importiert werden.';
 $labels['done'] = 'Fertig';
 $labels['settingsfor'] = 'Einstellungen für';
+$labels['about'] = 'Über';
 $labels['preferences'] = 'Einstellungen';
 $labels['userpreferences'] = 'Benutzereinstellungen';
 $labels['editpreferences'] = 'Einstellungen bearbeiten';
@@ -394,6 +395,11 @@
 $labels['sortasc'] = 'aufsteigend sortieren';
 $labels['sortdesc'] = 'absteigend sortieren';
 $labels['undo'] = 'Rückgängig';
+$labels['plugin'] = 'Plugin';
+$labels['version'] = 'Version';
+$labels['source'] = 'Quellcode';
+$labels['license'] = 'Lizenz';
+$labels['support'] = 'Support';
 $labels['B'] = 'B';
 $labels['KB'] = 'KB';
 $labels['MB'] = 'MB';
diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc
index d7df397..a0f1c31 100644
--- a/program/localization/en_US/labels.inc
+++ b/program/localization/en_US/labels.inc
@@ -469,7 +469,7 @@
 $labels['version'] = 'Version';
 $labels['source'] = 'Source';
 $labels['license'] = 'License';
-$labels['webpage'] = 'Webpage';
+$labels['support'] = 'Get support';
 
 // units
 $labels['B'] = 'B';
diff --git a/program/localization/pl_PL/labels.inc b/program/localization/pl_PL/labels.inc
index 164e508..60ea24d 100644
--- a/program/localization/pl_PL/labels.inc
+++ b/program/localization/pl_PL/labels.inc
@@ -438,7 +438,6 @@
 $labels['version'] = 'Wersja';
 $labels['source'] = 'Źródła';
 $labels['license'] = 'Licencja';
-$labels['webpage'] = 'Strona internetowa';
 $labels['about'] = 'O programie';
 
 ?>
diff --git a/program/steps/settings/about.inc b/program/steps/settings/about.inc
index 1125b70..6776321 100644
--- a/program/steps/settings/about.inc
+++ b/program/steps/settings/about.inc
@@ -20,6 +20,18 @@
 
 */
 
+
+function rcmail_supportlink($attrib)
+{
+  global $RCMAIL;
+  
+  if ($url = $RCMAIL->config->get('support_url')) {
+    $label = $attrub['label'] ? $attrub['label'] : 'support';
+    $attrib['href'] = $url;
+    return html::a($attrib, rcube_label($label));
+  }
+}
+
 function rcmail_plugins_list($attrib)
 {
   global $RCMAIL;
@@ -49,18 +61,18 @@
   $table->add_header('source', rcube_label('source'));
 
   foreach ($plugins as $name => $data) {
-    $uri = $data['uri'] ? $data['uri'] : $data['channel'];
+    $uri = $data['srcuri'];
     if ($uri && stripos($uri, 'http') !== 0) {
       $uri = 'http://' . $uri;
     }
-
+    
     $table->add_row();
     $table->add('name', Q($data['name'] ? $data['name'] : $name));
     $table->add('version', Q($data['version']));
     $table->add('license', $data['license_uri'] ? html::a(array('target' => '_blank', href=> Q($data['license_uri'])),
         Q($data['license'])) : $data['license']);
     $table->add('source', $uri ? html::a(array('target' => '_blank', href=> Q($uri)),
-        Q(rcube_label('source'))) : '');
+        Q(rcube_label('download'))) : '');
   }
 
   return $table->show();
@@ -74,8 +86,7 @@
     'version' => 'string(//rc:package/rc:version/rc:release)',
     'license' => 'string(//rc:package/rc:license)',
     'license_uri' => 'string(//rc:package/rc:license/@uri)',
-    'uri' => 'string(//rc:package/rc:uri)',
-    'channel' => 'string(//rc:package/rc:channel)',
+    'srcuri' => 'string(//rc:package/rc:srcuri)',
   );
 
   $package = INSTALL_PATH . "/plugins/$name/package.xml";
@@ -111,6 +122,7 @@
 
 $OUTPUT->set_pagetitle(rcube_label('about'));
 
+$OUTPUT->add_handler('supportlink', 'rcmail_supportlink');
 $OUTPUT->add_handler('pluginlist', 'rcmail_plugins_list');
 
 $OUTPUT->send('about');
diff --git a/skins/default/settings.css b/skins/default/settings.css
index 50f1b2c..8f24d80 100644
--- a/skins/default/settings.css
+++ b/skins/default/settings.css
@@ -171,12 +171,16 @@
   font-family: monospace;
 }
 
+div.readtext
+{
+  width: 42em;
+  padding: 20px;
+}
+
 #license
 {
-  margin-left: 20px;
-  left: 20px;
   width: 500px;
-  height: 250px;
+  padding-bottom: 2em;
   background: url(images/watermark.gif) no-repeat center;
 }
 
@@ -194,20 +198,15 @@
 #license .license,
 #license .links
 {
-  margin-top: 30px;
+  margin-top: 1.5em;
 }
 
 #pluginlist
 {
   border: 1px solid #999;
-  margin-left: 20px;
-  top: 300px;
-  left: 20px;
   width: 500px;
 }
 
-#pluginlist td.source,
-#pluginlist td.license,
 #pluginlist td.version
 {
   text-align: center;
diff --git a/skins/default/templates/about.html b/skins/default/templates/about.html
index 7a55bd6..23cfb7c 100644
--- a/skins/default/templates/about.html
+++ b/skins/default/templates/about.html
@@ -12,24 +12,23 @@
 <roundcube:include file="/includes/settingstabs.html" />
 
 <div id="mainscreen" class="box darkbg crop">
-
+<div class="readtext">
 <div id="license">
-<p class="sysname">Roundcube Webmail <roundcube:object name="version" /></p>
+<h2 class="sysname">Roundcube Webmail <roundcube:object name="version" /></h2>
 <p class="copyright">Copyright &copy; 2005-2011, The Roundcube Dev Team</p>
 <p class="license">This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License version 2
+it under the terms of the <a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank">GNU General Public License version 2</a>
 as published by the Free Software Foundation.
 </p>
 <p class="links">
-  <roundcube:label name="license" />: <a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank">GNU GPLv2</a>
-  <br />
-  <roundcube:label name="webpage" />: <a href="http://roundcube.net" target="_blank">www.roundcube.net</a>
-</p>
+  <roundcube:object name="supportlink" label="suport" target="_blank" />
 </div>
 
+<h4>Installed plugins</h4>
 <roundcube:object name="pluginlist" id="pluginlist" class="records-table" cellspacing="0" />
 
 </div>
+</div>
 
 </body>
 </html>

--
Gitblit v1.9.1