Use compatibility_info() function if at all possible instead of compatibility_version()
[squirrelmail.git] / plugins / bug_report / setup.php
index 3aed195895e1851aec619a595c659ae8f92e4cfa..9c1d3ddec2a0dfea6161e19d69743bc93decfe04 100644 (file)
@@ -1,72 +1,75 @@
 <?php
-
 /**
- * setup.php
- *
- * Copyright (c) 1999-2003 The SquirrelMail development team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
- * This is a standard Squirrelmail-1.2 API for plugins.
+ * Bug Report plugin - setup script
  *
- * $Id$
+ * @copyright &copy; 1999-2007 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
+ * @package plugins
+ * @subpackage bug_report
  */
 
-/* This button fills out a form with your setup information already
-   gathered -- all you have to do is type. */
-
-
-/* Initialize the bug report plugin */
+/**
+ * Initialize the bug report plugin
+ * @return void
+ * @access private
+ */
 function squirrelmail_plugin_init_bug_report() {
     global $squirrelmail_plugin_hooks;
 
     $squirrelmail_plugin_hooks['menuline']['bug_report'] = 'bug_report_button';
-    $squirrelmail_plugin_hooks['options_display_inside']['bug_report'] = 'bug_report_options';
-    $squirrelmail_plugin_hooks['options_display_save']['bug_report'] = 'bug_report_save';
     $squirrelmail_plugin_hooks['loading_prefs']['bug_report'] = 'bug_report_load';
+    $squirrelmail_plugin_hooks['optpage_loadhook_display']['bug_report'] = 'bug_report_block';
 }
 
 
-/* Show the button in the main bar */
+/**
+ * Show the button in the main bar
+ * @access private
+ */
 function bug_report_button() {
-    global $color, $bug_report_visible;
+    include_once(SM_PATH.'plugins/bug_report/functions.php');
+    global $bug_report_visible;
 
-    if (! $bug_report_visible) {
+    if (! $bug_report_visible || ! bug_report_check_user()) {
         return;
     }
 
-    displayInternalLink('plugins/bug_report/bug_report.php', 'Bug', '');
+    displayInternalLink('plugins/bug_report/bug_report.php', _("Bug"), '');
     echo "&nbsp;&nbsp;\n";
 }
 
-
-function bug_report_save() {
-    global $username,$data_dir;
-
-    if( sqgetGlobalVar('bug_report_bug_report_visible', $vis, SQ_POST) ) {
-        setPref($data_dir, $username, 'bug_report_visible', '1');
-    } else {
-        setPref($data_dir, $username, 'bug_report_visible', '');
-    }
-}
-
-
+/**
+ * Loads bug report options
+ * @access private
+ */
 function bug_report_load() {
     global $username, $data_dir;
     global $bug_report_visible;
 
-    $bug_report_visible = getPref($data_dir, $username, 'bug_report_visible');
+    $bug_report_visible = (bool) getPref($data_dir, $username, 'bug_report_visible',false);
 }
 
-
-function bug_report_options() {
-    global $bug_report_visible;
-
-    echo '<tr><td align=right nowrap>' . _("Bug Reports:") . "</td>\n" .
-         '<td><input name="bug_report_bug_report_visible" type=CHECKBOX';
-    if ($bug_report_visible) {
-        echo ' CHECKED';
+/**
+ * Register bug report option block
+ * @since 1.5.1
+ * @access private
+ */
+function bug_report_block() {
+    include_once(SM_PATH.'plugins/bug_report/functions.php');
+    if (bug_report_check_user()) {
+        global $optpage_data;
+        $optpage_data['grps']['bug_report'] = _("Bug Reports");
+        $optionValues = array();
+        // FIXME: option needs refresh in SMOPT_REFRESH_RIGHT 
+        // (menulink is processed before options are saved/loaded)
+        $optionValues[] = array(
+            'name'    => 'bug_report_visible',
+            'caption' => _("Show button in toolbar"),
+            'type'    => SMOPT_TYPE_BOOLEAN,
+            'refresh' => SMOPT_REFRESH_ALL,
+            'initial_value' => false
+            );
+        $optpage_data['vals']['bug_report'] = $optionValues;
     }
-    echo '> ' . _("Show button in toolbar") . "</td></tr>\n";
 }
-
-?>