Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.69 KB | None | 0 0
  1. function plugin_genericobject_objectSearchOptions($name, $search_options = array ()) {
  2.  
  3.     global $DB, $GENERICOBJECT_AVAILABLE_FIELDS, $LANG;
  4.  
  5.  
  6.  
  7.     $table = plugin_genericobject_getObjectTableNameByName($name);
  8.  
  9.  
  10.  
  11.     if (TableExists($table)) {
  12.  
  13.         $type = plugin_genericobject_getObjectIdentifierByName($name);
  14.  
  15.         $ID = plugin_genericobject_getIDByName($name);
  16.  
  17.         $fields = $DB->list_fields($table);
  18.  
  19.         $i = 1;
  20.  
  21.  
  22.  
  23.         $search_options[$ID][80]['table'] = 'glpi_entities';
  24.  
  25.         $search_options[$ID][80]['field'] = 'completename';
  26.  
  27.         $search_options[$ID][80]['linkfield'] = 'entities_id';
  28.  
  29.         $search_options[$ID][80]['name'] = $LANG["entity"][0];
  30.  
  31.  
  32.  
  33.       $search_options[$ID][30]['table'] = $table;
  34.  
  35.       $search_options[$ID][30]['field'] = 'ID';
  36.  
  37.       $search_options[$ID][30]['linkfield'] = '';
  38.  
  39.       $search_options[$ID][30]['name'] = $LANG["common"][2];
  40.  
  41.  
  42.  
  43.         if (!empty ($fields)) {
  44.  
  45.             $search_options[$ID]['common'] = plugin_genericobject_getObjectLabel($name);
  46.  
  47.             foreach ($fields as $field_values) {
  48.  
  49.                 $field_name = $field_values['Field'];
  50.  
  51.                 if (isset ($GENERICOBJECT_AVAILABLE_FIELDS[$field_name])) {
  52.  
  53.                     $search_options[$ID][$i]['linkfield'] = '';
  54.  
  55.  
  56.  
  57.                     switch ($GENERICOBJECT_AVAILABLE_FIELDS[$field_name]['input_type']) {
  58.  
  59.                         case 'date' :
  60.  
  61.                         case 'text' :
  62.  
  63.                   case 'multitext' :
  64.  
  65.                             $search_options[$ID][$i]['table'] = plugin_genericobject_getObjectTableNameByName($name);
  66.  
  67.                             break;
  68.  
  69.                         case 'dropdown' :
  70.  
  71.                             if (plugin_genericobject_isDropdownTypeSpecific($field_name))
  72.  
  73.                                 $search_options[$ID][$i]['table'] = plugin_genericobject_getDropdownTableName($name, $field_name);
  74.  
  75.                             else
  76.  
  77.                                 $search_options[$ID][$i]['table'] = $GENERICOBJECT_AVAILABLE_FIELDS[$field_name]['table'];
  78.  
  79.  
  80.  
  81.                             $search_options[$ID][$i]['linkfield'] = $GENERICOBJECT_AVAILABLE_FIELDS[$field_name]['linkfield'];
  82.  
  83.                             break;
  84.  
  85.                         case 'dropdown_yesno' :
  86.  
  87.                   case 'dropdown_global' :
  88.  
  89.                             $search_options[$ID][$i]['table'] = plugin_genericobject_getObjectTableNameByName($name);
  90.  
  91.                             $search_options[$ID][$i]['linkfield'] = $GENERICOBJECT_AVAILABLE_FIELDS[$field_name]['linkfield'];
  92.  
  93.                             break;
  94.  
  95.                     }
  96.  
  97.                
  98.  
  99.                     $search_options[$ID][$i]['field'] = $GENERICOBJECT_AVAILABLE_FIELDS[$field_name]['field'];
  100.  
  101.                     $search_options[$ID][$i]['name'] = $GENERICOBJECT_AVAILABLE_FIELDS[$field_name]['name'];
  102.  
  103.                     if (isset ($GENERICOBJECT_AVAILABLE_FIELDS[$field_name]['datatype']))
  104.  
  105.                         $search_options[$ID][$i]['datatype'] = $GENERICOBJECT_AVAILABLE_FIELDS[$field_name]['datatype'];
  106.  
  107.  
  108.  
  109.                     $i++;
  110.  
  111.                 }
  112.  
  113.  
  114.  
  115.             }
  116.  
  117.         }
  118.  
  119.  
  120.  
  121.     }
  122.  
  123.    return $search_options;
  124.  
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement