Exemplo n.º 1
0
 /**
  * (non-PHPdoc)
  * @see IFormable::form()
  */
 public function form()
 {
     $form = array();
     yamm_api_bootstrap_entity();
     // Backend selector.
     $form['backend'] = array('#type' => 'fieldset', '#title' => t("Backend options"), '#collapsible' => TRUE, '#collapsed' => FALSE);
     $form['backend']['backend_type'] = oox_registry_item_selector('yamm_sync_backend');
     $form['backend']['backend_type']['#title'] = t("Backend");
     try {
         $backend = $this->getBackend();
         $form['backend']['backend_type']['#default_value'] = $this->_options['backend'];
         $form['backend']['backend_form'] = $backend->form();
     } catch (Yamm_Sync_ProfileException $e) {
         $form['backend']['backend_type']['#description'] = t("No value is set, specific options form will appear after you save this profile with a backend set.");
     }
     // Entities options.
     foreach (oox_registry_get('yamm_entity')->getItemCache() as $type => $desc) {
         try {
             $settings = $this->getSettingsForType($type);
             if (!$settings instanceof Yamm_EntitySettingsAbstract) {
                 $settings = Yamm_EntityFactory::getEntitySettingsInstance($type);
             }
             $form['entity_' . $type] = array('#type' => 'fieldset', '#collapsible' => TRUE, '#collapsed' => TRUE, '#title' => t($desc['name']));
             $form['entity_' . $type] += $settings->form();
             $types[] = $type;
         } catch (Yamm_Entity_ClassNotFoundException $e) {
             // Silent error, our Yamm_Entity does not implement the
             // Yamm_EntitySettingsAbstract class or just does not exists.
         }
     }
     $form['types'] = array('#type' => 'value', '#value' => $types);
     // Vertical tab usage.
     if (module_exists('vertical_tabs')) {
         vertical_tabs_add_vertical_tabs($form);
     }
     return $form;
 }
Exemplo n.º 2
0
 /**
  * (non-PHPdoc)
  * @see IFormable::form()
  */
 public function form()
 {
     yamm_api_bootstrap_entity();
     // Building views list.
     $base_table = $available_views = $selected_views = array();
     $views_list = views_get_all_views();
     $default_views = array();
     foreach (oox_registry_get('yamm_entity')->getItemCache() as $type => $value) {
         // Getting all base table with entities.
         if (isset($value['base_table'])) {
             $base_table[$value['base_table']] = $value['base_table'];
         }
     }
     foreach ($views_list as $name => $view) {
         // Check if the view has a known base table for entities.
         if (in_array($view->base_table, $base_table)) {
             $available_views[$view->name] = '<strong>' . $view->name . '</strong> - ' . filter_xss_admin($view->description);
             $default_views[$view->name] = 0;
         }
     }
     // Saved selected views.
     $selected_views = $this->getViews();
     // Check all selected views.
     foreach ($selected_views as $view) {
         //  Check if view has not been deleted.
         if (array_key_exists($view->name, $default_views)) {
             $default_views[$view->name] = $view->name;
         }
     }
     $form['views'] = array('#type' => 'checkboxes', '#options' => $available_views, '#default_value' => $default_views, '#title' => t('Views that export content'), '#description' => t('Select views that export content. Only the default display will be use for content export. All select views will be used at each client synchronization whatever is the entity type they return.'), '#required' => TRUE, '#multiple' => TRUE);
     return $form;
 }