Ejemplo n.º 1
0
 function sc_admin_status($parm)
 {
     if ($parm == 'infopanel' && e_PAGE != 'admin.php') {
         return;
     }
     if (getperms('0') || getperms('4')) {
         if (!function_exists('admin_status')) {
             function admin_status($parm = '')
             {
                 $mes = e107::getMessage();
                 $sql = e107::getDb();
                 $ns = e107::getRender();
                 $pref = e107::getPref();
                 $members = $sql->count('user', '(*)', 'WHERE user_ban=0');
                 $unverified = $sql->count('user', '(*)', 'WHERE user_ban=2');
                 $banned = $sql->count('user', '(*)', 'WHERE user_ban=1');
                 $comments = $sql->count('comments');
                 /*
                 					$unver = ($unverified ? " <a href='".e_ADMIN."users.php?searchquery=&amp;filter_options=user_ban__2&amp;filter=unverified'> ".ADLAN_111.": {$unverified}</a>" : ADLAN_111);
                 					$lban = ($banned) ? "<a href='".e_ADMIN_ABS."users.php??searchquery=&filter_options=user_ban__1&filter=banned'>".ADLAN_112. ": ".$banned."</a>" : ADLAN_112.":";
                 					$lcomment = ($comments) ? "<a href='".e_ADMIN_ABS."comment.php'>".ADLAN_114.": ".$comments."</a>" : ADLAN_114;
                 					
                 					$text = "
                 					<div class='left'>
                 						<div style='padding-bottom: 2px;'>". E_16_USER." <a href='".e_ADMIN_ABS."users.php?filter=0'>".ADLAN_110.": ".$members."</a></div>
                 						<div style='padding-bottom: 2px;'>".E_16_USER." {$unver}</div>
                 						<div style='padding-bottom: 2px;'>".E_16_BANLIST." ".$lban."</div>
                 						<div style='padding-bottom: 2px;'>".E_16_COMMENT." ".$lcomment."</div>\n\n";
                 */
                 // for BC only.
                 $oldconfigs['e-user'][0] = array('icon' => E_16_USER, 'title' => ADLAN_110, 'url' => e_ADMIN_ABS . "users.php?searchquery=&amp;filter_options=user_ban__0", 'total' => $members, 'invert' => 1);
                 $oldconfigs['e-user'][1] = array('icon' => E_16_USER, 'title' => ADLAN_111, 'url' => e_ADMIN . "users.php?searchquery=&amp;filter_options=user_ban__2", 'total' => $unverified);
                 $oldconfigs['e-user'][2] = array('icon' => E_16_BANLIST, 'title' => ADLAN_112, 'url' => e_ADMIN . "users.php?searchquery=&filter_options=user_ban__1", 'total' => $banned);
                 if (empty($pref['comments_disabled']) && varset($pref['comments_engine'], 'e107') == 'e107') {
                     $oldconfigs['e-comments'][0] = array('icon' => E_16_COMMENT, 'title' => LAN_COMMENTS, 'url' => e_ADMIN_ABS . "comment.php", 'total' => $comments);
                 }
                 if ($flo = $sql->count('generic', '(*)', "WHERE gen_type='failed_login'")) {
                     //$text .= "\n\t\t\t\t\t<div style='padding-bottom: 2px;'>".E_16_FAILEDLOGIN." <a href='".e_ADMIN_ABS."fla.php'>".ADLAN_146.": $flo</a></div>";
                     $oldconfigs['e-failed'][0] = array('icon' => E_16_FAILEDLOGIN, 'title' => ADLAN_146, 'url' => e_ADMIN_ABS . "banlist.php?mode=failed&action=list", 'total' => $flo);
                 }
                 if ($emls = $sql->count('mail_recipients', '(*)', "WHERE mail_status = 13")) {
                     //$text .= "\n\t\t\t\t\t<div style='padding-bottom: 2px;'>".E_16_FAILEDLOGIN." <a href='".e_ADMIN_ABS."fla.php'>".ADLAN_146.": $flo</a></div>";
                     $oldconfigs['e-mailout'][0] = array('icon' => E_16_MAIL, 'title' => "Pending Mailshots", 'url' => e_ADMIN_ABS . "mailout.php?mode=pending&action=list", 'total' => $emls);
                 }
                 if (vartrue($pref['e_status_list'])) {
                     foreach ($pref['e_status_list'] as $val) {
                         $text = "";
                         if (is_readable(e_PLUGIN . $val . '/e_status.php')) {
                             include_once e_PLUGIN . $val . '/e_status.php';
                             if (!class_exists($val . "_status")) {
                                 $mes->addDebug("<strong>" . $val . "</strong> using deprecated e_status method. See the chatbox plugin folder for a working example of the new one. ");
                             }
                             $oldconfigs[$val] = admin_shortcodes::legacyToConfig($text);
                         }
                     }
                 }
                 // New in v2.x
                 //	$configs = e107::getAddonConfig('e_status');
                 $configs = e107::getAddonConfig('e_dashboard', null, 'status');
                 if (!is_array($configs)) {
                     $configs = array();
                 }
                 $allconfigs = array_merge($oldconfigs, $configs);
                 $allconfigs = multiarray_sort($allconfigs, 'title');
                 //XXX FIXME - not sorting correctly.
                 $text = "<ul id='e-status' class='unstyled list-unstyled'>";
                 foreach ($allconfigs as $k => $v) {
                     foreach ($v as $val) {
                         $type = empty($val['invert']) ? 'latest' : 'invert';
                         $class = admin_shortcodes::getBadge($val['total'], $type);
                         $link = "<a href='" . $val['url'] . "'>" . str_replace(":", " ", $val['title']) . " <span class='" . $class . "'>" . $val['total'] . "</span></a>";
                         $text .= "<li>" . $val['icon'] . " " . $link . "</li>\n";
                     }
                 }
                 $text .= "</ul>";
                 if ($parm == 'list') {
                     //	$text = str_replace("<div style='padding-bottom: 2px;'>","<li>",$text);;
                 }
                 //	$text .= "\n\t\t\t\t\t</div>";
                 return $parm != 'norender' ? $ns->tablerender(LAN_STATUS, $text, '', TRUE) : $text;
             }
         }
         if ($parm == 'request') {
             if (function_exists('status_request')) {
                 if (status_request()) {
                     return admin_status($parm);
                 }
             }
         } else {
             return admin_status($parm);
         }
     }
 }
Ejemplo n.º 2
0
/**
 * admin routing
 *
 * @since 1.2.1
 * @deprecated 2.0.0
 *
 * @package Redaxscript
 * @category Admin
 * @author Henry Ruhs
 */
function admin_routing()
{
    /* call last update */
    if (FIRST_PARAMETER == 'admin' && ADMIN_PARAMETER == '' || ADMIN_PARAMETER == 'view' && TABLE_PARAMETER == 'users' || UPDATE == '') {
        admin_last_update();
    }
    /* validate routing */
    switch (true) {
        case ADMIN_PARAMETER && in_array(ADMIN_PARAMETER, array('new', 'view', 'edit', 'up', 'down', 'sort', 'publish', 'unpublish', 'enable', 'disable', 'install', 'uninstall', 'delete', 'process', 'update')) == '':
        case ADMIN_PARAMETER == 'process' && $_POST['new'] == '' && $_POST['edit'] == '':
        case ADMIN_PARAMETER == 'update' && $_POST['update'] == '':
        case ADMIN_PARAMETER && in_array(TABLE_PARAMETER, array('categories', 'articles', 'extras', 'comments', 'groups', 'users', 'modules', 'settings')) == '':
        case ALIAS_PARAMETER == '' && (ADMIN_PARAMETER == 'install' || ADMIN_PARAMETER == 'uninstall'):
        case ID_PARAMETER == '' && in_array(ADMIN_PARAMETER, array('edit', 'up', 'down', 'publish', 'unpublish', 'enable', 'disable')) && TABLE_PARAMETER != 'settings':
        case is_numeric(ID_PARAMETER) && retrieve('id', TABLE_PARAMETER, 'id', ID_PARAMETER) == '':
            notification(l('something_wrong'), '', l('back'), 'admin');
            return;
    }
    /* define access variables */
    if (ADMIN_PARAMETER && TABLE_PARAMETER) {
        if (TABLE_PARAMETER == 'modules') {
            $install = MODULES_INSTALL;
            $uninstall = MODULES_UNINSTALL;
        } else {
            if (TABLE_PARAMETER != 'settings') {
                $new = TABLE_NEW;
                if (TABLE_PARAMETER == 'comments') {
                    $articles_total = query_total('articles');
                    $articles_comments_disable = query_total('articles', 'comments', 0);
                    if ($articles_total == $articles_comments_disable) {
                        $new = 0;
                    }
                }
                $delete = TABLE_DELETE;
            }
        }
        $edit = TABLE_EDIT;
    }
    if ($edit == 1 || $delete == 1) {
        $accessValidator = new Redaxscript\Validator\Access();
        $access = retrieve('access', TABLE_PARAMETER, 'id', ID_PARAMETER);
        $check_access = $accessValidator->validate($access, MY_GROUPS);
    }
    /* validate access */
    switch (true) {
        case ADMIN_PARAMETER == 'new' && $new == 0:
        case ADMIN_PARAMETER == 'view' && in_array(TABLE_PARAMETER, array('categories', 'articles', 'extras', 'comments', 'groups', 'users')) && $new == 0 && $edit == 0 && $delete == 0:
        case ADMIN_PARAMETER == 'view' && TABLE_PARAMETER == 'settings':
        case ADMIN_PARAMETER == 'view' && TABLE_PARAMETER == 'modules' && $edit == 0 && $install == 0 && $uninstall == 0:
        case ADMIN_PARAMETER == 'edit' && $edit == 0 && USERS_EXCEPTION == 0:
        case in_array(ADMIN_PARAMETER, array('up', 'down', 'sort', 'publish', 'unpublish', 'enable', 'disable')) && $edit == 0:
        case ADMIN_PARAMETER == 'install' && $install == 0:
        case ADMIN_PARAMETER == 'uninstall' && $uninstall == 0:
        case ADMIN_PARAMETER == 'delete' && $delete == 0 && USERS_EXCEPTION == 0:
        case ADMIN_PARAMETER == 'process' && $_POST['new'] && $new == 0:
        case ADMIN_PARAMETER == 'process' && $_POST['edit'] && $edit == 0 && USERS_EXCEPTION == 0:
        case ADMIN_PARAMETER == 'update' && $edit == 0:
        case ID_PARAMETER == 1 && (ADMIN_PARAMETER == 'disable' || ADMIN_PARAMETER == 'delete') && (TABLE_PARAMETER == 'groups' || TABLE_PARAMETER == 'users'):
        case is_numeric(ID_PARAMETER) && TABLE_PARAMETER && $check_access == 0 && USERS_EXCEPTION == 0:
            notification(l('error_occurred'), l('access_no'), l('back'), 'admin');
            return;
    }
    /* check token */
    if (in_array(ADMIN_PARAMETER, array('up', 'down', 'sort', 'publish', 'unpublish', 'enable', 'disable', 'install', 'uninstall', 'delete')) && TOKEN_PARAMETER == '') {
        notification(l('error_occurred'), l('access_no'), l('back'), 'admin');
        return;
    }
    /* admin routing */
    if (FIRST_PARAMETER == 'admin' && ADMIN_PARAMETER == '') {
        admin_notification();
        contents();
    }
    switch (ADMIN_PARAMETER) {
        case 'new':
            if (in_array(TABLE_PARAMETER, array('categories', 'articles', 'extras', 'comments'))) {
                admin_contents_form();
            }
            if (in_array(TABLE_PARAMETER, array('groups', 'users'))) {
                call_user_func('admin_' . TABLE_PARAMETER . '_form');
            }
            return;
        case 'view':
            if (in_array(TABLE_PARAMETER, array('categories', 'articles', 'extras', 'comments'))) {
                admin_contents_list();
            }
            if (in_array(TABLE_PARAMETER, array('groups', 'users', 'modules'))) {
                call_user_func('admin_' . TABLE_PARAMETER . '_list');
            }
            return;
        case 'edit':
            if (in_array(TABLE_PARAMETER, array('categories', 'articles', 'extras', 'comments'))) {
                admin_contents_form();
            }
            if (in_array(TABLE_PARAMETER, array('groups', 'users', 'modules', 'settings'))) {
                call_user_func('admin_' . TABLE_PARAMETER . '_form');
            }
            return;
        case 'up':
        case 'down':
            admin_move();
            return;
        case 'sort':
            admin_sort();
            return;
        case 'publish':
        case 'enable':
            admin_status(1);
            return;
        case 'unpublish':
        case 'disable':
            admin_status(0);
            return;
        case 'install':
        case 'uninstall':
            admin_install();
            return;
        case 'delete':
        case 'process':
        case 'update':
            call_user_func('admin_' . ADMIN_PARAMETER);
            return;
    }
}
Ejemplo n.º 3
0
/**
 * admin router
 *
 * @since 1.2.1
 * @deprecated 2.0.0
 *
 * @package Redaxscript
 * @category Admin
 * @author Henry Ruhs
 */
function admin_router()
{
    $firstParameter = Redaxscript\Registry::get('firstParameter');
    $adminParameter = Redaxscript\Registry::get('adminParameter');
    $tableParameter = Redaxscript\Registry::get('tableParameter');
    $idParameter = Redaxscript\Registry::get('idParameter');
    $aliasParameter = Redaxscript\Registry::get('aliasParameter');
    $tokenParameter = Redaxscript\Registry::get('tokenParameter');
    $usersException = $tableParameter == 'users' && $idParameter == Redaxscript\Registry::get('myId');
    $messenger = new Redaxscript\Admin\Messenger(Redaxscript\Registry::getInstance());
    Redaxscript\Hook::trigger('adminRouterStart');
    if (Redaxscript\Registry::get('adminRouterBreak') == 1) {
        return;
    }
    /* last seen update */
    if ($firstParameter == 'admin' && !$adminParameter || $adminParameter == 'view' && $tableParameter == 'users' || Redaxscript\Registry::get('cronUpdate')) {
        admin_last_update();
    }
    /* validate routing */
    switch (true) {
        case $adminParameter && !in_array($adminParameter, ['new', 'view', 'edit', 'up', 'down', 'sort', 'publish', 'unpublish', 'enable', 'disable', 'install', 'uninstall', 'delete', 'process', 'update']):
        case $adminParameter == 'process' && !$_POST['new'] && !$_POST['edit']:
        case $adminParameter == 'update' && !$_POST['update']:
        case $adminParameter && !in_array($tableParameter, ['categories', 'articles', 'extras', 'comments', 'groups', 'users', 'modules', 'settings']):
        case !$aliasParameter && ($adminParameter == 'install' || $adminParameter == 'uninstall'):
        case !$idParameter && in_array($adminParameter, ['edit', 'up', 'down', 'publish', 'unpublish', 'enable', 'disable']) && $tableParameter != 'settings':
        case is_numeric($idParameter) && !Redaxscript\Db::forTablePrefix($tableParameter)->where('id', $idParameter)->findOne()->id:
            /* show error */
            echo $messenger->setRoute(Redaxscript\Language::get('back'), 'admin')->error(Redaxscript\Language::get('something_wrong'));
            return;
    }
    /* define access variables */
    if ($adminParameter && $tableParameter) {
        if ($tableParameter == 'modules') {
            $install = Redaxscript\Registry::get('modulesInstall');
            $uninstall = Redaxscript\Registry::get('modulesUninstall');
        } else {
            if ($tableParameter != 'settings') {
                $new = Redaxscript\Registry::get('tableNew');
                if ($tableParameter == 'comments') {
                    $articles_total = Redaxscript\Db::forTablePrefix('articles')->count();
                    $articles_comments_disable = Redaxscript\Db::forTablePrefix('articles')->where('comments', 0)->count();
                    if ($articles_total == $articles_comments_disable) {
                        $new = 0;
                    }
                }
                $delete = Redaxscript\Registry::get('tableDelete');
            }
        }
        $edit = Redaxscript\Registry::get('tableEdit');
    }
    if ($edit == 1 || $delete == 1) {
        $accessValidator = new Redaxscript\Validator\Access();
        $access = Redaxscript\Db::forTablePrefix($tableParameter)->where('id', $idParameter)->findOne()->access;
        $check_access = $accessValidator->validate($access, Redaxscript\Registry::get('myGroups'));
    }
    /* validate access */
    switch (true) {
        case $adminParameter == 'new' && $new == 0:
        case $adminParameter == 'view' && in_array($tableParameter, ['categories', 'articles', 'extras', 'comments', 'groups', 'users']) && $new == 0 && $edit == 0 && $delete == 0:
        case $adminParameter == 'view' && $tableParameter == 'settings':
        case $adminParameter == 'view' && $tableParameter == 'modules' && $edit == 0 && $install == 0 && $uninstall == 0:
        case $adminParameter == 'edit' && $edit == 0 && !$usersException:
        case in_array($adminParameter, ['up', 'down', 'sort', 'publish', 'unpublish', 'enable', 'disable']) && $edit == 0:
        case $adminParameter == 'install' && $install == 0:
        case $adminParameter == 'uninstall' && $uninstall == 0:
        case $adminParameter == 'delete' && $delete == 0 && !$usersException:
        case $adminParameter == 'process' && $_POST['new'] && $new == 0:
        case $adminParameter == 'process' && $_POST['edit'] && $edit == 0 && !$usersException:
        case $adminParameter == 'process' && $_POST['groups'] && !Redaxscript\Registry::get('groupsEdit'):
        case $adminParameter == 'update' && $edit == 0:
        case $idParameter == 1 && ($adminParameter == 'disable' || $adminParameter == 'delete') && ($tableParameter == 'groups' || $tableParameter == 'users'):
        case is_numeric($idParameter) && $tableParameter && $check_access == 0 && !$usersException:
            /* show error */
            echo $messenger->setRoute(Redaxscript\Language::get('back'), 'admin')->error(Redaxscript\Language::get('error_occurred'), Redaxscript\Language::get('access_no'));
            return;
    }
    /* check token */
    if (in_array($adminParameter, ['up', 'down', 'sort', 'publish', 'unpublish', 'enable', 'disable', 'install', 'uninstall', 'delete']) && !$tokenParameter) {
        /* show error */
        echo $messenger->setRoute(Redaxscript\Language::get('back'), 'admin')->error(Redaxscript\Language::get('error_occurred'), Redaxscript\Language::get('token_no'));
        return;
    }
    /* admin routing */
    if ($firstParameter == 'admin' && !$adminParameter) {
        contents();
    }
    switch ($adminParameter) {
        case 'new':
            if ($tableParameter == 'categories') {
                $categoryForm = new Redaxscript\Admin\View\CategoryForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $categoryForm->render();
            }
            if ($tableParameter == 'articles') {
                $articleForm = new Redaxscript\Admin\View\ArticleForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $articleForm->render();
            }
            if ($tableParameter == 'extras') {
                $extraForm = new Redaxscript\Admin\View\ExtraForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $extraForm->render();
            }
            if ($tableParameter == 'comments') {
                $commentForm = new Redaxscript\Admin\View\CommentForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $commentForm->render();
            }
            if ($tableParameter == 'groups') {
                $groupForm = new Redaxscript\Admin\View\GroupForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $groupForm->render();
            }
            if ($tableParameter == 'users') {
                $userForm = new Redaxscript\Admin\View\UserForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $userForm->render();
            }
            return;
        case 'view':
            if (in_array($tableParameter, ['categories', 'articles', 'extras', 'comments'])) {
                admin_contents_list();
            }
            if (in_array($tableParameter, ['groups', 'users', 'modules'])) {
                call_user_func('admin_' . $tableParameter . '_list');
            }
            return;
        case 'edit':
            if ($tableParameter == 'categories') {
                $categoryForm = new Redaxscript\Admin\View\CategoryForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $categoryForm->render($idParameter);
            }
            if ($tableParameter == 'articles') {
                $articleForm = new Redaxscript\Admin\View\ArticleForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $articleForm->render($idParameter);
            }
            if ($tableParameter == 'extras') {
                $extraForm = new Redaxscript\Admin\View\ExtraForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $extraForm->render($idParameter);
            }
            if ($tableParameter == 'comments') {
                $commentForm = new Redaxscript\Admin\View\CommentForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $commentForm->render($idParameter);
            }
            if ($tableParameter == 'groups') {
                $groupForm = new Redaxscript\Admin\View\GroupForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $groupForm->render($idParameter);
            }
            if ($tableParameter == 'users') {
                $userForm = new Redaxscript\Admin\View\UserForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $userForm->render($idParameter);
            }
            if ($tableParameter == 'modules') {
                $moduleForm = new Redaxscript\Admin\View\ModuleForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $moduleForm->render($idParameter);
            }
            if ($tableParameter == 'settings') {
                $settingForm = new Redaxscript\Admin\View\SettingForm(Redaxscript\Registry::getInstance(), Redaxscript\Language::getInstance());
                echo $settingForm->render();
            }
            return;
        case 'up':
        case 'down':
            admin_move();
            return;
        case 'sort':
            admin_sort();
            return;
        case 'publish':
        case 'enable':
            admin_status(1);
            return;
        case 'unpublish':
        case 'disable':
            admin_status(0);
            return;
        case 'install':
        case 'uninstall':
            admin_install();
            return;
        case 'delete':
        case 'process':
        case 'update':
            call_user_func('admin_' . $adminParameter);
            return;
    }
    Redaxscript\Hook::trigger('adminRouterEnd');
}
Ejemplo n.º 4
0
 function sc_admin_status($parm)
 {
     if (getperms('0') || getperms('4')) {
         if (!function_exists('admin_status')) {
             function admin_status($parm = '')
             {
                 global $sql, $ns, $pref;
                 $members = $sql->db_Count('user');
                 $unverified = $sql->db_Count('user', '(*)', 'WHERE user_ban=2');
                 $banned = $sql->db_Count('user', '(*)', 'WHERE user_ban=1');
                 $comments = $sql->db_Count('comments');
                 $unver = $unverified ? " <a href='" . e_ADMIN . "users.php?searchquery=&amp;filter_options=user_ban__2&amp;filter=unverified'>" . ADLAN_111 . "</a>" : ADLAN_111;
                 $text = "\n\t\t\t\t\t<div class='left'>\n\t\t\t\t\t\t<div style='padding-bottom: 2px;'>" . E_16_USER . " " . ADLAN_110 . ": <a href='" . e_ADMIN_ABS . "users.php?filter=0'>" . $members . "</a></div>\n\t\t\t\t\t\t<div style='padding-bottom: 2px;'>" . E_16_USER . " {$unver}: <a href='" . e_ADMIN_ABS . "users.php?filter=unverified'>" . $unverified . "</a></div>\n\t\t\t\t\t\t<div style='padding-bottom: 2px;'>" . E_16_BANLIST . " " . ADLAN_112 . ": <a href='" . e_ADMIN_ABS . "users.php?filter=banned'>" . $banned . "</a></div>\n\t\t\t\t\t\t<div style='padding-bottom: 2px;'>" . E_16_COMMENT . " " . ADLAN_114 . ": <a href='" . e_ADMIN_ABS . "comment.php'>" . $comments . "</a></div>";
                 if (vartrue($pref['e_status_list'])) {
                     foreach ($pref['e_status_list'] as $val) {
                         if (is_readable(e_PLUGIN . $val . '/e_status.php')) {
                             include_once e_PLUGIN . $val . '/e_status.php';
                         }
                     }
                 }
                 if ($flo = $sql->db_Count('generic', '(*)', "WHERE gen_type='failed_login'")) {
                     $text .= "<img src='" . e_IMAGE_ABS . "admin_images/failedlogin_16.png' alt='' class='icon S16' /> <a href='" . e_ADMIN_ABS . "fla.php'>" . ADLAN_146 . ": {$flo}</a>";
                 }
                 $text .= "</div>";
                 return $parm != 'norender' ? $ns->tablerender(LAN_STATUS, $text, '', TRUE) : $text;
             }
         }
         if ($parm == 'request') {
             if (function_exists('status_request')) {
                 if (status_request()) {
                     return admin_status($parm);
                 }
             }
         } else {
             return admin_status($parm);
         }
     }
 }
    echo "There is no available data in the database currently.";
}
if ($number > 0) {
    echo "<table>\n";
    echo "\t<tr>\n";
    echo "<td align=center><b>MAC Address</b></td>";
    echo "<td align=center><b>Interface</b></td>";
    echo "<td align=center><b>SNMP Description</b></td>";
    echo "<td align=center><b>Admin Status</b></td>";
    echo "<td align=center><b>Operation Status</b></td>";
    while ($row = pg_fetch_object($result)) {
        echo "\t<tr>\n";
        echo "\t\t<td align=left>{$row->snmpphysaddr}</td>";
        echo "\t\t<td align=left>{$row->snmpifname}</td>";
        echo "\t\t<td align=left>{$row->snmpifdescr}</td>";
        $adminstatus = admin_status($row->snmpifadminstatus);
        echo "\t\t<td align=left>{$adminstatus}</td>";
        $operationstatus = operation_status($row->snmpifoperstatus);
        echo "\t\t<td align=left>{$operationstatus}</td>";
        echo "\t</tr>\n";
    }
    echo "</table>\n";
}
pg_free_result($result);
pg_close($dbconn);
echo "<br>";
echo "<br>";
echo "<button onclick=closeWin()>Close</button>";
echo "<script>\nfunction closeWin() {\n    window.close();\n}\n</script>";
?>