123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <?php
- function getmessages($id){
- GLOBAL $loc_string;
- $messages = PDO_FetchAll("SELECT message.*,urlpreview.url,urlpreview.site,urlpreview.title,urlpreview.desc,urlpreview.image,attachment.name as fname,attachment.type as ftype,attachment.size as fsize,attachment.preview as fpreview, reminder.date as reminder, reminder.active FROM message LEFT JOIN urlpreview ON urlpreview.message_id = message.id LEFT JOIN attachment ON attachment.message_id = message.id LEFT JOIN reminder ON reminder.message_id = message.id WHERE chat_id = $id");
- $chat = PDO_FetchAll("SELECT * FROM chat WHERE id = $id")[0];
-
- if (!isset($_GET['update'])){
- if(!empty($chat['pass']) && empty($_GET['pass'])){
- include "./pages/pass.php";
- die();
- }
- }
-
- if (isset($_GET['pass'])){
- if (empty($_GET['pass']) || $_GET['pass'] != $chat['pass']){
- die();
- }
- }
-
-
- $pinned = "";
-
- @$message = PDO_FetchAll("SELECT message.*,urlpreview.url,urlpreview.site,urlpreview.title,urlpreview.desc,urlpreview.image,attachment.name as fname,attachment.type as ftype,attachment.size as fsize,attachment.content as fcontent,chat.color as color FROM message LEFT JOIN urlpreview ON urlpreview.message_id = message.id LEFT JOIN attachment ON attachment.message_id = message.id LEFT JOIN chat ON chat_id = chat.id WHERE chat_id = $id AND message.pinned = 1")[0];
-
- $image = "";
-
- if (!empty($message)){
- if (!empty($message['fname'])){
- if(is_numeric(strpos($message['ftype'],"image"))){
- $preview = "data:".$message['ftype'].";base64,". $message['fcontent'];
- } else {
- $preview = "data:image/png;base64,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";
- }
- $image = "<div style='display:inline-block; min-width:40px; background-image:url($preview); background-size:cover; background-position:;center; margin-right:5px;'>.</div>";
- }
-
- $text = $message['text'];
- if (empty($text)){
- if(is_numeric(strpos($message['ftype'],"image"))){
- $text = "Imagen";
- } else {
- $text = "Archivo";
- }
- }
-
- $pinned = "<div style='border-bottom:1px solid ".$message['color']."' class='pinned-message' onClick='document.getElementById(\"".$message['id']."\").scrollIntoView();'>
- <div style='display:flex;'>
- $image
- <div style=''><b style='color:".$message['color'].";'><span style='font-family:icons;'> </span>".$loc_string['message_header_pinned']."</b>
- <div style='color:black; width:100%; height:1em; overflow:hidden;'>".$text."</div>
- </div>
- </div>
- </div>";
- }
-
- echo "
- <div class='chat-header'><div><img src='data:image/jpg;base64,". $chat['image']."'>".$chat['name']."</div>
- <div class='burgermenu'>
- <div style='float:left;' class='chatmenu'>
- <div class='element' title='".$loc_string['menu_edit_category']."' onClick='editChat($id);'></div>
- <div class='element' ".($chat['pinned'] == 1 ? "title='".$loc_string['menu_unpin_category']."' onclick='unpinChat($id)' style='color:red !important;'" : "title='".$loc_string['menu_pin_category']."' onclick='pinChat($id)'")."></div>
- <div class='element' title='".$loc_string['menu_delete']."' onClick='getDialog(\"message_delete_chat\")'></div>
- </div>
- <div title='". $loc_string['tooltip_open_menu']."' style='float:left; margin-left: 20px;' onClick='toggleChatMenu();'>☰</div>
- </div>
- </div>
- $pinned
- <div class='messages' id='$id' style='background-color:".$chat['color'].";'>";
-
- include "system/getmessage.php";
- foreach ($messages as $message){
- echo renderMessage($message);
- }
-
- echo "</div>
- <div class='edit-info' style='position:relative; border-bottom:1px solid ".$chat['color']."; border-top:1px solid ".$chat['color'].";'>
- <span style='font-weight:bold; color:".$chat['color']."; font-family:icons, sans-serif;'> ".$loc_string['label_editing']." </span>
- <span class='edit-content' style='margin-left:5px;'>asdf</span>
- <div style='display:block; position:absolute; right:5px; cursor:pointer; font-family:icons' onclick='stopEdit()'></div>
- </div>
- <div class='chat-input'>
- <button id='img' style='font-family:\"icons\"; font-size:18px; font-weight:bold;'> </button>
- <div style='position:absolute; left:-5px; top:10px; overflow:hidden; width:50px; opacity:0; cursor:pointer;'>
- <input style='height:50px; cursor:pointer;' type='file' id='file' onChange='uploadpreview(this);' >
- </div>
- <div class='textarea-container'>
- <div>
- <textarea id='message' placeholder='".$loc_string['textarea_placeholder']."'></textarea>
- </div>
-
- </div>
- <input type='hidden' id='chat' value='$id'>
- <input type='hidden' id='editmsg' value='0'>
- <div style='inline-block; min-height:100%; position:relative;'>
- <div id='postoptions'>
- <b>".$loc_string['label_adv_settings']."</b><br><br>
- ".$loc_string['label_set_reminder']."<br>
- <input type='datetime-local' style='font-size:10px;' id='date' name='date' onChange='changedDate();' value='".date('Y-m-d\TH:i', time())."'>
- <input type='hidden' name='changedDate' id='changedDate' value='false'><hr>
- <input type='checkbox' name='compress' id='compress' value='true' checked>".$loc_string['label_compress_img']."
- </div>
-
- <button onClick='toggleOptions();' style='min-height:100%; font-family:\"icons\"; font-size:16px;'> </button>
- </div>
- <button onClick='sendpost();'>".$loc_string['send_button']."</button>
- </div>";
- }
- getmessages($id);
- ?>
|