anpera.net
https://anpera.dyndns.org/phpbb3/

Post editieren Funktion für alle Posts - Spielerfunktion
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=5132
Seite 1 von 1

Autor:  Laserian [ Mo 12 Apr, 2010 12:08 ]
Betreff des Beitrags:  Post editieren Funktion für alle Posts - Spielerfunktion

Hi Leute,

also wie schon im Betreff steht bin ich derzeit dabei die Funktion fürs Editieren des letzten Posts zu erweitern auf alle Posts des jeweiligen Spielers.

Dazu dachte ich mir lasse ich einfach einen Editierenbutton vor den Posts anzeigen bei der der author Eintrag mit dem acctid Eintrag übereinstimmt (ähnlich der Superuserfunktion Löschen).
Alles schön und gut mit einer einfachen Abfrage wird das Editieren vor den Posts auch angezeigt. Einziger "Fehler" daran ist, dass das Editieren auch vor allen anderen Posts zu lesen ist.
Daher meine Frage kann man das aufgrund des Codes der bei der viewcommentary verwendet wird nicht anders machen? Wenn man es doch anders machen kann wäre mir jede Hilfe recht ich habe schon alles mir bekannte versucht aber auf keine Lösung drauf gekommen.

Hier mal der Code den ich verwendet habe:

PHP:
for (;$i>=0;$i--){

$out="";

if($session[user][superuser]==0 && $row[author]==$session[user][acctid]){

$out.="`0[ <a href='postedit.php?backto=".URLEncode($_SERVER['REQUEST_URI'])."&section=$section&id=$commentids[$i]'>Editieren</a> ]&nbsp;";

addnav("","postedit.php?backto=".URLEncode($_SERVER['REQUEST_URI'])."&section=$section&id=$commentids[$i]");
}

if (($session['user']['superuser']>=1) || ($session['user']['superuser']>=1 && $message=="X")){

Autor:  Linus [ Mo 12 Apr, 2010 18:13 ]
Betreff des Beitrags:  Re: Post editieren Funktion für alle Posts - Spielerfunktion

An dieser Stelle geht es auch nicht. Die for()-Schleife in dem $row['author'] noch zur Verfügung steht ist vorher bereits geschlossen worden! Vielleicht versuchst du es mal an der Stelle wo der Bio-Link vor den Post eingefügt wird. Ich stell mir das ungefähr so vor:
$this->bbcode_second_pass_code('', 'if($session[user][superuser]==0 && $row[author]==$session[user][acctid]){
$edit="`0[ <a href='postedit.php?backto=".URLEncode($_SERVER['REQUEST_URI'])."&section=$section&id=$commentids[$i]'>Editieren</a> ]&nbsp;";
addnav("","postedit.php?backto=".URLEncode($_SERVER['REQUEST_URI'])."&section=$section&id=$commentids[$i]");
} else {
$edit="";
}
$link = "bio.php?char=".rawurlencode($row[login]) . "&ret=".URLEncode($_SERVER['REQUEST_URI']);
')

Dann musst du natürlich auch noch dafür sorgen das $edit an passender Stelle ins Output übernommen wird. Das heißt vor allen Zeilen die so $this->bbcode_second_pass_code('', '."`0<a href='$link' ...'), oder so ähnlich beginnen das passende .$edit voran stellen.

Ich habs nicht getestet, aber so ungefähr sollte es fumminieren! ;)

Autor:  Laserian [ Mo 12 Apr, 2010 19:48 ]
Betreff des Beitrags:  Re: Post editieren Funktion für alle Posts - Spielerfunktion

Ja vielen Dank jetzt klappts wie gewünscht ;)

Wieder was dazugelernt^^

Autor:  Linus [ Mo 12 Apr, 2010 21:08 ]
Betreff des Beitrags:  Re: Post editieren Funktion für alle Posts - Spielerfunktion

Fein, freut mich das ich helfen konnte. :)

Autor:  Andarrius [ Di 13 Apr, 2010 08:54 ]
Betreff des Beitrags:  Re: Post editieren Funktion für alle Posts - Spielerfunktion

Mich würde diese funktion auch intressieren.
@Laserian:
Kannst du den Code mal als einbauanleitung dazuposten? Ich würde mich sehr drüber freuen ;)

Autor:  Laserian [ Di 13 Apr, 2010 22:34 ]
Betreff des Beitrags:  Re: Post editieren Funktion für alle Posts - Spielerfunktion

hm ja klar kann ich das machen aber die links müsste man noch abändern weil ich vermutlich eine andere datei haben werde für die editfunktion als du ;)

öffne common.php oder die datei die die function viewcommentary enthält

suche

$link = "bio.php?char=".rawurlencode($row[login]) . "&ret=".URLEncode($_SERVER['REQUEST_URI']);

füge davor ein (mit geändertem Link)

if($session[user][superuser]==0 && $row[author]==$session[user][acctid]){
$edit="`0[ <a href='postedit.php?backto=".URLEncode($_SERVER['REQUEST_URI'])."&section=$section&id=$commentids[$i]'>Editieren</a> ]&nbsp;";
addnav("","postedit.php?backto=".URLEncode($_SERVER['REQUEST_URI'])."&section=$section&id=$commentids[$i]");
} else {
$edit="";
}

suche nach allen

." `0<a href='$link'

und füge davor ein

".$edit

öffne deine Editierfunktion

suche nach

require_once "common.php";

füge danach ein

$id = $_GET['id'];

suche nach

$sql = "SELECT * FROM commentary WHERE

füge dazu

AND commentid=".$id."



fertig

Sicherung anlegen nicht vergessen und dann hochladen

sollte dann alles funktionieren *hoff* wie gesagt beim Link kann ich nicht sagen was ihr alles ändern müsst, auf alle fälle das postedit.php denke ich^^

Hoffe das hilft dir und auch allen anderen die die Funktion gerne so haben wollen.

Mfg
Laserian

Autor:  Andarrius [ Mi 14 Apr, 2010 10:26 ]
Betreff des Beitrags:  Re: Post editieren Funktion für alle Posts - Spielerfunktion

Ich habe es jetzt eingebaut, und mit noch ein paar kleineren Änderungen klappt das jetzt auch auf meinem Server ;)

Hier meine Anpassungen:

aus der Anleitung (2x):
PHP:
postedit.php


ersetze mit:
PHP:
chat_edit.php


Common.php................................

Den Landschaftsemote suchen:
PHP:
if ($x!==false)
{
if ($linkbios)
$op[$i] = $timest.str_replace("&amp;","&",HTMLEntities(substr($row['comment'],0,$x)))
."`0\n`& "
.str_replace("&amp;","&",HTMLEntities(substr($row[comment],$x+strlen($ft))))
."`0`n";
else
$op[$i] = $timest.str_replace("&amp;","&",HTMLEntities(substr($row['comment'],0,$x)))
."`0\n`& "
.str_replace("&amp;","&",HTMLEntities(substr($row[comment],$x+strlen($ft))))
."`0`n";


Landschaftemote Ersetzen:
PHP:
if ($x!==false)
{
if ($linkbios)
$op[$i] = $timest.$edit.str_replace("&amp;","&",HTMLEntities(substr($row['comment'],0,$x)))
."`0\n`& "
.str_replace("&amp;","&",HTMLEntities(substr($row[comment],$x+strlen($ft))))
."`0`n";
else
$op[$i] = $timest.$edit.str_replace("&amp;","&",HTMLEntities(substr($row['comment'],0,$x)))
."`0\n`& "
.str_replace("&amp;","&",HTMLEntities(substr($row[comment],$x+strlen($ft))))
."`0`n";

Suche :
PHP:
."`0<a href='$link'


füge davor ein:
PHP:
.$edit


Suche:
PHP:
$timest."`0<a href='$link'


ersetzte mit:

PHP:
$timest.$edit."`0<a href='$link'


Das waren die Anpassungen und meine variante, den Rest habe ich wie bei der angegeben Anleitung belassen und läuft. Vielen Dank für die Modifikation ;)

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/