public function testCanDownloadRestrictivePermission() { File::add_extension('SecureFileExtensionTest_RestrictiveFileExtension'); $oldAFR = $this->autoFollowRedirection; $this->autoFollowRedirection = false; $file = $this->objFromFixture('File', 'restrictive'); $content = $this->get($file->Filename); // This file lets anyone access it, but our extension should override $this->assertTrue($content->getStatusCode() === 302); // Should redirect to Security/login $this->assertContains('Security/login', $content->getHeader('Location')); $this->autoFollowRedirection = $oldAFR; File::remove_extension('SecureFileExtensionTest_RestrictiveFileExtension'); }
<?php Member::add_extension('FrameworkTestRole'); Member::add_extension('FileUploadRole'); SiteTree::add_extension('FrameworkTestSiteTreeExtension'); File::add_extension('FrameworkTestFileExtension'); if (class_exists('SiteTreeCMSWorkflow')) { SiteConfig::add_extension('CMSWorkflowSiteConfigDecorator'); CMSWorkflowSiteConfigDecorator::apply_active_config(); } Director::addRules(100, array('dev/regress/$Action/$ID' => 'FrameworktestRegressSessionAdmin')); if (@$_GET['db']) { $enabletranslatable = @$_GET['enabletranslatable']; } elseif (@$_SESSION['db']) { $enabletranslatable = @$_SESSION['enabletranslatable']; } else { $enabletranslatable = null; } if ($enabletranslatable) { SiteTree::add_extension('Translatable'); SiteConfig::add_extension('Translatable'); }
<?php /** * - CMS_DIR: Path relative to webroot, e.g. "cms" * - CMS_PATH: Absolute filepath, e.g. "/var/www/my-webroot/cms" */ define('CMS_DIR', 'cms'); define('CMS_PATH', BASE_PATH . '/' . CMS_DIR); /** * Register the default internal shortcodes. */ ShortcodeParser::get('default')->register('sitetree_link', array('SiteTree', 'link_shortcode_handler')); File::add_extension('SiteTreeFileExtension'); // TODO Remove once we can configure CMSMenu through static, nested configuration files CMSMenu::remove_menu_item('CMSMain'); CMSMenu::remove_menu_item('CMSPageEditController'); CMSMenu::remove_menu_item('CMSPageSettingsController'); CMSMenu::remove_menu_item('CMSPageHistoryController'); CMSMenu::remove_menu_item('CMSPageReportsController'); CMSMenu::remove_menu_item('CMSPageAddController'); CMSMenu::remove_menu_item("SiteConfigLeftAndMain");
<?php define('LITECMS', basename(dirname(__FILE__))); SSViewer::set_source_file_comments(false); CMSMenu::remove_menu_item("CommentAdmin"); CMSMenu::remove_menu_item("ReportAdmin"); CMSMenu::remove_menu_item("SecurityAdmin"); CMSMenu::remove_menu_item("Help"); Object::add_extension('SiteConfig', 'LiteCMSBaseConfig'); Object::add_extension('LeftAndMain', 'LiteCMS'); Object::add_extension('SiteConfig', 'LiteCMSMaintenance'); Object::add_extension('Page', 'LiteCMSMaintenanceController_Decorator'); GD::set_default_quality(100); LeftAndMain::setApplicationName("LiteCMS"); LeftAndMain::require_css('litecms/css/lite.css'); Image::add_extension('LiteCMSImage'); File::add_extension('LiteCMSAttachment');
<?php File::remove_extension('FileSubsites'); File::add_extension('SubsiteFileExtension');
<?php /** * The subsites module modifies the behaviour of the CMS - in the SiteTree and Group databases - to store information * about a number of sub-sites, rather than a single site. */ SiteTree::add_extension('SiteTreeSubsites'); ContentController::add_extension('ControllerSubsites'); CMSPageAddController::add_extension('CMSPageAddControllerExtension'); LeftAndMain::add_extension('LeftAndMainSubsites'); LeftAndMain::add_extension('ControllerSubsites'); Group::add_extension('GroupSubsites'); File::add_extension('FileSubsites'); ErrorPage::add_extension('ErrorPageSubsite'); SiteConfig::add_extension('SiteConfigSubsites'); SS_Report::add_excluded_reports('SubsiteReportWrapper'); //Display in cms menu AssetAdmin::add_extension('SubsiteMenuExtension'); SecurityAdmin::add_extension('SubsiteMenuExtension'); CMSMain::add_extension('SubsiteMenuExtension'); CMSPagesController::add_extension('SubsiteMenuExtension'); SubsiteAdmin::add_extension('SubsiteMenuExtension'); CMSSettingsController::add_extension('SubsiteMenuExtension');
<?php /** * @package silverstripe-versionedfiles */ File::add_extension('VersionedFileExtension'); Image::add_extension('VersionedImageExtension'); Folder::add_extension('VersionedFolderExtension'); Upload::add_extension('VersionedUploadExtension');
<?php // Define path constant $path = str_replace('\\', '/', __DIR__); $path_fragments = explode('/', $path); $dir_name = $path_fragments[count($path_fragments) - 1]; define('ABC_VENDOR_PATH', $dir_name . '/thirdparty'); define('ABC_PATH', $dir_name . '/src/abc'); // Configure Image Extension AbcImageExtension::$fallback_image = ABC_PATH . '/images/no-image.jpg'; // attach Extensions Image::add_extension('AbcImageExtension'); File::add_extension('AbcFileExtension'); LeftAndMain::add_extension('AbcLeftAndMainExtension'); SiteTree::add_extension('AbcSiteTreeExtension'); Security::add_extension('AbcSecurityExtension'); Controller::add_extension('AbcControllerExtension'); // DatePicker config Object::useCustomClass('DateField_View_JQuery', 'jQueryUIDateField_View');