Beispiel #1
0
 /**
  * 
  * 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;
 }