From 19985dbb8c0aa66dc4bf7905abc1148de909097d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20Luka=20=C5=A0ijanec?= Date: Tue, 11 Jan 2022 12:35:47 +0100 Subject: prvi-commit --- admin/survey/modules/mod_WPN/class.WPN.php | 184 ++++++++ admin/survey/modules/mod_WPN/frontend/_DS_Store | Bin 0 -> 6148 bytes .../mod_WPN/frontend/android-chrome-192x192.png | Bin 0 -> 6211 bytes .../mod_WPN/frontend/android-chrome-512x512.png | Bin 0 -> 14989 bytes .../modules/mod_WPN/frontend/apple-splash-1125.png | Bin 0 -> 91858 bytes .../modules/mod_WPN/frontend/apple-splash-1242.png | Bin 0 -> 107859 bytes .../modules/mod_WPN/frontend/apple-splash-1536.png | Bin 0 -> 109418 bytes .../modules/mod_WPN/frontend/apple-splash-1668.png | Bin 0 -> 129115 bytes .../modules/mod_WPN/frontend/apple-splash-2048.png | Bin 0 -> 181771 bytes .../modules/mod_WPN/frontend/apple-splash-640.png | Bin 0 -> 38268 bytes .../modules/mod_WPN/frontend/apple-splash-750.png | Bin 0 -> 57249 bytes .../modules/mod_WPN/frontend/apple-touch-icon.png | Bin 0 -> 6129 bytes .../modules/mod_WPN/frontend/browserconfig.xml | 9 + admin/survey/modules/mod_WPN/frontend/css/main.css | 509 +++++++++++++++++++++ .../modules/mod_WPN/frontend/css/normalize.min.css | 1 + .../modules/mod_WPN/frontend/css/production.css | 1 + .../modules/mod_WPN/frontend/favicon-16x16.png | Bin 0 -> 997 bytes .../modules/mod_WPN/frontend/favicon-32x32.png | Bin 0 -> 1785 bytes admin/survey/modules/mod_WPN/frontend/favicon.ico | Bin 0 -> 15086 bytes admin/survey/modules/mod_WPN/frontend/humans.txt | 13 + .../modules/mod_WPN/frontend/img/1ka_logo_en.png | Bin 0 -> 28565 bytes .../survey/modules/mod_WPN/frontend/img/assign.svg | 1 + admin/survey/modules/mod_WPN/frontend/img/aths.png | Bin 0 -> 12051 bytes .../modules/mod_WPN/frontend/img/connected.svg | 1 + admin/survey/modules/mod_WPN/frontend/img/data.svg | 1 + .../modules/mod_WPN/frontend/img/facebook.svg | 1 + .../modules/mod_WPN/frontend/img/googleplay.png | Bin 0 -> 9230 bytes admin/survey/modules/mod_WPN/frontend/img/ios.png | Bin 0 -> 13356 bytes admin/survey/modules/mod_WPN/frontend/img/mail.svg | 1 + .../modules/mod_WPN/frontend/img/mentioned.svg | 1 + .../modules/mod_WPN/frontend/img/messaging.svg | 1 + .../survey/modules/mod_WPN/frontend/img/search.svg | 1 + .../modules/mod_WPN/frontend/img/security.svg | 1 + .../survey/modules/mod_WPN/frontend/img/share.png | Bin 0 -> 4719 bytes admin/survey/modules/mod_WPN/frontend/img/text.svg | 1 + .../modules/mod_WPN/frontend/img/twitter.svg | 1 + .../survey/modules/mod_WPN/frontend/img/vault.svg | 1 + .../modules/mod_WPN/frontend/img/youtube.svg | 1 + admin/survey/modules/mod_WPN/frontend/index.html | 196 ++++++++ admin/survey/modules/mod_WPN/frontend/index1.html | 360 +++++++++++++++ admin/survey/modules/mod_WPN/frontend/js/main.js | 169 +++++++ .../survey/modules/mod_WPN/frontend/manifest.json | 21 + .../modules/mod_WPN/frontend/mstile-150x150.png | Bin 0 -> 4751 bytes .../modules/mod_WPN/frontend/safari-pinned-tab.svg | 290 ++++++++++++ admin/survey/modules/mod_WPN/frontend/sw.js | 124 +++++ admin/survey/modules/mod_WPN/frontend/ui.html | 104 +++++ admin/survey/modules/mod_WPN/info WPN.txt | 5 + 47 files changed, 1999 insertions(+) create mode 100644 admin/survey/modules/mod_WPN/class.WPN.php create mode 100644 admin/survey/modules/mod_WPN/frontend/_DS_Store create mode 100644 admin/survey/modules/mod_WPN/frontend/android-chrome-192x192.png create mode 100644 admin/survey/modules/mod_WPN/frontend/android-chrome-512x512.png create mode 100644 admin/survey/modules/mod_WPN/frontend/apple-splash-1125.png create mode 100644 admin/survey/modules/mod_WPN/frontend/apple-splash-1242.png create mode 100644 admin/survey/modules/mod_WPN/frontend/apple-splash-1536.png create mode 100644 admin/survey/modules/mod_WPN/frontend/apple-splash-1668.png create mode 100644 admin/survey/modules/mod_WPN/frontend/apple-splash-2048.png create mode 100644 admin/survey/modules/mod_WPN/frontend/apple-splash-640.png create mode 100644 admin/survey/modules/mod_WPN/frontend/apple-splash-750.png create mode 100644 admin/survey/modules/mod_WPN/frontend/apple-touch-icon.png create mode 100644 admin/survey/modules/mod_WPN/frontend/browserconfig.xml create mode 100644 admin/survey/modules/mod_WPN/frontend/css/main.css create mode 100644 admin/survey/modules/mod_WPN/frontend/css/normalize.min.css create mode 100644 admin/survey/modules/mod_WPN/frontend/css/production.css create mode 100644 admin/survey/modules/mod_WPN/frontend/favicon-16x16.png create mode 100644 admin/survey/modules/mod_WPN/frontend/favicon-32x32.png create mode 100644 admin/survey/modules/mod_WPN/frontend/favicon.ico create mode 100644 admin/survey/modules/mod_WPN/frontend/humans.txt create mode 100644 admin/survey/modules/mod_WPN/frontend/img/1ka_logo_en.png create mode 100644 admin/survey/modules/mod_WPN/frontend/img/assign.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/img/aths.png create mode 100644 admin/survey/modules/mod_WPN/frontend/img/connected.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/img/data.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/img/facebook.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/img/googleplay.png create mode 100644 admin/survey/modules/mod_WPN/frontend/img/ios.png create mode 100644 admin/survey/modules/mod_WPN/frontend/img/mail.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/img/mentioned.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/img/messaging.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/img/search.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/img/security.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/img/share.png create mode 100644 admin/survey/modules/mod_WPN/frontend/img/text.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/img/twitter.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/img/vault.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/img/youtube.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/index.html create mode 100644 admin/survey/modules/mod_WPN/frontend/index1.html create mode 100644 admin/survey/modules/mod_WPN/frontend/js/main.js create mode 100644 admin/survey/modules/mod_WPN/frontend/manifest.json create mode 100644 admin/survey/modules/mod_WPN/frontend/mstile-150x150.png create mode 100644 admin/survey/modules/mod_WPN/frontend/safari-pinned-tab.svg create mode 100644 admin/survey/modules/mod_WPN/frontend/sw.js create mode 100644 admin/survey/modules/mod_WPN/frontend/ui.html create mode 100644 admin/survey/modules/mod_WPN/info WPN.txt (limited to 'admin/survey/modules/mod_WPN') diff --git a/admin/survey/modules/mod_WPN/class.WPN.php b/admin/survey/modules/mod_WPN/class.WPN.php new file mode 100644 index 0000000..baabfef --- /dev/null +++ b/admin/survey/modules/mod_WPN/class.WPN.php @@ -0,0 +1,184 @@ +_ank_id = $ank_id; + //get survey title and link + if($ank_id > 0){ + SurveyInfo::getInstance()->SurveyInit($ank_id); + $this->_ank_title = SurveyInfo::getSurveyColumn('naslov'); + $this->_ank_link = SurveyInfo::getSurveyLink(); + } + } + + public function display() { + global $admin_type, $global_user_id, $lang; + + // Izpis vseh poslanih sporocil + if ($admin_type == 0) { + //is survey activated + $act = sisplet_query("SELECT active FROM srv_anketa WHERE id='" . $this->_ank_id . "'", 'obj'); + if($act->active != 1) + echo '

'.$lang['srv_anketa_noactive2'].'

'; + + $this->sendMessageForm(); + + if(isset($_GET['FCM_response'])) + echo '

'.$_GET['FCM_response']; + } + } + + // Obrazec za posiljanje notificationa + private function sendMessageForm() { + global $admin_type, $global_user_id, $lang; + + //FORM FOR WEB PUSH NOTIFICATIONs + echo '

'; + echo ''.$lang["srv_wpn"].''; + echo '
'; + /* echo ''.$lang['srv_notifications_send_reciever'].': '; + + // Checkboxa za posiljenje vsem uporabnikoom (slo in ang) + echo '
'; + echo '

'; + */ + + echo ''; + echo '' . $lang['srv_notifications_send_title'] . ':

'; + echo '' . $lang['srv_notifications_send_text'] . ':

'; + + //echo '

'; + + //echo '

'; + + echo ''; + + echo '

' . $_POST['maza_result'] . '

'; + + echo '
'; + echo '
'; + } + + //PWA + public function ajax_wpn_save_subscription(){ + //whole link for endpoint - browser request link and endpoint key of user + $endpoint = $_POST['endpoint']; + //last slash index + $lsi = strrpos($endpoint, '/'); + //endpoint key + $endpoint_key = substr($endpoint, $lsi + 1); + //endpoint link + $endpoint_link = substr($endpoint, 0, $lsi + 1); + + sisplet_query("INSERT INTO browser_notifications_respondents (timestamp_joined, endpoint_link, endpoint_key, public_key, auth) " + . "VALUES (NOW(), '".$endpoint_link."', '".$endpoint_key."', '".$_POST['keys']['p256dh']."', '".$_POST['keys']['auth']."')"); + + echo 'Subscription added'; + } + + public function sendWebPushNotificationsToAll(){ + //global $FCM_server_key; + + $title = $_POST['wpn_title']; + $message = $_POST['wpn_message']; + + $payload = array('title'=>$title, 'message'=>$message, 'link'=>$this->_ank_link); + + /*$notifications = [ // this is the structure for the working draft from october 2018 (https://www.w3.org/TR/2018/WD-push-api-20181026/) + [ + 'subscription' => Subscription::create([ + "endpoint" => "https://updates.push.services.mozilla.com/wpush/v1/gAAAAABdoHSjAgtlSI2QNu_D6p3WDWITErDHYLWfbf37pgJd1HYnIukVaHfAxAOi4gxzPq1c8baWSMk9O6YkSOrbn7brlWaLpcNnKba1xgia13ESTwKNaevwY9_ciy3ojB4IXprryHTb", + "keys" => [ + 'p256dh' => "BIvluRM0T5ezCbH_IwEhsDr8D-kXq4sRfgmaG4OKOGbqrE6CWwcrvY5S7YpqfMgn_ZqOHlLaZX11skBWar3Xj3w", + 'auth' => "Tqco8e4PIAZL9zogxks3qQ" + ] + ]) + ], + [ + 'subscription' => Subscription::create([ + "endpoint" => "https://fcm.googleapis.com/fcm/send/cDZBBiO8nwA:APA91bG6pQJNapbmiT0zMED_HEiQNi2OxgmAJbjqWnny1H78FXFRzJXtcBi62xwdZHOr9GWrBsbE5ePPK58m9H9ZKhy0Q8TFKCu-Os-ykAN2IJL4lPVcUyslBMt8sCABlomHUHl8AQLR", + "keys" => [ + 'p256dh' => "BPyTEM7mLZAFQm-8bSsVmAJRDMeCTjwSmOCJXieK-xtwcRsKE9zLHZRpfp52ChQzrDZLi_n0RdBiX5yydC7DL90", + 'auth' => "iSKAhIqNvjlaOhXzk4ulJw" + ] + ]) + ], + [ + 'subscription' => Subscription::create([ + "endpoint" => "https://updates.push.services.mozilla.com/wpush/v2/gAAAAABdpZDL1nFRXedBJYYfTwdcqfrf2khsEXllMLEWPBIolO1t1wkptE7HzkypkPDEVwYq0ju1kNblwJHxA9v0k05oVNCuxBi0l0dDqsrZZ_TRao_hDprjzoSuuHE5z4zrTzbTwwxKqmxDYvF_1Ty28qaUaaLqFJGgOTgSjN9W3bkifRqDZnQ", + "keys" => [ + 'p256dh' => "BESWycM2xqcaFcvG1kYWGpnamq6IZd8mhGtSQpUsROBn0ejJmwI_vptgpW4jBwbQrcb-T8sXvmRRZ4HY9VLWJes", + 'auth' => "WnRV6LQEYcvwb21DnpXzkA" + ] + ]) + ], + [ + 'subscription' => Subscription::create([ + "endpoint" => "https://fcm.googleapis.com/fcm/send/cyGorE1fYnM:APA91bHq1if5UrRr1uI8HLD92M2OCekH1kH6q7HmrINkMFHmLq_RtuytWb9DKo2446WgvDRbzUjQXwQ88_b70NzOUBBFWhxaslJuQFyJZPHIkxRf--MIHTY-KSQ1JcPQYcED1QreaEZf", + "keys" => [ + 'p256dh' => "BPTZTRDEztn_YpAvdv4wjtCyNqo0RNFfWbjm9r7bgyZh2RBZgDvitaW_68hNC6cYGzKGJM9aMpGi59-_H8HYSn8", + 'auth' => "M79ZKrfJwEzPfHIpkN-tIw" + ] + ]) + ] + ];*/ + + //get all subscriptions and put them in array + $subscriptions = sisplet_query("SELECT endpoint_link, endpoint_key, public_key, auth FROM browser_notifications_respondents", 'array'); + $notifications = array(); + foreach ($subscriptions as $subsc){ + $subscription = array("endpoint"=>$subsc['endpoint_link'].$subsc['endpoint_key'], "keys"=>array('p256dh' => $subsc['public_key'],'auth' => $subsc['auth'])); + array_push($notifications, array('subscription' => Subscription::create($subscription))); + } + + $auth = array( + 'VAPID' => array( + 'subject' => 'mailto:enklikanketa@gmail.com', + 'publicKey' => 'BNVIBdCsC6vkmByQJ861pusHN1mV76X3mvAa1u4PxmleTv2m2whcEu9Elhh8Qz3XnqV6k58YCSVqaafl3bhPKLU', + 'privateKey' => 'c7mxuK7Nexe4NHnCtYE79p0iHzaXZGikWpua7z66dQg', + ), + ); + $webPush = new WebPush($auth); + // send multiple notifications with payload + foreach ($notifications as $notification) { + $webPush->sendNotification( + $notification['subscription'], + json_encode($payload) + ); + } + + // handle eventual errors here, and remove the subscription from your server if it is expired + foreach ($webPush->flush() as $report) { + $endpoint = $report->getRequest()->getUri()->__toString(); + if ($report->isSuccess()) { + echo "
[v] Message sent successfully for subscription {$endpoint}."; + } else { + echo "
[x] Message failed to sent for subscription {$endpoint}: {$report->getReason()}"; + } + } + } + +} +?> \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/_DS_Store b/admin/survey/modules/mod_WPN/frontend/_DS_Store new file mode 100644 index 0000000..404f156 Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/_DS_Store differ diff --git a/admin/survey/modules/mod_WPN/frontend/android-chrome-192x192.png b/admin/survey/modules/mod_WPN/frontend/android-chrome-192x192.png new file mode 100644 index 0000000..76f01ba Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/android-chrome-192x192.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/android-chrome-512x512.png b/admin/survey/modules/mod_WPN/frontend/android-chrome-512x512.png new file mode 100644 index 0000000..8e10c1b Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/android-chrome-512x512.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-1125.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-1125.png new file mode 100644 index 0000000..0aaf720 Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/apple-splash-1125.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-1242.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-1242.png new file mode 100644 index 0000000..dbd4770 Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/apple-splash-1242.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-1536.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-1536.png new file mode 100644 index 0000000..86c5313 Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/apple-splash-1536.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-1668.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-1668.png new file mode 100644 index 0000000..3c88be3 Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/apple-splash-1668.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-2048.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-2048.png new file mode 100644 index 0000000..c61ef82 Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/apple-splash-2048.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-640.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-640.png new file mode 100644 index 0000000..02fdc6f Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/apple-splash-640.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/apple-splash-750.png b/admin/survey/modules/mod_WPN/frontend/apple-splash-750.png new file mode 100644 index 0000000..36ec024 Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/apple-splash-750.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/apple-touch-icon.png b/admin/survey/modules/mod_WPN/frontend/apple-touch-icon.png new file mode 100644 index 0000000..6fce72f Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/apple-touch-icon.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/browserconfig.xml b/admin/survey/modules/mod_WPN/frontend/browserconfig.xml new file mode 100644 index 0000000..3b0a805 --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/admin/survey/modules/mod_WPN/frontend/css/main.css b/admin/survey/modules/mod_WPN/frontend/css/main.css new file mode 100644 index 0000000..5a9be8b --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/css/main.css @@ -0,0 +1,509 @@ +/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */ + +html { + color: #222; + font-size: 1em; + line-height: 1.4; +} + +::-moz-selection { + background: #b3d4fc; + text-shadow: none; +} + +::selection { + background: #b3d4fc; + text-shadow: none; +} + +hr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + margin: 1em 0; + padding: 0; +} + +audio, +canvas, +iframe, +img, +svg, +video { + vertical-align: middle; +} + +fieldset { + border: 0; + margin: 0; + padding: 0; +} + +textarea { + resize: vertical; +} + +.browserupgrade { + margin: 0.2em 0; + background: #ccc; + color: #000; + padding: 0.2em 0; +} + + +/* ===== Initializr Styles ================================================== + Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template + ========================================================================== */ + +body { + font: 16px/26px Helvetica, Helvetica Neue, Arial; +} + +.wrapper { + width: 90%; + margin: 0 5%; +} + +/* =================== + ALL: Blue Theme + =================== */ + +.header-container { + border-bottom: 20px solid #264de4; + position: fixed; + width: 100%; + top: 0px; +} + +.footer-container, +.main aside { + border-top: 20px solid #264de4; +} + +.header-container, +.footer-container, +.main aside { + background: #2965f1; +} + +.title { + color: white; +} + +/* ============== + MOBILE: Menu + ============== */ + +nav ul { + margin: 0; + padding: 0; + list-style-type: none; +} + +nav a { + display: block; + margin-bottom: 10px; + padding: 15px 0; + + text-align: center; + text-decoration: none; + font-weight: bold; + + color: white; + background: #264de4; +} + +nav{ + display: none; +} + +nav a:hover, +nav a:visited { + color: white; +} + +nav a:hover { + text-decoration: underline; +} + +/* ============== + MOBILE: Main + ============== */ + +.main { + padding: 30px 0; +} + +.main article h1 { + font-size: 2em; +} + +.main aside { + color: white; + padding: 0px 5% 10px; +} + +.footer-container footer { + color: white; + padding: 20px 0; +} + +/* =============== + ALL: IE Fixes + =============== */ + +.ie7 .title { + padding-top: 20px; +} + +/* ========================================================================== + Author's custom styles + ========================================================================== */ + +.subtitle{ + font-size: 1.1em; + font-style: italic; + font-weight: bolder; +} + +.responsiveImg { + margin: auto; + max-width: 128px; + border-radius: 50%; + padding: 0px 20px 10px 10px; +} + +.main header, .main section, .main footer{ + padding: 10px; + margin-bottom: 20px; +} + +.main header h1, .main section h2, .facultyContainer h4{ + background: #2965f1; + color: white; + padding: 10px; + border-top: 20px solid #264de4; +} + +.facultyContainer{ + padding: 5px; + +} +.facultyImage{ + float: left; + width: 30%; + height: 30%; + min-width: 180px; + margin: auto; + text-align: center; +} + +aside a{ + color: white; + text-decoration: none; +} + +.footerLinks{ + float: right; + text-align: right; +} + +.footerLinks a{ + color: white; + text-decoration: none; +} + +#trigger{ + float: right; + line-height: 10px; + padding: 5px; + height: 32px; + width: 32px; + position: fixed; + margin: 5px 10px 0px 15px; + cursor: pointer; + cursor: hand; + background-color: #264de4; + border-radius: 21px; + vertical-align: text-top; + right: 10px; + top: 10px; +} +.triggerLine{ + display: block; + width: calc(100% - 9px); + text-align: center; + height: 2px; + background-color: white; + margin: 6px auto; + border-radius: 2px; +} +.main-container{ + margin-top: 40px; +} + +#addToHomeScreen{ + display: block; + margin-top: 20px; + padding: 0px; + display: none; +} + +#addToHomeScreen img{ + max-width: 57px; + margin: 10px; + float: left; +} + +#addToHomeScreen button{ + background-color: #264de4; + color: white; + border: 1px #2965f1 solid; + margin: 5px 10px; +} + +#instructions{ + text-align: center; + background-color: #f2f4f4; + position: fixed; + bottom: 0px; + right: 20px; + left: 20px; + width: calc(100%-40px); + padding: 0px 10px 10px 10px; + display: none; +} + +#instructions img{ + max-width: 64px; +} + +#instructions button{ + position: absolute; + top: 0px; + right: 0px; + background-color: #264de4; + color: white; + border: 1px #2965f1 solid; +} + + +/* ========================================================================== + Media Queries + ========================================================================== */ + +@media only screen and (min-width: 480px) { + +/* ==================== + INTERMEDIATE: Menu + ==================== */ + + nav a { + float: left; + width: 27%; + margin: 0 1.7%; + padding: 25px 2%; + margin-bottom: 0; + } + + nav li:first-child a { + margin-left: 0; + } + + nav li:last-child a { + margin-right: 0; + } + #trigger{ + display: block; + } + + +/* ======================== + INTERMEDIATE: IE Fixes + ======================== */ + + nav ul li { + display: inline; + } + + .oldie nav a { + margin: 0 0.7%; + } +} + +@media only screen and (min-width: 768px) { + +/* ==================== + WIDE: CSS3 Effects + ==================== */ + + .header-container, + .main aside, + .main header, + .main section, + .main footer { + -webkit-box-shadow: 0 5px 10px #aaa; + -moz-box-shadow: 0 5px 10px #aaa; + box-shadow: 0 5px 10px #aaa; + } + +/* ============ + WIDE: Menu + ============ */ + + .title { + float: left; + } + + nav { + float: right; + width: 38%; + display: block !important; + } + #trigger{ + display: none; + } + +/* ============ + WIDE: Main + ============ */ + + .main article { + float: left; + width: 57%; + } + + .main aside { + float: right; + width: 28%; + } + + .main-container{ + margin-top: 100px; + } +} + +@media only screen and (min-width: 1140px) { + +/* =============== + Maximal Width + =============== */ + + .wrapper { + width: 1026px; /* 1140px - 10% for margins */ + margin: 0 auto; + } +} + +/* ========================================================================== + Helper classes + ========================================================================== */ + +.hidden { + display: none !important; + visibility: hidden; +} + +.visuallyhidden { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.visuallyhidden.focusable:active, +.visuallyhidden.focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; +} + +.invisible { + visibility: hidden; +} + +.clearfix:before, +.clearfix:after { + content: " "; + display: table; +} + +.clearfix:after { + clear: both; +} + +.clearfix { + *zoom: 1; +} + +/* ========================================================================== + Print styles + ========================================================================== */ + +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { + display: table-header-group; + } + + tr, + img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } +} \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/css/normalize.min.css b/admin/survey/modules/mod_WPN/frontend/css/normalize.min.css new file mode 100644 index 0000000..f6e0b65 --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/css/normalize.min.css @@ -0,0 +1 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0} \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/css/production.css b/admin/survey/modules/mod_WPN/frontend/css/production.css new file mode 100644 index 0000000..bf89b99 --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/css/production.css @@ -0,0 +1 @@ +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}blockquote,caption,dd,dl,fieldset,figure,form,hr,ol,pre,table,td,th,ul{margin:0;padding:0}[tabindex='-1']:focus{outline:0}body,button,input,select,textarea{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}a:active,a:hover{outline:0}[role=button],a,button,input,label,select,textarea{-ms-touch-action:manipulation;touch-action:manipulation}ol,ul{margin-bottom:.8rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}code,kbd,pre,samp{font-family:Monaco,Menlo,Consolas,monospace}b,strong{line-height:inherit}em,i{font-style:italic;line-height:inherit}table{display:table;max-width:100%}td,th{line-height:1.6rem;vertical-align:middle}th{text-align:left}form{font-size:1rem}fieldset{border:0;min-width:0}legend{line-height:inherit;margin:0}input,optgroup,select,textarea{line-height:inherit}input,label,select{vertical-align:middle}input[type=file]{display:block;width:100%}textarea{height:auto;resize:vertical}input:focus,select:focus,textarea:focus{outline:0}.select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}select[multiple],select[size]{height:auto}.select--list:after{content:none!important}select::-ms-expand{display:none}option{color:#262b3a;background-color:#fff}fieldset[disabled] input,input[disabled],input[readonly]{cursor:not-allowed;opacity:1;pointer-events:none}button{line-height:inherit;vertical-align:middle}embed,iframe,img,object{display:inline-block;vertical-align:middle}iframe{border:0}img{border:0;font-style:italic;height:auto;-ms-interpolation-mode:bicubic}svg{max-height:100%}.gm-style img{max-width:none}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Montserrat,Avenir,"Avenir Next",Trebuchet,Verdana,sans-serif;font-size:14px;font-style:normal;font-weight:400;min-height:100%;-webkit-tap-highlight-color:transparent}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}body{background-color:#f2f2f2!important;color:#262b3a;line-height:1.6rem;margin:0;padding:0;-moz-osx-font-smoothing:grayscale}::-moz-selection{background-color:#294ace;color:#fff;text-shadow:none}::selection{background-color:#294ace;color:#fff;text-shadow:none}img::-moz-selection{background:0 0}img::selection{background:0 0}img::-moz-selection{background:0 0}.btn{background-image:none;border-radius:30px;border-style:solid;border-width:1px;cursor:pointer;display:inline-block;font-family:Montserrat,Avenir,"Avenir Next",Trebuchet,Verdana,sans-serif;font-size:1rem;font-weight:700;line-height:1.6rem;margin-bottom:0;padding:.65rem 2.2rem .55rem;text-align:center;text-decoration:none;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-transition:background-color .2s ease-out,background .2s ease-out,color .2s ease-out,border .2s ease-out;transition:background-color .2s ease-out,background .2s ease-out,color .2s ease-out,border .2s ease-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:focus,.btn:hover{outline:0;text-decoration:none}.btn:active{outline:0;background-image:none}.btn.disabled,.btn[disabled],.btn[readonly],fieldset[disabled] .btn{cursor:not-allowed!important;opacity:1;pointer-events:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn--sm{font-size:.618rem;padding:.1rem .6rem 0}.btn--default{background-color:#294ace;border-color:#294ace;color:#fff}.btn--default:focus,.btn--default:hover{background-color:#213ba3;border-color:#213ba3}.btn--default:active{background-color:#182b79;border-color:#182b79}.btn--secondary,.btn--secondary:visited{background-color:#69f0ae;border-color:#69f0ae;color:#262b3a}.btn--secondary:focus,.btn--secondary:hover,.btn--secondary:visited:focus,.btn--secondary:visited:hover{background-color:#3beb95;border-color:#3beb95}.btn--secondary:active,.btn--secondary:visited:active{background-color:#16dd7c;border-color:#16dd7c}.container{margin-left:auto;margin-right:auto;max-width:900px;width:90%}.container--lg{margin-left:auto;margin-right:auto;max-width:1100px;width:90%}canvas,iframe,img,svg,video{max-width:100%}.logo{max-height:300px}.download{max-height:45px}.mentioned{max-height:45px}.illustration--small{max-height:80px}.icon{height:30px}.cta-image{max-height:100px}.form-control{background-image:none;border:1px solid transparent;border-radius:7px;color:#262b3a;display:block;font-family:Montserrat,Avenir,"Avenir Next",Trebuchet,Verdana,sans-serif;font-size:1rem;line-height:1.6rem;max-width:100%;padding:.65rem .8rem .55rem;width:100%;-moz-osx-font-smoothing:grayscale}.label{cursor:default;display:inline-block;max-width:100%}.legend{display:block;white-space:normal;width:100%}.form--stacked .checkbox,.form--stacked .input,.form--stacked .label,.form--stacked .radio,.form--stacked .select,.form--stacked .textarea{display:block;width:100%}.form--inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form--inline .checkbox,.form--inline .radio{display:inline-block;vertical-align:middle}.select{color:#262b3a;display:block;position:relative}.select select{background-color:#fff;border:1px solid #abb2c9;border-radius:7px;color:#262b3a;cursor:pointer;display:inline-block;font-family:Montserrat,Avenir,"Avenir Next",Trebuchet,Verdana,sans-serif;line-height:1.6rem;margin:0;outline:0;padding:.65rem .8rem .55rem;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.select select>option{background-color:#fff}.select:after{border-top:5px solid;border-right:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid transparent;content:"";display:inline-block;height:0;margin-top:-2px;pointer-events:none;position:absolute;right:13px;top:50%;width:0}::-webkit-input-placeholder{color:#7380a4;-webkit-font-smoothing:antialiased}::-moz-placeholder{color:#7380a4;-moz-osx-font-smoothing:grayscale}:-ms-input-placeholder{color:#7380a4}.grid-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -.8rem}.grid-column{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;padding:0 .8rem}.grid-row--flex-cells>.grid-column{display:-webkit-box;display:-ms-flexbox;display:flex}.grid-row--top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.grid-row--center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.grid-row--bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.column--top{-ms-flex-item-align:start;align-self:flex-start}.column--center{-ms-flex-item-align:center;align-self:center}.column--bottom{-ms-flex-item-align:end;align-self:flex-end}.span-12,.span-whole{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.span-6,.span-half{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.span-4,.span-one-third{-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.span-8,.span-two-thirds{-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.span-3,.span-one-fourth{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.span-two-fourths{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.span-9,.span-three-fourths{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.span-one-fifth{-ms-flex-preferred-size:20%;flex-basis:20%;max-width:20%}.span-two-fifths{-ms-flex-preferred-size:40%;flex-basis:40%;max-width:40%}.span-three-fifths{-ms-flex-preferred-size:60%;flex-basis:60%;max-width:60%}.span-four-fifths{-ms-flex-preferred-size:80%;flex-basis:80%;max-width:80%}.span-1{-ms-flex-preferred-size:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.span-2{-ms-flex-preferred-size:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.span-5{-ms-flex-preferred-size:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.span-7{-ms-flex-preferred-size:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.span-10{-ms-flex-preferred-size:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.span-11{-ms-flex-preferred-size:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.offset-12{margin-left:100%}.offset-6,.offset-half{margin-left:50%}.offset-4,.offset-one-third{margin-left:33.33333%}.offset-8,.offset-two-thirds{margin-left:66.66667%}.offset-3,.offset-one-fourth{margin-left:25%}.offset-two-fourths{margin-left:50%}.offset-9,.offset-three-fourths{margin-left:75%}.offset-one-fifth{margin-left:20%}.offset-two-fifths{margin-left:40%}.offset-three-fifths{margin-left:60%}.offset-four-fifths{margin-left:80%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-5{margin-left:41.66667%}.offset-7{margin-left:58.33333%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.default-links a,.default-links a:link,.default-links a:visited,.link,.link:link,.link:visited{color:#294ace;text-decoration:none;-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.default-links a:focus,.default-links a:hover,.link:focus,.link:hover{color:#213ba3}.default-links a:active,.link:active{background-image:none;color:#142464;outline:0;-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.link--text{border-bottom:1px solid #294ace}.no-bullets{list-style:none}.list--indented{padding-left:2.4rem}.list--inline{font-size:0}.list--inline li{display:inline-block;font-size:1rem}.h1,h1{font-size:2.1rem}.h2,h2{font-size:1.8rem}.h3,h3{font-size:1.3rem}.h4,dl,h4,ol,p,ul{font-size:1rem}.h5,h5{font-size:.618rem}.h6,.small,h6,small{font-size:.618rem}h1,h2,h3,h4,h5,h6{font-family:"Source Serif Pro",Georgia,Times,serif;font-weight:700;line-height:1;margin-top:0;margin-bottom:.8rem;text-rendering:optimizeLegibility}h6{color:#4a5472}.h1,.h2,.h3,.h4,.h5,.h6{line-height:1;margin-bottom:.8rem}p{margin:0}.small,small{font-weight:400;line-height:1;font-size:.8rem}hr{border:0;border-top:1px solid #abb2c9;display:block;height:1px}.blockquote{border-left:4px solid #abb2c9;font-family:Montserrat,Avenir,"Avenir Next",Trebuchet,Verdana,sans-serif;font-size:1.3rem;font-style:italic;max-width:100%;margin-bottom:.8rem;padding-left:1.2rem}.blockquote:after,.blockquote:before{content:""}.bold{font-weight:700}.regular{font-weight:400}.italic{font-style:italic}.align--left{text-align:left}.align--center{text-align:center}.align--right{text-align:right}.align--justify{text-align:justify}.line-height--base{line-height:1.6rem}.line-height--heading{line-height:1}.font--heading{font-family:"Source Serif Pro",Georgia,Times,serif}.font--reading{font-family:"Source Serif Pro",Georgia,Times,serif}.font--ui{font-family:Montserrat,Avenir,"Avenir Next",Trebuchet,Verdana,sans-serif}.border--full{border-color:#abb2c9;border-style:solid;border-width:1px}.border--top{border-top-color:#abb2c9;border-top-style:solid;border-top-width:1px}.border--right{border-right-color:#abb2c9;border-right-style:solid;border-right-width:1px}.border--bottom{border-bottom-color:#abb2c9;border-bottom-style:solid;border-bottom-width:1px}.border--left{border-left-color:#abb2c9;border-left-style:solid;border-left-width:1px}.border--none{border:0}.rounded{border-radius:7px}.rounded--top{border-radius:7px 7px 0 0}.rounded--right{border-radius:0 7px 7px 0}.rounded--bottom{border-radius:0 0 7px 7px}.rounded--left{border-radius:7px 0 0 7px}.circle{border-radius:50%}.text--white{color:#fff}.text--lightest-gray{color:#abb2c9}.text--light-gray{color:#7380a4}.text--gray{color:#4a5472}.text--dark-gray{color:#262b3a}.text--darkest-gray{color:#020203}.text--primary-color{color:#294ace}.text--secondary-color{color:#69f0ae}.text--tertiary-color{color:#ff5252}.bg--white{background-color:#fff}.bg--lightest-gray{background-color:#abb2c9}.bg--light-gray{background-color:#7380a4}.bg--gray{background-color:#4a5472}.bg--dark-gray{background-color:#262b3a}.bg--darkest-gray{background-color:#020203}.bg--primary-color{background-color:#294ace}.bg--secondary-color{background-color:#69f0ae}.bg--tertiary-color{background-color:#ff5252}.m0{margin:0}.mt0{margin-top:0}.mr0{margin-right:0}.mb0{margin-bottom:0}.ml0{margin-left:0}.m1{margin:.8rem}.mt1{margin-top:.8rem}.mr1{margin-right:.8rem}.mb1{margin-bottom:.8rem}.ml1{margin-left:.8rem}.m2{margin:2rem}.mt2{margin-top:2rem}.mr2{margin-right:2rem}.mb2{margin-bottom:2rem}.ml2{margin-left:2rem}.m3{margin:3.2rem}.mt3{margin-top:3.2rem}.mr3{margin-right:3.2rem}.mb3{margin-bottom:3.2rem}.ml3{margin-left:3.2rem}.m4{margin:4.4rem}.mt4{margin-top:4.4rem}.mr4{margin-right:4.4rem}.mb4{margin-bottom:4.4rem}.ml4{margin-left:4.4rem}.p-mb{margin-bottom:.8rem}.centered{margin-right:auto;margin-left:auto}.p0{padding:0}.pt0{padding-top:0}.pr0{padding-right:0}.pb0{padding-bottom:0}.pl0{padding-left:0}.p1{padding:.8rem}.pt1{padding-top:.8rem}.pr1{padding-right:.8rem}.pb1{padding-bottom:.8rem}.pl1{padding-left:.8rem}.p2{padding:2rem}.pt2{padding-top:2rem}.pr2{padding-right:2rem}.pb2{padding-bottom:2rem}.pl2{padding-left:2rem}.p3{padding:3.2rem}.pt3{padding-top:3.2rem}.pr3{padding-right:3.2rem}.pb3{padding-bottom:3.2rem}.pl3{padding-left:3.2rem}.p4{padding:4.4rem}.pt4{padding-top:4.4rem}.pr4{padding-right:4.4rem}.pb4{padding-bottom:4.4rem}.pl4{padding-left:4.4rem}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.top--0{top:0}.right--0{right:0}.bottom--0{bottom:0}.left--0{left:0}.z1{z-index:1}.z2{z-index:2}.z3{z-index:3}.z4{z-index:4}.z5{z-index:5}.vertical--top{vertical-align:top}.vertical--middle{vertical-align:middle}.vertical--bottom{vertical-align:bottom}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:-webkit-box;display:-ms-flexbox;display:flex}.overflow--scroll{overflow:scroll}.overflow--hidden{overflow:hidden}.overflow--visible{overflow:visible}.overflow--auto{overflow:auto}.show-on-mobile{display:none!important}.float--left{float:left}.float--right{float:right}.float--none{float:none}.full-width{width:100%}.half-width{width:50%}.fit{max-width:100%}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}@media screen and (min-width:40em){html{font-size:16px}.h1,h1{font-size:4.236rem}.h2,h2{font-size:2.618rem}.h3,h3{font-size:1.618rem}.h4,dl,h4,ol,p,ul{font-size:1rem}.h5,h5{font-size:.618rem}.h6,.small,h6,small{font-size:.618rem}}@media screen and (max-width:50em){input,select,textarea{font-size:16px}}@media screen and (max-width:40em){.btn{display:block;margin-top:.8rem;width:100%}.grid-row{margin:0 auto}.grid-column{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%;padding:0;margin-left:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.block-on-mobile,.show-on-mobile{display:block!important}.hide-on-mobile{display:none!important}.align--center-on-mobile{text-align:center!important}.no-mr-on-mobile{margin-right:0!important}} \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/favicon-16x16.png b/admin/survey/modules/mod_WPN/frontend/favicon-16x16.png new file mode 100644 index 0000000..55b63b1 Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/favicon-16x16.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/favicon-32x32.png b/admin/survey/modules/mod_WPN/frontend/favicon-32x32.png new file mode 100644 index 0000000..5bde17d Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/favicon-32x32.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/favicon.ico b/admin/survey/modules/mod_WPN/frontend/favicon.ico new file mode 100644 index 0000000..8036a6b Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/favicon.ico differ diff --git a/admin/survey/modules/mod_WPN/frontend/humans.txt b/admin/survey/modules/mod_WPN/frontend/humans.txt new file mode 100644 index 0000000..168fd9d --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/humans.txt @@ -0,0 +1,13 @@ +# humanstxt.org/ +# The humans responsible & technology colophon + +# TEAM + + Designer/Developer: Jordan Bowman + @jrdnbwmn + eatapapaya.com + +# TECHNOLOGY COLOPHON + + HTML5, CSS3, Javascript + Normalize.css, Sass, Pear diff --git a/admin/survey/modules/mod_WPN/frontend/img/1ka_logo_en.png b/admin/survey/modules/mod_WPN/frontend/img/1ka_logo_en.png new file mode 100644 index 0000000..17ad047 Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/img/1ka_logo_en.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/img/assign.svg b/admin/survey/modules/mod_WPN/frontend/img/assign.svg new file mode 100644 index 0000000..80adabf --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/assign.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/img/aths.png b/admin/survey/modules/mod_WPN/frontend/img/aths.png new file mode 100644 index 0000000..ee66f21 Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/img/aths.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/img/connected.svg b/admin/survey/modules/mod_WPN/frontend/img/connected.svg new file mode 100644 index 0000000..0308ba8 --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/connected.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/img/data.svg b/admin/survey/modules/mod_WPN/frontend/img/data.svg new file mode 100644 index 0000000..a7628fb --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/data.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/img/facebook.svg b/admin/survey/modules/mod_WPN/frontend/img/facebook.svg new file mode 100644 index 0000000..d3af18c --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/facebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/img/googleplay.png b/admin/survey/modules/mod_WPN/frontend/img/googleplay.png new file mode 100644 index 0000000..7714f8a Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/img/googleplay.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/img/ios.png b/admin/survey/modules/mod_WPN/frontend/img/ios.png new file mode 100644 index 0000000..ddc393a Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/img/ios.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/img/mail.svg b/admin/survey/modules/mod_WPN/frontend/img/mail.svg new file mode 100644 index 0000000..e05b85c --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/mail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/img/mentioned.svg b/admin/survey/modules/mod_WPN/frontend/img/mentioned.svg new file mode 100644 index 0000000..078c89f --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/mentioned.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/img/messaging.svg b/admin/survey/modules/mod_WPN/frontend/img/messaging.svg new file mode 100644 index 0000000..ea5751b --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/messaging.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/img/search.svg b/admin/survey/modules/mod_WPN/frontend/img/search.svg new file mode 100644 index 0000000..61fb516 --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/img/security.svg b/admin/survey/modules/mod_WPN/frontend/img/security.svg new file mode 100644 index 0000000..39f9f73 --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/security.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/img/share.png b/admin/survey/modules/mod_WPN/frontend/img/share.png new file mode 100644 index 0000000..74f11bc Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/img/share.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/img/text.svg b/admin/survey/modules/mod_WPN/frontend/img/text.svg new file mode 100644 index 0000000..a734814 --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/text.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/img/twitter.svg b/admin/survey/modules/mod_WPN/frontend/img/twitter.svg new file mode 100644 index 0000000..0c635e2 --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/twitter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/img/vault.svg b/admin/survey/modules/mod_WPN/frontend/img/vault.svg new file mode 100644 index 0000000..d22f72d --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/vault.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/img/youtube.svg b/admin/survey/modules/mod_WPN/frontend/img/youtube.svg new file mode 100644 index 0000000..483d27d --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/img/youtube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/survey/modules/mod_WPN/frontend/index.html b/admin/survey/modules/mod_WPN/frontend/index.html new file mode 100644 index 0000000..1b5c4a9 --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/index.html @@ -0,0 +1,196 @@ + + + + + + + + + + + 1KA WPN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ +
+ +
+

Efficient data gathering.

+
+
+ Fast messaging +

Fast messaging

+
+
+ Assign to others +

Assign to others

+
+
+ Stay connected +

Stay connected

+
+ + +
+
+ + +
+ +
+
+
+

Usage data

+

Quis istud possit, inquit, negare? Videamus animi partes, quarum est conspectus illustrior; Illa sunt similia: hebes acies est cuipiam oculorum, corpore alius senescit; Non enim, si omnia non sequebatur.

+
+

Quae quo sunt excelsiores, eo dant clariora indicia naturae. Causa autem fuit huc veniendi ut quosdam hinc.

+

Carry Andersen, COO at Stripe

+
+
+
+ Usage data +
+
+ +
+
+ Absolute security +
+
+
+
+

Absolute security

+

Itaque his sapiens semper vacabit. Qualis ista philosophia est, quae non interitum afferat pravitatis, sed sit contenta mediocritate vitiorum? Quid de Platone aut de Democrito loquar? Quis istud possit, inquit negare?

+
+

Estne, quaeso, inquam, sitienti in bibendo voluptas? Duo Reges: constructio interrete.

+

Josh Blenton, Product Manager at Blinkist

+
+
+ +
+ + + + + + + +
+ + + + + + + + diff --git a/admin/survey/modules/mod_WPN/frontend/index1.html b/admin/survey/modules/mod_WPN/frontend/index1.html new file mode 100644 index 0000000..eca291f --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/index1.html @@ -0,0 +1,360 @@ + + + + + + + + + NCC Computer Science + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +

Computer Science

+ +
+
+ +
+
+
+

Install App

+ NCC CS + Add our app to your home screen?
+ No, Thanks + +
+
+
+

Welcome!

+

+ You've come to the right place! +

+

+ It’s an exciting – and lucrative – time to be a + Computer Science major. At NCC, you’ll be grounded + in Computer Science fundamentals and exposed to + today’s employable technologies. Want to build + Mobile Apps? Want to create state of the art web + pages? Want to learn advanced topics? No worries + – we’ve got you covered. +

+

+ Whether you are a transfer student looking to start + an advanced degree or a programmer learning a new + language or just looking to add skills to your tool + set, NCC’s Computer Science Department has Courses + and Programs to meet your needs. +

+ +
+
+

Faculty

+

+ NCC's Computer Science faculty possess an abundance + of real world experience coupled with twenty-first century + teaching abilities. The result is classes that ground + students in theory while teaching them how to implement + the technologies needed to thrive in today's economy. +

+
+

+ Professor Tom Duffy, Department Chair +

+
+

+ Tom Duffy +

+

+ (203) 857-6892 +

+

+ tduffy@norwalk.edu +

+
+

+ + Professor Tom Duffy is the Chair of the Computer + Science Department and the Program Coordinator + for the Computer Science degree as well as the Web + Developer, Relational Database, and Smartphone App + Development certificates. He teaches courses in Web + Development, XML, Java, and Mobile Device Programming. +

+

+ Tom holds a Bachelor of Science degree in Mathematics + and Master of Arts degree in Mathematics/Computer Science + from Western Connecticut State University. He is the + owner of Bright Moments Software – a software company + specializing in Web Technologies. +

+

+ Tom has recently published Programming With Mobile Applications, his second book. The book is available from Cengage Learning. +

+

+ Back To Top +

+ +
+
+

+ Professor Patrick Cassidy +

+
+

+ Patrick Cassidy +

+

+ (203) 857-7336 +

+

+ pcassidy@norwalk.edu +

+
+

+ Professor Cassidy is the Coordinator for the Computer + Security degree and Networking Certificate programs. + He is also the Main Contact for NCC’s Cisco Academy. +

+

+ Before coming to NCC, Prof. Cassidy was a Project + Associate for the University of Michigan working out + of the General Motors Plant in Tarrytown, NY. He has + also taught at Westchester Community College in both + the Mathematics and Computer Science departments. +

+

+ He holds a M.S. in Computer Science from Polytechnic + University, a B.S. in Aeronautical Science from + Embry Riddle Aeronautical University, and an A.S. + in Mathematics and Science from Westchester Community + College. Prof. Cassidy is a Cisco Certified Network + Associate (CCNA) and Cisco Certified Academy Instructor + (CCAI). He also holds multiple ratings from the + FAA as well as being a Certified Flight + Instructor – Instrument (CFII). +

+

+ Back To Top +

+
+
+

+ Professor Kerry Cramer +

+
+

+ Kerry Cramer +

+

+ (203) 857-3332 +

+

+ kcramer@norwalk.edu +

+
+

+ Professor Kerry V. Cramer is an information technology + professional with 30 years experience in computer + programming, information technologies, and IT project + management. Mr. Cramer has been an adjunct professor at + Manhattanville College, and University of New Haven + teaching several courses in the Computer Science + curriculum as well as substitute teaching K-12 at + schools in the Danbury, CT area. +

+

Professor Cramer’s strengths + include strong project management disciplines, + technical, supervisory and team management skills in + Internet, Lotus Notes, and legacy application development + and maintenance environments as well as extensive college + and professional recruiting experience. +

+

+ Back To Top +

+
+
+

+ Professor Charles Gabor +

+
+

+ Charles Gabor +

+

+ (203) 857-7315 +

+

+ cgabor@norwalk.edu +

+
+

+ Professor Gabor teaches Database Development and Java courses. + Before joining the NCC faculty he was a Lieutenant/Senior + Military Instructor at the United States Naval Academy. + Prior to that he was a Software Engineer at Pitney Bowes Inc. +

+

+ Professor Gabor holds a graduate certificate in Computer + Science from Purdue University, a M.S. degree from + the University of New Haven and a B.S degree in + Applied Science from Charter Oak State College. + He is a member of the Honor Society in Computer Science, + Upsilon Pi Epsilon and a retired Commander in the U.S. Navy. +

+

+ Back To Top +

+
+ +
+
+

Programs

+

+ Our programs serve both traditional first-time students + as well as professionals currently working in the field. + The curriculum is flexible enough to meet the needs of + students who wish to transfer to a baccalaureate + institution and students preparing for immediate + entry into the workplace. +

+

+ Degree Programs +

+

+ AS Computer Science +

+

+ AS Computer Security +

+

+ Certificate Programs +

+

+ Relational Database Development +

+

+ Smartphone App Development +

+

+ Web Developer +

+

+ Back To Top +

+
+
+

Courses

+

+ Computer Science courses at NCC not only prepare students to + transfer into a baccalaureate institution. They also serve + those students who wish to enter the workforce directly. + All our courses expose students to the course's underlying CS + theory as well as teach students how to implement those + theories. The result is students who are prepared for + whatever they choose to do next. +

+

+ Computer Science (CSC) +

+

+ Computer Technology (CST) +

+

+ Computer Applications (CSA) +

+

+ Back To Top +

+
+
+ + + +
+
+ + +
+ +

+ icon +

+

+ Install our app on your Home Screen for Quick Access +

+

+ Tap share then Add To Home Screen +

+
+ + diff --git a/admin/survey/modules/mod_WPN/frontend/js/main.js b/admin/survey/modules/mod_WPN/frontend/js/main.js new file mode 100644 index 0000000..aa9ff02 --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/js/main.js @@ -0,0 +1,169 @@ +window.onhashchange = function(){ + //Header is fixed, need to slide down some to see sectionHead + setTimeout('scrollBy(0,-110)',10); +}; +var hidden = true; +function toggleNav(){ + if(hidden){ + document.getElementsByTagName('nav')[0].style.display = 'block'; + }else{ + document.getElementsByTagName('nav')[0].style.display = 'none'; + } + hidden = !hidden; +} +var pwaSupport = false; + +if('serviceWorker' in navigator){ + pwaSupport = true; + //register the service worker + navigator.serviceWorker.register('sw.js').then(function(result){ + console.log('Service Worker Registered'); + console.log('Scope: ' + result.scope); + console.log('calling'); + subscribeDivControl(); + + /* + if('Notification' in window){ + console.log('Notifications Supported'); + Notification.requestPermission(function(status){ + console.log('Notification Status: ', status); + }); + var options = { + body: 'See What\'s New', + icon: 'android-chrome-192x192.png', + data: { + timestamp: Date.now(), + loc: 'index.html#info' + }, + actions: [ + {action: 'go', title: 'Go Now'} + ] + }; + notify('NCC Computer Science', options); + } + */ + }, function(error){ + console.log('Service Worker Regiatration Failed: '+ error); + }); +}else{ + document.getElementById('notif_not_supported_div').style.display='block'; + console.log('Service Workers Not Supported'); +} + +function notify(title, options){ + if(Notification.permission === 'granted'){ + navigator.serviceWorker.ready.then(function(reg){ + reg.showNotification(title, options); + }); + } +} + +var installEvt; +window.addEventListener('beforeinstallprompt', function(evt){ + console.log('Before Install Prompt'); + installEvt = evt; + evt.preventDefault(); + //document.getElementById('addToHomeScreen').style.display = 'block'; +}); + +function hidePrompt(){ + //document.getElementById('addToHomeScreen').style.display = 'none'; +} + +function installApp(){ + hidePrompt(); + installEvt.prompt(); + installEvt.userChoice.then(function(result){ + if(result.outcome === 'accepted') + console.log('App Installed'); + else + console.log('App Not Installed'); + }); +} + +window.addEventListener('appinstalled', function(evt){ + console.log('App Installed Event'); +}); + +window.onload = function(){ + if(pwaSupport){ + var p = navigator.platform; + if(p === 'iPhone' || p === 'iPad' || p === 'iPod'){ + if(!navigator.standalone){ + var lastShown = parseInt(localStorage.getItem('lastShown')); + var now = new Date().getTime(); + if(isNaN(lastShown) || (lastShown + 1000*60*60*24*7) <= now){ + document.getElementById('instructions').style.display = 'block'; + localStorage.setItem('lastShown', now); + } + } + } + } +}; + +function hideInstructions(){ + document.getElementById('instructions').style.display = 'none'; +} + +function clickButtonSubscribe(){ + subscribeToPush(); + subscribeDivControl(); +} + +function subscribeDivControl(){ + if(Notification.permission != 'granted'){ + document.getElementById('notif_join_div').style.display='block'; + document.getElementById('notif_joined_div').style.display='none'; + document.getElementById('notification_permission_warning').style.display='none'; + } + else { + document.getElementById('notif_joined_div').style.display='block'; + document.getElementById('notif_join_div').style.display='none'; + } +} + +function subscribeToPush(){ + console.log('subscribeToPush'); + navigator.serviceWorker.ready.then(function(reg){ + console.log(reg); + reg.pushManager.subscribe({ + userVisibleOnly:true, + applicationServerKey: urlBase64ToUint8Array('BNVIBdCsC6vkmByQJ861pusHN1mV76X3mvAa1u4PxmleTv2m2whcEu9Elhh8Qz3XnqV6k58YCSVqaafl3bhPKLU') + }).then(function(sub){ + subscribeDivControl(); + var json = JSON.parse(JSON.stringify(sub)); + console.log(json); + /*console.log(JSON.stringify(sub)); + console.log(sub.json());*/ + console.log('User Subscribed'); + //var json = {endpoint:"https://fcm.googleapis.com/fcm/send/deaedc3PCAg:APA91bGy7QpBtbuokjOQv0Y_BcSOujpabeRY6PG5MUbcsOpf7kZaKTmJMb1jYmW03rPRSIY1shFlzh3UOI4hItQoHlzp6yNuPamxOwgbIbK1tG7oiRaUplQBNC8dN3qwm52bEOPgbqBX",expirationTime:null,keys:{p256dh:"BIIbHDXNbOGKG-gYec7a8DMpqst2Uxavo_p1MS695lvPJ1ZHO0audpMPRSWwae5BmaHCN6MYC2rThAsGlamS3sw",auth:"7P5IQKoInqQnTOBG1ZzNgw"}}; + + $.post('../../../api/api.php?action=wpnAddSubscription&identifier=wpn', json, function(data){console.log(data);}); + + }).catch(function (err){ + //console.log(err); + document.getElementById('notification_permission_warning').style.display='block'; + }); + }); +} + +/** + * urlBase64ToUint8Array + * + * @param {string} base64String a public vavid key + */ +function urlBase64ToUint8Array(base64String) { + var padding = '='.repeat((4 - base64String.length % 4) % 4); + var base64 = (base64String + padding) + .replace(/\-/g, '+') + .replace(/_/g, '/'); + + var rawData = window.atob(base64); + var outputArray = new Uint8Array(rawData.length); + + for (var i = 0; i < rawData.length; ++i) { + outputArray[i] = rawData.charCodeAt(i); + } + return outputArray; +} + diff --git a/admin/survey/modules/mod_WPN/frontend/manifest.json b/admin/survey/modules/mod_WPN/frontend/manifest.json new file mode 100644 index 0000000..9451ce5 --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/manifest.json @@ -0,0 +1,21 @@ +{ + "name": "1KA WPN", + "short_name": "1KA WPN", + "icons": [ + { + "src": "/admin/survey/modules/mod_WPN/frontend/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/admin/survey/modules/mod_WPN/frontend/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone", + "start_url": "/admin/survey/modules/mod_WPN/frontend/index.html", + "gcm_sender_id": "271835672394" +} diff --git a/admin/survey/modules/mod_WPN/frontend/mstile-150x150.png b/admin/survey/modules/mod_WPN/frontend/mstile-150x150.png new file mode 100644 index 0000000..2e5b11d Binary files /dev/null and b/admin/survey/modules/mod_WPN/frontend/mstile-150x150.png differ diff --git a/admin/survey/modules/mod_WPN/frontend/safari-pinned-tab.svg b/admin/survey/modules/mod_WPN/frontend/safari-pinned-tab.svg new file mode 100644 index 0000000..6a74d32 --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/safari-pinned-tab.svg @@ -0,0 +1,290 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + + + + + + + + + + + + + diff --git a/admin/survey/modules/mod_WPN/frontend/sw.js b/admin/survey/modules/mod_WPN/frontend/sw.js new file mode 100644 index 0000000..f20d9ac --- /dev/null +++ b/admin/survey/modules/mod_WPN/frontend/sw.js @@ -0,0 +1,124 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +var cacheName = 'CSv4'; + +var cachedFiles = [ + /*'/frontend/', + '/index.html', + '/manifest.json', + '/js/main.js', + '/js/production.css', + '/css/main.css' + '/frontend/css/normalize.min.css', + '/frontend/img/cassidy.jpg', + '/frontend/img/cramer.jpg', + '/frontend/img/duffy.jpg', + '/frontend/img/gabor.jpg', + '/frontend/img/aths.png', + '/frontend/img/share.png', + '/frontend/apple-touch-icon.png', + '/frontend/android-chrome-192x192.png'*/ +]; + +self.addEventListener('install', function(evt){ + console.log('Service Worker Install Event'); + //Add the file to the cache + evt.waitUntil( + caches.open(cacheName).then(function(cache){ + console.log('Caching Files'); + return cache.addAll(cachedFiles); + }).then(function(){ + return self.skipWaiting(); + }).catch(function(err){ + console.log('Cache Failed', err); + }) + ); +}); + +self.addEventListener('activate', function(evt){ + console.log('Service Worker Activated'); + evt.waitUntil( + caches.keys().then(function(keyList){ + return Promise.all(keyList.map(function(key){ + if(key !== cacheName){ + console.log('Removing Old Cache', key); + return caches.delete(key) + } + })); + }) + ); + return self.clients.claim(); +}); + +/*self.addEventListener('fetch', function(evt){ + console.log('Fetch Event' + evt.request.url); + evt.respondWith( + caches.match(evt.request).then(function(response){ + return response || fetch(evt.request); + }) + ); +});*/ + +function closeNotification(msg, evt){ + console.log(msg, evt.notification.data); + evt.notification.close(); +} + +self.addEventListener('notificationclose', function(evt){ + closeNotification('Notification Closed', evt); +}); + +self.addEventListener('notificationclick', function(evt){ + if(evt.action !== 'close'){ + evt.waitUntil( + self.clients.matchAll({type: 'window', includeUncontrolled: 'true'}).then(function(allClients){ + console.log(allClients); + var matchingClient = null; + for(var i = 0; i + + + + + + + + + + Carta + + + + + + + + + + + + + + + + +
+ + +
+

Colors

+
Primary brand color
+
Secondary brand color
+
Brand accent color
+
Darkest gray
+
Dark gray
+
Gray
+
Light gray
+
Lightest gray
+
+ + +
+

Type

+

A new take on health care for small businesses.

+

Heading 2

+

Heading 3

+

Heading 4

+
Heading 5
+
Heading 6
+

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, semper suscipit, posuere a, pede.

+

Sed adipiscing ornare risus. Morbi est est, blandit sit amet, sagittis vel, euismod vel, velit. Pellentesque egestas sem. Suspendisse commodo ullamcorper magna. Ut aliquam sollicitudin leo.

+
This is a blockquote. Suspendisse commodo ullamcorper magna.
+

Lorem superscript dolor subscript amet, consectetuer adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. cite. Donec sed tellus eget sapien fringilla nonummy. NBA Morbi imperdiet augue quis tellus. Suspendisse quam sem, AVE consequat at, commodo vitae, feugiat in nunc.

+

Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in pharetra a, ultricies in, diam. Sed arcu. Cras consequat.

+
    +
  • Aliquam tincidunt mauris eu risus.
  • +
  • Vestibulum auctor dapibus neque.
  • +
  • Nunc dignissim risus id metus.
  • +
  • Vivamus vestibulum nulla nec ante.
  • +
+

Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu. Cras consequat.

+
    +
  1. Integer vitae libero ac risus egestas placerat.
  2. +
  3. Praesent placerat risus quis eros.
  4. +
  5. Ut aliquam sollicitudin leo.
  6. +
  7. Donec quis dui at dolor tempor interdum.
  8. +
+
+ + +
+

Forms

+
+ + + +
+ +
+ + +
+
+ + +
+

Buttons

+ Medium Default + Medium Outline + Small Default +
+ +
+ + + + diff --git a/admin/survey/modules/mod_WPN/info WPN.txt b/admin/survey/modules/mod_WPN/info WPN.txt new file mode 100644 index 0000000..9d62bf7 --- /dev/null +++ b/admin/survey/modules/mod_WPN/info WPN.txt @@ -0,0 +1,5 @@ +Web Push Notifications +- Module is used for sending web push notifications to subscribers (browsers) +- This module is using third party library: https://github.com/web-push-libs/web-push-php + - PHP 7.1+ + - gmp, mbstring, curl, openssl \ No newline at end of file -- cgit v1.2.3