Xoops 投稿してほしくない文字を設定

Xoops

Xoops 投稿してほしくない文字を設定

手軽に会員制サイトを作成できるXoops
フォーラムや、ブログのコメントなど、投稿を許可していると、性的な言葉や暴力、特定の宣伝や勧誘など、入力されたくない文字を禁止したいですよね。

設定画面から設定ができます。
各モジュール別ではなく、共通で、場所が分かりにくいので書いておきます。

  1. 管理メニュー→互換モジュール→Xoopsコンフィグへ進む
  2. 禁止用語設定の右側の鉛筆アイコンをクリック
  3. 禁止用語処理を有効にする を「はい」にチェックをつけ、禁止文字を「禁止用語」入力欄に|で区切って記載します。

Xoops 必須入力項目の設定

Xoops

Xoops ユーザー情報に必須項目を設定する

Xoops Cube Legacy-2.1.x

Xoopsのユーザー情報設定は硬直的で、追加したり減らしたりが難しいです。

Xoops ユーザー情報をカスタマイズするのシリーズにて、ユーザー情報のカスタマイズをしました。
今回は、その設定したユーザー情報を必須にする方法です。

Xoops ユーザー情報をカスタマイズする]],[[Xoops ユーザー情報をカスタマイズする2]],[[Xoops ユーザー情報をカスタマイズする3の手順は終わっているものとします。

注意:下記の手順はソースコードのHackになります。バックアップを取って自己責任で行ってください。MySQLやPHPの知識がある人向けです。

例では、furiganaという項目を作り、氏名を入力させることにします。
これを必須にします。
furiganaという項目には、フリーのテキストが入るとします。

  • /modules/user/forms/UserRegisterEditForm.class.php

function prepare()
内のプロパティを編集します。

 $this->mFieldProperties['furigana'] =& new XCube_FieldProperty($this);
   $this->mFieldProperties['furigana']->setDependsByArray(array('required'));
 $this->mFieldProperties['furigana']->addMessage('required', _MD_USER_ERROR_REQUIRED, _US_FURIGANA);
  • 次に、言語ファイルに、エラーメッセージの文言の定義を追加しておきます。

/preload/ThemeLanguage.class.php
など、新しく言語ファイルを作って、preload内にでも入れておくのが簡単でよいでしょう。

 define('_US_FURIGANA','フリガナ'); 
 define('_MD_USER_ERROR_FURIGANA','フリガナは必ず入力してください');

と、文言を定義しておきます。

上記でユーザー登録時に、必須項目になりました。

  • 次に、ユーザーが自身の情報を編集する際に必須にします。

/modules/user/forms/EditUserForm.class.php
function prepare()
内のプロパティを編集します。

 $this->mFieldProperties['furigana'] =& new XCube_FieldProperty($this);
 $this->mFieldProperties['furigana']->setDependsByArray(array('required'));
 $this->mFieldProperties['furigana']->addMessage('required', _MD_USER_ERROR_FURIGANA, _MD_USER_LANG_FURIGANA);

上記で、ユーザーが自分の情報を編集するときに必須になりました。

  • 管理画面からユーザー情報を編集する際に必須にします。

/modules/user/admin/forms/UserAdminEditForm.class.php
function prepare()
内のプロパティを編集します。

 $this->mFieldProperties['furigana'] =& new XCube_FieldProperty($this);
 $this->mFieldProperties['furigana']->setDependsByArray(array('required'));
 $this->mFieldProperties['furigana']->addMessage('required', _MD_USER_ERROR_FURIGANA, _US_FURIGANA);

これで、ユーザー情報編集画面にて編集時に必須になりました。

関連:Xoops ユーザー情報をカスタマイズする

Xoops を使った会員制サイトの構築はこちら

Xoops リダイレクトのメッセージだけ文字化けする

Xoops

Xoops リダイレクトのメッセージだけ文字化けする

XOOPS Cube Legacy 2.1.8

Xoopsのログインした後などに短い時間だけ表示される、「ようこそ」のようなリダイレクトのメッセージだけ、文字化けする場合があります。

PHPファイルなどの文字コード、mbstringの文字コードなど、見直してみても治りません。
明示的に

 <meta http-equiv="content-type" content="text/html; charset=EUC-JP" />

と書いてあるのに、ブラウザがUTF-8と判別してしまって文字化けしているのです。(>_<) 原因は、Webサーバー(ここではApache)の文字コードがデフォルトでUTF-8になっていたことでした。
PHPで何もheaderの文字コードを送信しない場合、UTF-8になっていたようです。
Apacheの設定ファイル、httpd.confを開いて

 AddDefaultCharset UTF-8

となっていたら、これを次のようにコメントアウトしましょう。

 #AddDefaultCharset UTF-8
 service httpd restart

でWebサーバーを再起動すれば治りました。

Xoops ユーザーリストを選んでメール送信

Xoops

Xoopsでユーザーリストを選んでメールを送信する

Xoops Cube Legacy-2.1.x

会員制サイトなどを手軽に作成できるXoops。
会員全員にメールを送りたいときや、あるグループに向けてメールを送ることも、もちろん簡単にできます。
何日以内にログインしている、とかもちろんユーザー名で絞り込むこともできますよ。

管理画面からは、直感的に分かりにくいので書いておきます。

  1. 管理画面へ管理者でログインします。
  2. 「ユーザーモジュール」→「ユーザー検索」へ行きます。
  3. 検索条件を記入、選択などして検索をクリックします。
  4. 抽出されたリストが想定していたものであれば、右上の「この条件でメールを送信」をクリックします。
  5. タイトル、本文、送信元アドレスなどを記入して、送信します。

以上です。

Xoops を使った会員制サイトの構築はこちら

Xoops モジュールのアンインストール

Xoops

モジュールをアンインストールする

XOOPS Cube Legacy 2.1.6a

Xoopsのモジュールアンインストールですが、いつも「あれ?どうだっけ」と忘れがちなのでメモしておきます。

  1. モジュールのアンインストールは、モジュールを一度非アクティブにする必要があります。
  2. 互換モジュール→モジュールの管理から、まずアンインストールしたいモジュールの、アクティブ列のチェックをはずして、「アップデート」をクリックします。
  3. モジュールを非アクティブにしたら、またモジュール管理画面に戻り、「操作」の列に増えたアンインストールアイコンをクリックします。
  4. modules ディレクトリの中から、該当のモジュールのディレクトリを削除します。
    • ありがとうございます。削除できました。インストールは簡単ですが、知ってないとなかなか削除が難しいです。 — べびーだっく {2016-10-31 (月) 11:09:49}