Current File : /home/users/barii/public_html/finansenl.com.pl/wodki/admin/classes/messages_api.php
<?php
include('../config.php');
include('the_api.php');

if ($_SERVER['REQUEST_METHOD'] === 'GET' && $_GET['action'] === 'getThreads') {
        $user_login = $_GET['user_login'];
        $id_konta = $_GET['id_konta'];
     
        $rows = $mysql->sqlQuery("
SELECT 
    m1.*, t.id_konta
FROM 
    messages m1
JOIN 
    (SELECT 
        thread_id, MAX(created_at) AS last_message_time
     FROM 
        messages
     GROUP BY 
        thread_id) m2 ON m1.thread_id = m2.thread_id AND m1.created_at = m2.last_message_time
JOIN 
    threads t ON m1.thread_id = t.thread_id
WHERE 
    t.user_login = '".$user_login."' ORDER BY m1.created_at DESC LIMIT 1 ");


if ($rows) {
	foreach ($rows as $row) {
		echo '<div class="messages-threads-container">';
	echo '<h2 class="messages-title-section">Lista wątków:</h2>';
    echo '<div class="messages-thread-item get-thread" data-thread="'.$row['thread_id'].'" data-kontoid="'.$row['id_konta'].'">';
    echo '<div class="messages-thread-item-header">';
        echo '<span class="thread-item-header-login">'.$row['author_login'].'</span>';
        echo '<span class="thread-item-header-data">'.convertDate($row['created_at']).'</span>';
    echo '</div>';
    echo '<div class="messages-thread-item-content">';
    if ($row['subject'] != '') {
        echo '<div class="messages-thread-item-subject">'.$row['subject'].'</div>';
    }
    echo '<p class="messages-thread-item-content-text"><span class="last-message-label">Ostatnia wiadomość: </span>'.$row['text'].'</p>';
    echo '</div>';
    echo '</div>';
    echo '</div>';  
	}
} else {
	echo '<div class="messages-threads-container">';
	echo '<h2 class="messages-title-section">Brak wiadomości</h2>';
	echo '</div>';
}

  
echo '<h2 class="messages-title-section messages-title-section-margin">Nowa wiadomość:</h2>';
    		echo '<div class="send-message-container">
		<textarea class="form-control" id="orderWiadomoscTrescNowa" rows="5" placeholder="Wpisz wiadomość ..."></textarea>
		<button type="button" class="btn btn-primary" id="orderSendWiadomoscNowa" data-login="'.$user_login.'" data-kontoid="'.$row['id_konta'].'">Wyślij wiadomość</button>
		</div>';



} elseif ($_SERVER['REQUEST_METHOD'] === 'GET' && $_GET['action'] === 'getMessages') {
        $thread_id = $_GET['thread_id'];
        $id_konta = $_GET['id_konta'];
        $rows2 = $mysql->sqlQuery("SELECT * from messages WHERE thread_id = '".$thread_id."' ORDER BY created_at DESC");
echo '<div class="return-container"><button type="button" id="returnToThreads">< Wróć</button></div>';

		foreach ($rows2 as $row2) {
			if($row2['author_login'] == 'manyak2' || $row2['author_login'] == 'fotomagnesy_pl' || $row2['author_login'] == 'fotomagnes_pl' || $row2['author_login'] == 'prolabel_pl') {
		    	echo '<div class="message-item my-message-item">';
			} else {
				echo '<div class="message-item">';
			}

		    echo '<div class="message-item-header">';
		        echo '<span class="thread-item-header-login">'.$row2['author_login'].'</span>';
		        echo '<span class="thread-item-header-data">'.convertDate($row2['created_at']).'</span>';
		    echo '</div>';
		    echo '<div class="message-item-content">';
		    echo '<p class="message-item-content-text">'.$row2['text'].'</p>';
		    echo '</div>';
		      echo '</div>';

		}


		echo '<div class="send-message-container">
		<textarea class="form-control" id="orderWiadomoscTresc" rows="5" placeholder="Wpisz wiadomość ..."></textarea>
		<button type="button" class="btn btn-primary" id="orderSendWiadomosc" data-thread="'.$thread_id.'" data-kontoid="'.$id_konta.'">Wyślij wiadomość</button>
		</div>';


}  elseif ($_SERVER['REQUEST_METHOD'] === 'GET' && $_GET['action'] === 'countMessages') {
        $user_login = $_GET['user_login'];
        $count = $mysql->sqlCount("
select * from messages inner join threads on messages.thread_id = threads.thread_id where messages.author_login != 'manyak2' and messages.author_login != 'fotomagnes_pl' and messages.author_login != 'fotomagnesy_pl' and messages.author_login != 'prolabel_pl' and messages.author_login = '".$user_login."'");


echo $count;


} elseif (isset($_POST['sendMessageInThread'])) {
	$id_konta = $_POST['id_konta'];
	$thread_id = $_POST['thread_id'];
	$content = $_POST['content'];
	sendAllegroMessage($id_konta, $thread_id, $content);
	echo '<div class="alert alert-success alert-dismissible" role="alert">
  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  <strong>Wiadomość została wysłana pomyślnie!</strong>
</div>';
	$rows2 = $mysql->sqlQuery("SELECT * from messages WHERE thread_id = '".$thread_id."' ORDER BY created_at ASC");
		echo '<div class="return-container"><button type="button" id="returnToThreads">wróc</button></div>';

sleep(2);
		$messages = listAllegroMessagesRefresh($id_konta, $thread_id);
        
        foreach ($messages as $message_row) {
            foreach ($message_row as $message) {
                
            
            
            if (isset($message['thread']['id'])) {

            $author_login = $message['author']['login'];



 

            // Sprawdzanie i wstawianie wiadomości, jeśli nie istnieje
            $message_id = $message['id'];
            if (!$mysql->sqlCheck('messages', "message_id = '" . $mysql->escape($message_id) . "'")) {
                $message_data = [
                    'message_id' => $message_id,
                    'thread_id' => $thread_id,
                    'author_login' => $author_login,
                    'status' => $message['status'],
                    'type' => $message['type'],
                    'created_at' => $message['createdAt'],
                    'text' => $message['text'],
                    'subject' => $message['subject']
                ];
                $mysql->sqlInsertArray('messages', $message_data);
            }
        }
             }
        }


		foreach ($rows2 as $row2) {
echo '<div class="return-container"><button type="button" id="returnToThreads">< Wróć</button></div>';
		    echo '<div class="message-item">';
		    echo '<div class="message-item-header">';
		        echo '<span class="thread-item-header-login">'.$row2['author_login'].'</span>';
		        echo '<span class="thread-item-header-data">'.convertDate($row2['created_at']).'</span>';
		    echo '</div>';
		    echo '<div class="message-item-content">';
		    echo '<p class="message-item-content-text">'.$row2['text'].'</p>';
		    echo '</div>';
		      echo '</div>';

		}
		echo '<div class="send-message-container">
		<textarea class="form-control" id="orderWiadomoscTresc" rows="5" placeholder="Wpisz wiadomość ..."></textarea>
		<button type="button" class="btn btn-primary" id="orderSendWiadomosc" data-thread="'.$thread_id.'" data-kontoid="'.$id_konta.'">Wyślij wiadomość</button>
		</div>';


} elseif (isset($_POST['sendMessageInThreadNew'])) {

	$id_konta = $_POST['id_konta'];
	$user_login = $_POST['user_login'];
	$content = $_POST['content'];



sendAllegroMessageNew($id_konta, $user_login, $content);
echo '<div class="alert alert-success alert-dismissible" role="alert">
  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  <strong>Wiadomość została wysłana pomyślnie!</strong>
</div>';
sleep(2);

$accessToken = file_get_contents('../../api/demo/accessToken'.$id_konta); 


$totalLimit = 40; // Maksymalna liczba rekordów do pobrania
$limit = 20; // Liczba rekordów na stronę
$offset = 0; // Początkowy offset



$threads = listAllegroThreads($accessToken, $limit, $offset);
foreach ($threads as $thread) {
    foreach ($thread as $thread_item) {

        $messages = listAllegroMessages($accessToken, $thread_item['id']);
        
        foreach ($messages as $message_row) {
            foreach ($message_row as $message) {
                
            
            
            if (isset($message['thread']['id'])) {


            $thread_id = $message['thread']['id'];
            $author_login = $message['author']['login'];
            $thread_login = $thread_item['interlocutor']['login'];

            // Sprawdzanie i wstawianie wątku, jeśli nie istnieje
            if (!$mysql->sqlCheck('threads', "id_konta = '".$id_konta."' AND thread_id = '" . $mysql->escape($thread_id) . "'")) {
                $mysql->sqlInsertArray('threads', ['thread_id' => $thread_id, 'created_at' => 'NOW()', 'user_login' => $thread_login, 'id_konta' => $id_konta]);
            }

            // Sprawdzanie i wstawianie użytkownika, jeśli nie istnieje
            if (!$mysql->sqlCheck('users', "id_konta = '".$id_konta."' AND login = '" . $mysql->escape($author_login) . "'")) {
                $is_interlocutor = isset($message['author']['isInterlocutor']) ? $message['author']['isInterlocutor'] : 0;
                $mysql->sqlInsertArray('users', ['login' => $author_login, 'is_interlocutor' => $is_interlocutor, 'id_konta' => $id_konta ]);
            }

            // Sprawdzanie i wstawianie wiadomości, jeśli nie istnieje
            $message_id = $message['id'];
            if (!$mysql->sqlCheck('messages', "message_id = '" . $mysql->escape($message_id) . "'")) {
                $message_data = [
                    'message_id' => $message_id,
                    'thread_id' => $thread_id,
                    'author_login' => $author_login,
                    'status' => $message['status'],
                    'type' => $message['type'],
                    'created_at' => $message['createdAt'],
                    'text' => $message['text'],
                    'subject' => $message['subject']
                ];
                $mysql->sqlInsertArray('messages', $message_data);
            }
        }
             }
        }
    }
}

 $rows = $mysql->sqlQuery("
SELECT 
    m1.*, t.id_konta
FROM 
    messages m1
JOIN 
    (SELECT 
        thread_id, MAX(created_at) AS last_message_time
     FROM 
        messages
     GROUP BY 
        thread_id) m2 ON m1.thread_id = m2.thread_id AND m1.created_at = m2.last_message_time
JOIN 
    threads t ON m1.thread_id = t.thread_id
WHERE 
    t.id_konta = '".$id_konta."' AND t.user_login = '".$user_login."' ORDER BY m1.created_at DESC");



foreach ($rows as $row) {
	echo '<div class="messages-threads-container">';
	echo '<h2 class="messages-title-section">Lista wątków:</div>';
    echo '<div class="messages-thread-item get-thread" data-thread="'.$row['thread_id'].'" data-kontoid="'.$row['id_konta'].'">';
    echo '<div class="messages-thread-item-header">';
        echo '<span class="thread-item-header-login">'.$row['author_login'].'</span>';
        echo '<span class="thread-item-header-data">'.convertDate($row['created_at']).'</span>';
    echo '</div>';
    echo '<div class="messages-thread-item-content">';
    if ($row['subject'] != '') {
        echo '<div class="messages-thread-item-subject">'.$row['subject'].'</div>';
    }
    echo '<p class="messages-thread-item-content-text"><span class="last-message-label">Ostatnia wiadomość: </span>'.$row['text'].'</p>';
    echo '</div>';
    echo '</div>';
    echo '</div>';    
echo '<h2 class="messages-title-section messages-title-section-margin">Nowa wiadomość:</h2>';
    		echo '<div class="send-message-container">
		<textarea class="form-control" id="orderWiadomoscTrescNowa" rows="5" placeholder="Wpisz wiadomość ..."></textarea>
		<button type="button" class="btn btn-primary" id="orderSendWiadomoscNowa" data-login="'.$user_login.'" data-kontoid="'.$id_konta.'">Wyślij wiadomość</button>
		</div>';

}

}






?>