コード例 #1
0
 /**
  * Render menu contents.
  */
 function renderMenu()
 {
     $template = e107::getTemplate('nodejs_online');
     $sc = e107::getScBatch('nodejs_online', true);
     $tp = e107::getParser();
     e107_require_once(e_PLUGIN . 'nodejs_online/includes/nodejs_online.php');
     $users = nodejs_online_get_online_users();
     $sc->setVars(array('count' => count($users)));
     $text = $tp->parseTemplate($template['MENU']['HEADER'], true, $sc);
     foreach ($users as $uid => $user) {
         $sc->setVars(array('user' => $user));
         $text .= $tp->parseTemplate($template['MENU']['ITEM'], true, $sc);
     }
     $text .= $tp->parseTemplate($template['MENU']['FOOTER'], true);
     e107::getRender()->tablerender(LAN_NODEJS_ONLINE_MENU_01, $text);
     unset($text);
 }
コード例 #2
0
ファイル: e_cron.php プロジェクト: lonalore/nodejs_online
 /**
  * Send messages to clients for updating online menu.
  */
 public function nodejs_update_online_menu()
 {
     e107_require_once(e_PLUGIN . 'nodejs/nodejs.main.php');
     e107_require_once(e_PLUGIN . 'nodejs_online/includes/nodejs_online.php');
     $template = e107::getTemplate('nodejs_online');
     $sc = e107::getScBatch('nodejs_online', true);
     $tp = e107::getParser();
     $users = nodejs_online_get_online_users();
     $message = (object) array('broadcast' => true, 'callback' => 'nodejsOnlineMenu', 'type' => 'nodejsOnlineMenuBadge', 'markup' => count($users));
     nodejs_enqueue_message($message);
     $list = '<li role="presentation" class="nav-header dropdown-header">' . LAN_NODEJS_ONLINE_MENU_01 . '</li>';
     foreach ($users as $uinfo => $row) {
         $sc->setVars(array('user' => $row));
         $list .= $tp->parseTemplate($template['MENU']['ITEM'], true, $sc);
     }
     $message = (object) array('broadcast' => true, 'callback' => 'nodejsOnlineMenu', 'type' => 'nodejsOnlineMenuList', 'markup' => $list);
     nodejs_enqueue_message($message);
 }