PKP Bugzilla – Bug 7713
errors caused by request parameter in PaymentManager constructor
Last modified: 2012-07-23 11:53:19 PDT
I'm getting the following error at the top of each page if I have display_errors set to On: ojs2 has produced an error Message: WARNING: Missing argument 1 for PaymentManager::PaymentManager(), called in classes/payment/ojs/OJSPaymentManager.inc.php on line 35 and defined In file: lib/pkp/classes/payment/PaymentManager.inc.php At line: 22 Stacktrace: File: lib/pkp/classes/payment/PaymentManager.inc.php line 22 Function: PKPApplication->errorHandler(2, "Missing argument 1 for PaymentManager::PaymentManager(), called in classes/payment/ojs/OJSPaymentManager.inc.php on line 35 and defined", "lib/pkp/classes/payment/PaymentManager.inc.php", 22, Array(0)) File: classes/payment/ojs/OJSPaymentManager.inc.php line 35 Function: PaymentManager->PaymentManager() File: classes/template/TemplateManager.inc.php line 115 Function: OJSPaymentManager->getManager() File: lib/pkp/classes/template/PKPTemplateManager.inc.php line 340 Function: TemplateManager->TemplateManager(Null) File: plugins/generic/staticPages/StaticPagesPlugin.inc.php line 65 Function: PKPTemplateManager->getManager() File: (unknown) line (unknown) Function: StaticPagesPlugin->callbackHandleContent("LoadHandler", Array(3)) File: lib/pkp/classes/plugins/HookRegistry.inc.php line 79 Function: call_user_func(Array(2), "LoadHandler", Array(3)) File: lib/pkp/classes/core/PKPPageRouter.inc.php line 224 Function: HookRegistry->call("LoadHandler", Array(3)) File: lib/pkp/classes/core/Dispatcher.inc.php line 129 Function: PKPPageRouter->route(Object(Request)) File: lib/pkp/classes/core/PKPApplication.inc.php line 180 Function: Dispatcher->dispatch(Object(Request)) File: index.php line 65 Function: PKPApplication->execute() Server info: OS: Darwin PHP Version: 5.3.8 DB Driver: mysql DB server version: 5.5.15 ---- It looks to me that there is an unnecessary parameter in the PaymentManager constructor. The only place I see the constructor called is in OJSPaymentManager, and it does not provide any arguments: classes/payment/ojs/OJSPaymentManager.inc.php line 35: $manager = new OJSPaymentManager(); lib/pkp/classes/payment/PaymentManager.inc.php: function PaymentManager($request) { $this->request =& $request; } I have not found anything that accesses such a property, other than the constructor. Is there a reason the constructor has this request parameter? Can the parameter be safely removed from the constructor?
*** This bug has been marked as a duplicate of bug 7229 ***
Charles, it's worth keeping a watch on http://pkp.sfu.ca/wiki/index.php/OJS_2.3.7_Recommended_Patches for a short-list of patches to consider applying between releases.