function acumulus_config() { $vars = getAddonVars(); $invoiceTemplateFields = ''; $costCenterFields = ''; if (!empty($vars)) { $api = new api($vars['code'], $vars['username'], $vars['password']); $api->setCategory('picklists')->setAction('picklist_invoicetemplates'); $api->execute(); if ($api->hasErrors()) { foreach ($api->getErrors() as $error) { $invoiceTemplateFields .= $error['code'] . ' - ' . $error['message'] . ','; } } else { $response = $api->getResponse(); foreach ($response['invoicetemplates'] as $invoiceTemplate) { $invoiceTemplateFields .= $invoiceTemplate['invoicetemplatename'] . ','; } } $invoiceTemplateFields = substr($invoiceTemplateFields, 0, -1); $api = new api($vars['code'], $vars['username'], $vars['password']); $api->setCategory('picklists')->setAction('picklist_costcenters'); $api->execute(); if ($api->hasErrors()) { foreach ($api->getErrors() as $error) { $costCenterFields .= $error['code'] . ' - ' . $error['message'] . ','; } } else { $response = $api->getResponse(); foreach ($response['costcenters'] as $invoiceTemplate) { $costCenterFields .= $invoiceTemplate['costcentername'] . ','; } } $costCenterFields = substr($costCenterFields, 0, -1); } else { $invoiceTemplateFields .= 'Vul eerst uw gegevens in en sla deze op.'; $costCenterFields .= 'Vul eerst uw gegevens in en sla deze op.'; } $vatFields = 'Geen'; $fieldQuery = mysql_query('SELECT * FROM tblcustomfields WHERE type = "client"'); while ($fieldFetch = mysql_fetch_assoc($fieldQuery)) { $vatFields .= ',' . $fieldFetch['fieldname']; } $configarray = array('name' => 'Acumulus', 'description' => 'A module which connects WHMCS with Acumulus.', 'version' => '1.0', 'author' => '<a href="http://devapp.nl/">Dev App</a>', 'language' => 'dutch', 'fields' => array('code' => array('FriendlyName' => 'Contractcode', 'Type' => 'text', 'Description' => 'Uw contractcode van Acumulus.'), 'username' => array('FriendlyName' => 'Gebruikersnaam', 'Type' => 'text', 'Description' => 'Uw gebruikersnaam van Acumulus (TIP: maak een aparte gebruiker aan).'), 'password' => array('FriendlyName' => 'Wachwoord', 'Type' => 'password', 'Description' => 'Uw wachtwoord van Acumulus (TIP: maak een aparte gebruiker aan).'), 'add_paid' => array('FriendlyName' => 'Synchroniseer betaalde factuur', 'Type' => 'yesno', 'Description' => 'Voeg een factuur toe wanneer hij betaald is via WHMCS (TIP: gebruik de <a href="http://www.whmcs.com/members/communityaddons.php?action=viewmod&id=219" target="_blank">EU VAT Addon</a></a> voor Proforma Invoicing).'), 'invoice_template' => array('FriendlyName' => 'Factuur template', 'Type' => 'dropdown', 'Options' => $invoiceTemplateFields, 'Description' => 'Selecteer hier een factuur template die voor alle facturen gebruikt wordt.'), 'cost_center' => array('FriendlyName' => 'Kostenplaats', 'Type' => 'dropdown', 'Options' => $costCenterFields, 'Description' => 'Selecteer hier een kostenplaats die voor alle facturen gebruikt wordt.'), 'vat_field' => array('FriendlyName' => 'VAT-nummer veld', 'Type' => 'dropdown', 'Options' => $vatFields, 'Description' => 'Selecteer hier het VAT-nummer veld van de <a href="configcustomfields.php">Custom Client Fields</a> pagina (TIP: gebruik de <a href="http://www.whmcs.com/members/communityaddons.php?action=viewmod&id=219" target="_blank">EU VAT Addon</a></a> voor een automatisch VAT-nummer check)'), 'hide_sync' => array('FriendlyName' => 'Verberg synchonisatie', 'Type' => 'yesno', 'Description' => 'Verberg hiermee de synchonisatie optie van bestaande facturen, zodat het niet onverwachts nog is gebeurd.'), 'debug' => array('FriendlyName' => 'API Debug', 'Type' => 'yesno', 'Description' => 'Activeer de API debug mode.'), 'debug_email' => array('FriendlyName' => 'Debug E-mail', 'Type' => 'text', 'Description' => 'Uw e-mailadres voor de API-error en warning e-mails.'))); return $configarray; }
function acumulus_update_client($vars) { $vars = array_merge($vars, getAddonVars()); updateCustomer($vars, $vars['userid']); }