Files
server/usr/share/psa-horde/turba/lib/View/EditContact.php
2026-01-07 20:52:11 +01:00

68 lines
2.0 KiB
PHP

<?php
/**
* The Turba_View_EditContact:: class provides an API for viewing events.
*
* @author Chuck Hagenbuch <chuck@horde.org>
* @package Turba
*/
class Turba_View_EditContact
{
/**
*
* @var Turba_Object
*/
public $contact;
/**
* @param Turba_Object $contact
*/
public function __construct(Turba_Object $contact)
{
$this->contact = $contact;
}
public function getTitle()
{
return $this->contact
? sprintf($this->contact->isGroup() ? _("Edit Contact List \"%s\"") : _("Edit \"%s\""), $this->contact->getValue('name'))
: _("Not Found");
}
public function html($active = true)
{
global $browser, $vars;
if (!$this->contact) {
echo '<h3>' . _("The requested contact was not found.") . '</h3>';
return;
}
if (!$this->contact->hasPermission(Horde_Perms::EDIT)) {
if (!$this->contact->hasPermission(Horde_Perms::READ)) {
echo '<h3>' . _("You do not have permission to view this contact.") . '</h3>';
return;
} else {
echo '<h3>' . _("You only have permission to view this contact.") . '</h3>';
return;
}
}
echo '<div id="EditContact"' . ($active ? '' : ' style="display:none"') . '>';
$form = new Turba_Form_EditContact($vars, $this->contact);
$form->renderActive($form->getRenderer(), $vars, Horde::url('edit.php'), 'post');
echo '</div>';
if ($active && $browser->hasFeature('dom')) {
if ($this->contact->hasPermission(Horde_Perms::READ)) {
$view = new Turba_View_Contact($this->contact);
$view->html(false);
}
if ($this->contact->hasPermission(Horde_Perms::DELETE)) {
$delete = new Turba_View_DeleteContact($this->contact);
$delete->html(false);
}
}
}
}