อยากทรบวิธีจัดการไม่ให้สมาชิกที่อยู่ในกลุ่มที่กำหนดมาส่องโพสต์ของผู้อื่นได้

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
Ittichai_chupol
PHP VIP Members
PHP VIP Members
โพสต์: 5410
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

อยากทรบวิธีจัดการไม่ให้สมาชิกที่อยู่ในกลุ่มที่กำหนดมาส่องโพสต์ของผู้อื่นได้

โพสต์ที่ยังไม่ได้อ่าน โดย Ittichai_chupol »

ผมต้อการสร้าง Extension สร้างนามแฝง โดย ถ้าหากผู้ที่เป็น admin หรือ mod เข้ามาส่องโพสต์ของผุ้อื่นที่เป็นนามแฝง ก็จะสามารถมองเห็นนามแฝง และโพสต์ของผุ้นั้น
แต่หากเป็นบุคคลทั่วไปจะไม่สามารถที่จะมองเห็นโพสต์ที่เป็นนามแฝง

แค่ปัญหาคือ จะมีกลุ่ม พิเศษกลุ่มหนึ่ง ที่ไม่ใช้ admin หรือ mod แต่กลับมองเห็น โพสต์ที่เป็นนามแฝงได้
จึงทราบถ้าหากไม่ได้ต้องการที่จะให้ผู้ที่เป็นสมาชิก กลุ่มดังกล่าว มาส่องโพสต์ ที่เป็นนามแฝง มาเห็นนามแฝงของผุ้ที่ถูกส่อง จะต้องทำอย่างไรครับ
ขอให้วันนี้เป็นวันที่ดี
ภาพประจำตัวสมาชิก
Ittichai_chupol
PHP VIP Members
PHP VIP Members
โพสต์: 5410
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

Re: อยากทรบวิธีจัดการไม่ให้สมาชิกที่อยู่ในกลุ่มที่กำหนดมาส่องโพสต์ของผู้อื่นได้

โพสต์ที่ยังไม่ได้อ่าน โดย Ittichai_chupol »

ส่วนของการตั้งค่า กลุ่มดังกล่าว
Programming - PHP-1.png
ขอให้วันนี้เป็นวันที่ดี
ภาพประจำตัวสมาชิก
Ittichai_chupol
PHP VIP Members
PHP VIP Members
โพสต์: 5410
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

Re: อยากทรบวิธีจัดการไม่ให้สมาชิกที่อยู่ในกลุ่มที่กำหนดมาส่องโพสต์ของผู้อื่นได้

โพสต์ที่ยังไม่ได้อ่าน โดย Ittichai_chupol »

วิธีการเขียนโคดในการตรวจสอบสิทธิ์ ที่ผมใช้ก็มีดังนี้

โค้ด: เลือกทั้งหมด

            global $phpbb_container;
            $phpbb_content_visibility = $phpbb_container->get('content.visibility');
            $pagination = $phpbb_container->get('pagination');
        global $auth;
            $moderator_permissions_forum = $auth->acl_get('m_');
    $sql_array = array(
                    'SELECT' => ' DISTINCT  p.post_subject, u.user_colour, t.topic_poster,t.topic_first_poster_name, t.topic_last_post_id , t.topic_id ,p.post_text ,p.post_time ,p.post_subject ,u.username ,p.post_subject ,p.post_id,t.forum_id ,t.topic_id,u.user_id ,t.topic_views ,topic_first_post_id',
                    'FROM' => array(
                        POSTS_TABLE => 'p',
                    ),
                    'LEFT_JOIN' => array(
                        array(
                            'FROM' => array(TOPICS_TABLE => 't'),
                            'ON' => 'p.topic_id = t.topic_id',
                        ),
                        array(
                            'FROM' => array(USERS_TABLE => 'u'),
                            'ON' => 't.topic_poster = u.user_id',
                        ),
                    ),
                    'WHERE' => $m_approve_topics_fid_sql . ' AND  p.poster_id = ' . $uid . ' AND  t.topic_first_post_id != p.post_id ',
                    'ORDER_BY' => ' p.post_time DESC',
                );
                if ($post_id != null) {
                    if ($uid != $this->user->data['user_id'] && $moderator_permissions_forum != 1 ) {  //เป็นส่วนที่ใช้ในการตรวจสอบว่า เป็น admin หรือ mod
                        $sql_array['WHERE'] .= ' AND   ' . $this->db->sql_in_set('p.post_id', $postid);
                    }
                }
                
จึงอยากทราบว่าทำไม่จึงไม่สามารถตรวจสอบสิทธิ์ได้
แนบไฟล์
Programming - PHP-1.png
ขอให้วันนี้เป็นวันที่ดี
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: อยากทรบวิธีจัดการไม่ให้สมาชิกที่อยู่ในกลุ่มที่กำหนดมาส่องโพสต์ของผู้อื่นได้

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

วิธีเช็คว่าเป็นสิทธิ์หรือป่าวสามารถทำได้ 2 แบบ
เเต่ คำถามนี่้อาจจะไม่เกี่ยวกับสิทธิ์อย่างเดียวต้องดู SQL ด้วย

โค้ด: เลือกทั้งหมด

$auth->acl_get('m_');
$auth->acl_get('m_', $forum_id)
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Bing [Bot], Google Adsense [Bot] และบุคลทั่วไป 132