FileIndexTable :: processFilter: Bitrix method

      
<?php 
//  Bitrix\Translate\Index\Internals\FileIndexTable :: processFilter()
//  /dist/bitrix/modules/translate/lib/index/internals/fileindex.php:140

    
public static function processFilter(Translate\Filter $filter null)
    {
        
$filterOut = array();

        if (
$filter !== null && ($filter instanceof Translate\Filter || $filter instanceof \Traversable))
        {
            foreach (
$filter as $key => $value)
            {
                if (empty(
$value))
                {
                    continue;
                }

                if (
$key === 'path')
                {
                    
$filterOut['=%PATH.PATH'] = $value.'%';
                }
                elseif (
$key === 'pathId')
                {
                    
$filterOut['=PATH_ID'] = $value;
                }
                elseif (
$key === 'langId')
                {
                    
$filterOut['=LANG_ID'] = $value;
                }
                elseif (
$key === 'fileId')
                {
                    
$filterOut['=ID'] = $value;
                }
                elseif (
$key === 'indexedTime')
                {
                    
$filterOut['<INDEXED_TIME'] = $value;
                }
                else
                {
                    if (static::
getEntity()->hasField(trim($key'<>[email protected]~%*')))
                    {
                        
$filterOut[$key] = $value;
                    }
                }
            }
        }

        return 
$filterOut;
    }