update fails when a module is being removed

Bug #853936 reported by Carl Leitner
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
I2CE
Fix Committed
Critical
Carl Leitner

Bug Description

Updating a site when a module needs to remove fails with an error similar to the one below:

I2CE: I2CE_Error->handleError (/home/litlfred/rocket_cats/dev/I2CE/lib/I2CE.php:858)
I2CE->handleError
array_key_exists (/home/litlfred/rocket_cats/dev/I2CE/lib/I2CE_Configurator.php:804)
I2CE_Configurator->checkRequirements (/home/litlfred/rocket_cats/dev/I2CE/lib/I2CE_Updater.php:470)
I2CE_Updater->_updateModules (/home/litlfred/rocket_cats/dev/I2CE/lib/I2CE_Updater.php:387)
I2CE_Updater->updateOutOfDateConfigFiles (/home/litlfred/rocket_cats/dev/I2CE/lib/I2CE_Updater.php:352)
I2CE_Updater->reinstall (/home/litlfred/rocket_cats/dev/I2CE/lib/I2CE_Updater.php:168)
I2CE_Updater->_updateSite (/home/litlfred/rocket_cats/dev/I2CE/lib/I2CE_Updater.php:100)
I2CE_Updater->updateSite (/home/litlfred/rocket_cats/dev/I2CE/lib/I2CE.php:600)
I2CE->initializeDSN (/home/litlfred/rocket_cats/dev/I2CE/lib/I2CE.php:509)
I2CE->initialize (/home/litlfred/Dropbox/work/botswana/bzr branches/4.0_carl/pages/index.php:55):
  array_key_exists(): The first argument should be either a string or an integer
 Occured on line 804 of /home/litlfred/Dropbox/work/ihris-release/4.0.18/I2CE/lib/I2CE_Configurator.php

Related branches

Revision history for this message
Carl Leitner (litlfred) wrote :

If this error occurs for you in 4.0.18, you can download a fixed version of the file I2CE/lib/I2CE_Configurator at:
   http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/view/head:/lib/I2CE_Configurator.php

Changed in i2ce:
status: New → Fix Committed
importance: Undecided → High
assignee: nobody → Carl Leitner (litlfred)
importance: High → Critical
Revision history for this message
Carl Leitner (litlfred) wrote :

There is a second issue. In I2CE_Configurator->checkRequirements(), the array $removals has keys modules and values true/false.

The logic of the loop starting on line 763 has this backwards.

Revision history for this message
Carl Leitner (litlfred) wrote :

you will know if you have this later error if you see an error message on a system update that says
  bad removals: 1

Revision history for this message
Carl Leitner (litlfred) wrote :

This error has been fixed in the development code and will be a part of releases 4.0.20 and 4.1.2.

If you are using 4.0.19 and need this fix, you can download I2CE_Configurator.php from here:
  http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/view/head:/lib/I2CE_Configurator.php
and replace the file in /var/lib/iHRIS/lib/4.0.19/I2CE/lib

If you are using 4.1.1 and need this fix, you can download I2CE_Configurator.php from here:
  http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/view/head:/lib/I2CE_Configurator.php
and replace the file in /var/lib/iHRIS/lib/4.0.19/I2CE/lib

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.