示例#1
0
 /**
  * Enforce the current view to be rerouted on a slave SQL server if slave datasource is available
  *
  * @return void
  */
 static function enforceSlave()
 {
     // Enslaved views are supposably session stallers so close session preventively
     CSessionHandler::writeClose();
     // URL param enslave prevention
     if (CValue::request("enslave") === "0") {
         return;
     }
     // Test wether a slave datasource has been configured
     if (!CAppUI::conf("db slave dbhost")) {
         return;
     }
     // Check connection to the slave datasource or abandon std datasource rerouting
     if (!CSQLDataSource::get("slave", true)) {
         return;
     }
     self::$enslaved = true;
     self::$slavestate = true;
     self::rerouteStdDS();
 }