ユーティリティ

2017年10月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

キーワード検索

キーワード検索フォーム
キーワード

ユーザー

  • cccのアバター

新着画像

過去ログ

Twitter

Twilogを見る

Feed

エントリー

freoの投稿者ユーザーがログインしたとき他ユーザーの情報を表示させない方法

freoのサークル管理プラグイン、プロフィール管理プラグインでは、権限が投稿者のユーザーがログインしたときにも自分以外のユーザーの情報も表示、編集ができてしまうので、他のユーザーの情報を表示させない方法です。

サークル管理プラグインの場合

1) templates/plugins/circle/admin.html の46~56行目あたりにある

<!--{foreach from=$users|smarty:nodefaults item='user'}-->
<tr>
	<td>{$user.id}</td>
	<td><!--{if $user.created|date_format:'%Y%m%d' == $smarty.now|date_format:'%Y%m%d'}-->{$user.created|date_format:'%H:%M:%S'}<!--{else}-->{$user.created|date_format:'%Y/%m/%d'}<!--{/if}--></td>
	<td>{$user.name}</td>
	<td>{$plugin_circles[$user.id].name}</td>
	<td>{$plugin_circles[$user.id].owner_name}</td>
	<td><!--{if $user.authority == 'root'}-->管理者<!--{elseif $user.authority == 'author'}-->投稿者<!--{elseif $user.authority == 'guest'}-->ゲスト<!--{/if}--></td>
	<td><a href="{$freo.core.http_file}/circle/admin_form?id={$user.id}">編集</a></td>
</tr>
<!--{/foreach}-->

の部分を

<!--{foreach from=$users|smarty:nodefaults item='user'}-->
<!--{if $freo.user.authority == 'root' or $freo.user.id == $user.id}-->
<!--{if $user.approved == 'yes'}-->
<tr>
	<td>{$user.id}</td>
	<td><!--{if $user.created|date_format:'%Y%m%d' == $smarty.now|date_format:'%Y%m%d'}-->{$user.created|date_format:'%H:%M:%S'}<!--{else}-->{$user.created|date_format:'%Y/%m/%d'}<!--{/if}--></td>
	<td>{$user.name}</td>
	<td>{$plugin_circles[$user.id].name}</td>
	<td>{$plugin_circles[$user.id].owner_name}</td>
	<td><!--{if $user.authority == 'root'}-->管理者<!--{elseif $user.authority == 'author'}-->投稿者<!--{elseif $user.authority == 'guest'}-->ゲスト<!--{/if}--></td>
	<td><a href="{$freo.core.http_file}/circle/admin_form?id={$user.id}">編集</a></td>
</tr>
<!--{/if}-->
<!--{/if}-->
<!--{/foreach}-->

に変更(赤字部分を追加)します。

この場合、投稿者ユーザー(例:ID「author」)の管理画面は以下のように表示されます。
ファイル 87-1.jpg
また管理者の管理画面には未承認ユーザーの情報は表示されません。

【2013.11.26追記】
2) 投稿者ユーザーがURLを弄って他のユーザーの編集ができないようにするため、templates/plugins/circle/admin_form.html の3行目にある

<h2>ID.{$freo.query.id}のサークルを編集</h2>

<!--{if $freo.user.authority == 'root' or $freo.user.id == $freo.query.id}-->

を追加します。
同じく、templates/plugins/circle/admin_form.html下から3行目にある

</form>

<!--{else}-->
	<ul class="attention">
		<li>権限がありません。</li>
	</ul>
<!--{/if}-->

を追加します。
この場合、投稿者ユーザーが他のユーザーの編集にアクセスすると以下のように表示されます。
ファイル 87-3.jpg

プロフィール管理プラグインの場合

1) templates/plugins/profile/admin.html の36行目あたりと47行目あたりにある

<th>並び順</th>

の部分をそれぞれ

<!--{if $freo.user.authority == 'root'}-->
<th>並び順</th>
<!--{/if}-->

に変更(赤字部分を追加)します。

2) 同じく52~62行目あたりにある

<!--{foreach from=$users|smarty:nodefaults item='user'}-->
<tr>
	<td>{$user.id}</td>
	<td><!--{if $user.created|date_format:'%Y%m%d' == $smarty.now|date_format:'%Y%m%d'}-->{$user.created|date_format:'%H:%M:%S'}<!--{else}-->{$user.created|date_format:'%Y/%m/%d'}<!--{/if}--></td>
	<td>{$user.name}</td>
	<td>{$plugin_profiles[$user.id].kana}</td>
	<td><!--{if $user.authority == 'root'}-->管理者<!--{elseif $user.authority == 'author'}-->投稿者<!--{elseif $user.authority == 'guest'}-->ゲスト<!--{/if}--></td>
	<td class="number"><!--{if $plugin_profiles[$user.id].sort != ''}--><input type="text" name="sort[{$user.id}]" size="3" value="{$plugin_profiles[$user.id].sort}" /><!--{/if}--></td>
	<td><a href="{$freo.core.http_file}/profile/admin_form?id={$user.id}">編集</a></td>
</tr>
<!--{/foreach}-->

の部分を

<!--{foreach from=$users|smarty:nodefaults item='user'}-->
<!--{if $freo.user.authority == 'root' or $freo.user.id == $user.id}-->
<!--{if $user.approved == 'yes'}-->
<tr>
	<td>{$user.id}</td>
	<td><!--{if $user.created|date_format:'%Y%m%d' == $smarty.now|date_format:'%Y%m%d'}-->{$user.created|date_format:'%H:%M:%S'}<!--{else}-->{$user.created|date_format:'%Y/%m/%d'}<!--{/if}--></td>
	<td>{$user.name}</td>
	<td>{$plugin_profiles[$user.id].kana}</td>
	<td><!--{if $user.authority == 'root'}-->管理者<!--{elseif $user.authority == 'author'}-->投稿者<!--{elseif $user.authority == 'guest'}-->ゲスト<!--{/if}--></td>
	<!--{if $freo.user.authority == 'root'}-->
	<td class="number"><!--{if $plugin_profiles[$user.id].sort != ''}--><input type="text" name="sort[{$user.id}]" size="3" value="{$plugin_profiles[$user.id].sort}" /><!--{/if}--></td>
	<!--{/if}-->
	<td><a href="{$freo.core.http_file}/profile/admin_form?id={$user.id}">編集</a></td>
</tr>
<!--{/if}-->
<!--{/if}-->
<!--{/foreach}-->

に変更(赤字部分を追加)します。

3) 同じく65行目あたりにある

<p><input type="submit" value="並び順を編集する" /></p>

の部分を

<!--{if $freo.user.authority == 'root'}-->
<p><input type="submit" value="並び順を編集する" /></p>
<!--{/if}-->

に変更(赤字部分を追加)します。

この場合、投稿者ユーザー(例:ID「author」)の管理画面は以下のように表示されます。
ファイル 87-2.jpg
また管理者の管理画面には未承認ユーザーの情報は表示されません。

【2013.11.26追記】
4) 投稿者ユーザーがURLを弄って他のユーザーの編集ができないようにするため、templates/plugins/profile/admin_form.html の3行目にある

<h2>ID.{$freo.query.id}のプロフィールを編集</h2>

<!--{if $freo.user.authority == 'root' or $freo.user.id == $freo.query.id}-->

を追加します。
同じく、templates/plugins/profile/admin_form.html下から3行目にある

</form>

<!--{else}-->
	<ul class="attention">
		<li>権限がありません。</li>
	</ul>
<!--{/if}-->

を追加します。
この場合、投稿者ユーザーが他のユーザーの編集にアクセスすると以下のように表示されます。
ファイル 87-4.jpg

※注文管理プラグインも同様のカスタマイズが必要ですが、こちら で紹介しています。

ページ移動

関連エントリー

コメント

  • コメントはまだありません。

コメント登録

  • コメントを入力してください。
  • 一旦登録したコメントは、あとで編集できませんのでご注意下さい。
登録フォーム
名前
メールアドレス
URL
コメント(コメント本文の装飾について
閲覧制限
※基本的には「全体に公開」されますが、内容によっては管理人の方で公開を制限する場合がございますので、その旨ご了承下さい。
freoをひらがな3文字で入力してください(スパム対策)