Overview

Packages

  • Kronolith
  • None

Classes

  • Kronolith
  • Kronolith_Ajax_Application
  • Kronolith_Ajax_Imple_ContactAutoCompleter
  • Kronolith_Ajax_Imple_Embed
  • Kronolith_Ajax_Imple_TagActions
  • Kronolith_Ajax_Imple_TagAutoCompleter
  • Kronolith_Api
  • Kronolith_Calendar
  • Kronolith_Calendar_External
  • Kronolith_Calendar_External_Tasks
  • Kronolith_Calendar_Holiday
  • Kronolith_Calendar_Internal
  • Kronolith_Calendar_Remote
  • Kronolith_Calendar_Resource
  • Kronolith_Calendars_Base
  • Kronolith_Calendars_Default
  • Kronolith_Calendars_Kolab
  • Kronolith_Day
  • Kronolith_Driver
  • Kronolith_Driver_Holidays
  • Kronolith_Driver_Horde
  • Kronolith_Driver_Ical
  • Kronolith_Driver_Kolab
  • Kronolith_Driver_Mock
  • Kronolith_Driver_Resource
  • Kronolith_Driver_Sql
  • Kronolith_Event
  • Kronolith_Event_Holidays
  • Kronolith_Event_Horde
  • Kronolith_Event_Ical
  • Kronolith_Event_Kolab
  • Kronolith_Event_Resource
  • Kronolith_Event_Sql
  • Kronolith_Exception
  • Kronolith_Factory_Calendars
  • Kronolith_Factory_Geo
  • Kronolith_Form_CreateCalendar
  • Kronolith_Form_CreateResource
  • Kronolith_Form_CreateResourceGroup
  • Kronolith_Form_DeleteCalendar
  • Kronolith_Form_DeleteResource
  • Kronolith_Form_DeleteResourceGroup
  • Kronolith_Form_EditCalendar
  • Kronolith_Form_EditRemoteCalendar
  • Kronolith_Form_EditResource
  • Kronolith_Form_EditResourceGroup
  • Kronolith_Form_SubscribeRemoteCalendar
  • Kronolith_Form_UnsubscribeRemoteCalendar
  • Kronolith_FreeBusy
  • Kronolith_FreeBusy_View
  • Kronolith_FreeBusy_View_Day
  • Kronolith_FreeBusy_View_Month
  • Kronolith_FreeBusy_View_Week
  • Kronolith_FreeBusy_View_Workweek
  • Kronolith_Geo_Base
  • Kronolith_Geo_Mysql
  • Kronolith_Geo_Sql
  • Kronolith_LoginTasks_SystemTask_Upgrade
  • Kronolith_LoginTasks_Task_PurgeEvents
  • Kronolith_Notification_Listener_AjaxStatus
  • Kronolith_Resource
  • Kronolith_Resource_Base
  • Kronolith_Resource_Group
  • Kronolith_Resource_Single
  • Kronolith_Storage
  • Kronolith_Storage_Kolab
  • Kronolith_Storage_Sql
  • Kronolith_Tagger
  • Kronolith_Test
  • Kronolith_View_Day
  • Kronolith_View_DeleteEvent
  • Kronolith_View_EditEvent
  • Kronolith_View_Event
  • Kronolith_View_ExportEvent
  • Kronolith_View_Month
  • Kronolith_View_Week
  • Kronolith_View_WorkWeek
  • Kronolith_View_Year
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * Horde_Form for editing resource groups.
 4:  *
 5:  * See the enclosed file COPYING for license information (GPL). If you
 6:  * did not receive this file, see http://www.horde.org/licenses/gpl.
 7:  *
 8:  * @package Kronolith
 9:  */
10: 
11: /**
12:  * The Kronolith_EditResourceGroupForm class provides the form for editing
13:  * resource groups.
14:  *
15:  * @author  Chuck Hagenbuch <chuck@horde.org>
16:  * @author  Michael J. Rubinsky <mrubinsk@horde.org>
17:  * @package Kronolith
18:  */
19: class Kronolith_Form_EditResourceGroup extends Horde_Form
20: {
21:     /**
22:      * Resource group being edited.
23:      *
24:      * @var Kronolith_Resource_Single
25:      */
26:     protected $_resource;
27: 
28:     /**
29:      * @throws Kronolith_Exception
30:      */
31:     public function __construct($vars, $resource)
32:     {
33:         $this->_resource = $resource;
34:         parent::__construct($vars, sprintf(_("Edit %s"), $resource->get('name')));
35: 
36:         $resources = Kronolith::getDriver('Resource')->listResources(Horde_Perms::READ, array('type' => Kronolith_Resource::TYPE_SINGLE));
37:         $enum = array();
38:         foreach ($resources as $r) {
39:             $enum[$r->getId()] = htmlspecialchars($r->get('name'));
40:         }
41: 
42:         $this->addHidden('', 'c', 'text', true);
43:         $this->addVariable(_("Name"), 'name', 'text', true);
44:         $this->addVariable(_("Description"), 'description', 'longtext', false, false, null, array(4, 60));
45:         $this->addVariable(_("Resources"), 'members', 'multienum', false, false, null, array('enum' => $enum));
46:         $this->setButtons(array(_("Save")));
47:     }
48: 
49:     /**
50:      * @throws Kronolith_Exception
51:      */
52:     public function execute()
53:     {
54:         $original_name = $this->_resource->get('name');
55:         $new_name = $this->_vars->get('name');
56:         $this->_resource->set('name', $new_name);
57:         $this->_resource->set('description', $this->_vars->get('description'));
58:         $this->_resource->set('members', $this->_vars->get('members'));
59: 
60:         try {
61:             $this->_resource->save();
62:         } catch (Exception $e) {
63:             throw new Kronolith_Exception(sprintf(_("Unable to save resource \"%s\": %s"), $new_name, $e->getMessage()));
64:         }
65: 
66:         return $this->_resource;
67:     }
68: 
69: }
70: 
API documentation generated by ApiGen