function sunshine_delete_favorite($image_id)
{
    $image_id = intval($image_id);
    SunshineUser::delete_user_meta('favorite', $image_id);
    $favorite_count = get_post_meta($image_id, 'sunshine_favorite_count', true);
    $favorite_count--;
    update_post_meta($image_id, 'sunshine_favorite_count', $favorite_count);
}
function sunshine_update_cart()
{
    global $current_user, $sunshine;
    if (isset($_POST['sunshine_update_cart']) && $_POST['sunshine_update_cart'] == 1 && wp_verify_nonce($_POST['nonce'], 'sunshine_update_cart')) {
        $i = 0;
        $cart = $sunshine->cart->get_cart();
        foreach ($cart as &$cart_item) {
            foreach ($_POST['item'] as $key => $item) {
                if ($item['hash'] == $cart_item['hash']) {
                    if (!isset($item['qty'])) {
                        $item['qty'] = 1;
                    }
                    if ($item['qty'] <= 0) {
                        if (is_user_logged_in()) {
                            SunshineUser::delete_user_meta('cart', $cart_item);
                        } else {
                            unset($cart[$i]);
                        }
                    } elseif ($item['qty'] != $cart_item['qty']) {
                        $new_item = $cart_item;
                        $new_item['qty'] = $item['qty'];
                        $new_item['total'] = $new_item['qty'] * $new_item['price'];
                        if (is_user_logged_in()) {
                            SunshineUser::update_user_meta('cart', $new_item, $cart_item);
                        } else {
                            $cart[$i] = $new_item;
                        }
                    }
                    $i++;
                }
            }
        }
        if (empty($cart)) {
            $sunshine->cart->set_cart_cookies(false);
        } elseif ($_COOKIE['sunshine_cart_hash']) {
            update_option('sunshine_cart_hash_' . $_COOKIE['sunshine_cart_hash'], serialize($cart));
        }
        $sunshine->add_message(__('Cart updated', 'sunshine'));
        wp_redirect(sunshine_url('cart'));
        exit;
    }
}
 public function remove_item_in_cart($hash)
 {
     foreach ($this->content as $key => $cart_item) {
         if ($hash == $cart_item['hash']) {
             if (is_user_logged_in()) {
                 SunshineUser::delete_user_meta('cart', $cart_item);
             } else {
                 unset($this->content[$key]);
                 SunshineSession::instance()->cart = $cart;
             }
             break;
         }
     }
 }