function CachedField($fieldNumber) { $fieldName = MenuCache::field_maker($fieldNumber); if (isset($_REQUEST["flush"])) { $this->owner->clearfieldcache(); } if (!MenuCache::fields_exists($fieldNumber)) { user_error("{$fieldName} is not a field that can be cached", E_USER_ERROR); } else { if (!$this->owner->{$fieldName} || $this->owner->DoNotCacheMenu) { $fieldID = $fieldNumber; $content = $this->getHtml($fieldNumber); $sql = "Update \"SiteTree_Live\" Set \"" . $fieldName . "\" = '" . $this->compressAndPrepareHTML($content) . "' WHERE \"ID\" = " . $this->owner->ID . " LIMIT 1"; DB::query($sql); return $content; } else { return $this->owner->{$fieldName}; } } }
public function test_it_loads_menus() { MenuCache::$menus = ['somename' => 'menu#1']; assertEquals('menu#1', MenuCache::loadMenu('somename')); }