本文整理汇总了PHP中Encoding::fixUTF8方法的典型用法代码示例。如果您正苦于以下问题:PHP Encoding::fixUTF8方法的具体用法?PHP Encoding::fixUTF8怎么用?PHP Encoding::fixUTF8使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Encoding
的用法示例。
在下文中一共展示了Encoding::fixUTF8方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: isEqual
function isEqual($string1, $string2)
{
// $string1 = utf8_strtolower( preg_replace('/([\s+])/', '', Encoding::fixUTF8($string1) ));
// $string2 = utf8_strtolower( preg_replace('/([\s+])/', '', Encoding::fixUTF8($string2 )));
$string1 = explode(" ", utf8_strtolower(Encoding::fixUTF8($string1)));
$string2 = explode(" ", utf8_strtolower(Encoding::fixUTF8($string2)));
$filterStr1 = array();
foreach ($string1 as $str1) {
if (trim($str1, '.') == $str1) {
$filterStr1[] = $str1;
}
}
$filterStr2 = array();
foreach ($string2 as $str2) {
if (trim($str2, '.') == $str2) {
$filterStr2[] = $str2;
}
}
$foundName = array_intersect($filterStr1, $filterStr2);
return count($foundName) > 0;
}
示例2: match_usernamevp
function match_usernamevp($str1, $str2)
{
$name1 = explode(' ', utf8_strtolower(Encoding::fixUTF8($str1)));
$name2 = explode(' ', utf8_strtolower(Encoding::fixUTF8($str2)));
$foundName = array_intersect($name1, $name2);
return count($foundName) > 0;
}
示例3: toSlug
static function toSlug($string, $space = "-")
{
$string = Encoding::fixUTF8(Encoding::toUTF8($string));
$string = self::mb_strtolower(self::mb_trim($string));
$string = self::cleanTextHtml($string);
if (function_exists('iconv')) {
$string = @iconv('UTF-8', 'ASCII//TRANSLIT', $string);
}
$string = preg_replace('/[^a-z0-9 _.-]/', '', $string);
$string = preg_replace('/[\\s\\-_]+/', $space, $string);
$string = str_replace(' ', $space, $string);
return $string;
}
示例4: process
function process()
{
global $Shopp;
$Shopping =& $Shopp->Shopping;
$Order =& $Shopp->Order;
require_once SHOPP_ADDONS . '/BillmateCore/BillMate.php';
include_once SHOPP_ADDONS . "/BillmateCore/lib/xmlrpc.inc";
include_once SHOPP_ADDONS . "/BillmateCore/lib/xmlrpcs.inc";
$pno = $this->Order->pno;
$phone = $this->Order->billmatephone;
$eid = (int) $this->settings['eid'];
$key = $this->settings['secretkey'];
$ssl = true;
$debug = false;
$k = new BillMate($eid, $key, $ssl, $debug, $this->settings['testmode'] == 'on');
$Customer = $this->Order->Customer;
$Billing = $this->Order->Billing;
$Shipping = $this->Order->Shipping;
$country = $zone = $locale = $global = false;
$country = $Billing->country;
$country_to_currency = array('NO' => 'NOK', 'SE' => 'SEK', 'FI' => 'EUR', 'DK' => 'DKK', 'DE' => 'EUR', 'NL' => 'EUR');
$ship_address = $bill_address = array();
$countryData = BillmateCountry::getCountryData($Shipping->country);
$ship_address = array('email' => $Customer->email, 'telno' => $Customer->phone, 'cellno' => '', 'fname' => $Customer->firstname, 'lname' => $Customer->lastname, 'company' => $Customer->company, 'careof' => '', 'street' => $Shipping->address, 'house_number' => isset($house_no) ? $house_no : '', 'house_extension' => isset($house_ext) ? $house_ext : '', 'zip' => $Shipping->postcode, 'city' => $Shipping->city, 'country' => $countryData['country']);
$bill_address = array('email' => $Customer->email, 'telno' => $Customer->phone, 'cellno' => '', 'fname' => $Customer->firstname, 'lname' => $Customer->lastname, 'company' => $Customer->company, 'careof' => '', 'street' => $Billing->address, 'house_number' => '', 'house_extension' => '', 'zip' => $Billing->postcode, 'city' => $Billing->city, 'country' => $countryData['country']);
foreach ($ship_address as $key => $col) {
$ship_address[$key] = utf8_decode(Encoding::fixUTF8($col));
}
foreach ($bill_address as $key => $col) {
$bill_address[$key] = utf8_decode(Encoding::fixUTF8($col));
}
extract($countryData);
$goods_list = array();
$taxrate = 0;
if (sizeof($this->Order->Cart) <= 1 && !empty($this->settings['invoice_fee'])) {
$Shopp->Order->Cart = array();
new ShoppError(__('Cart is empty', 'shopp-billmate-invoice'), 2);
$this->Order->feeadded = false;
echo '<script type="text/javascript">window.location.href="' . shoppurl(false, 'cart') . '";</script>';
die;
}
foreach ($this->Order->Cart as $item) {
// echo links for the items
$flag = stripos($item->name, 'billmate fee') === false ? stripos($item->name, 'billmate invoice fee') === false ? 0 : 16 : 0;
$flag = stripos($item->name, 'billmate fee') === false ? stripos($item->name, 'billmate invoice fee') === false ? 0 : 16 : 0;
$taxrate = $taxrate == 0 ? $item->taxrate : $taxrate;
$goods_list[] = array('qty' => (int) $item->quantity, 'goods' => array('artno' => $item->product, 'title' => $item->name, 'price' => round($item->unitprice * 100, 0), 'vat' => round($item->taxrate * 100, 0), 'discount' => 0.0, 'flags' => $flag));
}
if ($this->Order->Cart->Totals->discount > 0) {
$rate = (100 + $taxrate * 100) / 100;
$totalAmt = $this->Order->Cart->Totals->discount;
$price = $totalAmt - $totalAmt / $rate;
$discount = $totalAmt - $price;
$goods_list[] = array('qty' => (int) 1, 'goods' => array('artno' => __('discount', 'shopp-billmate-invoice'), 'title' => __('Discount', 'shopp-billmate-invoice'), 'price' => -1 * abs(round($this->Order->Cart->Totals->discount * 100, 0)), 'vat' => $taxrate * 100, 'discount' => 0, 'flags' => $flag));
}
if (!empty($this->Order->Cart->Totals->shipping)) {
$totalAmt = $this->Order->Cart->Totals->shipping;
$goods_list[] = array('qty' => (int) 1, 'goods' => array('artno' => __('Shipping', 'shopp-billmate-invoice'), 'title' => __('Shipping', 'shopp-billmate-invoice'), 'price' => round($totalAmt * 100, 0), 'vat' => $taxrate * 100, 'discount' => 0, 'flags' => 8));
}
$pclass = -1;
$transaction = array("order1" => (string) $this->txnid(), "comment" => (string) "", "flags" => 0, "reference" => "", "reference_code" => "", "currency" => $currency, "country" => $country, "language" => $language, "pclass" => $pclass, "shipInfo" => array("delay_adjust" => "1"), "travelInfo" => array(), "incomeInfo" => array(), "bankInfo" => array(), "sid" => array("time" => microtime(true)), "extraInfo" => array(array("cust_no" => (string) $order_info['customer_id'])));
$result1 = $k->AddInvoice($pno, $bill_address, $ship_address, $goods_list, $transaction);
//shopp_rmv_cart_item($this->settings['invoice_fee']);
if (!is_array($result1)) {
$this->remove_fee();
/*
if( !empty($this->settings['invoice_fee'])){
$Shopp->Order->Cart->remove(sizeof( $this->Order->Cart )-1);
$Shopp->Order->Cart->totals();
$this->Order->feeadded = false;
unset($this->Order->feeadded);
}
*/
new ShoppError(__('Unable to process billmate try again <br/>Error:', 'shopp-billmate-invoice') . utf8_encode($result1), 2);
echo '<script type="text/javascript">window.location.href="' . shoppurl(false, 'checkout') . '";</script>';
die;
} else {
$this->Order->billmateId = $result1[0];
}
$this->Order->pno = '';
$this->Order->billmatephone = '';
$this->Order->feeadded = false;
$this->Order->transaction($this->txnid());
return true;
}
示例5: cleanTaxa
public function cleanTaxa($preview = 1, $fix = 0, $startTid = 0, $limit = 100000)
{
$sql = 'SELECT tid, author ' . 'FROM taxa ' . 'WHERE author IS NOT NULL ';
if ($startTid) {
$sql .= 'AND tid > ' . $startTid . ' ';
}
$sql .= 'ORDER BY tid ';
if ($limit) {
$sql .= 'LIMIT ' . $limit;
}
//echo $sql;
$rs = $this->conn->query($sql);
echo '<ol>';
while ($r = $rs->fetch_assoc()) {
$tid = $r['tid'];
echo '<li><b>tid: </b>' . $tid . ': ';
$setArr = array();
$problem = false;
foreach ($r as $k => $v) {
if ($v && $k != 'tid') {
$vCleaned = $this->cleanInStr($v);
$toUtf8 = Encoding::toUTF8($vCleaned);
$fixUtf8 = Encoding::fixUTF8($vCleaned);
if ($fix && $fixUtf8 != $vCleaned) {
$problem = true;
}
if (!$fix && $toUtf8 != $vCleaned) {
$problem = true;
}
if ($preview || $problem) {
echo '<div style="margin-left:10px;">';
echo '<b>' . $k . ':</b>: ' . $v . '; ';
echo '<b>toUTF8 method:</b> ' . $toUtf8 . '; ';
echo '<b>fixUTF8 method:</b> ' . $fixUtf8;
echo '</div>';
}
if ($fix) {
$setArr[] = $k . ' = "' . $fixUtf8 . '"';
} else {
$setArr[] = $k . ' = "' . $toUtf8 . '"';
}
}
}
if ($setArr) {
$sqlFix = 'UPDATE taxa SET ' . implode(',', $setArr) . ' WHERE tid = ' . $tid;
if ($problem) {
echo '<div style="margin-left:10px;"><b>PROBLEM:</b> ' . $sqlFix . '</div>';
if (!$preview) {
if (!$this->conn->query($sqlFix)) {
echo '<div style="margin-left:10px;">ERROR: ' . $this->conn->error . '; SQL: ' . $sqlFix . '</div>';
}
}
}
}
echo '</li>';
}
$rs->free();
echo '</ol>';
}
示例6: utf8_encode
/**
* Convert and Fix UTF8 strings
*
* @param $string
* String to be fixed
*
* Returns
* $string
*/
function utf8_encode($string)
{
if ($string) {
return Encoding::fixUTF8(mb_check_encoding($string, 'UTF-8') ? $string : utf8_encode($string));
} else {
return NULL;
}
}
示例7: fixEncoding
public function fixEncoding($string = '')
{
if (class_exists("Encoding")) {
try {
$string1 = Encoding::toUTF8($string);
return Encoding::fixUTF8($string1);
} catch (Exception $e) {
return $string;
}
} else {
return $string;
}
}
示例8: process
function process()
{
global $Shopp;
$Shopping =& $Shopp->Shopping;
$Order =& $Shopp->Order;
require_once SHOPP_ADDONS . '/BillmateCore/BillMate.php';
include_once SHOPP_ADDONS . "/BillmateCore/lib/xmlrpc.inc";
include_once SHOPP_ADDONS . "/BillmateCore/lib/xmlrpcs.inc";
$pno = $this->Order->partpaymentpno;
$phone = $this->Order->partpaymentphone;
$eid = (int) $this->settings['eid'];
$key = $this->settings['secretkey'];
$ssl = true;
$debug = false;
$k = new BillMate($eid, $key, $ssl, $debug, $this->settings['testmode'] == 'on');
$Customer = $this->Order->Customer;
$Billing = $this->Order->Billing;
$Shipping = $this->Order->Shipping;
$country = $zone = $locale = $global = false;
$country = $Billing->country;
$country_to_currency = array('NO' => 'NOK', 'SE' => 'SEK', 'FI' => 'EUR', 'DK' => 'DKK', 'DE' => 'EUR', 'NL' => 'EUR');
$ship_address = $bill_address = array();
$countryData = BillmateCountry::getCountryData($Shipping->country);
$ship_address = array('email' => $Customer->email, 'telno' => $Customer->phone, 'cellno' => '', 'fname' => $Customer->firstname, 'lname' => $Customer->lastname, 'company' => $Customer->company, 'careof' => '', 'street' => $Shipping->address, 'house_number' => isset($house_no) ? $house_no : '', 'house_extension' => isset($house_ext) ? $house_ext : '', 'zip' => $Shipping->postcode, 'city' => $Shipping->city, 'country' => $countryData['country']);
$bill_address = array('email' => $Customer->email, 'telno' => $Customer->phone, 'cellno' => '', 'fname' => $Customer->firstname, 'lname' => $Customer->lastname, 'company' => $Customer->company, 'careof' => '', 'street' => $Billing->address, 'house_number' => '', 'house_extension' => '', 'zip' => $Billing->postcode, 'city' => $Billing->city, 'country' => $countryData['country']);
foreach ($ship_address as $key => $col) {
$ship_address[$key] = utf8_decode(Encoding::fixUTF8($col));
}
foreach ($bill_address as $key => $col) {
$bill_address[$key] = utf8_decode(Encoding::fixUTF8($col));
}
extract($countryData);
//new ShoppError(var_export($Shipping->country,1), 'invalid_personal_number');
//shopp_safe_redirect(shoppurl(false,'checkout'));
$goods_list = array();
foreach ($this->Order->Cart->contents as $item) {
// echo links for the items
$flag = stripos($item->name, 'billmate fee') === false ? stripos($item->name, 'billmate invoice fee') === false ? 0 : 16 : 0;
$goods_list[] = array('qty' => (int) $item->quantity, 'goods' => array('artno' => $item->product, 'title' => $item->name, 'price' => round($item->unitprice * 100, 0), 'vat' => round($item->taxrate * 100, 0), 'discount' => 0.0, 'flags' => $flag));
$taxrate = $item->taxrate;
}
if ($this->Order->Cart->Totals->discount > 0) {
$rate = (100 + $taxrate * 100) / 100;
$totalAmt = $this->Order->Cart->Totals->discount;
$price = $totalAmt - $totalAmt / $rate;
$discount = $totalAmt - $price;
$goods_list[] = array('qty' => 1, 'goods' => array('artno' => __('discount', 'shopp-billmate-partpayment'), 'title' => __('Discount', 'shopp-billmate-partpayment'), 'price' => -1 * abs(round($this->Order->Cart->Totals->discount * 100, 0)), 'vat' => $taxrate * 100, 'discount' => 0, 'flags' => $flag));
}
if (!empty($this->Order->Cart->Totals->shipping)) {
$taxrate = $taxrate * 100;
//$rate = (100+$taxrate)/100;
$totalAmt = $this->Order->Cart->Totals->shipping;
//$price = $totalAmt-($totalAmt/$rate);
// $shipping = $totalAmt - $price;
$goods_list[] = array('qty' => (int) 1, 'goods' => array('artno' => __('Shipping', 'shopp-billmate-partpayment'), 'title' => __('Shipping', 'shopp-billmate-partpayment'), 'price' => round($totalAmt * 100, 0), 'vat' => $taxrate, 'discount' => 0, 'flags' => 8));
}
$pclass = (int) $this->Order->pclass;
$transaction = array("order1" => (string) $this->txnid(), "comment" => (string) "", "flags" => 0, "reference" => "", "reference_code" => "", "currency" => $currency, "country" => $country, "language" => $language, "pclass" => $pclass, "shipInfo" => array("delay_adjust" => "1"), "travelInfo" => array(), "incomeInfo" => array(), "bankInfo" => array(), "sid" => array("time" => microtime(true)), "extraInfo" => array(array("cust_no" => (string) $order_info['customer_id'])));
try {
$result1 = $k->AddInvoice($pno, $bill_address, $ship_address, $goods_list, $transaction);
} catch (Exception $ex) {
}
$this->Order->partpaymentpno = '';
$this->Order->partpaymentphone = '';
$this->Order->pclass = false;
if (!is_array($result1)) {
new ShoppError(__('It is not possible to pay with that method and to choose a different payment method or use a different personal number', 'shopp-billmate-partpayment'), 'billmate_error', SHOPP_TRXN_ERR);
shopp_redirect(shoppurl(false, 'checkout'));
die;
} else {
$this->Order->billmateId = $result1[0];
}
$this->Order->transaction($this->txnid());
return true;
}
示例9: processRecord
public function processRecord($record, $origin = false, $filter = false)
{
$data = json_decode($record['Data'], true);
$client = $data['client'];
$microtime = $data['microtime'];
$microtimeRCV = $data['microtime-rcv'];
$event = json_decode($data['event'], true);
if (isset($event['object']['insert']['region']['region_name'])) {
foreach ($event['object']['insert']['region']['region_name'] as $k => $v) {
$v = Encoding::fixUTF8($v);
$event['object']['insert']['region']['region_name_' . $k] = $v;
unset($event['object']['insert']['region']['region_name'][$k]);
}
}
if (isset($event['object']['insert']['category']['category_name'])) {
foreach ($event['object']['insert']['category']['category_name'] as $k => $v) {
$v = Encoding::fixUTF8($v);
$event['object']['insert']['category']['category_name_' . $k] = $v;
unset($event['object']['insert']['category']['category_name'][$k]);
}
}
$id = '';
$entity = '';
if (isset($event['object']['ad_id'])) {
$id = $event['object']['ad_id'];
$entity = "ad";
} else {
if (isset($event['object']['user_id'])) {
$id = $event['object']['user_id'];
$entity = "user";
}
}
$seed = "{$client}-{$entity}-{$id}";
$md5 = md5($seed);
$md5UUID = SimpleFunctions::md5ToUUID($md5);
$object = array();
$object['uuid'] = $md5UUID;
$object['client'] = $client;
$object['entity'] = $entity;
$object['id'] = $id;
$object['migration'] = 'Y';
$object['microtime'] = $microtime;
$object['microtime_rcv'] = $microtimeRCV;
if (isset($origin)) {
$object['origin'] = $origin;
}
if (isset($event['object']['insert'])) {
$object['action'] = 'insert';
foreach ($event['object']['insert'] as $k => $v) {
$object[$k] = $v;
}
} else {
if (isset($event['object']['update'])) {
$object['action'] = 'update';
foreach ($event['object']['insert'] as $k => $v) {
$object[$k] = $v;
}
}
}
$object['email'] = md5($object['email']);
$object['name'] = md5($object['name']);
$object['phone'] = md5($object['phone']);
if (!strstr($client, "_debug")) {
// Keyspace can be changed at runtime
if (isset($filter) && $filter != '') {
if ($client == $filter) {
$result = $this->client->setKeyspace($client);
}
} else {
$result = $this->client->setKeyspace($client);
}
// Batch 1
if ($object['entity'] == 'ad') {
$object['body'] = rtrim($object['body']);
$object['subject'] = rtrim($object['subject']);
try {
foreach ($object as $key => $value) {
if ($key != 'uuid') {
if (isset($value) && !is_array($value) && $value != '') {
$object[$key] = "'" . rtrim(str_replace("'", "''", $value)) . "'";
} else {
$object[$key] = "''";
}
}
}
$query = "INSERT INTO {$client}.ads (uuid, client, entity, id, migration, action, microtime, microtime_rcv, body, subject, user_id) VALUES ({$object['uuid']}, {$object['client']}, {$object['entity']}, {$object['id']}, {$object['migration']}, {$object['action']}, {$object['microtime']}, {$object['microtime_rcv']}, {$object['body']}, {$object['subject']}, {$object['user_id']});";
// echo $query."\n";
if (isset($filter) && $filter != '') {
if ($client == $filter) {
$res = $this->client->query($query);
}
} else {
$res = $this->client->query($query);
}
if (isset($res)) {
echo "cassandra {$client} {$object['uuid']}\n";
}
} catch (\Cassandra\Exception $e) {
echo $e->getMessage();
}
//.........这里部分代码省略.........
示例10: is
<?php
require_once "../autoload.php";
function is($desc, $a, $b)
{
if ($a === $b) {
echo '<span style="background-color: green;"> Pass </span> ' . $desc . "<br/>\n";
} else {
echo '<span style="background-color: red;"> Failed </span> ' . $desc . "<br/>\n";
}
return $a === $b;
}
$orig = "αΓ‘ΒΓ‘Ε‘αιν";
is("Encoding::toUTF8() convierte a UTF-8 todos los caracteres que no son ya UTF-8, teniendo en cuenta los que son Windows-1252, pero dejando sin cambios a los que ya son UTF-8", Encoding::toUTF8($orig), "Γ‘Ε‘Γ‘ΒÑőÑéΓ");
$utf8_from_iso = "ΒΒΒΒΒΒ
ΒΒΒΒΒΒΒΒΒΒΒΒΒΒΒΒΒΒΒΒΒΒΒΒΒΒ";
$utf8_from_win = "β¬ΒβΖββ¦β β‘Λβ°Ε βΉΕΒΕ½ΒΒβββββ’ββΛβ’Ε‘βΊΕΒΕΎΕΈ";
is("Encoding::UTF8FixWin1252Chars() convierte UTF-8 a UTF-8 corrigiendo caracteres especiales de Windows-1252", Encoding::UTF8FixWin1252Chars($utf8_from_iso), $utf8_from_win);
is("Encoding::toLatin1() convierte los UTF-8 a Windows-1252", Encoding::toLatin1($orig), "ααααιν");
is("Encoding::toLatin1() convierte los UTF-8 con caracteres convertidos desde Windows-1252 a Windows-1252", Encoding::toLatin1($utf8_from_win), "
");
is("Encoding::toLatin1() convierte los UTF-8 con caracteres convertidos desde ISO8859-1 a Windows-1252", Encoding::toLatin1($utf8_from_iso), "
");
is("Encoding::toWin1252() convierte los UTF-8 a Windows-1252", Encoding::toWin1252($orig), "ααααιν");
is("Encoding::toWin1252() convierte los UTF-8 con caracteres convertidos desde Windows-1252 a Windows-1252", Encoding::toWin1252($utf8_from_win), "
");
is("Encoding::toWin1252() convierte los UTF-8 con caracteres convertidos desde ISO8859-1 a Windows-1252", Encoding::toWin1252($utf8_from_iso), "
");
is("Encoding::fixUTF8() corrige UTF-8 convertido repetidamente", Encoding::fixUTF8(utf8_encode(utf8_encode(utf8_encode($orig)))), "ÑőÑőÑőÑéΓ");
示例11: billmate_transaction
function billmate_transaction($add_order = false)
{
global $Shopp;
$Shopping =& $Shopp->Shopping;
$Order =& $Shopp->Order;
if (empty($_POST)) {
$_POST = $_GET;
}
$pno = '';
$eid = (int) $this->settings['merchantid'];
$key = $this->settings['cardpaysecret'];
$ssl = true;
$debug = false;
$k = new BillMate($eid, $key, $ssl, $debug);
$Customer = $this->Order->Customer;
$Billing = $this->Order->Billing;
$Shipping = $this->Order->Shipping;
$country = $zone = $locale = $global = false;
$country = $Billing->country;
$country_to_currency = array('NO' => 'NOK', 'SE' => 'SEK', 'FI' => 'EUR', 'DK' => 'DKK', 'DE' => 'EUR', 'NL' => 'EUR');
$ship_address = $bill_address = array();
$countries = Lookup::countries();
//$countryData = BillmateCountry::getCountryData($Shipping->country);
$countryData = BillmateCountry::getSwedenData();
$ship_address = array('email' => $Customer->email, 'telno' => $Customer->phone, 'cellno' => '', 'fname' => $Customer->firstname, 'lname' => $Customer->lastname, 'company' => $Customer->company, 'careof' => '', 'street' => $Shipping->address, 'house_number' => isset($house_no) ? $house_no : '', 'house_extension' => isset($house_ext) ? $house_ext : '', 'zip' => $Shipping->postcode, 'city' => $Shipping->city, 'country' => $countries[$Shipping->country]['name']);
$bill_address = array('email' => $Customer->email, 'telno' => $Customer->phone, 'cellno' => '', 'fname' => $Customer->firstname, 'lname' => $Customer->lastname, 'company' => $Customer->company, 'careof' => '', 'street' => $Billing->address, 'house_number' => '', 'house_extension' => '', 'zip' => $Billing->postcode, 'city' => $Billing->city, 'country' => $countries[$Billing->country]['name']);
foreach ($ship_address as $key => $col) {
$ship_address[$key] = utf8_decode(Encoding::fixUTF8($col));
}
foreach ($bill_address as $key => $col) {
$bill_address[$key] = utf8_decode(Encoding::fixUTF8($col));
}
extract($countryData);
$goods_list = array();
$taxrate = 0;
foreach ($this->Order->Cart as $item) {
// echo links for the items
$flag = stripos($item->name, 'billmate fee') === false ? stripos($item->name, 'billmate invoice fee') === false ? 0 : 16 : 0;
$taxrate = $taxrate == 0 ? $item->taxrate : $taxrate;
$goods_list[] = array('qty' => (int) $item->quantity, 'goods' => array('artno' => $item->product, 'title' => $item->name, 'price' => round($item->unitprice * 100, 0), 'vat' => (double) round($item->taxrate * 100, 0), 'discount' => 0.0, 'flags' => $flag));
}
if ($this->Order->Cart->Totals->discount > 0) {
$rate = (100 + $taxrate * 100) / 100;
$totalAmt = $this->Order->Cart->Totals->discount;
$price = $totalAmt - $totalAmt / $rate;
$discount = $totalAmt - $price;
$goods_list[] = array('qty' => (int) 1, 'goods' => array('artno' => __('discount', 'shopp-billmate-cardpay'), 'title' => __('Discount', 'shopp-billmate-cardpay'), 'price' => -1 * abs(round($this->Order->Cart->Totals->discount * 100, 0)), 'vat' => (double) $taxrate * 100, 'discount' => (double) 0, 'flags' => $flag));
}
if (!empty($this->Order->Cart->Totals->shipping)) {
/* $taxrate = $taxrate * 100;
$rate = (100+$taxrate)/100;
$totalAmt = $this->Order->Cart->Totals->shipping;
$price = $totalAmt-($totalAmt/$rate);
$shipping = $totalAmt - $price;*/
$goods_list[] = array('qty' => (int) 1, 'goods' => array('artno' => __('Shipping', 'shopp-billmate-cardpay'), 'title' => __('Shipping', 'shopp-billmate-cardpay'), 'price' => round($this->Order->Cart->Totals->shipping * 100, 0), 'vat' => (double) $taxrate * 100, 'discount' => 0, 'flags' => 8));
}
$pclass = -1;
$lang = explode("_", strtoupper(WPLANG));
$base = $Shopp->Settings->get('base_operations');
$_ = array();
$transaction = array("order1" => (string) $this->txnid(), "comment" => (string) "", "flags" => 0, "reference" => "", "reference_code" => "", "currency" => $base['currency']['code'], "country" => 209, "language" => $lang[0], "pclass" => $pclass, "shipInfo" => array("delay_adjust" => "1"), "travelInfo" => array(), "incomeInfo" => array(), "bankInfo" => array(), "sid" => array("time" => microtime(true)), "extraInfo" => array(array("cust_no" => (string) $Customer->id, "creditcard_data" => $_POST)));
if (!empty($this->Order->capture) && $this->Order->capture == 'YES') {
$transaction["extraInfo"][0]["status"] = 'Paid';
}
if ($add_order) {
return $k->AddOrder($pno, $bill_address, $ship_address, $goods_list, $transaction);
}
if (!isset($_SESSION['card_invoice_called']) || $_SESSION['card_invoice_called'] == false) {
$result1 = $k->AddInvoice($pno, $bill_address, $ship_address, $goods_list, $transaction);
} else {
$result1[0] = $_SESSION['card_invoice_called_inv'];
}
if (!is_array($result1)) {
new ShoppError(__('Unable to process billmate try again <br/>Error:', 'shopp-billmate-cardpay') . utf8_encode($result1), 2);
echo '<script type="text/javascript">window.location.href="' . shoppurl(false, 'checkout') . '";</script>';
die;
} else {
$this->Order->billmateId = $result1[0];
}
}
示例12: encodeFixUtf8
public function encodeFixUtf8($text)
{
// enconding para UTF-8
return $text;
return Encoding::fixUTF8($text);
}