1<?php
2/**
3 * The Turba_View_DeleteContact:: class provides an API for viewing events.
4 * @TODO: Refactor to a Horde_View
5 *
6 * @author  Chuck Hagenbuch <chuck@horde.org>
7 * @package Turba
8 */
9class Turba_View_DeleteContact
10{
11    /**
12     * @var Turba_Object
13     *
14     */
15    public $contact;
16
17    /**
18     * @param Turba_Object $contact
19     */
20    public function __construct(Turba_Object $contact)
21    {
22        $this->contact = $contact;
23    }
24
25    public function getTitle()
26    {
27        return $this->contact
28            ? sprintf($this->contact->isGroup() ? _("Delete Contact List \"%s\"") : _("Delete \"%s\""), $this->contact->getValue('name'))
29            : _("Not Found");
30    }
31
32    public function html($active = true)
33    {
34        if (!$this->contact) {
35            echo '<h3>' . _("The requested contact was not found.") . '</h3>';
36            return;
37        }
38
39        if (!$this->contact->hasPermission(Horde_Perms::DELETE)) {
40            if (!$this->contact->hasPermission(Horde_Perms::READ)) {
41                echo '<h3>' . _("You do not have permission to view this contact.") . '</h3>';
42                return;
43            } else {
44                echo '<h3>' . _("You only have permission to view this contact.") . '</h3>';
45                return;
46            }
47        }
48
49        echo '<div id="DeleteContact"' . ($active ? '' : ' style="display:none"') . '>';
50        ?>
51        <form action="<?php echo Horde::url('delete.php') ?>" method="post">
52        <?php echo Horde_Util::formInput() ?>
53        <input type="hidden" name="url" value="<?php echo htmlspecialchars(Horde_Util::getFormData('url')) ?>" />
54        <input type="hidden" name="source" value="<?php echo htmlspecialchars($this->contact->driver->getName()) ?>" />
55        <input type="hidden" name="key" value="<?php echo htmlspecialchars($this->contact->getValue('__key')) ?>" />
56        <div class="headerbox" style="padding: 8px">
57         <p><?php echo _("Permanently delete this contact?") ?></p>
58         <input type="submit" class="horde-delete" name="delete" value="<?php echo _("Delete") ?>" />
59        </div>
60        </form>
61        </div>
62        <?php
63        if ($active && $GLOBALS['browser']->hasFeature('dom')) {
64            if ($this->contact->hasPermission(Horde_Perms::READ)) {
65                $view = new Turba_View_Contact($this->contact);
66                $view->html(false);
67            }
68            if ($this->contact->hasPermission(Horde_Perms::EDIT)) {
69                $delete = new Turba_View_EditContact($this->contact);
70                $delete->html(false);
71            }
72        }
73    }
74
75}
76