Skip to content
Snippets Groups Projects
projects.php 1.34 KiB
Newer Older
  • Learn to ignore specific revisions
  • <?php
    
    $dirlist = scandir("/var/projects/trac");
    
    $projects = array();
    foreach ($dirlist as $file) {
    	if ($file[0]!=".") {
    		$object=array();
    		$object['filename'] = $file;
    		$ini_array = array();
    
    		$filepath = "/var/projects/trac/".$file."/conf/trac.ini";
    
    		// read trac.ini for this project
    		if (is_readable($filepath) && ($ini_data = file($filepath)) != FALSE) {
    
    			$projectsection = FALSE;
    			foreach ($ini_data as $ini_line) {
    				if (trim($ini_line) == "[project]") {
    					$projectsection = TRUE;		
    				} else if ($projectsection && (1 == preg_match("/^\[.*\]$/", trim($ini_line)))) {
    					$projectsection = FALSE;
    				} else if ($projectsection) { 
    					list($key, $value) = split("=", $ini_line);
    					$ini_array[trim($key)] = trim($value);
    				}
    
    			// only list projects whose trac.ini sets public = true
    			if (isset($ini_array['public']) && ($ini_array['public'] == "true")) {
    
    				$object['name'] = $ini_array['name'];
    				if ($object['name']=="") $object['name'] = $file;
    				
    				$object['descr'] = $ini_array['descr'];
    				
    				$projects[$file]=$object;
    			}
    
    		}
    	}
    }
    
    $smarty->assign("projects", $projects);
    
    
    $output = $smarty->fetch("projects.tpl");
    $smarty->assign("title", "Projects");
    $smarty->assign("body", $output);
    
    $sidebar = file_get_contents("../static/fragments/Projects-secondary.txt");
    $smarty->assign("secondary", $sidebar);
    
    ?>