File TODO changed (mode: 100644) (index c462954..d0f5f9b) |
1 |
1 |
== Where I stopped last time == |
== Where I stopped last time == |
|
2 |
|
[ ] Disable auditing on production/vm/r1? |
2 |
3 |
[ ] Rebuild virtual machine with the latest rocketgit version. |
[ ] Rebuild virtual machine with the latest rocketgit version. |
3 |
4 |
[ ] Add "Spread the word!" on website. |
[ ] Add "Spread the word!" on website. |
4 |
|
[ ] |
|
|
5 |
|
[ ] Pe discover am asa: |
|
6 |
|
container |
|
7 |
|
header |
|
8 |
|
slogan |
|
9 |
|
menus |
|
10 |
|
subpage_title |
|
11 |
|
"Discover" |
|
12 |
|
menu menu2 |
|
13 |
|
main_container |
|
14 |
|
footer |
|
15 |
|
|
|
16 |
|
Pe features am asa: |
|
17 |
|
header |
|
18 |
|
slogan |
|
19 |
|
menus |
|
20 |
|
main_container |
|
21 |
|
"Download" |
|
22 |
|
footer |
|
23 |
|
|
|
24 |
|
"Discover" pare mai fain! Eventual, sa nu fie 100% latimea. |
|
25 |
|
Care e diferenta?! |
|
26 |
|
|
|
27 |
|
[ ] Se pare ca la descrierea repositori-urilor, nu apare \n-ul! |
|
28 |
|
|
|
29 |
|
[ ] VirtualBox instalation |
|
30 |
|
- Go to https://www.virtualbox.org/wiki/Downloads, download a proper |
|
31 |
|
executable and install it. |
|
32 |
|
- Download ovf/vmdk |
|
33 |
|
- Start VirtualBox |
|
34 |
|
"New" |
|
35 |
|
Set the name "rocketgit1-fedora21-i386", Type: "Linux", Version: "Fedora (32bit) |
|
36 |
|
256MiB RAM |
|
37 |
|
"Use an existing virtual hard drive file, select vmdk |
|
38 |
|
"Create" |
|
39 |
|
"Settings -> Network -> Adapter 1: Attached to: Host-only Adapter -> OK |
|
40 |
|
"Start" |
|
41 |
|
login, find out the ip address, go to browser and access it |
|
42 |
|
|
5 |
43 |
|
|
6 |
44 |
== BEFORE NEXT RELEASE == |
== BEFORE NEXT RELEASE == |
|
45 |
|
[ ] Is login_ui::homepage used anywhere? |
|
46 |
|
[ ] I have a common part in download-vm.html, deal with it. |
|
47 |
|
[ ] https://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html |
|
48 |
|
[ ] git-name-rev is nice. |
|
49 |
|
[ ] git pack-redundant should be called after git gc? And then prune-packed? |
|
50 |
|
[ ] git-relink for really cloned repos? |
|
51 |
|
[ ] Allow creating tags/branches on web interface. |
|
52 |
|
[ ] For mails, we should not escape vars! |
7 |
53 |
[ ] SPF? mail-ul ajunge in spam! |
[ ] SPF? mail-ul ajunge in spam! |
8 |
54 |
L-am redirectionat prin mail.embedromix.ro, si am pus si SPF-uri. |
L-am redirectionat prin mail.embedromix.ro, si am pus si SPF-uri. |
9 |
55 |
Trebuie sa reverific cu google-ul. |
Trebuie sa reverific cu google-ul. |
File inc/repo.inc.php changed (mode: 100644) (index 1a2c90f..bd792be) |
... |
... |
function rg_repo_admin($db, &$rg, $paras) |
1595 |
1595 |
return $ret; |
return $ret; |
1596 |
1596 |
} |
} |
1597 |
1597 |
|
|
|
1598 |
|
/* |
|
1599 |
|
* HL function for repo search |
|
1600 |
|
*/ |
|
1601 |
|
function rg_repo_search_high_level($db, $rg, $ui, $url) |
|
1602 |
|
{ |
|
1603 |
|
$q = rg_var_str('q'); |
|
1604 |
|
|
|
1605 |
|
$errmsg = array(); |
|
1606 |
|
|
|
1607 |
|
while ($rg['doit'] == 1) { |
|
1608 |
|
$_t = rg_repo_search($db, $ui, $q); |
|
1609 |
|
if ($_t === FALSE) { |
|
1610 |
|
$errmsg[] = rg_repo_error(); |
|
1611 |
|
break; |
|
1612 |
|
} |
|
1613 |
|
|
|
1614 |
|
$ret .= $_t; |
|
1615 |
|
break; |
|
1616 |
|
} |
|
1617 |
|
|
|
1618 |
|
$rg['q'] = $q; |
|
1619 |
|
$rg['HTML:errmsg'] = rg_template_errmsg($errmsg); |
|
1620 |
|
$rg['search::url'] = $url; |
|
1621 |
|
$ret .= rg_template("repo/search.html", $rg); |
|
1622 |
|
|
|
1623 |
|
return $ret; |
|
1624 |
|
} |
|
1625 |
|
|
|
1626 |
|
/* |
|
1627 |
|
* Discover top menu |
|
1628 |
|
*/ |
|
1629 |
|
function rg_repo_discover($db, $op, &$rg, $ui) |
|
1630 |
|
{ |
|
1631 |
|
rg_log("repo_discover: op=$op"); |
|
1632 |
|
|
|
1633 |
|
$ret = ''; |
|
1634 |
|
|
|
1635 |
|
switch ($op) { |
|
1636 |
|
case 'search': |
|
1637 |
|
$ret .= rg_repo_search_high_level($db, $rg, $ui, '/op/discover'); |
|
1638 |
|
break; |
|
1639 |
|
|
|
1640 |
|
default: |
|
1641 |
|
$ret .= rg_repo_list($db, $rg, "", $ui['uid']); |
|
1642 |
|
break; |
|
1643 |
|
} |
|
1644 |
|
|
|
1645 |
|
$rg['menu']['sub1'][$op] = 1; |
|
1646 |
|
$rg['HTML:submenu1'] = rg_template('repo/discover.html', $rg); |
|
1647 |
|
|
|
1648 |
|
return $ret; |
|
1649 |
|
} |
|
1650 |
|
|
1598 |
1651 |
?> |
?> |
File inc/repo/repo.php changed (mode: 100644) (index 73ad594..30f8ca0) |
1 |
1 |
<?php |
<?php |
2 |
2 |
rg_log("FILE: /inc/repo/repo"); |
rg_log("FILE: /inc/repo/repo"); |
3 |
3 |
|
|
4 |
|
// This page is shown when user press main menu "Repositories" |
|
|
4 |
|
// This page is shown when user press main menu "My repositories" |
5 |
5 |
|
|
6 |
6 |
$_repo = ""; |
$_repo = ""; |
7 |
7 |
|
|
8 |
|
$errmsg = array(); |
|
9 |
|
|
|
10 |
8 |
$_subop = empty($paras) ? "list" : array_shift($paras); |
$_subop = empty($paras) ? "list" : array_shift($paras); |
11 |
9 |
switch ($_subop) { |
switch ($_subop) { |
12 |
|
case 'list': |
|
13 |
|
$_repo .= rg_repo_list($db, $rg, "", $rg['login_ui']); |
|
14 |
|
break; |
|
15 |
|
|
|
16 |
10 |
case 'create': |
case 'create': |
17 |
11 |
$rg['form_url'] = "/op/repo/create"; |
$rg['form_url'] = "/op/repo/create"; |
18 |
12 |
$_repo .= rg_repo_edit_high_level($db, $rg); |
$_repo .= rg_repo_edit_high_level($db, $rg); |
19 |
13 |
break; |
break; |
20 |
14 |
|
|
21 |
15 |
case 'search': |
case 'search': |
22 |
|
$q = rg_var_str("q"); |
|
23 |
|
|
|
24 |
|
while ($rg['doit'] == 1) { |
|
25 |
|
$_t = rg_repo_search($db, $rg['login_ui'], $q); |
|
26 |
|
if ($_t === FALSE) { |
|
27 |
|
$errmsg[] = rg_repo_error(); |
|
28 |
|
break; |
|
29 |
|
} |
|
30 |
|
|
|
31 |
|
$_repo .= $_t; |
|
32 |
|
break; |
|
33 |
|
} |
|
|
16 |
|
$_repo .= rg_repo_search_high_level($db, $rg, $rg['login_ui'], |
|
17 |
|
'/op/repo'); |
|
18 |
|
break; |
34 |
19 |
|
|
35 |
|
$rg['q'] = $q; |
|
36 |
|
$rg['HTML:errmsg'] = rg_template_errmsg($errmsg); |
|
37 |
|
$_repo .= rg_template("repo/search.html", $rg); |
|
|
20 |
|
case 'list': |
|
21 |
|
$_repo .= rg_repo_list($db, $rg, "", $rg['login_ui']['uid']); |
38 |
22 |
break; |
break; |
39 |
23 |
} |
} |
40 |
24 |
|
|
File inc/ssh.inc.php changed (mode: 100644) (index 16ee8c1..ba65986) |
... |
... |
function rg_ssh_repos($db, $uid) |
37 |
37 |
while (($row = rg_sql_fetch_array($res))) { |
while (($row = rg_sql_fetch_array($res))) { |
38 |
38 |
echo substr(substr($row['name'], 0, 40) . $pad, 0, 32) |
echo substr(substr($row['name'], 0, 40) . $pad, 0, 32) |
39 |
39 |
. " " . gmdate("Y-m-d", $row['itime']) |
. " " . gmdate("Y-m-d", $row['itime']) |
40 |
|
. " " . rg_1024($row['disk_used_mb']) |
|
|
40 |
|
. " " . rg_1024($row['disk_used_mb'] * 1024 * 1024) |
41 |
41 |
. "\n"; |
. "\n"; |
42 |
42 |
} |
} |
43 |
43 |
} else { |
} else { |
|
... |
... |
function rg_ssh_repo($db, $uid, $paras) |
77 |
77 |
echo " " . $_line . "\n"; |
echo " " . $_line . "\n"; |
78 |
78 |
} |
} |
79 |
79 |
echo "Creation time: " . gmdate("Y-m-d", $ri['itime']) . " UTC\n"; |
echo "Creation time: " . gmdate("Y-m-d", $ri['itime']) . " UTC\n"; |
80 |
|
echo "Disk used: " . rg_1024($ri['disk_used_mb']) . "\n"; |
|
|
80 |
|
echo "Disk used: " . rg_1024($ri['disk_used_mb'] * 1024 * 1024) . "\n"; |
81 |
81 |
|
|
82 |
82 |
if ($ri['master'] > 0) { |
if ($ri['master'] > 0) { |
83 |
83 |
$mri = rg_repo_info($db, $ri['master'], 0, ""); |
$mri = rg_repo_info($db, $ri['master'], 0, ""); |
File root/themes/default/donate.html changed (mode: 100644) (index 487171e..08db6f9) |
1 |
1 |
<div class="islands"> |
<div class="islands"> |
2 |
|
<h2>Donate</h2> |
|
|
2 |
|
<div class="subpage_title">Donate</div> |
3 |
3 |
|
|
4 |
4 |
<div class="island_row"> |
<div class="island_row"> |
5 |
5 |
<div class="island_cell"> |
<div class="island_cell"> |
6 |
6 |
<div class="island"> |
<div class="island"> |
7 |
7 |
<div class="island_title">Donate time</div> |
<div class="island_title">Donate time</div> |
8 |
|
The "cheapest" thing to donate to this project is a part of your time. |
|
|
8 |
|
To contribute to RocketGit you do not need money. You can donate a |
|
9 |
|
part of your time. |
9 |
10 |
You can help by reporting bugs, sending suggestions, come with ideas |
You can help by reporting bugs, sending suggestions, come with ideas |
10 |
11 |
to improve this project or by writing code. |
to improve this project or by writing code. |
11 |
12 |
Thank you! |
Thank you! |
|
16 |
17 |
<div class="island"> |
<div class="island"> |
17 |
18 |
<div class="island_title">Donate money</div> |
<div class="island_title">Donate money</div> |
18 |
19 |
You can use our PayPal account to donate any amount of money you wish. |
You can use our PayPal account to donate any amount of money you wish. |
|
20 |
|
They will be used to improve the infrastructure and the features of |
|
21 |
|
the project. |
19 |
22 |
<br /> |
<br /> |
20 |
23 |
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"> |
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"> |
21 |
24 |
<input type="hidden" name="cmd" value="_s-xclick"> |
<input type="hidden" name="cmd" value="_s-xclick"> |
File root/themes/default/download-vm.html changed (mode: 100644) (index 2e615a2..db57b49) |
1 |
1 |
<div class="islands"> |
<div class="islands"> |
2 |
|
<h2>Download - virtual machines</h2> |
|
|
2 |
|
<div class="subpage_title">Download - virtual machines</div> |
3 |
3 |
|
|
4 |
4 |
<div class="island_row"> |
<div class="island_row"> |
5 |
5 |
<div class="island_cell"> |
<div class="island_cell"> |
|
14 |
14 |
</div> |
</div> |
15 |
15 |
<br /> |
<br /> |
16 |
16 |
|
|
17 |
|
- download qemu image:<br /> |
|
|
17 |
|
- download qemu image (109 MiB):<br /> |
18 |
18 |
<div class="xcode"> |
<div class="xcode"> |
19 |
|
wget -c -O /var/lib/libvirt/images/rocketgit1-master.qcow2 |
|
|
19 |
|
wget -c -O /var/lib/libvirt/images/rocketgit1-master.qcow2.xz |
20 |
20 |
http://downloads.rocketgit.com/vm/rocketgit1.qcow2.xz |
http://downloads.rocketgit.com/vm/rocketgit1.qcow2.xz |
21 |
21 |
</div> |
</div> |
22 |
22 |
<br /> |
<br /> |
|
59 |
59 |
the network definition.<br /> |
the network definition.<br /> |
60 |
60 |
<br /> |
<br /> |
61 |
61 |
|
|
|
62 |
|
- make sure no other virtualization system is running (like VirtualBox)<br /> |
|
63 |
|
<br /> |
|
64 |
|
|
62 |
65 |
- start the virtual machine:<br /> |
- start the virtual machine:<br /> |
63 |
66 |
<div class="xcode"> |
<div class="xcode"> |
64 |
67 |
virsh start rocketgit1 |
virsh start rocketgit1 |
|
77 |
80 |
https and create an admin account.<br /> |
https and create an admin account.<br /> |
78 |
81 |
<br /> |
<br /> |
79 |
82 |
|
|
|
83 |
|
If you want to create a new RocketGit instance, you can create a new |
|
84 |
|
image based on rocketgit1-master: |
|
85 |
|
<div class="xcode"> |
|
86 |
|
cd /var/lib/libvirt/images/<br /> |
|
87 |
|
qemu-img create -f qcow2 -b rocketgit1-master.qcow2 rocketgit2.qcow2<br /> |
|
88 |
|
# edit rocketgit.xml and replace any reference of rocketgit1 to<br /> |
|
89 |
|
# rocketgit2; leave alone the reference to rocketgit1-master.qcow2<br /> |
|
90 |
|
virsh define --file rocketgit.xml<br /> |
|
91 |
|
virsh edit rocketgit2<br /> |
|
92 |
|
virsh autostart rocketgit2<br /> |
|
93 |
|
virsh start rocketgit2<br /> |
|
94 |
|
virsh console rocketgit2<br /> |
|
95 |
|
</div> |
|
96 |
|
<br /> |
|
97 |
|
|
|
98 |
|
Now, please follow the <a href="#common">common section<a/> below to |
|
99 |
|
finish the instalation.<br /> |
|
100 |
|
|
|
101 |
|
</div> |
|
102 |
|
</div> |
|
103 |
|
</div> |
|
104 |
|
|
|
105 |
|
<div class="island_row"> |
|
106 |
|
<div class="island_cell"> |
|
107 |
|
<div class="island"> |
|
108 |
|
<div class="island_title">VMware Player based virtualization</div> |
|
109 |
|
|
|
110 |
|
Steps to follow:<br /> |
|
111 |
|
|
|
112 |
|
- if you do not have a VMware virtualization solution, go to |
|
113 |
|
<a href="http://www.vmware.com/player">VMware site</a> and download |
|
114 |
|
VMware Player. Choose try for free. It is around 75 MiB. And then, |
|
115 |
|
install it.<br /> |
|
116 |
|
<br /> |
|
117 |
|
|
|
118 |
|
- download VMDK image (175 MiB) from |
|
119 |
|
http://downloads.rocketgit.com/vm/rocketgit1.vmdk.zip<br /> |
|
120 |
|
<br /> |
|
121 |
|
|
|
122 |
|
- decompress the image<br /> |
|
123 |
|
<br /> |
|
124 |
|
|
|
125 |
|
- start VMware Player<br /> |
|
126 |
|
<br /> |
|
127 |
|
|
|
128 |
|
- choose "Open a Virtual Machine", select the .vmx file and press |
|
129 |
|
"Open"<br /> |
|
130 |
|
<br /> |
|
131 |
|
|
|
132 |
|
- now, you may want to change some virtual machine parameters. |
|
133 |
|
Pay attention to the network definition.<br /> |
|
134 |
|
<br /> |
|
135 |
|
|
|
136 |
|
- start the virtual machine, using "Play virtual machine". |
|
137 |
|
Choose "I copied it" if asked<br /> |
|
138 |
|
<br /> |
|
139 |
|
|
|
140 |
|
- attach to the console to find out the ip address<br /> |
|
141 |
|
<br /> |
|
142 |
|
|
|
143 |
|
- now, point your browser to the ip address found, using http or |
|
144 |
|
https and create an admin account.<br /> |
|
145 |
|
<br /> |
|
146 |
|
|
80 |
147 |
- finally, you must check the following list because you may want to:<br /> |
- finally, you must check the following list because you may want to:<br /> |
81 |
148 |
* generate new SSL/TLS keys<br /> |
* generate new SSL/TLS keys<br /> |
82 |
149 |
* Add the vm in the update plan (periodic 'yum update')<br /> |
* Add the vm in the update plan (periodic 'yum update')<br /> |
|
91 |
158 |
Enjoy your new RocketGit instance!<br /> |
Enjoy your new RocketGit instance!<br /> |
92 |
159 |
<br /> |
<br /> |
93 |
160 |
|
|
94 |
|
If you want to create a new RocketGit instance, you can create a new |
|
95 |
|
image based on rocketgit1-master: |
|
96 |
|
<div class="xcode"> |
|
97 |
|
cd /var/lib/libvirt/images/<br /> |
|
98 |
|
qemu-img create -f qcow2 -b rocketgit1-master.qcow2 rocketgit2.qcow2<br /> |
|
99 |
|
# edit rocketgit.xml and replace any reference of rocketgit1 to<br /> |
|
100 |
|
# rocketgit2; leave alone the reference to rocketgit1-master.qcow2<br /> |
|
101 |
|
virsh define --file rocketgit.xml<br /> |
|
102 |
|
virsh edit rocketgit2<br /> |
|
103 |
|
virsh autostart rocketgit2<br /> |
|
104 |
|
virsh start rocketgit2<br /> |
|
105 |
|
virsh console rocketgit2<br /> |
|
|
161 |
|
Now, please follow the <a href="#common">common section<a/> below to |
|
162 |
|
finish the instalation.<br /> |
|
163 |
|
|
|
164 |
|
</div> |
106 |
165 |
</div> |
</div> |
|
166 |
|
</div> |
|
167 |
|
|
|
168 |
|
<a id="common"></a> |
|
169 |
|
<div class="island_row"> |
|
170 |
|
<div class="island_cell"> |
|
171 |
|
<div class="island"> |
|
172 |
|
<div class="island_title">Common section for all virtualization solutions</div> |
107 |
173 |
|
|
|
174 |
|
You must check the following list because you may want to:<br /> |
|
175 |
|
* generate new SSL/TLS keys<br /> |
|
176 |
|
* Add the vm in the update plan (periodic 'yum update')<br /> |
|
177 |
|
* edit /etc/sysconfig/clock to set the timezone (needs a restart of |
|
178 |
|
some services or reboot)<br /> |
|
179 |
|
* change root password: run 'passwd' (initial password is 'aaaa')<br /> |
|
180 |
|
* allow this virtual machine to send mail (add it to the relay allow list)<br /> |
|
181 |
|
* set a static IP address instead of DHCP<br /> |
|
182 |
|
* add it to the DNS server to be able to access it by name<br /> |
|
183 |
|
* adjust logrotate times<br /> |
|
184 |
|
* customize /etc/rocketgit/config.php<br /> |
|
185 |
|
Enjoy your new RocketGit instance!<br /> |
108 |
186 |
</div> |
</div> |
109 |
187 |
</div> |
</div> |
110 |
188 |
</div> |
</div> |
File root/themes/default/features.html changed (mode: 100644) (index ffd3922..2462417) |
1 |
1 |
<div class="islands"> |
<div class="islands"> |
2 |
|
<h2>Features</h2> |
|
|
2 |
|
<div class="subpage_title">Features</div> |
3 |
3 |
|
|
4 |
4 |
<div class="island_row"> |
<div class="island_row"> |
5 |
5 |
<div class="island_cell"> |
<div class="island_cell"> |
|
99 |
99 |
<div class="island_title">Powerful rights management</div> |
<div class="island_title">Powerful rights management</div> |
100 |
100 |
You have a lot of possibilities to block access to a repository. |
You have a lot of possibilities to block access to a repository. |
101 |
101 |
You can filter by IPv4/IPv6 addresses (including prefix length), |
You can filter by IPv4/IPv6 addresses (including prefix length), |
102 |
|
by reference path (regex), by path (regex). You can reject commits |
|
|
102 |
|
by reference path (regex) or by path (regex). You can reject commits |
103 |
103 |
based on size, bad whitespace or operation (create/update/delete) of |
based on size, bad whitespace or operation (create/update/delete) of |
104 |
104 |
branches/tags. You can control the non fast-forwards pushes and the |
branches/tags. You can control the non fast-forwards pushes and the |
105 |
105 |
merges. |
merges. |
|
115 |
115 |
</div> |
</div> |
116 |
116 |
</div> |
</div> |
117 |
117 |
|
|
|
118 |
|
<div class="island_row"> |
|
119 |
|
<div class="island_cell"> |
|
120 |
|
<div class="island"> |
|
121 |
|
<div class="island_title">The features you need are not here?</div> |
|
122 |
|
Do not worry! Let us know by leaving us a |
|
123 |
|
<a href="/op/suggestion">suggestion</a> or by writing us an e-mail at |
|
124 |
|
in@rocketgit.com. |
|
125 |
|
</div> |
|
126 |
|
</div> |
|
127 |
|
</div> |
|
128 |
|
|
118 |
129 |
</div> |
</div> |
File root/themes/default/index.html changed (mode: 100644) (index c3f61ac..9c54445) |
16 |
16 |
</div> |
</div> |
17 |
17 |
|
|
18 |
18 |
<div class="user"> |
<div class="user"> |
|
19 |
|
<a href="/op/discover">Discover</a> |
19 |
20 |
<a href="/op/download">Download</a> |
<a href="/op/download">Download</a> |
20 |
21 |
<a href="/op/features">Features</a> |
<a href="/op/features">Features</a> |
21 |
22 |
<a href="/op/pricing">Pricing</a> |
<a href="/op/pricing">Pricing</a> |
22 |
23 |
<a href="/op/tos">ToS</a> |
<a href="/op/tos">ToS</a> |
23 |
24 |
<a href="/op/donate">Donate</a> |
<a href="/op/donate">Donate</a> |
24 |
25 |
@@if(@@login_ui::uid@@ != 0){{ |
@@if(@@login_ui::uid@@ != 0){{ |
25 |
|
<a href="/op/suggestion">Suggestion</a> |
|
26 |
|
<a href="/op/logout?token=@@logout_token@@">Logout</a> |
|
27 |
|
<a href="@@login_ui::homepage@@">@@login_ui::username@@</a> |
|
|
26 |
|
<a href="/op/suggestion">Suggestion</a> |
|
27 |
|
<a href="/op/repo">My repositories</a> |
|
28 |
|
<a href="/op/settings">Settings</a> |
|
29 |
|
@@if(@@login_ui::is_admin@@ == 1){{<a href="/op/admin">Admin</a>}}{{}} |
|
30 |
|
<a href="/op/logout?token=@@logout_token@@">Logout</a> |
28 |
31 |
}}{{ |
}}{{ |
29 |
|
<a href="/op/login">Sign in</a> |
|
|
32 |
|
<a href="/op/login">Sign in</a> |
30 |
33 |
}} |
}} |
31 |
34 |
</div> |
</div> |
32 |
35 |
</div> <!-- header --> |
</div> <!-- header --> |
|
39 |
42 |
|
|
40 |
43 |
<!-- main menu --> |
<!-- main menu --> |
41 |
44 |
<div id="menus"> |
<div id="menus"> |
42 |
|
<div class="menu"> |
|
43 |
|
<ul> |
|
44 |
|
<li@@if(@@menu::repo@@ == 1){{ class="selected"}}{{}}><a href="/op/repo">Repositories</a></li> |
|
45 |
|
@@if(@@login_ui::uid@@ != 0){{<li@@if(@@menu::settings@@ == 1){{ class="selected"}}{{}}><a href="/op/settings">Settings</a></li>}}{{}} |
|
46 |
|
@@if(@@login_ui::is_admin@@ == 1){{<li@@if(@@menu::admin@@ == 1){{ class="selected"}}{{}}><a href="/op/admin">Admin</a></li>}}{{}} |
|
47 |
|
</ul> |
|
48 |
|
</div> |
|
49 |
|
|
|
50 |
45 |
<!-- submenus --> |
<!-- submenus --> |
51 |
46 |
@@submenu1@@ |
@@submenu1@@ |
52 |
47 |
@@submenu2@@ |
@@submenu2@@ |
|
71 |
66 |
Copyright: <a href="http://kernel.embedromix.ro/">Catalin(ux) M. BOIE</a><br /> |
Copyright: <a href="http://kernel.embedromix.ro/">Catalin(ux) M. BOIE</a><br /> |
72 |
67 |
Version: @@rg_version@@<br /> |
Version: @@rg_version@@<br /> |
73 |
68 |
Running since: @@first_install_text@@<br /> |
Running since: @@first_install_text@@<br /> |
74 |
|
<i>Git was created by Linus Torvalds.</i> |
|
|
69 |
|
<i>Git was created by Linus Torvalds.</i><br /> |
|
70 |
|
rocketgit.com site is operated by Embedromix SRL, RO13505234, J08/979/2000, Brasov, Romania. |
75 |
71 |
</div> |
</div> |
76 |
72 |
</div> <!-- footer --> |
</div> <!-- footer --> |
77 |
73 |
|
|