Files
wevads-platform/scripts/api_tools-api.php
2026-02-26 04:53:11 +01:00

70 lines
2.8 KiB
PHP
Executable File

<?php
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET');
header('Access-Control-Allow-Headers: Content-Type');
require_once __DIR__ . '/../commonia/tools/ia-tools.php';
$action = $_GET['action'] ?? $_POST['action'] ?? '';
$input = json_decode(file_get_contents('php://input'), true) ?? $_POST;
try {
switch ($action) {
case 'list':
echo json_encode(['success' => true, 'tools' => IATools::getToolsList()]);
break;
case 'generate_pdf':
echo json_encode(IATools::generate_pdf($input['content'] ?? '', $input['title'] ?? 'Document'));
break;
case 'generate_docx':
echo json_encode(IATools::generate_docx($input['content'] ?? '', $input['title'] ?? 'Document'));
break;
case 'generate_xlsx':
echo json_encode(IATools::generate_xlsx($input['data'] ?? [], $input['title'] ?? 'Spreadsheet'));
break;
case 'generate_pptx':
echo json_encode(IATools::generate_pptx($input['slides'] ?? [], $input['title'] ?? 'Presentation'));
break;
case 'generate_qrcode':
echo json_encode(IATools::generate_qrcode($input['data'] ?? ''));
break;
case 'generate_chart':
echo json_encode(IATools::generate_chart($input['type'] ?? 'bar', $input['data'] ?? [], $input['options'] ?? []));
break;
case 'screenshot_url':
echo json_encode(IATools::screenshot_url($input['url'] ?? ''));
break;
case 'web_search':
echo json_encode(IATools::web_search($input['query'] ?? ''));
break;
case 'web_scrape':
echo json_encode(IATools::web_scrape($input['url'] ?? ''));
break;
case 'execute_python':
echo json_encode(IATools::execute_python($input['code'] ?? ''));
break;
case 'execute_bash':
echo json_encode(IATools::execute_bash($input['command'] ?? ''));
break;
case 'execute_sql':
echo json_encode(IATools::execute_sql($input['query'] ?? ''));
break;
case 'analyze_csv':
echo json_encode(IATools::analyze_csv($input['path'] ?? ''));
break;
case 'server_status':
echo json_encode(IATools::server_status());
break;
case 'file_list':
echo json_encode(IATools::file_list($input['path'] ?? '/opt/wevads/public/uploads/'));
break;
default:
echo json_encode(['success' => false, 'error' => "Unknown action: $action", 'available' => array_keys(IATools::getToolsList())]);
}
} catch (Exception $e) {
echo json_encode(['success' => false, 'error' => $e->getMessage()]);
}