Ejemplo n.º 1
0
 /**
  * Draw the controls for the form.
  * @param FORM_RENDERER $renderer
  * @access private
  */
 protected function _draw_controls($renderer)
 {
     $renderer->default_control_height = '75px';
     $renderer->start();
     $props = $renderer->make_list_properties();
     $props->add_item('bool1', 1);
     $props->add_item('bool2', 1);
     $props->items_per_row = 4;
     $renderer->draw_check_boxes_row('Options', $props);
     $renderer->start_row('Text', 'text-line');
     $text_props = new FORM_TEXT_CONTROL_OPTIONS();
     $text_props->css_class = 'small';
     echo $renderer->date_as_html('date');
     echo ' ';
     echo $renderer->text_line_as_html('name', $text_props);
     $renderer->finish_row();
     $renderer->draw_text_box_row('description');
     $renderer->start_block('');
     $props = $renderer->make_list_properties();
     $props->show_descriptions = true;
     $props->css_class = 'small';
     $props->add_item('Option One', 0, 'Description for option one.');
     $props->add_item('Option Two', 1, 'Description for option two.');
     $renderer->draw_radio_group_row('select', $props);
     $field = $this->field_at('select');
     $renderer->start_row('Menus', 'text-line');
     echo $renderer->drop_down_as_html('select', $props);
     echo ' ';
     $field->required = true;
     echo $renderer->drop_down_as_html('select', $props);
     $renderer->finish_row();
     $renderer->start_row('Lists');
     $field->required = false;
     echo $renderer->list_box_as_html('select', $props);
     echo ' ';
     $field->required = true;
     echo $renderer->list_box_as_html('select', $props);
     $renderer->finish_row();
     $renderer->finish_block();
     $renderer->draw_submit_button_row();
     $renderer->finish();
 }
 /**
  * @param FORM_RENDERER $renderer
  * @access private
  */
 protected function _draw_attachment_selector($renderer)
 {
     $attachments = $this->_attachments();
     if (sizeof($attachments)) {
         $props = $renderer->make_list_properties();
         $props->css_class = 'small';
         foreach ($attachments as $att) {
             $props->add_item($att->title_as_plain_text(), $att->file_name);
         }
         $attachment_control = $renderer->drop_down_as_html('attachments', $props);
         $props = $renderer->make_list_properties();
         $props->add_item('None', 'none');
         $props->add_item('Left', 'left');
         $props->add_item('Left (alone)', 'left-column');
         $props->add_item('Center', 'center');
         $props->add_item('Right', 'right');
         $props->add_item('Right (alone)', 'right-column');
         $props->css_class = 'small';
         $alignments = $renderer->drop_down_as_html('alignments', $props);
         $props = $renderer->make_list_properties();
         $props->add_item('Thumbnail', 'thumbnail');
         $props->add_item('25%', '25');
         $props->add_item('50%', '50');
         $props->add_item('75%', '75');
         $props->add_item('Full-size', '100');
         $props->css_class = 'small';
         $sizes = $renderer->drop_down_as_html('sizes', $props);
         $props = $renderer->make_list_properties();
         $props->add_item('No text', 'none');
         $props->add_item('Caption', 'caption');
         $props->add_item('Tooltip', 'tooltip');
         $props->add_item('Both', 'both');
         $props->css_class = 'small';
         $caption_modes = $renderer->drop_down_as_html('caption_modes', $props);
         $renderer->start_row('Attachments');
         echo $attachment_control;
         echo $alignments;
         echo $sizes;
         echo $caption_modes;
         echo $renderer->javascript_button_as_html('Add', 'on_insert_attachment ()');
         $renderer->finish_row();
     }
 }
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);
 }