用的什么wiki软件都不说明一下

解决方案 »

  1.   

    我用的是mediawiki做的wiki网站,还有我想了解一下能不能把google的搜索结果在站内的一个特定位置显示出来,谢谢各位前辈帮帮小弟吧!
      

  2.   

    兄弟别着急,上来这里就是为了解决问题的,
    大家也只是提出方案供参考,
    代码到底还是要自己写的。况且你提问的时候不是很详细,你到底要解决几个问题,分别什么症状,具体版本配置等等情况少大家也只能提出大概的方向。===========默认搜索项的问题,我提供思路============1、修改注册时候的默认选项
    mediawiki\includes\SpecialUserlogin.phpfunction initUser( $u ) 
    这个功能里
    $u->setOption( 'rememberpassword', $this->mRemember ? 1 : 0 );
    后面加上你的权限
    /*
    搜索项为:
    {(页面) +template+image+Category},
    */2、屏蔽搜索项的修改功能
    没仔细看程序,mw1.9.3 管理输出好像在这里
    mediawiki\includes\SpecialPreferences.php
    #899 行
    # Search
    都屏蔽了吧看了一下wiki的权限,具体的权限代码太多太复杂了,看不明白。==========google内容的部分=============
    http://www.allwiki.com/wiki/Mediawiki%E5%A2%9E%E5%8A%A0Google_AdSense
    参考这里吧
      

  3.   

    先谢谢(fredyj(醉爱酸奶) )的很详细的说明.小弟感激涕零!但小弟对下面的不是很明白..能否写得详细一些{
    function initUser( $u ) 
    这个功能里
    $u->setOption( 'rememberpassword', $this->mRemember ? 1 : 0 );
    后面加上你的权限<<<<<<h1>这个怎么加啊</h1>>>>>>
    /*
    搜索项为:
    {(页面) +template+image+Category},<<<<这个在哪里设啊.?>>>>>
    */
      

  4.   

    $u->setOption( 'rememberpassword', $this->mRemember ? 1 : 0 );
    搜索项的修改功能:
    searchNs1=0
    searchNs2=0
    searchNs3=0
    searchNs4=0
    searchNs5=0
    searchNs6=0
    searchNs7=0
    searchNs8=0
    searchNs9=0
    searchNs10=0
    searchNs11=0
    searchNs12=0
    searchNs13=0
    searchNs14=0
    searchNs15=0ie右键看看源码,哪些是你要的,基本上就是这些权限,{(页面) +template+image+Category}就在这些里面,没仔细去找。$u->setOption( 'searchNs1', $this->mRemember ? 1 : 0 );基本上这么写就可以了==============
    function initUser( $u ) 
    这个功能好像是注册用户,并设置权限的初始值,所以我才说在这里改。
    你可以在这里改改,然后随便注册革新用户,2的先不屏蔽,看看是不是你需要的权限。================================
    quickbar=1
    underline=2
    cols=80
    rows=25
    searchlimit=20
    contextlines=5
    contextchars=50
    skin=monobook
    math=1
    rcdays=7
    rclimit=50
    wllimit=250
    highlightbroken=1
    stubthreshold=0
    previewontop=1
    editsection=1
    editsectiononrightclick=0
    showtoc=1
    showtoolbar=1
    date=
    imagesize=2
    thumbsize=2
    rememberpassword=0
    enotifwatchlistpages=0
    enotifusertalkpages=0
    enotifminoredits=0
    enotifrevealaddr=0
    shownumberswatching=0
    fancysig=0
    externaleditor=0
    externaldiff=0
    showjumplinks=1
    numberheadings=1
    uselivepreview=0
    watchlistdays=3
    variant=
    language=zh-cn
    searchNs0=1
    nickname=
    timecorrection=
    searchNs1=0
    searchNs2=0
    searchNs3=0
    searchNs4=0
    searchNs5=0
    searchNs6=0
    searchNs7=0
    searchNs8=0
    searchNs9=0
    searchNs10=0
    searchNs11=0
    searchNs12=0
    searchNs13=0
    searchNs14=0
    searchNs15=0
    justify=1
    hideminor=0
    extendwatchlist=0
    usenewrc=0
    editondblclick=0
    editwidth=0
    watchcreations=1
    watchdefault=0
    watchmoves=0
    watchdeletion=0
    minordefault=0
    previewonfirst=0
    nocache=0
    forceeditsummary=1
    watchlisthideown=0
    watchlisthidebots=0
    watchlisthideminor=0
    ccmeonemails=0
    nolangconversion=0这些是mw_user.user_options 的所有数据好运
      

  5.   

    尝试了一下,貌似image
    template
    CategorysearchNs6=1
    searchNs10=1
    searchNs14=1^^v
      

  6.   

    感谢fredyj(醉爱酸奶)您对我的帮助,
    我用的是mediawiki 1.8.2 完全汉化版+apache2+mysql5+php5环境.
    我没有找到你说的"searchNs"
    我选择{(页面) +template+image+Category)搜索"aas"的时候地址栏里是这样的http://127.0.0.1/mediawiki/index.php/Special:Search?ns0=1&ns6=1&ns10=1&ns14=1&search=aas&searchx=%E6%90%9C%E7%B4%A2
    我只在"fuzz-tester.php"里面找下面这一几个相关的东西到:
    class searchTest extends pageTest {
        function __construct() {
            $this->pagePath = "index.php/Special:Search";        $this->params = array (
                    "action"        => "index.php/Special:Search",
                    "ns0"           => wikiFuzz::makeFuzz(2),
                    "ns1"           => wikiFuzz::makeFuzz(2),
                    "ns2"           => wikiFuzz::makeFuzz(2),
                    "ns3"           => wikiFuzz::makeFuzz(2),
                    "ns4"           => wikiFuzz::makeFuzz(2),
                    "ns5"           => wikiFuzz::makeFuzz(2),
                    "ns6"           => wikiFuzz::makeFuzz(2),
                    "ns7"           => wikiFuzz::makeFuzz(2),
                    "ns8"           => wikiFuzz::makeFuzz(2),
                    "ns9"           => wikiFuzz::makeFuzz(2),
                    "ns10"          => wikiFuzz::makeFuzz(2),
                    "ns11"          => wikiFuzz::makeFuzz(2),
                    "ns12"          => wikiFuzz::makeFuzz(2),
                    "ns13"          => wikiFuzz::makeFuzz(2),
                    "ns14"          => wikiFuzz::makeFuzz(2),
                    "ns15"          => wikiFuzz::makeFuzz(2),
                    "redirs"        => wikiFuzz::makeFuzz(2),
                    "search"        => wikiFuzz::makeFuzz(2),
                    "offset"        => wikiFuzz::chooseInput( array("", "0", "-1", "--------'-----0", "+1", "81343242346234234", wikiFuzz::makeFuzz(2)) ),
                    "fulltext"      => wikiFuzz::chooseInput( array("", "0", "1", "--------'-----0", "+1", wikiFuzz::makeFuzz(2)) ),
                    "searchx"       => wikiFuzz::chooseInput( array("", "0", "1", "--------'-----0", "+1", wikiFuzz::makeFuzz(2)) )
    =========================================================
        static public function makeFuzz($maxtypes = 2) {
            $page = "";
            for ($k=0; $k<$maxtypes; $k++) {
                $page .= wikiFuzz::loop();
            }
    ====================================
       static private function loop() {
            switch ( wikiFuzz::randnum(3) ) {
                case 1: // an opening tag, with parameters.
                    $string = "";
                    $i = wikiFuzz::randnum(count(wikiFuzz::$types) - 1);
                    $t = wikiFuzz::$types[$i];
                    $arr = wikiFuzz::$data[$t];
                    $string .= "<" . $t . " ";
                    $num_params = min(wikiFuzz::$maxparams, count($arr));
                    for ($z=0; $z<$num_params; $z++) {
                        $badparam = $arr[wikiFuzz::randnum(count($arr) - 1)];
                        $badstring = wikiFuzz::makestring();
                        $string .= $badparam . "=" . wikiFuzz::getRandQuote() . $badstring . wikiFuzz::getRandQuote() . " ";
                    }
    ================================================
    我在你说的function initUser( $u ) 加了
    $u->setOption( 'searchNs1', $this->mRemember ? 1 : 0 );
    searchNs1=0
    searchNs2=0
    searchNs3=0
    searchNs4=0
    ....
    等.程序运行有错误,能不能具体点说明应该如何去修改啊..万分感谢!
      

  7.   

    WIKI没有用过,所以帮不上忙啦~
      

  8.   

    没找到你说的版本,只得到了mediawiki 1.8.4 完全汉化版,并且我的机器怎么也装不上,算了。我以1.8.4说明1、【目的】:修改新注册用户默认搜索选项
    【修改文件】:mediawiki\includes\SpecialUserlogin.php
    【修改方法】:
    寻找#300行出现的
    function &initUser( &$u ) 在#310
    $u->setOption( 'language', $this->mLanguage ); 
    之后在#312
    return $u; 
    之前添加
    $u->setOption( 'searchNs6', 1 );
    $u->setOption( 'searchNs10', 1 );
    $u->setOption( 'searchNs14', 1 );保存文件。2、第一步完成后,正常流程注册一新用户,然后到特殊页面修改配置,看第一步修改默认搜索选项是否起效,
    如果【生效】进行第三步,
    如果【失败】忽略我说的一切,取消第一步操作,恢复默认文件,等待高手。3、【目的】:屏蔽搜索位置【修改文件】:mediawiki\includes\SpecialPreferences.php
    【修改方法】:#874 行查找
    # Search到889行用/* */全部屏蔽囧
      

  9.   

    谢谢大哥,!!!!!
    非常非常感谢大哥.......
    终于向前迈进了一步....
    你说的方法已经实现了注册用户的默认搜索项!
    可我还有个小小的问题,就是:没有注册的用户不能实现这个默认搜索项啊。没注册的用户搜索的默认项还只是“页面”,恳请大哥您帮我最后这一次,不胜感激。
    补充一点:$u->setOption( 'language', $this->mLanguage );在我这里是在159行。我是在(147行)function addNewAccount() 
    (159行)$u->setOption( 'language', $this->mLanguage );后加:
    $u->setOption( 'searchNs6', 1 );
    $u->setOption( 'searchNs10', 1 );
    $u->setOption( 'searchNs14', 1 );
    成功实现对注册用户的默认搜索项修改的!
      

  10.   

    为什么要说终于.... —_—|||1
    【目的】:搜索时候,未注册用户的默认搜索选项
    【修改文件】:mediawiki\includes\SpecialSearch.php
    【修改方法】:
    SpecialSearch.php
    搜索#60函数里面
    function SpecialSearch( &$request, &$user ) {将
    if( $request->getCheck( 'searchx' ) ) {
    $this->namespaces = $this->powerSearch( $request );//搜索结果页,继续点击搜索时,使复选框选项生效。
    } else {
    $this->namespaces = $this->userNamespaces( $user );//点击首页搜索,用户默认搜索选项生效。
    }根据需要分别替换成 if( $request->getCheck( 'searchx' ) ) {
    $this->namespaces = array(0,6,10,14);
    } else {
    $this->namespaces = array(0,6,10,14);
    }备注:替换了这些,无论权限怎么改都不生效了,搜索其他的选中了,也都做不到了。所以好像只需要改这个就可以满足你的要求了。2 无聊ing...也说一下修改已经注册用户的修改方法吧。
    【目的】:已经注册的用户的默认搜索选项
    【修改文件】:mediawiki\includes\SpecialUserlogin.php
    【修改效果】:用户登陆时,自动进行选项设定。
    【修改方法】:
    查找#404
    function processLogin() {
    global $wgUser, $wgAuth;
    在此之后在
    switch ($this->authenticateUserData())
    之前添加
    # Set search namespace options
    for( $j = 0 ; $j <= 15 ; $j++ ) {
    $value = in_array($j,array(0,6,10,14)) ? 1 : 0;
    $wgUser->setOption( "searchNs{$j}", $value );
    }
    $wgUser->saveSettings();备注:每个用户都登陆后,本段代码可以删除掉。
    PS:也可以手动修改数据库,不过存在一定风险。以上方法危险小,但需要时间长,如果用户不登录,则始终不生效。请客!^^v