I was changing the currency limits at this URL http://mutualaccounting/admin/accounting/currencies/list/def_drup/edit and received the following pop-up error. The site still appears to be functioning but evidently there is a bug in the code.

ResponseText: Parse error: syntax error, unexpected ';' in /var/zpanel/hostdata/zadmin/public_html/mutualaccounting_arawakcity_org/sites/all/modules/mutual_credit/extras/limits/mcapi_limits.inc(157) : eval()'d code on line 1
Parse error: syntax error, unexpected ';' in /var/zpanel/hostdata/zadmin/public_html/mutualaccounting_arawakcity_org/sites/all/modules/mutual_credit/extras/limits/mcapi_limits.inc(157) : eval()'d code on line 1
[{"command":"settings","settings":{"basePath":"\/","pathPrefix":"","ajaxPageState":{"theme":"seven","theme_token":"xjroj7wDQXfzZpe8__DmBmIoHiGUS74_yomn7PxiiOI"},"overlay":{"paths":{"admin":"node\/*\/edit\nnode\/*\/delete\nnode\/*\/revisions\nnode\/*\/revisions\/*\/revert\nnode\/*\/revisions\/*\/delete\nnode\/add\nnode\/add\/*\noverlay\/dismiss-message\nuser\/*\/shortcuts\nadmin\nadmin\/*\nbatch\ntaxonomy\/term\/*\/edit\nuser\/*\/cancel\nuser\/*\/edit\nuser\/*\/edit\/*","non_admin":"admin\/structure\/block\/demo\/*\nadmin\/reports\/status\/php"},"pathPrefixes":[],"ajaxCallback":"overlay-ajax"}},"merge":true},{"command":"insert","method":null,"selector":null,"data":"\u003Cdiv id=\u0022limits-settings\u0022\u003E\u003C\/div\u003E","settings":null},{"command":"insert","method":"prepend","selector":null,"data":"","settings":null}]

An AJAX HTTP error occurred.
HTTP Result Code: 200
Debugging information follows.
Path: /system/ajax
StatusText: OK
ResponseText: Parse error: syntax error, unexpected ';' in /var/zpanel/hostdata/zadmin/public_html/mutualaccounting_arawakcity_org/sites/all/modules/mutual_credit/extras/limits/mcapi_limits.inc(157) : eval()'d code on line 1
Parse error: syntax error, unexpected ';' in /var/zpanel/hostdata/zadmin/public_html/mutualaccounting_arawakcity_org/sites/all/modules/mutual_credit/extras/limits/mcapi_limits.inc(157) : eval()'d code on line 1
[{"command":"settings","settings":{"basePath":"\/","pathPrefix":"","ajaxPageState":{"theme":"seven","theme_token":"xjroj7wDQXfzZpe8__DmBmIoHiGUS74_yomn7PxiiOI"},"overlay":{"paths":{"admin":"node\/*\/edit\nnode\/*\/delete\nnode\/*\/revisions\nnode\/*\/revisions\/*\/revert\nnode\/*\/revisions\/*\/delete\nnode\/add\nnode\/add\/*\noverlay\/dismiss-message\nuser\/*\/shortcuts\nadmin\nadmin\/*\nbatch\ntaxonomy\/term\/*\/edit\nuser\/*\/cancel\nuser\/*\/edit\nuser\/*\/edit\/*","non_admin":"admin\/structure\/block\/demo\/*\nadmin\/reports\/status\/php"},"pathPrefixes":[],"ajaxCallback":"overlay-ajax"}},"merge":true},{"command":"insert","method":null,"selector":null,"data":"\u003Cdiv id=\u0022limits-settings\u0022\u003E\u003Cdiv class=\u0022form-item form-type-textfield form-item-limits-limits-personal-min\u0022\u003E\n \u003Clabel for=\u0022edit-limits-limits-personal-min\u0022\u003EDefault minimum balance. \u003C\/label\u003E\n \u003Cinput style=\u0022width:inherit;\u0022 type=\u0022text\u0022 id=\u0022edit-limits-limits-personal-min\u0022 name=\u0022limits[limits_personal][min]\u0022 value=\u0022-\u0022 size=\u00227\u0022 maxlength=\u00227\u0022 class=\u0022form-text\u0022 \/\u003E\n\u003Cdiv class=\u0022description\u0022\u003EMust be less than or equal to zero\u003C\/div\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\u0022form-item form-type-textfield form-item-limits-limits-personal-max\u0022\u003E\n \u003Clabel for=\u0022edit-limits-limits-personal-max\u0022\u003EDefault maximum balance. \u003C\/label\u003E\n \u003Cinput style=\u0022width:inherit;\u0022 type=\u0022text\u0022 id=\u0022edit-limits-limits-personal-max\u0022 name=\u0022limits[limits_personal][max]\u0022 value=\u0022\u0022 size=\u00226\u0022 maxlength=\u00226\u0022 class=\u0022form-text\u0022 \/\u003E\n\u003Cdiv class=\u0022description\u0022\u003EMust be greater than 0.\u003C\/div\u003E\n\u003C\/div\u003E\n\u003C\/div\u003E","settings":null},{"command":"insert","method":"prepend","selector":null,"data":"","settings":null}]

Comments

matslats’s picture

this is tricky.
At that moment the script is evaluating your formula for balance limits. To do this it drops into shell.

  $pattern = 'return '. str_replace('@', '', $string) .';'; <-the first is your unexpected semicolon
  $formula = strtr(
    $pattern,
    $values
  );
  return eval($formula); <- error is discovered when the formula is evaluated

The semi colon indicates the end of the string wasn't expected.
What formula had you put in? Could you have submitted the field blank?

robbt’s picture

I did submit the field blank, I was simply clicking around testing it, perhaps a check to make sure that the field isn't blank before testing the formula would fix it.

matslats’s picture

Status: Active » Closed (fixed)

Consider it done