phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Eliminare lista di utenti/email

Supporto per phpBB 3.0.x.
Vastasia
Utente
Utente
Messaggi: 48
Iscritto il: 29/10/2010, 15:37
Versione: 3.0.9
Server: UNIX/Linux
PHP: 5.2.17
Database: MySQL(i) 5.0.95

Re: Eliminare lista di utenti/email

Messaggio da Vastasia » 20/06/2013, 16:56

Non lo so, probabilmente faccio casino con il codice.

Alla riga include 'config.php'; devo sempre inserire il percorso del file tra gli apici?

Alla riga mysql_connect($dbhost,$dbuser,$dbpasswd ); devo inserire i valori richiesti lasciando il simbolo $ prima?

Alla riga di esempio $array = array('barrnet@videogamezone.eu', 'altra@mail.it', 'email@lospamèbello.it'); bisogna lasciare necessariamente uno spazio dopo la virgola?

Comunque, inserire più di 200 email in quella riga mettendole tra gli apici è un'impresa titanica :oops:

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Eliminare lista di utenti/email

Messaggio da Micogian » 20/06/2013, 17:55

Perchè non fare una connessione come si fa per le pagine personalizzate ?

Codice: Seleziona tutto

<?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();
A questo punto la connessione al DB è fatta e ci sarebbe anche la possibilità di limitare l'uso della pagina solo a determinati utenti.

L'array si può fare così;

Codice: Seleziona tutto

$array = array(
'barrnet@videogamezone.eu', 
'altra@mail.it', 
'email@lospamèbello.it'
); 

Vastasia
Utente
Utente
Messaggi: 48
Iscritto il: 29/10/2010, 15:37
Versione: 3.0.9
Server: UNIX/Linux
PHP: 5.2.17
Database: MySQL(i) 5.0.95

Re: Eliminare lista di utenti/email

Messaggio da Vastasia » 20/06/2013, 19:06

Ciao Micogian, perdonami ma non essendo un esperto ho capito davvero poco delle cose (sicuramente utilissime) che mi hai suggerito.

Non ho capito a cosa mi servirebbe il primo codice che hai scritto.

Invece ho trovato utilissimo l'array sistemato i quel modo. Con Notepad++ ho registrato una macro che metteva gli apici e la virgola finale ad ogni riga (quindi ad ogni email) e questo l'ho sistemato.

Adesso tocca capire se ho sbagliato qualcosa nel codice suggerito da Barnet relativo alle linee che ho evidenziato in questo post.

Angolo
Leader Traduttori
Leader Traduttori
Messaggi: 7237
Iscritto il: 11/03/2011, 17:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.6.18
Database: MySQL 5.6.33-log
Contatta:

Re: Eliminare lista di utenti/email

Messaggio da Angolo » 20/06/2013, 19:58

A me pare più semplice esportare la tabella users in excel e da lì selezionare e copiare agevolmente i nomi utente che interessano.
Poiché i testi sono selezionabili per colonne, è facilissimo selezionare in breve tempo, solo i nomi utente che interessano, per avere una lista pulita.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Eliminare lista di utenti/email

Messaggio da Micogian » 20/06/2013, 21:24

Se gli utenti sono molti la tabella Excel è laboriosa.
La cosa migliore sarebbe intervenire nella query che crea la lista delle mail.
Comunque, con la lista delle mail il modo per estrarre la lista degli "username" sarebbe questo:

Codice: Seleziona tutto

<?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();

$array = array(
'mail1@alice.it', 
'mail2@alice.it', 
'mail3@alice.it', 
'mail4@alice.it', 
);

foreach ($array as $email) {
	$sql = "SELECT username FROM " . USERS_TABLE . " WHERE user_email = '$email'";
	$result = $db->sql_query($sql);
	$row = $db->sql_fetchrow($result);
    echo $row['username'] . "<br />";
    }
	
?>
La prima parte del codice serve a connettersi con il database come viene fatto da PHPBB.
Poi c'è l'array che deve contenere tutti gli indirizzi da elaborare.
La query cerca la corrispondenza di "username" e visualizza la lista degli utenti.

Avatar utente
Barrnet
Leader Moderatori
Leader Moderatori
Messaggi: 3124
Iscritto il: 04/07/2010, 23:31
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
PHP: 5.3.10
Database: MySQL 5.1.61-community-log
Contatta:

Re: Eliminare lista di utenti/email

Messaggio da Barrnet » 20/06/2013, 23:31

Angolo ha scritto:A me pare più semplice esportare la tabella users in excel e da lì selezionare e copiare agevolmente i nomi utente che interessano.
Poiché i testi sono selezionabili per colonne, è facilissimo selezionare in breve tempo, solo i nomi utente che interessano, per avere una lista pulita.
Se è un forum poco popolato la soluzione può funzionare, perché excel mette a disposizione davvero tanti strumenti per filtrare i risultati (e anche il suo corrispondente in openoffice/libreoffice), ma se il forum è parecchio attivo e ha tanti iscritti si rischia di impallare inutilmente il pc tentando di aprire la tabella in excel.

Angolo
Leader Traduttori
Leader Traduttori
Messaggi: 7237
Iscritto il: 11/03/2011, 17:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.6.18
Database: MySQL 5.6.33-log
Contatta:

Re: Eliminare lista di utenti/email

Messaggio da Angolo » 21/06/2013, 13:29

Sì... ma parliamo di un numero superiore ai 1000 utenti... forse... più probabilmente ancora più elevato.
Poi è chiaro che dipende dall'hardware che c'è sotto.

È più facile che abbia problemi il server a cancellare 300 utenti con un'unica azione, che non un PC medio a gestirli in excel. Se poi il PC è sopra la media... se li fa cantando.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Eliminare lista di utenti/email

Messaggio da Micogian » 21/06/2013, 13:53

Hai ragione Angolo, ma visto che è un problema di phpbb mi sembra che la soluzione migliore sia quella di utilizzare gli strumenti di phpbb.
Secondo me, la cosa migliore sarebbe utilizzare la query che predispone la lista delle mail per prelevare anche il nome dell'utente.
Se questo non si può fare, la soluzione è quella da me proposta che parte da una lista di indirizzi email.
Mi sembra giusto utilizzare le funzioni phpbb per realizzare la query e queste sono le stesse che si utilizzano per una pagina personalizzata.
Ottenuta la lista degli utenti da eliminare si utilizza la funzione prevista nel PCA.
Tutto abbastanza semplice e in linea con phpbb.
Che poi ci siano più soluzioni per ottenere un stesso risultato è altrettanto vero.

Angolo
Leader Traduttori
Leader Traduttori
Messaggi: 7237
Iscritto il: 11/03/2011, 17:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.6.18
Database: MySQL 5.6.33-log
Contatta:

Re: Eliminare lista di utenti/email

Messaggio da Angolo » 21/06/2013, 15:43

Sì d'accordo. Ma precisiamo. La query, non è una funzione nativa del phpBB3. Lo è del mysql. Uno script php aggiunto, non è una funzione nativa del phpBB3, ma una MOD, un plug-in. Lo so benissimo che lo sai benissimo, ma altri lettori, potrebbero erroneamente scambiare la query per una funzione del phpBB. Lo scopo, è ottenere rapidamente e facilmente una lista ordinata, da inserire nella citata voce del PCA: quella e solo quella è la funzione nativa. E nessuno ha suggerito di utilizzarne una diversa da quella. Poi come giustamente dici tu, l'importante è pervenire al risultato.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Eliminare lista di utenti/email

Messaggio da Micogian » 21/06/2013, 16:30

Probabilmente mi sono espresso male, sappiamo benissimo quali sono le funzioni native di phpbb, io ho voluto semplicemente indicare che se devo fare una query è preferibile farla come lo fa phpbb.
Mi riferivo alla connessione e alla query proposta da Barrrnet, perfettamente valida e funzionante ma basata sulle funzioni classiche di php.
Mi sembrava più corretto gestire la cosa come normalmente si fa con phpbb. Tutto qui.

Sta all'utente scegliere la strada per lui più semplice, noi abbiamo solo indicato alcune soluzioni.

Rispondi

Torna a “[3.0.x] Forum di Supporto”

Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti