init
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\AbstractFactory;
|
||||
|
||||
use Wt\Core\AbstractFactory\AAbstractFactory;
|
||||
use Bx\Discount\Factory\DiscountFactory;
|
||||
|
||||
class MainAbstractFactory extends AAbstractFactory
|
||||
{
|
||||
/**
|
||||
* @return DiscountFactory
|
||||
*/
|
||||
public function getDiscountFactory()
|
||||
{
|
||||
return $this->getFactoryInstance(DiscountFactory::class);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\Ajax;
|
||||
|
||||
use Wt\Core\Ajax\AAjaxHandler;
|
||||
|
||||
class BxDiscount extends AAjaxHandler
|
||||
{
|
||||
public function ajaxStart()
|
||||
{
|
||||
$this->getResponse()->addData(['method' => 'ajaxStart']);
|
||||
}
|
||||
|
||||
public function test()
|
||||
{
|
||||
$this->getResponse()->addData(['method' => 'test', 'version' => app()::getInstance('bx.discount')->module()->getVersion()]);
|
||||
return $this->getResponse();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\App;
|
||||
|
||||
use Bx\Discount\Facade\DefaultDefines;
|
||||
use Bx\Discount\Facade\Defines;
|
||||
use Bx\Discount\Facade\DefaultServiceFacade;
|
||||
use Bx\Discount\Facade\ServiceFacade;
|
||||
use Bx\Discount\Facade\DefaultFactoryFacade;
|
||||
use Bx\Discount\Facade\FactoryFacade;
|
||||
|
||||
class App extends \Wt\Core\App\App
|
||||
{
|
||||
protected $includeFileToInitPhp;
|
||||
|
||||
/**
|
||||
* @param string $factoryName
|
||||
* @return FactoryFacade | DefaultFactoryFacade
|
||||
*/
|
||||
public function factory($factoryName = '')
|
||||
{
|
||||
return parent::factory($factoryName);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $serviceName
|
||||
* @param array $args
|
||||
* @return ServiceFacade | DefaultServiceFacade
|
||||
*/
|
||||
public function service($serviceName = '', $args = [])
|
||||
{
|
||||
return parent::service($serviceName, $args);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Defines|DefaultDefines
|
||||
*/
|
||||
public function defines()
|
||||
{
|
||||
return parent::defines();
|
||||
}
|
||||
|
||||
public function isIncludeFileToInitPhp($value = null)
|
||||
{
|
||||
if(is_null($value)){
|
||||
return $this->includeFileToInitPhp;
|
||||
}
|
||||
$this->includeFileToInitPhp = $value;
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\Collection;
|
||||
|
||||
use Wt\Core\Collection\AEntityCollection;
|
||||
use Bx\Discount\Entity\DiscountEntity;
|
||||
|
||||
class DiscountCollection extends AEntityCollection
|
||||
{
|
||||
|
||||
/**
|
||||
* @param $xmlId
|
||||
* @return DiscountEntity
|
||||
* @deprecated
|
||||
*/
|
||||
public function &getByXmlId($xmlId)
|
||||
{
|
||||
return parent::getByXmlId($xmlId);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @param null $default
|
||||
* @return DiscountEntity|null
|
||||
*/
|
||||
public function &get($id, $default = null)
|
||||
{
|
||||
return parent::get($id, $default); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
/**
|
||||
* @return DiscountEntity
|
||||
*/
|
||||
public function &first(callable $callback = null, $default = null)
|
||||
{
|
||||
return parent::first($callback, $default); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
/**
|
||||
* @return DiscountEntity
|
||||
*/
|
||||
public function &last()
|
||||
{
|
||||
return parent::last(); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
/**
|
||||
* @return DiscountEntity
|
||||
*/
|
||||
public function shift()
|
||||
{
|
||||
return parent::shift(); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
/**
|
||||
* @return DiscountEntity
|
||||
*/
|
||||
public function pop()
|
||||
{
|
||||
return parent::pop(); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
/**
|
||||
* @return DiscountCollection|DiscountEntity[]
|
||||
*/
|
||||
public function filter($callback = null)
|
||||
{
|
||||
return parent::filter($callback); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
/**
|
||||
* @return DiscountEntity[]
|
||||
*/
|
||||
public function all()
|
||||
{
|
||||
return parent::all(); // TODO: Change the autogenerated stub
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\Entity;
|
||||
|
||||
use Bx\Discount\IFields\DiscountFields;
|
||||
use Bx\Discount\Factory\DiscountFactory;
|
||||
use Wt\Core\Entity\AEntity;
|
||||
|
||||
class DiscountEntity extends AEntity
|
||||
{
|
||||
/**
|
||||
* @return DiscountFactory
|
||||
*/
|
||||
public function getFactory()
|
||||
{
|
||||
return parent::getFactory(); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
/**
|
||||
* @return DiscountFields
|
||||
*/
|
||||
public function fields()
|
||||
{
|
||||
return parent::fields();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\Facade;
|
||||
|
||||
use Wt\Core\App\ADefines;
|
||||
|
||||
class DefaultDefines extends ADefines
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\Facade;
|
||||
|
||||
use Bx\Discount\AbstractFactory\MainAbstractFactory;
|
||||
use Wt\Core\Facade\AFacade;
|
||||
|
||||
class DefaultFactoryFacade extends AFacade
|
||||
{
|
||||
|
||||
/**
|
||||
* @return MainAbstractFactory
|
||||
*/
|
||||
public function main()
|
||||
{
|
||||
return $this->app->container()->make($this->app->module()->getId().':mainAbstractFactory');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\Facade;
|
||||
|
||||
use Wt\Core\Facade\AFacade;
|
||||
|
||||
class DefaultServiceFacade extends AFacade
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\Factory;
|
||||
|
||||
use Bx\Discount\Collection\DiscountCollection;
|
||||
use Bx\Discount\Entity\DiscountEntity;
|
||||
use Bx\Discount\ORM\DiscountTable;
|
||||
use Wt\Core\Factory\AFactory;
|
||||
use Wt\Core\Factory\AORMFactory;
|
||||
|
||||
class DiscountFactory extends AORMFactory
|
||||
{
|
||||
|
||||
/**
|
||||
* @return string|DiscountTable
|
||||
*/
|
||||
protected function __getDataManagerClass()
|
||||
{
|
||||
return DiscountTable::class;
|
||||
}
|
||||
|
||||
public function __getEntityClass()
|
||||
{
|
||||
return DiscountEntity::class;
|
||||
}
|
||||
|
||||
public function __getCachePrefix()
|
||||
{
|
||||
return 'bx_discount';
|
||||
}
|
||||
|
||||
public function __getCollectionClass()
|
||||
{
|
||||
return DiscountCollection::class;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @return DiscountEntity
|
||||
*/
|
||||
public function getEntityById($id)
|
||||
{
|
||||
return parent::getEntityById($id);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $filter
|
||||
* @param array $order
|
||||
* @param array $select
|
||||
* @param null $limit
|
||||
* @param null $offset
|
||||
* @return DiscountCollection|DiscountEntity[]
|
||||
*/
|
||||
public function getCollection($filter = [], $order = [], $select = [], $limit = null, $offset = null)
|
||||
{
|
||||
return parent::getCollection($filter, $order, $select, $limit, $offset); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $arIds
|
||||
* @return DiscountCollection|DiscountEntity[]
|
||||
*/
|
||||
public function getEntityByIds(array $arIds)
|
||||
{
|
||||
return parent::getEntityByIds($arIds); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
/**
|
||||
* @return DiscountTable
|
||||
*/
|
||||
public function getDataManager()
|
||||
{
|
||||
return parent::getDataManager();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\Handlers;
|
||||
|
||||
class Autoloader
|
||||
{
|
||||
public static function onPageStart(){}
|
||||
public static function onBeforeProlog(){}
|
||||
public static function onProlog(){}
|
||||
public static function onEpilog(){}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\IFields;
|
||||
|
||||
use Wt\Core\Interfaces\IFields;
|
||||
|
||||
class DiscountFields implements IFields
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\Interfaces;
|
||||
|
||||
class ITest
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\ORM;
|
||||
|
||||
use Bitrix\Main\ORM\Fields\DatetimeField;
|
||||
use Bitrix\Main\Type\DateTime;
|
||||
use Exception;
|
||||
use Wt\Core\ORM\ADataManager;
|
||||
|
||||
class DiscountTable extends ADataManager
|
||||
{
|
||||
|
||||
public static function getTitle()
|
||||
{
|
||||
return 'Discount Title';
|
||||
}
|
||||
|
||||
public static function getRowTitle()
|
||||
{
|
||||
return 'Discount Row Title';
|
||||
}
|
||||
|
||||
public static function getRowDescription()
|
||||
{
|
||||
return 'Discount Row Description';
|
||||
}
|
||||
|
||||
public static function getTableName()
|
||||
{
|
||||
return 'bx_discount_table';
|
||||
}
|
||||
|
||||
public static function getMap()
|
||||
{
|
||||
return [
|
||||
'ID' => new \Bitrix\Main\Entity\IntegerField('ID', [
|
||||
'primary' => true,
|
||||
'autocomplete' => true,
|
||||
'title' => 'Id',
|
||||
]),
|
||||
'CREATED_AT' => new \Bitrix\Main\Entity\DatetimeField('CREATED_AT', [
|
||||
'title' => 'CreatedAt',
|
||||
'user_edit' => false,
|
||||
]),
|
||||
'UPDATED_AT' => new \Bitrix\Main\Entity\DatetimeField('UPDATED_AT', [
|
||||
'title' => 'UpdatedAt',
|
||||
'user_edit' => false,
|
||||
]),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $primary
|
||||
* @param array $data
|
||||
* @return \Bitrix\Main\ORM\Data\UpdateResult
|
||||
* @throws \Bitrix\Main\ObjectException
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function update($primary, array $data)
|
||||
{
|
||||
foreach (static::getEntity()->getFields() as $field){
|
||||
if(is_a($field, DatetimeField::class)){
|
||||
if(isset($data[$field->getName()]) && !is_a($data[$field->getName()], DateTime::class)) {
|
||||
$data[$field->getName()] = new \Bitrix\Main\Type\DateTime($data[$field->getName()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$data = array_merge($data, [
|
||||
'UPDATED_AT' => new \Bitrix\Main\Type\DateTime(), // date(CDatabase::DateFormatToPHP(FORMAT_DATETIME))
|
||||
]);
|
||||
unset($data['CREATED_AT']);
|
||||
|
||||
return parent::update($primary, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $fields
|
||||
* @return \Bitrix\Main\ORM\Data\AddResult
|
||||
* @throws \Bitrix\Main\ObjectException
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function add(array $fields)
|
||||
{
|
||||
$fields = array_merge($fields, [
|
||||
'CREATED_AT' => new \Bitrix\Main\Type\DateTime(),
|
||||
'UPDATED_AT' => new \Bitrix\Main\Type\DateTime(),
|
||||
]);
|
||||
|
||||
return parent::add($fields);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\Providers;
|
||||
|
||||
use Bx\Discount\AbstractFactory\MainAbstractFactory;
|
||||
use Wt\Core\Interfaces\IApp;
|
||||
use Wt\Core\Interfaces\IServiceProvider;
|
||||
|
||||
class DefaultFactoryProvider implements IServiceProvider
|
||||
{
|
||||
public function register(IApp $app)
|
||||
{
|
||||
$config = $app->config();
|
||||
$serviceContainer = $app->container();
|
||||
|
||||
/**
|
||||
* @var MainAbstractFactory $mainAbstractFactory
|
||||
*/
|
||||
$mainAbstractFactory = $serviceContainer->make(MainAbstractFactory::class, [$config->get('MainAbstractFactory', [])]);
|
||||
$serviceContainer->singleton($app->module()->getId().':mainAbstractFactory', $mainAbstractFactory);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace Bx\Discount\Providers;
|
||||
|
||||
use Wt\Core\Interfaces\IApp;
|
||||
use Wt\Core\Providers\ADefaultServiceProvider;
|
||||
|
||||
class DefaultServiceProvider extends ADefaultServiceProvider
|
||||
{
|
||||
|
||||
public function register(IApp $app)
|
||||
{
|
||||
parent::register($app);
|
||||
|
||||
$container = $this->app->container();
|
||||
$config = $this->app->config();
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user