skip menu and go to main content

body start

MoniWiki

  [질문] 사용자 관리 및 변수 관련 4 ]

04.08.18-18:51:00

307996

Submitted by Yu, SeungKen

 

View204

 

이제 moniwiki를 설치하고 사용을 시작하는 사용자입니다.
궁금한 점이 질문 올립니다.

먼저 moniwiki에서 사용자를 관리하는 방법을 알고 싶습니다.
- 사용자를 그룹화하여 관리할 수 있는 방법
- 특정 페이지를 특정 사용자(그룹)만 볼 수 있도록 하는 방법
- 등록한 사용자 리스트를 출력하는 방법(macro)
등이 궁금합니다.
Security 관련 plugin 소스를 봤지만 잘 모르겠어서 질문 올립니다. moniwiki wiki 사이트에도 정확히 안나와 있네요.

그리고 header, footer를 작성할 때 정의된 변수들을 사용하려고 하는데, 참고 문서는 어디서 찾을 수 있을까여?
예를 들어 $menu, $title 변수등을 말합니다.
지금 header에서 로그인한 사용자 명을 출력하려고 하는데, 일단 다른 소스에서 보고
$user = new User(); $user->id ...
등으로 직접 코딩을 했는데, 바로 알 수 있는 변수가 없나여?
이런 변수들이 정리된 문서가 있으며, header나 footer를 작성할 때 편할거 같습니다.

수고하세요~~~

Comments on this artfact

4 Comments

Yu, SeungKen

이제 moniwiki를 설치하고 사용을 시작하는 사용자입니다.
궁금한 점이 질문 올립니다.

먼저 moniwiki에서 사용자를 관리하는 방법을 알고 싶습니다.
- 사용자를 그룹화하여 관리할 수 있는 방법
- 특정 페이지를 특정 사용자(그룹)만 볼 수 있도록 하는 방법
- 등록한 사용자 리스트를 출력하는 방법(macro)
등이 궁금합니다.
Security 관련 plugin 소스를 봤지만 잘 모르겠어서 질문 올립니다. moniwiki wiki 사이트에도 정확히 안나와 있네요.

그리고 header, footer를 작성할 때 정의된 변수들을 사용하려고 하는데, 참고 문서는 어디서 찾을 수 있을까여?
예를 들어 $menu, $title 변수등을 말합니다.
지금 header에서 로그인한 사용자 명을 출력하려고 하는데, 일단 다른 소스에서 보고
$user = new User(); $user->id ...
등으로 직접 코딩을 했는데, 바로 알 수 있는 변수가 없나여?
이런 변수들이 정리된 문서가 있으며, header나 footer를 작성할 때 편할거 같습니다.

수고하세요~~~

04.08.18-18:51:00

wkpark

> - 사용자를 그룹화하여 관리할 수 있는 방법
지원하지 않습니다.

> - 특정 페이지를 특정 사용자(그룹)만 볼 수 있도록 하는 방법
역시 지원하지 않습니다.

> - 등록한 사용자 리스트를 출력하는 방법(macro)

UserDB::getUserList() 라는 함수가 있습니다.

이것을 참고하시면 되겠죠.

> 그리고 header, footer를 작성할 때 정의된 변수들을
> 사용하려고 하는데, 참고 문서는 어디서 찾을 수 있
> 을까여?

없습니다. wiki.php 소스를 직접 참고하시거나 다른 테마 소스를 참고하시면 되겠죠.

> $user = new User(); $user->id ...
> 등으로 직접 코딩을 했는데, 바로 알 수 있는 변수가
> 없나여?
macro_* 에서는 위와 같은 식으로 하셔야 하구요

do_* 액션에서는 $options['id']로 값을 넘겨받습니다.

> 이런 변수들이 정리된 문서가 있으며, header나
> footer를 작성할 때 편할거 같습니다.

 1. 처음 만들때 대충 만든거라 ^^;; 차기 버전에서 바뀔 수 있기 때문에 자세하 문서는 만들지 않았습니다.
 2. 문서 만드는 것은 코딩하는 것 보다 시간이 두배 이상 듭니다.

아직 모니위키는 기능 개선이 필요한 부분이 많습니다.
천천히 문서화 하려 하지만 역시 시간이 문제인 것입니다. 개발자라고 모든 것을 단시간 안에 뚝닥 만든다고 생각하시면 오산이죠 적어도 삐리리한 개발자에게는요 :)

04.08.18-19:56:00

Yu, SeungKen

답변 감사드립니다.
왠지... 처음 사용하면서 고맙다는 말보다 이것저것 제것 챙기기만 한거 같네여. ^^;;;

앞으로 계속 프로젝트 진행해 나가주셨으면 하고, 잘 사용하겠습니다.

그리고 매크로에서는 등록된 사용자 목록을 출력하는 기능이 없는거 같아서 PageHits Macro 복사해서 아래처럼 작성해봤습니다. 첨 해보는거라...ㅋㅋ
function macro_UserList($formatter = "", $value) {
  global $DBInfo;
  $udb = new UserDB($DBInfo);
  $users = $udb->getUserList();
  if ($value == 'reverse' or $value[0] == 'r') arsort($users);
  else asort($users);
  foreach ($users as $i => $value) {
    $out.="<li>$value</li>\n";
  }
  return "<ol>\n".$out."</ol>\n";
}
수고하세여...

04.08.18-20:36:15

장석문

실제로 시험을 해 보니까 잘 보이네요.
좀더 수정해서 테이블로 표시하도록 해 보았습니다.

테이블은 파이선사용자 모임(PYKUG)의 회원들 페이지를 참고하였습니다.
XHTML 테스트를 진행했으며 문제없이 통과하였습니다.
---------- 변경된 소스 ------------------------
function macro_UserList($formatter = "", $value) {
global $DBInfo;
$udb = new UserDB($DBInfo);
$users = $udb->getUserList();
if ($value == 'reverse' or $value[0] == 'r') arsort($users);
else asort($users);
foreach ($users as $i => $value) {
        $iuser = $udb->getUser($value);
        $out.="<tr><td>".($i+1)."</td><td>$value</td><td>&nbsp;".$iuser->info['email']."</td></tr>\n";
}
return "<table border='1' cellspacing='0' style='background-color: #E0F4FF;border-color:silver;' cellpadding='3'>\n<tr>\n<td>순서</td><td>별칭</td><td>이메일</td>\n</tr>\n".$out."</table>\n";
}
-------------------------------------------------

04.09.02-14:04:33