docs/back/architecture.en.md

1.4 KiB

Software architecture

Program flow

init.php
Initializes common values
router.php
Receives every external HTTP request from the web server, executes actions required in any case, executes matching code in pg-act if appropriate, and calls view.php either way.
pg-act/
Executed when a form is submitted: checks that every parameter is valid and secure, then executes the feature of the page according to the parameters.
view.php
Displays global HTML and includes matching file from pg-view.
pg-view/
Displays the main page content (notably HTML forms), may sometimes display form output passed through the $data array.

The output function is used to return success or error messages and stop processing of the request.

Other components

fn/
Functions, grouped by concerned service
jobs/
CLI scripts ; should be run as the same user as the rest of the program (e.g. sudo -u servnest php /srv/servnest/core/jobs/something.php)
sftpgo-auth.php
When someone tries to log in over SFTP, SFTPGo sends username and password to this script, which queries the database and replies whether authentication succeeded or not.
css/
Each .css file in this directory is declared in every page.
db/
SQlite database, the only directory writable by the program
locales/
Gettext translations, see translation.md