Exemplo n.º 1
0
 public function init()
 {
     $plugin = $this;
     // register plugin controller
     DatawrapperHooks::register(DatawrapperHooks::GET_ADMIN_PAGES, function () use($plugin) {
         return array('url' => '/users', 'title' => __('Users', $plugin->getName()), 'controller' => array($plugin, 'users'), 'order' => '2');
     });
     $this->declareAssets(array('vendor/serious-toolkit/serious-widget.js', 'dw.admin.users.js', 'users.css'), "|/admin/users|");
     $user = DatawrapperSession::getUser();
     if ($user->isAdmin()) {
         $this->registerController(function ($app) use($plugin) {
             $app->get('/admin/users/:user_id', function ($uid) use($app, $plugin) {
                 $theUser = UserQuery::create()->findPk($uid);
                 $page = array('title' => 'Users » ' . $theUser->guessName());
                 // manually add the admin nav menu vars
                 global $__dw_admin_pages;
                 foreach ($__dw_admin_pages as $adm_pg) {
                     $page['adminmenu'][$adm_pg['url']] = $adm_pg['title'];
                 }
                 add_header_vars($page, 'admin');
                 $page['the_user'] = $theUser;
                 $page['userPlugins'] = DatawrapperPluginManager::getUserPlugins($theUser->getId(), false);
                 $app->render('plugins/admin-users/admin-user-detail.twig', $page);
             });
         });
     }
 }