From: Michael M Slusarz Date: Tue, 9 Feb 2010 05:16:49 +0000 (-0700) Subject: Provide basic checking to prevent switching between mimp/imp/dimp during session X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=49893aecfc0d44ad7250d5056ac1b7ed91dd0d52;p=horde.git Provide basic checking to prevent switching between mimp/imp/dimp during session --- diff --git a/imp/compose-dimp.php b/imp/compose-dimp.php index ae8a325d2..4a1361555 100644 --- a/imp/compose-dimp.php +++ b/imp/compose-dimp.php @@ -28,7 +28,7 @@ */ require_once dirname(__FILE__) . '/lib/Application.php'; -Horde_Registry::appInit('imp'); +Horde_Registry::appInit('imp', array('impmode' => 'dimp')); Horde_Nls::setTimeZone(); $vars = Horde_Variables::getDefaultVariables(); diff --git a/imp/compose-mimp.php b/imp/compose-mimp.php index 5d50b4456..de46685a4 100644 --- a/imp/compose-mimp.php +++ b/imp/compose-mimp.php @@ -13,7 +13,7 @@ */ require_once dirname(__FILE__) . '/lib/Application.php'; -Horde_Registry::appInit('imp'); +Horde_Registry::appInit('imp', array('impmode' => 'mimp')); Horde_Nls::setTimeZone(); diff --git a/imp/folders-mimp.php b/imp/folders-mimp.php index af5c3c47f..262c4e631 100644 --- a/imp/folders-mimp.php +++ b/imp/folders-mimp.php @@ -17,7 +17,7 @@ */ require_once dirname(__FILE__) . '/lib/Application.php'; -Horde_Registry::appInit('imp'); +Horde_Registry::appInit('imp', array('impmode' => 'mimp')); /* Redirect back to the mailbox if folder use is not allowed. */ if (empty($conf['user']['allow_folders'])) { diff --git a/imp/index-dimp.php b/imp/index-dimp.php index 5a5ff276b..3fe736455 100644 --- a/imp/index-dimp.php +++ b/imp/index-dimp.php @@ -13,7 +13,7 @@ */ require_once dirname(__FILE__) . '/lib/Application.php'; -Horde_Registry::appInit('imp'); +Horde_Registry::appInit('imp', array('impmode' => 'dimp')); $scripts = array( array('DimpBase.js', 'imp'), diff --git a/imp/lib/Application.php b/imp/lib/Application.php index 11b6cce5f..b982952cb 100644 --- a/imp/lib/Application.php +++ b/imp/lib/Application.php @@ -107,14 +107,26 @@ class IMP_Application extends Horde_Registry_Application // IMP_Search object. IMP::setCurrentMailboxInfo(); + $impmode = empty($this->initParams['impmode']) + ? 'imp' + : $this->initParams['impmode']; $viewmode = IMP::getViewMode(); + if ($viewmode == 'mimp') { + if ($impmode != 'mimp') { + header('Location: ' . IMP_Auth::getInitialPage(true)->setRaw(true)); + exit; + } $GLOBALS['imp_notify'] = $GLOBALS['notification']->replace('status', array(), 'IMP_Notification_Listener_StatusMobile'); } else { - $GLOBALS['imp_notify'] = $GLOBALS['notification']->replace('status', array('viewmode' => $viewmode), 'IMP_Notification_Listener_Status'); if ($viewmode == 'imp') { $GLOBALS['notification']->attach('audio'); + if ($impmode == 'dimp') { + header('Location: ' . IMP_Auth::getInitialPage(true)->setRaw(true)); + exit; + } } + $GLOBALS['imp_notify'] = $GLOBALS['notification']->replace('status', array('viewmode' => $viewmode), 'IMP_Notification_Listener_Status'); } } diff --git a/imp/mailbox-mimp.php b/imp/mailbox-mimp.php index 0fc65535c..9de9bcda1 100644 --- a/imp/mailbox-mimp.php +++ b/imp/mailbox-mimp.php @@ -21,7 +21,7 @@ */ require_once dirname(__FILE__) . '/lib/Application.php'; -Horde_Registry::appInit('imp'); +Horde_Registry::appInit('imp', array('impmode' => 'mimp')); Horde_Nls::setTimeZone(); diff --git a/imp/message-dimp.php b/imp/message-dimp.php index d398499e4..b58505408 100644 --- a/imp/message-dimp.php +++ b/imp/message-dimp.php @@ -11,7 +11,7 @@ */ require_once dirname(__FILE__) . '/lib/Application.php'; -Horde_Registry::appInit('imp'); +Horde_Registry::appInit('imp', array('impmode' => 'dimp')); $folder = Horde_Util::getFormData('folder'); $uid = Horde_Util::getFormData('uid'); diff --git a/imp/message-mimp.php b/imp/message-mimp.php index ba88dd72d..a243971de 100644 --- a/imp/message-mimp.php +++ b/imp/message-mimp.php @@ -19,7 +19,7 @@ */ require_once dirname(__FILE__) . '/lib/Application.php'; -Horde_Registry::appInit('imp'); +Horde_Registry::appInit('imp', array('impmode' => 'mimp')); Horde_Nls::setTimeZone();