TheSession->Hdr = Hdr;
TheSession->SessionKey = Hdr->HR.SessionKey;
TheSession->serv_sock = (-1);
- TheSession->is_mobile = -1;
pthread_setspecific(MyConKey, (void *)TheSession);
}
-/*
- * Detects a 'mobile' user agent
- */
-int is_mobile_ua(char *user_agent) {
- if (strstr(user_agent,"iPhone OS") != NULL) {
- return 1;
- } else if (strstr(user_agent,"Windows CE") != NULL) {
- return 1;
- } else if (strstr(user_agent,"SymbianOS") != NULL) {
- return 1;
- } else if (strstr(user_agent, "Opera Mobi") != NULL) {
- return 1;
- } else if (strstr(user_agent, "Firefox/2.0.0 Opera 9.51 Beta") != NULL) {
- /* For some reason a new install of Opera 9.51beta decided to spoof. */
- return 1;
- }
- return 0;
-}
-
/* If it's a "force 404" situation then display the error and bail. */
void do_404(void)
{
hdr->HR.ContentType = Line;
}
-void Header_HandleUserAgent(StrBuf *Line, ParsedHttpHdrs *hdr)
-{
- hdr->HR.user_agent = Line;
-#ifdef TECH_PREVIEW
-/* TODO: do this later on session creating
- if ((WCC->is_mobile < 0) && is_mobile_ua(&buf[12])) {
- WCC->is_mobile = 1;
- }
- else {
- WCC->is_mobile = 0;
- }
-*/
-#endif
-}
-
void Header_HandleHost(StrBuf *Line, ParsedHttpHdrs *hdr)
{
{
RegisterHeaderHandler(HKEY("CONTENT-LENGTH"), Header_HandleContentLength);
RegisterHeaderHandler(HKEY("CONTENT-TYPE"), Header_HandleContentType);
- RegisterHeaderHandler(HKEY("USER-AGENT"), Header_HandleUserAgent);
RegisterHeaderHandler(HKEY("X-FORWARDED-HOST"), Header_HandleXFFHost); /* Apache way... */
RegisterHeaderHandler(HKEY("X-REAL-IP"), Header_HandleXFFHost); /* NGinX way... */
RegisterHeaderHandler(HKEY("HOST"), Header_HandleHost);
wDumpContent(0);
}
-/*
- * Mobile browser view of message
- */
-void mobile_message_view(void)
-{
- long msgnum = 0L;
- const StrBuf *Mime;
-
- msgnum = StrBufExtract_long(WC->Hdr->HR.ReqLine, 0, '/');
- output_headers(1, 0, 0, 0, 0, 1);
- begin_burst();
- do_template("msgcontrols", NULL);
- read_message(WC->WBuf, HKEY("view_message"), msgnum, NULL, &Mime);
- wDumpContent(0);
-}
-
/*
* Display a message's headers
*/
WebcitAddUrlHandler(HKEY("msg"), "", 0, embed_message, NEED_URL);
WebcitAddUrlHandler(HKEY("message"), "", 0, handle_one_message, NEED_URL|XHTTP_COMMANDS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE);
WebcitAddUrlHandler(HKEY("printmsg"), "", 0, print_message, NEED_URL);
- WebcitAddUrlHandler(HKEY("mobilemsg"), "", 0, mobile_message_view, NEED_URL);
WebcitAddUrlHandler(HKEY("msgheaders"), "", 0, display_headers, NEED_URL);
WebcitAddUrlHandler(HKEY("mimepart"), "", 0, view_mimepart, NEED_URL);
do_template("roombanner", NULL);
- /* roombanner contains this for mobile */
- if (WC->is_mobile)
- return;
-
do_template("navbar", NULL);
wc_printf("</div>\n");
}
+++ /dev/null
-<!-- start beginbox.html-->
-<div class="box">
-<div class="boxlabel"><?CONTEXTSTR("X")></div>
-<div class="boxcontent">
-<!-- end beginbox.html-->
+++ /dev/null
-</div></div>
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
- <head>
- <title><?CURRENT_USER> - <?SERV:HUMANNODE></title>
- <meta name="MSSmartTagsPreventParsing" content="TRUE" >
- <meta name="keywords" content="groupware messaging collaboration" >
- <link href="static/styles/mobile.css" rel="stylesheet" type="text/css">
- <script type="text/javascript" src="static/mobile.js"></script>
- <meta name="viewport" content="width=device-width"/>
- </head>
- <body>
- <div id="global">
-<!--("end head.html")-->
+++ /dev/null
-<?HELLO>
-<div class="login_message"><?MESG></div>
-<form action="login" method="POST" class="box" id="login_form">
- <label for="uname"><?USERNAME_BOX></label>
- <input type="text" name="name" id="uname" >
- <label for="pname"><?PASSWORD_BOX></label>
- <input type="password" name="pass" id="pname" >
- <label for="lname"><?LANGUAGE_BOX></label>
- <div><?DO_LANGUAGE_BOX></div>
- <div class="logbuttons">
- <input type="submit" name="login_action" value="<?LOGIN_BUTTON>" class="logbutton">
- <?NEWUSER_BUTTON_PRE>
- <input type="submit" name="newuser_action" value="<?NEWUSER_BUTTON>" class="logbutton" >
- <?NEWUSER_BUTTON_POST>
- <input type="submit" name="exit_action" value="<?EXIT_BUTTON>" class="logbutton">
- <br>
- </div>
-</form>
-<?OFFER_OPENID_LOGIN>
-<div class="login_image"><img src="image?name=hello"></div>
-<div class="login_infos"><?LOGIN_INSTRUCTIONS></div>
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
- <head>
- <title><?CURRENT_USER> - <?SERV:HUMANNODE></title>
- <meta name="MSSmartTagsPreventParsing" content="TRUE" >
- <meta name="keywords" content="groupware messaging collaboration" >
- <link href="/static/styles/mobile.css" rel="stylesheet" type="text/css">
- <script type="text/javascript" src="/static/mobile.js"></script>
- <meta name="viewport" content="width=980, initial-scale = 0.5"/>
- <base href="/webcit/"/>
- </head>
- <body>
- <div class="sticky">
- <div class="mcontrols">
- <button onmousedown="history.go(-1)">Back to message list</button>
- <button>Reply to this message</button><button>Move to trash</button>
- </div>
- </div>
- <div id="vcontent">
+++ /dev/null
-<!-- start roombanner.html -->
-<div class="banner" >
-<h1 class="roomname"><?=("room_view_picture")> <?ROOMNAME></h1>
-<p><?ROOMINFO> <?NUMMSGS></p>
-<p><?OFFERSTARTPAGE> <?=("searchomatic")></p>
-</div>
-<!-- end roombanner.html -->
+++ /dev/null
- <!--("start trailing.m.html")-->
- </div> <!--("end of 'global' div")-->
- </body>
-</html>
TP = &LocalTP;
}
- if (WC->is_mobile > 0) {
- Static = WirelessTemplateCache;
- StaticLocal = WirelessLocalTemplateCache;
- }
- else {
- Static = TemplateCache;
- StaticLocal = LocalTemplateCache;
- }
+ Static = TemplateCache;
+ StaticLocal = LocalTemplateCache;
if (len == 0)
{
WCC= WC;
WCC->upload_length = 0;
WCC->upload = NULL;
- WCC->is_mobile = 0;
WCC->Hdr->nWildfireHeaders = 0;
if (WCC->Hdr->HR.Handler != NULL)
Flags = WCC->Hdr->HR.Handler->Flags; /* so we can temporarily add our own... */
pthread_mutex_t SessionMutex; /* mutex for exclusive access */
int wc_session; /* WebCit session ID */
int killthis; /* Nonzero == purge this session */
- int is_mobile; /* Client is a handheld browser */
int ctdl_pid; /* Session ID on the Citadel server */
int nonce; /* session nonce (to prevent session riding) */
int SessionKey;
void webcit_fmt_date(char *buf, size_t siz, time_t thetime, int Format);
void summary(void);
-int is_mobile_ua(char *user_agent);
-
/* actual supported locales */
void TmplGettext(StrBuf *Target, WCTemplputParams *TP);
void offer_languages(StrBuf *Target, int nArgs, WCTemplateToken *Token, void *Context, int ContextType);