From 1a7fa60f6cb2ee26843ca19e37bb4ff44104ad55 Mon Sep 17 00:00:00 2001 From: Bulletin Date: Thu, 29 Dec 2016 16:42:32 -0500 Subject: Added existing progress --- activate.php | 14 +++ css/chat.css | 82 +++++++++++++ css/internal.css | 140 ++++++++++++++++++++++ css/logsup.css | 140 ++++++++++++++++++++++ css/main.css | 307 +++++++++++++++++++++++++++++++++++++++++++++++++ css/main.css~ | 216 ++++++++++++++++++++++++++++++++++ dash/css/dash.css | 160 ++++++++++++++++++++++++++ dash/dash_common.php | 8 ++ dash/dash_employee.php | 28 +++++ dash/dash_employer.php | 9 ++ dash/footer.php | 10 ++ dash/header.php | 51 ++++++++ dash/headless.php | 29 +++++ dash/img/location.svg | 38 ++++++ dash/img/x_hover.png | Bin 0 -> 2882 bytes dash/img/x_hover2.png | Bin 0 -> 2735 bytes dash/img/x_raw.png | Bin 0 -> 2658 bytes dash/index.php | 18 +++ dash/js/dash.js | 16 +++ dash/nav.php | 13 +++ favicon.ico | Bin 0 -> 8566 bytes forgot.php | 79 +++++++++++++ img/2.png | Bin 0 -> 10703 bytes img/2.png~ | Bin 0 -> 12245 bytes img/2chainz.png | Bin 0 -> 63609 bytes img/3.jpg | Bin 0 -> 447084 bytes img/4.png | Bin 0 -> 1017 bytes img/5.png | Bin 0 -> 10802 bytes img/downbtn.png | Bin 0 -> 12976 bytes img/dwn.png | Bin 0 -> 9021 bytes img/handshake.png | Bin 0 -> 8529 bytes img/logo.png | Bin 0 -> 97914 bytes img/talks.png | Bin 0 -> 8315 bytes inc/common.php | 9 ++ inc/config.php | 18 +++ inc/db.php | 10 ++ inc/eml.tpl | 23 ++++ inc/fatal.tpl | 23 ++++ inc/forgot.tpl | 23 ++++ inc/functions.php | 67 +++++++++++ inc/mobile.php | 9 ++ inc/user.php | 18 +++ index.php | 82 +++++++++++++ js/auth.php | 14 +++ js/chat.js | 121 +++++++++++++++++++ js/frontpage.js | 11 ++ js/jquery-ui.min.js | 13 +++ js/jquery.min.js | 4 + login.php | 82 +++++++++++++ logout.php | 9 ++ signup.php | 154 +++++++++++++++++++++++++ ttf/deja.ttf | Bin 0 -> 352492 bytes ttf/myriad.ttf | Bin 0 -> 94884 bytes ttf/opensans.ttf | Bin 0 -> 217360 bytes ttf/roboto.ttf | Bin 0 -> 145348 bytes ttf/ubuntu.ttf | Bin 0 -> 353824 bytes 56 files changed, 2048 insertions(+) create mode 100644 activate.php create mode 100644 css/chat.css create mode 100644 css/internal.css create mode 100644 css/logsup.css create mode 100644 css/main.css create mode 100644 css/main.css~ create mode 100644 dash/css/dash.css create mode 100644 dash/dash_common.php create mode 100644 dash/dash_employee.php create mode 100644 dash/dash_employer.php create mode 100644 dash/footer.php create mode 100644 dash/header.php create mode 100644 dash/headless.php create mode 100644 dash/img/location.svg create mode 100644 dash/img/x_hover.png create mode 100644 dash/img/x_hover2.png create mode 100644 dash/img/x_raw.png create mode 100644 dash/index.php create mode 100644 dash/js/dash.js create mode 100644 dash/nav.php create mode 100644 favicon.ico create mode 100644 forgot.php create mode 100644 img/2.png create mode 100644 img/2.png~ create mode 100644 img/2chainz.png create mode 100644 img/3.jpg create mode 100644 img/4.png create mode 100644 img/5.png create mode 100644 img/downbtn.png create mode 100644 img/dwn.png create mode 100644 img/handshake.png create mode 100644 img/logo.png create mode 100644 img/talks.png create mode 100644 inc/common.php create mode 100644 inc/config.php create mode 100644 inc/db.php create mode 100644 inc/eml.tpl create mode 100644 inc/fatal.tpl create mode 100644 inc/forgot.tpl create mode 100644 inc/functions.php create mode 100644 inc/mobile.php create mode 100644 inc/user.php create mode 100644 index.php create mode 100644 js/auth.php create mode 100644 js/chat.js create mode 100644 js/frontpage.js create mode 100644 js/jquery-ui.min.js create mode 100644 js/jquery.min.js create mode 100644 login.php create mode 100644 logout.php create mode 100644 signup.php create mode 100644 ttf/deja.ttf create mode 100644 ttf/myriad.ttf create mode 100644 ttf/opensans.ttf create mode 100644 ttf/roboto.ttf create mode 100644 ttf/ubuntu.ttf diff --git a/activate.php b/activate.php new file mode 100644 index 0000000..66f14b3 --- /dev/null +++ b/activate.php @@ -0,0 +1,14 @@ +query('UPDATE users SET active = 1 WHERE id = '.$uid.' AND session = \''.hash('sha512', $key).'\'') or fatal($db->error); +if ($db->affected_rows < 1) fatal('Invalid information provided.'); +setcookie($b_config['c_name'], $uid.';'.$key, 0, $b_config['c_path'], $b_config['c_dom'], $b_config['c_sec'], $b_config['c_http']); +fatal('Your account is now active, you will be taken to the user dashboard.', $b_config['base_url'].'dash/'); +?> diff --git a/css/chat.css b/css/chat.css new file mode 100644 index 0000000..0076177 --- /dev/null +++ b/css/chat.css @@ -0,0 +1,82 @@ +.chexp { + bottom: 0px !important; +} +.chshr { + bottom: -232px !important; +} +.chwin { + z-index: 2; + position: fixed; + right: 0px; + height: 256px; + width: 400px; + border: #aaaaaa 1px solid; + border-left: #fb4d00 1px solid; + border-radius: 7px 0px 0px 0px; + background-color: #ffffff; + font-family: 'Myriad Pro'; + font-size: 11pt; +} +.chhead { + height: calc(24px - 0.25em); + position: absolute; + background-color: #fb4d00; + top: 0px; + left: 0px; + width: calc(100% - 20px); + padding: 0.25em 10px 0px 10px; + border-radius: 4px 0px 0px 0px; + font-weight: bold; + font-size: 12pt; + cursor: pointer; +} +.chlist { + position: absolute; + top: 24px; + left: 0px; + width: calc(100% - 10px); + height: 205px; + list-style: none; + padding: 0px 5px 0px 5px; + margin: 0px; + border-style: solid; + border-width: 1px 0px 1px 0px; + border-color: #aaaaaa; +} +.chlist .chnick { + margin-right: .2em; + font-weight: bold; +} +.chlist li.chfailed { + color: #777777; + cursor: pointer; +} +.chinput { + position: absolute; + bottom: 3px; + left: 3px; + width: calc(100% - 8px); +} +.chshrbtn { + width: 16px; + height: 16px; + position: absolute; + top: 2px; + right: 24px; + cursor: pointer; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AgJBjgR7kpV0gAAAB1JREFUOMtjYBgFwwAwIrH/k6OXiVIXMI1GwnAAAErlAQYUzSSWAAAAAElFTkSuQmCC'); + background-position: center; +} +.chxbtn { + width: 16px; + height: 16px; + position: absolute; + top: 2px; + right: 2px; + cursor: pointer; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AgJBwAR+BeDHgAAAAh0RVh0Q29tbWVudAD2zJa/AAAAUElEQVQ4y2NgGGjAiMT+j0OcAZ8aJiIU4hPDaQC6hv/EeAGvQlz6GIl1Ki5LGUkIA6zqmagZjVTxAkWB+B+PQpxyTEQ6FVdg4zSAkUixQQAACvINEiubgxcAAAAASUVORK5CYII='); + background-position: center; +} +.chshrbtn:hover, .chxbtn:hover { + background-color: rgba(0, 0, 0, 0.25); +} diff --git a/css/internal.css b/css/internal.css new file mode 100644 index 0000000..18b2838 --- /dev/null +++ b/css/internal.css @@ -0,0 +1,140 @@ +@font-face { + font-family: 'Myriad Pro'; + src: url('../ttf/myriad.ttf'); +} +body { + margin: 0px; +} +#head { + width: 100%; + height: 110px; + border-style: none none solid none; + border-width: 1px; + border-color: #dddddd; +} +#head .logolink { + display: block; + margin: 0px auto 0px auto; + width: 334px; + height: 100%; + background-size: contain; + background-image: url('../img/5.png'); + background-repeat: no-repeat; + background-position: center, center; +} +.box { + margin: 1em auto 1em auto; + display: table; + width: 450px; +} +.fullrow, .helper { + margin: 15px -15px 15px -15px; + width: 100%; + display: block; +} +.halfrowl { + display: inline-block; + width: 50%; + text-align: left; + float: left; +} +.halfrowr { + display: inline-block; + width: 50%; + text-align: right; +} +.box, .box input, .box select { + font-family: 'Myriad Pro'; + font-size: 16pt; +} +.box select { + padding: 5px; + background-color: #ffffff; + border-style: solid; + border-width: 1px; + border-color: #dddddd; + border-radius: 5px; + color: #000000; +} +.box select::invalid { + color: #aaaaaa; +} +.iama { + margin-right: 0.25em; +} +.box label { + font-size: 13pt; +} +input[type=text], input[type=password] { + width: calc(100% - 24px); + padding: 6px 12px; + border-style: solid; + border-width: 1px; + border-color: #dddddd; + border-radius: 5px; +} +.err input { + border-color: #aa0000; +} +input[type=submit] { + margin-left: auto; + background-color: #fb4d00; + padding: 5px 50px 5px 50px; + border-style: none; + border-radius: 15px; + color: #ffffff; + font-size: 14pt; + font-weight: bold; + cursor: pointer; +} +input[type=submit]:hover { + background-color: #fb7700; +} +.box form { + margin-bottom: 2em; +} +.box p { + font-size: 12pt; + width: 100%; + text-align: center; +} +.box p a, .back a { + text-decoration: none; + color: #fb4d00; +} +.helper a:hover, .back a:hover { + color: #fb7700; +} +.ehelper { + color: #aa0000; + font-weight: bold; +} +.hr { + width: 450px; + height: 1px; + margin: auto; + background-color: #dddddd; +} +.back { + margin-top: 2em; + font-family: 'Myriad Pro'; + font-weight: 8pt; + text-align: center; + color: #aaaaaa; +} +.copy { + color: #dddddd; + position: fixed; + z-index: -1; + bottom: 0px; + left: 0px; + right: 0px; + margin: auto; + text-align: center; + font-size: x-small; + font-family: 'Myriad Pro'; +} +#inpext, #inparea, #inpphone2, #inpphone3 { + width: initial; + display: inline; +} diff --git a/css/logsup.css b/css/logsup.css new file mode 100644 index 0000000..ae60e1d --- /dev/null +++ b/css/logsup.css @@ -0,0 +1,140 @@ +@font-face { + font-family: 'Myriad Pro'; + src: url('../ttf/myriad.ttf'); +} +body { + margin: 0px; +} +#head { + width: 100%; + height: 110px; + border-style: none none solid none; + border-width: 1px; + border-color: #dddddd; +} +#head .logolink { + display: block; + margin: 0px auto 0px auto; + width: 334px; + height: 100%; + background-size: contain; + background-image: url('../img/5.png'); + background-repeat: no-repeat; + background-position: center, center; +} +.logform { + margin: 1em auto 1em auto; + display: table; + width: 450px; +} +.fullrow, .helper { + margin: 15px -15px 15px -15px; + width: 100%; + display: block; +} +.halfrowl { + display: inline-block; + width: 50%; + text-align: left; + float: left; +} +.halfrowr { + display: inline-block; + width: 50%; + text-align: right; +} +.logform, .logform input, .logform select { + font-family: 'Myriad Pro'; + font-size: 16pt; +} +.logform select { + padding: 5px; + background-color: #ffffff; + border-style: solid; + border-width: 1px; + border-color: #dddddd; + border-radius: 5px; + color: #000000; +} +.logform select::invalid { + color: #aaaaaa; +} +.iama { + margin-right: 0.25em; +} +.logform label { + font-size: 13pt; +} +input[type=text], input[type=password] { + width: calc(100% - 24px); + padding: 6px 12px; + border-style: solid; + border-width: 1px; + border-color: #dddddd; + border-radius: 5px; +} +.err input { + border-color: #aa0000; +} +input[type=submit] { + margin-left: auto; + background-color: #fb4d00; + padding: 5px 50px 5px 50px; + border-style: none; + border-radius: 15px; + color: #ffffff; + font-size: 14pt; + font-weight: bold; + cursor: pointer; +} +input[type=submit]:hover { + background-color: #fb7700; +} +.logform form { + margin-bottom: 2em; +} +.logform p { + font-size: 12pt; + width: 100%; + text-align: center; +} +.logform p a { + text-decoration: none; + color: #fb4d00; +} +.helper a:hover { + color: #fb7700; +} +.ehelper { + color: #aa0000; + font-weight: bold; +} +.hr { + width: 450px; + height: 1px; + margin: auto; + background-color: #dddddd; +} +.welcome { + margin-top: 2em; + font-family: 'Myriad Pro'; + font-weight: 8pt; + text-align: center; + color: #aaaaaa; +} +.copy { + color: #dddddd; + position: fixed; + z-index: -1; + bottom: 0px; + left: 0px; + right: 0px; + margin: auto; + text-align: center; + font-size: x-small; + font-family: 'Myriad Pro'; +} +#inpext, #inparea, #inpphone2, #inpphone3 { + width: initial; + display: inline; +} diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..a6a8672 --- /dev/null +++ b/css/main.css @@ -0,0 +1,307 @@ +@font-face { + font-family: 'Myriad Pro'; + src: url('../ttf/myriad.ttf'); +} +@font-face { + font-family: 'DejaVu Sans Extra-Light'; + src: url('../ttf/deja.ttf'); +} + +body { + background-image: linear-gradient(135deg, rgba(0,0,0,0.7) 10%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0)), + url('../img/3.jpg'); + background-size: cover; + background-repeat: no-repeat; + background-attachment: fixed; +} +#headerbar { + height: 48px; + width: 100%; + position: absolute; + top: 0px; + left: 0px; +} +#headerimg { + background-image: url('../img/2.png'); + background-size: contain; + background-repeat: no-repeat; + margin-left: 8%; + height: inherit; +} +#midbody { + margin-left: auto; + margin-right: auto; + height: 150px; + color: #ffffff; + text-align: center; + font-size: 20pt; + max-width: 66%; + position: absolute; + left: 0px; + right: 0px; + top: 43%; +} +.bigquote { + font-family: 'Myriad Pro'; + font-size: 133%; + font-weight: bold; +} +#links { + margin-top: 3em; + display: flex; + flex-direction: row; + justify-content: center; + height: 44px; + text-align: center; +} +.link { + cursor: pointer; + text-align: center; + margin: 0px 24px 0px 24px; + border-style: solid; + border-width: 1px; + border-radius: 10px; + display: flex; + flex-direction: column; + width: 112px; + justify-content: center; +} +.link a { + text-decoration: none; + font-family: 'Myriad Pro'; + font-size: 16pt; + font-weight: bold; + color: #ffffff; +} +#link1 { + background-color: #fb3800; + border-color: #fb3800; +} +#link2 { + background-color: #a0a0a0; + border-color: #a0a0a0; +} +#cover { + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: calc(100% - 56px); + box-shadow: 0px 0px 5px rgba(0,0,0,0.75); +} +#about { + position: absolute; + top: 100%; + left: 0px; +} + +/* Small screen security */ +@media screen and (max-width: 480px) { + #headerimg { + padding-left: 10px; + } + #midbody { + max-width: 100%; + } +} +#part2 { + width: 100%; + position: absolute; + top: 85vh; + left: 0px; +} +#header2 { + width: 100%; + height: 175px; + position: absolute; + z-index: 1; + top: 0px; + left: 0px; + background-color: #fe8242; + box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75); +} +#body2 { + background-color: #ffffff; + width: 100%; + position: absolute; + top: 0px; + left: 0px; + z-index: 0; +} +#footer { + width: 100%; + height: 14px; + position: absolute; + z-index: 1; + bottom: 0px; + left: 0px; + background-color: #f0f0f0; +} +#copy { + font-size: x-small; + font-family: 'Myriad Pro'; + position: absolute; + text-align: center; + position: absolute; + bottom: 0px; + left: 0px; + right: 0px; + margin: auto; +} +#copy a { + color: #000000; + text-decoration: none; +} +a #lefth2 p, #midh2 p, #righth2 p { + margin: 0px; + color: #000000; +} +#lefth2 { + background-image: url('../img/2chainz.png'); + left: 10%; + margin: 0px 0px 0px 0px; +} +#midh2 { + background-image: url('../img/handshake.png'); + left: 0px; + right: 0px; + margin: 0px auto 0px auto; +} +#righth2 { + background-image: url('../img/talks.png'); + right: 10%; + margin: 0px 0px 0px 5px; +} +#lefth2, #midh2, #righth2 { + width: 143px; + position: absolute; + top: 0px; + background-repeat: no-repeat; + background-size: 130px; + background-position: center 10px; + padding: 148px 16px 8px 16px; + font-family: 'DejaVu Sans Extra-Light'; + font-size: 16px; + text-transform: uppercase; + text-align: center; + cursor: pointer; +} +a:hover #lefth2, a:hover #midh2, a:hover #righth2 { + background-color: rgba(0,0,0,0.2); +} +#header3 { + background-color: #f0f0f0; + height: 10px; +} +#header3 p { + padding-top: 0.25em; + padding-bottom: 0.25em; + margin-top: 0em; + margin-bottom: 0em; + font-family: 'DejaVu Sans Extra-Light'; + font-size: 24pt; + text-align: center; +} +#header3 a { + text-decoration: none; + color: #000000; +} +#mission { + font-family: 'DejaVu Sans Extra-Light'; + font-size: 12pt; + margin: 0vw 10vw 20px 10vw; +} +.bubble p { + margin: 0px; +} +p.bubblehead { + font-weight: bold; + font-size: 16pt; + margin: 0px 0px 0.5em 0px; +} +.bubble { + padding: 1em; + width: 20vw; + margin: 0 0.75vw 0 0.75vw; + border-style: solid; + border-width: 1px; + border-color: #aaaaaa; + border-radius: 15px; + text-align: center; + display: inline-block; + font-size: 14pt; + white-space: normal; +} +#dwnbtn:hover { + background-color: #cccccc; +} +#workers { + margin: 1.5em 0em 2em 0em; +} +#workers h2, #employers h2 { + margin: 0px 0px 1em 0px; + text-align: center; + font-size: 24pt; + font-weight: bold; +} +#workers a, #employers a { + text-decoration: none; +} +.workerbtn { + text-decoration: none; + color: #fb4d00; + border: 1px solid #fb4d00; + border-radius: 5px; + padding: 0.5em; + display: inline-block; + margin: 2em 0px 1em 33vw; + cursor: pointer; +} +.workerbtn:hover { + color: #eeeeee; + background-color: #fb4d00; +} +#employers { +} +.employerbtn { + text-decoration: none; + color: #fb4d00; + border: 1px solid #fb4d00; + border-radius: 5px; + padding: 0.5em; + display: inline-block; + margin: 2em 0px 1em 32vw; + cursor: pointer; +} +.employerbtn:hover { + color: #eeeeee; + background-color: #fb4d00; +} +#dwnbtn { + width: 45px; + height: 43px; + border-radius: 45px; + margin: auto; + z-index: 2; + background-color: #ffffff; + background-image: url('../img/dwn.png'); + background-size: 24px 24px; + background-repeat: no-repeat; + background-position: center center; + position: absolute; + left: 0px; + right: 0px; + top: -17px; + box-shadow: 0px 0px 5px rgba(0,0,0,0.75); +} +.nowrap { + display: flex; + flex-flow: row nowrap; + justify-content: center; +} +.bubbleflash { + padding-top: 50px; + padding-bottom: 50px; + font-size: 60pt; + word-wrap: break-word; +} diff --git a/css/main.css~ b/css/main.css~ new file mode 100644 index 0000000..c8737f7 --- /dev/null +++ b/css/main.css~ @@ -0,0 +1,216 @@ +@font-face { + font-family: Ubuntu; + src: url('../ttf/ubuntu.ttf'); +} +@font-face { + font-family: OpenSans; + src: url('../ttf/opensans.ttf'); +} +@font-face { + font-family: 'Roboto'; + src: url('../ttf/roboto.ttf'); +} +@font-face { + font-family: 'DejaVu Sans Extra-Light'; + src: url('../ttf/deja.ttf'); +} + +#headerbar { + height: 48px; + width: 100%; + position: absolute; + top: 0px; + left: 0px; +} +#headerimg { + background-image: url('../img/2.png'); + background-size: contain; + background-repeat: no-repeat; + margin-left: 8%; + height: inherit; +} +#midbody { + margin-left: auto; + margin-right: auto; + height: 150px; + color: #ffffff; + text-align: center; + font-size: 20pt; + max-width: 66%; + position: absolute; + left: 0px; + right: 0px; + top: 43%; +} +.bigquote { + font-family: OpenSans; + font-size: 133%; + font-weight: bold; +} +#links { + margin-left: auto; + margin-right: auto; + position: absolute; + left: 0px; + right: 0px; + top: 65%; + text-align: center; +} +.link { + cursor: pointer; + text-align: center; + margin: 0px 24px 0px 24px; + border-style: solid; + border-width: 1px; + border-radius: 10px; +} +.link a { + text-decoration: none; + font-family: Ubuntu; + font-size: 18pt; + color: #ffffff; +} +#link1 { + background-color: #fb3800; + border-color: #fb3800; + padding: 15px 28px 15px 28px; +} +#link2 { + background-color: #d0d0d0; + padding: 15px 20px 15px 20px; + border-color: #d0d0d0; +} +#cover { + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + background-image: linear-gradient(135deg, rgba(0,0,0,0.7) 5%, rgba(0,0,0,0.4) 15%, rgba(0,0,0,0)), + url('../img/3.jpg'); + background-size: cover; + background-repeat: no-repeat; +/* border-style: solid; + border-width: 0px 0px 2px 0px; + border-color: #000000; */ +} + +#about { + position: absolute; + top: 100%; + left: 0px; +} + +/* Small screen security */ +@media screen and (max-width: 480px) { + #headerimg { + padding-left: 10px; + } + #midbody { + max-width: 100%; + } +} + +#part2 { + width: 100%; + height: calc(100% + 168px); + position: absolute; + top: 100%; + left: 0px; +} +#header2 { + width: 100%; + height: 200px; + position: absolute; + z-index: 1; + top: 0px; + left: 0px; + background-color: #ff9a66; + box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75); +} +#body2 { + background-color: #ffffff; + width: 100%; + height: calc(100% - 212px); + position: absolute; + top: 200px; + left: 0px; + z-index: 0; +} +#footer { + width: 100%; + height: 12px; + position: absolute; + z-index: 1; + bottom: 0px; + left: 0px; + background-color: #ff9a66; + box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75); +} +#copy { + font-size: x-small; + font-family: Ubuntu; + position: absolute; + text-align: center; + position: absolute; + bottom: 0px; + left: 0px; + right: 0px; + margin: auto; +} +#copy a { + color: #000000; + text-decoration: none; +} +a #lefth2 p, #midh2 p, #righth2 p { + margin: 0px; + color: #000000; +} +#lefth2 { + background-image: url('../img/2chainz.png'); + left: 10%; + margin: 0px 0px 0px 0px; +} +#midh2 { + background-image: url('../img/handshake.png'); + left: 0px; + right: 0px; + margin: 0px auto 0px auto; +} +#righth2 { + background-image: url('../img/talks.png'); + right: 10%; + margin: 0px 0px 0px 5px; +} +a #lefth2, #midh2, #righth2 { + width: 178px; + position: absolute; + top: 0px; + background-repeat: no-repeat; + background-size: 148px; + background-position: center 10px; + padding: 173px 16px 8px 16px; + font-family: 'DejaVu Sans Extra-Light'; + font-size: 16px; + text-transform: uppercase; + text-align: center; + cursor: pointer; +} +a:hover #lefth2, a:hover #midh2, a:hover #righth2 { + background-color: rgba(0,0,0,0.2); +} +#header3 p { + margin-top: 0.5em; + margin-bottom: 0.5em; + font-family: 'DejaVu Sans Extra-Light'; + font-size: 24pt; + text-align: center; +} +#mission { + font-family: 'DejaVu Sans Extra-Light'; + font-size: 12pt; + margin: 0em 10em 0em 10em; +} +#mission p { + text-indent: 2em; +} diff --git a/dash/css/dash.css b/dash/css/dash.css new file mode 100644 index 0000000..d46f352 --- /dev/null +++ b/dash/css/dash.css @@ -0,0 +1,160 @@ +@font-face { + font-family: 'Myriad Pro'; + src: url('../../ttf/myriad.ttf'); +} + +body { + margin: 0; + padding: 0; + background-image: linear-gradient(135deg, rgba(0,0,0,0.7) 10%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0)), + url('../../img/3.jpg'); + background-size: cover; + background-repeat: no-repeat; + background-attachment: fixed; +} +#nav { + height: 60px; + padding-top: 8px; + width: 100%; + position: absolute; + top: 0px; + left: 0px; + box-shadow: 0px 0px 5px rgba(0,0,0,0.75); + background-color: #ffffff; +} +#navlogo { + background-image: url('../../img/5.png'); + background-size: contain; + background-repeat: no-repeat; + margin-left: 8%; + width: 200px; + height: 48px; + float: left; +} +#navlinks { + margin-right: 8%; + float: right; + margin-left: 2em; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: flex-end; +} +#navlinks #sep { + display: inline-block; + width: 0.5px; + height: 52px; + border-radius: 5px; + margin-right: 1em; + background-color: #eeeeee; +} +#navlinks a { + font-family: 'Myriad Pro'; + font-size: 18px; + font-weight: normal; + text-decoration: none; + color: #000000; + padding: 17px 0px; + margin: 0px 0.5em; +} +#navlinks a:hover { + color: #fb4d00; + cursor: pointer; +} +.navblock { + padding: 15px 0px; + position: relative; + z-index: 1; +} +.subnav { + display: none; + background-color: #ffffff; + margin: 0; + padding: 0 0 0 2em; + list-style: none; +} +.navblock:hover .subnav { + display: block; +} +#content { + position: absolute; + top: 68px; + left: 0px; + right: 0px; + width: 100%; + margin: auto; + height: calc(100% - 88px); + border-radius: 2px; + font-family: 'Myriad Pro'; + overflow-x: hidden; + overflow-y: auto; +} +#footer { + position: absolute; + bottom: 0px; + left: 0px; + width: 100%; + height: 20px; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: space-around; + font-family: 'Myriad Pro'; +} +#footer p { + text-align: center; + font-size: 10pt; + margin: 0.33em 0; +} +.job p, .job h1 { + margin: 0; + text-align: center; +} +.job { + margin: 2em auto 1em auto; + width: 512px; + padding: 1em; + background-color: #ffffff; + box-shadow: 0px 0px 5px rgba(0,0,0,0.75); + border-radius: 3px; +} +.jobtitle a { + color: #000000; + text-decoration: none; + font-weight: bold; +} +.jobblurb { + padding: 1em; + margin: 1em 1em 0 1em !important; + background-color: #eeeeee; + border-radius: 3px; +} +.jobblurb a { + color: #000000; + text-decoration: none; + font-weight: bold; +} +.joblocation::before { + content: ''; + display: inline-block; + width: 12px; + height: 12px; + background-image: url('../img/location.svg'); + background-size: contain; + background-position: center center; + background-repeat: no-repeat; + margin-right: 3px; +} +.jobxbtn { + display: block; + width: 16px; + height: 16px; + float: right; + background-image: url('../img/x_hover2.png'); + background-size: contain; + background-repeat: no-repeat; +} +.jobxbtn:hover { + background-image: url('../img/x_hover.png'); + cursor: pointer; +} diff --git a/dash/dash_common.php b/dash/dash_common.php new file mode 100644 index 0000000..b87cd6d --- /dev/null +++ b/dash/dash_common.php @@ -0,0 +1,8 @@ + diff --git a/dash/dash_employee.php b/dash/dash_employee.php new file mode 100644 index 0000000..476ff1f --- /dev/null +++ b/dash/dash_employee.php @@ -0,0 +1,28 @@ +query('SELECT ads.*, categories.cat_name, SUM(ratings.stars) / COUNT(ratings.stars) AS rating FROM ads LEFT JOIN categories ON ads.cat = categories.id LEFT JOIN ratings ON ads.uid = ratings.rated GROUP BY ads.id LIMIT ' . 10*($page-1) . ', 10') or fatal($db->error); +while ($row = $result->fetch_assoc()) { +?> +
+ +

+

+Employer Not Rated

'.PHP_EOL; + else + echo '

'.$row['rating'].' Star Employer

'.PHP_EOL; +?> +

Pays $

+

[...]

+

+
+free(); +require('footer.php'); +?> diff --git a/dash/dash_employer.php b/dash/dash_employer.php new file mode 100644 index 0000000..28c5ed1 --- /dev/null +++ b/dash/dash_employer.php @@ -0,0 +1,9 @@ + +

+ diff --git a/dash/footer.php b/dash/footer.php new file mode 100644 index 0000000..963d525 --- /dev/null +++ b/dash/footer.php @@ -0,0 +1,10 @@ +close(); +?> + + + + diff --git a/dash/header.php b/dash/header.php new file mode 100644 index 0000000..d854074 --- /dev/null +++ b/dash/header.php @@ -0,0 +1,51 @@ + + + + + <?=htmlentities($title); ?> + + + + + + + + + + + + +
diff --git a/dash/headless.php b/dash/headless.php new file mode 100644 index 0000000..16693cd --- /dev/null +++ b/dash/headless.php @@ -0,0 +1,29 @@ +query('SELECT ads.*, categories.cat_name, SUM(ratings.stars) / COUNT(ratings.stars) AS rating FROM ads LEFT JOIN categories ON ads.cat = categories.id LEFT JOIN ratings ON ads.uid = ratings.rated GROUP BY ads.id LIMIT '.($clicks+10).', 1') or die(); +if ($result->num_rows) { + $row = $result->fetch_assoc(); +?> +
+ +

+

+Employer Not Rated

'.PHP_EOL; + else + echo '

'.$row['rating'].' Star Employer

'.PHP_EOL; +?> +

Pays $

+

[...]

+

+ +
+free(); +$db->close(); +?> diff --git a/dash/img/location.svg b/dash/img/location.svg new file mode 100644 index 0000000..76c8f49 --- /dev/null +++ b/dash/img/location.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dash/img/x_hover.png b/dash/img/x_hover.png new file mode 100644 index 0000000..6ad1fde Binary files /dev/null and b/dash/img/x_hover.png differ diff --git a/dash/img/x_hover2.png b/dash/img/x_hover2.png new file mode 100644 index 0000000..79a9121 Binary files /dev/null and b/dash/img/x_hover2.png differ diff --git a/dash/img/x_raw.png b/dash/img/x_raw.png new file mode 100644 index 0000000..e0dfed7 Binary files /dev/null and b/dash/img/x_raw.png differ diff --git a/dash/index.php b/dash/index.php new file mode 100644 index 0000000..77e58dc --- /dev/null +++ b/dash/index.php @@ -0,0 +1,18 @@ + diff --git a/dash/js/dash.js b/dash/js/dash.js new file mode 100644 index 0000000..39e9882 --- /dev/null +++ b/dash/js/dash.js @@ -0,0 +1,16 @@ +var xclicks = 0, a; +function xbtn (e) { + e.preventDefault(); + $(this).parents().filter('.job').hide(250); + $.get('headless.php?clicks='+xclicks, function (data) { + var $newjob = $($.parseHTML(data)); + window.a = $newjob; + $newjob.find('.jobxbtn').click(xbtn); + $newjob.appendTo($('#content')); + }); + xclicks++; +} + +$(function() { + $('.jobxbtn').click(xbtn); +}); diff --git a/dash/nav.php b/dash/nav.php new file mode 100644 index 0000000..9baf7ad --- /dev/null +++ b/dash/nav.php @@ -0,0 +1,13 @@ + diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..c134e27 Binary files /dev/null and b/favicon.ico differ diff --git a/forgot.php b/forgot.php new file mode 100644 index 0000000..ad036d2 --- /dev/null +++ b/forgot.php @@ -0,0 +1,79 @@ + 0) loggedin(); +if (!empty($_GET['key']) && !empty($_GET['id'])) { + $db = new bdb() or fatal('No database connection!'); + $result = $db->query('SELECT id FROM users WHERE id = '.intval($_GET['id']).' AND session = \''.hash('sha512', $_GET['key']).'\' AND active = 1 LIMIT 1') or fatal($db->error); + if ($result->num_rows < 1) { + $result->free(); + $db->close(); + fatal('Invalid information provided.'); + } + $result->free(); + $db->close(); + setcookie($b_config['c_name'], intval($_GET['id']).';'.$_GET['key'], 0, $b_config['c_path'], $b_config['c_dom'], $b_config['c_sec'], $b_config['c_http']); + loggedin(); +} else if (!empty($_POST['email'])) { + $db = new bdb() or fatal('No database connection!'); + $token = uniqid('fp', true); + $result = $db->query('SELECT id FROM users WHERE email = \''.$db->escape_string($_POST['email']).'\'') or fatal($db->error); + if ($result->num_rows > 0) { + $db->query('UPDATE users SET session = \''.hash('sha512', $token).'\' WHERE email = \''.$db->escape_string($_POST['email']).'\'') or fatal($db->error); + if ($db->affected_rows < 1) fatal('Could not affect the database'); + $row = $result->fetch_assoc(); + $result->free(); + $db->close(); + mail($_POST['email'], 'Recover Your Bulletin Account', tpl(array( + 'vars' => 'id='.$row['id'].'&key='.$token, +), 'forgot.tpl'), "From: ".$b_config['mail_from']."\r\nContent-type: text/html") or fatal('Could not send out the recovery email, we apologize for the inconvenience.'); + fatal('A recovery email has been sent to the address you supplied. You can use this email to access your account, and from there change your password.'); + } else { + $result->free(); + $db->close(); + $e = 1; + $e_msg = 'That email address is not listed in our database.'; + } +} +?> + + + + + Forgot Password / Bulletin + + + + + +
+
+ 0) + echo '
'; + else + echo '
'; +?> + +
+
+
 
+
+ +
+
+ + 0) + echo '

'.htmlentities($e_msg).'

'; +?> +

Remembered your password?

+

Don't have an account? Sign Up

+
+
+

Welcome back to Bulletin! :)

+

Copyright © 2016 Bulletin Team

+ + diff --git a/img/2.png b/img/2.png new file mode 100644 index 0000000..372260f Binary files /dev/null and b/img/2.png differ diff --git a/img/2.png~ b/img/2.png~ new file mode 100644 index 0000000..a64f086 Binary files /dev/null and b/img/2.png~ differ diff --git a/img/2chainz.png b/img/2chainz.png new file mode 100644 index 0000000..079262a Binary files /dev/null and b/img/2chainz.png differ diff --git a/img/3.jpg b/img/3.jpg new file mode 100644 index 0000000..3c09ec4 Binary files /dev/null and b/img/3.jpg differ diff --git a/img/4.png b/img/4.png new file mode 100644 index 0000000..cf267b3 Binary files /dev/null and b/img/4.png differ diff --git a/img/5.png b/img/5.png new file mode 100644 index 0000000..c8a1ab8 Binary files /dev/null and b/img/5.png differ diff --git a/img/downbtn.png b/img/downbtn.png new file mode 100644 index 0000000..3306687 Binary files /dev/null and b/img/downbtn.png differ diff --git a/img/dwn.png b/img/dwn.png new file mode 100644 index 0000000..46b88d6 Binary files /dev/null and b/img/dwn.png differ diff --git a/img/handshake.png b/img/handshake.png new file mode 100644 index 0000000..c510c71 Binary files /dev/null and b/img/handshake.png differ diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000..efbc860 Binary files /dev/null and b/img/logo.png differ diff --git a/img/talks.png b/img/talks.png new file mode 100644 index 0000000..9c38c12 Binary files /dev/null and b/img/talks.png differ diff --git a/inc/common.php b/inc/common.php new file mode 100644 index 0000000..ac55bde --- /dev/null +++ b/inc/common.php @@ -0,0 +1,9 @@ + diff --git a/inc/config.php b/inc/config.php new file mode 100644 index 0000000..93050e7 --- /dev/null +++ b/inc/config.php @@ -0,0 +1,18 @@ + 'https://www.bulletinalpha.tk/', + 'c_name' => 'bulletin', + 'c_expire' => 31536000, + 'c_dom' => '.bulletinalpha.tk', + 'c_path' => '/', + 'c_sec' => true, + 'c_http' => true, + 'db_host' => 'localhost', + 'db_name' => 'bulletin', + 'db_user' => 'bulletin', + 'db_pass' => 'chV`tX8B_:e4/><}$(KO2)dE:~:O1)r@', + 'mail_from' => 'Bulletin ', + 'mobile_base' => 'https://m.bulletinalpha.tk/', + 'moblie_host' => 'm.bulletinalpha.tk', +); +?> diff --git a/inc/db.php b/inc/db.php new file mode 100644 index 0000000..bb4b9f7 --- /dev/null +++ b/inc/db.php @@ -0,0 +1,10 @@ + diff --git a/inc/eml.tpl b/inc/eml.tpl new file mode 100644 index 0000000..e09831d --- /dev/null +++ b/inc/eml.tpl @@ -0,0 +1,23 @@ + + + + + Active Your Bulletin Account + + + +
+
+

Congratulations on creating your Bulletin account! We hope we can help you to find as many useful work connections as possible.

+

To activate your account, click here.

+
+
+
+

Welcome to Bulletin!

+

Copyright © 2016 Bulletin Team

+ + diff --git a/inc/fatal.tpl b/inc/fatal.tpl new file mode 100644 index 0000000..610b2b4 --- /dev/null +++ b/inc/fatal.tpl @@ -0,0 +1,23 @@ + + + + + Message / Bulletin + + + + +
+

[tpl:message]

+
+
+

+ + [tpl:label] + +

+

Copyright © 2016 Bulletin Team

+ + diff --git a/inc/forgot.tpl b/inc/forgot.tpl new file mode 100644 index 0000000..4c4ed4d --- /dev/null +++ b/inc/forgot.tpl @@ -0,0 +1,23 @@ + + + + + Recover Your Bulletin Account + + + +
+
+

We're sorry you've lost access to your account!

+

To log in and change your password, click here.

+
+
+
+

Welcome back to Bulletin!

+

Copyright © 2016 Bulletin Team

+ + diff --git a/inc/functions.php b/inc/functions.php new file mode 100644 index 0000000..4e98342 --- /dev/null +++ b/inc/functions.php @@ -0,0 +1,67 @@ + $msg, 'link' => $link, 'label' => $label), 'fatal.tpl')); +} + +function gohome () { + global $b_config; + redirect($b_config['base_url']); +} + +function goin () { + l_redirect('dash/'); +} + +function loggedin () { + goin(); +} + +function l_redirect ($page) { + global $b_config; + redirect($b_config['base_url'].$page); +} + +function redirect ($url) { + header('Location: '.$url); + fatal('Redirecting...', $url); +} +?> diff --git a/inc/mobile.php b/inc/mobile.php new file mode 100644 index 0000000..634b008 --- /dev/null +++ b/inc/mobile.php @@ -0,0 +1,9 @@ + diff --git a/inc/user.php b/inc/user.php new file mode 100644 index 0000000..789586f --- /dev/null +++ b/inc/user.php @@ -0,0 +1,18 @@ + 0, +); + +if (empty($_COOKIE[$b_config['c_name']]) || !preg_match('/^(\d+);([0-9a-zA-Z\.]+)$/', $_COOKIE[$b_config['c_name']], $matches)) { + $b_user = $guest_user; +} +else { + $db = new bdb(); + $result = $db->query('SELECT * FROM users WHERE id = '.intval($matches[1]).' AND session = \''.hash('sha512', $matches[2]).'\' AND active = 1 LIMIT 1') or fatal($db->error); + if ($result->num_rows < 1) $b_user = $guest_user; + else $b_user = $result->fetch_assoc(); + $result->free(); + $db->close(); +} +?> diff --git a/index.php b/index.php new file mode 100644 index 0000000..4f55335 --- /dev/null +++ b/index.php @@ -0,0 +1,82 @@ + + + + + Bulletin + + + + + + + + + + + +
+
+
+
Community, at your fingertips.
+ +
+
+
+
+
+
+
+
+
+

For Hard Workers

+
+
+

Earn Some Money

+

Bulletin is for high school and college students, providing quick job opportunities. Bulletin lets you keep 100% of your profits so you can start making money in no time!

+
+
+

Low Commitment

+

Bulletin features one-time jobs, like mowing lawns or raking leaves, so there's no need to commit to a full or part-time job. Apply to ads when you have some free time!

+
+
+

It's Free

+

Create an account for free and start applying to jobs in minutes!

+
+
+ +
Become a Worker
+
+
+
+

For Household CEOs

+
+
+

Need Some Help?

+

Post an ad and review your student applicants. Find the worker that's right for you to help you get some work done.

+
+
+

$5/Ad

+
+
+

Save Some Money

+

We connect you with student workers as an alternative to expensive professionals for unskilled tasks. Each ad costs a one-time fee and we leave it up to you to pay the worker.

+
+
+ +
Become an Employer
+
+
+ +
+ +
+
+ + diff --git a/js/auth.php b/js/auth.php new file mode 100644 index 0000000..bab3e27 --- /dev/null +++ b/js/auth.php @@ -0,0 +1,14 @@ + +var auth = { + 0) { +?> + id: '', + session: '', + +}; diff --git a/js/chat.js b/js/chat.js new file mode 100644 index 0000000..1053fa9 --- /dev/null +++ b/js/chat.js @@ -0,0 +1,121 @@ +var bullechat = { + nickfmt: function (nick) { + return nick; + }, + gui: { + $windows: {}, + updown: function ($elem) { + if ($elem.hasClass('chexp')) { + $elem.addClass('chshr'); + $elem.removeClass('chexp'); + } else { + $elem.removeClass('chshr'); + $elem.addClass('chexp'); + } + }, + create: function (user, title) { + if (!title) title = user; + var $child = $('
', {'class': 'chwin chshr'}).data('user', user); + var $chhead = $('
'+title+'
'); + $child.append($chhead); + $chhead.append($('
', {'class': 'chshrbtn'}).click(function (e) { + bullechat.gui.updown($child); + })); + $chhead.append($('
', {'class': 'chxbtn'}).click(function (e) { + bullechat.gui.kill($child); + })); + var $chbody = $('