1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
<?php
/**
* Horde_Form for editing calendars.
*
* $Horde: kronolith/lib/Forms/EditCalendar.php,v 1.1.2.1 2007/12/20 14:12:36 jan Exp $
*
* See the enclosed file COPYING for license information (GPL). If you
* did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
*
* @package Kronolith
*/
/** Variables */
require_once 'Horde/Variables.php';
/** Horde_Form */
require_once 'Horde/Form.php';
/** Horde_Form_Renderer */
require_once 'Horde/Form/Renderer.php';
/**
* The Kronolith_EditCalendarForm class provides the form for
* editing a calendar.
*
* @author Chuck Hagenbuch <chuck@horde.org>
* @since Kronolith 2.2
* @package Kronolith
*/
class Kronolith_EditCalendarForm extends Horde_Form {
/**
* Calendar being edited
*/
var $_calendar;
function Kronolith_EditCalendarForm(&$vars, &$calendar)
{
$this->_calendar = &$calendar;
parent::Horde_Form($vars, sprintf(_("Edit %s"), $calendar->get('name')));
$this->addHidden('', 'c', 'text', true);
$this->addVariable(_("Name"), 'name', 'text', true);
$this->addVariable(_("Description"), 'description', 'longtext', false, false, null, array(4, 60));
$this->setButtons(array(_("Save")));
}
function execute()
{
$original_name = $this->_calendar->get('name');
$this->_calendar->set('name', $this->_vars->get('name'));
$this->_calendar->set('desc', $this->_vars->get('description'));
if ($original_name != $this->_vars->get('name')) {
$result = $GLOBALS['kronolith_driver']->rename($original_name, $this->_vars->get('name'));
if (is_a($result, 'PEAR_Error')) {
return PEAR::raiseError(sprintf(_("Unable to rename \"%s\": %s"), $original_name, $result->getMessage()));
}
}
$result = $this->_calendar->save();
if (is_a($result, 'PEAR_Error')) {
return PEAR::raiseError(sprintf(_("Unable to save calendar \"%s\": %s"), $id, $result->getMessage()));
}
return true;
}
}
|