38873-vm/generate_startup_content.php
Flatlogic Bot 77ab52bc7f v38
2026-02-28 20:33:17 +00:00

134 lines
5.5 KiB
PHP

<?php
require_once __DIR__ . '/db/config.php';
function generate_startup_updates() {
$db = db();
// Fetch all startups and their founders
$stmt = $db->query("SELECT s.id as startup_id, s.name as startup_name, s.founder_id, u.full_name as founder_name
FROM startups s
JOIN users u ON s.founder_id = u.id");
$startups = $stmt->fetchAll(PDO::FETCH_ASSOC);
$update_templates = [
"Product Milestone" => [
"We've just hit our first 1,000 active users!",
"Major update: Version 2.0 is now live with enhanced AI features.",
"Our Beta testing phase is officially complete, and the feedback has been incredible.",
"Excited to announce our new partnership with a leading industry provider."
],
"Funding Update" => [
"We've reached 50% of our funding goal! Huge thanks to our early supporters.",
"New institutional investor joined our seed round today.",
"Only $50k left to close our current funding round. Don't miss out!",
"We are extending our round due to high demand from strategic partners."
],
"Team & Growth" => [
"Welcoming our new CTO, who brings 10+ years of experience in the sector.",
"We've just moved into our new office space to accommodate our growing team.",
"Hiring alert: We are looking for talented developers and marketing specialists.",
"Our team just won the 'Most Innovative Startup' award at the local tech summit!"
]
];
foreach ($startups as $startup) {
$num_updates = rand(2, 3);
for ($i = 0; $i < $num_updates; $i++) {
$category = array_rand($update_templates);
$title = $category . ": " . $startup['startup_name'] . " Progress";
$content = $update_templates[$category][array_rand($update_templates[$category])];
$stmt = $db->prepare("INSERT INTO startup_updates (startup_id, founder_id, title, content, created_at)
VALUES (:sid, :fid, :title, :content, :created)");
// Randomize creation date over the last 30 days
$days_ago = rand(1, 30);
$created_at = date('Y-m-d H:i:s', strtotime("-$days_ago days"));
$stmt->execute([
'sid' => $startup['startup_id'],
'fid' => $startup['founder_id'],
'title' => $title,
'content' => $content,
'created' => $created_at
]);
}
echo "Generated updates for " . $startup['startup_name'] . "\n";
}
}
function simulate_funding_progress() {
$db = db();
// Fetch all active funding rounds
$stmt = $db->query("SELECT fr.id as round_id, fr.startup_id, fr.funding_goal, fr.funding_raised
FROM funding_rounds fr
WHERE fr.status = 'Active'");
$rounds = $stmt->fetchAll(PDO::FETCH_ASSOC);
// Fetch all investors
$stmt = $db->query("SELECT id FROM users WHERE role = 'investor'");
$investors = $stmt->fetchAll(PDO::FETCH_COLUMN);
if (empty($investors)) return;
foreach ($rounds as $round) {
// Decide how many investments to simulate for this round
$num_investments = rand(1, 4);
$total_new_raised = 0;
for ($i = 0; $i < $num_investments; $i++) {
$investor_id = $investors[array_rand($investors)];
// Random investment amount between $5,000 and $50,000
$amount = rand(5, 50) * 1000;
// Don't exceed the goal significantly
if ($round['funding_raised'] + $total_new_raised + $amount > $round['funding_goal'] * 1.1) {
continue;
}
$status = 'approved'; // 80% chance of being approved
$stmt = $db->prepare("INSERT INTO investments (investor_id, startup_id, funding_round_id, amount, status, created_at)
VALUES (:iid, :sid, :frid, :amount, :status, :created)");
$days_ago = rand(1, 15);
$created_at = date('Y-m-d H:i:s', strtotime("-$days_ago days"));
$stmt->execute([
'iid' => $investor_id,
'sid' => $round['startup_id'],
'frid' => $round['round_id'],
'amount' => $amount,
'status' => $status,
'created' => $created_at
]);
if ($status === 'approved') {
$total_new_raised += $amount;
}
}
// Update funding_raised in both tables
if ($total_new_raised > 0) {
$stmt = $db->prepare("UPDATE funding_rounds SET funding_raised = funding_raised + :amount WHERE id = :id");
$stmt->execute(['amount' => $total_new_raised, 'id' => $round['round_id']]);
$stmt = $db->prepare("UPDATE startups SET funding_raised = funding_raised + :amount WHERE id = :id");
$stmt->execute(['amount' => $total_new_raised, 'id' => $round['startup_id']]);
}
echo "Simulated " . $num_investments . " investments for startup ID " . $round['startup_id'] . "\n";
}
}
try {
echo "Starting startup content generation...\n";
generate_startup_updates();
echo "Starting funding simulation...\n";
simulate_funding_progress();
echo "Success!\n";
} catch (Exception $e) {
echo "Error: " . $e->getMessage() . "\n";
}