PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4", ] ); // newest completed CA entry (via view) $sql = " SELECT model_year, model, ADM_StateOrProvince, ADM_Country, condition_value, opinion_value_today FROM h305_ca77_entries ORDER BY submitdate DESC, id DESC LIMIT 1 "; $row = $pdo->query($sql)->fetch(PDO::FETCH_ASSOC); // casing helpers (same pattern as CB / CL) $keepCaps = static function (string $w): bool { return (bool)preg_match('/[A-Z]{2,}/', $w) || (bool)preg_match('/\d/', $w); }; $word = static function (?string $w) use ($keepCaps): string { if ($w === null || $w === '') return ''; if (strpos($w, '-') !== false) { $parts = explode('-', $w); foreach ($parts as &$x) { $x = $keepCaps($x) ? $x : ucfirst(strtolower($x)); } return implode('-', $parts); } if ($keepCaps($w)) return $w; $dot = substr($w, -1) === '.'; $base = $dot ? substr($w, 0, -1) : $w; $done = ucfirst(strtolower($base)); return $dot ? ($done . '.') : $done; }; $title = static function (?string $s) use ($word): string { if ($s === null) return ''; $s = trim($s); if ($s === '') return ''; $t = preg_split('/\s+/', $s) ?: []; foreach ($t as &$x) $x = $word($x); return trim(implode(' ', $t), ", "); }; if (!$row) { $line = 'Latest Registry Entry: No completed entries found.'; } else { // location like "WA, Australia" $region = $title($row['ADM_StateOrProvince'] ?? ''); $country = $title($row['ADM_Country'] ?? ''); $loc = trim( implode(', ', array_filter([$region, $country], fn($v) => $v !== '')), ', ' ); // normalize opinion_value_today using the same rules as CL: // - >=1000 => use as-is ($12500 => $12,500) // - 100..999 => treat as dollars ($750 => $750) // - 1..99 => treat as thousands (6 => $6,000) // - otherwise => "Not Entered" $valFinal = 'Not Entered'; if (isset($row['opinion_value_today']) && $row['opinion_value_today'] !== '') { $n = (float)$row['opinion_value_today']; if ($n >= 1000) { $valFinal = '$' . number_format($n, 0); } elseif ($n >= 100) { $valFinal = '$' . number_format($n, 0); } elseif ($n > 0) { $valFinal = '$' . number_format($n * 1000, 0); } } // condition code translation — same dictionary as CL plus "Rat" $condRaw = $row['condition_value'] ?? ''; $condMap = [ 'E' => 'Excellent', 'Exc' => 'Excellent', 'G' => 'Good', 'Goo' => 'Good', 'F' => 'Fair', 'P' => 'Poor', 'Par' => 'Parts Bike', 'R' => 'Restored', 'Res' => 'Restored', 'Rat' => 'Rat', ]; $condNice = $condMap[$condRaw] ?? ($condRaw !== '' ? $condRaw : 'Not Entered'); $line = 'Latest Registry Entry: ' . ($row['model_year'] ?? '') . ' Honda ' . ($row['model'] ?? '') . ' — ' . $loc . ' — Condition: ' . $condNice . ' — Value: ' . $valFinal; } // stamp + UTF-8 $built = (new DateTime('now'))->format('Y-m-d H:i:s T'); $stamp = ""; $charset = ''; $html = $charset . "\n" . $stamp . "\n" . $line . "\n"; // write to shared include $jobDir = __DIR__; $includeDir = '/home/mstoic3/public_html/shared/include'; $includeTmp = $includeDir . '/latest_ca77.tmp'; $includeDst = $includeDir . '/latest_ca77.html'; $jsonPath = $jobDir . '/latest_ca77.json'; $logPath = $jobDir . '/logs/latest_ca77.log'; // future optional if (!is_dir($includeDir)) { if (!mkdir($includeDir, 0755, true) && !is_dir($includeDir)) { throw new RuntimeException("Failed to create include dir: $includeDir"); } } if (file_put_contents($includeTmp, $html, LOCK_EX) === false) { throw new RuntimeException('Failed to write temp include file'); } if (!rename($includeTmp, $includeDst)) { @unlink($includeTmp); throw new RuntimeException('Failed to move include into place'); } @file_put_contents($jsonPath, json_encode([ 'line' => $line, 'stamp' => $built, 'ts' => date('c'), ], JSON_UNESCAPED_UNICODE)); echo "OK\n"; } catch (Throwable $e) { error_log("[generate_latest_ca77.php] " . $e->getMessage()); if (function_exists('http_response_code')) { @http_response_code(500); } echo "ERROR\n"; exit(1); }
I forgot my password
 

Register

In order to login you must be registered. Registering takes only a few moments but gives you increased capabilities. The board administrator may also grant additional permissions to registered users. Before you register please ensure you are familiar with our terms of use and related policies. Please ensure you read any forum rules as you navigate around the board.

Terms of use | Privacy policy


Register