Forum->Flatnux->funzioni per function_management.inc.php
  
Benvenuto Sconosciuto Registrati Aiuto383 Utenti

Utente Messaggio


johndorazio

0 Livello 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Martedì 18 Ottobre 2011 - 05:45

funzioni per function_management.inc.php:
Vedo che hai implementato l'idea di "function_management.inc.php" pollice in su!

Suppongo che saranno da trasportare da functions.inc.php in questo file anche le funzioni "FN_UserInGroup()" e "FN_CreateGroupIfNotExists()".

Avrei qualche suggerimento riguardo alla creazione dei gruppi.

Mi piacerebbe che gli utenti del mio sito potessero creare essi stessi gruppi sul sito. Questi saranno gruppi "low-level", gruppi in senso sociale, un po' sulla linea di facebook e altri contenitori sociali, quindi non tanto gruppi che servono per la modifica del sito o di sezioni del sito, anche se potrebbero forse modificare sezioni a loro riservate, tipo una bacheca di gruppo...

Pertanto mi piacerebbe creare una funzione simile a "FN_CreateGroupIfNotExists()" e aggiungere alcuni altri campi alla tabella dei gruppi createi, per esempio un campo "author" in modo che si possa vedere chi ha creato il gruppo. L'autore del gruppo avrà diritti amministrativi sul gruppo stesso.

Inoltre è utile notificare l'autore se il nome del gruppo non è disponibile...

La mia proposta è un po' su questa linea:

/**
*
* @global array $_FN
* @param string $groupname
* @param string $grouppolicy, possible values "private", "closed", "public"
*/
function FN_CreateUserGroup($groupname,$grouppolicy="public")
{
if(!$groupname || $groupname == ""){
return array("ERROR"=>"You must indicate a group name!");
}
if($grouppolicy != "private" || $grouppolicy != "closed || $grouppolicy != "public" ) {
return array("ERROR"=>"Group policy must be either 'public' or 'closed' or 'private'.");
}
global $_FN;
$table=new XMLTable("fndatabase","groups",$_FN['datadir']);
$old=$table->GetRecordByPrimaryKey($groupname);
if (!isset($old['groupname']))
{
$array = array("groupname"=>$groupname,"groupauthor"=>$_FN["user"],"groupcreated"=>FN_Time(),"grouppolicy"=>$grouppolicy );
if($table->InsertRecord($array)){
return $array;
}
}
else {
return array("ERROR"=>"This group name is already taken, please choose a different name!");
}
}


Forse una funzione del genere non è necessariamente da includere nel core di flatnux; io sto pensando a tutta una serie di funzioni che servono più a funzioni sociali tra gli utenti di un sito. Queste funzioni più "sociali" si potrebbero raccogliere in un file a parte del tipo "function_socialmanagement.inc.php". Poi chi volesse un sito flatnux con funzionalità sociali potrebbe scaricare un pacchetto che raccoglie queste funzioni. Magari cerco di buttare giù una proposta e mandartelo sulla posta una volta che l'ho definita un po' meglio...

____________________________
"The whole of science is nothing more than a refinement of everyday thinking." (Albert Einstein)

 [1]