6.0.0-git
2024-04-20
Last Modified 2006-09-26 by Guest

MIMP !chow

If you want to setup MIMP in parallel with IMP, you need the composite authentication driver with a browser switch.

NOTE: As of September 2006, the CVS HEAD development version of MIMP no longer needs this configuration. The HEAD version will automatically authenticate via a mobile-friendly screen when it detects a mobile browser.

To use the composite driver select it from the dropdown list in the authentication tab of the configuration interface or change $conf['auth']['driver'] to 'composite' in horde/config/conf.php.

In horde/config/conf.php, insert the following code:


$conf['auth']['params']['drivers'] = array(

    'imp' => array('driver' => 'application',

                   'params' => array('app' => 'imp')),

    'mimp' => array('driver' => 'application',

                    'params' => array('app' => 'mimp')));

$conf['auth']['params']['loginscreen_switch'] = '_horde_select_loginscreen';

if (!function_exists('_horde_select_loginscreen')) {

    function _horde_select_loginscreen()

    {

        require_once 'Horde/Browser.php';

        $browser = new Browser();

        if ($browser->isMobile()) {

            return 'mimp';

        }

        return 'imp';

    }

}

This will give you either the IMP or the MIMP login screen, depending on the browser you use.

If you want to use some other authentication driver than "application/imp" for Horde if not using a mobile browser, just replace the 'imp' part with your regular Horde authentication settings:


$conf['auth']['params']['drivers'] = array(

    'horde' => array('driver' => 'my_auth_driver',

                     'params' => array(

                         // Necessary parameters for 'my_auth_driver'.

                         ...

                         )),

    'mimp' => array('driver' => 'application',

                    'params' => array('app' => 'mimp')));

$conf['auth']['params']['loginscreen_switch'] = '_horde_select_loginscreen';

if (!function_exists('_horde_select_loginscreen')) {

    function _horde_select_loginscreen()

    {

        require_once 'Horde/Browser.php';

        $browser = new Browser();

        if ($browser->isMobile()) {

            return 'mimp';

        }

        return 'horde';

    }

}