$pos += strlen($start);
$end = "\n" . "|}";
$pos2 = strpos($x, $end, $pos);
if ($pos2 === false) {
    echo "ERROR: didnt find end\n";
    exit;
}
$data = substr($x, $pos, $pos2 - $pos);
$list = [];
$rows = explode("\n", $data);
for ($i = 0; $i < count($rows); $i++) {
    if (!$rows[$i] || $rows[$i] == '|-' || $rows[$i] == '|') {
        continue;
    }
    $country = cleanText($rows[$i++]);
    $country = mapCountry($country);
    $codes = extractLinks($rows[$i++]);
    $timezone = $rows[$i++];
    foreach ($codes as $c) {
        $code = getRightSideOfMediawikiTag($c);
        $code = str_replace(' ', '', $code);
        $code = str_replace('+', '', $code);
        $codes2 = explode(',', $code);
        foreach ($codes2 as $code2) {
            if (!is_numeric($code2)) {
                echo "Skipping " . $code2 . "\n";
                continue;
            }
            $o = new \MartinLindhe\Data\CallingCodes\CallingCode();
            $o->country = $country;
            $o->code = $code2;
Пример #2
0
/**
 * Creates or updates customers billing details from given member array.
 *
 * @param \Entities\Customer $cust   Customer to update or create registration details
 * @param array              $member Members details array parsed from csv file.
 * @param object             $em     Doctrine entity manager.
 * @return void
 */
function createUpdateBilingDetails($cust, $member, $em, $countries)
{
    $bdetail = $cust->getBillingDetails();
    if (!$bdetail) {
        $bdetail = new \Entities\CompanyBillingDetail();
        $em->persist($bdetail);
        $bdetail->addCustomer($cust);
        $cust->setBillingDetails($bdetail);
    }
    $bdetail->setBillingContactName($member['billing_name']);
    $bdetail->setBillingAddress1($member['bill_addr1']);
    $bdetail->setBillingAddress2($member['bill_addr2'] . ", " . $member['bill_towncity']);
    $bdetail->setBillingTownCity($member['bill_countyregion']);
    $bdetail->setBillingPostcode($member['bill_postcode']);
    $bdetail->setBillingCountry(mapCountry($member['bill_country'], $countries));
    $bdetail->setBillingEmail($member['billing_email']);
    $bdetail->setBillingTelephone($member['billing_phone']);
    $bdetail->setBillingFrequency(mapBillFreq($member['billing_frequency']));
    $bdetail->setVatNumber($member['vat_no']);
    $bdetail->setVatRate($member['vat_rate']);
    $bdetail->setPurchaseOrderRequired(strtolower($member['po_required']) == 'yes' ? 1 : 0);
    $bdetail->setInvoiceMethod(mapInvoiceMethod($member['invoice_method']));
    $bdetail->setInvoiceEmail($member['invoice_email']);
}