【freo】【freoTips】【サイト管理系TIPS】エントリーの登録ユーザーを変更する方法
管理メニューのエントリー編集画面でエントリーの登録ユーザーを変更する方法は以下のとおりです。
このtipsでは管理者のみ変更可能にしています。
- [freo/libs/freo/internals/admin/entry_form.php]の465行目に以下の通り加筆する
//ユーザー取得 $stmt = $freo->pdo->query('SELECT * FROM ' . FREO_DATABASE_PREFIX . 'users ORDER BY id'); if (!$stmt) { freo_error($freo->pdo->errorInfo()); } $users = array(); while ($data = $stmt->fetch(PDO::FETCH_ASSOC)) { $users[$data['id']] = $data; } //ユーザーID取得 $user_keys = array_keys($users);
- [freo/libs/freo/internals/admin/entry_form.php]の466~475行目「データ割り当て」部分を以下の通り変更する
//データ割当 $freo->smarty->assign(array( 'token' => freo_token('create'), 'options' => $options, 'option_texts' => $option_texts, 'users' => $users, 'input' => array( 'entry' => $entry, 'entry_associate' => $entry_associate ) ));
- [freo/libs/freo/internals/admin/entry_post.php]の62行目を以下の通り変更する
$stmt = $freo->pdo->prepare('UPDATE ' . FREO_DATABASE_PREFIX . 'entries SET modified = :now, restriction = :restriction, password = :password, status = :status, display = :display, comment = :comment, trackback = :trackback, code = :code, title = :title, tag = :tag, datetime = :datetime, close = :close, memo = :memo, text = :text, user_id = :user_id WHERE id = :id');
- [freo/libs/freo/internals/admin/entry_post.php]の76行目と77行目の間に以下の通り加筆する
$stmt->bindValue(':user_id', $entry['user_id']);
- [freo/templates/internals/admin/entry_form.html]の253行目に以下の通り加筆する
<!--{if $freo.user.authority == 'root'}--> <h3>登録ユーザー</h3> <dl> <dt>登録ユーザー変更</dt> <dd> <select name="entry[user_id]"> <!--{foreach from=$users|smarty:nodefaults item='user'}--> <option value="{$user.id}"{if $user.id == $input.entry.user_id} selected="selected"{/if}>{$user.id}</option> <!--{/foreach}--> </select> </dd> </dt> </dl> <!--{/if}-->
- [freo/libs/freo/internals/admin/entry_form.php]
[freo/libs/freo/internals/admin/entry_post.php]
[freo/templates/internals/admin/entry_form.html]
をアップロードする。