Προσβάση σε σελίδα από συγκεκριμένες ομάδες

Υποστήριξη σχετικά με οποιοδήποτε θέμα του phpBB (σειρά εκδόσεων 3.0.x).
Σημείωση: Εδώ μπορείτε να αναζητάτε βοήθεια για τη λειτουργία του phpBB μόνο.
Άβαταρ μέλους
TJK
Μέλος
Μέλος
Δημοσιεύσεις: 145
Εγγραφή: Τετ 6 Απρ 2016, 13:52
Τοποθεσία: Τόλης@Λάρισα
Επικοινωνία:

Προσβάση σε σελίδα από συγκεκριμένες ομάδες

Δημοσίευση από TJK » Κυρ 12 Ιουν 2016, 22:49

Γεια σας,

έχω δημιουργήσει μία costum page και θα θελα να δώσω πρόσβαση σε αυτή μόνο συγκεκριμένες ομάδες. Πιο συγκεκριμένα οι ομάδες που θέλω να δώσω πρόσβαση είναι αυτές με id το 5 και το 8. Το .php είναι παρακάτω

Κώδικας: Επιλογή όλων

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

page_header('MathJaX');


 if ($user->data['group_id'] == '5' || $user->data['group_id'] == '8')
{
page_header('MathJaX');

$template->set_filenames(array(
    'body' => 'latexgr.html',
));
}
else
{
page_header('MathJaX');

$template->set_filenames(array(
    'body' => 'denied.html',
));
}

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
Το 5 είναι για την ομάδα των διαχειριστών και το 8 είναι για την επιπρόσθετη ομάδα. Τι γίνεται όμως; Ο κώδικας λειτουργεί μια χαρά αν τα μέλη είναι στη default ομάδα. Για τα μέλη που δεν είναι στη default ομάδα η συνάρτηση που έφτιαξα τους πετάσει στο μήνυμα λάθους και ανοίγει το denied.html .

Πιο συγκεκριμένα, τα μέλη της ομάδας με id=5 είναι εγγεγραμμένοι χρήστες που ανήκουν επιπλέον και σε μία άλλη ομάδα. Θα θελα αυτή η ομάδα να έχει πρόσβαση στη σελίδα αυτή. Η διαχειριστική ομάδα δεν έχει κανένα πρόβλημα. Πώς το λύνουμε το ζήτημα;

Άβαταρ μέλους
TJK
Μέλος
Μέλος
Δημοσιεύσεις: 145
Εγγραφή: Τετ 6 Απρ 2016, 13:52
Τοποθεσία: Τόλης@Λάρισα
Επικοινωνία:

Re: Προσβάση σε σελίδα από συγκεκριμένες ομάδες

Δημοσίευση από TJK » Τετ 29 Ιουν 2016, 13:19

Εύρηκα:

Κώδικας: Επιλογή όλων

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

page_header('MathJaX');
$template->assign_block_vars('navlinks', array(
            'FORUM_NAME'         => 'MathJaX', 
            'U_VIEW_FORUM'      => append_sid("{$phpbb_root_path}custom_page.$phpEx")) /
);


$group_ids = array(
    5,
    8,
);

$user_ary = array();

$sql = 'SELECT user_id
        FROM ' . USER_GROUP_TABLE . '
        WHERE ' . $db->sql_in_set('group_id', $group_ids);
$result = $db->sql_query($sql);

while ($row = $db->sql_fetchrow($result))
{
    $user_ary[$row['user_id']] = $row['user_id'];
}
$db->sql_freeresult($result);
page_header('MathJaX');

if (!in_array($user->data['user_id'], $user_ary))
{
    if ($user->data['user_id'] == ANONYMOUS)
    {
        login_box('', 'LOGIN');
    }
    
    trigger_error('NOT_AUTHORISED');
}
$template->set_filenames(array(
    'body' => 'latexgr.html',
));




make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>

Κλειδωμένο