<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[하나의 공유아이디 사용시 게시글 각각의 비밀번호 부여]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/12044</link>
		<description><![CDATA[<p>안녕하세요...낮에도 전화를 한번 드렸습니다.</p>

<p>계속 수정하다가 방향이 잘 잡히지 않아서 여기에 글을 남깁니다.</p>

<p> </p>

<p>하나의 공유아이디로 사용하다보니, 게시글 각각을 제어(수정, 삭제)하기 위하여 각 게시글에 비밀번호를 부여하여 사용할 수 있도록 하고 싶습니다. </p>

<p> </p>

<p>1. default스킨의 editor.php 파일에 로그인 사용자 비밀번호 부여</p>

<p> </p>

<p>&lt;?php if(is_user_logged_in()):?&gt;<br />
            &lt;div class="kboard-attr-row"&gt;<br />
                &lt;label class="attr-name" for="kboard-input-password"&gt;&lt;?php echo __('Password', 'kboard')?&gt;&lt;/label&gt;<br />
                &lt;div class="attr-value"&gt;&lt;input type="password" id="kboard-input-password" name="password" value="&lt;?php echo $content-&gt;password?&gt;" placeholder="&lt;?php echo __('Password', 'kboard')?&gt;..."&gt;&lt;/div&gt;<br />
            &lt;/div&gt;<br />
            &lt;div class="kboard-attr-row"&gt;<br />
                &lt;label class="attr-name"&gt;&lt;img src="&lt;?php echo kboard_captcha()?&gt;" alt=""&gt;&lt;/label&gt;<br />
                &lt;div class="attr-value"&gt;&lt;input type="text" name="captcha" value=""&gt;&lt;/div&gt;<br />
            &lt;/div&gt;<br />
 &lt;?php endif?&gt;</p>

<p> </p>

<p>2. 스킨의 document.php파일의 right영역</p>

<p>&lt;div class="right"&gt;<br />
                &lt;a href="&lt;?php echo $url-&gt;set('uid', $this-&gt;uid)-&gt;set('mod', 'list')-&gt;toString();<br />
            if(is_user_logged_in() &amp;&amp; (isset($_POST['password']) || $_POST['password'])){<br />
                echo '&lt;script&gt;alert("'.__('Please enter your password.', 'kboard').'");&lt;/script&gt;';<br />
                echo '&lt;script&gt;window.location.href="' . $url . '";&lt;/script&gt;';<br />
                exit;<br />
            }?&gt;" class="kboard-default-button-small" onclick="return confirm('&lt;?php echo __('수정권한은 관리자 승인을 통하여 글쓴이만 가능합니다. 관리자에게 문의하세요.', 'kboard')?&gt;');"&gt;&lt;?php echo __('Edit', 'kboard')?&gt;&lt;/a&gt;<br />
                &lt;a href="&lt;?php echo $url-&gt;set('uid', $this-&gt;uid)-&gt;set('mod', 'list')-&gt;toString();<br />
                if(is_user_logged_in() &amp;&amp; (isset($_POST['password']) || $_POST['password'])){<br />
                echo '&lt;script&gt;alert("'.__('Please enter your password.', 'kboard').'");&lt;/script&gt;';<br />
                echo '&lt;script&gt;window.location.href="' . $url . '";&lt;/script&gt;';<br />
                exit;<br />
            }?&gt;" class="kboard-default-button-small" onclick="return confirm('&lt;?php echo __('삭제권한은 관리자 승인을 통하여 글쓴이만 가능합니다. 관리자에게 문의하세요.', 'kboard')?&gt;');"&gt;&lt;?php echo __('Delete', 'kboard')?&gt;&lt;/a&gt;<br />
   &lt;/div&gt; </p>

<p> </p>

<p>그런데, 현재는 alert창 형태로 관리자에게 문의하는 형태로만 되어 있는데요. 이것을 비밀번호 확인을 통하여 수정, 삭제 권한을 주고 싶은데,  class파일의 어디를 제어해야 할지 모르겠군요. </p>

<p> </p>

<p>전화문의시에는 KBoardBuilder.class.php 파일의 builderEditor()와  builderRemove()를 수정하라 하셨는데요....</p>

<p>좀더 구체적으로 혹시 가이드 좀 가능할까요?</p>

<p>바쁘실텐데 죄송하오며,</p>

<p>항상 감사합니다.</p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[if(!$this-&amp;gt;board-&amp;gt;isConfirm($content-&amp;gt;password, $content-&amp;gt;uid, true))...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/12063</link>
			<description><![CDATA[<p><strong>if(!$this-&gt;board-&gt;isConfirm($content-&gt;password, $content-&gt;uid, true)){<br />
        $confirm_view = true;<br />
    }</strong></p>

<p> </p>

<p>위의 부분은 가능하온데,  최고관리자와  공유아이디의 권한을 적절히 주니,  다른게시판을 건드리지 않고, skin만 수정해서 되더군요.. </p>

<p>감사합니다.</p>

<p> </p>

<p><strong>if(!$this-&gt;board-&gt;isEditor($content-&gt;member_uid)){</strong></p>

<p><strong>            if($this-&gt;board-&gt;permission_write=='all' &amp;&amp; !$content-&gt;member_uid){<br />
                if(!$this-&gt;board-&gt;isConfirm($content-&gt;password, $content-&gt;uid, true)){<br />
                    $confirm_view = true;<br />
                }<br />
            }<br />
            else{<br />
                echo '&lt;script&gt;alert("'.__('You do not have permission.', 'kboard').'");history.go(-1);&lt;/script&gt;';<br />
                exit;<br />
            }<br />
        }<br />
        /**추가코드 **/<br />
        elseif(!current_user_can('administrator') || current_user_can('editor') ){<br />
            if(!$this-&gt;board-&gt;isConfirm($content-&gt;password, $content-&gt;uid, true)){<br />
                $confirm_view = true;<br />
            }<br />
        }<br />
        /**추가코드 end**/</strong></p>

<p> </p>

<p>그런데,  수정시에는 boardEditor()를 건드려야하는데,,,이것은 따로 함수를 만들던지 방법을 강구해야 할 것 같은데요...ㅜㅜ</p>
]]></description>
			<author>강민</author>
			<pubDate>Thu, 02 Feb 2017 14:32:56 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[네....바쁘실텐데, 밤에 답글 달아주시고....

한번 해보겠습니다...

감사합니다.
]]></title>
			<link>https://www.cosmosfarm.com/threads/document/12054</link>
			<description><![CDATA[<p>네....바쁘실텐데, 밤에 답글 달아주시고....</p>

<p>한번 해보겠습니다...</p>

<p>감사합니다.</p>
]]></description>
			<author>강민</author>
			<pubDate>Thu, 02 Feb 2017 02:28:59 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[수정해야 할 부분이 많을 듯합니다.

우선 삭제 기능 관련해서는 아래 굵게 표시된 코드를 수정하면 어...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/12050</link>
			<description><![CDATA[<p>수정해야 할 부분이 많을 듯합니다.</p>

<p>우선 삭제 기능 관련해서는 아래 굵게 표시된 코드를 수정하면 어떨까 합니다.</p>

<p>public function builderRemove(){<br />
    $url = new KBUrl();<br />
    <br />
    if(strpos($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST']) === false){<br />
        echo '&lt;script&gt;alert("'.__('This page is restricted from external access.', 'kboard').'");&lt;/script&gt;';<br />
        echo "&lt;script&gt;window.location.href='{$url-&gt;set('mod', 'list')-&gt;toString()}';&lt;/script&gt;";<br />
        exit;<br />
    }<br />
    <br />
    $content = new KBContent($this-&gt;board_id);<br />
    $content-&gt;initWithUID($this-&gt;uid);<br />
    <br />
    $confirm_view = false;<br />
    <strong>if(!$this-&gt;board-&gt;isEditor($content-&gt;member_uid)){<br />
        if($this-&gt;board-&gt;permission_write=='all' &amp;&amp; !$content-&gt;member_uid){<br />
            if(!$this-&gt;board-&gt;isConfirm($content-&gt;password, $content-&gt;uid, true)){<br />
                $confirm_view = true;<br />
            }<br />
        }<br />
        else{<br />
            echo '&lt;script&gt;alert("'.__('You do not have permission.', 'kboard').'");history.go(-1);&lt;/script&gt;';<br />
            exit;<br />
        }<br />
    }</strong></p>

<p>    if($confirm_view){<br />
        $board = $this-&gt;board;<br />
        $content-&gt;board = $board;<br />
        $board-&gt;content = $content;<br />
        <br />
        $vars = array(<br />
                'content' =&gt; $content,<br />
                'url' =&gt; $url,<br />
                'skin_path' =&gt; $this-&gt;skin-&gt;url($this-&gt;skin_name),<br />
                'skin_dir' =&gt; $this-&gt;skin-&gt;dir($this-&gt;skin_name),<br />
                'board' =&gt; $board,<br />
                'boardBuilder' =&gt; $this,<br />
        );<br />
        <br />
        echo $this-&gt;skin-&gt;load($this-&gt;skin_name, 'confirm.php', $vars);<br />
    }<br />
    else{<br />
        $delete_immediately = get_option('kboard_content_delete_immediately');<br />
            <br />
        if($delete_immediately){<br />
            $content-&gt;remove();<br />
        }<br />
        else{<br />
            $content-&gt;status = 'trash';<br />
            $content-&gt;updateContent();<br />
        }<br />
            <br />
        // 삭제뒤 게시판 리스트로 이동한다.<br />
        echo "&lt;script&gt;window.location.href='{$url-&gt;set('mod', 'list')-&gt;toString()}';&lt;/script&gt;";<br />
        exit;<br />
    }<br />
}</p>

<p> </p>

<p>아래처럼 바꿔보시겠어요?</p>

<p>public function builderRemove(){<br />
    $url = new KBUrl();<br />
    <br />
    if(strpos($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST']) === false){<br />
        echo '&lt;script&gt;alert("'.__('This page is restricted from external access.', 'kboard').'");&lt;/script&gt;';<br />
        echo "&lt;script&gt;window.location.href='{$url-&gt;set('mod', 'list')-&gt;toString()}';&lt;/script&gt;";<br />
        exit;<br />
    }<br />
    <br />
    $content = new KBContent($this-&gt;board_id);<br />
    $content-&gt;initWithUID($this-&gt;uid);<br />
    <br />
    $confirm_view = false;<br />
    <strong>if(!$this-&gt;board-&gt;isConfirm($content-&gt;password, $content-&gt;uid, true)){<br />
        $confirm_view = true;<br />
    }</strong></p>

<p>    if($confirm_view){<br />
        $board = $this-&gt;board;<br />
        $content-&gt;board = $board;<br />
        $board-&gt;content = $content;<br />
        <br />
        $vars = array(<br />
                'content' =&gt; $content,<br />
                'url' =&gt; $url,<br />
                'skin_path' =&gt; $this-&gt;skin-&gt;url($this-&gt;skin_name),<br />
                'skin_dir' =&gt; $this-&gt;skin-&gt;dir($this-&gt;skin_name),<br />
                'board' =&gt; $board,<br />
                'boardBuilder' =&gt; $this,<br />
        );<br />
        <br />
        echo $this-&gt;skin-&gt;load($this-&gt;skin_name, 'confirm.php', $vars);<br />
    }<br />
    else{<br />
        $delete_immediately = get_option('kboard_content_delete_immediately');<br />
            <br />
        if($delete_immediately){<br />
            $content-&gt;remove();<br />
        }<br />
        else{<br />
            $content-&gt;status = 'trash';<br />
            $content-&gt;updateContent();<br />
        }<br />
            <br />
        // 삭제뒤 게시판 리스트로 이동한다.<br />
        echo "&lt;script&gt;window.location.href='{$url-&gt;set('mod', 'list')-&gt;toString()}';&lt;/script&gt;";<br />
        exit;<br />
    }<br />
}</p>
]]></description>
			<author>스레드봇</author>
			<pubDate>Wed, 01 Feb 2017 15:55:28 +0000</pubDate>
			<category>KBoard</category>
		</item>
			</channel>
</rss>