fr:developpers:documentation_mod
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
fr:ogspy:documentation_mod [2016/07/12 14:55] – Page moved from dev:fr:developpers:ogspy:documentation_mod to fr:ogspy:documentation_mod darknoon | fr:developpers:documentation_mod [2021/01/22 13:46] – pitch314 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Tutoriel - Création d'un mod pour OGSpy ====== | ====== Tutoriel - Création d'un mod pour OGSpy ====== | ||
- | Afin de developper | + | Afin de développer |
- | + | ||
- | ===== Nom et Version du Mod ===== | + | |
+ | ===== Nom et version du mod ===== | ||
Le nom du mod devra être écrit en minuscules et ne devra pas contenir de caractères spéciaux. Ce nom de mod est utilisé sur le système de fichier du serveur donc doit être à la fois simple et concis. | Le nom du mod devra être écrit en minuscules et ne devra pas contenir de caractères spéciaux. Ce nom de mod est utilisé sur le système de fichier du serveur donc doit être à la fois simple et concis. | ||
- | Ce nom n'est pas le nom affiché à l' | + | Ce nom n'est pas le nom affiché à l' |
Le numéro de version devra être de la forme X.Y.Z | Le numéro de version devra être de la forme X.Y.Z | ||
- | + | | |
- | | + | |
* Y étant le numéro de version Mineur (Incrémenté lors d'une évolution légère) | * Y étant le numéro de version Mineur (Incrémenté lors d'une évolution légère) | ||
- | * Z étant le numéro incrémenté pour les corrections de Bugs. | + | * Z étant le numéro incrémenté pour les corrections de bugs. |
===== Organisation du mod ===== | ===== Organisation du mod ===== | ||
==== Fichiers requis ==== | ==== Fichiers requis ==== | ||
Ligne 20: | Ligne 19: | ||
Les fichiers requis sont les suivants : | Les fichiers requis sont les suivants : | ||
- | * install.php : c'est le fichier d' | + | * **__install.php__** |
- | * uninstall.php : exactement | + | * **__uninstall.php__** |
- | * update.php : ce fichier | + | * **__update.php__** |
- | * version.txt : ce fichier | + | * **__version.txt__** |
- | Voici le code minimum de ces fichiers. Si votre mod ne créer | + | Voici le code minimum de ces fichiers. Si votre mod ne crée pas de table il n'y a pas grand chose à modifier. Si au contraire votre mod a besoin de tables en plus, nous vous conseillons |
- | <note warning> | + | <note warning> |
<file php install.php> | <file php install.php> | ||
Ligne 42: | Ligne 41: | ||
} | } | ||
else { | else { | ||
- | echo '< | + | echo "< |
} | } | ||
- | ?> | ||
</ | </ | ||
Ligne 55: | Ligne 53: | ||
} | } | ||
- | global | + | global $table_prefix; |
$mod_uninstall_name | $mod_uninstall_name | ||
Ligne 65: | Ligne 63: | ||
$mod_uninstall_table = $table_prefix .' | $mod_uninstall_table = $table_prefix .' | ||
- | uninstall_mod ($mod_uninstall_name, | + | uninstall_mod($mod_uninstall_name, |
- | ?> | ||
</ | </ | ||
Ligne 82: | Ligne 79: | ||
update_mod($mod_folder, | update_mod($mod_folder, | ||
- | ?> | ||
</ | </ | ||
Ligne 88: | Ligne 84: | ||
nom du mod | nom du mod | ||
version du mod (sous la forme x.y.z) | version du mod (sous la forme x.y.z) | ||
- | title, menu, action, root, link, active, admin | + | titre, menu, action, root, link, active, admin |
- | Version OGSPy Requise (Optionnel mais recommandé) | + | Version OGSPy minimale requise |
</ | </ | ||
Le fichier version.txt ne contient donc que 4 lignes. Pour la troisième ligne, les informations sont les suivantes : | Le fichier version.txt ne contient donc que 4 lignes. Pour la troisième ligne, les informations sont les suivantes : | ||
- | * title : le nom de votre mod. | + | * titre : le nom de votre mod. |
* menu : le nom que votre mod prendra dans le menu OGSpy. | * menu : le nom que votre mod prendra dans le menu OGSpy. | ||
* action : la valeur du paramètre GET " | * action : la valeur du paramètre GET " | ||
Ligne 117: | Ligne 113: | ||
==== Vos fichiers ==== | ==== Vos fichiers ==== | ||
- | Le dernier fichier requis est le points d' | + | Le dernier fichier requis est le points d’entrée |
<file php mon-link.php> | <file php mon-link.php> | ||
Ligne 126: | Ligne 122: | ||
} | } | ||
- | require_once ' | + | require_once(' |
?> | ?> | ||
- | |||
<style type=" | <style type=" | ||
body { | body { | ||
Ligne 140: | Ligne 135: | ||
} | } | ||
</ | </ | ||
- | |||
<?php | <?php | ||
echo '<p class=" | echo '<p class=" | ||
- | require_once | + | require_once(views/ |
- | ?> | ||
</ | </ | ||
===== Accès à la base de données ===== | ===== Accès à la base de données ===== | ||
+ | //TODO: wiki à mettre à jour// | ||
- | L' | + | L' |
<file php includes/ | <file php includes/ | ||
- | class sql_db { | ||
+ | class sql_db { | ||
// Permet d' | // Permet d' | ||
// | // | ||
Ligne 167: | Ligne 161: | ||
// Exemple : $db-> | // Exemple : $db-> | ||
// | // | ||
- | function sql_query ($query, $dieOnSQLError = true, $logQuery = true); | + | function sql_query($query, |
| | ||
// Récupère une ligne d'une requête SQL. Si $query_id vaut 0, la méthode s' | // Récupère une ligne d'une requête SQL. Si $query_id vaut 0, la méthode s' | ||
Ligne 179: | Ligne 173: | ||
// } | // } | ||
// | // | ||
- | function sql_fetch_row ($query_id = 0); | + | function sql_fetch_row($query_id = 0); |
| | ||
// Équivalent à sql_fetch_row mais retourne un array numérique et associatif. | // Équivalent à sql_fetch_row mais retourne un array numérique et associatif. | ||
Ligne 215: | Ligne 209: | ||
// | // | ||
function sql_escape_string($str); | function sql_escape_string($str); | ||
- | |||
} | } | ||
+ | |||
</ | </ | ||
Ligne 244: | Ligne 238: | ||
</ | </ | ||
- | En ce qui concerne les tables d' | + | En ce qui concerne les tables d' |
<PHP> | <PHP> | ||
- | define("TABLE_EXEMPLE", $table_prefix."exemple"); | + | define('TABLE_EXEMPLE', $table_prefix.'exemple'); |
</ | </ | ||
Ligne 253: | Ligne 247: | ||
<PHP> | <PHP> | ||
- | define("TABLE_CONFIG", $table_prefix."config"); | + | define('TABLE_CONFIG', $table_prefix.'config'); |
- | define("TABLE_GROUP", $table_prefix."group"); | + | define('TABLE_GROUP', $table_prefix.'group'); |
- | define("TABLE_RANK_PLAYER_FLEET", $table_prefix."rank_player_fleet"); | + | define('TABLE_RANK_PLAYER_FLEET', $table_prefix.'rank_player_fleet'); |
- | define("TABLE_RANK_PLAYER_POINTS", $table_prefix."rank_player_points"); | + | define('TABLE_RANK_PLAYER_POINTS', $table_prefix.'rank_player_points'); |
- | define("TABLE_RANK_PLAYER_RESEARCH", $table_prefix."rank_player_research"); | + | define('TABLE_RANK_PLAYER_RESEARCH', $table_prefix.'rank_player_research'); |
- | define("TABLE_RANK_ALLY_FLEET", $table_prefix."rank_ally_fleet"); | + | define('TABLE_RANK_ALLY_FLEET', $table_prefix.'rank_ally_fleet'); |
- | define("TABLE_RANK_ALLY_POINTS", $table_prefix."rank_ally_points"); | + | define('TABLE_RANK_ALLY_POINTS', $table_prefix.'rank_ally_points'); |
- | define("TABLE_RANK_ALLY_RESEARCH", $table_prefix."rank_ally_research"); | + | define('TABLE_RANK_ALLY_RESEARCH', $table_prefix.'rank_ally_research'); |
- | define("TABLE_SESSIONS", $table_prefix."sessions"); | + | define('TABLE_SESSIONS', $table_prefix.'sessions'); |
- | define("TABLE_SPY", $table_prefix."spy"); | + | define('TABLE_SPY', $table_prefix.'spy'); |
- | define("TABLE_STATISTIC", $table_prefix."statistics"); | + | define('TABLE_STATISTIC', $table_prefix.'statistics'); |
- | define("TABLE_UNIVERSE", $table_prefix."universe"); | + | define('TABLE_UNIVERSE', $table_prefix.'universe'); |
- | define("TABLE_UNIVERSE_TEMPORARY", $table_prefix."universe_temporary"); | + | define('TABLE_UNIVERSE_TEMPORARY', $table_prefix.'universe_temporary'); |
- | define("TABLE_USER", $table_prefix."user"); | + | define('TABLE_USER', $table_prefix.'user'); |
- | define("TABLE_USER_BUILDING", $table_prefix."user_building"); | + | define('TABLE_USER_BUILDING', $table_prefix.'user_building'); |
- | define("TABLE_USER_DEFENCE", $table_prefix."user_defence"); | + | define('TABLE_USER_DEFENCE', $table_prefix.'user_defence'); |
- | define("TABLE_USER_FLEET", $table_prefix."user_fleet"); | + | define('TABLE_USER_FLEET', $table_prefix.'user_fleet'); |
- | define("TABLE_USER_FAVORITE", $table_prefix."user_favorite"); | + | define('TABLE_USER_FAVORITE', $table_prefix.'user_favorite'); |
- | define("TABLE_USER_GROUP", $table_prefix."user_group"); | + | define('TABLE_USER_GROUP', $table_prefix.'user_group'); |
- | define("TABLE_USER_SPY", $table_prefix."user_spy"); | + | define('TABLE_USER_SPY', $table_prefix.'user_spy'); |
- | define("TABLE_USER_TECHNOLOGY", $table_prefix."user_technology"); | + | define('TABLE_USER_TECHNOLOGY', $table_prefix.'user_technology'); |
- | define("TABLE_USER_PLANET", $table_prefix."user_planet"); | + | define('TABLE_USER_PLANET', $table_prefix.'user_planet'); |
- | define("TABLE_MOD", $table_prefix."mod"); | + | define('TABLE_MOD', $table_prefix.'mod'); |
- | define("TABLE_MOD_CAT", $table_prefix."mod_cat"); | + | define('TABLE_MOD_CAT', $table_prefix.'mod_cat'); |
- | define("TABLE_MOD_RESTRICT", $table_prefix."mod_restrict"); | + | define('TABLE_MOD_RESTRICT', $table_prefix.'mod_restrict'); |
- | define("TABLE_PARSEDSPY", $table_prefix."parsedspy"); | + | define('TABLE_PARSEDSPY', $table_prefix.'parsedspy'); |
- | define("TABLE_PARSEDRC", $table_prefix."parsedRC"); | + | define('TABLE_PARSEDRC', $table_prefix.'parsedRC'); |
- | define("TABLE_PARSEDRCROUND", $table_prefix."parsedRCRound"); | + | define('TABLE_PARSEDRCROUND', $table_prefix.'parsedRCRound'); |
- | define("TABLE_ROUND_ATTACK", $table_prefix."round_attack"); | + | define('TABLE_ROUND_ATTACK', $table_prefix.'round_attack'); |
- | define("TABLE_ROUND_DEFENSE", $table_prefix."round_defense"); | + | define('TABLE_ROUND_DEFENSE', $table_prefix.'round_defense'); |
- | define("TABLE_MP", $table_prefix."mp"); | + | define('TABLE_MP', $table_prefix.'mp'); |
</ | </ | ||
- | dans TABLE_CONFIG se trouve toutes les configurations d' | + | dans TABLE_CONFIG se trouve toutes les configurations d' |
<PHP> | <PHP> | ||
Ligne 293: | Ligne 287: | ||
- | ===== Utilisation des Paramètres | + | ===== Utilisation des paramètres |
Des fonctionnalités ont été développées au sein d' | Des fonctionnalités ont été développées au sein d' | ||
Ligne 301: | Ligne 295: | ||
==== mod_set_option ==== | ==== mod_set_option ==== | ||
- | Permet d' | + | Permet d' |
<PHP> | <PHP> | ||
- | function mod_set_option ( $param, $value) | + | /** |
- | + | * @param string $param Nom du paramètre de configuration | |
- | @param string $param Nom du paramètre de configuration | + | * @param string $value Valeur du paramètre de configuration |
- | @param string $value Valeur du paramètre de configuration | + | * @return boolean Retourne true/false selon le résultat de l' |
- | @return boolean Retourne true/false selon le résultat de l' | + | */ |
+ | function mod_set_option($param, | ||
</ | </ | ||
Ligne 315: | Ligne 310: | ||
Permet d' | Permet d' | ||
<PHP> | <PHP> | ||
- | function mod_del_option ( $param ) | + | /** |
- | + | * @param string $param Nom du paramètre de configuration | |
- | * @param string $param Nom du paramètre de configuration | + | * @global $db |
- | * @global $db | + | * @return boolean Retourne true/false selon le résultat de l' |
- | * @return boolean Retourne true/false selon le résultat de l' | + | */ |
+ | function mod_del_option($param) | ||
</ | </ | ||
Ligne 325: | Ligne 321: | ||
==== mod_get_option ==== | ==== mod_get_option ==== | ||
- | Permet de lire la valeur d'un paramètre de configuration pour un mod donné | + | Permet de lire la valeur d'un paramètre de configuration pour un mod donné. |
<PHP> | <PHP> | ||
- | function mod_get_option ( $param ) | + | /** |
- | + | * @param string $param Nom du paramètre de configuration | |
- | * @param string $param Nom du paramètre de configuration | + | * @global $db |
- | * @global $db | + | * @return string Retourne la valeur du paramètre demandé |
- | * @return string Retourne la valeur du paramètre demandé | + | */ |
+ | function mod_get_option($param) | ||
</ | </ | ||