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 * @package phpOMS\Account
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @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. * information. This model is not comparable to a profile which contains much more information.
* *
* @package phpOMS\Account * @package phpOMS\Account
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -6,7 +6,7 @@
* *
* @package phpOMS\Application * @package phpOMS\Application
* @copyright Dennis Eichhorn * @copyright Dennis Eichhorn
* @license OMS License 1.0 * @license OMS License 2.0
* @version 1.0.0 * @version 1.0.0
* @link https://jingga.app * @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. * This abstraction can be used by modules in order to manipulate their basic status/state.
* *
* @package phpOMS\Application * @package phpOMS\Application
* @license OMS License 1.0 * @license OMS License 2.0
* @link https://jingga.app * @link https://jingga.app
* @since 1.0.0 * @since 1.0.0
*/ */

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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