The base template for the Netsyms Business Apps.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Skylar Ittner 3ca062d995 Enforce app passwords in API for users with two-factor enabled 5 dienas atpakaļ
api Enforce app passwords in API for users with two-factor enabled 5 dienas atpakaļ
langs Nicer access denied message 1 mēnesi atpakaļ
lib Enforce app passwords in API for users with two-factor enabled 5 dienas atpakaļ
mobile Add more permissions checks 1 mēnesi atpakaļ
nbproject Add MPL header 10 mēnešus atpakaļ
pages Add textarea to FormBuilder 1 mēnesi atpakaļ
static Remove unneeded index.css 1 mēnesi atpakaļ
tests Rewrite to use classes, aligning with AccountHub 2.0 5 mēnešus atpakaļ
.gitignore User name in navbar now links to Portal home 1 gadu atpakaļ
.gitmodules Convert material-color CSS to submodule 1 gadu atpakaļ Update license and readme 1 mēnesi atpakaļ Update license and readme 1 mēnesi atpakaļ
action.php Redirect to AccountHub for user login 1 mēnesi atpakaļ
api.php Add comment 1 mēnesi atpakaļ
app.php Make settings.php an array, not a bunch of defines 1 mēnesi atpakaļ
composer.json Switch to Mozilla Public License 2.0 for code consistency 10 mēnešus atpakaļ
composer.lock Rewrite to use classes, aligning with AccountHub 2.0 5 mēnešus atpakaļ
index.php Nicer access denied message 1 mēnesi atpakaļ
pages.php Add FormBuilder 1 mēnesi atpakaļ
required.php Whoops 1 mēnesi atpakaļ
settings.template.php Add permission check during login 1 mēnesi atpakaļ

Business App Template

This is an empty (but fully functional) PHP application. It is designed to integrate with AccountHub, an account management web interface. AccountHub manages user credentials and account data, and is accessed by this app via a simple API.

Codacy badge

Program Structure


  • api An API framework. See api/apisettings.php below.
  • api/actions A place to put your API actions.
  • langs Translations and alert messages. The language files that are loaded depends on the value of LANGUAGE in settings.php. All .json files in a language folder are parsed and loaded into the dictionary (use via $Strings->get('some key')).
  • lib A good place to put helper functions that you don’t want “in the way”. All files that end with .lib.php are automatically loaded.
  • 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, JavaScript, 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.


  • settings.template.php App configuration. Copy to settings.php and customize. Documented with inline comments.
  • app.php Handles the web part of the app. If you have problems with too many items on the navbar, change $navbar_breakpoint. To change the navbar colors, find and edit <nav class="navbar ..., changing navbar-dark bg-blue to suit.
  • static/img/logo.svg The app logo. Should be a square, we don’t test any other sizes.
  • 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, library files, app settings, language data, and creates $database for accessing the database. It also has some utility functions, including dieifnotloggedin(). Read through it to see exactly what it does.
  • action.php A good place to put form handling code. By default it only handles logging out, but is easily expanded.
  • api/apisettings.php An array of API actions. Validates any variables required by your actions before running them. See for a full example of its capabilities.
  • api.php Legacy shim for code that still expects the API endpoint to be here.
  • index.php Handles login and checking permissions.
  • 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).
  • langs/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.

Setup Tips

  • Run composer install (or composer.phar install) to install dependency libraries
  • If you don’t have any color in the navbar, run git submodule init and git submodule update.