本文整理汇总了PHP中Tools::nl2br方法的典型用法代码示例。如果您正苦于以下问题:PHP Tools::nl2br方法的具体用法?PHP Tools::nl2br怎么用?PHP Tools::nl2br使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tools
的用法示例。
在下文中一共展示了Tools::nl2br方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: assignOne
/**
* Assign template vars if displaying one manufacturer
*/
protected function assignOne()
{
$this->manufacturer->description = Tools::nl2br(trim($this->manufacturer->description));
$nbProducts = $this->manufacturer->getProducts($this->manufacturer->id, null, null, null, $this->orderBy, $this->orderWay, true);
$this->pagination((int) $nbProducts);
$this->context->smarty->assign(array('nb_products' => $nbProducts, 'products' => $this->manufacturer->getProducts($this->manufacturer->id, $this->context->language->id, (int) $this->p, (int) $this->n, $this->orderBy, $this->orderWay), 'path' => $this->manufacturer->active ? Tools::safeOutput($this->manufacturer->name) : '', 'manufacturer' => $this->manufacturer, 'comparator_max_item' => Configuration::get('PS_COMPARATOR_MAX_ITEM')));
}
示例2: assignOne
/**
* Assign template vars if displaying one supplier
*/
protected function assignOne()
{
$this->supplier->description = Tools::nl2br(trim($this->supplier->description));
$nbProducts = $this->supplier->getProducts($this->supplier->id, null, null, null, $this->orderBy, $this->orderWay, true);
$this->pagination((int) $nbProducts);
$products = $this->supplier->getProducts($this->supplier->id, $this->context->cookie->id_lang, (int) $this->p, (int) $this->n, $this->orderBy, $this->orderWay);
$this->addColorsToProductList($products);
$this->context->smarty->assign(array('nb_products' => $nbProducts, 'products' => $products, 'path' => $this->supplier->active ? Tools::safeOutput($this->supplier->name) : '', 'supplier' => $this->supplier, 'comparator_max_item' => Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'body_classes' => array($this->php_self . '-' . $this->supplier->id, $this->php_self . '-' . $this->supplier->link_rewrite)));
}
示例3: initContent
/**
* @see FrontController::initContent()
*/
public function initContent()
{
parent::initContent();
$cart = $this->context->cart;
if (!$this->module->checkCurrency($cart)) {
Tools::redirect('index.php?controller=order');
}
$this->context->smarty->assign(array('nbProducts' => $cart->nbProducts(), 'cust_currency' => $cart->id_currency, 'currencies' => $this->module->getCurrency((int) $cart->id_currency), 'total' => $cart->getOrderTotal(true, Cart::BOTH), 'isoCode' => $this->context->language->iso_code, 'chequeName' => $this->module->chequeName, 'chequeAddress' => Tools::nl2br($this->module->address), 'this_path' => $this->module->getPathUri(), 'this_path_cheque' => $this->module->getPathUri(), 'this_path_ssl' => Tools::getShopDomainSsl(true, true) . __PS_BASE_URI__ . 'modules/' . $this->module->name . '/'));
$this->setTemplate('payment_execution.tpl');
}
示例4: postProcess
function postProcess()
{
// we retrieve the potential currencies to make sure the selected currency exists in this shop
$currencies = TotCompatibility::getCurrenciesByIdShop($this->ebay_profile->id_shop);
$currencies_ids = array_map(array($this, 'getCurrencyId'), $currencies);
if ($this->ebay_profile->setConfiguration('EBAY_PAYPAL_EMAIL', pSQL(Tools::getValue('ebay_paypal_email'))) && $this->ebay_profile->setConfiguration('EBAY_SHOP', pSQL(Tools::getValue('ebay_shop'))) && $this->ebay_profile->setConfiguration('EBAY_SHOP_POSTALCODE', pSQL(Tools::getValue('ebay_shop_postalcode'))) && $this->ebay_profile->setConfiguration('EBAY_SHOP_COUNTRY', pSQL(Tools::getValue('ebay_shop_country'))) && $this->ebay_profile->setConfiguration('EBAY_LISTING_DURATION', Tools::getValue('listingdurations')) && $this->ebay_profile->setConfiguration('EBAY_AUTOMATICALLY_RELIST', Tools::getValue('automaticallyrelist')) && $this->ebay_profile->setReturnsPolicyConfiguration(pSQL(Tools::getValue('returnswithin')), pSQL(Tools::getValue('returnswhopays')), version_compare(_PS_VERSION_, '1.5', '>') ? Tools::nl2br(Tools::getValue('ebay_returns_description')) : nl2br2(Tools::getValue('ebay_returns_description')), pSQL(Tools::getValue('ebay_returns_accepted_option'))) && $this->ebay->setConfiguration('EBAY_ACTIVATE_MAILS', Tools::getValue('activate_mails') ? 1 : 0) && in_array((int) Tools::getValue('currency'), $currencies_ids) && $this->ebay_profile->setConfiguration('EBAY_CURRENCY', (int) Tools::getValue('currency')) && $this->ebay_profile->setConfiguration('EBAY_SEND_TRACKING_CODE', (int) Tools::getValue('send_tracking_code')) && $this->ebay_profile->setConfiguration('EBAY_SHIPPED_ORDER_STATE', (int) Tools::getValue('shipped_order_state')) && $this->ebay_profile->setConfiguration('EBAY_IMMEDIATE_PAYMENT', (int) Tools::getValue('immediate_payment'))) {
return $this->ebay->displayConfirmation($this->ebay->l('Settings updated'));
} else {
return $this->ebay->displayError($this->ebay->l('Settings failed'));
}
}
示例5: processData
public function processData()
{
if (Module::isInstalled('agilemultipleshop') && Shop::$id_shop_owner > 0) {
if (!Validate::isLoadedObject($this->seller)) {
$this->errors[] = Tools::displayError('Seller does not exist');
} elseif (!$this->seller->active) {
self::$smarty->assign('seller', $this->seller);
} else {
$rewrited_url = self::$link->getAgileSellerLink((int) $this->seller->id, $this->getSellerLinkRwrite());
$this->seller_info->description = _PS_VERSION_ > '1.5' ? Tools::nl2br($this->seller_info->description) : nl2br2($this->seller_info->description);
self::$smarty->assign('seller', $this->seller);
self::$smarty->assign('seller_info', $this->seller_info);
$sellermodule = new AgileMultipleSeller();
$conf = Configuration::getMultiple($sellermodule->getCustomFields());
$custom_labels = $sellermodule->getCustomLabels();
self::$smarty->assign('conf', $conf);
self::$smarty->assign('custom_labels', $custom_labels);
$nbProducts = $this->getProducts(NULL, NULL, NULL, $this->orderBy, $this->orderWay, true);
$this->pagination((int) $nbProducts);
self::$smarty->assign('nb_products', (int) $nbProducts);
$seller_products = $this->getProducts((int) self::$cookie->id_lang, (int) $this->p, (int) $this->n, $this->orderBy, $this->orderWay);
AgileHelper::AssignProductImgs($seller_products);
$si_1531_later = version_compare(_PS_VERSION_, '1.5.3.1', ">=");
$HOOK_SELLER_RATINGS = '';
if (Module::isInstalled('agilesellerratings')) {
require_once _PS_ROOT_DIR_ . "/modules/agilesellerratings/agilesellerratings.php";
$rmodule = new AgileSellerRatings();
$HOOK_SELLER_RATINGS = $rmodule->getAverageRating($this->id_seller, AgileSellerRatings::RATING_TYPE_SELLER);
}
self::$smarty->assign(array('products' => (isset($seller_products) and $seller_products) ? $seller_products : NULL, 'id_seller' => (int) $this->seller->id, 'path' => $this->seller_info->company, 'agilesellerproducts_tpl' => _PS_ROOT_DIR_ . "/modules/agilesellerproducts/", 'agilemultipleshop_tpl' => _PS_ROOT_DIR_ . "/modules/agilemultipleshop/", 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'categorySize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('category') : 'category'), 'mediumSize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('medium') : 'medium'), 'thumbSceneSize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('thumb_scene') : 'thumb_scene'), 'homeSize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('home') : 'home'), 'HOOK_SELLER_RATINGS' => $HOOK_SELLER_RATINGS, 'page_name' => 'agileseller'));
$ver = (int) str_replace(".", "", _PS_VERSION_);
if ($ver <= 1430) {
} else {
if ($ver <= 1451) {
if (isset(self::$cookie->id_customer)) {
self::$smarty->assign('compareProducts', CompareProduct::getCustomerCompareProducts((int) self::$cookie->id_customer));
} elseif (isset(self::$cookie->id_guest)) {
self::$smarty->assign('compareProducts', CompareProduct::getGuestCompareProducts((int) self::$cookie->id_guest));
}
} else {
if (isset(self::$cookie->id_compare)) {
self::$smarty->assign('compareProducts', CompareProduct::getCompareProducts((int) self::$cookie->id_compare));
}
}
}
}
self::$smarty->assign(array('allow_oosp' => (int) Configuration::get('PS_ORDER_OUT_OF_STOCK'), 'comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'suppliers' => Supplier::getSuppliers()));
}
}
示例6: hookProductTabContent
public function hookProductTabContent($params)
{
$manufacturer_id = (int) $params['product']->id_manufacturer;
if (isset($manufacturer_id)) {
$cache_id = 'manufacturertab|tabcontent|' . $manufacturer_id;
if (!$this->isCached('manufacturertab.tpl', $this->getCacheId($cache_id))) {
$manufacturer = new Manufacturer($manufacturer_id, $this->context->language->id);
$manufacturer->description = Tools::nl2br(trim($manufacturer->description));
if (!empty($manufacturer->description) && isset($manufacturer->description)) {
$this->context->smarty->assign(array('tabContent' => $manufacturer->description));
}
}
return $this->display(__FILE__, 'manufacturertab.tpl', $this->getCacheId($cache_id));
} else {
return;
}
}
示例7: assignOne
protected function assignOne()
{
$this->manufacturer->description = Tools::nl2br(trim($this->manufacturer->description));
$nbProducts = $this->manufacturer->getProducts($this->manufacturer->id, null, null, null, $this->orderBy, $this->orderWay, true);
$this->pagination((int) $nbProducts);
$products = $this->manufacturer->getProducts($this->manufacturer->id, $this->context->language->id, (int) $this->p, (int) $this->n, $this->orderBy, $this->orderWay);
$this->addColorsToProductList($products);
if (method_exists('Product', 'getProductsImgs')) {
$image_array = array();
for ($i = 0; $i < $nbProducts; $i++) {
if (isset($products[$i]['id_product'])) {
$image_array[$products[$i]['id_product']] = Product::getProductsImgs($products[$i]['id_product']);
}
}
$this->context->smarty->assign('productimg', (isset($image_array) and $image_array) ? $image_array : NULL);
}
$this->context->smarty->assign(array('nb_products' => $nbProducts, 'products' => $products, 'path' => $this->manufacturer->active ? Tools::safeOutput($this->manufacturer->name) : '', 'manufacturer' => $this->manufacturer, 'comparator_max_item' => Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'body_classes' => array($this->php_self . '-' . $this->manufacturer->id, $this->php_self . '-' . $this->manufacturer->link_rewrite)));
}
示例8: assignOne
protected function assignOne()
{
if (Configuration::get('PS_DISPLAY_SUPPLIERS')) {
$this->supplier->description = Tools::nl2br(trim($this->supplier->description));
$nbProducts = $this->supplier->getProducts($this->supplier->id, null, null, null, $this->orderBy, $this->orderWay, true);
$this->pagination((int) $nbProducts);
$products = $this->supplier->getProducts($this->supplier->id, $this->context->cookie->id_lang, (int) $this->p, (int) $this->n, $this->orderBy, $this->orderWay);
$this->addColorsToProductList($products);
/************************* /Images Array ******************************/
if (method_exists('Product', 'getProductsImgs')) {
$image_array = array();
for ($i = 0; $i < $nbProducts; $i++) {
if (isset($products[$i]['id_product'])) {
$image_array[$products[$i]['id_product']] = Product::getProductsImgs($products[$i]['id_product']);
}
}
$this->context->smarty->assign('productimg', (isset($image_array) and $image_array) ? $image_array : NULL);
}
/************************* /Images Array ******************************/
$this->context->smarty->assign(array('nb_products' => $nbProducts, 'products' => $products, 'path' => $this->supplier->active ? Tools::safeOutput($this->supplier->name) : '', 'supplier' => $this->supplier, 'comparator_max_item' => Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'body_classes' => array($this->php_self . '-' . $this->supplier->id, $this->php_self . '-' . $this->supplier->link_rewrite)));
} else {
Tools::redirect('index.php?controller=404');
}
}
示例9: content_5598cf567cf804_96413460
//.........这里部分代码省略.........
$_smarty_tpl->tpl_vars['datas']->iteration++;
$_smarty_tpl->tpl_vars['datas']->last = $_smarty_tpl->tpl_vars['datas']->iteration === $_smarty_tpl->tpl_vars['datas']->total;
$_smarty_tpl->tpl_vars['smarty']->value['foreach']['customization']['last'] = $_smarty_tpl->tpl_vars['datas']->last;
?>
{
"type": <?php
echo $_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER]['json_encode'][0][0]->jsonEncode($_smarty_tpl->tpl_vars['type']->value);
?>
,
"datas": [
<?php
$_smarty_tpl->tpl_vars['data'] = new Smarty_Variable();
$_smarty_tpl->tpl_vars['data']->_loop = false;
$_smarty_tpl->tpl_vars['index'] = new Smarty_Variable();
$_from = $_smarty_tpl->tpl_vars['datas']->value;
if (!is_array($_from) && !is_object($_from)) {
settype($_from, 'array');
}
$_smarty_tpl->tpl_vars['data']->total = $_smarty_tpl->_count($_from);
$_smarty_tpl->tpl_vars['data']->iteration = 0;
foreach ($_from as $_smarty_tpl->tpl_vars['data']->key => $_smarty_tpl->tpl_vars['data']->value) {
$_smarty_tpl->tpl_vars['data']->_loop = true;
$_smarty_tpl->tpl_vars['index']->value = $_smarty_tpl->tpl_vars['data']->key;
$_smarty_tpl->tpl_vars['data']->iteration++;
$_smarty_tpl->tpl_vars['data']->last = $_smarty_tpl->tpl_vars['data']->iteration === $_smarty_tpl->tpl_vars['data']->total;
$_smarty_tpl->tpl_vars['smarty']->value['foreach']['datas']['last'] = $_smarty_tpl->tpl_vars['data']->last;
?>
{
"index": <?php
echo intval($_smarty_tpl->tpl_vars['index']->value);
?>
,
"value": <?php
echo $_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER]['json_encode'][0][0]->jsonEncode(Tools::nl2br($_smarty_tpl->tpl_vars['data']->value['value']));
?>
,
"truncatedValue": <?php
echo $_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER]['json_encode'][0][0]->jsonEncode(Tools::nl2br($_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER]['truncate'][0][0]->smarty_modifier_truncate($_smarty_tpl->tpl_vars['data']->value['value'], 28, '...')));
?>
}<?php
if (!$_smarty_tpl->getVariable('smarty')->value['foreach']['datas']['last']) {
?>
,<?php
}
?>
<?php
}
?>
]
}<?php
if (!$_smarty_tpl->getVariable('smarty')->value['foreach']['customization']['last']) {
?>
,<?php
}
?>
<?php
}
?>
]
}<?php
if (!$_smarty_tpl->getVariable('smarty')->value['foreach']['customizedDatas']['last']) {
?>
,<?php
}
?>
开发者ID:habypk,项目名称:zocart,代码行数:67,代码来源:af6f4d4f6a62fe3883291f99d584c349895c10ee.file.blockcart-json.tpl.php
示例10: processExport
public function processExport($text_delimiter = '"')
{
// clean buffer
if (ob_get_level() && ob_get_length() > 0) {
ob_clean();
}
$this->getList($this->context->language->id, null, null, 0, false);
if (!count($this->_list)) {
return;
}
header('Content-type: text/csv');
header('Content-Type: application/force-download; charset=UTF-8');
header('Cache-Control: no-store, no-cache');
header('Content-disposition: attachment; filename="' . $this->table . '_' . date('Y-m-d_His') . '.csv"');
$headers = array();
foreach ($this->fields_list as $key => $datas) {
if ($datas['title'] == 'PDF') {
unset($this->fields_list[$key]);
} else {
$headers[] = Tools::htmlentitiesDecodeUTF8($datas['title']);
}
}
$content = array();
foreach ($this->_list as $i => $row) {
$content[$i] = array();
$path_to_image = false;
foreach ($this->fields_list as $key => $params) {
$field_value = isset($row[$key]) ? Tools::htmlentitiesDecodeUTF8(Tools::nl2br($row[$key])) : '';
if ($key == 'image') {
if ($params['image'] != 'p' || Configuration::get('PS_LEGACY_IMAGES')) {
$path_to_image = Tools::getShopDomain(true) . _PS_IMG_ . $params['image'] . '/' . $row['id_' . $this->table] . (isset($row['id_image']) ? '-' . (int) $row['id_image'] : '') . '.' . $this->imageType;
} else {
$path_to_image = Tools::getShopDomain(true) . _PS_IMG_ . $params['image'] . '/' . Image::getImgFolderStatic($row['id_image']) . (int) $row['id_image'] . '.' . $this->imageType;
}
if ($path_to_image) {
$field_value = $path_to_image;
}
}
if (isset($params['callback'])) {
$callback_obj = isset($params['callback_object']) ? $params['callback_object'] : $this->context->controller;
if (!preg_match('/<([a-z]+)([^<]+)*(?:>(.*)<\\/\\1>|\\s+\\/>)/ism', call_user_func_array(array($callback_obj, $params['callback']), array($field_value, $row)))) {
$field_value = call_user_func_array(array($callback_obj, $params['callback']), array($field_value, $row));
}
}
$content[$i][] = $field_value;
}
}
$this->context->smarty->assign(array('export_precontent' => "", 'export_headers' => $headers, 'export_content' => $content, 'text_delimiter' => $text_delimiter));
$this->layout = 'layout-export.tpl';
}
示例11: postProcess
/**
* Start forms process
* @see FrontController::postProcess()
*/
public function postProcess()
{
if (Tools::isSubmit('submitMessage')) {
$fileAttachment = null;
if (isset($_FILES['fileUpload']['name']) && !empty($_FILES['fileUpload']['name']) && !empty($_FILES['fileUpload']['tmp_name'])) {
$extension = array('.txt', '.rtf', '.doc', '.docx', '.pdf', '.zip', '.png', '.jpeg', '.gif', '.jpg');
$filename = uniqid() . substr($_FILES['fileUpload']['name'], -5);
$fileAttachment['content'] = file_get_contents($_FILES['fileUpload']['tmp_name']);
$fileAttachment['name'] = $_FILES['fileUpload']['name'];
$fileAttachment['mime'] = $_FILES['fileUpload']['type'];
}
$message = Tools::getValue('message');
// Html entities is not usefull, iscleanHtml check there is no bad html tags.
if (!($from = trim(Tools::getValue('from'))) || !Validate::isEmail($from)) {
$this->errors[] = Tools::displayError('Invalid e-mail address');
} else {
if (!$message) {
$this->errors[] = Tools::displayError('Message cannot be blank');
} else {
if (!Validate::isCleanHtml($message)) {
$this->errors[] = Tools::displayError('Invalid message');
} else {
if (!($id_contact = (int) Tools::getValue('id_contact')) || !Validate::isLoadedObject($contact = new Contact($id_contact, $this->context->language->id))) {
$this->errors[] = Tools::displayError('Please select a subject from the list.');
} else {
if (!empty($_FILES['fileUpload']['name']) && $_FILES['fileUpload']['error'] != 0) {
$this->errors[] = Tools::displayError('An error occurred during the file upload');
} else {
if (!empty($_FILES['fileUpload']['name']) && !in_array(substr($_FILES['fileUpload']['name'], -4), $extension) && !in_array(substr($_FILES['fileUpload']['name'], -5), $extension)) {
$this->errors[] = Tools::displayError('Bad file extension');
} else {
$customer = $this->context->customer;
if (!$customer->id) {
$customer->getByEmail($from);
}
$contact = new Contact($id_contact, $this->context->language->id);
if (!(($id_customer_thread = (int) Tools::getValue('id_customer_thread')) && (int) Db::getInstance()->getValue('
SELECT cm.id_customer_thread FROM ' . _DB_PREFIX_ . 'customer_thread cm
WHERE cm.id_customer_thread = ' . (int) $id_customer_thread . ' AND cm.id_shop = ' . (int) $this->context->shop->id . ' AND token = \'' . pSQL(Tools::getValue('token')) . '\'') || ($id_customer_thread = CustomerThread::getIdCustomerThreadByEmailAndIdOrder($from, (int) Tools::getValue('id_order'))))) {
$fields = Db::getInstance()->executeS('
SELECT cm.id_customer_thread, cm.id_contact, cm.id_customer, cm.id_order, cm.id_product, cm.email
FROM ' . _DB_PREFIX_ . 'customer_thread cm
WHERE email = \'' . pSQL($from) . '\' AND cm.id_shop = ' . (int) $this->context->shop->id . ' AND (' . ($customer->id ? 'id_customer = ' . (int) $customer->id . ' OR ' : '') . '
id_order = ' . (int) Tools::getValue('id_order') . ')');
$score = 0;
foreach ($fields as $key => $row) {
$tmp = 0;
if ((int) $row['id_customer'] && $row['id_customer'] != $customer->id && $row['email'] != $from) {
continue;
}
if ($row['id_order'] != 0 && Tools::getValue('id_order') != $row['id_order']) {
continue;
}
if ($row['email'] == $from) {
$tmp += 4;
}
if ($row['id_contact'] == $id_contact) {
$tmp++;
}
if (Tools::getValue('id_product') != 0 && $row['id_product'] == Tools::getValue('id_product')) {
$tmp += 2;
}
if ($tmp >= 5 && $tmp >= $score) {
$score = $tmp;
$id_customer_thread = $row['id_customer_thread'];
}
}
}
$old_message = Db::getInstance()->getValue('
SELECT cm.message FROM ' . _DB_PREFIX_ . 'customer_message cm
LEFT JOIN ' . _DB_PREFIX_ . 'customer_thread cc on (cm.id_customer_thread = cc.id_customer_thread)
WHERE cc.id_customer_thread = ' . (int) $id_customer_thread . ' AND cc.id_shop = ' . (int) $this->context->shop->id . '
ORDER BY cm.date_add DESC');
if ($old_message == $message) {
$this->context->smarty->assign('alreadySent', 1);
$contact->email = '';
$contact->customer_service = 0;
}
if (!empty($contact->email)) {
$id_order = (int) Tools::getValue('id_order', 0);
$order = new Order($id_order);
$mail_var_list = array('{email}' => $from, '{message}' => Tools::nl2br(stripslashes($message)), '{id_order}' => $id_order, '{order_name}' => $order->getUniqReference(), '{attached_file}' => isset($_FILES['fileUpload'], $_FILES['fileUpload']['name']) ? $_FILES['fileUpload']['name'] : '');
if (Mail::Send($this->context->language->id, 'contact', Mail::l('Message from contact form'), $mail_var_list, $contact->email, $contact->name, $from, $customer->id ? $customer->firstname . ' ' . $customer->lastname : '', $fileAttachment) && Mail::Send($this->context->language->id, 'contact_form', Mail::l('Your message has been correctly sent'), $mail_var_list, $from)) {
$this->context->smarty->assign('confirmation', 1);
} else {
$this->errors[] = Tools::displayError('An error occurred while sending message.');
}
}
if ($contact->customer_service) {
if ((int) $id_customer_thread) {
$ct = new CustomerThread($id_customer_thread);
$ct->status = 'open';
$ct->id_lang = (int) $this->context->language->id;
$ct->id_contact = (int) $id_contact;
if ($id_order = (int) Tools::getValue('id_order')) {
$ct->id_order = $id_order;
//.........这里部分代码省略.........
示例12: assignOne
/**
* Assign template vars if displaying one supplier
*/
protected function assignOne()
{
if (Configuration::get('PS_DISPLAY_SUPPLIERS')) {
$this->supplier->description = Tools::nl2br(trim($this->supplier->description));
$this->pagination((int) $nbProducts);
//$products = $this->supplier->getProducts($this->supplier->id, $this->context->cookie->id_lang, (int)$this->p, (int)$this->n, $this->orderBy, $this->orderWay);
//$this->addColorsToProductList($products);
$products = array();
$a_categories = $this->supplier->getCategories();
$this->context->smarty->assign(array('products' => $products, 'categories' => $a_categories, 'path' => $this->supplier->active ? Tools::safeOutput($this->supplier->name) : '', 'supplier' => $this->supplier, 'comparator_max_item' => Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'body_classes' => array($this->php_self . '-' . $this->supplier->id, $this->php_self . '-' . $this->supplier->link_rewrite)));
} else {
Tools::redirect('index.php?controller=404');
}
}
示例13: postProcess
public function postProcess()
{
if ($id_customer_thread = (int) Tools::getValue('id_customer_thread')) {
if ($id_contact = (int) Tools::getValue('id_contact')) {
Db::getInstance()->execute('
UPDATE ' . _DB_PREFIX_ . 'customer_thread
SET id_contact = ' . (int) $id_contact . '
WHERE id_customer_thread = ' . (int) $id_customer_thread);
}
if ($id_status = (int) Tools::getValue('setstatus')) {
$status_array = array(1 => 'open', 2 => 'closed', 3 => 'pending1', 4 => 'pending2');
Db::getInstance()->execute('
UPDATE ' . _DB_PREFIX_ . 'customer_thread
SET status = "' . $status_array[$id_status] . '"
WHERE id_customer_thread = ' . (int) $id_customer_thread . ' LIMIT 1
');
}
if (isset($_POST['id_employee_forward'])) {
$messages = Db::getInstance()->getRow('
SELECT ct.*, cm.*, cl.name subject, CONCAT(e.firstname, \' \', e.lastname) employee_name,
CONCAT(c.firstname, \' \', c.lastname) customer_name, c.firstname
FROM ' . _DB_PREFIX_ . 'customer_thread ct
LEFT JOIN ' . _DB_PREFIX_ . 'customer_message cm
ON (ct.id_customer_thread = cm.id_customer_thread)
LEFT JOIN ' . _DB_PREFIX_ . 'contact_lang cl
ON (cl.id_contact = ct.id_contact AND cl.id_lang = ' . (int) $this->context->language->id . ')
LEFT OUTER JOIN ' . _DB_PREFIX_ . 'employee e
ON e.id_employee = cm.id_employee
LEFT OUTER JOIN ' . _DB_PREFIX_ . 'customer c
ON (c.email = ct.email)
WHERE ct.id_customer_thread = ' . (int) Tools::getValue('id_customer_thread') . '
ORDER BY cm.date_add DESC
');
$output = $this->displayMessage($messages, true, (int) Tools::getValue('id_employee_forward'));
$cm = new CustomerMessage();
$cm->id_employee = (int) $this->context->employee->id;
$cm->id_customer_thread = (int) Tools::getValue('id_customer_thread');
$cm->ip_address = (int) ip2long(Tools::getRemoteAddr());
$current_employee = $this->context->employee;
$id_employee = (int) Tools::getValue('id_employee_forward');
$employee = new Employee($id_employee);
$email = Tools::getValue('email');
$message = Tools::getValue('message_forward');
if (($error = $cm->validateField('message', $message, null, array(), true)) !== true) {
$this->errors[] = $error;
} elseif ($id_employee && $employee && Validate::isLoadedObject($employee)) {
$params = array('{messages}' => stripslashes($output), '{employee}' => $current_employee->firstname . ' ' . $current_employee->lastname, '{comment}' => stripslashes(Tools::nl2br($_POST['message_forward'])), '{firstname}' => $employee->firstname, '{lastname}' => $employee->lastname);
if (Mail::Send($this->context->language->id, 'forward_msg', Mail::l('Fwd: Customer message', $this->context->language->id), $params, $employee->email, $employee->firstname . ' ' . $employee->lastname, $current_employee->email, $current_employee->firstname . ' ' . $current_employee->lastname, null, null, _PS_MAIL_DIR_, true)) {
$cm->private = 1;
$cm->message = $this->l('Message forwarded to') . ' ' . $employee->firstname . ' ' . $employee->lastname . "\n" . $this->l('Comment:') . ' ' . $message;
$cm->add();
}
} elseif ($email && Validate::isEmail($email)) {
$params = array('{messages}' => Tools::nl2br(stripslashes($output)), '{employee}' => $current_employee->firstname . ' ' . $current_employee->lastname, '{comment}' => stripslashes($_POST['message_forward']));
if (Mail::Send($this->context->language->id, 'forward_msg', Mail::l('Fwd: Customer message', $this->context->language->id), $params, $email, null, $current_employee->email, $current_employee->firstname . ' ' . $current_employee->lastname, null, null, _PS_MAIL_DIR_, true)) {
$cm->message = $this->l('Message forwarded to') . ' ' . $email . "\n" . $this->l('Comment:') . ' ' . $message;
$cm->add();
}
} else {
$this->errors[] = '<div class="alert error">' . Tools::displayError('The email address is invalid.') . '</div>';
}
}
if (Tools::isSubmit('submitReply')) {
$ct = new CustomerThread($id_customer_thread);
ShopUrl::cacheMainDomainForShop((int) $ct->id_shop);
$cm = new CustomerMessage();
$cm->id_employee = (int) $this->context->employee->id;
$cm->id_customer_thread = $ct->id;
$cm->ip_address = (int) ip2long(Tools::getRemoteAddr());
$cm->message = Tools::getValue('reply_message');
if (($error = $cm->validateField('message', $cm->message, null, array(), true)) !== true) {
$this->errors[] = $error;
} elseif (isset($_FILES) && !empty($_FILES['joinFile']['name']) && $_FILES['joinFile']['error'] != 0) {
$this->errors[] = Tools::displayError('An error occurred during the file upload process.');
} elseif ($cm->add()) {
$file_attachment = null;
if (!empty($_FILES['joinFile']['name'])) {
$file_attachment['content'] = file_get_contents($_FILES['joinFile']['tmp_name']);
$file_attachment['name'] = $_FILES['joinFile']['name'];
$file_attachment['mime'] = $_FILES['joinFile']['type'];
}
$customer = new Customer($ct->id_customer);
$params = array('{reply}' => Tools::nl2br(Tools::getValue('reply_message')), '{link}' => Tools::url($this->context->link->getPageLink('contact', true), 'id_customer_thread=' . (int) $ct->id . '&token=' . $ct->token), '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname);
//#ct == id_customer_thread #tc == token of thread <== used in the synchronization imap
$contact = new Contact((int) $ct->id_contact, (int) $ct->id_lang);
if (Validate::isLoadedObject($contact)) {
$from_name = $contact->name;
$from_email = $contact->email;
} else {
$from_name = null;
$from_email = null;
}
if (Mail::Send((int) $ct->id_lang, 'reply_msg', sprintf(Mail::l('An answer to your message is available #ct%1$s #tc%2$s', $ct->id_lang), $ct->id, $ct->token), $params, Tools::getValue('msg_email'), null, $from_email, $from_name, $file_attachment, null, _PS_MAIL_DIR_, true)) {
$ct->status = 'closed';
$ct->update();
}
Tools::redirectAdmin(self::$currentIndex . '&id_customer_thread=' . (int) $id_customer_thread . '&viewcustomer_thread&token=' . Tools::getValue('token'));
} else {
$this->errors[] = Tools::displayError('An error occurred. Your message was not sent. Please contact your system administrator.');
}
//.........这里部分代码省略.........
示例14: escape
/**
* Sanitize data which will be injected into SQL query
*
* @param string $string SQL data which will be injected into SQL query
* @param boolean $html_ok Does data contain HTML code ? (optional)
* @return string Sanitized data
*/
public function escape($string, $html_ok = false)
{
if (_PS_MAGIC_QUOTES_GPC_) {
$string = stripslashes($string);
}
if (!is_numeric($string)) {
$string = $this->_escape($string);
if (!$html_ok) {
$string = strip_tags(Tools::nl2br($string));
}
}
return $string;
}
示例15: _displayConfiguration
private function _displayConfiguration()
{
$this->_html .= '
<script type="text/javascript">
$(document).ready(function() {
$(\'#submitCreateAccount\').unbind(\'click\').click(function() {
if (!$(\'#terms_and_conditions\').attr(\'checked\'))
{
alert(\'' . addslashes($this->l('Please accept the terms of service.')) . '\');
return false;
}
});
});
</script>
<fieldset><legend>' . $this->l('PrestaShop Security configuration') . '</legend>
<div id="choose_account">
<center>
<form>
<input type="radio" ' . (!Configuration::get('PS_TRUST_SHOP_ID') ? 'checked="checked"' : '') . ' onclick="$(\'#create_account\').show(); $(\'#module_configuration\').hide();" id="trust_account_on" name="trust_account" value="0"/> <b>' . $this->l('My shop does not have a PrestaShop Security account yet') . '</b>
<input type="radio" ' . (Configuration::get('PS_TRUST_SHOP_ID') ? 'checked="checked"' : '') . ' onclick="$(\'#create_account\').hide(); $(\'#module_configuration\').show();" id="trust_account_off" name="trust_account" value="1" /> <b>' . $this->l('I already have an account') . '</b>
</form>
</center>
</div>
<div class="clear"> </div>
<div id="create_account" ' . (Configuration::get('PS_TRUST_SHOP_ID') ? 'style="display:none;"' : '') . '>
<form action="' . Tools::htmlentitiesUTF8($_SERVER['REQUEST_URI']) . '" method="post" name="prestashop_trust" id="prestashop_trust">
<label>' . $this->l('Your email') . '</label>
<div class="margin-form">
<input type="text" style="width:200px;" name="email" value="' . Tools::safeOutput(Tools::getValue('email')) . '" />
</div>
<label>' . $this->l('Shop Url') . '</label>
<div class="margin-form">
<input type="text" style="width:400px;" name="shop_url" value="http://www.' . Tools::getHttpHost() . __PS_BASE_URI__ . '"/>
</div>
<div class="margin-form">
<input id="terms_and_conditions" type="checkbox" value="1" /> ' . $this->l('I agree with the terms of PrestaShop Security service and I adhere to them unconditionally.') . '</label>
</div>
<div id="terms" class="margin-form">';
$terms = Tools::file_get_contents($this->_trustUrl . 'terms.php?lang=' . $this->context->language->iso_code);
$this->_html .= '<div style="height:300px;border:1px solid #E0D0B1;overflow-y:scroll;padding:8px;color:black">' . Tools::nl2br(strip_tags($terms)) . '</div>';
$this->_html .= '</div>
<div class="margin-form">
<input class="button" type="submit" id="submitCreateAccount" name="submitCreateAccount" value="' . $this->l('Create account') . '"/>
</div>
</form>
<div class="clear"> </div>
</div>
<div id="module_configuration" ' . (!Configuration::get('PS_TRUST_SHOP_ID') ? 'style="display:none"' : '') . '>
<form action="' . Tools::htmlentitiesUTF8($_SERVER['REQUEST_URI']) . '" method="post" name="prestashop_trust" id="prestashop_trust">
<label>' . $this->l('Shop ID') . '</label>
<div class="margin-form">
<input type="text" style="width:150px" name="shop_id" value="' . Configuration::get('PS_TRUST_SHOP_ID') . '"/>
</div>
<label>' . $this->l('Shop KEY') . '</label>
<div class="margin-form">
<input type="text" style="width:300px" name="shop_key" value="' . Configuration::get('PS_TRUST_SHOP_KEY') . '"/>
</div>
<div class="clear"> </div>
<label>' . $this->l('Shop activity') . '</label>
<div class="margin-form">
<select name="shop_activity">';
foreach ($this->_activities as $k => $activity) {
$this->_html .= '<option value="' . $k . '" ' . ($k == Configuration::get('PS_SHOP_ACTIVITY') ? 'selected="selected"' : '') . '>' . $activity . '</option>';
}
$this->_html .= '</select>
</div>';
$carriers = Carrier::getCarriers($this->context->language->id, true);
$trust_carriers_type = $this->_getPrestaTrustCarriersType();
$configured_carriers = $this->_getConfiguredCarriers();
$this->_html .= '
<label>' . $this->l('Carriers') . '</label>
<div class="margin-form">
<table cellspacing="0" cellpadding="0" class="table">
<thead><tr><th>' . $this->l('Carrier') . '</th><th>' . $this->l('Carrier Type') . '</th></tr></thead><tbody>';
foreach ($carriers as $carrier) {
$this->_html .= '<tr><td>' . $carrier['name'] . '</td><td><select name="carrier_' . $carrier['id_carrier'] . '">
<option value="0">' . $this->l('Choose a carrier type...') . '</option>';
foreach ($this->_getPrestaTrustCarriersType() as $type => $name) {
$this->_html .= '<option value="' . $type . '"' . ((isset($configured_carriers[$carrier['id_carrier']]) and $type == $configured_carriers[$carrier['id_carrier']]) ? ' selected="selected"' : '') . '>' . $name . '</option>';
}
$this->_html .= '</select></td>';
}
$this->_html .= '</tbody></table></margin>
</div>';
$modules = PaymentModule::getInstalledPaymentModules();
$configured_payments = $this->_getConfiguredPayments();
$this->_html .= '
<label>' . $this->l('Payments') . '</label>
<div class="margin-form">
<table cellspacing="0" cellpadding="0" class="table">
<thead><tr><th>' . $this->l('Payment Module') . '</th><th>' . $this->l('Payment Type') . '</th></tr></thead><tbody>';
foreach ($modules as $module) {
$mod = Module::getInstanceByName($module['name']);
$this->_html .= '<tr><td>' . $mod->displayName . '</td><td><select name="paymentmodule_' . $mod->id . '">
<option value="0">' . $this->l('Choose a payment type...') . '</option>';
foreach ($this->_payment_types as $type => $name) {
$this->_html .= '<option value="' . $type . '"' . ((isset($configured_payments[$mod->id]) and $type == $configured_payments[$mod->id]) ? ' selected="true"' : '') . '>' . $name . '</option>';
}
$this->_html .= '</select></td>';
}
//.........这里部分代码省略.........