Skip to content

Commit

Permalink
Fix #2, add upgrade for search elements.
Browse files Browse the repository at this point in the history
  • Loading branch information
zerocrates committed Jun 20, 2014
1 parent 46a8d2e commit bf31cac
Showing 1 changed file with 17 additions and 5 deletions.
22 changes: 17 additions & 5 deletions HideElementsPlugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ class HideElementsPlugin extends Omeka_Plugin_AbstractPlugin

protected $_filters = array('display_elements', 'elements_select_options');

protected $_settings;

public function hookInstall()
{
$defaults = array(
Expand All @@ -33,12 +31,26 @@ public function hookUninstall()

public function hookUpgrade($args)
{
if (version_compare($args['old_version'], '1.1', '<=')) {
$settings = json_decode(get_option('hide_elements_settings'), true);
$oldVersion = $args['old_version'];
$settings = json_decode(get_option('hide_elements_settings'), true);
if (version_compare($oldVersion, '1.2', '<')) {
$settings['override'] = array();
$settings['search'] = array();
set_option('hide_elements_settings', json_encode($settings));
}

// Convert old-style search hide settings to ID-based storage
if (version_compare($oldVersion, '1.3', '<')) {
$newSearch = array();
$elementTable = $this->_db->getTable('Element');
foreach ($settings['search'] as $set => $elements) {
foreach ($elements as $element => $enabled) {
$element = $elementTable->findByElementSetNameAndElementName($set, $element);
$newSearch[$set][$element->id] = $enabled;
}
}
$settings['search'] = $newSearch;
}
set_option('hide_elements_settings', json_encode($settings));
}

public function hookInitialize()
Expand Down

0 comments on commit bf31cac

Please sign in to comment.