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 = "
_drawElements($this->getElements(), $ret, $hidden); $ret .= "\n$hidden\n\n
\n"; + + #some javascript for updating the elements in the table + #only allow the user to reorganize if user is an admin + if($isAdmin){ + $ret .= ' + + + + + + '; + } $ret .= $this->renderValidationJS(true); return $ret; } @@ -103,7 +184,6 @@ public function renderValidationJS( $withtags = true, $skipConditionalCheck = fa } return $js; } - function _drawElements($elements, $ret, $hidden) { $class ='even'; @@ -166,6 +246,8 @@ function _drawElements($elements, $ret, $hidden) { return array($ret, $hidden); } + + // need to check whether the element is a standard element, if if so, add the check for whether its row exists or not function _drawValidationJS($skipConditionalCheck) { $fullJs = ""; @@ -2548,6 +2630,7 @@ function writeHiddenSettings($settings, $form = null) { // draw in javascript for this form that is relevant to subforms // $nosave indicates that the user cannot save this entry, so we shouldn't check for formulizechanged function drawJavascript($nosave) { + static $drawnJavascript = false; if($drawnJavascript) { return; @@ -2790,9 +2873,11 @@ function drawJavascriptForConditionalElements($conditionalElements, $governingEl print " "; } diff --git a/modules/formulize/templates/admin/form_elements.html b/modules/formulize/templates/admin/form_elements.html index c02be87dc..76ffae9c0 100644 --- a/modules/formulize/templates/admin/form_elements.html +++ b/modules/formulize/templates/admin/form_elements.html @@ -11,7 +11,8 @@ - + +

<{$smarty.const._AM_ELE_ADDINGTOFORM}>

<{$smarty.const._AM_ELE_CLICKTOADD}>

diff --git a/themes/formulize_mobile_app/style_admin.css b/themes/formulize_mobile_app/style_admin.css index 2170ed26e..8e678f526 100644 --- a/themes/formulize_mobile_app/style_admin.css +++ b/themes/formulize_mobile_app/style_admin.css @@ -1,6 +1,6 @@ html, body { - background: white; - color: black; + background: #ffffff; + color: #000; margin: 0; padding: 0; font-family: Verdana, Arial, Helvetica, sans-serif; @@ -20,7 +20,7 @@ img { border: 0; } a { - color: #8fbe58; + color: #8fBe58; text-decoration: none; font-weight: bold; } @@ -49,7 +49,7 @@ h6 { color: #F3AC03; font-weight: bold; padding-bottom: 3px; - border-bottom: 1px dashed #8dbde1; } + border-bottom: 1px dashed #8DBDE1; } /* ---------- Column left/right rules ---------- */ /* ------ Main content ------ */ @@ -85,7 +85,7 @@ h6 { border-top: 5px solid #82bcde; } #xo-footer a { - color: white; } + color: #fff; } #xo-footer a:hover { color: #cccccc; } @@ -93,8 +93,8 @@ h6 { /* ---------- Module display rules ---------- */ #xo-content { padding: 5px; - background-color: white; - color: black; + background-color: #ffffff; + color: #000; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } @@ -111,7 +111,7 @@ h6 { font-weight: bold; padding: 10px; text-align: center; - border: 2px solid #ddddff; } + border: 2px solid #DDDDFF; } /* ---------- Site close ------------ */ #xo-siteclose-login { @@ -126,12 +126,12 @@ h6 { padding: 2px; margin: 0px; text-align: center; - border: 1px solid #ddddff; } + border: 1px solid #DDDDFF; } #xo-siteclose-login form { padding: 5px 0; margin: 0; - border: 1px solid #ddddff; + border: 1px solid #DDDDFF; text-align: center; } #xo-siteclose-login input { @@ -154,15 +154,15 @@ h6 { clear: both; height: 90px; position: relative; - background-color: white; + background-color: #ffffff; margin-left: 0px; margin-right: 0px; border-bottom: 10px solid #e6e6e6; - background: -webkit-linear-gradient(top, white, #fafafa); - background: -moz-linear-gradient(top, white, #fafafa); - background: -ms-linear-gradient(top, white, #fafafa); - background: -o-linear-gradient(top, white, #fafafa); - background: linear-gradient(to bottom, white, #fafafa); } + background: -webkit-linear-gradient(top, #ffffff, #fafafa); + background: -moz-linear-gradient(top, #ffffff, #fafafa); + background: -ms-linear-gradient(top, #ffffff, #fafafa); + background: -o-linear-gradient(top, #ffffff, #fafafa); + background: linear-gradient(to bottom, #ffffff, #fafafa); } #xo-headerlogo { float: left; @@ -189,7 +189,7 @@ h6 { background: -ms-linear-gradient(top, #59a7d4, #3391c7); background: -o-linear-gradient(top, #59a7d4, #3391c7); background: linear-gradient(to bottom, #59a7d4, #3391c7); - color: white; + color: #fff; font-weight: normal; padding: 0.5em 0.75em; margin: 0 0.25em; @@ -288,7 +288,7 @@ h6 { text-align: left; } #xo-canvas-leftcolumn .xo-blocktitle h3 { - color: #8fbe58; + color: #8fBe58; font-weight: bold; font-size: larger; margin: 0; @@ -299,7 +299,7 @@ h6 { text-align: right; } #xo-canvas-rightcolumn .xo-blocktitle h3 { - color: #8fbe58; + color: #8fBe58; font-weight: bold; font-size: larger; margin: 0; @@ -314,18 +314,18 @@ h6 { /* ------ Center column content ------ */ #xo-page th { - color: black; } + color: #000; } #xo-page .xo-block { margin-bottom: 5px; } #xo-page .xo-blocktitle { padding: .2em; - margin: 0 0.5em; + margin: 0 .5em; text-align: center; } #xo-page .xo-blocktitle h3 { - color: black; + color: #000; font-weight: bold; padding: 0; margin: 0; } @@ -333,7 +333,7 @@ h6 { #xo-page .xo-blockcontent { padding: .5em; background-color: #F2F2F2; - border-top: 4px solid #f3ac03; } + border-top: 4px solid #F3AC03; } /* Start Main Menu */ #mainmenu { @@ -343,7 +343,7 @@ h6 { display: block; margin: 0; padding: 4px; - color: #8fbe58; } + color: #8fBe58; } #mainmenu a:hover { color: #689138; } @@ -356,10 +356,10 @@ h6 { #mainmenu a.menuSub { padding-left: 17px; - color: #8fbe58; } + color: #8fBe58; } #mainmenu a.menuSub:hover { - color: #8fbe58; } + color: #8fBe58; } /* End Main Menu */ /* Start User Menu */ @@ -367,19 +367,19 @@ h6 { font-size: .8em; } #usermenu a { - color: #8fbe58; + color: #8fBe58; display: block; margin: 0; padding: 4px; - border-right: 1px solid #666666; - border-bottom: 1px solid #666666; - border-left: 1px solid #cccccc; } + border-right: 1px solid #666; + border-bottom: 1px solid #666; + border-left: 1px solid #ccc; } #usermenu a:hover { color: #689138; } #usermenu a.menuTop { - border-top: 1px solid #cccccc; } + border-top: 1px solid #ccc; } #usermenu a.highlight { background-color: #fcc; @@ -396,8 +396,8 @@ table td { vertical-align: top; } th { - background-color: white; - color: black; + background-color: #ffffff; + color: #000; padding: 2px; vertical-align: middle; } @@ -409,28 +409,28 @@ th { td.head { background-color: #59a7d4; - color: white; + color: #fff; font-weight: bold; padding: 0.5em 1em 0.5em 0.4em; } .even, tr.even td { - background-color: white; - color: black; + background-color: #ffffff; + color: #000; padding: 5px; } .odd, tr.odd td { background-color: #e6e6e6; - color: black; + color: #000; padding: 5px; } .foot { - background-color: white; + background-color: #ffffff; color: inherit; padding: 5px; font-weight: bold; } th { - background-color: white !important; + background-color: #ffffff !important; /* TODO: why important?? */ } /* core messages */ @@ -438,10 +438,10 @@ th { background-color: #FFCCCC; color: inherit; text-align: center; - border-top: 1px solid #ddddff; - border-left: 1px solid #ddddff; - border-right: 1px solid #aaaaaa; - border-bottom: 1px solid #aaaaaa; + border-top: 1px solid #DDDDFF; + border-left: 1px solid #DDDDFF; + border-right: 1px solid #aaa; + border-bottom: 1px solid #aaa; font-weight: bold; padding: 10px; } @@ -449,10 +449,10 @@ th { background-color: #DDFFDF; color: #136C99; text-align: center; - border-top: 1px solid #ddddff; - border-left: 1px solid #ddddff; - border-right: 1px solid #aaaaaa; - border-bottom: 1px solid #aaaaaa; + border-top: 1px solid #DDDDFF; + border-left: 1px solid #DDDDFF; + border-right: 1px solid #aaa; + border-bottom: 1px solid #aaa; font-weight: bold; padding: 10px; } @@ -460,18 +460,18 @@ th { background-color: #bbb; color: #333; text-align: center; - border-top: 1px solid #cccccc; - border-left: 1px solid #cccccc; + border-top: 1px solid #ccc; + border-left: 1px solid #ccc; font-weight: bold; - border-right: 1px solid #666666; - border-bottom: 1px solid #666666; + border-right: 1px solid #666; + border-bottom: 1px solid #666; padding: 10px; } /* codes and quotes */ .xoopsCode { background-color: #fff; color: inherit; - border: 1px inset navy; + border: 1px inset #000080; font-family: "Courier New",Courier,monospace; padding: 0 6px 6px 6px; max-height: 200px; @@ -480,7 +480,7 @@ th { .xoopsQuote { background-color: #fff; color: inherit; - border: 1px inset navy; + border: 1px inset #000080; font-family: "Courier New",Courier,monospace; font-style: italic; padding: 0 6px 6px 6px; } @@ -488,7 +488,7 @@ th { .icmsCode { background-color: #fff; color: inherit; - border: 1px inset navy; + border: 1px inset #000080; font-family: "Courier New",Courier,monospace; padding: 0 6px 6px 6px; max-height: 200px; @@ -497,7 +497,7 @@ th { .icmsQuote { background-color: #fff; color: inherit; - border: 1px inset navy; + border: 1px inset #000080; font-family: "Courier New",Courier,monospace; font-style: italic; padding: 0 6px 6px 6px; } @@ -514,19 +514,19 @@ th { /* articles */ .item { - border: 1px solid #cccccc; } + border: 1px solid #ccc; } .itemHead { padding-left: 3px; color: #639ACE; - border-bottom: 1px solid #bbbbbb; + border-bottom: 1px solid #bbb; font-size: .8em; } .itemInfo { text-align: right; padding: 3px; background-color: #e6e6e6; - color: black; } + color: #000; } .itemTitle a { font-size: 1.1em; @@ -563,7 +563,7 @@ th { text-align: right; padding: 3px; background-color: #e6e6e6; - color: black; } + color: #000; } .itemAdminLink { font-size: .9em; } @@ -593,12 +593,12 @@ th { font-size: .7em; color: #639ACE; font-weight: bold; - border: 1px solid #cccccc; + border: 1px solid #ccc; background-color: #fff; margin: 2px; padding: 2px; - border-right: 2px solid #999999; - border-bottom: 2px solid #999999; } + border-right: 2px solid #999; + border-bottom: 2px solid #999; } .comUserStatCaption { font-weight: normal; } @@ -651,9 +651,9 @@ th { .forum_controls { background-color: #EEE; - border-left: 1px solid #999999; - border-right: 1px solid #999999; - border-top: 1px solid #999999; + border-left: 1px solid #999; + border-right: 1px solid #999; + border-top: 1px solid #999; width: 100%; } .userrow { @@ -693,7 +693,7 @@ th { width: 99%; background: #dcdee0; padding: 3px; - border-bottom: 1px solid #cccccc; } + border-bottom: 1px solid #ccc; } table.outer { border: 1px solid #59a7d4; } @@ -701,7 +701,7 @@ table.outer { /* ------ Header top menu navigation rules ------ */ #xo-globalnav a:hover { color: #fff; - border-top: 4px solid #f3ac03; } + border-top: 4px solid #F3AC03; } /* ---------- Image Manager / Folder not writeable ------------ */ tr.blocked td { @@ -717,7 +717,7 @@ tr.blocked td { background: -ms-linear-gradient(top, #59a7d4, #3391c7); background: -o-linear-gradient(top, #59a7d4, #3391c7); background: linear-gradient(to bottom, #59a7d4, #3391c7); - color: white; + color: #fff; font-weight: normal; padding: 0.5em 0.75em; margin: 0 0.25em; diff --git a/themes/formulize_standalone/drupal.css b/themes/formulize_standalone/drupal.css index 03d0f4835..06dc3f803 100644 --- a/themes/formulize_standalone/drupal.css +++ b/themes/formulize_standalone/drupal.css @@ -17,23 +17,23 @@ border-top: 3px solid #f3f3f3; } #formulize_form .even { - color: black; + color: #000; padding: 5px; border-top: 3px solid #f3f3f3; } #formulize_form .odd { - color: black; + color: #000; padding: 5px; border-top: 3px solid #f3f3f3; background-color: white; } #formulize_form tr.even td { - color: black; + color: #000; padding: 5px; border-top: 3px solid #f3f3f3; } #formulize_form tr.odd td { - color: black; + color: #000; padding: 5px; border-top: 3px solid #f3f3f3; background-color: white; }