/** * * Der Konstruktor der Klasse instanziiert die eigentliche Funktionalitüt. Mit dem * Parameter kann man definieren ob die Installations Routinen (false) oder die * eigentlichen Ablauf Routinen (true) gestarten werden sollen. Die eigentliche * Installation wird aber NICHT vom Konstruktor gestartet, sondern muss von der * erweiterten Klasse durchgeführt werden mit $RD->Install(). * * Im Konstruktor wird auch geprüft ob ein "Direct Module Call" gemacht wurde, oder * ein "File Request", letzteres noch vor der Initalisierung der Module, um die * Ladegeschwindigkeit zu optimieren. * * @param Bool $Start */ public function __construct($Start = true) { RDD::Log('Starting RD Constructor', INFO); if (self::$DisableSession) { RDD::Log('ATTENTION: Session is disabled by RD::$DisableSession !!!', WARN); } self::$Self = $this; if (!defined('STAGE')) { trigger_error('no stage defined', E_USER_ERROR); } if ($this->MethodExists('SetupRD')) { $this->SetupRD(); } if ($this->MethodExists('AllRoot')) { $this->AddAllRoot(); } if ($this->MethodExists('AllModules')) { $this->AllModules(); } // Crap => TODO if (!$Start && !isset($this->CacheDir)) { RDD::Log('Going into installation mode and using installation cache dir', TRACE, 1009); $this->useInstallCacheDir(); } $this->SERVER = $_SERVER; if (!isset($this->PHP_SELF)) { $this->PHP_SELF = $this->SERVER['PHP_SELF']; } $this->CheckForFile(); if ($this->CoreCache) { $this->LoadCoreCache(); } $this->Init(); $this->StopInit(); // Checken ab ob ein Modul gerufen wird. if ($Start) { $this->Start(); } else { $this->Save(); } return; }