clear() public method

Delete all files in the directory of this file cache
public clear ( ) : void
return void
Example #1
0
function subsite_manager_upgrade_system_handler($event, $type, $entity)
{
    if (get_input("all") == "true") {
        // find subsites and do stuff
        $options = array("type" => "site", "subtype" => Subsite::SUBTYPE, "limit" => false);
        // this could take a while
        set_time_limit(0);
        $batch = new ElggBatch("elgg_get_entities", $options);
        $viewtypes = elgg_get_config("view_types");
        $dataroot = elgg_get_config("dataroot");
        foreach ($batch as $subsite) {
            // clear simplecache
            $dir = $dataroot . "views_simplecache/" . $subsite->getGUID() . "/";
            if (file_exists($dir) && ($handle = opendir($dir))) {
                // remove files
                while (false !== ($file = readdir($handle))) {
                    if (!is_dir($dir . $file)) {
                        unlink($dir . $file);
                    }
                }
                closedir($handle);
            }
            if (!empty($viewtypes) && is_array($viewtypes)) {
                foreach ($viewtypes as $viewtype) {
                    datalist_set("sc_lastupdate_" . $viewtype . "_" . $subsite->getGUID(), 0);
                    datalist_set("sc_lastcached_" . $viewtype . "_" . $subsite->getGUID(), 0);
                }
            }
            // clear system cache
            $system_cache = new ElggFileCache($dataroot . "system_cache/" . $subsite->getGUID() . "/");
            $system_cache->clear();
            // cleanup cron cache
            $cron_cache = $dataroot . "subsite_manager/" . $subsite->getGUID() . "/cron_cache.json";
            if (file_exists($cron_cache)) {
                unlink($cron_cache);
            }
            // reset translation editor cache
            // can't use remove_private_setting because of 'name like' not 'name ='
            $sql = "DELETE FROM " . get_config("dbprefix") . "private_settings";
            $sql .= " WHERE name LIKE 'te_last_update_%'";
            $sql .= " AND entity_guid = " . $subsite->getGUID();
            delete_data($sql);
        }
    }
}