]> ruin.nu Git - NDIRC.git/blobdiff - Usermgm.pm
Updating for new webbie
[NDIRC.git] / Usermgm.pm
index 63e3187e1531dad9b7b82d5faba1029d07a3181a..445a33a9eae1923895ff874507f3ab031a1acc96 100644 (file)
@@ -141,12 +141,21 @@ sub laston {
                        $min = $2;
                        $min = 0 unless defined $min;
                        $f = $ND::DBH->prepare(qq{SELECT username,last,lastforum
-                               FROM (SELECT uid,username, date_part('day',now() - laston)::int AS last,date_part('day',now() - last_forum_visit)::int AS lastforum, laston FROM users) u NATURAL JOIN groupmembers NATURAL JOIN groups WHERE flag = ? AND (last >= ? OR last IS NULL) ORDER BY laston
+                               FROM (SELECT uid,username, date_part('day',now() - laston)::int AS last
+                                       ,date_part('day',now() - (SELECT max(time) FROM forum_thread_visits WHERE uid = u.uid))::int AS lastforum
+                                       ,laston FROM users u) u
+                                       NATURAL JOIN groupmembers
+                                       NATURAL JOIN groups
+                               WHERE flag = ? AND (last >= ? OR last IS NULL)
+                               ORDER BY laston
                                });
                        $f->execute($flag,$min);
                }elsif(defined $msg && $msg =~ /^(\S+)$/){
                        $f = $ND::DBH->prepare(qq{SELECT username,last,lastforum
-                               FROM (SELECT uid,username, date_part('day',now() - laston)::int AS last,date_part('day',now() - last_forum_visit)::int AS lastforum, laston FROM users) u WHERE username ILIKE ? ORDER BY lower(username)
+                               FROM (SELECT uid,username, date_part('day',now() - laston)::int AS last
+                                       ,date_part('day',now() - (SELECT max(time) FROM forum_thread_visits WHERE uid = u.uid))::int AS lastforum
+                                       , laston FROM users u) u
+                               WHERE username ILIKE ? ORDER BY lower(username)
                                });
                        $f->execute($1);
                }else{