예제 #1
0
/**
 * ログ件数
 */
function log_count($kind, $page)
{
    global $log;
    if (!log_exist($kind, $page)) {
        return 0;
    }
    $filename = log::set_filename($kind, $page);
    if (!($fd = fopen($filename, 'r'))) {
        return 0;
    }
    $ctr = 0;
    while ($data = @fgets($fd, 4096)) {
        $x = trim($data);
        if (log::is_table($x)) {
            $ctr++;
        }
    }
    fclose($fd);
    return $ctr;
}
예제 #2
0
function plugin_navibar2_keyword($name)
{
    global $_LINK;
    global $do_backup, $trackback, $referer;
    global $function_freeze;
    global $vars;
    if ($_LINK['reload'] == '') {
        return array();
    }
    $_page = isset($vars['page']) ? $vars['page'] : '';
    $is_read = arg_check('read') && is_page($_page);
    $is_freeze = is_freeze($_page);
    switch ($name) {
        case 'freeze':
            if ($is_read && $function_freeze) {
                if (!$is_freeze) {
                    $name = 'freeze';
                    return _navigator2($name);
                }
            }
            break;
        case 'unfreeze':
            if ($is_read && $function_freeze) {
                if ($is_freeze) {
                    $name = 'unfreeze';
                    return _navigator2($name);
                }
            }
            break;
        case 'upload':
            if ($is_read && (bool) ini_get('file_uploads')) {
                return _navigator2($name);
            }
            break;
        case 'filelist':
            if (arg_check('list')) {
                return _navigator2($name);
            }
            break;
        case 'backup':
            if ($do_backup) {
                return _navigator2($name);
            }
            break;
        case 'brokenlink':
        case 'template':
        case 'source':
            if (!empty($_page)) {
                return _navigator2($name);
            }
            break;
        case 'trackback':
            if ($trackback) {
                $tbcount = tb_count($_page);
                if ($tbcount > 0) {
                    return _navigator2($name, 'Trackback(' . $tbcount . ')');
                } else {
                    if ($is_read) {
                        return array('text' => 'no Trackback');
                    } else {
                        if ($vars['cmd'] == 'list') {
                            return _navigator2($name, 'Trackback list');
                        }
                    }
                }
            }
            break;
        case 'refer':
        case 'skeylist':
        case 'linklist':
            if ($referer) {
                if (!isset($refcount)) {
                    $refcount = ref_count($vars['page']);
                }
                if ($refcount > 0) {
                    return _navigator2($name);
                }
            }
            break;
        case 'log_login':
            if (log_exist('login', $vars['page'])) {
                return _navigator2($name);
            }
            break;
        case 'log_check':
            if (log_exist('check', $vars['page'])) {
                return _navigator2($name);
            }
            break;
        case 'log_browse':
            if (log_exist('browse', $vars['page'])) {
                return _navigator2($name);
            }
            break;
        case 'log_update':
            if (log_exist('update', $vars['page'])) {
                return _navigator2($name);
            }
            break;
        case 'log_down':
            if (log_exist('download', $vars['page'])) {
                return _navigator2($name);
            }
            break;
            // case 'new':
        // case 'new':
        case 'newsub':
        case 'edit':
        case 'guiedit':
        case 'diff':
            if (!$is_read) {
                break;
            }
        default:
            return _navigator2($name);
    }
    return array();
}
예제 #3
0
function plugin_toolbar_convert()
{
    global $_LINK;
    global $do_backup, $trackback, $referer;
    global $function_freeze;
    global $vars;
    global $whatsnew, $whatsdeleted;
    //	if ($_LINK['reload'] == '') {
    //		return '#navibar: plugin called from wikipage. skipped.';
    //	}
    $_page = isset($vars['page']) ? $vars['page'] : '';
    $is_read = arg_check('read') && is_page($_page);
    $is_freeze = is_freeze($_page);
    $num = func_num_args();
    $args = $num ? func_get_args() : array();
    $ret[] = '<ul role="toolbar">';
    while (!empty($args)) {
        $name = array_shift($args);
        switch ($name) {
            case 'freeze':
            case 'unfreeze':
                if ($is_read && $function_freeze) {
                    if ($is_freeze) {
                        $name = 'unfreeze';
                    } else {
                        $name = 'freeze';
                    }
                    $ret[] = _toolbar($name);
                }
                break;
            case 'upload':
                if ($is_read && (bool) ini_get('file_uploads') && !$is_freeze && !($_page == $whatsnew || $_page == $whatsdeleted)) {
                    $ret[] = _toolbar($name);
                }
                break;
            case 'list':
                if ($vars['cmd'] !== 'list') {
                    $ret[] = _toolbar($name);
                } else {
                    $ret[] = _toolbar('filelist');
                }
                break;
            case 'backup':
                if ($do_backup) {
                    $ret[] = _toolbar($name);
                }
                break;
            case 'brokenlink':
            case 'template':
            case 'source':
                if (!empty($_page)) {
                    $ret[] = _toolbar($name);
                }
                break;
            case 'trackback':
                if ($trackback) {
                    if (!empty($_page) && !($_page == $whatsnew || $_page == $whatsdeleted)) {
                        $ret[] = _toolbar($name, 'Trackback(' . tb_count($_page) . ')');
                    } else {
                        //		$ret[] = _toolbar($name, 'Trackback list');
                    }
                }
                break;
            case 'referer':
            case 'skeylist':
            case 'linklist':
                if ($referer && !empty($_page)) {
                    $ret[] = _toolbar($name);
                }
                break;
            case 'log_login':
                if (!empty($_page) && log_exist('login', $vars['page'])) {
                    $ret[] = _toolbar($name);
                }
                break;
            case 'log_check':
                if (!empty($_page) && log_exist('check', $vars['page'])) {
                    $ret[] = _toolbar($name);
                }
                break;
            case 'log':
            case 'log_browse':
                if (!empty($_page)) {
                    $ret[] = _toolbar($name);
                }
                //			if (log_exist('browse',$vars['page'])) {
                //				return _toolbar($name);
                //			}
                break;
            case 'log_update':
                if (!empty($_page) && log_exist('update', $vars['page'])) {
                    $ret[] = _toolbar($name);
                }
                break;
            case 'log_down':
                if (!empty($_page) && log_exist('download', $vars['page'])) {
                    $ret[] = _toolbar($name);
                }
                break;
            case '|':
                if (end($ret) !== '<ul>') {
                    $ret[] = '</ul>';
                    $ret[] = "\n";
                    $ret[] = '<ul role="toolbar">';
                }
                break;
                // case 'new':
            // case 'new':
            case 'newsub':
            case 'edit':
            case 'guiedit':
                if (!empty($_page) && $is_read && $function_freeze && !$is_freeze && !($_page == $whatsnew || $_page == $whatsdeleted)) {
                    $ret[] = _toolbar($name);
                }
                break;
            case 'diff':
            case 'reload':
            case 'copy':
                if (!$is_read || empty($_page)) {
                    break;
                }
            default:
                $ret[] = _toolbar($name);
                break;
        }
    }
    if (end($ret) === '<ul>') {
        array_pop($ret);
        array_pop($ret);
    } else {
        $ret[] = '</ul>';
    }
    $body = "\n" . join('', $ret) . "\n";
    return '<nav class="toolbar">' . $body . '</nav>' . "\n";
}
예제 #4
0
function plugin_navibar_convert()
{
    global $_LINK;
    global $do_backup, $trackback, $referer;
    global $function_freeze;
    global $vars;
    if ($_LINK['reload'] == '') {
        return '#navibar: plugin called from wikipage. skipped.';
    }
    $_page = isset($vars['page']) ? $vars['page'] : '';
    $is_read = arg_check('read') && is_page($_page);
    $is_freeze = is_freeze($_page);
    $num = func_num_args();
    $args = $num ? func_get_args() : array();
    $body = '';
    $line = '';
    while (!empty($args)) {
        $name = array_shift($args);
        switch ($name) {
            case 'freeze':
                if ($is_read && $function_freeze) {
                    if (!$is_freeze) {
                        $name = 'freeze';
                        if ($body != '' && $oldname != '|') {
                            $body .= ' | ';
                        }
                        $body .= _navigator($name);
                    }
                }
                break;
            case 'unfreeze':
                if ($is_read && $function_freeze) {
                    if ($is_freeze) {
                        $name = 'unfreeze';
                        if ($body != '' && $oldname != '|') {
                            $body .= ' | ';
                        }
                        $body .= _navigator($name);
                    }
                }
                break;
            case 'upload':
                if ($is_read && (bool) ini_get('file_uploads')) {
                    if ($body != '' && $oldname != '|') {
                        $body .= ' | ';
                    }
                    $body .= _navigator($name);
                }
                break;
            case 'filelist':
                if (arg_check('list')) {
                    if ($body != '' && $oldname != '|') {
                        $body .= ' | ';
                    }
                    $body .= _navigator($name);
                }
                break;
            case 'backup':
                if ($do_backup) {
                    if ($body != '' && $oldname != '|') {
                        $body .= ' | ';
                    }
                    $body .= _navigator($name);
                }
                break;
            case 'brokenlink':
            case 'template':
            case 'source':
                if (!empty($_page)) {
                    if ($body != '' && $oldname != '|') {
                        $body .= ' | ';
                    }
                    $body .= _navigator($name);
                }
                break;
            case 'trackback':
                if ($trackback) {
                    if ($body != '' && $oldname != '|') {
                        $body .= ' | ';
                    }
                    $tbcount = tb_count($_page);
                    if ($tbcount > 0) {
                        $body .= _navigator($name, 'Trackback(' . $tbcount . ')');
                    } else {
                        if ($is_read) {
                            $body .= 'no Trackback';
                        } else {
                            if (isset($vars['cmd']) && $vars['cmd'] == 'list') {
                                $body .= _navigator($name, 'Trackback list');
                            }
                        }
                    }
                }
                break;
            case 'refer':
            case 'skeylist':
            case 'linklist':
                if ($referer) {
                    if ($body != '' && $oldname != '|') {
                        $body .= ' | ';
                    }
                    $body .= _navigator($name);
                }
                break;
            case 'log_login':
                if (log_exist('login', $vars['page'])) {
                    if ($body != '' && $oldname != '|') {
                        $body .= ' | ';
                    }
                    $body .= _navigator($name);
                }
                break;
            case 'log_check':
                if (log_exist('check', $vars['page'])) {
                    if ($body != '' && $oldname != '|') {
                        $body .= ' | ';
                    }
                    $body .= _navigator($name);
                }
                break;
            case 'log_browse':
                if ($body != '' && $oldname != '|') {
                    $body .= ' | ';
                }
                $body .= _navigator($name);
                //			if (log_exist('browse',$vars['page'])) {
                //				return _navigator($name);
                //			}
                break;
            case 'log_update':
                if (log_exist('update', $vars['page'])) {
                    if ($body != '' && $oldname != '|') {
                        $body .= ' | ';
                    }
                    $body .= _navigator($name);
                }
                break;
            case 'log_down':
                if (log_exist('download', $vars['page'])) {
                    if ($body != '' && $oldname != '|') {
                        $body .= ' | ';
                    }
                    $body .= _navigator($name);
                }
                break;
            case '|':
                if (trim($body) != '') {
                    $line .= '[ ' . $body . ' ]' . "\n\n";
                    $body = '';
                }
                break;
                // case 'new':
            // case 'new':
            case 'newsub':
            case 'edit':
            case 'guiedit':
            case 'diff':
                if (!$is_read) {
                    break;
                }
            default:
                if ($body != '' && $oldname != '|') {
                    $body .= ' | ';
                }
                $body .= _navigator($name);
                break;
        }
        $oldname = $name;
        $body .= ' ';
    }
    if (trim($body) != '') {
        $line .= '[ ' . $body . ' ]' . "\n\n";
        $body = '';
    }
    return '<div id="navigator">' . $line . '</div>';
}
예제 #5
0
function plugin_cmd_link($name, $page)
{
    $is_readonly = Auth::check_role('readonly');
    $is_safemode = Auth::check_role('safemode');
    $is_createpage = Auth::is_check_role(PKWK_CREATE_PAGE);
    if (isset($page)) {
        $page = isset($vars['page']) ? $vars['page'] : '';
    }
    // $is_read = (arg_check('read') && is_page($_page));
    $is_read = is_page($page);
    $is_editable = is_editable($page);
    switch ($name) {
        case 'freeze':
        case 'unfreeze':
            if ($is_read && $function_freeze) {
                if ($is_freeze) {
                    $name = 'unfreeze';
                } else {
                    $name = 'freeze';
                }
                return plugin_cmd_getlink($name);
            }
            break;
        case 'upload':
            if ($is_read && (bool) ini_get('file_uploads') && !$is_freeze && !($_page == $whatsnew || $_page == $whatsdeleted)) {
                return plugin_cmd_getlink($name);
            }
            break;
        case 'list':
            if ($vars['cmd'] !== 'list') {
                return plugin_cmd_getlink($name);
            } else {
                if ((bool) ini_get('file_uploads')) {
                    return plugin_cmd_getlink('filelist');
                }
            }
            break;
        case 'backup':
            if ($do_backup) {
                return plugin_cmd_getlink($name);
            }
            break;
        case 'brokenlink':
        case 'template':
        case 'source':
            if (!empty($_page)) {
                return plugin_cmd_getlink($name);
            }
            break;
        case 'trackback':
            if ($trackback && !($_page == $whatsnew || $_page == $whatsdeleted)) {
                $tbcount = tb_count($_page);
                if (isset($vars['cmd']) && $vars['cmd'] == 'list') {
                    return plugin_cmd_getlink($name, 'Trackback list');
                } else {
                    return plugin_cmd_getlink($name, 'Trackback(' . $tbcount . ')');
                }
            }
            break;
        case 'referer':
        case 'skeylist':
        case 'linklist':
            if ($referer) {
                return plugin_cmd_getlink($name);
            }
            break;
        case 'log_login':
            if (log_exist('login', $vars['page'])) {
                return plugin_cmd_getlink($name);
            }
            break;
        case 'log_check':
            if (log_exist('check', $vars['page'])) {
                return plugin_cmd_getlink($name);
            }
            break;
        case 'log_browse':
            return plugin_cmd_getlink($name);
            //			if (log_exist('browse',$vars['page'])) {
            //				return plugin_cmd_getlink($name);
            //			}
            break;
        case 'log_update':
            if (log_exist('update', $vars['page'])) {
                return plugin_cmd_getlink($name);
            }
            break;
        case 'log_down':
            if (log_exist('download', $vars['page'])) {
                return plugin_cmd_getlink($name);
            }
            break;
        case '|':
            return '</ul>' . "\n" . '<ul>';
            break;
            // case 'new':
        // case 'new':
        case 'newsub':
        case 'edit':
        case 'guiedit':
            if ($is_read && $function_freeze && !$is_freeze && !($_page == $whatsnew || $_page == $whatsdeleted)) {
                return plugin_cmd_getlink($name);
            }
            break;
        case 'full':
        case 'print':
        case 'diff':
        case 'reload':
        case 'copy':
            if (!$is_read) {
                break;
            }
        default:
            return plugin_cmd_getlink($name);
            break;
    }
}