function smarty_function_select_webmaster_image($params, &$smarty)
{
    extract($params);
    if (empty($assign)) {
        $smarty->trigger_error("assign: missing 'assign' parameter");
        return;
    }
    if (empty($image)) {
        $smarty->trigger_error("assign: missing 'image' parameter");
        return;
    }
    cw_load('in_images');
    $smarty->assign($assign, cw_in_images_assign($image));
}
$items_per_page_targets =& cw_session_register('items_per_page_targets', array());
if (!empty($_GET['items_per_page']) || !empty($items_per_page) || !empty($_GET['view_all']) || !empty($view_all)) {
    if ((!empty($_GET['view_all']) || !empty($view_all)) && !empty($app_config_file['interface']['max_count_view_products']) && $current_area == 'C') {
        $items_per_page_targets[$target] = $app_config_file['interface']['max_count_view_products'];
    } else {
        $items_per_page_targets[$target] = empty($_GET['items_per_page']) ? intval($items_per_page) : intval($_GET['items_per_page']);
    }
    cw_core_save_navigation($customer_id, $items_per_page_targets);
}
if (AREA_TYPE == 'A' && $_POST['action'] == 'update_settings' && is_array($_POST['configuration']) && $_POST['category']) {
    global $top_message;
    cw_load('config');
    cw_config_update($_POST['category'], $_POST['configuration']);
    // TOFIX: Move to addon as hook
    if ($_POST['category'] == 'Watermarks') {
        cw_load('in_images');
        $watermark_url = cw_in_images_assign('watermark_url');
        $watermark_url = $watermark_url['image_path'];
        touch($watermark_url);
    }
    $_tmp = parse_url($_POST['l_redirect']);
    parse_str($_tmp['query'], $merge_arr);
    if (!is_array($merge_arr)) {
        $merge_arr = array();
    }
    $l_redirect = cw_core_assign_addition_params($_tmp['path'], $merge_arr, array(), '&', false);
    $top_message = array('content' => cw_get_langvar_by_name('txt_settings_was_updated'), 'type' => 'I');
    if ($target != 'configuration' && $target != 'settings') {
        cw_header_location($l_redirect);
    }
}
function cw_image_get_watermarked($path)
{
    global $config;
    $opacity = $config['Watermarks']['opacity'];
    if (!file_exists($path)) {
        return false;
    }
    $orig_fn = $path;
    $wmrkd_fn = preg_replace("'^(.*)(\\.[a-z]+)\$'i", "\$1.wmrkd\$2", $path);
    cw_load('in_images');
    $wmrk_fn = cw_in_images_assign('watermark_url');
    $wmrk_fn = $wmrk_fn['image_path'];
    if (file_exists($wmrkd_fn) && file_exists($wmrk_fn) && filemtime($wmrkd_fn) >= filemtime($wmrk_fn) && filemtime($wmrkd_fn) >= filemtime($orig_fn)) {
        return $wmrkd_fn;
    }
    if (!file_exists($wmrk_fn)) {
        return $orig_fn;
    }
    $attrs_wmrk = cw_get_image_size($wmrk_fn);
    $attrs_img = cw_get_image_size($orig_fn);
    $im_w = $attrs_img[1];
    $im_h = $attrs_img[2];
    $im_type = $attrs_img[3];
    $wm_w = $attrs_wmrk[1];
    $wm_h = $attrs_wmrk[2];
    $wm_type = $attrs_wmrk[3];
    $image = imagecreatefromstring(file_get_contents($orig_fn));
    $watermark_or = imagecreatefromstring(file_get_contents($wmrk_fn));
    if ($wm_w > $im_w / 1.5) {
        $sw = 1.5 * $wm_w / $im_w;
    } else {
        $sw = 1;
    }
    if ($wm_h > $im_h / 2) {
        $sh = 2 * $wm_h / $im_h;
    } else {
        $sh = 1;
    }
    if ($sw > $sh) {
        $scl = $sw;
    } else {
        $scl = $sh;
    }
    $watermark = imagecreatetruecolor($wm_w / $scl, $wm_h / $scl);
    imagecolortransparent($watermark, imagecolorallocate($watermark, 0, 0, 0));
    imagecopyresized($watermark, $watermark_or, 0, 0, 0, 0, $wm_w / $scl, $wm_h / $scl, $wm_w, $wm_h);
    imagedestroy($watermark_or);
    $wm_w = $wm_w / $scl;
    $wm_h = $wm_h / $scl;
    $left = ($im_w - $wm_w) / 2;
    $right = ($im_h - $wm_h) / 2;
    #imagecopyresampled($image, $watermark, $left, $right, 0, 0, $wm_w/$scl, $wm_h/$scl, $wm_w, $wm_h);
    imagecopymerge($image, $watermark, $left, $right, 0, 0, $wm_w, $wm_h, $opacity);
    switch ($im_type) {
        case 'image/jpeg':
            imagejpeg($image, $wmrkd_fn, 100);
            break;
        case 'image/gif':
            imagegif($image, $wmrkd_fn);
            break;
        case 'image/png':
            imagepng($image, $wmrkd_fn, 9);
            break;
        default:
            imagejpeg($image, $wmrkd_fn, 100);
    }
    return $wmrkd_fn;
}