From 573f2393773ec65be80ebc22a67c4a9478e9a2f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20Cesar=20Laura=20Avenda=C3=B1o?= Date: Tue, 27 Jun 2023 16:57:01 +0000 Subject: [PATCH] PMCORE-4255 Dynaform, trigger, DB Connection not listed in classic process --- gulliver/system/class.form.php | 2 +- gulliver/system/class.xmlformTemplate.php | 2 ++ workflow/engine/classes/DynaformEditor.php | 21 +++++++------------ .../engine/classes/DynaformEditorAjax.php | 9 +------- workflow/engine/classes/XMLDB.php | 2 +- .../engine/classes/XmlFormFieldToolButton.php | 3 ++- workflow/engine/templates/grid.html | 14 ++++++++----- workflow/engine/templates/grid_preview.html | 13 ++++++------ .../triggers/triggers_CreateWizard.php | 6 ++++-- .../xmlform/cases/cases_Scheduler_New.html | 3 --- .../dynaforms/dynaforms_AssignVariables.html | 2 +- .../dynaforms/dynaforms_AssignVariables.xml | 3 --- .../xmlform/dynaforms/fields/button.html | 5 +---- .../xmlform/dynaforms/fields/checkgroup.html | 5 +---- .../xmlform/dynaforms/fields/title.html | 5 +---- .../xmlform/triggers/triggers_Edit.html | 5 +---- 16 files changed, 39 insertions(+), 61 deletions(-) diff --git a/gulliver/system/class.form.php b/gulliver/system/class.form.php index 732275700..97816346c 100644 --- a/gulliver/system/class.form.php +++ b/gulliver/system/class.form.php @@ -251,7 +251,7 @@ class Form extends XmlForm if ((sizeof( $this->values[$k] ) === 1) && ($v->type !== 'grid') && isset( $this->values[$k][0] )) { $this->values[$k] = $this->values[$k][0]; } - if (sizeof( $this->values[$k] ) === 0) { + if (is_countable($this->values[$k]) && sizeof( $this->values[$k] ) === 0) { $this->values[$k] = ''; } } else { diff --git a/gulliver/system/class.xmlformTemplate.php b/gulliver/system/class.xmlformTemplate.php index ac5353ff7..5b7999c61 100644 --- a/gulliver/system/class.xmlformTemplate.php +++ b/gulliver/system/class.xmlformTemplate.php @@ -79,6 +79,8 @@ class xmlformTemplate extends Smarty } $hasRequiredFields = false; + $ft->fields = []; + foreach ($form->fields as $k => $v) { $ft->fields[$k] = $v->cloneObject(); $ft->fields[$k]->label = '{' . $varPrefix . $k . '}'; diff --git a/workflow/engine/classes/DynaformEditor.php b/workflow/engine/classes/DynaformEditor.php index 84a33fbb1..b8560f76a 100644 --- a/workflow/engine/classes/DynaformEditor.php +++ b/workflow/engine/classes/DynaformEditor.php @@ -1,12 +1,5 @@ publisherId = $sName; $oHeadPublisher = headPublisher::getSingleton(); - $oHeadPublisher->setTitle(G::LoadTranslation('ID_DYNAFORM_EDITOR') . ' - ' . $Properties['DYN_TITLE']); + $oHeadPublisher->setTitle(G::LoadTranslation('ID_DYNAFORM_EDITOR') . ' - ' . ($Properties['DYN_TITLE'] ?? '')); $G_PUBLISH->AddContent('blank'); $this->panelConf['title'] = ''; $G_PUBLISH->AddContent('panel-init', 'mainPanel', $this->panelConf); - if ($Properties['DYN_TYPE'] == 'xmlform') { + if (isset($Properties['DYN_TYPE']) && $Properties['DYN_TYPE'] == 'xmlform') { $G_PUBLISH->AddContent('xmlform', 'toolbar', 'dynaforms/fields_Toolbar', 'display:none', $Parameters, '', ''); } else { $G_PUBLISH->AddContent('xmlform', 'toolbar', 'dynaforms/fields_ToolbarGrid', 'display:none', $Parameters, '', ''); @@ -155,17 +148,17 @@ class DynaformEditor extends WebResource $G_PUBLISH->AddContent('blank'); $G_PUBLISH->AddContent('panel-tab', G::LoadTranslation("ID_PREVIEW"), $sName . '[3]', 'dynaformEditor.changeToPreview', 'dynaformEditor.saveCurrentView'); $G_PUBLISH->AddContent('panel-tab', G::LoadTranslation("ID_XML"), $sName . '[4]', 'dynaformEditor.changeToXmlCode', 'dynaformEditor.saveCurrentView'); - if ($Properties['DYN_TYPE'] != 'grid') { + if (isset($Properties['DYN_TYPE']) && $Properties['DYN_TYPE'] != 'grid') { $G_PUBLISH->AddContent('panel-tab', G::LoadTranslation("ID_HTML"), $sName . '[5]', 'dynaformEditor.changeToHtmlCode', 'dynaformEditor.saveCurrentView'); } $G_PUBLISH->AddContent('panel-tab', G::LoadTranslation("ID_FIELDS_LIST"), $sName . '[6]', 'dynaformEditor.changeToFieldsList', 'dynaformEditor.saveCurrentView'); - if ($Properties["DYN_TYPE"] != "grid") { + if (isset($Properties['DYN_TYPE']) && $Properties["DYN_TYPE"] != "grid") { $G_PUBLISH->AddContent('panel-tab', G::LoadTranslation("ID_JAVASCRIPTS"), $sName . '[7]', 'dynaformEditor.changeToJavascripts', 'dynaformEditor.saveCurrentView'); } $G_PUBLISH->AddContent('panel-tab', G::LoadTranslation("ID_PROPERTIES"), $sName . '[8]', 'dynaformEditor.changeToProperties', 'dynaformEditor.saveCurrentView'); //for showHide tab option @Neyek - if ($Properties["DYN_TYPE"] != "grid") { + if (isset($Properties['DYN_TYPE']) && $Properties["DYN_TYPE"] != "grid") { $G_PUBLISH->AddContent("panel-tab", G::LoadTranslation("ID_CONDITIONS_EDITOR"), $sName . "[9]", "dynaformEditor.changeToShowHide", "dynaformEditor.saveShowHide"); } @@ -234,7 +227,7 @@ class DynaformEditor extends WebResource * @param $data * @return void */ - public function _setTmpData($data) + public static function _setTmpData($data) { G::verifyPath(PATH_C . 'dynEditor/', true); $fp = fopen(PATH_C . 'dynEditor/' . session_id() . '.php', 'w'); @@ -248,7 +241,7 @@ class DynaformEditor extends WebResource * @param string $filename * @return array */ - public function _getTmpData() + public static function _getTmpData() { $tmpData = array(); $file = PATH_C . 'dynEditor/' . session_id() . '.php'; diff --git a/workflow/engine/classes/DynaformEditorAjax.php b/workflow/engine/classes/DynaformEditorAjax.php index 5681144dd..aa4aadea1 100644 --- a/workflow/engine/classes/DynaformEditorAjax.php +++ b/workflow/engine/classes/DynaformEditorAjax.php @@ -1,13 +1,5 @@ load($dynUid); diff --git a/workflow/engine/classes/XMLDB.php b/workflow/engine/classes/XMLDB.php index fd5d04290..5887f823d 100644 --- a/workflow/engine/classes/XMLDB.php +++ b/workflow/engine/classes/XMLDB.php @@ -13,7 +13,7 @@ class XMLDB * @param string $dsn * @return array $options */ - public function &connect ($dsn, $options = array()) + public static function &connect ($dsn, $options = array()) { //Needed for $mysql_real_escape_string $mresdbc = new DBConnection(); diff --git a/workflow/engine/classes/XmlFormFieldToolButton.php b/workflow/engine/classes/XmlFormFieldToolButton.php index 5a6548bf2..d72811e75 100644 --- a/workflow/engine/classes/XmlFormFieldToolButton.php +++ b/workflow/engine/classes/XmlFormFieldToolButton.php @@ -30,9 +30,10 @@ class XmlFormFieldToolButton extends XmlFormField * Prints the components of the toolBar * * @param string $value + * @param string $paramDummy2 * @return string */ - public function render($value) + public function render($value = null, $paramDummy2 = null) { $url = $this->file; if ($this->home === "methods") { diff --git a/workflow/engine/templates/grid.html b/workflow/engine/templates/grid.html index dc20b8d66..0989ebefd 100644 --- a/workflow/engine/templates/grid.html +++ b/workflow/engine/templates/grid.html @@ -5,12 +5,14 @@
- +
{$form->label}{if (isset($form->label))} + {$form->label} + {/if}
-{if ($form->addRow) } +{if (isset($form->addRow) && $form->addRow) } @@ -31,6 +33,7 @@ {literal} +{if isset($form_rows)} {section name=row loop=$form_rows} {if ($smarty.section.row.index==0)} @@ -48,15 +51,16 @@ {/if} {/foreach} -{if $form->deleteRow == '1' } +{if isset($form->deleteRow) && $form->deleteRow == '1' } {/if} -{if ($form->editRow=='1')} +{if (isset($form->editRow) && $form->editRow=='1')} {/if} {literal} {/section} +{/if} {* TOTALIZABLE ROW *} @@ -65,7 +69,7 @@ {foreach from=$form->fields item=field} {if ($field->type != "hidden")}
 {$form->NewLabel}
{$form->DeleteLabel} edit"{$form->editRow}"
- {if (isset($field->function) && $field->function != "") } + {if (isset($field->function) && $field->function != "" && isset($field->aggregate)) } {if $field->function == "sum"} Σ = {$field->aggregate} {elseif $field->function == "avg"} diff --git a/workflow/engine/templates/grid_preview.html b/workflow/engine/templates/grid_preview.html index 0fd8d6018..f09b7ff45 100644 --- a/workflow/engine/templates/grid_preview.html +++ b/workflow/engine/templates/grid_preview.html @@ -5,13 +5,14 @@
- +
{$form->label} - {if (isset($form->label))} + {$form->label} + {/if}
-{if ($form->addRow) } +{if (isset($form->addRow) && $form->addRow) } @@ -38,10 +39,10 @@ {foreach from=$form->fields item=field} {/foreach} -{if $form->deleteRow == '1' } +{if isset($form->deleteRow) && $form->deleteRow == '1' } {/if} -{if ($form->editRow=='1')} +{if (isset($form->editRow) && $form->editRow=='1')} {/if} {literal} @@ -53,7 +54,7 @@ {/literal} {foreach from=$form->fields item=field} diff --git a/workflow/engine/xmlform/dynaforms/dynaforms_AssignVariables.xml b/workflow/engine/xmlform/dynaforms/dynaforms_AssignVariables.xml index bb6a423cb..6f49b0edf 100644 --- a/workflow/engine/xmlform/dynaforms/dynaforms_AssignVariables.xml +++ b/workflow/engine/xmlform/dynaforms/dynaforms_AssignVariables.xml @@ -15,9 +15,6 @@ -
 {$form->NewLabel}{$field->field}{$form->DeleteLabel} edit"{$form->editRow}" - {if isset($field->function) && $field->function!=='' } + {if isset($field->function) && $field->function!=='' && isset($field->aggregate) } {if $field->function=='sum'} Σ = {$field->aggregate} {elseif $field->function=='avg'} diff --git a/workflow/engine/templates/triggers/triggers_CreateWizard.php b/workflow/engine/templates/triggers/triggers_CreateWizard.php index 2a2949669..7bb234cee 100644 --- a/workflow/engine/templates/triggers/triggers_CreateWizard.php +++ b/workflow/engine/templates/triggers/triggers_CreateWizard.php @@ -32,7 +32,8 @@ try { $libraryO = $triggerLibrary->getLibraryDefinition ( $libraryClassName ); $libraryName = $libraryO->info ['name']; - $libraryDescription = trim ( str_replace ( "*", "", implode ( " ", $libraryO->info ['description'] ) ) ); + $libraryDescription = $libraryO->info ['description'] ?? ''; + $libraryDescription = trim ( str_replace ( "*", "", implode ( " ", (is_array($libraryDescription) ? $libraryDescription : [$libraryDescription]) ) ) ); $libraryIcon = isset ( $libraryO->info ['icon'] ) && ($libraryO->info ['icon'] != "") ? $libraryO->info ['icon'] : "/images/browse.gif"; $aDataTrigger = $_GET; @@ -44,7 +45,8 @@ try { $methodName = $methodObject->info ['name']; $methodLabel = $methodObject->info ['label']; - $methodDescription = trim ( str_replace ( "*", "", implode ( " ", $methodObject->info ['description'] ) ) ); + $methodDescription = $methodObject->info ['description'] ?? ''; + $methodDescription = trim ( str_replace ( "*", "", implode ( " ", (is_array($methodDescription) ? $methodDescription : [$methodDescription]) ) ) ); $methodReturn = $methodObject->info ['return']; $methodParameters = array_keys ( $methodObject->params ); $methodLink = isset ( $methodObject->info ['link'] ) && ($methodObject->info ['link'] != "") diff --git a/workflow/engine/xmlform/cases/cases_Scheduler_New.html b/workflow/engine/xmlform/cases/cases_Scheduler_New.html index 40a88b6ff..78e7953d6 100644 --- a/workflow/engine/xmlform/cases/cases_Scheduler_New.html +++ b/workflow/engine/xmlform/cases/cases_Scheduler_New.html @@ -10,9 +10,6 @@ - - - diff --git a/workflow/engine/xmlform/dynaforms/dynaforms_AssignVariables.html b/workflow/engine/xmlform/dynaforms/dynaforms_AssignVariables.html index f386b4dac..b451c0676 100644 --- a/workflow/engine/xmlform/dynaforms/dynaforms_AssignVariables.html +++ b/workflow/engine/xmlform/dynaforms/dynaforms_AssignVariables.html @@ -36,7 +36,7 @@ - +
{$form.__DYNAFORM_OPTIONS}
{$form.menuUser}
{$form.SAVE_FROM_PMTABLE}   {$form.SAVE_AND_OPEN_FROM_PMTABLE}   {$form.BTN_CANCEL} {$form.SAVE_FROM_PMTABLE}   {$form.SAVE_AND_OPEN_FROM_PMTABLE}
- - - - + diff --git a/workflow/engine/xmlform/dynaforms/fields/checkgroup.html b/workflow/engine/xmlform/dynaforms/fields/checkgroup.html index 19cf9ff2d..042c8416a 100644 --- a/workflow/engine/xmlform/dynaforms/fields/checkgroup.html +++ b/workflow/engine/xmlform/dynaforms/fields/checkgroup.html @@ -9,10 +9,7 @@
{$form.__DYNAFORM_OPTIONS}
{$form.PME_A}
- - - - + diff --git a/workflow/engine/xmlform/dynaforms/fields/title.html b/workflow/engine/xmlform/dynaforms/fields/title.html index c24e3d36c..a490bb063 100644 --- a/workflow/engine/xmlform/dynaforms/fields/title.html +++ b/workflow/engine/xmlform/dynaforms/fields/title.html @@ -9,10 +9,7 @@
{$form.__DYNAFORM_OPTIONS}
{$form.PME_A}
- - - - + diff --git a/workflow/engine/xmlform/triggers/triggers_Edit.html b/workflow/engine/xmlform/triggers/triggers_Edit.html index 333218c49..b4150ce9d 100644 --- a/workflow/engine/xmlform/triggers/triggers_Edit.html +++ b/workflow/engine/xmlform/triggers/triggers_Edit.html @@ -8,10 +8,7 @@
{$form.__DYNAFORM_OPTIONS}
{$form.PME_A}
- - - - +
{$form.__DYNAFORM_OPTIONS}
{$form.PRO_UID}