LOGIN ID Password Auto Login Register Now! Lost Password?
XOOPS2BasicManual
About XOOPS
JavaScriptをOnでご覧ください。

2.11 ユーザーランキング設定詳細

ユーザーランキングシステム概要

XOOPSはコミュニティ構築システムであるため、お遊び的な機能も用意されていて、その一つがこのランキング機能です。

ただ、お遊び機能だけあって、ソースコードを追ってみたら驚くことばかりの、やっつけ仕事です。一応、一通り解説します。

XOOPSの「ランク」には大きく分けて2種類があります。

  • 特別ランク
  • 通常ランク

実のところ、一般的な意味でランク(階級)と呼べる概念は、「特別ランク」だけです。特別ランクは、ユーザ編集から、ユーザ毎に設定することが設定することができます。 *1

ただし、ランクはあくまでお遊びの機能であり、「管理人」や「モデレータ」という特別ランクをつけたところで、そのユーザの権限にはなんの影響も及ぼしま せん。その唯一に近い例外が、システムモジュールが提供する「投稿ランキングブロック」で、ここでは、特定の特別を持つユーザを投稿数ランキングから除外 する設定も可能です。「ランキング」という言葉が2種類出ているので混乱しそうですが、投稿ランキングは単に投稿の多いユーザのベストNというだけの意味 で、本来「特別ランク」とはまったく関係ありません。

特別ランク」をつけられたユーザのランクは、ユーザ編集で変更されない限り、自動更新されたりはしません。一方、特別ランクを持たないユーザは、単にランクを持たないユーザとして扱われます。 *2

ランクを持たないユーザについて、モジュールがユーザのランクを表示する際に、投稿数からその都度算出されるものが「通常ランク」です。

通常ランク」は最低投稿数と最高投稿数を持ち、その間の投稿数を持つユーザがそのランクとして表示される仕組みです。

しかし、その算出方法がまたお粗末で、与えられた投稿数に対して、最低投稿数以上かつ最高投稿数以下という条件を満たす、任意のランクが返ってきてしまうようなSQLで問い合わせています *3

意図した通りのランク適用としたい場合は、最低投稿数と最高投稿数については、かぶらないように設定する必要があるでしょう。(以上と以下なので、同じ数字もアウトです)

例えば以下のように設定します。

0-49: 新人
50-99: 半人前
100-199: 常連

ユーザランキング設定

以下の操作管理を提供します。

  • ユーザランク一覧画面
    • ランク名・最低投稿数・最大投稿数・画像・特別ランクの表示
    • ランキング編集画面へのリンク
    • ランキング削除
  • 新規ランクの追加(編集も同様)
    • ランク名の入力
    • 最低投稿数
    • 最高投稿数
    • ランク専用画像のアップロード
    • 特別ランクかどうか
参考画像
※デフォルト状態のユーザランキング設定画面

画像のアップロードの仕様は以下の通りです。

許可されるファイル拡張子 ・gif
・jpeg
・jpg
・png
ファイルサイズ上限 100000 (byte)
ファイルピクセル数上限 120x120 (px)
保存先ディレクトリ uploads/ 直下(書込可である必要あり)
保存ファイル名 rank(ハッシュ部).(拡張子)
NOTE

*1 usersテーブルのrankフィールドに保存されます
*2 usersテーブルのrankフィールドは0です
*3 実際にはMySQLの実装によって、固定的に返ってきますが


Previous
2.17 コメントマネージャー詳細
Top of contents Next
2.10 顔アイコン設定詳細
Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities