From 2cdb64dc74e2a90ed517d3ede6b85caa42412c25 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:08:16 +0000 Subject: [PATCH 01/29] README updates to prevent merge into master This marks the first commit of the pgdp.net-specific production hacks. Update the README to indicate that this branch should not be merged into master. --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 8ac2abc621..51d6d5e6aa 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,11 @@ _Preserving history, one page at a time._ This repository contains the code that powers https://www.pgdp.net and other sister DP sites world-wide. +**This branch should not be merged into master.** + +This branch is for pgdp.net-specific production hacks and should not be merged +into master. + ## About Distributed Proofreaders is a web application (written in PHP and backed by a From c5cbced33ffb228948a99672eb7725f3798c5e15 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:17:04 +0000 Subject: [PATCH 02/29] R* round hacks --- pinc/graph_data.inc | 14 +++++++++++++- pinc/page_tally.inc | 1 + stats/includes/member.inc | 15 +++++++++++---- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/pinc/graph_data.inc b/pinc/graph_data.inc index 493a001fe6..2ca7064446 100644 --- a/pinc/graph_data.inc +++ b/pinc/graph_data.inc @@ -579,7 +579,9 @@ function total_pages_by_month_graph(string $tally_name): array /////////////////////////////////////////////////// //Total pages by month since beginning of stats - $data = get_site_tally_grouped($tally_name, 'year_month'); + $min_timestamp = $tally_name == 'R*' ? 1110960000 : null; + + $data = get_site_tally_grouped($tally_name, 'year_month', $min_timestamp); $datax = array_column($data, 0); $datay1 = array_column($data, 1); $datay2 = array_column($data, 2); @@ -671,6 +673,16 @@ function pages_daily(string $tally_name, string $c_or_i, string $timeframe): arr throw new UnexpectedValueException("bad 'cori' value: '$c_or_i'"); } + if ($tally_name == 'R*' and $timeframe == 'all_time') { + if ($c_or_i == 'increments') { + $start_timestamp = 1110960000; + } else { + $start_timestamp = 1110960000 - 10; + } + $end_timestamp = mktime(0, 0, 0, 6, 8, 2005); + $title_timeframe = _('since we started keeping track'); + } + $days_to_average = 21; [$datax, $pages, $goal, $moving_average] = get_site_tally_cumulative_or_incremental( diff --git a/pinc/page_tally.inc b/pinc/page_tally.inc index 346ef4730c..81ea684f0e 100644 --- a/pinc/page_tally.inc +++ b/pinc/page_tally.inc @@ -21,6 +21,7 @@ include_once($relPath.'User.inc'); function get_page_tally_names(): array { $page_tally_names = []; + $page_tally_names['R*'] = _('Pages saved-as-done in old rounds R1+R2'); foreach (Rounds::get_all() as $round) { $page_tally_names[$round->id] = sprintf(_('Pages saved-as-done in round %s'), $round->id); diff --git a/stats/includes/member.inc b/stats/includes/member.inc index 5bc55c37ea..cdc3ef17ba 100644 --- a/stats/includes/member.inc +++ b/stats/includes/member.inc @@ -407,17 +407,24 @@ function showMbrTallySelector(int $u_id, ?string $tally_name): void function showMbrPageStats(User $user, string $tally_name): void { - global $ELR_round; - $users_tallyboard = new TallyBoard($tally_name, 'U'); $vitals = $users_tallyboard->get_vitals($user->u_id); $now = time(); - // If this is the entry-level round, use the user creation date - if ($tally_name == $ELR_round->id) { + // There are two special cases needed here: + // Firstly, the R* tally should span the time period from date_created to the site R* apocalypse + // Secondly, the P1 tally should start from the site P genesis, or date_created, whichever is later. + + $site_R_apocalypse = 1117576800; + $site_P_genesis = 1117720800; + + if ($tally_name == "R*") { $firstWorkInRound = $user->date_created; + $daysInRoundInteger = floor(($site_R_apocalypse - $firstWorkInRound) / 86400); + } elseif ($tally_name == "P1") { + $firstWorkInRound = ($user->date_created > $site_P_genesis) ? $user->date_created : $site_P_genesis; $daysInRoundInteger = floor(($now - $firstWorkInRound) / 86400); } else { $firstWorkInRound = get_first_granted_date($user->username, $tally_name); From ecfaaf9f16b2b530c575ae6d70540a554906d60d Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:17:54 +0000 Subject: [PATCH 03/29] Add warning about dpscans not backed up --- tools/project_manager/remote_file_manager.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/project_manager/remote_file_manager.php b/tools/project_manager/remote_file_manager.php index a74886d58e..1e5ebd8e8d 100644 --- a/tools/project_manager/remote_file_manager.php +++ b/tools/project_manager/remote_file_manager.php @@ -227,6 +227,7 @@ function do_showdir(string $action_message): void } echo "

" . _("This page allows you to manage content in this uploads folder.") . "

\n"; + echo "

" . _("The ~/dpscans directory is not backed up so please keep a local copy on your computer until they are no longer needed. And please remove files when they're no longer required.") . "

"; if (get_access_mode($pguser) == 'common') { show_message('info', _("Your files are located in a common, shared, area.
Please take care to avoid affecting other users' files.")); From 974be8a6127ee54e1a0409592a710c95d61aad57 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 11 Apr 2023 00:45:27 +0000 Subject: [PATCH 04/29] Disable requested_books.php And quell (correct) PHPStan warning (#1087) --- stats/requested_books.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/stats/requested_books.php b/stats/requested_books.php index 77985118fa..838c0ad3f3 100644 --- a/stats/requested_books.php +++ b/stats/requested_books.php @@ -12,7 +12,10 @@ echo "

$title

\n"; echo "

" . _("You can sign up for notifications in the Event Subscriptions section of the Project Comments page when proofreading.") . "

"; -echo "

" . _("Most Requested Books Being Proofread") . "

\n"; +echo "

This page has been temporarily disabled due to its high load on the system. We're working to fix this.

"; +exit; + +echo "

" . _("Most Requested Books Being Proofread") . "

\n"; /** @phpstan-ignore-line The exit statement above makes this dead code */ create_temporary_project_event_subscription_summary_table(); From 04d1cf7273fdaefb9d9337c43da9c8060b156d9f Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:21:30 +0000 Subject: [PATCH 05/29] Add redirects for old Page Browser pages --- tools/display_image.php | 24 ++++++++++++++++++++++++ tools/mentors/view_page_text_image.php | 24 ++++++++++++++++++++++++ tools/project_manager/displayimage.php | 24 ++++++++++++++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 tools/display_image.php create mode 100644 tools/mentors/view_page_text_image.php create mode 100644 tools/project_manager/displayimage.php diff --git a/tools/display_image.php b/tools/display_image.php new file mode 100644 index 0000000000..be83cc4c56 --- /dev/null +++ b/tools/display_image.php @@ -0,0 +1,24 @@ +$title"; + +echo "

This page has moved. Please update your bookmarks.

"; + +echo "

The following link will get you to the new location with whatever parameters you passed in.

"; +$url = "$code_url/tools/page_browser.php?simpleHeader=true&mode=image&project=$projectid&imagefile=$imagefile"; +echo "

$url

"; diff --git a/tools/mentors/view_page_text_image.php b/tools/mentors/view_page_text_image.php new file mode 100644 index 0000000000..152353c819 --- /dev/null +++ b/tools/mentors/view_page_text_image.php @@ -0,0 +1,24 @@ +$title"; + +echo "

This page has moved. Please update your bookmarks.

"; + +echo "

The following link will get you to the new location with whatever parameters you passed in.

"; +$url = "$code_url/tools/page_browser.php?mode=imageText&project=$projectid&imagefile=$imagefile"; +echo "

$url

"; diff --git a/tools/project_manager/displayimage.php b/tools/project_manager/displayimage.php new file mode 100644 index 0000000000..3ec84492a8 --- /dev/null +++ b/tools/project_manager/displayimage.php @@ -0,0 +1,24 @@ +$title"; + +echo "

This page has moved. Please update your bookmarks.

"; + +echo "

The following link will get you to the new location with whatever parameters you passed in.

"; +$url = "$code_url/tools/page_browser.php?mode=image&project=$projectid&imagefile=$imagefile"; +echo "

$url

"; From ff771bb35a9cb279ec5a81fa05fbff1dddd4ace6 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:11:50 +0000 Subject: [PATCH 06/29] Add noncvs links --- pinc/ProjectSearchResults.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pinc/ProjectSearchResults.inc b/pinc/ProjectSearchResults.inc index 8c7517f500..45df744949 100644 --- a/pinc/ProjectSearchResults.inc +++ b/pinc/ProjectSearchResults.inc @@ -341,6 +341,9 @@ class OptionsColumn extends Column $actions[] = "" . _("Edit Word Lists") . ""; } + $actions[] = "" . _("Email db-req") . ""; + $actions[] = "" . _("Email dp-format") . ""; + // Should we show an "attention" icon? // Currently, we only do this if suggestions have been added since // the Good Words file was last modified. From 3cb8242ddd383866ee204b0d85077d583775390b Mon Sep 17 00:00:00 2001 From: srjfoo Date: Thu, 25 Nov 2021 00:29:08 +0000 Subject: [PATCH 07/29] Import dp_branding into top level directory The dp_branding directory is outside the `/c` directory structure. Add it to the pgdp-production branch as a local hack so that it is available on both PROD and TEST, and can be updated in both places as part of the code deployment process and not have someone have to remember to make sure to update both places when updates are made. --- dp_branding/dp-logo-500px-white.png | Bin 0 -> 23729 bytes dp_branding/dp-logo-500px.png | Bin 0 -> 23040 bytes dp_branding/dp-logo-600px-white.png | Bin 0 -> 29770 bytes dp_branding/dp-logo-600px.png | Bin 0 -> 28973 bytes dp_branding/dp-logo-Amiri_font.svg | 517 +++++++++++++++++ dp_branding/dp-logo-bw-500px.png | Bin 0 -> 10151 bytes dp_branding/dp-logo-bw.svg | 836 +++++++++++++++++++++++++++ dp_branding/dp-logo-dark.svg | 838 +++++++++++++++++++++++++++ dp_branding/dp-logo.png | Bin 0 -> 16909 bytes dp_branding/dp-logo.svg | 840 ++++++++++++++++++++++++++++ dp_branding/dp-mark-120px-white.png | Bin 0 -> 5753 bytes dp_branding/dp-mark-120px.png | Bin 0 -> 5955 bytes dp_branding/dp-mark-32px-white.png | Bin 0 -> 1258 bytes dp_branding/dp-mark-32px.png | Bin 0 -> 1271 bytes dp_branding/dp-mark-400px-white.png | Bin 0 -> 22893 bytes dp_branding/dp-mark-400px.png | Bin 0 -> 23950 bytes dp_branding/dp-mark-64px-white.png | Bin 0 -> 2876 bytes dp_branding/dp-mark-64px.png | Bin 0 -> 2855 bytes dp_branding/dp-mark.svg | 115 ++++ dp_branding/index.php | 235 ++++++++ styles/layout.less | 19 + styles/themes/charcoal.css | 27 + styles/themes/charcoal.less | 10 + styles/themes/classic_grey.css | 19 + styles/themes/project_gutenberg.css | 19 + styles/themes/royal_blues.css | 19 + 26 files changed, 3494 insertions(+) create mode 100644 dp_branding/dp-logo-500px-white.png create mode 100644 dp_branding/dp-logo-500px.png create mode 100644 dp_branding/dp-logo-600px-white.png create mode 100644 dp_branding/dp-logo-600px.png create mode 100644 dp_branding/dp-logo-Amiri_font.svg create mode 100644 dp_branding/dp-logo-bw-500px.png create mode 100644 dp_branding/dp-logo-bw.svg create mode 100644 dp_branding/dp-logo-dark.svg create mode 100644 dp_branding/dp-logo.png create mode 100644 dp_branding/dp-logo.svg create mode 100644 dp_branding/dp-mark-120px-white.png create mode 100644 dp_branding/dp-mark-120px.png create mode 100644 dp_branding/dp-mark-32px-white.png create mode 100644 dp_branding/dp-mark-32px.png create mode 100644 dp_branding/dp-mark-400px-white.png create mode 100644 dp_branding/dp-mark-400px.png create mode 100644 dp_branding/dp-mark-64px-white.png create mode 100644 dp_branding/dp-mark-64px.png create mode 100644 dp_branding/dp-mark.svg create mode 100644 dp_branding/index.php diff --git a/dp_branding/dp-logo-500px-white.png b/dp_branding/dp-logo-500px-white.png new file mode 100644 index 0000000000000000000000000000000000000000..f59e056522ce10fd424c57a1bf012bb703755fde GIT binary patch literal 23729 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 XPP9Va z+&umL!1n!7Y+?G)T^I4(G2VF3_9a^(zBQrl4_WEy>CR#~1b`mmSFNiZ-?ez9+pfJH zO#q^2hV6e#u145txih{3y%?;@oBt-5L2XGv0r&bu&87mLg6BH^?+3I%i$GJ;_vZD- e{@=rM`iNly?H=~xJ#f7^j=YQtwD6_r=l=sNFUy($ literal 0 HcmV?d00001 diff --git a/dp_branding/dp-logo-500px.png b/dp_branding/dp-logo-500px.png new file mode 100644 index 0000000000000000000000000000000000000000..d02f629c2c8641d32444b1335f9c3981091b060d GIT binary patch literal 23040 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 literal 0 HcmV?d00001 diff --git a/dp_branding/dp-logo-600px.png b/dp_branding/dp-logo-600px.png new file mode 100644 index 0000000000000000000000000000000000000000..f6186045aaffb9bf09fb40772a80013e60ff5bf3 GIT binary patch literal 28973 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 literal 0 HcmV?d00001 diff --git a/dp_branding/dp-logo-Amiri_font.svg b/dp_branding/dp-logo-Amiri_font.svg new file mode 100644 index 0000000000..aeeab696b2 --- /dev/null +++ b/dp_branding/dp-logo-Amiri_font.svg @@ -0,0 +1,517 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + Distribute + + d + p + + roofreaders + + Preserving History One Page at a Time. + + diff --git a/dp_branding/dp-logo-bw-500px.png b/dp_branding/dp-logo-bw-500px.png new file mode 100644 index 0000000000000000000000000000000000000000..33a20d69236071c84564a361ac59713c6ca398aa GIT binary patch literal 10151 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 literal 0 HcmV?d00001 diff --git a/dp_branding/dp-logo-bw.svg b/dp_branding/dp-logo-bw.svg new file mode 100644 index 0000000000..a2bb562712 --- /dev/null +++ b/dp_branding/dp-logo-bw.svg @@ -0,0 +1,836 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dp_branding/dp-logo-dark.svg b/dp_branding/dp-logo-dark.svg new file mode 100644 index 0000000000..8bca64a170 --- /dev/null +++ b/dp_branding/dp-logo-dark.svg @@ -0,0 +1,838 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dp_branding/dp-logo.png b/dp_branding/dp-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2ec073f23b48067423e03062acf33b91ac5da424 GIT binary patch literal 16909 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dp_branding/dp-mark-120px-white.png b/dp_branding/dp-mark-120px-white.png new file mode 100644 index 0000000000000000000000000000000000000000..eea9caa50f17943bf95d9950ad7db9788e70fbbc GIT binary patch literal 5753 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 literal 0 HcmV?d00001 diff --git a/dp_branding/dp-mark-120px.png b/dp_branding/dp-mark-120px.png new file mode 100644 index 0000000000000000000000000000000000000000..6c8d30798687c0c63eaebe93301e2de9031ea4e3 GIT binary patch literal 5955 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 literal 0 HcmV?d00001 diff --git a/dp_branding/dp-mark-32px-white.png b/dp_branding/dp-mark-32px-white.png new file mode 100644 index 0000000000000000000000000000000000000000..610d57cb5d6f8f95488bf7e84f1cabbc4063752c GIT binary patch literal 1258 zcmV-v6BcoBw%6XstE>qnOPqYON`*DgMm)q;ozITQYnw^xptzt(naf zIrl|@JC6ha$Mze60LW&PR#sM+yfwn<@&!yP02J1If{0#I0FL7@G&DqOOA7`*0KVF> z?dAahEX%^OEF@LSf?#s@i8-K@;?BbgGmDDWsH88U5kk}eOhY^$0IfBDWmh@>)e>V1 zRU=Ug!j|A>p)Yglu z4T@3{4u|n{7=S{VK%@pBgurne4u&3Lt~Z-&vz3~nQi_>nlOj<7=JUY-)T%&ANivya zPiut!<(pjBgIt+WT)MN$D?K*p`5YG)ULb;pM}+$Y_;zZQ!7ht?%RaZ~OI)8-ym`za zY$(1QTV?!#kJd2MZS(p-6nmS>5sl-xQmHULKF-yV5q?-Yz)gLGvJ!N+3Zg2{OZplk z%lnw-0LiG&(JqUXvf}a|0!8)kGrfYj+#36=EK^GnCW|cq9NBB~>DdHPdo#qQK46+A zsZ7zVLe4BNITl}ae3Fbo4J zCBE-7Iy%b7Kjpbn9suC|VV~Cq+o@D4jE;`-{j~``@m@tE=y2fb`Q30rC zx;TzgrCi?-iA1)5x~_{M>yr^z<~YmnTo0hearsG;XL4@YH@LgxEy8 zok%G+HKl0Su01=BLo61<6!oT|A8R0iG}Ok?d^hXY-wS~fCV5?L?d=hb6WVNY#{g9? z)z_cjs&}uowKaZRXrZzm>5~Wb7LPW4DSfImn?lZS;Q_u zXJ;p=REoB?HVnhqvOf@j#t=BM7KVq1Yiq+WFbv~~)f7kw8qf9>*tY%5^4*X?s(^+v zEdRrM!j1s6)?`)$>B{cfyNLzO#C#dmqPFxwR%q>5Iqdn=)PD-S4@j(|{d+5jp=W&L-;Fk3;Xku#s~A3D0@RN0En zqgCs-?-p*4H^W&JfZQB#SFC$`i|(y%1+c@nPY)g4@eXi2{L5F-;13^uD|FKYP^h8< z2w;X;_wZxm6H1-{g1`Xqd-(i;ODYwMX2eBFLM`XJTIi;C96&ek05a1Dfv`+Q!x`FX zDMQ^Fz8;(yxvR2d5*QUOuNOcG&0lN)1;nD~zPO0AEdb#**JSJZmv3&-N_^!2nr6%? z20-pnS_V8@yXlh`eTz4)2PD$o80c&`=3oBO!iu%8eQo$^nuOcy1CVy=Ib(G2jAi=g zXhL5mbkAy(y)zZO5jV;@0kooNtLip=wz2e)r`94g zx022k84pH+Cw6w1wRb$}ZdkemCwWWR_9+Bj&F$NO5E_6?#SS8!M(fUBy+(P%qk4J$ z(zI)J-ec*HU+SujJ_rE74J-nd8RfI8N*AsxwPOP}14My-(q}*-GnXKJGmd6}QfWQqj2T*XtS2)c2QH`j{&?~8&8PAf%fC$nVKQ(3FKX+~WRIcOuHzg-P-7_A_mgv43UH6n%0Vv1m z5A1s)QfvUFl$2uw;qttaB{Qox?0g2z%W|KQd>l93~J zWbkRDrfCa+jEAn=`Dyn@xu!(|U_1iJe=ifKL_i5K5dzKhCT{Fq-vjh!7V85p14E=M>8@530J3sW_tnOMlUZ^n)9+bPMcD#L zRuUo%(&s>4?}egNLH1fo2-j4M3k47rE4S8_G_;M^zR=CK1@B*Lqf6!GyU;E07_(d3 zq8AVMsNW9#DqNmu$-I>Tb6)$BrjpRr0E|rLppd^-8ZZO!lD?EgrYqn!>AOVU*SZJ* hWA^v*p~y1{{{yX9wji_Iql5qe002ovPDHLkV1hmdM$7;J literal 0 HcmV?d00001 diff --git a/dp_branding/dp-mark-400px-white.png b/dp_branding/dp-mark-400px-white.png new file mode 100644 index 0000000000000000000000000000000000000000..03e94dd734c7e12642083fb2315f60d83a002bc2 GIT binary patch literal 22893 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 literal 0 HcmV?d00001 diff --git a/dp_branding/dp-mark-400px.png b/dp_branding/dp-mark-400px.png new file mode 100644 index 0000000000000000000000000000000000000000..a4ef771c8d49ee8ca51b90fb23884c5552da96db GIT binary patch literal 23950 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 literal 0 HcmV?d00001 diff --git a/dp_branding/dp-mark-64px-white.png b/dp_branding/dp-mark-64px-white.png new file mode 100644 index 0000000000000000000000000000000000000000..90dcb75b4fe0931556309d306270f4c372890c8c GIT binary patch literal 2876 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 a!2bY|Nw6c}XL7Fq0000LPe4QLU<)N zulqh{_rt!|T<$q}k(=RC{m-09a`xV9uk}A`@3Yq0C-50Q!>1Zzv;^1Qw<_Q(yRgAB zyi*0TK_D9tG$7;@srccZACLRPXw5wwn0b~b0JCms)0IYP)fxptx^%LXRh#E|PZ~xZ zWl6vfgjDxopIJRk327R_;~(efsZyK6Z#}ayk8__i+#b+KWCelhu5GJB2cDg`Vc*YY zyr}GCJh!8=R4|Y8jtKcAKmjQr1|$H}j`tL)M9e_|C?BJ^{|pED+yiVN0vt~N9R$iy zmX+I4pz^u&MudEOKoaN$I)NS_sg&&?ppcMH0y3}xD}CA6P7hE>dlcq9DU1dIpuIr> zO1TgqPzB=^qeTE{0&w>Ll^n%+hlP{b1O*@_KiWJ?3iDEgF`;l0KesfV z-OVRn;N}71v?M?RM%~h;D~*zhrx3Y^?-ivi+hx7m zi4kd?M+}t!0|?YTuw{u+TJ;ESOUJgml(IU7;TbDU|J9Y({&X&0?+d6@Dz~e$Pp>85 z0g9_{dFdLXe8QvT1TZQY?dtr;%PZUe^3=Oni7x-R>AhoadHyC(^%-}Cu2_Dz-Fv*< zAyMKI9Gw~rwh0KA;t71`eR3K%;BZi*LJ) zv!ysK;s6g&0#usiwP!e5mDPRpuZ{1ZjZFY?bO_vr&IfwB{>`_M6Vz=p~V^3%CSALi&cQ=xAZE zw}1qs6$y7Z8$|`~uQG)uAq7~5uf$RP5vbCWQ#bz@h=7bCDtWAVzoS(cQ)ql^AXioZ zvUIGYCa9D#W|(@88U`XDSh8{Uy0>zsDB#wJpnPcBRLZR^R;GEk)D6`a~-Haho0Ki25eY{9LYZrPO92tjDZq zWG|*SAcZ{vJZA~X=an!n7DCo*1yi?ww7m9JuKvEKe%8I;5T4*-r11ru-kShcVc5&} zK2)fcAnjfjUfYdCj8LH~1&boRQNvg|h#yQt_h-ajx|E&rNmg+u8Q&!c`?R zZ#}>4lJDI(RE2V3#k=nz(%vFVC;UPf<{2oJ0Hp?am4*fC#*dbde`_f62U~{*IvT74 z8h{$0sPd{6=apRaodwcYQtePU8r~k=`KR9>S$*GjprYvPtIiy|@K;L!R4N{`5Okx_#5U`8o^34)qC_v zWarwQy-jOAMsJ=TpcW~|7hiDm)WpH2?CtrM#i)mZ;CaY)BCjN&m4Z&ZTonwO3H<3Pp@r6QDhC3d1SzK%2*MQOuqAc{T^ z=}G^dM2FD{baqJkULt)Z({cl7Pw->gMI_@1atN?vo!i>iJ-(j4+{1%Twjuy_B4T#G z|J#k_^Y8h3uHw>G3xN?6kRc(JHZqo0#zebtrY%M0Fht+8(#A@%qROm`bh{T#?pP&I zxh`qPde))6Do$T;mPC7>9|(ruexa#+?p@a-jT7uqFn=(^hMSjWAAt4(U1*n%rWLcY zjI+~<#?x)N1Z89;J{hZ=xrMS4Thr~?X?Frm+7TdZN7{Q*U5DCo$09`aq=#BV0~s`u z#9ZNgq9c(5E^>qrAJb=i_Lw;O0dxX!JKEtI1bO_)%7G>?oXP|!lyVSY8~*+Zs1}-p zD3DNA(ouc~h`XK6XQ7Y?Kw&!!^?HK?rOp<5nWdz+$UQKMcRI`RStt|&(#yc*L3{ku z1{r4qwk)o4l^MIO_5Jhv-4APSbw zzI}RN$|aZO4ziQ69s5__wwBX`0R1tAa&CeELdZL(Ja*_2R((=UHh^H&4NqTQdCkK= zK}gRD18gf6-MM}V$9BgVgn)d1C^;ZsMc83u1;rjo!-6no=V7*GkEnv3r7R?~{ zu+~mSBRkeEIlOA|KXI1r9Viq6)CoUwaO{m0-wn;b`wFvk{2d5$vGBU8ty1l+{|;|> z?#Zq#zut(B4+i}fsZa>eQ0@vRk9}CR@5u|-2I^*RD4BET98ak3Jn1bSk0E__B;1p1 z-`Co^W6h@C?Qgt?KC29)v&l@hIV=! zPojPFEz1--$~%Jo?CuzShckJ59iFN + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/dp_branding/index.php b/dp_branding/index.php new file mode 100644 index 0000000000..5348ae5381 --- /dev/null +++ b/dp_branding/index.php @@ -0,0 +1,235 @@ +$title"; + +echo "

" . _("Consistent branding and logos are an important part of today's world. This page provides some guidance when referring to Distributed Proofreaders as well as visual assets for both web and print.") . "

"; + +echo "

" . _("Referring to Distributed Proofreaders") . "

"; +echo "
"; + +echo "

" . _("Other entities with similar names:") . "

"; + +echo "
    "; +echo "
  • " . _("Distributed Proofreaders has many sister sites, some of which have 'DP' in their name, such as DP Canada. These are separate entities and are not legally connected to pgdp.net.") . "
  • "; +echo "
  • " . _("The source code that powers the pgdp.net website is open source software hosted at GitHub. The source code project is named dproofreaders and while technically separate from pgdp.net, it is very closely tied to pgdp.net and the needs of pgdp.net drive almost all features within that project.") . "
  • "; +echo "
"; + +echo "

" . _("Logos and Marks") . "

"; + +echo "

" . _("The following are DP logos and marks that can be used to link back to https://www.pgdp.net. An SVG is included, as well as PNGs at different sizes. Some of the PNGs have a white background and others use a transparent background. Use whichever makes sense for your purposes. If you need different sizes, you are encouraged to generate them from the SVG file, using a program like Inkscape, rather than resizing the PNGs.") . "

"; + +echo "

" . _("For print media, you are encouraged to use the black and white version without the drop shadow. If your design software supports it, use the SVG version for the best output.") . "

"; + +echo "

" . _("The SVG files have had the text changed into paths for best consumability. See Fonts and Colors for what fonts were used.") . "

"; + +echo ""; + +echo "

" . _("SVG files") . "

"; + +echo << + + Transparent
Background, light themes + + + + + + + + dp-logo.svg + + + + Transparent
Background, dark themes + + + + + + + + dp-logo-dark.svg + + + + SVGLOGO; + +echo "

" . _("PNG files") . "

"; + +echo << + + Transparent
Background, light themes + + + + + + + + dp-logo-500px.png + + + + White
Background + + + + + + + + dp-logo-500px-white.png + + + + LOGO; + +echo ""; + +echo "

" . _("SVG file") . "

"; + +echo << + + Transparent
Background + + + + + + + + dp-logo-bw.svg + + + + SVGLOGO; + +echo "

" . _("PNG file") . "

"; + +echo << + + Transparent
Background + + + + + + + + dp-logo-bw-500px.png + + + + LOGO; + +echo "

" . _("Mark") . "

"; + +echo "

" . _("SVG file") . "

"; + +echo << + + Transparent
Background + +
+ + + + + + dp-mark.svg + + + + SVGMARK; + +echo "

" . _("PNG files") . "

"; + +echo << + + Size + Transparent
Background + White
Background + + + 32 x 32 + +
+ dp-mark-32px.png + + +
+ dp-mark-32px-white.png + + + + 64 x 64 + +
+ dp-mark-64px.png + + +
+ dp-mark-64px-white.png + + + + 120 x 120 + +
+ dp-mark-120px.png + + +
+ dp-mark-120px-white.png + + + + 400 x 400 + + dp-mark-400px.png + + + dp-mark-400px-white.png + + + + MARK; + +echo "

" . _("Fonts and Colors") . "

"; + +echo "

" . _("If you are looking to create additional branding assets, here are some guidelines for how the current assets were created.") . "

"; + +echo << +
  • DP blue: #007dc1
  • +
  • Base logo font: Amiri, available for free from Google Fonts
  • +
  • 'Preserving History' font: Times New Roman
  • +
  • DP mark: Garamond
  • +
  • DP logo and mark drop shadow (created with the Drop Shadow filter in Inkscape):
      +
    • Blur radius: 2.0
    • +
    • Horiz offset (px): -3.7
    • +
    • Vertical offset (px): 3.7
    • +
    • Color (RGBA): 00000048
    • +
  • + + ASSETS; diff --git a/styles/layout.less b/styles/layout.less index 7f34ee1c00..965b79f4ac 100644 --- a/styles/layout.less +++ b/styles/layout.less @@ -1858,3 +1858,22 @@ p.mentor-oldest { @import (inline) "../pinc/3rdparty/mediawiki/mediawiki.diff.styles.css"; /* ------------------------------------------------------------------------ */ +/* Branding table */ + +table.branding { + width: 500px; + border-collapse: collapse; + text-align: center; +} +table.branding th.gray, table.branding td.gray { + background-color: @table-cell-base-highc; +} +table.branding th.black-transparent, +table.branding td.black-transparent { + background-color: @table-cell-base-highc; +} +table.branding tr th, table.branding tr td { + padding: 0.5em; +} + +/* ------------------------------------------------------------------------ */ diff --git a/styles/themes/charcoal.css b/styles/themes/charcoal.css index 20c4970bee..1a927d9098 100644 --- a/styles/themes/charcoal.css +++ b/styles/themes/charcoal.css @@ -3006,6 +3006,25 @@ td.diff-marker { content: '↩'; } +/* ------------------------------------------------------------------------ */ +/* Branding table */ +table.branding { + width: 500px; + border-collapse: collapse; + text-align: center; +} +table.branding th.gray, +table.branding td.gray { + background-color: #121212; +} +table.branding th.black-transparent, +table.branding td.black-transparent { + background-color: #121212; +} +table.branding tr th, +table.branding tr td { + padding: 0.5em; +} /* ------------------------------------------------------------------------ */ /* Do not underline links */ a { @@ -3153,3 +3172,11 @@ table.striped tr:nth-child(even) td { * a dark theme background for WC management for PMs. */ /* WordCheck */ +/*--------------------------------------------------------*/ +/* On the branding page, the background behind the black */ +/* logo needs a hack so that both the logo image and the */ +/* link to the file are easily readable. */ +table.branding th.black-transparent, +table.branding td.black-transparent { + background-color: #636363; +} diff --git a/styles/themes/charcoal.less b/styles/themes/charcoal.less index d42c993164..f5fb930488 100644 --- a/styles/themes/charcoal.less +++ b/styles/themes/charcoal.less @@ -270,3 +270,13 @@ table.striped { @preWC: #666666; @noWC: #996300; @WC: #036309; + +/*--------------------------------------------------------*/ +/* On the branding page, the background behind the black */ +/* logo needs a hack so that both the logo image and the */ +/* link to the file are easily readable. */ + +table.branding th.black-transparent, +table.branding td.black-transparent { + background-color: #636363; +} diff --git a/styles/themes/classic_grey.css b/styles/themes/classic_grey.css index 2dd28854f1..e74daf1469 100644 --- a/styles/themes/classic_grey.css +++ b/styles/themes/classic_grey.css @@ -3007,3 +3007,22 @@ td.diff-marker { } /* ------------------------------------------------------------------------ */ +/* Branding table */ +table.branding { + width: 500px; + border-collapse: collapse; + text-align: center; +} +table.branding th.gray, +table.branding td.gray { + background-color: #cccccc; +} +table.branding th.black-transparent, +table.branding td.black-transparent { + background-color: #cccccc; +} +table.branding tr th, +table.branding tr td { + padding: 0.5em; +} +/* ------------------------------------------------------------------------ */ diff --git a/styles/themes/project_gutenberg.css b/styles/themes/project_gutenberg.css index 2020c2afbe..721339d316 100644 --- a/styles/themes/project_gutenberg.css +++ b/styles/themes/project_gutenberg.css @@ -3007,3 +3007,22 @@ td.diff-marker { } /* ------------------------------------------------------------------------ */ +/* Branding table */ +table.branding { + width: 500px; + border-collapse: collapse; + text-align: center; +} +table.branding th.gray, +table.branding td.gray { + background-color: #cccccc; +} +table.branding th.black-transparent, +table.branding td.black-transparent { + background-color: #cccccc; +} +table.branding tr th, +table.branding tr td { + padding: 0.5em; +} +/* ------------------------------------------------------------------------ */ diff --git a/styles/themes/royal_blues.css b/styles/themes/royal_blues.css index 8060b24e44..e21c5be4b9 100644 --- a/styles/themes/royal_blues.css +++ b/styles/themes/royal_blues.css @@ -3007,3 +3007,22 @@ td.diff-marker { } /* ------------------------------------------------------------------------ */ +/* Branding table */ +table.branding { + width: 500px; + border-collapse: collapse; + text-align: center; +} +table.branding th.gray, +table.branding td.gray { + background-color: #cccccc; +} +table.branding th.black-transparent, +table.branding td.black-transparent { + background-color: #cccccc; +} +table.branding tr th, +table.branding tr td { + padding: 0.5em; +} +/* ------------------------------------------------------------------------ */ From 0ce05a48f1bf02ea70c483e0f0e4fd6020e1c8cf Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:09:04 +0000 Subject: [PATCH 08/29] Social media & donation details --- index.php | 37 +++++++++++++++++- pinc/theme.inc | 100 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 134 insertions(+), 3 deletions(-) diff --git a/index.php b/index.php index 1eeccb4cba..66ff932a97 100644 --- a/index.php +++ b/index.php @@ -10,7 +10,42 @@ include_once($relPath.'site_news.inc'); include_once($relPath.'walkthrough.inc'); -output_header(_("Welcome"), SHOW_STATSBAR); +// SITE-SPECIFIC +// Add social media tags to main page for PROD +$extra_args = []; +if (!SiteConfig::get()->testing) { + $extra_args = ['head_data' => << + + + + + + + + + EOF + ]; +} + +output_header(_("Welcome"), SHOW_STATSBAR, $extra_args); $image = get_page_header_image("FRONT"); if ($image) { diff --git a/pinc/theme.inc b/pinc/theme.inc index c647dfbeed..1de0a0c0b0 100644 --- a/pinc/theme.inc +++ b/pinc/theme.inc @@ -536,6 +536,21 @@ function html_statsbar(): void global $code_url, $PG_home_url; maybe_show_language_selector(); + // SITE-SPECIFIC + // Display the donation icon and link to donate. + // + // It was decided that, at pgdp.net, we would show the donation block + // only on the front page and the Activity Hub. + // It's somewhat kludgey to effect that here -- a better design + // would express that in the respective calls to output_header() -- + // but this approach has a much lower impact (code diff), + // and its drawbacks probably won't bite us. + if (str_ends_with($_SERVER['SCRIPT_NAME'], "/index.php") || + str_ends_with($_SERVER['SCRIPT_NAME'], "/activity_hub.php")) { + show_donation_stuff(); + show_social_media_links(); + } + // For logged-in users, show links to key help documents: $user = User::load_current(); if ($user) { @@ -607,9 +622,24 @@ function html_statsbar(): void } // SITE-SPECIFIC - //Display the "About DP" section if user is not logged in + echo "
    "; + echo "

    " . _("About DP") . "

    "; + + echo "

    "; + echo "" . _("Code of Conduct") . ""; + echo " · "; + echo "" . _("Privacy Policy") . ""; + echo "

    "; + + echo "

    " . _("Mission") . "

    "; + echo "

    "; + echo sprintf(_("Distributed Proofreaders is dedicated to the preservation of written works that are in the Public Domain in the United States by converting them into high-quality, freely available digital transcriptions. This is accomplished through the efforts of a supportive community of volunteers. Distributed Proofreaders follows the principles of the American Library Association Freedom to Read statement."), "http://www.ala.org/advocacy/intfreedom/freedomreadstatement"); + echo "

    "; + + //Display the history section if user is not logged in if (!$user) { - echo "

    "; + echo "

    " . _("History") . "

    "; + echo "

    "; echo sprintf(_("Distributed Proofreaders was founded in 2000 by Charles Franks to support the digitization of Public Domain books. Originally conceived to assist Project Gutenberg (PG), Distributed Proofreaders (DP) is now the main source of PG e-books. In 2002, Distributed Proofreaders became an official PG site. In May 2006, Distributed Proofreaders became a separate legal entity and continues to maintain a strong relationship with PG."), $PG_home_url); echo "

    "; } @@ -1049,6 +1079,72 @@ function show_key_help_links(): void // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +function show_donation_stuff(): void +{ + $pgdp_wiki_url = "https://www.pgdp.net/wiki"; + $DPF_home_url = "$pgdp_wiki_url/Distributed_Proofreaders_Foundation"; + $DPF_donor_url = "$pgdp_wiki_url/DPFoundation:Information_for_Donors"; + + echo "
    "; + echo "

    "; + echo sprintf( + _("Thank you for supporting DP! You can also support the site by making a donation to the non-profit Distributed Proofreaders Foundation."), + $DPF_home_url + ); + echo "

    \n"; + + echo "
    "; + echo ""; + echo "
    "; + + echo "
    \n"; + echo "
    \n"; +} + +function show_social_media_links(): void +{ + // insert social media links + $social_links = [ + "WordPress" => [ + "class" => "fab fa-wordpress fa-2x", + "url" => "https://blog.pgdp.net", + ], + "Mastodon" => [ + "class" => "fab fa-mastodon fa-2x", + "url" => "https://universeodon.com/@DProofreaders", + "rel" => "me", + ], + "Facebook" => [ + "class" => "fab fa-facebook-f fa-2x", + "url" => "https://www.facebook.com/distributed.proofreaders/", + ], + "GitHub" => [ + "class" => "fab fa-github fa-2x", + "url" => "https://github.com/DistributedProofreaders/dproofreaders/blob/master/README.md", + ], + ]; + echo "
    "; + + $links = []; + foreach ($social_links as $name => $data) { + $class = $data["class"]; + $url = $data["url"]; + $rel = $data["rel"] ?? ""; + $links[] = "" . + "" . + ""; + } + + echo join("   ", $links); + + echo "
    "; + echo "
    \n"; +} + +// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + /** * Calculate progress bar size and color properties * From 634097a967488dc47c7fc70510743d03159f4177 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:12:41 +0000 Subject: [PATCH 09/29] Require quiz pass before proofreading in P1 In pgdp-production, users must first pass a quiz and request access before they can proofreading in P1. We also need to skip ProjectTest::test_can_be_proofed_available as it no longer passes with this update. --- pinc/new_user_mails.inc | 5 +++++ pinc/stages.inc | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pinc/new_user_mails.inc b/pinc/new_user_mails.inc index 6260216bb3..0ca4565e57 100644 --- a/pinc/new_user_mails.inc +++ b/pinc/new_user_mails.inc @@ -125,6 +125,11 @@ function send_welcome_mail(string $email, string $real_name, string $username): Later you should also read the full Proofreading Guidelines: $dp_wiki_url/DP_Official_Documentation:Proofreading/Proofreading_Guidelines + Before starting proofreading, you will need to successfully complete all + five pages of the interactive proofreading quiz, and are encouraged to read + through their associated tutorials: + $code_url/quiz/start.php?show_level=P_BASIC + $feedback_paragraph #### Start Smooth Reading diff --git a/pinc/stages.inc b/pinc/stages.inc index b89b2bb615..e005cfabd2 100644 --- a/pinc/stages.inc +++ b/pinc/stages.inc @@ -32,8 +32,8 @@ $pi_tools_for_F = [ new Round( 'P1', _('Proofreading Round 1'), - [], - 'IMMEDIATE', + ['quiz/p_basic' => 1], + 'REQ-AUTO', '', null, // access_change_callback _("The page-texts are the output from OCR software and need to have the text carefully compared to the image."), From 19e6aa6eca4d20c02eb54805805497198f2ed223 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:13:59 +0000 Subject: [PATCH 10/29] Gate P1 entry on Project Quick Check --- pinc/ProjectTransition.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pinc/ProjectTransition.inc b/pinc/ProjectTransition.inc index c9b6c95712..0c73d6978e 100644 --- a/pinc/ProjectTransition.inc +++ b/pinc/ProjectTransition.inc @@ -474,7 +474,7 @@ function create_project_transitions(): array project_restriction: null, action_name: '[default]', confirmation_question: null, - detour: null, + detour: 'gate_on_pqc', settings_template: '', collateral_actions: null, ); From 43bf983f7378a5acec0de499cb31b646b8b1ef65 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:15:01 +0000 Subject: [PATCH 11/29] Output qual projects --- pinc/quals.inc | 73 ++++++++++++++++++++++++++++++++++++++++ tools/proofers/round.php | 2 ++ 2 files changed, 75 insertions(+) create mode 100644 pinc/quals.inc diff --git a/pinc/quals.inc b/pinc/quals.inc new file mode 100644 index 0000000000..3f09c710eb --- /dev/null +++ b/pinc/quals.inc @@ -0,0 +1,73 @@ +" . sprintf(_("%s Qualifying Projects"), $qual_type) . ""; + + switch ($round) { + case 'P2': + case 'F1': + echo "

    " . _("The following projects are currently available:") . "

    "; + break; + case 'P3': + case 'F2': + echo "

    " . sprintf(_("Your help in proofreading these %s Qualifier projects would be greatly appreciated:"), $round) . "

    "; + break; + } + + echo "
      "; + foreach ($projectids as $projectid) { + $project = new Project($projectid); + $proj_url = ""; + echo "
    • "; + echo ""; + echo html_safe($project->nameofwork); + echo " — ({$project->language}) {$project->n_available_pages} pp. available."; + echo "
    • "; + } + echo "
    "; + + // Post list caveats, etc. can be inserted here + switch ($round) { + case 'P2': + case 'F1': + echo "

    " . sprintf(_("%1\$s Qualifying projects are for volunteers who are preparing to apply for %1\$s access."), $qual_type) . "

    "; + echo "

    " . sprintf(_("Please make sure you have satisfied the %2\$s entrance requirements before applying.

    "), "$code_url/tools/proofers/round.php?round_id=$qual_type#Entrance_Requirements", $qual_type) . "

    "; + break; + case 'P3': + case 'F2': + echo "

    " . sprintf(_("Thank you very much for your help with the %s Quals!"), $qual_type) . "

    "; + break; + } +} diff --git a/tools/proofers/round.php b/tools/proofers/round.php index 3873649c4b..abd5ebf5c9 100644 --- a/tools/proofers/round.php +++ b/tools/proofers/round.php @@ -9,6 +9,7 @@ include_once($relPath.'gradual.inc'); include_once($relPath.'site_news.inc'); include_once($relPath.'mentoring.inc'); +include_once($relPath.'quals.inc'); include_once($relPath.'page_tally.inc'); include_once($relPath.'faq.inc'); @@ -39,6 +40,7 @@ show_news_for_page($round_id); +output_qual_projects($round_id); if ($pagesproofed < 100 && $ELR_round->id == $round_id) { echo "
    "; From 0b375cbd606f619730d7abdfc870b6a7b1e4739a Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:16:35 +0000 Subject: [PATCH 12/29] Adjust P3 eligibility message --- pinc/stages.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pinc/stages.inc b/pinc/stages.inc index e005cfabd2..b117ed89da 100644 --- a/pinc/stages.inc +++ b/pinc/stages.inc @@ -116,7 +116,7 @@ new Round( _('Proofreading Round 3'), ['P2' => 150, 'F1' => 50, 'days since reg' => 42, 'quiz/p_basic' => 1, 'quiz/p_mod1' => 1, 'quiz/p_mod2' => 1], 'REQ-HUMAN', - _("Once you have met the requirements and requested access to P3, an evaluator will check over at least 50 of your recent P2 pages that have been completed in P3. If you proofread them to P3 standards, you'll be granted access."), + sprintf(_("If you are interested in earning access to P3, please visit Am I ready for P3?, and do a self-evaluation. Once you have requested access to P3, an evaluator will check over at least 50 of your recent P2 pages that have been completed in P3. If you proofread them to P3 standards, you'll be granted access."), "https://www.pgdp.net/wiki/DP_Official_Documentation:Proofreading/Am_I_Ready_For_P3%3F"), null, // access_change_callback _("The page-texts have already been proofread, but now need to be examined closely for small errors that may have been missed."), 'proofreading_guidelines.php', From 9406300600488ffd318e01873b7e22f25e34f8ea Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:17:19 +0000 Subject: [PATCH 13/29] Disable expensive stat graphs --- stats/pp_stats.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/stats/pp_stats.php b/stats/pp_stats.php index 1180081b27..0866e14841 100644 --- a/stats/pp_stats.php +++ b/stats/pp_stats.php @@ -16,6 +16,8 @@ echo "

    " . _("Total Projects Post-Processed Since Statistics were Kept") . "

    \n"; +echo "" . _("Sorry, this table has been temporarily disabled.") . "\n"; +/* $psd = get_project_status_descriptor('PPd'); dpsql_dump_themed_query(" SELECT @@ -23,6 +25,7 @@ FROM project_state_stats WHERE $psd->state_selector GROUP BY date ORDER BY date DESC LIMIT 1 "); +*/ echo "
    \n"; From a6c9c7f9d7a18f4c7d2349626ad40a1f34d2127b Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:18:17 +0000 Subject: [PATCH 14/29] Add beginner -> mentor message on project page --- project.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/project.php b/project.php index 7863c08343..cc067c09cf 100644 --- a/project.php +++ b/project.php @@ -672,6 +672,19 @@ function do_project_info_table(): void // insert e.g. templates and biographies $comments = parse_project_comments($project); + // Automatically prepend mentor round comments template for Beginners Only + if ($project->difficulty == "beginner") { + if ($round && $round->is_a_mentor_round()) { + $comments = " +

    This book has changed from a BEGINNERS ONLY project to a MENTORS project.

    + +

    NOTE: You may find a list of which beginner has done which page, and the number of pages proofread by each, at the For Mentors page.

    + +

    Also, should you be issued a page that shows any of the Project Facilitators as the P1 proofreader, you may safely skip the feedback--unless, of course, we NEED it! That page will have been reclaimed, then proofread by one of us in order to move the project on to P2.

    + " . $comments; + } + } + if ($comments == '') { // Put in *something*, otherwise it'll probably look odd. $comments = ' '; From ca4f755f0a0bed586c2db3533a8b5ba5415360b8 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:18:49 +0000 Subject: [PATCH 15/29] Autorelease hacks --- pinc/autorelease.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pinc/autorelease.inc b/pinc/autorelease.inc index 5860a3c8bb..a4acb29000 100644 --- a/pinc/autorelease.inc +++ b/pinc/autorelease.inc @@ -451,7 +451,8 @@ class ReleaseRestrictor public function approves_project(array $project): bool { $is_special = !empty($project['special_code']); - if ($is_special) { + // temp hack - enable "no duplicate author" restriction for Childrens Book Week and type-in projects + if ($is_special && ($project['special_code'] != 'ChBookWk') && ($project['special_code'] != 'TypeInProject')) { echo " It's special, so it's exempt from release restrictions.\n"; return true; } From 35b9b4dd29244dea56e36da7b39fdc3b27d28f20 Mon Sep 17 00:00:00 2001 From: srjfoo Date: Fri, 6 Aug 2021 00:15:05 +0000 Subject: [PATCH 16/29] Specialized quizzes not required. GM request -- update the introductory information for the specialized quizzes explicitly stating that they are not required. --- pinc/quizzes.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pinc/quizzes.inc b/pinc/quizzes.inc index 15195526f7..29b7be4bc5 100644 --- a/pinc/quizzes.inc +++ b/pinc/quizzes.inc @@ -126,7 +126,7 @@ new QuizLevel( "proof", "

    " . sprintf(_("This section covers topics that are not addressed in the proofreading guidelines. The pages include items that you are likely to see when proofreading HARD (and some Average) projects."), get_faq_url("proofreading_guidelines.php")) . "

    \n

    " . - _("If you are not yet familiar with a topic, you can learn about it by using the tutorial mode or following the \"Information\" link for that topic.") . + _("The following quizzes are not required, but can be useful. If you are not yet familiar with a topic, you can learn about it by using the tutorial mode or following the \"Information\" link for that topic.") . "

    ", [ From 6e4c426f0b4342308cfceda8d69dfdb40a746350 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Wed, 22 Dec 2021 01:58:48 +0000 Subject: [PATCH 17/29] Add PP states to project_jump.php --- tools/site_admin/project_jump.php | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tools/site_admin/project_jump.php b/tools/site_admin/project_jump.php index ce83caecfa..fce8988070 100644 --- a/tools/site_admin/project_jump.php +++ b/tools/site_admin/project_jump.php @@ -16,6 +16,10 @@ foreach (Rounds::get_all() as $round) { $valid_new_states[] = $round->project_unavailable_state; } +$valid_new_states = array_merge($valid_new_states, [ + 'proj_post_first_unavailable', 'proj_post_first_available', 'proj_post_first_checked_out', + 'proj_post_second_available', 'proj_post_second_checked_out', +]); $new_state = get_enumerated_param($_POST, 'new_state', null, $valid_new_states, true); @@ -58,6 +62,13 @@ function display_project_jump_form(string $action, ?string $projectid, ?string $ foreach (Rounds::get_all() as $round) { echo ""; } + echo " + + + + + + "; echo "\n"; echo ""; @@ -101,6 +112,25 @@ function jump_project(string $projectid, string $new_state, bool $just_checking) throw new RuntimeException("Project does not have a pages table and cannot be jumped to a new state"); } + if ('proj_post_first_checked_out' == $new_state && '' == $project->checkedoutby) { + throw new RuntimeException("project must have a PPer assigned to jump to $new_state"); + } elseif ('proj_post_first_checked_out' == $new_state) { + echo " PPer : $project->checkedoutby\n"; + } + if ('proj_post_first_available' == $new_state && '' != $project->checkedoutby) { + throw new RuntimeException("project has a PPer assigned ($project->checkedoutby) so can't jump to $new_state"); + } + + if ('proj_post_second_checked_out' == $new_state && '' == $project->checkedoutby) { + throw new RuntimeException("project must have a PPVer assigned to jump to $new_state"); + } elseif ('proj_post_second_checked_out' == $new_state) { + echo " PPVer : $project->checkedoutby\n"; + } + if ('proj_post_second_available' == $new_state && '' != $project->checkedoutby) { + throw new RuntimeException("project has a PPVer assigned ($project->checkedoutby) so can't jump to $new_state"); + } + + if ($just_checking) { echo "\n"; echo "

    \n"; From 1a1944fa7335ee24c0d1fd7f16e5fcfcd801b707 Mon Sep 17 00:00:00 2001 From: srjfoo Date: Thu, 10 Mar 2022 22:42:46 +0000 Subject: [PATCH 18/29] Added updated verify para to pgdp-production The GM requested that the paragraph concerning volunteer service verification be expanded and updated. The original para has been removed from `master`. This PR adds the expanded para into the `pgdp-production` branch. --- index.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/index.php b/index.php index 66ff932a97..793d05fffc 100644 --- a/index.php +++ b/index.php @@ -146,6 +146,14 @@ . "

    " . "\n"; +echo "

    " + . sprintf( + _("We are unable to provide certification for any purpose that would require Distributed Proofreaders to track the number of hours spent volunteering, or to provide verification of a user's identity beyond that provided by their email address, or to certify that the volunteer personally performed the work. For these reasons, we cannot provide certification for court-ordered community service, programs operated by federal, state, or municipal governments, etc. For more information, please see this page."), + "$wiki_url/DP_Official_Documentation:General/Certification_of_Volunteer_Work" + ) + . "

    " + . "\n"; + // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX echo "\n" From 6c1f70ad91f702f0d8ed441e39f0ce9cddfd0ca4 Mon Sep 17 00:00:00 2001 From: srjfoo Date: Wed, 27 Apr 2022 17:19:28 +0000 Subject: [PATCH 19/29] Add access change emails to pgdp-production This completes the move of the acces change emails from `master` to `pgdp-production`. --- pinc/access_change_emails.inc | 249 ++++++++++++++++++++++++++++++++++ pinc/stages.inc | 7 +- 2 files changed, 253 insertions(+), 3 deletions(-) create mode 100644 pinc/access_change_emails.inc diff --git a/pinc/access_change_emails.inc b/pinc/access_change_emails.inc new file mode 100644 index 0000000000..9d3d05cd0e --- /dev/null +++ b/pinc/access_change_emails.inc @@ -0,0 +1,249 @@ +site_abbreviation); + + $message[] = sprintf(_("Hello %s,"), $user->username); + + // TRANSLATORS: %s is the site abbreviation (eg: 'DP') + $message[] = sprintf(_("Congratulations! You are now eligible to learn to transform %s projects into their final formats, ready for upload to Project Gutenberg. If you're already familiar with HTML and CSS, it may make learning Post-Processing (PP) somewhat easier, but many prolific Post-Processors (PPers) knew no HTML or CSS when they first started, so if you aren't already familiar with them, don't be discouraged!"), SiteConfig::get()->site_abbreviation); + + $message[] = sprintf(_("We encourage you to start with an easy book and work with an experienced PPer as a mentor. For help in finding a PP mentor, please contact the PPV Coordinator (%s). In addition, all new Post-Processors' work must go through the Post-Processing Verification (PPV) stage, which is another opportunity to pick up valuable tips and tricks. Please avail yourself of the wealth of information in our official documentation and in the Post-Processing forum."), "ppv-coord@pgdp.net"); + + $message[] = _("Here is a list of a few of our resources to get you started:"); + + $message[] = "- " . sprintf( + _("Official documentation page with links to the FAQs and other Post-Processing resources: %s"), + "https://www.pgdp.net/wiki/DP_Official_Documentation:PP_and_PPV" + ); + + $message[] = "- " . sprintf( + _("\"Getting your PP Project Ready for PPV\" document: %s"), + "https://www.pgdp.net/wiki/DP_Official_Documentation:PP_and_PPV/Getting_your_PP_Project_Ready_for_PPV" + ); + + $message[] = "- " . sprintf( + _("Post-Processing Workbench: %s"), + "https://www.pgdp.net/wiki/DP_Official_Documentation:PP_and_PPV/Post-Processing_Workbench" + ); + + $message[] = sprintf( + _("An excellent place to ask Post-Processing-related questions is the forum topic 'The Official \"No Dumb Questions\" thread for PPers': %s"), + "https://www.pgdp.net/phpBB3/viewtopic.php?t=15019" + ); + + $message[] = _("It is important that books don't get stuck in the Post-Processing process, but keep moving towards being posted at Project Gutenberg. As a community, we have a lot invested in each project -- each represents many hours of volunteer work. We are all eager to see each book posted and there is also a risk that that work would be lost should other organizations produce and post a book before we finish."); + + $message[] = sprintf( + _("The site software sends out reminder emails on the first of every month to all Post-Processors who have projects that have been checked out for 90 days or more since they last visited their books' Project Pages. If you receive such a notice, and are still working on the book, or plan to work on it soon, please visit the project page so that it will renew for another 90 days. This is a regular reminder, and not meant to be discouraging. We realize that it may take new Post-Processors longer than it does more experienced PPers to complete their PP work. See %s for more detailed information."), + "https://www.pgdp.net/wiki/DP_Official_Documentation:PP_and_PPV/Post-Processing_FAQ#How_long_can_I_keep_a_book_checked_out.3F" + ); + + // TRANSLATORS: %s is the site name (eg: 'Distributed Proofreaders') + $message[] = sprintf(_("Thank you for deciding to work as a Post-Processor! Although the work can be daunting at first, it can be the most rewarding and motivating activity here at %s."), SiteConfig::get()->site_name); + + $email = $user->email; + $message_string = implode("\n\n", $message); + + $mail_accepted = send_mail($email, $subject, $message_string, null, SiteConfig::get()->db_requests_email_addr); + + // restore gettext to current user's locale + configure_gettext_for_user(); +} + +function p2_access_change_email(User $user, string $access_change): void +{ + $daily_limit = get_Round_for_round_id('P2')->daily_page_limit; + + // only send emails on grant + if ($access_change != "grant") { + return; + } + + // configure gettext to translate user email + configure_gettext_for_user($user); + + // TRANSLATORS: %s is the site abbreviation (eg: 'DP') + $subject = sprintf(_("%s: Welcome to P2 Proofreading"), SiteConfig::get()->site_abbreviation); + + $message[] = sprintf(_("Hello %s,"), $user->username); + + $message[] = _("Congratulations! You may now work in P2, the second proofreading round."); + + $message[] = "== " . _("Compared to P1, what remains the same?") . " =="; + + $message[] = _("The Proofreading Guidelines are exactly the same, and you still need to comply with the Project Comments and Project Discussion guidance for every project."); + + $message[] = _("Please keep aiming to leave every page as perfect as you can."); + + $message[] = "== " . _("What is expected in P2?") . " =="; + + $message[] = "- " . sprintf( + _("Using WordCheck is compulsory in P2 and P3, and pages that have not been WordChecked may be removed from your record. See %s for information about WordCheck"), + "https://www.pgdp.net/wiki/DP_Official_Documentation:Proofreading/WordCheck_FAQ" + ); + + $message[] = _("It is important to be aware that, when you work in P2, you set an example to P1 proofreaders: they will be checking their diffs to see how you changed their work. Make sure that you don't mislead them."); + + $message[] = _("If you remember how your mentor guided you when you started, you may consider giving gentle feedback in a private message to new proofreaders when you see them making repeated errors."); + + $message[] = _("The text you worked on in P1 was generated from the page images by means of software tools. When you work in P2, however, you are working on text that someone else has already proofread. Nevertheless, please check every character and word carefully, since new P1s, unfamiliar with our guidelines, may have left errors."); + + if ($daily_limit) { + $message[] = sprintf(_("Please keep in mind that we currently have a limit in P2 of no more than %d pages per day. This is a daily limit, not an average; the limit is there to make sure that we have a variety of projects available in the round at all times."), $daily_limit); + // The above paragraph will be added to the email only if the daily limit + // is a positive integer. Currently, if the daily limit value is zero or + // NULL, the paragraph is not added. This code will need to be adjusted + // if there is ever a need for them to be treated differently. + } + + $message[] = "== " . _("What resources are available?") . " =="; + + $message[] = "- " . sprintf(_("You may ask for help at dp-feedback ( %s ), giving the name of the project, the round you worked in, and the png numbers of the pages you would like to have reviewed."), "https://www.pgdp.net/phpBB3/ucp.php?i=pm&mode=compose&u=37603"); + + $message[] = "- " . sprintf(_("If you haven't yet, try using DP's Proofreading Font: %s"), "https://www.pgdp.net/c/faq/font_sample.php"); + + $message[] = "- " . sprintf(_("When the diffs for your pages become available, check your diffs: %1\$s . You can easily check diffs with the Review Work tool: %2\$s"), "https://www.pgdp.net/wiki/DP_Official_Documentation:Proofreading/Checking_your_diffs", "https://www.pgdp.net/c/tools/proofers/review_work.php?work_round_id=P2&review_round_id=P3&days=100&sample_limit=0"); + + $message[] = "- " . sprintf(_("For a quick refresher, consider redoing the proofreading quizzes: %s"), "https://www.pgdp.net/c/quiz/start.php?show_only=PQ"); + + $message[] = _("If you have questions, there are several options:"); + + $message[] = "- " . _("For questions specific to a project you're working on, please post your question in the project's Project Discussion. There's a link to this on each project's main Project Page on the line reading \"Forum\"."); + + $message[] = "- " . sprintf( + _("If you have a general question, you can post in the \"Common Proofreading Q&A\" Forum: %s"), + "https://www.pgdp.net/phpBB3/viewforum.php?f=19" + ); + + $message[] = "- " . _("If you don't know whether the question is a general question or specific to the project, you should start by asking in the Project Discussion."); + + $message[] = "- " . _("If you'd rather ask a question privately or would like more information on proofreading in general, you can send a Private Message to one of the following volunteers:") . + "\n Bess (Bess): https://www.pgdp.net/phpBB3/ucp.php?i=pm&mode=compose&u=101542" . + "\n jjz (Jacqueline): https://www.pgdp.net/phpBB3/ucp.php?i=pm&mode=compose&u=15578"; + + $message[] = "== " . _("What could possibly go wrong?") . " =="; + + $message[] = "- " . _("Getting the Proofreading and Formatting Guidelines mixed up."); + + $message[] = "- " . _("Proofreading too fast! Proofread each page slowly enough to carefully compare the original scan with the proofing text."); + + $message[] = "- " . _("Forgetting to read the specific project comments, and not checking for new posts in the project discussion."); + + $message[] = "- " . _("Forgetting to use WordCheck."); + + // TRANSLATORS: %s is the site name (eg: 'Distributed Proofreaders') + $message[] = sprintf(_("Again, please don't hesitate to ask if you have questions, and thanks for volunteering at %s."), SiteConfig::get()->site_name); + + $email = $user->email; + $message_string = implode("\n\n", $message); + + $mail_accepted = send_mail($email, $subject, $message_string); + + // restore gettext to current user's locale + configure_gettext_for_user(); +} + +function f1_access_change_email(User $user, string $access_change): void +{ + $daily_limit = get_Round_for_round_id('F1')->daily_page_limit; + + // only send emails on grant + if ($access_change != "grant") { + return; + } + + // configure gettext to translate user email + configure_gettext_for_user($user); + + // TRANSLATORS: %s is the site abbreviation (eg: 'DP') + $subject = sprintf(_("%s: Welcome to F1 Formatting"), SiteConfig::get()->site_abbreviation); + + $message[] = sprintf(_("Hello %s,"), $user->username); + + $message[] = _("Congratulations! You may now work in F1, the first round of formatting."); + + $message[] = _("Formatting is the process of adding tags to a project for items such as italics, boldface, small capitals, footnotes, illustrations, poetry and block quotes, as well as appropriate spacing for chapter and section headers, etc. The tags and spacing will assist the Post-Processor in producing an ebook."); + + $message[] = _("After all of the pages of a project are completed in F1, the project moves into F2 for review and any needed corrections. F2 is the final round of formatting before Post-Processing."); + + if ($daily_limit) { + $message[] = "***" . sprintf(_("Please keep in mind that we currently have a limit in F1 of no more than %d pages per day."), $daily_limit) . "*** " . + _("(This is a daily limit, not an average.) The limit is there to make sure that we have a variety of projects available in the round at all times."); + // The above paragraph will be added to the email only if the daily limit + // is a positive integer. Currently, if the daily limit value is zero or + // NULL, the paragraph is not added. This code will need to be adjusted + // if there is ever a need for them to be treated differently. + } + + $message[] = sprintf( + _("Before you begin formatting, please read through the Formatting Guidelines: %1\$s . You may also view and print our two-page Formatting Summary: %2\$s to keep on hand while you're formatting. The Guidelines contain a lot of information, so please take your time and ask questions if there's something you don't understand."), + "https://www.pgdp.net/wiki/DP_Official_Documentation:Formatting/Formatting_Guidelines", + "https://www.pgdp.net/c/faq/formatting_summary.pdf" + ); + + $message[] = _("If you have questions, there are several options:"); + + $message[] = "- " . _("For questions specific to a project you're working on, please post your question in the project's Project Discussion. There's a link to this on each project's main Project Page on the line reading \"Forum.\""); + + $message[] = "- " . sprintf( + _("If you have a general question, you can post in the \"Common Formatting Q&A\" Forum: %s"), + "https://www.pgdp.net/phpBB3/viewforum.php?f=34" + ); + + $message[] = "- " . _("If you don't know whether the question is a general question or specific to the project, start by asking in the Project Discussion."); + + $message[] = "- " . _("If you'd rather ask a question privately or would like more information on formatting in general, you can send a Private Message to one of our F2 Evaluators:") . + "\n cmspence (Carol): https://www.pgdp.net/phpBB3/ucp.php?i=pm&mode=compose&u=69533" . + "\n K7UQT (Lisa): https://www.pgdp.net/phpBB3/ucp.php?i=pm&mode=compose&u=24945"; + + + $message[] = "== " . _("Here is a list of important tips and resources to get you started:") . " =="; + + $message[] = "- ***" . _("Please use the Format Preview tool on each page.") . "*** " . + sprintf( + _("Each time you format a page (but before you save it as Done), click on the Format Preview button. This will highlight many common formatting problems so that you may fix them before saving the page. The Format Preview button is labelled \"Preview\" and is found in the rows of buttons below the formatting window. (If your buttons display as icons, the Format Preview icon is a red \"F\" with checkmark.) For more information about this tool, see: %s"), + "https://www.pgdp.net/wiki/Format_Preview" + ); + + $message[] = "- " . _("Always use the formatting shortcut buttons when adding formatting tags. Manually typing in the tags is more time-consuming and prone to error. To use the shortcut buttons, highlight the text you need to add tags around (using your mouse or keyboard arrows) and click on the appropriate button. The buttons are found along the bottom of the formatting interface."); + + $message[] = "- " . _("If you accidentally add incorrect inline tags, highlight the text again, and click on the button labelled with a horizontal line through the middle. This removes inline formatting only (such as italics, bold, small caps, etc.), but does not affect illustration, footnote, blockquote, nowrap, or other non-inline tagging."); + + $message[] = "- " . sprintf( + _("Check out our F1 Self Evaluation Project: %s . It's an easy way to gain formatting experience without working on a 'live' project. You may want to start with this before working on a regular F1 project. Please read the instructions on the Project Page carefully before you begin."), + "https://www.pgdp.net/c/project.php?id=projectID50cd68d39b208" + ); + + $message[] = "- " . sprintf( + _("Once you've become familiar with the Formatting Guidelines, you may want to look through our Library of Formatting Examples (LoFE), which is found in the Formatting forums here: %s . While the LoFE should not be used in place of the Guidelines, it's a useful resource for common formatting issues that may not be covered completely by the Guidelines."), + "https://www.pgdp.net/phpBB3/viewtopic.php?f=34&t=47569" + ); + + $message[] = "- " . sprintf( + _("It's good practice to check your 'diffs' each day to see what changes have been made on your pages after they've been reviewed in F2 so that you can improve your skills. You can easily check diffs with the Review Work tool: %s"), + "https://www.pgdp.net/c/tools/proofers/review_work.php?work_round_id=F1&review_round_id=F2&days=100&sample_limit=0" + ); + + // TRANSLATORS: %s is the site name (eg: 'Distributed Proofreaders') + $message[] = sprintf(_("Again, please don't hesitate to ask if you have questions, and thanks for volunteering at %s."), SiteConfig::get()->site_name); + + $email = $user->email; + $message_string = implode("\n\n", $message); + + $mail_accepted = send_mail($email, $subject, $message_string); + + // restore gettext to current user's locale + configure_gettext_for_user(); +} diff --git a/pinc/stages.inc b/pinc/stages.inc index b117ed89da..ef8a8b0a85 100644 --- a/pinc/stages.inc +++ b/pinc/stages.inc @@ -9,6 +9,7 @@ include_once($relPath.'Pool.inc'); include_once($relPath.'ProjectState.inc'); include_once($relPath.'forum_interface.inc'); // get_url_to_view_forum() include_once($relPath.'faq.inc'); +include_once($relPath.'access_change_emails.inc'); // pp_access_change_email(), f1_access_change_email() // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX @@ -76,7 +77,7 @@ new Round( ['P1' => 300, 'days since reg' => 21, 'quiz/p_basic' => 1, 'quiz/p_mod1' => 1], 'REQ-AUTO', '', - null, // access_change_callback + "p2_access_change_email", // access_change_callback _("The page-texts have already been proofread, and now need to have the text WordChecked and carefully compared to the image."), 'proofreading_guidelines.php', $pi_tools_for_P, @@ -158,7 +159,7 @@ new Round( ['P1' => 300, 'days since reg' => 21, 'quiz/f_only' => 1], 'REQ-AUTO', '', - null, // access_change_callback + "f1_access_change_email", // access_change_callback _("The page-texts have already been proofread, but now need to be formatted with markup which may be specific to the project."), 'formatting_guidelines.php', $pi_tools_for_F, @@ -265,7 +266,7 @@ new Pool( ['F1' => 400], 'REQ-AUTO', '', - null, // access_change_callback + "pp_access_change_email", // access_change_callback _('After going through various rounds of proofreading and formatting, the books need to be massaged into a final e-text.'), 'post_proof.php', _("Manager"), From ed107e595a9b537343046735245c1d44271e9b14 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Sun, 22 May 2022 18:19:15 +0000 Subject: [PATCH 20/29] Allow pg-automation user to view clearances Allow Project Gutenberg's pg-automation account to view clearances. --- api/v1_projects.inc | 2 +- pinc/Project.inc | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/api/v1_projects.inc b/api/v1_projects.inc index 70e842b71c..931f3f9074 100644 --- a/api/v1_projects.inc +++ b/api/v1_projects.inc @@ -213,7 +213,7 @@ function get_project_fields_with_attr(?string $attr, ?Project $project): array // case of forbidding PMs to search for clearances that they can in fact // see in their individual projects, but we don't want to open up the // ability for them to value-fishing on clearances. - $can_search = is_null($project) && (user_is_a_sitemanager() || user_is_proj_facilitator()); + $can_search = is_null($project) && (user_is_a_sitemanager() || user_is_proj_facilitator() || User::current_username() == 'pg-automation'); if ($can_search || $can_render) { $fields["clearance"] = ["sql_name" => "clearance", "updatable" => true, "queryable" => true]; } diff --git a/pinc/Project.inc b/pinc/Project.inc index 8415af4910..1ee3eb6c31 100644 --- a/pinc/Project.inc +++ b/pinc/Project.inc @@ -1162,6 +1162,7 @@ class Project $this->can_be_managed_by_current_user || $this->PPVer_is_current_user || ($this->PPer_is_current_user && user_has_DU_access()) + || User::current_username() == 'pg-automation' ); } From 0cde0e191f5e7ebfc50155680d0161b4df1a6314 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Tue, 8 Jun 2021 02:07:00 +0000 Subject: [PATCH 21/29] Change daily page limit for P1 and P2 to 60 PROD has already been hotfixed; this PR is to get the change into the site-specific code. --- pinc/stages.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pinc/stages.inc b/pinc/stages.inc index ef8a8b0a85..5bfd0dca9d 100644 --- a/pinc/stages.inc +++ b/pinc/stages.inc @@ -40,7 +40,7 @@ new Round( _("The page-texts are the output from OCR software and need to have the text carefully compared to the image."), 'proofreading_guidelines.php', $pi_tools_for_P, - null, // daily_page_limit + 60, // daily_page_limit [], [ 0 => _('Novice'), @@ -81,7 +81,7 @@ new Round( _("The page-texts have already been proofread, and now need to have the text WordChecked and carefully compared to the image."), 'proofreading_guidelines.php', $pi_tools_for_P, - null, // daily_page_limit + 60, // daily_page_limit ['P1'], [ 0 => _('Precise Proofreader'), @@ -163,7 +163,7 @@ new Round( _("The page-texts have already been proofread, but now need to be formatted with markup which may be specific to the project."), 'formatting_guidelines.php', $pi_tools_for_F, - null, // daily_page_limit + 35, // daily_page_limit [], [ 0 => _('Formatting Neophyte'), From a7e197c9f15f95679a40866c5ff94733e3382fb0 Mon Sep 17 00:00:00 2001 From: srjfoo Date: Sun, 15 Oct 2023 16:21:56 +0000 Subject: [PATCH 22/29] Increase newcomer reserve for P1 to 14 days As requested by GM, update newcomer reserve to 14 days. --- pinc/Round.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pinc/Round.inc b/pinc/Round.inc index 872ee96e4c..c9a1688891 100644 --- a/pinc/Round.inc +++ b/pinc/Round.inc @@ -515,8 +515,8 @@ function get_reserve_length(Project $project, Round $round): int return 0; } - // Otherwise, reserve for 7 days. - return 7; + // Otherwise, reserve for 14 days. + return 14; } // Anything not covered above From 6eb0f547fd06f5a1675ba925e26e85688ff46059 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Sun, 31 Dec 2023 01:10:32 +0000 Subject: [PATCH 23/29] Don't encourage users to apply for F2 & P3 Don't encourage users to apply for F2 and P3 as those require more handholding and review. --- pinc/gradual.inc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pinc/gradual.inc b/pinc/gradual.inc index 6ebb4dfb17..5858c26855 100644 --- a/pinc/gradual.inc +++ b/pinc/gradual.inc @@ -337,6 +337,12 @@ function encourage_highest_round(?string $username, ?string $round_id = null): v return; } + // pgdp-production: don't encourage proofreaders to apply to P3 or F2 + // just yet, as we want to add checks against access_log first + if (in_array($round->id, ["P3", "F2"])) { + continue; + } + // They're already eligible but have not requested access, tell them. $uao = $round->user_access($username); if ($uao->all_minima_satisfied) { From aba860e4a14e24d5efad50f36caa6e6aeddec8d6 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Mon, 1 Jan 2024 06:18:53 +0000 Subject: [PATCH 24/29] Skip self-evaluation on My Suggestions --- pinc/UserSuggestions.inc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pinc/UserSuggestions.inc b/pinc/UserSuggestions.inc index 92f9f9359c..b496cc9178 100644 --- a/pinc/UserSuggestions.inc +++ b/pinc/UserSuggestions.inc @@ -407,6 +407,11 @@ class UserSuggestions // fields used here, and in dependent functions, be populated in the row. $project = new ProjectSuggestion($project_row); + // pgdp-production: skip self-evaluation projects + if (stripos($project->nameofwork, "self-evaluation") !== false) { + continue; + } + try { $round = Rounds::get_by_project_state($project->state); validate_user_against_project_reserve($user, $project, $round); From 442101f38ac5e56d297d7f8886edf356520e5387 Mon Sep 17 00:00:00 2001 From: srjfoo Date: Thu, 28 Aug 2025 00:57:47 +0000 Subject: [PATCH 25/29] F1 daily page limit reduction GM request --- pinc/stages.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pinc/stages.inc b/pinc/stages.inc index 5bfd0dca9d..633579a3b3 100644 --- a/pinc/stages.inc +++ b/pinc/stages.inc @@ -163,7 +163,7 @@ new Round( _("The page-texts have already been proofread, but now need to be formatted with markup which may be specific to the project."), 'formatting_guidelines.php', $pi_tools_for_F, - 35, // daily_page_limit + 25, // daily_page_limit [], [ 0 => _('Formatting Neophyte'), From d362b6eeb4d85acf01168f626f01abac0915a5a5 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Thu, 1 Jan 2026 15:46:44 -0800 Subject: [PATCH 26/29] French projects bypass the daily page limit --- phpstan.neon | 2 -- pinc/daily_page_limit.inc | 12 +++++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index 35dba7059d..4c15cad511 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -38,8 +38,6 @@ parameters: path: pinc/DifferenceEngineWrapper.inc - message: '#Call to function is_array\(\) with array will always evaluate to true.#' path: pinc/3rdparty/mediawiki/WordLevelDiff.php - - message: '#Function get_dpl_enforcement_for_user\(\) never returns null.*#' - path: pinc/daily_page_limit.inc - message: '#Variable .* might not be defined#' - message: '#Constant .* not found#' diff --git a/pinc/daily_page_limit.inc b/pinc/daily_page_limit.inc index 04b011e62d..0f67c3175e 100644 --- a/pinc/daily_page_limit.inc +++ b/pinc/daily_page_limit.inc @@ -49,9 +49,15 @@ function get_dpl_count_for_user_in_round(string $username, Round $round): int */ function get_dpl_enforcement_for_user(string $username, Round $round, Project $project): ?int { - // This function is a placeholder for sites to add any per-project - // customizations that might bypass the DPL enforcement. So while it - // doesn't currently return null, it might after site-specific updates. + // pgdp-production - projects with some primary languages bypass DPL + $dpl_exempt_languages = [ + "French", + "French, Middle (ca.1400-1600)", + "French, Old (842-ca.1400)", + ]; + if (in_array($project->languages[0], $dpl_exempt_languages)) { + return null; + } return get_dpl_count_for_user_in_round($username, $round); } From ce2f60617edda23e17f65c5ef334698a2f0d86bc Mon Sep 17 00:00:00 2001 From: srjfoo Date: Mon, 21 Sep 2026 03:06:26 +0000 Subject: [PATCH 27/29] Remove daily page limit for Portuguese At the request of the Portuguese PMs and approved by the GM, remove the daily page limit for Portuguese --- pinc/daily_page_limit.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/pinc/daily_page_limit.inc b/pinc/daily_page_limit.inc index 0f67c3175e..b4b17a70b6 100644 --- a/pinc/daily_page_limit.inc +++ b/pinc/daily_page_limit.inc @@ -54,6 +54,7 @@ function get_dpl_enforcement_for_user(string $username, Round $round, Project $p "French", "French, Middle (ca.1400-1600)", "French, Old (842-ca.1400)", + "Portuguese", ]; if (in_array($project->languages[0], $dpl_exempt_languages)) { return null; From 979c3a17fbe04e356335d8d7f409bc43bffbd607 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Fri, 28 Aug 2026 16:30:15 -0700 Subject: [PATCH 28/29] Set WordCheck, Unicode, and Format Preview tracking dates --- pinc/SiteConfig.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pinc/SiteConfig.inc b/pinc/SiteConfig.inc index e015489080..808284c0ad 100644 --- a/pinc/SiteConfig.inc +++ b/pinc/SiteConfig.inc @@ -78,7 +78,7 @@ class SiteConfig // AlertExceedsMax -- should be set to true if you wish files that cannot // be scanned at that limit to be rejected. // See `man clamd.conf` for more detailed info - public int $uploads_max_size_mb = 1024; + public int $uploads_max_size_mb = 200; // WordCheck & locales public string $aspell_executable = '/usr/bin/aspell'; @@ -107,9 +107,9 @@ class SiteConfig public ?string $translation_coordinator_email_addr; // New feature deployment timestamps - public int $wordcheck_deployed = 0; - public int $unicode_deployed = 0; - public int $format_preview_tracking_deployed = 0; + public int $wordcheck_deployed = 1173762000; // March 13 2007 + public int $unicode_deployed = 1589785200; // midnight May 18 2020 + public int $format_preview_tracking_deployed = 1765472400; // December 11 2025 // Misc configuration public bool $use_secure_cookies = false; From 0c01ef7dbf8299d8b29ddb2fcc0d6b34dba54ae7 Mon Sep 17 00:00:00 2001 From: Casey Peel Date: Wed, 14 Oct 2026 09:17:36 -0700 Subject: [PATCH 29/29] Remove final require_login() fixup Add redirects for old Page Browser pages --- tools/display_image.php | 2 -- tools/mentors/view_page_text_image.php | 2 -- tools/project_manager/displayimage.php | 2 -- 3 files changed, 6 deletions(-) diff --git a/tools/display_image.php b/tools/display_image.php index be83cc4c56..0ed55a8d83 100644 --- a/tools/display_image.php +++ b/tools/display_image.php @@ -4,8 +4,6 @@ include_once($relPath."slim_header.inc"); include_once($relPath."Project.inc"); -require_login(); - $projectid = get_projectID_param($_GET, 'project', true) ?? get_projectID_param($_GET, 'projectid', true); $imagefile = get_page_image_param($_GET, 'imagefile', true) ?? diff --git a/tools/mentors/view_page_text_image.php b/tools/mentors/view_page_text_image.php index 152353c819..91abea91a9 100644 --- a/tools/mentors/view_page_text_image.php +++ b/tools/mentors/view_page_text_image.php @@ -4,8 +4,6 @@ include_once($relPath."slim_header.inc"); include_once($relPath."Project.inc"); -require_login(); - $projectid = get_projectID_param($_GET, 'project', true) ?? get_projectID_param($_GET, 'projectid', true); $imagefile = get_page_image_param($_GET, 'imagefile', true) ?? diff --git a/tools/project_manager/displayimage.php b/tools/project_manager/displayimage.php index 3ec84492a8..dcbd3292a3 100644 --- a/tools/project_manager/displayimage.php +++ b/tools/project_manager/displayimage.php @@ -4,8 +4,6 @@ include_once($relPath."slim_header.inc"); include_once($relPath."Project.inc"); -require_login(); - $projectid = get_projectID_param($_GET, 'project', true) ?? get_projectID_param($_GET, 'projectid', true); $imagefile = get_page_image_param($_GET, 'imagefile', true) ??

    " . _("Distributed Proofreaders refers to the web site at www.pgdp.net. It is governed by the Distributed Proofreaders Foundation. Community members affectionately refer to it as simply 'DP', but use the full 'Distributed Proofreaders' name for clarity when outside the community.") . "