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; }