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">×</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">×</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>';
}
}
?>