Merge "Add a class to interlanguage links"
[lhc/web/wiklou.git] / includes / cache / CacheDependency.php
index 2570315..b7d0a7c 100644 (file)
@@ -149,7 +149,8 @@ abstract class CacheDependency {
  * @ingroup Cache
  */
 class FileDependency extends CacheDependency {
-       var $filename, $timestamp;
+       private $filename;
+       private $timestamp;
 
        /**
         * Create a file dependency
@@ -218,187 +219,12 @@ class FileDependency extends CacheDependency {
        }
 }
 
-/**
- * @ingroup Cache
- */
-class TitleDependency extends CacheDependency {
-       var $titleObj;
-       var $ns, $dbk;
-       var $touched;
-
-       /**
-        * Construct a title dependency
-        * @param $title Title
-        */
-       function __construct( Title $title ) {
-               $this->titleObj = $title;
-               $this->ns = $title->getNamespace();
-               $this->dbk = $title->getDBkey();
-       }
-
-       function loadDependencyValues() {
-               $this->touched = $this->getTitle()->getTouched();
-       }
-
-       /**
-        * Get rid of bulky Title object for sleep
-        *
-        * @return array
-        */
-       function __sleep() {
-               return array( 'ns', 'dbk', 'touched' );
-       }
-
-       /**
-        * @return Title
-        */
-       function getTitle() {
-               if ( !isset( $this->titleObj ) ) {
-                       $this->titleObj = Title::makeTitle( $this->ns, $this->dbk );
-               }
-
-               return $this->titleObj;
-       }
-
-       /**
-        * @return bool
-        */
-       function isExpired() {
-               $touched = $this->getTitle()->getTouched();
-
-               if ( $this->touched === false ) {
-                       if ( $touched === false ) {
-                               # Still missing
-                               return false;
-                       } else {
-                               # Created
-                               return true;
-                       }
-               } elseif ( $touched === false ) {
-                       # Deleted
-                       return true;
-               } elseif ( $touched > $this->touched ) {
-                       # Updated
-                       return true;
-               } else {
-                       # Unmodified
-                       return false;
-               }
-       }
-}
-
-/**
- * @ingroup Cache
- */
-class TitleListDependency extends CacheDependency {
-       var $linkBatch;
-       var $timestamps;
-
-       /**
-        * Construct a dependency on a list of titles
-        * @param $linkBatch LinkBatch
-        */
-       function __construct( LinkBatch $linkBatch ) {
-               $this->linkBatch = $linkBatch;
-       }
-
-       /**
-        * @return array
-        */
-       function calculateTimestamps() {
-               # Initialise values to false
-               $timestamps = array();
-
-               foreach ( $this->getLinkBatch()->data as $ns => $dbks ) {
-                       if ( count( $dbks ) > 0 ) {
-                               $timestamps[$ns] = array();
-
-                               foreach ( $dbks as $dbk => $value ) {
-                                       $timestamps[$ns][$dbk] = false;
-                               }
-                       }
-               }
-
-               # Do the query
-               if ( count( $timestamps ) ) {
-                       $dbr = wfGetDB( DB_SLAVE );
-                       $where = $this->getLinkBatch()->constructSet( 'page', $dbr );
-                       $res = $dbr->select(
-                               'page',
-                               array( 'page_namespace', 'page_title', 'page_touched' ),
-                               $where,
-                               __METHOD__
-                       );
-
-                       foreach ( $res as $row ) {
-                               $timestamps[$row->page_namespace][$row->page_title] = $row->page_touched;
-                       }
-               }
-
-               return $timestamps;
-       }
-
-       function loadDependencyValues() {
-               $this->timestamps = $this->calculateTimestamps();
-       }
-
-       /**
-        * @return array
-        */
-       function __sleep() {
-               return array( 'timestamps' );
-       }
-
-       /**
-        * @return LinkBatch
-        */
-       function getLinkBatch() {
-               if ( !isset( $this->linkBatch ) ) {
-                       $this->linkBatch = new LinkBatch;
-                       $this->linkBatch->setArray( $this->timestamps );
-               }
-
-               return $this->linkBatch;
-       }
-
-       /**
-        * @return bool
-        */
-       function isExpired() {
-               $newTimestamps = $this->calculateTimestamps();
-
-               foreach ( $this->timestamps as $ns => $dbks ) {
-                       foreach ( $dbks as $dbk => $oldTimestamp ) {
-                               $newTimestamp = $newTimestamps[$ns][$dbk];
-
-                               if ( $oldTimestamp === false ) {
-                                       if ( $newTimestamp === false ) {
-                                               # Still missing
-                                       } else {
-                                               # Created
-                                               return true;
-                                       }
-                               } elseif ( $newTimestamp === false ) {
-                                       # Deleted
-                                       return true;
-                               } elseif ( $newTimestamp > $oldTimestamp ) {
-                                       # Updated
-                                       return true;
-                               } else {
-                                       # Unmodified
-                               }
-                       }
-               }
-
-               return false;
-       }
-}
-
 /**
  * @ingroup Cache
  */
 class GlobalDependency extends CacheDependency {
-       var $name, $value;
+       private $name;
+       private $value;
 
        function __construct( $name ) {
                $this->name = $name;
@@ -421,7 +247,8 @@ class GlobalDependency extends CacheDependency {
  * @ingroup Cache
  */
 class ConstantDependency extends CacheDependency {
-       var $name, $value;
+       private $name;
+       private $value;
 
        function __construct( $name ) {
                $this->name = $name;