public static final function updateIconsByApiData($image, $object_id = 0, $object_type = 'product', $lang_code = CART_LANGUAGE) { if (!empty($image['deleted']) && $image['deleted'] == 'Y') { // delete image $image_info = db_get_row("SELECT image_id, pair_id\n FROM ?:images_links\n WHERE object_id = ?i\n AND object_type=?s AND type = 'M'", $object_id, $object_type); if (!empty($image_info)) { fn_delete_image($image_info['image_id'], $image_info['pair_id'], $object_type); } return true; } $icon_list = array(); if ($icon = self::fn_twg_get_image_by_api_data($image)) { $icon_list[] = $icon; } $detailed_alt = db_get_field("SELECT a.description\n FROM ?:common_descriptions as a, ?:images_links as b\n WHERE a.object_holder = ?s\n AND a.lang_code = ?s\n AND a.object_id = b.detailed_id\n AND b.object_id = ?i\n AND b.object_type = ?s\n AND b.type = ?s", 'images', $lang_code, $object_id, $object_type, 'M'); $icon_data = array('type' => 'M', 'image_alt' => !empty($image['alt']) ? $image['alt'] : '', 'detailed_alt' => $detailed_alt); return fn_update_image_pairs($icon_list, array(), array($icon_data), $object_id, $object_type, array(), '', 0, true, $lang_code); }
function fn_settings_actions_addons_banners_banner_multilang($new_value, $old_value) { if ($new_value == 'N') { $lang_codes = Languages::getAll(); unset($lang_codes[DEFAULT_LANGUAGE]); $banners_multilang = array(); foreach ($lang_codes as $lang_code => $lang_data) { list($banners) = fn_get_banners(array(), $lang_code); foreach ($banners as $banner) { $banners_multilang[$lang_code][$banner['banner_id']] = $banner; } } list($banners) = fn_get_banners(array(), DEFAULT_LANGUAGE); foreach ($banners as $banner) { if ($banner['type'] != 'G') { continue; } $main_image_id = !empty($banner['main_pair']['image_id']) ? $banner['main_pair']['image_id'] : 0; foreach ($lang_codes as $lang_code => $lang_data) { $banner_lang = $banners_multilang[$lang_code][$banner['banner_id']]; $lang_image_id = !empty($banner_lang['main_pair']['image_id']) ? $banner_lang['main_pair']['image_id'] : 0; if ($lang_image_id != 0 && ($main_image_id == 0 || $main_image_id != $lang_image_id)) { fn_delete_image($lang_image_id, $banner_lang['main_pair']['pair_id'], 'promo'); $lang_image_id = 0; } if ($lang_image_id == 0 && $main_image_id != 0) { $data_banner_image = array('banner_id' => $banner['banner_id'], 'lang_code' => $lang_code); $banner_image_id = db_query("INSERT INTO ?:banner_images ?e", $data_banner_image); fn_add_image_link($banner_image_id, $banner['main_pair']['pair_id']); $data_desc = array('description' => empty($banner['main_pair']['icon']['alt']) ? '' : $banner['main_pair']['icon']['alt'], 'object_holder' => 'images'); fn_create_description('common_descriptions', 'object_id', $main_image_id, $data_desc); } db_query("UPDATE ?:banner_descriptions SET url = ?s WHERE banner_id = ?i", $banner['url'], $banner['banner_id']); } } } return true; }
function fn_delete_image_pair($pair_id, $object_type = 'product') { if (!empty($pair_id)) { $images = db_get_row("SELECT image_id, detailed_id FROM ?:images_links WHERE pair_id = ?i", $pair_id); if (!empty($images)) { fn_delete_image($images['image_id'], $pair_id, $object_type); fn_delete_image($images['detailed_id'], $pair_id, 'detailed'); } fn_set_hook('delete_image_pair', $pair_id, $object_type); return true; } return false; }
} else { $response->addError('ERROR_WRONG_OBJECT_DATA', str_replace('[object]', 'categories', __('twgadmin_wrong_api_object_data'))); } } } } if ($object == 'images') { if ($_REQUEST['action'] == 'delete') { foreach ($data as $image) { if (empty($image['image_id'])) { $response->addError('ERROR_WRONG_OBJECT_DATA', str_replace('[object]', 'images', __('twgadmin_wrong_api_object_data'))); continue; } $image_info = db_get_row("SELECT pair_id, object_type FROM ?:images_links WHERE image_id = ?i", $image['image_id']); if (!empty($image_info)) { fn_delete_image($image['image_id'], $image_info['pair_id'], $image_info['object_type']); } } } } $response->returnResponse(); } } if ($mode == 'post') { if ($_REQUEST['action'] == 'get') { $object_name = ''; $condition = array(); $options = array('lang_code' => $lang_code); $sortings = array(); $result = array(); $is_paginate = false;
* "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. * ****************************************************************************/ use Tygh\Registry; use Tygh\BlockManager\RenderManager; use Tygh\Settings; use Tygh\Storage; if (!defined('BOOTSTRAP')) { die('Access denied'); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { // // Delete image // if ($mode == 'delete_image') { if (AREA == 'A' && !empty($auth['user_id'])) { fn_delete_image($_REQUEST['image_id'], $_REQUEST['pair_id'], $_REQUEST['object_type']); if (defined('AJAX_REQUEST')) { Registry::get('ajax')->assign('deleted', true); } elseif (!empty($_SERVER['HTTP_REFERER'])) { return array(CONTROLLER_STATUS_REDIRECT, $_SERVER['HTTP_REFERER']); } } exit; } // // Delete image pair // if ($mode == 'delete_image_pair') { if (AREA == 'A' && !empty($auth['user_id'])) { fn_delete_image_pair($_REQUEST['pair_id'], $_REQUEST['object_type']); if (defined('AJAX_REQUEST')) {
function fn_banners_delete_languages_post($lang_ids, $lang_codes, $deleted_lang_codes) { foreach ($deleted_lang_codes as $lang_code) { list($banners) = fn_get_banners(array(), $lang_code); foreach ($banners as $banner) { if (empty($banner['main_pair']['pair_id'])) { continue; } fn_delete_image($banner['main_pair']['image_id'], $banner['main_pair']['pair_id'], 'promo'); } } }
function fn_delete_image_pair($pair_id, $object_type = 'product', $rev_data = array()) { $table = 'images_links'; $cond = ''; if (AREA == 'A' && Registry::is_exist('revisions') && !Registry::get('revisions.working')) { $revisions = Registry::get('revisions'); if (!empty($object_type) && !empty($revisions['objects'][$object_type]) && !empty($revisions['objects'][$object_type]['tables'])) { $object_data = $revisions['objects'][$object_type]; if ($object_data['images']) { if (empty($rev_data)) { $object_id = db_get_field("SELECT object_id FROM ?:rev_images_links WHERE pair_id = ?i ORDER BY revision DESC LIMIT 1", $pair_id); $entry = array($object_data['key'] => $object_id); list($rev_data['revision'], $rev_data['revision_id']) = fn_revisions_get_last($object_type, $entry, 0, $table); } if (!empty($rev_data['revision_id'])) { $table = 'rev_images_links'; $cond = db_quote(" AND revision = ?s AND revision_id = ?i", $rev_data['revision'], $rev_data['revision_id']); } } } } if (!empty($pair_id)) { $images = db_get_row("SELECT image_id, detailed_id FROM ?:{$table} WHERE pair_id = ?i ?p", $pair_id, $cond); if (!empty($images)) { fn_delete_image($images['image_id'], $pair_id, $object_type, $rev_data); fn_delete_image($images['detailed_id'], $pair_id, 'detailed', $rev_data); } return true; } return false; }