Prevent endless recursive sent subfolder names - see: http://thread.gmane.org/gmane...
[squirrelmail.git] / plugins / squirrelspell / sqspell_interface.php
index fa81e4f64bed71d45411e925dd96b4a7a2edda41..c9d9f981e5b5ca82002e304c724f4e330c68a8b7 100644 (file)
@@ -1,36 +1,51 @@
 <?php
 
 /**
-   SQSPELL_INTERFACE.PHP
-   ----------------------
-   This is a main wrapper for the pop-up window interface of
-   SquirrelSpell.
-                                                               **/
-       
-// Set up a couple of non-negotiable constants. Don't change these,
-// the setuppable stuff is in sqspell_config.php
-$SQSPELL_DIR="squirrelspell";
-$SQSPELL_CRYPTO=false;
+ * sqspell_interface.php
+ *
+ * Main wrapper for the pop-up.
+ *
+ * This is a main wrapper for the pop-up window interface of
+ * SquirrelSpell.
+ *
+ * @author Konstantin Riabitsev <icon at duke.edu>
+ * @copyright 1999-2012 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
+ * @package plugins
+ * @subpackage squirrelspell
+ */
 
-// Load the necessary stuff.
-chdir("..");
-include("../src/validate.php");
-include("../src/load_prefs.php");
-include ("$SQSPELL_DIR/sqspell_config.php");
-require ("$SQSPELL_DIR/sqspell_functions.php");
+/**
+ * Include the SquirrelMail initialization file.
+ */
+require('../../include/init.php');
+
+/**
+ * Set up a couple of non-negotiable constants and
+ * defaults. Don't change these, * the setuppable stuff is in
+ * sqspell_config.php
+ */
+$SQSPELL_DIR='plugins/squirrelspell/';
+$SQSPELL_CRYPTO=FALSE;
 
-// Now load the necessary module from the modules dir.
-//
-if (!$MOD) $MOD="init";
+include_once(SM_PATH . $SQSPELL_DIR . 'sqspell_functions.php');
+
+/**
+ * $MOD is the name of the module to invoke.
+ * If $MOD is unspecified, assign "init" to it. Else check for
+ * security breach attempts.
+ */
+if(! sqgetGlobalVar('MOD',$MOD,SQ_FORM)) {
+    $MOD = 'init';
+}
+sqspell_ckMOD($MOD);
 
-// see if someone is attempting to be nasty by trying to get out of the
-// modules directory, although it probably wouldn't do them any good,
-// since every module has to end with .mod.php. Still, they deserve
-// to be warned. ;)
-if (strstr($MOD, ".") || strstr($MOD, "/") || strstr($MOD, "%")){ 
-       echo "SECURITY BREACH ON DECK 5! CMDR TUVOK AND SECURITY TEAM REQUESTED.";
-        exit;
+/* Load the stuff already. */
+if (file_exists(SM_PATH . $SQSPELL_DIR . "modules/$MOD.mod")) {
+    require_once(SM_PATH . $SQSPELL_DIR . "modules/$MOD.mod");
+} else {
+    error_box(_("Invalid SquirrelSpell module."));
+    // display sm footer (closes html tags)
+    $oTemplate->display('footer.tpl');
 }
-// fetch the module now.
-include ("$SQSPELL_DIR/modules/$MOD.mod.php");
-?>