diff --git a/modules/formulize/admin/reorder_entry_elements.php b/modules/formulize/admin/reorder_entry_elements.php new file mode 100644 index 000000000..35dc994a8 --- /dev/null +++ b/modules/formulize/admin/reorder_entry_elements.php @@ -0,0 +1,61 @@ +getGroups(); +$mid = getFormulizeModId(); +$permissionToCheck = "module_admin"; +$itemToCheck = $mid; +$moduleToCheck = 1; // system module +if(!$gperm_handler->checkRight($permissionToCheck, $itemToCheck, $groups, $moduleToCheck)) { + print "Error: you do not have permission to save this data"; + return; +} + + +$formulizeForm = new formulizeForm(); + +//error_log($_POST["ele_id"]." ".$_POST["ele_order"]); +$return=$formulizeForm->reorderElements($_POST["ele_id"],$_POST["ele_order"]); + + diff --git a/modules/formulize/class/forms.php b/modules/formulize/class/forms.php index ab248ec48..21ce5bf9d 100644 --- a/modules/formulize/class/forms.php +++ b/modules/formulize/class/forms.php @@ -36,6 +36,18 @@ include_once XOOPS_ROOT_PATH.'/modules/formulize/include/functions.php'; class formulizeForm extends XoopsObject { + +function reorderElements($ele_id,$ele_order){ + global $xoopsDB; + //given an element id and element order, reset the element's order in the formulize table + + $sql = "UPDATE ".$xoopsDB->prefix('formulize'); + $sql .= " SET ele_order=".$ele_order; + $sql .= " WHERE ele_id=".$ele_id; + if ( ! $xoopsDB->queryF($sql) ){ + echo( $xoopsDB->error." : error number:".$xoopsDB->errno ); + } +} function checkFormOwnership($id_form,$form_handle){ global $xoopsDB; diff --git a/modules/formulize/include/formdisplay.php b/modules/formulize/include/formdisplay.php index abe99c5b1..c6a42b900 100644 --- a/modules/formulize/include/formdisplay.php +++ b/modules/formulize/include/formdisplay.php @@ -33,6 +33,10 @@ //THIS FILE HANDLES THE DISPLAY OF FORMS. FUNCTIONS CAN BE CALLED FROM ANYWHERE (INTENDED FOR PAGEWORKS MODULE) +global $xoopsDB, $xoopsUser; + + + global $xoopsConfig; // load the formulize language constants if they haven't been loaded already if ( file_exists(XOOPS_ROOT_PATH."/modules/formulize/language/".$xoopsConfig['language']."/main.php") ) { @@ -46,6 +50,7 @@ include_once XOOPS_ROOT_PATH."/class/xoopsformloader.php"; include_once XOOPS_ROOT_PATH . "/include/functions.php"; + // NEED TO USE OUR OWN VERSION OF THE CLASS, TO GET ELEMENT NAMES IN THE TR TAGS FOR EACH ROW class formulize_themeForm extends XoopsThemeForm { /** @@ -72,6 +77,15 @@ public function insertBreakFormulize($extra = '', $class= '', $name, $element_ha * @return string */ public function render() { + + global $xoopsUser, $gperm_handler; + //Check if user is an admin + $groups = $xoopsUser->getGroups(); + $mid = getFormulizeModId(); + $permissionToCheck = "module_admin"; + $itemToCheck = $mid; + $moduleToCheck = 1; // system module + $isAdmin=$gperm_handler->checkRight($permissionToCheck, $itemToCheck, $groups, $moduleToCheck); $ele_name = $this->getName(); $ret = "
\n"; + + #some javascript for updating the elements in the table + #only allow the user to reorganize if user is an admin + if($isAdmin){ + $ret .= ' + + + + +