prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$user_id]); $user = $stmt->fetch(); $startupId = $_GET['id'] ?? null; if (!$startupId) { header('Location: startups.php'); exit; } $stmt = db()->prepare(" SELECT s.*, fr.id as round_id, fr.funding_goal as active_goal, fr.funding_raised as active_raised, fr.status as round_status FROM startups s LEFT JOIN funding_rounds fr ON s.id = fr.startup_id AND fr.status = 'Active' WHERE s.id = ? "); $stmt->execute([$startupId]); $startup = $stmt->fetch(); if (!$startup) { die("Startup not found."); } // Check if user is the founder or an investor $isFounder = ($_SESSION['user_id'] == $startup['founder_id']); $isInvestor = ($user['role'] == 'investor'); // Basic permissions check if (!$isFounder && $startup['status'] === 'private' && !$isInvestor) { die("You do not have permission to view this profile."); } // Fetch funding history $canSeeHistory = $isFounder || $isInvestor; $fundingHistory = []; if ($canSeeHistory) { $stmt = db()->prepare(" SELECT i.*, u.full_name as investor_name, u.id as investor_user_id FROM investments i LEFT JOIN users u ON i.investor_id = u.id WHERE i.startup_id = ? AND i.status != 'rejected' ORDER BY i.created_at DESC "); $stmt->execute([$startupId]); $fundingHistory = $stmt->fetchAll(); } // Fetch approved investments for dividends calculation (Founder only) $approvedInvestments = []; if ($isFounder) { $stmt = db()->prepare(" SELECT i.*, u.full_name as investor_name FROM investments i JOIN users u ON i.investor_id = u.id WHERE i.startup_id = ? AND i.status = 'approved' "); $stmt->execute([$startupId]); $approvedInvestments = $stmt->fetchAll(); } // Fetch founders $stmt = db()->prepare("SELECT id, full_name FROM users WHERE id = ?"); $stmt->execute([$startup['founder_id']]); $founder = $stmt->fetch(); $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby'; // Calculate progress $goal = $startup['active_goal'] ?: 0; $raised = $startup['active_raised'] ?: 0; $progress = ($goal > 0) ? round(($raised / $goal) * 100) : 0; /** * Helper to calculate time left for next dividend */ function getNextDividendInfo($createdAt) { $created = new DateTime($createdAt); $day = $created->format('d'); $now = new DateTime(); $thisMonth = new DateTime($now->format('Y-m-') . $day); // If today is past the day, next is next month if ($thisMonth <= $now) { $next = clone $thisMonth; $next->modify('+1 month'); } else { $next = $thisMonth; } $interval = $now->diff($next); $days = $interval->days; return [ 'date' => $next->format('M d, Y'), 'days_left' => $days ]; } ?> <?= htmlspecialchars($startup['name']) ?> | Startup Details
<?= htmlspecialchars($platformName) ?> Logo
£
Log Out
Round status updated successfully!

Founded by

Message Founder Invest Now
Edit Profile

Active Funding Round

% Complete
Raised
£
Goal
£

Startup Money Pot

Available Capital
£
Total Investments Received
£

This pot holds all investments received. You can withdraw funds for business operations or add funds to cover investor dividends.

Monthly Dividends Due

Track upcoming monthly payments to your investors based on your % offered return.

Invested £
£
days left

Product & Vision

Business Model

Operational Stage

Financial Health

Cash on Hand
£
Monthly Burn
£
Outstanding Debt
Accounts Receivable/Payable

Historical Documentation

$startup['doc_income_statements'], 'Balance Sheets' => $startup['doc_balance_sheets'], 'Cash Flow' => $startup['doc_cash_flow_statements'], 'Revenue Breakdown' => $startup['doc_revenue_breakdown'], 'Gross Margin' => $startup['doc_gross_margin'] ]; foreach ($docs as $label => $path): if ($path): ?>

Expected Investor Returns

Platform Recommendation
%
AI analysis based on uploaded financials
Founder's Proposal
Target annual dividend yield set by founder
Calculation Reasoning

Funding History

No investment history available yet.

£