Move to git-archive for zip support
[gitphp.git] / include / display.git_project_list.php
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
78
79
80
81
82
83
84
85
<?php
/*
 *  display.git_project_list.php
 *  gitphp: A PHP git repository browser
 *  Component: Display - project list
 *
 *  Copyright (C) 2008 Christopher Han <xiphux@gmail.com>
 */
 
 require_once('util.projectcmp.php');
 require_once('util.descrcmp.php');
 require_once('util.ownercmp.php');
 require_once('util.agecmp.php');
 require_once('display.git_project_listentry.php');
 require_once('gitutil.git_read_projects.php');
 
function git_project_list($projectroot,$projectlist,$order = "project")
{
        global $tpl,$git_projects;
        $projects = git_read_projects($projectroot,$projectlist);
        if (is_array($projects)) {
                if (count($projects) > 0) {
                        $tpl->clear_all_assign();
                        if ($order)
                                $tpl->assign("order",$order);
                        $tpl->display("projlist_header.tpl");
                        if (!isset($git_projects)) {
                                switch ($order) {
                                        case "project":
                                                usort($projects,"projectcmp");
                                                break;
                                        case "descr":
                                                usort($projects,"descrcmp");
                                                break;
                                        case "owner":
                                                usort($projects,"ownercmp");
                                                break;
                                        case "age":
                                                usort($projects,"agecmp");
                                                break;
                                }
                        }
                        $alternate = false;
                        foreach ($projects as $cat => $plist) {
                                if (is_array($plist)) {
                                        if ($cat != "none") {
                                                $tpl->clear_all_assign();
                                                $tpl->assign("category",$cat);
                                                $tpl->display("projlist_category.tpl");
                                        }
                                        if (isset($git_projects)) {
                                                switch ($order) {
                                                        case "project":
                                                                usort($plist,"projectcmp");
                                                                break;
                                                        case "descr":
                                                                usort($plist,"descrcmp");
                                                                break;
                                                        case "owner":
                                                                usort($plist,"ownercmp");
                                                                break;
                                                        case "age":
                                                                usort($plist,"agecmp");
                                                                break;
                                                }
                                        }
                                        foreach ($plist as $i => $proj) {
                                                git_project_listentry($projectroot,$proj,($alternate?"dark":"light"),($cat=="none"?FALSE:TRUE));
                                                $alternate = !$alternate;
                                        }
                                } else {
                                        git_project_listentry($projectroot,$plist,($alternate?"dark":"light"),FALSE);
                                        $alternate = !$alternate;
                                }
                        }
                        $tpl->clear_all_assign();
                        $tpl->display("projlist_footer.tpl");
                } else
                        echo "No projects found";
        } else
                echo $projects;
}
 
?>
 
comments