Zaczne samemu, bo bardzo lubię pewne wyrażenie w php, które częśto używałem w pewnym projekcie:
<?php ?>
PS. Tak, temat jest odezwem na ostatnie narzekanie na brak dużych topiców u nas!
<?php ?>
<?php class whatever { protected $cycek=1; public __get($_name) { switch($_name) { case "cycek": $this->cycek_access=1; return $this->cycek; break;; case "dupa": if($this->dupa_access) // żeby nie było, każda klasa może zachować swoją cnote dla kogo chce ;) return $this->dupa; else return DUPA_ERROR; break;; } } } ?>
<?php 60 // GET MAIN MENU 62 /* $sql="SELECT DISTINCT ON (s.index) p.id, t.".LANG." " 63 ."FROM dpg_sections s " 64 ."LEFT JOIN dpg_pages p ON (p.section=s.id) " 65 ."LEFT JOIN dpg_texts t ON (s.name=t.id) " 66 ."ORDER BY s.index, p.index ASC;"; */ // pgsql 67 $sql="SELECT `s`.`id`, `t`.`".LANG."` FROM `dpg_sections` `s` " 68 ."LEFT JOIN `dpg_texts` `t` ON (`s`.`name` = `t`.`id`)"; 69 $res=$ado->GetAll($sql); 70 if(!$res) DPGError("No sections exist!"); 71 foreach($res as $sect) 72 { 73 $sql="SELECT `p`.`id` " 74 ."FROM `dpg_pages` `p` " 75 ."LEFT JOIN `dpg_texts` `t` ON (`p`.`name` = `t`.`id`) " 76 ."WHERE `p`.`section` = {$sect[0]} " 77 ."ORDER BY `p`.`index` ASC"; 78 $id=$ado->GetOne($sql); 79 // if(!$id) DPGError("No pages avaliable in section #{$sect[0]}!"); 81 } 82 $tpl->assign("menu", $menu); ?>