6.0.0-beta13
4/12/26
  • MIMP !HowTo

If you want to setup [http://www.horde.org/mimp/ MIMP] in parallel with [http://www.horde.org/imp/ IMP], you need the [AuthCompositeHowTo composite authentication driver] with a browser switch.

##red|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';

}

}