コード例 #1
0
 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};
         }
     }
 }
コード例 #2
0
ファイル: MenuCacheTest.php プロジェクト: alpas29/cms
 public function test_it_loads_menus()
 {
     MenuCache::$menus = ['somename' => 'menu#1'];
     assertEquals('menu#1', MenuCache::loadMenu('somename'));
 }