web関連tips備忘録

Category
<前 | 次>
ブログのチーム設定から編集までのロジック

管理画面にログイン後、チーム設定~チーム編集までのロジック

  1. nucleus/index.php
    下記のコードを実行してADMIN.phpに渡る。

      $admin = new ADMIN();

      $admin->action($action);
  2. ADMIN.php
    ユーザー名、パスワードが正しいときの$actionの内容は、overviewで、管理ホームを表示します。
    function action($action)で、
      $methodName = 'action_' . $action;
    と、して69行目あたりの下記のコードにより、123行目あたりのfunction ction_overviewへ移動する。

      if (method_exists($this, $methodName))
         call_user_func(array(&$this, $methodName));
      else
         $this->error(_BADACTION . " ($action)");

  3. function action_overview($msg = '')のquery
    136行目あたり
    if (($member->isAdmin()) && ($showAll == 'yes')){
      $query = 'SELECT bnumber, bname, 1 as tadmin, burl, bshortname'
      . ' FROM ' . sql_table('blog'). ' ORDER BY bname';
    } else {
    通常はここを通る
      $query = 'SELECT bnumber, bname, tadmin, burl, bshortname'
      . ' FROM ' . sql_table('blog') . ', ' . sql_table('team')
      . ' WHERE tblog=bnumber and tmember=' . $member->getID() . ' ORDER BY bname';
    }

    yes、$member->isAdmin()は、ユーザーがスーパーadmin権限を持っているときに1となる($showAllは空白)。

    ユーザーがスーパーadmin権限を持っているとき:全てのblogを表示する。
    ユーザーがブログadmin権限を持っているとき($member->isAdmin()が0):該当するblogを表示する。

    因みに、管理画面での操作別に$actionの内容と実行されるファンクションを挙げると

    • 管理ホームをクリック~overviewでfunction action_overview
    • 管理ホームで各ブログの設定をクリック~blogsettingsでfunction action_blogsettings
    • Blog設定の編集でチームの編集をクリック~manageteamでfunction action_manageteam
    • 現在のチームで管理者権限の変更をクリック~action_teamchangeadmin
    • 現在のチームで削除をクリック~action_teamdelete

    • 現在のチームの"選択されたものを:"で何かを選択してクリック~action_batchteam




2006-01-03 17:24:36 by kei - NuCleusScheme

このアイテムは閲覧専用です。コメントの投稿、投票はできません。
<前 | 次>