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

このプラグインについて

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

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

広告

ダウンロード

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

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

導入方法

準備

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

ファイルのアップロード

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

パーミッションの設定

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

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

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

設定

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

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

「認証を要求するページ」に例えば secret と設定した場合、IDが secret のページが、認証を要求するページとなります。また、例えば

  • about
  • gallery
  • gallery/illust
  • gallery/illust/aaa
  • gallery/illust/bbb
  • gallery/illust/ccc
  • gallery/secret
  • gallery/secret/aaa
  • gallery/secret/bbb
  • gallery/secret/ccc
  • link

というIDのページが登録されている場合、「認証を要求するページ」に gallery/secret/ と設定すると、

  • gallery/secret/aaa
  • gallery/secret/bbb
  • gallery/secret/ccc

ページが、認証を要求するページとなります。(階層構造を利用して、まとめて「認証を要求するページ」にすることができます。)

テンプレートの編集

このプラグインによる公開制限は、http://www.example.com/freo/page/gallery/secret/aaa のようなURLでアクセスされたときに働きます。

つまり、例えば http://freo.jp/sample/normal/page のように /page にアクセスすると、本文の一部が表示されてしまいます。本文を表示しないようにする場合、templates/internals/page/default.html の215行目あたりにある

<!--{foreach from=$pages|smarty:nodefaults item='page'}-->
<h3><a href="{$freo.core.http_file}/page/{$page.id}">{$page.title}</a></h3>
<!--{if $page_texts[$page.id].excerpt}-->
  <p>{$page_texts[$page.id].excerpt|smarty:nodefaults|strip_tags|mb_truncate:200:'...'|escape}</p>
<!--{/if}-->
<!--{/foreach}-->

この部分から

<!--{if $page_texts[$page.id].excerpt}-->
  <p>{$page_texts[$page.id].excerpt|smarty:nodefaults|strip_tags|mb_truncate:200:'...'|escape}</p>
<!--{/if}-->

を削除します。これで一覧で本文が表示されなくなります。

検索プラグインを導入している場合、templates/plugins/search/default.html の85行目あたり

<!--{foreach from=$articles|smarty:nodefaults item='article'}-->
<h3><a href="{$freo.core.http_file}/{if $article.type == 'entry'}view{else}page{/if}/{if $article.code}{$article.code}{else}{$article.id}{/if}">{$article.title}</a></h3>
<!--{if $article_texts[$article.id].excerpt}-->
  {$article_texts[$article.id].excerpt|smarty:nodefaults|strip_tags|mb_truncate:200:'...'|escape}
<!--{/if}-->
<ul>

この部分からも

<!--{if $article_texts[$article.id].excerpt}-->
  {$article_texts[$article.id].excerpt|smarty:nodefaults|strip_tags|mb_truncate:200:'...'|escape}
<!--{/if}-->

を削除します。これで一覧で本文が表示されなくなります。

完了

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

機能解説

目次

Twitterアプリを自分で登録

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

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

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

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

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

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

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

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

携帯からのアクセス

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

削除方法

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

ファイルの編集

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

ファイルの削除

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

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

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

更新履歴

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

2012/11/01 Ver 1.0.2
  • Twitter API の仕様変更に伴い、Twitter APIの呼び出しURLを調整。

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

また、PEAR/libs/ ディレクトリ内に配置するように変更しています。バージョンアップする場合、PEAR/ ディレクトリの位置を変更してください。

2012/03/02 Ver 1.0.1
  • Twitter APIの呼び出しURLを調整。

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

2012/01/03 Ver 1.0.0

正式版を公開しました。