From 671243e8f6dc2575a480df56ee4fa2e752cda453 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Sat, 22 Nov 2014 16:57:08 +0100 Subject: [PATCH] Fixed: Bugs reported by scrutinizer Fixed: Solve conflict between ->iban and ->iban_prefix. --- .../class/accountingaccount.class.php | 5 +- htdocs/adherents/card.php | 2 - htdocs/admin/ihm.php | 4 +- htdocs/compta/bank/bankid_fr.php | 7 +- htdocs/compta/bank/card.php | 2 +- htdocs/compta/bank/class/account.class.php | 4 +- htdocs/core/boxes/box_comptes.php | 2 +- htdocs/core/class/commonobject.class.php | 325 ------------------ htdocs/core/lib/usergroups.lib.php | 4 +- .../install/mysql/tables/llx_bank_account.sql | 2 +- .../install/mysql/tables/llx_societe_rib.sql | 2 +- .../class/companybankaccount.class.php | 4 +- htdocs/societe/rib.php | 12 +- 13 files changed, 23 insertions(+), 352 deletions(-) diff --git a/htdocs/accountancy/class/accountingaccount.class.php b/htdocs/accountancy/class/accountingaccount.class.php index c442eacc23c..46a34698785 100644 --- a/htdocs/accountancy/class/accountingaccount.class.php +++ b/htdocs/accountancy/class/accountingaccount.class.php @@ -25,12 +25,13 @@ */ /** - * Classe permettant la gestion des comptes generaux de compta + * Class to manage accounting accounts */ class AccountingAccount { var $db; var $error; + var $errors; var $id; var $rowid; @@ -126,6 +127,8 @@ class AccountingAccount global $conf, $langs; $error = 0; + $now=dol_now(); + // Clean parameters if (isset($this->fk_pcg_version)) $this->fk_pcg_version = trim($this->fk_pcg_version); diff --git a/htdocs/adherents/card.php b/htdocs/adherents/card.php index f8a36c4f71a..d6295981586 100644 --- a/htdocs/adherents/card.php +++ b/htdocs/adherents/card.php @@ -291,8 +291,6 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer) //$object->note = trim($_POST["comment"]); $object->morphy = $_POST["morphy"]; - $object->amount = $_POST["amount"]; - if (GETPOST('deletephoto')) $object->photo=''; elseif (! empty($_FILES['photo']['name'])) $object->photo = dol_sanitizeFileName($_FILES['photo']['name']); diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index 5cdb41cbe23..bd2ffa66342 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -142,7 +142,7 @@ if ($action == 'edit') // Edit print '</table><br>'."\n"; // Themes - show_theme('',1); + show_theme(null,1); print '<br>'; // Liste des zone de recherche permanantes supportees @@ -323,7 +323,7 @@ else // Show // Themes - show_theme('',0); + show_theme(null,0); print '<br>'; diff --git a/htdocs/compta/bank/bankid_fr.php b/htdocs/compta/bank/bankid_fr.php index b92aa1eb34a..03f0babe75d 100644 --- a/htdocs/compta/bank/bankid_fr.php +++ b/htdocs/compta/bank/bankid_fr.php @@ -63,8 +63,7 @@ if ($action == 'update' && ! $_POST["cancel"]) $account->number = trim($_POST["number"]); $account->cle_rib = trim($_POST["cle_rib"]); $account->bic = trim($_POST["bic"]); - $account->iban = trim($_POST["iban_prefix"]); - $account->iban_prefix = trim($_POST["iban_prefix"]); // deprecated + $account->iban = trim($_POST["iban"]); $account->domiciliation = trim($_POST["domiciliation"]); $account->proprio = trim($_POST["proprio"]); $account->owner_address = trim($_POST["owner_address"]); @@ -246,7 +245,7 @@ if (($_GET["id"] || $_GET["ref"]) && $action != 'edit') if ($account->getCountryCode() == 'IN') $bickey="SWIFT"; print '<tr><td valign="top">'.$langs->trans($ibankey).'</td>'; - print '<td colspan="3">'.$account->iban_prefix.'</td></tr>'; + print '<td colspan="3">'.$account->iban.'</td></tr>'; print '<tr><td valign="top">'.$langs->trans($bickey).'</td>'; print '<td colspan="3">'.$account->bic.'</td></tr>'; @@ -423,7 +422,7 @@ if ($_GET["id"] && $action == 'edit' && $user->rights->banque->configurer) // IBAN print '<tr><td valign="top">'.$langs->trans($ibankey).'</td>'; - print '<td colspan="3"><input size="34" maxlength="34" type="text" class="flat" name="iban_prefix" value="'.$account->iban_prefix.'"></td></tr>'; + print '<td colspan="3"><input size="34" maxlength="34" type="text" class="flat" name="iban" value="'.$account->iban.'"></td></tr>'; print '<tr><td valign="top">'.$langs->trans($bickey).'</td>'; print '<td colspan="3"><input size="11" maxlength="11" type="text" class="flat" name="bic" value="'.$account->bic.'"></td></tr>'; diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index 81596540489..5d3d2a051d6 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -135,7 +135,7 @@ if ($_POST["action"] == 'update' && ! $_POST["cancel"]) $account->number = trim($_POST["number"]); $account->cle_rib = trim($_POST["cle_rib"]); $account->bic = trim($_POST["bic"]); - $account->iban_prefix = trim($_POST["iban_prefix"]); + $account->iban = trim($_POST["iban"]); $account->domiciliation = trim($_POST["domiciliation"]); $account->proprio = trim($_POST["proprio"]); diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 26f9415e8a5..978fc2b3838 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -59,7 +59,7 @@ class Account extends CommonObject //! BIC/SWIFT number var $bic; //! IBAN number (International Bank Account Number) - var $iban_prefix; + var $iban; // stored into iban_prefix field into database var $proprio; var $owner_address; @@ -642,7 +642,6 @@ class Account extends CommonObject $this->cle_rib = $obj->cle_rib; $this->bic = $obj->bic; $this->iban = $obj->iban; - $this->iban_prefix = $obj->iban; // deprecated $this->domiciliation = $obj->domiciliation; $this->proprio = $obj->proprio; $this->owner_address = $obj->owner_address; @@ -1011,7 +1010,6 @@ class Account extends CommonObject $this->cle_rib = 50; $this->bic = 'AA12'; $this->iban = 'FR999999999'; - $this->iban_prefix = 'FR'; // deprecated $this->domiciliation = 'The bank addresse'; $this->proprio = 'Owner'; $this->owner_address = 'Owner address'; diff --git a/htdocs/core/boxes/box_comptes.php b/htdocs/core/boxes/box_comptes.php index c66326b27fb..45c8f1a4819 100644 --- a/htdocs/core/boxes/box_comptes.php +++ b/htdocs/core/boxes/box_comptes.php @@ -79,7 +79,7 @@ class box_comptes extends ModeleBoxes if ($user->rights->banque->lire) { $sql = "SELECT rowid, ref, label, bank, number, courant, clos, rappro, url,"; - $sql.= " code_banque, code_guichet, cle_rib, bic, iban_prefix,"; + $sql.= " code_banque, code_guichet, cle_rib, bic, iban_prefix as iban,"; $sql.= " domiciliation, proprio, owner_address,"; $sql.= " account_number, currency_code,"; $sql.= " min_allowed, min_desired, comment"; diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 8f5dcd93b70..87ee2f1a1d2 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -2179,331 +2179,6 @@ abstract class CommonObject } } -<<<<<<< HEAD -======= - - /** - * Function to get extra fields of a member into $this->array_options - * This method is in most cases called by method fetch of objects but you can call it separately. - * - * @param int $rowid Id of line - * @param array $optionsArray Array resulting of call of extrafields->fetch_name_optionals_label() - * @return int <0 if error, 0 if no optionals to find nor found, 1 if a line is found and optional loaded - */ - function fetch_optionals($rowid,$optionsArray='') - { - if (! is_array($optionsArray)) - { - // optionsArray not already loaded, so we load it - require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; - $extrafields = new ExtraFields($this->db); - $optionsArray = $extrafields->fetch_name_optionals_label($this->table_element); - } - - - // Request to get complementary values - if (count($optionsArray) > 0) - { - $sql = "SELECT rowid"; - foreach ($optionsArray as $name => $label) - { - $sql.= ", ".$name; - } - $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element."_extrafields"; - $sql.= " WHERE fk_object = ".$rowid; - - dol_syslog(get_class($this)."::fetch_optionals sql=".$sql, LOG_DEBUG); - $resql=$this->db->query($sql); - if ($resql) - { - $numrows=$this->db->num_rows($resql); - if ($numrows) - { - $tab = $this->db->fetch_array($resql); - - foreach ($tab as $key => $value) - { - // Test fetch_array ! is_int($key) because fetch_array result is a mix table with some key as alpha and some key as int (depend db engine) - if ($key != 'rowid' && $key != 'tms' && ! is_int($key)) - { - // we can add this attribute to object properties - $this->array_options["options_".$key]=$value; - } - } - } - - $this->db->free($resql); - - if ($numrows) return $numrows; - else return 0; - } - else - { - dol_print_error($this->db); - return -1; - } - } - return 0; - } - - /** - * Delete all extra fields values for the current object. - * - * @return int <0 if KO, >0 if OK - */ - function deleteExtraFields() - { - global $langs; - - $error=0; - - $this->db->begin(); - - $sql_del = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element."_extrafields WHERE fk_object = ".$this->id; - dol_syslog(get_class($this)."::deleteExtraFields delete sql=".$sql_del); - $resql=$this->db->query($sql_del); - if (! $resql) - { - $this->error=$this->db->lasterror(); - dol_syslog(get_class($this)."::deleteExtraFields ".$this->error,LOG_ERR); - $this->db->rollback(); - return -1; - } - else - { - $this->db->commit(); - return 1; - } - } - - /** - * Add/Update all extra fields values for the current object. - * All data to describe values to insert are stored into $this->array_options=array('keyextrafield'=>'valueextrafieldtoadd') - * - * @return int -1=error, O=did nothing, 1=OK - */ - function insertExtraFields() - { - global $conf,$langs; - - $error=0; - - if (! empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) return 0; // For avoid conflicts if trigger used - - if (! empty($this->array_options)) - { - // Check parameters - $langs->load('admin'); - require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; - $extrafields = new ExtraFields($this->db); - $optionsArray = $extrafields->fetch_name_optionals_label($this->table_element); - - foreach($this->array_options as $key => $value) - { - $attributeKey = substr($key,8); // Remove 'options_' prefix - $attributeType = $extrafields->attribute_type[$attributeKey]; - $attributeSize = $extrafields->attribute_size[$attributeKey]; - $attributeLabel = $extrafields->attribute_label[$attributeKey]; - switch ($attributeType) - { - case 'int': - if (!is_numeric($value) && $value!='') - { - $error++; $this->errors[]=$langs->trans("ExtraFieldHasWrongValue",$attributeLabel); - return -1; - } - elseif ($value=='') - { - $this->array_options[$key] = null; - } - break; - case 'price': - $this->array_options[$key] = price2num($this->array_options[$key]); - break; - case 'date': - $this->array_options[$key]=$this->db->idate($this->array_options[$key]); - break; - case 'datetime': - $this->array_options[$key]=$this->db->idate($this->array_options[$key]); - break; - } - } - $this->db->begin(); - - $sql_del = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element."_extrafields WHERE fk_object = ".$this->id; - dol_syslog(get_class($this)."::insertExtraFields delete sql=".$sql_del); - $this->db->query($sql_del); - $sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element."_extrafields (fk_object"; - foreach($this->array_options as $key => $value) - { - $attributeKey = substr($key,8); // Remove 'options_' prefix - // Add field of attribut - if (isset($extrafields->attribute_type[$attributeKey]) && $extrafields->attribute_type[$attributeKey] != 'separate') // Only for other type of separate - $sql.=",".$attributeKey; - } - $sql .= ") VALUES (".$this->id; - foreach($this->array_options as $key => $value) - { - $attributeKey = substr($key,8); // Remove 'options_' prefix - // Add field o fattribut - if(isset($extrafields->attribute_type[$attributeKey]) && $extrafields->attribute_type[$attributeKey] != 'separate') // Only for other type of separate) - { - if ($this->array_options[$key] != '') - { - $sql.=",'".$this->db->escape($this->array_options[$key])."'"; - } - else - { - $sql.=",null"; - } - } - } - $sql.=")"; - - dol_syslog(get_class($this)."::insertExtraFields insert sql=".$sql); - $resql = $this->db->query($sql); - if (! $resql) - { - $this->error=$this->db->lasterror(); - dol_syslog(get_class($this)."::update ".$this->error,LOG_ERR); - $this->db->rollback(); - return -1; - } - else - { - $this->db->commit(); - return 1; - } - } - else return 0; - } - - /** - * Function to show lines of extrafields with output datas - * - * @param object $extrafields Extrafield Object - * @param string $mode Show output (view) or input (edit) for extrafield - * @param array $params Optionnal parameters - * @param string $keyprefix Prefix string to add into name and id of field (can be used to avoid duplicate names) - * - * @return string - */ - function showOptionals($extrafields, $mode='view', $params=0, $keyprefix='') - { - global $_POST, $conf; - - $out = ''; - - if (count($extrafields->attribute_label) > 0) - { - $out .= "\n"; - $out .= '<!-- showOptionalsInput --> '; - $out .= "\n"; - - $e = 0; - foreach($extrafields->attribute_label as $key=>$label) - { - if (is_array($params) && count($params)>0) { - if (array_key_exists('colspan',$params)) { - $colspan=$params['colspan']; - } - }else { - $colspan='3'; - } - switch($mode) { - case "view": - $value=$this->array_options["options_".$key]; - break; - case "edit": - $value=(isset($_POST["options_".$key])?$_POST["options_".$key]:$this->array_options["options_".$key]); - break; - } - if ($extrafields->attribute_type[$key] == 'separate') - { - $out .= $extrafields->showSeparator($key); - } - else - { - $csstyle=''; - if (is_array($params) && count($params)>0) { - if (array_key_exists('style',$params)) { - $csstyle=$params['style']; - } - } - if ( !empty($conf->global->MAIN_EXTRAFIELDS_USE_TWO_COLUMS) && ($e % 2) == 0) - { - $out .= '<tr '.$csstyle.'>'; - $colspan='0'; - } - else - { - $out .= '<tr '.$csstyle.'>'; - } - // Convert date into timestamp format - if (in_array($extrafields->attribute_type[$key],array('date','datetime'))) - { - $value = isset($_POST["options_".$key])?dol_mktime($_POST["options_".$key."hour"], $_POST["options_".$key."min"], 0, $_POST["options_".$key."month"], $_POST["options_".$key."day"], $_POST["options_".$key."year"]):$this->db->jdate($this->array_options['options_'.$key]); - } - - if($extrafields->attribute_required[$key]) - $label = '<span class="fieldrequired">'.$label.'</span>'; - - $out .= '<td>'.$label.'</td>'; - $out .='<td'.($colspan?' colspan="'.$colspan.'"':'').'>'; - - switch($mode) { - case "view": - $out .= $extrafields->showOutputField($key,$value); - break; - case "edit": - $out .= $extrafields->showInputField($key,$value,'',$keyprefix); - break; - } - - $out .= '</td>'."\n"; - - if (! empty($conf->global->MAIN_EXTRAFIELDS_USE_TWO_COLUMS) && (($e % 2) == 1)) $out .= '</tr>'; - else $out .= '</tr>'; - $e++; - } - } - $out .= "\n"; - $out .= '<!-- /showOptionalsInput --> '; - $out .= ' - <script type="text/javascript"> - jQuery(document).ready(function() { - function showOptions(child_list, parent_list) - { - var val = $("select[name=\"options_"+parent_list+"\"]").val(); - var parentVal = parent_list + ":" + val; - if(val > 0) { - $("select[name=\""+child_list+"\"] option[parent]").hide(); - $("select[name=\""+child_list+"\"] option[parent=\""+parentVal+"\"]").show(); - } else { - $("select[name=\""+child_list+"\"] option").show(); - } - } - function setListDependencies() { - jQuery("select option[parent]").parent().each(function() { - var child_list = $(this).attr("name"); - var parent = $(this).find("option[parent]:first").attr("parent"); - var infos = parent.split(":"); - var parent_list = infos[0]; - $("select[name=\"options_"+parent_list+"\"]").change(function() { - showOptions(child_list, parent_list); - }); - }); - } - - setListDependencies(); - }); - </script>'; - } - return $out; - } - - ->>>>>>> refs/remotes/origin/3.6 /** * Function to check if an object is used by others. * Check is done into this->childtables. There is no check into llx_element_element. diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index 630d2ae5b13..5ae50b7629a 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -242,7 +242,7 @@ function entity_prepare_head($object, $aEntities) /** * Show list of themes. Show all thumbs of themes * - * @param User $fuser User concerned or '' for global theme + * @param User $fuser User concerned or null for global theme * @param int $edit 1 to add edit form * @param boolean $foruserprofile Show for user profile view * @return void @@ -265,7 +265,7 @@ function show_theme($fuser,$edit=0,$foruserprofile=false) $selected_theme=''; if (empty($foruserprofile)) $selected_theme=$conf->global->MAIN_THEME; - else $selected_theme=empty($fuser->conf->MAIN_THEME)?'':$fuser->conf->MAIN_THEME; + else $selected_theme=((is_object($fuser) && ! empty($fuser->conf->MAIN_THEME))?$fuser->conf->MAIN_THEME:''); $colspan=2; if ($foruserprofile) $colspan=4; diff --git a/htdocs/install/mysql/tables/llx_bank_account.sql b/htdocs/install/mysql/tables/llx_bank_account.sql index bb2da7841b8..ac060bc0df3 100644 --- a/htdocs/install/mysql/tables/llx_bank_account.sql +++ b/htdocs/install/mysql/tables/llx_bank_account.sql @@ -38,7 +38,7 @@ create table llx_bank_account number varchar(255), cle_rib varchar(5), bic varchar(11), - iban_prefix varchar(34), -- 34 according to ISO 13616 + iban_prefix varchar(34), -- full iban. 34 according to ISO 13616 country_iban varchar(2), -- deprecated cle_iban varchar(2), domiciliation varchar(255), diff --git a/htdocs/install/mysql/tables/llx_societe_rib.sql b/htdocs/install/mysql/tables/llx_societe_rib.sql index cc5a5985eeb..0500c32c744 100644 --- a/htdocs/install/mysql/tables/llx_societe_rib.sql +++ b/htdocs/install/mysql/tables/llx_societe_rib.sql @@ -32,7 +32,7 @@ create table llx_societe_rib number varchar(255), -- account number cle_rib varchar(5), -- key of bank account bic varchar(20), -- 11 according to ISO 9362 (we keep 20 for backward compatibility) - iban_prefix varchar(34), -- 34 according to ISO 13616 + iban_prefix varchar(34), -- full iban. 34 according to ISO 13616 domiciliation varchar(255), proprio varchar(60), owner_address varchar(255), diff --git a/htdocs/societe/class/companybankaccount.class.php b/htdocs/societe/class/companybankaccount.class.php index 79b59211b51..37e646d6b88 100644 --- a/htdocs/societe/class/companybankaccount.class.php +++ b/htdocs/societe/class/companybankaccount.class.php @@ -45,7 +45,6 @@ class CompanyBankAccount extends Account var $cle_rib; var $bic; var $iban; - var $iban_prefix; // deprecated var $proprio; var $owner_address; var $default_rib; @@ -141,7 +140,7 @@ class CompanyBankAccount extends Account $sql .= ",number='".$this->number."'"; $sql .= ",cle_rib='".$this->cle_rib."'"; $sql .= ",bic='".$this->bic."'"; - $sql .= ",iban_prefix = '".$this->iban_prefix."'"; + $sql .= ",iban_prefix = '".$this->iban."'"; $sql .= ",domiciliation='".$this->db->escape($this->domiciliation)."'"; $sql .= ",proprio = '".$this->db->escape($this->proprio)."'"; $sql .= ",owner_address = '".$this->db->escape($this->owner_address)."'"; @@ -196,7 +195,6 @@ class CompanyBankAccount extends Account $this->cle_rib = $obj->cle_rib; $this->bic = $obj->bic; $this->iban = $obj->iban; - $this->iban_prefix = $obj->iban; // deprecated $this->domiciliation = $obj->domiciliation; $this->proprio = $obj->proprio; $this->owner_address = $obj->owner_address; diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index b95839d67b9..01d82ac0867 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -71,7 +71,7 @@ if ($action == 'update' && ! $_POST["cancel"]) $account->number = $_POST["number"]; $account->cle_rib = $_POST["cle_rib"]; $account->bic = $_POST["bic"]; - $account->iban_prefix = $_POST["iban_prefix"]; + $account->iban = $_POST["iban"]; $account->domiciliation = $_POST["domiciliation"]; $account->proprio = $_POST["proprio"]; $account->owner_address = $_POST["owner_address"]; @@ -129,7 +129,7 @@ if ($action == 'add' && ! $_POST["cancel"]) $account->number = $_POST["number"]; $account->cle_rib = $_POST["cle_rib"]; $account->bic = $_POST["bic"]; - $account->iban_prefix = $_POST["iban_prefix"]; + $account->iban = $_POST["iban"]; $account->domiciliation = $_POST["domiciliation"]; $account->proprio = $_POST["proprio"]; $account->owner_address = $_POST["owner_address"]; @@ -292,7 +292,7 @@ if ($socid && $action != 'edit' && $action != "create") } print '<tr><td valign="top">'.$langs->trans("IBAN").'</td>'; - print '<td colspan="4">'.$account->iban_prefix.'</td></tr>'; + print '<td colspan="4">'.$account->iban.'</td></tr>'; print '<tr><td valign="top">'.$langs->trans("BIC").'</td>'; print '<td colspan="4">'.$account->bic.'</td></tr>'; @@ -476,13 +476,13 @@ if ($socid && $action == 'edit' && $user->rights->societe->creer) // IBAN print '<tr><td valign="top">'.$langs->trans("IBAN").'</td>'; - print '<td colspan="4"><input size="30" type="text" name="iban_prefix" value="'.$account->iban_prefix.'"></td></tr>'; + print '<td colspan="4"><input size="30" type="text" name="iban" value="'.$account->iban.'"></td></tr>'; print '<tr><td valign="top">'.$langs->trans("BIC").'</td>'; print '<td colspan="4"><input size="12" type="text" name="bic" value="'.$account->bic.'"></td></tr>'; print '<tr><td valign="top">'.$langs->trans("BankAccountDomiciliation").'</td><td colspan="4">'; - print "<textarea name=\"domiciliation\" rows=\"4\" cols=\"40\">"; + print '<textarea name="domiciliation" rows="4" cols="40">'; print $account->domiciliation; print "</textarea></td></tr>"; @@ -556,7 +556,7 @@ if ($socid && $action == 'create' && $user->rights->societe->creer) // IBAN print '<tr><td valign="top">'.$langs->trans("IBAN").'</td>'; - print '<td colspan="4"><input size="30" type="text" name="iban_prefix" value="'.GETPOST('iban_prefix').'"></td></tr>'; + print '<td colspan="4"><input size="30" type="text" name="iban" value="'.GETPOST('iban').'"></td></tr>'; print '<tr><td valign="top">'.$langs->trans("BIC").'</td>'; print '<td colspan="4"><input size="12" type="text" name="bic" value="'.GETPOST('bic').'"></td></tr>'; -- GitLab