phi-3-shampoo-analyzer / diagnostic.php
wmounger's picture
Upload 6 files
70a185d verified
<?php
/**
* Phi Shampoo Analyzer Diagnostic Tool
*
* This file can be accessed directly to test API connectivity and plugin functionality.
* URL: your-site.com/wp-content/plugins/phi-shampoo-plugin/diagnostic.php
*/
// Test if WordPress is loaded
if (file_exists('../../../../wp-load.php')) {
require_once('../../../../wp-load.php');
} else {
die('Could not find WordPress. Make sure this file is in the plugin directory.');
}
// Security check - only admins can access
if (!current_user_can('manage_options')) {
die('You do not have permission to access this page.');
}
// Load plugin constants
if (!defined('PHI_SHAMPOO_TEXT_MODEL')) {
if (file_exists('./phi-shampoo-analyzer.php')) {
include_once('./phi-shampoo-analyzer.php');
} else {
die('Could not find the main plugin file.');
}
}
// Set up the page
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Phi Shampoo Analyzer Diagnostic</title>
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
margin: 20px;
max-width: 900px;
margin: 0 auto;
padding: 20px;
}
h1, h2 {
color: #333;
}
pre {
background-color: #f5f5f5;
padding: 10px;
border-radius: 4px;
overflow-x: auto;
}
.test-section {
margin-bottom: 30px;
padding: 15px;
border: 1px solid #ddd;
border-radius: 4px;
}
.success {
color: green;
font-weight: bold;
}
.error {
color: red;
font-weight: bold;
}
</style>
</head>
<body>
<h1>Phi Shampoo Analyzer Diagnostic Tool</h1>
<div class="test-section">
<h2>Plugin Information</h2>
<p><strong>Plugin Version:</strong> <?php echo defined('PHI_SHAMPOO_VERSION') ? PHI_SHAMPOO_VERSION : 'Not defined'; ?></p>
<p><strong>Text Model:</strong> <?php echo defined('PHI_SHAMPOO_TEXT_MODEL') ? PHI_SHAMPOO_TEXT_MODEL : 'Not defined'; ?></p>
<p><strong>Vision Model:</strong> <?php echo defined('PHI_SHAMPOO_VISION_MODEL') ? PHI_SHAMPOO_VISION_MODEL : 'Not defined'; ?></p>
<p><strong>Text API URL:</strong> <?php echo defined('PHI_SHAMPOO_HF_TEXT_API_URL') ? PHI_SHAMPOO_HF_TEXT_API_URL : 'Not defined'; ?></p>
<p><strong>Vision API URL:</strong> <?php echo defined('PHI_SHAMPOO_HF_VISION_API_URL') ? PHI_SHAMPOO_HF_VISION_API_URL : 'Not defined'; ?></p>
<p><strong>API Token:</strong> <?php
$api_token = function_exists('phi_shampoo_get_api_token') ? phi_shampoo_get_api_token() : '';
echo !empty($api_token) ? 'Configured' : '<span class="error">Not configured</span>';
?></p>
</div>
<div class="test-section">
<h2>WordPress Environment</h2>
<p><strong>WordPress Version:</strong> <?php echo get_bloginfo('version'); ?></p>
<p><strong>PHP Version:</strong> <?php echo phpversion(); ?></p>
<p><strong>Analyzer Page:</strong>
<?php
$page_id = get_option('phi_shampoo_analyzer_page_id');
if ($page_id) {
echo 'Created (ID: ' . $page_id . ') - <a href="' . get_permalink($page_id) . '" target="_blank">View Page</a>';
} else {
echo '<span class="error">Not created</span>';
}
?>
</p>
</div>
<div class="test-section">
<h2>API Connection Test</h2>
<h3>Text Model Test</h3>
<?php
// Test the text model API
if (!defined('PHI_SHAMPOO_HF_TEXT_API_URL') || !function_exists('phi_shampoo_get_api_token')) {
echo '<p class="error">API functions not defined.</p>';
} else {
$api_url = PHI_SHAMPOO_HF_TEXT_API_URL;
$api_token = phi_shampoo_get_api_token();
if (empty($api_token)) {
echo '<p class="error">API token not configured. Please go to the <a href="' . admin_url('admin.php?page=phi-shampoo-settings') . '">Settings Page</a> to configure your token.</p>';
} else {
$response = wp_remote_post($api_url, array(
'headers' => array(
'Authorization' => 'Bearer ' . $api_token,
'Content-Type' => 'application/json'
),
'body' => json_encode(array(
'inputs' => 'Test prompt: Analyze these ingredients: Water, Glycerin',
'parameters' => array(
'max_new_tokens' => 50,
'temperature' => 0.7
)
)),
'timeout' => 30
));
if (is_wp_error($response)) {
echo '<p class="error">Error: ' . $response->get_error_message() . '</p>';
} else {
$status = wp_remote_retrieve_response_code($response);
$body = wp_remote_retrieve_body($response);
echo '<p><strong>Status Code:</strong> ' . $status . '</p>';
if ($status === 200) {
echo '<p class="success">Text API connection successful!</p>';
echo '<p><strong>Response Preview:</strong></p>';
echo '<pre>' . htmlspecialchars(substr($body, 0, 300)) . '...</pre>';
} else {
echo '<p class="error">API returned non-200 status code.</p>';
echo '<p><strong>Response:</strong></p>';
echo '<pre>' . htmlspecialchars($body) . '</pre>';
}
}
}
}
?>
<h3>Vision Model Test</h3>
<p>Note: Vision model test requires an image upload. To test, please use the main plugin interface.</p>
</div>
<div class="test-section">
<h2>File Structure Check</h2>
<?php
$required_files = array(
'phi-shampoo-analyzer.php' => 'Main plugin file',
'assets/css/style.css' => 'CSS styles',
'assets/js/phi-shampoo.js' => 'JavaScript functionality'
);
$all_files_exist = true;
foreach ($required_files as $file => $description) {
$file_path = dirname(__FILE__) . '/' . $file;
$exists = file_exists($file_path);
echo '<p>';
echo '<strong>' . $file . ':</strong> ';
if ($exists) {
echo '<span class="success">Found</span>';
} else {
echo '<span class="error">Missing</span>';
$all_files_exist = false;
}
echo ' - ' . $description;
echo '</p>';
}
if ($all_files_exist) {
echo '<p class="success">All required files are present.</p>';
} else {
echo '<p class="error">Some required files are missing.</p>';
}
?>
</div>
</body>
</html>