ตัวอย่าง
โค้ด: เลือกทั้งหมด
global $phpbb_container;
$phpbb_content_visibility = $phpbb_container->get('content.visibility');
$pagination = $phpbb_container->get('pagination');
$per_page = $this->request->variable('list', $this->config['topics_per_page']); //
$start = $this->request->variable('start', 0);
$ex_fid_ary = array();
$ex_fid_ary = array_unique(array_merge(array_keys($this->auth->acl_getf('!f_read', true)), array_keys($this->auth->acl_getf('!f_search', true))));
$m_approve_posts_fid_sql = $phpbb_content_visibility->get_global_visibility_sql('post', $ex_fid_ary, 'p.');
$m_approve_topics_fid_sql = $phpbb_content_visibility->get_global_visibility_sql('topic', $ex_fid_ary, 't.');
$sql_array = array(
'SELECT' => 'p.*, f.forum_id, f.forum_name, t.*, u.username, u.username_clean, u.user_sig, u.user_sig_bbcode_uid, u.user_colour',
'FROM' => array(
$this->table_m_num_post_like => 'pp'
),
'LEFT_JOIN' => array(
array(
'FROM' => array(TOPICS_TABLE => 't'),
'ON' => 'pp.num_topic_id_like = t.topic_id',
),
array(
'FROM' => array(POSTS_TABLE => 'p'),
'ON' => 'pp.post_id = p.post_id',
),
array(
'FROM' => array(FORUMS_TABLE => 'f'),
'ON' => 'p.forum_id = f.forum_id',
),
array(
'FROM' => array(USERS_TABLE => 'u'),
'ON' => 'p.poster_id = u.user_id',
),
),
'WHERE' => $m_approve_posts_fid_sql,
'ORDER_BY' => 'pp.num_post_like DESC',
);
$sql = $this->db->sql_build_query('SELECT', $sql_array);
$result = $this->db->sql_query_limit($sql, $per_page, $start);
$ex_fid_ary = array();
$ex_fid_ary = array_unique(array_merge(array_keys($this->auth->acl_getf('!f_read', true)), array_keys($this->auth->acl_getf('!f_search', true))));
$m_approve_posts_fid_sql = $phpbb_content_visibility->get_global_visibility_sql('post', $ex_fid_ary, 'p.'); // ดึงเเบบ POST เฉพาะโพสต์ที่มีสิทธิ์
$m_approve_topics_fid_sql = $phpbb_content_visibility->get_global_visibility_sql('topic', $ex_fid_ary, 't.'); // ดึงเเบบ topics เฉพาะ topics ที่มีสิทธิ์