File inc/user/repo-page.php changed (mode: 100644) (index 5e11581..137f1b7) |
2 |
2 |
rg_log("/inc/user/repo-page"); |
rg_log("/inc/user/repo-page"); |
3 |
3 |
|
|
4 |
4 |
$_repo_page = ""; |
$_repo_page = ""; |
5 |
|
$_repo_page_body = ""; |
|
6 |
5 |
|
|
7 |
6 |
if (rg_user_ok($rr['user']) !== TRUE) { |
if (rg_user_ok($rr['user']) !== TRUE) { |
8 |
7 |
$_repo_page .= "Invalid user!"; |
$_repo_page .= "Invalid user!"; |
|
... |
... |
putenv("GIT_DIR=$repo_dir"); |
49 |
48 |
if (empty($subop)) |
if (empty($subop)) |
50 |
49 |
$subop = "source"; |
$subop = "source"; |
51 |
50 |
|
|
|
51 |
|
$_more['repo_body'] = ""; |
|
52 |
|
$_more['repo_right'] = ""; |
|
53 |
|
|
52 |
54 |
if (strcmp($subop, "admin") == 0) { |
if (strcmp($subop, "admin") == 0) { |
53 |
55 |
if ($can_admin != 1) |
if ($can_admin != 1) |
54 |
56 |
rg_security_violation("User is not admin!"); |
rg_security_violation("User is not admin!"); |
55 |
57 |
|
|
56 |
58 |
include($INC . "/user/repo/admin.php"); |
include($INC . "/user/repo/admin.php"); |
57 |
|
$_repo_page_body .= $_admin; |
|
|
59 |
|
$_repo_body .= $_admin; |
58 |
60 |
} else if (strcmp($subop, "source") == 0) { |
} else if (strcmp($subop, "source") == 0) { |
59 |
61 |
$subop = array_shift($paras); |
$subop = array_shift($paras); |
60 |
62 |
|
|
|
... |
... |
if (strcmp($subop, "admin") == 0) { |
67 |
69 |
rg_log("DEBUG: _more: " . print_r($_more, TRUE)); |
rg_log("DEBUG: _more: " . print_r($_more, TRUE)); |
68 |
70 |
$_more = array_merge($_more, $bt); |
$_more = array_merge($_more, $bt); |
69 |
71 |
|
|
70 |
|
$_repo_page_body .= rg_template("repo/source.html", $_more); |
|
|
72 |
|
$_repo_body .= rg_template("repo/source.html", $_more); |
71 |
73 |
|
|
72 |
74 |
rg_log("DEBUG: subop=[$subop]"); |
rg_log("DEBUG: subop=[$subop]"); |
73 |
75 |
if (strcmp($subop, "tree") == 0) { |
if (strcmp($subop, "tree") == 0) { |
|
... |
... |
if (strcmp($subop, "admin") == 0) { |
80 |
82 |
|
|
81 |
83 |
if (strcmp($type, "tree") == 0) { |
if (strcmp($type, "tree") == 0) { |
82 |
84 |
$_tree = rg_git_ls_tree($ref, implode("/", $paras)); |
$_tree = rg_git_ls_tree($ref, implode("/", $paras)); |
83 |
|
$_repo_page_body .= rg_template_table("repo/tree", $_tree, $_more); |
|
|
85 |
|
$_repo_body .= rg_template_table("repo/tree", $_tree, $_more); |
84 |
86 |
} else if (strcmp($type, "blob") == 0) { |
} else if (strcmp($type, "blob") == 0) { |
85 |
87 |
// TODO: transform path in tree |
// TODO: transform path in tree |
86 |
88 |
/* |
/* |
|
... |
... |
if (strcmp($subop, "admin") == 0) { |
89 |
91 |
"obj" => $obj, |
"obj" => $obj, |
90 |
92 |
"HTML:content" => rg_template_list($c) |
"HTML:content" => rg_template_list($c) |
91 |
93 |
); |
); |
92 |
|
$_repo_page_body .= rg_template("repo/blob.html", |
|
|
94 |
|
$_repo_body .= rg_template("repo/blob.html", |
93 |
95 |
array_merge($blob, $_more)); |
array_merge($blob, $_more)); |
94 |
96 |
*/ |
*/ |
95 |
97 |
} |
} |
|
... |
... |
if (strcmp($subop, "admin") == 0) { |
97 |
99 |
$log = rg_git_log(10, "", $ref, FALSE); |
$log = rg_git_log(10, "", $ref, FALSE); |
98 |
100 |
if ($log === FALSE) { |
if ($log === FALSE) { |
99 |
101 |
rg_log("Error generating log (" . rg_git_error() . ")!"); |
rg_log("Error generating log (" . rg_git_error() . ")!"); |
100 |
|
$_repo_page_body .= "Error generating log!"; |
|
|
102 |
|
$_repo_body .= "Error generating log!"; |
101 |
103 |
// TODO: rg_internal_error? |
// TODO: rg_internal_error? |
102 |
104 |
} else { |
} else { |
103 |
105 |
//rg_log("DEBUG: log: " . print_r($log, TRUE)); |
//rg_log("DEBUG: log: " . print_r($log, TRUE)); |
104 |
|
$_repo_page_body .= rg_git_log_template($log, |
|
|
106 |
|
$_repo_body .= rg_git_log_template($log, |
105 |
107 |
"repo/log", $_more); |
"repo/log", $_more); |
106 |
108 |
} |
} |
107 |
109 |
} |
} |
108 |
|
|
|
|
110 |
|
$_repo_right = rg_template("repo/source_r.html", $_more); |
109 |
111 |
} else if (strcmp($subop, "issues") == 0) { |
} else if (strcmp($subop, "issues") == 0) { |
110 |
|
$_repo_page_body .= rg_template("repo/issues.html", $_more); |
|
|
112 |
|
$_repo_body .= rg_template("repo/issues.html", $_more); |
111 |
113 |
} else if (strcmp($subop, "stats") == 0) { |
} else if (strcmp($subop, "stats") == 0) { |
112 |
|
$_repo_page_body .= rg_template("repo/stats.html", $_more); |
|
|
114 |
|
$_repo_body .= rg_template("repo/stats.html", $_more); |
113 |
115 |
} else if (strcmp($subop, "mrs") == 0) { |
} else if (strcmp($subop, "mrs") == 0) { |
114 |
|
$_repo_page_body .= rg_template("repo/mrs.html", $_more); |
|
|
116 |
|
$_repo_body .= rg_template("repo/mrs.html", $_more); |
115 |
117 |
|
|
116 |
118 |
$r = rg_mr_load($db, $ri['repo_id'], 20); |
$r = rg_mr_load($db, $ri['repo_id'], 20); |
117 |
119 |
if ($r === FALSE) { |
if ($r === FALSE) { |
118 |
|
$_repo_page_body .= "Error getting merge request list (" |
|
|
120 |
|
$_repo_body .= "Error getting merge request list (" |
119 |
121 |
. rg_mr_error() . ")."; |
. rg_mr_error() . ")."; |
120 |
122 |
} else { |
} else { |
121 |
|
$_repo_page_body .= rg_template_table("repo/mr/list", $r, $_more); |
|
|
123 |
|
$_repo_body .= rg_template_table("repo/mr/list", $r, $_more); |
122 |
124 |
} |
} |
123 |
125 |
} else if (strcmp($subop, "mr") == 0) { |
} else if (strcmp($subop, "mr") == 0) { |
124 |
126 |
$mr = preg_replace('/[^0-9a-zA-Z_]/', '', $paras[0]); |
$mr = preg_replace('/[^0-9a-zA-Z_]/', '', $paras[0]); |
125 |
127 |
$r = rg_mr_load_one($db, $ri['repo_id'], $mr); |
$r = rg_mr_load_one($db, $ri['repo_id'], $mr); |
126 |
128 |
if ($r === FALSE) { |
if ($r === FALSE) { |
127 |
|
$_repo_page_body .= "Error getting merge request (" . rg_mr_error() . ")."; |
|
|
129 |
|
$_repo_body .= "Error getting merge request (" . rg_mr_error() . ")."; |
128 |
130 |
} else { |
} else { |
129 |
|
$_repo_page_body .= rg_template("repo/mr/page.html", $r, $_more); |
|
|
131 |
|
$_repo_body .= rg_template("repo/mr/page.html", $r, $_more); |
130 |
132 |
} |
} |
131 |
133 |
} else if (strcmp($subop, "commit") == 0) { |
} else if (strcmp($subop, "commit") == 0) { |
132 |
134 |
$commit = rg_git_reference($paras[0]); |
$commit = rg_git_reference($paras[0]); |
|
... |
... |
if (strcmp($subop, "admin") == 0) { |
146 |
148 |
rg_log("log: " . print_r($log, TRUE)); |
rg_log("log: " . print_r($log, TRUE)); |
147 |
149 |
|
|
148 |
150 |
// stats |
// stats |
149 |
|
$_repo_page_body .= rg_git_files_stats($log[0]['files'], "repo/fstat"); |
|
|
151 |
|
$_repo_body .= rg_git_files_stats($log[0]['files'], "repo/fstat"); |
150 |
152 |
|
|
151 |
153 |
// diff |
// diff |
152 |
154 |
//rg_log("patch: " . print_r($log[0]['patches'], TRUE)); |
//rg_log("patch: " . print_r($log[0]['patches'], TRUE)); |
153 |
|
$_repo_page_body .= rg_git_diff($log[0]['patches'], "repo/diff.html"); |
|
|
155 |
|
$_repo_body .= rg_git_diff($log[0]['patches'], "repo/diff.html"); |
154 |
156 |
} |
} |
155 |
157 |
|
|
156 |
158 |
$ri2 = $ri; |
$ri2 = $ri; |
157 |
159 |
$ri2['default_rights'] = implode(", ", rg_rights_text("repo", $ri['default_rights'])); |
$ri2['default_rights'] = implode(", ", rg_rights_text("repo", $ri['default_rights'])); |
158 |
160 |
$ri2['max_commit_size'] = $ri['max_commit_size'] == 0 ? "unlimited" : rg_1024($ri['max_commit_size']); |
$ri2['max_commit_size'] = $ri['max_commit_size'] == 0 ? "unlimited" : rg_1024($ri['max_commit_size']); |
159 |
161 |
$ri2['max_users'] = $ri['max_users'] == 0 ? "unlimited" : rg_1000($ri['max_users']); |
$ri2['max_users'] = $ri['max_users'] == 0 ? "unlimited" : rg_1000($ri['max_users']); |
160 |
|
$_repo_page_head = rg_template("repo/main.html", array_merge($ri2, $_more)); |
|
161 |
|
|
|
162 |
|
$_repo_page = $_repo_page_head . $_repo_page_body; |
|
163 |
162 |
|
|
|
163 |
|
$_more['HTML:repo_body'] = $_repo_body; |
|
164 |
|
$_more['HTML:repo_right'] = $_repo_right; |
|
165 |
|
$_repo_page = rg_template("repo/main.html", array_merge($ri2, $_more)); |
164 |
166 |
?> |
?> |
File root/themes/default/main.css changed (mode: 100644) (index c584eca..8bcfbd6) |
6 |
6 |
body { |
body { |
7 |
7 |
font-family: sans-serif; |
font-family: sans-serif; |
8 |
8 |
font-size: 10pt; |
font-size: 10pt; |
9 |
|
line-height: 100%; |
|
|
9 |
|
line-height: 105%; |
10 |
10 |
} |
} |
11 |
11 |
|
|
12 |
12 |
table { |
table { |
13 |
13 |
border-collapse: collapse; |
border-collapse: collapse; |
14 |
14 |
border: 1px solid #000; |
border: 1px solid #000; |
15 |
|
background: #eeeeee; |
|
|
15 |
|
background-color: #eeeeee; |
16 |
16 |
color: #000; |
color: #000; |
17 |
17 |
border-spacing: 1px; |
border-spacing: 1px; |
18 |
18 |
padding: 1px; |
padding: 1px; |
|
... |
... |
th, td { |
26 |
26 |
word-wrap: break-word; |
word-wrap: break-word; |
27 |
27 |
} |
} |
28 |
28 |
|
|
29 |
|
#container { |
|
30 |
|
} |
|
31 |
|
|
|
32 |
|
.white_border { |
|
33 |
|
border: 1px solid #eeeeee; |
|
34 |
|
} |
|
35 |
|
|
|
36 |
|
#menus { |
|
37 |
|
padding-left: 110px; |
|
38 |
|
} |
|
39 |
|
|
|
40 |
|
.menu { |
|
41 |
|
padding: 7px; |
|
42 |
|
white-space: nowrap; |
|
43 |
|
} |
|
|
29 |
|
#container { background-color: #eeeeee; } |
44 |
30 |
|
|
45 |
|
.menu ul { |
|
46 |
|
list-style-type: none; |
|
47 |
|
} |
|
|
31 |
|
.white_border { border: 1px solid #eeeeee; } |
48 |
32 |
|
|
49 |
|
.menu ul li { |
|
50 |
|
display: inline; |
|
51 |
|
} |
|
|
33 |
|
#menus {} |
52 |
34 |
|
|
|
35 |
|
.menu { padding: 4px 0px; } |
|
36 |
|
.menu ul { list-style-type: none; } |
|
37 |
|
.menu ul li { display: inline; } |
53 |
38 |
.menu ul li a { |
.menu ul li a { |
54 |
39 |
text-decoration: none; |
text-decoration: none; |
55 |
40 |
color: #666666; |
color: #666666; |
56 |
41 |
font-size: 10pt; |
font-size: 10pt; |
57 |
42 |
padding: 3px 13px; |
padding: 3px 13px; |
58 |
|
background-color: #eeeeee; |
|
59 |
43 |
border: 1px solid #cccccc; |
border: 1px solid #cccccc; |
60 |
44 |
border-radius: 4px 4px 4px 4px; |
border-radius: 4px 4px 4px 4px; |
61 |
45 |
} |
} |
|
46 |
|
.menu ul li a:hover { border: 1px solid #999999; } |
62 |
47 |
|
|
63 |
|
.menu ul li a:hover { |
|
64 |
|
border: 1px solid #999999; |
|
65 |
|
} |
|
66 |
|
|
|
67 |
|
.junk { |
|
68 |
|
} |
|
|
48 |
|
.junk {} |
69 |
49 |
|
|
70 |
|
.branch { padding: 5px; } |
|
71 |
|
.branch ul { list-style-type: none; } |
|
72 |
|
.branch li { display: inline; } |
|
73 |
|
.branch ul li a { |
|
74 |
|
padding: 1px 2px; |
|
|
50 |
|
.branch_or_tag { padding: 5px; } |
|
51 |
|
.branch_or_tag ul { list-style-type: none; } |
|
52 |
|
.branch_or_tag ul li a { |
|
53 |
|
padding: 2px 2px; |
75 |
54 |
text-decoration: none; |
text-decoration: none; |
76 |
55 |
color: black; |
color: black; |
77 |
|
background-color: #a0ffa0; |
|
78 |
|
border: 1px solid black; |
|
79 |
|
border-radius: 4px 4px 4px 4px; |
|
80 |
|
font-size: 9pt; |
|
81 |
|
} |
|
82 |
|
|
|
83 |
|
.tag { padding: 5px; } |
|
84 |
|
.tag ul { list-style-type: none; } |
|
85 |
|
.tag li { display: inline; } |
|
86 |
|
.tag ul li a { |
|
87 |
|
padding: 1px 2px; |
|
88 |
|
text-decoration: none; |
|
89 |
|
color: black; |
|
90 |
|
background-color: #FFFFa0; |
|
91 |
56 |
border: 1px solid black; |
border: 1px solid black; |
92 |
57 |
border-radius: 4px 4px 4px 4px; |
border-radius: 4px 4px 4px 4px; |
93 |
58 |
font-size: 9pt; |
font-size: 9pt; |
|
59 |
|
margin: 2px; |
|
60 |
|
display: block; |
94 |
61 |
} |
} |
|
62 |
|
.branch ul li a { background-color: #a0ffa0; } |
|
63 |
|
.tag ul li a { background-color: #ffffa0; } |
95 |
64 |
|
|
96 |
65 |
#header { |
#header { |
97 |
|
border: 1px solid #eeeeee; |
|
98 |
|
background-color: #eeeeee; |
|
99 |
|
padding: 7px; |
|
100 |
|
height: 55px; |
|
|
66 |
|
padding: 5px; |
101 |
67 |
} |
} |
102 |
68 |
|
|
103 |
69 |
#main { |
#main { |
104 |
70 |
clear: both; |
clear: both; |
105 |
|
border-top: 1px solid #000000; |
|
106 |
|
background-color: #eeeeee; |
|
107 |
|
padding: 10px 5px; |
|
|
71 |
|
border-top: 1px solid #cccccc; |
|
72 |
|
padding: 5px; |
108 |
73 |
} |
} |
109 |
74 |
|
|
110 |
75 |
#footer { |
#footer { |
111 |
|
border-top: 1px solid #000000; |
|
112 |
|
background-color: #eeeeee; |
|
|
76 |
|
clear: both; |
|
77 |
|
border-top: 1px solid #cccccc; |
113 |
78 |
padding: 5px 5px; |
padding: 5px 5px; |
114 |
79 |
} |
} |
115 |
80 |
|
|
|
... |
... |
th, td { |
129 |
94 |
} |
} |
130 |
95 |
|
|
131 |
96 |
#profiling { |
#profiling { |
132 |
|
border-top: 1px solid #000000; |
|
133 |
|
background-color: #eeeeee; |
|
|
97 |
|
clear: both; |
|
98 |
|
border-top: 1px solid #cccccc; |
134 |
99 |
padding: 5px 5px; |
padding: 5px 5px; |
135 |
|
border-bottom: 1px solid #000000; |
|
136 |
|
font-size: 9pt; |
|
|
100 |
|
border-bottom: 1px solid #cccccc; |
|
101 |
|
font-size: 8pt; |
137 |
102 |
} |
} |
138 |
103 |
|
|
139 |
104 |
.error { |
.error { |
|
... |
... |
label { |
168 |
133 |
} |
} |
169 |
134 |
.repo_title a { |
.repo_title a { |
170 |
135 |
text-decoration: none; |
text-decoration: none; |
|
136 |
|
color: #777777; |
171 |
137 |
} |
} |
172 |
138 |
|
|
173 |
139 |
.repo_desc { |
.repo_desc { |
|
... |
... |
label { |
185 |
151 |
line-height: 110%; |
line-height: 110%; |
186 |
152 |
} |
} |
187 |
153 |
|
|
188 |
|
.diff { |
|
|
154 |
|
.diff {} |
|
155 |
|
|
|
156 |
|
.chunk {} |
|
157 |
|
|
|
158 |
|
.numbers { text-align: right; } |
|
159 |
|
|
|
160 |
|
.repo_menu {} |
|
161 |
|
.repo_menu ul li {} |
|
162 |
|
|
|
163 |
|
.repo_body { |
|
164 |
|
float: left; |
|
165 |
|
display: inline; |
|
166 |
|
padding: 5px; |
189 |
167 |
} |
} |
190 |
168 |
|
|
191 |
|
.chunk { |
|
|
169 |
|
.repo_right { |
|
170 |
|
float: right; |
|
171 |
|
display: inline; |
|
172 |
|
padding: 5px; |
|
173 |
|
background-color: #e7e7e7; |
192 |
174 |
} |
} |
193 |
175 |
|
|
194 |
|
.numbers { |
|
195 |
|
text-align: right; |
|
|
176 |
|
.urls { padding: 4px 20px; display: block; float: left; } |
|
177 |
|
.urls ul { list-style-type: none; } |
|
178 |
|
.urls ul li { |
|
179 |
|
padding: 3px 13px; |
|
180 |
|
border: 1px solid #cccccc; |
|
181 |
|
border-radius: 4px 4px 4px 4px; |
|
182 |
|
margin: 2px; |
|
183 |
|
font-size: 9pt; |
|
184 |
|
} |
|
185 |
|
.urls ul li a { |
|
186 |
|
text-decoration: none; |
|
187 |
|
color: #666666; |
196 |
188 |
} |
} |