Example #1
0
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;
}
Example #2
0
function acumulus_update_client($vars)
{
    $vars = array_merge($vars, getAddonVars());
    updateCustomer($vars, $vars['userid']);
}