Argomenti: 1581    Messaggi: 8758   Risposte: 7185      
(Ultime News)------|    Nasce Cleanuke.it supporto ufficiale al cms - (18-06-2011 - 23:04:54 - di matteoiamma)    |------|    Rilasciato Clean Nuke 1.7 - (05-05-2011 - 19:49:43 - di matteoiamma)    |------|    Iamma Multi Blogs: Blogs per gli utenti del nuke - (19-03-2011 - 20:41:08 - di matteoiamma)    |------|    Rilasciato Clean Nuke 1.6 - (13-03-2010 - 20:12:46 - di matteoiamma)    |------|    Nuova Community Italiana: nasce mondophpnuke.com - (11-02-2010 - 22:08:51 - di matteoiamma)    |------|    Rilasciato Clean Nuke 1.5! - (16-12-2009 - 00:44:55 - di matteoiamma)    |------
Regolamento:
Le principali regole da rispettare per poter far parte della community... cosigliamo di visionarle per evitare malintesi.
Script:
Per motivi di sicurezza il sistema blocca l'inserimento di alcuni script per sapere come fare cliccare qui

Webother.com :: Leggi il Topic - Utenti nei gruppi
 FAQ  •  Cerca  •  Lista degli utenti  •  Gruppi utenti  •  Profilo  •  Messaggi Privati  •  Login

Information Utenti nei gruppi

Nuovo Topic Rispondi
Indice del forum » Addons, Blocchi, Moduli   
Precedente :: Successivo
AutoreMessaggio
Dino
Fedele
Fedele


Registrato: Mar 23, 2006
Messaggi: 105


Oggetto: Utenti nei gruppi Rispondi citando

Utilizzo NSN_Groups_690_135_IT su phpnuke 6.9.
Il mio problema è, quando devo inserire nuovi utenti ad un gruppo, non far risultare nell'elenco da cui vanno selezionati, quelli che sono stati sospesi.
In pratica è possibile (forse mediante la condizione if, ma di php ne capisco poco!), fare in modo che nel menù a tendina da cui si scelgono gli utenti da inserire nel gruppo, compaiano solo quegli utenti che nella tabella nuke_users abbiano il valore 0 nel campo user_active? (che siano cioè attivi e non sospesi): avendo molto utenti sospesi ... quando devo fare un gruppo ... è un caos!
Probabilmente (ovviamente se la cosa è fattibile!) forse bisogna modificare qualcosa nella riga in cui richiama gli utenti della tabella nuke_users, cioè questa:
echo "<SELECT NAME=\"add_uid[]\" size=\"10\" multiple>\n";
$result3 = $db->sql_query("select user_id, username from ".$user_prefix."_users order by username WHERE user_active='$useractive'");
Ma ... di php ne capisco poco! (il povero Sniffer lo sa Smile)
Posto anche la restante parte del codice presente nel file: admin/modules/editgroups
----------------------------------------------------
case "GroupsUsersAdd":
$pagetitle = _GR_ADMIN.": "._GR_GROUPSUSERSADD;
global $prefix, $user_prefix, $db, $bgcolor1, $bgcolor2, $bgcolor3;
include ("header.php");
title("$pagetitle");
GroupsAdmin();
echo "<br>\n";
OpenTable();
if ($gid > 0) {
echo "<center><table border=\"0\" cellpadding=\"0\" cellspacing=\"2\">\n";
echo "<form method=post action=\"admin.php?op=GroupsUsersAddSave\">\n";
echo "<INPUT TYPE=HIDDEN NAME=\"gid\" VALUE=\"$gid\">\n";
echo "<tr>\n";
list($grpName) = $db->sql_fetchrow($db->sql_query("select gname from ".$prefix."_users_groups where gid='$gid'"));
echo "<td align=\"center\">"._GR_ADDUSRTO." <b>$grpName</b><br>";
echo "<SELECT NAME=\"add_uid[]\" size=\"10\" multiple>\n";
$result3 = $db->sql_query("select user_id, username from ".$user_prefix."_users order by username WHERE user_active='$useractive'");
while(list($thisUID, $thisUNAME) = $db->sql_fetchrow($result3)) {
$ingroup = $db->sql_numrows($db->sql_query("SELECT uid FROM ".$prefix."_users_groups_users WHERE uid='$thisUID' AND gid='$gid'"));
if ($ingroup < 1) ($useractive=1) {
echo "<option value=\"$thisUID\">$thisUNAME</option>\n";
}
}
echo "</SELECT><br>"._GR_ADDNOTE."<br><br>";
echo ""._GR_LENGTHMEMBER."<br><input type=\"text\" name=\"e_date\" value=\"0\" size=\"5\"><br>";
echo ""._GR_0UNLIMIT."<br><br>";
echo "<INPUT TYPE=SUBMIT VALUE=\""._GR_ADDUSR."\"></td>\n";
echo "</tr>\n";
echo "</form>\n";
echo "</table></center>\n";
} else {
echo "<center><table border=\"0\" cellpadding=\"0\" cellspacing=\"2\">\n";
echo "<form method=post action=\"admin.php?op=GroupsUsersAdd\">\n";
echo "<tr>\n";
echo "<td align=\"center\">"._GR_ADDUSRTO."<br>";
echo "<SELECT NAME=\"gid\" size=\"5\">\n";
$result3 = $db->sql_query("select gid, gname from ".$prefix."_users_groups order by gname");
while(list($thisGID, $thisGNAME) = $db->sql_fetchrow($result3)) {
echo "<option value=\"$thisGID\">$thisGNAME</option><br>\n";
}
echo "</SELECT><br><INPUT TYPE=SUBMIT VALUE=\""._GR_SELECTGRP."\"></td>\n";
echo "</tr>\n";
echo "</form>\n";
echo "</table></center>\n";
}
CloseTable();
include("footer.php");
break;
----------------------------------------------------
Grazie in anticipo per l'attenzione.
Wink Dino.



MessaggioInviato:
Sab Nov 25, 2006 8:21 pm
Top of PageProfiloMessaggio privato
Sniffer
Amministratore
Amministratore


Registrato: Jul 20, 2003
Messaggi: 3218
Località: Verona

Oggetto: Rispondi citando

Citazione:
compaiano solo quegli utenti che nella tabella nuke_users abbiano il valore 0 nel campo user_active? (che siano cioè attivi e non sospesi)

Non conosco NSN_Groups_690_135_IT e non ho avuto il tempo di provarlo ma so che il campo user_active utilizza il valore 0 per gli utenti non attivi e 1 per gli utenti attivi.
Guardando lo script che hai postato mi sembra che faccia già quello che cerchi, ad esempio la query viene fatta tenendo conto del campo user_active
Codice:
$result3 = $db->sql_query("select user_id, username from ".$user_prefix."_users order by username WHERE user_active='$useractive'");

Vengono memorizzati i valori nella variabile $useractive e poi verificati con
Codice:
 if ($ingroup < 1) ($useractive=1) {
echo "<option value=\"$thisUID\">$thisUNAME</option>\n";
}

Se il valore è 1 (utente attivo) viene eseguito.
Se ritieni che lo script non faccia quello che ti ho descritto fammelo sapere che appena ho un pò di tempo lo installo e gli do un occhiata.

ciao ciao




_________________
Non inviatemi pm con richieste di aiuto grazie.
 Su questo forum solo gli utenti
 registrati possono vedere i links!  
 Registrati o fai il login
MessaggioInviato:
Sab Nov 25, 2006 9:44 pm
Top of PageProfiloMessaggio privatoHomePage
Dino
Fedele
Fedele


Registrato: Mar 23, 2006
Messaggi: 105


Oggetto: Re Rispondi citando

Embarassed Embarassed
Scusami, mai ti ricorderai che sono un po' un pasticcione!!
Per sbaglio ti ho mandato del codice sul quale avevo già "pasticciato", senza riuscire a fare quello di cui ti parlavo.
Questo è il codice realmente presente nel file (senza le mie modifiche che purtroppo non funzionano):
-------------------------------------------------------------------------
case "GroupsUsersAdd":
$pagetitle = _GR_ADMIN.": "._GR_GROUPSUSERSADD;
global $prefix, $user_prefix, $db, $bgcolor1, $bgcolor2, $bgcolor3;
include ("header.php");
title("$pagetitle");
GroupsAdmin();
echo "<br>\n";
OpenTable();
if ($gid > 0) {
echo "<center><table border=\"0\" cellpadding=\"0\" cellspacing=\"2\">\n";
echo "<form method=post action=\"admin.php?op=GroupsUsersAddSave\">\n";
echo "<INPUT TYPE=HIDDEN NAME=\"gid\" VALUE=\"$gid\">\n";
echo "<tr>\n";
list($grpName) = $db->sql_fetchrow($db->sql_query("select gname from ".$prefix."_users_groups where gid='$gid'"));
echo "<td align=\"center\">"._GR_ADDUSRTO." <b>$grpName</b><br>";
echo "<SELECT NAME=\"add_uid[]\" size=\"10\" multiple>\n";
$result3 = $db->sql_query("select user_id, username from ".$user_prefix."_users order by username");
while(list($thisUID, $thisUNAME) = $db->sql_fetchrow($result3)) {
$ingroup = $db->sql_numrows($db->sql_query("SELECT uid FROM ".$prefix."_users_groups_users WHERE uid='$thisUID' AND gid='$gid'"));
if ($ingroup < 1) {
echo "<option value=\"$thisUID\">$thisUNAME</option>\n";
}
}
echo "</SELECT><br>"._GR_ADDNOTE."<br><br>";
echo ""._GR_LENGTHMEMBER."<br><input type=\"text\" name=\"e_date\" value=\"0\" size=\"5\"><br>";
echo ""._GR_0UNLIMIT."<br><br>";
echo "<INPUT TYPE=SUBMIT VALUE=\""._GR_ADDUSR."\"></td>\n";
echo "</tr>\n";
echo "</form>\n";
echo "</table></center>\n";
} else {
echo "<center><table border=\"0\" cellpadding=\"0\" cellspacing=\"2\">\n";
echo "<form method=post action=\"admin.php?op=GroupsUsersAdd\">\n";
echo "<tr>\n";
echo "<td align=\"center\">"._GR_ADDUSRTO."<br>";
echo "<SELECT NAME=\"gid\" size=\"5\">\n";
$result3 = $db->sql_query("select gid, gname from ".$prefix."_users_groups order by gname");
while(list($thisGID, $thisGNAME) = $db->sql_fetchrow($result3)) {
echo "<option value=\"$thisGID\">$thisGNAME</option><br>\n";
}
echo "</SELECT><br><INPUT TYPE=SUBMIT VALUE=\""._GR_SELECTGRP."\"></td>\n";
echo "</tr>\n";
echo "</form>\n";
echo "</table></center>\n";
}
CloseTable();
include("footer.php");
break;
--------------------------------------------------------------------
E la riga di cui ti dicevo (quella originale) è questa:
$result3 = $db->sql_query("select user_id, username from ".$user_prefix."_users order by username");
--------------------------------------------------------------------
Probabilmente (anche se da quello che mi dici, qualche pezzo era corretto) ho dimenticato qualcosa perchè viene un errore di sintassi. Modificando in qs modo:
------------------
while(list($thisUID, $thisUNAME) = $db->sql_fetchrow($result3)) {
$ingroup = $db->sql_numrows($db->sql_query("SELECT uid FROM ".$prefix."_users_groups_users WHERE uid='$thisUID' AND gid='$gid'"));
if ($ingroup < 1) { if ($useractive=1) {
echo "<option value=\"$thisUID\">$thisUNAME</option>\n";
}
}
}
------------------
l'errore scompare ma .... nella "tendina" tutti gli utenti scompaiono!
Grazie come sempre per la tua disponibilità.
Ciao, Dino.



MessaggioInviato:
Sab Nov 25, 2006 10:55 pm
Top of PageProfiloMessaggio privato
Sniffer
Amministratore
Amministratore


Registrato: Jul 20, 2003
Messaggi: 3218
Località: Verona

Oggetto: Rispondi citando

Purtroppo in questo periodo non ho molto tempo cmq prova a modificare la query in questo modo

Codice:
$result3 = $db->sql_query("select user_id, username, user_active from ".$user_prefix."_users WHERE user_active = 1 ");

Fammi sapere Smile




_________________
Non inviatemi pm con richieste di aiuto grazie.
 Su questo forum solo gli utenti
 registrati possono vedere i links!  
 Registrati o fai il login
MessaggioInviato:
Dom Nov 26, 2006 3:16 am
Top of PageProfiloMessaggio privatoHomePage
Dino
Fedele
Fedele


Registrato: Mar 23, 2006
Messaggi: 105


Oggetto: Re Rispondi citando

Very Happy Very Happy Very Happy Very Happy Grandeeeeeeeeeeeeee Sniffer: di tempo te ne basta poco Razz Razz Razz Razz
Grazie: funziona!!
Ho aggiunto anche l'ordine in base all'username, lo posto dovesse servire a qualcuno.
Venire a trovarti è cmq sempre un piacere. Wink
Ciao, Dino.

P.S.: qs è il codice definitivo funzionante che ho utilizzato:
Citazione:
$result3 = $db->sql_query("select user_id, username, user_active from ".$user_prefix."_users WHERE user_active = 1 order by username");




MessaggioInviato:
Dom Nov 26, 2006 11:55 am
Top of PageProfiloMessaggio privato
Sniffer
Amministratore
Amministratore


Registrato: Jul 20, 2003
Messaggi: 3218
Località: Verona

Oggetto: Rispondi citando

Grazie sicuramente a qualcuno può servire.
ciao ciao




_________________
Non inviatemi pm con richieste di aiuto grazie.
 Su questo forum solo gli utenti
 registrati possono vedere i links!  
 Registrati o fai il login
MessaggioInviato:
Dom Nov 26, 2006 4:47 pm
Top of PageProfiloMessaggio privatoHomePage
Mostra prima i messaggi di:   
Tutti i fusi orari sono GMT + 2 ore
Nuovo Topic Rispondi
Indice del forum » Addons, Blocchi, Moduli  

Vai a:  
Key
  Non puoi inserire nuovi Topic in questo forum
Non puoi rispondere ai Topic in questo forum
Non puoi modificare i tuoi messaggi in questo forum
Non puoi cancellare i tuoi messaggi in questo forum
Non puoi votare nei sondaggi in questo forum

Powered by phpBB © 2001, 2005 phpBB Group



http://www.top100italiana.com

 

Tutti i diritti riservati Copyright © 2003-2024