Pagina 1 van 1
Pagina's enkel voor bepaalde gebruikersgroepen
Geplaatst: 19 nov 2009, 09:12
door Mister v
- Adres van je forum: http://www.vijverhengelen.be
phpBB versie:3.0.
Wat is het probleem?
Ik zou graag verschillende nieuwe pagina's maken voor mijn forum
Nu is me dat al aardig gelukt met wat hulp van her en der maar ik zou nog hetvolgende willen.
Sommige pagina's zouden maar mogen te zien zijn voor 3 gebruikersgroepen (beheerders, moderators, en pro gebruikers) Ik weet dat het mogelijk is alleen geraak ik er niet aan uit hoe het moet.Heb al op verschillende sites gekeken maar krijg nergens hulp.Ik hoop eigenlijk dat ik er hier wel krijg. Een kenner ben ik niet maar wil het wel leren maar zonder hulp word dat moeilijk.De pagina's kan je terug vinden op mijn portaal in de blok info daar staan linken naar de pagina's.
Dus mijn vraag hoe doe ik dat dat er maar 3 gebruikersgroepen sommige pagina's kunnen zien ?
Een voorbeeld van mijn pagina's zal ik eens hieronder plaatsen
mijn html bestand
Code: Selecteer alles
<!-- INCLUDE overall_header.html -->
<table class="tablebg" cellspacing="1" cellpadding="0" width="100%">
<tbody>
<tr>
<th>
<span style="">Testpagina</span>
</th>
</tr>
<tr class="row1">
<td style="padding: 0px;">
<table class="tablebg" cellspacing="1" width="100%">
<tr class="row1"><td style="padding: 5px;">
<div class="postbody">
Hier komt de titel
</div>
</td>
</tr>
<tr class="row1">
<td style="padding: 5px;">
<div class="postbody">
hier ook tekst
</div></td>
</tr>
</table>
</td>
</tr>
</table>
<!-- INCLUDE overall_footer.html -->
</body>
</html>
mijn php bestand
Code: Selecteer alles
<?php/
[code]<?php /**
*
* @package phpBB3
* @version $Id: test.php,v 1.171 2007/04/30 13:30:20 acydburn Exp $
* @copyright (c) 2007 phpBBservice.nl
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
define('IN_PHPBB', true);
$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('test'); //dit is het taal bestand, in dit geval test
//hier kan je de php code plaatsen naar keuze
//hoofdpagina titel, en tekst in de taalbalk
page_header($user->lang['test']);
//dit is het HTML bestand, en kan je weer aanpassen naar keuze
$template->set_filenames(array(
'body' => 'test.html')
);
page_footer();
?>
Mijn taalbestand
Code: Selecteer alles
<?php
/**
*
* @package phpBB3
* @version $Id: test.php,v 1.171 2007/04/30 13:30:20 acydburn Exp $
* @copyright (c) 2007 phpBBservice.nl
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* DO NOT CHANGE
*/
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
$lang = array_merge($lang, array(
'test' => 'Testpagina',
));
?>
Re: Pagina's enkel voor bepaalde gebruikersgroepen
Geplaatst: 19 nov 2009, 10:51
door FreakyBlue
Dat kan je doen door te checken of iemand lid is van die bepaalde groepen.
Bijvoorbeeld door dit:
Code: Selecteer alles
if (!group_memberships(array(3,4), $user->data['user_id'], true))
{
trigger_error('NOT_ALLOWED');
}
Dit wil zeggen dat de gebruikers die lid zijn van de groupen met ID 3, 4 toegang hebben en anderen niet.
Dus even uitzoeken welke ID hoort bij beheerders, moderators, en pro gebruikers, die toevoegen, code plaatsen in je php bestand.
Re: Pagina's enkel voor bepaalde gebruikersgroepen
Geplaatst: 19 nov 2009, 10:57
door Mister v
o bedank .Kan het zijn dat deze groepen van mij 5, 7, 13 zijn
en waar moet ik dit dan juist plaatsen in php bestand? helemaal boven aan of waar precies
ik heb al geprobeerd op verschillende plaatsen maar ik krijg telkens een error
Code: Selecteer alles
if (!group_memberships(array(5,7,13), $user->data['user_id'], true)
{
trigger_error('NOT_ALLOWED');
}
Re: Pagina's enkel voor bepaalde gebruikersgroepen
Geplaatst: 19 nov 2009, 11:16
door FreakyBlue
Welke ID bij jouw groepen horen weet ik niet. Dat zal je even moeten checken in bijvoorbeeld je database in de tabel phpbb_groups.
De code plaats je hier:
Code: Selecteer alles
<?php/
[code]<?php /**
*
* @package phpBB3
* @version $Id: test.php,v 1.171 2007/04/30 13:30:20 acydburn Exp $
* @copyright (c) 2007 phpBBservice.nl
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
define('IN_PHPBB', true);
$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('test'); //dit is het taal bestand, in dit geval test
//hier kan je de php code plaatsen naar keuze
if (!group_memberships(array(3,4), $user->data['user_id'], true)
{
trigger_error('NOT_ALLOWED');
}
//hoofdpagina titel, en tekst in de taalbalk
page_header($user->lang['test']);
//dit is het HTML bestand, en kan je weer aanpassen naar keuze
$template->set_filenames(array(
'body' => 'test.html')
);
page_footer();
?>
Re: Pagina's enkel voor bepaalde gebruikersgroepen
Geplaatst: 19 nov 2009, 11:30
door Mister v
ik krijg nog steeds een error
Code: Selecteer alles
Parse error: syntax error, unexpected '{' in /home/fishmate/domains/vijverhengelen.be/public_html/voerreseptjes.php on line 39
zo staat het in mijn php
Code: Selecteer alles
<?php
/**
*
* @package phpBB3
* @version $Id: test.php,v 1.171 2007/04/30 13:30:20 acydburn Exp $
* @copyright (c) 2007 phpBBservice.nl
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
define('IN_PHPBB', true);
$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('voertjes'); //dit is het taal bestand, in dit geval voertjes
$sql = 'SELECT user_id
FROM ' . USER_GROUP_TABLE . '
WHERE group_id = 7
AND user_id = ' . $user->data['user_id'] . '
LIMIT 1';
$result = $db->sql_query($sql);
if ($db->sql_fetchrow($result))
{
$template->assign_vars(array('S_INCLUDE_FOR_GROUP_5' => true));
}
$db->sql_freeresult($result);
// Output the page
//hier kan je de php code plaatsen naar keuze
if (!group_memberships(array(5,7,13), $user->data['user_id'], true)
{
trigger_error('NOT_ALLOWED');
}
//hoofdpagina titel, en tekst in de taalbalk
page_header($user->lang['voertjes']);
//dit is het HTML bestand, en kan je weer aanpassen naar keuze
$template->set_filenames(array(
'body' => 'voertjes.html')
);
page_footer();
?>
Re: Pagina's enkel voor bepaalde gebruikersgroepen
Geplaatst: 19 nov 2009, 11:48
door FreakyBlue
Je mist een ) op regel 38.
Dit moet het zijn:
Code: Selecteer alles
if (!group_memberships(array(5,7,13), $user->data['user_id'], true))
{
trigger_error('NOT_ALLOWED');
}
Re: Pagina's enkel voor bepaalde gebruikersgroepen
Geplaatst: 19 nov 2009, 11:54
door FreakyBlue
Ik heb nog eens rond zitten neuzen en eigenlijk is dit de meest koninklijke weg:
http://wiki.phpbb.com/Adding_pages#Cont ... t_by_Group
Kortom, advies is om het op deze manier te doen.
Re: Pagina's enkel voor bepaalde gebruikersgroepen
Geplaatst: 19 nov 2009, 11:56
door Mister v
er moet nog ergens een fout inzitten ik krijg terug dezelfde error
Code: Selecteer alles
Fatal error: Call to undefined function group_memberships() in /home/fishmate/domains/vijverhengelen.be/public_html/voerreseptjes.php on line 38
nu is het bij mij zo
Code: Selecteer alles
<?php
/**
*
* @package phpBB3
* @version $Id: test.php,v 1.171 2007/04/30 13:30:20 acydburn Exp $
* @copyright (c) 2007 phpBBservice.nl
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
define('IN_PHPBB', true);
$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('voertjes'); //dit is het taal bestand, in dit geval voertjes
$sql = 'SELECT user_id
FROM ' . USER_GROUP_TABLE . '
WHERE group_id = 7
AND user_id = ' . $user->data['user_id'] . '
LIMIT 1';
$result = $db->sql_query($sql);
if ($db->sql_fetchrow($result))
{
$template->assign_vars(array('S_INCLUDE_FOR_GROUP_5' => true));
}
$db->sql_freeresult($result);
// Output the page
//hier kan je de php code plaatsen naar keuze
if (!group_memberships(array(5,7,13), $user->data['user_id'], true))
{
trigger_error('NOT_ALLOWED');
}
//hoofdpagina titel, en tekst in de taalbalk
page_header($user->lang['voertjes']);
//dit is het HTML bestand, en kan je weer aanpassen naar keuze
$template->set_filenames(array(
'body' => 'voertjes.html')
);
page_footer();
?>
Re: Pagina's enkel voor bepaalde gebruikersgroepen
Geplaatst: 19 nov 2009, 12:00
door FreakyBlue
Zoals ik al aangaf, kan je het (achteraf bezien) beter op deze manier doen:
http://wiki.phpbb.com/Adding_pages#Cont ... t_by_Group
Re: Pagina's enkel voor bepaalde gebruikersgroepen
Geplaatst: 19 nov 2009, 21:58
door Mister v
zal het eens bekijken of ik eraan uit geraak e
bedankt voor de hulp alvast hoor
ben al blij dat ik hier geholpen word
Re: Pagina's enkel voor bepaalde gebruikersgroepen
Geplaatst: 19 nov 2009, 22:29
door Mister v
sorry voor het tweede bericht vlak na mijn vorige te plaatsen maat het is voor hetvolgende
ik heb het geprobeerd en heb de code geplaatst waar er staat dat ik code kan plaatsen
Heb dat dan getest maar blijkbaar loopt er nog iets fout
Ik zie de pagina met alles erop en eraan als ik met beheerderspermissie werk dus dat is juist
maar als ik de permissie gebruik van iemand uit een groep die de pagina niet mag zien zie ik wel nog alles
blijkbaar toch een moeilijk gegeven en zeker voor mij
