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-actif appropriate, and callsview.phpeither 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
$dataarray.
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
.cssfile in this directory is declared in every page. -
db/ - SQlite database, the only directory writable by the program
-
locales/ - Gettext translations, see translation