<?php $pageTitle='Scraper Control';require __DIR__.'/../lib/bootstrap.php';require_login(array('admin'));$rows=db_all("SELECT * FROM rate_sources WHERE collection_method IN ('scraper','browser') ORDER BY priority");require __DIR__.'/../blocks/app-header.php';require __DIR__.'/../blocks/dashboard-open.php';?><div class="dash-head"><div><h1>Scraper control</h1><p class="muted">Modules are isolated by provider. A failed module cannot publish zero or overwrite the last valid quote.</p></div></div><div class="grid grid-3"><?php foreach($rows as $r):?><div class="card"><span class="badge"><?=e($r['status'])?></span><h3><?=e($r['name'])?></h3><p class="muted"><?=e($r['module_key'])?> · priority <?=e($r['priority'])?></p><p>Last success: <?=e($r['last_success_at']?:'Not run')?></p><p>Last error: <?=e($r['last_error']?:'None')?></p></div><?php endforeach;?></div><?php require __DIR__.'/../blocks/dashboard-close.php';require __DIR__.'/../blocks/app-footer.php';?>