Exemplo n.º 1
0
 public static function addCacheElement($do_id, $object, $object_id, $fileName, $lang, $tollerance)
 {
     ezcLog::getInstance()->log(__METHOD__ . "({$do_id}, {$object}, {$object_id}, {$fileName}, {$lang}, {$tollerance}) called", ezcLog::DEBUG);
     $db = ezcDbInstance::get();
     $ca_id = R3EcoGisCacheHelper::getCacheId();
     ezcLog::getInstance()->log(__METHOD__ . ": CacheID: {$ca_id}", ezcLog::INFO);
     $cat_id = $db->query("SELECT cat_id FROM cache_type WHERE cat_code=" . $db->quote(strtoupper($object)))->fetchColumn();
     $sql = "INSERT INTO cache (ca_id, do_id, ca_object_id, cat_id, ca_lang, ca_tollerance)\r\n                VALUES ({$ca_id}, {$do_id}, {$object_id}, {$cat_id}, {$lang}, " . $db->quote($tollerance) . ")";
     $db->exec($sql);
     $path = R3_CACHE_DIR . strtolower($object) . '/' . sprintf(CACHE_MASK, $object_id / CACHE_DIR_LIMIT) . '/';
     $name = sprintf(CACHE_MASK, $object_id) . "_{$lang}_{$tollerance}" . CACHE_EXT;
     if (!file_exists($path)) {
         ezcLog::getInstance()->log(__METHOD__ . ": Creating directory {$path}", ezcLog::INFO);
         mkdir($path);
     }
     if ($fileName != '') {
         ezcLog::getInstance()->log(__METHOD__ . ": Coping {$fileName} => {$path}{$name}", ezcLog::INFO);
         copy($fileName, "{$path}{$name}");
         return $ca_id;
     }
     return false;
 }