コード例 #1
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;
}
コード例 #2
0
ファイル: func.php プロジェクト: heg-arc-ne/cscart
function fn_banners_clone($banners, $lang_code)
{
    foreach ($banners as $banner) {
        if (empty($banner['main_pair']['pair_id'])) {
            continue;
        }
        $data_banner_image = array('banner_id' => $banner['banner_id'], 'lang_code' => $lang_code);
        $banner_image_id = db_query("REPLACE INTO ?:banner_images ?e", $data_banner_image);
        fn_add_image_link($banner_image_id, $banner['main_pair']['pair_id']);
    }
}
コード例 #3
0
*                                                                          *
* This  is  commercial  software,  only  users  who have purchased a valid *
* license  and  accept  to the terms of the  License Agreement can install *
* and use this program.                                                    *
*                                                                          *
****************************************************************************
* PLEASE READ THE FULL TEXT  OF THE SOFTWARE  LICENSE   AGREEMENT  IN  THE *
* "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE.            *
****************************************************************************/
if (!defined('BOOTSTRAP')) {
    die('Access denied');
}
$join = 'LEFT JOIN ?:banners as b ON bd.banner_id = b.banner_id';
db_query("UPDATE ?:banner_descriptions as bd {$join} SET bd.url = b.url");
db_query("ALTER TABLE ?:banners DROP COLUMN `url`;");
// Update images links
$images_links = db_get_array("SELECT pair_id, object_id, image_id FROM ?:images_links WHERE object_type = 'promo'");
if (!empty($images_links)) {
    foreach ($images_links as $link) {
        $data_banner_image = array('banner_id' => $link['object_id'], 'lang_code' => DEFAULT_LANGUAGE);
        $banner_image_id = db_query("INSERT INTO ?:banner_images ?e", $data_banner_image);
        db_query('UPDATE ?:images_links SET object_id = ?i WHERE pair_id = ?i', $banner_image_id, $link['pair_id']);
        $lang_codes = db_get_fields("SELECT lang_code FROM ?:languages WHERE lang_code NOT IN (?s)", DEFAULT_LANGUAGE);
        if (!empty($lang_codes)) {
            foreach ($lang_codes as $lang_code) {
                $banner_image_id = db_query("INSERT INTO ?:banner_images (banner_id, lang_code) VALUE(?i, ?s)", $link['object_id'], $lang_code);
                fn_add_image_link($banner_image_id, $link['pair_id']);
            }
        }
    }
}