From d8b103fe332801654453acb70c180da3e61be512 Mon Sep 17 00:00:00 2001 From: bellord13 Date: Sun, 7 Jul 2024 12:39:20 +0300 Subject: [PATCH] fix --- .module.json | 6 +- admin/main/index.php | 2 +- admin/main/lang/ru/config.php | 5 +- admin/main/menu.php | 2 +- admin/main/submenu/null_table/index.php | 8 +-- admin/main/submenu/null_table/menu.php | 3 +- .../submenu/null_table/submenu/row/index.php | 8 +-- .../submenu/null_table/submenu/row/menu.php | 2 +- admin/main/submenu/settings/index.php | 2 +- clone.php | 55 +++++++++++++++---- default_config.php | 2 +- functions/app.php | 6 +- install/index.php | 2 +- lang/ru/install/index.php | 8 +-- lib/abstractfactory/mainabstractfactory.php | 10 ++-- lib/ajax/{bxnull.php => bxnullable.php} | 6 +- lib/app/app.php | 14 ++--- ...lcollection.php => nullablecollection.php} | 24 ++++---- lib/entity/nullableentity.php | 19 +++++++ lib/entity/nullentity.php | 20 ------- lib/facade/defaultdefines.php | 2 +- lib/facade/defaultfactoryfacade.php | 4 +- lib/facade/defaultservicefacade.php | 2 +- ...nullormfactory.php => nullablefactory.php} | 28 +++++----- lib/ifields/nullablefields.php | 12 ++++ lib/ifields/nullfields.php | 12 ---- lib/orm/{nulltable.php => nullabletable.php} | 12 ++-- lib/providers/defaultfactoryprovider.php | 6 +- lib/providers/defaultserviceprovider.php | 2 +- 29 files changed, 156 insertions(+), 128 deletions(-) rename lib/ajax/{bxnull.php => bxnullable.php} (68%) rename lib/collection/{nullcollection.php => nullablecollection.php} (64%) create mode 100644 lib/entity/nullableentity.php delete mode 100644 lib/entity/nullentity.php rename lib/factory/{nullormfactory.php => nullablefactory.php} (67%) create mode 100644 lib/ifields/nullablefields.php delete mode 100644 lib/ifields/nullfields.php rename lib/orm/{nulltable.php => nullabletable.php} (91%) diff --git a/.module.json b/.module.json index af3e7f7..779049a 100644 --- a/.module.json +++ b/.module.json @@ -1,7 +1,7 @@ { - "id": "bx.null", - "prefix": "bx_null", - "namespace": "Bx\\Null", + "id": "bx.nullable", + "prefix": "bx_nullable", + "namespace": "Bx\\Nullable", "gitUrl": "https://bitbucket.org/bellord13/bx.null/", "version": "1.0.0", "date": "2024-01-01 00:00:00", diff --git a/admin/main/index.php b/admin/main/index.php index 93dc155..b4b6bd6 100644 --- a/admin/main/index.php +++ b/admin/main/index.php @@ -3,7 +3,7 @@ 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 = new \Wt\Core\Admin\SiteSettingsAdminPage('bx.nullable', 'main'); $adminPage->render(); require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin.php'); \ No newline at end of file diff --git a/admin/main/lang/ru/config.php b/admin/main/lang/ru/config.php index 871f3bf..a9f0ebd 100644 --- a/admin/main/lang/ru/config.php +++ b/admin/main/lang/ru/config.php @@ -1,5 +1,2 @@ setSort(10) - ->setTitle('Null Main'); \ No newline at end of file + ->setTitle('Nullable Main'); \ No newline at end of file diff --git a/admin/main/submenu/null_table/index.php b/admin/main/submenu/null_table/index.php index 73228a9..741a2d3 100644 --- a/admin/main/submenu/null_table/index.php +++ b/admin/main/submenu/null_table/index.php @@ -1,17 +1,17 @@ checkPermission() ->start() diff --git a/admin/main/submenu/null_table/menu.php b/admin/main/submenu/null_table/menu.php index a50bda3..e787d08 100644 --- a/admin/main/submenu/null_table/menu.php +++ b/admin/main/submenu/null_table/menu.php @@ -7,7 +7,8 @@ Loc::loadMessages(__FILE__); return (new GlobalMenuItem()) + ->setVisible(false) ->setSort(1300) - ->setTitle('Null Table') + ->setTitle('Nullable Table') ->setIcon('iblock_menu_icon_iblocks') ->setUrl(); \ No newline at end of file diff --git a/admin/main/submenu/null_table/submenu/row/index.php b/admin/main/submenu/null_table/submenu/row/index.php index 8e2a48b..77caa45 100644 --- a/admin/main/submenu/null_table/submenu/row/index.php +++ b/admin/main/submenu/null_table/submenu/row/index.php @@ -1,17 +1,17 @@ checkPermission(); $AdminPageTableRow->start(); diff --git a/admin/main/submenu/null_table/submenu/row/menu.php b/admin/main/submenu/null_table/submenu/row/menu.php index 9d8826a..fd4a98f 100644 --- a/admin/main/submenu/null_table/submenu/row/menu.php +++ b/admin/main/submenu/null_table/submenu/row/menu.php @@ -7,7 +7,7 @@ Loc::loadMessages(__FILE__); return (new GlobalMenuItem()) ->setSort(1400) - ->setTitle('Null Table Row') + ->setTitle('Nullable Table Row') ->setIcon('default_menu_icon') ->setVisible(false) ->setUrl(); \ No newline at end of file diff --git a/admin/main/submenu/settings/index.php b/admin/main/submenu/settings/index.php index db24d9b..d3a81c9 100644 --- a/admin/main/submenu/settings/index.php +++ b/admin/main/submenu/settings/index.php @@ -12,7 +12,7 @@ CAjax::Init(); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); -$adminPage = new \Wt\Core\Admin\SiteSettingsAdminPage('bx.null', 'main.settings'); +$adminPage = new \Wt\Core\Admin\SiteSettingsAdminPage('bx.nullable', 'main.settings'); $adminPage->render(); require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin.php'); \ No newline at end of file diff --git a/clone.php b/clone.php index 1edc679..4247e7c 100644 --- a/clone.php +++ b/clone.php @@ -1,32 +1,37 @@ read() ) ) { if ( $entry != '.' && $entry != '..' ) - copy_folder( "$d1/$entry", "$d2/$entry", $upd, $force ); + copy_folder_safe( "$d1/$entry", "$d2/$entry", $upd, $force, $exclude); } $d->close(); } else { $ok = copy_safe( $d1, $d2, $upd ); - $ok = ($ok) ? "ok-- " : " -- "; - fs_log("{$ok}$d1"); } -} //function copy_folder +} function mkdir_safe( $dir, $force ) { if (file_exists($dir)) { @@ -35,7 +40,7 @@ function mkdir_safe( $dir, $force ) { unlink($dir); } return (mkdir($dir, 0777, true)) ? $dir : false; -} //function mkdir_safe +} function copy_safe ($f1, $f2, $upd) { $time1 = filemtime($f1); @@ -46,18 +51,44 @@ function copy_safe ($f1, $f2, $upd) { $ok = copy($f1, $f2); if ($ok) touch($f2, $time1); return $ok; -} //function copy_safe +} function fs_log($str) { return; - $log = fopen("./fs_log.txt", "a"); - $time = date("Y-m-d H:i:s"); + $log = fopen('./fs_log.txt', 'a'); + $time = date('Y-m-d H:i:s'); fwrite($log, "$str ($time)\n"); fclose($log); } +function _fix($newPath, ModuleEntity $newEntity, ModuleEntity $nullableEntity){ + $d = new RecursiveDirectoryIterator( $newPath ); + foreach( new RecursiveIteratorIterator( $d, 1 ) as $path ){ + if( is_file( $path ) && str_ends_with($path, '.php')){ + $orig_file = file_get_contents($path); + + $new_file = $orig_file; + $cr = 0; + $new_file = str_replace($nullableEntity->getLangPrefix(), $newEntity->getLangPrefix(), $new_file, $cr); + $new_file = str_replace($nullableEntity->fields()->id, $newEntity->fields()->id, $new_file, $cr); + $new_file = str_replace($nullableEntity->fields()->prefix, $newEntity->fields()->prefix, $new_file, $cr); + $new_file = str_replace($nullableEntity->getNamespace(), $newEntity->getNamespace(), $new_file, $cr); + + echo $cr . ' ' .$path . PHP_EOL; + + if($orig_file != $new_file){ + file_put_contents($path, $new_file); + } + } + } +} echo $newEntity->getId() . PHP_EOL; -copy_folder($nullEntity->getDir(), $newEntity->getDir()); +copy_folder_safe($nullableEntity->getPath(), $newEntity->getPath(), true, true, [ + '.git', + 'clone.php', + '.module.json', +]); +_fix($newPath, $newEntity, $nullableEntity); diff --git a/default_config.php b/default_config.php index 277576b..f1251c3 100644 --- a/default_config.php +++ b/default_config.php @@ -2,6 +2,6 @@ return [ 'MainAbstractFactory' => [ - 'Bx\Null\Factory\NullFactory' => ['cache' => ['hit'], 'is_collection_query' => true], + 'Bx\Nullable\Factory\NullableFactory' => ['cache' => ['hit'], 'is_collection_query' => true], ], ]; \ No newline at end of file diff --git a/functions/app.php b/functions/app.php index f4d2119..2680f25 100644 --- a/functions/app.php +++ b/functions/app.php @@ -1,12 +1,12 @@ getFactoryInstance(NullFactory::class); + return $this->getFactoryInstance(NullableFactory::class); } } \ No newline at end of file diff --git a/lib/ajax/bxnull.php b/lib/ajax/bxnullable.php similarity index 68% rename from lib/ajax/bxnull.php rename to lib/ajax/bxnullable.php index 68d44c1..004ae4e 100644 --- a/lib/ajax/bxnull.php +++ b/lib/ajax/bxnullable.php @@ -1,12 +1,12 @@ getResponse()->addData(['method' => 'test', 'version' => nullApp()->module()->getVersion()]); + $this->getResponse()->addData(['method' => 'test', 'version' => app()::getInstance('bx.nullable')->module()->getVersion()]); return $this->getResponse(); } } \ No newline at end of file diff --git a/lib/app/app.php b/lib/app/app.php index d65e340..d5a7262 100644 --- a/lib/app/app.php +++ b/lib/app/app.php @@ -1,15 +1,15 @@ container(); /** - * @var $mainAbstractFactory MainAbstractFactory + * @var MainAbstractFactory $mainAbstractFactory */ $mainAbstractFactory = $serviceContainer->make(MainAbstractFactory::class, [$config->get('MainAbstractFactory', [])]); $serviceContainer->singleton($app->module()->getId().':mainAbstractFactory', $mainAbstractFactory); diff --git a/lib/providers/defaultserviceprovider.php b/lib/providers/defaultserviceprovider.php index a6a2fc9..8cc680a 100644 --- a/lib/providers/defaultserviceprovider.php +++ b/lib/providers/defaultserviceprovider.php @@ -1,7 +1,7 @@