File manager - Edit - /home/webtrixia/appvetta.webtrixia.com/test-all.php
Back
<?php define('ROOT', __DIR__); ini_set('display_errors', 1); error_reporting(E_ALL); require ROOT.'/config/config.php'; require ROOT.'/src/helpers/Core.php'; require ROOT.'/src/controllers/controllers.php'; // Auth::start() handles session_start internally Auth::start(); $user = Auth::user(); header('Content-Type: application/json; charset=utf-8'); if(!$user){ echo json_encode(['error'=>'not_logged_in','session'=>session_id(),'hint'=>'Login at /login first']); exit; } try { $pdo = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8mb4', DB_USER, DB_PASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION]); } catch(Exception $e){ echo json_encode(['error'=>'db_failed','msg'=>$e->getMessage()]); exit; } $results = ['user'=>$user->name, 'role'=>$user->role]; // CSRF bypass for testing $_SESSION['csrf'] = bin2hex(random_bytes(16)); $csrf = $_SESSION['csrf']; // 1. Pets $pets = $pdo->query("SELECT * FROM pets WHERE owner_id={$user->id}")->fetchAll(PDO::FETCH_OBJ); $results['pets_count'] = count($pets); $pet_id = $pets[0]->id ?? null; // 2. Health save if($pet_id){ $_POST = ['pet_id'=>$pet_id,'food_brand'=>'TestBrand','food_notes'=>'','likes'=>'','dislikes'=>'','allergies'=>'','conditions'=>'','medications'=>'','csrf'=>$csrf]; try{ $results['health_save'] = Pets::saveHealth(); } catch(Throwable $e){ $results['health_save'] = 'ERROR: '.$e->getMessage().' line '.$e->getLine(); } } // 3. Slots $clinics = $pdo->query("SELECT id,name FROM clinics")->fetchAll(PDO::FETCH_OBJ); $results['slots'] = []; foreach($clinics as $c){ $_GET = ['clinic_id'=>$c->id,'date'=>date('Y-m-d',strtotime('next monday'))]; try{ $r = Appointments::slots(); $results['slots'][$c->name] = ['count'=>count($r['slots']??[]),'closed'=>$r['closed']??false,'first'=>isset($r['slots'][0])?$r['slots'][0]->slot_time:'none']; } catch(Throwable $e){ $results['slots'][$c->name] = 'ERROR: '.$e->getMessage(); } } // 4. Card activate $card = $pdo->query("SELECT code FROM cards WHERE status='unused' LIMIT 1")->fetch(PDO::FETCH_OBJ); if($card){ $_POST = ['code'=>$card->code,'csrf'=>$csrf]; try{ $results['card_activate'] = Cards::activate(); } catch(Throwable $e){ $results['card_activate'] = 'ERROR: '.$e->getMessage(); } } else { $results['card_activate'] = 'no_unused_cards'; } // 5. Transfer if($pet_id){ $_POST = ['pet_id'=>$pet_id,'csrf'=>$csrf]; try{ $results['transfer_generate'] = PetTransfer::generate(); } catch(Throwable $e){ $results['transfer_generate'] = 'ERROR: '.$e->getMessage(); } } // 6. Appointments list try{ $r = Appointments::ownerList(); $results['appointments'] = ['count'=>count($r['appointments']??[]),'ok'=>$r['ok']]; } catch(Throwable $e){ $results['appointments'] = 'ERROR: '.$e->getMessage(); } // 7. Records if($pet_id){ $_POST = ['pet_id'=>$pet_id,'csrf'=>$csrf]; try{ $r = Records::list(); $results['records_list'] = ['ok'=>$r['ok'],'html_len'=>strlen($r['html']??'')]; } catch(Throwable $e){ $results['records_list'] = 'ERROR: '.$e->getMessage(); } } echo json_encode($results, JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);
| ver. 1.4 |
Github
|
.
| PHP 8.2.31 | Generation time: 0 |
proxy
|
phpinfo
|
Settings