| |
1. wie wär es denn mal mit einem Teil des Quellcodes. Eine Glaskugel benutzt hier keiner und somit kann man da nicht helfen.
*** Nobody ***
2. Wieder ernst:
Sie haben eine Methode für ein nicht Objekt aufgerufen.
Überprüf mal den Inhalt deiner Variablen.
3. HeHeHe so einfach ist das gar nicht.
Es geht darum ich wollte einen Lockdowb (hide Hack) in meinen Board einbauen
Habe mir den Installiert und bekomme seid dem Nur die fehler
Der Quell code wären massenweise an Seiten,deswegen war ja meine Frage ob man mir per ICQ helfen könnte )
4. Habe hier mal die anleitung reingetan vom hack
################
# NEWREPLY.PHP #
################
FINDE diesen code
FIND the followin code:
} else {
$reviewmessage = bbcodeparse($post[pagetext],$threadinfo[forumid],$post[allowsmilie]);
}
(Achtung !!! 3 zeilen code sind zu entfernen !!
Attention !!! you have to remove 3 lines of code!!!)
#################################################
# REPLACE WITH exactly this piece of code with: #
# GENAU diesen code ERSETZEN durch: #
#################################################
// --------------cut and paste start X -----------------------------
} else {
$reviewmessage = bbcodeparse($post[pagetext],$threadinfo[forumid],$post[allowsmilie]);
// ##### [hide] [/hide] HACK #####
$hide_shown = 0;
if (substr($reviewmessage,0,6)=="[hide]"){$reviewmessage = str_replace("[hide]"," [hide]",$reviewmessage); }
if ($session[userid] != 0){
$hideisadmin = $DB_site->query("SELECT user.usergroupid FROM usergroup,user WHERE usergroup.usergroupid = user.usergroupid AND user.userid = '$session[userid]'");
$hideisadmin = $DB_site->fetch_array($hideisadmin);
$thez_posts=$DB_site->query("SELECT post.userid FROM post WHERE post.threadid='$threadid'");
while ($the_posts = $DB_site->fetch_array($thez_posts)) {
if(($the_posts[userid] == $session[userid]) || ($hideisadmin[usergroupid] == 6)) {
$reviewmessage = str_replace("[hide]","<b><u>[LOCKDOWN]:</u> </b>",$reviewmessage);
$reviewmessage = str_replace("[/hide]","",$reviewmessage);
$hide_shown = 1;
}
}
}
if ($hide_shown == 0) {
for ($i = lock_count($reviewmessage,"[hide]"); $i > 0; $i--) {
$lock_part1 = strpos($reviewmessage, "[hide]");
$lock_part2 = (strpos($reviewmessage,"[/hide]")-strpos($reviewmessage,"[hide]"))+7;
$lock_mess = substr ($reviewmessage, $lock_part1, $lock_part2);
$reviewmessage = str_replace($lock_mess, "<b><u>Lockdown:</u></b> <font color=gray><u>You must reply to see the hidden text!</u><br></font>", $reviewmessage);
}
}
// ############### Lockdown hack end
}
// --------------cut and paste end X -----------------------------
zur kontrolle müsste in der nächsten zeile drunter komen:
eval("\$threadreviewbits .= \"".gettemplate("threadreviewbit")."\";");
Thats it for the first one, now open, backup etc... functions.php in the admin directory
So das wars für die erste datei... jetzt die functions.php im admin verzeichnis backuppen und öffnen
#######################
# admin/functions.php #
#######################
here there are 2 things to look for:
hier muss mann 2 verschiede dinge suchen:
1.
not to far down find:
ziemlich in der nähe des anfangs:
FIND:
---------------------------------------
// ###################### Start buildpostbit #######################
function getpostbit($post) {
// sorts through all the stuff to return the postbit template
---------------------------------------
Exactly ABOVE this insert:
Genau DARÜBER einfügen:
// --------------cut and paste start X -----------------------------
// ###################### [hide] [/hide] part1 start #################
function lock_count($haystack, $needle, $offset = 0) {
$l_i = 0;
$l_count = 0;
while ($l_i==0) {
$longueur = strlen($haystack);
$position = strpos($haystack, $needle, $offset);
if ($position && ($offset + strlen($needle)) < $longueur) {
$offset = $position+strlen($needle);
$l_count++;
} else {
$l_i++;
}
}
return $l_count;
}
// ###################### [hide] [/hide] part1 End ####################
// --------------cut and paste end X -----------------------------
!!!!! UND GENAU Darunter einfügen:
!!!!! And insert exactly below:
// --------------cut and paste start X ---------------------------
// lockdown
global $DB_site,$threadid;
// --------------cut and paste end X -----------------------------
zur Kontrolle:
to check if you did it right:
the beginning if the function getpostbit should look like this:
der anfang der function getpostbit sollte so aussehen:
----------------------------
function getpostbit($post) {
// sorts through all the stuff to return the postbit template
// --------------cut and paste start X ---------------------------
// lockdown
global $DB_site,$threadid;
// --------------cut and paste end X -----------------------------
// user
global $bbuserinfo,$session,$ignore,$cookietimeout;
------------------------
usw..........
OK?
lets continue
machen wir weiter
weiter unten in der datei folgendes suchen:
below in the same file find:
-----------------------------------------------
$post[message]=bbcodeparse($post[pagetext],$forum[forumid],$post[allowsmilie]);
//highlight words for search engine
-----------------------------------------------
replace these both (!) lines with:
ersetze diese beiden (!) zeilen durch:
// --------------cut and paste start X -----------------------------
$post[message]=bbcodeparse($post[pagetext],$forum[forumid],$post[allowsmilie]);
// ##### [hide] [/hide] HACK part 2 start #####
$hide_shown = 0;
if (substr($post[message],0,6)=="[hide]"){$post[message] = str_replace("[hide]"," [hide]",$post[message]); }
if ($session[userid] != 0){
$hideisadmin = $DB_site->query("SELECT user.usergroupid FROM usergroup,user WHERE usergroup.usergroupid = user.usergroupid AND user.userid = '$session[userid]'");
$hideisadmin = $DB_site->fetch_array($hideisadmin);
$thez_posts=$DB_site->query("SELECT post.userid FROM post WHERE post.threadid='$threadid'");
while ($the_posts = $DB_site->fetch_array($thez_posts)) {
if(($the_posts[userid] == $session[userid]) || ($hideisadmin[usergroupid] == 6)) {
$post[message] = str_replace("[hide]","<b><u>[LOCKDOWN]:</u> </b>",$post[message]);
$post[message] = str_replace("[/hide]","",$post[message]);
$hide_shown = 1;
}
}
}
if ($hide_shown == 0) {
for ($i = lock_count($post[message],"[hide]"); $i > 0; $i--) {
$lock_part1 = strpos($post[message], "[hide]");
$lock_part2 = (strpos($post[message],"[/hide]")-strpos($post[message],"[hide]"))+7;
$lock_mess = substr ($post[message], $lock_part1, $lock_part2);
$post[message] = str_replace( $lock_mess, "<b><u>Lockdown:</u></b> <font color=gray><u>You must reply to see the hidden text!</u><br></font>", $post[message]);
}
}
// ##### [hide] [/hide] HACK part 2 End #####
//highlight words for search engine
// --------------cut and paste end X -----------------------------
thats all for functions.php
mit functions.php wären wir fertig
now off to printthread.php:
jetzt kommt printthread.php:
#######################
# printthread.php #
#######################
Option wenn ihr die funktion printable text verwendet:
Option if you use the printable text option:
find the line
------------------------
$post['message']=bbcodeparse($post['pagetext'],$foruminfo['forumid'],$post['allowsmilie']).$post['signature'];
------------------------
beneath this line insert:
unter dieser zeile einfügen:
// --------------cut and paste start X -----------------------------
// ##### [hide] [/hide] HACK start #####
$hide_shown = 0;
if (substr($post['message'],0,6)=="[hide]"){$post['message'] = str_replace("[hide]"," [hide]",$post['message']); }
if ($session[userid] != 0){
$hideisadmin = $DB_site->query("SELECT user.usergroupid FROM usergroup,user WHERE usergroup.usergroupid = user.usergroupid AND user.userid = '$session[userid]'");
$hideisadmin = $DB_site->fetch_array($hideisadmin);
$thez_posts=$DB_site->query("SELECT post.userid FROM post WHERE post.threadid='$threadid'");
while ($the_posts = $DB_site->fetch_array($thez_posts)) {
if(($the_posts[userid] == $session[userid]) || ($hideisadmin[usergroupid] == 6)) {
$post['message'] = str_replace("[hide]","<b><u>[LOCKDOWN]:</u> </b>",$post['message']);
$post['message'] = str_replace("[/hide]","",$post['message']);
$hide_shown = 1;
}
}
}
if ($hide_shown == 0) {
for ($i = lock_count($post['message'],"[hide]"); $i > 0; $i--) {
$lock_part1 = strpos($post['message'], "[hide]");
$lock_part2 = (strpos($post['message'],"[/hide]")-strpos($post['message'],"[hide]"))+7;
$lock_mess = substr ($post['message'], $lock_part1, $lock_part2);
$post['message'] = str_replace( $lock_mess, "<b><u>Lockdown:</u></b> <font color=gray><u>You must reply to see the hidden text!</u><br></font>", $post['message']);
}
}
// ##### [hide] [/hide] HACK part 2 End #####
// --------------cut and paste end X -----------------------------
und jetzt noch
and now the last one
##############
# search.php #
##############
find:
finde:
------------------------
$searchresult['pagetext']=nl2br(str_replace('<', '<', $searchresult['pagetext']));
------------------------
und genau darüber füge ein:
and insert just above:
// ------------- copy & paste start -----------------------
// ################ Lockdown hack start
if (substr($searchresult[pagetext],0,6)=="[hide]"){$searchresult[pagetext] = str_replace("[hide]"," [hide]",$searchresult[pagetext]); }
$i = lock_count($searchresult[pagetext],"[hide]");
if ($i >=1){
$searchresult[pagetext] = str_replace($searchresult[pagetext], "Lockdown: post contains hidden text!", $searchresult[pagetext]);
}
// ################ Lockdown hack End
// ------------- copy & paste End -----------------------
Wenn ich Als Admin angemeldet bin bekomme ich diese Fehlermeldung :
Fatal error: Call to a member function on a non-object in /www/htdocs/v033682/vbb/admin/functions.php on line 330
Wenn ich als Gast angemeldet bin und möchte antworten bekomme ich diese fehlermeldung :
Parse error: parse error, unexpected $ in /www/htdocs/v033682/vbb/newreply.php on line 569
Wenn ich als user Angemeldet bin bekomme ich diese Fehlermeldung :
Fatal error: Call to a member function on a non-object in /www/htdocs/v033682/vbb/admin/functions.php on line 330
5. und jetzt sollen wir raten, wo Zeile 330 und 569 in diesem unformatierten Code ist!
Der Parse-Error deutet auf einen Fehler bei der Anpassung hin.
Entweder Du postest mal die Zeilen rund um 330 und 569 (aber formatiert) oder nichts geht!!!
*** Nobody ***
6. in der Zeile 330?
Der Fehler in 569(oder kurz davor) müsste ja zu finden sein,
'ne vergessene Klammer oder 'nen fehlendes Dollarzeichen oder so.
7. sorry leute ich habe leider davon keine ahnung wie was zeile 530 usw mit formatierung usw.
Bin da absolut Newbie
8. du wirst doch wohl dazu in der Lage sein deinen Texteditor zu öffnen, die beiden Zeilen zu finden und die, und ein wenig drumherum, zu posten?
9. Zeile 520-540 solltest Du in dem Script ja finden können. Und dann klicke mal unten auf "bbcode Hinweise".
*** Nobody ***
10. woher weiss ich welche zeile was was ist ?
mit welchen prog muss ich das machen damit er die zeilen zählt
11. woher weiss ich welche zeile was was ist ?
mit welchen prog muss ich das machen damit er die zeilen zählt
12. kaum zu glauben,
aber du kennst tatsächlich Notepad nicht?
13. kenne mich wirklich damit nicht aus,nicht jeder kann alles (
muss auch noch viel lernen
14. wenn Du nicht in der Lage bist, mit einem Editor eine Zeilennummer anzuspringen, würde ich Dir echt empfehlen, das Programmieren bzw. anpassen von Scripten solange sein zu lassen, bist Du wenigstens die Grundlagen beherrscht!
*** Nobody ***
15. mit was für einem Program passt du die Script an?
16. Ich habe word pad bzw benutze das,aber das zählt keine zeilen und notepad habe ich leider nicht.
Trozdem Danke das man mir versucht hat zu helfen
17. mit dem PFE: http://www.lancs.ac.uk/people/cpaap/pfe/
Ist zwar kein HighEnd-Editor, hat aber auch seine Vorzüge.
Du siehst in dem Editor unten die Zeilen-Angaben und mit STRG+G kannst Du Zeilen anspringen. Allerdings sollte man nach dem ersten Start unter "Options/Prefrences/Backup" den Schalter "never" aktivieren.
*** Nobody ***
18. müsste es genauso gehen(STRG+g) oder über irgendein Menü , und wenn ich mich nicht mit dem Nahmen irre ist "Notepad" der bei Windows mitgelieferte Texteditor.
Wordpad ist eigentlich nicht wirklich ein Texteditor und damit nicht 100% 'Programmiertauglich.
|
|