2012-07-17 07:58:33 +02:00
|
|
|
<?php
|
2012-11-22 02:15:13 +01:00
|
|
|
|
2019-04-23 08:22:18 +02:00
|
|
|
use SilverStripe\Core\Config\Config;
|
|
|
|
use SilverStripe\Control\Director;
|
|
|
|
use Sunnysideup\DMS\Cms\DMSDocumentAddController;
|
|
|
|
use SilverStripe\Admin\CMSMenu;
|
|
|
|
use SilverStripe\View\Parsers\ShortcodeParser;
|
|
|
|
use Sunnysideup\DMS\DMS;
|
|
|
|
use Sunnysideup\DMS\DMSShortcodeHandler;
|
|
|
|
use Sunnysideup\DMS\Model\DMSDocument_versions;
|
|
|
|
use Sunnysideup\DMS\Model\DMSDocument;
|
|
|
|
use SilverStripe\Assets\Filesystem;
|
|
|
|
|
2013-08-22 13:38:26 +02:00
|
|
|
$config = Config::inst();
|
2012-11-22 02:15:13 +01:00
|
|
|
|
2017-05-02 04:49:41 +02:00
|
|
|
define('DMS_DIR', basename(__DIR__));
|
2012-11-22 02:15:13 +01:00
|
|
|
|
2019-04-23 08:19:18 +02:00
|
|
|
if (!file_exists(Director::baseFolder() . DIRECTORY_SEPARATOR . DMS_DIR)) {
|
2017-05-02 04:49:41 +02:00
|
|
|
user_error('DMS directory named incorrectly. Please install the DMS module into a folder named: ' . DMS_DIR);
|
2017-05-01 05:54:48 +02:00
|
|
|
}
|
2012-11-20 22:22:40 +01:00
|
|
|
|
2019-01-02 12:08:48 +01:00
|
|
|
// Ensure compatibility with PHP 7.2 ("object" is a reserved word),
|
|
|
|
// with SilverStripe 3.6 (using Object) and SilverStripe 3.7 (using SS_Object)
|
|
|
|
if (!class_exists('SS_Object')) class_alias('Object', 'SS_Object');
|
|
|
|
|
2019-04-23 08:22:18 +02:00
|
|
|
CMSMenu::remove_menu_item(DMSDocumentAddController::class);
|
2012-08-21 04:21:23 +02:00
|
|
|
|
2013-10-09 11:23:50 +02:00
|
|
|
ShortcodeParser::get('default')->register(
|
2019-04-23 08:22:18 +02:00
|
|
|
$config->get(DMS::class, 'shortcode_handler_key'),
|
|
|
|
array(DMSShortcodeHandler::class, 'handle')
|
2013-10-09 11:23:50 +02:00
|
|
|
);
|
2012-11-20 22:43:31 +01:00
|
|
|
|
2019-04-23 08:22:18 +02:00
|
|
|
if ($config->get(DMSDocument_versions::class, 'enable_versions')) {
|
2017-05-08 05:30:24 +02:00
|
|
|
//using the same db relations for the versioned documents, as for the actual documents
|
2019-04-23 08:22:18 +02:00
|
|
|
$config->update(DMSDocument_versions::class, 'db', $config->get(DMSDocument::class, 'db'));
|
2012-11-22 22:56:28 +01:00
|
|
|
}
|
2017-07-31 10:14:04 +02:00
|
|
|
|
|
|
|
// add dmsassets folder to file system sync exclusion
|
2019-04-23 08:22:18 +02:00
|
|
|
if (strpos($config->get(DMS::class, 'folder_name'), 'assets/') === 0) {
|
|
|
|
$folderName = substr($config->get(DMS::class, 'folder_name'), 7);
|
|
|
|
$config->update(Filesystem::class, 'sync_blacklisted_patterns', array("/^" . $folderName . "$/i",));
|
2017-07-31 10:14:04 +02:00
|
|
|
}
|