db->select('*'); $this->db->from('pagina'); $this->db->join('lingua','lingua_id=ID_lingua'); if($num==2): $this->db->where('sigla_lingua',$quale_lingua); endif; if($pagina_id && is_numeric($pagina_id)) $this->db->where('ID_pagina',$pagina_id); elseif($pagina_id) $this->db->where('p_link',$pagina_id); $this->db->order_by('pagina_id,lingua_id'); return $this->db->get(); } ################################################### function p_default($sigla_lingua,$default=NULL){ $this->db->select('*'); $this->db->from('pagina'); $this->db->join('lingua','lingua_id=ID_lingua'); $this->db->where('sigla_lingua',$sigla_lingua); if($default) $this->db->where('pagina_default',1); return $this->db->get(); } ################################################### function get_cartella_lingua($sigla_lingua){ switch($sigla_lingua) { case 'en': $cartella_lingua="english"; break; case 'de': $cartella_lingua="german"; break; case 'fr': $cartella_lingua="french"; break; case 'es': $cartella_lingua="spanish"; break; case 'jp': $cartella_lingua="japanese"; break; default: $cartella_lingua="italian"; break; } return $cartella_lingua; } ################################################### function get_lang_link($id_pagina){ $this->db->select('p_link,p_titolo,sezione_link,sigla_lingua,lingua'); $this->db->from('pagina'); $this->db->join('lingua','lingua_id=ID_lingua'); $this->db->join('sezione','sezione_id=id_sezione'); $this->db->where('pagina_id',$id_pagina); $this->db->where('flag_pagina_abilita',1); $Q=$this->db->get(); return $Q->result(); } ################################################### function get_page($sigla_lingua,$area,$pagina_id=NULL) { $this->db->select('*'); $this->db->from('pagina'); $this->db->join('lingua','lingua_id=ID_lingua'); $this->db->join('sezione','sezione_id=id_sezione'); $this->db->where('sigla_lingua',$sigla_lingua); $this->db->where('sezione_link',$area); if($pagina_id): if(is_numeric($pagina_id)) $this->db->where('pagina_id',$pagina_id); else $this->db->where('p_link',$pagina_id); endif; $this->db->order_by('pagina_default, ID_pagina DESC'); $this->db->limit(1); $ottieni=$this->db->get(); $num_rows=$ottieni->num_rows(); //echo $this->db->last_query(); if($num_rows!=1){ $nopage->p_link=FALSE; return $nopage; } return $ottieni->row(); } ################################################### function get_menu($lingua) { $this->db->select('p_link,p_titolo,p_menu,sigla_lingua,lingua,sezione,sezione_link'); $this->db->from('sezione'); $this->db->join('pagina','sezione_id=id_sezione'); $this->db->join('lingua','lingua_id=ID_lingua'); if(is_numeric($lingua)) $this->db->where('ID_lingua',$lingua); else $this->db->where('sigla_lingua',$lingua); $this->db->where('flag_pagina_abilita',1); $this->db->where('is_menu',1); $this->db->order_by('rank,pagina_default'); $Q=$this->db->get(); //echo $this->db->last_query(); $sez_arr=array(); foreach($Q->result() as $arr): $sez_arr[$arr->sezione][]=$arr; endforeach; return $sez_arr; } ################################################### function get_menu_terzo_livello($lingua,$sezione_id=NULL) { $SQL=" SELECT pg.p_link, pg.p_titolo, pg.p_menu, p.p_menu as p_madre, sigla_lingua, lingua, sezione, sezione_link,pg.pagina_madre FROM pagina as p JOIN pagina as pg ON p.pagina_id=pg.pagina_madre JOIN sezione ON pg.sezione_id=id_sezione JOIN lingua ON pg.lingua_id=ID_lingua "; $SQL.="WHERE 1 "; if(is_numeric($lingua)): $SQL.="AND ID_lingua='".$lingua."' "; else: $SQL.="AND sigla_lingua='".$lingua."' "; endif; if($sezione_id): $SQL.="AND pg.sezione_id = '".$sezione_id."' "; else: $SQL.="AND pg.sezione_id = '0' "; endif; $SQL.="AND pg.flag_pagina_abilita = 1 "; $SQL.="AND pg.is_menu = 0 "; $SQL.="AND pg.pagina_madre != 0 "; $SQL.="ORDER BY rank,p_madre, pg.p_menu"; $Q=$this->db->query($SQL); //echo $SQL; //echo $this->db->last_query(); $sez_arr=array(); foreach($Q->result() as $arr): $sez_arr[$arr->sezione][$arr->p_madre][]=$arr; endforeach; return $sez_arr; } ################################################### function get_menu_pagine_interne($lingua,$sezione_id=NULL) { $this->db->select('p_link,p_titolo,p_menu,sigla_lingua,lingua,sezione,sezione_link'); $this->db->from('sezione'); $this->db->join('pagina','sezione_id=id_sezione'); $this->db->join('lingua','lingua_id=ID_lingua'); if(is_numeric($lingua)) $this->db->where('ID_lingua',$lingua); else $this->db->where('sigla_lingua',$lingua); if($sezione_id) $this->db->where('sezione_id',$sezione_id); $this->db->where('flag_pagina_abilita',1); $this->db->where('is_menu',0); //$this->db->where('pagina_madre = 0'); $this->db->order_by('rank'); $Q=$this->db->get(); $this->db->last_query(); $sez_arr=array(); foreach($Q->result() as $arr): $sez_arr[$arr->sezione][]=$arr; endforeach; return $sez_arr; } ################################################### /* function get_news($limit, $offset = NULL) { $this->db->select('SQL_CALC_FOUND_ROWS titolo, contenuto, date_format(data_news,\'%d/%m/%Y\') as dataita, news_id, ID_news, sigla_lingua, lingua, link',FALSE); $this->db->from('news'); $this->db->join('lingua','id_lingua = lingua_id'); $this->db->where('sigla_lingua','it'); // italiano $this->db->group_by('news_id'); $this->db->order_by('data_news','DESC'); $this->db->limit($limit, $offset); return $this->db->get(); } */ ################################################### function verifica_lingua($sigla_lingua) { $this->db->where('sigla_lingua',$sigla_lingua); $this->db->where('flag_lingua_abilita',1); $L=$this->db->get('lingua'); $N=$L->num_rows(); if($N==0) return FALSE; return $sigla_lingua; } ################################################### function verifica_sezione($sezione_link) { $this->db->where('sezione_link',$sezione_link); $S=$this->db->get('sezione'); $N=$S->num_rows(); if($N==0) return FALSE; return $sezione_link; } ################################################### function verifica_link($p_link) { $this->db->where('p_link',$p_link); $this->db->where('flag_pagina_abilita',1); $S=$this->db->get('pagina'); $N=$S->num_rows(); if($N==0) return FALSE; return $p_link; } ################################################### function get_subfolders($source_dir) { $filedata=array(); if ($fp = opendir($source_dir)) { while (FALSE !== ($file = readdir($fp))) { if ($file == '.' OR $file == '..') { continue; } if (is_dir($source_dir.$file)) { $filedata[]=$file; } } closedir($fp); if(count($filedata)) return $filedata; else return FALSE; } else { return FALSE; } } ################################################### } ?>