public function cart_to_base()
{
// удалить корзину для незарегистрированного пользователя
$query = $this->db->placehold("DELETE FROM __carts WHERE code=?",
/* находим корзину по shopping_cart_code */
$_COOKIE['shopping_cart_code']);
$this->db->query($query);
// если пользователь зарегистрирован
if($_SESSION['user_id'])
{
// удалить корзину для зарегистрированного пользователя
$query = $this->db->placehold("DELETE FROM __carts WHERE user_id=?",
/* находим корзину по user_id */
$_SESSION['user_id']);
$this->db->query($query);
}
// если корзина есть в кукисах
if($_SESSION['shopping_cart'])
{
// записать корзину в базу
$query = $this->db->placehold(
"INSERT IGNORE INTO __carts SET code=?, user_id=?, cart=?",
/*
значение code записывается первый раз
code=$_COOKIE['shopping_cart_code'], user_id=0
*/
$_COOKIE['shopping_cart_code'], 0, serialize((array)$_SESSION['shopping_cart'])
);
$this->db->query($query);
// если пользователь зарегистрирован, то записать корзину второй раз
if($_SESSION['user_id'])
{
// записать корзину в базу для зарегистрированного пользователя
$query = $this->db->placehold(
"INSERT IGNORE INTO __carts SET code=?, user_id=?, cart=?",
/* code= '', user_id=$_SESSION['user_id'] */
'', $_SESSION['user_id'], serialize((array)$_SESSION['shopping_cart'])
);
$this->db->query($query);
}
}
}