PluginForum14

提供: GeeklogJpWiki

[4]運用方法 > 日常の管理作業 > コンテンツ追加と管理 > コンテンツタイプ > 掲示板プラグインを運用する

目次

掲示板プラグインを運用する

はじめに

掲示板プラグインは,GeeklogのプラグインAPIを使用したGeeklog純正の掲示板プラグインであり,Geeklogのパーミッションシステムが組み込まれています。 掲示板ごとに管理するモデレータ、閲覧できるグループを設定できます。

掲示板
掲示板管理画面

バージョン 2.3.2 からの変更

バージョン 2.3.1 は 2.3.2 にアップグレードすることを強くお勧めします。新しいナビゲーションバーを追加する過程で,以前のヘッダ関数には含まれていた,管理者権限があるかどうかをチェックするコードをうっかり削除してしまいました。このため,掲示板の管理機能にアクセスされる可能性があります。

バージョン 2.5 は,使用されているHTMLテンプレートとCSSを整理し直し,単純化するということを主眼として大幅に書き直されました。今では,テンプレートは用途がわかりやすくなるようサブディレクトリに整理されています。掲示板では,CSSを基にしたボタンを使い,概観を変更しやすいよう画像をほとんど使っていません。

新しい機能

  • 新しいBBCodeをサポート
  • CSSを基にしたボタンを新しいテンプレートを使用した全く新しい外観
  • オンラインの管理オプション・設定を大幅に追加
  • プラグインエディタを使用したバージョン 2.3.2 からのオンラインアップデート(Geeklog 1.3.11 が必要)
  • 書込禁止掲示板を新たにサポート
  • プライベート掲示板をサポート
  • RDF/RSSフィードをサポート
  • モデレータを追加・編集するモデレータの管理部門を完全に書き直し。モデレーションの権限をグループに与えることができるようになりました。
  • 討論のスレッドを分けることができる新しいモデレーション機能「トピック」。1回の投稿で新しいトピックを始めたり,投稿全てをこの投稿の下に移動させることができるようになりました。
  • GeSHiライブラリを使用した新しいコードフォーマット機能
  • 新しい引用のフォーマット
  • トピックに追加のレスがあり,かつ,トピックを読んだ後でサイトを訪問していない場合に,追加の通知を受け取らないようにする新しいユーザ設定
  • 強化されたセンターブロック機能。表示されている情報の上にマウスを移動させると,トピック・投稿に関する追加の情報が表示されます。センターブロックのセルをクリックすると,トピックや直前の投稿へジャンプします。
  • 最後の投稿に直接ジャンプする機能をサポート
  • 通知管理ページを改良
  • メッセージの管理ページを完全に書き直し。ユーザごとや掲示板ごとにメッセージを閲覧できるようになりました。
  • メンバーをリストアップする機能を完全に書き直し
  • メンバーが古い投稿を編集するのを防止する新しい編集期限機能。投稿がロックされるまでの時間を分単位で管理者は設定できるようになりました。モデレータは期限後でも投稿を編集できます。
  • 他の掲示板の投稿を参照するために,投稿文内で自動タグをサポート(例: [forum:2340 here])

ライセンス

このGeeklogプラグインは,Geeklog同様に,GNU General Public License のもとでライセンスされています。このプラグインは純正のオープンソース/フリーソフトウェアソフトウェアです。

優れたオープンソースソフトウェア全般と同様に,Geeklogとこのプラグインは共にコミュニティに依存しています。皆さん方の継続したサポートに感謝します。Geeklogとこのプラグインをよりよりものにするために,私たちに何ができるか知らせてください。

新規インストール

Geeklogドキュメントプロジェクトサイトにあるプラグインのインストール概要を読んで参照することをお勧めします。説明用の画像を含むプラグインのインストール方法の詳細に関して遙かに多くのことがあります。

そのドキュメントへのリンクはここです。

プラグインをインストールするには,手動でプラグインのディレクトリを作成し,ファイルを適切なディレクトリにコピーします。

  1. データベースのバックアップ
    組み込みの管理者機能を使用して,Geeklogデータベースのバックアップを取ります。バックアップ機能がきちんと設定されており,バックアップファイルのサイズがゼロでないことを確認してください(チェックする価値はありますよ)。
  2. プラグインのファイルを必要なディレクトリにコピーします。下記に示すように,ディレクトリを作成する必要があります。圧縮ファイルを <geeklog_dir>/plugins ディレクトリに展開します。forum という名前のディレクトリと関連するサブディレクトリができます。admin ディレクトリと public_html ディレクトリ内のファイルは下に示すように,適切なディレクトリに移動させる必要があります。
    1. public_html/ - 主要なプログラムファイル
      新たにできた plugins/forum/public ディレクトリ内のファイルは <geeklog_dir>/public_html/forum/ ディレクトリに移動させる必要があります。
      移動する前に <geeklog_dir>/public_html/forum ディレクトリを作成しなければなりません。
    2. admin/ - プラグインのインストールと主要な管理用プログラムファイル
      新たにできた plugins/forum/admin ディレクトリ内のファイルは <geeklog_dir>/public_html/admin/plugins/forum ディレクトリに移動させる必要があります。
      最初に,<geeklog_dir>/public_html/admin/plugins/forum ディレクトリを作成しなければなりません。
    3. layout/ - テーマ,CSS,画像用ディレクトリ
      新たにできた plugins/forum/themefiles/forum ディレクトリは <geeklog_dir>/public_html/layout/テーマ名 ディレクトリの下に移動させる必要があります。
      レイアウト用のファイルはテーマディレクトリごとに追加する必要があります。テーマディレクトリの下に forum というサブディレクトリを作成し,その中にレイアウト用のファイルをコピーします。
      たとえば,Professionalテーマの場合,public_html/layout/professional/forum というディレクトリを作成し,このディレクトリの下に image_set, javascript, layout のディレクトリを作成することになります。
    4. テーマ用のCSSを更新
      新しい掲示板テンプレート用のCSSをお使いのテーマの style.css に追加します。
      新しいCSSはアーカイブファイル中の /forum/theme-files/additional-forum.css に定義されています。このファイルの内容をお使いのテーマの style.css の最後に追加してください。
    5. Geeklogのシステムディレクトリで必要なライブラリを更新
      アーカイブの system ディレクトリ内の次のファイルを geeklog_dir/system ディレクトリにコピーします。
      • system/lib-portalparts.php - 旧バージョンが存在している場合は,上書きしてください。
      • 新しい pear クラスファイルを system/pear ディレクトリにコピーしてください。新しい HTML ディレクトリと関連ファイルです。
    6. ディレクトリとファイルのパーミッション
      ディレクトリとファイルのオーナーはWebサーバーにしてください。
      全てのファイルとディレクトリは読み込むパーミッション,ディレクトリは実行するパーミッションが必要です。プラグインの全てのファイルに読み込み+実行パーミッションを与えてもセキュリティ上の問題にはならないはずですが,PHPのファイルを実行するには読み込み権限しか必要はありません(訳注:PHPをCGIモードで実行している場合は,実行権限が必要です)。検索・アクセスのために,ディレクトリには実行権限が必要です。
  3. インストールプログラムを実行
    1. 管理者としてログイン
      掲示板プラグインはプラグインエディタから直接インストールした方がよいでしょう。Geeklogはインストール済みの全プラグインを表示し,インストールされていないものはリンクを提示します。インストールする前に,プラグインのファイルを全て所定の場所に配置しておかなければなりません。
      注:万一,エラーが発生した場合,インストーラはデータベースの変更を元に戻すよう設計されています。エラーログ(<geeklog_dir>/logs/error.log)を見ることで,インストーラを監視できます。
    2. インストール成功を検証
      • データベースのテーブルが作成されたことを示すメッセージが表示されましたか?
      • トップヘッダ(グローバルメニュー)に掲示板へのリンクができているはずです。
      • 管理者としてログインすると,管理者メニュー掲示板メニューが表示されているはずです。
    3. <geeklog_dir>/logs/error.log でインストールを確認。
  4. テンプレートファイルを更新
    サイトのテンプレートファイルやテーマはCSSのスタイル設定を更新する必要があります。テンプレートファイルは, public_html/layout/テーマ名/forum/ ディレクトリの下にあります。追加するスタイルは,アーカイブの plugins/forum/themefiles ディレクトリにある additional-forum.css ファイルに含まれています。additional-forum.css 中のスタイル定義をお使いのテーマの style.css に追加してください。お好きなように,フォントや色をカスタマイズしてください。次の CSS定義を変えることで,ほとんどの効果を目にすることができるでしょう。

アップグレード

既存の掲示板バージョン 2.3.2 の使用者へ

  1. データベースのバックアップとサイトのファイルのバックアップを取っているのを確認してください。
    Geeklog 1.3.11 を使っており,掲示板プラグイン 2.3.2 をインストールしてあるのを確認してください。
    プラグインエディタから,インストールされているバージョンと新しいコードのバージョンを確認できます。プラグインのバージョン欄に '2.3.2 / 2.5RC1' と表示されているはずです。
  2. 変更に注意しつつ,インストールの段階ごとにプラグインのファイルを上書きしてください。
    • テーマのCSSを更新してください。
    • 掲示板テンプレート用の新しいCSSをお使いのテーマの style.css に追加します。
      新しい CSS はアーカイブ中の /forum/theme-files/additional-forum.css に定義されています。新しい CSS はお使いのテーマの style.css の最後に追加できます。
    • Geeklogのシステムディレクトリで必要なライブラリを更新します。
      プラグインが提供していファイルの中で,システムディレクトリ中のファイルをサイトの_dir/system ディレクトリにコピーします。
    • system/lib-portalparts.php があります。旧バージョンが存在している場合は,上書きしてください。
    • 新しい pear のクラスファイル(HTMLディレクトリと関連ファイル)を system/pear に追加してください。
    • プラグインエディタの一覧から,掲示板をクリックします。新しいページにジャンプして,更新ボタンが現れるはずです。
    • SQLの変更を処理するために,更新をクリックします。「更新に成功しました」というメッセージが表示されるはずです。プラグイン一覧へ戻ると新しいバージョンがインストールされているはずです。
    • 掲示板の管理者設定を見直してください。

ユーザ設定とメンバープロフィールの拡張

以下のことを行うには,少なくとも新しいプロフィールAPIを実装したバージョン 1.3.8 の Geeklog が必要です。

  1. 追加のユーザプロフィールを保存するために使われる掲示板の forum_userinfo テーブル。下記の最初の3つのフィールドは,名前を変えて他の用途に使用できます。特定の関心を持ったメンバーのサイトを運営しているなら,自動車の型式やスポーツチーム,犬の種類などを表現するのに使えるでしょう。追加のフィールドは,
    • Location - メンバーの国や町を表示するのに使えます
    • Interests - 趣味や他の情報を表示するのに使えます
    • Occupation - メンバーの支払い方法や Geeklog 以外の活動を表示するのに使えます
    • icq - ICQのハンドル
    • yim - Yahooインスタントメッセンジャーのハンドル
    • aim - AIMインスタントメッセンジャーのハンドル
    • msnm - Microsoftメッセンジャーのハンドル
      こうすることで,場所やインスタントメッセンジャーのIDなどのフィールドが追加されます。
  2. 掲示板API関数を使うと,メンバーがこれらの設定をアカウントプロフィールの画面で編集することができるようになります。その上,メンバーが投稿したトピックを閲覧するときに,これらのフィールドを他のユーザによるメンバーのプロフィールと共に表示できます。
    掲示板のコードにより,これらの変数が利用可能になりますが,サイトのテーマファイルを更新する必要があります。これらのフィールドの全部ないし一部をサイトに追加できます。一部をメンバープロフィールに表示してもよいし,掲示板のトピックビューに表示してもよいでしょう。
  3. 次の変数が使用でき,テンプレートファイルに挿入できます。2種類あります。
    • 'lang' で始まる変数は言語関係の変数であり,その内容はフィールドの説明です。掲示板の言語ファイルから読み出されるので,容易にカスタマイズできます。
    • 'forum' で始まる変数はデータベースのフィールド名ないしコードの変数なので,変更しない方がよいでしょう。注意を払う必要があるのは,メンバーの追加のデータを入力・編集するアカウントプロフィールテンプレートに関するものだけです。
      言語変数と関連のある言語ファイルの変数は次の通り:
    • {lang_forum} = $LANG_GF04['label_forum']
    • {lang_location} = $LANG_GF04['label_location']
    • {lang_aim} = $LANG_GF04['label_aim']
    • {lang_icq} = $LANG_GF04['label_icq']
    • {lang_yim} = $LANG_GF04['label_yim']
    • {lang_msnm} = $LANG_GF04['label_msnm']
    • {lang_interests} = $LANG_GF04['label_interests']
    • {lang_occupation} = $LANG_GF04['label_occupation']
      データフィールドの変数は次の通り:
    • {forum_location}
    • {forum_aim}
    • {forum_icq}
    • {forum_yim}
    • {forum_msnm}
    • {forum_interests}
    • {forum_occupation}
      言語ファイル中のフィールドの説明を変更することにより,これらのフィールドを他の用途に容易に再利用できます。たとえば, $LANG_GF04['label_occupation'] = 'Breed of Dog' といった具合に。
  4. layout/preferences/profile.thtml を編集して,メンバーがこれらの設定を編集できるよう,HTMLコードを追加してください。必要なものを全てないし一部を追加してください。
    どこに追加したいか見定めてください。たぶん,PGP項目の後でしょう(あるいは,利用者が多くないので,この項目を削除してもよいでしょう)。同じようにフォーマットしたHTMLを使い,変数ごとに新しいテーブルレコードを使用することになるでしょう。次に示すのは,追加のフィールドの例です。
<tr valign="top">
    <td align="right"><b>{lang_location}</b></td>
    <td><input type="text" name="forum_location" size="30" maxlength="50" value="{forum_location}"></td>
</tr>

5. layout/users/profile.thtml を編集して,追加のフィールドの全部ないし一部を表示するためのHTMLを追加します。たとえば,インスタントメッセンジャーのIDは掲示板にしか表示したくないでしょう。
どこに追加したいか見定めてください。たぶん,PGP項目の後でしょう。同じようにフォーマットしたHTMLを使い,変数ごとに新しいテーブルレコードを使用することになるでしょう。{lang}フォーマット変数しか必要でないように,情報を表示するだけです。次に示すのは,追加のフィールドの例です。

<tr valign="top">
    <td align="right"><b>{lang_location}:</b></td>
    <td>{forum_location}</td>
</tr>

6. デフォルトでは,掲示板の topic.thtml には既にこれらの追加の設定のほとんどが追加されています。しかしながら,必要に応じて場所を変更したり,削除しても構いません。{lang} フォーマットテンプレート変数しか使うべきではありません。 7. 最後に,管理者メニューの掲示板の管理を開き,追加のユーザ設定を Yes に設定して,掲示板の投稿内で表示されるようにします。

プラグインのディレクトリ一覧

  1. 主要なプラグインのファイル - <geeklog_dir>/plugins/forum
  2. /path/to/geeklog/plugins/forum/config.php
    プラグインのデータベース設定
  3. /path/to/geeklog/plugins/forum/functions.inc
    GeeklogプラグインAPIを実装
  4. /path/to/geeklog/plugins/forum/language/english.php
    英語の言語ファイル
  5. /path/to/geeklog/plugins/forum/templates
    プラグインのインストール・アンインストール用テンプレートファイル
  6. /path/to/geeklog/plugins/forum/themefiles
    サイトでお使いのテーマディレクトリにコピーする必要のある掲示板プラグインのテーマ・テンプレートファイル

config.php

<?php
//
// +---------------------------------------------------------------------------+
// | Forum Plugin for Geeklog - The Ultimate Weblog                            |
// +---------------------------------------------------------------------------+
// | config.php                                                                |
// +---------------------------------------------------------------------------+
// | Copyright (C) 2002 by the following authors:                              |
// |                                                                           |
// | Author:                                                                   |
// | Copyright (C) 2002,2003,2004,2005 by the following authors:               |
// | Blaine Lang                 -    blaine@portalparts.com                   |
// +---------------------------------------------------------------------------+
// |                                                                           |
// | This program is free software; you can redistribute it and/or             |
// | modify it under the terms of the GNU General Public License               |
// | as published by the Free Software Foundation; either version 2            |
// | of the License, or (at your option) any later version.                    |
// |                                                                           |
// | This program is distributed in the hope that it will be useful,           |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of            |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             |
// | GNU General Public License for more details.                              |
// |                                                                           |
// | You should have received a copy of the GNU General Public License         |
// | along with this program; if not, write to the Free Software Foundation,   |
// | Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.           |
// |                                                                           |
// +---------------------------------------------------------------------------+
//


$CONF_FORUM['debug'] = false;
$CONF_FORUM['version'] = '2.6';

// Set to true if you are not using MYSQL 4.0.0 or greater and this will improve performance.
$CONF_FORUM['mysql4+'] = false;

// Set to true if you need to handle previous version 2.5 quotes and new line formatting - setting to false should be faster
$CONF_FORUM['pre2.5_mode'] = true;

// When a user or moderator edits a story - if the default should be to not change post timestamps
// and trigger any user notifications - then set default as true
$CONF_FORUM['silent_edit_default'] = true;

// Able to set the width of the member avatar in pixels. 
// Default is to use the member's uploaded image and size GL site has for creating this thumbnail image.
// If a value is defined for this setting, the forum will resize the displayed image to this defined width
$CONF_FORUM['avatar_width'] = '';

// The BBCode tag [img] is enabled by default - set this to false to disable it
$CONF_FORUM['allow_img_bbcode'] = false;

// Disabled by default for performance gains. Enable if you need to show moderators on the main forum index page
$CONF_FORUM['show_moderators'] = false;

$CONF_FORUM['imgset'] = $_CONF['layout_url'] .'/forum/image_set';
$CONF_FORUM['imgset_path'] = $_CONF['path_layout'] .'/forum/image_set';

/* The forum uses a number of icons and you may have a need to use a mixture of image types.
 * Enabling the $CONF_FORUM['autoimagetype'] feature will invoke a function that will first
 * check for an image of the type set in your themes function.php $_IMAGE_TYPE 
 * If the icon of that image type is not found, then it will use an image of type 
 * specified by the $CONF_FORUM['image_type_override'] setting.

 * Set $CONF_FORUM['autoimagetype'] to false to disable this feature and 
 * only icons of type set by the themes $_IMAGE_TYPE setting will be used
*/
$CONF_FORUM['autoimagetype'] = true;
$CONF_FORUM['image_type_override'] = 'gif'; 

// Default date/time format to use if Forum setting for allow user-dateformat is disabled
$CONF_FORUM['default_Datetime_format'] = '%m/%d/%y %H:%M %p';

// Date format that is shown at the top of of the topic post used if Forum setting for allow user-dateformat is disabled
$CONF_FORUM['default_Topic_Datetime_format'] = '%B %d %Y %H:%M %p'; 

/* Number of characters of the topic contents when hovering over the topic post subject link */ 
$CONF_FORUM['contentinfo_numchars'] = 256;
/* Width of pop-up info window that is displayed when hovering over topic posts. Also refer to the CSS declaration 'info' */
$CONF_FORUM['linkinfo_width'] = 40;

/* Format style for quotes */
$CONF_FORUM['quoteformat'] = "[QUOTE][u]Quote by: %s[/u][p]%s[/p][/QUOTE]";

$CONF_FORUM['show_popular_perpage'] = '20';    // @TODO: Need to make this an online admin setting

$CONF_FORUM['use_glmenu'] = false;          // Should glMenu be used for this menublock;


/*************************************************************************
*          Do not modify any settings below this area                    *
*************************************************************************/

// Adding the Forum Plugin tables to $_TABLES array
$_TABLES['gf_userprefs']    = $_DB_table_prefix . 'forum_userprefs';	
$_TABLES['gf_topic']        = $_DB_table_prefix . 'forum_topic';
$_TABLES['gf_categories']   = $_DB_table_prefix . 'forum_categories';
$_TABLES['gf_forums']       = $_DB_table_prefix . 'forum_forums';
$_TABLES['gf_settings']     = $_DB_table_prefix . 'forum_settings';
$_TABLES['gf_watch']        = $_DB_table_prefix . 'forum_watch';
$_TABLES['gf_moderators']   = $_DB_table_prefix . 'forum_moderators';
$_TABLES['gf_banned_ip']    = $_DB_table_prefix . 'forum_banned_ip';
$_TABLES['gf_log']          = $_DB_table_prefix . 'forum_log';
$_TABLES['gf_userinfo']     = $_DB_table_prefix . 'forum_userinfo';

if ($pi_version >= 2.6) {
    /* Retrieve the list of blocks to show on the left side and make the forum menu the first block */
    $CONF_FORUM['leftblocks'] = array ('forum_menu');
    $CONF_FORUM['leftblocks'] = ppGetUserBlocks($CONF_FORUM['leftblocks']);

    /* Don't change any settings below this line */
    /* Retrieve the forum global settings and user preferences and save to config array */
    $result = DB_query("SELECT * FROM {$_TABLES['gf_settings']}");
    $A = DB_fetchArray($result);
    $CONF_FORUM['registration_required']  = $A['registrationrequired'];
    $CONF_FORUM['registered_to_post']     = $A['registerpost'];
    $CONF_FORUM['allow_html']             = $A['allowhtml'];
    $CONF_FORUM['post_htmlmode']          = $A['post_htmlmode'];    
    $CONF_FORUM['use_glfilter']           = $A['glfilter'];
    $CONF_FORUM['use_geshi']              = $A['use_geshi_formatting'];
    $CONF_FORUM['use_censor']             = $A['censor'];
    $CONF_FORUM['show_moods']             = $A['showmood'];
    $CONF_FORUM['allow_smilies']          = $A['allowsmilies'];
    $CONF_FORUM['allow_notification']     = $A['allow_notify'];
    $CONF_FORUM['allow_user_dateformat']  = $A['allow_userdatefmt'];
    $CONF_FORUM['show_topicreview']       = $A['showiframe'];
    $CONF_FORUM['use_autorefresh']        = $A['autorefresh'];
    $CONF_FORUM['autorefresh_delay']      = $A['refresh_delay'];
    $CONF_FORUM['show_subject_length']    = $A['viewtopicnumchars'];
    $CONF_FORUM['show_topics_perpage']    = $A['topicsperpage'];
    $CONF_FORUM['show_posts_perpage']     = $A['postsperpage'];
    $CONF_FORUM['show_messages_perpage']  = $A['messagesperpage'];
    $CONF_FORUM['show_searches_perpage']  = $A['searchesperpage'];
    $CONF_FORUM['views_tobe_popular']     = $A['popular'];
    $CONF_FORUM['convert_break']          = $A['html_newline'];
    $CONF_FORUM['min_comment_length']     = $A['min_comment_len'];
    $CONF_FORUM['min_username_length']    = $A['min_name_len'];
    $CONF_FORUM['min_subject_length']     = $A['min_subject_len'];
    $CONF_FORUM['post_speedlimit']        = $A['speedlimit'];
    $CONF_FORUM['statusmsg_pause']        = $A['statusmsg_pause'];
    $CONF_FORUM['use_smilies_plugin']     = $A['use_smiliesplugin'];
    $CONF_FORUM['use_pm_plugin']          = $A['use_pmplugin'];
    $CONF_FORUM['use_spamx_filter']       = $A['use_spamxfilter'];
    $CONF_FORUM['show_centerblock']       = $A['cb_enable'];
    $CONF_FORUM['centerblock_homepage']   = $A['cb_homepage'];
    $CONF_FORUM['centerblock_where']      = $A['cb_where'];
    $CONF_FORUM['cb_subject_size']        = $A['cb_subjectsize'];
    $CONF_FORUM['centerblock_numposts']   = $A['cb_numposts'];
    $CONF_FORUM['sb_subject_size']        = $A['sb_subjectsize'];
    $CONF_FORUM['sb_latestpostonly']      = $A['sb_latestposts'];
    $CONF_FORUM['sideblock_numposts']     = $A['sb_numposts'];
    $CONF_FORUM['allowed_editwindow']     = $A['edit_timewindow'];

    $CONF_FORUM['level1']                 = $A['level1'];
    $CONF_FORUM['level2']                 = $A['level2'];
    $CONF_FORUM['level3']                 = $A['level3'];
    $CONF_FORUM['level4']                 = $A['level4'];
    $CONF_FORUM['level5']                 = $A['level5'];
    $CONF_FORUM['level1name']             = $A['level1name'];
    $CONF_FORUM['level2name']             = $A['level2name'];
    $CONF_FORUM['level3name']             = $A['level3name'];
    $CONF_FORUM['level4name']             = $A['level4name'];
    $CONF_FORUM['level5name']             = $A['level5name'];

    // User Preference Config Parms. Check if user has set their preference or use defaults
    if(!empty($_USER['uid']) AND DB_getItem($_TABLES['gf_userprefs'],"uid","uid='{$_USER['uid']}'") == $_USER['uid']) {
        $sql = DB_query("Select * from {$_TABLES['gf_userprefs']} where uid = '{$_USER['uid']}'");
        $userprefs = DB_fetchArray($sql);
        $CONF_FORUM['show_topics_perpage']        = $userprefs['topicsperpage'];
        $CONF_FORUM['show_posts_perpage']         = $userprefs['postsperpage'];
        $CONF_FORUM['popular_limit']              = $userprefs['popularlimit'];
        $CONF_FORUM['show_members_perpage']       = $userprefs['membersperpage'];
        $CONF_FORUM['show_search_perpage']        = $userprefs['searchlines'];
        $CONF_FORUM['show_topicreview']           = $userprefs['showiframe'];
        $CONF_FORUM['show_anonymous_posts']       = $userprefs['viewanonposts'];
        $CONF_FORUM['notify_once']                = $userprefs['notify_once'];
    } else {
        // How many messages to show on the Most Popular page
        $CONF_FORUM['popular_limit'] = '20';
        // How many lines to show on one page in the search results
        $CONF_FORUM['show_search_perpage'] = 15;
        // How many users to show on one page in the memberlist results
        $CONF_FORUM['show_members_perpage'] = 10;
        // View Anonymous Posts - registed users can set this false
        $CONF_FORUM['show_anonymous_posts'] = 1;
        // Only send Notification once - even if more posts are created since your last visit
        $CONF_FORUM['notify_once'] = 1;
    }

}

?>

アドバンストエディタを設定する

以下のコードをsubmissionform_membertop.thtmlのTOPに挿入することで,投稿フォームにアドバンストエディタをセットできます。ただ,これを入れると,コードの B i u Quote Code List Img URLなどのJavaScriptが動きません。

<script type="text/javascript">
    // Setup editor path for FCKeditor JS Functions
    geeklogEditorBasePath = "{site_url}/fckeditor/" ;
    window.onload = function() {
        var oFCKeditor1 = new FCKeditor( 'input2' ) ;
        oFCKeditor1.Config['CustomConfigurationsPath'] = geeklogEditorBaseUrl + '/fckeditor/myconfig.js';
        oFCKeditor1.BasePath = geeklogEditorBasePath;
        oFCKeditor1.ToolbarSet = 'editor-toolbar1';
        oFCKeditor1.Height = 200 ;
        oFCKeditor1.ReplaceTextarea() ;
    }
</script>
個人用ツール