%PDF- %PDF-
Direktori : /home/alliance/domains/sedl.alnetis.fr/public_html/inc/classes/ |
Current File : /home/alliance/domains/sedl.alnetis.fr/public_html/inc/classes/Stats.php |
<?php class Stats extends Load { var $bd; var $language; var $clef_primaire; function __construct($connection) { parent::__construct(); $this->bd = new BaseOps($connection); $this->language = new Lang($connection); } function getStats($edition=0,$pays='all',$profil='all',$type='nb'){ if($edition==0){ $obj_edition=new Edition; $this_edition=$obj_edition->getCurrentEdition($aff="ins"); $edition=$this_edition['id']; } if($type=="nb"){ $sql='SELECT COUNT(*) as nb FROM section s LEFT JOIN section_edition se ON se.section=s.id WHERE edition='.$edition.' AND valide=1'; if($pays!='all'){ $sql.=' AND s.pays='.$pays; } if($profil!='all'){ $sql.=' AND s.profil='.$profil; } $result=$this->bd->select_array($sql); return $result['nb']; } if($type=="population"){ $sql='SELECT sum(population) as population FROM section s LEFT JOIN section_edition se ON se.section=s.id WHERE edition='.$edition.' AND valide=1'; if($pays!='all'){ $sql.=' AND s.pays='.$pays; } if($profil!='all'){ $sql.=' AND s.profil='.$profil; } $result=$this->bd->select_array($sql); if(isset($result['population'])){ return $result['population']; } else{ return 0; } } if($type=="activites"){ $sql='SELECT COUNT(*) as nb FROM page p LEFT JOIN section s ON s.id=p.section LEFT JOIN section_edition se ON se.section=s.id WHERE se.edition='.$edition.' AND p.edition='.$edition.' AND p.valide=1 AND se.valide=1 AND p.type!=0'; if($pays!='all'){ $sql.=' AND s.pays='.$pays; } if($profil!='all'){ $sql.=' AND s.profil='.$profil; } $result=$this->bd->select_array($sql); $sql2='SELECT COUNT(*) as nb FROM page2 p LEFT JOIN section s ON s.id=p.section LEFT JOIN section_edition se ON se.section=s.id WHERE se.edition='.$edition.' AND p.edition='.$edition.' AND p.valide=1 AND se.valide=1 AND p.type!=0'; if($pays!='all'){ $sql2.=' AND s.pays='.$pays; } if($profil!='all'){ $sql2.=' AND s.profil='.$profil; } $result2=$this->bd->select_array($sql2); if(isset($result2['nb'])){ if(isset($result['nb'])){ $result['nb']+=$result2['nb']; } else{ $result['nb']=$result2['nb']; } } if(isset($result['nb'])){ return $result['nb']; } else{ return 0; } } if($type=="activites_detail"){ $sql='SELECT a.id,COUNT(*) as nb,al.libelle FROM page p LEFT JOIN `type_activite` a ON a.id=p.type LEFT JOIN `type_activite_lang` al ON a.id=al.activite LEFT JOIN section s ON s.id=p.section LEFT JOIN section_edition se ON se.section=s.id WHERE se.edition='.$edition.' AND p.edition='.$edition.' AND p.valide=1 AND se.valide=1 AND p.type!=0 AND al.lang='.$this->language->getlangid(); if($pays!='all'){ $sql.=' AND s.pays='.$pays; } if($profil!='all'){ $sql.=' AND s.profil='.$profil; } $sql.=' GROUP BY p.type'; $results=$this->bd->select_arrays($sql); $sql2='SELECT a.id,COUNT(*) as nb,al.libelle FROM page2 p LEFT JOIN `type_activite` a ON a.id=p.type LEFT JOIN `type_activite_lang` al ON a.id=al.activite LEFT JOIN section s ON s.id=p.section LEFT JOIN section_edition se ON se.section=s.id WHERE se.edition='.$edition.' AND p.edition='.$edition.' AND p.valide=1 AND se.valide=1 AND p.type!=0 AND al.lang='.$this->language->getlangid(); if($pays!='all'){ $sql2.=' AND s.pays='.$pays; } if($profil!='all'){ $sql2.=' AND s.profil='.$profil; } $sql2.=' GROUP BY p.type'; $results2=$this->bd->select_arrays($sql2); $res=array(); foreach($results as $result){ $res[$result['id']]['libelle']=$result['libelle']; $res[$result['id']]['nb']=$result['nb']; } foreach($results2 as $result){ if(isset($res[$result['id']])){ $res[$result['id']]['nb']+=$result['nb']; } else{ $res[$result['id']]['nb']=$result['nb']; } $res[$result['id']]['libelle']=$result['libelle']; } if($res){ $return="<small>("; foreach($res as $unres){ $return.=$unres['nb'].' '.$unres['libelle'].', '; } $return=trim($return); $return=trim($return,','); $return.=")</small>"; return $return; } else{ return ""; } } if($type=="pourcentage_pays"){ if($pays=='all' && $profil=='all'){ return 100; } elseif($pays=='all'){ } } } } ?>