Because of changes in additional templates handling in onsubmit() in client_edit.php between revisions
http://git.ispconfig.org/ispconfig/ispconfig3/blob/615a0a96618fa99e7e452523145d6c0f238d4473/interface/web/client/client_edit.php
http://git.ispconfig.org/ispconfig/ispconfig3/blob/7b47c0aa0aeee6f059f00008e36cc210ca89ecb9/interface/web/client/client_edit.php
function client_update() in billing_plugin_inc.php nomore works properly. The value of $page_form->dataRecord['template_additional'] is empty and is replaced by $page_form->_template_additional array which holds some additional informations. This destroys handling of additional templates in billing module. Quick patch of client_update() included below:
= $new_template_ids = $page_form->dataRecord['template_master'];
- if($page_form->dataRecord['template_additional'] != '') $new_template_ids .= '/'.trim($page_form->dataRecord['template_additional']);
+ $new_template_ids .= "/" . implode('/', $page_form->_template_additional);
+ $new_template_ids = preg_replace("/\/[^:]*:/", "/", $new_template_ids);
= $new_template_id_array = explode('/',$new_template_ids);
= $old_template_ids = $page_form->oldDataRecord['template_master'];
= if($page_form->oldDataRecord['template_additional'] != '') $old_template_ids .= '/'.trim($page_form->oldDataRecord['template_additional']);
+ $old_template_ids = preg_replace("/\/[^:]*:/", "/", $old_template_ids);
= $old_template_id_array = explode('/',$old_template_ids);