Esempio n. 1
0
 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);
 }
Esempio n. 2
0
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;
}
Esempio n. 3
0
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;
}
Esempio n. 4
0
                    } 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;
Esempio n. 5
0
* "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')) {
Esempio n. 6
0
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');
        }
    }
}
Esempio n. 7
0
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;
}