render() public method

Renders the tabs.
public render ( string $active_tab = null, string $class = 'tabset' )
$active_tab string If specified, the name of the active tab. If not, the active tab is determined automatically.
$class string The CSS class of the tabset.
示例#1
0
        $title = _("Advanced Search");
        if (isset($results)) {
            $page_output->addInlineJsVars(array('TurbaSearch.advanced' => true));
        }
        $page_output->addInlineScript(array('$("name").focus()'), true);
        break;
    case 'duplicate':
        $title = _("Duplicate Search");
        break;
}
$page_output->addScriptFile('search.js');
$page_output->addScriptFile('quickfinder.js', 'horde');
$page_output->addScriptFile('scriptaculous/effects.js', 'horde');
$page_output->addScriptFile('redbox.js', 'horde');
if (isset($view) && is_object($view)) {
    Turba::addBrowseJs();
}
$page_output->header(array('title' => $title));
$notification->notify(array('listeners' => 'status'));
echo $tabs->render($search_mode);
echo $headerView->render('header');
echo $searchView->render($search_mode);
if (!empty($vbookView)) {
    echo $vbookView->render('vbook');
}
echo $searchView->render('footer');
if (isset($view) && is_object($view)) {
    require TURBA_TEMPLATES . '/browse/header.inc';
    $view->display();
}
$page_output->footer();
示例#2
0
        $vars->set('actionID', 'edit_property');
        $renderer = new Horde_Form_Renderer();
        $form = new Sesha_Form_PropertyList($vars, 'admin.php', 'post');
        $valid = $form->validate($vars);
        if ($valid) {
            // Redirect to the property list form.
            Horde::url($baseUrl . '/admin.php', true)->add(array('actionID' => 'edit_property', 'property_id' => $vars->get('property_id')))->redirect();
        }
        $vars2 = Horde_Variables::getDefaultVariables();
        $vars2->set('actionID', 'add_property');
        $form2 = new Sesha_Form_Property($vars2, 'admin.php', 'post');
        $form2->setTitle(_("Add a new property"));
        $valid = $form2->validate($vars2);
        if ($valid) {
            // Redirect to the property form.
            Horde::url($baseUrl . '/admin.php', true)->add('actionID', 'list_properties')->redirect();
        }
        $title = _("List Properties");
        break;
}
$page_output->header(array('title' => $title));
echo $tabs->render(strpos($actionID, 'propert') === false ? 'list_categories' : 'list_properties');
// Render forms if they are defined.
if (isset($form)) {
    $form->renderActive($renderer, $vars, Horde::url('admin.php'), 'post');
}
if (isset($form2)) {
    echo '<br />';
    $form2->renderActive($renderer, $vars2, Horde::url('admin.php'), 'post');
}
$page_output->footer();
示例#3
0
文件: Attendees.php 项目: horde/horde
 /**
  * Constructor.
  *
  * @param array $config  Configuration key-value pairs.
  */
 public function __construct($config = array())
 {
     global $conf, $injector, $registry, $session;
     $config['templatePath'] = KRONOLITH_TEMPLATES . '/attendees';
     parent::__construct($config);
     $this->addHelper('Text');
     $this->formInput = Horde_Util::formInput();
     $this->view = Horde_Util::getFormData('view', 'Day');
     $this->date = $config['start']->dateString();
     $this->end = $config['end']->dateString();
     $this->freeBusy = $config['fbView']->render($config['start']);
     $auth = $injector->getInstance('Horde_Core_Factory_Auth')->create();
     if ($auth->hasCapability('list') && ($conf['auth']['list_users'] == 'list' || $conf['auth']['list_users'] == 'both')) {
         $this->userList = $auth->listNames();
     }
     $this->resourcesEnabled = !empty($conf['resources']['enabled']);
     if ($registry->hasMethod('contacts/search')) {
         $this->addressbookLink = Horde::url('#')->link(array('class' => 'widget', 'onclick' => 'window.open(\'' . Horde::url('contacts.php') . '\', \'contacts\', \'toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes,width=550,height=270,left=100,top=100\'); return false;')) . Horde::img('addressbook_browse.png') . '<br />' . _("Address Book") . '</a>';
     }
     $vars = Horde_Variables::getDefaultVariables();
     $tabs = new Horde_Core_Ui_Tabs(null, $vars);
     $tabs->addTab(_("Day"), new Horde_Url('javascript:switchView(\'Day\')'), 'Day');
     $tabs->addTab(_("Work Week"), new Horde_Url('javascript:switchView(\'Workweek\')'), 'Workweek');
     $tabs->addTab(_("Week"), new Horde_Url('javascript:switchView(\'Week\')'), 'Week');
     $tabs->addTab(_("Month"), new Horde_Url('javascript:switchView(\'Month\')'), 'Month');
     $this->tabs = $tabs->render($this->view);
     $attendees = $session->get('kronolith', 'attendees');
     if ($attendees) {
         $roles = array(Kronolith::PART_REQUIRED, Kronolith::PART_OPTIONAL, Kronolith::PART_NONE);
         $responses = array(Kronolith::RESPONSE_ACCEPTED, Kronolith::RESPONSE_DECLINED, Kronolith::RESPONSE_TENTATIVE, Kronolith::RESPONSE_NONE);
         $this->attendees = array();
         foreach ($attendees as $attendee) {
             $viewAttendee = array('id' => $attendee->id, 'name' => strval($attendee), 'deleteLink' => Horde::url('#')->link(array('title' => sprintf(_("Remove %s"), $attendee->displayName), 'onclick' => "performAction('remove', decodeURIComponent('" . rawurlencode($attendee->id) . "')); return false;")) . Horde::img('delete.png') . '</a>');
             if ($attendee->user) {
                 unset($this->userList[$attendee->user]);
             } else {
                 $viewAttendee['editLink'] = Horde::url('#')->link(array('title' => sprintf(_("Edit %s"), $attendee->displayName), 'onclick' => "performAction('edit', decodeURIComponent('" . rawurlencode($attendee->id) . "')); return false;")) . Horde::img('edit.png') . '</a>';
             }
             foreach ($roles as $role) {
                 $viewAttendee['roles'][$role] = array('selected' => $attendee->role == $role, 'label' => Kronolith::partToString($role));
             }
             foreach ($responses as $response) {
                 $viewAttendee['responses'][$response] = array('selected' => $attendee->response == $response, 'label' => Kronolith::responseToString($response));
             }
             $this->attendees[] = $viewAttendee;
         }
     }
     $this->resources = $session->get('kronolith', 'resources', Horde_Session::TYPE_ARRAY);
     foreach ($this->resources as $id => &$resource) {
         $resource['id'] = $id;
         $resource['deleteLink'] = Horde::url('#')->link(array('title' => sprintf(_("Remove %s"), $resource['name']), 'onclick' => "performAction('removeResource', decodeURIComponent('" . $id . "')); return false;")) . Horde::img('delete.png') . '</a>';
         foreach ($roles as $role) {
             $resource['roles'][$role] = array('selected' => $resource['attendance'] == $role, 'label' => Kronolith::partToString($role));
         }
         foreach ($responses as $response) {
             $resource['responses'][$response] = array('selected' => $resource['response'] == $response, 'label' => Kronolith::responseToString($response));
         }
     }
     /* Get list of resources for select list, and remove those we already
      * added. */
     if ($this->resourcesEnabled) {
         $this->allResources = array_diff_key(Kronolith::getDriver('Resource')->listResources(Horde_Perms::READ, array(), 'name'), $this->resources);
     }
 }
示例#4
0
 public static function getAdminTabs()
 {
     $tabname = Horde_Util::getFormData('view');
     $tabs = new Horde_Core_Ui_Tabs('view', Horde_Variables::getDefaultVariables());
     $tabs->addTab(_("Telephone Numbers"), Horde::url('admin/numbers.php'), array('view' => 'numbers', id => 'tabnumbers'));
     $tabs->addTab(_("Accounts"), Horde::url('admin/accounts.php'), array('view' => 'accounts', id => 'tabaccounts'));
     if ($view === null) {
         $view = 'numbers';
     }
     echo $tabs->render($view);
 }
示例#5
0
 /**
  * @param string $tabname
  * @param Kronolith_Event $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);
 }
示例#6
0
文件: contact.php 项目: horde/horde
    case 'DeleteContact':
        $view = new Turba_View_DeleteContact($contact);
        break;
}
// Get tabs.
$url = $contact->url();
$tabs = new Horde_Core_Ui_Tabs('view', $vars);
$tabs->addTab(_("_View"), $url, array('tabname' => 'Contact', 'id' => 'tabContact', 'class' => 'horde-icon', 'onclick' => 'return TurbaTabs.showTab(\'Contact\');'));
if ($contact->hasPermission(Horde_Perms::EDIT)) {
    $tabs->addTab(_("_Edit"), $url, array('tabname' => 'EditContact', 'id' => 'tabEditContact', 'class' => 'horde-icon', 'onclick' => 'return TurbaTabs.showTab(\'EditContact\');'));
}
if ($contact->hasPermission(Horde_Perms::DELETE)) {
    $tabs->addTab(_("De_lete"), $url, array('tabname' => 'DeleteContact', 'id' => 'tabDeleteContact', 'class' => 'horde-icon', 'onclick' => 'return TurbaTabs.showTab(\'DeleteContact\');'));
}
$owner = explode(';', $prefs->getValue('own_contact'));
if (count($owner) == 2 && $owner[0] == $source && $owner[1] == $contact->getValue('__key')) {
    $own_icon = ' ' . Horde_Themes_Image::tag('user.png', array('alt' => _("Your own contact"), 'attr' => array('title' => _("Your own contact"))));
    $own_link = '';
} else {
    $own_icon = '';
    $own_link = '<span class="smallheader rightFloat">' . $url->copy()->add('action', 'mark_own')->link() . _("Mark this as your own contact") . '</a></span>';
}
$page_output->addScriptFile('contact_tabs.js');
$page_output->header(array('title' => $view->getTitle()));
$notification->notify(array('listeners' => 'status'));
echo '<div id="page">';
echo $tabs->render($viewName, 'horde-buttonbar');
echo '<h1 class="header">' . $own_link . ($contact->getValue('name') ? htmlspecialchars($contact->getValue('name')) : '<em>' . _("Blank name") . '</em>') . $own_icon . '</h1>';
$view->html();
echo '</div>';
$page_output->footer();
示例#7
0
文件: List.php 项目: horde/horde
 /**
  * Renders the view.
  *
  * @param Horde_PageOutput $output  The output object.
  *
  * @return string  The HTML needed to render the view.
  */
 public function render($output)
 {
     global $injector, $prefs;
     $output->addScriptFile('tooltips.js', 'horde');
     $output->addScriptFile('scriptaculous/effects.js', 'horde');
     $output->addScriptFile('quickfinder.js', 'horde');
     $output->header(array('title' => $this->_title));
     $tabs = new Horde_Core_Ui_Tabs('tab_name', $this->_vars);
     if (!$GLOBALS['prefs']->isLocked('show_completed')) {
         $listurl = Horde::url('list.php');
         $tabs->addTab(_("_All tasks"), $listurl->add('show_completed', Nag::VIEW_ALL), Nag::VIEW_ALL);
         $tabs->addTab(_("Incom_plete tasks"), $listurl->add('show_completed', Nag::VIEW_INCOMPLETE), Nag::VIEW_INCOMPLETE);
         $tabs->addTab(_("_Future tasks"), $listurl->add('show_completed', Nag::VIEW_FUTURE), Nag::VIEW_FUTURE);
         $tabs->addTab(_("_Completed tasks"), $listurl->add('show_completed', Nag::VIEW_COMPLETE), Nag::VIEW_COMPLETE);
     }
     foreach (Nag::listTasklists() as $list) {
         if ($list->get('issmart')) {
             $tabs->addTab($list->get('name'), $listurl->add(array('actionID' => 'smart', 'list' => $list->getName())), array('img' => 'search.png', 'tabname' => $list->getName()));
         }
     }
     // Set up the view
     $view = $GLOBALS['injector']->createInstance('Horde_View');
     $view->addHelper(new Nag_View_Helper_List($view));
     $view->tasks = $this->_tasks;
     $view->tabs = $tabs->render($this->_vars->get('tab_name', $prefs->getValue('show_completed')));
     $view->browser = empty($this->_smartShare) && $this->_showTagBrowser ? $this->_getRelatedTags() . $this->_getTagTrail() : '';
     $view->title = $this->_title;
     $view->sortby = $prefs->getValue('sortby');
     $view->sortdir = $prefs->getValue('sortdir');
     $view->sortdirclass = $view->sortdir ? 'sortup' : 'sortdown';
     $view->dateFormat = $prefs->getValue('date_format');
     $view->columns = @unserialize($prefs->getValue('tasklist_columns'));
     $view->smartShare = $this->_smartShare;
     $view->haveSearch = $this->_haveSearch;
     $view->tab_name = $this->_vars->get('tab_name', $prefs->getValue('show_completed'));
     if (empty($view->columns)) {
         $view->columns = array();
     }
     $view->dynamic_sort = true;
     $view->baseurl = Horde::url('list.php');
     if ($this->_vars->actionID == 'search_tasks') {
         $view->baseurl->add(array('actionID' => 'search_tasks', 'search_pattern' => $search_pattern, 'search_name' => $search_name ? 'on' : 'off', 'search_desc' => $search_desc ? 'on' : 'off'));
     }
     $view->tasks->reset();
     Horde::startBuffer();
     Nag::status();
     echo $view->render('list');
     $output->footer();
     return Horde::endBuffer();
 }
示例#8
0
 public static function tabs()
 {
     /* Build search mode tabs. */
     $sUrl = Horde::selfUrl();
     $tabs = new Horde_Core_Ui_Tabs('search_mode', Horde_Variables::getDefaultVariables());
     $tabs->addTab(_("Summary"), $sUrl, 'summary');
     $tabs->addTab(_("By Date"), $sUrl, 'date');
     $tabs->addTab(_("By Employee"), $sUrl, 'employee');
     $tabs->addTab(_("By Client"), $sUrl, 'client');
     $tabs->addTab(_("By Job Type"), $sUrl, 'jobtype');
     $tabs->addTab(_("By Cost Object"), $sUrl, 'costobject');
     if ($mode = Horde_Util::getFormData('search_mode')) {
         $GLOBALS['session']->set('hermes', 'search_mode', $mode);
     } elseif (!$GLOBALS['session']->exists('hermes', 'search_mode')) {
         $GLOBALS['session']->set('hermes', 'search_mode', 'summary');
     }
     return $tabs->render($GLOBALS['session']->get('hermes', 'search_mode'));
 }
示例#9
0
文件: index.php 项目: raz0rsdge/horde
            $form = new Whups_Form_Query_TextCriterion($vars);
            break;
        case 'attribs':
            $form = new Whups_Form_Query_AttributeCriterion($vars);
            break;
        case 'date':
            $form = new Whups_Form_Query_DateCriterion($vars);
            break;
    }
    $renderer = $form->getRenderer();
    $form->open($renderer, $vars, 'index.php', 'post');
    $queryRenderer->beginActive(_("Current Query"));
    $queryRenderer->edit($qops, $form->getName(), 1);
    $queryRenderer->renderFormActive($whups_query, $vars);
    $queryRenderer->edit($qops, $form->getName(), 2);
    $renderer->end();
    echo '<br />' . $criteriaTabs->render($session->get('whups', 'query_form'));
    $renderer->beginActive($form->getTitle());
    $renderer->renderFormActive($form, $vars);
    $renderer->submit($vars->get('edit') ? _("Save Criterion") : _("Add Criterion"));
    $renderer->end();
    $form->close($renderer);
} else {
    // Show query readonly.
    $renderer = new Horde_Form_Renderer();
    $renderer->beginActive(_("Current Query"));
    $queryRenderer->renderFormInactive($whups_query, $vars);
    $renderer->end();
}
$page_output->footer();
$session->set('whups', 'query', $whups_query);