diff --git a/README.md b/README.md
index f8c2f50..4ebeb04 100755
--- a/README.md
+++ b/README.md
@@ -1,17 +1,43 @@
-## 🚧 Altsys module was merged into XCL branch module/altsys !
-https://github.com/xoopscube/xcl/tree/module/altsys
+[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/2.0.0/active.svg)](https://github.com/xoopscube/xcl)
+![License GPL](https://img.shields.io/badge/License-GPL-green)
+![License GPL](https://img.shields.io/badge/X--Update%20Store-Pending-red)
-## ⚠️ This repository is planned to be archived !
+## ///// — AltSys UI Common Library
+
+![alt text](https://repository-images.githubusercontent.com/8041517/16f372e9-91e2-4ff8-8d79-ccbb6b2ad0d9)
+
+
+MODULE | ALTSYS
+------------ | -------------
+Description | UI Common Library to create and manage Modules Blocks, Templates, Localization
+Render Engine | Smarty v2 and XCube Layout
+Version | 2.3.1
+Author | Original by GiJoe ( peak.ne.jp )
+Author | Update by Nuno Luciano (aka Gigamaster)
+Copyright | 2005-2022 Authors
+License | GPL
+
+
+##### :computer: The Minimum Requirements
-== ALTSYS == alternative system module & library
-[b]SUMMARY:[/b]
-The unified module of blocksadmin, tplsadmin, etc around the system.
+ Apache, Nginx, etc. PHP 7.2.x
+ MySQL 5.6, MariaDB InnoDB utf8 / utf8mb4
+ XCL version 2.3.+
-I'm appreciated your bug reports :-)
-I'll maintain this module instead of blocksadmin, tplsadmin, avaman etc.
+
+-----
+
+
+== ALTSYS == alternative system module & library
+
+[b]SUMMARY:[/b]
+
+UI Common Library to create custom Blocks and Templates.
+Manage modules Blocks, Templates, and translations.
+GUI for Localization.
[b]INSTALL:[/b]
diff --git a/html/modules/altsys/admin/admin_menu.php b/html/modules/altsys/admin/admin_menu.php
index f23cbcc..51ac23e 100644
--- a/html/modules/altsys/admin/admin_menu.php
+++ b/html/modules/altsys/admin/admin_menu.php
@@ -4,8 +4,8 @@
die('set XOOPS_TRUST_PATH in mainfile.php') ;
}
-$mydirname = basename(dirname(dirname(__FILE__))) ;
-$mydirpath = dirname(dirname(__FILE__)) ;
+$mydirname = basename(dirname(__DIR__)) ;
+$mydirpath = dirname(__DIR__) ;
// require $mydirpath.'/mytrustdirname.php' ; // set $mytrustdirname
$mytrustdirname = 'altsys' ;
diff --git a/html/modules/altsys/admin/index.php b/html/modules/altsys/admin/index.php
index 9a6e4cd..9eb5ce8 100644
--- a/html/modules/altsys/admin/index.php
+++ b/html/modules/altsys/admin/index.php
@@ -5,8 +5,8 @@
die('set XOOPS_TRUST_PATH in mainfile.php') ;
}
-$mydirname = basename(dirname(dirname(__FILE__))) ;
-$mydirpath = dirname(dirname(__FILE__)) ;
+$mydirname = basename(dirname(__DIR__)) ;
+$mydirpath = dirname(__DIR__) ;
// require $mydirpath.'/mytrustdirname.php' ; // set $mytrustdirname
$mytrustdirname = 'altsys' ;
diff --git a/html/modules/altsys/altsys_slogo.png b/html/modules/altsys/altsys_slogo.png
deleted file mode 100644
index 5903563..0000000
Binary files a/html/modules/altsys/altsys_slogo.png and /dev/null differ
diff --git a/html/modules/altsys/blocks/blocks.php b/html/modules/altsys/blocks/blocks.php
index 3578d46..2e1073a 100644
--- a/html/modules/altsys/blocks/blocks.php
+++ b/html/modules/altsys/blocks/blocks.php
@@ -4,8 +4,8 @@
die('set XOOPS_TRUST_PATH into mainfile.php') ;
}
-$mydirname = basename(dirname(dirname(__FILE__))) ;
-$mydirpath = dirname(dirname(__FILE__)) ;
+$mydirname = basename(dirname(__DIR__)) ;
+$mydirpath = dirname(__DIR__) ;
// require $mydirpath.'/mytrustdirname.php' ; // set $mytrustdirname
$mytrustdirname = 'altsys' ;
diff --git a/html/modules/altsys/images/module_icon.png b/html/modules/altsys/images/module_icon.png
deleted file mode 100644
index 6399b39..0000000
Binary files a/html/modules/altsys/images/module_icon.png and /dev/null differ
diff --git a/html/modules/altsys/images/module_icon.svg b/html/modules/altsys/images/module_icon.svg
new file mode 100644
index 0000000..7b0526a
--- /dev/null
+++ b/html/modules/altsys/images/module_icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/html/modules/altsys/images/module_ui_components.svg b/html/modules/altsys/images/module_ui_components.svg
new file mode 100644
index 0000000..9b4ce36
--- /dev/null
+++ b/html/modules/altsys/images/module_ui_components.svg
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/html/modules/altsys/include/Legacy_AltsysAdminRenderSystem.class.php b/html/modules/altsys/include/Legacy_AltsysAdminRenderSystem.class.php
index 6f82d2b..0cc3685 100644
--- a/html/modules/altsys/include/Legacy_AltsysAdminRenderSystem.class.php
+++ b/html/modules/altsys/include/Legacy_AltsysAdminRenderSystem.class.php
@@ -4,8 +4,8 @@
die('set XOOPS_TRUST_PATH into mainfile.php') ;
}
-$mydirname = basename(dirname(dirname(__FILE__))) ;
-$mydirpath = dirname(dirname(__FILE__)) ;
+$mydirname = basename(dirname(__DIR__)) ;
+$mydirpath = dirname(__DIR__) ;
// require $mydirpath.'/mytrustdirname.php' ; // set $mytrustdirname
$mytrustdirname = 'altsys' ;
diff --git a/html/modules/altsys/include/oninstall.php b/html/modules/altsys/include/oninstall.php
index 8aa5182..f4f0d39 100644
--- a/html/modules/altsys/include/oninstall.php
+++ b/html/modules/altsys/include/oninstall.php
@@ -4,8 +4,8 @@
die('set XOOPS_TRUST_PATH into mainfile.php') ;
}
-$mydirname = basename(dirname(dirname(__FILE__))) ;
-$mydirpath = dirname(dirname(__FILE__)) ;
+$mydirname = basename(dirname(__DIR__)) ;
+$mydirpath = dirname(__DIR__) ;
// require $mydirpath.'/mytrustdirname.php' ; // set $mytrustdirname
$mytrustdirname = 'altsys' ;
diff --git a/html/modules/altsys/include/onuninstall.php b/html/modules/altsys/include/onuninstall.php
index 29577e1..b959cf0 100644
--- a/html/modules/altsys/include/onuninstall.php
+++ b/html/modules/altsys/include/onuninstall.php
@@ -4,8 +4,8 @@
die('set XOOPS_TRUST_PATH into mainfile.php') ;
}
-$mydirname = basename(dirname(dirname(__FILE__))) ;
-$mydirpath = dirname(dirname(__FILE__)) ;
+$mydirname = basename(dirname(__DIR__)) ;
+$mydirpath = dirname(__DIR__) ;
// require $mydirpath.'/mytrustdirname.php' ; // set $mytrustdirname
$mytrustdirname = 'altsys' ;
diff --git a/html/modules/altsys/include/onupdate.php b/html/modules/altsys/include/onupdate.php
index db47540..32b8c24 100644
--- a/html/modules/altsys/include/onupdate.php
+++ b/html/modules/altsys/include/onupdate.php
@@ -4,8 +4,8 @@
die('set XOOPS_TRUST_PATH into mainfile.php') ;
}
-$mydirname = basename(dirname(dirname(__FILE__))) ;
-$mydirpath = dirname(dirname(__FILE__)) ;
+$mydirname = basename(dirname(__DIR__)) ;
+$mydirpath = dirname(__DIR__) ;
// require $mydirpath.'/mytrustdirname.php' ; // set $mytrustdirname
$mytrustdirname = 'altsys' ;
diff --git a/html/modules/altsys/language/english/help/altsys_guide.html b/html/modules/altsys/language/english/help/altsys_guide.html
new file mode 100644
index 0000000..3ae50b6
--- /dev/null
+++ b/html/modules/altsys/language/english/help/altsys_guide.html
@@ -0,0 +1,138 @@
+
+AltSys Guide
+
+
+
+
This module aims to provide quick access to most common tasks of the application platform. +
This module (library) is required and installed by default with the core modules. +
Permissions can be extended to trusted user groups. + +
Next we will give an overview of some common tasks you can do with the Administration. + Each task will be used to highlight a particular function within the module. +
creation of custom blocks (HTML, PHP and BBCode), modules block management, + advanced templates design, customization, translations and localization. +
The building blocks of your site are single components of content like business information, + advertisements, contact forms, images or media embeds from other platforms.
+ +Each block has the following default properties :
+The block "side"" is just a legacy code convention to identify areas in the theme and organize the layout. + Blocks are modular units of content that can be positioned almost anywhere on the page.
+For example, a theme can place the block-left "Main Menu" at the top of the page to create a navigation bar.
+ +A Custom block can be built with HTML, CSS, JavaScript, PHP and Smarty variables. + Thus allowing to create reusable Components to create an effective website layout.
+It can also embed code or integrate with third-party features specific to a site's unique needs.
+ +Modules have several pre-built blocks that offer specific functionality and favor composition over inheritance. + These blocks are made available in Block Management by enabling modules. + Each module block has its own settings and customization options.
+ + + +Templates of modules and blocks shape content. While the frontend and backend Themes define the general appearance.
+A custom template can be created with HTML, CSS, JavaScript, PHP and Smarty variables to make a single file component.
+ +The list of Template Sets can be found in Template Management of module Renderer. + When modules are installed, their templates become part of the Default Template Set.
+ +1. First, make a copy of the Default Template Set ( Base-File )
+2. Browse to templates »» Module
+3. Click "edit" next to the template of the new Set
+4. Make the changes you want
+5. Save the template
+ +The template naming convention is a systematic method for naming files + written in all-lowercase ASCII letters. The name specs might include the package name, action, event.
+Learn more about Naming Convention ⭢
+ +1. Create a custom template
+2. Add some content
+3. Name the template eg.: mycustom_template.html
+4. Save the custom template
+ +Then, you can create a custom block and load your custom template
+
+$xoopsTpl = new XoopsTpl();
+$test = $xoopsTpl->fetch('myblock_custom.html');
+echo $test;
+
+
+ The Renderer uses Smarty Template Engine —one of the most popular and mature template engines— with custom delimiters + similar to HTML markup language that make easier to design and develop components for templates.
+From template Management you can enable a Set and check the list of templates that you can edit, copy, download or delete.
+ + + +These features allow you to insert ruler guides and logic to collect template variables + in order to help designers identify components during the design process.
+ +The default distribution comes with English, French, Japanese and Portuguese translations.
+ You can change the 'Default Language' in
+
Other local languages translations are available that you can download from the + GitHub repository - i18n-language ⭧
+ +
If your language files are not available, you’ll need to translate the files located in modules directories + e.g. “/language/english/”
+ +1. Click the module to translate +
2. Select the local language, e.g. english
+3. Select the file to translate
+4. Add a new Custom Value
+5. Update to save the constants translated into your language
+This will save into the database and in a file under TRUST_PATH/cache/....
+ +Localisation (l10n) is the process of customizing your app and + adapting your product's translation to a specific country or region.
+ +It is the second phase of a larger process of product translation and cultural adaptation to account for + differences in distinct markets, a process known as internationalisation and localisation.
+ +Module name | +Altsys | +
---|---|
Type | +Trust Module [ D3 library ] | +
Version | +2.31 | +
Level | +Required | +
🌐 Repository URL | +https://github.com/xoopscube/altsys ⭧ | +
This module aims to provide quick access to most common tasks of the application platform. +
This module (library) is required and installed by default with the core modules. +
Permissions can be extended to trusted user groups. + +
Next we will give an overview of some common tasks you can do with the Administration. + Each task will be used to highlight a particular function within the module. +
creation of custom blocks (HTML, PHP and BBCode), modules block management, + advanced templates design, customization, translations and localization. +
The building blocks of your site are single components of content like business information, + advertisements, contact forms, images or media embeds from other platforms.
+ +Each block has the following default properties :
+The block "side"" is just a legacy code convention to identify areas in the theme and organize the layout. + Blocks are modular units of content that can be positioned almost anywhere on the page.
+For example, a theme can place the block-left "Main Menu" at the top of the page to create a navigation bar.
+ +A Custom block can be built with HTML, CSS, JavaScript, PHP and Smarty variables. + Thus allowing to create reusable Components to create an effective website layout.
+It can also embed code or integrate with third-party features specific to a site's unique needs.
+ +Modules have several pre-built blocks that offer specific functionality and favor composition over inheritance. + These blocks are made available in Block Management by enabling modules. + Each module block has its own settings and customization options.
+ + + +Templates of modules and blocks shape content. While the frontend and backend Themes define the general appearance.
+A custom template can be created with HTML, CSS, JavaScript, PHP and Smarty variables to make a single file component.
+ +The list of Template Sets can be found in Template Management of module Renderer. + When modules are installed, their templates become part of the Default Template Set.
+ +1. First, make a copy of the Default Template Set ( Base-File )
+2. Browse to templates »» Module
+3. Click "edit" next to the template of the new Set
+4. Make the changes you want
+5. Save the template
+ +The template naming convention is a systematic method for naming files + written in all-lowercase ASCII letters. The name specs might include the package name, action, event.
+Learn more about Naming Convention ⭢
+ +1. Create a custom template
+2. Add some content
+3. Name the template eg.: mycustom_template.html
+4. Save the custom template
+ +Then, you can create a custom block and load your custom template
+
+$xoopsTpl = new XoopsTpl();
+$test = $xoopsTpl->fetch('myblock_custom.html');
+echo $test;
+
+
+ The Renderer uses Smarty Template Engine —one of the most popular and mature template engines— with custom delimiters + similar to HTML markup language that make easier to design and develop components for templates.
+From template Management you can enable a Set and check the list of templates that you can edit, copy, download or delete.
+ + + +These features allow you to insert ruler guides and logic to collect template variables + in order to help designers identify components during the design process.
+ +The default distribution comes with English, French, Japanese and Portuguese translations.
+ You can change the 'Default Language' in
+
Other local languages translations are available that you can download from the + GitHub repository - i18n-language ⭧
+ +
If your language files are not available, you’ll need to translate the files located in modules directories + e.g. “/language/english/”
+ +1. Click the module to translate +
2. Select the local language, e.g. english
+3. Select the file to translate
+4. Add a new Custom Value
+5. Update to save the constants translated into your language
+This will save into the database and in a file under TRUST_PATH/cache/....
+ +Localisation (l10n) is the process of customizing your app and + adapting your product's translation to a specific country or region.
+ +It is the second phase of a larger process of product translation and cultural adaptation to account for + differences in distinct markets, a process known as internationalisation and localisation.
+ +Module name | +Altsys | +
---|---|
Type | +Trust Module [ D3 library ] | +
Version | +2.31 | +
Level | +Required | +
🌐 Repository URL | +https://github.com/xoopscube/altsys ⭧ | +
This module aims to provide quick access to most common tasks of the application platform. +
This module (library) is required and installed by default with the core modules. +
Permissions can be extended to trusted user groups. + +
Next we will give an overview of some common tasks you can do with the Administration. + Each task will be used to highlight a particular function within the module. +
creation of custom blocks (HTML, PHP and BBCode), modules block management, + advanced templates design, customization, translations and localization. +
The building blocks of your site are single components of content like business information, + advertisements, contact forms, images or media embeds from other platforms.
+ +Each block has the following default properties :
+The block "side"" is just a legacy code convention to identify areas in the theme and organize the layout. + Blocks are modular units of content that can be positioned almost anywhere on the page.
+For example, a theme can place the block-left "Main Menu" at the top of the page to create a navigation bar.
+ +A Custom block can be built with HTML, CSS, JavaScript, PHP and Smarty variables. + Thus allowing to create reusable Components to create an effective website layout.
+It can also embed code or integrate with third-party features specific to a site's unique needs.
+ +Modules have several pre-built blocks that offer specific functionality and favor composition over inheritance. + These blocks are made available in Block Management by enabling modules. + Each module block has its own settings and customization options.
+ + + +Templates of modules and blocks shape content. While the frontend and backend Themes define the general appearance.
+A custom template can be created with HTML, CSS, JavaScript, PHP and Smarty variables to make a single file component.
+ +The list of Template Sets can be found in Template Management of module Renderer. + When modules are installed, their templates become part of the Default Template Set.
+ +1. First, make a copy of the Default Template Set ( Base-File )
+2. Browse to templates »» Module
+3. Click "edit" next to the template of the new Set
+4. Make the changes you want
+5. Save the template
+ +The template naming convention is a systematic method for naming files + written in all-lowercase ASCII letters. The name specs might include the package name, action, event.
+Learn more about Naming Convention ⭢
+ +1. Create a custom template
+2. Add some content
+3. Name the template eg.: mycustom_template.html
+4. Save the custom template
+ +Then, you can create a custom block and load your custom template
+
+$xoopsTpl = new XoopsTpl();
+$test = $xoopsTpl->fetch('myblock_custom.html');
+echo $test;
+
+
+ The Renderer uses Smarty Template Engine —one of the most popular and mature template engines— with custom delimiters + similar to HTML markup language that make easier to design and develop components for templates.
+From template Management you can enable a Set and check the list of templates that you can edit, copy, download or delete.
+ + + +These features allow you to insert ruler guides and logic to collect template variables + in order to help designers identify components during the design process.
+ +The default distribution comes with English, French, Japanese and Portuguese translations.
+ You can change the 'Default Language' in
+
Other local languages translations are available that you can download from the + GitHub repository - i18n-language ⭧
+ +
If your language files are not available, you’ll need to translate the files located in modules directories + e.g. “/language/english/”
+ +1. Click the module to translate +
2. Select the local language, e.g. english
+3. Select the file to translate
+4. Add a new Custom Value
+5. Update to save the constants translated into your language
+This will save into the database and in a file under TRUST_PATH/cache/....
+ +Localisation (l10n) is the process of customizing your app and + adapting your product's translation to a specific country or region.
+ +It is the second phase of a larger process of product translation and cultural adaptation to account for + differences in distinct markets, a process known as internationalisation and localisation.
+ +Module name | +Altsys | +
---|---|
Type | +Trust Module [ D3 library ] | +
Version | +2.31 | +
Level | +Required | +
🌐 Repository URL | +https://github.com/xoopscube/altsys ⭧ | +
This module aims to provide quick access to most common tasks of the application platform. +
This module (library) is required and installed by default with the core modules. +
Permissions can be extended to trusted user groups. + +
Next we will give an overview of some common tasks you can do with the Administration. + Each task will be used to highlight a particular function within the module. +
creation of custom blocks (HTML, PHP and BBCode), modules block management, + advanced templates design, customization, translations and localization. +
The building blocks of your site are single components of content like business information, + advertisements, contact forms, images or media embeds from other platforms.
+ +Each block has the following default properties :
+The block "side"" is just a legacy code convention to identify areas in the theme and organize the layout. + Blocks are modular units of content that can be positioned almost anywhere on the page.
+For example, a theme can place the block-left "Main Menu" at the top of the page to create a navigation bar.
+ +A Custom block can be built with HTML, CSS, JavaScript, PHP and Smarty variables. + Thus allowing to create reusable Components to create an effective website layout.
+It can also embed code or integrate with third-party features specific to a site's unique needs.
+ +Modules have several pre-built blocks that offer specific functionality and favor composition over inheritance. + These blocks are made available in Block Management by enabling modules. + Each module block has its own settings and customization options.
+ + + +Templates of modules and blocks shape content. While the frontend and backend Themes define the general appearance.
+A custom template can be created with HTML, CSS, JavaScript, PHP and Smarty variables to make a single file component.
+ +The list of Template Sets can be found in Template Management of module Renderer. + When modules are installed, their templates become part of the Default Template Set.
+ +1. First, make a copy of the Default Template Set ( Base-File )
+2. Browse to templates »» Module
+3. Click "edit" next to the template of the new Set
+4. Make the changes you want
+5. Save the template
+ +The template naming convention is a systematic method for naming files + written in all-lowercase ASCII letters. The name specs might include the package name, action, event.
+Learn more about Naming Convention ⭢
+ +1. Create a custom template
+2. Add some content
+3. Name the template eg.: mycustom_template.html
+4. Save the custom template
+ +Then, you can create a custom block and load your custom template
+
+$xoopsTpl = new XoopsTpl();
+$test = $xoopsTpl->fetch('myblock_custom.html');
+echo $test;
+
+
+ The Renderer uses Smarty Template Engine —one of the most popular and mature template engines— with custom delimiters + similar to HTML markup language that make easier to design and develop components for templates.
+From template Management you can enable a Set and check the list of templates that you can edit, copy, download or delete.
+ + + +These features allow you to insert ruler guides and logic to collect template variables + in order to help designers identify components during the design process.
+ +The default distribution comes with English, French, Japanese and Portuguese translations.
+ You can change the 'Default Language' in
+
Other local languages translations are available that you can download from the + GitHub repository - i18n-language ⭧
+ +
If your language files are not available, you’ll need to translate the files located in modules directories + e.g. “/language/english/”
+ +1. Click the module to translate +
2. Select the local language, e.g. english
+3. Select the file to translate
+4. Add a new Custom Value
+5. Update to save the constants translated into your language
+This will save into the database and in a file under TRUST_PATH/cache/....
+ +Localisation (l10n) is the process of customizing your app and + adapting your product's translation to a specific country or region.
+ +It is the second phase of a larger process of product translation and cultural adaptation to account for + differences in distinct markets, a process known as internationalisation and localisation.
+ +Module name | +Altsys | +
---|---|
Type | +Trust Module [ D3 library ] | +
Version | +2.31 | +
Level | +Required | +
🌐 Repository URL | +https://github.com/xoopscube/altsys ⭧ | +
".$this->renderRadio4BlockPosition(1, $block_data)." | -".$this->renderRadio4BlockPosition(3, $block_data)." | -".$this->renderRadio4BlockPosition(4, $block_data)." | -".$this->renderRadio4BlockPosition(5, $block_data)." | -".$this->renderRadio4BlockPosition(2, $block_data)." | -
".$this->renderRadio4BlockPosition(6, $block_data)." | -".$this->renderRadio4BlockPosition(7, $block_data)." | -".$this->renderRadio4BlockPosition(8, $block_data)." | -||
".$this->renderRadio4BlockPositions($block_data, array(1, 2, 3, 4, 5, 6, 7, 8))." | -
".$this->renderRadio4BlockPosition(0, $block_data)." | -".$this->renderRadio4BlockPosition(3, $block_data)." | -".$this->renderRadio4BlockPosition(5, $block_data)." | -".$this->renderRadio4BlockPosition(4, $block_data)." | -".$this->renderRadio4BlockPosition(1, $block_data)." | -
".$this->renderRadio4BlockPosition(7, $block_data)." | -".$this->renderRadio4BlockPosition(9, $block_data)." | -".$this->renderRadio4BlockPosition(8, $block_data)." | -||
".$this->renderRadio4BlockPosition(-1, $block_data)._NONE." | -
-
-
-
- -
- |
-
-
-
-
- |
-
-
-
-
- |
-
-
-
-
- |
-
- -
-
-
-
- |
-
-
-
-
- |
-
-
-
-
- |
-
-
-
-
-
- |
- ||
-
-
-
-
-
-
- "._NONE."
- |
-