static function assertBaikalIsOk() { # DB connexion has not been asserted earlier by Flake, to give us a chance to trigger the install tool # We assert it right now if (!\Flake\Framework::isDBInitialized() && (!defined("BAIKAL_CONTEXT_INSTALL") || BAIKAL_CONTEXT_INSTALL === false)) { throw new \Exception("<strong>Fatal error</strong>: no connection to a database is available."); } # Asserting that the database is structurally complete #if(($aMissingTables = self::isDBStructurallyComplete($GLOBALS["DB"])) !== TRUE) { # throw new \Exception("<strong>Fatal error</strong>: Database is not structurally complete; missing tables are: <strong>" . implode("</strong>, <strong>", $aMissingTables) . "</strong>"); #} # Asserting config file exists if (!file_exists(PROJECT_PATH_SPECIFIC . "config.php")) { throw new \Exception("Specific/config.php does not exist. Please use the Install tool to create it."); } # Asserting config file is readable if (!is_readable(PROJECT_PATH_SPECIFIC . "config.php")) { throw new \Exception("Specific/config.php is not readable. Please give read permissions to httpd user on file 'Specific/config.php'."); } # Asserting config file is writable if (!is_writable(PROJECT_PATH_SPECIFIC . "config.php")) { throw new \Exception("Specific/config.php is not writable. Please give write permissions to httpd user on file 'Specific/config.php'."); } # Asserting system config file exists if (!file_exists(PROJECT_PATH_SPECIFIC . "config.system.php")) { throw new \Exception("Specific/config.system.php does not exist. Please use the Install tool to create it."); } # Asserting system config file is readable if (!is_readable(PROJECT_PATH_SPECIFIC . "config.system.php")) { throw new \Exception("Specific/config.system.php is not readable. Please give read permissions to httpd user on file 'Specific/config.system.php'."); } # Asserting system config file is writable if (!is_writable(PROJECT_PATH_SPECIFIC . "config.system.php")) { throw new \Exception("Specific/config.system.php is not writable. Please give write permissions to httpd user on file 'Specific/config.system.php'."); } }
* This script is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * This copyright notice MUST APPEAR in all copies of the script! ***************************************************************/ define("BAIKAL_CONTEXT", TRUE); define("PROJECT_CONTEXT_BASEURI", "/"); if (file_exists(getcwd() . "/Core")) { # Flat FTP mode define("PROJECT_PATH_ROOT", getcwd() . "/"); #./ } else { # Dedicated server mode define("PROJECT_PATH_ROOT", dirname(getcwd()) . "/"); #../ } if (!file_exists(PROJECT_PATH_ROOT . 'vendor/')) { die('<h1>Incomplete installation</h1><p>Baïkal dependencies have not been installed. Please, execute "<strong>composer install</strong>" in the folder where you installed Baïkal.'); } require PROJECT_PATH_ROOT . 'vendor/autoload.php'; # Bootstraping Flake \Flake\Framework::bootstrap(); # Bootstrapping Baïkal \Baikal\Framework::bootstrap(); if (!defined("BAIKAL_CARD_ENABLED") || BAIKAL_CARD_ENABLED !== TRUE) { throw new ErrorException("Baikal CardDAV is disabled.", 0, 255, __FILE__, __LINE__); } $server = new \Baikal\Core\Server(BAIKAL_CAL_ENABLED, BAIKAL_CARD_ENABLED, BAIKAL_DAV_AUTH_TYPE, BAIKAL_AUTH_REALM, $GLOBALS['DB']->getPDO(), BAIKAL_CARD_BASEURI); $server->start();