1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | <?php /** * GitPHP ProjectListArrayLegacy * * Lists all projects in a multidimensional array * Legacy array format * * @author Christopher Han <xiphux@gmail.com> * @copyright Copyright (c) 2010 Christopher Han * @package GitPHP * @subpackage Git */ require_once(GITPHP_GITOBJECTDIR . 'ProjectListBase.class.php'); require_once(GITPHP_GITOBJECTDIR . 'Project.class.php'); define('GITPHP_NO_CATEGORY', 'none'); /** * ProjectListArrayLegacy class * * @package GitPHP * @subpackage Git */ class GitPHP_ProjectListArrayLegacy extends GitPHP_ProjectListBase { /** * __construct * * constructor * * @param mixed $projectArray array to read * @throws Exception if parameter is not an array * @access public */ public function __construct($projectArray) { if (!is_array($projectArray)) { throw new Exception('An array of projects is required.'); } $this->projectConfig = $projectArray; parent::__construct(); } /** * PopulateProjects * * Populates the internal list of projects * * @access protected * @throws Exception if file cannot be read */ protected function PopulateProjects() { $projectRoot = GitPHP_Util::AddSlash(GitPHP_Config::GetInstance()->GetValue('projectroot')); foreach ($this->projectConfig as $cat => $plist) { if (is_array($plist)) { foreach ($plist as $pname => $ppath) { try { $projObj = new GitPHP_Project($projectRoot, $ppath); if ($cat != GITPHP_NO_CATEGORY) $projObj->SetCategory($cat); $this->projects[$ppath] = $projObj; } catch (Exception $e) { GitPHP_Log::GetInstance()->Log($e->message); } } } } } } |