Overview

Packages

  • Hermes
  • Horde
    • Data
  • Kronolith
  • None

Classes

  • Hermes
  • Hermes_Ajax_Application
  • Hermes_Api
  • Hermes_Driver
  • Hermes_Driver_Sql
  • Hermes_Factory_Driver
  • Hermes_Form_Admin_AddJobType
  • Hermes_Form_Admin_DeleteJobType
  • Hermes_Form_Admin_EditClientStepOne
  • Hermes_Form_Admin_EditClientStepTwo
  • Hermes_Form_Admin_EditJobTypeStepOne
  • Hermes_Form_Admin_EditJobTypeStepTwo
  • Hermes_Form_Deliverable
  • Hermes_Form_Deliverable_ClientSelector
  • Hermes_Form_Export
  • Hermes_Form_JobType_Edit_Step1
  • Hermes_Form_Search
  • Hermes_Form_Time
  • Hermes_Form_Time_Entry
  • Hermes_LoginTasks_SystemTask_Upgrade
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * Login system task for automated upgrade tasks.
 4:  *
 5:  * Copyright 2011-2012 Horde LLC (http://www.horde.org/)
 6:  *
 7:  * See the enclosed file COPYING for license information (BSD). If you
 8:  * did not receive this file, see http://www.horde.org/licenses/bsdl.php.
 9:  *
10:  * @author   Michael Slusarz <slusarz@horde.org>
11:  * @category Horde
12:  * @license  http://www.horde.org/licenses/bsdl.php BSD
13:  * @package  Hermes
14:  */
15: class Hermes_LoginTasks_SystemTask_Upgrade extends Horde_Core_LoginTasks_SystemTask_Upgrade
16: {
17:     /**
18:      */
19:     protected $_app = 'hermes';
20: 
21:     /**
22:      */
23:     protected $_versions = array(
24:         '2.0'
25:     );
26: 
27:     /**
28:      */
29:     protected function _upgrade($version)
30:     {
31:         switch ($version) {
32:         case '2.0':
33:             $this->_upgradeTimersStorage();
34:             $this->_upgradePausedTimers();
35:         }
36:     }
37: 
38:     protected function _upgradeTimersStorage()
39:     {
40:         /* Upgrade to the new preferences storage format. */
41:         $upgrade_prefs = array(
42:             'running_timers'
43:         );
44: 
45:         $GLOBALS['injector']->getInstance('Horde_Core_Prefs_Storage_Upgrade')->upgradeSerialized($GLOBALS['prefs'], $upgrade_prefs);
46:     }
47: 
48:     /**
49:      * Add new fields to support pausing timers to any timers that are currently
50:      * running.
51:      */
52:     protected function _upgradePausedTimers()
53:     {
54:         $timers = @unserialize($GLOBALS['prefs']->getValue('running_timers'));
55:         if (!is_array($timers)) {
56:             $timers = array();
57:         };
58: 
59:         foreach ($timers as &$timer) {
60:             $timer['paused'] = false;
61:             $timer['elapsed'] = 0;
62:         }
63: 
64:         $GLOBALS['prefs']->setValue('running_timers', serialize($timers));
65:     }
66: 
67: }
68: 
API documentation generated by ApiGen