No description
php
This repository has been archived on 2023-07-28. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2022-07-05 22:10:15 +02:00
bin - Refactor 2016-07-11 22:29:44 +02:00
cache initial release 2016-07-10 17:32:38 +02:00
config Use 4 spaces as tab and reformat 2021-05-21 01:21:43 +02:00
data Use 4 spaces as tab and reformat 2021-05-21 01:21:43 +02:00
log initial release 2016-07-10 17:32:38 +02:00
public v0.3.0.1 2018-05-24 13:49:28 +02:00
src Use 4 spaces as tab and reformat 2021-05-21 01:21:43 +02:00
.editorconfig Use 4 spaces as tab and reformat 2021-05-21 01:21:43 +02:00
.gitignore Design fixes, agreement in md file 2018-05-18 15:01:16 +02:00
CHANGELOG.md Update external git reference #noissue 2022-07-05 22:10:15 +02:00
composer.json Use 4 spaces as tab and reformat 2021-05-21 01:21:43 +02:00
LICENSE.txt Add license which is valid for also all previous releases 2019-09-25 15:33:26 +02:00
README.md Update external git reference #noissue 2022-07-05 22:10:15 +02:00

README

A simple webinterface for users. This app uses admin_rest module of prosody. So prosody.im and this module are hard dependencies. The interface allows users

  • to have two step verification (as an alternative to the integrated register_web module),
  • to delete of their accounts and
  • to change their password.

This app uses

  • Slim Version 3
  • Slim Auth
  • Eloquent ORM
  • PHPMigration
  • GUMP Validation
  • Twig
  • Curl
  • PHPMailer
  • Symfony Translation
  • Sqlite

as dependencies.

The main git repository is hosted at https://git.myservermanager.com/varakh/prosody_web_admin_rest. Other repositories are mirrors and pull requests, issues, and planning are managed there.

Contributions are very welcome!

Requirements

  • admin_rest module of prosody
  • composer
  • sqlite pdo, mb_string

Install

  • Install composer
  • Change directory to project home
  • Copy config/env.example to config/env and adjust to your needs
  • Copy config/legal.example.md to config/legal.md and adjust to your needs
  • composer install
  • php bin/phpmig migrate

Deployment

  • Set up a cron job using php projectRootDir/bin/UsersAwaitingVerificationCleanUpCronJob.php to clean up users who signed up but did not verify their account periodically.
  • Point your document root to public/.
  • Example nginx conf:
root   .../public;
index index.php;    

rewrite_log on;

location / {
  try_files $uri $uri/ @ee;
}

location @ee {
  rewrite ^(.*) /index.php?$1 last;
}

# php fpm
location ~ \.php$ {
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
  include        fastcgi_params;
}  

You should be able to set a very strict Content-Security-Policy.

Upgrade

  • Change directory to project home
  • git pull
  • composer update
  • php bin/phpmig migrate
  • look into Changelog for major changes

Developers

  • start server with php -S localhost:8080 -t public public/index.php
  • point browser to localhost:8080 to have a preview

Translations

This app uses Symfony Translator. It's bootstraped in Util\BootstrapHelper and locales are placed under data/locale/ . Adjust to your needs or help translating.