Sistema de instalación de módulos

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Sistema de instalación de módulos

      He creado un sistema simple (por el momento) de instalación automatica de módulos para facilitar la instalación en sí.

      Source Code

      1. ### METODO DE INSTALACION
      2. - Se cambio la funcion `isModuleAvailable` del archivo `GeneralFunctions.php` para agregar los modulos instalados
      3. Código:
      4. función isModuleAvailable($ID)
      5. {
      6. global $USUARIO;
      7. $módulos = explotar(';', Config::get()->módulos);
      8. $iMods = Módulo::get();
      9. $instalado = falso;
      10. foreach ($iMods como $fila => $datos) {
      11. if($ID == $datos['mod_tag']){
      12. $instalado = verdadero;
      13. $módulos[$ID] = $datos['mod_status'];
      14. }
      15. }
      16. if(!isset($módulos[$ID]) && $instalado == falso)
      17. {
      18. $módulos[$ID] = 1;
      19. }
      20. devuelve $módulos[$ID] == 1 || (isset($USUARIO['nivel de autenticación']) && $USUARIO['nivel de autenticación'] > AUTH_USR);
      21. }
      22. - Codigo agregado al template `ModulePage.tpl`
      23. - Contenido agregado a `ShowModulePage.php`
      24. - Agregar al final de `dbtables.php`
      25. Código:
      26. $dbTableNames['MODULES']= DB_PREFIX.'modules';
      27. - Agregar al archivo `constants.php`
      28. Código:
      29. if(!definido('MODULES_PATH')) {
      30. define('MODULES_PATH', ROOT_PATH.'includes/modules/');
      31. }
      32. - Archivo nuevo `Module.class.php` en la ruta `includes/classes/`
      33. - Agregar al `archivo common.php`
      34. Código:
      35. require 'incluye/clases/Module.class.php';
      36. - Modificado el codigo de `admin.php`
      37. Código:
      38. defecto:
      39. if(file_exists('incluye/páginas/adm/Mostrar'.ucfirst($página).'ModPage.php')){
      40. include_once('incluye/páginas/adm/Mostrar'.ucfirst($página).'ModPage.php');
      41. MostrarPáginaCargarMod();
      42. }
      43. más{
      44. include_once('incluye/páginas/adm/ShowIndexPage.php');
      45. MostrarPáginaÍndice();
      46. }
      47. descanso;
      48. ### INSTALACION MEDIANTE ARCHIVO XML
      49. - El sistema de instalacion de modulos tiene una estructura en XML para enviarle algunos datos al servidor asi como las rutas, archivos, y codigo a ejecutar.
      50. `
      51. <instalación>
      52. <mod_datos>
      53. <plugin_tag>mod_banco</plugin_tag>
      54. <plugin_name>Banco intergaláctico</plugin_name>
      55. <plugin_description>Sistema bancario de recursos para usuarios</plugin_description>
      56. <developer>Jekill</developer>
      57. <plugin_link>http://spacewar.nat.cu</plugin_link>
      58. <version>0.1</version>
      59. </mod_data>
      60. <game name="bank_mod">
      61. <game_page>ShowBankPage.class.php</game_page>
      62. </game>
      63. <game_view name="bank_mod">
      64. <item>page.bank.default.tpl</item>
      65. </game_view>
      66. <mod_tag>BANK_TEST_MOD</mod_tag>
      67. <installation_data>
      68. <item name="styles/templates/game/main.navigation.tpl">
      69. <addcode>
      70. <![CDATA[
      71. {if isModuleAvailable('mod_bank')}<li><a href="game.php?page=bank">{$LNG.bank}</a></li>{/if}
      72. ]]>
      73. </addcode>
      74. <before>
      75. <![CDATA[
      76. <li class="menucat2-head"></li>
      77. ]]>
      78. </before>
      79. <after>
      80. <![CDATA[
      81. {if isModuleAvailable($smarty.const.MODULE_RESSOURCE_LIST)}<li><a href="game.php?page=resources">{$LNG.lm_resources}</a></li>{/if}
      82. ]]>
      83. </after>
      84. </item>
      85. </installation_data>
      86. </installation>
      87. `
      88. - Todo el contenido tiene que estar encapsulado dentro de las etiquetas `<installation>`
      89. - `mod_data` contendra etiquetas para la tabla de modulos
      90. - La etiqueta `game` tiene un atributo `name` que su valor siempre sera el `mod_tag`. Hace referencia a los archivos .php que se subiran a la carpeta `includes/pages/game`. Se subiran tantos archivos como elementos `item` existan.
      91. - game_view es exactamente lo mismo que el anterior solo que esta dirigido a las vistas del juego que se alojaran en la carpeta `styles/templates/(mod_name)/` y de igual manera se subiran tantas .tpl cono `item` existan.
      92. - De igual manera que las 2 anteriores, existen las etiquetas `administration` y `administration_view` que funcionan de la misma forma pero para las carpetas administrativas.
      93. - La etiqueta `mod_tag` que se encuentra debajo de las anteriores, es para generar un bloque cuando se instale codigo desde el sistema de instalacion de modulos. El sistema detecta si es codigo para un archivo .php o .tpl.
      94. - La etiqueta `installation_data` es la mas compleja hasta el momento. Cada `item` dentro de `installation_data` contendra 3 etiquetas: `before`, `after` y `addcode`. Este sistema es para agregar codigo automatico al preexistente. Por ejemplo: el mod que se va a instalar lleva un boton en el menu del jugador. Tomamos el ejemplo del codigo XML de este archivo.
      95. El elemento nuevo tiene que estar entre
      96. {if isModuleAvailable($smarty.const.MODULE_RESSOURCE_LIST)}<li><a href="game.php?page=resources">{$LNG.lm_resources}</a></li>{/if} y
      97. <li class="menucat2-head"></li>
      98. Al ser un archivo .tpl el sistema genera lo siguiente
      99. {if isModuleAvailable($smarty.const.MODULE_RESSOURCE_LIST)}<li><a href="game.php?page=resources">{$LNG.lm_resources}</a></li>{/if}
      100. <!--INICIAR BANK_TEST_MOD-->
      101. {if isModuleAvailable('mod_bank')}<li><a href="game.php?page=bank">{$LNG.bank}</a></li>{/if}
      102. <!--FIN BANK_TEST_MOD-->
      103. <li class="menucat2-head"></li>
      104. Con estos mismos codigos se regira el sistema para eliminar el codigo generado si lo que se desea es desinstalar el modulo.
      105. Como ultimo dato: El archivo comprimido para la instalacion solo sera .zip y los archivos dentro de este no tienen orden de carpetas, el orden esta definido en el XML.
      Display All
      Espero les interese. Saludos a la comunidad. Y esta es mi primera modificación objetiva a 2Moons.
      Images
      • MOD admincp 1.png

        280.32 kB, 1,107×262, viewed 168 times
      • MOD amincp.png

        160.74 kB, 1,042×279, viewed 207 times
      Files
      Gestor de proyectos para xampp
      Cardinal System for XAMPP

      The post was edited 3 times, last by Jekill ().

    • I have created a simple (for the moment) automatic module installation system to facilitate the installation itself.

      Source Code

      1. ### INSTALLATION METHOD
      2. - Changed the `isModuleAvailable` function in the `GeneralFunctions.php` file to add installed modules
      3. Code:
      4. function isModuleAvailable($ID)
      5. {
      6. global $USER;
      7. $modules = explode(';', Config::get()->moduls);
      8. $iMods = Module::get();
      9. $installed = false;
      10. foreach ($iMods as $row => $data) {
      11. if($ID == $data['mod_tag']){
      12. $installed = true;
      13. $modules[$ID] = $data['mod_status'];
      14. }
      15. }
      16. if(!isset($modules[$ID]) && $installed == false)
      17. {
      18. $modules[$ID] = 1;
      19. }
      20. return $modules[$ID] == 1 || (isset($USER['authlevel']) && $USER['authlevel'] > AUTH_USR);
      21. }
      22. - Code added to the template `ModulePage.tpl`
      23. - Added content to `ShowModulePage.php`
      24. - Add to the end of `dbtables.php`
      25. Code:
      26. $dbTableNames['MODULES']= DB_PREFIX.'modules';
      27. - Add to `constants.php` file
      28. Code:
      29. if(!defined('MODULES_PATH')) {
      30. define('MODULES_PATH', ROOT_PATH.'includes/modules/');
      31. }
      32. - New file `Module.class.php` in path `includes/classes/`
      33. - Add to `common.php` file
      34. Code:
      35. require 'includes/classes/Module.class.php';
      36. - Modified the code of `admin.php`
      37. Code:
      38. default:
      39. if(file_exists('includes/pages/adm/Show'.ucfirst($page).'ModPage.php')){
      40. include_once('includes/pages/adm/Show'.ucfirst($page).'ModPage.php');
      41. ShowLoadModPage();
      42. }
      43. else{
      44. include_once('includes/pages/adm/ShowIndexPage.php');
      45. ShowIndexPage();
      46. }
      47. break;
      48. ### INSTALLATION THROUGH XML FILE
      49. - The module installation system has an XML structure to send some data to the server as well as the paths, files, and code to execute.
      50. `
      51. <installation>
      52. <mod_data>
      53. <plugin_tag>bank_mod</plugin_tag>
      54. <plugin_name>Banco intergalactico</plugin_name>
      55. <plugin_description>User Resource Banking System</plugin_description>
      56. <developer>Jekill</developer>
      57. <plugin_link>http://spacewar.nat.cu</plugin_link>
      58. <version>0.1</version>
      59. </mod_data>
      60. <game name="bank_mod">
      61. <game_page>ShowBankPage.class.php</game_page>
      62. </game>
      63. <game_view name="bank_mod">
      64. <item>page.bank.default.tpl</item>
      65. </game_view>
      66. <mod_tag>BANK_TEST_MOD</mod_tag>
      67. <installation_data>
      68. <item name="styles/templates/game/main.navigation.tpl">
      69. <addcode>
      70. <![CDATA[
      71. {if isModuleAvailable('mod_bank')}<li><a href="game.php?page=bank">{$LNG.bank}</a></li>{/if}
      72. ]]>
      73. </addcode>
      74. <before>
      75. <![CDATA[
      76. <li class="menucat2-head"></li>
      77. ]]>
      78. </before>
      79. <after>
      80. <![CDATA[
      81. {if isModuleAvailable($smarty.const.MODULE_RESSOURCE_LIST)}<li><a href="game.php?page=resources">{$LNG.lm_resources}</a></li>{/if}
      82. ]]>
      83. </after>
      84. </item>
      85. </installation_data>
      86. </installation>
      87. `
      88. - All content must be encapsulated within `<installation>` tags
      89. - `mod_data` will contain tags for the mod table
      90. - The `game` tag has a `name` attribute whose value will always be the `mod_tag`. Refers to the .php files that will be uploaded to the `includes/pages/game` folder. As many files as there are `item` elements will be uploaded.
      91. - game_view is exactly the same as the previous one, except that it is directed to the game views that will be stored in the `styles/templates/(mod_name)/` folder and in the same way as many .tpl as `item` will be uploaded.
      92. - In the same way as the previous 2, there are the `administration` and `administration_view` tags that work in the same way but for administrative folders.
      93. - The `mod_tag` tag below the above is for generating a block when code is installed from the module installation system. The system detects if it is code for a .php or .tpl file.
      94. - The `installation_data` tag is the most complex so far. Each `item` inside `installation_data` will contain 3 tags: `before`, `after` and `addcode`. This system is to add automatic code to the existing one. For example: the mod to be installed has a button on the player menu. We take the example of the XML code from this file.
      95. The new element has to be between
      96. {if isModuleAvailable($smarty.const.MODULE_RESSOURCE_LIST)}<li><a href="game.php?page=resources">{$LNG.lm_resources}</a></li>{/if} y
      97. <li class="menucat2-head"></li>
      98. Being a .tpl file, the system generates the following
      99. {if isModuleAvailable($smarty.const.MODULE_RESSOURCE_LIST)}<li><a href="game.php?page=resources">{$LNG.lm_resources}</a></li>{/if}
      100. <!--START BANK_TEST_MOD-->
      101. {if isModuleAvailable('mod_bank')}<li><a href="game.php?page=bank">{$LNG.bank}</a></li>{/if}
      102. <!--END BANK_TEST_MOD-->
      103. <li class="menucat2-head"></li>
      104. With these same codes the system will be governed to eliminate the generated code if what is desired is to uninstall the module.
      105. As a last piece of information: The compressed file for the installation will only be .zip and the files inside it do not have folder order, the order is defined in the XML.
      Display All

      I hope you are interested. Greetings to the community. And this is my first objective modification to 2Moons.
      Gestor de proyectos para xampp
      Cardinal System for XAMPP
    • Jekill wrote:

      He creado un sistema simple (por el momento) de instalación automatica de módulos para facilitar la instalación en sí.

      Source Code

      1. ### INSTALLATION METHOD
      2. - Se cambio la funcion `isModuleAvailable` del archivo `GeneralFunctions.php` para agregar los modulos instalados
      3. Code:
      4. function isModuleAvailable($ID)
      5. {
      6. global $USER;
      7. $modules = explode(';', Config::get()->moduls);
      8. $iMods = Module::get();
      9. $installed = false;
      10. foreach ($iMods as $row => $data) {
      11. if($ID == $data['mod_tag']){
      12. $installed = true;
      13. $modules[$ID] = $data['mod_status'];
      14. }
      15. }
      16. if(!isset($modules[$ID]) && $installed == false)
      17. {
      18. $modules[$ID] = 1;
      19. }
      20. return $modules[$ID] == 1 || (isset($USER['authlevel']) && $USER['authlevel'] > AUTH_USR);
      21. }
      22. - Codigo agregado al template `ModulePage.tpl`
      23. - Contenido agregado a `ShowModulePage.php`
      24. - Agregar al final de `dbtables.php`
      25. Code:
      26. $dbTableNames['MODULES']= DB_PREFIX.'modules';
      27. - Agregar al archivo `constants.php`
      28. Code:
      29. if(!defined('MODULES_PATH')) {
      30. define('MODULES_PATH', ROOT_PATH.'includes/modules/');
      31. }
      32. - Archivo nuevo `Module.class.php` en la ruta `includes/classes/`
      33. - Agregar al `archivo common.php`
      34. Code:
      35. require 'includes/classes/Module.class.php';
      36. - Modificado el codigo de `admin.php`
      37. Code:
      38. default:
      39. if(file_exists('includes/pages/adm/Show'.ucfirst($page).'ModPage.php')){
      40. include_once('includes/pages/adm/Show'.ucfirst($page).'ModPage.php');
      41. ShowLoadModPage();
      42. }
      43. else{
      44. include_once('includes/pages/adm/ShowIndexPage.php');
      45. ShowIndexPage();
      46. }
      47. break;
      48. ### INSTALACION MEDIANTE ARCHIVO XML
      49. - El sistema de instalacion de modulos tiene una estructura en XML para enviarle algunos datos al servidor asi como las rutas, archivos, y codigo a ejecutar.
      50. `
      51. <installation>
      52. <mod_data>
      53. <plugin_tag>bank_mod</plugin_tag>
      54. <plugin_name>Banco intergalactico</plugin_name>
      55. <plugin_description>Sistema bancario de recursos para usuarios</plugin_description>
      56. <developer>Jekill</developer>
      57. <plugin_link>http://spacewar.nat.cu</plugin_link>
      58. <version>0.1</version>
      59. </mod_data>
      60. <game name="bank_mod">
      61. <game_page>ShowBankPage.class.php</game_page>
      62. </game>
      63. <game_view name="bank_mod">
      64. <item>page.bank.default.tpl</item>
      65. </game_view>
      66. <mod_tag>BANK_TEST_MOD</mod_tag>
      67. <installation_data>
      68. <item name="styles/templates/game/main.navigation.tpl">
      69. <addcode>
      70. <![CDATA[
      71. {if isModuleAvailable('mod_bank')}<li><a href="game.php?page=bank">{$LNG.bank}</a></li>{/if}
      72. ]]>
      73. </addcode>
      74. <before>
      75. <![CDATA[
      76. <li class="menucat2-head"></li>
      77. ]]>
      78. </before>
      79. <after>
      80. <![CDATA[
      81. {if isModuleAvailable($smarty.const.MODULE_RESSOURCE_LIST)}<li><a href="game.php?page=resources">{$LNG.lm_resources}</a></li>{/if}
      82. ]]>
      83. </after>
      84. </item>
      85. </installation_data>
      86. </installation>
      87. `
      88. - Todo el contenido tiene que estar encapsulado dentro de las etiquetas `<installation>`
      89. - `mod_data` contendra etiquetas para la tabla de modulos
      90. - La etiqueta `game` tiene un atributo `name` que su valor siempre sera el `mod_tag`. Hace referencia a los archivos .php que se subiran a la carpeta `includes/pages/game`. Se subiran tantos archivos como elementos `item` existan.
      91. - game_view es exactamente lo mismo que el anterior solo que esta dirigido a las vistas del juego que se alojaran en la carpeta `styles/templates/(mod_name)/` y de igual manera se subiran tantas .tpl cono `item` existan.
      92. - De igual manera que las 2 anteriores, existen las etiquetas `administration` y `administration_view` que funcionan de la misma forma pero para las carpetas administrativas.
      93. - La etiqueta `mod_tag` que se encuentra debajo de las anteriores, es para generar un bloque cuando se instale codigo desde el sistema de instalacion de modulos. El sistema detecta si es codigo para un archivo .php o .tpl.
      94. - La etiqueta `installation_data` es la mas compleja hasta el momento. Cada `item` dentro de `installation_data` contendra 3 etiquetas: `before`, `after` y `addcode`. Este sistema es para agregar codigo automatico al preexistente. Por ejemplo: el mod que se va a instalar lleva un boton en el menu del jugador. Tomamos el ejemplo del codigo XML de este archivo.
      95. El elemento nuevo tiene que estar entre
      96. {if isModuleAvailable($smarty.const.MODULE_RESSOURCE_LIST)}<li><a href="game.php?page=resources">{$LNG.lm_resources}</a></li>{/if} y
      97. <li class="menucat2-head"></li>
      98. Al ser un archivo .tpl el sistema genera lo siguiente
      99. {if isModuleAvailable($smarty.const.MODULE_RESSOURCE_LIST)}<li><a href="game.php?page=resources">{$LNG.lm_resources}</a></li>{/if}
      100. <!--START BANK_TEST_MOD-->
      101. {if isModuleAvailable('mod_bank')}<li><a href="game.php?page=bank">{$LNG.bank}</a></li>{/if}
      102. <!--END BANK_TEST_MOD-->
      103. <li class="menucat2-head"></li>
      104. Con estos mismos codigos se regira el sistema para eliminar el codigo generado si lo que se desea es desinstalar el modulo.
      105. Como ultimo dato: El archivo comprimido para la instalacion solo sera .zip y los archivos dentro de este no tienen orden de carpetas, el orden esta definido en el XML.
      Display All
      Espero les interese. Saludos a la comunidad. Y esta es mi primera modificación objetiva a 2Moons.
      Que bien..... Ahora lo testeo.
    • skynet wrote:

      Jekill wrote:

      He creado un sistema simple (por el momento) de instalación automatica de módulos para facilitar la instalación en sí.

      Source Code

      1. ### METODO DE INSTALACION
      2. - Se cambio la funcion `isModuleAvailable` del archivo `GeneralFunctions.php` para agregar los modulos instalados
      3. Código:
      4. función isModuleAvailable($ID)
      5. {
      6. global $USUARIO;
      7. $módulos = explotar(';', Config::get()->módulos);
      8. $iMods = Módulo::get();
      9. $instalado = falso;
      10. foreach ($iMods como $fila => $datos) {
      11. if($ID == $datos['mod_tag']){
      12. $instalado = verdadero;
      13. $módulos[$ID] = $datos['mod_status'];
      14. }
      15. }
      16. if(!isset($módulos[$ID]) && $instalado == falso)
      17. {
      18. $módulos[$ID] = 1;
      19. }
      20. devuelve $módulos[$ID] == 1 || (isset($USUARIO['nivel de autenticación']) && $USUARIO['nivel de autenticación'] > AUTH_USR);
      21. }
      22. - Codigo agregado al template `ModulePage.tpl`
      23. - Contenido agregado a `ShowModulePage.php`
      24. - Agregar al final de `dbtables.php`
      25. Código:
      26. $dbTableNames['MODULES']= DB_PREFIX.'modules';
      27. - Agregar al archivo `constants.php`
      28. Código:
      29. if(!definido('MODULES_PATH')) {
      30. define('MODULES_PATH', ROOT_PATH.'includes/modules/');
      31. }
      32. - Archivo nuevo `Module.class.php` en la ruta `includes/classes/`
      33. - Agregar al `archivo common.php`
      34. Código:
      35. require 'incluye/clases/Module.class.php';
      36. - Modificado el codigo de `admin.php`
      37. Código:
      38. defecto:
      39. if(file_exists('incluye/páginas/adm/Mostrar'.ucfirst($página).'ModPage.php')){
      40. include_once('incluye/páginas/adm/Mostrar'.ucfirst($página).'ModPage.php');
      41. MostrarPáginaCargarMod();
      42. }
      43. más{
      44. include_once('incluye/páginas/adm/ShowIndexPage.php');
      45. MostrarPáginaÍndice();
      46. }
      47. descanso;
      48. ### INSTALACION MEDIANTE ARCHIVO XML
      49. - El sistema de instalacion de modulos tiene una estructura en XML para enviarle algunos datos al servidor asi como las rutas, archivos, y codigo a ejecutar.
      50. `
      51. <installation>
      52. <mod_data>
      53. <plugin_tag>bank_mod</plugin_tag>
      54. <plugin_name>Banco intergalactico</plugin_name>
      55. <plugin_description>Sistema bancario de recursos para usuarios</plugin_description>
      56. <developer>Jekill</developer>
      57. <plugin_link>http://spacewar.nat.cu</plugin_link>
      58. <version>0.1</version>
      59. </mod_data>
      60. <game name="bank_mod">
      61. <game_page>ShowBankPage.class.php</game_page>
      62. </game>
      63. <game_view name="bank_mod">
      64. <item>page.bank.default.tpl</item>
      65. </game_view>
      66. <mod_tag>BANK_TEST_MOD</mod_tag>
      67. <installation_data>
      68. <item name="styles/templates/game/main.navigation.tpl">
      69. <addcode>
      70. <![CDATA[
      71. {if isModuleAvailable('mod_bank')}<li><a href="game.php?page=bank">{$LNG.bank}</a></li>{/if}
      72. ]]>
      73. </addcode>
      74. <before>
      75. <![CDATA[
      76. <li class="menucat2-head"></li>
      77. ]]>
      78. </before>
      79. <after>
      80. <![CDATA[
      81. {if isModuleAvailable($smarty.const.MODULE_RESSOURCE_LIST)}<li><a href="game.php?page=resources">{$LNG.lm_resources}</a></li>{/if}
      82. ]]>
      83. </after>
      84. </item>
      85. </installation_data>
      86. </installation>
      87. `
      88. - Todo el contenido tiene que estar encapsulado dentro de las etiquetas `<installation>`
      89. - `mod_data` contendra etiquetas para la tabla de modulos
      90. - La etiqueta `game` tiene un atributo `name` que su valor siempre sera el `mod_tag`. Hace referencia a los archivos .php que se subiran a la carpeta `includes/pages/game`. Se subiran tantos archivos como elementos `item` existan.
      91. - game_view es exactamente lo mismo que el anterior solo que esta dirigido a las vistas del juego que se alojaran en la carpeta `styles/templates/(mod_name)/` y de igual manera se subiran tantas .tpl cono `item` existan.
      92. - De igual manera que las 2 anteriores, existen las etiquetas `administration` y `administration_view` que funcionan de la misma forma pero para las carpetas administrativas.
      93. - La etiqueta `mod_tag` que se encuentra debajo de las anteriores, es para generar un bloque cuando se instale codigo desde el sistema de instalacion de modulos. El sistema detecta si es codigo para un archivo .php o .tpl.
      94. - La etiqueta `installation_data` es la mas compleja hasta el momento. Cada `item` dentro de `installation_data` contendra 3 etiquetas: `before`, `after` y `addcode`. Este sistema es para agregar codigo automatico al preexistente. Por ejemplo: el mod que se va a instalar lleva un boton en el menu del jugador. Tomamos el ejemplo del codigo XML de este archivo.
      95. El elemento nuevo tiene que estar entre
      96. {if isModuleAvailable($smarty.const.MODULE_RESSOURCE_LIST)}<li><a href="game.php?page=resources">{$LNG.lm_resources}</a></li>{/if} y
      97. <li class="menucat2-head"></li>
      98. Al ser un archivo .tpl el sistema genera lo siguiente
      99. {if isModuleAvailable($smarty.const.MODULE_RESSOURCE_LIST)}<li><a href="game.php?page=resources">{$LNG.lm_resources}</a></li>{/if}
      100. <!--INICIAR BANK_TEST_MOD-->
      101. {if isModuleAvailable('mod_bank')}<li><a href="game.php?page=bank">{$LNG.bank}</a></li>{/if}
      102. <!--FIN BANK_TEST_MOD-->
      103. <li class="menucat2-head"></li>
      104. Con estos mismos codigos se regira el sistema para eliminar el codigo generado si lo que se desea es desinstalar el modulo.
      105. Como ultimo dato: El archivo comprimido para la instalacion solo sera .zip y los archivos dentro de este no tienen orden de carpetas, el orden esta definido en el XML.
      Display All
      Espero les interese. Saludos a la comunidad. Y esta es mi primera modificación objetiva a 2Moons.
      Que bien..... Ahora lo ttesteo
      Dentro de unos minutos subo una update que permite instalar modulos con archivos sql incorporados y unas pequeñas correcciones de errores.
      [/quote]
      Gestor de proyectos para xampp
      Cardinal System for XAMPP
    • Actualizacion del sistema de instalacion de modulos:

      Ahora se agrega la etiqueta sql_install y sql_uninstall, una contiene el archivo de instalacion del modulo y la otra las directivas de desinstalacion.

      Se corrigio el codigo que al desinstalar un mod duplicaba la linea del codigo donde debia insertar el mod.

      Se agrego codigo para la instalacion de archivos SQL y se agregaron los comentarios para archivos .css y .js.


      Dentro del archivo .zip hay un MOD de banco para usuarios a modo de ejemplo.
      Images
      • game.png

        59.42 kB, 423×120, viewed 89 times
      Files
      Gestor de proyectos para xampp
      Cardinal System for XAMPP

      The post was edited 1 time, last by Jekill ().