123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- use Wikimedia\Rdbms\LoadBalancer;
- class ReadOnlyMode {
-
- private $configuredReadOnly;
-
- private $loadBalancer;
- public function __construct( ConfiguredReadOnlyMode $cro, LoadBalancer $loadBalancer ) {
- $this->configuredReadOnly = $cro;
- $this->loadBalancer = $loadBalancer;
- }
-
- public function isReadOnly() {
- return $this->getReason() !== false;
- }
-
- public function getReason() {
- $reason = $this->configuredReadOnly->getReason();
- if ( $reason !== false ) {
- return $reason;
- }
- $reason = $this->loadBalancer->getReadOnlyReason();
- if ( $reason !== false && $reason !== null ) {
- return $reason;
- }
- return false;
- }
-
- public function setReason( $msg ) {
- $this->configuredReadOnly->setReason( $msg );
- }
-
- public function clearCache() {
- $this->configuredReadOnly->clearCache();
- }
- }
|