Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вставить цитату (https://javascript.ru/forum/misc/82027-vstavit-citatu.html)

рони 03.03.2021 18:51

Цитата:

Сообщение от Ubivectel
не нажал в редакторе

ок

рони 03.03.2021 18:53

Ubivectel,
filter_smilies это в /base.js
строка примерно 324

рони 03.03.2021 19:15

Ubivectel,
kide.insertSmile(`[QUOTE]${text}[/QUOTE]\n`)


document.addEventListener("click", ({ target }) => {
    if (target = target.closest('.KIDE_msg_hour')) {
        target = target.closest('.KIDE_msg_top')
        let text = target.textContent;
        kide.insertSmile(`[QUOTE]${text}[/QUOTE]\n`)
    }
});

Ubivectel 03.03.2021 19:58

Спасибо рони, все окончательно заработало именно так, как хотелось! :)

рони 03.03.2021 20:04

Ubivectel,
:dance:

рони 03.03.2021 21:44

Ubivectel,
добавить вопросительный знак
let reg = /\[QUOTE\](.+?)\[\/QUOTE\]/;

Ubivectel 03.03.2021 21:53

Заменил строку, пока не понял, какие должны быть изменения

Ubivectel 03.03.2021 22:11

<div id="KIDE_output">
      <?php		
         if(!count($this->msgs))
         echo '<span></span>';
         else{
         	foreach($this->msgs as $r){													
         		$tiempo = gmdate($this->fecha, $r->time + $this->user->gmt*3600);
                    
               echo '<div id="KIDE_id_'.$r->id.'" class="KIDE_msg_top">';
               if($this->show_hour) echo '<span class="KIDE_msg_hour"> '.gmdate($this->formato_hora, $r->time + $this->user->gmt*3600).'</span> ';

               echo '<span style="cursor: pointer" title="'.$tiempo.'" oncontextmenu="event.preventDefault();kide.mensaje(\''.addslashes($r->name).'\','.$r->userid.','.$r->id.',\''.$r->url.'\',\''.$tiempo.'\',\''.$r->sesion.'\','.$r->rango.',\''.$r->img.'\')" class="'.KideHelper::getRango($r->rango, 'KIDE_').'">';
         		
         		echo '<span style="cursor: pointer" title="'.$tiempo.'" onclick="kide.insertSmile(\''.addslashes($r->name), ', '.'\')" class="'.KideHelper::getRango($r->rango, 'KIDE_').'">';
         
         		echo $r->name;
               
         		echo "</span>"; 
         		$c = $r->color === '' ? 'class="'.KideHelper::getRango($r->rango, 'KIDE_dc_').' KIDE_msg"' : 'style="color:#'.$r->color.'"';
         		echo ': <span '.$c.'>'.$r->text.'</span></div>'; 	
         	} 
         }
         ?>
   </div>
   <?php e


вот, именно это формирует то, что видим входя в чат, кстати тут уже куча твоих изменений )))

рони 03.03.2021 22:18

Ubivectel,
увы мне, строку 20 надо править, нужен php-специалист, будем js костыль делать.
заменить внизу base.js
kide.onLoad(function() {
    document.querySelectorAll("#KIDE_output .KIDE_msg_top").forEach(el => {
        let html = el.innerHTML;
        let reg = /\[QUOTE\](.+?)\[\/QUOTE\]/;
        while (reg.test(html)) {
            html = html.replace(reg, `<span class="KIDE_quote">$1</span>`)
        }
        el.innerHTML = html;
    });
    kide.avisar.handleVisibility();
    let localColor = localStorage.getItem("localColor");
    if (localColor) {
        kide.color = localColor;
        kide.save_options();
    };
}, function() {});

рони 03.03.2021 22:33

Ubivectel,
костыль для истории
<table width="100%" border="1" class="castom_history">
<?php foreach ($this->msgs as $r) : ?>
<tr>
<td class="KIDE_history_td"><?php echo gmdate($this->fecha, $r->time + $this->user->gmt*3600); ?></td>
<td class="KIDE_history_td">
<?php $url = kideLinks::getUserLink($r->userid); ?>
<?php if ($url) : ?>
<a href="/<?php echo $url; ?>">
<?php endif; ?>
<span class="<?php echo KideHelper::getRango($r->rango, 'KIDE_'); ?>">
<?php echo $r->name; ?>
</span>
<?php if ($url) : ?>
</a>
<?php endif; ?>
</td>
<td <?php echo $r->color ? 'style="color:#'.$r->color.'"' : 'class="'.KideHelper::getRango($r->rango, 'KIDE_dc_').'"'; ?>>
<?php echo $r->text; ?>
</td>
</tr>
<?php endforeach; ?>
</table>
<script>
document.querySelectorAll(".castom_history td").forEach(td => {
let html = td.innerHTML;
let reg = /\[QUOTE\](.+)\[\/QUOTE\]/;
while (reg.test(html)) {

html = html.replace(reg, `<span class="KIDE_quote">$1</span>`)
}
td.innerHTML = html;
})
</script


Часовой пояс GMT +3, время: 03:18.