本文整理汇总了PHP中Image::getImgFolderStatic方法的典型用法代码示例。如果您正苦于以下问题:PHP Image::getImgFolderStatic方法的具体用法?PHP Image::getImgFolderStatic怎么用?PHP Image::getImgFolderStatic使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Image
的用法示例。
在下文中一共展示了Image::getImgFolderStatic方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getImageLink
public function getImageLink($name, $ids, $type = null, $overimage = null)
{
$not_default = false;
$theme = Shop::isFeatureActive() && file_exists(_PS_PROD_IMG_DIR_ . $ids . ($type ? '-' . $type : '') . '-' . (int) Context::getContext()->shop->id_theme . '.jpg') ? '-' . Context::getContext()->shop->id_theme : '';
if (Configuration::get('PS_LEGACY_IMAGES') && file_exists(_PS_PROD_IMG_DIR_ . $ids . ($type ? '-' . $type : '') . $theme . '.jpg') || ($not_default = strpos($ids, 'default') !== false)) {
if ($this->allow == 1 && !$not_default) {
$uri_path = __PS_BASE_URI__ . $ids . ($type ? '-' . $type : '') . $theme . '/' . $name . '.jpg';
} else {
$uri_path = _THEME_PROD_DIR_ . $ids . ($type ? '-' . $type : '') . $theme . '.jpg';
}
} else {
$split_ids = explode('-', $ids);
$id_image = isset($split_ids[1]) ? $split_ids[1] : $split_ids[0];
$theme = Shop::isFeatureActive() && file_exists(_PS_PROD_IMG_DIR_ . Image::getImgFolderStatic($id_image) . $id_image . ($type ? '-' . $type : '') . '-' . (int) Context::getContext()->shop->id_theme . '.jpg') ? '-' . Context::getContext()->shop->id_theme : '';
if (isset($overimage)) {
$sql = "SELECT id_image FROM `" . _DB_PREFIX_ . "image` WHERE `id_product` = '{$overimage}' AND position = 2";
$getoverimage = Db::getInstance()->getRow($sql);
if ($getoverimage) {
$id_image = array_shift($getoverimage);
} else {
return false;
}
}
if ($this->allow == 1) {
$uri_path = __PS_BASE_URI__ . $id_image . ($type ? '-' . $type : '') . $theme . '/' . $name . '.jpg';
} else {
$uri_path = _THEME_PROD_DIR_ . Image::getImgFolderStatic($id_image) . $id_image . ($type ? '-' . $type : '') . $theme . '.jpg';
}
}
return $this->protocol_content . Tools::getMediaServer($uri_path) . $uri_path;
}
示例2: getImageLink
/**
* Returns a link to a product image for display
* Note: the new image filesystem stores product images in subdirectories of img/p/
*
* @param string $name rewrite link of the image
* @param string $ids id part of the image filename - can be "id_product-id_image" (legacy support, recommended) or "id_image" (new)
* @param string $type
*/
public function getImageLink($name, $ids, $type = null)
{
$not_default = false;
// Check if module is installed, enabled, customer is logged in and watermark logged option is on
/* if (Configuration::get('WATERMARK_LOGGED') && (Module::isInstalled('watermark') && Module::isEnabled('watermark')) && isset(Context::getContext()->customer->id)) {
$type .= '-'.Configuration::get('WATERMARK_HASH');
}
*/
// legacy mode or default image
$theme = Shop::isFeatureActive() && file_exists(_MODULE_SMARTBLOG_DIR_ . $ids . ($type ? '-' . $type : '') . '-' . (int) Context::getContext()->shop->id_theme . '.jpg') ? '-' . Context::getContext()->shop->id_theme : '';
if (Configuration::get('PS_LEGACY_IMAGES') && file_exists(_MODULE_SMARTBLOG_DIR_ . $ids . ($type ? '-' . $type : '') . $theme . '.jpg') || ($not_default = strpos($ids, 'default') !== false)) {
if ($this->allow == 1 && !$not_default) {
$uri_path = __PS_BASE_URI__ . 'blog/' . $ids . ($type ? '-' . $type : '') . $theme . '/' . $name . '.jpg';
} else {
$uri_path = _THEME_PROD_DIR_ . $ids . ($type ? '-' . $type : '') . $theme . '.jpg';
}
} else {
// if ids if of the form id_product-id_image, we want to extract the id_image part
$split_ids = explode('-', $ids);
$id_image = isset($split_ids[1]) ? $split_ids[1] : $split_ids[0];
$theme = Shop::isFeatureActive() && file_exists(_MODULE_SMARTBLOG_DIR_ . Image::getImgFolderStatic($id_image) . $id_image . ($type ? '-' . $type : '') . '-' . (int) Context::getContext()->shop->id_theme . '.jpg') ? '-' . Context::getContext()->shop->id_theme : '';
if ($this->allow == 1) {
$uri_path = __PS_BASE_URI__ . 'blog/' . $id_image . ($type ? '-' . $type : '') . $theme . '/' . $name . '.jpg';
} else {
$uri_path = __PS_BASE_URI__ . 'modules/smartblog/images/' . $id_image . ($type ? '-' . $type : '') . $theme . '.jpg';
}
}
return $this->protocol_content . Tools::getMediaServer($uri_path) . $uri_path;
}
示例3: getImageLink
public function getImageLink($name, $ids, $type = null)
{
global $protocol_content;
if (empty($protocol_content)) {
$protocol_content = _PS_SSL_ENABLED_ ? 'https://' : 'http://';
}
// legacy mode or default image
if (Configuration::get('PS_LEGACY_IMAGES') && file_exists(_PS_PROD_IMG_DIR_ . $ids . ($type ? '-' . $type : '') . '.jpg') || strpos($ids, 'default') !== false) {
// if ($this->allow == 1)
// $uri_path = __PS_BASE_URI__.$ids.($type ? '-'.$type : '').'/'.$name.'.jpg';
// else
// $uri_path = _THEME_PROD_DIR_.$ids.($type ? '-'.$type : '').'.jpg';
$uri_path = _THEME_PROD_DIR_ . $ids . ($type ? '-' . $type : '') . '.jpg';
} else {
// if ids if of the form id_product-id_image, we want to extract the id_image part
$split_ids = explode('-', $ids);
$id_image = isset($split_ids[1]) ? $split_ids[1] : $split_ids[0];
// if ($this->allow == 1)
// $uri_path = __PS_BASE_URI__.$id_image.($type ? '-'.$type : '').'/'.$name.'.jpg';
// else
// $uri_path = _THEME_PROD_DIR_.Image::getImgFolderStatic($id_image).$id_image.($type ? '-'.$type : '').'.jpg';
$uri_path = _THEME_PROD_DIR_ . Image::getImgFolderStatic($id_image) . $id_image . ($type ? '-' . $type : '') . '.jpg';
}
return $protocol_content . Tools::getMediaServer($uri_path) . $uri_path;
}
示例4: batchDeleteProduct
public static function batchDeleteProduct($id_products = array())
{
$ids_string = implode(",", $id_products);
Db::getInstance()->exec('DELETE FROM `' . DB_PREFIX . 'product` WHERE `id_product` IN(' . pSQL($ids_string) . ')');
Db::getInstance()->exec('DELETE FROM `' . DB_PREFIX . 'rule` WHERE `entity`="Product" AND `id_entity` IN(' . pSQL($ids_string) . ')');
Db::getInstance()->exec('DELETE FROM `' . DB_PREFIX . 'product_to_category` WHERE `id_product` IN(' . pSQL($ids_string) . ')');
Db::getInstance()->exec('DELETE FROM `' . DB_PREFIX . 'product_to_tag` WHERE `id_product` IN(' . pSQL($ids_string) . ')');
Db::getInstance()->exec('DELETE FROM `' . DB_PREFIX . 'product_to_attribute` WHERE `id_product` IN(' . pSQL($ids_string) . ')');
$result = Db::getInstance()->getAll('SELECT `id_image` FROM `' . DB_PREFIX . 'image` WHERE `id_product` IN(' . pSQL($ids_string) . ')');
if ($result) {
foreach ($result as $row) {
Image::deleteAllImages(Image::getImgFolderStatic($row['id_image']));
}
}
Db::getInstance()->exec('DELETE FROM `' . DB_PREFIX . 'image` WHERE `id_product` IN(' . pSQL($ids_string) . ')');
return true;
}
示例5: getImgFolder
/**
* Returns the path to the folder containing the image in the new filesystem
*
* @return string path to folder
*/
public function getImgFolder()
{
if (!$this->id) {
return false;
}
if (!$this->folder) {
$this->folder = Image::getImgFolderStatic($this->id);
}
return $this->folder;
}
示例6: getImageLink
/**
* Returns a link to a product image for display
* Note: the new image filesystem stores product images in subdirectories of img/p/
*
* @param string $name rewrite link of the image
* @param string $ids id part of the image filename - can be "id_product-id_image" (legacy support, recommended) or "id_image" (new)
* @param string $type
*/
public function getImageLink($name, $ids, $type = null)
{
$not_default = false;
// legacy mode or default image
$theme = Shop::isFeatureActive() && file_exists(_PS_PROD_IMG_DIR_ . $ids . ($type ? '-' . $type : '') . '-' . (int) Context::getContext()->shop->id_theme . '.jpg') ? '-' . Context::getContext()->shop->id_theme : '';
if (Configuration::get('PS_LEGACY_IMAGES') && file_exists(_PS_PROD_IMG_DIR_ . $ids . ($type ? '-' . $type : '') . $theme . '.jpg') || ($not_default = strpos($ids, 'default') !== false)) {
if ($this->allow == 1 && !$not_default) {
$uri_path = __PS_BASE_URI__ . $ids . ($type ? '-' . $type : '') . $theme . '/' . $name . '.jpg';
} else {
$uri_path = _THEME_PROD_DIR_ . $ids . ($type ? '-' . $type : '') . $theme . '.jpg';
}
} else {
// if ids if of the form id_product-id_image, we want to extract the id_image part
$split_ids = explode('-', $ids);
$id_image = isset($split_ids[1]) ? $split_ids[1] : $split_ids[0];
$theme = Shop::isFeatureActive() && file_exists(_PS_PROD_IMG_DIR_ . Image::getImgFolderStatic($id_image) . $id_image . ($type ? '-' . $type : '') . '-' . (int) Context::getContext()->shop->id_theme . '.jpg') ? '-' . Context::getContext()->shop->id_theme : '';
if ($this->allow == 1) {
$uri_path = __PS_BASE_URI__ . $id_image . ($type ? '-' . $type : '') . $theme . '/' . $name . '.jpg';
} else {
$uri_path = _THEME_PROD_DIR_ . Image::getImgFolderStatic($id_image) . $id_image . ($type ? '-' . $type : '') . $theme . '.jpg';
}
}
return $this->protocol_content . Tools::getMediaServer($uri_path) . $uri_path;
}
示例7: 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';
}
示例8: displayListContent
public function displayListContent()
{
if ($this->position_identifier) {
$id_category = (int) Tools::getValue('id_' . ($this->is_cms ? 'cms_' : '') . 'category', '1');
} else {
$id_category = Category::getRootCategory()->id;
}
if (isset($this->fields_list['position'])) {
$positions = array_map(create_function('$elem', 'return (int)($elem[\'position\']);'), $this->_list);
sort($positions);
}
// key_to_get is used to display the correct product category or cms category after a position change
$identifier = in_array($this->identifier, array('id_category', 'id_cms_category')) ? '_parent' : '';
if ($identifier) {
$key_to_get = 'id_' . ($this->is_cms ? 'cms_' : '') . 'category' . $identifier;
}
foreach ($this->_list as $index => $tr) {
$id = $tr[$this->identifier];
$name = isset($tr['name']) ? $tr['name'] : null;
if ($this->shopLinkType) {
$this->_list[$index]['short_shop_name'] = Tools::strlen($tr['shop_name']) > 15 ? Tools::substr($tr['shop_name'], 0, 15) . '...' : $tr['shop_name'];
}
// Check all available actions to add to the current list row
foreach ($this->actions as $action) {
//Check if the action is available for the current row
if (!array_key_exists($action, $this->list_skip_actions) || !in_array($id, $this->list_skip_actions[$action])) {
$method_name = 'display' . ucfirst($action) . 'Link';
if (method_exists($this->context->controller, $method_name)) {
$this->_list[$index][$action] = $this->context->controller->{$method_name}($this->token, $id, $name);
} elseif (method_exists($this, $method_name)) {
$this->_list[$index][$action] = $this->{$method_name}($this->token, $id, $name);
}
}
}
// @todo skip action for bulk actions
// $this->_list[$index]['has_bulk_actions'] = true;
foreach ($this->fields_list as $key => $params) {
$tmp = explode('!', $key);
$key = isset($tmp[1]) ? $tmp[1] : $tmp[0];
if (isset($params['active'])) {
// If method is defined in calling controller, use it instead of the Helper method
if (method_exists($this->context->controller, 'displayEnableLink')) {
$calling_obj = $this->context->controller;
} else {
$calling_obj = $this;
}
$this->_list[$index][$key] = $calling_obj->displayEnableLink($this->token, $id, $tr[$key], $params['active'], Tools::getValue('id_category'), Tools::getValue('id_product'));
} elseif (isset($params['activeVisu'])) {
$this->_list[$index][$key] = (bool) $tr[$key];
} elseif (isset($params['position'])) {
$this->_list[$index][$key] = array('position' => $tr[$key], 'position_url_down' => $this->currentIndex . (isset($key_to_get) ? '&' . $key_to_get . '=' . (int) $id_category : '') . '&' . $this->position_identifier . '=' . $id . '&way=1&position=' . ((int) $tr['position'] + 1) . '&token=' . $this->token, 'position_url_up' => $this->currentIndex . (isset($key_to_get) ? '&' . $key_to_get . '=' . (int) $id_category : '') . '&' . $this->position_identifier . '=' . $id . '&way=0&position=' . ((int) $tr['position'] - 1) . '&token=' . $this->token);
} elseif (isset($params['image'])) {
// item_id is the product id in a product image context, else it is the image id.
$item_id = isset($params['image_id']) ? $tr[$params['image_id']] : $id;
if ($params['image'] != 'p' || Configuration::get('PS_LEGACY_IMAGES')) {
$path_to_image = _PS_IMG_DIR_ . $params['image'] . '/' . $item_id . (isset($tr['id_image']) ? '-' . (int) $tr['id_image'] : '') . '.' . $this->imageType;
} else {
$path_to_image = _PS_IMG_DIR_ . $params['image'] . '/' . Image::getImgFolderStatic($tr['id_image']) . (int) $tr['id_image'] . '.' . $this->imageType;
}
$this->_list[$index][$key] = ImageManager::thumbnail($path_to_image, $this->table . '_mini_' . $item_id . '.' . $this->imageType, 45, $this->imageType);
} elseif (isset($params['icon']) && (isset($params['icon'][$tr[$key]]) || isset($params['icon']['default']))) {
if (isset($params['icon'][$tr[$key]]) && is_array($params['icon'][$tr[$key]])) {
$this->_list[$index][$key] = array('src' => $params['icon'][$tr[$key]]['src'], 'alt' => $params['icon'][$tr[$key]]['alt']);
} else {
$this->_list[$index][$key] = array('src' => isset($params['icon'][$tr[$key]]) ? $params['icon'][$tr[$key]] : $params['icon']['default'], 'alt' => isset($params['icon'][$tr[$key]]) ? $params['icon'][$tr[$key]] : $params['icon']['default']);
}
} elseif (isset($params['type']) && $params['type'] == 'float') {
$this->_list[$index][$key] = rtrim(rtrim($tr[$key], '0'), '.');
} elseif (isset($params['type']) && $params['type'] == 'price') {
$currency = isset($params['currency']) && $params['currency'] ? Currency::getCurrencyInstance($tr['id_currency']) : $this->context->currency;
$this->_list[$index][$key] = Tools::displayPrice($tr[$key], $currency, false);
} elseif (isset($params['type']) && $params['type'] == 'date') {
$this->_list[$index][$key] = Tools::displayDate($tr[$key], $this->context->language->id);
} elseif (isset($params['type']) && $params['type'] == 'datetime') {
$this->_list[$index][$key] = Tools::displayDate($tr[$key], $this->context->language->id, true);
} elseif (isset($tr[$key])) {
$echo = $tr[$key];
if (isset($params['callback'])) {
$callback_obj = isset($params['callback_object']) ? $params['callback_object'] : $this->context->controller;
$this->_list[$index][$key] = call_user_func_array(array($callback_obj, $params['callback']), array($echo, $tr));
} else {
$this->_list[$index][$key] = $echo;
}
}
}
}
$this->content_tpl->assign(array_merge($this->tpl_vars, array('shop_link_type' => $this->shopLinkType, 'name' => isset($name) ? $name : null, 'position_identifier' => $this->position_identifier, 'identifier' => $this->identifier, 'table' => $this->table, 'token' => $this->token, 'color_on_bg' => $this->colorOnBackground, 'id_category' => $id_category, 'bulk_actions' => $this->bulk_actions, 'positions' => isset($positions) ? $positions : null, 'order_by' => $this->orderBy, 'order_way' => $this->orderWay, 'is_cms' => $this->is_cms, 'fields_display' => $this->fields_list, 'list' => $this->_list, 'actions' => $this->actions, 'no_link' => $this->no_link, 'current_index' => $this->currentIndex, 'view' => in_array('view', $this->actions), 'edit' => in_array('edit', $this->actions), 'has_actions' => !empty($this->actions), 'has_bulk_actions' => !empty($this->bulk_actions), 'list_skip_actions' => $this->list_skip_actions, 'row_hover' => $this->row_hover)));
return $this->content_tpl->fetch();
}
示例9: initContent
/**
* Assign template vars related to page content
* @see FrontController::initContent()
*/
public function initContent()
{
header('HTTP/1.1 404 Not Found');
header('Status: 404 Not Found');
if (preg_match('/\\.(gif|jpe?g|png|ico)$/i', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) {
$this->context->cookie->disallowWriting();
if (!isset($_SERVER['REDIRECT_URL'])) {
$_SERVER['REDIRECT_URL'] = '';
if (preg_match('@^' . __PS_BASE_URI__ . '([0-9]+)\\-([_a-zA-Z0-9-]+)(/[_a-zA-Z0-9-]+)?\\.jpg$@', $_SERVER['REQUEST_URI'], $matches)) {
$_SERVER['REDIRECT_URL'] = __PS_BASE_URI__ . 'p/' . Image::getImgFolderStatic($matches[0]) . '/' . $matches[0] . '-' . $matches[1] . '.jpg';
}
}
if (preg_match('#/p[0-9/]*/([0-9]+)\\-([_a-zA-Z]*)\\.(png|jpe?g|gif)$#', $_SERVER['REDIRECT_URL'], $matches)) {
// Backward compatibility since we suffixed the template image with _default
if (Tools::strtolower(substr($matches[2], -8)) != '_default') {
header('Location: ' . $this->context->link->getImageLink('', $matches[1], $matches[2]), true, 302);
exit;
} else {
$image_type = ImageType::getByNameNType($matches[2], 'products');
if ($image_type && count($image_type)) {
$root = _PS_PROD_IMG_DIR_;
$folder = Image::getImgFolderStatic($matches[1]);
$file = $matches[1];
$ext = '.' . $matches[3];
if (file_exists($root . $folder . $file . $ext)) {
if (ImageManager::resize($root . $folder . $file . $ext, $root . $folder . $file . '-' . $matches[2] . $ext, (int) $image_type['width'], (int) $image_type['height'])) {
header('HTTP/1.1 200 Found');
header('Status: 200 Found');
header('Content-Type: image/jpg');
readfile($root . $folder . $file . '-' . $matches[2] . $ext);
exit;
}
}
}
}
} elseif (preg_match('#/c/([0-9]+)\\-([_a-zA-Z]*)\\.(png|jpe?g|gif)$#', $_SERVER['REDIRECT_URL'], $matches)) {
$image_type = ImageType::getByNameNType($matches[2], 'categories');
if ($image_type && count($image_type)) {
$root = _PS_CAT_IMG_DIR_;
$file = $matches[1];
$ext = '.' . $matches[3];
if (file_exists($root . $file . $ext)) {
if (ImageManager::resize($root . $file . $ext, $root . $file . '-' . $matches[2] . $ext, (int) $image_type['width'], (int) $image_type['height'])) {
header('HTTP/1.1 200 Found');
header('Status: 200 Found');
header('Content-Type: image/jpg');
readfile($root . $file . '-' . $matches[2] . $ext);
exit;
}
}
}
}
header('Content-Type: image/gif');
readfile(_PS_IMG_DIR_ . '404.gif');
exit;
} elseif (in_array(Tools::strtolower(substr($_SERVER['REQUEST_URI'], -3)), array('.js', 'css'))) {
$this->context->cookie->disallowWriting();
exit;
}
parent::initContent();
$this->setTemplate(_PS_THEME_DIR_ . '404.tpl');
}
示例10: processExport
public function processExport()
{
// clean buffer
if (ob_get_level() && ob_get_length() > 0) {
ob_clean();
}
$this->getList($this->context->language->id);
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 $datas) {
$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($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;
}
}
$content[$i][] = $field_value;
}
}
$this->context->smarty->assign(array('export_precontent' => "", 'export_headers' => $headers, 'export_content' => $content));
$this->layout = 'layout-export.tpl';
}
示例11: initContent
/**
* Assign template vars related to page content
* @see FrontController::initContent()
*/
public function initContent()
{
$category_rewrite = explode('/', $_SERVER['REQUEST_URI']);
if (isset($category_rewrite[1]) && !empty($category_rewrite[1])) {
$id_category = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
SELECT `id_category`
FROM `' . _DB_PREFIX_ . 'category_lang`
WHERE `link_rewrite` = \'' . $category_rewrite[1] . '\'');
if ($id_category > 0) {
$category = new Category($id_category);
if (is_object($category) && isset($category->id, $this->context->language->id)) {
$url = _PS_BASE_URL_ . __PS_BASE_URI__ . $category_rewrite[1] . '/';
$redirect_type = Configuration::get('PS_CANONICAL_REDIRECT') == 2 ? '301' : '302';
header('HTTP/1.0 ' . $redirect_type . ' Moved');
header('Cache-Control: no-cache');
Tools::redirectLink($url);
}
}
}
header('HTTP/1.1 404 Not Found');
header('Status: 404 Not Found');
if (preg_match('/\\.(gif|jpe?g|png|ico)$/i', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) {
$this->context->cookie->disallowWriting();
if (!isset($_SERVER['REDIRECT_URL'])) {
$_SERVER['REDIRECT_URL'] = '';
if (preg_match('@^' . __PS_BASE_URI__ . '([0-9]+)\\-([_a-zA-Z0-9-]+)(/[_a-zA-Z0-9-]+)?\\.jpg$@', $_SERVER['REQUEST_URI'], $matches)) {
$_SERVER['REDIRECT_URL'] = __PS_BASE_URI__ . 'p/' . Image::getImgFolderStatic($matches[0]) . '/' . $matches[0] . '-' . $matches[1] . '.jpg';
}
}
if (preg_match('#/p[0-9/]*/([0-9]+)\\-([_a-zA-Z]*)\\.(png|jpe?g|gif)$#', $_SERVER['REDIRECT_URL'], $matches)) {
// Backward compatibility since we suffixed the template image with _default
if (Tools::strtolower(substr($matches[2], -8)) != '_default') {
header('Location: ' . $this->context->link->getImageLink('', $matches[1], $matches[2]), true, 302);
exit;
} else {
$image_type = ImageType::getByNameNType($matches[2], 'products');
if ($image_type && count($image_type)) {
$root = _PS_PROD_IMG_DIR_;
$folder = Image::getImgFolderStatic($matches[1]);
$file = $matches[1];
$ext = '.' . $matches[3];
if (file_exists($root . $folder . $file . $ext)) {
if (ImageManager::resize($root . $folder . $file . $ext, $root . $folder . $file . '-' . $matches[2] . $ext, (int) $image_type['width'], (int) $image_type['height'])) {
header('HTTP/1.1 200 Found');
header('Status: 200 Found');
header('Content-Type: image/jpg');
readfile($root . $folder . $file . '-' . $matches[2] . $ext);
exit;
}
}
}
}
} elseif (preg_match('#/c/([0-9]+)\\-([_a-zA-Z]*)\\.(png|jpe?g|gif)$#', $_SERVER['REDIRECT_URL'], $matches)) {
$image_type = ImageType::getByNameNType($matches[2], 'categories');
if ($image_type && count($image_type)) {
$root = _PS_CAT_IMG_DIR_;
$file = $matches[1];
$ext = '.' . $matches[3];
if (file_exists($root . $file . $ext)) {
if (ImageManager::resize($root . $file . $ext, $root . $file . '-' . $matches[2] . $ext, (int) $image_type['width'], (int) $image_type['height'])) {
header('HTTP/1.1 200 Found');
header('Status: 200 Found');
header('Content-Type: image/jpg');
readfile($root . $file . '-' . $matches[2] . $ext);
exit;
}
}
}
}
header('Content-Type: image/gif');
readfile(_PS_IMG_DIR_ . '404.gif');
exit;
} elseif (in_array(Tools::strtolower(substr($_SERVER['REQUEST_URI'], -3)), array('.js', 'css'))) {
$this->context->cookie->disallowWriting();
exit;
}
parent::initContent();
$this->setTemplate(_PS_THEME_DIR_ . '404.tpl');
}
示例12: getImageLink
public function getImageLink($name, $ids, $type = NULL)
{
global $protocol_content;
// legacy mode or default image
if (Configuration::get('PS_LEGACY_IMAGES') && file_exists(_PS_PROD_IMG_DIR_ . $ids . ($type ? '-' . $type : '') . '.jpg') || strpos($ids, 'default') !== false) {
$uri_path = _THEME_PROD_DIR_ . $ids . ($type ? '-' . $type : '') . '.jpg';
} else {
// if ids if of the form id_product-id_image, we want to extract the id_image part
$split_ids = explode('-', $ids);
$id_image = isset($split_ids[1]) ? $split_ids[1] : $split_ids[0];
$uri_path = _THEME_PROD_DIR_ . Image::getImgFolderStatic($id_image) . $id_image . ($type ? '-' . $type : '') . '.jpg';
}
return $protocol_content . Tools::getMediaServer($uri_path) . $uri_path;
}
示例13: array
if (!$productHasImage) {
$db->insert('image', array('id_image' => $imageId, 'id_product' => $id));
}
$imgFile = IMAGE_IMPORT_FOLDER . $filepath;
$fileExists = file_exists($imgFile);
if (!$fileExists && !$productHasImage) {
logResponse('Image not found ' . $imgFile);
} else {
$image = new Image();
$image->id_product = (int) $id;
$image->cover = (int) $cover;
$image->id = $imageId;
$image->id_image = $imageId;
$image->save();
$db->update('image_lang', array('legend' => addslashes($imageDesc)), "id_image = '" . $db->escape($image->id_image) . "'");
$imgFolder = Image::getImgFolderStatic($imageId);
if ($fileExists && !is_dir(_PS_IMG_DIR_ . 'p' . DIRECTORY_SEPARATOR . $imgFolder)) {
$new_path = $image->getPathForCreation();
if (file_exists($imgFile)) {
$imagesTypes = ImageType::getImagesTypes('products');
foreach ($imagesTypes as $imageType) {
if (!ImageManager::resize($imgFile, $new_path . '-' . stripslashes($imageType['name']) . '.' . $image->image_format, $imageType['width'], $imageType['height'], $image->image_format)) {
logResponse('An error occurred while copying image:' . ' ' . stripslashes($imageType['name']));
}
}
}
}
}
}
}
logResponse("Product {$id} saved");