SIMON Master Console Rebuild
True command center for SIMON + WEB360
This rebuild gives you a cleaner production spine: interactive tree, live viewer, guarded editor, dynamic graphics, architecture map, and note storage. It is designed to sit beside your existing
console.php
and become the stronger replacement path.
Dashboard
Tree
Viewer
System Map
File Registry
Notes
Files
15,334
Folders
408
Scanned Size
3.84 GB
PHP Files
886
Editable Text Files
12,595
File viewer
guarded to /htdocs
/connlink/test1/ui/old/lib/jobs.php
<?php declare(strict_types=1); function simon_job_cache_file(string $id): string { $safe=preg_replace('/[^a-zA-Z0-9_\-]/','_',$id)?:'unknown'; return SIMON_CACHE_DIR.'/jobs/'.$safe.'.json'; } function simon_job_read(string $id): ?array { $f=simon_job_cache_file($id); if(!is_file($f)) return null; $j=json_decode((string)@file_get_contents($f),true); return is_array($j)?$j:null; } function simon_job_write(string $id,array $data): bool { $data['cached_at']=$data['cached_at']??gmdate('c'); return simon_json_write(simon_job_cache_file($id),$data); } function simon_run_feed_job(string $id): array { $feed=simon_feed_by_id($id); if(!$feed) return ['ok'=>false,'id'=>$id,'status'=>'missing_feed','error'=>'Feed not found in feeds.json','count'=>0,'items'=>[]]; $r=simon_run_provider($feed); $job=['id'=>$feed['id'],'name'=>$feed['name'],'category'=>$feed['category'],'engine'=>$feed['engine'],'enabled'=>$feed['enabled'],'ok'=>(bool)($r['ok']??false),'status'=>(string)($r['status']??(($r['ok']??false)?'online':'failed')),'error'=>$r['error']??null,'ms'=>(int)($r['ms']??0),'count'=>(int)($r['count']??0),'items'=>isset($r['items'])&&is_array($r['items'])?$r['items']:[],'updated'=>gmdate('c')]; simon_job_write($feed['id'],$job); return $job; } function simon_run_all_jobs(): array { $out=[]; foreach(simon_load_feeds() as $f) if($f['enabled']) $out[]=simon_run_feed_job($f['id']); return $out; } function simon_job_rows(): array { $rows=[]; foreach(simon_load_feeds() as $f){ $c=simon_job_read($f['id']); $rows[]=['id'=>$f['id'],'name'=>$f['name'],'category'=>$f['category'],'engine'=>$f['engine'],'enabled'=>$f['enabled'],'provider_exists'=>simon_provider_exists($f['engine']),'route'=>simon_feed_route($f),'status'=>$c['status']??($f['enabled']?'not_tested':'disabled'),'ok'=>(bool)($c['ok']??false),'error'=>$c['error']??null,'ms'=>(int)($c['ms']??0),'count'=>(int)($c['count']??0),'cached_at'=>$c['cached_at']??null,'items'=>isset($c['items'])&&is_array($c['items'])?$c['items']:[]]; } return $rows; } ?>
Save file
Quick jump
open a path
Open