📂 File Browser

//AgentAI
🌙 Dark Mode
🎯 Quick Launch:

📁 Directories

📁 tmp/ 🔓 Open
📁 vendor/ 🔓 Open

📄 Files

🐘 chat_handler.php
▶ Open 📄 View Source
🐘 check_auth.php
▶ Open 📄 View Source
📄 composer.json
▶ Open 📄 View Source
🐘 database.php
▶ Open 📄 View Source
🐘 debug_email.php
▶ Open 📄 View Source
🐘 debug_email_parts.php
▶ Open 📄 View Source
🐘 debug_emails.php
▶ Open 📄 View Source
🐘 delete_chat.php
▶ Open 📄 View Source
🐘 fetch_emails.php
▶ Open 📄 View Source
🐘 find_models.php
▶ Open 📄 View Source
🐘 gemini_direct.php
▶ Open 📄 View Source
🐘 get_chats.php
▶ Open 📄 View Source
🐘 get_email.php
▶ Open 📄 View Source
🐘 index.php
▶ Open 📄 View Source
🐘 logout.php
▶ Open 📄 View Source
🐘 new_chat.php
▶ Open 📄 View Source
🐘 oauth2callback.php
▶ Open 📄 View Source
🐘 rename_chat.php
▶ Open 📄 View Source
🎨 style.css
▶ Open 📄 View Source
🐘 switch_chat.php
▶ Open 📄 View Source
🐘 test_ajax.php
▶ Open 📄 View Source
🐘 test_api.php
▶ Open 📄 View Source
🐘 test_cmd.php
▶ Open 📄 View Source
🐘 test_curl.php
▶ Open 📄 View Source
🐘 test_db.php
▶ Open 📄 View Source
🐘 test_db_ops.php
▶ Open 📄 View Source
🐘 test_endpoint.php
▶ Open 📄 View Source
🐘 test_ollama.php
▶ Open 📄 View Source
🐘 test_ollama_direct.php
▶ Open 📄 View Source
🐘 test_openrouter.php
▶ Open 📄 View Source
🐘 test_shell.php
▶ Open 📄 View Source

📄 Source: fetch_emails.php

<?php
session_start();
require_once 'vendor/autoload.php';

header('Content-Type: application/json');

if (!isset($_SESSION['access_token'])) {
    echo json_encode(['error' => 'Not authenticated']);
    exit();
}

try {
    $client = new Google\Client();
    $client->setAccessToken($_SESSION['access_token']);
    $service = new Google\Service\Gmail($client);
    
    $optParams = ['maxResults' => 20, 'labelIds' => ['INBOX']];
    $messages = $service->users_messages->listUsersMessages('me', $optParams);
    
    $emails = [];
    if ($messages->getMessages()) {
        foreach ($messages->getMessages() as $message) {
            $msg = $service->users_messages->get('me', $message->getId(), [
                'format' => 'metadata', 
                'metadataHeaders' => ['From', 'Subject', 'Date']
            ]);
            
            $headers = $msg->getPayload()->getHeaders();
            $from = 'Unknown';
            $subject = '(no subject)';
            $date = '';
            $threadId = $message->getThreadId();
            
            foreach ($headers as $header) {
                if ($header->getName() == 'From') $from = $header->getValue();
                if ($header->getName() == 'Subject') $subject = $header->getValue();
                if ($header->getName() == 'Date') $date = $header->getValue();
            }
            
            try {
                $dateObj = new DateTime($date);
                $dateObj->setTimezone(new DateTimeZone('Europe/Bucharest'));
                $date = $dateObj->format('d M Y, H:i');
            } catch (Exception $e) {}
            
            $emails[] = [
                'id' => $message->getId(),
                'threadId' => $threadId,
                'from' => htmlspecialchars($from),
                'subject' => htmlspecialchars($subject),
                'date' => htmlspecialchars($date)
            ];
        }
    }
    
    // Sort by date descending (NEWEST FIRST)
    usort($emails, function($a, $b) {
        return strtotime($b['date']) - strtotime($a['date']);
    });
    
    echo json_encode($emails);
    
} catch (Exception $e) {
    echo json_encode(['error' => $e->getMessage()]);
}
?>
← Back