} } if ($regaction == "custom") { check_token("WHMCS.admin.default"); $values = RegCustomFunction($params, $ac); if ($values['error']) { infoBox($aInt->lang("domains", "registrarerror"), $values['error'], "error"); } else { if (!$values['message']) { $values['message'] = $aInt->lang("domains", "changesuccess"); } infoBox($aInt->lang("domains", "changesuccess"), $values['message'], "success"); } } if ($conf == "addedidprotect" || $conf == "removedidprotect") { $values = RegIDProtectToggle($params); if (is_array($values)) { if ($values['error']) { infoBox($aInt->lang("domains", "idprotectfailed"), $values['error'], "error"); } else { infoBox($aInt->lang("domains", "idprotectsuccess"), $aInt->lang("domains", "idprotectinfo"), "success"); } } } $success = $domains->moduleCall("GetNameservers"); if ($success) { $nsvalues = $domains->getModuleReturn(); } else { if (!$infobox) { infoBox($aInt->lang("domains", "registrarerror"), $domains->getLastError()); }
function processPaidInvoice($invoiceid, $noemail = "", $date = "") { global $CONFIG; $result = select_query("tblinvoices", "invoicenum,userid,status", array("id" => $invoiceid)); $data = mysql_fetch_array($result); $userid = $data['userid']; $invoicestatus = $data['status']; $invoicenum = $data['invoicenum']; if ($invoicestatus != "Unpaid") { return false; } $date = $date ? toMySQLDate($date) . date(" H:i:s") : "now()"; update_query("tblinvoices", array("status" => "Paid", "datepaid" => $date), array("id" => $invoiceid)); logActivity("Invoice Marked Paid - Invoice ID: " . $invoiceid, $userid); if ($CONFIG['SequentialInvoiceNumbering'] && !$invoicenum) { $invoicenumber = $CONFIG['SequentialInvoiceNumberFormat']; $invnumval = get_query_val("tblconfiguration", "value", array("setting" => "SequentialInvoiceNumberValue")); update_query("tblconfiguration", array("value" => "+1"), array("setting" => "SequentialInvoiceNumberValue")); $invoicenumber = str_replace("{NUMBER}", $invnumval, $invoicenumber); update_query("tblinvoices", array("invoicenum" => $invoicenumber), array("id" => $invoiceid)); ++$CONFIG['SequentialInvoiceNumberValue']; } run_hook("InvoicePaidPreEmail", array("invoiceid" => $invoiceid)); if (!$noemail) { sendMessage("Invoice Payment Confirmation", $invoiceid); } $result = select_query("tblinvoiceitems", "", "invoiceid='" . mysql_real_escape_string($invoiceid) . "' AND type!=''", "id", "ASC"); while ($data = mysql_fetch_array($result)) { $userid = $data['userid']; $type = $data['type']; $relid = $data['relid']; $amount = $data['amount']; if ($type == "Hosting") { makeHostingPayment($relid); } if ($type == "DomainRegister" || $type == "DomainTransfer" || $type == "Domain") { makeDomainPayment($relid, $type); } if ($type == "DomainAddonDNS") { $enabledcheck = get_query_val("tbldomains", "dnsmanagement", array("id" => $relid)); if (!$enabledcheck) { $currency = getCurrency($userid); $dnscost = get_query_val("tblpricing", "msetupfee", array("type" => "domainaddons", "currency" => $currency['id'], "relid" => 0)); update_query("tbldomains", array("dnsmanagement" => "on", "recurringamount" => "+=" . $dnscost), array("id" => $relid)); } } if ($type == "DomainAddonEMF") { $enabledcheck = get_query_val("tbldomains", "emailforwarding", array("id" => $relid)); if (!$enabledcheck) { $currency = getCurrency($userid); $emfcost = get_query_val("tblpricing", "qsetupfee", array("type" => "domainaddons", "currency" => $currency['id'], "relid" => 0)); update_query("tbldomains", array("emailforwarding" => "on", "recurringamount" => "+=" . $emfcost), array("id" => $relid)); } } if ($type == "DomainAddonIDP") { $enabledcheck = get_query_val("tbldomains", "idprotection", array("id" => $relid)); if (!$enabledcheck) { $currency = getCurrency($userid); $idpcost = get_query_val("tblpricing", "ssetupfee", array("type" => "domainaddons", "currency" => $currency['id'], "relid" => 0)); update_query("tbldomains", array("idprotection" => "on", "recurringamount" => "+=" . $idpcost), array("id" => $relid)); $data = get_query_vals("tbldomains", "type,domain,registrar,registrationperiod", array("id" => $relid)); $domainparts = explode(".", $data['domain'], 2); $params = array(); $params['domainid'] = $relid; $params['sld'] = $domainparts[0]; $params['tld'] = $domainparts[1]; $params['regperiod'] = $data['registrationperiod']; $params['registrar'] = $data['registrar']; $params['regtype'] = $data['type']; if (!function_exists("RegIDProtectToggle")) { require ROOTDIR . "/includes/registrarfunctions.php"; } $values = RegIDProtectToggle($params); if ($values['error']) { logActivity("ID Protection Enabling Failed - Error: " . $values['error'] . " - Domain ID: " . $relid, $userid); } logActivity("ID Protection Enabled Successfully - Domain ID: " . $relid, $userid); } } if ($type == "Addon") { makeAddonPayment($relid); } if ($type == "Upgrade") { if (!function_exists("processUpgradePayment")) { require dirname(__FILE__) . "/upgradefunctions.php"; } processUpgradePayment($relid, "", "", "true"); } if ($type == "AddFunds") { insert_query("tblcredit", array("clientid" => $userid, "date" => "now()", "description" => "Add Funds Invoice #" . $invoiceid, "amount" => $amount, "relid" => $invoiceid)); update_query("tblclients", array("credit" => "+=" . $amount), array("id" => (int) $userid)); } if ($type == "Invoice") { insert_query("tblcredit", array("clientid" => $userid, "date" => "now()", "description" => "Mass Invoice Payment Credit for Invoice #" . $relid, "amount" => $amount)); update_query("tblclients", array("credit" => "+=" . $amount), array("id" => (int) $userid)); applyCredit($relid, $userid, $amount); } if (substr($type, 0, 14) == "ProrataProduct") { $newduedate = substr($type, 14); update_query("tblhosting", array("nextduedate" => $newduedate, "nextinvoicedate" => $newduedate), array("id" => $relid)); } if (substr($type, 0, 12) == "ProrataAddon") { $newduedate = substr($type, 12); update_query("tblhostingaddons", array("nextduedate" => $newduedate, "nextinvoicedate" => $newduedate), array("id" => $relid)); } } run_hook("InvoicePaid", array("invoiceid" => $invoiceid)); }