1
timgno
TDMCreate v1.39 Beta 1 for Testing
  • 2013/3/22 17:37

  • timgno

  • Module Developer

  • Posts: 1504

  • Since: 2007/6/21


Ready to test the next version to 1.38.6 which corrects several problems, release the 1.39 beta 1 version.

If you want to test it you can download it here and drop here your ideas.

Download from here

2
timgno
Re: TDMCreate v1.39 Beta 1 for Testing
  • 2013/3/27 17:35

  • timgno

  • Module Developer

  • Posts: 1504

  • Since: 2007/6/21


Updated to Beta 2

3
timgno
Re: TDMCreate v1.39 Beta 1 for Testing
  • 2013/3/27 18:24

  • timgno

  • Module Developer

  • Posts: 1504

  • Since: 2007/6/21


Fixed a bug in the comment file, please download again

4
timgno
Re: TDMCreate v1.39 Beta 1 for Testing
  • 2013/3/28 17:33

  • timgno

  • Module Developer

  • Posts: 1504

  • Since: 2007/6/21


Updated to Beta 3

Clear cache

Re-install again

fixed bugs in "Category"

5
timgno
Re: TDMCreate v1.39 Beta 1 for Testing
  • 2013/4/1 17:42

  • timgno

  • Module Developer

  • Posts: 1504

  • Since: 2007/6/21


Updated to Beta 4

There are still other work to be done, but I would like you tell me what's good and what's not.

downloads

6
irmtfan
Re: TDMCreate v1.39 Beta 1 for Testing
  • 2013/4/7 11:39

  • irmtfan

  • Module Developer

  • Posts: 3419

  • Since: 2003/12/7


I find some issues in TDMCreate 1.38 Final (latest trunk)
but the most important question is:
where is the latest revision?
I am really confused by too many releases and branches.

branches: mamba, timgno

releases: releases/1.39/TDMCreate

IMO you should always keep the trunk most uptodate version.

for xoops26 developing please create another folder in
http://svn.code.sf.net/p/xoops/svn/XoopsModules26/
I dont want to report notices and warnings. i just want to report functional bugs for now.

here is my findings:
1- bug: in TDMCreate/admin/building.php it didnt show any table in "Select the table you want to build" select box. there is some notices and i think you should take a look at those notices.

2- bug: when i build a module it just create one language in MYMODULE/language folder. e.g.: in persian i just have MYMODULE/language/persian and dont have MYMODULE/language/english but i should have both languages.

3- need improve: in TDMCreate/admin/tables.php?op=edit_champs&tables_id=XXX it is better to set some defaults for field's structure. e.g.:
Type: int (now it is correct)
Value: 11 (now it is empty)
Attributes: unsigned (now it is empty)
Null: NOT NULL (now it is correct)
default: 0 (now it is empty)

4- need improve: it should use xoops standard table name mod_MODULEDIRNAME_MODULETABLENAME and standardize the class naming.

class ModuledirnameModuletablename extends XoopsObject

e.g.:
moduledirname = userlog
moduletablename = log
then TDMCreate should create this table:
standardtablename = mod_userlog_log

and TDMCreate should create this class:
le="color: #000000"><?php class UserlogLog extends XoopsObject

and
le="color: #000000"><?php class UserlogLogHandler extends XoopsPersistableObjectHandler { public $userlog = null; /** * @param null|object $db */ public function __construct(&$db) { $this->userlog = Userlog::getInstance(); parent::__construct($db, "mod_userlog_log", 'UserlogLog', "log_id", "log_time"); } }


now it create this:
le="color: #000000"><?php class userloguserlog_logHandler extends XoopsPersistableObjectHandler { function __construct(&$db) { parent::__construct($db, "userlog_log", "userlog_log", "log_id", "log_time"); } }


5- bug: it always build the auto increment field class handler using the table name (TABLENAME_id) regardless of what i defined in table structure.

e.g: i add a table name = log
then i add a filed = id
but it always create the class like this:
le="color: #000000"><?php class userloguserlog_logHandler extends XoopsPersistableObjectHandler { function __construct(&$db) { parent::__construct($db, "userlog_log", "userlog_log", "log_id", "time_create"); } }


solution:
in TDMCreate\const\const_class.php line 112:
change this:
le="color: #000000"><?php parent::__construct($db, "'.$tables_module_table.'", "'.$tables_module_table.'", "'.$tables_name.'_id", "'.$champs_param_main_field.'");

with this:
le="color: #000000"><?php parent::__construct($db, "'.$tables_module_table.'", "'.$tables_module_table.'", "'.$champs_param_increment_field.'", "'.$champs_param_main_field.'");


and add this line
le="color: #000000"><?php if( $i == 0 ) { $champs_param_elements[$i] = '0'; $champs_param_display_form[$i] = '0'; $champs_param_increment_field = $champs[0]; // irmtfan added


the whole file would be this:
<?php /** * **************************************************************************** * - TDMCreate By TDM - TEAM DEV MODULE FOR XOOPS * - Licence GPL Copyright (c) (http://www.tdmxoops.net) * * Cette licence, contient des limitations!!! * * You may not change or alter any portion of this comment or credits * of supporting developers from this source code or any supporting source code * which is considered copyrighted (c) material of the original comment or credit authors. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * @license TDM GPL license * @author TDM TEAM DEV MODULE * * **************************************************************************** */ include_once XOOPS_ROOT_PATH.'/modules/TDMCreate/include/functions_const.php'; function const_class($modules, $modules_name, $tables_module_table, $tables_name, $tables_champs, $tables_parametres) { $language = '_AM_'.strtoupper($modules_name).'_'; $modules_name_minuscule = strtolower($modules_name); $class_name = $tables_name; $file = $modules_name.'_'.$class_name. ".php"; $path_file = TDM_CREATE_MURL."/".$modules_name."/class/".$file; $constructor = const_champs($modules_name, $tables_module_table, $tables_name, $tables_champs, $language, 0, 0, 0, 0); $en_tete = const_entete($modules, 0); //Champs $champs_total = explode("|", $tables_champs); $nb_champs = count($champs_total); //print_r($champs_total); //Parametres $parametres_total = explode("|", $tables_parametres); //Recuperation des parametres affichage dans le formulaire for($i=0; $i<$nb_champs; $i++) { $champs = explode(":", $champs_total[$i]); //Afficher dans les elements du formulaire et choisir le type if( $i == 0 ) { $champs_param_elements[$i] = '0'; $champs_param_display_form[$i] = '0'; $champs_param_increment_field = $champs[0]; // irmtfan added } else { $parametres1 = explode(":", $parametres_total[$i-1]); //print_r($parametres1); $champs_param_display_form[$i] = $parametres1[3]; $champs_param_elements[$i] = $parametres1[0]; $champs_param_required_field[$i] = $parametres1[6]; if ( $parametres1[4] == 1 ) { $champs_param_main_field = $champs[0]; } } } $form = const_champs($modules_name, $tables_module_table, $tables_name, $tables_champs, $language, $champs_param_display_form, $champs_param_elements,$champs_param_required_field, 1); $text = '<?php'.$en_tete.' if (!defined("XOOPS_ROOT_PATH")) { die("XOOPS root path not defined"); } class '.$tables_module_table.' extends XoopsObject { //Constructor function __construct() { $this->XoopsObject(); '; $text .= $constructor.' } function '.$tables_module_table.'() { $this->__construct(); } function getForm($action = false) { global $xoopsDB, $xoopsModuleConfig; if ($action === false) { $action = $_SERVER["REQUEST_URI"]; } $title = $this->isNew() ? sprintf('.$language.strtoupper($tables_name).'_ADD) : sprintf('.$language.strtoupper($tables_name).'_EDIT); include_once(XOOPS_ROOT_PATH."/class/xoopsformloader.php"); $form = new XoopsThemeForm($title, "form", $action, "post", true); $form->setExtra('enctype="multipart/form-data"'); '; $text .= ''.$form.''; $text .= ' $form->addElement(new XoopsFormHidden("op", "save_'.$tables_name.'")); $form->addElement(new XoopsFormButton("", "submit", _SUBMIT, "submit")); return $form; } }'; $text .= ' class '.$modules_name.$tables_module_table.'Handler extends XoopsPersistableObjectHandler { function __construct(&$db) { parent::__construct($db, "'.$tables_module_table.'", "'.$tables_module_table.'", "'.$champs_param_increment_field.'", "'.$champs_param_main_field.'"); } } ?>'; // irmtfan added createFile($path_file, $text, _AM_TDMCREATE_CONST_OK_CLASSES, _AM_TDMCREATE_CONST_NOTOK_CLASSES, $file); } ?>


7
timgno
Re: TDMCreate v1.39 Beta 1 for Testing
  • 2013/4/7 15:32

  • timgno

  • Module Developer

  • Posts: 1504

  • Since: 2007/6/21


Quote:
for xoops26 developing please create another folder in
http://svn.code.sf.net/p/xoops/svn/XoopsModules26/

For xoops 2.6, there is already a folder XoopsModule26/tdmcreate, looks good in XoopsModule26/tdmcreate/branches/2.01/timgno/tdmcreate

8
irmtfan
Re: TDMCreate v1.39 Beta 1 for Testing
  • 2013/4/8 4:23

  • irmtfan

  • Module Developer

  • Posts: 3419

  • Since: 2003/12/7


good. Now i find the 2.6.
so what is other versions is 255 releases folder like 1.59?
I think the most recent 255 one is:
http://svn.code.sf.net/p/xoops/svn/XoopsModules/TDMCreate/branches/timgno/1.39/

I will get it.

9
timgno
Re: TDMCreate v1.39 Beta 1 for Testing
  • 2013/4/8 20:07

  • timgno

  • Module Developer

  • Posts: 1504

  • Since: 2007/6/21


Once we have solved all bugs, the most stable version will be 1.39

10
timgno
Re: TDMCreate v1.39 RC 1 for Testing
  • 2013/5/12 13:05

  • timgno

  • Module Developer

  • Posts: 1504

  • Since: 2007/6/21


Updated to RC 1

Added more field:
min_php textbox in admin/modules.php
min_xoops textbox in admin/modules.php
min_admin textbox in admin/modules.php
min_mysql textbox in admin/modules.php

Is needed a new installation of the module
For more experienced users just create 4 more fields in the table tdmcreate_modules after uploading the files if you overwrite the beta 4

Pleace test it from my site

Login

Donat-O-Meter

Stats
Goal: $15.00
Due Date: Jul 31
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $15.00
Make donations with PayPal!