70 lines
2.8 KiB
PHP
Executable File
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()]);
|
|
}
|
|
|