phpbb - wer war da mod
-
Hallo,
ich habe ein phpbb Forum und wollte den wer_war_da mod einbauen. Dazu habe ich den Mod heruntergeladen und den Quellcode an den entsprechenden Stellen eingefügt. Der Mod funktioniert, allerdings habe ich ein paar Fragen.
Was bedeuten die Rauten (#####...) in der Installationsanweisung.
Also in den installationsanweisung steht:#---[Find]---------------------------------------------------------------------------------
init_userprefs($userdata);
#---[Add]---------------------------------------------------------------------------------
/----------WER WAR HEUTE DA HACK----------/
############################### SETTINGS ###############################
enable\_wwd\_counter = True; #Enables or disables counting of hidden users and guests #Values: True or False ############################### /SETTINGS ############################### time = time();
$heute = date('Ymd', ip = \_SERVER['REMOTE\_ADDR']; mitternacht = mktime(0,0,0,date('m', $time),date('d', $time),date('Y', user_gmd = ( $userdata['session_logged_in'] ) ? $userdata['user_timezone'] : $board_config['board_timezone'];
############################### INSTALLATION ###############################
if ( !isset( board\_config['wwd\_record_users']) ) { sql = 'INSERT INTO ' . CONFIG_TABLE . " (config_name, config_value) VALUES ('wwd_record_users', '0')";
if ( !sql) )
{
message_die(GENERAL_ERROR, 'Could not create row `wwd_record_users` in phpBB CONFIG_TABLE', '', __LINE__, __FILE__, sql); } board_config['wwd_record_users'] = 0;
}if ( enable\_wwd\_counter ) { if ( !isset(board_config['wwd_record_time']) ){
db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not create row `wwd_record_time` in phpBB CONFIG_TABLE', '', __LINE__, __FILE__, sql); } } if ( !isset(board_config['wwd_counter_date']) ){
heute')";
if ( !sql) )
{
message_die(GENERAL_ERROR, 'Could not create row `wwd_counter_date` in phpBB CONFIG_TABLE', '', __LINE__, __FILE__, sql); } sql = 'CREATE TABLE' . $table\_prefix . 'wwd\_counter_ips
(`ip` VARCHAR( 15 ) NOT NULL , PRIMARY KEY ( `ip` ))';
if ( !sql) )
{
message_die(GENERAL_ERROR, 'Could not create table'. $table\_prefix . 'wwd\_counter\_ips
', '', __LINE__, __FILE__, $sql);
}
}
}
############################### /INSTALLATION ###############################if ( $enable_wwd_counter ) {
if ( $board_config['wwd_counter_date'] != heute ){ sql = "UPDATE " . CONFIG_TABLE . "...
Ich habe einfach alle zeilen mit Raute auskommentiert also //####...
Aber ich stelle mir die Frage, ob Installation bedeutet dass nach dem ersten Benutzen der Mods der Bereich zwischen Installation und /Installation gelöscht werden muss.Eine zweite Frage betrifft die Settings:
Code:
############ SETTINGS ################
$enable_wwd_counter = True; #Enables or disables counting of hidden users and guests
#Values: True or FalseWelche Eigenschaft kann man hier genau einstellen. True beudeutet dass versteckte Benutzer ebenfalls mitgezählt werden oder liege ich falsch ??
Vielleicht hat jemand hier mehr Erfahrung mit der Interpretation von Modanleitungen oder weiß mehr darüber als ich.
thx im voraus
fragender
-
Die Rauten sind ebenfalls Kommentare
/* C-Style comment */
// C++ Style comment
# Shell-Style commentdas sind alle Kommentare in PHP
-
ja aber ## sind in php keine Kommentare. Also ist das irgendeine Installationsanweisung an mich, oder ?
Und was bedeutet diese Anweisung ###Installation###
was muss ich machen ?
-
prozeus schrieb:
ja aber ## sind in php keine Kommentare.
Doch.
Es wäre doch ziemlich merkwürdig wenn # Kommentare wären und ## nicht, oder?
-
ja, das ist klar wenn # raute ein Kommentar ist, dass dann ## auch ein kommentar ist. Kann es dann sein, dass # in php manchmal nicht geht. Mit "//" gings mit "#" nicht. Egal nicht das Hauptproblem wie ein Kommentar in php geht.
Ich habe bisher hauptsächlich c/c++ gemacht, daher mit php nicht viel am Hut auch wenn die Syntax ähnlich ist.
Daher meine Frage der Quellcode zwischen den Install Kommentaren sieht doch aus, als ob dort die DB geändert wird oder entsprechende Veränderungen vornimmt. Also ist es doch sinnlos dieses Teil bei jedem Anwender auszuführen. Vielleicht ist es deshalb einkommentiert und es ist möglich dieses Teil nach dem Erstellen zu löschen. Aber ich bin mir nicht sicher und frage daher nocheinmal nach.
mfg
bighorror
-
prozeus schrieb:
Kann es dann sein, dass # in php manchmal nicht geht.
nein, es sollte immer funktionieren.
prozeus schrieb:
Ich habe bisher hauptsächlich c/c++ gemacht, daher mit php nicht viel am Hut auch wenn die Syntax ähnlich ist.
du hast es selber gesagt, "ähnlich" und nicht gleich.
prozeus schrieb:
Daher meine Frage der Quellcode zwischen den Install Kommentaren sieht doch aus, als ob dort die DB geändert wird oder entsprechende Veränderungen vornimmt. Also ist es doch sinnlos dieses Teil bei jedem Anwender auszuführen. Vielleicht ist es deshalb einkommentiert und es ist möglich dieses Teil nach dem Erstellen zu löschen. Aber ich bin mir nicht sicher und frage daher nocheinmal nach.
sofern diese eine normale .php Datei ist, sind diese normale Kommentare und mehr nicht.
Ich verstehe ich noch nicht, welches dein Problem ist
-
ganz einfach, unter Installation verstehe -> nur ein mal ausführen.
Ich installiere ja ein Programm auch nicht öfters.
Daher will ich wissen, ob dieser Teil des Quellcodes nach dem ersten mal wieder entfernt werden sollte oder entfernt werden muss.Es sieht doch so aus als würde er wie bereits erwähnt, in diesem Teil des Codes die DB modifizieren. Dieser Schritt ist doch nicht bei jedem User nötig. Vielleicht sogar schädlich. Es könnte ja sein (ich weiß als php unwissender ja nicht) dass er die DB jedes mal neu anlegt und die bestehende neu überschreibt, sodass alle einträge jedesmal gelöscht werden. Verstehst du jetzt auf was ich hinaus will ?
-
if ( $enable_wwd_counter ) { if ( $board_config['wwd_counter_date'] != $heute ){ $sql = "UPDATE " . CONFIG_TABLE . "
Ich kenne die Mod nicht, aber ich tippe mal darauf das hier geprüft wird ob das Teil schon korrekt installiert ist oder nicht. Und wenns installiert ist wird der Installationsteil einfach umgangen. Kannst du also stehen lassen.