$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();
$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();
/** * 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); } }
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); }
/** * @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); }
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();
/** * 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(); }
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')); }
$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);