This commit is contained in:
2023-04-13 17:03:50 +03:00
commit 4c78e1c77a
27 changed files with 592 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
.env
src/config.php
*_config.php
!default_config.php
src/Defines.php
src/*Defines.php
src/*Facade.php
!*.example
!.example
+9
View File
@@ -0,0 +1,9 @@
{
"id": "bx.null",
"prefix": "bx_null",
"namespace": "Bx\\Null",
"gitUrl": "https://bitbucket.org/bellord13/bx.null/",
"version": "1.0.0",
"date": "2023-04-13 00:00:00",
"deps": ["wt.core"]
}
+23
View File
@@ -0,0 +1,23 @@
<?php
IncludeModuleLangFile(__FILE__);
return array(
'MAIN' => array(
'TITLE' => GetMessage('MAIN_OPTIONS_PARAMETERS'),
'THEME' => 'Y',
'OPTIONS' => array(
),
),
'TEST' => array(
'TITLE' => 'test',
'OPTIONS' => array(
'TEST' => array(
'TITLE' => 'test_setting',
'TYPE' => 'text',
'DEFAULT' => '',
),
),
),
);
+9
View File
@@ -0,0 +1,9 @@
<?php
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_before.php');
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_after.php');
$adminPage = new \Wt\Core\Admin\SiteSettingsAdminPage('bx.null', 'main');
$adminPage->render();
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin.php');
+5
View File
@@ -0,0 +1,5 @@
<?
$MESS['MAIN_OPTIONS_PARAMETERS'] = 'Общие';
$MESS['LOGO_IMAGE'] = 'Логотип сайта';
$MESS['CACHE_OPTIONS'] = 'Кеш';
$MESS['CACHE_STORAGE'] = 'Место хранения кеша';
+11
View File
@@ -0,0 +1,11 @@
<?php
use \Bitrix\Main\Localization\Loc;
use Wt\Core\Admin\GlobalMenuItem;
Loc::loadMessages(__FILE__);
return (new GlobalMenuItem())
->setSort(10)
->setTitle('Cml для 1С');
+30
View File
@@ -0,0 +1,30 @@
<?php
use Wt\Core\Admin\SiteSettingsAdminPage;
IncludeModuleLangFile(__FILE__);
/**
* @var $this SiteSettingsAdminPage
*/
return array(
'MAIN' => array(
'TITLE' => 'Общие сведения',
'OPTIONS' => array(
),
),
'DOCS' => array(
'TITLE' => 'Docs',
'OPTIONS' => array(
'DOCUMENTATION' => array(
'TITLE' => 'Documentation',
'TYPE' => 'content',
'INCLUDEFILE' => \Wt\Core\Tools::removeDocRoot(__DIR__ . '/include/documentation.php'),
'SHOW_EDIT_BUTTON' => 'Y',
'DEFAULT' => '',
),
),
),
);
@@ -0,0 +1 @@
Документация
+18
View File
@@ -0,0 +1,18 @@
<?php
use Wt\Core\Admin\TableAdminPage;
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_before.php');
CJSCore::Init('jquery');
CAjax::Init();
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
$adminPage = new \Wt\Core\Admin\SiteSettingsAdminPage('bx.null', 'main.item1');
$adminPage->render();
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin.php');
@@ -0,0 +1,2 @@
<?
$MESS['CONTEXT_PROFILE_DELETE_CONFIRM'] = 'Удалить %s?';
+11
View File
@@ -0,0 +1,11 @@
<?php
use \Bitrix\Main\Localization\Loc;
use Wt\Core\Admin\GlobalMenuItem;
Loc::loadMessages(__FILE__);
return (new GlobalMenuItem())
->setSort(5)
->setTitle('Создание CML')
->setUrl();
+5
View File
@@ -0,0 +1,5 @@
<?php
return [
];
+12
View File
@@ -0,0 +1,12 @@
<?php
use Bx\Null\App\App;
/**
* @return App
* @throws null
*/
function bxNull() {
$app = App::getInstance('bx.null');
return $app;
}
+9
View File
@@ -0,0 +1,9 @@
<?php
if(!\Bitrix\Main\Loader::includeModule('wt.core')){
throw new Exception('Module wt.core not include!');
}
include 'functions/app.php';
\Wt\Core\App\AppLoader::load(\Wt\Core\App\App::make(__getModuleEntity(__DIR__), app()->container()));
+94
View File
@@ -0,0 +1,94 @@
<?
use Bitrix\Main\EventManager;
IncludeModuleLangFile(__FILE__);
class bx_null extends \CModule
{
public $sys = [];
var $MODULE_GROUP_RIGHTS = 'Y';
function __construct()
{
$module = [];
if(file_exists(__DIR__.'/../.module.json')){
$module = json_decode(file_get_contents(__DIR__.'/../.module.json'), true);
}
$this->sys = $module;
$this->MODULE_ID = $module['id'];
$this->MODULE_VERSION = $module['version'];
$this->MODULE_VERSION_DATE = $module['date'];
$langPrefix = strtoupper($module['prefix']);
$this->PARTNER_NAME = GetMessage("{$langPrefix}_PARTNER_NAME");
$this->PARTNER_URI = GetMessage("{$langPrefix}_PARTNER_URI");
$this->MODULE_NAME = GetMessage("{$langPrefix}_MODULE_NAME");
$this->MODULE_DESCRIPTION = GetMessage("{$langPrefix}_MODULE_DESCRIPTION");
}
function DoInstall()
{
global $DOCUMENT_ROOT, $APPLICATION;
if(is_array($this->sys['deps'])){
foreach ($this->sys['deps'] as $moduleId){
if (!\Bitrix\Main\Loader::includeModule($moduleId)) {
$APPLICATION->ThrowException("Module {$moduleId} not installed!");
return false;
}
}
}
if (!CheckVersion(PHP_VERSION, "5.4.0")) {
$APPLICATION->ThrowException('Php version required more 5.4.0');
return false;
}
RegisterModule($this->MODULE_ID);
RegisterModuleDependences("main", "OnPageStart", $this->MODULE_ID);
$this->InstallEvents();
$this->InstallCatalogExport();
return true;
}
function DoUninstall()
{
global $DOCUMENT_ROOT, $APPLICATION;
UnRegisterModule($this->MODULE_ID);
UnRegisterModuleDependences("main", "OnPageStart", $this->MODULE_ID, "", "");
$this->UnInstallEvents();
$this->UnInstallCatalogExport();
return true;
}
function InstallCatalogExport()
{
if(is_dir(__DIR__."/catalog_export") && \Bitrix\Main\Loader::includeModule('catalog')){
CopyDirFiles(__DIR__."/catalog_export", $_SERVER["DOCUMENT_ROOT"].CATALOG_PATH2EXPORTS, true, true);
}
return true;
}
function UnInstallCatalogExport()
{
return true;
}
function InstallEvents()
{
return true;
}
function UnInstallEvents()
{
return true;
}
}
+7
View File
@@ -0,0 +1,7 @@
<?
$MESS ['BX_NULL_PARTNER_NAME'] = "CoreLion";
$MESS ['BX_NULL_PARTNER_URI'] = "https://corelion.ru/";
$MESS ['BX_NULL_MODULE_NAME'] = "Создание CML";
$MESS ['BX_NULL_MODULE_DESCRIPTION'] = "Работа с форматом CML";
$MESS ['BX_NULL_INSTALL_MODULE'] = "Установка модуля";
$MESS ['BX_NULL_DELETE_MODULE'] = "Деинсталляция модуля";
+21
View File
@@ -0,0 +1,21 @@
<?php
namespace Bx\Null\Ajax;
use Wt\Core\Ajax\AAjaxHandler;
class BxNull extends AAjaxHandler
{
public function ajaxStart()
{
$this->getResponse()->addData(['method' => 'ajaxStart']);
}
public function test()
{
$this->getResponse()->addData(['method' => 'test', 'version' => bxNull()->module()->getVersion()]);
return $this->getResponse();
}
}
+42
View File
@@ -0,0 +1,42 @@
<?php
namespace Bx\Null\App;
use Bx\Null\Facade\DefaultDefines;
use Bx\Null\Facade\Defines;
use Bx\Null\Facade\DefaultServiceFacade;
use Bx\Null\Facade\ServiceFacade;
use Bx\Null\Facade\DefaultFactoryFacade;
use Bx\Null\Facade\FactoryFacade;
class App extends \Wt\Core\App\App
{
/**
* @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();
}
}
+63
View File
@@ -0,0 +1,63 @@
<?php
namespace Bx\Null\Collection;
use Wt\Core\Collection\AEntityCollection;
use Bx\Null\Entity\NullEntity;
class NullCollection extends AEntityCollection
{
/**
* @param $xmlId
* @return NullEntity
*/
public function &getByXmlId($xmlId)
{
return parent::getByXmlId($xmlId);
}
/**
* @param $id
* @param null $default
* @return NullEntity|null
*/
public function &get($id, $default = null)
{
return parent::get($id, $default); // TODO: Change the autogenerated stub
}
/**
* @return NullEntity
*/
public function &first()
{
return parent::first(); // TODO: Change the autogenerated stub
}
/**
* @return NullEntity
*/
public function &last()
{
return parent::last(); // TODO: Change the autogenerated stub
}
/**
* @return NullEntity
*/
public function shift()
{
return parent::shift(); // TODO: Change the autogenerated stub
}
/**
* @return NullEntity
*/
public function pop()
{
return parent::pop(); // TODO: Change the autogenerated stub
}
}
+19
View File
@@ -0,0 +1,19 @@
<?php
namespace Bx\Null\Entity;
use Bx\Null\IFields\NullFields;
use Wt\Core\Supports\Entity;
class NullEntity extends Entity
{
/**
* @return NullFields
*/
public function fields()
{
return parent::fields();
}
}
+12
View File
@@ -0,0 +1,12 @@
<?php
namespace Bx\Null\Facade;
use Wt\Core\App\ADefines;
class DefaultDefines extends ADefines
{
}
+20
View File
@@ -0,0 +1,20 @@
<?php
namespace Bx\Null\Facade;
use Wt\Core\Interfaces\IApp;
class DefaultFactoryFacade
{
/**
* @var IApp
*/
protected $app;
public function __construct(IApp $app)
{
$this->app = $app;
}
}
+12
View File
@@ -0,0 +1,12 @@
<?php
namespace Bx\Null\Facade;
use Wt\Core\Facade\AFacade;
class DefaultServiceFacade extends AFacade
{
}
+64
View File
@@ -0,0 +1,64 @@
<?php
namespace Bx\Null\Factory;
use Bx\Null\Collection\NullCollection;
use Bx\Null\Entity\NullEntity;
use Bx\Null\ORM\NullTable;
use Wt\Core\Factory\AFactory;
use Wt\Core\Factory\AORMFactory;
class NullFactory extends AORMFactory
{
/**
* @return string|NullTable
*/
protected function __getDataManagerClass()
{
return NullTable::class;
}
public function __getEntityClass()
{
return NullEntity::class;
}
public function __getCachePrefix()
{
return 'bx_null';
}
/**
* @param $id
* @return NullEntity
*/
public function getEntityById($id)
{
$res = $this->getList(['=ID' => $id]);
if( $res ){
return $this->getEntityByResult(reset($res));
}
return null;
}
/**
* @param array $arIds
* @return NullCollection
*/
public function getEntityByIds(array $arIds)
{
return parent::getEntityByIds($arIds); // TODO: Change the autogenerated stub
}
/**
* @return NullTable
*/
public function getDataManager()
{
return parent::getDataManager();
}
}
+12
View File
@@ -0,0 +1,12 @@
<?php
namespace Bx\Null\IFields;
use Wt\Core\Interfaces\IFields;
class NullFields implements IFields
{
}
+51
View File
@@ -0,0 +1,51 @@
<?php
namespace Bx\Null\ORM;
use Wt\Core\ORM\ADataManager;
class NullTable extends ADataManager
{
public static function getTitle()
{
return 'Null Title';
}
public static function getRowTitle()
{
return 'Null Row Title';
}
public static function getRowDescription()
{
return 'Null Row Description';
}
public static function getTableName()
{
return 'bx_null_table';
}
public static function getMap()
{
return array(
'ID' => array(
'data_type' => 'integer',
'primary' => true,
'autocomplete' => true,
'title' => 'ID',
),
'CREATED_AT' => array(
'data_type' => 'datetime',
'title' => 'CREATED_AT',
),
'UPDATED_AT' => array(
'data_type' => 'datetime',
'title' => 'UPDATED_AT',
),
);
}
}
+21
View File
@@ -0,0 +1,21 @@
<?php
namespace Bx\Null\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();
}
}