function Create_Customer($security_key, $instance, $id_callplan, $id_didgroup, $units, $accountnumber_len, $balance, $activated, $status, $simultaccess, $currency, $typepaid, $sip, $iax, $language, $voicemail_enabled, $country) { $arr_check = $this->Check_KeyInstance($security_key, $instance); if ($arr_check[0] == 'ERROR') { return $arr_check; } $id_group = $arr_check[0]; if (!is_numeric($id_callplan)) { return array("ERROR", "NO ID_CALLPLAN PROVIDED"); } if ($accountnumber_len < 2 || $accountnumber_len > 40) { return array("ERROR", "WRONG ACCOUNT NUMBER LENGTH - $accountnumber_len"); } if (strlen($country)==3) $country = strtoupper($country); else $country = 'USA'; if (strlen($language)==2) $language = strtolower($language); else $language = 'en'; if ($activated) $activated = 't'; else $activated = 'f'; $instance_realtime = new Realtime(); $FG_ADITION_SECOND_ADD_TABLE = "cc_card"; $FG_ADITION_SECOND_ADD_FIELDS = "username, useralias, credit, tariff, country, language, activated, simultaccess, currency, typepaid, uipass, id_group, id_didgroup, sip_buddy, iax_buddy"; if (DB_TYPE != "postgres") { $FG_ADITION_SECOND_ADD_FIELDS .= ",creationdate "; } $instance_sub_table = new Table($FG_ADITION_SECOND_ADD_TABLE, $FG_ADITION_SECOND_ADD_FIELDS); $sip_buddy = $iax_buddy = 0; if (isset ($sip) && $sip == 1) $sip_buddy = 1; if (isset ($iax) && $iax == 1) $iax_buddy = 1; //initialize refill parameter $description_refill = gettext("CREATION CARD REFILL"); $field_insert_refill = "credit, card_id, description"; $instance_refill_table = new Table("cc_logrefill", $field_insert_refill); $arr_account = array(); for ($k = 0; $k < $units; $k++) { $arr_card_alias = gen_card_with_alias("cc_card", 0, $accountnumber_len); $accountnumber = $arr_card_alias[0]; $useralias = $arr_card_alias[1]; if (!is_numeric($balance)) $balance = 0; $passui_secret = MDP_NUMERIC(10); $FG_ADITION_SECOND_ADD_VALUE = "'$accountnumber', '$useralias', '$balance', '$id_callplan', '$country', '$language', '$activated', ". " $simultaccess, '$currency', $typepaid, '$passui_secret', '$id_group', '$id_didgroup', $sip_buddy, $iax_buddy"; if (DB_TYPE != "postgres") $FG_ADITION_SECOND_ADD_VALUE .= ", now() "; $id_cc_card = $instance_sub_table->Add_table($this->DBHandle, $FG_ADITION_SECOND_ADD_VALUE, null, null, 'id'); if (!$id_cc_card) { return array(false, "ERROR CREATING ACCOUNT (".$k." Accounts created)"); } $arr_account[] = array ($accountnumber, $id_cc_card); // create refill for card if ($balance > 0) { $value_insert_refill = "'$balance', '$id_cc_card', '$description_refill' "; $instance_refill_table->Add_table($this->DBHandle, $value_insert_refill, null, null); } $instance_realtime -> insert_voip_config ($sip_buddy, $iax_buddy, $id_cc_card, $accountnumber, $passui_secret, $useralias, $language); } // Save Sip accounts to file $instance_realtime -> create_trunk_config_file ('sip'); // Save IAX accounts to file $instance_realtime -> create_trunk_config_file ('iax'); return array(serialize($arr_account), "Create_Customer SUCCESS - ".$k." ACCOUNTS CREATED"); }
$useralias = $arr_card_alias[1]; if (!is_numeric($addcredit)) { $addcredit = 0; } $passui_secret = MDP_NUMERIC(5) . MDP_STRING(10) . MDP_NUMERIC(5); $FG_ADITION_SECOND_ADD_VALUE = "'{$accountnumber}', '{$useralias}', '{$addcredit}', '{$choose_tariff}', 't', '{$gen_id}', '', '', '', '', '', '{$id_country}', '', '', {$choose_simultaccess}, '{$choose_currency}', " . "{$choose_typepaid}, {$creditlimit}, {$enableexpire}, '{$expirationdate}', {$expiredays}, '{$passui_secret}', '{$runservice}', '{$tag}', '{$id_group}', '{$discount}', '{$id_seria}', " . "'{$id_didgroup}', {$sip_buddy}, {$iax_buddy}, '{$vat}'"; if (DB_TYPE != "postgres") { $FG_ADITION_SECOND_ADD_VALUE .= ", now() "; } $id_cc_card = $instance_sub_table->Add_table($HD_Form->DBHandle, $FG_ADITION_SECOND_ADD_VALUE, null, null, $HD_Form->FG_TABLE_ID); //create refill for each cards if ($addcredit > 0) { $value_insert_refill = "'{$addcredit}', '{$id_cc_card}', '{$description_refill}' "; $instance_refill_table->Add_table($HD_Form->DBHandle, $value_insert_refill, null, null); } $instance_realtime->insert_voip_config($sip, $iax, $id_cc_card, $accountnumber, $passui_secret); } // Save Sip accounts to file if (isset($sip)) { $instance_realtime->create_trunk_config_file('sip'); } // Save IAX accounts to file if (isset($iax)) { $instance_realtime->create_trunk_config_file('iax'); } } if (!isset($_SESSION["IDfilter"])) { $_SESSION["IDfilter"] = 'NODEFINED'; } $HD_Form->FG_TABLE_CLAUSE = " lastname='" . $_SESSION["IDfilter"] . "'"; // END GENERATE CARDS
/** * Function to edit the fields * @public */ static public function create_sipiax_friends() { global $A2B; $FormHandler = FormHandler::GetInstance(); $processed = $FormHandler->getProcessed(); $id = $FormHandler -> RESULT_QUERY; // DEFINED BEFORE FG_ADDITIONAL_FUNCTION_AFTER_ADD $sip = stripslashes($processed['sip_buddy']); $iax = stripslashes($processed['iax_buddy']); $language = stripslashes($processed['language']); // $FormHandler -> FG_QUERY_EXTRA_HIDDED - username, useralias, uipass, loginkey if (strlen($FormHandler -> FG_QUERY_EXTRA_HIDDED[0])>0) { $username = $FormHandler -> FG_QUERY_EXTRA_HIDDED[0]; $uipass = $FormHandler -> FG_QUERY_EXTRA_HIDDED[2]; $useralias = $FormHandler -> FG_QUERY_EXTRA_HIDDED[1]; } else { $username = $processed['username']; $uipass = $processed['uipass']; $useralias = $processed['useralias']; } $instance_realtime = new Realtime(); $instance_realtime -> insert_voip_config ($sip, $iax, $id, $username, $uipass, $useralias, $language); // Save info in table and in sip file if ($sip == 1) { $instance_realtime -> create_trunk_config_file ('sip'); } // Save info in table and in iax file if ($iax == 1) { $instance_realtime -> create_trunk_config_file ('iax'); } }