<?php
require __DIR__.'/Gate.php';$n=0;foreach(['UPDATE ydy_config SET config_value=1','INSERT INTO ydy_staff (id) VALUES(1)','DELETE FROM ydy_consume_subsidy_batch','CREATE TABLE x(id INT)','DO 1','CALL unsafe(1)','SELECT * FROM ydy_psbc_account','SELECT * FROM ydy_config;DELETE FROM ydy_config']as $sql){try{Read7Gate::sql($sql);throw new LogicException('Unknown SQL accepted');}catch(RuntimeException $e){$n++;}}
foreach(['SELECT uuid,name FROM ydy_department ORDER BY name ASC','SHOW COLUMNS FROM `ydy_config`','CALL SP_TABLEDEF(?, ?)']as $sql){Read7Gate::sql($sql);$n++;}try{Read7Gate::sql('SELECT * FROM ydy_user','ai');throw new LogicException('Wrong connection accepted');}catch(RuntimeException $e){$n++;}$r=['checks'=>$n,'DB'=>0,'SQL'=>0,'HTTP'=>0,'denied_counterexamples'=>Read7Gate::$denied];$f=__DIR__.'/private/puregate.json';$h=fopen($f,'xb');if(!$h)throw new RuntimeException('No overwrite');fwrite($h,json_encode($r,JSON_PRETTY_PRINT));fclose($h);chmod($f,0600);echo json_encode(['checks'=>$n,'DB'=>0,'SQL'=>0]),PHP_EOL;
