socalledchaos
08-08-2006, 12:15
hallo,
ich bin gerade auf der Suche nach einem Wapmail client für IMAP und das einzige vernünftige was ich gefunden haben und zuerst funktionierte ware phpwapmail.
Gut, ich hab das Ding am Server (Debian Server, apache2, php5) installiert und mittles der wap emulation "deckIT" getestet. Jetzt meine Probleme. PHPwapmail funktioniert nicht mit meinen Sony-Ericsson K608i (problem mit dem laden der seite). Ok, dann hab ich halt Opera-Mini installiert. Hier sehe ich die Login Maske, trage meine Daten ein und klicke auf "login". ich sehe dann für ne 10tel Sekunde die Übersicht ("viewmail", "folder", etc) und lande dann aber wieder auf der Login Seite.
Ich denke das kann doch nur ein kleines PHP Problem sein oder?
hier der code der hauptdatei index.php
vielleicht kann mir ja wer helfen .. vielen dank im voraus!
<?
//
// Copyright (c) 2006 Dmitry Butskoy
// <buc@users.sourceforge.net>
// License: GNU GPL
//
// For full terms see the file COPYING.
//
require("./common.php");
// MAIN page
if (isset($P) && isset($F)) {
$check = imap_status($mbox,$HF,SA_MESSAGES|SA_UNSEEN) or
wmldie ("imap_check() failed: " . imap_last_error());
imap_close ($mbox);
wmlstart();
echo "<card id=\"index\">\n";
echo "<p align=\"center\"><small>\n";
if ($CYRUS) $foldname = preg_replace("/$BASEFOLDER\./", "", $F);
else $foldname = $F;
echo _('Folder').": $foldname <br/>\n";
echo _('Messages').": " . $check->messages . "<br/>\n" ;
echo _('Unread').": " . $check->unseen . "<br/>\n" ;
wmllink(_('View Mail'),"list.php",array("page"=>"1"));
echo "<br/>\n";
wmllink(_('Compose'),"compose.php",array("page"=>"1"));
echo "<br/>\n";
if ($F != $BASEFOLDER ) {
wmllink(_('Change to')." $BASEFOLDER","list.php",
array("page"=>"1","F"=>$BASEFOLDER));
echo "<br/>\n";
}
wmllink(_('Change Folder'),"index.php", array("CURRENTFOLDER"=>$F,"folderpage"=>0,"F"=>""));
echo "<br/>\n";
wmllink(_('Info'),"info.php",NULL);
echo "<br/>\n";
wmllink(_('Logout'),"index.php",array("CP"=>"","F"=>""));
imap_close($mbox);
echo "</small></p>\n";
echo "</card>\n";
/* let's change the folder */
} elseif ( isset($P) ) {
imap_close ($mbox);
$mbox = imap_open ("\{$H}", "$U", "$P",OP_HALFOPEN) or
wmldie ("can't connect: " . imap_last_error());
if ($CYRUS) $delim = "";
elseif ($COURIER) $delim = ".";
else $delim = "/";
// Maybe imap_getsubscribed() instead...
$mailboxlist = imap_getmailboxes($mbox,"\{$H}","$BASEFOLDER".$delim."*")
or wmldie ("imap_getmailboxes failed: ".imap_last_error());
wmlstart();
echo "<card id=\"mailbox\">\n";
echo "<p align=\"left\"><small>\n";
if ($CYRUS) $displayfolder = preg_replace("/$BASEFOLDER\./", "", $CURRENTFOLDER);
echo "<b>:: $displayfolder</b><br/>\n";
reset($mailboxlist);
$foldernr = sizeof($mailboxlist);
$folderpages = ceil($foldernr / $FOLDERSBYPAGE);
echo "<select name=\"F\">\n";
for($i = $folderpage * $FOLDERSBYPAGE, $stop = ($folderpage + 1) * $FOLDERSBYPAGE; $i < $stop && $i < $foldernr; $i++)
{
if ($CYRUS) {
if (preg_match("/^{.*}($BASEFOLDER(\.(.*))?)$/",imap_utf7_decode($mailboxlist[$i]->name), $match)) {
$F = $match[1];
$FOLDER = empty($match[3])? $F : $match[3];
echo " <option value=\"$F\">$FOLDER</option>\n";
}
} else print "<option value=\"".ereg_replace("/$","",ereg_replace("\{.*.\}","",imap_utf7_decode($mailboxlist[$i]->name)))."\">".ereg_replace("^\.","",ereg_replace("$BASEFOLDER","",ereg_replace("\{.*.\}","",imap_utf7_decode($mailboxlist[i]->name))))."</option>\n";
}
echo "</select>\n";
imap_close($mbox);
// unlucky if you have too much folders :-)
echo "<br/>\n";
for($i=0; $i < $folderpages; $i++) {
$next = $i + 1;
wmllink($next,"index.php",array("CURRENTFOLDER"=>$CURRENTFOLDER,"folderpage"=>$i,"F"=>""));
}
echo "<br/>\n";
wmlbutton(_('LOGIN'),"list.php",array("page"=>1));
wmlbutton(_('BACK'),"index.php",array("F"=>$CURRENTFOLDER));
echo "</small></p>\n";
echo "</card>\n";
// LOGIN stuff
} else {
wmlstart();
echo "<card id=\"input\" title=\"Viennalab Wapmail\">\n";
echo "<p><small>\n";
echo _('User').": <input format=\"*m\" name=\"user\" value=\"\"/><br/>\n";
echo _('Pass').": <input type=\"password\" format=\"*m\" name=\"password\" value=\"\"/><br/>\n";
if (!isset($HOST)) {
echo _('Host').": <input format=\"*x\" name=\"host\" value=\"\"/><br/>\n";
echo _('Protocol').": <select name=\"prot\" title=\"prot\" value=\"$DEF_PROT\">\n";
echo "<option value=\"/pop3\">pop3</option>\n";
echo "<option value=\"/pop3/ssl\">pop3-ssl</option>\n";
echo "<option value=\"/imap\">imap</option>\n";
echo "<option value=\"/imap/ssl\">imap-ssl</option>\n";
echo "</select><br/>\n";
}
echo _('Use cache').": <select name=\"cache\" title=\"cache\" value=\"1\">\n";
echo "<option value=\"1\">"._('Yes')."</option>\n";
echo "<option value=\"0\">"._('No')."</option>\n";
echo "</select>\n";
$hh = isset($HOST) ? $HOST : "$(host)$(prot)";
$F = "$BASEFOLDER";
echo "<br/>\n";
wmllink(_('LOGIN'),"index.php",
array("H"=>$hh,"F"=>$F,
"U"=>"$(user)","P"=>"$(password)",
"S"=>"$(cache)"),
"post");
echo "</small></p>\n";
wmlbutton(_('LOGIN'),"index.php",
array("H"=>$hh,"F"=>$F,
"U"=>"$(user)","P"=>"$(password)",
"S"=>"$(cache)"),
"post");
resetbutton(_('Reset'),array("user"=>"","password"=>"","host"=>""));
echo "</card>\n";
}
wmlend();
?>
ich bin gerade auf der Suche nach einem Wapmail client für IMAP und das einzige vernünftige was ich gefunden haben und zuerst funktionierte ware phpwapmail.
Gut, ich hab das Ding am Server (Debian Server, apache2, php5) installiert und mittles der wap emulation "deckIT" getestet. Jetzt meine Probleme. PHPwapmail funktioniert nicht mit meinen Sony-Ericsson K608i (problem mit dem laden der seite). Ok, dann hab ich halt Opera-Mini installiert. Hier sehe ich die Login Maske, trage meine Daten ein und klicke auf "login". ich sehe dann für ne 10tel Sekunde die Übersicht ("viewmail", "folder", etc) und lande dann aber wieder auf der Login Seite.
Ich denke das kann doch nur ein kleines PHP Problem sein oder?
hier der code der hauptdatei index.php
vielleicht kann mir ja wer helfen .. vielen dank im voraus!
<?
//
// Copyright (c) 2006 Dmitry Butskoy
// <buc@users.sourceforge.net>
// License: GNU GPL
//
// For full terms see the file COPYING.
//
require("./common.php");
// MAIN page
if (isset($P) && isset($F)) {
$check = imap_status($mbox,$HF,SA_MESSAGES|SA_UNSEEN) or
wmldie ("imap_check() failed: " . imap_last_error());
imap_close ($mbox);
wmlstart();
echo "<card id=\"index\">\n";
echo "<p align=\"center\"><small>\n";
if ($CYRUS) $foldname = preg_replace("/$BASEFOLDER\./", "", $F);
else $foldname = $F;
echo _('Folder').": $foldname <br/>\n";
echo _('Messages').": " . $check->messages . "<br/>\n" ;
echo _('Unread').": " . $check->unseen . "<br/>\n" ;
wmllink(_('View Mail'),"list.php",array("page"=>"1"));
echo "<br/>\n";
wmllink(_('Compose'),"compose.php",array("page"=>"1"));
echo "<br/>\n";
if ($F != $BASEFOLDER ) {
wmllink(_('Change to')." $BASEFOLDER","list.php",
array("page"=>"1","F"=>$BASEFOLDER));
echo "<br/>\n";
}
wmllink(_('Change Folder'),"index.php", array("CURRENTFOLDER"=>$F,"folderpage"=>0,"F"=>""));
echo "<br/>\n";
wmllink(_('Info'),"info.php",NULL);
echo "<br/>\n";
wmllink(_('Logout'),"index.php",array("CP"=>"","F"=>""));
imap_close($mbox);
echo "</small></p>\n";
echo "</card>\n";
/* let's change the folder */
} elseif ( isset($P) ) {
imap_close ($mbox);
$mbox = imap_open ("\{$H}", "$U", "$P",OP_HALFOPEN) or
wmldie ("can't connect: " . imap_last_error());
if ($CYRUS) $delim = "";
elseif ($COURIER) $delim = ".";
else $delim = "/";
// Maybe imap_getsubscribed() instead...
$mailboxlist = imap_getmailboxes($mbox,"\{$H}","$BASEFOLDER".$delim."*")
or wmldie ("imap_getmailboxes failed: ".imap_last_error());
wmlstart();
echo "<card id=\"mailbox\">\n";
echo "<p align=\"left\"><small>\n";
if ($CYRUS) $displayfolder = preg_replace("/$BASEFOLDER\./", "", $CURRENTFOLDER);
echo "<b>:: $displayfolder</b><br/>\n";
reset($mailboxlist);
$foldernr = sizeof($mailboxlist);
$folderpages = ceil($foldernr / $FOLDERSBYPAGE);
echo "<select name=\"F\">\n";
for($i = $folderpage * $FOLDERSBYPAGE, $stop = ($folderpage + 1) * $FOLDERSBYPAGE; $i < $stop && $i < $foldernr; $i++)
{
if ($CYRUS) {
if (preg_match("/^{.*}($BASEFOLDER(\.(.*))?)$/",imap_utf7_decode($mailboxlist[$i]->name), $match)) {
$F = $match[1];
$FOLDER = empty($match[3])? $F : $match[3];
echo " <option value=\"$F\">$FOLDER</option>\n";
}
} else print "<option value=\"".ereg_replace("/$","",ereg_replace("\{.*.\}","",imap_utf7_decode($mailboxlist[$i]->name)))."\">".ereg_replace("^\.","",ereg_replace("$BASEFOLDER","",ereg_replace("\{.*.\}","",imap_utf7_decode($mailboxlist[i]->name))))."</option>\n";
}
echo "</select>\n";
imap_close($mbox);
// unlucky if you have too much folders :-)
echo "<br/>\n";
for($i=0; $i < $folderpages; $i++) {
$next = $i + 1;
wmllink($next,"index.php",array("CURRENTFOLDER"=>$CURRENTFOLDER,"folderpage"=>$i,"F"=>""));
}
echo "<br/>\n";
wmlbutton(_('LOGIN'),"list.php",array("page"=>1));
wmlbutton(_('BACK'),"index.php",array("F"=>$CURRENTFOLDER));
echo "</small></p>\n";
echo "</card>\n";
// LOGIN stuff
} else {
wmlstart();
echo "<card id=\"input\" title=\"Viennalab Wapmail\">\n";
echo "<p><small>\n";
echo _('User').": <input format=\"*m\" name=\"user\" value=\"\"/><br/>\n";
echo _('Pass').": <input type=\"password\" format=\"*m\" name=\"password\" value=\"\"/><br/>\n";
if (!isset($HOST)) {
echo _('Host').": <input format=\"*x\" name=\"host\" value=\"\"/><br/>\n";
echo _('Protocol').": <select name=\"prot\" title=\"prot\" value=\"$DEF_PROT\">\n";
echo "<option value=\"/pop3\">pop3</option>\n";
echo "<option value=\"/pop3/ssl\">pop3-ssl</option>\n";
echo "<option value=\"/imap\">imap</option>\n";
echo "<option value=\"/imap/ssl\">imap-ssl</option>\n";
echo "</select><br/>\n";
}
echo _('Use cache').": <select name=\"cache\" title=\"cache\" value=\"1\">\n";
echo "<option value=\"1\">"._('Yes')."</option>\n";
echo "<option value=\"0\">"._('No')."</option>\n";
echo "</select>\n";
$hh = isset($HOST) ? $HOST : "$(host)$(prot)";
$F = "$BASEFOLDER";
echo "<br/>\n";
wmllink(_('LOGIN'),"index.php",
array("H"=>$hh,"F"=>$F,
"U"=>"$(user)","P"=>"$(password)",
"S"=>"$(cache)"),
"post");
echo "</small></p>\n";
wmlbutton(_('LOGIN'),"index.php",
array("H"=>$hh,"F"=>$F,
"U"=>"$(user)","P"=>"$(password)",
"S"=>"$(cache)"),
"post");
resetbutton(_('Reset'),array("user"=>"","password"=>"","host"=>""));
echo "</card>\n";
}
wmlend();
?>