<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[[답글개선] 회원의 비밀글에 대한 관리자 비밀 답글을 읽을 수 있도록 처리]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/3243</link>
		<description><![CDATA[<p>안녕하세요? 케이보드를 잘 사용하고 있습니다. 먼저 감사를 드립니다.</p>

<p>케이보드를 회원제로 운영하고 있고, 로그인해야만 글을 쓸 수 있도록 설정되어 있습니다.</p>

<p>회원이 비밀글을 작성하고 답글로 관리자가 글을 작성할 때 비밀글로 썼다면, 원글을 쓴 회원이 읽을 권한이 없다고 나옵니다.</p>

<p>맞나요? 설명이 제대로 된것인지 모르겠네요.ㅎ</p>

<p>그래서, 관리자의 비밀 답글을 원글(부모글)의 작성자가 볼 수 있도록 수정해 봤습니다.</p>

<p>검토해봐 주시고, 다음에 패치가 된다면 적용여부를 검토해봐 주시면 감사하겠습니다.</p>

<p>수정파일 : class/KBoard.class.php, class/KBoardBuilder.php</p>

<p> </p>

<p><strong>1. class/KBoardBuilder.php 라인 194</strong></p>

<p>답글인 경우 부모글의 작성자 아이디를 가져옴 (builderDocument() 에 추가)</p>

<p>        /**<br />
         * 비밀글에 대한 관리자 답글 비밀글을 글쓴이가 읽을 수 있도록 처리<br />
         * 부모글의 아이디를 isReader에 전달<br />
         * 수정 : Kim WJ; 2014-06-18<br />
         */<br />
        if( $content-&gt;parent_uid ) {<br />
            $parent_content = new KBContent($this-&gt;board_id);<br />
            $parent_content-&gt;initWithUID($content-&gt;parent_uid);<br />
        } // 수정 끝//</p>

<p>isReader 호출 시 부모글 작성자 아이디 전달하도록 수정</p>

<p>if(!$this-&gt;board-&gt;isReader($content-&gt;member_uid, $content-&gt;secret) &amp;&amp; $content-&gt;notice != 'true'){</p>

<p>아래와 같이 변경</p>

<p>if(!$this-&gt;board-&gt;isReader($content-&gt;member_uid, $content-&gt;secret, $parent_content-&gt;member_uid) &amp;&amp; $content-&gt;notice != 'true'){</p>

<p> </p>

<p><strong>2. class/KBoard.class.php 라인 141 수정</strong></p>

<p>isReader function을 아래와 같이 수정함. 굵게처리된 부분이 수정한 것임.</p>

<p>    public function isReader($writer_uid, $secret='', <strong>$parent_member_uid=NULL</strong>){<br />
        $admin_user = array_map(create_function('$string', 'return trim($string);'), explode(',', $this-&gt;admin_user));<br />
        <br />
        if($this-&gt;permission_read == 'all' &amp;&amp; !$secret){<br />
            return true;<br />
        }<br />
        else if($this-&gt;userdata-&gt;data-&gt;ID){<br />
            if($writer_uid == $this-&gt;userdata-&gt;data-&gt;ID){<br />
                // 본인인 경우<br />
                return true;<br />
            }<br />
            else if(@in_array('administrator', $this-&gt;userdata-&gt;roles) || @in_array('editor', $this-&gt;userdata-&gt;roles) || @in_array('librarian', $this-&gt;userdata-&gt;roles)){<br />
                // 최고관리자 허용<br />
                return true;<br />
            }<br />
            else if(($this-&gt;permission_read == 'all' || $this-&gt;permission_read == 'author' || $this-&gt;permission_read == 'editor') &amp;&amp; @in_array($this-&gt;userdata-&gt;data-&gt;user_login, $admin_user)){<br />
                // 선택된 관리자 권한일때, 사용자명과 선택된관리자와 비교후, 일치하면 허용<br />
                return true;<br />
            }<br />
            else if($this-&gt;permission_read == 'author' &amp;&amp; !$secret){<br />
                // 로그인 사용자 권한일때, role대신 ID값이 있으면, 모든 사용자 허용<br />
                return true;<br />
            }<br />
           <strong> else if(!empty($parent_member_uid) &amp;&amp; $parent_member_uid == $this-&gt;userdata-&gt;data-&gt;ID) {<br />
                //로그인 후 부모글을 쓴사람은 관리자의 비밀 답글을 읽을 수 있어야 함<br />
                //$this-&gt;userdata-&gt;data-&gt;ID //현재 로그인되어 있는사람<br />
                //$writer_uid; //현재 글을 쓴사람<br />
                //$parent_member_uid;    //부모 글을 쓴사람<br />
                return true;<br />
            }</strong><br />
        }<br />
        else{<br />
            return false;<br />
        }<br />
    }</p>

<p> </p>

<p>이상입니다.^^</p>

<p>본 케이보드는 부산대학교 도서관 게시판에 적용되어 있습니다.^^ 사이트 바로가기(<a href="http://lib.pusan.ac.kr/community/ask/ask-bbs/" target="_blank">http://lib.pusan.ac.kr/community/ask/ask-bbs/</a>)</p>

<p>좋은 프로그램을 공유해주셔서 감사드리며, 더욱 발전하는 케이보드가 되길 기대합니다.</p>

<p>그리고, 멀티사이트에서 케이보드를 공유하도록 설정하려고 하는데 좋은 정보가 있다면 추천 부탁드립니다. </p>

<p>감사합니다.</p>
]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[좋은 정보 잘 보았습니다

참, 혹 멀티 사이트에서 그렇게 하시려면 새로운 테이블을 만들거나 해서 별...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/3251</link>
			<description><![CDATA[<p>좋은 정보 잘 보았습니다</p>

<p><span style="line-height:1.6em;">참, 혹 멀티 사이트에서 그렇게 하시려면 새로운 테이블을 만들거나 해서 별도의 키로 관리하셔야될거예요..</span></p>

<p> </p>
]]></description>
			<author>배준석</author>
			<pubDate>Fri, 20 Jun 2014 12:14:40 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[부산대학교 도서관 홈페이지에서 사용하고 계시군요~

좋은정보 감사합니다.

부족한 점이 많은 케이보...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/3245</link>
			<description><![CDATA[<p>부산대학교 도서관 홈페이지에서 사용하고 계시군요~</p>

<p>좋은정보 감사합니다.</p>

<p>부족한 점이 많은 케이보드지만 계속 발전하고 있으니 꾸준한 관심 부탁드립니다^^</p>

<p>멀티사이트는 테이블 자체가 각각 사이트별로 생성됩니다.</p>

<p>그래서 데이터 공유가 안되고 있는데요.</p>

<p>이러한 부분은 저희도 고민 해보도록 하겠습니다.</p>
]]></description>
			<author>스레드봇</author>
			<pubDate>Thu, 19 Jun 2014 13:58:02 +0000</pubDate>
			<category>KBoard</category>
		</item>
			</channel>
</rss>