Tutorial: Schriftfarbe, Kursiv und Bold mit Cookies speichern

Tutorial Übersicht Tutorial Übersicht  >>  ET-Chat ET-Chat

Schriftfarbe, Kursiv und Bold mit Cookies speichern
Von: Harlekin am: 30.05.2025 - 07:55 Gelesen 1436 x gelesen Tutorial drucken

Werbung:
ALL INKL



Für den ET-Chat ab PHP 7.3

UPDATE
Grund: Schriftfarbe war pro Browser und nicht pro Person

Viele hat es geärgert, dass man jedesmal im Chat die Schriftfarbe, Kursiv und Bold neu einstellen musste.
Harlekin und ich haben das Problem mal in Angriff genommen und sind zu der folgenden Lösung gekommen:

1. öffnet die js/chat.js
sucht:
Code Alles auswählen
function ET_Chat(){

und ersetzt den Code mit:
Code Alles auswählen
function setCookie(key, value, sameSite) {
  var expires = new Date();
  expires.setTime(expires.getTime() + 31536000000); // 1 Jahr
  var cookieString = key + '=' + value + ';expires=' + expires.toUTCString();
  if (sameSite) {
    cookieString += ';SameSite=' + sameSite;
  }
  document.cookie = cookieString;
}

function getCookie(key) {
var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
return keyValue ? keyValue[2] : null;}

function deleteCookie(key) {
  document.cookie = key + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

function ET_Chat(){


sucht:
Code Alles auswählen
$('message').style.color = "#"+self.textcolor;

und ersetzt den Code mit:
Code Alles auswählen
$('message').style.color = "#"+self.textcolor;
   
   if (getCookie('saved_color_'+self.username)) {
      self.textcolor=getCookie('saved_color_'+self.username);
      $('message').style.color="#"+getCookie('saved_color_'+self.username);
      $('message').style.Backgroundcolor="#"+getCookie('saved_color_'+self.username);
      $('color').value="#"+getCookie('saved_color_'+self.username);
   }
   if (getCookie('saved_bold_'+self.username)) {
      $('bold').value=getCookie('saved_bold_'+self.username);
      $('message').style.fontWeight=getCookie('saved_bold_'+self.username);
   }
   if (getCookie('saved_italic_'+self.username)) {
      $('italic').value=getCookie('saved_italic_'+self.username);
      $('message').style.fontStyle=getCookie('saved_italic_'+self.username);
   }


sucht:
Code Alles auswählen
$("italic").value = ($("kursiv").checked) ? "italic" : "normal";

und ersetzt den Code mit:
Code Alles auswählen
$("italic").value = ($("kursiv").checked) ? setCookie('saved_italic_'+self.username,'italic','lax') : deleteCookie('saved_italic_'+self.username) ;
            $("italic").value = ($("kursiv").checked) ? "italic" : "normal";


sucht:
Code Alles auswählen
$("bold").value = ($("fett").checked) ? "bold" : "normal";

und ersetzt den Code mit:
Code Alles auswählen
$("bold").value = ($("fett").checked) ? setCookie('saved_bold_'+self.username,'bold','lax') : deleteCookie('saved_bold_'+self.username);
            $("bold").value = ($("fett").checked) ? "bold" : "normal";


sucht:
Code Alles auswählen
// Startfarbe des Textes

und ersetzt den Code mit:
Code Alles auswählen
// Startfarbe des Textes
         if (getCookie('saved_color_'+self.username)) {
            self.textcolor=getCookie('saved_color_'+self.username);
            $('color').value=getCookie('saved_color_'+self.username);
         }


sucht:
Code Alles auswählen
r = dec2hex(v*255);
               $('message').style.color=$('color').value=$('farbenvorschau').style.backgroundColor="#"+r+g+b;

und ersetzt den Code mit:
Code Alles auswählen
r = dec2hex(v*255);
               $('message').style.color=$('color').value=$('farbenvorschau').style.backgroundColor="#"+r+g+b;
               setCookie('saved_color_'+self.username,r+g+b,'lax');


sucht:
Code Alles auswählen
g = dec2hex(v*255);
               $('message').style.color=$('color').value=$('farbenvorschau').style.backgroundColor="#"+r+g+b;

und ersetzt den Code mit:
Code Alles auswählen
g = dec2hex(v*255);
               $('message').style.color=$('color').value=$('farbenvorschau').style.backgroundColor="#"+r+g+b;
               setCookie('saved_color_'+self.username,r+g+b,'lax');


sucht:
Code Alles auswählen
b = dec2hex(v*255);
               $('message').style.color=$('color').value=$('farbenvorschau').style.backgroundColor="#"+r+g+b;

und ersetzt den Code mit:
Code Alles auswählen
b = dec2hex(v*255);
               $('message').style.color=$('color').value=$('farbenvorschau').style.backgroundColor="#"+r+g+b;
               setCookie('saved_color_'+self.username,r+g+b,'lax');



1. öffnet die styles/colorizer.tpl.html
sucht:
Code Alles auswählen
<input type="Checkbox" id="kursiv"> <i><?=$this->lang->kursiv[0]->tagData?></i>
<br />
<input type="Checkbox" id="fett"> <b><?=$this->lang->bold[0]->tagData?></b>
<br /><br />

und ersetzt den Code mit:
Code Alles auswählen
<?php
if (isset($_COOKIE['saved_italic_'.$_SESSION['etchat_'.$this->_prefix.'username'].''])) {
?>
<input type="Checkbox" id="kursiv" checked="checked"> <i><?=$this->lang->kursiv[0]->tagData?></i>
<br />
<?php
} else {
?>
<input type="Checkbox" id="kursiv"> <i><?=$this->lang->kursiv[0]->tagData?></i>
<br />
<?php
}
?>
<?php
if (isset($_COOKIE['saved_bold_'.$_SESSION['etchat_'.$this->_prefix.'username'].''])) {
?>
<input type="Checkbox" id="fett" checked="checked"> <b><?=$this->lang->bold[0]->tagData?></b>
<br /><br />
<?php
} else {
?>
<input type="Checkbox" id="fett"> <b><?=$this->lang->bold[0]->tagData?></b>
<br /><br />
<?php
}
?>


Fertig, wir wünschen viel Spass damit.

Damit wird die Farbe, bold oder italic für jeden User, bei der selben Browsernutzung, seperat gespeichert.

War dieses Tutorial hilfreich für dich?
Nur Mitglieder können abstimmen!
Für 5 der Mitglieder war es hilfreich.
Für 1 der Mitglieder nicht.


Login
Name oder Email

Passwort



Noch kein Mitglied?
Klicke hier um dich zu registrieren

Passwort vergessen?
Um ein neues Passwort anzufordern klicke hier.
Wer ist im Chat?
Gastzugang geschlossen!

0 User im Chat
Teamspeak
Harlekins Welt
Eingangshalle
« ★ » Allgemein « ★ »
Laberecke
Quasselbox
Up & Download
« ❑ » Intern « ❑ »
Besprechung
« ● » Abwesend « ● »
kurz < 30 Min.
lang > 30 Min.

Discord

Joinen
Slider
Security
Geschützt durch:
HP-Detect
Werbung
Lunaria-Galaxie

Über HP-4-Fun

HP-4-Fun

ist ein privates, nicht kommerzielles, Projekt, welches 2019 von Rolly8-HL und mir (Harlekin) gestartet wurde.

HP-4-Fun 2.0 ist nur für den Eigenbedarf geschrieben worden. Ein Downloadpaket von HP-4-Fun 2.0 wird es nicht geben!

Letzte Kommentare

Informationen

Zuletzt Online