차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
tech:randompage [2014/08/21 01:35] fe80:7afc:18cc:0c5b:20da:f433:e2ff:3e5ftech:randompage [2016/07/12 09:26] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +{{tag>randompage 도쿠위키 플러긴 dokuwiki plugin}}
 ======랜덤페이지 (Randompage) 플러긴====== ======랜덤페이지 (Randompage) 플러긴======
  
 랜덤페이지 플러긴이다. 네임스페이스 지원하도록 약간 수정했다.  랜덤페이지 플러긴이다. 네임스페이스 지원하도록 약간 수정했다. 
 +다른 위키엔진들은 대부분 기본 기능인데;; 
 (원작: https://www.dokuwiki.org/plugin:random_page ) (원작: https://www.dokuwiki.org/plugin:random_page )
- 
-다른 위키엔진들은 대부분 기본 기능인데;;  
  
 아래의 파일을 받아서 ''lib/plugins/randompage'' 안에 ''action.php''라는 이름으로 넣으면 된다. 아래의 파일을 받아서 ''lib/plugins/randompage'' 안에 ''action.php''라는 이름으로 넣으면 된다.
줄 11: 줄 10:
   ?do=randompage       ?do=randompage    
 혹은 혹은
- ?do=nsrandompage+  ?do=nsrandompage
 하면 된다. 하면 된다.
  
-  * http://openwiki.kr/?do=randompage  이것은 전체페이지 중 무작위로 가고, +  * [[?do=randompage|http://openwiki.kr/tech:randompage?do=randompage]]  이것은 전체 위키페이지 중 무작위로 가고, 
-  * http://openwiki.kr/?do=nsrandompage   이것은 현재 이름공간의 페이지 중에서 골라 간다.+  * [[?do=nsrandompage|http://openwiki.kr/tech:randompage?do=nsrandompage]]   이것은 현재 이름공간의 페이지 중에서 골라 간다.
  
  
줄 31: 줄 30:
 class action_plugin_randompage extends Dokuwiki_Action_Plugin { class action_plugin_randompage extends Dokuwiki_Action_Plugin {
  
-  
  /**  /**
  * Register its handlers with the dokuwiki's event controller  * Register its handlers with the dokuwiki's event controller
줄 38: 줄 36:
  $controller->register_hook('ACTION_HEADERS_SEND', 'BEFORE', $this, 'init', 'header');  $controller->register_hook('ACTION_HEADERS_SEND', 'BEFORE', $this, 'init', 'header');
  }  }
- 
  
  function init(&$event, $args)  function init(&$event, $args)
줄 50: 줄 47:
  }  }
  }  }
 +
  
  function action_randompage(&$event, $args) {  function action_randompage(&$event, $args) {
줄 55: 줄 53:
  global $conf;  global $conf;
  global $ID;  global $ID;
-                global $INFO; +        global $INFO; 
-                $data = array();+ 
 + $data = array();
  $dir = $conf['savedir'];  $dir = $conf['savedir'];
 +
  $data = file ($dir.'/index/page.idx');  $data = file ($dir.'/index/page.idx');
  
줄 75: 줄 75:
  //echo $i;  //echo $i;
  $i++;  $i++;
 +
  $id = rtrim($data[array_rand($data)]);  $id = rtrim($data[array_rand($data)]);
  $testACL = auth_aclcheck($id,$_SERVER['REMOTE_USER'],$USERINFO['grps']);  $testACL = auth_aclcheck($id,$_SERVER['REMOTE_USER'],$USERINFO['grps']);
 +
  if (($testACL > 1) and (file_exists(wikiFN($id)))){  if (($testACL > 1) and (file_exists(wikiFN($id)))){
  $i="ok";  $i="ok";
줄 100: 줄 102:
  }  }
  return @$num;  return @$num;
- } + }    
-    +
 }</file> }</file>
  
 ^  누구나 수정하실 수 있다. [[http://vaslor.net/syntax|위키 사용법]] 참고하라.  ^ ^  누구나 수정하실 수 있다. [[http://vaslor.net/syntax|위키 사용법]] 참고하라.  ^
  
-{{tag>randompage 도쿠위키 플러긴 dokuwiki plugin}}+