Twitterフレンド限定公開プラグイン

このプラグインについて

特定のエントリー・ページ・メディアを、Twitterフレンド(自分がフォローしている人)のみに公開することができます。(管理画面にログインしているユーザーは、認証は不要です。)

公開制限は、グループ単位で行います。

Twitterフレンド限定公開プラグイン

広告

ダウンロード

以下のリンクからプラグインをダウンロードできます。(GitHubに遷移します。)

GitHubの緑ボタン「Code」内にある「Download ZIP」からすべてのプラグインをダウンロードできるので、解凍後に作成されるフォルダの中から twitter_friends フォルダを入手してください。

導入方法

準備

あらかじめ管理者ページにログインしておきます。

エントリー・ページ・メディアで、制限したいものに対して閲覧制限機能をONにします。

  • エントリーの閲覧制限機能をONにする場合、管理メニューから「システム」→「設定管理」→「本体の設定」→「エントリーの設定」を選択し、「閲覧制限機能」を「利用する」に設定しておきます。
  • ページの閲覧制限機能をONにする場合、管理メニューから「システム」→「設定管理」→「本体の設定」→「ページの設定」を選択し、「閲覧制限機能」を「利用する」に設定しておきます。
  • メディアの閲覧制限機能をONにする場合、管理メニューから「システム」→「設定管理」→「本体の設定」→「メディアの設定」を選択し、「閲覧制限機能」を「利用する」に設定しておきます。

ファイルのアップロード

twitter_friends/ 内の configs/libs/templates/ を、freo設置ディレクトリ内にアスキーモードで上書きアップロードします。

パーミッションの設定

ブラウザソフトで freo/index.php/setup にアクセスすると、必要なパーミッションが自動設定されます。

ただし、設置時に「ご利用のサーバーは、PHPから直接パーミッションを設定することができない環境のようです。」と表示された環境の場合は自動設定されないので、FTPソフトで以下のファイルのパーミッションを設定してください。

対象 パーミッション
configs/plugins/twitter_friends.ini 606 に設定

テンプレートの編集

templates/internals/view/default.html の60行目あたりにある

<!--{if $entry_associate.option}-->
<dl>
  <!--{foreach from=$freo.refer.options|smarty:nodefaults item='option'}-->
  ~略~
  <!--{/foreach}-->
</dl>
<!--{/if}-->

の直下と、templates/internals/page/default.html の50行目あたりにある

<!--{if $page_associate.option}-->
<dl>
  <!--{foreach from=$freo.refer.options|smarty:nodefaults item='option'}-->
  ~略~
  <!--{/foreach}-->
</dl>
<!--{/if}-->

の直下と、templates/internals/file/error.html にある

<h2>エラー</h2>
<p class="attention">{$message}</p>

の直下に、以下のコードを追加します。

{include file='plugins/twitter_friends/twitter_friends.html'}

また、制限された記事を一覧に表示するように設定している場合、templates/internals/default/default.html の135行目あたりにある

<!--{if $entry_associates[$entry.id].option}-->
<dl>
  <!--{foreach from=$freo.refer.options|smarty:nodefaults item='option'}-->
  ~略~
  <!--{/foreach}-->
</dl>
<!--{/if}-->

の直下にも追加しておきます。

設定

管理者ページにログイン後、管理メニューから「システム」→「設定管理」→「プラグインの設定」→「Twitterフレンド限定公開プラグイン」を選択すると、「スクリーンネーム」と「対象グループ」を設定することができます。

「スクリーンネーム」に例えば freo_jp と設定した場合、Twitterで @freo_jp にフォローされている人にのみ、特定の記事を公開することができます。

「対象グループ」に例えば twitter_friends と設定した場合、IDが twitter_friends のグループを割り当てた記事が、認証を要求する記事となります。特にこだわりがなければ、変更する必要はありません。

グループは、あらかじめ管理画面から作成しておく必要があります。管理メニューの「システム」→「グループ管理」から、グループを作成します。グループのIDは先程設定した値(初期値は twitter_friends です。)を、グループ名は「Twitterのフレンド」など自分で判るものを、説明と並び順は任意の値を入力して登録します。

完了

エントリー・ページ・メディアを登録する際、上で設定したグループを割り当てて登録します。初期設定ではグループを設定した記事は一覧に表示されませんが、記事のURLを直接指定すれば認証画面が表示されます。

管理画面にログインしていない状態で認証を要求する記事にアクセスし、認証画面が表示されれば完了です。認証ができるか実際に試してみてください。(管理画面にログインしている場合は表示されません。)

なお、ユーザーを登録する際に上で設定したグループを割り当てると、常に記事へアクセスできるユーザーになります。

機能解説

目次

Twitterアプリを自分で登録

Twitterで認証するプログラムを作成する場合、本来はあらかじめTwitterにアプリの情報を登録する必要があります。そして登録完了時に発行されるキーをプログラム側に設定する必要があります。

このプラグインはデフォルトで、freo用にあらかじめ発行したキーを使用しているので登録は不要ですが、自分で発行したキーを使用することもできます。その場合、config.twitter_followers.php にある

//Consumer key
define('FREO_PLUGIN_TWITTER_FRIENDS_CONSUMER_KEY', '33cqKM99PQm0JHdQ89pfCg');

//Consumer secret
define('FREO_PLUGIN_TWITTER_FRIENDS_CONSUMER_SECRET', 'PaH7bjRRKwNje0baa2ltAl5X7HRkVcq972wySECFg');

この部分にキーを設定してください。ただしキーの取得についてはサポート外とします。

一度認証したアプリを削除

はじめてこのプラグインで認証する際、一旦Twitterのページに飛ばされて認証を行います。ですが2回目以降は認証がスキップされます。

一度認証したアプリを削除(認証を取消し)したい場合、Twitterにログインして「設定 → アプリ連携」から行うことができます。

携帯からのアクセス

携帯からのアクセスには対応していません。

削除方法

このプラグインは、以下の手順で削除できます。

ファイルの編集

テンプレートの編集内容を元に戻します。

ファイルの削除

以下のファイルを削除します。

  • configs/plugins/twitter_friends.ini
  • libs/freo/plugins/config.twitter_friends.php
  • libs/freo/plugins/page.twitter_friends.php
  • templates/plugins/twitter_friends/ (ディレクトリごと削除)

また、他のプログラムから利用しない場合 libs/PEAR/ 内から不要なファイルを削除しても大丈夫ですが、よく解らなければそのままにしておくことを推奨します。

更新履歴

  • 最新版との差分ファイルを一覧表示できます。
  • 使用しているTwitterフレンド限定公開プラグインのバージョンを入力してください。
  • 更新内容の詳細は、以下の更新履歴を確認してください。
差分調査
使用しているバージョン

2014/01/22 Ver 1.0.2
  • Twitter API の仕様変更に合わせて調整。

バージョンアップは、以下のファイルを最新版付属のものに差し替えてください。

2013/06/29 Ver 1.0.1
  • Twitter API をバージョン1.1に調整。

バージョンアップは、以下のファイルを最新版付属のものに差し替えてください。

2013/01/10 Ver 1.0.0

正式版を公開しました。