本文整理汇总了PHP中Validate::isLoadedObject方法的典型用法代码示例。如果您正苦于以下问题:PHP Validate::isLoadedObject方法的具体用法?PHP Validate::isLoadedObject怎么用?PHP Validate::isLoadedObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Validate
的用法示例。
在下文中一共展示了Validate::isLoadedObject方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: postProcess
/**
* @see FrontController::postProcess()
*/
public function postProcess()
{
parse_str($_POST['optData'], $optData);
$id_cart = (int) $optData['cartId'];
$cart = new Cart($id_cart);
if ($cart->id_customer == 0 || $cart->id_address_delivery == 0 || $cart->id_address_invoice == 0 || !$this->module->active) {
die('Cannot create order for this cart.');
}
$customer = new Customer($cart->id_customer);
if (!Validate::isLoadedObject($customer)) {
die('No customer for this order.');
}
$currency = new Currency((int) $cart->id_currency);
$paid_amount = $_POST['amount'];
$order_amount = $cart->getOrderTotal(true, Cart::BOTH);
$apiHash = $_SERVER['HTTP_API_HASH'];
$query = http_build_query($_POST);
$hash = hash_hmac("sha512", $query, $this->module->secret_key);
if ($apiHash == $hash && $paid_amount == $order_amount) {
//success
$this->module->validateOrder($cart->id, Configuration::get('PS_OS_PAYMENT'), $paid_amount, $this->module->displayName, 'Invoice Code: ' . $_POST['invoiceCode'], array(), (int) $currency->id, false, $customer->secure_key);
} else {
//failed transaction
}
}
示例2: delete
/**
* @see ObjectModel::delete()
*/
public function delete()
{
if (!$this->hasMultishopEntries() || Shop::getContext() == Shop::CONTEXT_ALL) {
$result = Db::getInstance()->executeS('SELECT id_product_attribute FROM ' . _DB_PREFIX_ . 'product_attribute_combination WHERE id_attribute = ' . (int) $this->id);
$products = array();
foreach ($result as $row) {
$combination = new Combination($row['id_product_attribute']);
$newRequest = Db::getInstance()->executeS('SELECT id_product, default_on FROM ' . _DB_PREFIX_ . 'product_attribute WHERE id_product_attribute = ' . (int) $row['id_product_attribute']);
foreach ($newRequest as $value) {
if ($value['default_on'] == 1) {
$products[] = $value['id_product'];
}
}
$combination->delete();
}
foreach ($products as $product) {
$result = Db::getInstance()->executeS('SELECT id_product_attribute FROM ' . _DB_PREFIX_ . 'product_attribute WHERE id_product = ' . (int) $product . ' LIMIT 1');
foreach ($result as $row) {
if (Validate::isLoadedObject($product = new Product((int) $product))) {
$product->deleteDefaultAttributes();
$product->setDefaultAttribute($row['id_product_attribute']);
}
}
}
// Delete associated restrictions on cart rules
CartRule::cleanProductRuleIntegrity('attributes', $this->id);
/* Reinitializing position */
$this->cleanPositions((int) $this->id_attribute_group);
}
$return = parent::delete();
if ($return) {
Hook::exec('actionAttributeDelete', array('id_attribute' => $this->id));
}
return $return;
}
示例3: initializeContext
public function initializeContext()
{
global $smarty;
// Clean all cache values
Cache::clean('*');
Context::getContext()->shop = new Shop(1);
Shop::setContext(Shop::CONTEXT_SHOP, 1);
Configuration::loadConfiguration();
if (!isset(Context::getContext()->language) || !Validate::isLoadedObject(Context::getContext()->language)) {
if ($id_lang = (int) Configuration::get('PS_LANG_DEFAULT')) {
Context::getContext()->language = new Language($id_lang);
}
}
if (!isset(Context::getContext()->country) || !Validate::isLoadedObject(Context::getContext()->country)) {
if ($id_country = (int) Configuration::get('PS_COUNTRY_DEFAULT')) {
Context::getContext()->country = new Country((int) $id_country);
}
}
if (!isset(Context::getContext()->currency) || !Validate::isLoadedObject(Context::getContext()->currency)) {
if ($id_currency = (int) Configuration::get('PS_CURRENCY_DEFAULT')) {
Context::getContext()->currency = new Currency((int) $id_currency);
}
}
Context::getContext()->cart = new Cart();
Context::getContext()->employee = new Employee(1);
if (!defined('_PS_SMARTY_FAST_LOAD_')) {
define('_PS_SMARTY_FAST_LOAD_', true);
}
require_once _PS_ROOT_DIR_ . '/config/smarty.config.inc.php';
Context::getContext()->smarty = $smarty;
}
示例4: postProcess
/**
* @see FrontController::postProcess()
*/
public function postProcess()
{
$cart = $this->context->cart;
if ($cart->id_customer == 0 || $cart->id_address_delivery == 0 || $cart->id_address_invoice == 0 || !$this->module->active) {
Tools::redirect('index.php?controller=order&step=1');
}
// Check that this payment option is still available in case the customer changed his address just before the end of the checkout process
$authorized = false;
foreach (Module::getPaymentModules() as $module) {
if ($module['name'] == 'bankpermata') {
$authorized = true;
break;
}
}
if (!$authorized) {
die($this->module->getTranslator()->trans('This payment method is not available.', array(), 'Modules.BankPermata.Shop'));
}
$customer = new Customer($cart->id_customer);
if (!Validate::isLoadedObject($customer)) {
Tools::redirect('index.php?controller=order&step=1');
}
$currency = $this->context->currency;
$total = (double) $cart->getOrderTotal(true, Cart::BOTH);
$mailVars = array('{bankpermata_owner}' => Configuration::get('BANK_PERMATA_OWNER'), '{bankpermata_details}' => nl2br(Configuration::get('BANK_PERMATA_DETAILS')), '{bankpermata_address}' => nl2br(Configuration::get('BANK_PERMATA_ADDRESS')));
$this->module->validateOrder($cart->id, Configuration::get('PS_OS_BANKPERMATA'), $total, $this->module->displayName, NULL, $mailVars, (int) $currency->id, false, $customer->secure_key);
Tools::redirect('index.php?controller=order-confirmation&id_cart=' . $cart->id . '&id_module=' . $this->module->id . '&id_order=' . $this->module->currentOrder . '&key=' . $customer->secure_key);
}
示例5: changePassword
protected function changePassword()
{
$token = Tools::getValue('token');
$id_customer = (int) Tools::getValue('id_customer');
if ($email = Db::getInstance()->getValue('SELECT `email` FROM ' . _DB_PREFIX_ . 'customer c WHERE c.`secure_key` = \'' . pSQL($token) . '\' AND c.id_customer = ' . $id_customer)) {
$customer = new Customer();
$customer->getByEmail($email);
if (!Validate::isLoadedObject($customer)) {
$this->errors[] = $this->trans('Customer account not found', array(), 'Shop.Notifications.Error');
} elseif (!$customer->active) {
$this->errors[] = $this->trans('You cannot regenerate the password for this account.', array(), 'Shop.Notifications.Error');
}
// Case if both password params not posted or different, then "change password" form is not POSTED, show it.
if (!Tools::isSubmit('passwd') || !Tools::isSubmit('confirmation') || ($passwd = Tools::getValue('passwd')) !== ($confirmation = Tools::getValue('confirmation')) || !Validate::isPasswd($passwd) || !Validate::isPasswd($confirmation)) {
// Check if passwords are here anyway, BUT does not match the password validation format
if (Tools::isSubmit('passwd') || Tools::isSubmit('confirmation')) {
$this->errors[] = $this->trans('The password and its confirmation do not match.', array(), 'Shop.Notifications.Error');
}
$this->context->smarty->assign(['customer_email' => $customer->email, 'customer_token' => $token, 'id_customer' => $id_customer, 'reset_token' => Tools::getValue('reset_token')]);
$this->setTemplate('customer/password-new');
} else {
// Both password fields posted. Check if all is right and store new password properly.
if (!Tools::getValue('reset_token') || strtotime($customer->last_passwd_gen . '+' . (int) Configuration::get('PS_PASSWD_TIME_FRONT') . ' minutes') - time() > 0) {
Tools::redirect('index.php?controller=authentication&error_regen_pwd');
} else {
// To update password, we must have the temporary reset token that matches.
if ($customer->getValidResetPasswordToken() !== Tools::getValue('reset_token')) {
$this->errors[] = $this->trans('The password change request expired. You should ask for a new one.', array(), 'Shop.Notifications.Error');
} else {
try {
$crypto = new Hashing();
} catch (\PrestaShop\PrestaShop\Adapter\CoreException $e) {
$this->errors[] = $this->trans('An error occurred with your account, which prevents us from updating the new password. Please report this issue using the contact form.', array(), 'Shop.Notifications.Error');
return false;
}
$customer->passwd = $crypto->encrypt($password = Tools::getValue('passwd'), _COOKIE_KEY_);
$customer->last_passwd_gen = date('Y-m-d H:i:s', time());
if ($customer->update()) {
Hook::exec('actionPasswordRenew', array('customer' => $customer, 'password' => $password));
$customer->removeResetPasswordToken();
$customer->update();
$mail_params = ['{email}' => $customer->email, '{lastname}' => $customer->lastname, '{firstname}' => $customer->firstname];
if (Mail::Send($this->context->language->id, 'password', Mail::l('Your new password'), $mail_params, $customer->email, $customer->firstname . ' ' . $customer->lastname)) {
$this->context->smarty->assign(['customer_email' => $customer->email]);
$this->success[] = $this->trans('Your password has been successfully reset and a confirmation has been sent to your email address: %s', array($customer->email), 'Shop.Notifications.Success');
$this->context->updateCustomer($customer);
$this->redirectWithNotifications('index.php?controller=my-account');
} else {
$this->errors[] = $this->trans('An error occurred while sending the email.', array(), 'Shop.Notifications.Error');
}
} else {
$this->errors[] = $this->trans('An error occurred with your account, which prevents us from updating the new password. Please report this issue using the contact form.', array(), 'Shop.Notifications.Error');
}
}
}
}
} else {
$this->errors[] = $this->trans('We cannot regenerate your password with the data you\'ve submitted', array(), 'Shop.Notifications.Error');
}
}
示例6: addTags
/**
* Add several tags in database and link it to a product
*
* @param integer $id_lang Language id
* @param integer $id_simpleblog_post Post id to link tags with
* @param string|array $tag_list List of tags, as array or as a string with comas
* @return boolean Operation success
*/
public static function addTags($id_lang, $id_simpleblog_post, $tag_list, $separator = ',')
{
if (!Validate::isUnsignedId($id_lang)) {
return false;
}
if (!is_array($tag_list)) {
$tag_list = array_filter(array_unique(array_map('trim', preg_split('#\\' . $separator . '#', $tag_list, null, PREG_SPLIT_NO_EMPTY))));
}
$list = array();
if (is_array($tag_list)) {
foreach ($tag_list as $tag) {
if (!Validate::isGenericName($tag)) {
return false;
}
$tag_obj = new SimpleBlogTag(null, $tag, (int) $id_lang);
/* Tag does not exist in database */
if (!Validate::isLoadedObject($tag_obj)) {
$tag_obj->name = $tag;
$tag_obj->id_lang = (int) $id_lang;
$tag_obj->add();
}
if (!in_array($tag_obj->id, $list)) {
$list[] = $tag_obj->id;
}
}
}
$data = '';
foreach ($list as $tag) {
$data .= '(' . (int) $tag . ',' . (int) $id_simpleblog_post . '),';
}
$data = rtrim($data, ',');
$sql = 'INSERT INTO `' . _DB_PREFIX_ . 'simpleblog_post_tag` (`id_simpleblog_tag`, `id_simpleblog_post`) VALUES ' . $data;
return Db::getInstance()->execute($sql);
}
示例7: validateOrder
public function validateOrder($cart, $id_module, $id_order_status)
{
global $cookie;
if (!Validate::isLoadedObject($cart)) {
die(Tools::displayError());
}
$currency = new Currency((int) $cart->id_currency);
$order = new Order();
$order->id_cart = (int) $cart->id;
$order->id_user = (int) $cart->id_user;
$order->id_currency = (int) $cart->id_currency;
$order->id_address = (int) $cart->id_address;
$order->id_carrier = (int) $cart->id_carrier;
$order->id_order_status = (int) $id_order_status;
$order->id_module = (int) $id_module;
$order->discount = floatval($cart->discount);
$order->product_total = floatval($cart->getProductTotal());
$order->shipping_total = floatval($cart->getShippingTotal());
$order->amount = floatval($cart->getOrderTotal());
$order->conversion_rate = floatval($currency->conversion_rate);
$order->track_number = "null";
if ($order->add()) {
unset($cookie->id_cart);
$this->currentOrder = $order->id;
if ($id_order_status == 2) {
$products = $cart->getProducts();
foreach ($products as $row) {
Product::updateOrders($row['id_product']);
}
}
return true;
}
return false;
}
示例8: __construct
public function __construct($type = false)
{
parent::__construct();
// If type is sent, the cookie has to be delete
if ($type) {
unset($this->context->cookie->{self::$cookie_name});
$this->setExpressCheckoutType($type);
}
// Store back the PayPal data if present under the cookie
if (isset($this->context->cookie->{self::$cookie_name})) {
$paypal = unserialize($this->context->cookie->{self::$cookie_name});
foreach ($this->cookie_key as $key) {
$this->{$key} = $paypal[$key];
}
}
$this->currency = new Currency((int) $this->context->cart->id_currency);
if (!Validate::isLoadedObject($this->currency)) {
$this->_errors[] = $this->l('Not a valid currency');
}
if (count($this->_errors)) {
return false;
}
$currency_decimals = is_array($this->currency) ? (int) $this->currency['decimals'] : (int) $this->currency->decimals;
$this->decimals = $currency_decimals * _PS_PRICE_DISPLAY_PRECISION_;
}
示例9: postProcess
public function postProcess()
{
${"GLOBALS"}["blpimnned"] = "id_order_seller";
$dbodbxes = "id_order";
${${"GLOBALS"}["qusrvgm"]} = (int) Tools::getValue("id_order");
if (!$this->context->customer->isLogged() && !Tools::getValue("secure_key")) {
Tools::redirect("index.php?controller=authentication&back=my-account");
}
${"GLOBALS"}["tvasln"] = "id_order";
$jpdhpfqcj = "id_order";
if (!(int) Configuration::get("PS_INVOICE")) {
die(Tools::displayError("Invoices are disabled in this shop."));
}
if (isset(${${"GLOBALS"}["qusrvgm"]}) && Validate::isUnsignedId(${$dbodbxes})) {
${${"GLOBALS"}["ymjzko"]} = new Order(${$jpdhpfqcj});
}
if (!isset(${${"GLOBALS"}["ymjzko"]}) || !Validate::isLoadedObject(${${"GLOBALS"}["ymjzko"]})) {
die(Tools::displayError("Invoice not found"));
}
${${"GLOBALS"}["vewtbt"]} = AgileSellerManager::getObjectOwnerID("order", ${${"GLOBALS"}["tvasln"]});
${${"GLOBALS"}["sokafjqdei"]} = AgileSellerManager::getLinkedSellerID($this->context->customer->id);
if (${${"GLOBALS"}["blpimnned"]} != ${${"GLOBALS"}["sokafjqdei"]}) {
die(Tools::displayError("You do not have permission to see this invoice"));
}
if (Tools::isSubmit("secure_key") && $order->secure_key != Tools::getValue("secure_key")) {
die(Tools::displayError("You do not have permission to see this invoice"));
}
if (!OrderState::invoiceAvailable($order->getCurrentState()) && !$order->invoice_number) {
die(Tools::displayError("No invoice available"));
}
$this->order = ${${"GLOBALS"}["ymjzko"]};
}
示例10: getModuleAssign
public function getModuleAssign($module_name = '', $name_hook = '')
{
//$module_id = 7 ; $id_hook = 21 ;
if (!$module_name || !$name_hook) {
return;
}
$module = Module::getInstanceByName($module_name);
$module_id = $module->id;
$id_hook = Hook::getIdByName($name_hook);
$hook_name = $name_hook;
if (!$module) {
return;
}
$module_name = $module->name;
if (Validate::isLoadedObject($module) && $module->id) {
$array = array();
$array['id_hook'] = $id_hook;
$array['module'] = $module_name;
$array['id_module'] = $module->id;
if (_PS_VERSION_ < "1.5") {
return self::lofHookExec($hook_name, array(), $module->id, $array);
} else {
$hook_name = substr($hook_name, 7, strlen($hook_name));
return self::renderModuleByHookV15($hook_name, array(), $module->id, $array);
}
}
return '';
}
示例11: install
public function install()
{
/* Before creating a new tab "AdminSelfUpgrade" we need to remove any existing "AdminUpgrade" tab (present in v1.4.4.0 and v1.4.4.1) */
if ($id_tab = Tab::getIdFromClassName('AdminUpgrade')) {
$tab = new Tab((int) $id_tab);
if (!$tab->delete()) {
$this->_errors[] = sprintf($this->l('Unable to delete outdated AdminUpgrade tab %d'), (int) $id_tab);
}
}
/* If the "AdminSelfUpgrade" tab does not exist yet, create it */
if (!($id_tab = Tab::getIdFromClassName('AdminSelfUpgrade'))) {
$tab = new Tab();
$tab->class_name = 'AdminSelfUpgrade';
$tab->module = 'autoupgrade';
$tab->id_parent = (int) Tab::getIdFromClassName('AdminTools');
foreach (Language::getLanguages(false) as $lang) {
$tab->name[(int) $lang['id_lang']] = '1-Click Upgrade';
}
if (!$tab->save()) {
return $this->_abortInstall($this->l('Unable to create the "AdminSelfUpgrade" tab'));
}
if (!@copy(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'logo.gif', _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'img' . DIRECTORY_SEPARATOR . 't' . DIRECTORY_SEPARATOR . 'AdminSelfUpgrade.gif')) {
return $this->_abortInstall(sprintf($this->l('Unable to copy logo.gif in %s'), _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'img' . DIRECTORY_SEPARATOR . 't' . DIRECTORY_SEPARATOR));
}
} else {
$tab = new Tab((int) $id_tab);
}
/* Update the "AdminSelfUpgrade" tab id in database or exit */
if (Validate::isLoadedObject($tab)) {
Configuration::updateValue('PS_AUTOUPDATE_MODULE_IDTAB', (int) $tab->id);
} else {
return $this->_abortInstall($this->l('Unable to load the "AdminSelfUpgrade" tab'));
}
/* Check that the 1-click upgrade working directory is existing or create it */
$autoupgrade_dir = _PS_ADMIN_DIR_ . DIRECTORY_SEPARATOR . 'autoupgrade';
if (!file_exists($autoupgrade_dir) && !@mkdir($autoupgrade_dir, 0755)) {
return $this->_abortInstall(sprintf($this->l('Unable to create the directory "%s"'), $autoupgrade_dir));
}
/* Make sure that the 1-click upgrade working directory is writeable */
if (!is_writable($autoupgrade_dir)) {
return $this->_abortInstall(sprintf($this->l('Unable to write in the directory "%s"'), $autoupgrade_dir));
}
/* If a previous version of ajax-upgradetab.php exists, delete it */
if (file_exists($autoupgrade_dir . DIRECTORY_SEPARATOR . 'ajax-upgradetab.php')) {
@unlink($autoupgrade_dir . DIRECTORY_SEPARATOR . 'ajax-upgradetab.php');
}
/* Then, try to copy the newest version from the module's directory */
if (!@copy(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'ajax-upgradetab.php', $autoupgrade_dir . DIRECTORY_SEPARATOR . 'ajax-upgradetab.php')) {
return $this->_abortInstall(sprintf($this->l('Unable to copy ajax-upgradetab.php in %s'), $autoupgrade_dir));
}
/* Make sure that the XML config directory exists */
if (!file_exists(_PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'xml') && !@mkdir(_PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'xml', 0755)) {
return $this->_abortInstall(sprintf($this->l('Unable to create the directory "%s"'), _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'xml'));
}
/* Create a dummy index.php file in the XML config directory to avoid directory listing */
if (!file_exists(_PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'xml' . DIRECTORY_SEPARATOR . 'index.php') && (file_exists(_PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'index.php') && !@copy(_PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'index.php', _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'xml' . DIRECTORY_SEPARATOR . 'index.php'))) {
return $this->_abortInstall(sprintf($this->l('Unable to create the directory "%s"'), _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'xml'));
}
return parent::install();
}
示例12: getAuthorisation
public function getAuthorisation()
{
global $cookie;
// Getting cart informations
$cart = new Cart(intval($cookie->id_cart));
if (!Validate::isLoadedObject($cart)) {
$this->_logs[] = $this->l('Not a valid cart');
}
$currency = new Currency(intval($cart->id_currency));
if (!Validate::isLoadedObject($currency)) {
$this->_logs[] = $this->l('Not a valid currency');
}
if (sizeof($this->_logs)) {
return false;
}
// Making request
$returnURL = (Configuration::get('PS_SSL_ENABLED') ? 'https://' : 'http://') . htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8') . __PS_BASE_URI__ . 'modules/paypalapi/express/submit.php';
$cancelURL = (Configuration::get('PS_SSL_ENABLED') ? 'https://' : 'http://') . htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8') . __PS_BASE_URI__ . 'order.php';
$paymentAmount = number_format(floatval($cart->getOrderTotalLC()), 2, '.', '');
$currencyCodeType = strval($currency->iso_code);
$paymentType = 'Sale';
$request = '&Amt=' . urlencode($paymentAmount) . '&PAYMENTACTION=' . urlencode($paymentType) . '&ReturnUrl=' . urlencode($returnURL) . '&CANCELURL=' . urlencode($cancelURL) . '&CURRENCYCODE=' . urlencode($currencyCodeType);
if ($this->_header) {
$request .= '&HDRIMG=' . urlencode($this->_header);
}
// Calling PayPal API
include _PS_MODULE_DIR_ . 'paypalapi/api/PaypalLib.php';
$ppAPI = new PaypalLib();
$result = $ppAPI->makeCall($this->getAPIURL(), $this->getAPIScript(), 'SetExpressCheckout', $request);
$this->_logs = array_merge($this->_logs, $ppAPI->getLogs());
return $result;
}
示例13: hookPayment
public function hookPayment($params)
{
$cart = $params['cart'];
$customer = new Customer((int) $cart->id_customer);
$deliveryAddress = new Address((int) $cart->id_address_delivery);
$country = new Country((int) $deliveryAddress->id_country);
$currency = Currency::getCurrencyInstance($this->context->cookie->id_currency);
if (!Validate::isLoadedObject($currency)) {
return false;
}
$phone = Tools::safeOutput($deliveryAddress->phone_mobile);
if (empty($phone)) {
$phone = Tools::safeOutput($deliveryAddress->phone);
}
$public_key = Configuration::get('SIMPLEPAY_LIVE_PUBLIC_KEY');
if ((int) Configuration::get('SIMPLEPAY_TEST_MODE')) {
$public_key = Configuration::get('SIMPLEPAY_TEST_PUBLIC_KEY');
}
$this->context->smarty->assign('email', $customer->email);
$this->context->smarty->assign('phone', $phone);
$this->context->smarty->assign('description', Configuration::get('SIMPLEPAY_PAYMENT_DESCRIPTION') . ' #' . $cart->id);
$this->context->smarty->assign('address', Tools::safeOutput($deliveryAddress->address1 . ' ' . $deliveryAddress->address2));
$this->context->smarty->assign('postal_code', Tools::safeOutput($deliveryAddress->postcode));
$this->context->smarty->assign('city', Tools::safeOutput($deliveryAddress->city));
$this->context->smarty->assign('country', $country->iso_code);
$this->context->smarty->assign('amount', $cart->getOrderTotal());
$this->context->smarty->assign('currency', $currency);
$this->context->smarty->assign('public_key', $public_key);
$this->context->smarty->assign('module_dir', $this->_path);
$this->context->smarty->assign('cart_id', $cart->id);
$this->context->smarty->assign('cart_id', $cart->id);
$this->context->smarty->assign('image', Configuration::get('SIMPLEPAY_IMAGE'));
return $this->display(__FILE__, 'views/templates/hook/payment.tpl');
}
示例14: addTags
/**
* Add several tags in database and link it to a product
*
* @param integer $id_lang Language id
* @param integer $id_product Product id to link tags with
* @param string $string Tags separated by commas
*
* @return boolean Operation success
*/
public static function addTags($id_lang, $id_product, $string)
{
if (!Validate::isUnsignedId($id_lang) or Validate::isTagsList($string)) {
Tools::displayError();
}
$tmpTab = array_unique(array_map('trim', explode(',', $string)));
$list = array();
foreach ($tmpTab as $tag) {
if (!Validate::isGenericName($tag)) {
return false;
}
$tagObj = new Tag(NULL, trim($tag), intval($id_lang));
/* Tag does not exist in database */
if (!Validate::isLoadedObject($tagObj)) {
$tagObj->name = trim($tag);
$tagObj->id_lang = intval($id_lang);
$tagObj->add();
}
if (!in_array($tagObj->id, $list)) {
$list[] = $tagObj->id;
}
}
$data = '';
foreach ($list as $tag) {
$data .= '(' . intval($tag) . ',' . intval($id_product) . '),';
}
$data = rtrim($data, ',');
if (!Validate::isValuesList($list)) {
Tools::displayError();
}
return Db::getInstance()->Execute('
INSERT INTO `' . _DB_PREFIX_ . 'product_tag` (`id_tag`, `id_product`)
VALUES ' . $data);
}
示例15: processOrderStep
function processOrderStep($params)
{
global $cart, $smarty, $errors, $isVirtualCart, $orderTotal;
$cart->recyclable = (isset($_POST['recyclable']) and !empty($_POST['recyclable'])) ? 1 : 0;
if (isset($_POST['gift']) and !empty($_POST['gift'])) {
if (!Validate::isMessage($_POST['gift_message'])) {
$errors[] = Tools::displayError('invalid gift message');
} else {
$cart->gift = 1;
$cart->gift_message = strip_tags($_POST['gift_message']);
}
} else {
$cart->gift = 0;
}
$address = new Address(intval($cart->id_address_delivery));
if (!Validate::isLoadedObject($address)) {
die(Tools::displayError());
}
if (!($id_zone = Address::getZoneById($address->id))) {
$errors[] = Tools::displayError('no zone match with your address');
}
if (isset($_POST['id_carrier']) and Validate::isInt($_POST['id_carrier']) and sizeof(Carrier::checkCarrierZone(intval($_POST['id_carrier']), intval($id_zone)))) {
$cart->id_carrier = intval($_POST['id_carrier']);
} elseif (!$isVirtualCart) {
$errors[] = Tools::displayError('invalid carrier or no carrier selected');
}
Module::hookExec('extraCarrierDetailsProcess', array('carrier' => new Carrier($cart->id_carrier)));
$cart->update();
}