function ftsearch_refresh_all_caches()
{
    $rs = sql('SELECT `caches`.`cache_id` FROM `caches` LEFT JOIN `search_index_times` ON `caches`.`cache_id`=`search_index_times`.`object_id` AND 2=`search_index_times`.`object_type` WHERE `caches`.`status`!=5 AND ISNULL(`search_index_times`.`object_id`) UNION DISTINCT SELECT `caches`.`cache_id` FROM `caches` INNER JOIN `search_index_times` ON `search_index_times`.`object_type`=2 AND `caches`.`cache_id`=`search_index_times`.`object_id` WHERE `caches`.`last_modified`>`search_index_times`.`last_refresh` AND `caches`.`status`!=5');
    while ($r = sql_fetch_assoc($rs)) {
        ftsearch_refresh_cache($r['cache_id']);
    }
    sql_free_result($rs);
}
Esempio n. 2
0
function ftsearch_refresh_all_caches()
{
    $rs = XDb::xSql('SELECT `caches`.`cache_id`
        FROM `caches`
            LEFT JOIN `search_index_times` ON `caches`.`cache_id`=`search_index_times`.`object_id`
            AND 2=`search_index_times`.`object_type`
        WHERE `caches`.`status`!=5 AND `caches`.`status`!=6
            AND `caches`.`status`!= 4
            AND ISNULL(`search_index_times`.`object_id`)
        UNION DISTINCT
            SELECT `caches`.`cache_id`
            FROM `caches`
                INNER JOIN `search_index_times` ON `search_index_times`.`object_type`=2
                AND `caches`.`cache_id`=`search_index_times`.`object_id`
            WHERE `caches`.`last_modified`>`search_index_times`.`last_refresh`
                AND `caches`.`status`!=5 AND `caches`.`status`!=6
                AND `caches`.`status`!=4');
    while ($r = XDb::xFetchArray($rs)) {
        ftsearch_refresh_cache($r['cache_id']);
    }
    XDb::xFreeResults($rs);
}