From 66269b622110bbaf068cfe89221b714fd27a37f9 Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Sun, 14 May 2017 12:50:11 -0600 Subject: [PATCH] Branding++ --- LICENSE | 9 ----- LICENSE.md | 36 ++++++++++++++++++ README.md | 82 +++-------------------------------------- api.php | 36 ++++++++++++++++++ settings.template.php | 10 ++--- static/css/app.css | 4 +- static/img/logo.png | Bin 12620 -> 10051 bytes static/img/logo.svg | 83 +++++++++++++++++++++++++++++++++--------- 8 files changed, 151 insertions(+), 109 deletions(-) delete mode 100644 LICENSE create mode 100644 LICENSE.md create mode 100644 api.php diff --git a/LICENSE b/LICENSE deleted file mode 100644 index df0407f..0000000 --- a/LICENSE +++ /dev/null @@ -1,9 +0,0 @@ -Copyright (C) 2017 Netsyms Technologies. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL NETSYMS TECHNOLOGIES BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name and other identifying marks of Netsyms Technologies shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Netsyms Technologies. \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..be08f29 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,36 @@ +Copyright (C) 2017 Netsyms Technologies. All rights reserved. + +**Definitions:** +* "the code", "the software", or "code" refers to the application (or any portion +thereof, in any form) this license is included with, excluding third-party libraries. +* "any form" means source code, binaries, or any other representation of the code. +* "explicit written permission" refers to a written, signed, non-transferable +statement from Netsyms Technologies granting you additional rights to the code. + +**You are allowed to:** +* use the code for personal and non-commercial purposes. +* modify the code for personal and non-commercial purposes. + +**You are NOT allowed to:** +* redistribute the code in any form. +* sell the code in any form. +* use the code for any projects you redistribute or sell, unless you have +explicit written permission. +* use the code for any projects that are not both personal and non-commercial. +* use the code for commercial, business, or non-profit purposes without +explicit written permission. +* do anything else not permitted in this license. + +**You must:** +* retain any and all copyright notices in the code. +* retain any and all license notices in the code. +* ask for clarification from Netsyms Technologies if any portion of this license +is unclear or ambiguous. + +**Disclaimer:** +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index d2499e1..a8785cc 100644 --- a/README.md +++ b/README.md @@ -1,79 +1,7 @@ -Business App Template -===================== +SimpleInventory +========= -This is an empty (but fully functional) PHP application. It is designed to -integrate with Portal, an account management web interface. Portal manages -user credentials and account data, and is accessed by this app via [a simple API](http://docs.netsyms.com/docs/Portal/API%20Documentation/). +A lightweight asset tracking system. Easily keep track of the tools +employees need to do their jobs. -[![Codacy Badge](https://api.codacy.com/project/badge/Grade/2aeadc6b65d545c4a4c2e77d286373fd)](https://www.codacy.com/app/Netsyms/BusinessAppTemplate?utm_source=github.com&utm_medium=referral&utm_content=Netsyms/BusinessAppTemplate&utm_campaign=Badge_Grade) - -Program Structure ------------------ - -### Folders -* lang - Translations and alert messages. - The language file that is loaded depends on the value of `LANGUAGE` in `settings.php`. - Translate the values (but not the keys) in `en_us.php` into other languages and save in appropriately named files to add languages. -* lib - A good place to put helper functions that you don't want "in the way". -* pages - What it looks like. If you go into `pages.php` and define a page with the name `foo`, there should be a `foo.php` in here. - The app checks before loading, so it will give a friendly 404 error if it doesn't find your page. - Woe to you if you delete `home.php` or `404.php`, as those are assumed to exist for fallback behavior. -* static - CSS, JS, fonts, images... -* vendor - If you don't know what this is about, or you don't have it, you need to read up on Composer. Right now. - -### Files -* settings.template.php - App configuration. Copy to `settings.php` and customize. Documented with inline comments. -* required.php - The "duct tape" that holds the app together. Use `require_once __DIR__."/required.php"` at the top of every file. - It loads Composer dependencies, app settings, language data, and creates `$database` for accessing the database. - It also has some utility functions, including `dieifnotloggedin()`, `is_empty($var)`, and `lang('key')`. - Read through it to see what those functions do. -* action.php - A good place to post forms to. By default it only handles logging out, but is easily expanded. -* index.php - Login page and handler. Hands off to `app.php` after authenticating user. - It includes 2fa support, by the way. -* app.php - Main app page after login. Handles loading app pages and 404 errors. - Redirects to `index.php` if the user is not logged in. - Note: to show an alert message (success, error, whatever), set the GET argument `msg` to a message ID from `lang/messages.php`. -* pages.php - Define app pages/screens in an array. The page ID/array key is assumed to exist as a file `pages/{key}.php`, or it will 404. - __Optional parameters:__ - `'navbar' => true` will show the page as a button in the app menu bar. - `'icon' => '...'` will show an icon from FontAwesome in the menu bar. Setting this to `home` will show the icon `fa-home`. - `'styles' => ["file.css"]` will inject the listed CSS files into the page header (after all other CSS, like Bootstrap). - `'scripts' => ["file.js"]` will inject the listed JavaScript files into the page footer (after jQuery and other builtin scripts). -* lang/messages.php - Array of alert messages. - `"string"` is the language string for the message, `"type"` is one of `success`, `info`, `warning`, or `danger` (i.e. Bootstrap alert classes). - Changing the type changes the icon and color of the alert box. -*lang/en_us.php - Language data for US English. -*lib/login.php - Functions for logging in users and stuff like that. Most functions transparently makes requests to the Portal API and return the results. -*lib/userinfo.php - Functions for getting user data, like real names and managed employees. -*static/css/app.css - Custom styles for the app. See the comments inside for instructions on theming the app. - -License -------- - -tl;dr: MIT license, but also don't use our name in ads and stuff. - -Copyright (C) 2017 Netsyms Technologies. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL NETSYMS TECHNOLOGIES BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name and other identifying marks of Netsyms Technologies shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Netsyms Technologies. \ No newline at end of file +https://biz.netsyms.com/inventory \ No newline at end of file diff --git a/api.php b/api.php new file mode 100644 index 0000000..963268c --- /dev/null +++ b/api.php @@ -0,0 +1,36 @@ + "OK", "maxresults" => $max, "pong" => true]; + exit(json_encode($out)); + default: + header("HTTP/1.1 400 Bad Request"); + die("\"400 Bad Request\""); +} \ No newline at end of file diff --git a/settings.template.php b/settings.template.php index 21297bb..992ceb8 100644 --- a/settings.template.php +++ b/settings.template.php @@ -7,14 +7,14 @@ define("DEBUG", false); // Database connection settings // See http://medoo.in/api/new for info define("DB_TYPE", "mysql"); -define("DB_NAME", "app"); +define("DB_NAME", "inventory"); define("DB_SERVER", "localhost"); -define("DB_USER", "app"); +define("DB_USER", "inventory"); define("DB_PASS", ""); define("DB_CHARSET", "utf8"); // Name of the app. -define("SITE_TITLE", "Web App Template"); +define("SITE_TITLE", "SimpleInventory"); // Which pages to show the app icon on: // index, app, both, none @@ -36,7 +36,7 @@ define("PORTAL_KEY", "123"); define("TIMEZONE", "America/Denver"); // Base URL for site links. -define('URL', 'http://localhost/app'); +define('URL', 'http://localhost/inventory'); // Use reCAPTCHA on login screen // https://www.google.com/recaptcha/ @@ -51,6 +51,6 @@ define('LANGUAGE', "en_us"); // /!\ Warning: Changing these values may /!\ // // /!\ violate the terms of your license agreement! /!\ // ////////////////////////////////////////////////////////////// -define("LICENSE_TEXT", "Free Software: MIT License"); +define("LICENSE_TEXT", "Personal, Non-commercial Use Only"); define("COPYRIGHT_NAME", "Netsyms Technologies"); ////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/static/css/app.css b/static/css/app.css index 23bd6b2..c41b92b 100644 --- a/static/css/app.css +++ b/static/css/app.css @@ -1,6 +1,8 @@ .banner-image { max-height: 100px; margin: 2em auto; + border: 1px solid grey; + border-radius: 12px; } .navbar-brand { @@ -24,7 +26,7 @@ to replace the rgba()s. /* navbar background */ .navbar-inverse { - /* background-color: green; */ + background-color: #4caf50; } /* Selected page background */ diff --git a/static/img/logo.png b/static/img/logo.png index d950420a362d7d823f5546fa1189e337209c82a9..8c5bfd90eb098a42f67126e43f72802ff0b2c156 100644 GIT binary patch literal 10051 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 diff --git a/static/img/logo.svg b/static/img/logo.svg index 410fb09..92f6704 100644 --- a/static/img/logo.svg +++ b/static/img/logo.svg @@ -16,19 +16,11 @@ version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="logo.svg" - inkscape:export-filename="/home/skylar/Documents/Projects/Sources/WebAppTemplate/static/img/logo.png" - inkscape:export-xdpi="90" - inkscape:export-ydpi="90"> + inkscape:export-filename="/home/skylar/Documents/Projects/Assets/SimpleInventory/logo_64.png" + inkscape:export-xdpi="11.25" + inkscape:export-ydpi="11.25"> - - + id="defs4" /> - + + + + + + + + + +