source: spip-zone/_plugins_/comments_phpbb/base/comments_phpbb.php @ 32294

Last change on this file since 32294 was 32294, checked in by jfefe@…, 11 years ago
  • bouton d’ajout de tous les articles existants de SPIP dans les forums phpBB (indispensable lors de l’utilisation de ce plugin sur un site SPIP existant).
  • Internationalisation : utilisation d’un fichier de langue pour tous les textes utilisés dans le plugin.
  • Filtre bbcode : ajout d’un filtre bbcode pour convertir la mise en forme phpBB en mise en forme SPIP. Ce filtre sera utilisé pour l’affichage des textes du forum avec la balise #POST_TEXT. Dans le squelette, on écrira : [(#POST_TEXT|bbcode)]
  • Filtre datetime_unix2mysql : ajout d’un filtre pour pouvoir afficher la date du post qui au format timestamp unix dans phpBB. Dans le squelette, on pourra écrire : [(#POST_TIME|datetime_unix2mysql|affdate_jourcourt)]
  • Ajout du paramètre "phpbb_http" pour mémoriser l’adresse du forum. Dans le squelette, on pourra faire des liens vers le forum de cette façon : <a href="#CONFIG{comments_phpbb/phpbb_http}/viewtopic.php?p=#POST_ID">
  • Corrections de bug pour une prise en compte de préfixes différents de spip_ et phpbb_ pour les noms des tables utilisées dans les requêtes du plugin.
  • Ajout d'une noisette pour afficher les commentaires d'un article
File size: 2.8 KB
Line 
1<?php 
2if (!defined("_ECRIRE_INC_VERSION")) return;
3global $tables_principales;
4
5function comments_phpbb_declarer_tables_principales($tables_principales){
6 
7  /*
8      Table utilisée par le plugin (crée à l'install)
9    */
10
11    // Définir les champs de la table
12    $spip_articles_phpbb = array(
13        "id_article" => "BIGINT(21) NOT NULL",
14        "topic_id" => "INT(10) NOT NULL"
15    );
16    // Définir les clés
17    $spip_articles_phpbb_key = array(
18        "PRIMARY KEY" => "id_article"
19    );
20
21    // Associer les clés à la table
22    $tables_principales[ARTICLES_PHPBB_TABLE] = array(
23      'field' => &$spip_articles_phpbb,
24      'key' => &$spip_articles_phpbb_key
25    );
26
27
28  /*
29        Déclaration des tables du forum
30    */
31    // table des utilisateurs
32    $phpbb_users = array(
33            'user_id' => 'mediumint(8) NOT NULL',
34            'username' => 'VARCHAR(255) NOT NULL',
35            'group_id' => 'mediumint(8) NOT NULL');
36
37    $phpbb_users_key = array(
38            'PRIMARY KEY' => 'user_id');
39
40       $tables_principales[PHPBB_PREFIX.'users'] = array(
41            'field' => &$phpbb_users,
42            'key' => &$phpbb_users_key);
43   
44    // table des forums
45    $phpbb_forums = array(
46            'forum_id' => 'mediumint(8) NOT NULL',
47            'forum_name' => 'VARCHAR(255) NOT NULL',
48            'parent_id' => 'mediumint(8) NOT NULL');
49           
50    $phpbb_forums_key = array(
51            'PRIMARY KEY' => 'forum_id');
52
53       $tables_principales[PHPBB_PREFIX.'forums'] = array(
54            'field' => &$phpbb_forums,
55            'key' => &$phpbb_forums_key);
56
57    // table des posts
58    $phpbb_posts = array(
59            'post_id' => 'mediumint(8) NOT NULL',
60            'topic_id' => 'mediumint(8) NOT NULL',
61            'forum_id' => 'mediumint(8) NOT NULL',
62            'poster_id' => 'mediumint(8) NOT NULL',
63            'post_time' => 'int(11) NOT NULL',
64            'post_username' => 'varchar(255) NOT NULL',
65            'post_subject' => 'varchar(255) NOT NULL',
66            'post_text' => 'mediumtext NOT NULL',
67    );
68
69    $phpbb_posts_key = array(
70            "PRIMARY KEY" => "post_id",
71            "KEY topic_id" => "topic_id"
72    );
73
74
75    $tables_principales[PHPBB_PREFIX.'posts'] = array(
76            'field' => &$phpbb_posts,
77            'key' => &$phpbb_posts_key);
78
79// table des topics
80    $phpbb_topics = array(
81            "topic_id" => "mediumint(8) NOT NULL",
82            "forum_id" => "mediumint(8) NOT NULL",
83            "topic_last_post_id" => "mediumint(8) NOT NULL");
84           
85    $phpbb_topics_key = array(
86            'PRIMARY KEY' => 'topic_id');
87
88       $tables_principales[PHPBB_PREFIX.'posts'] = array(
89            'field' => &$phpbb_topics,
90            'key' => &$phpbb_topics_key);
91           
92        return $tables_principales;
93}
94
95function comments_phpbb_declarer_tables_interfaces($interface){
96        // definir les jointures possibles
97        $interface['tables_jointures'][PHPBB_PREFIX.'topic'][] = ARTICLES_PHPBB_TABLE;
98        $interface['tables_jointures']['spip_articles_phpbb'][] = PHPBB_PREFIX.'topic';
99        return $interface;
100
101}
102
103?>
Note: See TracBrowser for help on using the repository browser.