エントリー
freoの投稿者ユーザーがログインしたとき他ユーザーの情報を表示させない方法
- カテゴリー:ユーザー管理, 管理画面
- タグ:freoテンプレート, 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」)の管理画面は以下のように表示されます。
また管理者の管理画面には未承認ユーザーの情報は表示されません。
【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}-->
を追加します。
この場合、投稿者ユーザーが他のユーザーの編集にアクセスすると以下のように表示されます。
プロフィール管理プラグインの場合
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」)の管理画面は以下のように表示されます。
また管理者の管理画面には未承認ユーザーの情報は表示されません。
【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}-->
を追加します。
この場合、投稿者ユーザーが他のユーザーの編集にアクセスすると以下のように表示されます。
※注文管理プラグインも同様のカスタマイズが必要ですが、こちら で紹介しています。
関連エントリー
- 2023/09/05 freoのプロフィールやコメントでGravatarのアバターを表示する方法
- 2021/11/14 ショッピングカートプラグインの商品配送方法・料金などの変更
- 2021/09/23 カレンダーの祝日定義の変更・延長
- 2018/06/10 freo用markItUp!拡張版の配布
- 2018/05/12 freoのエントリーのタグ投稿を楽にする方法
- 2018/03/16 freoのエントリーとページの編集画面で添付ファイルとイメージの画像を表示する方法
- 2018/03/16 freoのエントリーとページの編集画面でオプションの画像を表示する方法
- 2018/02/09 freoのエントリーとページの管理画面に閲覧制限情報を表示する
- 2017/06/10 freoのtablesorter.jsを最新版にしてメディアの挿入ファイルを更新日時の新しいもの順に並べる
- 2017/06/10 freoのコメント登録フォームを折りたたむボタン
コメント
- コメントはまだありません。
コメント登録
- コメントを入力してください。
- 一旦登録したコメントは、あとで編集できませんのでご注意下さい。