public static function getCitySelectOptions(\DataContainer $dc) { $arrItems = array(); if (!is_array($dc->objModule->cal_calendar) || empty($dc->objModule->cal_calendar)) { return $arrItems; } $strCacheKey = 'city_select_options_' . implode('_', $dc->objModule->cal_calendar); if (FileCache::getInstance()->isExisting($strCacheKey)) { return FileCache::getInstance()->get($strCacheKey); } $arrItems = array(); $t = static::$strTable; $arrOptions['fields'][] = 'DISTINCT city'; $arrOptions['column'][] = "{$t}.pid IN(" . implode(',', array_map('intval', $dc->objModule->cal_calendar)) . ")"; $arrOptions['column'][] = 'city != ""'; if (!BE_USER_LOGGED_IN) { $time = time(); $arrOptions['column'][] = "({$t}.start='' OR {$t}.start<{$time}) AND ({$t}.stop='' OR {$t}.stop>{$time}) AND {$t}.published=1"; } $arrOptions['order'] = 'city ASC'; $objItems = static::getDatabaseResult($arrOptions); if ($objItems === null) { return $arrItems; } $arrItems = $objItems->fetchEach('city'); FileCache::getInstance()->set($strCacheKey, $arrItems); return $arrItems; }
public function clearCaches() { \HeimrichHannot\Haste\Cache\FileCache::clean(); }