anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 11:16

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 54 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste
Autor Nachricht
BeitragVerfasst: Mi 26 Sep, 2007 20:26 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
UPDATE (13.02.2008):
- chatdelete.php verbessert (kompatibel mit emote Feld in Eliwoods Bundle)
UPDATE (31.01.2008):
- chatdelete.php in den Anhang gepackt
UPDATE (28.09.2007):
- Ist nun mit den RP Orten von Kamui kompatibel

Einbauanfang:
Da nun einige danach gefragt haben in letzter Zeit, meine Editier und Löschfunktion:

Die Links werden nicht beim OOC angezeigt

Für Server mit dem commentary Bundle von Eliwood:
[php]
//Suche in der commentary.php

// Wieder nach vorne
if ($com>0){
$req = $req1."&comscroll=".($com-1);
$req = str_replace("?&","?",$req);
if (!strpos($req,"?")) $req = str_replace("&","?",$req);
rawoutput(' <a href="'.HTMLSpecialchars($req).'">Nächste &gt;&gt;</a>');
addnav("",$req);
}

//Füge DANACH ein

//Delete/Edit Funktion Anfang
$sektion = $this->section;
if($sektion!='ooc')
{
output('<br><br> <a href="chatdelete.php?op=delete&section='.$sektion.'&restore='.$REQUEST_URI.'" onClick="return confirm(\'Willst du diesen Eintrag wirklich löschen?\');">`$&lt;&lt;Löschen&gt;&gt;`0</a>',true);
addnav("","chatdelete.php?op=delete&section=".$sektion."&restore=$REQUEST_URI");
output("<a href=\"chatdelete.php?op=edit&section=".$sektion."&restore=$REQUEST_URI\">`\$&lt;&lt;Editieren&gt;&gt;`0</a>",true);
addnav("","chatdelete.php?op=edit&section=".$sektion."&restore=$REQUEST_URI");

//Delete/Edit Funktion Ende
}[/php]


Für Server mit dem Standardpostsystem:

[php]
//Suche in der common.php

if ($com>0){
$req = preg_replace("'[&]?c(omscroll)?=([[:digit:]]|-)*'","",$REQUEST_URI)."&comscroll=".($com-1);
//$req = substr($REQUEST_URI,0,strpos($REQUEST_URI,"c="))."&c=$HTTP_GET_VARS[c]"."&comscroll=".($com-1);
$req = str_replace("?&","?",$req);
if (!strpos($req,"?")) $req = str_replace("&","?",$req);
output(" <a href=\"$req\">Nächste &gt;&gt;</a>",true);
addnav("",$req);
}

//Füge DANACH ein

//Delete/Edit Funktion Anfang
if($section!='ooc')
{
output('<br><br> <a href="chatdelete.php?op=delete&section='.$section.'&restore='.$REQUEST_URI.'" onClick="return confirm(\'Willst du diesen Eintrag wirklich löschen?\');">`$&lt;&lt;Löschen&gt;&gt;`0</a>',true);
addnav("","chatdelete.php?op=delete&section=".$section."&restore=$REQUEST_URI");
output("<a href=\"chatdelete.php?op=edit&section=".$section."&restore=$REQUEST_URI\">`\$&lt;&lt;Editieren&gt;&gt;`0</a>",true);
addnav("","chatdelete.php?op=edit&section=".$section."&restore=$REQUEST_URI");

//Delete/Edit Funktion Ende
}[/php]

Dann nur noch die Datei aus dem Anhang in das root Verzeichnis packen, danach sollte es gehen ;)

Anmerkung: Ich habe bei mir die RP Chars über das Feld rpchar in der accounts Tabelle gekennzeichnet. Evtl. muss das Feld entsprechend angepasst werden, ebenso evtl. die Vergabe der Punkte für RP Chars.
Und zuvor müssen die entsprechenden Zeilen entkommentiert werden.
Das array $nichterlaubt enthält die Orte, für die keine Punkte vergeben und dementsprechend auch keine abgezogen werden sollen.

Verbesserungen am Code und Hinweise immer erwünscht ^^


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Zuletzt geändert von Naria am Mi 13 Feb, 2008 17:23, insgesamt 6-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 28 Sep, 2007 11:53 
Offline
Profi
Profi
Benutzeravatar

Registriert: Do 10 Mai, 2007 13:14
Beiträge: 159
Wohnort: Minden
Geschlecht: Männlich
Hmm also habs ma eingebaut und seieht Super aus.. Aber kann man den Chat edit nicht so machen das unter der normalen Post noch eine Leiste ist wo dann die letzte Nachricht angezeigt wird... Also ma so nen Beispiel xD

________________________________________
Hier ist die normale Texteingabe
________________________________________


Und weiter drunter

________________________________________
Hier steht der Text von der Letzten nachricht
________________________________________

und neben der Alten Nachricht steht dann noch ein Button mit Löschen und mit Editiren.. Man muss da also nur den Text rauslöschen bzw verändern..Ich hoffe du weist wie ich das jetzt meine...

Mfg,
Heximus

_________________
Nein ich bin nicht die Signatur, ich putze hier nur!! ô.O


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 28 Sep, 2007 13:27 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Hm, ich glaube ich habe dich verstanden ^^
Also zwei Eingabefelder: Eins für das normale Posten (einen Post hinzufügen) und einen für das Bearbeiten des Letzten.

Ich bin nicht so von dieser Idee begeistert aus folgendem Grund:

Es müssten zwei Links/Buttons gesetzt werden: Einmal für den normalen Post und einmal für das Bearbeiten. Wenn man es weiß und sich merkt nicht weiter schlimm, aber User merken sich dies nicht und dann regnet es Anfragen, warum das nicht funktioniert ^^ Habe sowas schon im Zusammenhang mit einer ähnlichen Sache erlebt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 28 Sep, 2007 16:11 
Offline
Profi
Profi
Benutzeravatar

Registriert: Do 10 Mai, 2007 13:14
Beiträge: 159
Wohnort: Minden
Geschlecht: Männlich
Naja also ich hatte das mal auf nem anderen Serveer gesehen und fand das da eig so gut... Naja wenn du lust und vlt Zeit hast kannste du mir das dann vlt mal per PN schicken wenn du es nicht so öffntlich erstellst??

Wäre echt nett von dir ;)


Mfg,
Heximus

_________________
Nein ich bin nicht die Signatur, ich putze hier nur!! ô.O


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do 31 Jan, 2008 20:29 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Entschuldigt, dass ich das hier hervor krame...

Ich hätte da noch eine entscheidene Frage...

Naria schrieb in ihren Anfangspost,
Zitat:
Nötige Änderungen für das Update (nur von der vorherigen Version):

Für das Standard Kommentarsystem:
(common.php)
[php]
//Suche

if($section!='ooc' && preg_match('/^Ort_/', $section)!=1)

//Ersetze mit

if($section!='ooc')
[/php]


Wo in common füge ich überhaupt section!'=ooc' ein? Ich habe den Vorgänger nicht..
Möchte aber auch nur diese Edit-Funktion drin haben, nicht den letzten Post löschen (das hab ich nämlich schon)
Wer kann da Auskunft erteilen, der diesen Code benutzt?

Danke, Gruß verni :wink:


EDIT -> ich muss gestehen, dass ich das alte anpera-Forum mit den PHP-Code Angaben übersichtlicher fand. Auch die "Suche" - muss ich nur was umstellen oder so?

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do 31 Jan, 2008 20:46 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Ja, sry x) war wohl ein wenig dumm formatiert zu Beginn, habe da mal ein wenig rumgebaut. Ist nun hoffentlich ein wenig übersichtlicher.

Wie gesagt: die Änderung musst du nicht machen, gab da nur mal eine erste Version, wo das noch nicht m it den RP Orten von Kamui ging, aber die sind nun auch kompatibel.

Wenn du nur die Edit Funktion haben willst, kannst du einfach den Link zum löschen weg lassen ;)
Für Eliwoods Bundle wären es die beiden Zeilen, die einfach weg müssten:

[php]
output('<br><br> <a href="chatdelete.php?op=delete&section='.$sektion.'&restore='.$REQUEST_URI.'" onClick="return confirm(\'Willst du diesen Eintrag wirklich löschen?\');">`$&lt;&lt;Löschen&gt;&gt;`0</a>',true);
addnav("","chatdelete.php?op=delete&section=".$sektion."&restore=$REQUEST_URI");
[/php]

Für das Standardkommentarsystem:

[php]
output('<br><br> <a href="chatdelete.php?op=delete&section='.$section.'&restore='.$REQUEST_URI.'" onClick="return confirm(\'Willst du diesen Eintrag wirklich löschen?\');">`$&lt;&lt;Löschen&gt;&gt;`0</a>',true);
addnav("","chatdelete.php?op=delete&section=".$section."&restore=$REQUEST_URI");
[/php]


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do 31 Jan, 2008 20:57 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Ist es ok für dich, wenn ich die Datei post_edit.php nenne? (natürlich mit entsprechenden Umänderungen in deinem Code) ... Habs jetzt noch nicht bei mir hochgeladen - ist derzeit schlecht, weil ein Fest am laufen ist *g*...


Edit: Noch was.... in dieser datei, die du chatdelete genannt hast, habe ich den ganzen delete case auskommentiert - dennoch stolpere ich auf: "$_GET['section']" << Sachen...
das hat echt nichts mit deinem update zu tun?

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do 31 Jan, 2008 21:02 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Nö, kannst die Datei benennen wie du lustig bist von mir aus ^^

Und die $_GET['section'] sind dazu da, dass man auch den Post editiert, an dessen ORt man sich gerade befindet. Ansonsten würde einfach nur der zuletzt geschriebene Post editiert werden, das soll ja nicht ^^ Also eigentlich sollte es so laufen, habe es mit ein zwei Abwandlungen auch bei mir so laufen.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr 01 Feb, 2008 09:02 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
EDITIERTER Beitrag:

Ich hatte hier gepostet, dass ich eine Fehlermeldung hatte, die ich selbst gekittet hab.
Es war wirklich ein "ANFÄNGER"fehler, den hier zu beschreiben wäre immens peinlich *lacht*

Danke für dieses Script und diese Funktion.
Nach ein paar kleinen Änderungen noch (Größe des Editierfensters und so) läuft es bei mir!

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo 11 Feb, 2008 22:31 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 11 Feb, 2006 19:39
Beiträge: 596
Wohnort: Stuttgart - Waiblingen
Geschlecht: Männlich
LoGD: http://logd.legend-of-vinestra.de/source
Skype: da-chosen-one
So wie ich das sehe, ist es dafür gedacht, dass es auch unter Eliwoods Commentary Bundle funktioniert.

Die Editfunktion wird allerdings wohl (in manchen, sehr seltenen Fällen) Probleme machen, da Eliwoods System das zusätzliche Feld "emote" in der "commentary" Tabelle benutzt. Wenn der User also seinen Emote (sagen wir von : zu /X) ändert, wird diese Änderung nicht übernommen...

Mit einer zusätzlichen Abfrage, ob der Emote geändert wurde, kann m an da allerdings Abhilfe schaffen. Wenn ich mal wieder mehr Zeit habe, gucke ich danach.

MfG Draz

_________________
$this->bbcode_second_pass_code('', '(define-record-procedures choco-cookie
make-choco-cookie choco-cookie?
(choco-cookie-choco
choco-cookie-cookie))

(define Prinzenrolle
(make-choco-cookie choco-cookie-choco-standard (* 2 choco-cookie-cookie-standard)))')


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di 12 Feb, 2008 08:49 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Ja, genau.
Ich habe nicht das Eliwoodche Bundle, aber ich habs schon erlebt, dass dann, bei Editier-Versuch, eine Fehlermeldung kommt. Hab mich aber damit nicht befasst, weil es - wie gesagt - in meiner commentary-func problemlos funktioniert *räusper*

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di 12 Feb, 2008 11:57 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Drazaar hat geschrieben:
So wie ich das sehe, ist es dafür gedacht, dass es auch unter Eliwoods Commentary Bundle funktioniert.

Die Editfunktion wird allerdings wohl (in manchen, sehr seltenen Fällen) Probleme machen, da Eliwoods System das zusätzliche Feld "emote" in der "commentary" Tabelle benutzt. Wenn der User also seinen Emote (sagen wir von : zu /X) ändert, wird diese Änderung nicht übernommen...

Mit einer zusätzlichen Abfrage, ob der Emote geändert wurde, kann m an da allerdings Abhilfe schaffen. Wenn ich mal wieder mehr Zeit habe, gucke ich danach.

MfG Draz



Ich habe das bei der Version, die auf meinem Server läuft schon eingebaut, nur noch nicht online gestellt :pein: Ein wenig zu viel Stress momentan. Ich werde mal schaun, dass ich das die Tage online stelle.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 13 Feb, 2008 12:02 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Jetzt hab ich zum ersten Mal einen Fehler mit diesem Script.
Und zwar auf meinem Dorfplatz, wenn ich dort editieren will.
Beim Versenden bekomme ich anschließend die Fehlermeldung, dass das Objekt nicht gefunden werden konnte (Der angeforderte URL konnte auf dem Server nicht gefunden werden. ... ect pp) ....

URL im Browser bezieht sich auf section und village (http://www.nanhan.de/logd/village.php&section=village).

Selbst fixen usw bringt erstmal nix, man kommt nach badnav wieder dorthin. Erst nach Browser schließen und neu einloggen. Der editierte Post allerdings ist vorhanden.


Woran liegt das?


Edit -> Mittenmal gehts wieder? Blick das grad nicht... vllt nurn "Stau" im Netz, k.A.

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 13 Feb, 2008 17:25 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Ach... *hüstel* Das war ein Faulheitsfehler, den ich zwar kannte, aber zu faul war auszubauen (auch wenn ich auch nicht weiß, warum er mal erscheint und dann wieder nicht).

Habe mal eine neue Version hochgeladen, wo der Fehler eigentlich ausgemerzt sein sollte und das emote Feld auch mit einbezogen wird. Allerdings konnte ich das nun nicht auf einem Standardsystem testen, sollte allerdings auch da funktionieren. Falls nicht, bitte Bescheid geben, dann schaue ich da nochmals drüber.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 13 Feb, 2008 17:42 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Bezieht sich das auch auf meine Fehlermeldung oder nur auf den Commentary Bundle-Fehler vorher?

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 13 Feb, 2008 18:52 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Auf deinen ^^ Der war mir schon bekannt und sollte nun eben auch gefixed sein (hoffe ich).
Naja und das mit dem bundle war nicht direkt ein Fehler nur eben 'unschön'. ^^


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 13 Feb, 2008 19:07 
Offline
Held
Held

Registriert: Mo 23 Jan, 2006 13:15
Beiträge: 222
Dann teste ich das gern bei mir aus, ob's fehlerfrei läuft.
Danke Naria

-->Edit: Nö... er will nun ein weiteres Feld in der db `emote`
Muss ich das???? Ich wills nicht *g*

_________________
»Esgorath«

Source


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 13 Feb, 2008 19:44 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Nö, sollte er nicht wollen, habe es eigentlich versucht so zu machen, dass es ohne Probleme auch einfach mit der Datei für beide Systeme funktioniert. Ich schau nochmals eben.

€dit: Ok, weiß woran es liegt. Muss mich da aber noch mals genauer mit befassen wie ich es beheben kann x) kann ein wenig dauern. Ansonsten eben den Abschnitt auskommentieren, dann sollte es auch laufen:

$this->bbcode_second_pass_code('', ' if (in_array('emote', $field_array)){

if(beginsWith($message,'/me') ){
$message = substr($message,3);
db_query("UPDATE `commentary` SET `comment`='".$message."', `emote`=1 WHERE `commentid`=".$row['commentid']." AND `author`=".$session['user']['acctid']);
}
elseif(beginsWith($message,'::')){
$message = substr($message,2);
db_query("UPDATE `commentary` SET `comment`='".$message."' ,`emote`=1 WHERE `commentid`=".$row['commentid']." AND `author`=".$session['user']['acctid']);
}
elseif(beginsWith($message,':')){
$message = substr($message,1);
db_query("UPDATE `commentary` SET `comment`='".$message."', `emote`=1 WHERE `commentid`=".$row['commentid']." AND `author`=".$session['user']['acctid']);
}
elseif(beginsWith($message,'/em')){
$message = substr($message,3);
db_query("UPDATE `commentary` SET `comment`='".$message."', `emote`=2 WHERE `commentid`=".$row['commentid']." AND `author`=".$session['user']['acctid']);
}
elseif(beginsWith($message,'/x')){
$message = substr($message,2);
db_query("UPDATE `commentary` SET `comment`='".$message."', `emote`=2 WHERE `commentid`=".$row['commentid']." AND `author`=".$session['user']['acctid']);
}
elseif(beginsWith($message,'/ms')){
$message = substr($message,3);
db_query("UPDATE `commentary` SET `comment`='".$message."', `emote`=3 WHERE `commentid`=".$row['commentid']." AND `author`=".$session['user']['acctid']);
}
else db_query("UPDATE `commentary` SET `comment`='".$message."', `emote`=0 WHERE `commentid`=".$row['commentid']." AND `author`=".$session['user']['acctid']);
}')


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 13 Feb, 2008 20:59 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 15 Okt, 2005 14:06
Beiträge: 864
Geschlecht: Männlich
LoGD: http://shinobilegends.com
Schöner Code.

Da kann man bildlich Verbesserungen aufzeigen...

elseif raus... switch rein

und mal guggen ob man die substrs nicht irgendwo intelligent setzen kann, bündeln...
die queries schauen auch ziemlich ähnlich aus...da müsste ein db_query am ende eigentlich langen, rest einfach per textersetzen....

_________________
Entwicklung Lotgd 1.2.2 +nb
1.2.1 +nb ist final

Bugreports/Testing erwünscht, http://nb-core.org

Wichtige Info für Programmierersucher:
viewtopic.php?f=34&t=4285


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr 28 Mär, 2008 15:20 
Offline
Lehrling
Lehrling

Registriert: Do 27 Mär, 2008 16:43
Beiträge: 32
Geschlecht: Männlich
LoGD: http://maces.cwsurf.de/logd/source.php
hi,ich weiß Thread is schon alt aber ich benutz jetzt dein Editieren und Löschen,bloß gibts da n Problem,und zwar wenn ich auf das löschen bzw. auf das editieren drück ist nix,hab aber alles richtig eingefügt,also das was du am Anfang gesagt hast das soll man in die Common.php einfügen,dann noch dein chatdelete.php in den logd ordner,geht auch soweit nur wie gesagt,es passiert nix,beim löschen werd ich zwar abgefragt ob ichs wirklich löschen will aber wenn ich ja drück dann passiert nix,post is immernoch da


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 54 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 21 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum