diff --git a/app/UserRank/AbstractUserRank.php b/app/UserRank/AbstractUserRank.php index f62d413e0..1d056082b 100644 --- a/app/UserRank/AbstractUserRank.php +++ b/app/UserRank/AbstractUserRank.php @@ -43,6 +43,10 @@ public function build(): array { ORDER BY 1 "); $raw = $this->db->collect('bucket'); + if (empty($raw)) { + // This occurs only a fresh installation + $raw = [0]; + } /* We now have a list of at most 100 elements. For a number * of metrics the series will follow a sharp exponential diff --git a/db/migrations/20180104060449_tables.php b/db/migrations/20180104060449_tables.php index 245be932d..01445b5b5 100644 --- a/db/migrations/20180104060449_tables.php +++ b/db/migrations/20180104060449_tables.php @@ -25,12 +25,19 @@ public function down() { public function up() { + // Message to future archeologists: + // If this migration crashes half-way through due running it on a stricter + // database engine, you can move forward by uncommenting the following line + // and then iterating until things work. + // $this->down(); + $this->execute("ALTER DATABASE CHARACTER SET 'utf8';"); $this->execute("ALTER DATABASE COLLATE='utf8_swedish_ci';"); $this->execute(" CREATE FUNCTION `binomial_ci`(p int, n int) RETURNS float DETERMINISTIC -RETURN IF(n = 0,0.0,((p + 1.35336) / n - 1.6452 * SQRT((p * (n-p)) / n + 0.67668) / n) / (1 + 2.7067 / n));"); +RETURN IF(n = 0,0.0,((p + 1.35336) / n - 1.6452 * SQRT((p * (n-p)) / n + 0.67668) / n) / (1 + 2.7067 / n)); +"); $this->table('lastfm_users', [ 'id' => false, @@ -628,7 +635,6 @@ public function up() ]) ->addColumn('Date', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->create(); $this->table('artists_similar', [ @@ -748,7 +754,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['Time'], [ 'name' => 'Time', @@ -775,7 +780,6 @@ public function up() ]) ->addColumn('TimeAdded', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['TimeAdded'], [ 'name' => 'TimeAdded', @@ -860,7 +864,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['UserID'], [ 'name' => 'UserID', @@ -940,7 +943,6 @@ public function up() ]) ->addColumn('AddedTime', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Body', 'text', [ 'null' => true, @@ -1328,7 +1330,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Sequence', 'integer', [ 'null' => false, @@ -1591,7 +1592,6 @@ public function up() ]) ->addColumn('LastAttempt', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Attempts', 'integer', [ 'null' => false, @@ -1600,7 +1600,6 @@ public function up() ]) ->addColumn('BannedUntil', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Bans', 'integer', [ 'null' => false, @@ -1933,7 +1932,6 @@ public function up() ]) ->addColumn('StartTime', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('EndTime', 'datetime', [ 'null' => true, @@ -2085,7 +2083,6 @@ public function up() ]) ->addColumn('TimeAdded', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['TimeAdded'], [ 'name' => 'TimeAdded', @@ -2141,7 +2138,6 @@ public function up() ]) ->addColumn('SentDate', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('SenderID', 'integer', [ 'null' => false, @@ -2693,7 +2689,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Hidden', 'integer', [ 'null' => false, @@ -2768,11 +2763,9 @@ public function up() ]) ->addColumn('ReportedTime', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('LastChangeTime', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('ModComment', 'text', [ 'null' => true, @@ -2981,11 +2974,9 @@ public function up() ]) ->addColumn('Started', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Ended', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('ArtistID', 'integer', [ 'null' => true, @@ -3014,7 +3005,6 @@ public function up() ]) ->addColumn('TimeAdded', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->create(); $this->table('torrents_recommended', [ @@ -3036,7 +3026,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['Time'], [ 'name' => 'Time', @@ -3100,7 +3089,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Message', 'text', [ 'null' => false, @@ -3698,7 +3686,6 @@ public function up() ]) ->addColumn('AddedOn', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['UserID'], [ 'name' => 'UserID', @@ -3900,7 +3887,6 @@ public function up() ]) ->addColumn('LastPostTime', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('AutoLock', 'enum', [ 'null' => true, @@ -3966,7 +3952,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Checked', 'integer', [ 'null' => false, @@ -4042,7 +4027,6 @@ public function up() ]) ->addColumn('Date', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Type', 'enum', [ 'null' => true, @@ -4136,11 +4120,9 @@ public function up() ]) ->addColumn('SentDate', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('ReceivedDate', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('UnRead', 'enum', [ 'null' => false, @@ -4212,7 +4194,6 @@ public function up() ]) ->addColumn('TimeAdded', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['TimeAdded'], [ 'name' => 'TimeAdded', @@ -4259,7 +4240,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Image', 'string', [ 'null' => true, @@ -4338,7 +4318,6 @@ public function up() ]) ->addColumn('AddedOn', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['UserID'], [ 'name' => 'UserID', @@ -4394,7 +4373,6 @@ public function up() ]) ->addColumn('AddedTime', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Body', 'text', [ 'null' => true, @@ -4475,7 +4453,6 @@ public function up() ]) ->addColumn('Featured', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Closed', 'enum', [ 'null' => false, @@ -4732,7 +4709,6 @@ public function up() ]) ->addColumn('TimeFilled', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Visible', 'binary', [ 'null' => false, @@ -4983,7 +4959,6 @@ public function up() ]) ->addColumn('Expires', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Reason', 'string', [ 'null' => false, @@ -5035,7 +5010,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('ThreadID', 'integer', [ 'null' => true, @@ -5142,7 +5116,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Image', 'string', [ 'null' => true, @@ -5255,7 +5228,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['UserID'], [ 'name' => 'UserID', @@ -5566,11 +5538,9 @@ public function up() ]) ->addColumn('ResetExpires', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('JoinDate', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Inviter', 'integer', [ 'null' => true, @@ -5651,7 +5621,6 @@ public function up() ]) ->addColumn('RatioWatchEnds', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('RatioWatchDownload', 'biginteger', [ 'null' => false, @@ -5666,7 +5635,6 @@ public function up() ]) ->addColumn('BanDate', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('BanReason', 'enum', [ 'null' => false, @@ -5839,7 +5807,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('RevisionID', 'integer', [ 'null' => true, @@ -6083,11 +6050,9 @@ public function up() ]) ->addColumn('Started', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Ended', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->create(); $this->table('users_main', [ @@ -6138,11 +6103,9 @@ public function up() ]) ->addColumn('LastLogin', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('LastAccess', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('IP', 'string', [ 'null' => false, @@ -6467,7 +6430,6 @@ public function up() ]) ->addColumn('LastPostTime', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('LastPostAuthorID', 'integer', [ 'null' => false, @@ -6485,7 +6447,6 @@ public function up() ]) ->addColumn('CreatedTime', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['AuthorID'], [ 'name' => 'AuthorID', @@ -6664,7 +6625,6 @@ public function up() ]) ->addColumn('TimeAdded', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['TimeAdded'], [ 'name' => 'TimeAdded', @@ -6987,7 +6947,6 @@ public function up() ]) ->addColumn('last_action', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('FreeTorrent', 'enum', [ 'null' => false, @@ -7003,7 +6962,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Description', 'text', [ 'null' => true, @@ -7025,7 +6983,6 @@ public function up() ]) ->addColumn('LastReseedRequest', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('TranscodedFrom', 'integer', [ 'null' => false, @@ -7354,7 +7311,6 @@ public function up() ]) ->addColumn('TimeAdded', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['TimeAdded'], [ 'name' => 'TimeAdded', @@ -7458,11 +7414,9 @@ public function up() ]) ->addColumn('ResolvedTime', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('ReportedTime', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addColumn('Reason', 'text', [ 'null' => false, @@ -7964,7 +7918,6 @@ public function up() ]) ->addColumn('Time', 'datetime', [ 'null' => false, - 'default' => '0000-00-00 00:00:00', ]) ->addIndex(['UserID'], [ 'name' => 'UserID', @@ -8203,7 +8156,6 @@ public function up() 'site_album_votes' => 1, 'site_edit_wiki' => 1, 'torrents_add_artist' => 1, - 'MaxCollages' => 0 ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8229,7 +8181,6 @@ public function up() 'zip_downloader' => 1, 'torrents_add_artist' => 1, 'edit_unknowns' => 1, - 'MaxCollages' => 0 ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8257,7 +8208,6 @@ public function up() 'forums_polls_create' => 1, 'zip_downloader' => 1, 'torrents_add_artist' => 1, - 'MaxCollages' => 1, ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8290,7 +8240,6 @@ public function up() 'torrents_edit' => 1, 'torrents_add_artist' => 1, 'edit_unknowns' => 1, - 'MaxCollages' => 3, ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8314,7 +8263,6 @@ public function up() 'site_make_bookmarks' => 1, 'forums_polls_create' => 1, 'zip_downloader' => 1, - 'MaxCollages' => 1, ]), 'DisplayStaff' => '0', 'PermittedForums' => '10', @@ -8327,7 +8275,6 @@ public function up() 'Values' => serialize([ 'site_collages_personal' => 1, 'site_advanced_top10' => 1, - 'MaxCollages' => 1, ]), 'DisplayStaff' => '1', 'PermittedForums' => '28', @@ -8339,7 +8286,6 @@ public function up() 'Name' => 'Recruiter', 'Values' => serialize([ 'site_send_unlimited_invites' => 1, - 'MaxCollages' => 0, ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8350,7 +8296,6 @@ public function up() 'Level' => 300, 'Name' => 'Interviewer', 'Values' => serialize([ - 'MaxCollages' => 0 ]), 'DisplayStaff' => '0', 'PermittedForums' => '30', @@ -8361,7 +8306,6 @@ public function up() 'Level' => 310, 'Name' => 'Torrent Celebrity', 'Values' => serialize([ - 'MaxCollages' => 0 ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8385,7 +8329,6 @@ public function up() 'site_make_bookmarks' => 1, 'site_edit_wiki' => 1, 'forums_polls_create' => 1, - 'MaxCollages' => 5, ]), 'DisplayStaff' => '0', 'PermittedForums' => '33', @@ -8398,7 +8341,6 @@ public function up() 'Values' => serialize([ 'site_send_unlimited_invites' => 1, 'forums_polls_create' => 1, - 'MaxCollages' => 5, ]), 'DisplayStaff' => '1', 'PermittedForums' => '', @@ -8409,7 +8351,6 @@ public function up() 'Level' => 340, 'Name' => 'IRC Team', 'Values' => serialize([ - 'MaxCollages' => 0 ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8435,7 +8376,6 @@ public function up() 'users_view_email' => 1, 'users_mod' => 1, 'admin_advanced_user_search' => 1, - 'MaxCollages' => 0, ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8447,7 +8387,6 @@ public function up() 'Name' => 'Alpha Team', 'Values' => serialize([ 'admin_reports' => 1, - 'MaxCollages' => 0, ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8458,7 +8397,6 @@ public function up() 'Level' => 370, 'Name' => 'Bravo Team', 'Values' => serialize([ - 'MaxCollages' => 0 ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8486,8 +8424,6 @@ public function up() 'torrents_delete' => 1, 'torrents_add_artist' => 1, 'edit_unknowns' => 1, - 'torrents_fix_ghosts' => 1, - 'MaxCollages' => 2, ]), 'DisplayStaff' => '0', 'PermittedForums' => '31', @@ -8513,7 +8449,6 @@ public function up() 'site_make_bookmarks' => 1, 'site_edit_wiki' => 1, 'site_can_invite_always' => 1, - 'MaxCollages' => 1, ]), 'DisplayStaff' => '0', 'PermittedForums' => '35', @@ -8546,7 +8481,6 @@ public function up() 'torrents_edit' => 1, 'torrents_add_artist' => 1, 'edit_unknowns' => 1, - 'MaxCollages' => 6, ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8579,7 +8513,6 @@ public function up() 'torrents_edit' => 1, 'torrents_add_artist' => 1, 'edit_unknowns' => 1, - 'MaxCollages' => 5, ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8613,7 +8546,6 @@ public function up() 'torrents_edit' => 1, 'torrents_add_artist' => 1, 'edit_unknowns' => 1, - 'MaxCollages' => 6, ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8647,7 +8579,6 @@ public function up() 'torrents_edit' => 1, 'torrents_add_artist' => 1, 'edit_unknowns' => 1, - 'MaxCollages' => 6, ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8658,7 +8589,6 @@ public function up() 'Level' => 605, 'Name' => 'Legend', 'Values' => serialize([ - 'MaxCollages' => 1 ]), 'DisplayStaff' => '0', 'PermittedForums' => '', @@ -8694,8 +8624,6 @@ public function up() 'zip_downloader' => 1, 'site_proxy_images' => 1, 'site_search_many' => 1, - 'site_forums_double_post' => 1, - 'project_team' => 1, 'site_tag_aliases_read' => 1, 'users_edit_titles' => 1, 'users_edit_avatars' => 1, @@ -8706,9 +8634,7 @@ public function up() 'torrents_delete' => 1, 'torrents_add_artist' => 1, 'edit_unknowns' => 1, - 'torrents_fix_ghosts' => 1, 'admin_reports' => 1, - 'MaxCollages' => 6, ]), 'DisplayStaff' => '1', 'PermittedForums' => '', @@ -8748,8 +8674,6 @@ public function up() 'zip_downloader' => 1, 'site_proxy_images' => 1, 'site_search_many' => 1, - 'site_forums_double_post' => 1, - 'project_team' => 1, 'site_tag_aliases_read' => 1, 'users_edit_titles' => 1, 'users_edit_avatars' => 1, @@ -8777,13 +8701,11 @@ public function up() 'torrents_search_fast' => 1, 'torrents_add_artist' => 1, 'edit_unknowns' => 1, - 'torrents_fix_ghosts' => 1, 'admin_manage_fls' => 1, 'admin_reports' => 1, 'admin_advanced_user_search' => 1, 'admin_clear_cache' => 1, 'admin_whitelist' => 1, - 'MaxCollages' => 6, ]), 'DisplayStaff' => '1', 'PermittedForums' => '', @@ -8814,12 +8736,8 @@ public function up() 'site_view_flow' => 1, 'site_view_full_log' => 1, 'site_view_torrent_snatchlist' => 1, - 'site_recommend_own' => 1, - 'site_manage_recommendations' => 1, 'site_delete_tag' => 1, 'zip_downloader' => 1, - 'site_forums_double_post' => 1, - 'MaxCollages' => 1, ]), 'DisplayStaff' => '1', 'PermittedForums' => '35', @@ -8858,16 +8776,12 @@ public function up() 'site_view_flow' => 1, 'site_view_full_log' => 1, 'site_view_torrent_snatchlist' => 1, - 'site_recommend_own' => 1, - 'site_manage_recommendations' => 1, 'site_delete_tag' => 1, 'site_disable_ip_history' => 1, 'zip_downloader' => 1, 'site_proxy_images' => 1, 'site_search_many' => 1, 'site_collages_recover' => 1, - 'site_forums_double_post' => 1, - 'project_team' => 1, 'site_tag_aliases_read' => 1, 'users_edit_ratio' => 1, 'users_edit_titles' => 1, @@ -8904,7 +8818,6 @@ public function up() 'edit_unknowns' => 1, 'torrents_edit_vanityhouse' => 1, 'artist_edit_vanityhouse' => 1, - 'torrents_fix_ghosts' => 1, 'admin_manage_blog' => 1, 'admin_manage_fls' => 1, 'admin_reports' => 1, @@ -8914,7 +8827,6 @@ public function up() 'admin_clear_cache' => 1, 'admin_whitelist' => 1, 'admin_manage_wiki' => 1, - 'MaxCollages' => 5, ]), 'DisplayStaff' => '1', 'PermittedForums' => '', @@ -8948,12 +8860,9 @@ public function up() 'site_delete_artist' => 1, 'site_moderate_forums' => 1, 'site_admin_forums' => 1, - 'site_forums_double_post' => 1, 'site_view_flow' => 1, 'site_view_full_log' => 1, 'site_view_torrent_snatchlist' => 1, - 'site_recommend_own' => 1, - 'site_manage_recommendations' => 1, 'site_delete_tag' => 1, 'site_disable_ip_history' => 1, 'zip_downloader' => 1, @@ -8997,7 +8906,6 @@ public function up() 'torrents_freeleech' => 1, 'torrents_search_fast' => 1, 'torrents_hide_dnu' => 1, - 'torrents_fix_ghosts' => 1, 'admin_manage_news' => 1, 'admin_manage_blog' => 1, 'admin_manage_polls' => 1, @@ -9021,7 +8929,6 @@ public function up() 'edit_unknowns' => 1, 'forums_polls_create' => 1, 'forums_polls_moderate' => 1, - 'project_team' => 1, 'torrents_edit_vanityhouse' => 1, 'artist_edit_vanityhouse' => 1, 'site_tag_aliases_read' => 1, diff --git a/db/migrations/20180729085427_referral_tracking.php b/db/migrations/20180729085427_referral_tracking.php index 710116fcb..f28204329 100644 --- a/db/migrations/20180729085427_referral_tracking.php +++ b/db/migrations/20180729085427_referral_tracking.php @@ -33,7 +33,7 @@ public function change() { ->addColumn('Username', 'string', ['limit' => 100]) ->addColumn('Site', 'string', ['limit' => 100]) ->addColumn('Created', 'timestamp', ['default' => 'CURRENT_TIMESTAMP']) - ->addColumn('Joined', 'timestamp', ['default' => '0000-00-00 00:00:00']) + ->addColumn('Joined', 'timestamp', ['null' => true]) ->addColumn('IP', 'string', ['limit' => 15]) ->addColumn('InviteKey', 'string', ['limit' => 32]) ->addColumn('Active', 'boolean', ['default' => false]) diff --git a/db/migrations/20181229185143_delete_torrent.php b/db/migrations/20181229185143_delete_torrent.php index 6bf1895fd..2d8d5b96b 100644 --- a/db/migrations/20181229185143_delete_torrent.php +++ b/db/migrations/20181229185143_delete_torrent.php @@ -58,7 +58,7 @@ public function up() { ->addColumn('FreeLeechType', 'enum', ['values' => ['0','1','2','3','4','5','6','7']]) ->addColumn('Time', 'timestamp') ->addColumn('Description', 'text', ['null' => true]) - ->addColumn('LastReseedRequest', 'timestamp') + ->addColumn('LastReseedRequest', 'timestamp', ['null' => true]) ->addColumn('TranscodedFrom', 'integer', ['length' => 10]) ->create(); diff --git a/db/migrations/20190212082403_bonus_point_pool.php b/db/migrations/20190212082403_bonus_point_pool.php index 855829c7f..5999de185 100644 --- a/db/migrations/20190212082403_bonus_point_pool.php +++ b/db/migrations/20190212082403_bonus_point_pool.php @@ -31,8 +31,8 @@ public function up() $this->table('bonus_pool', ['id' => false, 'primary_key' => 'ID']) ->addColumn('ID', 'integer', ['limit' => 6, 'signed' => false, 'identity' => true]) ->addColumn('Name', 'string', ['limit' => 80]) - ->addColumn('SinceDate', 'timestamp') - ->addColumn('UntilDate', 'timestamp') + ->addColumn('SinceDate', 'timestamp', ['default' => 'CURRENT_TIMESTAMP']) + ->addColumn('UntilDate', 'timestamp', ['default' => 'CURRENT_TIMESTAMP']) ->addColumn('Total', 'float', ['default' => 0]) ->create(); diff --git a/db/migrations/20190216130101_payment_reminder.php b/db/migrations/20190216130101_payment_reminder.php index 42ef2b6f7..3bc6185ea 100644 --- a/db/migrations/20190216130101_payment_reminder.php +++ b/db/migrations/20190216130101_payment_reminder.php @@ -31,7 +31,7 @@ public function change() $this->table('payment_reminders', ['id' => false, 'primary_key' => 'ID']) ->addColumn('ID', 'integer', ['limit' => 10, 'signed' => false, 'identity' => true]) ->addColumn('Text', 'string', ['limit' => 100]) - ->addColumn('Expiry', 'timestamp', ['default' => '0000-00-00 00:00:00']) + ->addColumn('Expiry', 'timestamp', ['null' => true]) ->addColumn('Active', 'boolean', ['default' => true]) ->create(); } diff --git a/db/migrations/20200219075508_drop_secret.php b/db/migrations/20200219075508_drop_secret.php index 360fc424f..b2814246f 100644 --- a/db/migrations/20200219075508_drop_secret.php +++ b/db/migrations/20200219075508_drop_secret.php @@ -25,7 +25,7 @@ public function up() ->changeColumn('Info', 'text', ['limit' => 65536, 'default' => '']) ->changeColumn('AdminComment', 'text', ['limit' => 65536, 'default' => '']) ->changeColumn('SiteOptions', 'text', ['limit' => 65536, 'default' => '']) - ->changeColumn('Warned', 'timestamp', ['default' => '0000-00-00 00:00:00']) + ->changeColumn('Warned', 'timestamp', ['null' => true]) ->changeColumn('Avatar', 'string', ['limit' => 255, 'default' => '']) ->changeColumn('SupportFor', 'string', ['limit' => 255, 'default' => '']) // who needs self documenting enum values when you have comments? diff --git a/design/privatefooter.php b/design/privatefooter.php index ef35acb3b..00a8fdf4d 100644 --- a/design/privatefooter.php +++ b/design/privatefooter.php @@ -35,8 +35,9 @@ } $LastActive = false; -if (count($UserSessions) > 1) { - foreach ($UserSessions as $ThisSessionID => $Session) { +$sessions = (new Gazelle\Session($Viewer->id()))->loadSessions(); +if (count($sessions) > 1) { + foreach ($sessions as $ThisSessionID => $Session) { if ($ThisSessionID != $SessionID) { $LastActive = $Session; break; diff --git a/sections/contest/admin.php b/sections/contest/admin.php index 9e147a18a..842bd76cb 100644 --- a/sections/contest/admin.php +++ b/sections/contest/admin.php @@ -19,6 +19,8 @@ $contest = new Gazelle\Contest((int)$_GET['id']); } elseif (!$create) { $contest = $contestMan->currentContest(); +} else { + $contest = null; } View::show_header('contest admin'); diff --git a/sections/random/index.php b/sections/random/index.php index 3da64c3c1..1256a2a6c 100644 --- a/sections/random/index.php +++ b/sections/random/index.php @@ -2,7 +2,7 @@ enforce_login(); -switch ($_REQUEST['action']) { +switch ($_REQUEST['action'] ?? '') { case 'artist': $page = 'artist'; $DB->prepared_query(" diff --git a/sections/tools/data/economic_stats.php b/sections/tools/data/economic_stats.php index ab3ef7b8d..b532b09b1 100644 --- a/sections/tools/data/economic_stats.php +++ b/sections/tools/data/economic_stats.php @@ -34,6 +34,7 @@ $Eco = new \Gazelle\Stats\Economic; $totalEnabled = $Eco->get('totalEnabled'); $totalPeerUsers = $Eco->get('totalPeerUsers'); +$totalTorrents = $Eco->get('totalTorrents'); ?>
@@ -71,16 +72,16 @@
  • Seeder/snatch ratio: get('totalSeeders'), $Eco->get('totalOverallSnatches')) ?>

  • Total users in at least 1 swarm:
  • -
  • Mean seeding per user in at least 1 swarm: get('totalSeeders') / $totalPeerUsers, 2) ?>
  • -
  • Mean leeching per user in at least 1 swarm: get('totalLeechers') / $totalPeerUsers, 2) ?>
  • -
  • Mean snatches per user in at least 1 swarm: get('totalSnatches') / $totalPeerUser, 2) ?>
  • +
  • Mean seeding per user in at least 1 swarm: get('totalSeeders') / $totalPeerUsers : 0, 2) ?>
  • +
  • Mean leeching per user in at least 1 swarm: get('totalLeechers') / $totalPeerUsers : 0, 2) ?>
  • +
  • Mean snatches per user in at least 1 swarm: get('totalSnatches') / $totalPeerUsers : 0, 2) ?>