gmail-mobile is a PHP application to access Gmail/Googlemail/Gmail-for-Your-Domain accounts on wireless devices. It provides a convenient alternative access method to your email account on the move, gmail-mobile incorporates as many Gmail features as possible within limits of a mobile device.
<?
/****************************************************************
gmail-mobile (a.k.a. unofficial Gmail Mobile)
Copyright (c) 2005, 2006
Neerav Modi and others
Version 0.11 (c) 2004
GAN Ying Hung, Rudi Pittman, Gaston Annebicque
Licensed under the GNU GPL. For full terms see the file COPYING.
gmail-mobile (unofficial Gmail Mobile since Sept 2004) provides
access to Gmail accounts with any WAP enabled phone or hand held
(in WML format).
http://gmail-mobile.sourceforge.net
*****************************************************************/
require_once("libgmailer.php");
require_once("config.php");
// create the gmail object
$gmailer = new GMailer();
// initialize connection
quick_init($gmailer);
// Connect to gmail
connect_gmail();
// Localization (l10n) phrases
load_language();
$status = false;
$status_message = "";
if (isset($_GET['act']) and $_GET['act'] == "save") {
$shortcuts = (isset($_POST['short'])) ? $_POST['short'] : 0;
$p_indicator= (isset($_POST['p_ind'])) ? $_POST['p_ind'] : 0;
$snippets = (isset($_POST['snip'])) ? $_POST['snip'] : 1;
$use_sign = (isset($_POST['usign'])) ? $_POST['usign'] : 0;
$signature = (isset($_POST['sign'])) ? $_POST['sign'] : "";
$lang = (isset($_POST['lang'])) ? $_POST['lang'] : "en";
$psize = (isset($_POST['psize'])) ? $_POST['psize'] : 25;
$encoding = (isset($_POST['enc'])) ? $_POST['enc'] : 0;
$vacation = (isset($_POST['vac'])) ? $_POST['vac'] : 0;
$vacation_subject = (isset($_POST['vacs'])) ? stripslashes($_POST['vacs']) : "";
$vacation_message = (isset($_POST['vacm'])) ? stripslashes($_POST['vacm']) : "";
$vacation_contacts = (isset($_POST['vacc'])) ? $_POST['vacc'] : 0;
// str_replace is NOT safe; we need gmStr_replace
$signature = gmStr_replace("\\n","\r\n",stripslashes($signature));
// change Gmail Language
if (!isset($_SESSION['gm_language'])) $_SESSION['gm_language'] = "zz";
/* debug_print("new_lang: ".print_r($lang,true)); */
/* debug_print("session old_lang: ".print_r($_SESSION['gm_language'],true)); */
if ($lang != $_SESSION['gm_language']) {
$status = $gmailer->changeLanguage($lang, $_SESSION['gm_language']);
// perform the action to prime the language change
$status = $gmailer->setSetting(
$lang, $psize, $shortcuts,
$p_indicator, $snippets, $use_sign, $signature,
$encoding,
$_SESSION['gm_setting_fpop_cache']['forward'],
$_SESSION['gm_setting_fpop_cache']['forward_to'],
$_SESSION['gm_setting_fpop_cache']['forward_action'],
$_SESSION['gm_setting_fpop_cache']['pop_enabled'],
$_SESSION['gm_setting_fpop_cache']['pop_action'],
$_SESSION['gm_setting_other_cache']['rich_text'],
$_SESSION['gm_setting_other_cache']['expand_labels'],
$_SESSION['gm_setting_other_cache']['expand_invites'],
$vacation, $vacation_subject, $vacation_message, $vacation_contacts,
$_SESSION['gm_setting_other_cache']['expand_talk'],
$_SESSION['gm_setting_other_cache']['save_chat']
);
}
// perform the action
$status = $gmailer->setSetting(
$lang, $psize, $shortcuts,
$p_indicator, $snippets, $use_sign, $signature,
$encoding,
$_SESSION['gm_setting_fpop_cache']['forward'],
$_SESSION['gm_setting_fpop_cache']['forward_to'],
$_SESSION['gm_setting_fpop_cache']['forward_action'],
$_SESSION['gm_setting_fpop_cache']['pop_enabled'],
$_SESSION['gm_setting_fpop_cache']['pop_action'],
$_SESSION['gm_setting_other_cache']['rich_text'],
$_SESSION['gm_setting_other_cache']['expand_labels'],
$_SESSION['gm_setting_other_cache']['expand_invites'],
$vacation, $vacation_subject, $vacation_message, $vacation_contacts,
$_SESSION['gm_setting_other_cache']['expand_talk'],
$_SESSION['gm_setting_other_cache']['save_chat']
);
$status_message = $gmailer->lastActionStatus('message');
if ($status) {
$_SESSION['gm_language'] = $lang;
if ($use_sign) {
$_SESSION['gm_signature'] = ($signature != "")
? "\r\n\r\n--\r\n".$signature
: ""
;
}
if ($_SESSION['gm_language'] == "en") {
include("gmobile_lang.php");
} else {
if (file_exists("lang/".$_SESSION['gm_language'].".php")) {
include("lang/".$_SESSION['gm_language'].".php");
}
}
}
}
$gmailer->fetchBox(GM_PREFERENCE, 0, 0);
$snapshot = $gmailer->getSnapshot(GM_PREFERENCE);
if ($snapshot->created == 0) static_error($snapshot->snapshot_error);
$setting = $snapshot->setting_gen;
// update cached preferences
$_SESSION['gm_setting_gen_cache'] = $snapshot->setting_gen;
$_SESSION['gm_setting_fpop_cache'] = $snapshot->setting_fpop;
$_SESSION['gm_setting_other_cache'] = $snapshot->setting_other;
$_SESSION['gm_setting_mobile_cache'] = $snapshot->setting_mobile;
$_SESSION['gm_display_boxes'] = $_SESSION['gm_setting_mobile_cache']['display_boxes'];
// update other cached info
$_SESSION['gm_language'] = ((isset($snapshot->setting_gen['language'])) and ($snapshot->setting_gen['language'] != ""))
? $snapshot->setting_gen['language']
: "en"
;
$_SESSION['gm_signature'] =
(isset($snapshot->setting_gen['signature']) and ($snapshot->setting_gen['signature'] != ""))
? "\r\n\r\n--\r\n".$snapshot->signature
: ""
;
// Mailbox size warning
if ( isset($snapshot->setting_gen['page_size'])
and ($snapshot->setting_gen['page_size'] != "")
and ($snapshot->setting_gen['page_size'] > 25)
)
$status_message = sprintf($gm_lang['reduce_mailbox_size'],strip_tags(SID))."<br /><br />".$status_message;
// for debugging
/* debug_print("gmailer object: ".print_r($gmailer,true)); */
//debug_print("snapshot object: ".print_r($snapshot,true));
/* exit; */
$sup_langs = array (
"id" => "Bahasa Indonesia" // Indonesian
,"ca" => "Catala" // Catalan
,"da" => "Dansk" // Danish
,"de" => "Deutsch" // German
,"et" => "Eesti Keel" // Estonian
,"en" => "English (US)" // English (US)
,"en-GB"=> "English (UK)" // English (UK)
,"es" => "Espanol" // Spanish
,"fr" => "Francais" // French
,"hr" => "Hrvatski" // Croatian
,"it" => "Italiano" // Italian
,"is" => "islenska" // Icelandic
,"lv" => "Latvian" // Latvian
,"lt" => "Lietuviu" // Lithuanian
,"hu" => "Magyar" // Hungarian
,"nl" => "Nederlands" // Dutch
,"pl" => "Polski" // Polish
,"pt-BR"=> "Portugues" // Portuguese-Brazil
,"ro" => "Romana" // Romanian
,"sk" => "Slovensky" // Slovak
,"sl" => "Slovenscina" // Slovenian
,"fi" => "Suomi" // Finnish
,"sv" => "Svenska" // Swedish
,"tl" => "Tagalog" // Tagalog
,"vi" => "Tieng Viet" // Vietnamese
,"tr" => "Turkish" //
,"cs" => "Czech" //
,"el" => "Greek" //
,"ru" => "Russian" //
,"sr" => "Serbian" //
,"uk" => "Ukrainian" //
,"bg" => "Bulgarian" //
,"iw" => "Hebrew" //
,"ar" => "Arabic" //
,"hi" => "Hindi" //
,"th" => "Thai" //
,"zh-TW"=> "Chinese (Traditional)" //
,"zh-CN"=> "Chinese (Simplified)" //
,"ja" => "Japanese" //
,"ko" => "Korean" //
);
$setvar_signature = str_replace("\n","\\n",cleanse_string($setting["signature"]));
$setvar_vacm = str_replace("\n","\\n",cleanse_string($setting["vacation_message"]));
print_headers(); // send wml headers
//include("template.php"); // print template
?>
<card title="<? echo $gm_lang['general'] ?>" id='main'>
<onevent type="onenterforward">
<refresh>
<setvar name="lang" value="<? echo $setting['language'] ?>" />
<setvar name="short" value="<? echo $setting['shortcuts'] ?>" />
<setvar name="p_ind" value="<? echo $setting['p_indicator'] ?>" />
<setvar name="snip" value="<? echo $setting['show_snippets'] ?>" />
<setvar name="usign" value="<? echo $setting['use_signature'] ?>" />
<setvar name="sign" value="<? echo $setvar_signature ?>" />
<setvar name="psize" value="<? echo $setting['page_size'] ?>" />
<setvar name="enc" value="<? echo $setting['encoding'] ?>" />
<setvar name="vac" value="<? echo $setting['vacation_enabled'] ?>" />
<setvar name="vacs" value="<? echo cleanse_string($setting['vacation_subject']) ?>" />
<setvar name="vacm" value="<? echo $setvar_vacm ?>" />
<setvar name="vacc" value="<? echo $setting['vacation_contact'] ?>" />
</refresh>
</onevent>
<p>
<?
// display a system-wide message
system_message();
if ($status_message != "") echo "<em>".$status_message."</em><br /><br />\n";
?>
<b><? echo $gm_lang['general_settings']?></b><br />
<br />
<small><? echo $gm_lang['na_equals'] ?></small><br />
<br />
<b><? echo $gm_lang['gmail_dis_lang']?></b><br />
<select title="<? echo $gm_lang['gmail_dis_lang']?>" name="lang">
<?
if (!array_key_exists($setting['language'], $sup_langs)) {
echo "<option value=\"".$setting['language']."\">".$setting['language']."</option>\n";
}
foreach($sup_langs as $lang_code => $lang_name) {
echo "<option value=\"".$lang_code."\">".$lang_name."</option>\n";
}
?>
</select><br />
<br />
<b><? echo $gm_lang['max_page_size'] ?></b> <? echo $gm_lang['na'] ?><br />
<? if ($setting['page_size'] > 25) echo "<small><b>".$gm_lang['set_to_25']."<br /></b></small>"; ?>
<select title="<? echo $gm_lang['page_size']?>" name="psize">
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
<br />
<b><? echo $gm_lang['keyboard_shortcuts'] ?></b> <? echo $gm_lang['na'] ?><br />
<select title="<? echo $gm_lang['keyboard_shortcuts'] ?>" name="short">
<option value="0"><? echo $gm_lang['off'] ?></option>
<option value="1"><? echo $gm_lang['on'] ?></option>
</select>
<br />
<b><? echo $gm_lang['pers_level_ind'] ?>:</b><br />
<small>(&gt; and &gt;&gt;)</small><br />
<select title="<? echo $gm_lang['pers_level_ind'] ?> (&gt; and &gt;&gt;): " name="p_ind">
<option value="0"><? echo $gm_lang['no_indicators'] ?></option>
<option value="1"><? echo $gm_lang['show_indicators'] ?></option>
</select>
<br />
<b><? echo $gm_lang['snippets'] ?></b> <? echo $gm_lang['na'] ?><br />
<select title="<? echo $gm_lang['snippets'] ?>" name="snip">
<option value="0"><? echo $gm_lang['no_snippets'] ?></option>
<option value="1"><? echo $gm_lang['show_snippets'] ?></option>
</select>
<br />
<b><? echo $gm_lang['signature_col'] ?></b><br />
<small><? echo $gm_lang['append_to_all'] ?></small><br />
<select title="<? echo $gm_lang['signature_col'] ?>" name="usign">
<option value="0"><? echo $gm_lang['none_cap'] ?></option>
<option value="1"><? echo $gm_lang['custom'] ?></option>
</select>
<small><? echo $gm_lang['custom_signature']."<br />".$gm_lang['return_character'] ?></small><br />
<input title="<? echo $gm_lang['signature_col'] ?>" name="sign" emptyok="true" /><br />
<b><? echo $gm_lang['vacation_responder'] ?></b><br />
<small><? echo $gm_lang['vacation_resp_ext'] ?></small><br />
<select title="<? echo $gm_lang['vacation_responder'] ?>" name="vac">
<option value="0"><? echo $gm_lang['off'] ?></option>
<option value="1"><? echo $gm_lang['on'] ?></option>
</select>
<small><? echo $gm_lang['subject'] ?></small><br />
<input title="<? echo $gm_lang['subject'] ?>" name="vacs" emptyok="true" maxlength="250" /><br />
<small><? echo $gm_lang['message']."<br />".$gm_lang['return_character'] ?></small><br />
<input title="<? echo $gm_lang['message'] ?>" name="vacm" emptyok="true" /><br />
<small><? echo $gm_lang['vacation_cont_only'] ?></small><br />
<select title="<? echo $gm_lang['vacation_only_cont'] ?>" name="vacc">
<option value="0"><? echo $gm_lang['no'] ?></option>
<option value="1"><? echo $gm_lang['yes'] ?></option>
</select>
<br />
<b><? echo $gm_lang['out_msg_encoding'] ?></b><br />
<select title="<? echo $gm_lang['out_msg_encoding'] ?>" name="enc">
<option value="0"><? echo $gm_lang['default_encoding'] ?></option>
<option value="1"><? echo $gm_lang['unicode_encoding'] ?></option>
</select>
<br />
<? echo "<a href='setting.php?".RANDOM.GMID."'>".$gm_lang['cancel']."</a><br />\n"; ?>
<anchor title="<? echo $gm_lang['save_changes'] ?>"><go href="<? echo basename(SELF).'?act=save'.RANDOM.'&amp;'.strip_tags(SID) ?>" method="post">
<postfield name="short" value="$(short)" />
<postfield name="p_ind" value="$(p_ind)" />
<postfield name="snip" value="$(snip)" />
<postfield name="usign" value="$(usign)" />
<postfield name="sign" value="$(sign)" />
<postfield name="lang" value="$(lang)" />
<postfield name="psize" value="$(psize)" />
<postfield name="enc" value="$(enc)" />
<postfield name="vac" value="$(vac)" />
<postfield name="vacm" value="$(vacm)" />
<postfield name="vacs" value="$(vacs)" />
<postfield name="vacc" value="$(vacc)" />
</go><? echo $gm_lang['save_changes'] ?></anchor>
<br />
<?
//if ($_SESSION['gm_links_display'] != 2) {
echo "--------<br />";
echo "<a href='setting.php?".RANDOM.GMID."'>".$gm_lang['settings']."</a><br />\n";
echo "<a href='main.php?sum=1".RANDOM.GMID."'>".$gm_lang['summary']."</a><br />\n";
echo "<a href='compose.php?action=new&amp;back=".basename(SELF).RANDOM.GMID."'>".$gm_lang['compose_mail']."</a><br />\n";
echo "<a href='logout.php?".RANDOM.GMID."'>".$gm_lang['sign_out']."</a>\n";
//}
echo "</p>\n";
print_footer();
?>
&nbsp;