/**
  * @param FORM_RENDERER $renderer
  * @access private
  */
 protected function _draw_controls($renderer)
 {
     $renderer->start();
     $layer = $renderer->start_layer_row('parameters', 'Parameters', '%s fields for this search.');
     $this->_search_fields->draw_fields($this, $renderer);
     $renderer->finish_layer_row($layer);
     $renderer->draw_text_line_row('search_title');
     $renderer->draw_text_box_row('search_description');
     $renderer->draw_submit_button_row();
     $renderer->finish();
 }
Ejemplo n.º 2
0
 /**
  * Draws controls for history item notification.
  * @param FORM_RENDERER $renderer
  * @access private
  */
 protected function _draw_history_item_controls($renderer)
 {
     $description = 'Change history is stored automatically. %s history options.';
     $layer = $renderer->start_layer_row('history', 'History', $description, false, 'full-screen-optional');
     $props = $renderer->make_list_properties();
     $props->show_descriptions = true;
     $props->add_item('Default', History_item_default, 'Let the system decide whether to send notifications for this change.');
     $props->add_item('Publish', History_item_needs_send, 'Send notifications for this change.');
     $props->add_item('Do not publish', History_item_silent, 'Do not send notifications for this change');
     $renderer->draw_radio_group_row('publication_state', $props);
     $renderer->draw_text_line_row('history_item_title');
     $renderer->draw_text_box_row('history_item_description', 'short-medium');
     $renderer->draw_submit_button_row();
     $renderer->finish_layer_row($layer);
 }
Ejemplo n.º 3
0
 /**
  * @param FORM $form
  * @param FORM_RENDERER $renderer
  * @access private
  */
 protected function _draw_folder_selector($form, $renderer)
 {
     $props = $renderer->make_list_properties();
     $props->add_item('Context or none', Search_user_context_none);
     $props->add_item('Selected folder(s)', Search_user_constant);
     $props->add_item('NOT selected folder(s)', Search_user_not_constant);
     /** @var $id_values int[] */
     $id_values = $form->value_for('folder_ids');
     $selected_folder_ids = array();
     if (sizeof($id_values)) {
         foreach ($id_values as $id) {
             if ($id) {
                 $selected_folder_ids[$id] = $id;
             }
         }
     }
     $visible = $form->value_for('folder_search_type') != Search_user_context_none || sizeof($selected_folder_ids) > 0;
     $layer = $renderer->start_layer_row('folders', 'Folder(s)', 'Toggle folder options.', $visible);
     $renderer->start_row(' ');
     echo $renderer->drop_down_as_html('folder_search_type', $props);
     echo ' ';
     $renderer->finish_row();
     $renderer->start_row(' ');
     $folder_query = $this->login->folder_query();
     $folder_query->clear_results();
     $folders = $folder_query->root_tree($this->app->root_folder_id);
     $selected_folders = $folder_query->objects_at_ids($selected_folder_ids);
     /* Make a copy (not a reference). */
     $tree = $this->app->make_tree_renderer();
     include_once 'webcore/gui/folder_tree_node_info.php';
     $tree_node_info = new FOLDER_TREE_NODE_INFO($this->app);
     include_once 'webcore/gui/selector_tree_decorator.php';
     $decorator = new MULTI_SELECTOR_TREE_DECORATOR($tree, $selected_folder_ids);
     $decorator->control_name = 'folder_ids';
     $decorator->form_name = $form->name;
     $decorator->auto_toggle_children = true;
     $tree->node_info = $tree_node_info;
     $tree->decorator = $decorator;
     $tree->set_visible_nodes($selected_folders);
     $tree->display($folders);
     $renderer->finish_row();
     $renderer->finish_layer_row($layer);
 }