View Issue Details

IDProjectCategoryView StatusLast Update
0032909mantisbtadministrationpublic2023-09-22 16:23
Reporteratrol Assigned Todregad  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version2.26.0 
Summary0032909: Internal application error when editing a Project Version.
Description

Starting with implementation of 0030415, the PHP SOAP extension has become a mandatory extension.
Before that, the extension was just needed when using the SOAP API.
If the extension is not enabled, an internal application error ( Class "SoapVar" not found) will occur when trying to edit a project version.

TagsNo tags attached.

Relationships

related to 0030415 closedvboctor REST API: Add API to Get / Delete / Update versions 

Activities

dregad

dregad

2023-09-06 03:29

developer   ~0068071

I can reproduce this. Error occurs in VersionGetCommand.php line 167, calling ApiObjectFactory::datetime(). It makes no sense to require the SOAP extension for this.

We're probably just missing a ApiObjectFactory::$soap = false; somewhere...

dregad

dregad

2023-09-06 04:10

developer   ~0068072

Removing target/fixed in version, so this does not appear on Changelog since it was introduced by new functionality in 2.26.0.

Also updated the Summary to more accurately reflect what the issue is.

Related Changesets

MantisBT: master 69cc2cfc

2023-09-06 04:06

dregad


Details Diff
Bad timestamp in VersionGetCommand::VersionToArray()

Missing ApiObjectFactory::$soap = false initialization causes the
version's date_order to be initialized as a XSD_DATETIME SoapVar instead
of an ISO-formatted date string as expected.

As long as the PHP SOAP Extension is available, this does not cause any
actual side effects, because
- the return value is not used when the Commands are used from within
Mantis Core
- REST API initializes ApiObjectFactory::$soap = false so date_order is
returned in the correct format.

If the SOAP extension is not available, Mantis triggers an internal
application error when this function is called.

Fixes 0032909, 0030415
Affected Issues
0030415, 0032909
mod - core/commands/VersionGetCommand.php Diff File