$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;
/** * 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']); }