diff --git a/author/project/system/controllers/index.php b/author/project/system/controllers/index.php deleted file mode 100755 index a5b87f5..0000000 --- a/author/project/system/controllers/index.php +++ /dev/null @@ -1,70 +0,0 @@ - - */ -final class index extends core -{ - /** - * Errors - * - * @var array $errors Registry of errors - */ - protected array $errors = [ - 'session' => [] - ]; - - /** - * Main page - * - * @return null - */ - public function index(): null - { - if (str_contains($this->request->headers['accept'], content::any->value)) { - // Request for any response - - // Render page - $page = $this->view->render('index.html'); - - // Sending response - $this->response - ->start() - ->clean() - ->sse() - ->write($page) - ->validate($this->request) - ?->body() - ->end(); - - // Deinitializing rendered page - unset($page); - - // Exit (success) - return null; - } - - // Exit (fail) - return null; - } -} diff --git a/author/project/system/models/core.php b/author/project/system/models/core.php deleted file mode 100755 index f140aaa..0000000 --- a/author/project/system/models/core.php +++ /dev/null @@ -1,230 +0,0 @@ - - */ -class core extends model -{ - /** - * ArangoDB connection daa - * - * @var string ARANGODB Path to the file with ArangoDB session connection data - */ - final public const string ARANGODB = __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'settings' . DIRECTORY_SEPARATOR . 'arangodb.php'; - - /** - * ArangoDB - * - * @var arangodb $arangodb Instance of the ArangoDB session - */ - protected static arangodb $arangodb; - - /** - * Constructor - * - * @param bool $initialize Initialize a model? - * @param ?arangodb $arangodb Instance of the ArangoDB session - * - * @return void - */ - public function __construct(bool $initialize = true, ?arangodb $arangodb = null) - { - // For the extends system - parent::__construct($initialize); - - if ($initialize) { - // Initializing is requested - - // Writing an instance of a session of ArangoDB to the property - self::$arangodb = $arangodb ?? new arangodb(require static::ARANGODB); - } - } - - /** - * Read document from ArangoDB - * - * @param string $filter Expression for filtering (AQL) - * @param string $sort Expression for sorting (AQL) - * @param int $amount Amount of documents for collect - * @param int $page Page - * @param string $return Expression describing the parameters to return (AQL) - * @param array $parameters Binded parameters for placeholders ['placeholder' => parameter] - * @param array &$errors Registry of errors - * - * @return mixed An array of instances of documents from ArangoDB, if they are found - */ - public static function _read( - string $filter = '', - string $sort = 'd.created DESC, d._key DESC', - int $amount = 1, - int $page = 1, - string $return = 'd', - array $parameters = [], - array &$errors = [] - ): _document|static|array|null { - try { - if (collection::initialize(static::COLLECTION, static::TYPE)) { - // Initialized the collection - - // Read from ArangoDB - $result = collection::execute( - sprintf( - <<<'AQL' - FOR d IN @@collection - %s - %s - LIMIT @offset, @amount - RETURN %s - AQL, - empty($filter) ? '' : "FILTER $filter", - empty($sort) ? '' : "SORT $sort", - empty($return) ? 'd' : $return - ), - [ - '@collection' => static::COLLECTION, - 'offset' => --$page <= 0 ? 0 : $page * $amount, - 'amount' => $amount - ] + $parameters, - errors: $errors - ); - - if ($amount === 1 && $result instanceof _document) { - // Received only 1 document and @todo rebuild - - // Initializing the object - $object = new static; - - if (method_exists($object, '__document')) { - // Object can implement a document from ArangoDB - - // Writing the instance of document from ArangoDB to the implement object - $object->__document($result); - - // Exit (success) - return $object; - } - } - - // Exit (success) - return $result; - } else throw new exception('Failed to initialize ' . static::TYPE . ' collection: ' . static::COLLECTION); - } catch (exception $e) { - // Writing to registry of errors - $errors[] = [ - 'text' => $e->getMessage(), - 'file' => $e->getFile(), - 'line' => $e->getLine(), - 'stack' => $e->getTrace() - ]; - } - - // Exit (fail) - return null; - } - - /** - * Write - * - * @param string $name Name of the property - * @param mixed $value Value of the property - * - * @return void - */ - public function __set(string $name, mixed $value = null): void - { - match ($name) { - 'arangodb' => (function () use ($value) { - if (isset(static::$arangodb)) throw new exception('Forbidden to reinitialize the ArangoDB session($this::$arangodb)', status::internal_server_error->value); - else if ($value instanceof arangodb) self::$arangodb = $value; - else throw new exception('Session of connection to ArangoDB ($this::$arangodb) is need to be mirzaev\arangodb\connection', status::internal_server_error->value); - })(), - default => parent::__set($name, $value) - }; - } - - /** - * Read - * - * @param string $name Name of the property - * - * @return mixed Content of the property, if they are found - */ - public function __get(string $name): mixed - { - return match ($name) { - default => parent::__get($name) - }; - } - - /** - * Delete - * - * @param string $name Name of the property - * - * @return void - */ - public function __unset(string $name): void - { - // Deleting a property and exit (success) - parent::__unset($name); - } - - /** - * Check of initialization - * - * @param string $name Name of the property - * - * @return bool The property is initialized? - */ - public function __isset(string $name): bool - { - // Check of initialization of the property and exit (success) - return parent::__isset($name); - } - - /** - * Call a static property or method - * - * @param string $name Name of the property or the method - * @param array $arguments Arguments for the method - */ - public static function __callStatic(string $name, array $arguments): mixed - { - return match ($name) { - 'arangodb' => (new static)->__get('arangodb'), - default => throw new exception("Not found: $name", 500) - }; - } -} - diff --git a/author/project/system/models/interfaces/collection.php b/author/project/system/models/interfaces/collection.php deleted file mode 100755 index 24acbad..0000000 --- a/author/project/system/models/interfaces/collection.php +++ /dev/null @@ -1,31 +0,0 @@ - - */ -interface collection -{ - /** - * Name of the collection in ArangoDB - */ - public const string COLLECTION = 'THIS_COLLECTION_SHOULD_NOT_EXIST'; - - /** - * Type of the collection in ArangoDB - */ - public const type TYPE = type::document; -} diff --git a/author/project/system/models/interfaces/document.php b/author/project/system/models/interfaces/document.php deleted file mode 100755 index c032db4..0000000 --- a/author/project/system/models/interfaces/document.php +++ /dev/null @@ -1,81 +0,0 @@ - - */ -interface document -{ - /** - * Write - * - * Write a property into an instance of the ArangoDB document - * - * @param string $name Name of the property - * @param mixed $value Content of the property - * - * @return void - */ - public function __set(string $name, mixed $value = null): void; - - /** - * Read - * - * Read a property from an instance of the ArangoDB docuemnt - * - * @param string $name Name of the property - * - * @return mixed Content of the property - */ - public function __get(string $name): mixed; - - - /** - * Delete - * - * Deinitialize the property in an instance of the ArangoDB document - * - * @param string $name Name of the property - * - * @return void - */ - public function __unset(string $name): void; - - /** - * Check of initialization - * - * Check of initialization of the property into an instance of the ArangoDB document - * - * @param string $name Name of the property - * - * @return bool The property is initialized? - */ - public function __isset(string $name): bool; - - /** - * Execute a method - * - * Execute a method from an instance of the ArangoDB document - * - * @param string $name Name of the method - * @param array $arguments Arguments for the method - * - * @return mixed Result of execution of the method - */ - public function __call(string $name, array $arguments = []): mixed; -} diff --git a/author/project/system/models/session.php b/author/project/system/models/session.php deleted file mode 100755 index eca0f87..0000000 --- a/author/project/system/models/session.php +++ /dev/null @@ -1,233 +0,0 @@ - - */ -final class session extends core implements document_interface, collection_interface -{ - use status, document_trait, buffer, cart { - buffer::write as write; - cart::initialize as cart; - } - - /** - * Collection name - * - * @var string COLLECTION Name of the collection in ArangoDB - */ - final public const string COLLECTION = 'session'; - - /** - * Session verification type - * - * @var verification VERIFICATION Type of session verification - */ - final public const verification VERIFICATION = verification::hash_else_address; - - /** - * Constructor - * - * Initialize session and write into the $this->document property - * - * @param ?string $hash Hash of the session in ArangoDB - * @param ?int $expires Date of expiring of the session (used for creating a new session) - * @param array &$errors Registry of errors - * - * @return void - */ - public function __construct(?string $hash = null, ?int $expires = null, array &$errors = []) - { - try { - if (collection::initialize(static::COLLECTION, static::TYPE, errors: $errors)) { - // Initialized the collection - - if (isset($hash) && $document = $this->hash($hash, errors: $errors)) { - // Found the instance of the ArangoDB document of session and received a session hash - - // Writing document instance of the session from ArangoDB to the property of the implementing object - $this->__document($document); - } else if (static::VERIFICATION === verification::hash_else_address && $document = $this->address($_SERVER['REMOTE_ADDR'], errors: $errors)) { - // Found the instance of the ArangoDB document of session and received a session hash - - // Writing document instance of the session from ArangoDB to the property of the implementing object - $this->__document($document); - } else { - // Not found the instance of the ArangoDB document of session - - // Initializing a new session and write they into ArangoDB - $_id = document::write( - static::COLLECTION, - [ - 'active' => true, - 'expires' => $expires ?? time() + 604800, - 'address' => $_SERVER['REMOTE_ADDR'], - 'x-forwarded-for' => $_SERVER['HTTP_X_FORWARDED_FOR'] ?? null, - 'referer' => $_SERVER['HTTP_REFERER'] ?? null, - 'useragent' => $_SERVER['HTTP_USER_AGENT'] ?? null - ] - ); - - if ($session = collection::execute( - <<<'AQL' - FOR d IN @@collection - FILTER d._id == @_id && d.expires > @time && d.active == true - RETURN d - AQL, - [ - '@collection' => static::COLLECTION, - '_id' => $_id, - 'time' => time() - ], - errors: $errors - )) { - // Found the instance of just created new session - - // Generating a hash and write into the instance of the ArangoDB document of session property - $session->hash = sodium_bin2hex(sodium_crypto_generichash($_id)); - - if (document::update($session, errors: $errors)) { - // Writed to ArangoDB - - // Writing instance of the session document from ArangoDB to the property of the implementing object - $this->__document($session); - } else throw new exception('Failed to write the session data'); - } else throw new exception('Failed to create or find just created session'); - } - } else throw new exception('Failed to initialize ' . static::TYPE . ' collection: ' . static::COLLECTION); - } catch (exception $e) { - // Writing to the registry of errors - $errors[] = [ - 'text' => $e->getMessage(), - 'file' => $e->getFile(), - 'line' => $e->getLine(), - 'stack' => $e->getTrace() - ]; - } - } - - /** - * Search by hash - * - * Search for the session in ArangoDB by hash - * - * @param string $hash Hash of the session in ArangoDB - * @param array &$errors Registry of errors - * - * @return _document|null instance of document of the session in ArangoDB - */ - public static function hash(string $hash, array &$errors = []): ?_document - { - try { - if (collection::initialize(static::COLLECTION, static::TYPE, errors: $errors)) { - // Collection initialized - - // Search the session data in ArangoDB - return collection::execute( - <<<'AQL' - FOR d IN @@collection - FILTER d.hash == @hash && d.expires > @time && d.active == true - RETURN d - AQL, - [ - '@collection' => static::COLLECTION, - 'hash' => $hash, - 'time' => time() - ], - errors: $errors - ); - } else throw new exception('Failed to initialize ' . static::TYPE . ' collection: ' . static::COLLECTION); - } catch (exception $e) { - // Writing to the registry of errors - $errors[] = [ - 'text' => $e->getMessage(), - 'file' => $e->getFile(), - 'line' => $e->getLine(), - 'stack' => $e->getTrace() - ]; - } - - // Exit (fail) - return null; - } - - /** - * Search by IP-address - * - * Search for the session in ArangoDB by IP-address - * - * @param string $address IP-address writed to the session in ArangoDB - * @param array &$errors Registry of errors - * - * @return _document|null instance of document of the session in ArangoDB - */ - public static function address(string $address, array &$errors = []): ?_document - { - try { - if (collection::initialize(static::COLLECTION, static::TYPE, errors: $errors)) { - // Collection initialized - - // Search the session data in ArangoDB - return collection::execute( - <<<'AQL' - FOR d IN @@collection - FILTER d.address == @address && d.expires > @time && d.active == true - SORT d.updated DESC - LIMIT 1 - RETURN d - AQL, - [ - '@collection' => static::COLLECTION, - 'address' => $address, - 'time' => time() - ], - errors: $errors - ); - } else throw new exception('Failed to initialize ' . static::TYPE . ' collection: ' . static::COLLECTION); - } catch (exception $e) { - // Writing to the registry of errors - $errors[] = [ - 'text' => $e->getMessage(), - 'file' => $e->getFile(), - 'line' => $e->getLine(), - 'stack' => $e->getTrace() - ]; - } - - // Exit (fail) - return null; - }} diff --git a/author/project/system/models/traits/buffer.php b/author/project/system/models/traits/buffer.php deleted file mode 100755 index e54abbe..0000000 --- a/author/project/system/models/traits/buffer.php +++ /dev/null @@ -1,84 +0,0 @@ - - */ -trait buffer -{ - /** - * Write to buffer of the document - * - * @param array $data Data for writing (merge) - * @param array &$errors Registry of errors - * - * @return bool Is data has written into the document from ArangoDB? - */ - public function write(array $data, array &$errors = []): bool - { - try { - if (collection::initialize(static::COLLECTION, static::TYPE, errors: $errors)) { - // Initialized the collection - - // Is the instance of the document from ArangoDB are initialized? - if (!isset($this->document)) throw new exception('The instance of the sessoin document from ArangoDB is not initialized'); - - // Writing data into buffer of the instance of the document from ArangoDB - $this->document->buffer = array_replace_recursive($this->document->buffer ?? [], $data); - - // Is the buffer of the instance of the document from ArangoDB exceed 10 megabytes? - if (mb_strlen(json_encode($this->document->buffer)) > 10485760) throw new exception('The buffer size exceeds 10 megabytes'); - - // Serializing parameters - if ($this->document->language instanceof language) $this->document->language = $this->document->language->name; - - // Writing to ArangoDB and exit (success) - return document::update($this->document, errors: $errors); - } else throw new exception('Failed to initialize ' . static::TYPE . ' collection: ' . static::COLLECTION); - } catch (exception $e) { - // Writing to the registry of errors - $errors[] = [ - 'text' => $e->getMessage(), - 'file' => $e->getFile(), - 'line' => $e->getLine(), - 'stack' => $e->getTrace() - ]; - } - - // Exit (fail) - return false; - } -} diff --git a/author/project/system/models/traits/document.php b/author/project/system/models/traits/document.php deleted file mode 100755 index d2e623c..0000000 --- a/author/project/system/models/traits/document.php +++ /dev/null @@ -1,206 +0,0 @@ - - */ -trait document -{ - /** - * Document - * - * @var _document $document An instance of the document from ArangoDB - */ - protected readonly _document $document; - - /** - * Constructor - * - * @param bool $initialize Initialize a model? - * @param ?arangodb $arangodb Instance of a session of ArangoDB - * @param _document|null|false $document An instance of the ArangoDB document - * - * @return void - */ - public function __construct( - bool $initialize = true, - ?arangodb $arangodb = null, - _document|null|false $document = false - ) { - // For the extends system - parent::__construct($initialize, $arangodb); - - // Writing to the property - if ($document instanceof _document) $this->__document($document); - else if ($document === null) throw new exception('Failed to initialize an instance of the document from ArangoDB'); - } - - /** - * Write or read document - * - * @param _document|null $document Instance of document from ArangoDB - * - * @return _document|null Instance of document from ArangoDB - */ - public function __document(?_document $document = null): ?_document - { - // Writing a property storing a document instance to ArangoDB - if ($document) $this->document ??= $document; - - // Read a property storing a document instance to ArangoDB and exit (success) - return $this->document ?? null; - } - - /** - * Connect - * - * @param collecton_interface $document Document - * @param array &$errors Registry of errors - * - * @return string|null The identifier of the created edge of the "connect" collection, if created - */ - public function connect(collection_interface $document, array &$errors = []): ?string - { - try { - if (collection::initialize(static::COLLECTION, static::TYPE, errors: $errors)) { - if (collection::initialize(connect::COLLECTION, connect::TYPE, errors: $errors)) { - if (collection::initialize($document::COLLECTION, $document::TYPE, errors: $errors)) { - // Initialized collections - - if ($this->document instanceof _document) { - // Initialized instance of the document from ArangoDB - - // Writing document and exit (success) - return framework_document::write( - connect::COLLECTION, - [ - '_from' => $document->getId(), - '_to' => $this->document->getId() - ], - errors: $errors - ); - } else throw new exception('The instance of the document from ArangoDB is not initialized'); - } else throw new exception('Failed to initialize ' . $document::TYPE . ' collection: ' . $document::COLLECTION); - } else throw new exception('Failed to initialize ' . connect::TYPE . ' collection: ' . connect::COLLECTION); - } else throw new exception('Failed to initialize ' . static::TYPE . ' collection: ' . static::COLLECTION); - } catch (exception $e) { - // Writing to the registry of errors - $errors[] = [ - 'text' => $e->getMessage(), - 'file' => $e->getFile(), - 'line' => $e->getLine(), - 'stack' => $e->getTrace() - ]; - } - - // Exit (fail) - return null; - } - - /** - * Write - * - * Write a property into an instance of the ArangoDB document - * - * @param string $name Name of the property - * @param mixed $value Content of the property - * - * @return void - */ - public function __set(string $name, mixed $value = null): void - { - // Writing to the property into an instance of the ArangoDB document and exit (success) - $this->document->{$name} = $value; - } - - /** - * Read - * - * Read a property from an instance of the ArangoDB docuemnt - * - * @param string $name Name of the property - * - * @return mixed Content of the property - */ - public function __get(string $name): mixed - { - // Read a property from an instance of the ArangoDB document and exit (success) - return match ($name) { - default => $this->document->{$name} - }; - } - - /** - * Delete - * - * Deinitialize the property in an instance of the ArangoDB document - * - * @param string $name Name of the property - * - * @return void - */ - public function __unset(string $name): void - { - // Delete the property in an instance of the ArangoDB document and exit (success) - unset($this->document->{$name}); - } - - /** - * Check of initialization - * - * Check of initialization of the property into an instance of the ArangoDB document - * - * @param string $name Name of the property - * - * @return bool The property is initialized? - */ - public function __isset(string $name): bool - { - // Check of initializatio nof the property and exit (success) - return isset($this->document->{$name}); - } - - /** - * Execute a method - * - * Execute a method from an instance of the ArangoDB document - * - * @param string $name Name of the method - * @param array $arguments Arguments for the method - * - * @return mixed Result of execution of the method - */ - public function __call(string $name, array $arguments = []): mixed - { - // Execute the method and exit (success) - return method_exists($this->document, $name) ? $this->document->{$name}($arguments) ?? null : null; - } -} diff --git a/author/project/system/models/traits/files.php b/author/project/system/models/traits/files.php deleted file mode 100755 index a74bea9..0000000 --- a/author/project/system/models/traits/files.php +++ /dev/null @@ -1,66 +0,0 @@ - - */ -trait files -{ - /** - * Delete - * - * Delete files recursively - * - * @param string $directory Directory - * @param array &$errors Registry of errors - * - * @return void - */ - private static function delete(string $directory, array &$errors = []): void - { - try { - if (file_exists($directory)) { - // Directory exists - - // Deleting descendant files and directories (enter to the recursion) - foreach (scandir($directory) as $file) { - if ($file === '.' || $file === '..') continue; - else if (is_dir("$directory/$file")) static::delete("$directory/$file", $errors); - else unlink("$directory/$file"); - } - - // Deleting the directory - rmdir($directory); - - // Exit (success) - return; - } else throw new exception('Directory does not exist'); - } catch (exception $e) { - // Writing to the registry of errors - $errors[] = [ - 'text' => $e->getMessage(), - 'file' => $e->getFile(), - 'line' => $e->getLine(), - 'stack' => $e->getTrace() - ]; - } - - // Exit (fail) - return; - } -} diff --git a/author/project/system/models/traits/status.php b/author/project/system/models/traits/status.php deleted file mode 100755 index f379006..0000000 --- a/author/project/system/models/traits/status.php +++ /dev/null @@ -1,59 +0,0 @@ - - */ -trait status -{ - /** - * Status - * - * Check document by its status - * - * @param array &$errors Registry of errors - * - * @return ?bool Status, if found - */ - public function status(array &$errors = []): ?bool - { - try { - // Read from ArangoDB and exit (success) - return $this->document->active ?? false; - } catch (exception $e) { - // Writing to the registry of errors - $errors[] = [ - 'text' => $e->getMessage(), - 'file' => $e->getFile(), - 'line' => $e->getLine(), - 'stack' => $e->getTrace() - ]; - } - - // Exit (fail) - return null; - } -} - diff --git a/author/project/system/public/css/fonts/dejavu.css b/author/project/system/public/css/fonts/dejavu.css deleted file mode 100755 index 5012ff4..0000000 --- a/author/project/system/public/css/fonts/dejavu.css +++ /dev/null @@ -1,34 +0,0 @@ -@font-face { - font-family: 'DejaVu'; - src: url("/fonts/dejavu/DejaVuLGCSans-ExtraLight.ttf"); - font-weight: 200; - font-style: normal; -} - -@font-face { - font-family: 'DejaVu'; - src: url("/fonts/dejavu/DejaVuLGCSans.ttf"); - font-weight: 400; - font-style: normal; -} - -@font-face { - font-family: 'DejaVu'; - src: url("/fonts/dejavu/DejaVuLGCSans-Oblique.ttf"); - font-weight: 400; - font-style: italic; -} - -@font-face { - font-family: 'DejaVu'; - src: url("/fonts/dejavu/DejaVuLGCSans-Bold.ttf"); - font-weight: 500; - font-style: normal; -} - -@font-face { - font-family: 'DejaVu'; - src: url("/fonts/dejavu/DejaVuLGCSans-BoldOblique.ttf"); - font-weight: 500; - font-style: italic; -} diff --git a/author/project/system/public/css/fonts/fira.css b/author/project/system/public/css/fonts/fira.css deleted file mode 100755 index 074cfc0..0000000 --- a/author/project/system/public/css/fonts/fira.css +++ /dev/null @@ -1,139 +0,0 @@ -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-Hair.woff2') format('woff2'), url('/fonts/fira/FiraSans-Hair.woff') format('woff'); - font-weight: 100; - font-style: normal; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-HairItalic.woff2') format('woff2'), url('/fonts/fira/FiraSans-HairItalic.woff') format('woff'); - font-weight: 100; - font-style: italic; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-UltraLight.woff2') format('woff2'), url('/fonts/fira/FiraSans-UltraLight.woff') format('woff'); - font-weight: 200; - font-style: normal; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-UltraLightItalic.woff2') format('woff2'), url('/fonts/fira/FiraSans-UltraLightItalic.woff') format('woff'); - font-weight: 200; - font-style: italic; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-Light.woff2') format('woff2'), url('/fonts/fira/FiraSans-Light.woff') format('woff'); - font-weight: 300; - font-style: normal; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-LightItalic.woff2') format('woff2'), url('/fonts/fira/FiraSans-LightItalic.woff') format('woff'); - font-weight: 300; - font-style: italic; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-Regular.woff2') format('woff2'), url('/fonts/fira/FiraSans-Regular.woff') format('woff'); - font-weight: 400; - font-style: normal; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-Italic.woff2') format('woff2'), url('/fonts/fira/FiraSans-Italic.woff') format('woff'); - font-weight: 400; - font-style: italic; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraMono-Medium.woff2') format('woff2'), url('/fonts/fira/FiraMono-Medium.woff') format('woff'); - font-weight: 500; - font-style: normal; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-MediumItalic.woff2') format('woff2'), url('/fonts/fira/FiraSans-MediumItalic.woff') format('woff'); - font-weight: 500; - font-style: italic; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-SemiBold.woff2') format('woff2'), url('/fonts/fira/FiraSans-SemiBold.woff') format('woff'); - font-weight: 600; - font-style: normal; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-SemiBoldItalic.woff2') format('woff2'), url('/fonts/fira/FiraSans-SemiBoldItalic.woff') format('woff'); - font-weight: 600; - font-style: italic; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-Bold.woff2') format('woff2'), url('/fonts/fira/FiraSans-Bold.woff') format('woff'); - font-weight: 700; - font-style: normal; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-BoldItalic.woff2') format('woff2'), url('/fonts/fira/FiraSans-BoldItalic.woff') format('woff'); - font-weight: 700; - font-style: italic; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-ExtraBold.woff2') format('woff2'), url('/fonts/fira/FiraSans-ExtraBold.woff') format('woff'); - font-weight: 800; - font-style: normal; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-ExtraBoldItalic.woff2') format('woff2'), url('/fonts/fira/FiraSans-ExtraBoldItalic.woff') format('woff'); - font-weight: 800; - font-style: italic; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-Heavy.woff2') format('woff2'), url('/fonts/fira/FiraSans-Heavy.woff') format('woff'); - font-weight: 900; - font-style: normal; -} - -@font-face { - font-family: 'Fira'; - src: url('/fonts/fira/FiraSans-HeavyItalic.woff2') format('woff2'), url('/fonts/fira/FiraSans-HeavyItalic.woff') format('woff'); - font-weight: 900; - font-style: italic; -} - -@font-face { - font-family: 'Fira' Mono; - src: url('/fonts/fira/FiraMono-Regular.woff2') format('woff2'), url('/fonts/fira/FiraMono-Regular.woff') format('woff'); - font-weight: 400; - font-style: normal; -} - -@font-face { - font-family: 'Fira' Mono; - src: url('/fonts/fira/FiraMono-Bold.woff2') format('woff2'), url('/fonts/fira/FiraMono-Bold.woff') format('woff'); - font-weight: 600; - font-style: normal; -} diff --git a/author/project/system/public/css/fonts/hack.css b/author/project/system/public/css/fonts/hack.css deleted file mode 100755 index ea1ca63..0000000 --- a/author/project/system/public/css/fonts/hack.css +++ /dev/null @@ -1,31 +0,0 @@ -@font-face { - font-family: 'Hack'; - src: url('/fonts/hack/hack-regular.woff2?sha=3114f1256') format('woff2'), url('/fonts/hack/hack-regular.woff?sha=3114f1256') format('woff'); - font-weight: 400; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Hack'; - src: url('/fonts/hack/hack-bold.woff2?sha=3114f1256') format('woff2'), url('/fonts/hack/hack-bold.woff?sha=3114f1256') format('woff'); - font-weight: 700; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Hack'; - src: url('/fonts/hack/hack-italic.woff2?sha=3114f1256') format('woff2'), url('/fonts/hack/hack-italic.woff?sha=3114f1256') format('woff'); - font-weight: 400; - font-style: italic; - font-display: swap; -} - -@font-face { - font-family: 'Hack'; - src: url('/fonts/hack/hack-bolditalic.woff2?sha=3114f1256') format('woff2'), url('/fonts/hack/hack-bolditalic.woff?sha=3114f1256') format('woff'); - font-weight: 700; - font-style: italic; - font-display: swap; -} diff --git a/author/project/system/public/fonts/commissioner.ttf b/author/project/system/public/fonts/commissioner.ttf deleted file mode 100755 index 5072c39..0000000 Binary files a/author/project/system/public/fonts/commissioner.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSans-Bold.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSans-Bold.ttf deleted file mode 100755 index 78584c4..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSans-Bold.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSans-BoldOblique.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSans-BoldOblique.ttf deleted file mode 100755 index a013892..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSans-BoldOblique.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSans-ExtraLight.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSans-ExtraLight.ttf deleted file mode 100755 index 60dd47e..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSans-ExtraLight.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSans-Oblique.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSans-Oblique.ttf deleted file mode 100755 index 37e6daf..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSans-Oblique.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSans.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSans.ttf deleted file mode 100755 index 6060dfb..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSans.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSansCondensed-Bold.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSansCondensed-Bold.ttf deleted file mode 100755 index 68908d7..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSansCondensed-Bold.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSansCondensed-BoldOblique.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSansCondensed-BoldOblique.ttf deleted file mode 100755 index 1a2d58d..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSansCondensed-BoldOblique.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSansCondensed-Oblique.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSansCondensed-Oblique.ttf deleted file mode 100755 index 6d25e67..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSansCondensed-Oblique.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSansCondensed.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSansCondensed.ttf deleted file mode 100755 index 95aaba6..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSansCondensed.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSansMono-Bold.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSansMono-Bold.ttf deleted file mode 100755 index c2465b3..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSansMono-Bold.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSansMono-BoldOblique.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSansMono-BoldOblique.ttf deleted file mode 100755 index 303202f..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSansMono-BoldOblique.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSansMono-Oblique.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSansMono-Oblique.ttf deleted file mode 100755 index 1df5133..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSansMono-Oblique.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSansMono.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSansMono.ttf deleted file mode 100755 index 3206a82..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSansMono.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSerif-Bold.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSerif-Bold.ttf deleted file mode 100755 index 2be31a1..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSerif-Bold.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSerif-BoldItalic.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSerif-BoldItalic.ttf deleted file mode 100755 index 2c6daba..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSerif-BoldItalic.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSerif-Italic.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSerif-Italic.ttf deleted file mode 100755 index c52d49f..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSerif-Italic.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSerif.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSerif.ttf deleted file mode 100755 index 046c102..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSerif.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSerifCondensed-Bold.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSerifCondensed-Bold.ttf deleted file mode 100755 index fc164c7..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSerifCondensed-Bold.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSerifCondensed-BoldItalic.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSerifCondensed-BoldItalic.ttf deleted file mode 100755 index f01089d..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSerifCondensed-BoldItalic.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSerifCondensed-Italic.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSerifCondensed-Italic.ttf deleted file mode 100755 index 6254c8b..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSerifCondensed-Italic.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/dejavu/DejaVuLGCSerifCondensed.ttf b/author/project/system/public/fonts/dejavu/DejaVuLGCSerifCondensed.ttf deleted file mode 100755 index 6e42557..0000000 Binary files a/author/project/system/public/fonts/dejavu/DejaVuLGCSerifCondensed.ttf and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraMono-Bold.woff b/author/project/system/public/fonts/fira/FiraMono-Bold.woff deleted file mode 100755 index e7da594..0000000 Binary files a/author/project/system/public/fonts/fira/FiraMono-Bold.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraMono-Bold.woff2 b/author/project/system/public/fonts/fira/FiraMono-Bold.woff2 deleted file mode 100755 index 7a3a102..0000000 Binary files a/author/project/system/public/fonts/fira/FiraMono-Bold.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraMono-Medium.woff b/author/project/system/public/fonts/fira/FiraMono-Medium.woff deleted file mode 100755 index f08fde9..0000000 Binary files a/author/project/system/public/fonts/fira/FiraMono-Medium.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraMono-Medium.woff2 b/author/project/system/public/fonts/fira/FiraMono-Medium.woff2 deleted file mode 100755 index 3c9553d..0000000 Binary files a/author/project/system/public/fonts/fira/FiraMono-Medium.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraMono-Regular.woff b/author/project/system/public/fonts/fira/FiraMono-Regular.woff deleted file mode 100755 index 64e33d3..0000000 Binary files a/author/project/system/public/fonts/fira/FiraMono-Regular.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraMono-Regular.woff2 b/author/project/system/public/fonts/fira/FiraMono-Regular.woff2 deleted file mode 100755 index bb452d4..0000000 Binary files a/author/project/system/public/fonts/fira/FiraMono-Regular.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Bold.woff b/author/project/system/public/fonts/fira/FiraSans-Bold.woff deleted file mode 100755 index 8001b79..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Bold.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Bold.woff2 b/author/project/system/public/fonts/fira/FiraSans-Bold.woff2 deleted file mode 100755 index ce8013e..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Bold.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-BoldItalic.woff b/author/project/system/public/fonts/fira/FiraSans-BoldItalic.woff deleted file mode 100755 index 9c1da3a..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-BoldItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-BoldItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-BoldItalic.woff2 deleted file mode 100755 index cf90d9a..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-BoldItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Book.woff b/author/project/system/public/fonts/fira/FiraSans-Book.woff deleted file mode 100755 index 299c884..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Book.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Book.woff2 b/author/project/system/public/fonts/fira/FiraSans-Book.woff2 deleted file mode 100755 index 6f9e54d..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Book.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-BookItalic.woff b/author/project/system/public/fonts/fira/FiraSans-BookItalic.woff deleted file mode 100755 index cc29ba7..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-BookItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-BookItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-BookItalic.woff2 deleted file mode 100755 index 1275913..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-BookItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Eight.woff b/author/project/system/public/fonts/fira/FiraSans-Eight.woff deleted file mode 100755 index 9261a69..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Eight.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Eight.woff2 b/author/project/system/public/fonts/fira/FiraSans-Eight.woff2 deleted file mode 100755 index 729ba54..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Eight.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-EightItalic.woff b/author/project/system/public/fonts/fira/FiraSans-EightItalic.woff deleted file mode 100755 index 000003c..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-EightItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-EightItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-EightItalic.woff2 deleted file mode 100755 index e651af6..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-EightItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-ExtraBold.woff b/author/project/system/public/fonts/fira/FiraSans-ExtraBold.woff deleted file mode 100755 index 8289f9f..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-ExtraBold.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-ExtraBold.woff2 b/author/project/system/public/fonts/fira/FiraSans-ExtraBold.woff2 deleted file mode 100755 index a14dbce..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-ExtraBold.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-ExtraBoldItalic.woff b/author/project/system/public/fonts/fira/FiraSans-ExtraBoldItalic.woff deleted file mode 100755 index 5dfa8da..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-ExtraBoldItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-ExtraBoldItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-ExtraBoldItalic.woff2 deleted file mode 100755 index 828a57d..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-ExtraBoldItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-ExtraLight.woff b/author/project/system/public/fonts/fira/FiraSans-ExtraLight.woff deleted file mode 100755 index 16ec788..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-ExtraLight.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-ExtraLight.woff2 b/author/project/system/public/fonts/fira/FiraSans-ExtraLight.woff2 deleted file mode 100755 index 8e98c42..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-ExtraLight.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-ExtraLightItalic.woff b/author/project/system/public/fonts/fira/FiraSans-ExtraLightItalic.woff deleted file mode 100755 index 99ce8e5..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-ExtraLightItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-ExtraLightItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-ExtraLightItalic.woff2 deleted file mode 100755 index 2ea8212..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-ExtraLightItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Four.woff b/author/project/system/public/fonts/fira/FiraSans-Four.woff deleted file mode 100755 index 518fd5f..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Four.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Four.woff2 b/author/project/system/public/fonts/fira/FiraSans-Four.woff2 deleted file mode 100755 index 33473a6..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Four.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-FourItalic.woff b/author/project/system/public/fonts/fira/FiraSans-FourItalic.woff deleted file mode 100755 index b407c43..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-FourItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-FourItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-FourItalic.woff2 deleted file mode 100755 index 0e64a9c..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-FourItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Hair.woff b/author/project/system/public/fonts/fira/FiraSans-Hair.woff deleted file mode 100755 index ce65bcc..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Hair.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Hair.woff2 b/author/project/system/public/fonts/fira/FiraSans-Hair.woff2 deleted file mode 100755 index 64cef84..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Hair.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-HairItalic.woff b/author/project/system/public/fonts/fira/FiraSans-HairItalic.woff deleted file mode 100755 index 08abd3a..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-HairItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-HairItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-HairItalic.woff2 deleted file mode 100755 index b063e87..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-HairItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Heavy.woff b/author/project/system/public/fonts/fira/FiraSans-Heavy.woff deleted file mode 100755 index ff18652..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Heavy.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Heavy.woff2 b/author/project/system/public/fonts/fira/FiraSans-Heavy.woff2 deleted file mode 100755 index 0cafdba..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Heavy.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-HeavyItalic.woff b/author/project/system/public/fonts/fira/FiraSans-HeavyItalic.woff deleted file mode 100755 index 77c1d55..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-HeavyItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-HeavyItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-HeavyItalic.woff2 deleted file mode 100755 index 8d48a7f..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-HeavyItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Italic.woff b/author/project/system/public/fonts/fira/FiraSans-Italic.woff deleted file mode 100755 index d200976..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Italic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Italic.woff2 b/author/project/system/public/fonts/fira/FiraSans-Italic.woff2 deleted file mode 100755 index f7857e9..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Italic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Light.woff b/author/project/system/public/fonts/fira/FiraSans-Light.woff deleted file mode 100755 index 309ecf2..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Light.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Light.woff2 b/author/project/system/public/fonts/fira/FiraSans-Light.woff2 deleted file mode 100755 index 24e6444..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Light.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-LightItalic.woff b/author/project/system/public/fonts/fira/FiraSans-LightItalic.woff deleted file mode 100755 index 9f3c250..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-LightItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-LightItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-LightItalic.woff2 deleted file mode 100755 index f456ca5..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-LightItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Medium.woff b/author/project/system/public/fonts/fira/FiraSans-Medium.woff deleted file mode 100755 index 1701b41..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Medium.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Medium.woff2 b/author/project/system/public/fonts/fira/FiraSans-Medium.woff2 deleted file mode 100755 index 71d8ed5..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Medium.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-MediumItalic.woff b/author/project/system/public/fonts/fira/FiraSans-MediumItalic.woff deleted file mode 100755 index 029099b..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-MediumItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-MediumItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-MediumItalic.woff2 deleted file mode 100755 index 97b96c6..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-MediumItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Regular.woff b/author/project/system/public/fonts/fira/FiraSans-Regular.woff deleted file mode 100755 index 10c41a7..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Regular.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Regular.woff2 b/author/project/system/public/fonts/fira/FiraSans-Regular.woff2 deleted file mode 100755 index f77c427..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Regular.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-SemiBold.woff b/author/project/system/public/fonts/fira/FiraSans-SemiBold.woff deleted file mode 100755 index 3ccdeb4..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-SemiBold.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-SemiBold.woff2 b/author/project/system/public/fonts/fira/FiraSans-SemiBold.woff2 deleted file mode 100755 index 29ef538..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-SemiBold.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-SemiBoldItalic.woff b/author/project/system/public/fonts/fira/FiraSans-SemiBoldItalic.woff deleted file mode 100755 index 378fde9..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-SemiBoldItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-SemiBoldItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-SemiBoldItalic.woff2 deleted file mode 100755 index 91182a7..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-SemiBoldItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Thin.woff b/author/project/system/public/fonts/fira/FiraSans-Thin.woff deleted file mode 100755 index 21e509d..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Thin.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Thin.woff2 b/author/project/system/public/fonts/fira/FiraSans-Thin.woff2 deleted file mode 100755 index c494caa..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Thin.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-ThinItalic.woff b/author/project/system/public/fonts/fira/FiraSans-ThinItalic.woff deleted file mode 100755 index a75b761..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-ThinItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-ThinItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-ThinItalic.woff2 deleted file mode 100755 index 4f432d6..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-ThinItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Two.woff b/author/project/system/public/fonts/fira/FiraSans-Two.woff deleted file mode 100755 index 3b77a84..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Two.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Two.woff2 b/author/project/system/public/fonts/fira/FiraSans-Two.woff2 deleted file mode 100755 index 6842f0c..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Two.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-TwoItalic.woff b/author/project/system/public/fonts/fira/FiraSans-TwoItalic.woff deleted file mode 100755 index c2a549d..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-TwoItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-TwoItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-TwoItalic.woff2 deleted file mode 100755 index 6b176c7..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-TwoItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Ultra.woff b/author/project/system/public/fonts/fira/FiraSans-Ultra.woff deleted file mode 100755 index 705346e..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Ultra.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-Ultra.woff2 b/author/project/system/public/fonts/fira/FiraSans-Ultra.woff2 deleted file mode 100755 index 25e5e6a..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-Ultra.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-UltraItalic.woff b/author/project/system/public/fonts/fira/FiraSans-UltraItalic.woff deleted file mode 100755 index 1790a76..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-UltraItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-UltraItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-UltraItalic.woff2 deleted file mode 100755 index 7b9b43b..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-UltraItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-UltraLight.woff b/author/project/system/public/fonts/fira/FiraSans-UltraLight.woff deleted file mode 100755 index cbc1f31..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-UltraLight.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-UltraLight.woff2 b/author/project/system/public/fonts/fira/FiraSans-UltraLight.woff2 deleted file mode 100755 index 82046b1..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-UltraLight.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-UltraLightItalic.woff b/author/project/system/public/fonts/fira/FiraSans-UltraLightItalic.woff deleted file mode 100755 index 5f0ef24..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-UltraLightItalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/fira/FiraSans-UltraLightItalic.woff2 b/author/project/system/public/fonts/fira/FiraSans-UltraLightItalic.woff2 deleted file mode 100755 index a50a5df..0000000 Binary files a/author/project/system/public/fonts/fira/FiraSans-UltraLightItalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-bold-subset.woff b/author/project/system/public/fonts/hack/hack-bold-subset.woff deleted file mode 100755 index 99e9e7b..0000000 Binary files a/author/project/system/public/fonts/hack/hack-bold-subset.woff and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-bold-subset.woff2 b/author/project/system/public/fonts/hack/hack-bold-subset.woff2 deleted file mode 100755 index ae3694f..0000000 Binary files a/author/project/system/public/fonts/hack/hack-bold-subset.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-bold.woff b/author/project/system/public/fonts/hack/hack-bold.woff deleted file mode 100755 index 7a64513..0000000 Binary files a/author/project/system/public/fonts/hack/hack-bold.woff and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-bold.woff2 b/author/project/system/public/fonts/hack/hack-bold.woff2 deleted file mode 100755 index a25b27d..0000000 Binary files a/author/project/system/public/fonts/hack/hack-bold.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-bolditalic-subset.woff b/author/project/system/public/fonts/hack/hack-bolditalic-subset.woff deleted file mode 100755 index 91399f9..0000000 Binary files a/author/project/system/public/fonts/hack/hack-bolditalic-subset.woff and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-bolditalic-subset.woff2 b/author/project/system/public/fonts/hack/hack-bolditalic-subset.woff2 deleted file mode 100755 index 55d67b8..0000000 Binary files a/author/project/system/public/fonts/hack/hack-bolditalic-subset.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-bolditalic.woff b/author/project/system/public/fonts/hack/hack-bolditalic.woff deleted file mode 100755 index 993d05a..0000000 Binary files a/author/project/system/public/fonts/hack/hack-bolditalic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-bolditalic.woff2 b/author/project/system/public/fonts/hack/hack-bolditalic.woff2 deleted file mode 100755 index 5415871..0000000 Binary files a/author/project/system/public/fonts/hack/hack-bolditalic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-italic-subset.woff b/author/project/system/public/fonts/hack/hack-italic-subset.woff deleted file mode 100755 index 4d747c7..0000000 Binary files a/author/project/system/public/fonts/hack/hack-italic-subset.woff and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-italic-subset.woff2 b/author/project/system/public/fonts/hack/hack-italic-subset.woff2 deleted file mode 100755 index bbb6240..0000000 Binary files a/author/project/system/public/fonts/hack/hack-italic-subset.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-italic.woff b/author/project/system/public/fonts/hack/hack-italic.woff deleted file mode 100755 index b79f9e4..0000000 Binary files a/author/project/system/public/fonts/hack/hack-italic.woff and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-italic.woff2 b/author/project/system/public/fonts/hack/hack-italic.woff2 deleted file mode 100755 index 40522cc..0000000 Binary files a/author/project/system/public/fonts/hack/hack-italic.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-regular-subset.woff b/author/project/system/public/fonts/hack/hack-regular-subset.woff deleted file mode 100755 index 65a07e4..0000000 Binary files a/author/project/system/public/fonts/hack/hack-regular-subset.woff and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-regular-subset.woff2 b/author/project/system/public/fonts/hack/hack-regular-subset.woff2 deleted file mode 100755 index ae9eca7..0000000 Binary files a/author/project/system/public/fonts/hack/hack-regular-subset.woff2 and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-regular.woff b/author/project/system/public/fonts/hack/hack-regular.woff deleted file mode 100755 index 07d1b32..0000000 Binary files a/author/project/system/public/fonts/hack/hack-regular.woff and /dev/null differ diff --git a/author/project/system/public/fonts/hack/hack-regular.woff2 b/author/project/system/public/fonts/hack/hack-regular.woff2 deleted file mode 100755 index cc862c7..0000000 Binary files a/author/project/system/public/fonts/hack/hack-regular.woff2 and /dev/null differ diff --git a/author/project/system/public/index.php b/author/project/system/public/index.php deleted file mode 100755 index d57f83f..0000000 --- a/author/project/system/public/index.php +++ /dev/null @@ -1,46 +0,0 @@ -router - ->write('/', new route('index', 'index'), 'GET') -; - -// Handling request -$core->start(); diff --git a/author/project/system/public/themes/default/css/aside.css b/author/project/system/public/themes/default/css/aside.css deleted file mode 100644 index faf9c91..0000000 --- a/author/project/system/public/themes/default/css/aside.css +++ /dev/null @@ -1,4 +0,0 @@ -@charset "UTF-8"; - -aside { -} diff --git a/author/project/system/public/themes/default/css/colors.css b/author/project/system/public/themes/default/css/colors.css deleted file mode 100644 index 9eaf50b..0000000 --- a/author/project/system/public/themes/default/css/colors.css +++ /dev/null @@ -1,37 +0,0 @@ -@charset "UTF-8"; - -@media (prefers-color-scheme: dark) { - :root { - --text-color: initial; - --text-color-hover: initial; - --text-color-active: initial; - --text-notice-color: initial; - --text-warning-color: initial; - --text-selected-color: initial; - --text-selected-background-color: initial; - - --link-color: initial; - --link-color-hover: initial; - --link-color-active: initial; - - color: var(--text-color); - } -} - -@media (prefers-color-scheme: light) { - :root { - --text-color: initial; - --text-color-hover: initial; - --text-color-active: initial; - --text-notice-color: initial; - --text-warning-color: initial; - --text-selected-color: initial; - --text-selected-background-color: initial; - - --link-color: initial; - --link-color-hover: initial; - --link-color-active: initial; - - color: var(--text-color); - } -} diff --git a/author/project/system/public/themes/default/css/fonts.css b/author/project/system/public/themes/default/css/fonts.css deleted file mode 100755 index 84f16b4..0000000 --- a/author/project/system/public/themes/default/css/fonts.css +++ /dev/null @@ -1,9 +0,0 @@ -@import url('/css/fonts/fira.css'); -@import url('/css/fonts/hack.css'); -@import url('/css/fonts/dejavu.css'); - -@font-face { - font-family: 'Commissioner'; - src: url('/fonts/commissioner.ttf'); - font-weight: 400; -} diff --git a/author/project/system/public/themes/default/css/footer.css b/author/project/system/public/themes/default/css/footer.css deleted file mode 100644 index 605243b..0000000 --- a/author/project/system/public/themes/default/css/footer.css +++ /dev/null @@ -1,4 +0,0 @@ -@charset "UTF-8"; - -footer { -} \ No newline at end of file diff --git a/author/project/system/public/themes/default/css/header.css b/author/project/system/public/themes/default/css/header.css deleted file mode 100644 index b440dd5..0000000 --- a/author/project/system/public/themes/default/css/header.css +++ /dev/null @@ -1,4 +0,0 @@ -@charset "UTF-8"; - -header { -} diff --git a/author/project/system/public/themes/default/css/main.css b/author/project/system/public/themes/default/css/main.css deleted file mode 100755 index ac799a9..0000000 --- a/author/project/system/public/themes/default/css/main.css +++ /dev/null @@ -1,9 +0,0 @@ -@charset "UTF-8"; - -main { - display: flex; - flex-direction: column; - align-items: center; - gap: var(--gap); - transition: 0s; -} \ No newline at end of file diff --git a/author/project/system/public/themes/default/css/system.css b/author/project/system/public/themes/default/css/system.css deleted file mode 100644 index 1137f56..0000000 --- a/author/project/system/public/themes/default/css/system.css +++ /dev/null @@ -1,34 +0,0 @@ -@charset "UTF-8"; - -:root { - --gap: min(12px, 1rem); - - /* font-family: , system-ui, sans-serif; */ - font-family: "dejavu"; - text-decoration: none; - outline: none; - border: none; - transition: 0.1s ease-out; -} - -/* Selection */ -::selection { - color: var(--text-selected-color); - background: var(--text-selected-background-color); -} - -::-moz-selection { - color: var(--text-selected-color); - background: var(--text-selected-background-color); -} - - -.unselectable { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - diff --git a/author/project/system/settings/arangodb.php.sample b/author/project/system/settings/arangodb.php.sample deleted file mode 100755 index 4ef17fb..0000000 --- a/author/project/system/settings/arangodb.php.sample +++ /dev/null @@ -1,8 +0,0 @@ - 'unix:///var/run/arangodb3/arango.sock', - 'database' => 'negotiatior', - 'name' => 'negotiatior', - 'password' => '' -]; diff --git a/author/project/system/views/templater.php b/author/project/system/views/templater.php deleted file mode 100755 index 1d506d2..0000000 --- a/author/project/system/views/templater.php +++ /dev/null @@ -1,214 +0,0 @@ - - */ -final class templater extends controller implements array_access -{ - /** - * Twig - * - * @var twig $twig Instance of the twig templater - */ - readonly public twig $twig; - - /** - * Variables - * - * @var array $variables Registry of view global variables - */ - public array $variables = []; - - /** - * Constructor of an instance - * - * @param ?session $session Instance of the session in ArangoDB - * - * @return void - */ - public function __construct(?session &$session = null) - { - // Initializing the Twig instance - $this->twig = new twig(new FilesystemLoader(VIEWS)); - - // Initializing global variables - $this->twig->addGlobal('theme', 'default'); - $this->twig->addGlobal('server', $_SERVER); - $this->twig->addGlobal('cookies', $_COOKIE); - if (!empty($session->status())) $this->twig->addGlobal('session', $session); - $this->twig->addGlobal('language', $language = $session?->buffer['language'] ?? language::en); - } - - /** - * Render - * - * Render the HTML-document - * - * @param string $file Related path to a HTML-document - * @param array $variables Registry of variables to push into registry of global variables - * - * @return ?string HTML-document - */ - public function render(string $file, array $variables = []): ?string - { - // Generation and exit (success) - return $this->twig->render('themes' . DIRECTORY_SEPARATOR . $this->twig->getGlobals()['theme'] . DIRECTORY_SEPARATOR . $file, $variables + $this->variables); - - } - - /** - * Write - * - * Write the variable into the registry of the view global variables - * - * @param string $name Name of the variable - * @param mixed $value Value of the variable - * - * @return void - */ - public function __set(string $name, mixed $value = null): void - { - // Write the variable and exit (success) - $this->variables[$name] = $value; - } - - /** - * Read - * - * Read the variable from the registry of the view global variables - * - * @param string $name Name of the variable - * - * @return mixed Content of the variable, if they are found - */ - public function __get(string $name): mixed - { - // Read the variable and exit (success) - return $this->variables[$name]; - } - - /** - * Delete - * - * Delete the variable from the registry of the view global variables - * - * @param string $name Name of the variable - * - * @return void - */ - public function __unset(string $name): void - { - // Delete the variable and exit (success) - unset($this->variables[$name]); - } - - /** - * Check of initialization - * - * Check of initialization in the registry of the view global variables - * - * @param string $name Name of the variable - * - * @return bool The variable is initialized? - */ - public function __isset(string $name): bool - { - // Check of initialization of the variable and exit (success) - return isset($this->variables[$name]); - } - - /** - * Write - * - * Write the variable into the registry of the view global variables - * - * @param mixed $name Name of an offset of the variable - * @param mixed $value Value of the variable - * - * @return void - */ - public function offsetSet(mixed $name, mixed $value): void - { - // Write the variable and exit (success) - $this->variables[$name] = $value; - } - - /** - * Read - * - * Read the variable from the registry of the view global variables - * - * @param mixed $name Name of the variable - * - * @return mixed Content of the variable, if they are found - */ - public function offsetGet(mixed $name): mixed - { - // Read the variable and exit (success) - return $this->variables[$name]; - } - - /** - * Delete - * - * Delete the variable from the registry of the view global variables - * - * @param mixed $name Name of the variable - * - * @return void - */ - public function offsetUnset(mixed $name): void - { - // Delete the variable and exit (success) - unset($this->variables[$name]); - } - - /** - * Check of initialization - * - * Check of initialization in the registry of the view global variables - * - * @param mixed $name Name of the variable - * - * @return bool The variable is initialized? - */ - public function offsetExists(mixed $name): bool - { - // Check of initialization of the variable and exit (success) - return isset($this->variables[$name]); - } -} - diff --git a/author/project/system/views/themes/default/aside.html b/author/project/system/views/themes/default/aside.html deleted file mode 100644 index afb2aa1..0000000 --- a/author/project/system/views/themes/default/aside.html +++ /dev/null @@ -1,10 +0,0 @@ -{% block css %} -{% endblock %} - -{% block body %} - -{% endblock %} - -{% block js %} -{% endblock %} \ No newline at end of file diff --git a/author/project/system/views/themes/default/core.html b/author/project/system/views/themes/default/core.html deleted file mode 100755 index 1bb43a7..0000000 --- a/author/project/system/views/themes/default/core.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - {% use '/themes/default/head.html' with title as head_title, meta as head_meta, css as head_css %} - - {% block title %} - {{ block('head_title') }} - {% endblock %} - - {% block meta %} - {{ block('head_meta') }} - {% endblock %} - - {{ block('head_css') }} - {% block css %} - {% endblock %} - - - - {% block body %} - {% endblock %} - - {% include '/themes/default/js.html' %} - {% block js %} - {% endblock %} - - - - diff --git a/author/project/system/views/themes/default/footer.html b/author/project/system/views/themes/default/footer.html deleted file mode 100755 index 8322f33..0000000 --- a/author/project/system/views/themes/default/footer.html +++ /dev/null @@ -1,10 +0,0 @@ -{% block css %} -{% endblock %} - -{% block body %} - -{% endblock %} - -{% block js %} -{% endblock %} diff --git a/author/project/system/views/themes/default/head.html b/author/project/system/views/themes/default/head.html deleted file mode 100755 index 35ff1d8..0000000 --- a/author/project/system/views/themes/default/head.html +++ /dev/null @@ -1,24 +0,0 @@ -{% block title %} -{% if head.title != empty %}{{ head.title }}{% else %}negotiatior by svoboda{% endif %} -{% endblock %} - -{% block meta %} - - -{% for meta in head.metas %} - -{% endfor %} -{% endblock %} - -{% block css %} -{% for element in css %} - -{% endfor %} - - - - - - - -{% endblock %} diff --git a/author/project/system/views/themes/default/header.html b/author/project/system/views/themes/default/header.html deleted file mode 100755 index 430650a..0000000 --- a/author/project/system/views/themes/default/header.html +++ /dev/null @@ -1,10 +0,0 @@ -{% block css %} -{% endblock %} - -{% block body %} -
-
-{% endblock %} - -{% block js %} -{% endblock %} diff --git a/author/project/system/views/themes/default/index.html b/author/project/system/views/themes/default/index.html deleted file mode 100755 index 474fd75..0000000 --- a/author/project/system/views/themes/default/index.html +++ /dev/null @@ -1,28 +0,0 @@ -{% extends "/themes/default/core.html" %} - -{% use "/themes/default/header.html" with css as header_css, body as header, js as header_js %} -{% use "/themes/default/aside.html" with css as aside_css, body as aside, js as aside_js %} -{% use "/themes/default/footer.html" with css as footer_css, body as footer, js as footer_js %} - -{% block css %} -{{ block('header_css') }} -{{ block('aside_css') }} -{{ block('footer_css') }} -{% endblock %} - -{% block body %} -{{ block('header') }} -{{ block('aside') }} -
- {% block main %} - {{ main|raw }} - {% endblock %} -
-{{ block('footer') }} -{% endblock %} - -{% block js %} -{{ block('footer_js') }} -{{ block('header_js') }} -{{ block('aside_js') }} -{% endblock %} diff --git a/author/project/system/views/themes/default/js.html b/author/project/system/views/themes/default/js.html deleted file mode 100755 index 784e58d..0000000 --- a/author/project/system/views/themes/default/js.html +++ /dev/null @@ -1,5 +0,0 @@ -{% block js %} -{% for element in js %} - -{% endfor %} -{% endblock %} diff --git a/composer.json b/composer.json index 8f34c82..fbf5897 100755 --- a/composer.json +++ b/composer.json @@ -1,48 +1,53 @@ { - "name": "svoboda/negotiatior", + "name": "svoboda/negotiator", "description": "Chat-robot negotiator of the Svoboda organization", - "homepage": "https://git.mirzaev.sexy/svoboda/negotiatior", - "type": "site", + "homepage": "https://git.svoboda.works/svoboda/negotiator", + "type": "chat-robot", "keywords": [ + "svoboda", + "telegram", "minimal" ], "readme": "README.md", "license": "WTFPL", "authors": [ { - "name": "svoboda", - "email": "svoboda@gmail.com", - "homepage": "https://svoboda.page", + "name": "Arsen Mirzaev Tatyano-Muradovich", + "email": "arsen@mirzaev.sexy", + "homepage": "https://mirzaev.sexy", "role": "Programmer" } ], "support": { - "wiki": "https://git.mirzaev.sexy/svoboda/negotiatior/wiki", - "issues": "https://git.mirzaev.sexy/svoboda/negotiatior/issues" + "wiki": "https://git.svoboda.works/svoboda/negotiator/wiki", + "issues": "https://git.svoboda.works/svoboda/negotiator/issues" }, "require": { "php": "^8.4", - "triagens/arangodb": "^3.8", - "mirzaev/minimal": "^3.2.0", - "mirzaev/arangodb": "^1.3", - "twig/twig": "^3.10", - "twig/extra-bundle": "^3.7", - "twig/intl-extra": "^3.10" + "mirzaev/minimal": "^3.4.0", + "badfarm/zanzara": "^0.9.1", + "react/filesystem": "^0.1.2" }, "require-dev": { "phpunit/phpunit": "~9.5" }, "autoload": { "psr-4": { - "svoboda\\negotiatior\\": "svoboda/negotiatior/system" + "svoboda\\negotiator\\": "svoboda/negotiator/system" } }, "autoload-dev": { "psr-4": { - "svoboda\\negotiatior\\tests\\": "svoboda/negotiatior/tests" + "svoboda\\negotiator\\tests\\": "svoboda/negotiator/tests" } }, "scripts": { "pre-update-cmd": "./install.sh" + }, + "config": { + "allow-plugins": { + "php-http/discovery": false, + "wyrihaximus/composer-update-bin-autoload-path": true + } } } diff --git a/examples/nginx/negotiator.svoboda.conf b/examples/nginx/negotiator.svoboda.conf new file mode 100644 index 0000000..a3ce334 --- /dev/null +++ b/examples/nginx/negotiator.svoboda.conf @@ -0,0 +1,53 @@ +server { + listen 80; + listen [::]:80; + + server_name negotiator.svoboda.works; + + # 301 302 + return 301 https://$server_name$request_uri; +} + +server { + listen 443 ssl; + listen 443 quic; + listen [::]:443 ssl; + listen [::]:443 quic; + + server_name negotiator.svoboda.works; + + http2 on; + http3 on; + quic_gso on; + quic_retry on; + + add_header Alt-Svc 'h3=":$server_port"; ma=86400'; + add_header x-quic 'h3'; + + root /var/www/negotiator/svoboda/negotiator/system/public; + + index index.php; + + keepalive_timeout 60; + + include snippets/ssl-params.conf; + include snippets/ssl-svoboda.conf; + include snippets/php8_4.conf; + + location / { + try_files $uri $uri/ /index.php?$query_string; + } + + location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|mp3|ogg|ogv|webm|htc|woff2|woff)$ { + expires 1M; + access_log off; + add_header Cache-Control "max-age=2629746, public"; + } + + location ~* \.(?:css|js|mjs|min)$ { + expires 1y; + access_log off; + add_header Cache-Control "max-age=31556952, public"; + } +} + diff --git a/examples/systemd/negotiator-telegram.service b/examples/systemd/negotiator-telegram.service new file mode 100644 index 0000000..58c6919 --- /dev/null +++ b/examples/systemd/negotiator-telegram.service @@ -0,0 +1,17 @@ +[Unit] +Description=Telegram chat-robot: @domain_of_your_robot_here + +Wants=network.target +After=syslog.target network-online.target + +[Service] +ExecStart=sudo -u www-data /usr/bin/php /var/www/project/svoboda/negotiator/system/public/telegram.php +PIDFile=/var/run/php/negotiator-telegram.pid +RemainAfterExit=no +RuntimeMaxSec=3600s +Restart=always +RestartSec=5s + +[Install] +WantedBy=multi-user.target + diff --git a/install.sh b/install.sh index a60715f..2e42fb1 100755 --- a/install.sh +++ b/install.sh @@ -1,7 +1,7 @@ #!/bin/bash if [ -d author/project ]; then - mv author/project author/negotiatior + mv author/project author/negotiator fi if [ -d author ]; then diff --git a/author/project/system/controllers/core.php b/svoboda/negotiator/system/controllers/core.php similarity index 51% rename from author/project/system/controllers/core.php rename to svoboda/negotiator/system/controllers/core.php index b37dc29..80aeb9e 100755 --- a/author/project/system/controllers/core.php +++ b/svoboda/negotiator/system/controllers/core.php @@ -2,13 +2,10 @@ declare(strict_types=1); -namespace svoboda\negotiatior\controllers; +namespace svoboda\negotiator\controllers; // Files of the project -use svoboda\negotiatior\views\templater, - svoboda\negotiatior\models\core as models, - svoboda\negotiatior\models\session, - svoboda\negotiatior\models\enumerations\language; +use svoboda\negotiator\models\core as models; // Framework for PHP use mirzaev\minimal\core as minimal, @@ -19,9 +16,8 @@ use mirzaev\minimal\core as minimal, /** * Controllers core * - * @package svoboda\negotiatior\controllers + * @package svoboda\negotiator\controllers * - * @param session $session Instance of the session * @param language $language Language * @param response $response Response * @param array $errors Registry of errors @@ -33,13 +29,6 @@ use mirzaev\minimal\core as minimal, */ class core extends controller { - /** - * Session - * - * @var session|null $session Instance of the session - */ - protected readonly session $session; - /** * Language * @@ -65,8 +54,6 @@ class core extends controller * @var array $errors Registry of errors */ protected array $errors = [ - 'session' => [], - 'account' => [] ]; /** @@ -84,43 +71,5 @@ class core extends controller // For the extends system parent::__construct(core: $core); - - if ($initialize) { - // Requestet initializing - - // Initializing core of the models - new models(); - - // Initializing of the date until which the session will be active - $expires = strtotime('+1 week'); - - // Initializing of default value of hash of the session - $_COOKIE["session"] ??= null; - - // Initializing of session - $this->session = new session($_COOKIE["session"], $expires, $this->errors['session']); - - // Handle a problems with initializing a session - if (!empty($this->errors['session'])) die; - else if ($_COOKIE["session"] !== $this->session->hash) { - // Hash of the session is changed (implies that the session has expired and recreated) - - // Write a new hash of the session to cookies - setcookie( - 'session', - $this->session->hash, - [ - 'expires' => $expires, - 'path' => '/', - 'secure' => true, - 'httponly' => true, - 'samesite' => 'strict' - ] - ); - } - - // Initializing of preprocessor of views - $this->view = new templater($this->session); - } } } diff --git a/svoboda/negotiator/system/models/core.php b/svoboda/negotiator/system/models/core.php new file mode 100755 index 0000000..be12231 --- /dev/null +++ b/svoboda/negotiator/system/models/core.php @@ -0,0 +1,106 @@ + + */ +class core extends model +{ + /** + * Constructor + * + * @param bool $initialize Initialize a model? + * + * @return void + */ + public function __construct(bool $initialize = true) + { + // For the extends system + parent::__construct($initialize); + } + + /** + * Write + * + * @param string $name Name of the property + * @param mixed $value Value of the property + * + * @return void + */ + public function __set(string $name, mixed $value = null): void + { + match ($name) { + default => parent::__set($name, $value) + }; + } + + /** + * Read + * + * @param string $name Name of the property + * + * @return mixed Content of the property, if they are found + */ + public function __get(string $name): mixed + { + return match ($name) { + default => parent::__get($name) + }; + } + + /** + * Delete + * + * @param string $name Name of the property + * + * @return void + */ + public function __unset(string $name): void + { + // Deleting a property and exit (success) + parent::__unset($name); + } + + /** + * Check of initialization + * + * @param string $name Name of the property + * + * @return bool The property is initialized? + */ + public function __isset(string $name): bool + { + // Check of initialization of the property and exit (success) + return parent::__isset($name); + } + + /** + * Call a static property or method + * + * @param string $name Name of the property or the method + * @param array $arguments Arguments for the method + */ + public static function __callStatic(string $name, array $arguments): mixed + { + return match ($name) { + default => throw new exception("Not found: $name", 500) + }; + } +} + diff --git a/author/project/system/models/enumerations/language.php b/svoboda/negotiator/system/models/enumerations/language.php similarity index 89% rename from author/project/system/models/enumerations/language.php rename to svoboda/negotiator/system/models/enumerations/language.php index fb294bb..f8cae8a 100755 --- a/author/project/system/models/enumerations/language.php +++ b/svoboda/negotiator/system/models/enumerations/language.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace svoboda\negotiatior\models\enumerations; +namespace svoboda\negotiator\models\enumerations; /** * Language * * Types of languages by ISO 639-1 standart * - * @package svoboda\negotiatior\models\enumerations + * @package svoboda\negotiator\models\enumerations * * @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License * @author Arsen Mirzaev Tatyano-Muradovich diff --git a/author/project/system/models/enumerations/session.php b/svoboda/negotiator/system/models/enumerations/session.php similarity index 72% rename from author/project/system/models/enumerations/session.php rename to svoboda/negotiator/system/models/enumerations/session.php index 3ddc9b1..85a4d73 100755 --- a/author/project/system/models/enumerations/session.php +++ b/svoboda/negotiator/system/models/enumerations/session.php @@ -2,14 +2,14 @@ declare(strict_types=1); -namespace svoboda\negotiatior\models\enumerations; +namespace svoboda\negotiator\models\enumerations; /** * Session * * Types of session verification * - * @package svoboda\negotiatior\models\enumerations + * @package svoboda\negotiator\models\enumerations * * @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License * @author svoboda diff --git a/svoboda/negotiator/system/models/telegram.php b/svoboda/negotiator/system/models/telegram.php new file mode 100755 index 0000000..f64d353 --- /dev/null +++ b/svoboda/negotiator/system/models/telegram.php @@ -0,0 +1,48 @@ + + */ +final class telegram extends core +{ + /** + * Society + * + * Responce for the command: "/society" + * + * @param context $ctx + * + * @return void + */ + public static function society(context $ctx): void + { + $ctx->sendPhoto( + new InputFile(STORAGE . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'mushroom.jpg'), + [ + 'caption' => 'why so shroomious', + 'disable_notification' => true + ] + ); + } +} diff --git a/svoboda/negotiator/system/public/telegram.php b/svoboda/negotiator/system/public/telegram.php new file mode 100755 index 0000000..869a3a7 --- /dev/null +++ b/svoboda/negotiator/system/public/telegram.php @@ -0,0 +1,61 @@ +setParseMode(Config::PARSE_MODE_MARKDOWN); +$config->useReactFileSystem(true); + +$bot = new Zanzara(TELEGRAM_KEY, $config); + +$bot->onUpdate(function (Context $ctx): void { + var_dump('biba'); +}); + +/* $bot->onCommand('start', fn($ctx) => telegram::start($ctx)); */ +$bot->onCommand('society', fn($ctx) => telegram::society($ctx)); + +// Starting chat-robot +$bot->run(); diff --git a/author/project/system/settings/.gitignore b/svoboda/negotiator/system/settings/.gitignore similarity index 100% rename from author/project/system/settings/.gitignore rename to svoboda/negotiator/system/settings/.gitignore diff --git a/svoboda/negotiator/system/settings/telegram.php.sample b/svoboda/negotiator/system/settings/telegram.php.sample new file mode 100644 index 0000000..7679934 --- /dev/null +++ b/svoboda/negotiator/system/settings/telegram.php.sample @@ -0,0 +1,3 @@ +