[Zope] Fixed in v2.3

Ioan Coman ioan2k@yahoo.com
Tue, 8 Jan 2002 02:04:54 -0800 (PST)


Hello Everyone!

I'm sorry! Is my mistake!

I extracted headers from zope document only
and I let PHP to render without headers (option -q)!!
Double mistake!

Download version 2.3
http://www.zope.org/Members/Ioan/PHPObject/
and tell me if is working!

Yours,
 Ioan.


--- Milos Prudek <milos.prudek@tiscali.cz> wrote:
> > You posted a question a couple weeks ago looking
> for a way for
> > authenticated Zope users to access IMP without
> having to
> > re-authenticate...I was sort of keeping an eye out
> for an answer to
> > that, since I'd like to do either the same thing
> or the reverse (have an
> > authenticated IMP user be able to access Zope
> (possibly management
> > screens) without having to re-authenticate).
> > 
> > Did this PPHPDocument product allow for that sort
> of thing? and if so,
> > do you have any tips or samples you could share?
> 
> I did get quite far with PHPDocument, but not far
> enough.
> 
> I was able to modify IMP's redirect.php to
> autologin. Then I made two
> very slight modifications to allow redirect.php to
> run from PHPDocument
> (see the source below, the lines marked as [mod for
> Zope]). It does not
> give any errors, but it also does not give any
> results. Just an empty
> page.
> 
> The reason, I believe, is because redirect.php
> writes raw http header
> and that is something that PHPDocument cannot
> handle. 
> 
> I CC: this to PHPDocument author in case he would
> like to look at it.
> 
> THE SOURCE OF redirect.php:
> 
> <?php
> /*
>  * $Horde: imp/redirect.php,v 1.23.2.3 2002/01/02
> 17:05:32 jan Exp $
>  *
>  * Copyright 1999-2002 Charles J. Hagenbuch
> <chuck@horde.org>
>  * Copyright 1999-2002 Jon Parise <jon@horde.org>
>  *
>  * See the enclosed file COPYING for license
> information (GPL).  If you
>  * did not receive this file, see
> http://www.fsf.org/copyleft/gpl.html.
>  */
> 
> // [mod for Zope]
> /* define('IMP_BASE', dirname(__FILE__)); */
> define('IMP_BASE', '/home/httpd/html/horde/imp');
> 
> require_once IMP_BASE . '/lib/base.php';
> 
> $HTTP_POST_VARS['imapuser'] = 'milos';
> $HTTP_POST_VARS['pass'] = 'secretsecret';
> $HTTP_POST_VARS['server'] = 'localhost';
> $HTTP_POST_VARS['actionID'] = '105';
> $HTTP_POST_VARS['mailbox'] = 'INBOX';
> $HTTP_POST_VARS['port'] = '143';
> $HTTP_POST_VARS['maildomain'] = 'example.com';
> $HTTP_POST_VARS['protocol'] = 'imap';
> $HTTP_POST_VARS['realm'] = 'example.com';
> $HTTP_POST_VARS['folders'] = 'mail%2F';
> $HTTP_POST_VARS['new_lang'] = 'cz_CZ';
> $HTTP_POST_VARS['button'] =
> 'P%F8ihl%E1%B9en%ED+do+syst%E9mu';
> 
> $action = Horde::getFormData('action', '');
> if ($action === 'compose') {
>     $actionID = LOGIN_COMPOSE;
> } else {
>     $actionID = Horde::getFormData('actionID',
> IMP_LOGIN);
> }
> 
> /* If we already have a session... */
> if (isset($HTTP_SESSION_VARS['imp']) &&
> is_array($HTTP_SESSION_VARS['imp'])) {
>     /* Make sure that if a username was specified,
> it is the current
> username */
>     if ((!isset($HTTP_POST_VARS['imapuser']) ||
> $HTTP_POST_VARS['imapuser'] ==
> $HTTP_SESSION_VARS['imp']['user']) &&
>         (!isset($HTTP_POST_VARS['pass']) ||
> $HTTP_POST_VARS['pass'] ==
> Secret::read(Secret::getKey('imp'),
> $HTTP_SESSION_VARS['imp']['pass'])))
> {
>         
>         if ($actionID == IMP_LOGIN) {
>             $actionID = NO_ACTION;
>         }
>         header('Location: ' .
> Horde::applicationUrl('mailbox.php?actionID=' .
> $actionID, true));
>         exit;
>     } else {
>         /* Disable the old session. */
>         $imp = false;
>         session_unregister('imp');
>         header('Location: ' .
> Horde::applicationUrl(IMP::logoutUrl('login.php',
> 'failed'), true));
>         exit;
>     }
> }
> 
> /* Create a new session if we're given the proper
> parameters. */
> if (isset($HTTP_POST_VARS['imapuser']) &&
> isset($HTTP_POST_VARS['pass'])) {
>     if (!isset($HTTP_POST_VARS['mailbox'])) {
>         $HTTP_POST_VARS['mailbox'] = 'INBOX';
>     }
>     if (($reason = IMP::createSession()) === true) {
>         $imp['_login'] = true;
> 
> 
>         // [mod for Zope]
>         $entry = sprintf('Login success for %s [%s]
> to {%s:%s}',
>                          $imp['user'], '<dtml-var
> REMOTE_ADDR>',
> $imp['server'], $imp['port']);
>         Horde::logMessage($entry, __FILE__,
> __LINE__, LOG_NOTICE);
> 
> 
>         if (Horde::getFormData('redirect_url')) {
>             header('Location: ' .
> Horde::getFormData('redirect_url'));
>             exit;
>         }
> 
>         header('Location: ' .
> Horde::applicationUrl('mailbox.php?actionID=' .
> $actionID, true));
>         exit;
>     } else {
>         header('Location: ' .
> Horde::applicationUrl(IMP::logoutUrl('login.php',
> $reason), true));
>         exit;
>     }
> }
> 
> /* No session, and no login attempt. Just go to the
> login page. */
> $uri = 'login.php';
> if (!empty($HTTP_SERVER_VARS['QUERY_STRING'])) {
>     $uri .= '?' . $HTTP_SERVER_VARS['QUERY_STRING'];
> }
> header('Location: ' . Horde::applicationUrl($uri,
> true));
> exit;
> 
> ?>
> 
> <dtml-var standard_html_footer>
> 
> --
> Milos Prudek
> 


__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/