0) { $premium_user_id = intval($_SESSION['user_id']); // Configuração de paginação $premium_items_per_page = 5; $premium_current_page = 1; if (isset($_GET['from']) && intval($_GET['from']) > 0) { $premium_current_page = ceil(intval($_GET['from']) / $premium_items_per_page) + 1; } $premium_from = ($premium_current_page - 1) * $premium_items_per_page; // Busca total de transações $premium_total_count = mr2number(sql_pr(" SELECT COUNT(*) FROM $config[tables_prefix]bill_transactions WHERE user_id = ? AND status_id IN (1, 2) ", $premium_user_id)); // Busca transações do usuário $premium_transactions = mr2array(sql_pr(" SELECT bt.transaction_id, bt.external_id, bt.status_id, bt.access_start_date, bt.access_end_date, bt.is_unlimited_access, bt.price, bt.currency_code, bt.duration_rebill, bt.added_date, bt.tokens_granted, COALESCE(cbp.title, 'Premium Access') as package_title, CASE WHEN bt.status_id = 1 THEN 'active' WHEN bt.status_id = 2 THEN 'closed' WHEN bt.status_id = 3 THEN 'cancelled' WHEN bt.status_id = 4 THEN 'pending' ELSE 'unknown' END as status_text, CASE WHEN bt.is_unlimited_access = 1 THEN -1 WHEN bt.access_end_date > NOW() THEN DATEDIFF(bt.access_end_date, NOW()) ELSE 0 END as days_remaining FROM $config[tables_prefix]bill_transactions bt LEFT JOIN $config[tables_prefix]card_bill_packages cbp ON bt.external_package_id = cbp.package_id WHERE bt.user_id = ? AND bt.status_id IN (1, 2) ORDER BY bt.access_start_date DESC LIMIT ?, ? ", $premium_user_id, $premium_from, $premium_items_per_page)); // Busca assinatura ativa atual $premium_active_subscription = mr2array_single(sql_pr(" SELECT bt.transaction_id, bt.access_start_date, bt.access_end_date, bt.is_unlimited_access, bt.price, bt.currency_code, COALESCE(cbp.title, 'Premium Access') as package_title, CASE WHEN bt.is_unlimited_access = 1 THEN -1 WHEN bt.access_end_date > NOW() THEN DATEDIFF(bt.access_end_date, NOW()) ELSE 0 END as days_remaining FROM $config[tables_prefix]bill_transactions bt LEFT JOIN $config[tables_prefix]card_bill_packages cbp ON bt.external_package_id = cbp.package_id WHERE bt.user_id = ? AND bt.status_id = 1 AND (bt.is_unlimited_access = 1 OR bt.access_end_date > NOW()) ORDER BY bt.access_end_date DESC LIMIT 1 ", $premium_user_id)); // Calcula estatísticas $premium_stats = mr2array_single(sql_pr(" SELECT COUNT(*) as total_transactions, COUNT(CASE WHEN status_id = 1 THEN 1 END) as active_transactions, COALESCE(SUM(CASE WHEN status_id IN (1, 2) THEN price ELSE 0 END), 0) as total_spent, MIN(access_start_date) as first_purchase_date FROM $config[tables_prefix]bill_transactions WHERE user_id = ? AND status_id IN (1, 2) ", $premium_user_id)); // Atribui variáveis para o template Smarty $smarty->assign('transactions', $premium_transactions); $smarty->assign('active_subscription', $premium_active_subscription); $smarty->assign('total_count', $premium_total_count); $smarty->assign('total_transactions', intval($premium_stats['total_transactions'])); $smarty->assign('active_transactions', intval($premium_stats['active_transactions'])); $smarty->assign('total_spent', floatval($premium_stats['total_spent'])); $smarty->assign('first_purchase_date', $premium_stats['first_purchase_date']); $smarty->assign('current_page', $premium_current_page); $smarty->assign('items_per_page', $premium_items_per_page); $smarty->assign('total_pages', ceil($premium_total_count / $premium_items_per_page)); }} Videos Porn Sarah estanislau vídeo vazado

Most Favorited Videos for: Sarah estanislau vídeo vazado, Page 89

TubePussy ✓ Watch the most sought after amateur porn videos on the internet, all for free. Explore a vast collection of amateur videos of hot teens and milfs having sex, all with the best image and sound quality. Enjoy exciting scenes, with intense and natural performances, captured in different scenarios and situations. TubePussy is the ideal destination for those looking for authentic and engaging amateur videos. Here, you will find a variety of categories to suit all tastes, ensuring an unforgettable viewing experience.