Example #1
0
 public static function project($project_ID = NULL, $create = false)
 {
     if (!$project_ID) {
         global $ID;
         $project_ID = getNS($ID);
     }
     if (isset(self::$projects[$project_ID])) {
         return self::$projects[$project_ID];
     }
     $name = noNS($project_ID);
     $project_file = DOKU_DATA . implode('/', explode(':', $project_ID)) . "/{$name}.project";
     if (file_exists($project_file)) {
         $project = unserialize(file_get_contents($project_file));
         if (!method_exists($project, 'version') || $project->version() != PROJECTS_VERSION) {
             $project = new Project($project_ID);
             $project->rebuild();
         }
     } else {
         if ($create) {
             $project = new Project($project_ID);
         } else {
             return NULL;
         }
     }
     self::$projects[$project_ID] = $project;
     return $project;
 }