Flatnux CMS

Open Source Content Management System

Login



 stay connected
Password recovery
Register

Search

Search:
Make a donation to the project:

Newsletter

To get our newsletter please enter your email and click on ”subscribe”. If you want to cancel the newsletter please enter your email and click on ”remove”

Forum->Flatnux->funzioni per function_management.inc.php
  
Welcome Unknown Register Help383 Users

User Message


johndorazio

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Tuesday 18 October 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]

Last news