langcontrol=new langcontrol($config['langcontrolcfg'], "lang"); $this->langcontrol->process(); // warning!!! mangles post and file data!! you can't switch language and post data at the same time // --------------------- DATABASE INIT -------------------------------- $this->DB = &ADONewConnection("mysql"); foreach ( array("prod", "dev") as $servernature) { $dbaccount=$config['servers'][$servernature]['db']; $rv=$this->DB->Connect($dbaccount['Hostname'],$dbaccount['Username'],$dbaccount['Password'],$dbaccount['Name']); if ($rv) break; //we found the valid account } if (!$rv) { echo "db connection error"; echo $this->DB->ErrorMsg(); exit;} $this->DB->SetFetchMode(ADODB_FETCH_ASSOC); $this->DB->Execute("SET NAMES 'latin1'"); //patch: force the return values to latin1 codepage when db forces utf on latin1 data //$this->DB->Execute("SET NAMES 'utf-8'"); //patch: force the return values to latin1 codepage when db forces utf on latin1 data // ----------------------------------------------------- $User = new User($this->DB); $this->currPageName=basename($_GET['page']); $this->currPageHref=getPageHref($this->currPageName); $tableManager=$this->instantiateModelFromName("langpagemodel"); $tableManager->set(array('key'=>$this->currPageName)); //$tableManager->debug=true; $tableManager->fetchPageData(array("table"=>"pagesfrontstructure")); // echo "mark1"; if ($tableManager->lastFetchOk) { // echo "mark2"; $tableManager->fetchPageData(array("table"=>"pagesfrontdata")); // if ($tableManager->lastFetchOk) { // echo "mark3"; // } } else {// insert error tracking code here? $tableManager->clean(); $tableManager->fetchPageData(array("table"=>"pagesbo")); } // print_a($tableManager->fieldsArray); $contentClass=$tableManager->fieldsArray["contentClass"]; if (empty($contentClass)) { $contentClass=$this->currPageName; } //emergency, when an entry is not found in the db require_once ($contentClass.".php"); //load the class file $Environment['tableManager']=&$tableManager; $Environment['User']=&$User; $Environment['config']=&$config; $Environment['currPageName']=&$this->currPageName; $Environment['currPageHref']=&$this->currPageHref; $Environment['lang']=$this->langcontrol->getcurrentvalue(); $Environment['langcontrol']=&$this->langcontrol; $Environment['strings']['nomecliente']=$config['nomecliente']; $page=$this->instantiateObjectFromName($contentClass, &$Environment); $page->dispatch(); } } $index=new index(); $index->render(); ?>