OJS3 - Can't update institutional subscription for 1 journal in a multi-journal install

We’re running version 3.1.2-1 of OJS, and can’t seem to update the institutional subscriptions for one particular journal in our install – others work.

If i go into edit mode, and jump down straight to save, it complains about it not having a valid start date – which it most definitely has.

date-error

Here’s the apache error log for that request:

[Mon Jul 22 13:55:52.157444 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Illegal string offset 'en_US' in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.157600 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Cannot assign an empty string to a string offset in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.157716 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Illegal string offset 'en_US' in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.157809 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Cannot assign an empty string to a string offset in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.193960 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Declaration of JatsTemplatePlugin::register($category, $path) should be compatible with LazyLoadPlugin::register($category, $path, $mainContextId = NULL) in /var/www/journals.lib.unb.ca/htdocs/plugins/generic/jatsTemplate/JatsTemplatePlugin.inc.php on line 0, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.379335 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Declaration of CustomBlockPlugin::getBlockContext() should be compatible with BlockPlugin::getBlockContext($contextId = NULL) in /var/www/journals.lib.unb.ca/htdocs/plugins/generic/customBlockManager/CustomBlockPlugin.inc.php on line 0, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.393880 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Declaration of SubscriptionForm::fetch($request) should be compatible with Form::fetch($request, $template = NULL, $display = false) in /var/www/journals.lib.unb.ca/htdocs/classes/subscription/form/SubscriptionForm.inc.php on line 18, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.394020 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Declaration of InstitutionalSubscriptionsGridHandler::renderFilter($request) should be compatible with SubscriptionsGridHandler::renderFilter($request, $filterData = Array) in /var/www/journals.lib.unb.ca/htdocs/controllers/grid/subscriptions/InstitutionalSubscriptionsGridHandler.inc.php on line 20, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.462327 2019] [php7:notice] [pid 2845] [client 131.202.35.39:49094] PHP Notice:  Only variables should be passed by reference in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/currency/CurrencyDAO.inc.php on line 83, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.463666 2019] [php7:notice] [pid 2845] [client 131.202.35.39:49094] PHP Notice:  Only variables should be passed by reference in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/currency/CurrencyDAO.inc.php on line 83, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.464915 2019] [php7:notice] [pid 2845] [client 131.202.35.39:49094] PHP Notice:  Only variables should be passed by reference in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/currency/CurrencyDAO.inc.php on line 83, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.466095 2019] [php7:notice] [pid 2845] [client 131.202.35.39:49094] PHP Notice:  Only variables should be passed by reference in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/currency/CurrencyDAO.inc.php on line 83, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.467313 2019] [php7:notice] [pid 2845] [client 131.202.35.39:49094] PHP Notice:  Only variables should be passed by reference in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/currency/CurrencyDAO.inc.php on line 83, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.468516 2019] [php7:notice] [pid 2845] [client 131.202.35.39:49094] PHP Notice:  Only variables should be passed by reference in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/currency/CurrencyDAO.inc.php on line 83, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.469723 2019] [php7:notice] [pid 2845] [client 131.202.35.39:49094] PHP Notice:  Only variables should be passed by reference in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/currency/CurrencyDAO.inc.php on line 83, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.592399 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Illegal string offset 'en_US' in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.592529 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Cannot assign an empty string to a string offset in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.592668 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Illegal string offset 'en_US' in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.592759 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Cannot assign an empty string to a string offset in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.627881 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Declaration of JatsTemplatePlugin::register($category, $path) should be compatible with LazyLoadPlugin::register($category, $path, $mainContextId = NULL) in /var/www/journals.lib.unb.ca/htdocs/plugins/generic/jatsTemplate/JatsTemplatePlugin.inc.php on line 0, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:52.869077 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Declaration of CustomBlockPlugin::getBlockContext() should be compatible with BlockPlugin::getBlockContext($contextId = NULL) in /var/www/journals.lib.unb.ca/htdocs/plugins/generic/customBlockManager/CustomBlockPlugin.inc.php on line 0, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:53.119029 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Illegal string offset 'en_US' in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:53.119171 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Cannot assign an empty string to a string offset in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:53.119284 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Illegal string offset 'en_US' in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:53.119377 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Cannot assign an empty string to a string offset in /var/www/journals.lib.unb.ca/htdocs/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:53.155147 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Declaration of JatsTemplatePlugin::register($category, $path) should be compatible with LazyLoadPlugin::register($category, $path, $mainContextId = NULL) in /var/www/journals.lib.unb.ca/htdocs/plugins/generic/jatsTemplate/JatsTemplatePlugin.inc.php on line 0, referer: https://journals.lib.unb.ca/index.php/ag/payments
[Mon Jul 22 13:55:53.368903 2019] [php7:warn] [pid 2845] [client 131.202.35.39:49094] PHP Warning:  Declaration of CustomBlockPlugin::getBlockContext() should be compatible with BlockPlugin::getBlockContext($contextId = NULL) in /var/www/journals.lib.unb.ca/htdocs/plugins/generic/customBlockManager/CustomBlockPlugin.inc.php on line 0, referer: https://journals.lib.unb.ca/index.php/ag/payments

Any help would be much appreciated!

There is, oddly, a bit of code which forces the subscription start date to be within the last ten years:

Nice catch. That is indeed the issue.

I changed the start date year to 2018 and the form saved without issue.

Wonder if the code should be changed though…?

I should add that if you initially get the date error, then try to fix it, the form then complains about the “domain” being empty – so you really have to refresh the page to reset the form in order for the date fix to work.

Yes, I think this should be opened as an issue in GitHub. Do you have GitHub credentials to do this?

I do, indeed. I will submit an issue shortly.