SCRIPT_FILENAME is not set in some setups
[squirrelmail.git] / plugins / change_password / backend / merak.php
index 3670a36ed14e7f82d536c77b61056f8f4a91e77d..2a9458865429480ff0593be1a716edd73b0f5f86 100644 (file)
@@ -1,8 +1,11 @@
 <?php
+
 /**
  * Merakchange password backend
  *
- * @author Edwin van Elk <Edwin@eve-software.com>
+ * @author Edwin van Elk <edwin at eve-software.com>
+ * @copyright &copy; 2004-2006 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package plugins
  * @subpackage change_password
@@ -20,11 +23,34 @@ $merak_url = "http://localhost:32000/";
 $merak_selfpage = "self.html";
 $merak_action = "self_edit";
 
-// NO NEED TO CHANGE ANYTHING BELOW THIS LINE
+// get overrides from config.
+if ( isset($cpw_merak) && is_array($cpw_merak) && !empty($cpw_merak) ) {
+  foreach ( $cpw_merak as $key => $value ) {
+    if ( isset(${'merak_'.$key}) )
+      ${'merak_'.$key} = $value;
+  }
+}
 
 global $squirrelmail_plugin_hooks;
 $squirrelmail_plugin_hooks['change_password_dochange']['merak'] =
    'cpw_merak_dochange';
+$squirrelmail_plugin_hooks['change_password_init']['merak'] =
+   'cpw_merak_init';
+
+/**
+ * Check if php install has all required extensions.
+ */
+function cpw_merak_init() {
+    global $oTemplate;
+
+    if (!function_exists('curl_init')) {
+        // user_error('Curl module NOT available!', E_USER_ERROR);
+        error_box(_("PHP Curl extension is NOT available! Unable to change password!"));
+        // close html and stop script execution
+        $oTemplate->display('footer.tpl');
+        exit();
+    }
+}
 
 /**
  * This is the function that is specific to your backend. It takes
@@ -51,13 +77,6 @@ function cpw_merak_dochange($data)
 
    global $merak_url, $merak_selfpage, $merak_action;
 
-   if (!function_exists('curl_init')) {
-
-      // user_error('Curl module NOT available!', E_USER_ERROR);
-      array_push($msgs, _("Curl module NOT available! Unable to change password!"));
-      return $msgs;
-   }
-
    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, $merak_url . $merak_selfpage);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);