File TODO changed (mode: 100644) (index 72ffd6e..a123594) |
12 |
12 |
proiectului, e nevoie. Dar intr-un form, in textarea, nu e nevoie. |
proiectului, e nevoie. Dar intr-un form, in textarea, nu e nevoie. |
13 |
13 |
Apoi as putea elimina description_nice. |
Apoi as putea elimina description_nice. |
14 |
14 |
[ ] Security: Link-uri + xss (Ionut) |
[ ] Security: Link-uri + xss (Ionut) |
15 |
|
[ ] "UPDATE users SET last_seen" must be done only on logout? |
|
16 |
|
What if the session expires?! |
|
17 |
|
Bun, no way at every page accessed. |
|
18 |
|
Maybe only at login/logout? |
|
19 |
|
[ ] Spell check html files? |
|
20 |
15 |
[ ] |
[ ] |
21 |
16 |
|
|
22 |
17 |
== BEFORE NEXT RELEASE == |
== BEFORE NEXT RELEASE == |
|
18 |
|
[ ] Make the blob show nicer and remove rg_template_list (replace |
|
19 |
|
it with rg_template*). |
|
20 |
|
[ ] If there are a lot of tags/branches, remove oldest ones. |
23 |
21 |
[ ] Add a "Stats" menu per repo: at least disk size. |
[ ] Add a "Stats" menu per repo: at least disk size. |
24 |
22 |
[ ] Seems we are stuck processing events in events.php daemon because we are |
[ ] Seems we are stuck processing events in events.php daemon because we are |
25 |
23 |
stuck in 'accept'. We should keep processing the events queue. |
stuck in 'accept'. We should keep processing the events queue. |
File inc/dispatch/dispatch.php changed (mode: 100644) (index 67e71cf..fafacb2) |
... |
... |
case 'logout': |
16 |
16 |
if (!rg_token_valid($db, $rg, TRUE)) |
if (!rg_token_valid($db, $rg, TRUE)) |
17 |
17 |
break; |
break; |
18 |
18 |
|
|
|
19 |
|
rg_user_set_last_seen($db, $rg['login_ui']['uid']); |
|
20 |
|
|
19 |
21 |
if (rg_sess_destroy($db, $rg['sid'], $rg['login_ui'])) { |
if (rg_sess_destroy($db, $rg['sid'], $rg['login_ui'])) { |
20 |
22 |
$body .= rg_template("user/logout.html", $rg); |
$body .= rg_template("user/logout.html", $rg); |
21 |
23 |
} else { |
} else { |
File inc/repo.inc.php changed (mode: 100644) (index 45347f1..5078366) |
... |
... |
function rg_repo_history_load($db, $repo_id, $category, $number, $max_seconds) |
521 |
521 |
while (($row = rg_sql_fetch_array($res))) { |
while (($row = rg_sql_fetch_array($res))) { |
522 |
522 |
$row['username'] = 'n/a'; |
$row['username'] = 'n/a'; |
523 |
523 |
if ($row['uid'] > 0) { |
if ($row['uid'] > 0) { |
524 |
|
$ui = rg_user_info($db, '', $row['uid'], ''); |
|
|
524 |
|
$ui = rg_user_info($db, $row['uid'], '', ''); |
525 |
525 |
if ($ui['exists'] == 1) |
if ($ui['exists'] == 1) |
526 |
526 |
$row['username'] = $ui['username']; |
$row['username'] = $ui['username']; |
527 |
527 |
} |
} |
|
... |
... |
function rg_repo_edit($db, $login_ui, &$new) |
909 |
909 |
|
|
910 |
910 |
if ($new['repo_id'] == 0) { |
if ($new['repo_id'] == 0) { |
911 |
911 |
$new['deleted'] = 0; |
$new['deleted'] = 0; |
|
912 |
|
$new['disk_used_mb'] = 0; |
|
913 |
|
$new['git_dir_done'] = 0; |
|
914 |
|
|
912 |
915 |
$sql = "INSERT INTO repos (uid, master, name" |
$sql = "INSERT INTO repos (uid, master, name" |
913 |
916 |
. ", itime, max_commit_size, description" |
. ", itime, max_commit_size, description" |
914 |
917 |
. ", git_dir_done, public)" |
. ", git_dir_done, public)" |
File inc/user.inc.php changed (mode: 100644) (index cd3fcc2..b001456) |
... |
... |
function rg_user_info($db, $uid, $user, $email) |
646 |
646 |
return $ret; |
return $ret; |
647 |
647 |
} |
} |
648 |
648 |
|
|
|
649 |
|
/* |
|
650 |
|
* Update last_seen field |
|
651 |
|
*/ |
|
652 |
|
function rg_user_set_last_seen($db, $uid) |
|
653 |
|
{ |
|
654 |
|
rg_log_enter("user_set_last_seen: uid=$uid"); |
|
655 |
|
|
|
656 |
|
$ret = FALSE; |
|
657 |
|
while (1) { |
|
658 |
|
$now = time(); |
|
659 |
|
|
|
660 |
|
$IP = $_SERVER['REMOTE_ADDR']; |
|
661 |
|
|
|
662 |
|
$params = array("last_seen" => $now, |
|
663 |
|
"last_ip" => $IP, |
|
664 |
|
"uid" => $uid); |
|
665 |
|
$sql = "UPDATE users SET last_seen = @@last_seen@@" |
|
666 |
|
. ", last_ip = @@last_ip@@" |
|
667 |
|
. " WHERE uid = @@uid@@"; |
|
668 |
|
$res = rg_sql_query_params($db, $sql, $params); |
|
669 |
|
if ($res === FALSE) { |
|
670 |
|
rg_user_set_error("cannot update last seen (" . rg_sql_error() . ")"); |
|
671 |
|
break; |
|
672 |
|
} |
|
673 |
|
rg_sql_free_result($res); |
|
674 |
|
|
|
675 |
|
rg_cache_merge("user::" . $uid, $params); |
|
676 |
|
|
|
677 |
|
$ret = TRUE; |
|
678 |
|
break; |
|
679 |
|
} |
|
680 |
|
|
|
681 |
|
rg_log_exit(); |
|
682 |
|
return $ret; |
|
683 |
|
} |
|
684 |
|
|
649 |
685 |
/* |
/* |
650 |
686 |
* Loads ui based on sid, if possible |
* Loads ui based on sid, if possible |
651 |
687 |
*/ |
*/ |
|
... |
... |
function rg_user_login_by_sid($db, &$rg) |
686 |
722 |
|
|
687 |
723 |
rg_sess_update($db, $sess); |
rg_sess_update($db, $sess); |
688 |
724 |
|
|
689 |
|
rg_user_set_last_seen($db, $rg['login_ui']['uid']); |
|
690 |
|
|
|
691 |
725 |
$ret = TRUE; |
$ret = TRUE; |
692 |
726 |
break; |
break; |
693 |
727 |
} |
} |
|
... |
... |
function rg_user_make_admin($db, $rg, $uid, $op) |
920 |
954 |
return $ret; |
return $ret; |
921 |
955 |
} |
} |
922 |
956 |
|
|
923 |
|
/* |
|
924 |
|
* Update last_seen field |
|
925 |
|
*/ |
|
926 |
|
function rg_user_set_last_seen($db, $uid) |
|
927 |
|
{ |
|
928 |
|
rg_log_enter("user_set_last_seen: uid=$uid"); |
|
929 |
|
|
|
930 |
|
$ret = FALSE; |
|
931 |
|
while (1) { |
|
932 |
|
$now = time(); |
|
933 |
|
|
|
934 |
|
$IP = $_SERVER['REMOTE_ADDR']; |
|
935 |
|
|
|
936 |
|
$params = array("last_seen" => $now, |
|
937 |
|
"last_ip" => $IP, |
|
938 |
|
"uid" => $uid); |
|
939 |
|
$sql = "UPDATE users SET last_seen = @@last_seen@@" |
|
940 |
|
. ", last_ip = @@last_ip@@" |
|
941 |
|
. " WHERE uid = @@uid@@"; |
|
942 |
|
$res = rg_sql_query_params($db, $sql, $params); |
|
943 |
|
if ($res === FALSE) { |
|
944 |
|
rg_user_set_error("cannot update last seen (" . rg_sql_error() . ")"); |
|
945 |
|
break; |
|
946 |
|
} |
|
947 |
|
rg_sql_free_result($res); |
|
948 |
|
|
|
949 |
|
rg_cache_merge("user::" . $uid, $params); |
|
950 |
|
|
|
951 |
|
$ret = TRUE; |
|
952 |
|
break; |
|
953 |
|
} |
|
954 |
|
|
|
955 |
|
rg_log_exit(); |
|
956 |
|
return $ret; |
|
957 |
|
} |
|
958 |
|
|
|
959 |
957 |
/* |
/* |
960 |
958 |
* List users |
* List users |
961 |
959 |
* TODO: switch to templates. |
* TODO: switch to templates. |
File inc/user/repo-page.php changed (mode: 100644) (index 712a31e..7248de2) |
... |
... |
if (strcmp($_subop, "history") == 0) { |
117 |
117 |
$blob = $_tree[0]; |
$blob = $_tree[0]; |
118 |
118 |
$_hash = $_tree[0]['ref']; |
$_hash = $_tree[0]['ref']; |
119 |
119 |
$c = rg_git_content($_hash); |
$c = rg_git_content($_hash); |
|
120 |
|
// TODO: error code check |
120 |
121 |
$_content = array( |
$_content = array( |
121 |
122 |
"hash" => $_hash, |
"hash" => $_hash, |
122 |
123 |
"HTML:content" => rg_template_list($c) |
"HTML:content" => rg_template_list($c) |