From eda512cf6bb0581de085c309358a778bf918c4cc Mon Sep 17 00:00:00 2001 From: peteruithoven Date: Fri, 27 Sep 2013 01:38:44 +0200 Subject: [PATCH] Basic server functionality --- .project | 17 ++ connect.php | 12 ++ create_table.php | 16 ++ css/main.css | 0 css/normalize.css | 534 ++++++++++++++++++++++++++++++++++++++++++++++ favicon.ico | Bin 0 -> 1150 bytes favicon.png | Bin 0 -> 814 bytes index.php | 38 ++++ signin.php | 70 ++++++ 9 files changed, 687 insertions(+) create mode 100644 .project create mode 100644 connect.php create mode 100644 create_table.php create mode 100644 css/main.css create mode 100644 css/normalize.css create mode 100755 favicon.ico create mode 100644 favicon.png create mode 100644 index.php create mode 100644 signin.php diff --git a/.project b/.project new file mode 100644 index 0000000..47f153f --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + Doodle3D Connect Server + + + + + + net.sourceforge.phpeclipse.parserbuilder + + + + + + net.sourceforge.phpeclipse.phpnature + + diff --git a/connect.php b/connect.php new file mode 100644 index 0000000..cea46e1 --- /dev/null +++ b/connect.php @@ -0,0 +1,12 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + +?> diff --git a/create_table.php b/create_table.php new file mode 100644 index 0000000..86e2ab6 --- /dev/null +++ b/create_table.php @@ -0,0 +1,16 @@ +prepare("CREATE TABLE IF NOT EXISTS $table (" . + "`id` varchar(151) NOT NULL," . + "`remoteip` varchar(15) NOT NULL," . + "`localip` varchar(15) NOT NULL," . + "`wifiboxid` varchar(140) NOT NULL," . + "`hidden` tinyint(1) NOT NULL DEFAULT '0'," . + "`date` datetime NOT NULL," . + "PRIMARY KEY (`id`)" . + ") ENGINE=InnoDB DEFAULT CHARSET=latin1;"); + $createsql->execute(); +?> diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..e69de29 diff --git a/css/normalize.css b/css/normalize.css new file mode 100644 index 0000000..823cc10 --- /dev/null +++ b/css/normalize.css @@ -0,0 +1,534 @@ +/*! normalize.css v1.0.2 | MIT License | git.io/normalize */ + +/* ========================================================================== + HTML5 display definitions + ========================================================================== */ + +/* + * Corrects `block` display not defined in IE 6/7/8/9 and Firefox 3. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section, +summary { + display: block; +} + +/* + * Corrects `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. + */ + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +/* + * Prevents modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/* + * Addresses styling for `hidden` attribute not present in IE 7/8/9, Firefox 3, + * and Safari 4. + * Known issue: no IE 6 support. + */ + +[hidden] { + display: none; +} + +/* ========================================================================== + Base + ========================================================================== */ + +/* + * 1. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using + * `em` units. + * 2. Prevents iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-size: 100%; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + -ms-text-size-adjust: 100%; /* 2 */ +} + +/* + * Addresses `font-family` inconsistency between `textarea` and other form + * elements. + */ + +html, +button, +input, +select, +textarea { + font-family: sans-serif; +} + +/* + * Addresses margins handled incorrectly in IE 6/7. + */ + +body { + margin: 0; +} + +/* ========================================================================== + Links + ========================================================================== */ + +/* + * Addresses `outline` inconsistency between Chrome and other browsers. + */ + +a:focus { + outline: thin dotted; +} + +/* + * Improves readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* ========================================================================== + Typography + ========================================================================== */ + +/* + * Addresses font sizes and margins set differently in IE 6/7. + * Addresses font sizes within `section` and `article` in Firefox 4+, Safari 5, + * and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +/* + * Addresses styling not present in IE 7/8/9, Safari 5, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/* + * Addresses style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +blockquote { + margin: 1em 40px; +} + +/* + * Addresses styling not present in Safari 5 and Chrome. + */ + +dfn { + font-style: italic; +} + +/* + * Addresses styling not present in IE 6/7/8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/* + * Addresses margins set differently in IE 6/7. + */ + +p, +pre { + margin: 1em 0; +} + +/* + * Corrects font family set oddly in IE 6, Safari 4/5, and Chrome. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, serif; + _font-family: 'courier new', monospace; + font-size: 1em; +} + +/* + * Improves readability of pre-formatted text in all browsers. + */ + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +/* + * Addresses CSS quotes not supported in IE 6/7. + */ + +q { + quotes: none; +} + +/* + * Addresses `quotes` property not supported in Safari 4. + */ + +q:before, +q:after { + content: ''; + content: none; +} + +/* + * Addresses inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/* + * Prevents `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + Lists + ========================================================================== */ + +/* + * Addresses margins set differently in IE 6/7. + */ + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +/* + * Addresses paddings set differently in IE 6/7. + */ + +menu, +ol, +ul { + padding: 0 0 0 40px; +} + +/* + * Corrects list images handled incorrectly in IE 7. + */ + +nav ul, +nav ol { + list-style: none; + list-style-image: none; +} + +/* ========================================================================== + Embedded content + ========================================================================== */ + +/* + * 1. Removes border when inside `a` element in IE 6/7/8/9 and Firefox 3. + * 2. Improves image quality when scaled in IE 7. + */ + +img { + border: 0; /* 1 */ + -ms-interpolation-mode: bicubic; /* 2 */ +} + +/* + * Corrects overflow displayed oddly in IE 9. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + Figures + ========================================================================== */ + +/* + * Addresses margin not present in IE 6/7/8/9, Safari 5, and Opera 11. + */ + +figure { + margin: 0; +} + +/* ========================================================================== + Forms + ========================================================================== */ + +/* + * Corrects margin displayed oddly in IE 6/7. + */ + +form { + margin: 0; +} + +/* + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/* + * 1. Corrects color not being inherited in IE 6/7/8/9. + * 2. Corrects text not wrapping in Firefox 3. + * 3. Corrects alignment displayed oddly in IE 6/7. + */ + +legend { + border: 0; /* 1 */ + padding: 0; + white-space: normal; /* 2 */ + *margin-left: -7px; /* 3 */ +} + +/* + * 1. Corrects font size not being inherited in all browsers. + * 2. Addresses margins set differently in IE 6/7, Firefox 3+, Safari 5, + * and Chrome. + * 3. Improves appearance and consistency in all browsers. + */ + +button, +input, +select, +textarea { + font-size: 100%; /* 1 */ + margin: 0; /* 2 */ + vertical-align: baseline; /* 3 */ + *vertical-align: middle; /* 3 */ +} + +/* + * Addresses Firefox 3+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +button, +input { + line-height: normal; +} + +/* + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Corrects inability to style clickable `input` types in iOS. + * 3. Improves usability and consistency of cursor style between image-type + * `input` and others. + * 4. Removes inner spacing in IE 7 without affecting normal text inputs. + * Known issue: inner spacing remains in IE 6. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ + *overflow: visible; /* 4 */ +} + +/* + * Re-set default cursor for disabled elements. + */ + +button[disabled], +input[disabled] { + cursor: default; +} + +/* + * 1. Addresses box sizing set to content-box in IE 8/9. + * 2. Removes excess padding in IE 8/9. + * 3. Removes excess padding in IE 7. + * Known issue: excess padding remains in IE 6. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + *height: 13px; /* 3 */ + *width: 13px; /* 3 */ +} + +/* + * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/* + * Removes inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* + * Removes inner padding and border in Firefox 3+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * 1. Removes default vertical scrollbar in IE 6/7/8/9. + * 2. Improves readability and alignment in all browsers. + */ + +textarea { + overflow: auto; /* 1 */ + vertical-align: top; /* 2 */ +} + +/* ========================================================================== + Tables + ========================================================================== */ + +/* + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + + +/* http://nicolasgallagher.com/micro-clearfix-hack/ */ +/** + * For modern browsers + * 1. The space content is one way to avoid an Opera bug when the + * contenteditable attribute is included anywhere else in the document. + * Otherwise it causes space to appear at the top and bottom of elements + * that are clearfixed. + * 2. The use of `table` rather than `block` is only necessary if using + * `:before` to contain the top-margins of child elements. + */ + +/** + * For IE 6/7 only + * Include this rule to trigger hasLayout and contain floats. + */ +.cf { + *zoom: 1; +} + +.cf:before, +.cf:after { + content: " "; /* 1 */ + display: table; /* 2 */ +} + +.cf:after { + clear: both; +} diff --git a/favicon.ico b/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..505118c7bf059f4468fdc5326e9063561abd8187 GIT binary patch literal 1150 zcmc(dT})eL7{?FOL=!_oyztJ%m~1m+4nwBX$TkNHdchPC*;q1Gk#9Dju#N%^9h9|& zwiuW*1G*MBX*UL%g<8JKSRh8nFj%sTu~35u%uGWJgbS0x&*v0x=Y=<(li%~6^L(85 z|2*$elqk7lVid72DFsg}$_t93ydsE8JX?NQ6h&gsKet8XT@3Jlvr9Bw5PlHag(P8{ zpz3;6_(JFtyn~z{bXgggG`hH;1;Ygio@LQ1i1lYwP$_bBZBX2y)P&~+S*Cc@z`szzOfo=X>9=qu{+wLPR->p-W?XHIII)*}AA{}mZW4zVvj7Dx37 z)_?2c^5;6Hrl#=w{lspMCo`p-oR1CC!!!oH1xHf@)3RT?)Ia{I6LXz`-kuwr)}+wa zS;Kce8@;_ftgNgsJUqUCdIURuaxznwOzU%cBv%~>tuWg#Fm{HyL#Oir=}2+d9UX@*1vtyZHXwMlMLby1zO@e(r|#0Kr==6y|0} z=BLqU*t_Q-sqdcTy`(g9a`ISOT4JEz&$zD%yD^)4BQ0!(x>=v;iuC?g{H{pPa(;&w z78aP8m>?Jo5(z=)B`hO*W3Bnc84wjeQ~PMc7W* zZcPz%5fv0zR~1Fk*F{C2P+7!MXuFpS5fUye>@u)@P!~~*R#rAtl%wY8_-d1BuToh$ zopJBGr~^NEc+NTh=RD6jkCINO`4LmUk(?vGl|qH!6$XVi;g;}Hn6Qk%G{Gl)5{4B; zX_u;UOw)WHiA3n^F&Hw3$x2xB=f6D&l zhYwq*yV8iw?!+}E4~s?NzdOy;*Z!V> zkMpGUDX}q~7x$Z(SGAn{;&MKZe&AWtE&jfEiVL+TsIIPFrpDXa*cV>U!m=RB_!#Y} zJ}#aAjq=J$(k?evs~v}H61FS_6bGTTtMC>T(a`V*p-||C8V-lKXCxUK_mDFBsZhNH z9aD+6JfdJ}vD_vt~ckt%z8?17gPjhmo z>p9cjy%iBVy4%f~Jtw6LCNme!XJlvq*T^8jU=X#pyNAJeg1r24)-CvzrdO>bT?(g< z9OTf+GuZtBhEiSRcyz`_Rigj=h1!>3?~bj~A?qw9nM|h7)t;lLy_1qaDa%%_$h1dZ z-m)Pck2hSbt0y%uDDRVv&zDE2YVm|$hA1e+6q%@Ux#%{bQfL*f3b%!EAt+>gnQprepare("SELECT * FROM $table where date >= FROM_UNIXTIME(:hourago) AND remoteip = :remoteip"); + $statement->execute(array( ':hourago' => $hourago, + ':remoteip' => $remoteip)); + $boxes = $statement->fetchAll(); +?> + + + + Doodle3D Connect + + + + + + + + + + + + +

Hi, we found the following Doodle3D WiFi boxes near you:

+ + + \ No newline at end of file diff --git a/signin.php b/signin.php new file mode 100644 index 0000000..649a7c6 --- /dev/null +++ b/signin.php @@ -0,0 +1,70 @@ +"; + $localip = $_POST['localip']; + echo "localip: $localip
"; + + if(!isset($_POST['wifiboxid'])) echo "missing wifiboxid
"; + $wifiboxid = $_POST['wifiboxid']; + echo "wifiboxid: $wifiboxid
"; + + $remoteip = getenv('REMOTE_ADDR'); + echo "remoteip: $remoteip
"; + + $timestamp = time(); + echo "timestamp: $timestamp
"; + + $id = $remoteip.'/'.$wifiboxid; + echo "id: $id
"; + + /*$statement = $db->prepare("INSERT INTO $table(remoteip, localip, wifiboxid, date) VALUES(:remoteip, :localip, :wifiboxid, FROM_UNIXTIME(:timestamp))"); + $statement->execute(array( ':remoteip' => $remoteip, + ':localip' => $localip, + ':wifiboxid' => $wifiboxid, + ':timestamp' => $timestamp + ));*/ + + /*$statement = $db->prepare( "UPDATE $table " . + "SET localip = :localip, " . + " date = FROM_UNIXTIME(:timestamp)" . + "WHERE remoteip=:remoteip AND " . + " wifiboxid=:wifiboxid"); + $statement->execute(array( ':remoteip' => $remoteip, + ':localip' => $localip, + ':wifiboxid' => $wifiboxid, + ':timestamp' => $timestamp + ));*/ + + + + /*$statement = $db->prepare("INSERT INTO $table(id,remoteip, localip, wifiboxid, date) VALUES(:id,:remoteip, :localip, :wifiboxid, FROM_UNIXTIME(:timestamp))"); + $statement->execute(array( ':id' => $id, + ':remoteip' => $remoteip, + ':localip' => $localip, + ':wifiboxid' => $wifiboxid, + ':timestamp' => $timestamp + ));*/ + + $statement = $db->prepare( "REPLACE INTO $table " . + "SET id = :id, " . + " remoteip = :remoteip, " . + " localip = :localip, " . + " wifiboxid = :wifiboxid, " . + " date = FROM_UNIXTIME(:timestamp)"); + $statement->execute(array( ':id' => $id, + ':remoteip' => $remoteip, + ':localip' => $localip, + ':wifiboxid' => $wifiboxid, + ':timestamp' => $timestamp)); + + // Remove old signins + $hourago = time() - 60*60; + echo "hourago: $hourago (time: ".time().")
"; + + $statement = $db->prepare("DELETE FROM $table WHERE date < FROM_UNIXTIME(:hourago)"); + $statement->execute(array( ':hourago' => $hourago)); +?>