Browse Source

All FlexiBee/PeeHP renamed to AbraFlexi

ease-core-based
Vítězslav Dvořák 2 years ago
parent
commit
78cff038a5
  1. 3
      .gitignore
  2. 1
      client.json
  3. 7
      composer.json
  4. 576
      composer.lock
  5. 1
      digest.json
  6. 95
      src/Digest/DigestModule.php
  7. 8
      src/Digest/DigestModuleInterface.php
  8. 21
      src/Digest/Digestor.php
  9. 11
      src/Digest/DocumentTable.php
  10. 31
      src/Digest/Mailer.php
  11. 10
      src/Digest/Table.php
  12. 19
      src/Digest/VerticalChart.php
  13. 11
      src/flexibee-alltimedigest.php
  14. 13
      src/flexibee-daydigest.php
  15. 22
      src/flexibee-monthdigest.php
  16. 22
      src/flexibee-weekdigest.php
  17. 19
      src/flexibee-yeardigest.php
  18. 19
      src/index.php
  19. 8
      src/init.php
  20. 25
      src/modules.alltime/PurchasePriceLowerThanSales.php
  21. 50
      src/modules.monthly/DailyIncomeChart.php
  22. 35
      src/modules/BestSellers.php
  23. 46
      src/modules/Debtors.php
  24. 45
      src/modules/IncomingInvoices.php
  25. 24
      src/modules/IncomingPayments.php
  26. 32
      src/modules/NewCustomers.php
  27. 45
      src/modules/OutcomingInvoices.php
  28. 55
      src/modules/OutcomingInvoicesHiddenToCustomer.php
  29. 24
      src/modules/OutcomingPayments.php
  30. 50
      src/modules/Reminds.php
  31. 54
      src/modules/UnmatchedInvoices.php
  32. 56
      src/modules/UnmatchedPayments.php
  33. 38
      src/modules/WaitingIncome.php
  34. 47
      src/modules/WaitingPayments.php
  35. 32
      src/modules/WithoutEmail.php
  36. 31
      src/modules/WithoutTel.php
  37. 22
      src/results.php

3
.gitignore vendored

@ -10,4 +10,5 @@
/tests/output/
/vendor/
/.idea/
/debian/.debhelper/
/debian/.debhelper/
/nbproject/

1
client.json

@ -1 +0,0 @@
./tests/client.json

7
composer.json

@ -1,5 +1,5 @@
{
"name": "vitexsoftware/php-flexibee-digest",
"name": "vitexsoftware/flexibee-digest",
"description": "Periodical FlexiBee digest.",
"authors": [
{
@ -10,12 +10,11 @@
"minimum-stability": "dev",
"type": "project",
"require": {
"vitexsoftware/ease-twbootstrap4-widgets-flexibee": "dev-master",
"vitexsoftware/ease-twbootstrap4-widgets": "dev-master"
"vitexsoftware/ease-twbootstrap4-widgets-flexibee": "dev-abraflexi"
},
"autoload": {
"psr-4": {
"FlexiPeeHP\\Digest\\": "src/Digest/"
"AbraFlexi\\Digest\\": "src/Digest/"
}
}
}

576
composer.lock generated

@ -0,0 +1,576 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "304993f2cf25638bfa3d060c15a8b4e6",
"packages": [
{
"name": "pear/console_getopt",
"version": "v1.4.3",
"source": {
"type": "git",
"url": "https://github.com/pear/Console_Getopt.git",
"reference": "a41f8d3e668987609178c7c4a9fe48fecac53fa0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/Console_Getopt/zipball/a41f8d3e668987609178c7c4a9fe48fecac53fa0",
"reference": "a41f8d3e668987609178c7c4a9fe48fecac53fa0",
"shasum": ""
},
"type": "library",
"autoload": {
"psr-0": {
"Console": "./"
}
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
"./"
],
"license": [
"BSD-2-Clause"
],
"authors": [
{
"name": "Andrei Zmievski",
"email": "andrei@php.net",
"role": "Lead"
},
{
"name": "Stig Bakken",
"email": "stig@php.net",
"role": "Developer"
},
{
"name": "Greg Beaver",
"email": "cellog@php.net",
"role": "Helper"
}
],
"description": "More info available on: http://pear.php.net/package/Console_Getopt",
"support": {
"issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Console_Getopt",
"source": "https://github.com/pear/Console_Getopt"
},
"time": "2019-11-20T18:27:48+00:00"
},
{
"name": "pear/mail",
"version": "v1.4.1",
"source": {
"type": "git",
"url": "https://github.com/pear/Mail.git",
"reference": "9609ed5e42ac5b221dfd9af85de005c59d418ee7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/Mail/zipball/9609ed5e42ac5b221dfd9af85de005c59d418ee7",
"reference": "9609ed5e42ac5b221dfd9af85de005c59d418ee7",
"shasum": ""
},
"require": {
"pear/pear-core-minimal": "~1.9",
"php": ">=5.2.1"
},
"require-dev": {
"pear/pear": "*"
},
"suggest": {
"pear/net_smtp": "Install optionally via your project's composer.json"
},
"type": "library",
"autoload": {
"psr-0": {
"Mail": "./"
}
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
"./"
],
"license": [
"BSD-2-Clause"
],
"authors": [
{
"name": "Chuck Hagenbuch",
"email": "chuck@horde.org",
"role": "Lead"
},
{
"name": "Richard Heyes",
"email": "richard@phpguru.org",
"role": "Developer"
},
{
"name": "Aleksander Machniak",
"email": "alec@alec.pl",
"role": "Developer"
}
],
"description": "Class that provides multiple interfaces for sending emails.",
"homepage": "http://pear.php.net/package/Mail",
"support": {
"issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Mail",
"source": "https://github.com/pear/Mail"
},
"time": "2017-04-11T17:27:29+00:00"
},
{
"name": "pear/mail_mime",
"version": "1.10.9",
"source": {
"type": "git",
"url": "https://github.com/pear/Mail_Mime.git",
"reference": "1e7ae4e5258b6c0d385a8e76add567934245d38d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/Mail_Mime/zipball/1e7ae4e5258b6c0d385a8e76add567934245d38d",
"reference": "1e7ae4e5258b6c0d385a8e76add567934245d38d",
"shasum": ""
},
"require": {
"pear/pear-core-minimal": "*"
},
"type": "library",
"autoload": {
"psr-0": {
"Mail": "./"
}
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
"./"
],
"license": [
"BSD-3-clause"
],
"authors": [
{
"name": "Cipriano Groenendal",
"email": "cipri@php.net",
"role": "Lead"
},
{
"name": "Aleksander Machniak",
"email": "alec@php.net",
"role": "Lead"
}
],
"description": "Mail_Mime provides classes to create MIME messages",
"homepage": "http://pear.php.net/package/Mail_Mime",
"support": {
"issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Mail_Mime",
"source": "https://github.com/pear/Mail_Mime"
},
"time": "2020-06-27T08:35:27+00:00"
},
{
"name": "pear/pear-core-minimal",
"version": "v1.10.10",
"source": {
"type": "git",
"url": "https://github.com/pear/pear-core-minimal.git",
"reference": "625a3c429d9b2c1546438679074cac1b089116a7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/625a3c429d9b2c1546438679074cac1b089116a7",
"reference": "625a3c429d9b2c1546438679074cac1b089116a7",
"shasum": ""
},
"require": {
"pear/console_getopt": "~1.4",
"pear/pear_exception": "~1.0"
},
"replace": {
"rsky/pear-core-min": "self.version"
},
"type": "library",
"autoload": {
"psr-0": {
"": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
"src/"
],
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Christian Weiske",
"email": "cweiske@php.net",
"role": "Lead"
}
],
"description": "Minimal set of PEAR core files to be used as composer dependency",
"support": {
"issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR",
"source": "https://github.com/pear/pear-core-minimal"
},
"time": "2019-11-19T19:00:24+00:00"
},
{
"name": "pear/pear_exception",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/pear/PEAR_Exception.git",
"reference": "abf2c21ed0180752c2e38655c7998678131dd05b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/abf2c21ed0180752c2e38655c7998678131dd05b",
"reference": "abf2c21ed0180752c2e38655c7998678131dd05b",
"shasum": ""
},
"require": {
"php": ">=4.4.0"
},
"require-dev": {
"phpunit/phpunit": "<6"
},
"default-branch": true,
"type": "class",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"classmap": [
"PEAR/"
]
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
"."
],
"license": [
"BSD-2-Clause"
],
"authors": [
{
"name": "Helgi Thormar",
"email": "dufuz@php.net"
},
{
"name": "Greg Beaver",
"email": "cellog@php.net"
}
],
"description": "The PEAR Exception base class.",
"homepage": "https://github.com/pear/PEAR_Exception",
"keywords": [
"exception"
],
"support": {
"issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR_Exception",
"source": "https://github.com/pear/PEAR_Exception"
},
"time": "2020-04-19T14:25:26+00:00"
},
{
"name": "spojenet/flexibee",
"version": "2.0.x-dev",
"source": {
"type": "git",
"url": "https://github.com/Spoje-NET/php-abraflexi.git",
"reference": "d9615b77eac60788c2271eae97e162919c28175f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Spoje-NET/php-abraflexi/zipball/d9615b77eac60788c2271eae97e162919c28175f",
"reference": "d9615b77eac60788c2271eae97e162919c28175f",
"shasum": ""
},
"require": {
"ext-curl": "*",
"ext-json": "*",
"vitexsoftware/ease-core": ">=1.9"
},
"replace": {
"spoje.net/flexibee": "*",
"spoje.net/flexipeehp": "*"
},
"require-dev": {
"phing/phing": "^2",
"phpunit/phpunit": "^9"
},
"type": "library",
"autoload": {
"psr-4": {
"AbraFlexi\\": "src/AbraFlexi/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Vítězslav Dvořák",
"email": "vitex@arachne.cz"
}
],
"description": "Library for easy interaction with czech accounting system FlexiBee.",
"support": {
"issues": "https://github.com/Spoje-NET/php-abraflexi/issues",
"source": "https://github.com/Spoje-NET/php-abraflexi/tree/2.0"
},
"time": "2020-12-04T23:02:48+00:00"
},
{
"name": "vitexsoftware/ease-core",
"version": "dev-main",
"source": {
"type": "git",
"url": "https://github.com/VitexSoftware/php-ease-core.git",
"reference": "3c17b0aec9f0073603a109ebd6a17847b0c1f7ec"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/VitexSoftware/php-ease-core/zipball/3c17b0aec9f0073603a109ebd6a17847b0c1f7ec",
"reference": "3c17b0aec9f0073603a109ebd6a17847b0c1f7ec",
"shasum": ""
},
"require": {
"pear/mail": "~1.3",
"pear/mail_mime": "~1.10",
"php": ">=7"
},
"conflict": {
"vitexsoftware/ease-framework": "*"
},
"require-dev": {
"phpunit/phpunit": "^8",
"roave/security-advisories": "dev-latest"
},
"default-branch": true,
"type": "library",
"autoload": {
"psr-4": {
"Ease\\": "src/Ease/",
"Ease\\Logger\\": "src/Ease/Logger/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Vítězslav Dvořák",
"email": "info@vitexsoftware.cz",
"homepage": "http://v.s.cz/"
}
],
"description": "An PHP Framework for writing Applications",
"homepage": "http://v.s.cz/ease.php",
"support": {
"issues": "https://github.com/VitexSoftware/php-ease-core/issues",
"source": "https://github.com/VitexSoftware/php-ease-core/tree/main"
},
"time": "2020-12-02T13:05:55+00:00"
},
{
"name": "vitexsoftware/ease-html",
"version": "dev-main",
"source": {
"type": "git",
"url": "https://github.com/VitexSoftware/php-ease-html.git",
"reference": "675f988605af05666352efec8f0a93ffde60b48d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/VitexSoftware/php-ease-html/zipball/675f988605af05666352efec8f0a93ffde60b48d",
"reference": "675f988605af05666352efec8f0a93ffde60b48d",
"shasum": ""
},
"require": {
"vitexsoftware/ease-core": ">= 1.8"
},
"require-dev": {
"phpunit/phpunit": "*"
},
"default-branch": true,
"type": "library",
"autoload": {
"psr-4": {
"Ease\\": "src/Ease/",
"Ease\\Html\\": "src/Ease/Html/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Vítězslav Vitex Dvořák",
"email": "info@vitexsoftware.cz"
}
],
"description": "Set of HTML rendering objects",
"support": {
"issues": "https://github.com/VitexSoftware/php-ease-html/issues",
"source": "https://github.com/VitexSoftware/php-ease-html/tree/main"
},
"time": "2020-12-02T02:13:28+00:00"
},
{
"name": "vitexsoftware/ease-twbootstrap4",
"version": "dev-main",
"source": {
"type": "git",
"url": "https://github.com/VitexSoftware/php-ease-twbootstrap4.git",
"reference": "a9a4a4e63272d708b869fbc8c9039d78ca01aa33"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/VitexSoftware/php-ease-twbootstrap4/zipball/a9a4a4e63272d708b869fbc8c9039d78ca01aa33",
"reference": "a9a4a4e63272d708b869fbc8c9039d78ca01aa33",
"shasum": ""
},
"require": {
"vitexsoftware/ease-html": ">= 1.25"
},
"require-dev": {
"phpunit/phpunit": "^8"
},
"default-branch": true,
"type": "library",
"autoload": {
"psr-4": {
"Ease\\TWB4\\": "src/Ease/TWB4/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Vítězslav Vitex Dvořák",
"email": "info@vitexsoftware.cz"
}
],
"description": "Set of Twitter Bootstrap 4 rendering objects",
"support": {
"issues": "https://github.com/VitexSoftware/php-ease-twbootstrap4/issues",
"source": "https://github.com/VitexSoftware/php-ease-twbootstrap4/tree/main"
},
"time": "2020-12-23T02:53:43+00:00"
},
{
"name": "vitexsoftware/ease-twbootstrap4-widgets-flexibee",
"version": "dev-abraflexi",
"source": {
"type": "git",
"url": "https://github.com/VitexSoftware/php-ease-twbootstrap4-widgets-abraflexi.git",
"reference": "c78a565c7885e5e05fbcf516427aa497dc2ffe32"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/VitexSoftware/php-ease-twbootstrap4-widgets-abraflexi/zipball/c78a565c7885e5e05fbcf516427aa497dc2ffe32",
"reference": "c78a565c7885e5e05fbcf516427aa497dc2ffe32",
"shasum": ""
},
"require": {
"vitexsoftware/ease-twbootstrap4": ">=1.1",
"vitexsoftware/flexibee-bricks": "dev-abraflexi"
},
"require-dev": {
"phpunit/phpunit": "^9"
},
"default-branch": true,
"type": "library",
"autoload": {
"psr-4": {
"AbraFlexi\\ui\\TWB4\\": "src/AbraFlexi/ui/TWB4"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Vitex",
"email": "info@vitexsoftware.cz"
}
],
"description": "php-abraflexi extending classes and widgets",
"support": {
"issues": "https://github.com/VitexSoftware/php-ease-twbootstrap4-widgets-abraflexi/issues",
"source": "https://github.com/VitexSoftware/php-ease-twbootstrap4-widgets-abraflexi/tree/abraflexi"
},
"time": "2021-01-03T01:20:05+00:00"
},
{
"name": "vitexsoftware/flexibee-bricks",
"version": "dev-abraflexi",
"source": {
"type": "git",
"url": "https://github.com/VitexSoftware/php-abraflexi-bricks.git",
"reference": "edc6e23985d2f06ce4b7367fd256e692be818b88"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/VitexSoftware/php-abraflexi-bricks/zipball/edc6e23985d2f06ce4b7367fd256e692be818b88",
"reference": "edc6e23985d2f06ce4b7367fd256e692be818b88",
"shasum": ""
},
"require": {
"spojenet/flexibee": "2.0.x-dev",
"vitexsoftware/ease-html": ">=1.25"
},
"require-dev": {
"codeception/codeception": "*",
"phpunit/phpunit": "*"
},
"type": "library",
"autoload": {
"psr-4": {
"AbraFlexi\\Bricks\\": "src/AbraFlexi/Bricks",
"AbraFlexi\\Bricks\\ConvertRules\\": "src/AbraFlexi/Bricks/ConvertRules",
"AbraFlexi\\ui\\": "src/AbraFlexi/ui"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Vitex",
"email": "info@vitexsoftware.cz"
}
],
"description": "php-abraflexi extending classes and widgets",
"support": {
"issues": "https://github.com/VitexSoftware/php-abraflexi-bricks/issues",
"source": "https://github.com/VitexSoftware/php-abraflexi-bricks/tree/abraflexi"
},
"time": "2020-12-22T22:10:12+00:00"
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "dev",
"stability-flags": {
"vitexsoftware/ease-twbootstrap4-widgets-flexibee": 20
},
"prefer-stable": false,
"prefer-lowest": false,
"platform": [],
"platform-dev": [],
"plugin-api-version": "2.0.0"
}

1
digest.json

@ -1 +0,0 @@
./tests/digest.json

95
src/Digest/DigestModule.php

@ -1,20 +1,21 @@
<?php
/**
* FlexiBee Digest
* AbraFlexi Digest
*
* @author Vítězslav Dvořák <info@vitexsofware.cz>
* @copyright (G) 2018 Vitex Software
*/
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
/**
* Description of DigestMod
*
* @author vitex
*/
class DigestModule extends \Ease\Html\DivTag implements DigestModuleInterface
{
class DigestModule extends \Ease\Html\DivTag implements DigestModuleInterface {
/**
* Which records we want to see ?
* @param array $condition
@ -38,16 +39,15 @@ class DigestModule extends \Ease\Html\DivTag implements DigestModuleInterface
*
* @param \DateInterval $interval
*/
public function __construct($interval)
{
public function __construct($interval) {
if (!empty($interval) && $this->timeColumn) {
if (is_array($this->timeColumn)) {
$condParts = [];
foreach ($this->timeColumn as $timeColumn) {
$condParts[$timeColumn] = $interval;
}
$this->condition = [\FlexiPeeHP\FlexiBeeRO::flexiUrl($condParts,
' or ')];
$this->condition = [\AbraFlexi\AbraFlexiRO::flexiUrl($condParts,
' or ')];
} else {
$this->condition = [$this->timeColumn => $interval];
}
@ -62,10 +62,9 @@ class DigestModule extends \Ease\Html\DivTag implements DigestModuleInterface
*
* @return boolean
*/
public function process()
{
public function process() {
$this->addItem(new \Ease\Html\H2Tag(new \Ease\Html\ATag('#index',
$this->heading(), ['name' => get_class($this)])));
$this->heading(), ['name' => get_class($this)])));
$this->addStatusMessage($this->heading());
return $this->dig();
}
@ -73,10 +72,9 @@ class DigestModule extends \Ease\Html\DivTag implements DigestModuleInterface
/**
* Obtaining informations
*/
public function dig()
{
public function dig() {
$this->addItem(new \Ease\Html\ATag('https://www.vitexsoftware.cz/cenik.php',
_('Please contact Vitex Software to make this module working.')));
_('Please contact Vitex Software to make this module working.')));
return true;
}
@ -85,8 +83,7 @@ class DigestModule extends \Ease\Html\DivTag implements DigestModuleInterface
*
* @return string
*/
public function heading()
{
public function heading() {
return _('No heading set');
}
@ -97,10 +94,9 @@ class DigestModule extends \Ease\Html\DivTag implements DigestModuleInterface
*
* @return string
*/
public static function getCurrency($data)
{
public static function getCurrency($data) {
return array_key_exists('mena@showAs', $data) ? current(explode(':',
$data['mena@showAs'])) : \FlexiPeeHP\FlexiBeeRO::uncode($data['mena']);
$data['mena@showAs'])) : \AbraFlexi\AbraFlexiRO::uncode($data['mena']);
}
/**
@ -110,21 +106,19 @@ class DigestModule extends \Ease\Html\DivTag implements DigestModuleInterface
*
* @return string
*/
public static function formatCurrency($price)
{
public static function formatCurrency($price) {
return number_format($price, 2, ',', ' ');
}
/**
* FlexiBee date in human readable form
* AbraFlexi date in human readable form
*
* @param string $flexiDate
*
* @return string
*/
public static function humanDate($flexiDate)
{
return \FlexiPeeHP\FlexiBeeRW::flexiDateToDateTime($flexiDate)->format('d. m. Y');
public static function humanDate($flexiDate) {
return \AbraFlexi\AbraFlexiRW::flexiDateToDateTime($flexiDate)->format('d. m. Y');
}
/**
@ -137,42 +131,39 @@ class DigestModule extends \Ease\Html\DivTag implements DigestModuleInterface
* return bool
*/
public static function isDateBetweenDates(\DateTime $date,
\DateTime $startDate,
\DateTime $endDate)
{
\DateTime $startDate,
\DateTime $endDate) {
return $date > $startDate && $date < $endDate;
}
/**
* Is datw within date interval
*
* @param \FlexiPeeHP\Digest\DateTime $date
* @param \AbraFlexi\Digest\DateTime $date
* @param \DateInterval $interval
*
* @return boolean
*/
public static function isDateWithinInterval(\DateTime $date,
\DatePeriod $interval)
{
\DatePeriod $interval) {
return self::isDateBetweenDates($date, $interval->getStartDate(),
$interval->getEndDate());
$interval->getEndDate());
}
/**
* Is date subject of digest ?
*
* @param \FlexiPeeHP\Digest\DateTime $date
* @param \AbraFlexi\Digest\DateTime $date
*
* @return boolean
*/
public function isMyDate(\DateTime $date)
{
public function isMyDate(\DateTime $date) {
switch (get_class($this->timeInterval)) {
case 'DatePeriod':
$result = self::isDateWithinInterval($date, $this->timeInterval);
break;
case 'DateTime':
$result = !date_diff($this->timeInterval,$date);
$result = !date_diff($this->timeInterval, $date);
break;
default:
@ -189,11 +180,10 @@ class DigestModule extends \Ease\Html\DivTag implements DigestModuleInterface
*
* @return \Ease\Html\DivTag
*/
public static function getTotalsDiv(array $totals)
{
public static function getTotalsDiv(array $totals) {
$total = new \Ease\Html\DivTag();
foreach ($totals as $currency => $amount) {
$total->addItem(new \Ease\Html\DivTag(self::formatCurrency($amount).'&nbsp;'.\FlexiPeeHP\FlexiBeeRO::uncode($currency)));
$total->addItem(new \Ease\Html\DivTag(self::formatCurrency($amount) . '&nbsp;' . \AbraFlexi\AbraFlexiRO::uncode($currency)));
}
return $total;
}
@ -203,12 +193,11 @@ class DigestModule extends \Ease\Html\DivTag implements DigestModuleInterface
*
* @param string $saveTo directory
*/
public function saveToHtml($saveTo)
{
$filename = $saveTo.$this->getReportFilename();
public function saveToHtml($saveTo) {
$filename = $saveTo . $this->getReportFilename();
$this->addStatusMessage(sprintf(_('Module output Saved to %s'),
$filename),
file_put_contents($filename, $this->getRendered()) ? 'success' : 'error');
$filename),
file_put_contents($filename, $this->getRendered()) ? 'success' : 'error');
}
/**
@ -216,27 +205,25 @@ class DigestModule extends \Ease\Html\DivTag implements DigestModuleInterface
*
* @param string $saveTo
*/
public function fileCleanUP($saveTo)
{
$filename = $saveTo.$this->getReportFilename();
public function fileCleanUP($saveTo) {
$filename = $saveTo . $this->getReportFilename();
if (file_exists($filename)) {
$this->addStatusMessage(sprintf(_('Module output %s wiped out'),
$filename), unlink($filename) ? 'success' : 'error');
$filename), unlink($filename) ? 'success' : 'error');
}
}
public function getReportFilename()
{
return pathinfo($_SERVER['SCRIPT_FILENAME'], PATHINFO_FILENAME).'_'.pathinfo(get_class($this),
PATHINFO_FILENAME).'.html';
public function getReportFilename() {
return pathinfo($_SERVER['SCRIPT_FILENAME'], PATHINFO_FILENAME) . '_' . pathinfo(get_class($this),
PATHINFO_FILENAME) . '.html';
}
/**
* Print progress log
*/
public function finalize()
{
public function finalize() {
$this->addStatusMessage($this->heading(), 'debug');
parent::finalize();
}
}

8
src/Digest/DigestModuleInterface.php

@ -1,19 +1,19 @@
<?php
/**
* FlexiBee Digest
* AbraFlexi Digest
*
* @author Vítězslav Dvořák <info@vitexsofware.cz>
* @copyright (G) 2017 Vitex Software
*/
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
/**
*
* @author vitex
*/
interface DigestModuleInterface
{
interface DigestModuleInterface {
public function heading();

21
src/Digest/Digestor.php

@ -1,13 +1,13 @@
<?php
/**
* FlexiBee Digest Engine
* AbraFlexi Digest Engine
*
* @author Vítězslav Dvořák <info@vitexsofware.cz>
* @copyright (G) 2018 Vitex Software
*/
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
/**
* Description of Digestor
@ -70,13 +70,13 @@ normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.pure-bu
*/
public function addHeading($subject) {
$this->addItem(new \Ease\Html\ATag('', '', ['name' => 'index']));
$this->addItem(new \FlexiPeeHP\ui\CompanyLogo(['align' => 'right', 'id' => 'companylogo',
$this->addItem(new \AbraFlexi\ui\CompanyLogo(['align' => 'right', 'id' => 'companylogo',
'height' => '50', 'title' => _('Company logo')]));
$this->addItem(new \Ease\Html\H1Tag($subject));
$prober = new \FlexiPeeHP\Company();
$prober->logBanner(' FlexiBee Digest ' . self::getAppVersion() . ' ' . $_SERVER['SCRIPT_FILENAME']);
$prober = new \AbraFlexi\Company();
$prober->logBanner(' AbraFlexi Digest ' . self::getAppVersion() . ' ' . $_SERVER['SCRIPT_FILENAME']);
$infoRaw = $prober->getFlexiData();
if (count($infoRaw) && !array_key_exists('success', $infoRaw)) {
if (!empty($infoRaw) && !array_key_exists('success', $infoRaw)) {
$info = \Ease\Functions::reindexArrayBy($infoRaw, 'dbNazev');
$myCompany = $prober->getCompany();
if (array_key_exists($myCompany, $info)) {
@ -86,10 +86,11 @@ normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.pure-bu
$return = new \Ease\Html\ATag($prober->getApiURL(),
_('Connection Problem'));
}
$this->addItem(new \Ease\Html\StrongTag($return,
['class' => 'companylink']));
}
$this->addItem(new \Ease\Html\StrongTag($return,
['class' => 'companylink']));
$this->topMenu = $this->addItem(new \Ease\Html\DivTag(null,
['class' => 'topmenu']));
}
@ -290,8 +291,8 @@ normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.pure-bu
$this->addItem(new \Ease\Html\ImgTag('data:image/svg+xml;base64,' . base64_encode(self::$logo),
'Logo', ['align' => 'right', 'width' => '50']));
$this->addItem(new \Ease\Html\SmallTag(new \Ease\Html\DivTag([_('Generated by'),
'&nbsp;', new \Ease\Html\ATag('https://github.com/VitexSoftware/FlexiBee-Digest',
_('FlexiBee Digest') . ' ' . _('version') . ' ' . self::getAppVersion())])));
'&nbsp;', new \Ease\Html\ATag('https://github.com/VitexSoftware/AbraFlexi-Digest',
_('AbraFlexi Digest') . ' ' . _('version') . ' ' . self::getAppVersion())])));
$this->addItem(new \Ease\Html\SmallTag(new \Ease\Html\DivTag([_('(G) 2018-2020'),
'&nbsp;', new \Ease\Html\ATag('https://www.vitexsoftware.cz/',

11
src/Digest/DocumentTable.php

@ -1,21 +1,22 @@
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
/**
* Description of DocumentTable
*
* @author Vítězslav Dvořák <info@vitexsoftware.cz>
*/
class DocumentTable extends Table
{
public function __construct($engine, $properties = array())
{
class DocumentTable extends Table {
public function __construct($engine, $properties = array()) {
parent::__construct([], $properties);
}
}

31
src/Digest/Mailer.php

@ -1,35 +1,33 @@
<?php
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
/**
* FlexiBee Digest Mailer
* AbraFlexi Digest Mailer
*
* @author Vítězslav Dvořák <info@vitexsofware.cz>
* @copyright (G) 2017 Vitex Software
*/
class Mailer extends \Ease\Mailer
{
class Mailer extends \Ease\Mailer {
/**
*
* @param string $subject
* @param \Ease\Container $moduleDir
*/
public function __construct($sendTo, $subject)
{
$shared = \Ease\Shared::instanced();
public function __construct($sendTo, $subject) {
$shared = \Ease\Shared::instanced();
$this->fromEmailAddress = $shared->getConfigValue('DIGEST_FROM');
parent::__construct($sendTo, $subject);
$this->htmlDocument = new \Ease\Html\HtmlTag(new \Ease\Html\SimpleHeadTag([
new \Ease\Html\TitleTag($this->emailSubject),
'<style>'.Digestor::$purecss.
Digestor::getCustomCss().
Digestor::getWebPageInlineCSS().
'</style>']));
new \Ease\Html\TitleTag($this->emailSubject),
'<style>' . Digestor::$purecss .
Digestor::getCustomCss() .
Digestor::getWebPageInlineCSS() .
'</style>']));
$this->htmlBody = $this->htmlDocument->addItem(new \Ease\Html\BodyTag());
$this->htmlBody = $this->htmlDocument->addItem(new \Ease\Html\BodyTag());
}
/**
@ -39,8 +37,7 @@ class Mailer extends \Ease\Mailer
*
* @return Ease\pointer|null ukazatel na vložený obsah
*/
public function &addItem($item, $pageItemName = null)
{
public function &addItem($item, $pageItemName = null) {
$mailBody = '';
if (is_object($item)) {
if (is_object($this->htmlDocument)) {
@ -60,8 +57,8 @@ class Mailer extends \Ease\Mailer
return $mailBody;
}
public function getCss()
{
public function getCss() {
}
}

10
src/Digest/Table.php

@ -1,19 +1,19 @@
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
/**
* Description of Table
*
* @author vitex
*/
class Table extends \Ease\Html\TableTag
{
class Table extends \Ease\Html\TableTag {
/**
* Digest Table
@ -21,10 +21,10 @@ class Table extends \Ease\Html\TableTag
* @param array $heading TH Columns
* @param array $properties
*/
public function __construct($thCols, $properties = array())
{
public function __construct($thCols, $properties = array()) {
parent::__construct(null, $properties);
$this->addRowHeaderColumns($thCols);
$this->addTagClass('pure-table');
}
}

19
src/Digest/VerticalChart.php

@ -1,14 +1,14 @@
<?php
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
/**
* Description of Vertical
*
* @author vitex
*/
class VerticalChart extends \Ease\Html\UlTag
{
class VerticalChart extends \Ease\Html\UlTag {
/**
*
* @var string
@ -20,15 +20,14 @@ class VerticalChart extends \Ease\Html\UlTag
* @param array $axis
* @param array $properties
*/
public function __construct($axis = [], $properties = array())
{
public function __construct($axis = [], $properties = array()) {
parent::__construct(null, $properties);
$this->addTagClass('chart');
if (!empty($axis)) {
$axisLi = new \Ease\Html\LiTag(null, ['class' => 'axis']);
foreach ($axis as $axe) {
$axisLi->addItem(new \Ease\Html\DivTag($axe,
['class' => 'label']));
['class' => 'label']));
}
$this->addItem($axisLi);
}
@ -42,16 +41,16 @@ class VerticalChart extends \Ease\Html\UlTag
* @param string $caption
* @param string $addClass
*/
public function addBar($percent, $amount, $caption, $addClass)
{
public function addBar($percent, $amount, $caption, $addClass) {
$bar = new \Ease\Html\LiTag(null,
['class' => 'bar '.$addClass, 'style' => 'height: '.$percent.'px;', 'title' => $caption]);
['class' => 'bar ' . $addClass, 'style' => 'height: ' . $percent . 'px;', 'title' => $caption]);
$bar->addItem(new \Ease\Html\DivTag([$percent, new \Ease\Html\SpanTag('%')],
['class' => 'percent']));
['class' => 'percent']));
$bar->addItem(new \Ease\Html\DivTag($caption, ['class' => 'skill']));
$this->addItem($bar);
}
}

11
src/flexibee-alltimedigest.php

@ -1,18 +1,19 @@
<?php
/**
* FlexiBee Digest - Yearly
* AbraFlexi Digest - Yearly
*
* @author Vítězslav Dvořák <info@vitexsofware.cz>
* @copyright (G) 2018 Vitex Software
*/
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
define('EASE_APPNAME', 'FlexiBeeAllTimeDigest');
define('EASE_APPNAME', 'AbraFlexiAllTimeDigest');
require_once __DIR__.'/init.php';
require_once __DIR__ . '/init.php';
$subject = sprintf(_('FlexiBee %s Alltime'), $myCompanyName);
$subject = sprintf(_('AbraFlexi %s Alltime'), $myCompanyName);
$digestor = new Digestor($subject);
$digestor->dig(null, [constant('MODULE_ALLTIME_PATH'), constant('MODULE_PATH')]);

13
src/flexibee-daydigest.php

@ -1,21 +1,22 @@
<?php
/**
* FlexiBee Digest - Dayly
* AbraFlexi Digest - Dayly
*
* @author Vítězslav Dvořák <info@vitexsofware.cz>
* @copyright (G) 2018 Vitex Software
*/
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
define('EASE_APPNAME', 'FlexiBeeDayDigest');
define('EASE_APPNAME', 'AbraFlexiDayDigest');
require_once __DIR__.'/init.php';
require_once __DIR__ . '/init.php';
$period = new \DateTime();
$subject = \sprintf(_('FlexiBee %s Daily digest for %s'), $myCompanyName,
\strftime('%x', $period->getTimestamp()));
$subject = \sprintf(_('AbraFlexi %s Daily digest for %s'), $myCompanyName,
\strftime('%x', $period->getTimestamp()));
$digestor = new Digestor($subject);
$digestor->dig($period, [constant('MODULE_DAILY_PATH'), constant('MODULE_PATH')]);

22
src/flexibee-monthdigest.php

@ -1,30 +1,30 @@
<?php
/**
* FlexiBee Digest - Monthly
* AbraFlexi Digest - Monthly
*
* @author Vítězslav Dvořák <info@vitexsofware.cz>
* @copyright (G) 2018 Vitex Software
*/
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
define('EASE_APPNAME', 'FlexiBeeMonthDigest');
define('EASE_APPNAME', 'AbraFlexiMonthDigest');
require_once __DIR__.'/init.php';
require_once __DIR__ . '/init.php';
$start = new \DateTime();
$start = new \DateTime();
$start->modify('-1 month');
$end = new \DateTime();
$end = new \DateTime();
$period = new \DatePeriod($start, new \DateInterval('P1D'), $end);
$subject = sprintf(
_('FlexiBee %s Monthly digest from %s to %s'), $myCompanyName,
\strftime('%x', $period->getStartDate()->getTimestamp()),
\strftime('%x', $period->getEndDate()->getTimestamp())
_('AbraFlexi %s Monthly digest from %s to %s'), $myCompanyName,
\strftime('%x', $period->getStartDate()->getTimestamp()),
\strftime('%x', $period->getEndDate()->getTimestamp())
);
$digestor = new Digestor($subject);
$digestor->dig($period,
[constant('MODULE_MONTHLY_PATH'), constant('MODULE_PATH')]);
[constant('MODULE_MONTHLY_PATH'), constant('MODULE_PATH')]);

22
src/flexibee-weekdigest.php

@ -1,29 +1,29 @@
<?php
/**
* FlexiBee Digest - Weekly
* AbraFlexi Digest - Weekly
*
* @author Vítězslav Dvořák <info@vitexsofware.cz>
* @copyright (G) 2018 Vitex Software
*/
namespace FlexiPeeHP\Digest;
define('EASE_APPNAME', 'FlexiBeeWeekDigest');
namespace AbraFlexi\Digest;
require_once __DIR__.'/init.php';
define('EASE_APPNAME', 'AbraFlexiWeekDigest');
require_once __DIR__ . '/init.php';
$start = new \DateTime();
$start = new \DateTime();
$start->modify('-1 week');
$end = new \DateTime();
$end = new \DateTime();
$period = new \DatePeriod($start, new \DateInterval('P1D'), $end);
$subject = sprintf(
_('FlexiBee %s Weekly digest from %s to %s'), $myCompanyName,
\strftime('%x', $period->getStartDate()->getTimestamp()),
\strftime('%x', $period->getEndDate()->getTimestamp())
_('AbraFlexi %s Weekly digest from %s to %s'), $myCompanyName,
\strftime('%x', $period->getStartDate()->getTimestamp()),
\strftime('%x', $period->getEndDate()->getTimestamp())
);
$digestor = new Digestor($subject);
$digestor->dig($period,
[constant('MODULE_WEEKLY_PATH'), constant('MODULE_PATH')]);
[constant('MODULE_WEEKLY_PATH'), constant('MODULE_PATH')]);

19
src/flexibee-yeardigest.php

@ -1,28 +1,29 @@
<?php
/**
* FlexiBee Digest - Yearly
* AbraFlexi Digest - Yearly
*
* @author Vítězslav Dvořák <info@vitexsofware.cz>
* @copyright (G) 2018 Vitex Software
*/
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
define('EASE_APPNAME', 'FlexiYearDigest');
require_once __DIR__.'/init.php';
require_once __DIR__ . '/init.php';
$start = new \DateTime();
$start = new \DateTime();
$start->modify('-1 year');
$end = new \DateTime();
$end = new \DateTime();
$period = new \DatePeriod($start, new \DateInterval('P1D'), $end);
$subject = sprintf(
_('FlexiBee %s Year digest from %s to %s'), $myCompanyName,
\strftime('%x', $period->getStartDate()->getTimestamp()),
\strftime('%x', $period->getEndDate()->getTimestamp())
_('AbraFlexi %s Year digest from %s to %s'), $myCompanyName,
\strftime('%x', $period->getStartDate()->getTimestamp()),
\strftime('%x', $period->getEndDate()->getTimestamp())
);
$digestor = new Digestor($subject);
$digestor->dig($period,
[constant('MODULE_YEARLY_PATH'), constant('MODULE_PATH')]);
[constant('MODULE_YEARLY_PATH'), constant('MODULE_PATH')]);

19
src/index.php

@ -1,21 +1,19 @@
<?php
/**
* FlexiBee Digest - Monthly
* AbraFlexi Digest - Monthly
*
* @author Vítězslav Dvořák <info@vitexsofware.cz>
* @copyright (G) 2018-2020 Vitex Software
*/
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
define('EASE_APPNAME', 'FlexiBee Digest');
define('EASE_APPNAME', 'AbraFlexi Digest');
require_once __DIR__ . '/init.php';
$oPage = new \Ease\TWB4\WebPage($myCompanyName . ' ' . _('FlexiBee digest'));
$oPage = new \Ease\TWB4\WebPage($myCompanyName . ' ' . _('AbraFlexi digest'));
$from = $oPage->getRequestValue('from');
$to = $oPage->getRequestValue('to');
@ -44,7 +42,7 @@ if ($oPage->isPosted()) {
$period = new \DatePeriod($start, new \DateInterval('P1D'), $end);
$subject = sprintf(
_('FlexiBee %s digest from %s to %s'), $myCompanyName,
_('AbraFlexi %s digest from %s to %s'), $myCompanyName,
\strftime('%x', $period->getStartDate()->getTimestamp()),
\strftime('%x', $period->getEndDate()->getTimestamp())
);
@ -76,12 +74,10 @@ $candidates[_('Monthly modules')] = Digestor::getModules(constant('MODULE_MONTHL
$candidates[_('Yearly modules')] = Digestor::getModules(constant('MODULE_YEARLY_PATH'));
$candidates[_('Alltime modules')] = Digestor::getModules(constant('MODULE_ALLTIME_PATH'));
$fromtoForm = new \Ease\TWB4\Form(['name' => 'fromto', 'class' => 'form-horizontal']);
$container = new \Ease\TWB4\Container(new \Ease\Html\H1Tag(new \Ease\Html\ATag($myCompany->getApiURL(),
$myCompanyName) . ' ' . _('FlexiBee digest')));
$myCompanyName) . ' ' . _('AbraFlexi digest')));
$formColumns = new \Ease\TWB4\Row();
$modulesCol = $formColumns->addColumn(6, new \Ease\Html\H2Tag(_('Modules')));
@ -148,7 +144,6 @@ $optionsCol->addItem(new \Ease\TWB4\LinkButton('#', _('Month'), 'inverse',
$optionsCol->addItem(new \Ease\TWB4\LinkButton('#', _('Year'), 'inverse',
['id' => 'lastyear']));
$optionsCol->addItem(new \Ease\TWB4\FormGroup(_('From'),
new \Ease\Html\InputDateTag('from', $from)));
@ -165,7 +160,6 @@ $optionsCol->addItem(new \Ease\TWB4\FormGroup(_('Send by mail to'),
new \Ease\Html\InputEmailTag('recipient',
$shared->getConfigValue('EASE_MAILTO'))));
$fromtoForm->addItem($formColumns);
$fromtoForm->addItem(new \Ease\TWB4\SubmitButton(_('Generate digest'),
'success btn-lg btn-block',
@ -174,7 +168,6 @@ $fromtoForm->addItem(new \Ease\TWB4\SubmitButton(_('Generate digest'),
$container->addItem($fromtoForm);
$oPage->addItem($container);
//$oPage->addItem(new \Ease\FuelUX\Loader("Preloader"));

8
src/init.php

@ -1,13 +1,13 @@
<?php
/**
* FlexiBee Digest - Dayly
* AbraFlexi Digest - Dayly
*
* @author Vítězslav Dvořák <info@vitexsofware.cz>
* @copyright (G) 2018-2020 Vitex Software
*/
namespace FlexiPeeHP\Digest;
namespace AbraFlexi\Digest;
define('MODULE_PATH', './modules');
define('MODULE_DAILY_PATH', './modules.daily');
@ -31,7 +31,7 @@ if (file_exists('../client.json')) {
if (file_exists('../digest.json')) {
$shared->loadConfig('../digest.json', true);
}
$localer = new \Ease\Locale('cs_CZ', '../i18n', 'flexibee-digest');
$localer = new \Ease\Locale('cs_CZ', '../i18n', 'abraflexi-digest');
$myCompany = new \FlexiPeeHP\Company($shared->getConfigValue('FLEXIBEE_COMPANY'));
$myCompany = new \AbraFlexi\Company($shared->getConfigValue('ABRAFLEXI_COMPANY'));
$myCompanyName = $myCompany->getDataValue('nazev');

25
src/modules.alltime/PurchasePriceLowerThanSales.php

@ -1,11 +1,12 @@
<?php
/**
* Purchase Price Lower Than Sales
*
* @author vitex
*/
class PurchasePriceLowerThanSales extends \FlexiPeeHP\Digest\DigestModule implements \FlexiPeeHP\Digest\DigestModuleInterface
{
class PurchasePriceLowerThanSales extends \AbraFlexi\Digest\DigestModule implements \AbraFlexi\Digest\DigestModuleInterface {
/**
* Which records we want to see ?
* @param array $condition
@ -15,11 +16,10 @@ class PurchasePriceLowerThanSales extends \FlexiPeeHP\Digest\DigestModule implem
/**
*
*/
public function dig()
{
$pricer = new \FlexiPeeHP\Cenik();
$productsRaw = $pricer->getColumnsFromFlexibee(['nazev', 'nakupCena', 'cenaZakl'],
$this->condition, 'kod');
public function dig() {
$pricer = new \AbraFlexi\Cenik();
$productsRaw = $pricer->getColumnsFromAbraFlexi(['nazev', 'nakupCena', 'cenaZakl'],
$this->condition, 'kod');
$products = [];
if (!empty($productsRaw)) {
@ -38,7 +38,7 @@ class PurchasePriceLowerThanSales extends \FlexiPeeHP\Digest\DigestModule implem
if (empty($products)) {
$this->addItem(_('none'));
} else {
$topProductsTable = new \FlexiPeeHP\Digest\Table([
$topProductsTable = new \AbraFlexi\Digest\Table([
_('Code'),
_('Name'),
_('Buy'),
@ -46,7 +46,6 @@ class PurchasePriceLowerThanSales extends \FlexiPeeHP\Digest\DigestModule implem
_('Difference')
]);
$products = \Ease\Functions::reindexArrayBy($products, 'provar');
krsort($products);
@ -60,7 +59,7 @@ class PurchasePriceLowerThanSales extends \FlexiPeeHP\Digest\DigestModule implem
$productInfo['nakupCena'],
$productInfo['cenaZakl'],
$productInfo['provar'],
]
]
);
}
@ -68,14 +67,14 @@ class PurchasePriceLowerThanSales extends \FlexiPeeHP\Digest\DigestModule implem
$this->addItem($topProductsTable);
$this->addItem(new \Ease\Html\DivTag(sprintf(_('%d disadvantageous products'),
count($products))));
count($products))));
return !empty($topProductsTable->getItemsCount());
}
}
public function heading()
{
public function heading() {
return _('Product purchase price lower than sales');
}
}

50
src/modules.monthly/DailyIncomeChart.php

@ -5,8 +5,8 @@
*
* @author vitex
*/
class DailyIncomeChart extends \FlexiPeeHP\Digest\DigestModule implements \FlexiPeeHP\Digest\DigestModuleInterface
{
class DailyIncomeChart extends \AbraFlexi\Digest\DigestModule implements \AbraFlexi\Digest\DigestModuleInterface {
public $timeColumn = 'datVyst';
/**
@ -26,7 +26,7 @@ class DailyIncomeChart extends \FlexiPeeHP\Digest\DigestModule implements \Flexi