Baikal\Core\Tools::getRequiredTablesList PHP Метод

getRequiredTablesList() статический публичный Метод

static public getRequiredTablesList ( )
    static function getRequiredTablesList()
    {
        return ["addressbooks", "calendarobjects", "calendars", "cards", "groupmembers", "locks", "principals", "users"];
    }

Usage Example

Пример #1
0
 public function validateMySQLConnection($oForm, $oMorpho)
 {
     $bMySQLEnabled = $oMorpho->element("PROJECT_DB_MYSQL")->value();
     if ($bMySQLEnabled) {
         $sHost = $oMorpho->element("PROJECT_DB_MYSQL_HOST")->value();
         $sDbname = $oMorpho->element("PROJECT_DB_MYSQL_DBNAME")->value();
         $sUsername = $oMorpho->element("PROJECT_DB_MYSQL_USERNAME")->value();
         $sPassword = $oMorpho->element("PROJECT_DB_MYSQL_PASSWORD")->value();
         try {
             $oDb = new \Flake\Core\Database\Mysql($sHost, $sDbname, $sUsername, $sPassword);
             if (($aMissingTables = \Baikal\Core\Tools::isDBStructurallyComplete($oDb)) !== TRUE) {
                 # Checking if all tables are missing
                 $aRequiredTables = \Baikal\Core\Tools::getRequiredTablesList();
                 if (count($aRequiredTables) !== count($aMissingTables)) {
                     $sMessage = "<br /><p><strong>Database is not structurally complete.</strong></p>";
                     $sMessage .= "<p>Missing tables are: <strong>" . implode("</strong>, <strong>", $aMissingTables) . "</strong></p>";
                     $sMessage .= "<p>You will find the SQL definition of Baïkal tables in this file: <strong>Core/Resources/Db/MySQL/db.sql</strong></p>";
                     $sMessage .= "<br /><p>Nothing has been saved. <strong>Please, add these tables to the database before pursuing Baïkal initialization.</strong></p>";
                     $oForm->declareError($oMorpho->element("PROJECT_DB_MYSQL"), $sMessage);
                 } else {
                     # All tables are missing
                     # We add these tables ourselves to the database, to initialize Baïkal
                     $sSqlDefinition = file_get_contents(PROJECT_PATH_CORERESOURCES . "Db/MySQL/db.sql");
                     $oDb->query($sSqlDefinition);
                 }
             }
             return TRUE;
         } catch (\Exception $e) {
             $oForm->declareError($oMorpho->element("PROJECT_DB_MYSQL"), "Baïkal was not able to establish a connexion to the MySQL database as configured.<br />MySQL says: " . $e->getMessage());
             $oForm->declareError($oMorpho->element("PROJECT_DB_MYSQL_HOST"));
             $oForm->declareError($oMorpho->element("PROJECT_DB_MYSQL_DBNAME"));
             $oForm->declareError($oMorpho->element("PROJECT_DB_MYSQL_USERNAME"));
             $oForm->declareError($oMorpho->element("PROJECT_DB_MYSQL_PASSWORD"));
         }
     }
 }
All Usage Examples Of Baikal\Core\Tools::getRequiredTablesList