upgrade versions and readme

This commit is contained in:
Synox 2016-09-14 20:27:18 +02:00
parent cc1c0061a3
commit 7ac2c00643
7 changed files with 32 additions and 19 deletions

View File

@ -6,6 +6,9 @@ composer install
# copy backend # copy backend
cp -rv src/{backend.php,config.sample.php} dist/ cp -rv src/{backend.php,config.sample.php} dist/
# install javascript dependencies
npm install
# build Javascript frontend # build Javascript frontend
npm run build npm run build

2
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"hash": "d4d6c6077bbcd7958a06026e4117a70b", "hash": "18ba77805fd530e1972050e6de7cd151",
"content-hash": "357059f60b3f57be6e5f15b1df393a72", "content-hash": "357059f60b3f57be6e5f15b1df393a72",
"packages": [ "packages": [
{ {

View File

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer' . '/autoload_real.php'; require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit38e9d02473bfdb3672d6b8a39de2fbc0::getLoader(); return ComposerAutoloaderInit125dddd280a32cf75b181166154246ec::getLoader();

View File

@ -53,8 +53,8 @@ class ClassLoader
private $useIncludePath = false; private $useIncludePath = false;
private $classMap = array(); private $classMap = array();
private $classMapAuthoritative = false; private $classMapAuthoritative = false;
private $missingClasses = array();
public function getPrefixes() public function getPrefixes()
{ {
@ -322,20 +322,20 @@ class ClassLoader
if (isset($this->classMap[$class])) { if (isset($this->classMap[$class])) {
return $this->classMap[$class]; return $this->classMap[$class];
} }
if ($this->classMapAuthoritative) { if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
return false; return false;
} }
$file = $this->findFileWithExtension($class, '.php'); $file = $this->findFileWithExtension($class, '.php');
// Search for Hack files if we are running on HHVM // Search for Hack files if we are running on HHVM
if ($file === null && defined('HHVM_VERSION')) { if (false === $file && defined('HHVM_VERSION')) {
$file = $this->findFileWithExtension($class, '.hh'); $file = $this->findFileWithExtension($class, '.hh');
} }
if ($file === null) { if (false === $file) {
// Remember that this class does not exist. // Remember that this class does not exist.
return $this->classMap[$class] = false; $this->missingClasses[$class] = true;
} }
return $file; return $file;
@ -399,6 +399,8 @@ class ClassLoader
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
return $file; return $file;
} }
return false;
} }
} }

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer // autoload_real.php @generated by Composer
class ComposerAutoloaderInit38e9d02473bfdb3672d6b8a39de2fbc0 class ComposerAutoloaderInit125dddd280a32cf75b181166154246ec
{ {
private static $loader; private static $loader;
@ -19,15 +19,15 @@ class ComposerAutoloaderInit38e9d02473bfdb3672d6b8a39de2fbc0
return self::$loader; return self::$loader;
} }
spl_autoload_register(array('ComposerAutoloaderInit38e9d02473bfdb3672d6b8a39de2fbc0', 'loadClassLoader'), true, true); spl_autoload_register(array('ComposerAutoloaderInit125dddd280a32cf75b181166154246ec', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(); self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit38e9d02473bfdb3672d6b8a39de2fbc0', 'loadClassLoader')); spl_autoload_unregister(array('ComposerAutoloaderInit125dddd280a32cf75b181166154246ec', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION'); $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
if ($useStaticLoader) { if ($useStaticLoader) {
require_once __DIR__ . '/autoload_static.php'; require_once __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit38e9d02473bfdb3672d6b8a39de2fbc0::getInitializer($loader)); call_user_func(\Composer\Autoload\ComposerStaticInit125dddd280a32cf75b181166154246ec::getInitializer($loader));
} else { } else {
$map = require __DIR__ . '/autoload_namespaces.php'; $map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) { foreach ($map as $namespace => $path) {

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload; namespace Composer\Autoload;
class ComposerStaticInit38e9d02473bfdb3672d6b8a39de2fbc0 class ComposerStaticInit125dddd280a32cf75b181166154246ec
{ {
public static $prefixesPsr0 = array ( public static $prefixesPsr0 = array (
'P' => 'P' =>
@ -19,7 +19,7 @@ class ComposerStaticInit38e9d02473bfdb3672d6b8a39de2fbc0
public static function getInitializer(ClassLoader $loader) public static function getInitializer(ClassLoader $loader)
{ {
return \Closure::bind(function () use ($loader) { return \Closure::bind(function () use ($loader) {
$loader->prefixesPsr0 = ComposerStaticInit38e9d02473bfdb3672d6b8a39de2fbc0::$prefixesPsr0; $loader->prefixesPsr0 = ComposerStaticInit125dddd280a32cf75b181166154246ec::$prefixesPsr0;
}, null, ClassLoader::class); }, null, ClassLoader::class);
} }

View File

@ -38,33 +38,41 @@ This is **alpha-tested** software, do not use it in production yes, it may lose
## Build it yourself ## Build it yourself
Instead of using the files in the `dist` directory you can also build it yourself. You must have [npm](https://docs.npmjs.com/cli/install) and [composer](https://getcomposer.org/download/) installed. Instead of using the files in the `dist` directory you can also build it yourself. You must have [npm](https://docs.npmjs.com/cli/install) and [composer](https://getcomposer.org/download/) installed.
The files are written to the `dist` directory. See also `build.sh`.
Install php dependecies: Install php dependecies:
composer install composer install
Copy backend files:
cp -rv src/{backend.php,config.sample.php} dist/
Install javascript dependencies: Install javascript dependencies:
npm install npm install
Build frontend: Build frontend:
gulp build npm run build
Run frontend with development server:
npm start
The files are written to the `dist` directory. See also `build.sh`.
There is a [Vagrantfile](Vagrantfile), in case you are familiar with [vagrant](https://www.vagrantup.com/). There is a [Vagrantfile](Vagrantfile), in case you are familiar with [vagrant](https://www.vagrantup.com/).
## TODO ## TODO
1. reduce total dist size (<1 MB)
1. setup a link redirection provider (to keep the existence of your installation secret) 1. setup a link redirection provider (to keep the existence of your installation secret)
1. maybe make mails collapsible 2. provide error message if config.php is missing or in a public folder.
1. provide error message if config.php is missing or in a public folder.
## Credit ## Credit
This could not be possible without... This could not be possible without...
* http://angularjs.org/ * http://angularjs.org/
* https://github.com/SchweizerischeBundesbahnen/esta-webjs
* https://github.com/barbushin/php-imap * https://github.com/barbushin/php-imap
* https://github.com/gregjacobs/Autolinker.js/
* https://github.com/TomFrost/node-phonetic