/**
  * Clears the content cache
  *
  * @ignore
  * @internal
  * @access private
  * @return void
  */
 function ClearCache()
 {
     $gCms = cmsms();
     $smarty = $gCms->GetSmarty();
     cms_content_cache::clear();
     unset($gCms->hrinstance);
     $smarty->clear_all_cache();
     $smarty->clear_compiled_tpl();
     if (is_file(TMP_CACHE_LOCATION . '/contentcache.php')) {
         unlink(TMP_CACHE_LOCATION . '/contentcache.php');
     }
     @touch(cms_join_path(TMP_CACHE_LOCATION, 'index.html'));
     @touch(cms_join_path(TMP_TEMPLATES_C_LOCATION, 'index.html'));
 }
    $config = cmsms()->GetConfig();
    $redirect = false;
    $db =& $this->GetDb();
    # get all content of type advanced that need to be set to active/inactive
    $query = "SELECT C.content_id, C.active\r\n\t\tFROM " . cms_db_prefix() . "content C\r\n\t\tLEFT JOIN " . cms_db_prefix() . "content_props USE_EXP\r\n\t\t\tON USE_EXP.content_id = C.content_id\r\n\t\tLEFT JOIN " . cms_db_prefix() . "content_props START_DATE\r\n\t\t\tON START_DATE.content_id = C.content_id\r\n\t\tLEFT JOIN " . cms_db_prefix() . "content_props END_DATE\r\n\t\t\tON END_DATE.content_id = C.content_id\r\n\t\tWHERE\r\n\t\t\tC.type = ? AND\r\n\t\t\tUSE_EXP.prop_name = ? AND\r\n\t\t\tUSE_EXP.content = ? AND (\r\n\t\t\t\t(\r\n\t\t\t\t\tSTART_DATE.prop_name = ? AND\r\n\t\t\t\t\tSTART_DATE.content <= ? AND\r\n\t\t\t\t\tEND_DATE.prop_name = ? AND\r\n\t\t\t\t\tEND_DATE.content > ? AND\r\n\t\t\t\t\tC.active = ?\r\n\t\t\t\t)\r\n\t\t\t\tOR\r\n\t\t\t\t(\r\n\t\t\t\t\tEND_DATE.prop_name = ? AND\r\n\t\t\t\t\tEND_DATE.content <= ? AND\r\n\t\t\t\t\tC.active = ?\r\n\t\t\t\t)\r\n\t\t\t)\r\n\t\t";
    $dbresult = $db->Execute($query, array('content2', 'use_expire_date', '1', 'start_date', time(), 'end_date', time(), 0, 'end_date', time(), 1));
    $contents = array();
    while ($dbresult && ($row = $dbresult->FetchRow())) {
        if ($row['active']) {
            $contents[$row['content_id']] = 0;
        } else {
            $contents[$row['content_id']] = 1;
        }
    }
    if (count($contents)) {
        cms_content_cache::clear();
        #$this->smarty->clear_all_cache();
        $this->smarty->clear_compiled_tpl();
        foreach ($contents as $contentId => $active) {
            $query = "UPDATE " . cms_db_prefix() . "content\r\n\t\t\t\tSET active = ? WHERE content_id = ?";
            $dbresult = $db->Execute($query, array($active, $contentId));
            if ($contentId == cms_utils::get_current_pageid()) {
                $redirect = $contentId;
            }
        }
    }
    if ($redirect) {
        $params['content'] = '';
        $this->RedirectContent($redirect);
    }
}
 /**
  * A method to indicate wether the content object for this node is cached.
  *
  * @return boolean
  */
 public function isContentCached()
 {
     if (cms_content_cache::content_exists($this->get_tag('id'))) {
         return TRUE;
     }
     return FALSE;
 }
 /**
  * Clear the contents of the entire cache
  */
 public static function clear()
 {
     self::$_content_cache = null;
     self::$_alias_map = null;
     self::$_id_map = null;
 }