registration fixes

This commit is contained in:
Dennis Eichhorn 2023-03-24 16:20:25 +01:00
parent a7493d205b
commit a9745c2f1c
1063 changed files with 6973 additions and 2431 deletions

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Account
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -25,7 +25,7 @@ use phpOMS\Validation\Network\Email;
* information. This model is not comparable to a profile which contains much more information.
*
* @package phpOMS\Account
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Account
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -23,7 +23,7 @@ use phpOMS\DataStorage\Session\SessionInterface;
* The account manager is used to manage accounts.
*
* @package phpOMS\Account
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Account
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Enum;
* Account status enum.
*
* @package phpOMS\Account
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Account
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Enum;
* Account type enum.
*
* @package phpOMS\Account
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Account
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Exception\InvalidEnumValue;
* Account group class.
*
* @package phpOMS\Account
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Account
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Enum;
* Group status enum.
*
* @package phpOMS\Account
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Account
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Account;
* Null account class.
*
* @package phpOMS\Account
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Account
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Account;
* Null group class.
*
* @package phpOMS\Account
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Account
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -21,7 +21,7 @@ namespace phpOMS\Account;
* abstract class and can be used directly if needed.
*
* @package phpOMS\Account
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Account
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Account;
* Permission handling trait.
*
* @package phpOMS\Account
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Account
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -22,7 +22,7 @@ use phpOMS\Stdlib\Base\Enum;
* A permission can be long to a group or an account.
*
* @package phpOMS\Account
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Account
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Enum;
* Permission type enum.
*
* @package phpOMS\Account
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Ai\NeuralNetwork
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Ai\NeuralNetwork;
* Neuron
*
* @package phpOMS\Ai\NeuralNetwork
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Ai\Ocr
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -21,7 +21,7 @@ use phpOMS\System\File\PathException;
* Basic OCR implementation for MNIST data
*
* @package phpOMS\Ai\Ocr
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Ai\Ocr\Tesseract
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -21,7 +21,7 @@ use phpOMS\System\SystemUtils;
* Tesseract api
*
* @package phpOMS\Ai\Ocr\Tesseract
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Clustering
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Clustering;
* Clustering points
*
* @package phpOMS\Algorithm\Clustering
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Clustering
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Clustering;
* Point for clustering
*
* @package phpOMS\Algorithm\Clustering
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Clustering
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -22,7 +22,7 @@ namespace phpOMS\Algorithm\Clustering;
* @property string $name Name
*
* @package phpOMS\Algorithm\Clustering;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\CoinMatching
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\CoinMatching;
* Matching a value with a set of coins
*
* @package phpOMS\Algorithm\CoinMatching
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Graph;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Graph;
* Dependency resolver class.
*
* @package phpOMS\Algorithm\Graph;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\JobScheduling
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\JobScheduling;
* Job for scheduling
*
* @package phpOMS\Algorithm\JobScheduling
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\JobScheduling
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -19,7 +19,7 @@ namespace phpOMS\Algorithm\JobScheduling;
* Job interface.
*
* @package phpOMS\Algorithm\JobScheduling;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\JobScheduling
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\JobScheduling;
* Job scheduling algorithm with no overlapping jobs
*
* @package phpOMS\Algorithm\JobScheduling
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Knapsack
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -19,7 +19,7 @@ namespace phpOMS\Algorithm\Knapsack;
* Backpack for the Knapsack problem
*
* @package phpOMS\Algorithm\Knapsack
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Knapsack
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -19,7 +19,7 @@ namespace phpOMS\Algorithm\Knapsack;
* Backpack interface.
*
* @package phpOMS\Algorithm\Knapsack;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Knapsack
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -21,7 +21,7 @@ namespace phpOMS\Algorithm\Knapsack;
* This algorithm only works for integer cost, values and quantities!
*
* @package phpOMS\Algorithm\Knapsack
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Knapsack
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -19,7 +19,7 @@ namespace phpOMS\Algorithm\Knapsack;
* Continuous knapsack algorithm
*
* @package phpOMS\Algorithm\Knapsack
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Knapsack
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Knapsack;
* Item in the Knapsack
*
* @package phpOMS\Algorithm\Knapsack
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Knapsack
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -19,7 +19,7 @@ namespace phpOMS\Algorithm\Knapsack;
* Item interface.
*
* @package phpOMS\Algorithm\Knapsack;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Maze
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -19,7 +19,7 @@ namespace phpOMS\Algorithm\Maze;
* Maze generator
*
* @package phpOMS\Algorithm\Maze
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*
@ -25,7 +25,7 @@ use phpOMS\Stdlib\Base\Heap;
* Perform path finding.
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\PathFinding;
* Node on grid.
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*
@ -23,7 +23,7 @@ namespace phpOMS\Algorithm\PathFinding;
* Grid of nodes.
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Math\Topology\Metrics2D;
* Node on grid.
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Enum;
* Heuristic type enum.
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\PathFinding;
* Node on grid.
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*
@ -25,7 +25,7 @@ use phpOMS\Stdlib\Base\Heap;
* Perform path finding.
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Enum;
* Movement type enum.
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\HeapItemInterface;
* Node on grid.
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\PathFinding;
* Null node.
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\PathFinding;
* Null node.
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*
@ -23,7 +23,7 @@ namespace phpOMS\Algorithm\PathFinding;
* Path in grids.
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\PathFinding
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\PathFinding;
* Path finder interface
*
* @package phpOMS\Algorithm\PathFinding
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* BitonicSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* Bubblesort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* Bucketsort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* CocktailShakerSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* CombSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* CycleSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* GnomeSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* HeapSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* InsertionSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* IntroSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* MergeSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* OddEvenSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* PancakeSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* QuickSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* SelectionSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* ShellSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* SortInterface class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Enum;
* SortOrder enum.
*
* @package phpOMS\Algorithm\Sort
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* SortableInterface class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* StoogeSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Algorithm\Sort;
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Algorithm\Sort;
* TimSort class.
*
* @package phpOMS\Algorithm\Sort;
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Api\EUVAT
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -23,7 +23,7 @@ use phpOMS\Uri\HttpUri;
* Check EU VAT.
*
* @package phpOMS\Api\EUVAT
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/
@ -42,34 +42,50 @@ final class EUVATBffOnline implements EUVATInterface
/**
* {@inheritdoc}
*/
public static function validate(string $ownVAT, string $otherVAT) : int
public static function validate(string $otherVAT, string $ownVAT = '') : array
{
$request = new HttpRequest(new HttpUri('https://evatr.bff-online.de/evatrRPC?UstId_1=' . $ownVAT . '&UstId_2=' . $otherVAT));
$request->setMethod(RequestMethod::GET);
$result = [
'status' => -1,
'vat' => 'C',
'name' => '',
'city' => '',
'postal' => '',
'address' => '',
'body' => '',
];
$matches = [];
try {
$body = Rest::request($request)->getBody();
$result['body'] = $body;
\preg_match('/ErrorCode.*?(\d+)/s', $body, $matches);
if ((int) ($matches[1] ?? 1) === 200) {
return 0;
switch ((int) ($matches[1] ?? 1)) {
case 200:
$result['vat'] = 'A';
break;
default:
$result['vat'] = 'B';
}
$result['status'] = 0;
} catch (\Throwable $t) {
return -1;
return $result;
}
return (int) ($matches[1] ?? 1);
return $result;
}
/**
* {@inheritdoc}
*/
public static function validateQualified(
string $ownVAT,
string $otherVAT,
string $ownVAT,
string $otherName,
string $otherCity,
string $otherPostal,
@ -78,56 +94,57 @@ final class EUVATBffOnline implements EUVATInterface
{
$result = [
'status' => -1,
'name' => false,
'city' => false,
'postal' => false,
'street' => false,
'response' => '',
'vat' => 'C',
'name' => 'C',
'city' => 'C',
'postal' => 'C',
'address' => 'C',
'body' => '',
];
if (empty($ownVAT)) {
return $result;
}
$request = new HttpRequest(new HttpUri('https://evatr.bff-online.de/evatrRPC?UstId_1=' . $ownVAT . '&UstId_2=' . $otherVAT . '&Firmenname=' . \urlencode($otherName) . '&Ort=' . \urlencode($otherCity) . '&PLZ=' . \urlencode($otherPostal) . '&Strasse=' . \urlencode($otherStreet)));
$request = new HttpRequest(new HttpUri(
'https://evatr.bff-online.de/evatrRPC?UstId_1=' . $ownVAT . '&UstId_2=' . $otherVAT . '&Firmenname=' . \urlencode($otherName) . '&Ort=' . \urlencode($otherCity) . '&PLZ=' . \urlencode($otherPostal) . '&Strasse=' . \urlencode($otherStreet))
);
$request->setMethod(RequestMethod::GET);
try {
$body = Rest::request($request)->getBody();
$result['response'] = $body;
$result['body'] = $body;
$matches = [];
\preg_match('/ErrorCode.*?(\d+)/s', $body, $matches);
if ((int) ($matches[1] ?? 1) === 200) {
$result['status'] = 0;
switch ((int) ($matches[1] ?? 1)) {
case 200:
$result['vat'] = 'A';
break;
default:
$result['vat'] = 'B';
}
$matches = [];
\preg_match('/Erg_PLZ.*?<string>(A|B|C|D)/s', $body, $matches);
if (($matches[1] ?? 'B') === 'A' || ($matches[1] ?? 'B') === 'D') {
$result['postal'] = true;
}
$result['postal'] = $matches[1] ?? 'B';
$matches = [];
\preg_match('/Erg_Ort.*?<string>(A|B|C|D)/s', $body, $matches);
if (($matches[1] ?? 'B') === 'A' || ($matches[1] ?? 'B') === 'D') {
$result['city'] = true;
}
$result['city'] = $matches[1] ?? 'B';
$matches = [];
\preg_match('/Erg_Str.*?<string>(A|B|C|D)/s', $body, $matches);
if (($matches[1] ?? 'B') === 'A' || ($matches[1] ?? 'B') === 'D') {
$result['street'] = true;
}
$result['address'] = $matches[1] ?? 'B';
$matches = [];
\preg_match('/Erg_Name.*?<string>(A|B|C|D)/s', $body, $matches);
if (($matches[1] ?? 'B') === 'A' || ($matches[1] ?? 'B') === 'D') {
$result['street'] = true;
}
$result['name'] = $matches[1] ?? 'B';
$result['status'] = 0;
} catch (\Throwable $t) {
return [];
return $result;
}
return $result;

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Api\EUVAT
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -14,27 +14,35 @@ declare(strict_types=1);
namespace phpOMS\Api\EUVAT;
/**
* EU VAT validation interface
*
* @package phpOMS\Api\EUVAT
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/
interface EUVATInterface
{
/**
* Validate VAT
*
* @param string $ownVAT Valid own EU VAT
* @param string $otherVAT EU VAT to validate (VAT in own country not possible)
* @param string $ownVAT Valid own EU VAT
*
* @return int
* @return array
*
* @since 1.0.0
*/
public static function validate(string $ownVAT, string $otherVAT) : int;
public static function validate(string $otherVAT, string $ownVAT = '') : array;
/**
* Qualified VAT validation
*
* The qualified validation is very strict, even one wrong character will result in a failure (e.g. street abbreviations)
*
* @param string $ownVAT Valid own EU VAT
* @param string $otherVAT EU VAT to validate (VAT in own country not possible)
* @param string $ownVAT Valid own EU VAT
* @param string $otherName Company name to validate
* @param string $otherCity City to validate
* @param string $otherPostal Zip to validate
@ -44,5 +52,5 @@ interface EUVATInterface
*
* @since 1.0.0
*/
public static function validateQualified(string $ownVAT, string $otherVAT, string $otherName, string $otherCity, string $otherPostal, string $otherStreet) : array;
public static function validateQualified(string $otherVAT, string $ownVAT, string $otherName, string $otherCity, string $otherPostal, string $otherStreet) : array;
}

204
Api/EUVAT/EUVATVies.php Normal file
View File

@ -0,0 +1,204 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package phpOMS\Api\EUVAT
* @copyright Dennis Eichhorn
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace phpOMS\Api\EUVAT;
use phpOMS\Message\Http\HttpRequest;
use phpOMS\Message\Http\RequestMethod;
use phpOMS\Message\Http\Rest;
use phpOMS\Uri\HttpUri;
/**
* Check EU VAT.
*
* @package phpOMS\Api\EUVAT
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/
final class EUVATVies implements EUVATInterface
{
/**
* Constructor.
*
* @since 1.0.0
* @codeCoverageIgnore
*/
private function __construct()
{
}
/**
* {@inheritdoc}
*/
public static function validate(string $otherVAT, string $ownVAT = '') : array
{
$request = new HttpRequest(
new HttpUri(
'https://ec.europa.eu/taxation_customs/vies/rest-api/ms/' . \substr($otherVAT, 0, 2) . '/vat/' . \substr($otherVAT, 2) . (
$ownVAT !== '' ? '?requesterMemberStateCode=' . \substr($ownVAT, 0, 2) . '&requesterNumber=' . \substr($ownVAT, 2) : ''
)
)
);
$request->setMethod(RequestMethod::GET);
$result = [
'status' => -1,
'vat' => 'C',
'name' => '',
'city' => '',
'postal' => '',
'address' => '',
'body' => '',
];
try {
$body = Rest::request($request)->getBody();
$result['body'] = $body;
$json = \json_decode($body, true);
$result = \array_merge($result, self::parseResponse($json));
$result['status'] = $json['userError'] === 'VALID' ? 0 : -1;
} catch (\Throwable $t) {
return $result;
}
return $result;
}
/**
* {@inheritdoc}
*/
public static function validateQualified(
string $otherVAT,
string $ownVAT,
string $otherName,
string $otherCity,
string $otherPostal,
string $otherStreet
) : array
{
$result = [
'status' => -1,
'vat' => 'C',
'name' => 'C',
'city' => 'C',
'postal' => 'C',
'address' => 'C',
'body' => '',
];
$request = new HttpRequest(
new HttpUri(
'https://ec.europa.eu/taxation_customs/vies/rest-api/ms/' . \substr($otherVAT, 0, 2) . '/vat/' . \substr($otherVAT, 2) . (
$ownVAT !== '' ? '?requesterMemberStateCode=' . \substr($ownVAT, 0, 2) . '&requesterNumber=' . \substr($ownVAT, 2) : ''
)
)
);
$request->setMethod(RequestMethod::GET);
try {
$body = Rest::request($request)->getBody();
$result['body'] = $body;
$json = \json_decode($body, true);
$result = \array_merge($result, self::parseResponse($json));
if ($otherName === '') {
$result['name'] = 'D';
} elseif (\stripos($result['name'], $otherName) !== false && \strlen($otherName) / \strlen($result['name']) > 0.8 || \levenshtein($otherName, $result['name']) / \strlen($result['name']) < 0.2) {
$result['name'] = 'A';
} elseif ($result['name'] === '') {
$result['name'] = 'C';
} else {
$result['name'] = 'C';
}
if ($otherCity === '') {
$result['city'] = 'D';
} elseif (\stripos($result['city'], $otherCity) !== false) {
$result['city'] = 'A';
} elseif ($result['city'] === '') {
$result['city'] = 'C';
} else {
$result['city'] = 'C';
}
if ($otherPostal === '') {
$result['postal'] = 'D';
} elseif (\stripos($result['postal'], $otherPostal) !== false) {
$result['postal'] = 'A';
} elseif ($result['postal'] === '') {
$result['postal'] = 'C';
} else {
$result['postal'] = 'C';
}
if ($otherStreet === '') {
$result['address'] = 'D';
} elseif (\stripos($result['address'], $otherStreet) !== false && \levenshtein($otherStreet, $result['address'], insertion_cost: 0) / \strlen($result['address']) < 0.2) {
$result['address'] = 'A';
} elseif ($result['address'] === '') {
$result['address'] = 'C';
} else {
$result['address'] = 'C';
}
$result['status'] = $json['userError'] === 'VALID' ? 0 : -1;
} catch (\Throwable $t) {
return $result;
}
return $result;
}
private static function parseResponse(array $json) : array
{
$result = [
'vat' => '',
'name' => '',
'city' => '',
'postal' => '',
'address' => '',
];
$result['vat'] = $json['isValid'] ? 'A' : 'B';
$result['name'] = $json['isValid'];
$result['city'] = \stripos($json['address'], "\n") !== false
? \substr($json['address'], \stripos($json['address'], "\n") + 1)
: '';
$result['postal'] = \stripos($json['address'], "\n") !== false
? \substr(
$json['address'],
\stripos($json['address'], "\n") + 1,
\stripos($json['address'], ' ', \stripos($json['address'], "\n")) - \stripos($json['address'], "\n") - 1
)
: '';
$result['address'] = \stripos($json['address'], "\n") !== false
? \substr($json['address'], 0, \stripos($json['address'], "\n") - 1)
: $json['address'];
$result['name'] = $result['name'] === '---' ? '' : $result['name'];
$result['city'] = $result['city'] === '---' ? '' : $result['city'];
$result['postal'] = $result['postal'] === '---' ? '' : $result['postal'];
$result['address'] = $result['address'] === '---' ? '' : $result['address'];
return $result;
}
}

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Api\Payment
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Api\Payment;
* Payment charge.
*
* @package phpOMS\Api\Payment
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Api\Payment
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Api\Payment;
* Abstract payment.
*
* @package phpOMS\Api\Payment
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Api\Payment
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Api\Payment;
* Create a payment.
*
* @package phpOMS\Api\Payment
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Api\Payment
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use Stripe\StripeClient;
* Strip generator.
*
* @package phpOMS\Api\Payment
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Application
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -52,7 +52,7 @@ use phpOMS\Router\RouterInterface;
* @property \phpOMS\Log\FileLogger $logger
*
* @package phpOMS\Application
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Application
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -23,7 +23,7 @@ use phpOMS\Utils\ArrayUtils;
* Handling the info files for modules
*
* @package phpOMS\Application
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -7,7 +7,7 @@
*
* @package phpOMS\Application
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -25,7 +25,7 @@ use phpOMS\System\File\PathException;
* General application managing functionality.
*
* @package phpOMS\Application
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Application
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Enum;
* App status enum.
*
* @package phpOMS\Application
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Application
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Enum;
* App status enum.
*
* @package phpOMS\Application
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Application
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -24,7 +24,7 @@ use phpOMS\System\File\Local\Directory;
* Installer abstract class.
*
* @package phpOMS\Application
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Application
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -24,7 +24,7 @@ use phpOMS\Utils\Parser\Php\ArrayParser;
* This abstraction can be used by modules in order to manipulate their basic status/state.
*
* @package phpOMS\Application
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Application
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -22,7 +22,7 @@ use phpOMS\DataStorage\Database\Schema\Builder as SchemaBuilder;
* Uninstaller abstract class.
*
* @package phpOMS\Application
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Asset
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Asset;
* Asset manager class.
*
* @package phpOMS\Asset
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Asset
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Stdlib\Base\Enum;
* Asset types enum.
*
* @package phpOMS\Asset
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Auth
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -22,7 +22,7 @@ use phpOMS\DataStorage\Session\SessionInterface;
* Responsible for authenticating and initializing the connection
*
* @package phpOMS\Auth
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Auth
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -22,7 +22,7 @@ use phpOMS\Stdlib\Base\Enum;
* These are possible answers to authentications.
*
* @package phpOMS\Auth
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ namespace phpOMS;
* This exception is thrown if a file couldn't be autoloaded
*
* @package phpOMS
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ namespace phpOMS;
* Autoloader class.
*
* @package phpOMS
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Business\Finance
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Business\Finance;
* Depreciation class.
*
* @package phpOMS\Business\Finance
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Business\Finance
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ use phpOMS\Math\Statistic\Average;
* Finance class.
*
* @package phpOMS\Business\Finance
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*

View File

@ -0,0 +1,64 @@
<?php
/**
* Karaka
*
* PHP Version 8.1
*
* @package phpOMS\Business\Finance
* @copyright Dennis Eichhorn
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace phpOMS\Business\Finance;
/**
* Forensics class.
*
* @package phpOMS\Business\Finance
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/
final class Forensics
{
/**
* Constructor
*
* @since 1.0.0
* @codeCoverageIgnore
*/
private function __construct()
{
}
public static function benfordAnalysis(array $data)
{
$digits = \array_fill(1, 9, 0);
$size = \count($data);
foreach ($data as $number) {
$digit = \substr((string) $number, 0, 1);
++$digits[(int) $digit];
}
$results = [];
foreach ($digits as $digit => $count) {
$results[$digit] = $count / $size;
}
return $results;
}
public static function expectedBenfordDistribution() : array
{
$expected = [];
for ($i = 1; $i <= 9; ++$i) {
$expected[$i] = \log10(1 + 1 / $i);
}
return $expected;
}
}

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Business\Finance
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Business\Finance;
* Finance class.
*
* @package phpOMS\Business\Finance
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Business\Finance
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Business\Finance;
* Finance class.
*
* @package phpOMS\Business\Finance
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Business\Finance
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Business\Finance;
* Finance class.
*
* @package phpOMS\Business\Finance
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Business\Marketing
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -22,7 +22,7 @@ use phpOMS\Math\Statistic\Correlation;
* This class provided basic marketing metric calculations
*
* @package phpOMS\Business\Marketing
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Business\Marketing
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Business\Marketing;
* Marketing CustomerValue
*
* @package phpOMS\Business\Marketing
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Business\Marketing
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -24,7 +24,7 @@ use phpOMS\Math\Matrix\Vector;
* This class provided basic marketing metric calculations
*
* @package phpOMS\Business\Marketing
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Business\Marketing
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -21,7 +21,7 @@ namespace phpOMS\Business\Marketing;
* Instead of customers the NPS can also be transferred to non-customers.
*
* @package phpOMS\Business\Marketing
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Business\Marketing
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Business\Marketing;
* PageRank algorithm
*
* @package phpOMS\Business\Marketing
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Business\Programming
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ namespace phpOMS\Business\Programming;
* This class provides basic programming metric calculations.
*
* @package phpOMS\Business\Programming
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Business\Sales
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -21,7 +21,7 @@ namespace phpOMS\Business\Sales;
* the rank based on a marketshare in a Zipf distributed market.
*
* @package phpOMS\Business\Sales
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Config
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -18,7 +18,7 @@ namespace phpOMS\Config;
* Options class.
*
* @package phpOMS\Config
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

View File

@ -6,7 +6,7 @@
*
* @package phpOMS\Config
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
@ -20,7 +20,7 @@ namespace phpOMS\Config;
* This trait basically implements the OptionsInterface
*
* @package phpOMS\Config
* @license OMS License 1.0
* @license OMS License 2.0
* @link https://jingga.app
* @since 1.0.0
*/

Some files were not shown because too many files have changed in this diff Show More