本文整理汇总了PHP中waContact::getLocale方法的典型用法代码示例。如果您正苦于以下问题:PHP waContact::getLocale方法的具体用法?PHP waContact::getLocale怎么用?PHP waContact::getLocale使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类waContact
的用法示例。
在下文中一共展示了waContact::getLocale方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: payment
public function payment($data, $order_data, $auto_submit = false)
{
$data['order_id'] = $order_data['order_id'];
if ($order_data['currency_id'] != 'USD') {
throw new waPaymentException(_w('Order currency is not USD but payment gateway provide only USD transactions'));
}
$type_trans = array_flip(self::$type_trans);
if (!empty($data['type']) && !empty($type_trans[$data['type']])) {
$type = $type_trans[$data['type']];
} else {
$type = self::OPERATION_AUTH_ONLY;
}
if (empty($order_data['description_en'])) {
$order_data['description_en'] = 'Order #' . $order_data['order_id'] . ' (' . gmdate('F, d Y') . ')';
}
$c = new waContact($order_data['contact_id']);
$locale = $c->getLocale();
$form_fields = array('x_login' => $this->login, 'x_amount' => number_format($order_data['amount'], 2, '.', ''), 'x_description' => $order_data['description_en'], 'x_invoice_num' => $order_data['order_id'], 'x_fp_sequence' => rand(1, 1000), 'x_fp_timestamp' => time(), 'x_test_request' => 'false', 'x_show_form' => 'PAYMENT_FORM', 'x_type' => $type, 'x_version' => '3.1', 'x_method' => 'CC', 'x_cust_id' => $order_data['contact_id'], 'x_customer_ip' => wa()->getRequest()->server('REMOTE_ADDR'), 'x_duplicate_window' => '28800', 'x_first_name' => waLocale::transliterate($c->get('firstname'), $locale), 'x_last_name' => waLocale::transliterate($c->get('lastname'), $locale), 'x_company' => waLocale::transliterate($c->get('company'), $locale), 'x_address' => waLocale::transliterate($c->get('address:street', 'default'), $locale), 'x_city' => waLocale::transliterate($c->get('address:city', 'default'), $locale), 'x_state' => waLocale::transliterate($c->get('address:region', 'default'), $locale), 'x_zip' => waLocale::transliterate($c->get('address:zip', 'default'), $locale), 'x_country' => waLocale::transliterate($c->get('address:country', 'default'), $locale), 'x_phone' => $c->get('phone', 'default'), 'x_email' => $c->get('email', 'default'), 'x_relay_response' => isset($data['x_relay_response']) ? $data['x_relay_response'] : 'true', 'x_relay_url' => $this->getRelayUrl(), 'wa_success_url' => $this->getAdapter()->getBackUrl(waAppPayment::URL_SUCCESS, $data), 'wa_decline_url' => $this->getAdapter()->getBackUrl(waAppPayment::URL_DECLINE, $data), 'wa_cancel_url' => $this->getAdapter()->getBackUrl(waAppPayment::URL_FAIL, $data), 'wa_app_id' => $this->app_id, 'wa_merchant_id' => $this->merchant_id);
$form_fields['x_fp_hash'] = '';
// @TODO: get from common 'address' field
if (phpversion() >= '5.1.2') {
$form_fields['x_fp_hash'] = hash_hmac('md5', $this->login . "^" . $form_fields['x_fp_sequence'] . "^" . $form_fields['x_fp_timestamp'] . "^" . $form_fields['x_amount'] . "^", $this->trans_key);
} else {
$form_fields['x_fp_hash'] = bin2hex(mhash(MHASH_MD5, $this->login . "^" . $form_fields['x_fp_sequence'] . "^" . $form_fields['x_fp_timestamp'] . "^" . $form_fields['x_amount'] . "^", $this->trans_key));
}
if ($this->form_header) {
$form_fields['x_header_html_payment_form'] = $this->form_header;
}
$view = wa()->getView();
$view->assign('url', wa()->getRootUrl());
$view->assign('form_fields', $form_fields);
$view->assign('form_url', $this->getEndpointUrl());
$view->assign('auto_submit', $auto_submit);
return $view->fetch($this->path . '/templates/payment.html');
}
示例2: execute
public function execute()
{
$this->contact = wa()->getUser();
$data = json_decode(waRequest::post('data'), true);
if (!$data || !is_array($data)) {
$this->response = array('errors' => array(), 'data' => array());
return;
}
// Make sure only allowed fields are saved
$allowed = array();
foreach (waContactFields::getAll('person') as $f) {
if ($f->getParameter('allow_self_edit')) {
$allowed[$f->getId()] = true;
}
}
$data = array_intersect_key($data, $allowed);
$oldLocale = $this->getUser()->getLocale();
// Validate and save contact if no errors found
$errors = $this->contact->save($data, true);
if ($errors) {
$response = array();
} else {
// New data formatted for JS
$response['name'] = $this->contact->get('name', 'js');
foreach ($data as $field_id => $field_value) {
if (!isset($errors[$field_id])) {
$response[$field_id] = $this->contact->get($field_id, 'js');
}
}
// Top fields
$response['top'] = array();
foreach (array('email', 'phone', 'im') as $f) {
if ($v = $this->contact->get($f, 'top,html')) {
$response['top'][] = array('id' => $f, 'name' => waContactFields::get($f)->getName(), 'value' => is_array($v) ? implode(', ', $v) : $v);
}
}
}
// Reload page with new language if user just changed it in own profile
if ($oldLocale != $this->contact->getLocale()) {
$response['reload'] = TRUE;
}
$this->response = array('errors' => $errors, 'data' => $response);
}
示例3: execute
public function execute()
{
$this->id = (int) waRequest::post('id');
// Check access
if (!$this->id) {
if (!$this->getRights('create')) {
throw new waRightsException('Access denied.');
}
} else {
$cr = new contactsRightsModel();
if ($cr->getRight(null, $this->id) != 'write') {
throw new waRightsException('Access denied.');
}
}
$this->type = waRequest::post('type');
$this->contact = new waContact($this->id);
if ($this->type == 'company') {
$this->contact['is_company'] = 1;
}
$data = json_decode(waRequest::post('data'), true);
if (!$this->id && !isset($data['create_method'])) {
$data['create_method'] = 'add';
}
$oldLocale = $this->getUser()->getLocale();
// get old data for logging
if ($this->id) {
$old_data = array();
foreach ($data as $field_id => $field_value) {
$old_data[$field_id] = $this->contact->get($field_id);
}
}
$response = array();
if (!($errors = $this->contact->save($data, true))) {
if ($this->id) {
$new_data = array();
foreach ($data as $field_id => $field_value) {
if (!isset($errors[$field_id])) {
$response[$field_id] = $this->contact->get($field_id, 'js');
$new_data[$field_id] = $this->contact->get($field_id);
}
}
if (empty($errors)) {
$this->logContactEdit($old_data, $new_data);
}
$response['name'] = $this->contact->get('name', 'js');
$response['top'] = contactsHelper::getTop($this->contact);
$response['id'] = $this->contact->getId();
} else {
$response = array('id' => $this->contact->getId());
$response['address'] = $this->contact->get('address', 'js');
$this->logAction('contact_add', null, $this->contact->getId());
}
// Update recently added menu item
$name = waContactNameField::formatName($this->contact);
if ($name || $name === '0') {
$history = new contactsHistoryModel();
$history->save('/contact/' . $this->contact->getId(), $name, $this->id ? null : 'add');
$history = $history->get();
// to update history in user's browser
}
}
// Reload page with new language if user just changed it in own profile
if ($this->contact->getId() == $this->getUser()->getId() && $oldLocale != $this->contact->getLocale()) {
$response['reload'] = true;
}
$this->response = array('errors' => $errors, 'data' => $response);
if (isset($history)) {
$this->response['history'] = $history;
}
}
示例4: execute
public function execute()
{
$this->id = (int) waRequest::post('id');
// Check access
if (!$this->id) {
if (!$this->getRights('create')) {
throw new waRightsException('Access denied.');
}
} else {
$cr = new contactsRightsModel();
if ($cr->getRight(null, $this->id) != 'write') {
throw new waRightsException('Access denied.');
}
}
$this->type = waRequest::post('type');
$this->contact = new waContact($this->id);
if ($this->type == 'company') {
$this->contact['is_company'] = 1;
}
$data = json_decode(waRequest::post('data'), true);
if (!$this->id && !isset($data['create_method'])) {
$data['create_method'] = 'add';
}
$oldLocale = $this->getUser()->getLocale();
$response = array();
if (!($errors = $this->contact->save($data, true))) {
if ($this->id) {
foreach ($data as $field_id => $field_value) {
if (!isset($errors[$field_id])) {
$response[$field_id] = $this->contact->get($field_id, 'js');
}
}
$response['name'] = $this->contact->get('name', 'js');
$fields = array('email', 'phone', 'im');
$top = array();
foreach ($fields as $f) {
if ($v = $this->contact->get($f, 'top,html')) {
$top[] = array('id' => $f, 'name' => waContactFields::get($f)->getName(), 'value' => is_array($v) ? implode(', ', $v) : $v);
}
}
$response['top'] = $top;
} else {
$response = array('id' => $this->contact->getId());
$this->log('contact_add', 1);
}
// Update recently added menu item
if (($name = $this->contact->get('name')) || $name === '0') {
$name = trim($this->contact->get('title') . ' ' . $name);
$history = new contactsHistoryModel();
$history->save('/contact/' . $this->contact->getId(), $name, $this->id ? null : 'add');
$history = $history->get();
// to update history in user's browser
}
}
// Reload page with new language if user just changed it in own profile
if ($this->contact->getId() == $this->getUser()->getId() && $oldLocale != $this->contact->getLocale()) {
$response['reload'] = TRUE;
}
$this->response = array('errors' => $errors, 'data' => $response);
if (isset($history)) {
$this->response['history'] = $history;
}
}