Kronolith::eventTabs PHP Method

eventTabs() public static method

public static eventTabs ( string $tabname, Kronolith_Event $event )
$tabname string
$event Kronolith_Event
    public static function eventTabs($tabname, $event)
    {
        if (!$event->initialized) {
            return;
        }
        $GLOBALS['page_output']->addScriptFile('views.js');
        $tabs = new Horde_Core_Ui_Tabs('event', Horde_Variables::getDefaultVariables());
        $date = self::currentDate();
        $tabs->preserve('datetime', $date->dateString());
        $tabs->addTab(htmlspecialchars($event->getTitle()), $event->getViewUrl(), array('tabname' => 'Event', 'id' => 'tabEvent', 'onclick' => 'return ShowTab(\'Event\');'));
        /* We check for read permissions, because we can always save a copy if
         * we can read the event. */
        if ((!$event->private || $event->creator == $GLOBALS['registry']->getAuth()) && $event->hasPermission(Horde_Perms::READ) && self::getDefaultCalendar(Horde_Perms::EDIT)) {
            $tabs->addTab($event->hasPermission(Horde_Perms::EDIT) ? _("_Edit") : _("Save As New"), $event->getEditUrl(), array('tabname' => 'EditEvent', 'id' => 'tabEditEvent', 'onclick' => 'return ShowTab(\'EditEvent\');'));
        }
        if ($event->hasPermission(Horde_Perms::DELETE)) {
            $tabs->addTab(_("De_lete"), $event->getDeleteUrl(array('confirm' => 1)), array('tabname' => 'DeleteEvent', 'id' => 'tabDeleteEvent', 'onclick' => 'return ShowTab(\'DeleteEvent\');'));
        }
        $tabs->addTab(_("Export"), $event->getExportUrl(), array('tabname' => 'ExportEvent', 'id' => 'tabExportEvent'));
        echo $tabs->render($tabname);
    }

Usage Example

コード例 #1
0
ファイル: event.php プロジェクト: jubinpatel/horde
}
if (Kronolith::showAjaxView()) {
    Horde::url('', true)->setAnchor('event:' . $view->event->calendarType . '|' . $view->event->calendar . ':' . $view->event->id . ':' . Horde_Util::getFormData('datetime', Kronolith::currentDate()->dateString()))->redirect();
}
switch ($viewName) {
    case 'DeleteEvent':
        /* Shortcut when we're deleting events and don't want confirmation. */
        if (!$view->event->recurs() && !($prefs->getValue('confirm_delete') || Horde_Util::getFormData('confirm'))) {
            Horde::url('delete.php?' . $_SERVER['QUERY_STRING'], true)->redirect();
        }
        break;
    case 'EditEvent':
        if ($view->event->private && $view->event->creator != $GLOBALS['registry']->getAuth()) {
            $url = $url = Horde_Util::getFormData('url');
            if (!empty($url)) {
                $url = new Horde_Url($url, true);
            } else {
                $url = Horde::url($prefs->getValue('defaultview') . '.php', true);
            }
            $url->unique()->redirect();
        }
        break;
}
$page_output->header(array('body_class' => $prefs->getValue('show_panel') ? 'rightPanel' : null, 'title' => $view->getTitle()));
require KRONOLITH_TEMPLATES . '/javascript_defs.php';
$notification->notify(array('listeners' => 'status'));
echo '<div id="page">';
Kronolith::eventTabs($viewName, $view->event);
$view->html();
echo '</div>';
$page_output->footer();