From: <txm...@us...> - 2015-01-24 14:14:39
|
Revision: 12947 http://sourceforge.net/p/xoops/svn/12947 Author: txmodxoops Date: 2015-01-24 14:14:37 +0000 (Sat, 24 Jan 2015) Log Message: ----------- Updated - Fixed bugs Modified Paths: -------------- XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/admin/fields.php XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/assets/css/admin/style.css XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/assets/js/fields.js XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/class/fields.php XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/class/files/include/IncludeFunctions.php XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/sql/mysql.sql XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/templates/admin/tdmcreate_fields.tpl XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/xoops_version.php Modified: XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/admin/fields.php =================================================================== --- XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/admin/fields.php 2015-01-24 14:10:57 UTC (rev 12946) +++ XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/admin/fields.php 2015-01-24 14:14:37 UTC (rev 12947) @@ -22,15 +22,11 @@ // Recovered value of arguments op in the URL $ $op = XoopsRequest::getString('op', 'list'); // Get fields Variables -/*$fieldMid = TDMCreate_CleanVars($_REQUEST, 'field_mid'); -$fieldTid = TDMCreate_CleanVars($_REQUEST, 'field_tid'); -$fieldNumb = TDMCreate_CleanVars($_REQUEST, 'field_numb'); -$fieldName = TDMCreate_CleanVars($_REQUEST, 'field_name', '', 'string');*/ $fieldMid = XoopsRequest::getInt('field_mid'); $fieldTid = XoopsRequest::getInt('field_tid'); $fieldNumb = XoopsRequest::getInt('field_numb'); $fieldName = XoopsRequest::getString('field_name'); /**/ -// +// switch op switch ($op) { case 'list': @@ -51,7 +47,6 @@ $GLOBALS['xoopsTpl']->assign('tdmc_upload_imgtab_url', TDMC_UPLOAD_IMGTAB_URL); $GLOBALS['xoopsTpl']->assign('modPathIcon16', $modPathIcon16); $GLOBALS['xoopsTpl']->assign('sysPathIcon32', $sysPathIcon32); - //var_dump($sysPathIcon32); // Redirect if there aren't modules $countModules = $tdmcreate->getHandler('modules')->getCount(); if ( $countModules == 0 ) { @@ -104,6 +99,7 @@ { $field['id'] = $fid; $field['lid'] = $lid; + $field['order'] = $fieldsAll[$fid]->getVar('field_order'); $field['name'] = str_replace('_', ' ', ucfirst($fieldsAll[$fid]->getVar('field_name'))); $field['parent'] = $fieldsAll[$fid]->getVar('field_parent'); $field['inlist'] = $fieldsAll[$fid]->getVar('field_inlist'); @@ -124,6 +120,7 @@ $GLOBALS['xoopsTpl']->append('tables_list', $table); unset($table); } + unset($fields); if ( $countTables > $limit ) { include_once XOOPS_ROOT_PATH . '/class/pagenav.php'; $pagenav = new XoopsPageNav($countTables, $limit, $start, 'start', 'op=list&limit=' . $limit); @@ -131,11 +128,7 @@ } } else { $GLOBALS['xoopsTpl']->assign('error', _AM_TDMCREATE_THEREARENT_FIELDS); - } - /*var_dump($fieldMid); - var_dump($fieldTid); - var_dump($fieldNumb); - var_dump($fieldName);*/ + } break; case 'new': @@ -150,12 +143,7 @@ // Form Add $fieldsObj =& $tdmcreate->getHandler('fields')->create(); $form = $fieldsObj->getFormNew($fieldMid, $fieldTid, $fieldNumb, $fieldName); - $GLOBALS['xoopsTpl']->assign('form', $form->render()); - // Test -> Will be removed - /*var_dump($fieldMid); - var_dump($fieldTid); - var_dump($fieldNumb); - var_dump($fieldName); */ + $GLOBALS['xoopsTpl']->assign('form', $form->render()); break; case 'save': @@ -165,23 +153,22 @@ } $fieldId = XoopsRequest::getInt('field_id'); // Fields Handler - $fields = $tdmcreate->getHandler('fields'); + $fields = $tdmcreate->getHandler('fields'); + $orderId = 1; // Set Variables foreach($_POST['field_id'] as $key => $value) { - switch($value){ - case 'new': - $fieldsObj =& $fields->create(); - break; - default: - $fieldsObj =& $fields->get($value); - break; + if(isset($value)){ + $fieldsObj =& $fields->get($value); + } else { + $fieldsObj =& $fields->create(); } if (isset($fieldMid) && isset($fieldTid) && !empty($_POST['field_name'][$key])) { // Set Data $fieldsObj->setVar( 'field_mid', $fieldMid ); $fieldsObj->setVar( 'field_tid', $fieldTid ); $fieldsObj->setVar( 'field_numb', $fieldNumb ); + $fieldsObj->setVar( 'field_order', (isset($_POST['field_order'][$key]) ? $_POST['field_order'][$key] : $orderId) ); $fieldsObj->setVar( 'field_name', (isset($_POST['field_name'][$key]) ? $_POST['field_name'][$key] : '') ); $fieldsObj->setVar( 'field_type', (isset($_POST['field_type'][$key]) ? $_POST['field_type'][$key] : '') ); $fieldsObj->setVar( 'field_value', (isset($_POST['field_value'][$key]) ? $_POST['field_value'][$key] : '') ); @@ -202,7 +189,9 @@ // Insert Data $tdmcreate->getHandler('fields')->insert($fieldsObj); } + $orderId++; } + unset($orderId); // Get table name from field table id $tables =& $tdmcreate->getHandler('tables')->get($fieldTid); $table_name = $tables->getVar('table_name'); @@ -240,39 +229,19 @@ $fieldId = XoopsRequest::getInt('field_id'); $fieldsObj = $tdmcreate->getHandler('fields')->get( $fieldId ); $form = $fieldsObj->getFormEdit($fieldMid, $fieldTid); - $GLOBALS['xoopsTpl']->assign('form', $form->render()); - // Test -> Will be removed - //var_dump($fieldTid); + $GLOBALS['xoopsTpl']->assign('form', $form->render()); break; - - case 'drag': - $side = TDMCreate_CleanVars( $_POST, 'field_id', 0, 'int' ); - $fieldId = XoopsRequest::getInt('field_id'); - if ( $fieldId > 0 ) { - $fieldsObj = $tdmcreate->getHandler('fields')->get( $fieldId ); - $fieldsObj->setVar('field_id', $side); - if (!$tdmcreate->getHandler('fields')->insert( $fieldsObj )) { - redirect_header('fields.php', 5, _AM_TDMCREATE_FIELD_SIDE_ERROR); - } - } - break; - + case 'order': - if ( isset($_POST['field_id'] ) ) { - $i = 0; - foreach($_POST['field_id'] as $order) { - if( $order > 0 ) { - $fieldsObj = $tdmcreate->getHandler('fields')->get( $order ); - $fieldsObj->setVar('field_id', $i); - if (!$tdmcreate->getHandler('fields')->insert( $fieldsObj )) { - redirect_header('fields.php', 5, _AM_TDMCREATE_FIELD_ORDER_ERROR); - } - $i++; - } - } - unset($i); - } - exit; + foreach($_GET['fieldItem'] as $order => $id) { + if( $order > 0 ) { + $fieldsObj = $tdmcreate->getHandler('fields')->get( $id ); + $fieldsObj->setVar('field_order', $order); + if (!$tdmcreate->getHandler('fields')->insert( $fieldsObj )) { + redirect_header('fields.php', 5, _AM_TDMCREATE_FIELD_ORDER_ERROR); + } + } + } break; case 'delete': Modified: XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/assets/css/admin/style.css =================================================================== --- XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/assets/css/admin/style.css 2015-01-24 14:10:57 UTC (rev 12946) +++ XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/assets/css/admin/style.css 2015-01-24 14:14:37 UTC (rev 12947) @@ -116,4 +116,37 @@ border: 1px dotted black; margin: 0 0.1em 1em 0; height: 50px; +} + +#info { + display: block; + padding: 10px; + margin-bottom: 20px; + border: 1px solid #333; + background-color: #efefef; +} + +.field-list tr { margin: 0; padding: 0; /*list-style: none;*/ } + +.field-list tr td { display: block; } + +.field-list tr td { + padding: 5px 2px; + margin-bottom: 3px; + background-color: #efefef; + background-image: -moz-linear-gradient(top, #efefef, #e1e1e1); + background-image: -webkit-gradient(linear, left top,left bottom, from(#efefef), to(#e1e1e1)); + background-image: linear-gradient(top, #efefef, #e1e1e1); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, StartColorStr=#efefef, EndColorStr=#e1e1e1); /* vale solo per IE */ + text-shadow:1px 1px 0 #fff; + color:#ff8400; +} + +.field-list tr td img.move { + margin-right: 20px; + cursor: move; + vertical-align: middle; +} +.field-list tr td strong { + vertical-align: middle; } \ No newline at end of file Modified: XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/assets/js/fields.js =================================================================== --- XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/assets/js/fields.js 2015-01-24 14:10:57 UTC (rev 12946) +++ XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/assets/js/fields.js 2015-01-24 14:14:37 UTC (rev 12947) @@ -1,5 +1,5 @@ // Jquery function for side fields -$(document).ready( function() { +/*$(document).ready( function() { // Controls Drag & Drop $('tbody tr.sortable td:nth-child(1) img').sortable({ update: function(event, ui) { @@ -29,4 +29,14 @@ icon.closest( ".portlet" ).find( ".portlet-content" ).toggle(); }); } -); +);*/ +// Quando la pagina è caricata definisci l'ordine attuale e gli elementi da riordinare +$(document).ready(function() { + $('.field-list').sortable({ //definisco il contenitore di elementi da riordinare + handle : '.move', //definisco con la classe .move quali sono gli elementi trascinabili + update : function () { //aggiorno l'ordine ed eseguo una callback + var order = $('.field-list').sortable('serialize'); // salvo una variabile che contiene l'array con il nuovo ordine degli elementi + $("#info").load("modules/tdmcreate/admin/fields.php?"+order); + } + }); +}); Modified: XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/class/fields.php =================================================================== --- XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/class/fields.php 2015-01-24 14:10:57 UTC (rev 12946) +++ XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/class/fields.php 2015-01-24 14:14:37 UTC (rev 12947) @@ -20,6 +20,7 @@ */ defined('XOOPS_ROOT_PATH') or die('Restricted access'); require_once 'html/TDMCreateFormLabel.php'; +require_once 'form/TDMCreateFormRadio.php'; require_once 'form/TDMCreateThemeForm.php'; /* * @Class TDMCreateFields @@ -42,7 +43,8 @@ $this->initVar('field_id', XOBJ_DTYPE_INT); $this->initVar('field_mid', XOBJ_DTYPE_INT); $this->initVar('field_tid', XOBJ_DTYPE_INT); - $this->initVar('field_numb', XOBJ_DTYPE_INT); + $this->initVar('field_numb', XOBJ_DTYPE_INT); + $this->initVar('field_order', XOBJ_DTYPE_INT); $this->initVar('field_name', XOBJ_DTYPE_TXTBOX); $this->initVar('field_type', XOBJ_DTYPE_TXTBOX); $this->initVar('field_value', XOBJ_DTYPE_TXTBOX); @@ -146,13 +148,14 @@ $class = ($class == 'even') ? 'odd' : 'even'; // Replaced creation of new line by new function - goffy $this->getFormNewLine($form, $class, $i, $field_mid, $field_tid, $f_name, $table_autoincrement); + //var_dump($i); } // Footer form return $fields_form->getFooterForm($form); } /* - * @public function getFormNewLine + * @private function getFormNewLine * * @param mixed $form * @param mixed $class @@ -164,9 +167,9 @@ * * @author timgno - modified in getFormNewLine by goffy */ - public function getFormNewLine($form, $class, $i, $field_mid, $field_tid, $f_name, $table_autoincrement) + private function getFormNewLine($form, $class, $i, $field_mid, $field_tid, $f_name, $table_autoincrement) { - $form->addElement(new XoopsFormHidden('field_id['.$i.']', 'new')); + $form->addElement(new XoopsFormHidden('field_id['.$i.']', 0)); $form->addElement(new XoopsFormHidden('field_mid', $field_mid)); $form->addElement(new XoopsFormHidden('field_tid', $field_tid)); @@ -246,11 +249,11 @@ $field_block = 0; $check_field_block = new XoopsFormCheckBox('', 'field_block['.$i.']', $field_block); $check_field_block->addOption(1, _AM_TDMCREATE_FIELD_BLOCK); - $parameters_tray->addElement($check_field_block); - - $field_main = ( $i == 1 ) ? 1 : 0; - $check_field_main = new XoopsFormRadio('', 'field_main['.$i.']', $field_main); - $check_field_main->addOption($i, _AM_TDMCREATE_FIELD_MAINFIELD ); + $parameters_tray->addElement($check_field_block); + + $main = ($table_autoincrement == 1) ? 2 : 1; + $check_field_main = new TDMCreateFormRadio('', 'field_main['.$i.']', $main); + $check_field_main->addOption($i, _AM_TDMCREATE_FIELD_MAINFIELD ); $parameters_tray->addElement($check_field_main); $field_search = 0; @@ -294,8 +297,9 @@ unset($criteria); $id = 1; foreach($fields as $field) { - $class = ($class == 'even') ? 'odd' : 'even'; - $field_id = $field->getVar('field_id'); + $main = $id; + $class = ($class == 'even') ? 'odd' : 'even'; + $field_id = intval($field->getVar('field_id')); if ($id>$table_nbfields) { //delete additional fields, if number of fields is reduced - goffy $fieldsObj =& $this->tdmcreate->getHandler('fields')->get( $field_id ); $this->tdmcreate->getHandler('fields')->delete($fieldsObj, true); @@ -309,28 +313,28 @@ // Index ID $form->addElement(new TDMCreateFormLabel('<td class="center">'.$id.'</td>')); // Field Name - $field_name = new XoopsFormText(_AM_TDMCREATE_FIELD_NAME, 'field_name['.$field_id.']', 15, 255, $field->getVar('field_name')); + $field_name = new XoopsFormText(_AM_TDMCREATE_FIELD_NAME, 'field_name['.$id.']', 15, 255, $field->getVar('field_name')); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$field_name->render().'</td>')); // Field Type - $fieldtype_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_type['.$field_id.']', $field->getVar('field_type')); + $fieldtype_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_type['.$id.']', $field->getVar('field_type')); $fieldtype_select->addOptionArray($this->tdmcreate->getHandler('fieldtype')->getList()); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$fieldtype_select->render().'</td>')); // Field Value - $field_value = new XoopsFormText(_AM_TDMCREATE_FIELD_VALUE, 'field_value['.$field_id.']', 5, 20, $field->getVar('field_value')); + $field_value = new XoopsFormText(_AM_TDMCREATE_FIELD_VALUE, 'field_value['.$id.']', 5, 20, $field->getVar('field_value')); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$field_value->render().'</td>')); // Field Attributes - $field_attributes_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_attribute['.$field_id.']', $field->getVar('field_attribute')); + $field_attributes_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_attribute['.$id.']', $field->getVar('field_attribute')); $field_attributes_select->addOptionArray($this->tdmcreate->getHandler('fieldattributes')->getList()); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$field_attributes_select->render().'</td>')); // Field Null - $field_null_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_NULL, 'field_null['.$field_id.']', $field->getVar('field_null')); + $field_null_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_NULL, 'field_null['.$id.']', $field->getVar('field_null')); $field_null_select->addOptionArray($this->tdmcreate->getHandler('fieldnull')->getList()); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$field_null_select->render().'</td>')); // Field Default - $field_default = new XoopsFormText(_AM_TDMCREATE_FIELD_DEFAULT, 'field_default['.$field_id.']', 15, 25, $field->getVar('field_default')); + $field_default = new XoopsFormText(_AM_TDMCREATE_FIELD_DEFAULT, 'field_default['.$id.']', 15, 25, $field->getVar('field_default')); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$field_default->render().'</td>')); // Field Key - $field_key_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_KEY, 'field_key['.$field_id.']', $field->getVar('field_key')); + $field_key_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_KEY, 'field_key['.$id.']', $field->getVar('field_key')); $field_key_select->addOptionArray($this->tdmcreate->getHandler('fieldkey')->getList()); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$field_key_select->render().'</td>')); // Field Void @@ -345,59 +349,63 @@ $criteria_element->add(new Criteria('fieldelement_tid', 0)); $criteria_table = new CriteriaCompo(); $criteria_table->add(new Criteria('fieldelement_mid', $field_mid)); - $field_elements_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_ELEMENT_NAME, 'field_element['.$field_id.']', $field->getVar('field_element')); + $field_elements_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_ELEMENT_NAME, 'field_element['.$id.']', $field->getVar('field_element')); $field_elements_select->addOptionArray($this->tdmcreate->getHandler('fieldelements')->getList($criteria_element)); $field_elements_select->addOptionArray($this->tdmcreate->getHandler('fieldelements')->getList($criteria_table)); unset($criteria_element); unset($criteria_table); $parameters_tray->addElement($field_elements_select); - $check_field_parent = new XoopsFormCheckBox(' ', 'field_parent['.$field_id.']', $field->getVar('field_parent')); + $check_field_parent = new XoopsFormCheckBox(' ', 'field_parent['.$id.']', $field->getVar('field_parent')); $check_field_parent->addOption(1, _AM_TDMCREATE_FIELD_PARENT ); $parameters_tray->addElement($check_field_parent); - $check_field_inlist = new XoopsFormCheckBox(' ', 'field_inlist['.$field_id.']', $field->getVar('field_inlist')); + $check_field_inlist = new XoopsFormCheckBox(' ', 'field_inlist['.$id.']', $field->getVar('field_inlist')); $check_field_inlist->addOption(1, _AM_TDMCREATE_FIELD_INLIST); $parameters_tray->addElement($check_field_inlist); - $check_field_inform = new XoopsFormCheckBox(' ', 'field_inform['.$field_id.']', $field->getVar('field_inform')); + $check_field_inform = new XoopsFormCheckBox(' ', 'field_inform['.$id.']', $field->getVar('field_inform')); $check_field_inform->addOption(1, _AM_TDMCREATE_FIELD_INFORM); $parameters_tray->addElement($check_field_inform); - $check_field_admin = new XoopsFormCheckBox(' ', 'field_admin['.$field_id.']', $field->getVar('field_admin')); + $check_field_admin = new XoopsFormCheckBox(' ', 'field_admin['.$id.']', $field->getVar('field_admin')); $check_field_admin->addOption(1, _AM_TDMCREATE_FIELD_ADMIN); $parameters_tray->addElement($check_field_admin); - $check_field_user = new XoopsFormCheckBox(' ', 'field_user['.$field_id.']', $field->getVar('field_user')); + $check_field_user = new XoopsFormCheckBox(' ', 'field_user['.$id.']', $field->getVar('field_user')); $check_field_user->addOption(1, _AM_TDMCREATE_FIELD_USER); $parameters_tray->addElement($check_field_user); - $check_field_block = new XoopsFormCheckBox('', 'field_block['.$field_id.']', $field->getVar('field_block')); + $check_field_block = new XoopsFormCheckBox('', 'field_block['.$id.']', $field->getVar('field_block')); $check_field_block->addOption(1, _AM_TDMCREATE_FIELD_BLOCK); $parameters_tray->addElement($check_field_block); - $field_main = $field->getVar('field_main'); - $check_field_main = new XoopsFormRadio('', 'field_main['.$field_id.']', $field_main); - $check_field_main->addOption($field_id, _AM_TDMCREATE_FIELD_MAINFIELD ); - $parameters_tray->addElement($check_field_main); + $field_main[$field_id] = $field->getVar('field_main'); + $main_field = ($field_main[$field_id] == 1) ? $id : 1; + $check_field_main = new TDMCreateFormRadio('', 'field_main', $main_field); + $check_field_main->addOption($main, _AM_TDMCREATE_FIELD_MAINFIELD ); + $parameters_tray->addElement($check_field_main); - $check_field_search = new XoopsFormCheckBox(' ', 'field_search['.$field_id.']', $field->getVar('field_search')); + $check_field_search = new XoopsFormCheckBox(' ', 'field_search['.$id.']', $field->getVar('field_search')); $check_field_search->addOption(1, _AM_TDMCREATE_FIELD_SEARCH); $parameters_tray->addElement($check_field_search); - $check_field_required = new XoopsFormCheckBox(' ', 'field_required['.$field_id.']', $field->getVar('field_required')); + $check_field_required = new XoopsFormCheckBox(' ', 'field_required['.$id.']', $field->getVar('field_required')); $check_field_required->addOption(1, _AM_TDMCREATE_FIELD_REQUIRED); $parameters_tray->addElement($check_field_required); $form->addElement(new TDMCreateFormLabel('<td><div class="portlet"><div class="portlet-header">'._AM_TDMCREATE_FIELD_PARAMETERS_LIST.'</div><div class="portlet-content">'.$parameters_tray->render().'</div></div></td></tr>')); } $id++; } + var_dump($main); + var_dump($id); + //var_dump($field_id); } // If you change number fields in tables, // adding missing fields or delete unnecessary fields // By goffy for ($i = $id; $i <= $table_nbfields; $i++) { $class = ($class == 'even') ? 'odd' : 'even'; - $this->getFormNewLine($form, $class, $i, $field_mid, $field_tid, $f_name, 0); + $this->getFormNewLine($form, $class, $i, $field_mid, $field_tid, $f_name, $table_autoincrement); } unset($id); // Footer form Modified: XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/class/files/include/IncludeFunctions.php =================================================================== --- XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/class/files/include/IncludeFunctions.php 2015-01-24 14:10:57 UTC (rev 12946) +++ XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/class/files/include/IncludeFunctions.php 2015-01-24 14:14:37 UTC (rev 12947) @@ -136,12 +136,143 @@ } else { // Compatibility for old Xoops versions \$xoopsTpl->assign('xoops_meta_description', strip_tags(\$content)); } +}\n +EOT; + return $ret; + } + + /* + * @public function getRewriteUrl + * @param string $moduleDirname + * @param string $tableName + */ + public function getRewriteUrl($moduleDirname, $tableName) { + $ucfModuleDirname = ucfirst($moduleDirname); + $ret = <<<EOT +\n/** + * Rewrite all url + * + * @String $module module name + * @String $array array + * @return $type string replacement for any blank case + */ +function {$moduleDirname}_RewriteUrl(\$module, \$array, \$type = 'content') +{ + \$comment = ''; + \${$moduleDirname} = {$ucfModuleDirname}Helper::getInstance(); + \${$tableName} = \${$moduleDirname}->getHandler('{$tableName}'); + \$lenght_id = \${$moduleDirname}->getConfig('lenght_id'); + \$rewrite_url = \${$moduleDirname}->getConfig('rewrite_url'); + + if (\$lenght_id != 0) { + \$id = \$array['content_id']; + while (strlen($id) < \$lenght_id) + \$id = "0" . $id; + } else { + \$id = \$array['content_id']; + } + + if (isset(\$array['topic_alias']) && \$array['topic_alias']) { + \$topic_name = \$array['topic_alias']; + } else { + \$topic_name = {$moduleDirname}_Filter(xoops_getModuleOption('static_name', \$module)); + } + + switch (\$rewrite_url) { + + case 'none': + if(\$topic_name) { + \$topic_name = 'topic=' . \$topic_name . '&'; + } + \$rewrite_base = '/modules/'; + \$page = 'page=' . \$array['content_alias']; + return XOOPS_URL . \$rewrite_base . \$module . '/' . \$type . '.php?' . \$topic_name . 'id=' . \$id . '&' . \$page . \$comment; + break; + + case 'rewrite': + if(\$topic_name) { + \$topic_name = \$topic_name . '/'; + } + \$rewrite_base = xoops_getModuleOption('rewrite_mode', \$module); + \$rewrite_ext = xoops_getModuleOption('rewrite_ext', \$module); + \$module_name = ''; + if(xoops_getModuleOption('rewrite_name', \$module)) { + \$module_name = xoops_getModuleOption('rewrite_name', \$module) . '/'; + } + \$page = \$array['content_alias']; + \$type = \$type . '/'; + \$id = \$id . '/'; + if (\$type == 'content/') \$type = ''; + + if (\$type == 'comment-edit/' || \$type == 'comment-reply/' || \$type == 'comment-delete/') { + return XOOPS_URL . \$rewrite_base . \$module_name . \$type . \$id . '/'; + } + + return XOOPS_URL . \$rewrite_base . \$module_name . \$type . \$topic_name . \$id . \$page . \$rewrite_ext; + break; + + case 'short': + if(\$topic_name) { + \$topic_name = \$topic_name . '/'; + } + \$rewrite_base = xoops_getModuleOption('rewrite_mode', \$module); + \$rewrite_ext = xoops_getModuleOption('rewrite_ext', \$module); + \$module_name = ''; + if(xoops_getModuleOption('rewrite_name', \$module)) { + \$module_name = xoops_getModuleOption('rewrite_name', \$module) . '/'; + } + \$page = \$array['content_alias']; + \$type = \$type . '/'; + if (\$type == 'content/') \$type = ''; + + if (\$type == 'comment-edit/' || \$type == 'comment-reply/' || \$type == 'comment-delete/') { + return XOOPS_URL . \$rewrite_base . \$module_name . \$type . \$id . '/'; + } + + return XOOPS_URL . \$rewrite_base . \$module_name . \$type . \$topic_name . \$page . \$rewrite_ext; + break; + } } EOT; return $ret; } /* + * @public function getRewriteFilter + * @param string $moduleDirname + * @param string $tableName + */ + public function getRewriteFilter($moduleDirname, $tableName) { + $ucfModuleDirname = ucfirst($moduleDirname); + $ret = <<<EOT +\n/** + * Replace all escape, character, ... for display a correct url + * + * @String $url string to transform + * @String $type string replacement for any blank case + * @return $url + */ +function {$moduleDirname}_Filter(\$url, \$type = '', \$module = '{$moduleDirname}') { + + // Get regular expression from module setting. default setting is : `[^a-z0-9]`i + \${$moduleDirname} = {$ucfModuleDirname}Helper::getInstance(); + \${$tableName} = \${$moduleDirname}->getHandler('{$tableName}'); + \$regular_expression = \${$moduleDirname}->getConfig('regular_expression'); + + \$url = strip_tags(\$url); + \$url = preg_replace("`\[.*\]`U", "", \$url); + \$url = preg_replace('`&(amp;)?#?[a-z0-9]+;`i', '-', \$url); + \$url = htmlentities($url, ENT_COMPAT, 'utf-8'); + \$url = preg_replace("`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig);`i", "\\1", \$url); + \$url = preg_replace(array($regular_expression, "`[-]+`"), "-", \$url); + \$url = (\$url == "") ? \$type : strtolower(trim(\$url, '-')); + return \$url; +} +EOT; + return $ret; + } + + /* * @public function render * @param null */ Modified: XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/sql/mysql.sql =================================================================== --- XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/sql/mysql.sql 2015-01-24 14:10:57 UTC (rev 12946) +++ XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/sql/mysql.sql 2015-01-24 14:14:37 UTC (rev 12947) @@ -91,6 +91,7 @@ `field_mid` INT(5) UNSIGNED NOT NULL DEFAULT '0', `field_tid` INT(5) UNSIGNED NOT NULL DEFAULT '0', `field_numb` INT(10) UNSIGNED NOT NULL DEFAULT '0', + `field_order` INT(10) UNSIGNED NOT NULL DEFAULT '0', `field_name` VARCHAR(255) NOT NULL DEFAULT '', `field_type` VARCHAR(100) NOT NULL DEFAULT '', `field_value` CHAR(4) NOT NULL DEFAULT '', Modified: XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/templates/admin/tdmcreate_fields.tpl =================================================================== --- XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/templates/admin/tdmcreate_fields.tpl 2015-01-24 14:10:57 UTC (rev 12946) +++ XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/templates/admin/tdmcreate_fields.tpl 2015-01-24 14:14:37 UTC (rev 12947) @@ -54,37 +54,10 @@ <img src="<{xoModuleIcons16 delete.png}>" alt="<{$smarty.const._DELETE}>" /> </a> </td> - </tr> - <{foreach item=field from=$table.fields}> - <{if $field.id > 0}> - <tr class="<{cycle values='even,odd'}> sortable toggleChild"> - <td class='center'>[<{$field.lid}>] <img class="move" src="<{$modPathIcon16}>/drag.png" alt="<{$field.name}>" /></td> - <td class='center'><{$field.name}></td> - <td class='center'><img src="<{$modPathIcon16}>/tables.png" alt="Empty" /></td> - <td class='center'><img src="<{$modPathIcon16}>/tables.png" alt="Empty" /></td> - <td class='center'><img id="loading_img_parent<{$field.id}>" src="<{$modPathIcon16}>/spinner.gif" style="display:none;" title="<{$smarty.const._AM_SYSTEM_LOADING}>" alt="<{$smarty.const._AM_SYSTEM_LOADING}>" /><img style="cursor:pointer;" class="tooltip" id="img_parent<{$field.id}>" onclick="tdmcreate_setStatus( { op: 'display', field_id: <{$field.id}>, field_parent: <{if $field.parent}>0<{else}>1<{/if}> }, 'img_parent<{$field.id}>', 'fields.php' )" src="<{xoModuleIcons16}><{$field.parent}>.png" alt="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" title="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" /> - </td> - <td class='center'><img id="loading_img_inlist<{$field.id}>" src="<{$modPathIcon16}>/spinner.gif" style="display:none;" title="<{$smarty.const._AM_SYSTEM_LOADING}>" alt="<{$smarty.const._AM_SYSTEM_LOADING}>" /><img style="cursor:pointer;" class="tooltip" id="img_inlist<{$field.id}>" onclick="tdmcreate_setStatus( { op: 'display', field_id: <{$field.id}>, field_inlist: <{if $field.inlist}>0<{else}>1<{/if}> }, 'img_inlist<{$field.id}>', 'fields.php' )" src="<{xoModuleIcons16}><{$field.inlist}>.png" alt="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" title="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" /> - </td> - <td class='center'><img id="loading_img_inform<{$field.id}>" src="<{$modPathIcon16}>/spinner.gif" style="display:none;" title="<{$smarty.const._AM_SYSTEM_LOADING}>" alt="<{$smarty.const._AM_SYSTEM_LOADING}>" /><img style="cursor:pointer;" class="tooltip" id="img_inform<{$field.id}>" onclick="tdmcreate_setStatus( { op: 'display', field_id: <{$field.id}>, field_inform: <{if $field.inform}>0<{else}>1<{/if}> }, 'img_inform<{$field.id}>', 'fields.php' )" src="<{xoModuleIcons16}><{$field.inform}>.png" alt="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" title="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" /> - </td> - <td class='center'><img id="loading_img_admin<{$field.id}>" src="<{$modPathIcon16}>/spinner.gif" style="display:none;" title="<{$smarty.const._AM_SYSTEM_LOADING}>" alt="<{$smarty.const._AM_SYSTEM_LOADING}>" /><img style="cursor:pointer;" class="tooltip" id="img_admin<{$field.id}>" onclick="tdmcreate_setStatus( { op: 'display', field_id: <{$field.id}>, field_admin: <{if $field.admin}>0<{else}>1<{/if}> }, 'img_admin<{$field.id}>', 'fields.php' )" src="<{xoModuleIcons16}><{$field.admin}>.png" alt="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" title="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" /> - </td> - <td class='center'><img id="loading_img_user<{$field.id}>" src="<{$modPathIcon16}>/spinner.gif" style="display:none;" title="<{$smarty.const._AM_SYSTEM_LOADING}>" alt="<{$smarty.const._AM_SYSTEM_LOADING}>" /><img style="cursor:pointer;" class="tooltip" id="img_user<{$field.id}>" onclick="tdmcreate_setStatus( { op: 'display', field_id: <{$field.id}>, field_user: <{if $field.user}>0<{else}>1<{/if}> }, 'img_user<{$field.id}>', 'fields.php' )" src="<{xoModuleIcons16}><{$field.user}>.png" alt="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" title="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" /> - </td> - <td class='center'><img id="loading_img_block<{$field.id}>" src="<{$modPathIcon16}>/spinner.gif" style="display:none;" title="<{$smarty.const._AM_SYSTEM_LOADING}>" alt="<{$smarty.const._AM_SYSTEM_LOADING}>" /><img style="cursor:pointer;" class="tooltip" id="img_block<{$field.id}>" onclick="tdmcreate_setStatus( { op: 'display', field_id: <{$field.id}>, field_block: <{if $field.block}>0<{else}>1<{/if}> }, 'img_block<{$field.id}>', 'fields.php' )" src="<{xoModuleIcons16}><{$field.block}>.png" alt="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" title="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" /> - </td> - <td class='center'><img id="loading_img_main<{$field.id}>" src="<{$modPathIcon16}>/spinner.gif" style="display:none;" title="<{$smarty.const._AM_SYSTEM_LOADING}>" alt="<{$smarty.const._AM_SYSTEM_LOADING}>" /><img style="cursor:pointer;" class="tooltip" id="img_main<{$field.id}>" onclick="tdmcreate_setStatus( { op: 'display', field_id: <{$field.id}>, field_main: <{if $field.main}>0<{else}>1<{/if}> }, 'img_main<{$field.id}>', 'fields.php' )" src="<{xoModuleIcons16}><{$field.main}>.png" alt="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" title="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" /> - </td> - <td class='center'><img id="loading_img_search<{$field.id}>" src="<{$modPathIcon16}>/spinner.gif" style="display:none;" title="<{$smarty.const._AM_SYSTEM_LOADING}>" alt="<{$smarty.const._AM_SYSTEM_LOADING}>" /><img style="cursor:pointer;" class="tooltip" id="img_search<{$field.id}>" onclick="tdmcreate_setStatus( { op: 'display', field_id: <{$field.id}>, field_search: <{if $field.search}>0<{else}>1<{/if}> }, 'img_search<{$field.id}>', 'fields.php' )" src="<{xoModuleIcons16}><{$field.search}>.png" alt="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" title="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" /> - </td> - <td class='center'> - <img id="loading_img_required<{$field.id}>" src="<{$modPathIcon16}>/spinner.gif" style="display:none;" title="<{$smarty.const._AM_SYSTEM_LOADING}>" alt="<{$smarty.const._AM_SYSTEM_LOADING}>" /><img style="cursor:pointer;" class="tooltip" id="img_required<{$field.id}>" onclick="tdmcreate_setStatus( { op: 'display', field_id: <{$field.id}>, field_required: <{if $field.required}>0<{else}>1<{/if}> }, 'img_required<{$field.id}>', 'fields.php' )" src="<{xoModuleIcons16}><{$field.required}>.png" alt="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" title="<{$smarty.const._AM_TDMCREATE_CHANGE_DISPLAY}> <{$field.name}>" /> - </td> - <td class='center'><img src="<{$modPathIcon16}>/left_right.png" alt="Empty" /></td> - </tr> - <{/if}> - <{/foreach}> + </tr> + <tr class="toggleChild"> + <td id="sortable" colspan="14" class='center'><{includeq file="db:tdmcreate_fields_item.tpl" table=$table}></td> + </tr> <{/foreach}> </tbody> </table><br /><br /> Modified: XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/xoops_version.php =================================================================== --- XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/xoops_version.php 2015-01-24 14:10:57 UTC (rev 12946) +++ XoopsModules/TDMCreate/branches/timgno/1.91/tdmcreate/xoops_version.php 2015-01-24 14:14:37 UTC (rev 12947) @@ -71,6 +71,7 @@ $modversion['templates'][] = array( 'file' => 'tdmcreate_about.tpl', 'description' => '', 'type' => 'admin' ); $modversion['templates'][] = array( 'file' => 'tdmcreate_building.tpl', 'description' => '', 'type' => 'admin' ); $modversion['templates'][] = array( 'file' => 'tdmcreate_fields.tpl', 'description' => '', 'type' => 'admin' ); +$modversion['templates'][] = array( 'file' => 'tdmcreate_fields_item.tpl', 'description' => '', 'type' => 'admin' ); $modversion['templates'][] = array( 'file' => 'tdmcreate_footer.tpl', 'description' => '', 'type' => 'admin' ); $modversion['templates'][] = array( 'file' => 'tdmcreate_header.tpl', 'description' => '', 'type' => 'admin' ); $modversion['templates'][] = array( 'file' => 'tdmcreate_index.tpl', 'description' => '', 'type' => 'admin' ); |