Tips för den som vill modda

Svar på de vanligaste frågorna.

Moderatorer: Supportgrupp, Moderatorgrupp

Användarvisningsbild
Holger
Support
Support
Inlägg: 6498
Blev medlem: 2004-06-09 08:32
Ort: Hannover/Tyskland
Kontakt:

Tips för den som vill modda

Inlägg av Holger » 2005-11-02 11:23

Vad betyder ordet MOD?
Ordet MOD (eller på svenska MODD) betyder i detta fall EJ "moderator" utan står för "modifikation".
Dessa moddar lägger till funktioner till ett vanligt phpBB-forum.
Du hittar en massa moddar hos http://www.phpbbhacks.com

Innan du börjar modda
Använd följade checklista innan du börjar:

1) gör backup FÖRST!
Gör backup av alla filer som skall ändras enligt modden. Gör även backup av din databas!
Om något blir fel så kan du alltid ladda upp de gamla filerna igen så att forumet fortsätter att fungera medan du letar efter felet i de moddade filerna.

2) använd rätt editor!
Så kallade WYSIWYG editorer, t.ex. Dreamweaver, kan förstöra forum-koden och göra ditt forum obrukbart.
Jag rekommenderar att du använder en helt vanlig editor, t.ex. Anteckningar (Notepad).
En del tycker även om att använda EasyMOD som du hittar här:
http://area51.phpbb.com/phpBB/viewforum.php?f=15
EasyMOD installerar moddar automatiskt.
Dock sjunker tillförlitligheten ju fler moddar du installerar.

3) se till att du har lugn och ro och kan koncentrera dig!
Det låter kanske fånigt, men det är viktigt att du har lugn och ro när du moddar - det spelar ingen roll om modden är stor eller liten!
Se till att inga ICQ fönster ploppar upp stup i kvarten!
"Jag ska bara modda lite snabbt" fungerar inte!

4) Använd EasyMOD (EM) om du kan! Med EM kan du installera MODdar snabbt, smidigt och enkelt. Det är särskilt lämpligt för att installera uppdateringar av phpBB.

Nu är du redo att börja modda.
Ladda hem den modd som du vill ha för ditt forum. Extrahera eventuellt filerna ur ZIP-arkiv och ta dig först en titt på filerna.
Läs alltid medföljande modd-instruktioner noggrannt!
Läs alltid eventuellt medföljande readme-filer noggrannt!

Vad betyder anvisningarna?
Modd-instruktionerna innehåller alltid anvisningar som följer ett mycket bestämt mönster.
Jag ska ta och försöka förklara anvisningarna nedan:

OPEN
Exempel

Kod: Markera allt

#
#-----[ OPEN ]---------------------------------------------
#
common.php
Öppna filen common.php i vald editor.

FIND
Exempel:

Kod: Markera allt

#
#-----[ FIND ]---------------------------------------------
#
// PHP5 with register_long_arrays off?
if (!isset($HTTP_POST_VARS) && isset($_POST))
Denna anvisning används alltid före varje kodbit som skall förändras.
Kodsnuttarna som anges efter "FIND" måste du hitta i filen som skall bearbetas. Detta går snabbt om du använder editorns sökfunktion (CTRL + F).
Om du redan har moddat ditt forum innan så kan det hända att du inte hittar exakt den kodsnutt som anges. Då måste du improvisera och leta efter en BIT av koden som anges i "FIND".

REPLACE WITH
Exempel:

Kod: Markera allt

#
#-----[ REPLACE WITH ]---------------------------------------------
#
// PHP5 with register_long_arrays off?
if (@phpversion() >= '5.0.0' && (!ini_get('register_long_arrays') || @ini_get('register_long_arrays') == '0' || strtolower(@ini_get('register_long_arrays')) == 'off'))
Kodsnutten som du letade upp med anvisningen "FIND" skall ersättas med kodsnutten som anges med "REPLACE WITH".

AFTER, ADD
Exempel:

Kod: Markera allt

#
#-----[ AFTER, ADD ]---------------------------------------------
#
// We do not need this any longer, unset for safety purposes
unset($dbpasswd);
Kodsnutten som anges med "AFTER, ADD" måste läggas till EFTER kodsnutten som letades upp med anvisningen "FIND".

BEFORE, ADD
Exempel:

Kod: Markera allt

#
#-----[ BEFORE, ADD ]---------------------------------------------
#
// We do not need this any longer, unset for safety purposes
unset($dbpasswd);
Kodsnutten som anges med "BEFORE, ADD" måste läggas till FÖRE kodsnutten som letades upp med anvisningen "FIND".

IN-LINE FIND
Denna anvisning följer alltid på en "FIND" anvisning.
Exempel:

Kod: Markera allt

#
#-----[ FIND ]---------------------------------------------
#
$temp_url = append_sid("search, $username, $user_id");

#
#-----[ IN-LINE FIND ]---------------------------------------------
#
$username
Detta innebär att du måste söka efter den kodsnutt som anges i "FIND". Sedan måste du leta upp en DEL INOM denna kodsnutt.
Därefter kommer en av följande IN-LINE-anvisningar:

IN-LINE AFTER, ADD
Exempel:

Kod: Markera allt

#
#-----[ FIND ]---------------------------------------------
#
$temp_url = append_sid("search, $username, $user_id");

#
#-----[ IN-LINE FIND ]---------------------------------------------
#
$username

#
#-----[ IN-LINE AFTER, ADD ]---------------------------------------------
#
, $user_fullname
Denna anvisning betyder att du skall lägga till en kodsnutt EFTER den kod som hittas med "IN-LINE FIND". Resultatet blir följande:

Kod: Markera allt

$temp_url = append_sid("search, $username, $user_fullname, $user_id");
IN-LINE BEFORE, ADD
Exempel:

Kod: Markera allt

#
#-----[ FIND ]---------------------------------------------
#
$temp_url = append_sid("search, $username, $user_id");

#
#-----[ IN-LINE FIND ]---------------------------------------------
#
$username

#
#-----[ IN-LINE BEFORE, ADD ]---------------------------------------------
#
$user_fullname, 
Denna anvisning betyder att du skall lägga till en kodsnutt FÖRE den kod som hittas med "IN-LINE FIND". Resultatet blir följande:

Kod: Markera allt

$temp_url = append_sid("search, $user_fullname, $username, $user_id");
IN-LINE REPLACE
Exempel:

Kod: Markera allt

#
#-----[ FIND ]---------------------------------------------
#
$temp_url = append_sid("search, $username, $user_id");

#
#-----[ IN-LINE FIND ]---------------------------------------------
#
$username

#
#-----[ IN-LINE REPLACE ]---------------------------------------------
#
$user_fullname
Denna anvisning betyder att du skall ERSÄTTA den kodsnutt som du hittade med "FIND" och därefter med "IN-LINE FIND". Resultatet blir i detta fall

Kod: Markera allt

$temp_url = append_sid("search, $user_fullname, $user_id");
SQL
Exempel:

Kod: Markera allt

#
#-----[ SQL ]---------------------------------------------
#
CREATE TABLE phpbb_sessions_keys (
	key_id varchar(32) DEFAULT '0' NOT NULL,
	user_id mediumint(8) DEFAULT '0' NOT NULL,
	last_ip varchar(8) DEFAULT '0' NOT NULL,
	last_login int(11) DEFAULT '0' NOT NULL,
	PRIMARY KEY (key_id, user_id),
	KEY last_login (last_login)
);

INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_autologin','1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_autologin_time','0');

UPDATE phpbb_users SET user_active = 0 WHERE user_id = -1;
UPDATE phpbb_config SET config_value = '.0.18' WHERE config_name = 'version';
Denna anvisning är ett eller flera SQL-kommando(n). Dessa kommandon måste du utföra med ett verktyg som t.ex. phpmyadmin eller liknande. Hör med ditt webbhotell vilket verktyg de erbjuder.
Viktigt: SQL-kommandona skrivs alltid med ett standard-prefix: phpbb_. Prefixet är det som du under installationen angett som tabell-prefix. Titta efter i din config.php-fil om du är osäker. Du hittar det prefix som gäller för ditt forum på följande rad i config.php:

Kod: Markera allt

$table_prefix = 'phpbb_';
Detta prefix måste du eventuellt anpassa i SQL-anvisningen innan du utför SQL-kommandot i t.ex. phpmyadmin.

COPY
Exempel:

Kod: Markera allt

# 
#-----[ COPY ]------------------------------------------------ 
# 
copy /root/includes/javascript/ajax_core.js to includes/javascript/ajax_core.js
copy /root/includes/javascript/ajax_postfunctions.js to includes/javascript/ajax_postfunctions.js
copy /root/includes/javascript/ajax_regfunctions.js to includes/javascript/ajax_regfunctions.js
copy /root/includes/javascript/ajax_searchfunctions.js to includes/javascript/ajax_searchfunctions.js
copy /root/templates/subSilver/ajax_result.tpl to templates/subSilver/ajax_result.tpl
copy /root/templates/subSilver/ajax_search_results.tpl to templates/subSilver/ajax_search_results.tpl
copy /root/templates/subSilver/ajax_search_username.tpl to templates/subSilver/ajax_search_username.tpl
Detta kommando anger att du måste kopiera över FÄRDIGA filer som medföljer modden. Kommandot anger även VART du skall kopiera filerna.

DIY
Exempel:

Kod: Markera allt

#
#-----[ DIY INSTRUCTIONS ]---------------------------------------------
#
BEFORE installing this MOD, you have to upload the file
install/update_to_latest.php, execute it and then delete it
from your webspace.
Anvisningarna som anges med DIY (Do It Yourself) anger att du måste utföra annat än ändringar i filer, t.ex. ladda upp och utföra SQL-filer eller ställa in rättigheter för filer med CHMOD.

SAVE/CLOSE ALL FILES
När du läser detta så har du nått slutet av modd-anvisningarna! Du är klar! :D
Ladda nu upp filerna som du har ändrat och följ alla övriga anvisningar i installations-anvisningarna eller i readme.txt-filen!


LYCKA TILL!
Holger Gremminger
Ingen support via PM!

Automatiserad backup av din databas med MYSQLdumper! Nu med helsvenskt gränssnitt.
Nytt: http://www.mysqldumper.se!

Hitta en expert! Registrera dig som expert!
http://www.phpbbexperts.com

Vilka är online

Användare som besöker denna kategori: 1 och 0 gäst