Пример #1
0
 protected function postProcessOptions($options)
 {
     if (!$options['template']) {
         if ($options['is_edit']) {
             $options['template'] = "auto_edit_list.html";
         } else {
             $options['template'] = "auto_view_list.html";
         }
     }
     return parent::postProcessOptions($options);
 }
 protected function postProcessOptions($options)
 {
     $options = parent::postProcessOptions($options);
     if (!$this->primaryObject instanceof I2CE_Form) {
         return $options;
     }
     if (!$options['base_url']) {
         if ($this->page->module() == 'I2CE') {
             $options['base_url'] = $this->page->page();
         } else {
             $options['base_url'] = $this->page->module() . '/' . $this->page->page();
         }
     }
     foreach ($options['child_forms'] as $child_form => &$c_data) {
         if (array_key_exists('disabled', $c_data) && $c_data['disabled']) {
             unset($options['child_forms'][$child_form]);
             continue;
         }
         if (!array_key_exists('form', $c_data) || !$c_data['form']) {
             $c_data['form'] = $child_form;
         }
         if (!array_key_exists('title', $c_data) || !$c_data['title']) {
             $ff = I2CE_FormFactory::instance();
             if (($child_form_obj = $ff->createContainer(array($c_data['from'], 0))) instanceof I2CE_Form) {
                 $c_data['title'] = $child_form_obj->getDisplayName();
             } else {
                 $c_data['title'] = $child_form;
             }
         }
         if (!array_key_exists('action_links', $c_data) || !is_array($c_data['action_links'])) {
             $c_data['action_links'] = array();
         }
         if ($options['auto_add_new_child_link']) {
             $text = 'Add new';
             I2CE::getConfig()->setIfIsSet($text, "/modules/Lists/messages/add_new_text");
             $c_data['action_links']['auto_add_new'] = array('text' => $text, 'href' => $options['base_url'] . '/edit/' . $options['append_url'] . '/' . $child_form . '?parent=' . $this->primaryObject->getNameID());
         }
         if (!array_key_exists('link', $c_data) || !$c_data['link']) {
             $c_data['link'] = $options['base_url'] . '/view/' . $options['append_url'] . '/' . $child_form . '?id=';
             $c_data['link_filter'] = '.form_content';
         }
         if (!array_key_exists('container_link', $c_data) || !$c_data['container_link']) {
             $c_data['container_link'] = $options['base_url'] . '/view_container_' . $child_form . '/' . $options['append_url'] . '?id=';
             $c_data['container_link_filter'] = '.container_content';
         }
         if (!array_key_exists('ajax_load_child', $c_data)) {
             $c_data['ajax_load_child'] = $options['ajax_load_child'];
         }
     }
     unset($c_data);
     if ($options['auto_edit_link']) {
         $text = 'Update this information';
         I2CE::getConfig()->setIfIsSet($text, "/modules/Lists/messages/edit_text");
         $options['action_links']['auto_edit'] = array('formfield' => $this->primaryObject->getName() . ':id', 'text' => $text, 'href' => $options['base_url'] . '/edit/' . $options['append_url'] . '?id=');
     }
     if ($options['is_container']) {
         if (array_key_exists($child_form = $options['is_container'], $options['child_forms'])) {
             $options['child_forms'] = array($child_form => $options['child_forms'][$child_form]);
             //only deal with this child form
             $options['child_forms'][$child_form]['ajax_load_child'] = 'static';
         } else {
             //badness in configuration. do nothin
             $options['child_forms'] = array();
         }
     }
     return $options;
 }