Pagina 1 van 1
Leden toevoegen aan groep via eigen script
Geplaatst: 18 okt 2011, 20:43
door Rob T
Vraagje,
Welke PHP tabellen moet ik updaten als ik via een eigen script een forumid toe wil voegen aan een gedefineerde groep.
Ik weet hoe het via het forum zelf gaat, maar zou dit graag willen koppelen aan een stukje zelfbouw (ledenadministratie, en leden hebben toegang tot een bepaald deel van het forum, wat via een groep gedefinieerd is).
Re: Groepen
Geplaatst: 18 okt 2011, 20:59
door FreakyBlue
Waarom zou je dat op deze manier willen doen als phpBB daar zelf al in voorziet?
Re: Groepen
Geplaatst: 18 okt 2011, 21:18
door Derky
Je kan dit het beste doen met behulp van de phpBB functie:
group_user_add()
.
Met behulp van de volgende code voeg je een nieuw lid toe:
Code: Selecteer alles
if (!function_exists('group_user_add'))
{
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
}
group_user_add($group_id, array($user_id), array($username), false, true);
(
$group_id
,
$user_id
en
$username
geef je zelf op)
Lees meer over deze functie
Het is wel van belang dat je phpBB inlaad op die pagina. Dit kan je simpel doen door de volgende code bovenaan je PHP-script te plaatsen:
Code: Selecteer alles
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();
Vergeet niet om onderaan je script de volgende code te zetten. Deze functie zorgt o.a. voor het sluiten van de databaseverbinding:
Re: Groepen
Geplaatst: 18 okt 2011, 21:29
door Rob T
@Derky, thanks. dat ga ik proberen.
Re: Leden toevoegen aan groep via eigen script
Geplaatst: 19 okt 2011, 16:48
door Rob T
Ben het aan het uitproberen maar krijg een foutmelding uit common.php.
Gebruikte code
Code: Selecteer alles
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './phpBB3/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
if (!function_exists('group_user_add'))
{
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
}
$group_id = 752;
$user_id = 3111;
$username = "Rob Test";
group_user_add($group_id, array($user_id), array($username), false, true);
exit_handler();
?>
Foutmelding:
Fatal error: Cannot redeclare deregister_globals() (previously declared in /usr/home/deb17422/domains/wijntoerist.nl/public_html/phpBB3/common.php:36) in /usr/home/deb17422/domains/wijntoerist.nl/public_html/phpBB3/common.php on line 98
Code in common.php rondom regel 98 (regel 98 is de eerste "{").
Code: Selecteer alles
// If we are on PHP >= 6.0.0 we do not need some code
if (version_compare(PHP_VERSION, '6.0.0-dev', '>='))
{
/**
* @ignore
*/
define('STRIP', false);
}
else
Ik neem aan dat het niet de bedoeling is om common.php aan te passen.
Maar waarom gaat het fout?
Re: Leden toevoegen aan groep via eigen script
Geplaatst: 21 okt 2011, 19:10
door Derky
Het lijkt erop dat je common.php 2x include. Bij mij geeft het script geen foutmeldingen op phpBB 3.0.9. Draai je wel op de laatste phpBB versie? Probeer anders het script eens in dezelfde map te plaatsen als het forum.
Re: Leden toevoegen aan groep via eigen script
Geplaatst: 23 okt 2011, 14:56
door Rob T
Het forum draait op 3.0.8.
Ik ga je advies eens uitproberen.
Forum update staat ook nog op de planning.