Printer::getSearchOptions PHP Method

getSearchOptions() public method

public getSearchOptions ( )
    function getSearchOptions()
    {
        $tab = array();
        $tab['common'] = __('Characteristics');
        $tab[1]['table'] = $this->getTable();
        $tab[1]['field'] = 'name';
        $tab[1]['name'] = __('Name');
        $tab[1]['datatype'] = 'itemlink';
        $tab[1]['massiveaction'] = false;
        $tab[2]['table'] = $this->getTable();
        $tab[2]['field'] = 'id';
        $tab[2]['name'] = __('ID');
        $tab[2]['massiveaction'] = false;
        $tab[2]['datatype'] = 'number';
        $tab += Location::getSearchOptionsToAdd();
        $tab[4]['table'] = 'glpi_printertypes';
        $tab[4]['field'] = 'name';
        $tab[4]['name'] = __('Type');
        $tab[4]['datatype'] = 'dropdown';
        $tab[40]['table'] = 'glpi_printermodels';
        $tab[40]['field'] = 'name';
        $tab[40]['name'] = __('Model');
        $tab[40]['datatype'] = 'dropdown';
        $tab[31]['table'] = 'glpi_states';
        $tab[31]['field'] = 'completename';
        $tab[31]['name'] = __('Status');
        $tab[31]['datatype'] = 'dropdown';
        $tab[31]['condition'] = "`is_visible_printer`";
        $tab[5]['table'] = $this->getTable();
        $tab[5]['field'] = 'serial';
        $tab[5]['name'] = __('Serial number');
        $tab[5]['datatype'] = 'string';
        $tab[6]['table'] = $this->getTable();
        $tab[6]['field'] = 'otherserial';
        $tab[6]['name'] = __('Inventory number');
        $tab[6]['datatype'] = 'string';
        $tab[7]['table'] = $this->getTable();
        $tab[7]['field'] = 'contact';
        $tab[7]['name'] = __('Alternate username');
        $tab[7]['datatype'] = 'string';
        $tab[8]['table'] = $this->getTable();
        $tab[8]['field'] = 'contact_num';
        $tab[8]['name'] = __('Alternate username number');
        $tab[8]['datatype'] = 'string';
        $tab[70]['table'] = 'glpi_users';
        $tab[70]['field'] = 'name';
        $tab[70]['name'] = __('User');
        $tab[70]['datatype'] = 'dropdown';
        $tab[70]['right'] = 'all';
        $tab[71]['table'] = 'glpi_groups';
        $tab[71]['field'] = 'completename';
        $tab[71]['name'] = __('Group');
        $tab[71]['condition'] = '`is_itemgroup`';
        $tab[71]['datatype'] = 'dropdown';
        $tab[19]['table'] = $this->getTable();
        $tab[19]['field'] = 'date_mod';
        $tab[19]['name'] = __('Last update');
        $tab[19]['datatype'] = 'datetime';
        $tab[19]['massiveaction'] = false;
        $tab[121]['table'] = $this->getTable();
        $tab[121]['field'] = 'date_creation';
        $tab[121]['name'] = __('Creation date');
        $tab[121]['datatype'] = 'datetime';
        $tab[121]['massiveaction'] = false;
        $tab[16]['table'] = $this->getTable();
        $tab[16]['field'] = 'comment';
        $tab[16]['name'] = __('Comments');
        $tab[16]['datatype'] = 'text';
        $tab[42]['table'] = $this->getTable();
        $tab[42]['field'] = 'have_serial';
        $tab[42]['name'] = __('Serial');
        $tab[42]['datatype'] = 'bool';
        $tab[43]['table'] = $this->getTable();
        $tab[43]['field'] = 'have_parallel';
        $tab[43]['name'] = __('Parallel');
        $tab[43]['datatype'] = 'bool';
        $tab[44]['table'] = $this->getTable();
        $tab[44]['field'] = 'have_usb';
        $tab[44]['name'] = __('USB');
        $tab[44]['datatype'] = 'bool';
        $tab[45]['table'] = $this->getTable();
        $tab[45]['field'] = 'have_ethernet';
        $tab[45]['name'] = __('Ethernet');
        $tab[45]['datatype'] = 'bool';
        $tab[46]['table'] = $this->getTable();
        $tab[46]['field'] = 'have_wifi';
        $tab[46]['name'] = __('Wifi');
        $tab[46]['datatype'] = 'bool';
        $tab[13]['table'] = $this->getTable();
        $tab[13]['field'] = 'memory_size';
        $tab[13]['name'] = __('Memory');
        $tab[13]['datatype'] = 'string';
        $tab[11]['table'] = $this->getTable();
        $tab[11]['field'] = 'init_pages_counter';
        $tab[11]['name'] = __('Initial page counter');
        $tab[11]['datatype'] = 'number';
        $tab[11]['nosearch'] = true;
        // only display and histo, no index
        $tab[12]['table'] = $this->getTable();
        $tab[12]['field'] = 'last_pages_counter';
        $tab[12]['name'] = __('Current counter of pages');
        $tab[12]['datatype'] = 'number';
        $tab[9]['table'] = 'glpi_printers';
        $tab[9]['field'] = '_virtual';
        $tab[9]['linkfield'] = '_virtual';
        $tab[9]['name'] = _n('Cartridge', 'Cartridges', Session::getPluralNumber());
        $tab[9]['datatype'] = 'specific';
        $tab[9]['massiveaction'] = false;
        $tab[9]['nosearch'] = true;
        $tab[9]['nosort'] = true;
        $tab[17]['table'] = 'glpi_cartridges';
        $tab[17]['field'] = 'id';
        $tab[17]['name'] = __('Number of used cartridges');
        $tab[17]['datatype'] = 'count';
        $tab[17]['forcegroupby'] = true;
        $tab[17]['usehaving'] = true;
        $tab[17]['massiveaction'] = false;
        $tab[17]['joinparams'] = array('jointype' => 'child', 'condition' => "AND NEWTABLE.`date_use` IS NOT NULL\n                                                      AND NEWTABLE.`date_out` IS NULL");
        $tab[18]['table'] = 'glpi_cartridges';
        $tab[18]['field'] = 'id';
        $tab[18]['name'] = __('Number of worn cartridges');
        $tab[18]['datatype'] = 'count';
        $tab[18]['forcegroupby'] = true;
        $tab[18]['usehaving'] = true;
        $tab[18]['massiveaction'] = false;
        $tab[18]['joinparams'] = array('jointype' => 'child', 'condition' => "AND NEWTABLE.`date_out` IS NOT NULL");
        $tab[32]['table'] = 'glpi_networks';
        $tab[32]['field'] = 'name';
        $tab[32]['name'] = __('Network');
        $tab[32]['datatype'] = 'dropdown';
        $tab[33]['table'] = 'glpi_domains';
        $tab[33]['field'] = 'name';
        $tab[33]['name'] = __('Domain');
        $tab[33]['datatype'] = 'dropdown';
        $tab[23]['table'] = 'glpi_manufacturers';
        $tab[23]['field'] = 'name';
        $tab[23]['name'] = __('Manufacturer');
        $tab[23]['datatype'] = 'dropdown';
        $tab[24]['table'] = 'glpi_users';
        $tab[24]['field'] = 'name';
        $tab[24]['linkfield'] = 'users_id_tech';
        $tab[24]['name'] = __('Technician in charge of the hardware');
        $tab[24]['datatype'] = 'dropdown';
        $tab[24]['right'] = 'own_ticket';
        $tab[49]['table'] = 'glpi_groups';
        $tab[49]['field'] = 'completename';
        $tab[49]['linkfield'] = 'groups_id_tech';
        $tab[49]['name'] = __('Group in charge of the hardware');
        $tab[49]['condition'] = '`is_assign`';
        $tab[49]['datatype'] = 'dropdown';
        $tab[80]['table'] = 'glpi_entities';
        $tab[80]['field'] = 'completename';
        $tab[80]['name'] = __('Entity');
        $tab[80]['massiveaction'] = false;
        $tab[80]['datatype'] = 'dropdown';
        $tab[82]['table'] = $this->getTable();
        $tab[82]['field'] = 'is_global';
        $tab[82]['name'] = __('Global management');
        $tab[82]['datatype'] = 'bool';
        $tab[82]['massiveaction'] = false;
        $tab[86]['table'] = $this->getTable();
        $tab[86]['field'] = 'is_recursive';
        $tab[86]['name'] = __('Child entities');
        $tab[86]['datatype'] = 'bool';
        // add objectlock search options
        $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
        $tab += Notepad::getSearchOptionsToAdd();
        return $tab;
    }