Run this SQL to update the function (It's also included on Github)
Code: Select all
REPLACE INTO `zzzzsys_php` (`zzzzsys_php_id`, `sph_code`, `sph_description`, `sph_group`, `sph_php`, `sph_run`, `sph_zzzzsys_form_id`, `sph_system`, `sph_global`, `sph_template`, `sph_hide`, `sph_json`) VALUES ('nu5ff8249659aef00', 'NUREFRESHDISPLAYOBJECT', 'Refresh a display object', 'nubuilder', 'function nuGetDisplayValue($formId, $id) {\r\n \r\n $sql = \"SELECT sob_display_sql, sob_display_procedure FROM `zzzzsys_object` WHERE sob_all_zzzzsys_form_id = ? AND sob_all_id = ?\";\r\n $selectObject = nuRunQuery($sql, [$formId, $id]);\r\n \r\n if (db_num_rows($selectObject) == 1) {\r\n $obj = db_fetch_object($selectObject);\r\n \r\n if ($obj != false) {\r\n \r\n $displayProcedure = $obj->sob_display_procedure;\r\n \r\n if (empty($displayProcedure)) {\r\n \r\n $disS = nuReplaceHashVariables($obj->sob_display_sql);\r\n $disT = nuRunQuery($disS);\r\n\r\n if (db_num_rows($disT) >= 1) {\r\n $disR = db_fetch_row($disT);\r\n return $disR[0];\r\n } else {\r\n return \"\";\r\n }\r\n \r\n } else {\r\n\r\n $procedureCode = nuProcedure($displayProcedure);\r\n if ($procedureCode !== \'\') {\r\n return nuEval($displayProcedure, $procedureCode);\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\n\r\nfunction nuRefreshDisplayObject($displayId, $formIdHk, $prefixHK) {\r\n\r\n if (!nuHasProperty($formIdHk, $formId, false)) {\r\n $formId = \'#form_id#\';\r\n }\r\n\r\n if (!nuHasProperty($prefixHK, $prefix, false)) {\r\n $prefix = \'\';\r\n }\r\n\r\n $value = nuGetDisplayValue($formId, $displayId);\r\n $displayId = $prefix.$displayId;\r\n \r\n if ($value === false && $value !== \'\') {\r\n $js = \"nuMessage(nuTranslate(\'Error\'), nuTranslate(\'Failed to refresh the Display Object:\') + \' $displayId\'); \";\r\n } else {\r\n\r\n $js = \" \r\n \r\n function nuRefreshDisplayObjectSetNewValue(displayId, value) {\r\n let obj = $(\'#\' + displayId);\r\n const format = obj.attr(\'data-nu-format\');\r\n const formattedValue = nuFORM.addFormatting(value, format);\r\n nuSetValue(displayId, formattedValue);\r\n }\r\n\r\n nuRefreshDisplayObjectSetNewValue(\'$displayId\', \'$value\');\r\n \r\n if (window.nuDisplayObjectRefreshed) {\r\n nuDisplayObjectRefreshed(\'$displayId\', \'$formId\');\r\n }\r\n \";\r\n }\r\n \r\n nuJavaScriptCallback($js);\r\n\r\n}\r\n\r\nnuRefreshDisplayObject(\'#NUREFRESHDISPLAYOBJECT_displayid#\', \'NUREFRESHDISPLAYOBJECT_formid\',\'NUREFRESHDISPLAYOBJECT_prefix\');', 'hide', '', '1', '1', '0', '', NULL)