static function autoName($config, CommonDBTM $item)
 {
     $template = $config['template'];
     $len = strlen($template);
     $suffix = strpos($template, '<');
     if ($len > 8 && $suffix !== FALSE && substr($template, $len - 4, 4) === '>') {
         $autoNum = substr($template, $suffix + 4, $len - (4 + $suffix + 4));
         $mask = '';
         if (preg_match("/\\#{1,10}/", $autoNum, $mask)) {
             $serial = isset($item->fields['serial']) ? $item->fields['serial'] : '';
             $name = isset($item->fields['name']) ? $item->fields['name'] : '';
             $global = strpos($autoNum, '\\g') !== false && $type != INFOCOM_TYPE ? 1 : 0;
             $autoNum = str_replace(array('\\y', '\\Y', '\\m', '\\d', '_', '%', '\\g', '\\s', '\\n'), array(date('y'), date('Y'), date('m'), date('d'), '\\_', '\\%', '', $serial, $name), $autoNum);
             $mask = $mask[0];
             $pos = strpos($autoNum, $mask) + 1;
             $len = strlen($mask);
             $like = str_replace('#', '_', $autoNum);
             if ($config['use_index']) {
                 $index = PluginGeninventorynumberConfig::getNextIndex();
             } else {
                 $index = PluginGeninventorynumberConfigField::getNextIndex($config['itemtype']);
             }
             $next_number = str_pad($index, $len, '0', STR_PAD_LEFT);
             $prefix = substr($template, 0, $suffix);
             $template = $prefix . str_replace(array($mask, '\\_', '\\%'), array($next_number, '_', '%'), $autoNum);
         }
     }
     return $template;
 }