Pagina 1 van 1

Email adres gebruikers opvragen

Geplaatst: 04 jul 2008, 20:29
door Black-Hole
Voor mijn upgrade naar phpBB3 gebruikte ik een klein php script om alle email adressen van mijn gebruikers op te vragen. Dit voor het verzenden van een nieuwsletter. Dit script werkt helaas niet met versie 3 want ik krijg de melding dat er geen verbinding kan worden gemaakt met de database. Vreemd want volgens mijn bescheiden kennis van php staat nergens in dit script een verwijzing naar de database.

Het gaat om het volgende script:

Code: Selecteer alles

<?php
/***************************************************************************
 *                                  email.php
 *                            -------------------
 *   begin                :
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 * 
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_PHPBB', true);
$gebruiker = 0;
// toon de gebruikersnaam aldaniet

$level = 3;
// toon :
// 0 - niet de member
// 1 - niet de admins
// 2 - niet de moderators
// 3 - toon alles

$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Lets build a page ...
//

$query = "SELECT * FROM ". USERS_TABLE ." Where user_level != $level && user_id != -1";
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql))
{
if ($gebruiker == 0)
{
echo $record->username. " : ".$record->user_email."<br>";
}
else {
echo $record->user_email."<br>";
}
}

?>
Weet iemand wat ik aan zou moeten passen om dit werkend te krijgen of heeft iemand anders een simpele oplossing? Het script plaats je in de forum root en benader je via je browser.

Alvast bedankt.

Re: Email adres gebruikers opvragen

Geplaatst: 04 jul 2008, 20:55
door Mid
include($phpbb_root_path . 'extension.inc');
Deze 'extension.inc' komt in ieder geval niet voor in de root van phpbb3.0.1

Hier kun je een werkend script vinden, bijvoorbeeld te noemen: mailadressen.php en ook met de browser aan te roepen:
Spoiler: bekijk
<?php
// *************************************************************************************
// Verzamelen van email-adressen van de forumleden.
// =========================================
//
// Zet dit bestand in de forumroot en roep hem daar aan via de browser.
//
// Download het bestand /store/email.txt via FTP en verwijder
// het bestand daarna via FTP van de server.
//
// *************************************************************************************
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);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

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

$sql = " SELECT `user_email` FROM " . USERS_TABLE . "";

$result = $db->sql_query($sql);

$file = "./store/email.txt";

if(!file_exists($file))
{
touch($file);
}

$method = 0;

while ($row = $db->sql_fetchrow($result))
{
if(!Empty($row['user_email']))
{
$email = $row['user_email']."\n";
if($method == 0)
{
$open = fopen($file, 'w') or die('can not open file');
fwrite($open, $email) or die('can not write to file');
fclose($open);
}
else
{
$open = fopen($file, 'a') or die('can not open file');
fputs($open, $email) or die('can not add to file');
fclose($open);
}
$method++;
}
else
{
continue;
}
}

$db->sql_freeresult($result);

print "KLAAR !!!!! Download het bestand ./store/email.txt via FTP en verwijder het bestand daarna via FTP van de server."

?>
Wijziging: Het script komt van iemand anders, maar is door mij lichtelijk uitgebreid met een toelichting bovenaan en een scherm-output onderaan.

Re: Email adres gebruikers opvragen

Geplaatst: 04 jul 2008, 21:41
door Black-Hole
Thanks, ik zal jouw script eens proberen :)

Re: Email adres gebruikers opvragen

Geplaatst: 25 jun 2011, 09:02
door MrMax
Is het mogelijk dit uit te voeren voor de emailadressen van gebruikers uit een bepaalde gebruikersgroep???

Re: Email adres gebruikers opvragen

Geplaatst: 25 jun 2011, 09:51
door Ger
Niet zomaar. Je zult een selectie moeten toepassen die gefilterd is op een gebruikersgroep.

Echter: je kunt natuurlijk ook gewoon de massa email functie gebruiken die standaard in phpBB zit.

Re: Email adres gebruikers opvragen

Geplaatst: 25 jun 2011, 10:43
door Kevin
Of je kijkt even hoe het in deze mod zit.
http://www.phpbb.com/community/viewtopi ... t#p4314835