77 public static function getMap(): array
84 'data_type' =>
'integer',
86 'autocomplete' =>
true,
89 'data_type' =>
'integer',
92 'data_type' =>
'integer',
95 'data_type' =>
'string',
98 'data_type' =>
'string',
101 'data_type' => Index\Internals\FileIndexTable::class,
103 '=this.FILE_ID' =>
'ref.ID',
105 'join_type' =>
'INNER',
108 'data_type' => Index\Internals\PathIndexTable::class,
110 '=this.PATH_ID' =>
'ref.ID',
112 'join_type' =>
'INNER',
116 foreach (Translate\Config::getEnabledLanguages() as $langId)
118 $fields[
'PHRASE_' . mb_strtoupper($langId)] = [
119 'data_type' => Index\Internals\PhraseFts::getFtsEntityClass($langId),
121 '=this.ID' =>
'ref.ID',
123 'join_type' =>
'LEFT',
138 public static function purge(?Translate\
Filter $filter =
null): void
140 $langs = isset($filter, $filter->langId) ? $filter->langId : Translate\Config::getEnabledLanguages();
141 foreach ($langs as $langId)
143 $ftsClass = Index\Internals\PhraseFts::getFtsEntityClass($langId);
144 $ftsClass::purge($filter);
147 $filterOut = static::processFilter($filter);
148 static::bulkDelete($filterOut);