diff --git a/web/admin/instances.php b/web/admin/instances.php index 1529bda..cfe3b0a 100644 --- a/web/admin/instances.php +++ b/web/admin/instances.php @@ -88,64 +88,77 @@ function booly($pre,$val,$nottoobad=false,$invcol=false) { $dbg.='
'.print_r($_POST,1).'
'; +function aske($key,&$arr) { + $count=count($arr); + $found=false; + $i=0; + while (!$found && $i<$count) { + if (array_key_exists($key,$arr[$i])) + $found=true; + else + $i++; + } + return($found); +} + $cols=array( - 'New'=>array('name'=>'Nuova','type'=>'bool'), - 'Good'=>array('name'=>'Papabile','type'=>'bool'), - 'Chosen'=>array('name'=>'Scelta','type'=>'bool'), - 'Visible'=>array('name'=>'Visibile','type'=>'bool'), - 'Blacklisted'=>array('name'=>'Blacklistata','type'=>'bool'), - 'URI'=>array('name'=>'URI','type'=>'text'), - 'Title'=>array('name'=>'Titolo','type'=>'text'), - 'ShortDesc'=>array('name'=>'Descrizione breve','type'=>'text'), - 'LongDesc'=>array('name'=>'Descrizione lunga','type'=>'text'), - 'OurDesc'=>array('name'=>'Descrizione nostra','type'=>'text'), + 'Instances.New'=>array('field'=>'Instances.New','name'=>'Nuova','type'=>'bool'), + 'Instances.Good'=>array('field'=>'Instances.Good','name'=>'Papabile','type'=>'bool'), + 'Instances.Chosen'=>array('field'=>'Instances.Chosen','name'=>'Scelta','type'=>'bool'), + 'Instances.Visible'=>array('field'=>'Instances.Visible','name'=>'Visibile','type'=>'bool'), + 'Instances.Blacklisted'=>array('field'=>'Instances.Blacklisted','name'=>'Blacklistata','type'=>'bool'), + 'Instances.URI'=>array('field'=>'Instances.URI','name'=>'URI','type'=>'text'), + 'Instances.Title'=>array('field'=>'Instances.Title','name'=>'Titolo','type'=>'text'), + 'Instances.ShortDesc'=>array('field'=>'Instances.ShortDesc','name'=>'Descrizione breve','type'=>'text'), + 'Instances.LongDesc'=>array('field'=>'Instances.LongDesc','name'=>'Descrizione lunga','type'=>'text'), + 'Instances.OurDesc'=>array('field'=>'Instances.OurDesc','name'=>'Descrizione nostra','type'=>'text'), - 'PlaceID'=>array('name'=>'Località ⮞','type'=>'join','join'=>array(),'ord'=>false), - 'Places.Locality'=>array('name'=>'Località','type'=>'joini','join'=>array('Places ON Places.ID=Instances.PlaceID'),'subtype'=>'text'), + 'Instances.PlaceID'=>array('field'=>'Instances.PlaceID','name'=>'Località ⮞','type'=>'join','join'=>array(),'ord'=>false), + 'Places.Locality'=>array('field'=>'Places.Locality','name'=>'Località','type'=>'joini','join'=>array('Places ON Places.ID=Instances.PlaceID'),'subtype'=>'text'), - 'Email'=>array('name'=>'Email di contatto','type'=>'text'), - 'Software'=>array('name'=>'Software','type'=>'text'), - 'Version'=>array('name'=>'Versione','type'=>'text'), - 'UserCount'=>array('name'=>'Utenti','type'=>'int'), - 'StatusCount'=>array('name'=>'Stati','type'=>'int'), - 'DomainCount'=>array('name'=>'Istanze note','type'=>'int'), - 'ActiveUsersMonth'=>array('name'=>'Utenti attivi (mese)','type'=>'int'), - 'ActiveUsersHalfYear'=>array('name'=>'Utenti attivi (6 mesi)','type'=>'int'), - 'Thumb'=>array('name'=>'Logo','type'=>'text','search'=>false,'ord'=>false), - 'RegOpen'=>array('name'=>'Registrazioni aperte','type'=>'bool'), - 'RegReqApproval'=>array('name'=>'Approvazione registrazioni','type'=>'bool'), - 'MaxTootChars'=>array('name'=>'Limite caratteri','type'=>'int'), - 'AdmAccount'=>array('name'=>'Account admin','type'=>'text'), - 'AdmDisplayName'=>array('name'=>'Nome account admin','type'=>'text'), - 'AdmCreatedAt'=>array('name'=>'Data creazione account admin','type'=>'time'), - 'AdmURL'=>array('name'=>'Pagina dell’admin','type'=>'text','ord'=>false), - 'AdmAvatar'=>array('name'=>'Avatar admin','type'=>'text','search'=>false,'ord'=>false), - 'AdmNote'=>array('name'=>'Note dell’admin','type'=>'text'), + 'Instances.Email'=>array('field'=>'Instances.Email','name'=>'Email di contatto','type'=>'text'), + 'Instances.Software'=>array('field'=>'Instances.Software','name'=>'Software','type'=>'text'), + 'Instances.Version'=>array('field'=>'Instances.Version','name'=>'Versione','type'=>'text'), + 'Instances.UserCount'=>array('field'=>'Instances.UserCount','name'=>'Utenti','type'=>'int'), + 'Instances.StatusCount'=>array('field'=>'Instances.StatusCount','name'=>'Stati','type'=>'int'), + 'Instances.DomainCount'=>array('field'=>'Instances.DomainCount','name'=>'Istanze note','type'=>'int'), + 'Instances.ActiveUsersMonth'=>array('field'=>'Instances.ActiveUsersMonth','name'=>'Utenti attivi (mese)','type'=>'int'), + 'Instances.ActiveUsersHalfYear'=>array('field'=>'Instances.ActiveUsersHalfYear','name'=>'Utenti attivi (6 mesi)','type'=>'int'), + 'Instances.Thumb'=>array('field'=>'Instances.Thumb','name'=>'Logo','type'=>'text','search'=>false,'ord'=>false), + 'Instances.RegOpen'=>array('field'=>'Instances.RegOpen','name'=>'Registrazioni aperte','type'=>'bool'), + 'Instances.RegReqApproval'=>array('field'=>'Instances.RegReqApproval','name'=>'Approvazione registrazioni','type'=>'bool'), + 'Instances.MaxTootChars'=>array('field'=>'Instances.MaxTootChars','name'=>'Limite caratteri','type'=>'int'), + 'Instances.AdmAccount'=>array('field'=>'Instances.AdmAccount','name'=>'Account admin','type'=>'text'), + 'Instances.AdmDisplayName'=>array('field'=>'Instances.AdmDisplayName','name'=>'Nome account admin','type'=>'text'), + 'Instances.AdmCreatedAt'=>array('field'=>'Instances.AdmCreatedAt','name'=>'Data creazione account admin','type'=>'time'), + 'Instances.AdmURL'=>array('field'=>'Instances.AdmURL','name'=>'Pagina dell’admin','type'=>'text','search'=>false,'ord'=>false), + 'Instances.AdmAvatar'=>array('field'=>'Instances.AdmAvatar','name'=>'Avatar admin','type'=>'text','search'=>false,'ord'=>false), + 'Instances.AdmNote'=>array('field'=>'Instances.AdmNote','name'=>'Note dell’admin','type'=>'text'), - 'LangID'=>array('name'=>'Lingue dichiarate ⮞','type'=>'join','join'=>array('InstLangs ON InstLangs.InstID=Instances.ID'),'ord'=>false), - 'Languages.Code'=>array('name'=>'Lingue dichiarate','type'=>'joini','join'=>array('InstLangs ON InstLangs.InstID=Instances.ID','Languages ON Languages.ID=InstLangs.LangID'),'subtype'=>'text','ord'=>false), - 'InstLangs.LangID'=>array('name'=>'Lingua primaria dichiarata ⮞','type'=>'join','join'=>array('InstLangs ON InstLangs.InstID=Instances.ID'),'wheremore'=>'AND InstLangs.Pos=1','ord'=>false), - 'Languages.NameIT'=>array('name'=>'Lingua primaria dichiarata','type'=>'joini','join'=>array('InstLangs ON InstLangs.InstID=Instances.ID','Languages ON Languages.ID=InstLangs.LangID'),'subtype'=>'text','wheremore'=>'AND InstLangs.Pos=1'), + 'InstLangs.LangID'=>array('field'=>'InstLangs.LangID','name'=>'Lingue dichiarate ⮞','type'=>'join','join'=>array('InstLangs ON InstLangs.InstID=Instances.ID'),'ord'=>false), + 'Languages.NameIT'=>array('field'=>'Languages.NameIT','name'=>'Lingue dichiarate','type'=>'joini','join'=>array('InstLangs ON InstLangs.InstID=Instances.ID','Languages ON Languages.ID=InstLangs.LangID'),'subtype'=>'text','ord'=>false), + 'InstLangs.LangID.First'=>array('field'=>'InstLangs.LangID','name'=>'Lingua primaria dichiarata ⮞','type'=>'join','join'=>array('InstLangs ON InstLangs.InstID=Instances.ID'),'wheremore'=>'AND InstLangs.Pos=1','ord'=>false), + 'Languages.NameIT.First'=>array('field'=>'Languages.NameIT','name'=>'Lingua primaria dichiarata','type'=>'joini','join'=>array('InstLangs ON InstLangs.InstID=Instances.ID','Languages ON Languages.ID=InstLangs.LangID'),'subtype'=>'text','wheremore'=>'AND InstLangs.Pos=1'), - 'OurLangID'=>array('name'=>'Lingue impostate da noi ⮞','type'=>'join','join'=>array('InstOurLangs ON InstOurLangs.InstID=Instances.ID'),'ord'=>false), - 'OurLanguages.Code'=>array('name'=>'Lingue impostate da noi','type'=>'joini','join'=>array('InstOurLangs ON InstOurLangs.InstID=Instances.ID','Languages AS OurLanguages ON OurLanguages.ID=InstOurLangs.OurLangID'),'subtype'=>'text','ord'=>false), - 'InstOurLangs.OurLangID'=>array('name'=>'Lingua primaria impostata da noi ⮞','type'=>'join','join'=>array('InstOurLangs ON InstOurLangs.InstID=Instances.ID'),'wheremore'=>'AND InstOurLangs.Pos=1','ord'=>false), - 'OurLanguages.NameIT'=>array('name'=>'Lingua primaria impostata da noi','type'=>'joini','join'=>array('InstOurLangs ON InstOurLangs.InstID=Instances.ID','Languages AS OurLanguages ON OurLanguages.ID=InstOurLangs.OurLangID'),'subtype'=>'text','wheremore'=>'AND InstOurLangs.Pos=1'), + 'InstOurLangs.OurLangID'=>array('field'=>'InstOurLangs.OurLangID','name'=>'Lingue impostate da noi ⮞','type'=>'join','join'=>array('InstOurLangs ON InstOurLangs.InstID=Instances.ID'),'ord'=>false), + 'OurLanguages.NameIT'=>array('field'=>'OurLanguages.NameIT','name'=>'Lingue impostate da noi','type'=>'joini','join'=>array('InstOurLangs ON InstOurLangs.InstID=Instances.ID','Languages AS OurLanguages ON OurLanguages.ID=InstOurLangs.OurLangID'),'subtype'=>'text','ord'=>false), + 'InstOurLangs.OurLangID.First'=>array('field'=>'InstOurLangs.OurLangID','name'=>'Lingua primaria impostata da noi ⮞','type'=>'join','join'=>array('InstOurLangs ON InstOurLangs.InstID=Instances.ID'),'wheremore'=>'AND InstOurLangs.Pos=1','ord'=>false), + 'OurLanguages.NameIT.First'=>array('field'=>'OurLanguages.NameIT','name'=>'Lingua primaria impostata da noi','type'=>'joini','join'=>array('InstOurLangs ON InstOurLangs.InstID=Instances.ID','Languages AS OurLanguages ON OurLanguages.ID=InstOurLangs.OurLangID'),'subtype'=>'text','wheremore'=>'AND InstOurLangs.Pos=1'), - 'FinID'=>array('name'=>'Modalità di finanziamento ⮞','type'=>'join','join'=>array('InstFinancing ON InstFinancing.InstID=Instances.ID'),'ord'=>false), - 'Financing.Type'=>array('name'=>'Modalità di finanziamento','type'=>'joini','join'=>array('InstFinancing ON InstFinancing.InstID=Instances.ID','Financing ON Financing.ID=InstFinancing.FinID'),'subtype'=>'text'), - 'InstFinancing.FinID'=>array('name'=>'Modalità di finanziamento primaria ⮞','type'=>'join','join'=>array('InstFinancing ON InstFinancing.InstID=Instances.ID'),'wheremore'=>'AND InstFinancing.Pos=1','ord'=>false), - 'XFinancing.Type'=>array('name'=>'Modalità di finanziamento primaria','type'=>'joini','join'=>array('InstFinancing ON InstFinancing.InstID=Instances.ID','Financing AS XFinancing ON XFinancing.ID=InstFinancing.FinID'),'subtype'=>'text','wheremore'=>'AND InstFinancing.Pos=1'), + 'InstFinancing.FinID'=>array('field'=>'InstFinancing.FinID','name'=>'Modalità di finanziamento ⮞','type'=>'join','join'=>array('InstFinancing ON InstFinancing.InstID=Instances.ID'),'ord'=>false), + 'Financing.Type'=>array('field'=>'Financing.Type','name'=>'Modalità di finanziamento','type'=>'joini','join'=>array('InstFinancing ON InstFinancing.InstID=Instances.ID','Financing ON Financing.ID=InstFinancing.FinID'),'subtype'=>'text'), + 'InstFinancing.FinID.First'=>array('field'=>'InstFinancing.FinID','name'=>'Modalità di finanziamento primaria ⮞','type'=>'join','join'=>array('InstFinancing ON InstFinancing.InstID=Instances.ID'),'wheremore'=>'AND InstFinancing.Pos=1','ord'=>false), + 'Financing.Type.First'=>array('field'=>'Financing.Type','name'=>'Modalità di finanziamento primaria','type'=>'joini','join'=>array('InstFinancing ON InstFinancing.InstID=Instances.ID','Financing ON Financing.ID=InstFinancing.FinID'),'subtype'=>'text','wheremore'=>'AND InstFinancing.Pos=1'), - 'PolID'=>array('name'=>'Restrizioni sui contenuti ⮞','type'=>'join','join'=>array('InstPolicies ON InstPolicies.InstID=Instances.ID'),'ord'=>false), - 'Policies.Name'=>array('name'=>'Restrizioni sui contenuti','type'=>'joini','join'=>array('InstPolicies ON InstPolicies.InstID=Instances.ID','Policies ON Policies.ID=InstPolicies.PolID'),'subtype'=>'text'), - 'InstPolicies.PolID'=>array('name'=>'Restrizione sui contenuti primaria ⮞','type'=>'join','join'=>array('InstPolicies ON InstPolicies.InstID=Instances.ID'),'wheremore'=>'AND InstPolicies.Pos=1','ord'=>false), - 'XPolicies.Name'=>array('name'=>'Restrizione sui contenuti primaria','type'=>'joini','join'=>array('InstPolicies ON InstPolicies.InstID=Instances.ID','Policies AS XPolicies ON XPolicies.ID=InstPolicies.PolID'),'subtype'=>'text','wheremore'=>'AND InstPolicies.Pos=1'), + 'InstPolicies.PolID'=>array('field'=>'InstPolicies.PolID','name'=>'Restrizioni sui contenuti ⮞','type'=>'join','join'=>array('InstPolicies ON InstPolicies.InstID=Instances.ID'),'ord'=>false), + 'Policies.Name'=>array('field'=>'Policies.Name','name'=>'Restrizioni sui contenuti','type'=>'joini','join'=>array('InstPolicies ON InstPolicies.InstID=Instances.ID','Policies ON Policies.ID=InstPolicies.PolID'),'subtype'=>'text'), + 'InstPolicies.PolID.First'=>array('field'=>'InstPolicies.PolID','name'=>'Restrizione sui contenuti primaria ⮞','type'=>'join','join'=>array('InstPolicies ON InstPolicies.InstID=Instances.ID'),'wheremore'=>'AND InstPolicies.Pos=1','ord'=>false), + 'Policies.Name.First'=>array('field'=>'Policies.Name','name'=>'Restrizione sui contenuti primaria','type'=>'joini','join'=>array('InstPolicies ON InstPolicies.InstID=Instances.ID','Policies ON Policies.ID=InstPolicies.PolID'),'subtype'=>'text','wheremore'=>'AND InstPolicies.Pos=1'), - 'TagID'=>array('name'=>'Tags ⮞','type'=>'join','join'=>array('InstTags ON InstTags.InstID=Instances.ID'),'ord'=>false), - 'Tags.Name'=>array('name'=>'Tags','type'=>'joini','join'=>array('InstTags ON InstTags.InstID=Instances.ID','Tags ON Tags.ID=InstTags.TagID'),'subtype'=>'text'), - 'InstTags.TagID'=>array('name'=>'Tag primaria ⮞','type'=>'join','join'=>array('InstTags ON InstTags.InstID=Instances.ID'),'wheremore'=>'AND InstTags.Pos=1','ord'=>false), - 'XTags.Name'=>array('name'=>'Tag primaria','type'=>'joini','join'=>array('InstTags ON InstTags.InstID=Instances.ID','Tags AS XTags ON XTags.ID=InstTags.TagID'),'subtype'=>'text','wheremore'=>'AND InstTags.Pos=1'), + 'InstTags.TagID'=>array('field'=>'InstTags.TagID','name'=>'Tags ⮞','type'=>'join','join'=>array('InstTags ON InstTags.InstID=Instances.ID'),'ord'=>false), + 'Tags.Name'=>array('field'=>'Tags.Name','name'=>'Tags','type'=>'joini','join'=>array('InstTags ON InstTags.InstID=Instances.ID','Tags ON Tags.ID=InstTags.TagID'),'subtype'=>'text'), + 'InstTags.TagID.First'=>array('field'=>'InstTags.TagID','name'=>'Tag primaria ⮞','type'=>'join','join'=>array('InstTags ON InstTags.InstID=Instances.ID'),'wheremore'=>'AND InstTags.Pos=1','ord'=>false), + 'Tags.Name.First'=>array('field'=>'Tags.Name','name'=>'Tag primaria','type'=>'joini','join'=>array('InstTags ON InstTags.InstID=Instances.ID','Tags ON Tags.ID=InstTags.TagID'),'subtype'=>'text','wheremore'=>'AND InstTags.Pos=1'), /*'Statuses'=>array('name'=>'Stati ultima settimana','type'=>'joini','join'=>array('InstActivity ON InstActivity.InstID=Instances.ID'),'subtype'=>'int','selmore'=>'MAX(Week) AS maxweek'), 'Logins'=>array('name'=>'Logins ultima settimana','type'=>'joini','join'=>array('InstActivity ON InstActivity.InstID=Instances.ID'),'subtype'=>'int','selmore'=>'MAX(Week) AS maxweek'), @@ -156,76 +169,79 @@ $types=array('bool','int','time','text','join','joini'); $fieldselopts=''; $ordfieldselopts=''; -foreach ($cols as $key=>$val) { - if (!array_key_exists('search',$val)) { - if ($val['type']=='joini') { - $fieldselopts.=''; +foreach ($cols as $key=>$arr) { + if (!array_key_exists('search',$arr) || $arr['search']==true) { + if ($arr['type']=='joini') { + $fieldselopts.=''; } else { - $fieldselopts.=''; + $fieldselopts.=''; } } - if (!array_key_exists('ord',$val)) { - if ($val['type']=='joini') { - $ordfieldselopts.=''; + if (!array_key_exists('ord',$arr) || $arr['ord']==true) { + if ($arr['type']=='joini') { + $ordfieldselopts.=''; } else { - $ordfieldselopts.=''; + $ordfieldselopts.=''; } } } +$pblocks=0; +foreach ($_POST as $key=>$val) + if (preg_match('/^openpar-\d+$/',$key)===1) + $pblocks++; $i=0; $jsaddrows=''; $jssetrows=''; -$cp=count($_POST)/6; // /6 perché ogni "blocco" contiene 6 righe $sels=array(); $joins=array(); $where=''; foreach ($_POST as $key=>$val) { - if (preg_match('/^openpar-\d+/',$key)===1) { + if (preg_match('/^openpar-\d+$/',$key)===1) { $i++; if (preg_match('/^\(+$/',$val)===1) $where.=$val; $jsaddrows.='addrow('.$i.',false);'.N; $jssetrows.='setrow('.$i.','.json_encode($val); } - if (preg_match('/^fieldsel-\d+/',$key)===1 && preg_match('/^(.+):(.+):(.+)$/',$val,$buf)===1) { + if (preg_match('/^fieldsel-\d+$/',$key)===1 && preg_match('/^(.+):(.+):(.+)$/',$val,$buf)===1) { $col=$buf[1]; $type=$buf[2]; $subtype=$buf[3]; if (array_key_exists($col,$cols) && in_array($type,$types)) { if (array_key_exists('wheremore',$cols[$col])) $where.='('; - $where.=$col; + $where.=$cols[$col]['field']; if ($type=='join' || $type=='joini') { foreach ($cols[$col]['join'] as $join) { if (!in_array($join,$joins)) $joins[]=$join; } - if (array_key_exists('selmore',$cols[$col]) && !in_array($cols[$col]['selmore'],$sels)) - $sels[]=$cols[$col]['selmore']; +/* if (array_key_exists('selmore',$cols[$col]) && !in_array($cols[$col]['selmore'],$sels)) + $sels[]=$cols[$col]['selmore'];*/ } $jssetrows.=','.json_encode($val); } else { - muoribene($dbg.'
Dati POST corrotti.
Puoi riprovare o tornare al login.',true); + muoribene($dbg.'
Dati POST corrotti.
Puoi riprovare resettando i parametri o tornare al login.',true); } } - if (preg_match('/^condsel-\d+/',$key)===1) { + if (preg_match('/^condsel-\d+$/',$key)===1) { $where.=' '.$val.' '; $cond=$val; $jssetrows.=','.json_encode($val); // nel caso qui sotto, valuesel e valueinp sono entrambi disabilitati (non ci sono in $_POST), quindi li riempio di introvabile e nulla - if (preg_match('/^(IS NULL|IS NOT NULL)$/',$val)===1) + if (preg_match('/^IS NULL|IS NOT NULL$/',$val)===1) $jssetrows.=',"NOMMITROVI!",""'; } - if (preg_match('/^valuesel-\d+/',$key)===1) { + if (preg_match('/^valuesel-\d+$/',$key)===1) { $where.=$val; if (array_key_exists('wheremore',$cols[$col])) $where.=' '.$cols[$col]['wheremore'].')'; $jssetrows.=','.json_encode($val); $jssetrows.=',""'; } - if (preg_match('/^valueinp-\d+/',$key)===1) { - if (preg_match('/^(LIKE|NOT LIKE)$/',$cond)===1) + if (preg_match('/^valueinp-\d+$/',$key)===1) { + if (preg_match('/^LIKE|NOT LIKE$/',$cond)===1) $where.='\'%'.myesc($link,$val).'%\''; else $where.='\''.myesc($link,$val).'\''; @@ -234,13 +250,13 @@ foreach ($_POST as $key=>$val) { $jssetrows.=',"NOMMITROVIHODETTO!"'; $jssetrows.=','.json_encode($val); } - if (preg_match('/^closepar-\d+/',$key)===1) { + if (preg_match('/^closepar-\d+$/',$key)===1) { if (preg_match('/^\)+$/',$val)===1) $where.=$val; $jssetrows.=','.json_encode($val); } - if (preg_match('/^andor-\d+/',$key)===1 && preg_match('/^(AND|OR)$/',$val)===1) { - if ($i<$cp) + if (preg_match('/^andor-\d+$/',$key)===1 && preg_match('/^AND|OR$/',$val)===1) { + if ($i<$pblocks) $where.=' '.$val.' '; $jssetrows.=','.json_encode($val).');'.N; } @@ -277,13 +293,13 @@ if (mysqli_num_rows($res)<1) { // $out.='AttributiInfo'.N; $out.=''.N; $out.=''.$row['URI'].' {'.$row['IID'].'}'.N; - $attr=booly($cols['Blacklisted']['name'].': ',$row['Blacklisted'],false,true).N; - $attr.=booly($cols['New']['name'].': ',$row['New'],true).N; - $attr.=booly($cols['Good']['name'].': ',$row['Good']).N; - $attr.=booly($cols['Chosen']['name'].': ',$row['Chosen']).N; - $attr.=booly($cols['Visible']['name'].': ',$row['Visible']).N; -/* $attr.=booly($cols['RegOpen']['name'].': ',$row['RegOpen']).N; - $attr.=booly($cols['RegReqApproval']['name'].': ',$row['RegReqApproval'],true,true).N;*/ + $attr=booly($cols['Instances.Blacklisted']['name'].': ',$row['Blacklisted'],false,true).N; + $attr.=booly($cols['Instances.New']['name'].': ',$row['New'],true).N; + $attr.=booly($cols['Instances.Good']['name'].': ',$row['Good']).N; + $attr.=booly($cols['Instances.Chosen']['name'].': ',$row['Chosen']).N; + $attr.=booly($cols['Instances.Visible']['name'].': ',$row['Visible']).N; +/* $attr.=booly($cols['Instances.RegOpen']['name'].': ',$row['RegOpen']).N; + $attr.=booly($cols['Instances.RegReqApproval']['name'].': ',$row['RegReqApproval'],true,true).N;*/ $sres=mysqli_query($link,'SELECT * FROM InstChecks WHERE InstID='.$row['IID'].' ORDER BY Time DESC') or muoribene(mysqli_error($link),true); $csres=mysqli_num_rows($sres); @@ -336,13 +352,13 @@ if (mysqli_num_rows($res)<1) { $attr.='
Non disponibili
'.N; } $out.=''.$attr.''.N; - $out.='
'.$cols['URI']['name'].': '.$row['URI'].'
'.N; - $out.='
'.$cols['Title']['name'].': '.nully($row['Title'],false,'strip').'
'.N; - $out.='
'.$cols['Thumb']['name'].': '.nully($row['Thumb'],true,'image').'
'.N; - $out.='
'.$cols['ShortDesc']['name'].': '.nully($row['ShortDesc'],true,'strip').'
'.N; - $out.='
'.$cols['LongDesc']['name'].': '.nully($row['LongDesc'],true,'strip').'
'.N; + $out.='
'.$cols['Instances.URI']['name'].': '.$row['URI'].'
'.N; + $out.='
'.$cols['Instances.Title']['name'].': '.nully($row['Title'],false,'strip').'
'.N; + $out.='
'.$cols['Instances.Thumb']['name'].': '.nully($row['Thumb'],true,'image').'
'.N; + $out.='
'.$cols['Instances.ShortDesc']['name'].': '.nully($row['ShortDesc'],true,'strip').'
'.N; + $out.='
'.$cols['Instances.LongDesc']['name'].': '.nully($row['LongDesc'],true,'strip').'
'.N; // 'strip' o 'htmlent' per la descrizione nostra? - $out.='
'.$cols['OurDesc']['name'].': '.nully($row['OurDesc'],true,'strip').'
'.N; + $out.='
'.$cols['Instances.OurDesc']['name'].': '.nully($row['OurDesc'],true,'strip').'
'.N; $out.='
'.$cols['Places.Locality']['name'].': '; if (!is_null($row['PlaceID'])) { $sres=mysqli_query($link,'SELECT * FROM Places WHERE Places.ID='.$row['PlaceID']) @@ -359,11 +375,11 @@ if (mysqli_num_rows($res)<1) { $buf=array(); while ($srow=mysqli_fetch_assoc($sres)) { $i++; - $buf[]=$i.': '.hspech($srow['Code'].' ['.ucfirst(locale_get_display_name($srow['Code'])).']'); + $buf[]=$i.': '.hspech($srow['Code'].' ['.$srow['NameIT'].']'); } - $out.='
'.$cols['Languages.Code']['name'].': '.implode('; ',$buf).'
'.N; + $out.='
'.$cols['Languages.NameIT']['name'].': '.implode('; ',$buf).'
'.N; } else { - $out.='
'.$cols['Languages.Code']['name'].': Non definite
'.N; + $out.='
'.$cols['Languages.NameIT']['name'].': Non definite
'.N; } $sres=mysqli_query($link,'SELECT * FROM InstOurLangs LEFT JOIN Languages ON Languages.ID=OurLangID WHERE InstID='.$row['IID'].' ORDER BY Pos ASC') or muoribene(mysqli_error($link),true); @@ -372,11 +388,11 @@ if (mysqli_num_rows($res)<1) { $buf=array(); while ($srow=mysqli_fetch_assoc($sres)) { $i++; - $buf[]=$i.': '.hspech($srow['Code'].' ['.ucfirst(locale_get_display_name($srow['Code'],'it')).']'); + $buf[]=$i.': '.hspech($srow['Code'].' ['.$srow['NameIT'].']'); } - $out.='
'.$cols['OurLanguages.Code']['name'].': '.implode('; ',$buf).'
'.N; + $out.='
'.$cols['OurLanguages.NameIT']['name'].': '.implode('; ',$buf).'
'.N; } else { - $out.='
'.$cols['OurLanguages.Code']['name'].': Non definite
'.N; + $out.='
'.$cols['OurLanguages.NameIT']['name'].': Non definite
'.N; } $sres=mysqli_query($link,'SELECT * FROM InstFinancing LEFT JOIN Financing ON Financing.ID=FinID WHERE InstID='.$row['IID'].' ORDER BY Pos ASC') or muoribene(mysqli_error($link),true); @@ -417,23 +433,23 @@ if (mysqli_num_rows($res)<1) { } else { $out.='
'.$cols['Tags.Name']['name'].': Non definite
'.N; } - $out.='
'.$cols['Email']['name'].': '.nully($row['Email'],true,'email').'
'.N; - $out.='
'.$cols['Software']['name'].': '.nully($row['Software'],false,'strip').'
'.N; - $out.='
'.$cols['Version']['name'].': '.nully($row['Version'],true,'strip').'
'.N; - $out.='
'.$cols['UserCount']['name'].': '.nully($row['UserCount'],false,'strip').'
'.N; - $out.='
'.$cols['StatusCount']['name'].': '.nully($row['StatusCount'],false,'strip').'
'.N; - $out.='
'.$cols['DomainCount']['name'].': '.nully($row['DomainCount'],false,'strip').'
'.N; - $out.='
'.$cols['ActiveUsersMonth']['name'].': '.nully($row['ActiveUsersMonth'],false,'strip').'
'.N; - $out.='
'.$cols['ActiveUsersHalfYear']['name'].': '.nully($row['ActiveUsersHalfYear'],false,'strip').'
'.N; - $out.='
'.$cols['RegOpen']['name'].': '.nully($row['RegOpen'],false,'boolt').'
'.N; - $out.='
'.$cols['RegReqApproval']['name'].': '.nully($row['RegReqApproval'],false,'boolf').'
'.N; - $out.='
'.$cols['MaxTootChars']['name'].': '.nully($row['MaxTootChars'],false,'strip','500').'
'.N; - $out.='
'.$cols['AdmAccount']['name'].': '.nully($row['AdmAccount'],false,'strip').'
'.N; - $out.='
'.$cols['AdmDisplayName']['name'].': '.nully($row['AdmDisplayName'],false,'strip').'
'.N; - $out.='
'.$cols['AdmCreatedAt']['name'].': '.nully($row['AdmCreatedAt'],true,'timestamp').'
'.N; - $out.='
'.$cols['AdmURL']['name'].': '.nully($row['AdmURL'],true,'url').'
'.N; - $out.='
'.$cols['AdmAvatar']['name'].': '.nully($row['AdmAvatar'],false,'image').'
'.N; - $out.='
'.$cols['AdmNote']['name'].': '.nully($row['AdmNote'],false,'strip').'
'.N; + $out.='
'.$cols['Instances.Email']['name'].': '.nully($row['Email'],true,'email').'
'.N; + $out.='
'.$cols['Instances.Software']['name'].': '.nully($row['Software'],false,'strip').'
'.N; + $out.='
'.$cols['Instances.Version']['name'].': '.nully($row['Version'],true,'strip').'
'.N; + $out.='
'.$cols['Instances.UserCount']['name'].': '.nully($row['UserCount'],false,'strip').'
'.N; + $out.='
'.$cols['Instances.StatusCount']['name'].': '.nully($row['StatusCount'],false,'strip').'
'.N; + $out.='
'.$cols['Instances.DomainCount']['name'].': '.nully($row['DomainCount'],false,'strip').'
'.N; + $out.='
'.$cols['Instances.ActiveUsersMonth']['name'].': '.nully($row['ActiveUsersMonth'],false,'strip').'
'.N; + $out.='
'.$cols['Instances.ActiveUsersHalfYear']['name'].': '.nully($row['ActiveUsersHalfYear'],false,'strip').'
'.N; + $out.='
'.$cols['Instances.RegOpen']['name'].': '.nully($row['RegOpen'],false,'boolt').'
'.N; + $out.='
'.$cols['Instances.RegReqApproval']['name'].': '.nully($row['RegReqApproval'],false,'boolf').'
'.N; + $out.='
'.$cols['Instances.MaxTootChars']['name'].': '.nully($row['MaxTootChars'],false,'strip','500').'
'.N; + $out.='
'.$cols['Instances.AdmAccount']['name'].': '.nully($row['AdmAccount'],false,'strip').'
'.N; + $out.='
'.$cols['Instances.AdmDisplayName']['name'].': '.nully($row['AdmDisplayName'],false,'strip').'
'.N; + $out.='
'.$cols['Instances.AdmCreatedAt']['name'].': '.nully($row['AdmCreatedAt'],true,'timestamp').'
'.N; + $out.='
'.$cols['Instances.AdmURL']['name'].': '.nully($row['AdmURL'],true,'url').'
'.N; + $out.='
'.$cols['Instances.AdmAvatar']['name'].': '.nully($row['AdmAvatar'],false,'image').'
'.N; + $out.='
'.$cols['Instances.AdmNote']['name'].': '.nully($row['AdmNote'],false,'strip').'
'.N; $out.=''.N; $out.=''.N; $out.=''.N; @@ -816,7 +832,7 @@ function ckf() {
-
+
diff --git a/web/admin/instancesh.php b/web/admin/instancesh.php index 757c6f6..9c95300 100644 --- a/web/admin/instancesh.php +++ b/web/admin/instancesh.php @@ -8,27 +8,27 @@ require('include/sessionstart.php'); $cols=array( - 'PlaceID'=>array('select'=>'SELECT Places.ID AS Pid, CONCAT(Locality,\' (\',COUNT(Places.ID),\')\') AS Txt FROM Instances LEFT JOIN Places ON Places.ID=PlaceID WHERE PlaceID IS NOT NULL GROUP BY Pid ORDER BY Locality ASC','optcol'=>'Pid','txtcol'=>'Txt'), + 'Instances.PlaceID'=>array('select'=>'SELECT Places.ID AS Pid, CONCAT(Locality,\' (\',COUNT(Places.ID),\')\') AS Txt FROM Instances LEFT JOIN Places ON Places.ID=PlaceID WHERE PlaceID IS NOT NULL GROUP BY Pid ORDER BY Locality ASC','optcol'=>'Pid','txtcol'=>'Txt'), - 'LangID'=>array('select'=>'SELECT Languages.ID AS Lid, CONCAT(Code, \' [\', NameIT, \'] (\', COUNT(Languages.ID), \')\') AS Txt FROM InstLangs LEFT JOIN Languages ON Languages.ID=LangID GROUP BY Languages.ID ORDER BY Code ASC','optcol'=>'Lid','txtcol'=>'Txt'), + 'InstLangs.LangID'=>array('select'=>'SELECT Languages.ID AS Lid, CONCAT(Code, \' [\', NameIT, \'] (\', COUNT(Languages.ID), \')\') AS Txt FROM InstLangs LEFT JOIN Languages ON Languages.ID=LangID GROUP BY Languages.ID ORDER BY Code ASC','optcol'=>'Lid','txtcol'=>'Txt'), - 'InstLangs.LangID'=>array('select'=>'SELECT Languages.ID AS Lid, CONCAT(Code, \' [\', NameIT, \'] (\', COUNT(Languages.ID), \')\') AS Txt FROM InstLangs LEFT JOIN Languages ON Languages.ID=LangID WHERE InstLangs.Pos=1 GROUP BY Languages.ID ORDER BY Code ASC','optcol'=>'Lid','txtcol'=>'Txt'), + 'InstLangs.LangID.First'=>array('select'=>'SELECT Languages.ID AS Lid, CONCAT(Code, \' [\', NameIT, \'] (\', COUNT(Languages.ID), \')\') AS Txt FROM InstLangs LEFT JOIN Languages ON Languages.ID=LangID WHERE InstLangs.Pos=1 GROUP BY Languages.ID ORDER BY Code ASC','optcol'=>'Lid','txtcol'=>'Txt'), - 'OurLangID'=>array('select'=>'SELECT Languages.ID AS Lid, CONCAT(Code, \' [\', NameIT, \'] (\', COUNT(Languages.ID), \')\') AS Txt FROM InstOurLangs LEFT JOIN Languages ON Languages.ID=OurLangID GROUP BY Languages.ID ORDER BY Code ASC','optcol'=>'Lid','txtcol'=>'Txt'), + 'InstOurLangs.OurLangID'=>array('select'=>'SELECT Languages.ID AS Lid, CONCAT(Code, \' [\', NameIT, \'] (\', COUNT(Languages.ID), \')\') AS Txt FROM InstOurLangs LEFT JOIN Languages ON Languages.ID=OurLangID GROUP BY Languages.ID ORDER BY Code ASC','optcol'=>'Lid','txtcol'=>'Txt'), - 'InstOurLangs.OurLangID'=>array('select'=>'SELECT Languages.ID AS Lid, CONCAT(Code, \' [\', NameIT, \'] (\', COUNT(Languages.ID), \')\') AS Txt FROM InstOurLangs LEFT JOIN Languages ON Languages.ID=OurLangID WHERE InstOurLangs.Pos=1 GROUP BY Languages.ID ORDER BY Code ASC','optcol'=>'Lid','txtcol'=>'Txt'), + 'InstOurLangs.OurLangID.First'=>array('select'=>'SELECT Languages.ID AS Lid, CONCAT(Code, \' [\', NameIT, \'] (\', COUNT(Languages.ID), \')\') AS Txt FROM InstOurLangs LEFT JOIN Languages ON Languages.ID=OurLangID WHERE InstOurLangs.Pos=1 GROUP BY Languages.ID ORDER BY Code ASC','optcol'=>'Lid','txtcol'=>'Txt'), - 'FinID'=>array('select'=>'SELECT Financing.ID AS Fid, CONCAT(Type,\' (\',COUNT(Financing.ID),\')\') AS Txt FROM InstFinancing LEFT JOIN Financing ON Financing.ID=FinID GROUP BY Financing.ID ORDER BY Type ASC','optcol'=>'Fid','txtcol'=>'Txt'), + 'InstFinancing.FinID'=>array('select'=>'SELECT Financing.ID AS Fid, CONCAT(Type,\' (\',COUNT(Financing.ID),\')\') AS Txt FROM InstFinancing LEFT JOIN Financing ON Financing.ID=FinID GROUP BY Financing.ID ORDER BY Type ASC','optcol'=>'Fid','txtcol'=>'Txt'), - 'InstFinancing.FinID'=>array('select'=>'SELECT Financing.ID AS Fid, CONCAT(Type,\' (\',COUNT(Financing.ID),\')\') AS Txt FROM InstFinancing LEFT JOIN Financing ON Financing.ID=FinID WHERE InstFinancing.Pos=1 GROUP BY Financing.ID ORDER BY Type ASC ','optcol'=>'Fid','txtcol'=>'Txt'), + 'InstFinancing.FinID.First'=>array('select'=>'SELECT Financing.ID AS Fid, CONCAT(Type,\' (\',COUNT(Financing.ID),\')\') AS Txt FROM InstFinancing LEFT JOIN Financing ON Financing.ID=FinID WHERE InstFinancing.Pos=1 GROUP BY Financing.ID ORDER BY Type ASC ','optcol'=>'Fid','txtcol'=>'Txt'), - 'PolID'=>array('select'=>'SELECT Policies.ID AS Pid, CONCAT(Name,\' (\',COUNT(Policies.ID),\')\') AS Txt FROM InstPolicies LEFT JOIN Policies ON Policies.ID=PolID GROUP BY Policies.ID ORDER BY Name ASC','optcol'=>'Pid','txtcol'=>'Txt'), + 'InstPolicies.PolID'=>array('select'=>'SELECT Policies.ID AS Pid, CONCAT(Name,\' (\',COUNT(Policies.ID),\')\') AS Txt FROM InstPolicies LEFT JOIN Policies ON Policies.ID=PolID GROUP BY Policies.ID ORDER BY Name ASC','optcol'=>'Pid','txtcol'=>'Txt'), - 'InstPolicies.PolID'=>array('select'=>'SELECT Policies.ID AS Pid, CONCAT(Name,\' (\',COUNT(Policies.ID),\')\') AS Txt FROM InstPolicies LEFT JOIN Policies ON Policies.ID=PolID WHERE InstPolicies.Pos=1 GROUP BY Policies.ID ORDER BY Name ASC','optcol'=>'Pid','txtcol'=>'Txt'), + 'InstPolicies.PolID.First'=>array('select'=>'SELECT Policies.ID AS Pid, CONCAT(Name,\' (\',COUNT(Policies.ID),\')\') AS Txt FROM InstPolicies LEFT JOIN Policies ON Policies.ID=PolID WHERE InstPolicies.Pos=1 GROUP BY Policies.ID ORDER BY Name ASC','optcol'=>'Pid','txtcol'=>'Txt'), - 'TagID'=>array('select'=>'SELECT Tags.ID AS Tid, CONCAT(Name,\' (\',COUNT(Tags.ID),\')\') AS Txt FROM InstTags LEFT JOIN Tags ON Tags.ID=TagID GROUP BY (Tags.ID) ORDER BY Name ASC','optcol'=>'Tid','txtcol'=>'Txt'), + 'InstTags.TagID'=>array('select'=>'SELECT Tags.ID AS Tid, CONCAT(Name,\' (\',COUNT(Tags.ID),\')\') AS Txt FROM InstTags LEFT JOIN Tags ON Tags.ID=TagID GROUP BY (Tags.ID) ORDER BY Name ASC','optcol'=>'Tid','txtcol'=>'Txt'), - 'InstTags.TagID'=>array('select'=>'SELECT Tags.ID AS Tid, CONCAT(Name,\' (\',COUNT(Tags.ID),\')\') AS Txt FROM InstTags LEFT JOIN Tags ON Tags.ID=TagID WHERE InstTags.Pos=1 GROUP BY (Tags.ID) ORDER BY Name ASC','optcol'=>'Tid','txtcol'=>'Txt'), + 'InstTags.TagID.First'=>array('select'=>'SELECT Tags.ID AS Tid, CONCAT(Name,\' (\',COUNT(Tags.ID),\')\') AS Txt FROM InstTags LEFT JOIN Tags ON Tags.ID=TagID WHERE InstTags.Pos=1 GROUP BY (Tags.ID) ORDER BY Name ASC','optcol'=>'Tid','txtcol'=>'Txt'), ); if (array_key_exists('key',$_GET) && array_key_exists($_GET['key'],$cols)) {