function cw_session_id($sess_id = "")
{
    global $tables, $APP_SESSION_VARS, $APP_SESS_ID, $APP_SESSION_UNPACKED_VARS;
    $APP_SESSION_VARS = array();
    if ($sess_id) {
        $sess_data = cw_query_first("SELECT * FROM {$tables['sessions_data']} WHERE sess_id='{$sess_id}'");
        $APP_SESS_ID = $sess_id;
        if ($sess_data) {
            $APP_SESSION_VARS = unserialize($sess_data['data']);
            if (!empty($APP_SESSION_UNPACKED_VARS)) {
                foreach ($APP_SESSION_UNPACKED_VARS as $var => $v) {
                    if (isset($GLOBALS[$var])) {
                        unset($GLOBALS[$var]);
                    }
                    unset($APP_SESSION_UNPACKED_VARS[$var]);
                }
            }
        } else {
            cw_session_start($sess_id);
        }
    } else {
        $sess_id = $APP_SESS_ID;
    }
    return $sess_id;
}
ini_set("url_rewriter.tags", '');
# Let's garbage collection will occurs more frequently
ini_set("session.gc_probability", 90);
ini_set("session.gc_divisor", 100);
# for PHP >= 4.3.0
ini_set("session.use_cookies", false);
if (defined("SET_EXPIRE")) {
    header("Expires: " . gmdate("D, d M Y H:i:s", SET_EXPIRE) . " GMT");
} else {
    header("Expires: " . gmdate("D, d M Y H:i:s") . " GMT");
}
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
if (defined("SET_EXPIRE")) {
    header("Cache-Control: public");
} elseif ($HTTPS) {
    header("Cache-Control: private, must-revalidate");
} else {
    header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    header("Pragma: no-cache");
}
if (isset($_POST[APP_SESSION_NAME])) {
    $APP_SESS_ID = $_POST[APP_SESSION_NAME];
} elseif (isset($_GET[APP_SESSION_NAME])) {
    $APP_SESS_ID = $_GET[APP_SESSION_NAME];
} elseif (isset($_COOKIE[APP_SESSION_NAME])) {
    $APP_SESS_ID = $_COOKIE[APP_SESSION_NAME];
} else {
    $APP_SESS_ID = false;
}
cw_session_start($APP_SESS_ID);
register_shutdown_function("cw_session_save");
function cw_rc_cookie_process()
{
    global $smarty;
    if (!cw_rc_get_cookie('start')) {
        if ($arr_cookie = cw_rc_get_cookie('history')) {
            cw_session_start($arr_cookie[0]);
            if (!cw_rc_set_cookie('history_temp', array($arr_cookie[0], $arr_cookie[1]))) {
                cw_rc_del_cookie('history_temp');
            }
            if ($arr_seccion = cw_rc_get_session()) {
                list($id, $date, $cost, $count) = $arr_seccion;
                if (intval($count)) {
                    cw_rc_set_cookie('history', array($arr_seccion[0], $arr_seccion[1]));
                } else {
                    cw_rc_del_cookie('history');
                    cw_rc_del_cookie('history_temp');
                }
                $pref = '';
                $postf = '';
                if ($count_products = cw_rc_get_count_new_product($arr_cookie[1])) {
                    $lng_count = cw_get_langvar_by_name('products_added_last_entry_msg', false, false, true);
                    if (!empty($lng_count)) {
                        $pref = "({$count_products}) {$lng_count}.";
                        $smarty->assign('count_products', $pref);
                    }
                }
                if ($arr_seccion[3]) {
                    $lng_cart = cw_get_langvar_by_name('your_cart_count_items_msg', false, false, true);
                    if (!empty($lng_cart)) {
                        $postf = str_replace('{count}', $arr_seccion[3], $lng_cart);
                    }
                }
                if (!empty($pref) || !empty($postf)) {
                    cw_rc_echo($smarty, "{$pref} {$postf}");
                }
            } else {
                cw_rc_del_cookie('history');
                cw_rc_del_cookie('history_temp');
            }
        } else {
            if ($arr_seccion = cw_rc_get_session()) {
                list($id, $date, $cost, $count) = $arr_seccion;
                if (intval($count)) {
                    cw_rc_set_cookie('history', array($arr_seccion[0], $arr_seccion[1]));
                }
            } else {
                cw_rc_del_cookie('history');
                cw_rc_del_cookie('history_temp');
            }
        }
        cw_rc_set_cookie('start');
    } else {
        if ($arr_cookie = cw_rc_get_cookie('history_temp')) {
            cw_session_start($arr_cookie[0]);
            if ($count_products = cw_rc_get_count_new_product($arr_cookie[1])) {
                $lng_count = cw_get_langvar_by_name('products_added_last_entry_msg', false, false, true);
                $smarty->assign('count_products', "({$count_products}) {$lng_count}");
            }
        }
        if ($arr_seccion = cw_rc_get_session()) {
            list($id, $date, $total, $count) = $arr_seccion;
            if (intval($count)) {
                cw_rc_set_cookie('history', array($id, $date));
            }
            $rcsave =& cw_session_register('rcsave');
            if ($rcsave > 0) {
                if ($total > 0 && $total != $rcsave) {
                    cw_rc_echo($smarty, cw_get_langvar_by_name('your_cart_saved_msg', false, false, true));
                    $rcsave = $total;
                }
            } elseif ($total > 0) {
                $rcsave = $total;
                cw_rc_echo($smarty, cw_get_langvar_by_name('your_cart_saved_msg', false, false, true));
            }
            if (!$count) {
                cw_rc_del_cookie('history');
                cw_rc_del_cookie('history_temp');
            }
        } else {
            cw_rc_del_cookie('history');
            cw_rc_del_cookie('history_temp');
        }
    }
}
<?php

cw_lock("antibot");
$sess_id = cw_session_id();
cw_session_start($sess_id);
if ($addons['image_verification']) {
    require_once $app_main_dir . "/addons/image_verification/antibot_image.php";
}
function test()
{
    cw_unlock("antibot");
}
register_shutdown_function("test");