2016-01-22 15:58:54 -05:00
< ? php
/***************************************************************
* Copyright notice
*
* ( c ) 2013 Jérôme Schneider < mail @ jeromeschneider . fr >
* All rights reserved
*
2019-04-19 04:35:31 -04:00
* http :// sabre . io / baikal
2016-01-22 15:58:54 -05:00
*
* This script is part of the Baïkal Server project . The Baïkal
* Server project is free software ; you can redistribute it
* and / or modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation ; either
* version 2 of the License , or ( at your option ) any later version .
*
* The GNU General Public License can be found at
* http :// www . gnu . org / copyleft / gpl . html .
*
* 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 !
***************************************************************/
2019-10-14 06:21:28 -04:00
use Symfony\Component\Yaml\Yaml ;
2016-01-22 15:58:54 -05:00
ini_set ( " session.cookie_httponly " , 1 );
ini_set ( " display_errors " , 0 );
ini_set ( " log_errors " , 1 );
2016-03-12 20:19:06 -05:00
define ( " BAIKAL_CONTEXT " , true );
2016-01-22 15:58:54 -05:00
define ( " PROJECT_CONTEXT_BASEURI " , " / " );
2016-03-12 20:19:06 -05:00
if ( file_exists ( getcwd () . " /Core " )) {
# Flat FTP mode
define ( " PROJECT_PATH_ROOT " , getcwd () . " / " ); #./
2016-01-22 15:58:54 -05:00
} else {
2016-03-12 20:19:06 -05:00
# Dedicated server mode
define ( " PROJECT_PATH_ROOT " , dirname ( getcwd ()) . " / " ); #../
2016-01-22 15:58:54 -05:00
}
2016-03-12 20:19:06 -05:00
if ( ! file_exists ( PROJECT_PATH_ROOT . 'vendor/' )) {
2021-01-14 23:06:26 -05:00
exit ( '<h1>Incomplete installation</h1><p>Baïkal dependencies have not been installed. If you are a regular user, this means that you probably downloaded the wrong zip file.</p><p>To install the dependencies manually, execute "<strong>composer install</strong>" in the Baïkal root folder.</p>' );
2016-01-22 15:58:54 -05:00
}
require PROJECT_PATH_ROOT . 'vendor/autoload.php' ;
# Bootstraping Flake
\Flake\Framework :: bootstrap ();
2019-10-14 06:21:28 -04:00
2016-01-22 15:58:54 -05:00
# Bootstrapping Baïkal
\Baikal\Framework :: bootstrap ();
2019-10-14 06:21:28 -04:00
try {
2020-03-05 08:35:37 -05:00
$config = Yaml :: parseFile ( PROJECT_PATH_CONFIG . " baikal.yaml " );
2019-10-14 06:21:28 -04:00
} catch ( \Exception $e ) {
2021-01-14 23:06:26 -05:00
exit ( '<h1>Incomplete installation</h1><p>Baïkal is missing its configuration file, or its configuration file is unreadable.' );
2019-10-14 06:21:28 -04:00
}
2020-03-05 08:35:37 -05:00
if ( ! isset ( $config [ 'system' ][ " cal_enabled " ]) || $config [ 'system' ][ " cal_enabled " ] !== true ) {
2016-03-12 20:19:06 -05:00
throw new ErrorException ( " Baikal CalDAV is disabled. " , 0 , 255 , __FILE__ , __LINE__ );
2016-01-22 15:58:54 -05:00
}
$server = new \Baikal\Core\Server (
2020-03-05 08:35:37 -05:00
$config [ 'system' ][ " cal_enabled " ],
$config [ 'system' ][ " card_enabled " ],
$config [ 'system' ][ " dav_auth_type " ],
$config [ 'system' ][ " auth_realm " ],
2016-01-22 15:58:54 -05:00
$GLOBALS [ 'DB' ] -> getPDO (),
2019-10-14 06:21:28 -04:00
PROJECT_BASEURI . 'cal.php/'
2016-01-22 15:58:54 -05:00
);
$server -> start ();