Merge pull request #206 from chillu/pulls/public-function

Method visibility according to coding conventions
This commit is contained in:
Simon Welsh 2012-09-20 01:54:45 -07:00
commit 90a154c888
62 changed files with 550 additions and 550 deletions

View File

@ -6,17 +6,17 @@
* @subpackage batchaction * @subpackage batchaction
*/ */
class CMSBatchAction_Publish extends CMSBatchAction { class CMSBatchAction_Publish extends CMSBatchAction {
function getActionTitle() { public function getActionTitle() {
return _t('CMSBatchActions.PUBLISH_PAGES', 'Publish'); return _t('CMSBatchActions.PUBLISH_PAGES', 'Publish');
} }
function run(SS_List $pages) { public function run(SS_List $pages) {
return $this->batchaction($pages, 'doPublish', return $this->batchaction($pages, 'doPublish',
_t('CMSBatchActions.PUBLISHED_PAGES', 'Published %d pages, %d failures') _t('CMSBatchActions.PUBLISHED_PAGES', 'Published %d pages, %d failures')
); );
} }
function applicablePages($ids) { public function applicablePages($ids) {
return $this->applicablePagesHelper($ids, 'canPublish', true, false); return $this->applicablePagesHelper($ids, 'canPublish', true, false);
} }
} }
@ -28,11 +28,11 @@ class CMSBatchAction_Publish extends CMSBatchAction {
* @subpackage batchaction * @subpackage batchaction
*/ */
class CMSBatchAction_Unpublish extends CMSBatchAction { class CMSBatchAction_Unpublish extends CMSBatchAction {
function getActionTitle() { public function getActionTitle() {
return _t('CMSBatchActions.UNPUBLISH_PAGES', 'Un-publish'); return _t('CMSBatchActions.UNPUBLISH_PAGES', 'Un-publish');
} }
function run(SS_List $pages) { public function run(SS_List $pages) {
return $this->batchaction($pages, 'doUnpublish', return $this->batchaction($pages, 'doUnpublish',
_t('CMSBatchActions.UNPUBLISHED_PAGES', 'Un-published %d pages') _t('CMSBatchActions.UNPUBLISHED_PAGES', 'Un-published %d pages')
); );
@ -46,11 +46,11 @@ class CMSBatchAction_Unpublish extends CMSBatchAction {
* @subpackage batchaction * @subpackage batchaction
*/ */
class CMSBatchAction_Delete extends CMSBatchAction { class CMSBatchAction_Delete extends CMSBatchAction {
function getActionTitle() { public function getActionTitle() {
return _t('CMSBatchActions.DELETE_DRAFT_PAGES', 'Delete from draft site'); return _t('CMSBatchActions.DELETE_DRAFT_PAGES', 'Delete from draft site');
} }
function run(SS_List $pages) { public function run(SS_List $pages) {
$status = array( $status = array(
'modified'=>array(), 'modified'=>array(),
'deleted'=>array(), 'deleted'=>array(),
@ -81,7 +81,7 @@ class CMSBatchAction_Delete extends CMSBatchAction {
return $this->response(_t('CMSBatchActions.DELETED_DRAFT_PAGES', 'Deleted %d pages from draft site, %d failures'), $status); return $this->response(_t('CMSBatchActions.DELETED_DRAFT_PAGES', 'Deleted %d pages from draft site, %d failures'), $status);
} }
function applicablePages($ids) { public function applicablePages($ids) {
return $this->applicablePagesHelper($ids, 'canDelete', true, false); return $this->applicablePagesHelper($ids, 'canDelete', true, false);
} }
} }
@ -93,12 +93,12 @@ class CMSBatchAction_Delete extends CMSBatchAction {
* @subpackage batchaction * @subpackage batchaction
*/ */
class CMSBatchAction_DeleteFromLive extends CMSBatchAction { class CMSBatchAction_DeleteFromLive extends CMSBatchAction {
function getActionTitle() { public function getActionTitle() {
return _t('CMSBatchActions.DELETE_PAGES', 'Delete from published site'); return _t('CMSBatchActions.DELETE_PAGES', 'Delete from published site');
} }
function run(SS_List $pages) { public function run(SS_List $pages) {
$status = array( $status = array(
'modified'=>array(), 'modified'=>array(),
'deleted'=>array() 'deleted'=>array()
@ -126,7 +126,7 @@ class CMSBatchAction_DeleteFromLive extends CMSBatchAction {
return $this->response(_t('CMSBatchActions.DELETED_PAGES', 'Deleted %d pages from published site, %d failures'), $status); return $this->response(_t('CMSBatchActions.DELETED_PAGES', 'Deleted %d pages from published site, %d failures'), $status);
} }
function applicablePages($ids) { public function applicablePages($ids) {
return $this->applicablePagesHelper($ids, 'canDelete', false, true); return $this->applicablePagesHelper($ids, 'canDelete', false, true);
} }
} }

View File

@ -484,7 +484,7 @@ JS
} }
} }
function getSiteTreeFor($className, $rootID = null, $childrenMethod = null, $numChildrenMethod = null, $filterFunction = null, $minNodeCount = 30) { public function getSiteTreeFor($className, $rootID = null, $childrenMethod = null, $numChildrenMethod = null, $filterFunction = null, $minNodeCount = 30) {
if (!$childrenMethod) $childrenMethod = 'ChildFolders'; if (!$childrenMethod) $childrenMethod = 'ChildFolders';
return parent::getSiteTreeFor($className, $rootID, $childrenMethod, $numChildrenMethod, $filterFunction, $minNodeCount); return parent::getSiteTreeFor($className, $rootID, $childrenMethod, $numChildrenMethod, $filterFunction, $minNodeCount);
} }
@ -638,7 +638,7 @@ JS
return $items; return $items;
} }
function providePermissions() { public function providePermissions() {
$title = _t("AssetAdmin.MENUTITLE", LeftAndMain::menu_title_for_class($this->class)); $title = _t("AssetAdmin.MENUTITLE", LeftAndMain::menu_title_for_class($this->class));
return array( return array(
"CMS_ACCESS_AssetAdmin" => array( "CMS_ACCESS_AssetAdmin" => array(

View File

@ -81,7 +81,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
CMSBatchActionHandler::register('deletefromlive', 'CMSBatchAction_DeleteFromLive'); CMSBatchActionHandler::register('deletefromlive', 'CMSBatchAction_DeleteFromLive');
} }
function index($request) { public function index($request) {
// In case we're not showing a specific record, explicitly remove any session state, // In case we're not showing a specific record, explicitly remove any session state,
// to avoid it being highlighted in the tree, and causing an edit form to show. // to avoid it being highlighted in the tree, and causing an edit form to show.
if(!$request->param('Action')) $this->setCurrentPageId(null); if(!$request->param('Action')) $this->setCurrentPageId(null);
@ -104,7 +104,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
* *
* @return boolean * @return boolean
*/ */
function ShowSwitchView() { public function ShowSwitchView() {
return true; return true;
} }
@ -112,7 +112,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
* Overloads the LeftAndMain::ShowView. Allows to pass a page as a parameter, so we are able * Overloads the LeftAndMain::ShowView. Allows to pass a page as a parameter, so we are able
* to switch view also for archived versions. * to switch view also for archived versions.
*/ */
function SwitchView($page = null) { public function SwitchView($page = null) {
if(!$page) { if(!$page) {
$page = $this->currentPage(); $page = $this->currentPage();
} }
@ -202,7 +202,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
return $link; return $link;
} }
function LinkPageAdd($extraArguments = null) { public function LinkPageAdd($extraArguments = null) {
$link = singleton("CMSPageAddController")->Link(); $link = singleton("CMSPageAddController")->Link();
$this->extend('updateLinkPageAdd', $link); $this->extend('updateLinkPageAdd', $link);
if($extraArguments) $link = Controller::join_links ($link, $extraArguments); if($extraArguments) $link = Controller::join_links ($link, $extraArguments);
@ -245,7 +245,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
return $html; return $html;
} }
function SearchForm() { public function SearchForm() {
// get all page types in a dropdown-compatible format // get all page types in a dropdown-compatible format
$pageTypeClasses = SiteTree::page_type_classes(); $pageTypeClasses = SiteTree::page_type_classes();
$pageTypes = array(); $pageTypes = array();
@ -313,7 +313,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
return $form; return $form;
} }
function doSearch($data, $form) { public function doSearch($data, $form) {
return $this->getsubtree($this->request); return $this->getsubtree($this->request);
} }
@ -993,13 +993,13 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
return $this->getResponseNegotiator()->respond($this->request); return $this->getResponseNegotiator()->respond($this->request);
} }
function publish($data, $form) { public function publish($data, $form) {
$data['publish'] = '1'; $data['publish'] = '1';
return $this->save($data, $form); return $this->save($data, $form);
} }
function unpublish($data, $form) { public function unpublish($data, $form) {
$className = $this->stat('tree_class'); $className = $this->stat('tree_class');
$record = DataObject::get_by_id($className, $data['ID']); $record = DataObject::get_by_id($className, $data['ID']);
@ -1019,7 +1019,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
/** /**
* @return array * @return array
*/ */
function rollback() { public function rollback() {
return $this->doRollback(array( return $this->doRollback(array(
'ID' => $this->currentPageID(), 'ID' => $this->currentPageID(),
'Version' => $this->request->param('VersionID') 'Version' => $this->request->param('VersionID')
@ -1034,7 +1034,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
* *
* @return html * @return html
*/ */
function doRollback($data, $form) { public function doRollback($data, $form) {
$this->extend('onBeforeRollback', $data['ID']); $this->extend('onBeforeRollback', $data['ID']);
$id = (isset($data['ID'])) ? (int) $data['ID'] : null; $id = (isset($data['ID'])) ? (int) $data['ID'] : null;
@ -1074,11 +1074,11 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
/** /**
* Batch Actions Handler * Batch Actions Handler
*/ */
function batchactions() { public function batchactions() {
return new CMSBatchActionHandler($this, 'batchactions'); return new CMSBatchActionHandler($this, 'batchactions');
} }
function BatchActionParameters() { public function BatchActionParameters() {
$batchActions = CMSBatchActionHandler::$batch_actions; $batchActions = CMSBatchActionHandler::$batch_actions;
$forms = array(); $forms = array();
@ -1101,11 +1101,11 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
/** /**
* Returns a list of batch actions * Returns a list of batch actions
*/ */
function BatchActionList() { public function BatchActionList() {
return $this->batchactions()->batchActionList(); return $this->batchactions()->batchActionList();
} }
function buildbrokenlinks($request) { public function buildbrokenlinks($request) {
// Protect against CSRF on destructive action // Protect against CSRF on destructive action
if(!SecurityToken::inst()->checkRequest($request)) return $this->httpError(400); if(!SecurityToken::inst()->checkRequest($request)) return $this->httpError(400);
@ -1141,7 +1141,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
} }
} }
function publishall($request) { public function publishall($request) {
if(!Permission::check('ADMIN')) return Security::permissionFailure($this); if(!Permission::check('ADMIN')) return Security::permissionFailure($this);
increase_time_limit_to(); increase_time_limit_to();
@ -1198,7 +1198,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
/** /**
* Restore a completely deleted page from the SiteTree_versions table. * Restore a completely deleted page from the SiteTree_versions table.
*/ */
function restore($data, $form) { public function restore($data, $form) {
if(!isset($data['ID']) || !is_numeric($data['ID'])) { if(!isset($data['ID']) || !is_numeric($data['ID'])) {
return new SS_HTTPResponse("Please pass an ID in the form content", 400); return new SS_HTTPResponse("Please pass an ID in the form content", 400);
} }
@ -1221,7 +1221,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
return $this->getResponseNegotiator()->respond($this->request); return $this->getResponseNegotiator()->respond($this->request);
} }
function duplicate($request) { public function duplicate($request) {
// Protect against CSRF on destructive action // Protect against CSRF on destructive action
if(!SecurityToken::inst()->checkRequest($request)) return $this->httpError(400); if(!SecurityToken::inst()->checkRequest($request)) return $this->httpError(400);
@ -1247,7 +1247,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
} }
} }
function duplicatewithchildren($request) { public function duplicatewithchildren($request) {
// Protect against CSRF on destructive action // Protect against CSRF on destructive action
if(!SecurityToken::inst()->checkRequest($request)) return $this->httpError(400); if(!SecurityToken::inst()->checkRequest($request)) return $this->httpError(400);
@ -1288,7 +1288,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
); );
} }
function providePermissions() { public function providePermissions() {
$title = _t("CMSPagesController.MENUTITLE", LeftAndMain::menu_title_for_class('CMSPagesController')); $title = _t("CMSPagesController.MENUTITLE", LeftAndMain::menu_title_for_class('CMSPagesController'));
return array( return array(
"CMS_ACCESS_CMSMain" => array( "CMS_ACCESS_CMSMain" => array(

View File

@ -15,7 +15,7 @@ class CMSPageAddController extends CMSPageEditController {
/** /**
* @return Form * @return Form
*/ */
function AddForm() { public function AddForm() {
$record = $this->currentPage(); $record = $this->currentPage();
$pageTypes = array(); $pageTypes = array();

View File

@ -39,7 +39,7 @@ class CMSPageHistoryController extends CMSMain {
/** /**
* @return array * @return array
*/ */
function show($request) { public function show($request) {
$form = $this->ShowVersionForm($request->param('VersionID')); $form = $this->ShowVersionForm($request->param('VersionID'));
$negotiator = $this->getResponseNegotiator(); $negotiator = $this->getResponseNegotiator();
@ -57,7 +57,7 @@ class CMSPageHistoryController extends CMSMain {
/** /**
* @return array * @return array
*/ */
function compare($request) { public function compare($request) {
$form = $this->CompareVersionsForm( $form = $this->CompareVersionsForm(
$request->param('VersionID'), $request->param('VersionID'),
$request->param('OtherVersionID') $request->param('OtherVersionID')
@ -88,7 +88,7 @@ class CMSPageHistoryController extends CMSMain {
* *
* @return Form * @return Form
*/ */
function getEditForm($id = null, $fields = null, $versionID = null, $compareID = null) { public function getEditForm($id = null, $fields = null, $versionID = null, $compareID = null) {
if(!$id) $id = $this->currentPageID(); if(!$id) $id = $this->currentPageID();
$record = $this->getRecord($id, $versionID); $record = $this->getRecord($id, $versionID);
@ -178,7 +178,7 @@ class CMSPageHistoryController extends CMSMain {
* *
* @return Form * @return Form
*/ */
function VersionsForm() { public function VersionsForm() {
$id = $this->currentPageID(); $id = $this->currentPageID();
$page = $this->getRecord($id); $page = $this->getRecord($id);
$versionsHtml = ''; $versionsHtml = '';
@ -269,7 +269,7 @@ class CMSPageHistoryController extends CMSMain {
* *
* @return html * @return html
*/ */
function doCompare($data, $form) { public function doCompare($data, $form) {
$versions = $data['Versions']; $versions = $data['Versions'];
if(count($versions) < 2) return null; if(count($versions) < 2) return null;
@ -306,7 +306,7 @@ class CMSPageHistoryController extends CMSMain {
* *
* @return html * @return html
*/ */
function doShowVersion($data, $form) { public function doShowVersion($data, $form) {
$versionID = null; $versionID = null;
if(isset($data['Versions']) && is_array($data['Versions'])) { if(isset($data['Versions']) && is_array($data['Versions'])) {
@ -334,7 +334,7 @@ class CMSPageHistoryController extends CMSMain {
/** /**
* @return Form * @return Form
*/ */
function ShowVersionForm($versionID = null) { public function ShowVersionForm($versionID = null) {
if(!$versionID) return null; if(!$versionID) return null;
$id = $this->currentPageID(); $id = $this->currentPageID();
@ -346,7 +346,7 @@ class CMSPageHistoryController extends CMSMain {
/** /**
* @return Form * @return Form
*/ */
function CompareVersionsForm($versionID, $otherVersionID) { public function CompareVersionsForm($versionID, $otherVersionID) {
if($versionID > $otherVersionID) { if($versionID > $otherVersionID) {
$toVersion = $versionID; $toVersion = $versionID;
$fromVersion = $otherVersionID; $fromVersion = $otherVersionID;

View File

@ -11,7 +11,7 @@ class CMSPageSettingsController extends CMSMain {
static $required_permission_codes = 'CMS_ACCESS_CMSMain'; static $required_permission_codes = 'CMS_ACCESS_CMSMain';
static $session_namespace = 'CMSMain'; static $session_namespace = 'CMSMain';
function getEditForm($id = null, $fields = null) { public function getEditForm($id = null, $fields = null) {
$record = $this->getRecord($id ? $id : $this->currentPageID()); $record = $this->getRecord($id ? $id : $this->currentPageID());
return parent::getEditForm($record, ($record) ? $record->getSettingsFields() : null); return parent::getEditForm($record, ($record) ? $record->getSettingsFields() : null);

View File

@ -12,7 +12,7 @@ class CMSPagesController extends CMSMain {
static $required_permission_codes = 'CMS_ACCESS_CMSMain'; static $required_permission_codes = 'CMS_ACCESS_CMSMain';
static $session_namespace = 'CMSMain'; static $session_namespace = 'CMSMain';
function LinkPreview() { public function LinkPreview() {
return false; return false;
} }

View File

@ -19,7 +19,7 @@ class CMSSettingsController extends LeftAndMain {
/** /**
* @return Form * @return Form
*/ */
function getEditForm($id = null, $fields = null) { public function getEditForm($id = null, $fields = null) {
$siteConfig = SiteConfig::current_site_config(); $siteConfig = SiteConfig::current_site_config();
$fields = $siteConfig->getCMSFields(); $fields = $siteConfig->getCMSFields();
@ -51,7 +51,7 @@ class CMSSettingsController extends LeftAndMain {
* @param Form $form * @param Form $form
* @return String * @return String
*/ */
function save_siteconfig($data, $form) { public function save_siteconfig($data, $form) {
$siteConfig = SiteConfig::current_site_config(); $siteConfig = SiteConfig::current_site_config();
$form->saveInto($siteConfig); $form->saveInto($siteConfig);
$siteConfig->write(); $siteConfig->write();
@ -60,11 +60,11 @@ class CMSSettingsController extends LeftAndMain {
return $this->getResponseNegotiator()->respond($this->request); return $this->getResponseNegotiator()->respond($this->request);
} }
function LinkPreview() { public function LinkPreview() {
return false; return false;
} }
function Breadcrumbs($unlinked = false) { public function Breadcrumbs($unlinked = false) {
$defaultTitle = self::menu_title_for_class(get_class($this)); $defaultTitle = self::menu_title_for_class(get_class($this));
return new ArrayList(array( return new ArrayList(array(
new ArrayData(array( new ArrayData(array(

View File

@ -36,7 +36,7 @@ abstract class CMSSiteTreeFilter extends Object {
*/ */
protected $childrenMethod = null; protected $childrenMethod = null;
function __construct($params = null) { public function __construct($params = null) {
if($params) $this->params = $params; if($params) $this->params = $params;
parent::__construct(); parent::__construct();
@ -46,14 +46,14 @@ abstract class CMSSiteTreeFilter extends Object {
* @return String Method on {@link Hierarchy} objects * @return String Method on {@link Hierarchy} objects
* which is used to traverse into children relationships. * which is used to traverse into children relationships.
*/ */
function getChildrenMethod() { public function getChildrenMethod() {
return $this->childrenMethod; return $this->childrenMethod;
} }
/** /**
* @return Array Map of Page IDs to their respective ParentID values. * @return Array Map of Page IDs to their respective ParentID values.
*/ */
function pagesIncluded() {} public function pagesIncluded() {}
/** /**
* Populate the IDs of the pages returned by pagesIncluded(), also including * Populate the IDs of the pages returned by pagesIncluded(), also including
@ -116,11 +116,11 @@ class CMSSiteTreeFilter_DeletedPages extends CMSSiteTreeFilter {
protected $childrenMethod = "AllHistoricalChildren"; protected $childrenMethod = "AllHistoricalChildren";
static function title() { static public function title() {
return _t('CMSSiteTreeFilter_DeletedPages.Title', "All pages, including deleted"); return _t('CMSSiteTreeFilter_DeletedPages.Title', "All pages, including deleted");
} }
function pagesIncluded() { public function pagesIncluded() {
$ids = array(); $ids = array();
// TODO Not very memory efficient, but usually not very many deleted pages exist // TODO Not very memory efficient, but usually not very many deleted pages exist
$pages = Versioned::get_including_deleted('SiteTree'); $pages = Versioned::get_including_deleted('SiteTree');
@ -139,11 +139,11 @@ class CMSSiteTreeFilter_DeletedPages extends CMSSiteTreeFilter {
*/ */
class CMSSiteTreeFilter_ChangedPages extends CMSSiteTreeFilter { class CMSSiteTreeFilter_ChangedPages extends CMSSiteTreeFilter {
static function title() { static public function title() {
return _t('CMSSiteTreeFilter_ChangedPages.Title', "Changed pages"); return _t('CMSSiteTreeFilter_ChangedPages.Title', "Changed pages");
} }
function pagesIncluded() { public function pagesIncluded() {
$ids = array(); $ids = array();
$q = new SQLQuery(); $q = new SQLQuery();
$q->setSelect(array('"SiteTree"."ID"','"SiteTree"."ParentID"')) $q->setSelect(array('"SiteTree"."ID"','"SiteTree"."ParentID"'))
@ -165,7 +165,7 @@ class CMSSiteTreeFilter_ChangedPages extends CMSSiteTreeFilter {
*/ */
class CMSSiteTreeFilter_Search extends CMSSiteTreeFilter { class CMSSiteTreeFilter_Search extends CMSSiteTreeFilter {
static function title() { static public function title() {
return _t('CMSSiteTreeFilter_Search.Title', "All pages"); return _t('CMSSiteTreeFilter_Search.Title', "All pages");
} }

View File

@ -217,7 +217,7 @@ class ContentController extends Controller {
* *
* @return string * @return string
*/ */
function project() { public function project() {
global $project; global $project;
return $project; return $project;
} }
@ -333,7 +333,7 @@ HTML;
} }
} }
function SiteConfig() { public function SiteConfig() {
if(method_exists($this->dataRecord, 'getSiteConfig')) { if(method_exists($this->dataRecord, 'getSiteConfig')) {
return $this->dataRecord->getSiteConfig(); return $this->dataRecord->getSiteConfig();
} else { } else {
@ -347,7 +347,7 @@ HTML;
* @deprecated 2.5 Use ContentLocale() instead and write attribute names suitable to XHTML/HTML * @deprecated 2.5 Use ContentLocale() instead and write attribute names suitable to XHTML/HTML
* templates directly in the template. * templates directly in the template.
*/ */
function LangAttributes() { public function LangAttributes() {
Deprecation::notice('2.5', 'Use ContentLocale() instead and write attribute names suitable to XHTML/HTML instead.'); Deprecation::notice('2.5', 'Use ContentLocale() instead and write attribute names suitable to XHTML/HTML instead.');
$locale = $this->ContentLocale(); $locale = $this->ContentLocale();
return "xml:lang=\"$locale\" lang=\"$locale\""; return "xml:lang=\"$locale\" lang=\"$locale\"";
@ -364,7 +364,7 @@ HTML;
* *
* @return string * @return string
*/ */
function ContentLocale() { public function ContentLocale() {
if($this->dataRecord && $this->dataRecord->hasExtension('Translatable')) { if($this->dataRecord && $this->dataRecord->hasExtension('Translatable')) {
$locale = $this->dataRecord->Locale; $locale = $this->dataRecord->Locale;
} elseif(class_exists('Translatable') && Object::has_extension('SiteTree', 'Translatable')) { } elseif(class_exists('Translatable') && Object::has_extension('SiteTree', 'Translatable')) {
@ -379,7 +379,7 @@ HTML;
/** /**
* This action is called by the installation system * This action is called by the installation system
*/ */
function successfullyinstalled() { public function successfullyinstalled() {
// The manifest should be built by now, so it's safe to publish the 404 page // The manifest should be built by now, so it's safe to publish the 404 page
$fourohfour = Versioned::get_one_by_stage('ErrorPage', 'Stage', '"ErrorCode" = 404'); $fourohfour = Versioned::get_one_by_stage('ErrorPage', 'Stage', '"ErrorCode" = 404');
if($fourohfour) { if($fourohfour) {
@ -406,7 +406,7 @@ HTML;
); );
} }
function deleteinstallfiles() { public function deleteinstallfiles() {
if(!Permission::check("ADMIN")) return Security::permissionFailure($this); if(!Permission::check("ADMIN")) return Security::permissionFailure($this);
$title = new Varchar("Title"); $title = new Varchar("Title");

View File

@ -16,7 +16,7 @@ class ModelAsController extends Controller implements NestedController {
* @param string $action * @param string $action
* @return ContentController * @return ContentController
*/ */
public static function controller_for(SiteTree $sitetree, $action = null) { static public function controller_for(SiteTree $sitetree, $action = null) {
if($sitetree->class == 'SiteTree') $controller = "ContentController"; if($sitetree->class == 'SiteTree') $controller = "ContentController";
else $controller = "{$sitetree->class}_Controller"; else $controller = "{$sitetree->class}_Controller";
@ -148,7 +148,7 @@ class ModelAsController extends Controller implements NestedController {
* @param int $parentID The ID of the parent of the page the URLSegment belongs to. * @param int $parentID The ID of the parent of the page the URLSegment belongs to.
* @return SiteTree * @return SiteTree
*/ */
static function find_old_page($URLSegment,$parentID = 0, $ignoreNestedURLs = false) { static public function find_old_page($URLSegment,$parentID = 0, $ignoreNestedURLs = false) {
$URLSegment = Convert::raw2sql(rawurlencode($URLSegment)); $URLSegment = Convert::raw2sql(rawurlencode($URLSegment));
$useParentIDFilter = SiteTree::nested_urls() && $parentID; $useParentIDFilter = SiteTree::nested_urls() && $parentID;

View File

@ -63,7 +63,7 @@ class ReportAdmin extends LeftAndMain implements PermissionProvider {
* @param Member $member * @param Member $member
* @return boolean * @return boolean
*/ */
function canView($member = null) { public function canView($member = null) {
if(!$member && $member !== FALSE) $member = Member::currentUser(); if(!$member && $member !== FALSE) $member = Member::currentUser();
if(!parent::canView($member)) return false; if(!parent::canView($member)) return false;
@ -101,7 +101,7 @@ class ReportAdmin extends LeftAndMain implements PermissionProvider {
* *
* @return boolean * @return boolean
*/ */
public static function has_reports() { static public function has_reports() {
return sizeof(SS_Report::get_reports()) > 0; return sizeof(SS_Report::get_reports()) > 0;
} }
@ -137,7 +137,7 @@ class ReportAdmin extends LeftAndMain implements PermissionProvider {
return $link; return $link;
} }
function providePermissions() { public function providePermissions() {
$title = _t("ReportAdmin.MENUTITLE", LeftAndMain::menu_title_for_class($this->class)); $title = _t("ReportAdmin.MENUTITLE", LeftAndMain::menu_title_for_class($this->class));
return array( return array(
"CMS_ACCESS_ReportAdmin" => array( "CMS_ACCESS_ReportAdmin" => array(

View File

@ -26,7 +26,7 @@ class RootURLController extends Controller {
* *
* @return string * @return string
*/ */
public static function get_homepage_link() { static public function get_homepage_link() {
if(!self::$cached_homepage_link) { if(!self::$cached_homepage_link) {
// TODO Move to 'homepagefordomain' module // TODO Move to 'homepagefordomain' module
if(class_exists('HomepageForDomainExtension')) { if(class_exists('HomepageForDomainExtension')) {
@ -63,7 +63,7 @@ class RootURLController extends Controller {
* *
* @param string $urlsegment the URL segment for your home page * @param string $urlsegment the URL segment for your home page
*/ */
public static function set_default_homepage_link($urlsegment = "home") { static public function set_default_homepage_link($urlsegment = "home") {
self::$default_homepage_link = $urlsegment; self::$default_homepage_link = $urlsegment;
} }
@ -72,7 +72,7 @@ class RootURLController extends Controller {
* *
* @return string * @return string
*/ */
public static function get_default_homepage_link() { static public function get_default_homepage_link() {
return self::$default_homepage_link; return self::$default_homepage_link;
} }
@ -83,7 +83,7 @@ class RootURLController extends Controller {
* @param SiteTree $page * @param SiteTree $page
* @return bool * @return bool
*/ */
public static function should_be_on_root(SiteTree $page) { static public function should_be_on_root(SiteTree $page) {
if(!self::$is_at_root && self::get_homepage_link() == trim($page->RelativeLink(true), '/')) { if(!self::$is_at_root && self::get_homepage_link() == trim($page->RelativeLink(true), '/')) {
return !( return !(
class_exists('Translatable') && $page->hasExtension('Translatable') && $page->Locale && $page->Locale != Translatable::default_locale() class_exists('Translatable') && $page->hasExtension('Translatable') && $page->Locale && $page->Locale != Translatable::default_locale()
@ -96,7 +96,7 @@ class RootURLController extends Controller {
/** /**
* Resets the cached homepage link value - useful for testing. * Resets the cached homepage link value - useful for testing.
*/ */
public static function reset() { static public function reset() {
self::$cached_homepage_link = null; self::$cached_homepage_link = null;
} }

View File

@ -22,7 +22,7 @@ class SilverStripeNavigator extends ViewableData {
/** /**
* @param DataObject * @param DataObject
*/ */
function __construct($record) { public function __construct($record) {
if(!in_array('CMSPreviewable', class_implements($record))) { if(!in_array('CMSPreviewable', class_implements($record))) {
throw new InvalidArgumentException('SilverStripeNavigator: Record of type %s doesn\'t implement CMSPreviewable', get_class($record)); throw new InvalidArgumentException('SilverStripeNavigator: Record of type %s doesn\'t implement CMSPreviewable', get_class($record));
} }
@ -33,7 +33,7 @@ class SilverStripeNavigator extends ViewableData {
/** /**
* @return SS_List of SilverStripeNavigatorItem * @return SS_List of SilverStripeNavigatorItem
*/ */
function getItems() { public function getItems() {
$items = array(); $items = array();
$classes = ClassInfo::subclassesFor('SilverStripeNavigatorItem'); $classes = ClassInfo::subclassesFor('SilverStripeNavigatorItem');
@ -65,7 +65,7 @@ class SilverStripeNavigator extends ViewableData {
/** /**
* @return DataObject * @return DataObject
*/ */
function getRecord() { public function getRecord() {
return $this->record; return $this->record;
} }
@ -73,7 +73,7 @@ class SilverStripeNavigator extends ViewableData {
* @param DataObject $record * @param DataObject $record
* @return Array template data * @return Array template data
*/ */
static function get_for_record($record) { static public function get_for_record($record) {
$html = ''; $html = '';
$message = ''; $message = '';
$navigator = new SilverStripeNavigator($record); $navigator = new SilverStripeNavigator($record);
@ -110,7 +110,7 @@ class SilverStripeNavigatorItem extends ViewableData {
/** /**
* @param DataObject * @param DataObject
*/ */
function __construct($record) { public function __construct($record) {
$this->record = $record; $this->record = $record;
} }
@ -118,13 +118,13 @@ class SilverStripeNavigatorItem extends ViewableData {
* @return String HTML, mostly a link - but can be more complex as well. * @return String HTML, mostly a link - but can be more complex as well.
* For example, a "future state" item might show a date selector. * For example, a "future state" item might show a date selector.
*/ */
function getHTML() {} public function getHTML() {}
/** /**
* @return String * @return String
* Text displayed in watermark * Text displayed in watermark
*/ */
function getWatermark() {} public function getWatermark() {}
/** /**
* Optional link to a specific view of this record. * Optional link to a specific view of this record.
@ -133,24 +133,24 @@ class SilverStripeNavigatorItem extends ViewableData {
* *
* @return String * @return String
*/ */
function getLink() {} public function getLink() {}
/** /**
* @return String * @return String
*/ */
function getMessage() {} public function getMessage() {}
/** /**
* @return DataObject * @return DataObject
*/ */
function getRecord() { public function getRecord() {
return $this->record; return $this->record;
} }
/** /**
* @return Int * @return Int
*/ */
function getPriority() { public function getPriority() {
return $this->stat('priority'); return $this->stat('priority');
} }
@ -160,7 +160,7 @@ class SilverStripeNavigatorItem extends ViewableData {
* *
* @return boolean * @return boolean
*/ */
function isActive() { public function isActive() {
return false; return false;
} }
@ -171,7 +171,7 @@ class SilverStripeNavigatorItem extends ViewableData {
* @param Member * @param Member
* @return Boolean * @return Boolean
*/ */
function canView($member = null) { public function canView($member = null) {
return true; return true;
} }
} }
@ -183,7 +183,7 @@ class SilverStripeNavigatorItem extends ViewableData {
class SilverStripeNavigatorItem_CMSLink extends SilverStripeNavigatorItem { class SilverStripeNavigatorItem_CMSLink extends SilverStripeNavigatorItem {
static $priority = 10; static $priority = 10;
function getHTML() { public function getHTML() {
return sprintf( return sprintf(
'<a href="%s">%s</a>', '<a href="%s">%s</a>',
$this->record->CMSEditLink(), $this->record->CMSEditLink(),
@ -191,15 +191,15 @@ class SilverStripeNavigatorItem_CMSLink extends SilverStripeNavigatorItem {
); );
} }
function getLink() { public function getLink() {
return $this->record->CMSEditLink(); return $this->record->CMSEditLink();
} }
function isActive() { public function isActive() {
return (Controller::curr() instanceof CMSMain); return (Controller::curr() instanceof CMSMain);
} }
function canView($member = null) { public function canView($member = null) {
// Don't show in CMS // Don't show in CMS
return !(Controller::curr() instanceof CMSMain); return !(Controller::curr() instanceof CMSMain);
} }
@ -213,7 +213,7 @@ class SilverStripeNavigatorItem_CMSLink extends SilverStripeNavigatorItem {
class SilverStripeNavigatorItem_StageLink extends SilverStripeNavigatorItem { class SilverStripeNavigatorItem_StageLink extends SilverStripeNavigatorItem {
static $priority = 20; static $priority = 20;
function getHTML() { public function getHTML() {
$draftPage = $this->getDraftPage(); $draftPage = $this->getDraftPage();
if($draftPage) { if($draftPage) {
$this->recordLink = Controller::join_links($draftPage->AbsoluteLink(), "?stage=Stage"); $this->recordLink = Controller::join_links($draftPage->AbsoluteLink(), "?stage=Stage");
@ -221,23 +221,23 @@ class SilverStripeNavigatorItem_StageLink extends SilverStripeNavigatorItem {
} }
} }
function getWatermark() { public function getWatermark() {
return _t('ContentController.DRAFTSITE'); return _t('ContentController.DRAFTSITE');
} }
function getMessage() { public function getMessage() {
return "<div id=\"SilverStripeNavigatorMessage\" title=\"". _t('ContentControl.NOTEWONTBESHOWN', 'Note: this message will not be shown to your visitors') ."\">". _t('ContentController.DRAFTSITE', 'Draft Site') ."</div>"; return "<div id=\"SilverStripeNavigatorMessage\" title=\"". _t('ContentControl.NOTEWONTBESHOWN', 'Note: this message will not be shown to your visitors') ."\">". _t('ContentController.DRAFTSITE', 'Draft Site') ."</div>";
} }
function getLink() { public function getLink() {
return Controller::join_links($this->record->AbsoluteLink(), '?stage=Stage'); return Controller::join_links($this->record->AbsoluteLink(), '?stage=Stage');
} }
function canView($member = null) { public function canView($member = null) {
return ($this->record->hasExtension('Versioned') && $this->getDraftPage()); return ($this->record->hasExtension('Versioned') && $this->getDraftPage());
} }
function isActive() { public function isActive() {
return ( return (
Versioned::current_stage() == 'Stage' Versioned::current_stage() == 'Stage'
&& !(ClassInfo::exists('SiteTreeFutureState') && SiteTreeFutureState::get_future_datetime()) && !(ClassInfo::exists('SiteTreeFutureState') && SiteTreeFutureState::get_future_datetime())
@ -261,7 +261,7 @@ class SilverStripeNavigatorItem_StageLink extends SilverStripeNavigatorItem {
class SilverStripeNavigatorItem_LiveLink extends SilverStripeNavigatorItem { class SilverStripeNavigatorItem_LiveLink extends SilverStripeNavigatorItem {
static $priority = 30; static $priority = 30;
function getHTML() { public function getHTML() {
$livePage = $this->getLivePage(); $livePage = $this->getLivePage();
if($livePage) { if($livePage) {
$this->recordLink = Controller::join_links($livePage->AbsoluteLink(), "?stage=Live"); $this->recordLink = Controller::join_links($livePage->AbsoluteLink(), "?stage=Live");
@ -269,23 +269,23 @@ class SilverStripeNavigatorItem_LiveLink extends SilverStripeNavigatorItem {
} }
} }
function getWatermark() { public function getWatermark() {
return _t('ContentController.PUBLISHEDSITE'); return _t('ContentController.PUBLISHEDSITE');
} }
function getMessage() { public function getMessage() {
return "<div id=\"SilverStripeNavigatorMessage\" title=\"". _t('ContentControl.NOTEWONTBESHOWN', 'Note: this message will not be shown to your visitors') ."\">". _t('ContentController.PUBLISHEDSITE', 'Published Site') ."</div>"; return "<div id=\"SilverStripeNavigatorMessage\" title=\"". _t('ContentControl.NOTEWONTBESHOWN', 'Note: this message will not be shown to your visitors') ."\">". _t('ContentController.PUBLISHEDSITE', 'Published Site') ."</div>";
} }
function getLink() { public function getLink() {
return Controller::join_links($this->record->AbsoluteLink(), '?stage=Live'); return Controller::join_links($this->record->AbsoluteLink(), '?stage=Live');
} }
function canView($member = null) { public function canView($member = null) {
return ($this->record->hasExtension('Versioned') && $this->getLivePage()); return ($this->record->hasExtension('Versioned') && $this->getLivePage());
} }
function isActive() { public function isActive() {
return (!Versioned::current_stage() || Versioned::current_stage() == 'Live'); return (!Versioned::current_stage() || Versioned::current_stage() == 'Live');
} }
@ -306,12 +306,12 @@ class SilverStripeNavigatorItem_LiveLink extends SilverStripeNavigatorItem {
class SilverStripeNavigatorItem_ArchiveLink extends SilverStripeNavigatorItem { class SilverStripeNavigatorItem_ArchiveLink extends SilverStripeNavigatorItem {
static $priority = 40; static $priority = 40;
function getHTML() { public function getHTML() {
$this->recordLink = $this->record->AbsoluteLink(); $this->recordLink = $this->record->AbsoluteLink();
return "<a class=\"ss-ui-button\" href=\"$this->recordLink?archiveDate={$this->record->LastEdited}\" target=\"_blank\">". _t('ContentController.ARCHIVEDSITE', 'Preview version') ."</a>"; return "<a class=\"ss-ui-button\" href=\"$this->recordLink?archiveDate={$this->record->LastEdited}\" target=\"_blank\">". _t('ContentController.ARCHIVEDSITE', 'Preview version') ."</a>";
} }
function getMessage() { public function getMessage() {
if($date = Versioned::current_archived_date()) { if($date = Versioned::current_archived_date()) {
$dateObj = Datetime::create(); $dateObj = Datetime::create();
$dateObj->setValue($date); $dateObj->setValue($date);
@ -319,15 +319,15 @@ class SilverStripeNavigatorItem_ArchiveLink extends SilverStripeNavigatorItem {
} }
} }
function getLink() { public function getLink() {
return $this->record->AbsoluteLink() . '?archiveDate=' . $this->record->LastEdited; return $this->record->AbsoluteLink() . '?archiveDate=' . $this->record->LastEdited;
} }
function canView($member = null) { public function canView($member = null) {
return ($this->record->hasExtension('Versioned') && $this->isArchived()); return ($this->record->hasExtension('Versioned') && $this->isArchived());
} }
function isActive() { public function isActive() {
return (Versioned::current_archived_date()); return (Versioned::current_archived_date());
} }
@ -336,7 +336,7 @@ class SilverStripeNavigatorItem_ArchiveLink extends SilverStripeNavigatorItem {
* *
* @return boolean * @return boolean
*/ */
function isArchived() { public function isArchived() {
if(!$this->record->hasExtension('Versioned')) return false; if(!$this->record->hasExtension('Versioned')) return false;
$baseTable = ClassInfo::baseDataClass($this->record->class); $baseTable = ClassInfo::baseDataClass($this->record->class);

View File

@ -27,7 +27,7 @@ class StaticExporter extends Controller {
'export', 'export',
); );
function init() { public function init() {
parent::init(); parent::init();
$canAccess = (Director::isDev() || Director::is_cli() || Permission::check("ADMIN")); $canAccess = (Director::isDev() || Director::is_cli() || Permission::check("ADMIN"));
@ -35,16 +35,16 @@ class StaticExporter extends Controller {
} }
function Link($action = null) { public function Link($action = null) {
return "StaticExporter/$action"; return "StaticExporter/$action";
} }
function index() { public function index() {
echo "<h1>"._t('StaticExporter.NAME','Static exporter')."</h1>"; echo "<h1>"._t('StaticExporter.NAME','Static exporter')."</h1>";
echo $this->StaticExportForm()->forTemplate(); echo $this->StaticExportForm()->forTemplate();
} }
function StaticExportForm() { public function StaticExportForm() {
return new Form($this, 'StaticExportForm', new FieldList( return new Form($this, 'StaticExportForm', new FieldList(
// new TextField('folder', _t('StaticExporter.FOLDEREXPORT','Folder to export to')), // new TextField('folder', _t('StaticExporter.FOLDEREXPORT','Folder to export to')),
new TextField('baseurl', _t('StaticExporter.BASEURL','Base URL')) new TextField('baseurl', _t('StaticExporter.BASEURL','Base URL'))
@ -53,7 +53,7 @@ class StaticExporter extends Controller {
)); ));
} }
function export() { public function export() {
// specify custom baseurl for publishing to other webroot // specify custom baseurl for publishing to other webroot
if(isset($_REQUEST['baseurl'])) { if(isset($_REQUEST['baseurl'])) {
$base = $_REQUEST['baseurl']; $base = $_REQUEST['baseurl'];

View File

@ -7,13 +7,13 @@
class FileList extends TableListField { class FileList extends TableListField {
// bdc: added sort by Title as default behaviour // bdc: added sort by Title as default behaviour
protected $folder; protected $folder;
function __construct($name, $folder) { public function __construct($name, $folder) {
$this->folder = $folder; $this->folder = $folder;
parent::__construct($name, "File", array("Title" => "Title", "LinkedURL" => "URL"), "", "Title"); parent::__construct($name, "File", array("Title" => "Title", "LinkedURL" => "URL"), "", "Title");
$this->Markable = true; $this->Markable = true;
} }
function sourceItems() { public function sourceItems() {
return DataObject::get("File", "\"ParentID\" = '" . $this->folder->ID . "' AND \"ClassName\" <> 'Folder'", '"Title"'); return DataObject::get("File", "\"ParentID\" = '" . $this->folder->ID . "' AND \"ClassName\" <> 'Folder'", '"Title"');
} }
} }

View File

@ -21,16 +21,16 @@ class SiteTreeURLSegmentField extends TextField {
'suggest' 'suggest'
); );
function Value() { public function Value() {
return rawurldecode($this->value); return rawurldecode($this->value);
} }
function Field($properties = array()) { public function Field($properties = array()) {
Requirements::javascript(CMS_DIR . '/javascript/SiteTreeURLSegmentField.js'); Requirements::javascript(CMS_DIR . '/javascript/SiteTreeURLSegmentField.js');
return parent::Field($properties); return parent::Field($properties);
} }
function suggest($request) { public function suggest($request) {
if(!$request->getVar('value')) return $this->httpError(405); if(!$request->getVar('value')) return $this->httpError(405);
$page = $this->getPage(); $page = $this->getPage();
@ -49,7 +49,7 @@ class SiteTreeURLSegmentField extends TextField {
/** /**
* @return SiteTree * @return SiteTree
*/ */
function getPage() { public function getPage() {
$idField = $this->getForm()->Fields()->dataFieldByName('ID'); $idField = $this->getForm()->Fields()->dataFieldByName('ID');
return ($idField && $idField->Value()) ? DataObject::get_by_id('SiteTree', $idField->Value()) : singleton('SiteTree'); return ($idField && $idField->Value()) ? DataObject::get_by_id('SiteTree', $idField->Value()) : singleton('SiteTree');
} }
@ -57,14 +57,14 @@ class SiteTreeURLSegmentField extends TextField {
/** /**
* @param string the secondary text to show * @param string the secondary text to show
*/ */
function setHelpText($string){ public function setHelpText($string){
$this->helpText = $string; $this->helpText = $string;
} }
/** /**
* @return string the secondary text to show in the template * @return string the secondary text to show in the template
*/ */
function getHelpText(){ public function getHelpText(){
return $this->helpText; return $this->helpText;
} }
@ -72,19 +72,19 @@ class SiteTreeURLSegmentField extends TextField {
/** /**
* @param the url that prefixes the page url segment field * @param the url that prefixes the page url segment field
*/ */
function setURLPrefix($url){ public function setURLPrefix($url){
$this->urlPrefix = $url; $this->urlPrefix = $url;
} }
/** /**
* @return the url prefixes the page url segment field to show in template * @return the url prefixes the page url segment field to show in template
*/ */
function getURLPrefix(){ public function getURLPrefix(){
return $this->urlPrefix; return $this->urlPrefix;
} }
function Type() { public function Type() {
return 'text urlsegment'; return 'text urlsegment';
} }

View File

@ -9,13 +9,13 @@ interface CurrentPageIdentifier {
* Get the current page ID. * Get the current page ID.
* @return int * @return int
*/ */
function currentPageID(); public function currentPageID();
/** /**
* Check if the given DataObject is the current page. * Check if the given DataObject is the current page.
* @param DataObject $page The page to check. * @param DataObject $page The page to check.
* @return boolean * @return boolean
*/ */
function isCurrentPage(DataObject $page); public function isCurrentPage(DataObject $page);
} }

View File

@ -36,7 +36,7 @@ class ErrorPage extends Page {
* @param int $statusCode * @param int $statusCode
* @return SS_HTTPResponse * @return SS_HTTPResponse
*/ */
public static function response_for($statusCode) { static public function response_for($statusCode) {
// first attempt to dynamically generate the error page // first attempt to dynamically generate the error page
if($errorPage = DataObject::get_one('ErrorPage', "\"ErrorCode\" = $statusCode")) { if($errorPage = DataObject::get_one('ErrorPage', "\"ErrorCode\" = $statusCode")) {
return ModelAsController::controller_for($errorPage)->handleRequest(new SS_HTTPRequest('GET', ''), DataModel::inst()); return ModelAsController::controller_for($errorPage)->handleRequest(new SS_HTTPRequest('GET', ''), DataModel::inst());
@ -64,7 +64,7 @@ class ErrorPage extends Page {
* ErrorPage with a 404 and 500 error code. If there * ErrorPage with a 404 and 500 error code. If there
* is not, one is created when the DB is built. * is not, one is created when the DB is built.
*/ */
function requireDefaultRecords() { public function requireDefaultRecords() {
parent::requireDefaultRecords(); parent::requireDefaultRecords();
if ($this->class == 'ErrorPage' && SiteTree::get_create_default_pages()) { if ($this->class == 'ErrorPage' && SiteTree::get_create_default_pages()) {
@ -131,7 +131,7 @@ class ErrorPage extends Page {
} }
} }
function getCMSFields() { public function getCMSFields() {
$fields = parent::getCMSFields(); $fields = parent::getCMSFields();
$fields->addFieldToTab( $fields->addFieldToTab(
@ -179,7 +179,7 @@ class ErrorPage extends Page {
* @param string $toStage Place to copy to. Must be a stage name. * @param string $toStage Place to copy to. Must be a stage name.
* @param boolean $createNewVersion Set this to true to create a new version number. By default, the existing version number will be copied over. * @param boolean $createNewVersion Set this to true to create a new version number. By default, the existing version number will be copied over.
*/ */
function doPublish() { public function doPublish() {
parent::doPublish(); parent::doPublish();
// Run the page (reset the theme, it might've been disabled by LeftAndMain::init()) // Run the page (reset the theme, it might've been disabled by LeftAndMain::init())
@ -221,7 +221,7 @@ class ErrorPage extends Page {
* @param boolean $includerelations a boolean value to indicate if the labels returned include relation fields * @param boolean $includerelations a boolean value to indicate if the labels returned include relation fields
* *
*/ */
function fieldLabels($includerelations = true) { public function fieldLabels($includerelations = true) {
$labels = parent::fieldLabels($includerelations); $labels = parent::fieldLabels($includerelations);
$labels['ErrorCode'] = _t('ErrorPage.CODE', "Error code"); $labels['ErrorCode'] = _t('ErrorPage.CODE', "Error code");
@ -236,7 +236,7 @@ class ErrorPage extends Page {
* @param String $locale A locale, e.g. 'de_DE' (Optional) * @param String $locale A locale, e.g. 'de_DE' (Optional)
* @return String * @return String
*/ */
static function get_filepath_for_errorcode($statusCode, $locale = null) { static public function get_filepath_for_errorcode($statusCode, $locale = null) {
if (singleton('ErrorPage')->hasMethod('alternateFilepathForErrorcode')) { if (singleton('ErrorPage')->hasMethod('alternateFilepathForErrorcode')) {
return singleton('ErrorPage')-> alternateFilepathForErrorcode($statusCode, $locale); return singleton('ErrorPage')-> alternateFilepathForErrorcode($statusCode, $locale);
} }
@ -253,14 +253,14 @@ class ErrorPage extends Page {
* *
* @param string $path * @param string $path
*/ */
static function set_static_filepath($path) { static public function set_static_filepath($path) {
self::$static_filepath = $path; self::$static_filepath = $path;
} }
/** /**
* @return string * @return string
*/ */
static function get_static_filepath() { static public function get_static_filepath() {
return self::$static_filepath; return self::$static_filepath;
} }
} }
@ -270,7 +270,7 @@ class ErrorPage extends Page {
* @package cms * @package cms
*/ */
class ErrorPage_Controller extends Page_Controller { class ErrorPage_Controller extends Page_Controller {
function init() { public function init() {
parent::init(); parent::init();
$action = $this->request->param('Action'); $action = $this->request->param('Action');

View File

@ -30,7 +30,7 @@ class RedirectorPage extends Page {
* returns the target page. * returns the target page.
* @return SiteTree * @return SiteTree
*/ */
function ContentSource() { public function ContentSource() {
if($this->RedirectionType == 'Internal') { if($this->RedirectionType == 'Internal') {
return $this->LinkTo(); return $this->LinkTo();
} else { } else {
@ -44,7 +44,7 @@ class RedirectorPage extends Page {
* destination, to prevent unnecessary 30x redirections. However, if it's misconfigured, then * destination, to prevent unnecessary 30x redirections. However, if it's misconfigured, then
* it will return a link to itself, which will then display an error message. * it will return a link to itself, which will then display an error message.
*/ */
function Link() { public function Link() {
if($link = $this->redirectionLink()) return $link; if($link = $this->redirectionLink()) return $link;
else return $this->regularLink(); else return $this->regularLink();
} }
@ -53,7 +53,7 @@ class RedirectorPage extends Page {
* Return the normal link directly to this page. Once you visit this link, a 30x redirection * Return the normal link directly to this page. Once you visit this link, a 30x redirection
* will take you to your final destination. * will take you to your final destination.
*/ */
function regularLink($action = null) { public function regularLink($action = null) {
return parent::Link($action); return parent::Link($action);
} }
@ -61,7 +61,7 @@ class RedirectorPage extends Page {
* Return the link that we should redirect to. * Return the link that we should redirect to.
* Only return a value if there is a legal redirection destination. * Only return a value if there is a legal redirection destination.
*/ */
function redirectionLink() { public function redirectionLink() {
if($this->RedirectionType == 'External') { if($this->RedirectionType == 'External') {
if($this->ExternalURL) { if($this->ExternalURL) {
return $this->ExternalURL; return $this->ExternalURL;
@ -90,7 +90,7 @@ class RedirectorPage extends Page {
} }
} }
function syncLinkTracking() { public function syncLinkTracking() {
if ($this->RedirectionType == 'Internal') { if ($this->RedirectionType == 'Internal') {
if($this->LinkToID) { if($this->LinkToID) {
$this->HasBrokenLink = DataObject::get_by_id('SiteTree', $this->LinkToID) ? false : true; $this->HasBrokenLink = DataObject::get_by_id('SiteTree', $this->LinkToID) ? false : true;
@ -104,7 +104,7 @@ class RedirectorPage extends Page {
} }
} }
function onBeforeWrite() { public function onBeforeWrite() {
parent::onBeforeWrite(); parent::onBeforeWrite();
// Prefix the URL with "http://" if no prefix is found // Prefix the URL with "http://" if no prefix is found
@ -113,7 +113,7 @@ class RedirectorPage extends Page {
} }
} }
function getCMSFields() { public function getCMSFields() {
Requirements::javascript(CMS_DIR . '/javascript/RedirectorPage.js'); Requirements::javascript(CMS_DIR . '/javascript/RedirectorPage.js');
$fields = parent::getCMSFields(); $fields = parent::getCMSFields();
@ -151,7 +151,7 @@ class RedirectorPage extends Page {
} }
// Don't cache RedirectorPages // Don't cache RedirectorPages
function subPagesToCache() { public function subPagesToCache() {
return array(); return array();
} }
} }
@ -163,7 +163,7 @@ class RedirectorPage extends Page {
*/ */
class RedirectorPage_Controller extends Page_Controller { class RedirectorPage_Controller extends Page_Controller {
function init() { public function init() {
parent::init(); parent::init();
if($link = $this->redirectionLink()) { if($link = $this->redirectionLink()) {
@ -175,7 +175,7 @@ class RedirectorPage_Controller extends Page_Controller {
/** /**
* If we ever get this far, it means that the redirection failed. * If we ever get this far, it means that the redirection failed.
*/ */
function Content() { public function Content() {
return "<p class=\"message-setupWithoutRedirect\">" . return "<p class=\"message-setupWithoutRedirect\">" .
_t('RedirectorPage.HASBEENSETUP', 'A redirector page has been set up without anywhere to redirect to.') . _t('RedirectorPage.HASBEENSETUP', 'A redirector page has been set up without anywhere to redirect to.') .
"</p>"; "</p>";

View File

@ -24,11 +24,11 @@ class SiteConfig extends DataObject implements PermissionProvider {
protected static $disabled_themes = array(); protected static $disabled_themes = array();
public static function disable_theme($theme) { static public function disable_theme($theme) {
self::$disabled_themes[$theme] = $theme; self::$disabled_themes[$theme] = $theme;
} }
function populateDefaults() public function populateDefaults()
{ {
$this->Title = _t('SiteConfig.SITENAMEDEFAULT', "Your Site Name"); $this->Title = _t('SiteConfig.SITENAMEDEFAULT', "Your Site Name");
$this->Tagline = _t('SiteConfig.TAGLINEDEFAULT', "your tagline here"); $this->Tagline = _t('SiteConfig.TAGLINEDEFAULT', "your tagline here");
@ -43,7 +43,7 @@ class SiteConfig extends DataObject implements PermissionProvider {
* *
* @return FieldList * @return FieldList
*/ */
function getCMSFields() { public function getCMSFields() {
Requirements::javascript(CMS_DIR . "/javascript/SitetreeAccess.js"); Requirements::javascript(CMS_DIR . "/javascript/SitetreeAccess.js");
$groupsMap = Group::get()->map('ID', 'Breadcrumbs')->toArray(); $groupsMap = Group::get()->map('ID', 'Breadcrumbs')->toArray();
@ -130,7 +130,7 @@ class SiteConfig extends DataObject implements PermissionProvider {
* *
* @return Fieldset * @return Fieldset
*/ */
function getCMSActions() { public function getCMSActions() {
if (Permission::check('ADMIN') || Permission::check('EDIT_SITECONFIG')) { if (Permission::check('ADMIN') || Permission::check('EDIT_SITECONFIG')) {
$actions = new FieldList( $actions = new FieldList(
FormAction::create('save_siteconfig', _t('CMSMain.SAVE','Save')) FormAction::create('save_siteconfig', _t('CMSMain.SAVE','Save'))
@ -148,7 +148,7 @@ class SiteConfig extends DataObject implements PermissionProvider {
/** /**
* @return String * @return String
*/ */
function CMSEditLink() { public function CMSEditLink() {
return singleton('CMSSettingsController')->Link(); return singleton('CMSSettingsController')->Link();
} }
@ -158,7 +158,7 @@ class SiteConfig extends DataObject implements PermissionProvider {
* *
* @return SiteConfig * @return SiteConfig
*/ */
static function current_site_config() { static public function current_site_config() {
if ($siteConfig = DataObject::get_one('SiteConfig')) return $siteConfig; if ($siteConfig = DataObject::get_one('SiteConfig')) return $siteConfig;
return self::make_site_config(); return self::make_site_config();
@ -167,7 +167,7 @@ class SiteConfig extends DataObject implements PermissionProvider {
/** /**
* Setup a default SiteConfig record if none exists * Setup a default SiteConfig record if none exists
*/ */
function requireDefaultRecords() { public function requireDefaultRecords() {
parent::requireDefaultRecords(); parent::requireDefaultRecords();
$siteConfig = DataObject::get_one('SiteConfig'); $siteConfig = DataObject::get_one('SiteConfig');
if(!$siteConfig) { if(!$siteConfig) {
@ -182,7 +182,7 @@ class SiteConfig extends DataObject implements PermissionProvider {
* @param string $locale * @param string $locale
* @return SiteConfig * @return SiteConfig
*/ */
static function make_site_config() { static public function make_site_config() {
$config = SiteConfig::create(); $config = SiteConfig::create();
$config->write(); $config->write();
return $config; return $config;
@ -236,7 +236,7 @@ class SiteConfig extends DataObject implements PermissionProvider {
return false; return false;
} }
function providePermissions() { public function providePermissions() {
return array( return array(
'EDIT_SITECONFIG' => array( 'EDIT_SITECONFIG' => array(
'name' => _t('SiteConfig.EDIT_PERMISSION', 'Manage site configuration'), 'name' => _t('SiteConfig.EDIT_PERMISSION', 'Manage site configuration'),

View File

@ -210,14 +210,14 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @param boolean * @param boolean
*/ */
public static function set_enforce_strict_hierarchy($to) { static public function set_enforce_strict_hierarchy($to) {
self::$enforce_strict_hierarchy = $to; self::$enforce_strict_hierarchy = $to;
} }
/** /**
* @return boolean * @return boolean
*/ */
public static function get_enforce_strict_hierarchy() { static public function get_enforce_strict_hierarchy() {
return self::$enforce_strict_hierarchy; return self::$enforce_strict_hierarchy;
} }
@ -226,15 +226,15 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return bool * @return bool
*/ */
public static function nested_urls() { static public function nested_urls() {
return self::$nested_urls; return self::$nested_urls;
} }
public static function enable_nested_urls() { static public function enable_nested_urls() {
self::$nested_urls = true; self::$nested_urls = true;
} }
public static function disable_nested_urls() { static public function disable_nested_urls() {
self::$nested_urls = false; self::$nested_urls = false;
} }
@ -243,7 +243,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @param bool $option * @param bool $option
*/ */
public static function set_create_default_pages($option = true) { static public function set_create_default_pages($option = true) {
self::$create_default_pages = $option; self::$create_default_pages = $option;
} }
@ -252,7 +252,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return bool * @return bool
*/ */
public static function get_create_default_pages() { static public function get_create_default_pages() {
return self::$create_default_pages; return self::$create_default_pages;
} }
@ -269,7 +269,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @param bool $cache * @param bool $cache
* @return SiteTree * @return SiteTree
*/ */
public static function get_by_link($link, $cache = true) { static public function get_by_link($link, $cache = true) {
if(trim($link, '/')) { if(trim($link, '/')) {
$link = trim(Director::makeRelative($link), '/'); $link = trim(Director::makeRelative($link), '/');
} else { } else {
@ -333,7 +333,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return array * @return array
*/ */
public static function page_type_classes() { static public function page_type_classes() {
$classes = ClassInfo::getValidSubClasses(); $classes = ClassInfo::getValidSubClasses();
$baseClassIndex = array_search('SiteTree', $classes); $baseClassIndex = array_search('SiteTree', $classes);
@ -370,7 +370,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return string * @return string
*/ */
public static function link_shortcode_handler($arguments, $content = null, $parser = null) { static public function link_shortcode_handler($arguments, $content = null, $parser = null) {
if(!isset($arguments['id']) || !is_numeric($arguments['id'])) return; if(!isset($arguments['id']) || !is_numeric($arguments['id'])) return;
if ( if (
@ -472,7 +472,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
/** /**
* @return String * @return String
*/ */
function CMSEditLink() { public function CMSEditLink() {
return Controller::join_links(singleton('CMSPageEditController')->Link('show'), $this->ID); return Controller::join_links(singleton('CMSPageEditController')->Link('show'), $this->ID);
} }
@ -686,7 +686,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @param string $seperator Seperating string * @param string $seperator Seperating string
* @return string The resulting string * @return string The resulting string
*/ */
function NestedTitle($level = 2, $separator = " - ") { public function NestedTitle($level = 2, $separator = " - ") {
$item = $this; $item = $this;
while($item && $level > 0) { while($item && $level > 0) {
$parts[] = $item->Title; $parts[] = $item->Title;
@ -713,7 +713,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* Defaults to the currently logged in user. * Defaults to the currently logged in user.
* @return boolean True if the the member is allowed to do the given action. * @return boolean True if the the member is allowed to do the given action.
*/ */
function can($perm, $member = null) { public function can($perm, $member = null) {
if(!$member || !(is_a($member, 'Member')) || is_numeric($member)) { if(!$member || !(is_a($member, 'Member')) || is_numeric($member)) {
$member = Member::currentUserID(); $member = Member::currentUserID();
} }
@ -827,7 +827,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @param Member $member * @param Member $member
* @return boolean * @return boolean
*/ */
function canViewStage($stage, $member = null) { public function canViewStage($stage, $member = null) {
if(!$member) $member = Member::currentUser(); if(!$member) $member = Member::currentUser();
if( if(
@ -990,7 +990,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
/** /**
* Stub method to get the site config, provided so it's easy to override * Stub method to get the site config, provided so it's easy to override
*/ */
function getSiteConfig() { public function getSiteConfig() {
if($this->hasMethod('alternateSiteConfig')) { if($this->hasMethod('alternateSiteConfig')) {
$altConfig = $this->alternateSiteConfig(); $altConfig = $this->alternateSiteConfig();
@ -1003,7 +1003,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
/** /**
* @deprecated 3.0 Use prepopulate_permission_cache() instead (without the extraneous "p" in "prepopulate") * @deprecated 3.0 Use prepopulate_permission_cache() instead (without the extraneous "p" in "prepopulate")
*/ */
static function prepopuplate_permission_cache($permission = 'CanEditType', $ids, $batchCallback = null) { static public function prepopuplate_permission_cache($permission = 'CanEditType', $ids, $batchCallback = null) {
Deprecation::notice("3.0", "Use prepopulate_permission_cache instead."); Deprecation::notice("3.0", "Use prepopulate_permission_cache instead.");
self::prepopulate_permission_cache($permission, $ids, $batchCallback); self::prepopulate_permission_cache($permission, $ids, $batchCallback);
} }
@ -1017,7 +1017,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @param $batchCallBack The function/static method to call to calculate permissions. Defaults * @param $batchCallBack The function/static method to call to calculate permissions. Defaults
* to 'SiteTree::can_(permission)_multiple' * to 'SiteTree::can_(permission)_multiple'
*/ */
static function prepopulate_permission_cache($permission = 'CanEditType', $ids, $batchCallback = null) { static public function prepopulate_permission_cache($permission = 'CanEditType', $ids, $batchCallback = null) {
if(!$batchCallback) $batchCallback = "SiteTree::can_{$permission}_multiple"; if(!$batchCallback) $batchCallback = "SiteTree::can_{$permission}_multiple";
if(is_callable($batchCallback)) { if(is_callable($batchCallback)) {
@ -1046,7 +1046,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @param Boolean $useCached * @param Boolean $useCached
* @return Array An map of {@link SiteTree} ID keys, to boolean values * @return Array An map of {@link SiteTree} ID keys, to boolean values
*/ */
static function batch_permission_check($ids, $memberID, $typeField, $groupJoinTable, $siteConfigMethod, $globalPermission = 'CMS_ACCESS_CMSMain', $useCached = true) { static public function batch_permission_check($ids, $memberID, $typeField, $groupJoinTable, $siteConfigMethod, $globalPermission = 'CMS_ACCESS_CMSMain', $useCached = true) {
// Sanitise the IDs // Sanitise the IDs
$ids = array_filter($ids, 'is_numeric'); $ids = array_filter($ids, 'is_numeric');
@ -1164,7 +1164,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @return A map where the IDs are keys and the values are booleans stating whether the given * @return A map where the IDs are keys and the values are booleans stating whether the given
* page can be edited. * page can be edited.
*/ */
static function can_edit_multiple($ids, $memberID, $useCached = true) { static public function can_edit_multiple($ids, $memberID, $useCached = true) {
return self::batch_permission_check($ids, $memberID, 'CanEditType', 'SiteTree_EditorGroups', 'canEdit', 'CMS_ACCESS_CMSMain', $useCached); return self::batch_permission_check($ids, $memberID, 'CanEditType', 'SiteTree_EditorGroups', 'canEdit', 'CMS_ACCESS_CMSMain', $useCached);
} }
@ -1173,7 +1173,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @param An array of IDs of the SiteTree pages to look up. * @param An array of IDs of the SiteTree pages to look up.
* @param useCached Return values from the permission cache if they exist. * @param useCached Return values from the permission cache if they exist.
*/ */
static function can_delete_multiple($ids, $memberID, $useCached = true) { static public function can_delete_multiple($ids, $memberID, $useCached = true) {
$deletable = array(); $deletable = array();
$result = array_fill_keys($ids, false); $result = array_fill_keys($ids, false);
$cacheKey = "delete-$memberID"; $cacheKey = "delete-$memberID";
@ -1321,7 +1321,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* records when the database is built, but make sure you call * records when the database is built, but make sure you call
* parent::requireDefaultRecords(). * parent::requireDefaultRecords().
*/ */
function requireDefaultRecords() { public function requireDefaultRecords() {
parent::requireDefaultRecords(); parent::requireDefaultRecords();
// default pages // default pages
@ -1420,7 +1420,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
} }
} }
function syncLinkTracking() { public function syncLinkTracking() {
// Build a list of HTMLText fields // Build a list of HTMLText fields
$allFields = $this->db(); $allFields = $this->db();
$htmlFields = array(); $htmlFields = array();
@ -1446,7 +1446,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
$this->extend('augmentSyncLinkTracking'); $this->extend('augmentSyncLinkTracking');
} }
function onAfterWrite() { public function onAfterWrite() {
// Need to flush cache to avoid outdated versionnumber references // Need to flush cache to avoid outdated versionnumber references
$this->flushCache(); $this->flushCache();
@ -1466,7 +1466,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
parent::onAfterWrite(); parent::onAfterWrite();
} }
function onBeforeDelete() { public function onBeforeDelete() {
parent::onBeforeDelete(); parent::onBeforeDelete();
// If deleting this page, delete all its children. // If deleting this page, delete all its children.
@ -1478,7 +1478,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
} }
function onAfterDelete() { public function onAfterDelete() {
// Need to flush cache to avoid outdated versionnumber references // Need to flush cache to avoid outdated versionnumber references
$this->flushCache(); $this->flushCache();
@ -1492,12 +1492,12 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
parent::onAfterDelete(); parent::onAfterDelete();
} }
function flushCache($persistent = true) { public function flushCache($persistent = true) {
parent::flushCache($persistent); parent::flushCache($persistent);
$this->_cache_statusFlags = null; $this->_cache_statusFlags = null;
} }
function validate() { public function validate() {
$result = parent::validate(); $result = parent::validate();
// Allowed children validation // Allowed children validation
@ -1594,7 +1594,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @param string $title Page title. * @param string $title Page title.
* @return string Generated url segment * @return string Generated url segment
*/ */
function generateURLSegment($title){ public function generateURLSegment($title){
$filter = URLSegmentFilter::create(); $filter = URLSegmentFilter::create();
$t = $filter->filter($title); $t = $filter->filter($title);
@ -1610,7 +1610,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
/** /**
* @return string * @return string
*/ */
function getStageURLSegment() { public function getStageURLSegment() {
$stageRecord = Versioned::get_one_by_stage( $stageRecord = Versioned::get_one_by_stage(
'SiteTree', 'SiteTree',
'Stage', 'Stage',
@ -1622,7 +1622,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
/** /**
* @return string * @return string
*/ */
function getLiveURLSegment() { public function getLiveURLSegment() {
$liveRecord = Versioned::get_one_by_stage( $liveRecord = Versioned::get_one_by_stage(
'SiteTree', 'SiteTree',
'Live', 'Live',
@ -1635,7 +1635,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* Rewrite a file URL on this page, after its been renamed. * Rewrite a file URL on this page, after its been renamed.
* Triggers the onRenameLinkedAsset action on extensions. * Triggers the onRenameLinkedAsset action on extensions.
*/ */
function rewriteFileURL($old, $new) { public function rewriteFileURL($old, $new) {
$fields = $this->inheritedDatabaseFields(); $fields = $this->inheritedDatabaseFields();
// Update the content without actually creating a new version // Update the content without actually creating a new version
foreach(array("SiteTree_Live", "SiteTree") as $table) { foreach(array("SiteTree_Live", "SiteTree") as $table) {
@ -1671,7 +1671,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @param $includeVirtuals Set to false to exlcude virtual pages. * @param $includeVirtuals Set to false to exlcude virtual pages.
*/ */
function DependentPages($includeVirtuals = true) { public function DependentPages($includeVirtuals = true) {
if(class_exists('Subsite')) { if(class_exists('Subsite')) {
$origDisableSubsiteFilter = Subsite::$disable_subsite_filter; $origDisableSubsiteFilter = Subsite::$disable_subsite_filter;
Subsite::disable_subsite_filter(true); Subsite::disable_subsite_filter(true);
@ -1712,7 +1712,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @param $includeVirtuals Set to false to exlcude virtual pages. * @param $includeVirtuals Set to false to exlcude virtual pages.
*/ */
function DependentPagesCount($includeVirtuals = true) { public function DependentPagesCount($includeVirtuals = true) {
$links = DB::query("SELECT COUNT(*) FROM \"SiteTree_LinkTracking\" $links = DB::query("SELECT COUNT(*) FROM \"SiteTree_LinkTracking\"
INNER JOIN \"SiteTree\" ON \"SiteTree\".\"ID\" = \"SiteTree_LinkTracking\".\"SiteTreeID\" INNER JOIN \"SiteTree\" ON \"SiteTree\".\"ID\" = \"SiteTree_LinkTracking\".\"SiteTreeID\"
WHERE \"ChildID\" = $this->ID ")->value(); WHERE \"ChildID\" = $this->ID ")->value();
@ -1734,7 +1734,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
/** /**
* Return all virtual pages that link to this page * Return all virtual pages that link to this page
*/ */
function VirtualPages() { public function VirtualPages() {
if(!$this->ID) return null; if(!$this->ID) return null;
if(class_exists('Subsite')) { if(class_exists('Subsite')) {
return Subsite::get_from_all_subsites('VirtualPage', "\"CopyContentFromID\" = " . (int)$this->ID); return Subsite::get_from_all_subsites('VirtualPage', "\"CopyContentFromID\" = " . (int)$this->ID);
@ -1757,7 +1757,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return FieldList The fields to be displayed in the CMS. * @return FieldList The fields to be displayed in the CMS.
*/ */
function getCMSFields() { public function getCMSFields() {
require_once("forms/Form.php"); require_once("forms/Form.php");
// Status / message // Status / message
// Create a status message for multiple parents // Create a status message for multiple parents
@ -1914,7 +1914,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return FieldList * @return FieldList
*/ */
function getSettingsFields() { public function getSettingsFields() {
$groupsMap = Group::get()->map('ID', 'Breadcrumbs')->toArray(); $groupsMap = Group::get()->map('ID', 'Breadcrumbs')->toArray();
asort($groupsMap); asort($groupsMap);
@ -2015,7 +2015,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @param boolean $includerelations a boolean value to indicate if the labels returned include relation fields * @param boolean $includerelations a boolean value to indicate if the labels returned include relation fields
* *
*/ */
function fieldLabels($includerelations = true) { public function fieldLabels($includerelations = true) {
$cacheKey = $this->class . '_' . $includerelations; $cacheKey = $this->class . '_' . $includerelations;
if(!isset(self::$_cache_field_labels[$cacheKey])) { if(!isset(self::$_cache_field_labels[$cacheKey])) {
$labels = parent::fieldLabels($includerelations); $labels = parent::fieldLabels($includerelations);
@ -2062,7 +2062,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* Get the actions available in the CMS for this page - eg Save, Publish. * Get the actions available in the CMS for this page - eg Save, Publish.
* @return FieldList The available actions for this page. * @return FieldList The available actions for this page.
*/ */
function getCMSActions() { public function getCMSActions() {
$minorActions = CompositeField::create()->setTag('fieldset')->addExtraClass('ss-ui-buttonset'); $minorActions = CompositeField::create()->setTag('fieldset')->addExtraClass('ss-ui-buttonset');
$actions = new FieldList($minorActions); $actions = new FieldList($minorActions);
@ -2150,7 +2150,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @uses SiteTreeExtension->onBeforePublish() * @uses SiteTreeExtension->onBeforePublish()
* @uses SiteTreeExtension->onAfterPublish() * @uses SiteTreeExtension->onAfterPublish()
*/ */
function doPublish() { public function doPublish() {
if (!$this->canPublish()) return false; if (!$this->canPublish()) return false;
$original = Versioned::get_one_by_stage("SiteTree", "Live", "\"SiteTree\".\"ID\" = $this->ID"); $original = Versioned::get_one_by_stage("SiteTree", "Live", "\"SiteTree\".\"ID\" = $this->ID");
@ -2195,7 +2195,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @uses SiteTreeExtension->onBeforeUnpublish() * @uses SiteTreeExtension->onBeforeUnpublish()
* @uses SiteTreeExtension->onAfterUnpublish() * @uses SiteTreeExtension->onAfterUnpublish()
*/ */
function doUnpublish() { public function doUnpublish() {
if(!$this->canDeleteFromLive()) return false; if(!$this->canDeleteFromLive()) return false;
if(!$this->ID) return false; if(!$this->ID) return false;
@ -2237,7 +2237,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
/** /**
* Revert the draft changes: replace the draft content with the content on live * Revert the draft changes: replace the draft content with the content on live
*/ */
function doRevertToLive() { public function doRevertToLive() {
$this->publish("Live", "Stage", false); $this->publish("Live", "Stage", false);
// Use a clone to get the updates made by $this->publish // Use a clone to get the updates made by $this->publish
@ -2257,7 +2257,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* Restore the content in the active copy of this SiteTree page to the stage site. * Restore the content in the active copy of this SiteTree page to the stage site.
* @return The SiteTree object. * @return The SiteTree object.
*/ */
function doRestoreToStage() { public function doRestoreToStage() {
// if no record can be found on draft stage (meaning it has been "deleted from draft" before), // if no record can be found on draft stage (meaning it has been "deleted from draft" before),
// create an empty record // create an empty record
if(!DB::query("SELECT \"ID\" FROM \"SiteTree\" WHERE \"ID\" = $this->ID")->value()) { if(!DB::query("SELECT \"ID\" FROM \"SiteTree\" WHERE \"ID\" = $this->ID")->value()) {
@ -2288,7 +2288,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
/** /**
* Synonym of {@link doUnpublish} * Synonym of {@link doUnpublish}
*/ */
function doDeleteFromLive() { public function doDeleteFromLive() {
return $this->doUnpublish(); return $this->doUnpublish();
} }
@ -2298,7 +2298,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return boolean True if this page is new. * @return boolean True if this page is new.
*/ */
function isNew() { public function isNew() {
/** /**
* This check was a problem for a self-hosted site, and may indicate a * This check was a problem for a self-hosted site, and may indicate a
* bug in the interpreter on their server, or a bug here * bug in the interpreter on their server, or a bug here
@ -2318,7 +2318,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return boolean True if this page has been published. * @return boolean True if this page has been published.
*/ */
function isPublished() { public function isPublished() {
if($this->isNew()) if($this->isNew())
return false; return false;
@ -2387,7 +2387,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return array * @return array
*/ */
function allowedChildren() { public function allowedChildren() {
$allowedChildren = array(); $allowedChildren = array();
$candidates = $this->stat('allowed_children'); $candidates = $this->stat('allowed_children');
if($candidates && $candidates != "none" && $candidates != "SiteTree_root") { if($candidates && $candidates != "none" && $candidates != "SiteTree_root") {
@ -2414,7 +2414,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return string * @return string
*/ */
function defaultChild() { public function defaultChild() {
$default = $this->stat('default_child'); $default = $this->stat('default_child');
$allowed = $this->allowedChildren(); $allowed = $this->allowedChildren();
if($allowed) { if($allowed) {
@ -2431,7 +2431,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return string * @return string
*/ */
function defaultParent() { public function defaultParent() {
return $this->stat('default_parent'); return $this->stat('default_parent');
} }
@ -2441,7 +2441,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return string * @return string
*/ */
function getMenuTitle(){ public function getMenuTitle(){
if($value = $this->getField("MenuTitle")) { if($value = $this->getField("MenuTitle")) {
return $value; return $value;
} else { } else {
@ -2455,7 +2455,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @param string $value * @param string $value
*/ */
function setMenuTitle($value) { public function setMenuTitle($value) {
if($value == $this->getField("Title")) { if($value == $this->getField("Title")) {
$this->setField("MenuTitle", null); $this->setField("MenuTitle", null);
} else { } else {
@ -2479,7 +2479,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @param Boolean $cached * @param Boolean $cached
* @return array * @return array
*/ */
function getStatusFlags($cached = true) { public function getStatusFlags($cached = true) {
if(!$this->_cache_statusFlags || !$cached) { if(!$this->_cache_statusFlags || !$cached) {
$flags = array(); $flags = array();
if($this->IsDeletedFromStage) { if($this->IsDeletedFromStage) {
@ -2518,7 +2518,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
/** /**
* @deprecated 3.0 Use getTreeTitle() * @deprecated 3.0 Use getTreeTitle()
*/ */
function TreeTitle() { public function TreeTitle() {
Deprecation::notice('3.0', 'Use getTreeTitle() instead.'); Deprecation::notice('3.0', 'Use getTreeTitle() instead.');
return $this->getTreeTitle(); return $this->getTreeTitle();
} }
@ -2530,7 +2530,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return string a html string ready to be directly used in a template * @return string a html string ready to be directly used in a template
*/ */
function getTreeTitle() { public function getTreeTitle() {
$flags = $this->getStatusFlags(); $flags = $this->getStatusFlags();
$treeTitle = sprintf( $treeTitle = sprintf(
"<span class=\"jstree-pageicon\"></span><span class=\"item\">%s</span>", "<span class=\"jstree-pageicon\"></span><span class=\"item\">%s</span>",
@ -2568,7 +2568,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return string * @return string
*/ */
function CMSTreeClasses() { public function CMSTreeClasses() {
$classes = sprintf('class-%s', $this->class); $classes = sprintf('class-%s', $this->class);
if($this->HasBrokenFile || $this->HasBrokenLink) if($this->HasBrokenFile || $this->HasBrokenLink)
$classes .= " BrokenLink"; $classes .= " BrokenLink";
@ -2599,7 +2599,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return boolean * @return boolean
*/ */
function getIsDeletedFromStage() { public function getIsDeletedFromStage() {
if(!$this->ID) return true; if(!$this->ID) return true;
if($this->isNew()) return false; if($this->isNew()) return false;
@ -2612,7 +2612,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
/** /**
* Return true if this page exists on the live site * Return true if this page exists on the live site
*/ */
function getExistsOnLive() { public function getExistsOnLive() {
return (bool)Versioned::get_versionnumber_by_stage('SiteTree', 'Live', $this->ID); return (bool)Versioned::get_versionnumber_by_stage('SiteTree', 'Live', $this->ID);
} }
@ -2656,7 +2656,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* of SiteTree in a extension. Call before calling parent::getCMSFields(), * of SiteTree in a extension. Call before calling parent::getCMSFields(),
* and reenable afterwards. * and reenable afterwards.
*/ */
public static function disableCMSFieldsExtensions() { static public function disableCMSFieldsExtensions() {
self::$runCMSFieldsExtensions = false; self::$runCMSFieldsExtensions = false;
} }
@ -2664,11 +2664,11 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* Reenables extendCMSFields() being called on getCMSFields() after * Reenables extendCMSFields() being called on getCMSFields() after
* it has been disabled by disableCMSFieldsExtensions(). * it has been disabled by disableCMSFieldsExtensions().
*/ */
public static function enableCMSFieldsExtensions() { static public function enableCMSFieldsExtensions() {
self::$runCMSFieldsExtensions = true; self::$runCMSFieldsExtensions = true;
} }
function providePermissions() { public function providePermissions() {
return array( return array(
'SITETREE_GRANT_ACCESS' => array( 'SITETREE_GRANT_ACCESS' => array(
'name' => _t('SiteTree.PERMISSION_GRANTACCESS_DESCRIPTION', 'Manage access rights for content'), 'name' => _t('SiteTree.PERMISSION_GRANTACCESS_DESCRIPTION', 'Manage access rights for content'),
@ -2708,7 +2708,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* *
* @return String * @return String
*/ */
function i18n_singular_name() { public function i18n_singular_name() {
// Convert 'Page' to 'SiteTree' for correct localization lookups // Convert 'Page' to 'SiteTree' for correct localization lookups
$class = ($this->class == 'Page') ? 'SiteTree' : $this->class; $class = ($this->class == 'Page') ? 'SiteTree' : $this->class;
return _t($class.'.SINGULARNAME', $this->singular_name()); return _t($class.'.SINGULARNAME', $this->singular_name());
@ -2718,7 +2718,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* Overloaded to also provide entities for 'Page' class which is usually * Overloaded to also provide entities for 'Page' class which is usually
* located in custom code, hence textcollector picks it up for the wrong folder. * located in custom code, hence textcollector picks it up for the wrong folder.
*/ */
function provideI18nEntities() { public function provideI18nEntities() {
$entities = parent::provideI18nEntities(); $entities = parent::provideI18nEntities();
if(isset($entities['Page.SINGULARNAME'])) $entities['Page.SINGULARNAME'][3] = CMS_DIR; if(isset($entities['Page.SINGULARNAME'])) $entities['Page.SINGULARNAME'][3] = CMS_DIR;
@ -2735,15 +2735,15 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
return $entities; return $entities;
} }
function getParentType() { public function getParentType() {
return $this->ParentID == 0 ? 'root' : 'subpage'; return $this->ParentID == 0 ? 'root' : 'subpage';
} }
static function reset() { static public function reset() {
self::$cache_permissions = array(); self::$cache_permissions = array();
} }
static function on_db_reset() { static public function on_db_reset() {
self::$cache_permissions = array(); self::$cache_permissions = array();
} }

View File

@ -7,22 +7,22 @@
*/ */
abstract class SiteTreeExtension extends DataExtension { abstract class SiteTreeExtension extends DataExtension {
function onBeforePublish(&$original) { public function onBeforePublish(&$original) {
} }
function onAfterPublish(&$original) { public function onAfterPublish(&$original) {
} }
function onBeforeUnpublish() { public function onBeforeUnpublish() {
} }
function onAfterUnpublish() { public function onAfterUnpublish() {
} }
function canAddChildren($member) { public function canAddChildren($member) {
} }
function canPublish($member) { public function canPublish($member) {
} }

View File

@ -9,7 +9,7 @@ class SiteTreeFileExtension extends DataExtension {
'BackLinkTracking' => 'SiteTree' 'BackLinkTracking' => 'SiteTree'
); );
function updateCMSFields(FieldList $fields) { public function updateCMSFields(FieldList $fields) {
$fields->insertAfter(new ReadonlyField('BackLinkCount', $fields->insertAfter(new ReadonlyField('BackLinkCount',
_t('AssetTableField.BACKLINKCOUNT', 'Used on:'), _t('AssetTableField.BACKLINKCOUNT', 'Used on:'),
$this->BackLinkTracking()->Count() . ' ' . _t('AssetTableField.PAGES', 'page(s)')), $this->BackLinkTracking()->Count() . ' ' . _t('AssetTableField.PAGES', 'page(s)')),
@ -22,7 +22,7 @@ class SiteTreeFileExtension extends DataExtension {
* *
* @return ComponentSet * @return ComponentSet
*/ */
function BackLinkTracking($filter = "", $sort = "", $join = "", $limit = "") { public function BackLinkTracking($filter = "", $sort = "", $join = "", $limit = "") {
if(class_exists("Subsite")){ if(class_exists("Subsite")){
$rememberSubsiteFilter = Subsite::$disable_subsite_filter; $rememberSubsiteFilter = Subsite::$disable_subsite_filter;
Subsite::disable_subsite_filter(true); Subsite::disable_subsite_filter(true);
@ -43,7 +43,7 @@ class SiteTreeFileExtension extends DataExtension {
* *
* @return Integer * @return Integer
*/ */
function BackLinkTrackingCount() { public function BackLinkTrackingCount() {
$pages = $this->owner->BackLinkTracking(); $pages = $this->owner->BackLinkTracking();
if($pages) { if($pages) {
return $pages->Count(); return $pages->Count();
@ -55,7 +55,7 @@ class SiteTreeFileExtension extends DataExtension {
/** /**
* Updates link tracking. * Updates link tracking.
*/ */
function onAfterDelete() { public function onAfterDelete() {
// We query the explicit ID list, because BackLinkTracking will get modified after the stage // We query the explicit ID list, because BackLinkTracking will get modified after the stage
// site does its thing // site does its thing
$brokenPageIDs = $this->owner->BackLinkTracking()->column("ID"); $brokenPageIDs = $this->owner->BackLinkTracking()->column("ID");
@ -86,7 +86,7 @@ class SiteTreeFileExtension extends DataExtension {
* @param String $old File path relative to the webroot * @param String $old File path relative to the webroot
* @param String $new File path relative to the webroot * @param String $new File path relative to the webroot
*/ */
function updateLinks($old, $new) { public function updateLinks($old, $new) {
if(class_exists('Subsite')) Subsite::disable_subsite_filter(true); if(class_exists('Subsite')) Subsite::disable_subsite_filter(true);
$pages = $this->owner->BackLinkTracking(); $pages = $this->owner->BackLinkTracking();

View File

@ -49,7 +49,7 @@ class VirtualPage extends Page {
/** /**
* Generates the array of fields required for the page type. * Generates the array of fields required for the page type.
*/ */
function getVirtualFields() { public function getVirtualFields() {
$nonVirtualFields = array_merge(self::$non_virtual_fields, self::$initially_copied_fields); $nonVirtualFields = array_merge(self::$non_virtual_fields, self::$initially_copied_fields);
$record = $this->CopyContentFrom(); $record = $this->CopyContentFrom();
@ -66,7 +66,7 @@ class VirtualPage extends Page {
/** /**
* @return SiteTree Returns the linked page, or failing that, a new object. * @return SiteTree Returns the linked page, or failing that, a new object.
*/ */
function CopyContentFrom() { public function CopyContentFrom() {
$copyContentFromID = $this->CopyContentFromID; $copyContentFromID = $this->CopyContentFromID;
if(!$copyContentFromID) return new SiteTree(); if(!$copyContentFromID) return new SiteTree();
@ -87,12 +87,12 @@ class VirtualPage extends Page {
return $this->components['CopyContentFrom'] ? $this->components['CopyContentFrom'] : new SiteTree(); return $this->components['CopyContentFrom'] ? $this->components['CopyContentFrom'] : new SiteTree();
} }
function setCopyContentFromID($val) { public function setCopyContentFromID($val) {
if($val && DataObject::get_by_id('SiteTree', $val) instanceof VirtualPage) $val = 0; if($val && DataObject::get_by_id('SiteTree', $val) instanceof VirtualPage) $val = 0;
return $this->setField("CopyContentFromID", $val); return $this->setField("CopyContentFromID", $val);
} }
function ContentSource() { public function ContentSource() {
return $this->CopyContentFrom(); return $this->CopyContentFrom();
} }
@ -111,7 +111,7 @@ class VirtualPage extends Page {
return $tags; return $tags;
} }
function allowedChildren() { public function allowedChildren() {
if($this->CopyContentFrom()) { if($this->CopyContentFrom()) {
return $this->CopyContentFrom()->allowedChildren(); return $this->CopyContentFrom()->allowedChildren();
} }
@ -164,7 +164,7 @@ class VirtualPage extends Page {
/** /**
* Generate the CMS fields from the fields from the original page. * Generate the CMS fields from the fields from the original page.
*/ */
function getCMSFields() { public function getCMSFields() {
$fields = parent::getCMSFields(); $fields = parent::getCMSFields();
// Setup the linking to the original page. // Setup the linking to the original page.
@ -209,7 +209,7 @@ class VirtualPage extends Page {
/** /**
* We have to change it to copy all the content from the original page first. * We have to change it to copy all the content from the original page first.
*/ */
function onBeforeWrite() { public function onBeforeWrite() {
$performCopyFrom = null; $performCopyFrom = null;
// Determine if we need to copy values. // Determine if we need to copy values.
@ -245,7 +245,7 @@ class VirtualPage extends Page {
parent::onBeforeWrite(); parent::onBeforeWrite();
} }
function onAfterWrite() { public function onAfterWrite() {
parent::onAfterWrite(); parent::onAfterWrite();
// Don't do this stuff when we're publishing // Don't do this stuff when we're publishing
@ -292,7 +292,7 @@ class VirtualPage extends Page {
} }
} }
function validate() { public function validate() {
$result = parent::validate(); $result = parent::validate();
// "Can be root" validation // "Can be root" validation
@ -314,7 +314,7 @@ class VirtualPage extends Page {
/** /**
* Ensure we have an up-to-date version of everything. * Ensure we have an up-to-date version of everything.
*/ */
function copyFrom($source, $updateImageTracking = true) { public function copyFrom($source, $updateImageTracking = true) {
if($source) { if($source) {
foreach($this->getVirtualFields() as $virtualField) { foreach($this->getVirtualFields() as $virtualField) {
$this->$virtualField = $source->$virtualField; $this->$virtualField = $source->$virtualField;
@ -332,7 +332,7 @@ class VirtualPage extends Page {
} }
} }
function updateImageTracking() { public function updateImageTracking() {
// Doesn't work on unsaved records // Doesn't work on unsaved records
if(!$this->ID) return; if(!$this->ID) return;
@ -343,7 +343,7 @@ class VirtualPage extends Page {
$this->ImageTracking()->setByIdList($this->CopyContentFrom()->ImageTracking()->column('ID')); $this->ImageTracking()->setByIdList($this->CopyContentFrom()->ImageTracking()->column('ID'));
} }
function CMSTreeClasses() { public function CMSTreeClasses() {
return parent::CMSTreeClasses() . ' VirtualPage-' . $this->CopyContentFrom()->ClassName; return parent::CMSTreeClasses() . ' VirtualPage-' . $this->CopyContentFrom()->ClassName;
} }
@ -354,7 +354,7 @@ class VirtualPage extends Page {
* @param string $field * @param string $field
* @return mixed * @return mixed
*/ */
function __get($field) { public function __get($field) {
if(parent::hasMethod($funcName = "get$field")) { if(parent::hasMethod($funcName = "get$field")) {
return $this->$funcName(); return $this->$funcName();
} else if(parent::hasField($field)) { } else if(parent::hasField($field)) {
@ -370,7 +370,7 @@ class VirtualPage extends Page {
* @param string $method * @param string $method
* @param string $args * @param string $args
*/ */
function __call($method, $args) { public function __call($method, $args) {
if(parent::hasMethod($method)) { if(parent::hasMethod($method)) {
return parent::__call($method, $args); return parent::__call($method, $args);
} else { } else {
@ -393,7 +393,7 @@ class VirtualPage extends Page {
* @param string $method * @param string $method
* @return bool * @return bool
*/ */
function hasMethod($method) { public function hasMethod($method) {
if(parent::hasMethod($method)) return true; if(parent::hasMethod($method)) return true;
return $this->copyContentFrom()->hasMethod($method); return $this->copyContentFrom()->hasMethod($method);
} }
@ -412,13 +412,13 @@ class VirtualPage_Controller extends Page_Controller {
/** /**
* Reloads the content if the version is different ;-) * Reloads the content if the version is different ;-)
*/ */
function reloadContent() { public function reloadContent() {
$this->failover->copyFrom($this->failover->CopyContentFrom()); $this->failover->copyFrom($this->failover->CopyContentFrom());
$this->failover->write(); $this->failover->write();
return; return;
} }
function getViewer($action) { public function getViewer($action) {
$originalClass = get_class($this->CopyContentFrom()); $originalClass = get_class($this->CopyContentFrom());
if ($originalClass == 'SiteTree') $name = 'Page_Controller'; if ($originalClass == 'SiteTree') $name = 'Page_Controller';
else $name = $originalClass."_Controller"; else $name = $originalClass."_Controller";
@ -432,7 +432,7 @@ class VirtualPage_Controller extends Page_Controller {
* NOTE: Virtual page must have a container object of subclass of sitetree. * NOTE: Virtual page must have a container object of subclass of sitetree.
* We can't load the content without an ID or record to copy it from. * We can't load the content without an ID or record to copy it from.
*/ */
function init(){ public function init(){
if(isset($this->record) && $this->record->ID){ if(isset($this->record) && $this->record->ID){
if($this->record->VersionID != $this->failover->CopyContentFrom()->Version){ if($this->record->VersionID != $this->failover->CopyContentFrom()->Version){
$this->reloadContent(); $this->reloadContent();
@ -442,7 +442,7 @@ class VirtualPage_Controller extends Page_Controller {
parent::init(); parent::init();
} }
function loadcontentall() { public function loadcontentall() {
$pages = DataObject::get("VirtualPage"); $pages = DataObject::get("VirtualPage");
foreach($pages as $page) { foreach($pages as $page) {
$page->copyFrom($page->CopyContentFrom()); $page->copyFrom($page->CopyContentFrom());
@ -458,7 +458,7 @@ class VirtualPage_Controller extends Page_Controller {
* @param string $method * @param string $method
* @return bool * @return bool
*/ */
function hasMethod($method) { public function hasMethod($method) {
$haveIt = parent::hasMethod($method); $haveIt = parent::hasMethod($method);
if (!$haveIt) { if (!$haveIt) {
$originalClass = get_class($this->CopyContentFrom()); $originalClass = get_class($this->CopyContentFrom());
@ -476,7 +476,7 @@ class VirtualPage_Controller extends Page_Controller {
* @param string $method * @param string $method
* @param string $args * @param string $args
*/ */
function __call($method, $args) { public function __call($method, $args) {
try { try {
return parent::__call($method, $args); return parent::__call($method, $args);
} catch (Exception $e) { } catch (Exception $e) {

View File

@ -8,11 +8,11 @@
class BrokenLinksReport extends SS_Report { class BrokenLinksReport extends SS_Report {
function title() { public function title() {
return _t('BrokenLinksReport.BROKENLINKS',"Broken links report"); return _t('BrokenLinksReport.BROKENLINKS',"Broken links report");
} }
function sourceRecords($params, $sort, $limit) { public function sourceRecords($params, $sort, $limit) {
$join = ''; $join = '';
$sortBrokenReason = false; $sortBrokenReason = false;
if($sort) { if($sort) {
@ -73,7 +73,7 @@ class BrokenLinksReport extends SS_Report {
return $returnSet; return $returnSet;
} }
function columns() { public function columns() {
if(isset($_REQUEST['CheckSite']) && $_REQUEST['CheckSite'] == 'Draft') { if(isset($_REQUEST['CheckSite']) && $_REQUEST['CheckSite'] == 'Draft') {
$dateTitle = _t('BrokenLinksReport.ColumnDateLastModified', 'Date last modified'); $dateTitle = _t('BrokenLinksReport.ColumnDateLastModified', 'Date last modified');
} else { } else {
@ -112,7 +112,7 @@ class BrokenLinksReport extends SS_Report {
return $fields; return $fields;
} }
function parameterFields() { public function parameterFields() {
return new FieldList( return new FieldList(
new DropdownField('CheckSite', _t('BrokenLinksReport.CheckSite','Check site'), array( new DropdownField('CheckSite', _t('BrokenLinksReport.CheckSite','Check site'), array(
'Published' => _t('BrokenLinksReport.CheckSiteDropdownPublished', 'Published Site'), 'Published' => _t('BrokenLinksReport.CheckSiteDropdownPublished', 'Published Site'),

View File

@ -77,7 +77,7 @@ class SS_Report extends ViewableData {
* - overriding description(), which lets you support i18n * - overriding description(), which lets you support i18n
* - defining the $description property * - defining the $description property
*/ */
function title() { public function title() {
return $this->title; return $this->title;
} }
@ -88,14 +88,14 @@ class SS_Report extends ViewableData {
* - overriding description(), which lets you support i18n * - overriding description(), which lets you support i18n
* - defining the $description property * - defining the $description property
*/ */
function description() { public function description() {
return $this->description; return $this->description;
} }
/** /**
* Return the {@link SQLQuery} that provides your report data. * Return the {@link SQLQuery} that provides your report data.
*/ */
function sourceQuery($params) { public function sourceQuery($params) {
if($this->hasMethod('sourceRecords')) { if($this->hasMethod('sourceRecords')) {
return $this->sourceRecords()->dataQuery(); return $this->sourceRecords()->dataQuery();
} else { } else {
@ -106,7 +106,7 @@ class SS_Report extends ViewableData {
/** /**
* Return a SS_List records for this report. * Return a SS_List records for this report.
*/ */
function records($params) { public function records($params) {
if($this->hasMethod('sourceRecords')) { if($this->hasMethod('sourceRecords')) {
return $this->sourceRecords($params, null, null); return $this->sourceRecords($params, null, null);
} else { } else {
@ -124,11 +124,11 @@ class SS_Report extends ViewableData {
/** /**
* Return the data class for this report * Return the data class for this report
*/ */
function dataClass() { public function dataClass() {
return $this->dataClass; return $this->dataClass;
} }
function getLink($action = null) { public function getLink($action = null) {
return Controller::join_links( return Controller::join_links(
'admin/reports/', 'admin/reports/',
"$this->class", "$this->class",
@ -147,7 +147,7 @@ class SS_Report extends ViewableData {
* @param $priority The priority. Higher numbers will appear furhter up in the reports list. * @param $priority The priority. Higher numbers will appear furhter up in the reports list.
* The default value is zero. * The default value is zero.
*/ */
static function register($list, $reportClass, $priority = 0) { static public function register($list, $reportClass, $priority = 0) {
Deprecation::notice('3.0', 'All subclasses of SS_Report now appear in the report admin, no need to register'); Deprecation::notice('3.0', 'All subclasses of SS_Report now appear in the report admin, no need to register');
} }
@ -155,7 +155,7 @@ class SS_Report extends ViewableData {
* @deprecated 3.0 * @deprecated 3.0
* All subclasses of SS_Report now appear in the report admin, no need to register or unregister. * All subclasses of SS_Report now appear in the report admin, no need to register or unregister.
*/ */
static function unregister($list, $reportClass) { static public function unregister($list, $reportClass) {
self::add_excluded_reports($reportClass); self::add_excluded_reports($reportClass);
} }
@ -163,7 +163,7 @@ class SS_Report extends ViewableData {
* Exclude certain reports classes from the list of Reports in the CMS * Exclude certain reports classes from the list of Reports in the CMS
* @param $reportClass Can be either a string with the report classname or an array of reports classnames * @param $reportClass Can be either a string with the report classname or an array of reports classnames
*/ */
static function add_excluded_reports($reportClass) { static public function add_excluded_reports($reportClass) {
if (is_array($reportClass)) { if (is_array($reportClass)) {
self::$excluded_reports = array_merge(self::$excluded_reports, $reportClass); self::$excluded_reports = array_merge(self::$excluded_reports, $reportClass);
} else { } else {
@ -179,7 +179,7 @@ class SS_Report extends ViewableData {
* the list of reports in report admin in the CMS. * the list of reports in report admin in the CMS.
* @return array * @return array
*/ */
static function get_excluded_reports() { static public function get_excluded_reports() {
return self::$excluded_reports; return self::$excluded_reports;
} }
@ -187,7 +187,7 @@ class SS_Report extends ViewableData {
* Return the SS_Report objects making up the given list. * Return the SS_Report objects making up the given list.
* @return ArrayList an arraylist of SS_Report objects * @return ArrayList an arraylist of SS_Report objects
*/ */
static function get_reports() { static public function get_reports() {
$reports = ClassInfo::subclassesFor(get_called_class()); $reports = ClassInfo::subclassesFor(get_called_class());
$reportsArray = array(); $reportsArray = array();
@ -226,7 +226,7 @@ class SS_Report extends ViewableData {
* *
* @return FieldList * @return FieldList
*/ */
function getCMSFields() { public function getCMSFields() {
$fields = new FieldList(); $fields = new FieldList();
if($title = $this->title()) { if($title = $this->title()) {
@ -257,7 +257,7 @@ class SS_Report extends ViewableData {
return $fields; return $fields;
} }
function getCMSActions() { public function getCMSActions() {
// getCMSActions() can be extended with updateCMSActions() on a extension // getCMSActions() can be extended with updateCMSActions() on a extension
$actions = new FieldList(); $actions = new FieldList();
$this->extend('updateCMSActions', $actions); $this->extend('updateCMSActions', $actions);
@ -273,7 +273,7 @@ class SS_Report extends ViewableData {
* *
* @return FormField subclass * @return FormField subclass
*/ */
function getReportField() { public function getReportField() {
// TODO Remove coupling with global state // TODO Remove coupling with global state
$params = isset($_REQUEST['filters']) ? $_REQUEST['filters'] : array(); $params = isset($_REQUEST['filters']) ? $_REQUEST['filters'] : array();
$items = $this->sourceRecords($params, null, null); $items = $this->sourceRecords($params, null, null);
@ -318,7 +318,7 @@ class SS_Report extends ViewableData {
* @param Member $member * @param Member $member
* @return boolean * @return boolean
*/ */
function canView($member = null) { public function canView($member = null) {
if(!$member && $member !== FALSE) { if(!$member && $member !== FALSE) {
$member = Member::currentUser(); $member = Member::currentUser();
} }
@ -335,7 +335,7 @@ class SS_Report extends ViewableData {
* *
* @return string * @return string
*/ */
function TreeTitle() { public function TreeTitle() {
return $this->title(); return $this->title();
} }
@ -360,27 +360,27 @@ class SS_Report extends ViewableData {
abstract class SS_ReportWrapper extends SS_Report { abstract class SS_ReportWrapper extends SS_Report {
protected $baseReport; protected $baseReport;
function __construct($baseReport) { public function __construct($baseReport) {
$this->baseReport = is_string($baseReport) ? new $baseReport : $baseReport; $this->baseReport = is_string($baseReport) ? new $baseReport : $baseReport;
$this->dataClass = $this->baseReport->dataClass(); $this->dataClass = $this->baseReport->dataClass();
parent::__construct(); parent::__construct();
} }
function ID() { public function ID() {
return get_class($this->baseReport) . '_' . get_class($this); return get_class($this->baseReport) . '_' . get_class($this);
} }
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Filtering // Filtering
function parameterFields() { public function parameterFields() {
return $this->baseReport->parameterFields(); return $this->baseReport->parameterFields();
} }
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Columns // Columns
function columns() { public function columns() {
return $this->baseReport->columns(); return $this->baseReport->columns();
} }
@ -390,16 +390,16 @@ abstract class SS_ReportWrapper extends SS_Report {
/** /**
* Override this method to perform some actions prior to querying. * Override this method to perform some actions prior to querying.
*/ */
function beforeQuery($params) { public function beforeQuery($params) {
} }
/** /**
* Override this method to perform some actions after querying. * Override this method to perform some actions after querying.
*/ */
function afterQuery() { public function afterQuery() {
} }
function sourceQuery($params) { public function sourceQuery($params) {
if($this->baseReport->hasMethod('sourceRecords')) { if($this->baseReport->hasMethod('sourceRecords')) {
// The default implementation will create a fake query from our sourceRecords() method // The default implementation will create a fake query from our sourceRecords() method
return parent::sourceQuery($params); return parent::sourceQuery($params);
@ -416,7 +416,7 @@ abstract class SS_ReportWrapper extends SS_Report {
} }
function sourceRecords($params = array(), $sort = null, $limit = null) { public function sourceRecords($params = array(), $sort = null, $limit = null) {
$this->beforeQuery($params); $this->beforeQuery($params);
$records = $this->baseReport->sourceRecords($params, $sort, $limit); $records = $this->baseReport->sourceRecords($params, $sort, $limit);
$this->afterQuery(); $this->afterQuery();
@ -427,23 +427,23 @@ abstract class SS_ReportWrapper extends SS_Report {
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Pass-through // Pass-through
function title() { public function title() {
return $this->baseReport->title(); return $this->baseReport->title();
} }
function group() { public function group() {
return $this->baseReport->hasMethod('group') ? $this->baseReport->group() : 'Group'; return $this->baseReport->hasMethod('group') ? $this->baseReport->group() : 'Group';
} }
function sort() { public function sort() {
return $this->baseReport->hasMethod('sort') ? $this->baseReport->sort() : 0; return $this->baseReport->hasMethod('sort') ? $this->baseReport->sort() : 0;
} }
function description() { public function description() {
return $this->baseReport->description(); return $this->baseReport->description();
} }
function canView($member = null) { public function canView($member = null) {
return $this->baseReport->canView($member); return $this->baseReport->canView($member);
} }

View File

@ -14,25 +14,25 @@ class SideReportView extends ViewableData {
protected $controller, $report; protected $controller, $report;
protected $parameters; protected $parameters;
function __construct($controller, $report) { public function __construct($controller, $report) {
$this->controller = $controller; $this->controller = $controller;
$this->report = $report; $this->report = $report;
parent::__construct(); parent::__construct();
} }
function group() { public function group() {
return _t('SideReport.OtherGroupTitle', "Other"); return _t('SideReport.OtherGroupTitle', "Other");
} }
function sort() { public function sort() {
return 0; return 0;
} }
function setParameters($parameters) { public function setParameters($parameters) {
$this->parameters = $parameters; $this->parameters = $parameters;
} }
function forTemplate() { public function forTemplate() {
$records = $this->report->records($this->parameters); $records = $this->report->records($this->parameters);
$columns = $this->report->columns(); $columns = $this->report->columns();
@ -111,7 +111,7 @@ class SideReportView extends ViewableData {
* @subpackage content * @subpackage content
*/ */
class SideReportWrapper extends SS_ReportWrapper { class SideReportWrapper extends SS_ReportWrapper {
function columns() { public function columns() {
if($this->baseReport->hasMethod('sideReportColumns')) { if($this->baseReport->hasMethod('sideReportColumns')) {
return $this->baseReport->sideReportColumns(); return $this->baseReport->sideReportColumns();
} else { } else {
@ -129,20 +129,20 @@ class SideReportWrapper extends SS_ReportWrapper {
* @subpackage content * @subpackage content
*/ */
class SideReport_EmptyPages extends SS_Report { class SideReport_EmptyPages extends SS_Report {
function title() { public function title() {
return _t('SideReport.EMPTYPAGES',"Pages with no content"); return _t('SideReport.EMPTYPAGES',"Pages with no content");
} }
function group() { public function group() {
return _t('SideReport.ContentGroupTitle', "Content reports"); return _t('SideReport.ContentGroupTitle', "Content reports");
} }
function sort() { public function sort() {
return 100; return 100;
} }
function sourceRecords($params = null) { public function sourceRecords($params = null) {
return DataObject::get("SiteTree", "\"ClassName\" != 'RedirectorPage' AND (\"Content\" = '' OR \"Content\" IS NULL OR \"Content\" LIKE '<p></p>' OR \"Content\" LIKE '<p>&nbsp;</p>')", '"Title"'); return DataObject::get("SiteTree", "\"ClassName\" != 'RedirectorPage' AND (\"Content\" = '' OR \"Content\" IS NULL OR \"Content\" LIKE '<p></p>' OR \"Content\" LIKE '<p>&nbsp;</p>')", '"Title"');
} }
function columns() { public function columns() {
return array( return array(
"Title" => array( "Title" => array(
"title" => "Title", // todo: use NestedTitle(2) "title" => "Title", // todo: use NestedTitle(2)
@ -159,20 +159,20 @@ class SideReport_EmptyPages extends SS_Report {
* @subpackage content * @subpackage content
*/ */
class SideReport_RecentlyEdited extends SS_Report { class SideReport_RecentlyEdited extends SS_Report {
function title() { public function title() {
return _t('SideReport.LAST2WEEKS',"Pages edited in the last 2 weeks"); return _t('SideReport.LAST2WEEKS',"Pages edited in the last 2 weeks");
} }
function group() { public function group() {
return _t('SideReport.ContentGroupTitle', "Content reports"); return _t('SideReport.ContentGroupTitle', "Content reports");
} }
function sort() { public function sort() {
return 200; return 200;
} }
function sourceRecords($params = null) { public function sourceRecords($params = null) {
$threshold = strtotime('-14 days', SS_Datetime::now()->Format('U')); $threshold = strtotime('-14 days', SS_Datetime::now()->Format('U'));
return DataObject::get("SiteTree", "\"SiteTree\".\"LastEdited\" > '".date("Y-m-d H:i:s", $threshold)."'", "\"SiteTree\".\"LastEdited\" DESC"); return DataObject::get("SiteTree", "\"SiteTree\".\"LastEdited\" > '".date("Y-m-d H:i:s", $threshold)."'", "\"SiteTree\".\"LastEdited\" DESC");
} }
function columns() { public function columns() {
return array( return array(
"Title" => array( "Title" => array(
"title" => "Title", // todo: use NestedTitle(2) "title" => "Title", // todo: use NestedTitle(2)
@ -189,13 +189,13 @@ class SideReport_RecentlyEdited extends SS_Report {
* @subpackage content * @subpackage content
*/ */
class SideReport_BrokenLinks extends SS_Report { class SideReport_BrokenLinks extends SS_Report {
function title() { public function title() {
return _t('SideReport.BROKENLINKS',"Pages with broken links"); return _t('SideReport.BROKENLINKS',"Pages with broken links");
} }
function group() { public function group() {
return _t('SideReport.BrokenLinksGroupTitle', "Broken links reports"); return _t('SideReport.BrokenLinksGroupTitle', "Broken links reports");
} }
function sourceRecords($params = null) { public function sourceRecords($params = null) {
// Get class names for page types that are not virtual pages or redirector pages // Get class names for page types that are not virtual pages or redirector pages
$classes = array_diff(ClassInfo::subclassesFor('SiteTree'), ClassInfo::subclassesFor('VirtualPage'), ClassInfo::subclassesFor('RedirectorPage')); $classes = array_diff(ClassInfo::subclassesFor('SiteTree'), ClassInfo::subclassesFor('VirtualPage'), ClassInfo::subclassesFor('RedirectorPage'));
$classNames = "'".join("','", $classes)."'"; $classNames = "'".join("','", $classes)."'";
@ -204,7 +204,7 @@ class SideReport_BrokenLinks extends SS_Report {
else $ret = DataObject::get('SiteTree', "ClassName IN ($classNames) AND HasBrokenLink = 1"); else $ret = DataObject::get('SiteTree', "ClassName IN ($classNames) AND HasBrokenLink = 1");
return $ret; return $ret;
} }
function columns() { public function columns() {
return array( return array(
"Title" => array( "Title" => array(
"title" => _t('ReportAdmin.ReportTitle', 'Title'), // todo: use NestedTitle(2) "title" => _t('ReportAdmin.ReportTitle', 'Title'), // todo: use NestedTitle(2)
@ -212,7 +212,7 @@ class SideReport_BrokenLinks extends SS_Report {
), ),
); );
} }
function getParameterFields() { public function getParameterFields() {
return new FieldList( return new FieldList(
new CheckboxField('OnLive', _t('SideReport.ParameterLiveCheckbox', 'Check live site')) new CheckboxField('OnLive', _t('SideReport.ParameterLiveCheckbox', 'Check live site'))
); );
@ -227,13 +227,13 @@ class SideReport_BrokenLinks extends SS_Report {
* @subpackage content * @subpackage content
*/ */
class SideReport_BrokenFiles extends SS_Report { class SideReport_BrokenFiles extends SS_Report {
function title() { public function title() {
return _t('SideReport.BROKENFILES',"Pages with broken files"); return _t('SideReport.BROKENFILES',"Pages with broken files");
} }
function group() { public function group() {
return _t('SideReport.BrokenLinksGroupTitle', "Broken links reports"); return _t('SideReport.BrokenLinksGroupTitle', "Broken links reports");
} }
function sourceRecords($params = null) { public function sourceRecords($params = null) {
// Get class names for page types that are not virtual pages or redirector pages // Get class names for page types that are not virtual pages or redirector pages
$classes = array_diff(ClassInfo::subclassesFor('SiteTree'), ClassInfo::subclassesFor('VirtualPage'), ClassInfo::subclassesFor('RedirectorPage')); $classes = array_diff(ClassInfo::subclassesFor('SiteTree'), ClassInfo::subclassesFor('VirtualPage'), ClassInfo::subclassesFor('RedirectorPage'));
$classNames = "'".join("','", $classes)."'"; $classNames = "'".join("','", $classes)."'";
@ -242,7 +242,7 @@ class SideReport_BrokenFiles extends SS_Report {
else $ret = DataObject::get('SiteTree', "ClassName IN ($classNames) AND HasBrokenFile = 1"); else $ret = DataObject::get('SiteTree', "ClassName IN ($classNames) AND HasBrokenFile = 1");
return $ret; return $ret;
} }
function columns() { public function columns() {
return array( return array(
"Title" => array( "Title" => array(
"title" => "Title", // todo: use NestedTitle(2) "title" => "Title", // todo: use NestedTitle(2)
@ -251,7 +251,7 @@ class SideReport_BrokenFiles extends SS_Report {
); );
} }
function getParameterFields() { public function getParameterFields() {
return new FieldList( return new FieldList(
new CheckboxField('OnLive', _t('SideReport.ParameterLiveCheckbox', 'Check live site')) new CheckboxField('OnLive', _t('SideReport.ParameterLiveCheckbox', 'Check live site'))
); );
@ -263,20 +263,20 @@ class SideReport_BrokenFiles extends SS_Report {
* @subpackage content * @subpackage content
*/ */
class SideReport_BrokenVirtualPages extends SS_Report { class SideReport_BrokenVirtualPages extends SS_Report {
function title() { public function title() {
return _t('SideReport.BROKENVIRTUALPAGES', 'VirtualPages pointing to deleted pages'); return _t('SideReport.BROKENVIRTUALPAGES', 'VirtualPages pointing to deleted pages');
} }
function group() { public function group() {
return _t('SideReport.BrokenLinksGroupTitle', "Broken links reports"); return _t('SideReport.BrokenLinksGroupTitle', "Broken links reports");
} }
function sourceRecords($params = null) { public function sourceRecords($params = null) {
$classNames = "'".join("','", ClassInfo::subclassesFor('VirtualPage'))."'"; $classNames = "'".join("','", ClassInfo::subclassesFor('VirtualPage'))."'";
if (isset($_REQUEST['OnLive'])) $ret = Versioned::get_by_stage('SiteTree', 'Live', "ClassName IN ($classNames) AND HasBrokenLink = 1"); if (isset($_REQUEST['OnLive'])) $ret = Versioned::get_by_stage('SiteTree', 'Live', "ClassName IN ($classNames) AND HasBrokenLink = 1");
else $ret = DataObject::get('SiteTree', "ClassName IN ($classNames) AND HasBrokenLink = 1"); else $ret = DataObject::get('SiteTree', "ClassName IN ($classNames) AND HasBrokenLink = 1");
return $ret; return $ret;
} }
function columns() { public function columns() {
return array( return array(
"Title" => array( "Title" => array(
"title" => "Title", // todo: use NestedTitle(2) "title" => "Title", // todo: use NestedTitle(2)
@ -285,7 +285,7 @@ class SideReport_BrokenVirtualPages extends SS_Report {
); );
} }
function getParameterFields() { public function getParameterFields() {
return new FieldList( return new FieldList(
new CheckboxField('OnLive', _t('SideReport.ParameterLiveCheckbox', 'Check live site')) new CheckboxField('OnLive', _t('SideReport.ParameterLiveCheckbox', 'Check live site'))
); );
@ -297,13 +297,13 @@ class SideReport_BrokenVirtualPages extends SS_Report {
* @subpackage content * @subpackage content
*/ */
class SideReport_BrokenRedirectorPages extends SS_Report { class SideReport_BrokenRedirectorPages extends SS_Report {
function title() { public function title() {
return _t('SideReport.BROKENREDIRECTORPAGES', 'RedirectorPages pointing to deleted pages'); return _t('SideReport.BROKENREDIRECTORPAGES', 'RedirectorPages pointing to deleted pages');
} }
function group() { public function group() {
return _t('SideReport.BrokenLinksGroupTitle', "Broken links reports"); return _t('SideReport.BrokenLinksGroupTitle', "Broken links reports");
} }
function sourceRecords($params = null) { public function sourceRecords($params = null) {
$classNames = "'".join("','", ClassInfo::subclassesFor('RedirectorPage'))."'"; $classNames = "'".join("','", ClassInfo::subclassesFor('RedirectorPage'))."'";
if (isset($_REQUEST['OnLive'])) $ret = Versioned::get_by_stage('SiteTree', 'Live', "ClassName IN ($classNames) AND HasBrokenLink = 1"); if (isset($_REQUEST['OnLive'])) $ret = Versioned::get_by_stage('SiteTree', 'Live', "ClassName IN ($classNames) AND HasBrokenLink = 1");
@ -311,7 +311,7 @@ class SideReport_BrokenRedirectorPages extends SS_Report {
return $ret; return $ret;
} }
function columns() { public function columns() {
return array( return array(
"Title" => array( "Title" => array(
"title" => "Title", // todo: use NestedTitle(2) "title" => "Title", // todo: use NestedTitle(2)
@ -320,7 +320,7 @@ class SideReport_BrokenRedirectorPages extends SS_Report {
); );
} }
function getParameterFields() { public function getParameterFields() {
return new FieldList( return new FieldList(
new CheckboxField('OnLive', _t('SideReport.ParameterLiveCheckbox', 'Check live site')) new CheckboxField('OnLive', _t('SideReport.ParameterLiveCheckbox', 'Check live site'))
); );

View File

@ -14,7 +14,7 @@ class ContentControllerSearchExtension extends Extension {
/** /**
* Site search form * Site search form
*/ */
function SearchForm() { public function SearchForm() {
$searchText = _t('SearchForm.SEARCH', 'Search'); $searchText = _t('SearchForm.SEARCH', 'Search');
if($this->owner->request && $this->owner->request->getVar('Search')) { if($this->owner->request && $this->owner->request->getVar('Search')) {
@ -39,7 +39,7 @@ class ContentControllerSearchExtension extends Extension {
* @param SearchForm $form The form instance that was submitted * @param SearchForm $form The form instance that was submitted
* @param SS_HTTPRequest $request Request generated for this action * @param SS_HTTPRequest $request Request generated for this action
*/ */
function results($data, $form, $request) { public function results($data, $form, $request) {
$data = array( $data = array(
'Results' => $form->getResults(), 'Results' => $form->getResults(),
'Query' => $form->getSearchQuery(), 'Query' => $form->getSearchQuery(),

View File

@ -35,7 +35,7 @@ class SearchForm extends Form {
* if fields are added to the form. * if fields are added to the form.
* @param FieldList $actions Optional, defaults to a single field named "Go". * @param FieldList $actions Optional, defaults to a single field named "Go".
*/ */
function __construct($controller, $name, $fields = null, $actions = null) { public function __construct($controller, $name, $fields = null, $actions = null) {
if(!$fields) { if(!$fields) {
$fields = new FieldList( $fields = new FieldList(
new TextField('Search', _t('SearchForm.SEARCH', 'Search') new TextField('Search', _t('SearchForm.SEARCH', 'Search')
@ -70,7 +70,7 @@ class SearchForm extends Form {
* Set the classes to search. * Set the classes to search.
* Currently you can only choose from "SiteTree" and "File", but a future version might improve this. * Currently you can only choose from "SiteTree" and "File", but a future version might improve this.
*/ */
function classesToSearch($classes) { public function classesToSearch($classes) {
$illegalClasses = array_diff($classes, array('SiteTree', 'File')); $illegalClasses = array_diff($classes, array('SiteTree', 'File'));
if($illegalClasses) { if($illegalClasses) {
user_error("SearchForm::classesToSearch() passed illegal classes '" . implode("', '", $illegalClasses) . "'. At this stage, only File and SiteTree are allowed", E_USER_WARNING); user_error("SearchForm::classesToSearch() passed illegal classes '" . implode("', '", $illegalClasses) . "'. At this stage, only File and SiteTree are allowed", E_USER_WARNING);
@ -84,7 +84,7 @@ class SearchForm extends Form {
* *
* @return array * @return array
*/ */
function getClassesToSearch() { public function getClassesToSearch() {
return $this->classesToSearch; return $this->classesToSearch;
} }

View File

@ -44,7 +44,7 @@ class FilesystemPublisher extends StaticPublisher {
* Set a different base URL for the static copy of the site. * Set a different base URL for the static copy of the site.
* This can be useful if you are running the CMS on a different domain from the website. * This can be useful if you are running the CMS on a different domain from the website.
*/ */
static function set_static_base_url($url) { static public function set_static_base_url($url) {
self::$static_base_url = $url; self::$static_base_url = $url;
} }
@ -56,7 +56,7 @@ class FilesystemPublisher extends StaticPublisher {
* with the filename 'index.html'. If you set the extension to PHP, then a simple PHP script will * with the filename 'index.html'. If you set the extension to PHP, then a simple PHP script will
* be generated that can do appropriate cache & redirect header negotation. * be generated that can do appropriate cache & redirect header negotation.
*/ */
function __construct($destFolder = 'cache', $fileExtension = null) { public function __construct($destFolder = 'cache', $fileExtension = null) {
// Remove trailing slash from folder // Remove trailing slash from folder
if(substr($destFolder, -1) == '/') $destFolder = substr($destFolder, 0, -1); if(substr($destFolder, -1) == '/') $destFolder = substr($destFolder, 0, -1);
@ -90,7 +90,7 @@ class FilesystemPublisher extends StaticPublisher {
* @param Array $urls Absolute or relative URLs * @param Array $urls Absolute or relative URLs
* @return Array Map of original URLs to filesystem paths (relative to {@link $destFolder}). * @return Array Map of original URLs to filesystem paths (relative to {@link $destFolder}).
*/ */
function urlsToPaths($urls) { public function urlsToPaths($urls) {
$mappedUrls = array(); $mappedUrls = array();
foreach($urls as $url) { foreach($urls as $url) {
@ -123,7 +123,7 @@ class FilesystemPublisher extends StaticPublisher {
return $mappedUrls; return $mappedUrls;
} }
function unpublishPages($urls) { public function unpublishPages($urls) {
// Do we need to map these? // Do we need to map these?
// Detect a numerically indexed arrays // Detect a numerically indexed arrays
if (is_numeric(join('', array_keys($urls)))) $urls = $this->urlsToPaths($urls); if (is_numeric(join('', array_keys($urls)))) $urls = $this->urlsToPaths($urls);
@ -142,7 +142,7 @@ class FilesystemPublisher extends StaticPublisher {
} }
} }
function publishPages($urls) { public function publishPages($urls) {
// Do we need to map these? // Do we need to map these?
// Detect a numerically indexed arrays // Detect a numerically indexed arrays
if (is_numeric(join('', array_keys($urls)))) $urls = $this->urlsToPaths($urls); if (is_numeric(join('', array_keys($urls)))) $urls = $this->urlsToPaths($urls);

View File

@ -24,7 +24,7 @@ class RsyncMultiHostPublisher extends FilesystemPublisher {
* *
* @param $targets An array of targets to publish to. These can either be local file names, or scp-style targets, in the form "user@server:path" * @param $targets An array of targets to publish to. These can either be local file names, or scp-style targets, in the form "user@server:path"
*/ */
static function set_targets($targets) { static public function set_targets($targets) {
self::$targets = $targets; self::$targets = $targets;
} }
@ -32,11 +32,11 @@ class RsyncMultiHostPublisher extends FilesystemPublisher {
* Specify folders to exclude from the rsync * Specify folders to exclude from the rsync
* For example, you could exclude assets. * For example, you could exclude assets.
*/ */
static function set_excluded_folders($folders) { static public function set_excluded_folders($folders) {
self::$excluded_folders = $folders; self::$excluded_folders = $folders;
} }
function publishPages($urls) { public function publishPages($urls) {
parent::publishPages($urls); parent::publishPages($urls);
$base = Director::baseFolder(); $base = Director::baseFolder();
$framework = FRAMEWORK_DIR; $framework = FRAMEWORK_DIR;

View File

@ -24,18 +24,18 @@ abstract class StaticPublisher extends DataExtension {
*/ */
static $static_publisher_theme=false; static $static_publisher_theme=false;
abstract function publishPages($pages); abstract public function publishPages($pages);
abstract function unpublishPages($pages); abstract public function unpublishPages($pages);
static function set_static_publisher_theme($theme){ static public function set_static_publisher_theme($theme){
self::$static_publisher_theme=$theme; self::$static_publisher_theme=$theme;
} }
static function static_publisher_theme(){ static public function static_publisher_theme(){
return self::$static_publisher_theme; return self::$static_publisher_theme;
} }
static function echo_progress() { static public function echo_progress() {
return (boolean)self::$echo_progress; return (boolean)self::$echo_progress;
} }
@ -43,14 +43,14 @@ abstract class StaticPublisher extends DataExtension {
* Either turns on (boolean true) or off (boolean false) the progress indicators. * Either turns on (boolean true) or off (boolean false) the progress indicators.
* @see StaticPublisher::$echo_progress * @see StaticPublisher::$echo_progress
*/ */
static function set_echo_progress($progress) { static public function set_echo_progress($progress) {
self::$echo_progress = (boolean)$progress; self::$echo_progress = (boolean)$progress;
} }
/** /**
* Called after a page is published. * Called after a page is published.
*/ */
function onAfterPublish($original) { public function onAfterPublish($original) {
$this->republish($original); $this->republish($original);
} }
@ -60,11 +60,11 @@ abstract class StaticPublisher extends DataExtension {
* *
* Only called if the published content exists and has been modified. * Only called if the published content exists and has been modified.
*/ */
function onRenameLinkedAsset($original) { public function onRenameLinkedAsset($original) {
$this->republish($original); $this->republish($original);
} }
function republish($original) { public function republish($original) {
if (self::$disable_realtime) return; if (self::$disable_realtime) return;
$urls = array(); $urls = array();
@ -102,7 +102,7 @@ abstract class StaticPublisher extends DataExtension {
* On after unpublish, get changes and hook into underlying * On after unpublish, get changes and hook into underlying
* functionality * functionality
*/ */
function onAfterUnpublish($page) { public function onAfterUnpublish($page) {
if (self::$disable_realtime) return; if (self::$disable_realtime) return;
// Get the affected URLs // Get the affected URLs
@ -125,7 +125,7 @@ abstract class StaticPublisher extends DataExtension {
/** /**
* Get all external references to CSS, JS, * Get all external references to CSS, JS,
*/ */
function externalReferencesFor($content) { public function externalReferencesFor($content) {
$CLI_content = escapeshellarg($content); $CLI_content = escapeshellarg($content);
$tidy = `echo $CLI_content | tidy -numeric -asxhtml`; $tidy = `echo $CLI_content | tidy -numeric -asxhtml`;
$tidy = preg_replace('/xmlns="[^"]+"/','', $tidy); $tidy = preg_replace('/xmlns="[^"]+"/','', $tidy);

View File

@ -1,4 +1,4 @@
function windowName(suffix) { public function windowName(suffix) {
var base = document.getElementsByTagName('base')[0].href.replace('http://','').replace(/\//g,'_').replace(/\./g,'_'); var base = document.getElementsByTagName('base')[0].href.replace('http://','').replace(/\//g,'_').replace(/\./g,'_');
return base + suffix; return base + suffix;
} }

View File

@ -12,7 +12,7 @@ class FilesystemSyncTask extends BuildTask {
should be called whenever files are added to the assets/ folder from outside should be called whenever files are added to the assets/ folder from outside
SilverStripe, for example, if an author uploads files via FTP."; SilverStripe, for example, if an author uploads files via FTP.";
function run($request) { public function run($request) {
if(isset($_GET['folderID'])) { if(isset($_GET['folderID'])) {
$folderID = $_GET['folderID']; $folderID = $_GET['folderID'];
} else { } else {

View File

@ -11,7 +11,7 @@ class RebuildStaticCacheTask extends Controller {
'index', 'index',
); );
function init() { public function init() {
parent::init(); parent::init();
Versioned::reading_stage('live'); Versioned::reading_stage('live');
@ -20,7 +20,7 @@ class RebuildStaticCacheTask extends Controller {
if(!$canAccess) return Security::permissionFailure($this); if(!$canAccess) return Security::permissionFailure($this);
} }
function index() { public function index() {
StaticPublisher::set_echo_progress(true); StaticPublisher::set_echo_progress(true);
$page = singleton('Page'); $page = singleton('Page');
@ -44,7 +44,7 @@ class RebuildStaticCacheTask extends Controller {
* @param array $urls The URLs of pages to re-fetch and cache. * @param array $urls The URLs of pages to re-fetch and cache.
* @param bool $removeAll Remove all stale cache files (default TRUE). * @param bool $removeAll Remove all stale cache files (default TRUE).
*/ */
function rebuildCache($urls, $removeAll = true) { public function rebuildCache($urls, $removeAll = true) {
if(!is_array($urls)) { if(!is_array($urls)) {
// $urls must be an array // $urls must be an array
@ -117,7 +117,7 @@ class RebuildStaticCacheTask extends Controller {
echo "\n\n== Done! =="; echo "\n\n== Done! ==";
} }
function show() { public function show() {
$urls = singleton('Page')->allPagesToCache(); $urls = singleton('Page')->allPagesToCache();
echo "<pre>\n"; echo "<pre>\n";
print_r($urls); print_r($urls);

View File

@ -48,11 +48,11 @@ in the other stage:<br />
protected $orphanedSearchClass = 'SiteTree'; protected $orphanedSearchClass = 'SiteTree';
function Link() { public function Link() {
return $this->class; return $this->class;
} }
function init() { public function init() {
parent::init(); parent::init();
if(!Permission::check('ADMIN')) { if(!Permission::check('ADMIN')) {
@ -60,7 +60,7 @@ in the other stage:<br />
} }
} }
function index() { public function index() {
Requirements::javascript(FRAMEWORK_DIR . '/thirdparty/jquery/jquery.js'); Requirements::javascript(FRAMEWORK_DIR . '/thirdparty/jquery/jquery.js');
Requirements::customCSS('#OrphanIDs .middleColumn {width: auto;}'); Requirements::customCSS('#OrphanIDs .middleColumn {width: auto;}');
Requirements::customCSS('#OrphanIDs label {display: inline;}'); Requirements::customCSS('#OrphanIDs label {display: inline;}');
@ -68,7 +68,7 @@ in the other stage:<br />
return $this->renderWith('BlankPage'); return $this->renderWith('BlankPage');
} }
function Form() { public function Form() {
$fields = new FieldList(); $fields = new FieldList();
$source = array(); $source = array();
@ -179,11 +179,11 @@ in the other stage:<br />
return $form; return $form;
} }
function run($request) { public function run($request) {
// @todo Merge with BuildTask functionality // @todo Merge with BuildTask functionality
} }
function doSubmit($data, $form) { public function doSubmit($data, $form) {
set_time_limit(60*10); // 10 minutes set_time_limit(60*10); // 10 minutes
if(!isset($data['OrphanIDs']) || !isset($data['OrphanOperation'])) return false; if(!isset($data['OrphanIDs']) || !isset($data['OrphanOperation'])) return false;
@ -321,7 +321,7 @@ in the other stage:<br />
* @param int|array $limit * @param int|array $limit
* @return SS_List * @return SS_List
*/ */
function getOrphanedPages($class = 'SiteTree', $filter = '', $sort = null, $join = null, $limit = null) { public function getOrphanedPages($class = 'SiteTree', $filter = '', $sort = null, $join = null, $limit = null) {
$filter .= ($filter) ? ' AND ' : ''; $filter .= ($filter) ? ' AND ' : '';
$filter .= sprintf("\"%s\".\"ParentID\" != 0 AND \"Parents\".\"ID\" IS NULL", $class); $filter .= sprintf("\"%s\".\"ParentID\" != 0 AND \"Parents\".\"ID\" IS NULL", $class);

View File

@ -8,7 +8,7 @@ class SiteTreeMaintenanceTask extends Controller {
'*' => 'ADMIN' '*' => 'ADMIN'
); );
function makelinksunique() { public function makelinksunique() {
$badURLs = "'" . implode("', '", DB::query("SELECT URLSegment, count(*) FROM SiteTree GROUP BY URLSegment HAVING count(*) > 1")->column()) . "'"; $badURLs = "'" . implode("', '", DB::query("SELECT URLSegment, count(*) FROM SiteTree GROUP BY URLSegment HAVING count(*) > 1")->column()) . "'";
$pages = DataObject::get("SiteTree", "\"URLSegment\" IN ($badURLs)"); $pages = DataObject::get("SiteTree", "\"URLSegment\" IN ($badURLs)");

View File

@ -18,7 +18,7 @@ class UpgradeSiteTreePermissionSchemaTask extends BuildTask {
See http://open.silverstripe.com/ticket/2847 See http://open.silverstripe.com/ticket/2847
"; ";
function run($request) { public function run($request) {
// transfer values for changed column name // transfer values for changed column name
foreach(array('SiteTree','SiteTree_Live','SiteTree_versions') as $table) { foreach(array('SiteTree','SiteTree_Live','SiteTree_versions') as $table) {
DB::query("UPDATE \"{$table}\" SET \"CanViewType\" = 'Viewers';"); DB::query("UPDATE \"{$table}\" SET \"CanViewType\" = 'Viewers';");

View File

@ -11,7 +11,7 @@ class CMSMainTest extends FunctionalTest {
static protected $orig = array(); static protected $orig = array();
static function set_up_once() { static public function set_up_once() {
self::$orig['CMSBatchActionHandler_batch_actions'] = CMSBatchActionHandler::$batch_actions; self::$orig['CMSBatchActionHandler_batch_actions'] = CMSBatchActionHandler::$batch_actions;
CMSBatchActionHandler::$batch_actions = array( CMSBatchActionHandler::$batch_actions = array(
'publish' => 'CMSBatchAction_Publish', 'publish' => 'CMSBatchAction_Publish',
@ -22,7 +22,7 @@ class CMSMainTest extends FunctionalTest {
parent::set_up_once(); parent::set_up_once();
} }
static function tear_down_once() { static public function tear_down_once() {
CMSBatchActionHandler::$batch_actions = self::$orig['CMSBatchActionHandler_batch_actions']; CMSBatchActionHandler::$batch_actions = self::$orig['CMSBatchActionHandler_batch_actions'];
parent::tear_down_once(); parent::tear_down_once();
@ -31,7 +31,7 @@ class CMSMainTest extends FunctionalTest {
/** /**
* @todo Test the results of a publication better * @todo Test the results of a publication better
*/ */
function testPublish() { public function testPublish() {
$page1 = $this->objFromFixture('Page', "page1"); $page1 = $this->objFromFixture('Page', "page1");
$page2 = $this->objFromFixture('Page', "page2"); $page2 = $this->objFromFixture('Page', "page2");
$this->session()->inst_set('loggedInAs', $this->idFromFixture('Member', 'admin')); $this->session()->inst_set('loggedInAs', $this->idFromFixture('Member', 'admin'));
@ -74,7 +74,7 @@ class CMSMainTest extends FunctionalTest {
/** /**
* Test publication of one of every page type * Test publication of one of every page type
*/ */
function testPublishOneOfEachKindOfPage() { public function testPublishOneOfEachKindOfPage() {
return; return;
$classes = ClassInfo::subclassesFor("SiteTree"); $classes = ClassInfo::subclassesFor("SiteTree");
array_shift($classes); array_shift($classes);
@ -100,7 +100,7 @@ class CMSMainTest extends FunctionalTest {
* Test that getCMSFields works on each page type. * Test that getCMSFields works on each page type.
* Mostly, this is just checking that the method doesn't return an error * Mostly, this is just checking that the method doesn't return an error
*/ */
function testThatGetCMSFieldsWorksOnEveryPageType() { public function testThatGetCMSFieldsWorksOnEveryPageType() {
$classes = ClassInfo::subclassesFor("SiteTree"); $classes = ClassInfo::subclassesFor("SiteTree");
array_shift($classes); array_shift($classes);
@ -118,7 +118,7 @@ class CMSMainTest extends FunctionalTest {
} }
} }
function testCanPublishPageWithUnpublishedParentWithStrictHierarchyOff() { public function testCanPublishPageWithUnpublishedParentWithStrictHierarchyOff() {
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');
SiteTree::set_enforce_strict_hierarchy(true); SiteTree::set_enforce_strict_hierarchy(true);
@ -139,7 +139,7 @@ class CMSMainTest extends FunctionalTest {
/** /**
* Test that a draft-deleted page can still be opened in the CMS * Test that a draft-deleted page can still be opened in the CMS
*/ */
function testDraftDeletedPageCanBeOpenedInCMS() { public function testDraftDeletedPageCanBeOpenedInCMS() {
$this->session()->inst_set('loggedInAs', $this->idFromFixture('Member', 'admin')); $this->session()->inst_set('loggedInAs', $this->idFromFixture('Member', 'admin'));
// Set up a page that is delete from live // Set up a page that is delete from live
@ -161,7 +161,7 @@ class CMSMainTest extends FunctionalTest {
/** /**
* Test CMSMain::getRecord() * Test CMSMain::getRecord()
*/ */
function testGetRecord() { public function testGetRecord() {
// Set up a page that is delete from live // Set up a page that is delete from live
$page1 = $this->objFromFixture('Page','page1'); $page1 = $this->objFromFixture('Page','page1');
$page1ID = $page1->ID; $page1ID = $page1->ID;
@ -185,14 +185,14 @@ class CMSMainTest extends FunctionalTest {
} }
function testDeletedPagesSiteTreeFilter() { public function testDeletedPagesSiteTreeFilter() {
$id = $this->idFromFixture('Page', 'page3'); $id = $this->idFromFixture('Page', 'page3');
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');
$result = $this->get('admin/pages/getsubtree?filter=CMSSiteTreeFilter_DeletedPages&ajax=1&ID=' . $id); $result = $this->get('admin/pages/getsubtree?filter=CMSSiteTreeFilter_DeletedPages&ajax=1&ID=' . $id);
$this->assertEquals(200, $result->getStatusCode()); $this->assertEquals(200, $result->getStatusCode());
} }
function testCreationOfTopLevelPage(){ public function testCreationOfTopLevelPage(){
$cmsUser = $this->objFromFixture('Member', 'allcmssectionsuser'); $cmsUser = $this->objFromFixture('Member', 'allcmssectionsuser');
$rootEditUser = $this->objFromFixture('Member', 'rootedituser'); $rootEditUser = $this->objFromFixture('Member', 'rootedituser');
@ -222,7 +222,7 @@ class CMSMainTest extends FunctionalTest {
$this->session()->inst_set('loggedInAs', NULL); $this->session()->inst_set('loggedInAs', NULL);
} }
function testCreationOfRestrictedPage(){ public function testCreationOfRestrictedPage(){
$adminUser = $this->objFromFixture('Member', 'admin'); $adminUser = $this->objFromFixture('Member', 'admin');
$adminUser->logIn(); $adminUser->logIn();
@ -260,7 +260,7 @@ class CMSMainTest extends FunctionalTest {
$this->session()->inst_set('loggedInAs', NULL); $this->session()->inst_set('loggedInAs', NULL);
} }
function testBreadcrumbs() { public function testBreadcrumbs() {
$page3 = $this->objFromFixture('Page', 'page3'); $page3 = $this->objFromFixture('Page', 'page3');
$page31 = $this->objFromFixture('Page', 'page31'); $page31 = $this->objFromFixture('Page', 'page31');
$adminuser = $this->objFromFixture('Member', 'admin'); $adminuser = $this->objFromFixture('Member', 'admin');

View File

@ -12,7 +12,7 @@ class CMSPageHistoryControllerTest extends FunctionalTest {
private $versionUnpublishedCheck, $versionPublishCheck, $versionUnpublishedCheck2; private $versionUnpublishedCheck, $versionPublishCheck, $versionUnpublishedCheck2;
private $page; private $page;
function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
$this->loginWithPermission('ADMIN'); $this->loginWithPermission('ADMIN');
@ -40,7 +40,7 @@ class CMSPageHistoryControllerTest extends FunctionalTest {
$this->versionPublishCheck2 = $this->page->Version; $this->versionPublishCheck2 = $this->page->Version;
} }
function testGetEditForm() { public function testGetEditForm() {
$controller = new CMSPageHistoryController(); $controller = new CMSPageHistoryController();
// should get the latest version which we cannot rollback to // should get the latest version which we cannot rollback to
@ -84,7 +84,7 @@ class CMSPageHistoryControllerTest extends FunctionalTest {
* @todo should be less tied to cms theme. * @todo should be less tied to cms theme.
* @todo check highlighting for comparing pages. * @todo check highlighting for comparing pages.
*/ */
function testVersionsForm() { public function testVersionsForm() {
$history = $this->get('admin/pages/history/show/'. $this->page->ID); $history = $this->get('admin/pages/history/show/'. $this->page->ID);
$form = $this->cssParser()->getBySelector("#Form_VersionsForm"); $form = $this->cssParser()->getBySelector("#Form_VersionsForm");
@ -101,7 +101,7 @@ class CMSPageHistoryControllerTest extends FunctionalTest {
$this->assertEquals(4, count($rows)); $this->assertEquals(4, count($rows));
} }
function testVersionsFormTableContainsInformation() { public function testVersionsFormTableContainsInformation() {
$history = $this->get('admin/pages/history/show/'. $this->page->ID); $history = $this->get('admin/pages/history/show/'. $this->page->ID);
$form = $this->cssParser()->getBySelector("#Form_VersionsForm"); $form = $this->cssParser()->getBySelector("#Form_VersionsForm");
$rows = $form[0]->xpath("fieldset/table/tbody/tr"); $rows = $form[0]->xpath("fieldset/table/tbody/tr");
@ -126,7 +126,7 @@ class CMSPageHistoryControllerTest extends FunctionalTest {
$this->assertThat((string) $rows[1]->attributes()->class, $this->logicalNot($this->stringContains('active'))); $this->assertThat((string) $rows[1]->attributes()->class, $this->logicalNot($this->stringContains('active')));
} }
function testVersionsFormSelectsUnpublishedCheckbox() { public function testVersionsFormSelectsUnpublishedCheckbox() {
$history = $this->get('admin/pages/history/show/'. $this->page->ID); $history = $this->get('admin/pages/history/show/'. $this->page->ID);
$checkbox = $this->cssParser()->getBySelector("#Form_VersionsForm #ShowUnpublished input"); $checkbox = $this->cssParser()->getBySelector("#Form_VersionsForm #ShowUnpublished input");

View File

@ -3,7 +3,7 @@ class CMSSiteTreeFilterTest extends SapphireTest {
static $fixture_file = 'CMSSiteTreeFilterTest.yml'; static $fixture_file = 'CMSSiteTreeFilterTest.yml';
function testSearchFilterEmpty() { public function testSearchFilterEmpty() {
$page1 = $this->objFromFixture('Page', 'page1'); $page1 = $this->objFromFixture('Page', 'page1');
$page2 = $this->objFromFixture('Page', 'page2'); $page2 = $this->objFromFixture('Page', 'page2');
@ -14,7 +14,7 @@ class CMSSiteTreeFilterTest extends SapphireTest {
$this->assertTrue($f->isPageIncluded($page2)); $this->assertTrue($f->isPageIncluded($page2));
} }
function testSearchFilterByTitle() { public function testSearchFilterByTitle() {
$page1 = $this->objFromFixture('Page', 'page1'); $page1 = $this->objFromFixture('Page', 'page1');
$page2 = $this->objFromFixture('Page', 'page2'); $page2 = $this->objFromFixture('Page', 'page2');
@ -30,7 +30,7 @@ class CMSSiteTreeFilterTest extends SapphireTest {
); );
} }
function testIncludesParentsForNestedMatches() { public function testIncludesParentsForNestedMatches() {
$parent = $this->objFromFixture('Page', 'page3'); $parent = $this->objFromFixture('Page', 'page3');
$child = $this->objFromFixture('Page', 'page3b'); $child = $this->objFromFixture('Page', 'page3b');
@ -46,7 +46,7 @@ class CMSSiteTreeFilterTest extends SapphireTest {
); );
} }
function testChangedPagesFilter() { public function testChangedPagesFilter() {
$unchangedPage = $this->objFromFixture('Page', 'page1'); $unchangedPage = $this->objFromFixture('Page', 'page1');
$unchangedPage->doPublish(); $unchangedPage->doPublish();
@ -68,7 +68,7 @@ class CMSSiteTreeFilterTest extends SapphireTest {
); );
} }
function testDeletedPagesFilter() { public function testDeletedPagesFilter() {
$deletedPage = $this->objFromFixture('Page', 'page2'); $deletedPage = $this->objFromFixture('Page', 'page2');
$deletedPage->publish('Stage', 'Live'); $deletedPage->publish('Stage', 'Live');
$deletedPageID = $deletedPage->ID; $deletedPageID = $deletedPage->ID;

View File

@ -1,7 +1,7 @@
<?php <?php
class ContentControllerSearchExtensionTest extends SapphireTest { class ContentControllerSearchExtensionTest extends SapphireTest {
function testCustomSearchFormClassesToTest() { public function testCustomSearchFormClassesToTest() {
FulltextSearchable::enable('File'); FulltextSearchable::enable('File');
$page = new Page(); $page = new Page();

View File

@ -19,7 +19,7 @@ class ModelAsControllerTest extends FunctionalTest {
* This setup will enable nested-urls for this test and resets the state * This setup will enable nested-urls for this test and resets the state
* after the tests have been performed. * after the tests have been performed.
*/ */
function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
$this->orig['nested_urls'] = SiteTree::nested_urls(); $this->orig['nested_urls'] = SiteTree::nested_urls();
@ -32,7 +32,7 @@ class ModelAsControllerTest extends FunctionalTest {
* This setup will enable nested-urls for this test and resets the state * This setup will enable nested-urls for this test and resets the state
* after the tests have been performed. * after the tests have been performed.
*/ */
function tearDown() { public function tearDown() {
if (isset($this->orig['nested_urls']) && !$this->orig['nested_urls']) { if (isset($this->orig['nested_urls']) && !$this->orig['nested_urls']) {
SiteTree::disable_nested_urls(); SiteTree::disable_nested_urls();
@ -131,7 +131,7 @@ class ModelAsControllerTest extends FunctionalTest {
$response->getHeader("Location")); $response->getHeader("Location"));
} }
function testDoesntRedirectToNestedChildrenOutsideOfOwnHierarchy() { public function testDoesntRedirectToNestedChildrenOutsideOfOwnHierarchy() {
$this->generateNestedPagesFixture(); $this->generateNestedPagesFixture();
$otherParent = new Page(array( $otherParent = new Page(array(
@ -156,7 +156,7 @@ class ModelAsControllerTest extends FunctionalTest {
* NOTE: This test requires nested_urls * NOTE: This test requires nested_urls
* *
*/ */
function testRedirectsNestedRenamedPagesWithGetParameters() { public function testRedirectsNestedRenamedPagesWithGetParameters() {
$this->generateNestedPagesFixture(); $this->generateNestedPagesFixture();
// check third level URLSegment // check third level URLSegment
@ -173,7 +173,7 @@ class ModelAsControllerTest extends FunctionalTest {
* NOTE: This test requires nested_urls * NOTE: This test requires nested_urls
* *
*/ */
function testDoesntRedirectToNestedRenamedPageWhenNewExists() { public function testDoesntRedirectToNestedRenamedPageWhenNewExists() {
$this->generateNestedPagesFixture(); $this->generateNestedPagesFixture();
$otherLevel1 = new Page(array( $otherLevel1 = new Page(array(
@ -202,7 +202,7 @@ class ModelAsControllerTest extends FunctionalTest {
* NOTE: This test requires nested_urls * NOTE: This test requires nested_urls
* *
*/ */
function testFindOldPage(){ public function testFindOldPage(){
$page = new Page(); $page = new Page();
$page->Title = 'First Level'; $page->Title = 'First Level';
$page->URLSegment = 'oldurl'; $page->URLSegment = 'oldurl';
@ -239,7 +239,7 @@ class ModelAsControllerTest extends FunctionalTest {
* *
* NOTE: This test requires nested_urls * NOTE: This test requires nested_urls
*/ */
function testChildOfDraft() { public function testChildOfDraft() {
RootURLController::reset(); RootURLController::reset();
SiteTree::enable_nested_urls(); SiteTree::enable_nested_urls();

View File

@ -8,7 +8,7 @@ class SilverStripeNavigatorTest extends SapphireTest {
static $fixture_file = 'cms/tests/controller/CMSMainTest.yml'; static $fixture_file = 'cms/tests/controller/CMSMainTest.yml';
function testGetItems() { public function testGetItems() {
$page = $this->objFromFixture('Page', 'page1'); $page = $this->objFromFixture('Page', 'page1');
$navigator = new SilverStripeNavigator($page); $navigator = new SilverStripeNavigator($page);
@ -23,7 +23,7 @@ class SilverStripeNavigatorTest extends SapphireTest {
); );
} }
function testCanView() { public function testCanView() {
$page = $this->objFromFixture('Page', 'page1'); $page = $this->objFromFixture('Page', 'page1');
$admin = $this->objFromFixture('Member', 'admin'); $admin = $this->objFromFixture('Member', 'admin');
$author = $this->objFromFixture('Member', 'assetsonlyuser'); $author = $this->objFromFixture('Member', 'assetsonlyuser');
@ -47,7 +47,7 @@ class SilverStripeNavigatorTest_TestItem extends SilverStripeNavigatorItem imple
} }
class SilverStripeNavigatorTest_ProtectedTestItem extends SilverStripeNavigatorItem implements TestOnly { class SilverStripeNavigatorTest_ProtectedTestItem extends SilverStripeNavigatorItem implements TestOnly {
function canView($member = null) { public function canView($member = null) {
if(!$member) $member = Member::currentUser(); if(!$member) $member = Member::currentUser();
return Permission::checkMember($member, 'ADMIN'); return Permission::checkMember($member, 'ADMIN');
} }

View File

@ -11,7 +11,7 @@ class ErrorPageTest extends FunctionalTest {
protected $tmpAssetsPath = ''; protected $tmpAssetsPath = '';
function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
$this->orig['ErrorPage_staticfilepath'] = ErrorPage::get_static_filepath(); $this->orig['ErrorPage_staticfilepath'] = ErrorPage::get_static_filepath();
@ -23,7 +23,7 @@ class ErrorPageTest extends FunctionalTest {
Director::set_environment_type('live'); Director::set_environment_type('live');
} }
function tearDown() { public function tearDown() {
parent::tearDown(); parent::tearDown();
ErrorPage::set_static_filepath($this->orig['ErrorPage_staticfilepath']); ErrorPage::set_static_filepath($this->orig['ErrorPage_staticfilepath']);
@ -33,7 +33,7 @@ class ErrorPageTest extends FunctionalTest {
Filesystem::removeFolder($this->tmpAssetsPath); Filesystem::removeFolder($this->tmpAssetsPath);
} }
function test404ErrorPage() { public function test404ErrorPage() {
$page = $this->objFromFixture('ErrorPage', '404'); $page = $this->objFromFixture('ErrorPage', '404');
// ensure that the errorpage exists as a physical file // ensure that the errorpage exists as a physical file
$page->publish('Stage', 'Live'); $page->publish('Stage', 'Live');
@ -50,7 +50,7 @@ class ErrorPageTest extends FunctionalTest {
$this->assertEquals($response->getStatusDescription(), 'Not Found', 'Status message of the HTTResponse for error page is "Not found"'); $this->assertEquals($response->getStatusDescription(), 'Not Found', 'Status message of the HTTResponse for error page is "Not found"');
} }
function testBehaviourOfShowInMenuAndShowInSearchFlags() { public function testBehaviourOfShowInMenuAndShowInSearchFlags() {
$page = $this->objFromFixture('ErrorPage', '404'); $page = $this->objFromFixture('ErrorPage', '404');
/* Don't show the error page in the menus */ /* Don't show the error page in the menus */

View File

@ -6,7 +6,7 @@
class FileLinkTrackingTest extends SapphireTest { class FileLinkTrackingTest extends SapphireTest {
static $fixture_file = "FileLinkTrackingTest.yml"; static $fixture_file = "FileLinkTrackingTest.yml";
function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');
@ -16,7 +16,7 @@ class FileLinkTrackingTest extends SapphireTest {
fclose($fh); fclose($fh);
} }
function tearDown() { public function tearDown() {
parent::tearDown(); parent::tearDown();
$testFiles = array( $testFiles = array(
'/testscript-test-file.pdf', '/testscript-test-file.pdf',
@ -28,7 +28,7 @@ class FileLinkTrackingTest extends SapphireTest {
} }
} }
function testFileRenameUpdatesDraftAndPublishedPages() { public function testFileRenameUpdatesDraftAndPublishedPages() {
$page = $this->objFromFixture('Page', 'page1'); $page = $this->objFromFixture('Page', 'page1');
$this->assertTrue($page->doPublish()); $this->assertTrue($page->doPublish());
$this->assertContains('<img src="assets/testscript-test-file.pdf"', $this->assertContains('<img src="assets/testscript-test-file.pdf"',
@ -44,7 +44,7 @@ class FileLinkTrackingTest extends SapphireTest {
DB::query("SELECT \"Content\" FROM \"SiteTree_Live\" WHERE \"ID\" = $page->ID")->value()); DB::query("SELECT \"Content\" FROM \"SiteTree_Live\" WHERE \"ID\" = $page->ID")->value());
} }
function testFileLinkRewritingOnVirtualPages() { public function testFileLinkRewritingOnVirtualPages() {
// Publish the source page // Publish the source page
$page = $this->objFromFixture('Page', 'page1'); $page = $this->objFromFixture('Page', 'page1');
$this->assertTrue($page->doPublish()); $this->assertTrue($page->doPublish());
@ -67,7 +67,7 @@ class FileLinkTrackingTest extends SapphireTest {
DB::query("SELECT \"Content\" FROM \"SiteTree_Live\" WHERE \"ID\" = $svp->ID")->value()); DB::query("SELECT \"Content\" FROM \"SiteTree_Live\" WHERE \"ID\" = $svp->ID")->value());
} }
function testLinkRewritingOnAPublishedPageDoesntMakeItEditedOnDraft() { public function testLinkRewritingOnAPublishedPageDoesntMakeItEditedOnDraft() {
// Publish the source page // Publish the source page
$page = $this->objFromFixture('Page', 'page1'); $page = $this->objFromFixture('Page', 'page1');
$this->assertTrue($page->doPublish()); $this->assertTrue($page->doPublish());
@ -86,7 +86,7 @@ class FileLinkTrackingTest extends SapphireTest {
$this->assertFalse($page->IsModifiedOnStage); $this->assertFalse($page->IsModifiedOnStage);
} }
function testTwoFileRenamesInARowWork() { public function testTwoFileRenamesInARowWork() {
$page = $this->objFromFixture('Page', 'page1'); $page = $this->objFromFixture('Page', 'page1');
$this->assertTrue($page->doPublish()); $this->assertTrue($page->doPublish());
$this->assertContains('<img src="assets/testscript-test-file.pdf"', $this->assertContains('<img src="assets/testscript-test-file.pdf"',

View File

@ -4,14 +4,14 @@ class RedirectorPageTest extends FunctionalTest {
static $fixture_file = 'RedirectorPageTest.yml'; static $fixture_file = 'RedirectorPageTest.yml';
static $use_draft_site = true; static $use_draft_site = true;
function testGoodRedirectors() { public function testGoodRedirectors() {
/* For good redirectors, the final destination URL will be returned */ /* For good redirectors, the final destination URL will be returned */
$this->assertEquals("http://www.google.com", $this->objFromFixture('RedirectorPage','goodexternal')->Link()); $this->assertEquals("http://www.google.com", $this->objFromFixture('RedirectorPage','goodexternal')->Link());
$this->assertEquals(Director::baseURL() . "redirection-dest/", $this->objFromFixture('RedirectorPage','goodinternal')->redirectionLink()); $this->assertEquals(Director::baseURL() . "redirection-dest/", $this->objFromFixture('RedirectorPage','goodinternal')->redirectionLink());
$this->assertEquals(Director::baseURL() . "redirection-dest/", $this->objFromFixture('RedirectorPage','goodinternal')->Link()); $this->assertEquals(Director::baseURL() . "redirection-dest/", $this->objFromFixture('RedirectorPage','goodinternal')->Link());
} }
function testEmptyRedirectors() { public function testEmptyRedirectors() {
/* If a redirector page is misconfigured, then its link method will just return the usual URLSegment-generated value */ /* If a redirector page is misconfigured, then its link method will just return the usual URLSegment-generated value */
$page1 = $this->objFromFixture('RedirectorPage','badexternal'); $page1 = $this->objFromFixture('RedirectorPage','badexternal');
$this->assertEquals(Director::baseURL() . 'bad-external/', $page1->Link()); $this->assertEquals(Director::baseURL() . 'bad-external/', $page1->Link());
@ -27,7 +27,7 @@ class RedirectorPageTest extends FunctionalTest {
$this->assertContains('message-setupWithoutRedirect', $content); $this->assertContains('message-setupWithoutRedirect', $content);
} }
function testReflexiveAndTransitiveInternalRedirectors() { public function testReflexiveAndTransitiveInternalRedirectors() {
/* Reflexive redirectors are those that point to themselves. They should behave the same as an empty redirector */ /* Reflexive redirectors are those that point to themselves. They should behave the same as an empty redirector */
$page = $this->objFromFixture('RedirectorPage','reflexive'); $page = $this->objFromFixture('RedirectorPage','reflexive');
$this->assertEquals(Director::baseURL() . 'reflexive/', $page->Link()); $this->assertEquals(Director::baseURL() . 'reflexive/', $page->Link());
@ -44,7 +44,7 @@ class RedirectorPageTest extends FunctionalTest {
$this->assertEquals(Director::baseURL() . "redirection-dest/", $response->getHeader("Location")); $this->assertEquals(Director::baseURL() . "redirection-dest/", $response->getHeader("Location"));
} }
function testExternalURLGetsPrefixIfNotSet() { public function testExternalURLGetsPrefixIfNotSet() {
$page = $this->objFromFixture('RedirectorPage', 'externalnoprefix'); $page = $this->objFromFixture('RedirectorPage', 'externalnoprefix');
$this->assertEquals($page->ExternalURL, 'http://google.com', 'onBeforeWrite has prefixed with http'); $this->assertEquals($page->ExternalURL, 'http://google.com', 'onBeforeWrite has prefixed with http');
$page->write(); $page->write();

View File

@ -12,7 +12,7 @@ class SiteConfigTest extends SapphireTest {
'SiteTree' => array('SiteTreeSubsites') 'SiteTree' => array('SiteTreeSubsites')
); );
function testAvailableThemes() { public function testAvailableThemes() {
$config = SiteConfig::current_site_config(); $config = SiteConfig::current_site_config();
$ds = DIRECTORY_SEPARATOR; $ds = DIRECTORY_SEPARATOR;
$testThemeBaseDir = TEMP_FOLDER . $ds . 'test-themes'; $testThemeBaseDir = TEMP_FOLDER . $ds . 'test-themes';

View File

@ -16,19 +16,19 @@ class SiteTreeActionsTest extends FunctionalTest {
static $fixture_file = 'SiteTreeActionsTest.yml'; static $fixture_file = 'SiteTreeActionsTest.yml';
static function set_up_once() { static public function set_up_once() {
SiteTreeTest::set_up_once(); SiteTreeTest::set_up_once();
parent::set_up_once(); parent::set_up_once();
} }
static function tear_down_once() { static public function tear_down_once() {
SiteTreeTest::tear_down_once(); SiteTreeTest::tear_down_once();
parent::tear_down_once(); parent::tear_down_once();
} }
function testActionsReadonly() { public function testActionsReadonly() {
if(class_exists('SiteTreeCMSWorkflow')) return true; if(class_exists('SiteTreeCMSWorkflow')) return true;
$readonlyEditor = $this->objFromFixture('Member', 'cmsreadonlyeditor'); $readonlyEditor = $this->objFromFixture('Member', 'cmsreadonlyeditor');
@ -50,7 +50,7 @@ class SiteTreeActionsTest extends FunctionalTest {
$this->assertNull($actions->dataFieldByName('action_revert')); $this->assertNull($actions->dataFieldByName('action_revert'));
} }
function testActionsNoDeletePublishedRecord() { public function testActionsNoDeletePublishedRecord() {
if(class_exists('SiteTreeCMSWorkflow')) return true; if(class_exists('SiteTreeCMSWorkflow')) return true;
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');
@ -79,7 +79,7 @@ class SiteTreeActionsTest extends FunctionalTest {
$this->assertNotNull($actions->dataFieldByName('action_deletefromlive')); $this->assertNotNull($actions->dataFieldByName('action_deletefromlive'));
} }
function testActionsPublishedRecord() { public function testActionsPublishedRecord() {
if(class_exists('SiteTreeCMSWorkflow')) return true; if(class_exists('SiteTreeCMSWorkflow')) return true;
$author = $this->objFromFixture('Member', 'cmseditor'); $author = $this->objFromFixture('Member', 'cmseditor');
@ -101,7 +101,7 @@ class SiteTreeActionsTest extends FunctionalTest {
$this->assertNull($actions->dataFieldByName('action_revert')); $this->assertNull($actions->dataFieldByName('action_revert'));
} }
function testActionsDeletedFromStageRecord() { public function testActionsDeletedFromStageRecord() {
if(class_exists('SiteTreeCMSWorkflow')) return true; if(class_exists('SiteTreeCMSWorkflow')) return true;
$author = $this->objFromFixture('Member', 'cmseditor'); $author = $this->objFromFixture('Member', 'cmseditor');
@ -129,7 +129,7 @@ class SiteTreeActionsTest extends FunctionalTest {
$this->assertNotNull($actions->dataFieldByName('action_revert')); $this->assertNotNull($actions->dataFieldByName('action_revert'));
} }
function testActionsChangedOnStageRecord() { public function testActionsChangedOnStageRecord() {
if(class_exists('SiteTreeCMSWorkflow')) return true; if(class_exists('SiteTreeCMSWorkflow')) return true;
$author = $this->objFromFixture('Member', 'cmseditor'); $author = $this->objFromFixture('Member', 'cmseditor');
@ -153,7 +153,7 @@ class SiteTreeActionsTest extends FunctionalTest {
$this->assertNull($actions->dataFieldByName('action_revert')); $this->assertNull($actions->dataFieldByName('action_revert'));
} }
function testActionsViewingOldVersion() { public function testActionsViewingOldVersion() {
$p = new Page(); $p = new Page();
$p->Content = 'test page first version'; $p->Content = 'test page first version';
$p->write(); $p->write();
@ -175,11 +175,11 @@ class SiteTreeActionsTest extends FunctionalTest {
} }
class SiteTreeActionsTest_Page extends Page implements TestOnly { class SiteTreeActionsTest_Page extends Page implements TestOnly {
function canEdit($member = null) { public function canEdit($member = null) {
return Permission::checkMember($member, 'SiteTreeActionsTest_Page_CANEDIT'); return Permission::checkMember($member, 'SiteTreeActionsTest_Page_CANEDIT');
} }
function canDelete($member = null) { public function canDelete($member = null) {
return Permission::checkMember($member, 'SiteTreeActionsTest_Page_CANDELETE'); return Permission::checkMember($member, 'SiteTreeActionsTest_Page_CANDELETE');
} }
} }

View File

@ -7,19 +7,19 @@ class SiteTreeBacklinksTest extends SapphireTest {
'SiteTree' => array('SiteTreeBacklinksTest_DOD'), 'SiteTree' => array('SiteTreeBacklinksTest_DOD'),
); );
static function set_up_once() { static public function set_up_once() {
SiteTreeTest::set_up_once(); SiteTreeTest::set_up_once();
parent::set_up_once(); parent::set_up_once();
} }
static function tear_down_once() { static public function tear_down_once() {
SiteTreeTest::tear_down_once(); SiteTreeTest::tear_down_once();
parent::tear_down_once(); parent::tear_down_once();
} }
function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
// Log in as admin so that we don't run into permission issues. That's not what we're // Log in as admin so that we don't run into permission issues. That's not what we're
@ -27,7 +27,7 @@ class SiteTreeBacklinksTest extends SapphireTest {
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');
} }
function testSavingPageWithLinkAddsBacklink() { public function testSavingPageWithLinkAddsBacklink() {
// load page 1 // load page 1
$page1 = $this->objFromFixture('Page', 'page1'); $page1 = $this->objFromFixture('Page', 'page1');
@ -46,7 +46,7 @@ class SiteTreeBacklinksTest extends SapphireTest {
$this->assertContains($page2->ID, $page1->BackLinkTracking()->column('ID'), 'Assert backlink to page 2 exists'); $this->assertContains($page2->ID, $page1->BackLinkTracking()->column('ID'), 'Assert backlink to page 2 exists');
} }
function testRemovingLinkFromPageRemovesBacklink() { public function testRemovingLinkFromPageRemovesBacklink() {
// load page 1 // load page 1
$page1 = $this->objFromFixture('Page', 'page1'); $page1 = $this->objFromFixture('Page', 'page1');
@ -65,7 +65,7 @@ class SiteTreeBacklinksTest extends SapphireTest {
$this->assertNotContains($page3->ID, $page1->BackLinkTracking()->column('ID'), 'Assert backlink to page 3 doesn\'t exist'); $this->assertNotContains($page3->ID, $page1->BackLinkTracking()->column('ID'), 'Assert backlink to page 3 doesn\'t exist');
} }
function testChangingUrlOnDraftSiteRewritesLink() { public function testChangingUrlOnDraftSiteRewritesLink() {
// load page 1 // load page 1
$page1 = $this->objFromFixture('Page', 'page1'); $page1 = $this->objFromFixture('Page', 'page1');
@ -89,7 +89,7 @@ class SiteTreeBacklinksTest extends SapphireTest {
$this->assertContains(Director::baseURL().'new-url-segment/', $links, 'Assert hyperlink to page 1\'s new url exists on page 3'); $this->assertContains(Director::baseURL().'new-url-segment/', $links, 'Assert hyperlink to page 1\'s new url exists on page 3');
} }
function testChangingUrlOnLiveSiteRewritesLink() { public function testChangingUrlOnLiveSiteRewritesLink() {
// publish page 1 & 3 // publish page 1 & 3
$page1 = $this->objFromFixture('Page', 'page1'); $page1 = $this->objFromFixture('Page', 'page1');
$page3 = $this->objFromFixture('Page', 'page3'); $page3 = $this->objFromFixture('Page', 'page3');
@ -120,7 +120,7 @@ class SiteTreeBacklinksTest extends SapphireTest {
$this->assertContains(Director::baseURL().'new-url-segment/', $links, 'Assert hyperlink to page 1\'s new url exists on page 3'); $this->assertContains(Director::baseURL().'new-url-segment/', $links, 'Assert hyperlink to page 1\'s new url exists on page 3');
} }
function testPublishingPageWithModifiedUrlRewritesLink() { public function testPublishingPageWithModifiedUrlRewritesLink() {
// publish page 1 & 3 // publish page 1 & 3
$page1 = $this->objFromFixture('Page', 'page1'); $page1 = $this->objFromFixture('Page', 'page1');
$page3 = $this->objFromFixture('Page', 'page3'); $page3 = $this->objFromFixture('Page', 'page3');
@ -155,7 +155,7 @@ class SiteTreeBacklinksTest extends SapphireTest {
$this->assertContains(Director::baseURL().'new-url-segment/', $links, 'Assert hyperlink to page 1\'s new published url exists on page 3'); $this->assertContains(Director::baseURL().'new-url-segment/', $links, 'Assert hyperlink to page 1\'s new published url exists on page 3');
} }
function testPublishingPageWithModifiedLinksRewritesLinks() { public function testPublishingPageWithModifiedLinksRewritesLinks() {
// publish page 1 & 3 // publish page 1 & 3
$page1 = $this->objFromFixture('Page', 'page1'); $page1 = $this->objFromFixture('Page', 'page1');
$page3 = $this->objFromFixture('Page', 'page3'); $page3 = $this->objFromFixture('Page', 'page3');
@ -195,7 +195,7 @@ class SiteTreeBacklinksTest extends SapphireTest {
$this->assertContains(Director::baseURL().'new-url-segment/', $links, 'Assert hyperlink to page 1\'s current published url exists on page 3'); $this->assertContains(Director::baseURL().'new-url-segment/', $links, 'Assert hyperlink to page 1\'s current published url exists on page 3');
} }
function testLinkTrackingOnExtraContentFields() { public function testLinkTrackingOnExtraContentFields() {
$page1 = $this->objFromFixture('Page', 'page1'); $page1 = $this->objFromFixture('Page', 'page1');
$page2 = $this->objFromFixture('Page', 'page2'); $page2 = $this->objFromFixture('Page', 'page2');
$page1->doPublish(); $page1->doPublish();
@ -248,7 +248,7 @@ class SiteTreeBacklinksTest_DOD extends DataExtension implements TestOnly {
'ExtraContent' => 'HTMLText', 'ExtraContent' => 'HTMLText',
); );
function updateCMSFields(FieldList $fields) { public function updateCMSFields(FieldList $fields) {
$fields->addFieldToTab("Root.Content", new HTMLEditorField("ExtraContent")); $fields->addFieldToTab("Root.Content", new HTMLEditorField("ExtraContent"));
} }
} }

View File

@ -6,19 +6,19 @@
class SiteTreeBrokenLinksTest extends SapphireTest { class SiteTreeBrokenLinksTest extends SapphireTest {
static $fixture_file = 'SiteTreeBrokenLinksTest.yml'; static $fixture_file = 'SiteTreeBrokenLinksTest.yml';
static function set_up_once() { static public function set_up_once() {
SiteTreeTest::set_up_once(); SiteTreeTest::set_up_once();
parent::set_up_once(); parent::set_up_once();
} }
static function tear_down_once() { static public function tear_down_once() {
SiteTreeTest::tear_down_once(); SiteTreeTest::tear_down_once();
parent::tear_down_once(); parent::tear_down_once();
} }
function testBrokenLinksBetweenPages() { public function testBrokenLinksBetweenPages() {
$obj = $this->objFromFixture('Page','content'); $obj = $this->objFromFixture('Page','content');
$obj->Content = '<a href="[sitetree_link,id=3423423]">this is a broken link</a>'; $obj->Content = '<a href="[sitetree_link,id=3423423]">this is a broken link</a>';
@ -30,7 +30,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$this->assertFalse($obj->HasBrokenLink, 'Page does NOT have a broken link'); $this->assertFalse($obj->HasBrokenLink, 'Page does NOT have a broken link');
} }
function testBrokenVirtualPages() { public function testBrokenVirtualPages() {
$obj = $this->objFromFixture('Page','content'); $obj = $this->objFromFixture('Page','content');
$vp = new VirtualPage(); $vp = new VirtualPage();
@ -43,7 +43,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$this->assertTrue($vp->HasBrokenLink, 'Broken virtual page IS marked as such'); $this->assertTrue($vp->HasBrokenLink, 'Broken virtual page IS marked as such');
} }
function testBrokenInternalRedirectorPages() { public function testBrokenInternalRedirectorPages() {
$obj = $this->objFromFixture('Page','content'); $obj = $this->objFromFixture('Page','content');
$rp = new RedirectorPage(); $rp = new RedirectorPage();
@ -58,7 +58,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$this->assertTrue($rp->HasBrokenLink, 'Broken redirector page IS marked as such'); $this->assertTrue($rp->HasBrokenLink, 'Broken redirector page IS marked as such');
} }
function testBrokenAssetLinks() { public function testBrokenAssetLinks() {
$obj = $this->objFromFixture('Page','content'); $obj = $this->objFromFixture('Page','content');
$obj->Content = '<a href="assets/nofilehere.pdf">this is a broken link to a pdf file</a>'; $obj->Content = '<a href="assets/nofilehere.pdf">this is a broken link to a pdf file</a>';
@ -70,7 +70,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$this->assertFalse($obj->HasBrokenFile, 'Page does NOT have a broken file'); $this->assertFalse($obj->HasBrokenFile, 'Page does NOT have a broken file');
} }
function testDeletingFileMarksBackedPagesAsBroken() { public function testDeletingFileMarksBackedPagesAsBroken() {
// Test entry // Test entry
$file = new File(); $file = new File();
$file->Filename = 'test-file.pdf'; $file->Filename = 'test-file.pdf';
@ -99,7 +99,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$liveObj = Versioned::get_one_by_stage("SiteTree", "Live", "\"SiteTree\".\"ID\" = $obj->ID"); $liveObj = Versioned::get_one_by_stage("SiteTree", "Live", "\"SiteTree\".\"ID\" = $obj->ID");
$this->assertEquals(1, $liveObj->HasBrokenFile); $this->assertEquals(1, $liveObj->HasBrokenFile);
} }
function testDeletingMarksBackLinkedPagesAsBroken() { public function testDeletingMarksBackLinkedPagesAsBroken() {
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');
// Set up two published pages with a link from content -> about // Set up two published pages with a link from content -> about
@ -142,7 +142,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
WHERE \"ID\" = $linkSrc->ID")->value()); WHERE \"ID\" = $linkSrc->ID")->value());
} }
function testPublishingSourceBeforeDestHasBrokenLink() { public function testPublishingSourceBeforeDestHasBrokenLink() {
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');
// Set up two draft pages with a link from content -> about // Set up two draft pages with a link from content -> about
@ -164,7 +164,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
} }
function testRestoreFixesBrokenLinks() { public function testRestoreFixesBrokenLinks() {
// Create page and virutal page // Create page and virutal page
$p = new Page(); $p = new Page();
$p->Title = "source"; $p->Title = "source";
@ -239,7 +239,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
} }
function testRevertToLiveFixesBrokenLinks() { public function testRevertToLiveFixesBrokenLinks() {
// Create page and virutal page // Create page and virutal page
$p = new Page(); $p = new Page();
$p->Title = "source"; $p->Title = "source";

View File

@ -13,19 +13,19 @@ class SiteTreePermissionsTest extends FunctionalTest {
'SiteTree' => array('SiteTreeSubsites') 'SiteTree' => array('SiteTreeSubsites')
); );
static function set_up_once() { static public function set_up_once() {
SiteTreeTest::set_up_once(); SiteTreeTest::set_up_once();
parent::set_up_once(); parent::set_up_once();
} }
static function tear_down_once() { static public function tear_down_once() {
SiteTreeTest::tear_down_once(); SiteTreeTest::tear_down_once();
parent::tear_down_once(); parent::tear_down_once();
} }
function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
$this->useDraftSite(); $this->useDraftSite();
@ -35,7 +35,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
} }
function testAccessingStageWithBlankStage() { public function testAccessingStageWithBlankStage() {
$this->useDraftSite(false); $this->useDraftSite(false);
$this->autoFollowRedirection = false; $this->autoFollowRedirection = false;
@ -68,7 +68,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
$this->assertEquals($response->getStatusCode(), '404'); $this->assertEquals($response->getStatusCode(), '404');
} }
function testPermissionCheckingWorksOnDeletedPages() { public function testPermissionCheckingWorksOnDeletedPages() {
// Set up fixture - a published page deleted from draft // Set up fixture - a published page deleted from draft
$this->logInWithPermission("ADMIN"); $this->logInWithPermission("ADMIN");
$page = $this->objFromFixture('Page','restrictedEditOnlySubadminGroup'); $page = $this->objFromFixture('Page','restrictedEditOnlySubadminGroup');
@ -94,7 +94,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
$this->assertTrue($page->canEdit()); $this->assertTrue($page->canEdit());
} }
function testPermissionCheckingWorksOnUnpublishedPages() { public function testPermissionCheckingWorksOnUnpublishedPages() {
// Set up fixture - an unpublished page // Set up fixture - an unpublished page
$this->logInWithPermission("ADMIN"); $this->logInWithPermission("ADMIN");
$page = $this->objFromFixture('Page','restrictedEditOnlySubadminGroup'); $page = $this->objFromFixture('Page','restrictedEditOnlySubadminGroup');
@ -116,7 +116,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
$this->assertTrue($page->canEdit()); $this->assertTrue($page->canEdit());
} }
function testCanEditOnPageDeletedFromStageAndLiveReturnsFalse() { public function testCanEditOnPageDeletedFromStageAndLiveReturnsFalse() {
// Find a page that exists and delete it from both stage and published // Find a page that exists and delete it from both stage and published
$this->logInWithPermission("ADMIN"); $this->logInWithPermission("ADMIN");
$page = $this->objFromFixture('Page','restrictedEditOnlySubadminGroup'); $page = $this->objFromFixture('Page','restrictedEditOnlySubadminGroup');
@ -134,7 +134,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
$this->assertFalse($page->canEdit()); $this->assertFalse($page->canEdit());
} }
function testCanViewStage() { public function testCanViewStage() {
$page = $this->objFromFixture('Page', 'standardpage'); $page = $this->objFromFixture('Page', 'standardpage');
$editor = $this->objFromFixture('Member', 'editor'); $editor = $this->objFromFixture('Member', 'editor');
$websiteuser = $this->objFromFixture('Member', 'websiteuser'); $websiteuser = $this->objFromFixture('Member', 'websiteuser');
@ -146,7 +146,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
$this->assertTrue($page->canViewStage('Stage', $editor)); $this->assertTrue($page->canViewStage('Stage', $editor));
} }
function testAccessTabOnlyDisplaysWithGrantAccessPermissions() { public function testAccessTabOnlyDisplaysWithGrantAccessPermissions() {
$page = $this->objFromFixture('Page', 'standardpage'); $page = $this->objFromFixture('Page', 'standardpage');
$subadminuser = $this->objFromFixture('Member', 'subadmin'); $subadminuser = $this->objFromFixture('Member', 'subadmin');
@ -176,7 +176,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
$this->session()->inst_set('loggedInAs', null); $this->session()->inst_set('loggedInAs', null);
} }
function testRestrictedViewLoggedInUsers() { public function testRestrictedViewLoggedInUsers() {
$page = $this->objFromFixture('Page', 'restrictedViewLoggedInUsers'); $page = $this->objFromFixture('Page', 'restrictedViewLoggedInUsers');
// unauthenticated users // unauthenticated users
@ -208,7 +208,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
$this->session()->inst_set('loggedInAs', null); $this->session()->inst_set('loggedInAs', null);
} }
function testRestrictedViewOnlyTheseUsers() { public function testRestrictedViewOnlyTheseUsers() {
$page = $this->objFromFixture('Page', 'restrictedViewOnlyWebsiteUsers'); $page = $this->objFromFixture('Page', 'restrictedViewOnlyWebsiteUsers');
// unauthenticcated users // unauthenticcated users
@ -255,7 +255,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
$this->session()->inst_set('loggedInAs', null); $this->session()->inst_set('loggedInAs', null);
} }
function testRestrictedEditLoggedInUsers() { public function testRestrictedEditLoggedInUsers() {
$page = $this->objFromFixture('Page', 'restrictedEditLoggedInUsers'); $page = $this->objFromFixture('Page', 'restrictedEditLoggedInUsers');
// unauthenticcated users // unauthenticcated users
@ -280,7 +280,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
); );
} }
function testRestrictedEditOnlySubadminGroup() { public function testRestrictedEditOnlySubadminGroup() {
$page = $this->objFromFixture('Page', 'restrictedEditOnlySubadminGroup'); $page = $this->objFromFixture('Page', 'restrictedEditOnlySubadminGroup');
// unauthenticated users // unauthenticated users
@ -304,7 +304,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
); );
} }
function testRestrictedViewInheritance() { public function testRestrictedViewInheritance() {
$parentPage = $this->objFromFixture('Page', 'parent_restrictedViewOnlySubadminGroup'); $parentPage = $this->objFromFixture('Page', 'parent_restrictedViewOnlySubadminGroup');
$childPage = $this->objFromFixture('Page', 'child_restrictedViewOnlySubadminGroup'); $childPage = $this->objFromFixture('Page', 'child_restrictedViewOnlySubadminGroup');
@ -337,7 +337,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
$this->session()->inst_set('loggedInAs', null); $this->session()->inst_set('loggedInAs', null);
} }
function testRestrictedEditInheritance() { public function testRestrictedEditInheritance() {
$parentPage = $this->objFromFixture('Page', 'parent_restrictedEditOnlySubadminGroup'); $parentPage = $this->objFromFixture('Page', 'parent_restrictedEditOnlySubadminGroup');
$childPage = $this->objFromFixture('Page', 'child_restrictedEditOnlySubadminGroup'); $childPage = $this->objFromFixture('Page', 'child_restrictedEditOnlySubadminGroup');
@ -355,7 +355,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
); );
} }
function testDeleteRestrictedChild() { public function testDeleteRestrictedChild() {
$parentPage = $this->objFromFixture('Page', 'deleteTestParentPage'); $parentPage = $this->objFromFixture('Page', 'deleteTestParentPage');
$childPage = $this->objFromFixture('Page', 'deleteTestChildPage'); $childPage = $this->objFromFixture('Page', 'deleteTestChildPage');
@ -370,7 +370,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
); );
} }
function testRestrictedEditLoggedInUsersDeletedFromStage() { public function testRestrictedEditLoggedInUsersDeletedFromStage() {
$page = $this->objFromFixture('Page', 'restrictedEditLoggedInUsers'); $page = $this->objFromFixture('Page', 'restrictedEditLoggedInUsers');
$pageID = $page->ID; $pageID = $page->ID;
@ -391,7 +391,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
); );
} }
function testInheritCanViewFromSiteConfig() { public function testInheritCanViewFromSiteConfig() {
$page = $this->objFromFixture('Page', 'inheritWithNoParent'); $page = $this->objFromFixture('Page', 'inheritWithNoParent');
$siteconfig = $this->objFromFixture('SiteConfig', 'default'); $siteconfig = $this->objFromFixture('SiteConfig', 'default');
$editor = $this->objFromFixture('Member', 'editor'); $editor = $this->objFromFixture('Member', 'editor');
@ -416,7 +416,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
$this->assertFalse($page->canView(FALSE), 'Anonymous can\'t view a page when set to inherit from the SiteConfig, and SiteConfig has canView set to OnlyTheseUsers'); $this->assertFalse($page->canView(FALSE), 'Anonymous can\'t view a page when set to inherit from the SiteConfig, and SiteConfig has canView set to OnlyTheseUsers');
} }
function testInheritCanEditFromSiteConfig() { public function testInheritCanEditFromSiteConfig() {
$page = $this->objFromFixture('Page', 'inheritWithNoParent'); $page = $this->objFromFixture('Page', 'inheritWithNoParent');
$siteconfig = $this->objFromFixture('SiteConfig', 'default'); $siteconfig = $this->objFromFixture('SiteConfig', 'default');
$editor = $this->objFromFixture('Member', 'editor'); $editor = $this->objFromFixture('Member', 'editor');

View File

@ -25,7 +25,7 @@ class SiteTreeTest extends SapphireTest {
*/ */
static protected $origTranslatableSettings = array(); static protected $origTranslatableSettings = array();
static function set_up_once() { static public function set_up_once() {
// needs to recreate the database schema with language properties // needs to recreate the database schema with language properties
self::kill_temp_db(); self::kill_temp_db();
@ -51,7 +51,7 @@ class SiteTreeTest extends SapphireTest {
parent::set_up_once(); parent::set_up_once();
} }
static function tear_down_once() { static public function tear_down_once() {
if(class_exists('Translatable')) { if(class_exists('Translatable')) {
if(self::$origTranslatableSettings['has_extension']) { if(self::$origTranslatableSettings['has_extension']) {
Object::add_extension('SiteTree', 'Translatable'); Object::add_extension('SiteTree', 'Translatable');
@ -69,7 +69,7 @@ class SiteTreeTest extends SapphireTest {
parent::tear_down_once(); parent::tear_down_once();
} }
function testCreateDefaultpages() { public function testCreateDefaultpages() {
$remove = DataObject::get('SiteTree'); $remove = DataObject::get('SiteTree');
if($remove) foreach($remove as $page) $page->delete(); if($remove) foreach($remove as $page) $page->delete();
// Make sure the table is empty // Make sure the table is empty
@ -97,7 +97,7 @@ class SiteTreeTest extends SapphireTest {
* - Resolves duplicates by appending a number * - Resolves duplicates by appending a number
* - renames classes with a class name conflict * - renames classes with a class name conflict
*/ */
function testURLGeneration() { public function testURLGeneration() {
$expectedURLs = array( $expectedURLs = array(
'home' => 'home', 'home' => 'home',
'staff' => 'my-staff', 'staff' => 'my-staff',
@ -121,7 +121,7 @@ class SiteTreeTest extends SapphireTest {
/** /**
* Test that publication copies data to SiteTree_Live * Test that publication copies data to SiteTree_Live
*/ */
function testPublishCopiesToLiveTable() { public function testPublishCopiesToLiveTable() {
$obj = $this->objFromFixture('Page','about'); $obj = $this->objFromFixture('Page','about');
$obj->publish('Stage', 'Live'); $obj->publish('Stage', 'Live');
@ -132,7 +132,7 @@ class SiteTreeTest extends SapphireTest {
/** /**
* Test that field which are set and then cleared are also transferred to the published site. * Test that field which are set and then cleared are also transferred to the published site.
*/ */
function testPublishDeletedFields() { public function testPublishDeletedFields() {
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');
$obj = $this->objFromFixture('Page', 'about'); $obj = $this->objFromFixture('Page', 'about');
@ -150,7 +150,7 @@ class SiteTreeTest extends SapphireTest {
} }
function testParentNodeCachedInMemory() { public function testParentNodeCachedInMemory() {
$parent = new SiteTree(); $parent = new SiteTree();
$parent->Title = 'Section Title'; $parent->Title = 'Section Title';
$child = new SiteTree(); $child = new SiteTree();
@ -161,7 +161,7 @@ class SiteTreeTest extends SapphireTest {
$this->assertEquals("Section Title", $child->Parent->Title); $this->assertEquals("Section Title", $child->Parent->Title);
} }
function testParentModelReturnType() { public function testParentModelReturnType() {
$parent = new SiteTreeTest_PageNode(); $parent = new SiteTreeTest_PageNode();
$child = new SiteTreeTest_PageNode(); $child = new SiteTreeTest_PageNode();
@ -172,7 +172,7 @@ class SiteTreeTest extends SapphireTest {
/** /**
* Confirm that DataObject::get_one() gets records from SiteTree_Live * Confirm that DataObject::get_one() gets records from SiteTree_Live
*/ */
function testGetOneFromLive() { public function testGetOneFromLive() {
$s = new SiteTree(); $s = new SiteTree();
$s->Title = "V1"; $s->Title = "V1";
$s->URLSegment = "get-one-test-page"; $s->URLSegment = "get-one-test-page";
@ -190,7 +190,7 @@ class SiteTreeTest extends SapphireTest {
Versioned::set_reading_mode($oldMode); Versioned::set_reading_mode($oldMode);
} }
function testChidrenOfRootAreTopLevelPages() { public function testChidrenOfRootAreTopLevelPages() {
$pages = DataObject::get("SiteTree"); $pages = DataObject::get("SiteTree");
foreach($pages as $page) $page->publish('Stage', 'Live'); foreach($pages as $page) $page->publish('Stage', 'Live');
unset($pages); unset($pages);
@ -215,7 +215,7 @@ class SiteTreeTest extends SapphireTest {
$this->assertNotContains('Staff', $allChildren); $this->assertNotContains('Staff', $allChildren);
} }
function testCanSaveBlankToHasOneRelations() { public function testCanSaveBlankToHasOneRelations() {
/* DataObject::write() should save to a has_one relationship if you set a field called (relname)ID */ /* DataObject::write() should save to a has_one relationship if you set a field called (relname)ID */
$page = new SiteTree(); $page = new SiteTree();
$parentID = $this->idFromFixture('Page', 'home'); $parentID = $this->idFromFixture('Page', 'home');
@ -229,7 +229,7 @@ class SiteTreeTest extends SapphireTest {
$this->assertEquals(0, DB::query("SELECT \"ParentID\" FROM \"SiteTree\" WHERE \"ID\" = $page->ID")->value()); $this->assertEquals(0, DB::query("SELECT \"ParentID\" FROM \"SiteTree\" WHERE \"ID\" = $page->ID")->value());
} }
function testStageStates() { public function testStageStates() {
// newly created page // newly created page
$createdPage = new SiteTree(); $createdPage = new SiteTree();
$createdPage->write(); $createdPage->write();
@ -279,7 +279,7 @@ class SiteTreeTest extends SapphireTest {
/** /**
* Test that a page can be completely deleted and restored to the stage site * Test that a page can be completely deleted and restored to the stage site
*/ */
function testRestoreToStage() { public function testRestoreToStage() {
$page = $this->objFromFixture('Page', 'about'); $page = $this->objFromFixture('Page', 'about');
$pageID = $page->ID; $pageID = $page->ID;
$page->delete(); $page->delete();
@ -345,7 +345,7 @@ class SiteTreeTest extends SapphireTest {
); );
} }
function testRelativeLink() { public function testRelativeLink() {
$about = $this->objFromFixture('Page', 'about'); $about = $this->objFromFixture('Page', 'about');
$staff = $this->objFromFixture('Page', 'staff'); $staff = $this->objFromFixture('Page', 'staff');
@ -357,7 +357,7 @@ class SiteTreeTest extends SapphireTest {
$this->assertEquals('about-us/tom&jerry', $about->RelativeLink('tom&jerry'), 'Doesnt url encode parameter'); $this->assertEquals('about-us/tom&jerry', $about->RelativeLink('tom&jerry'), 'Doesnt url encode parameter');
} }
function testAbsoluteLiveLink() { public function testAbsoluteLiveLink() {
$parent = $this->objFromFixture('Page', 'about'); $parent = $this->objFromFixture('Page', 'about');
$child = $this->objFromFixture('Page', 'staff'); $child = $this->objFromFixture('Page', 'staff');
@ -374,7 +374,7 @@ class SiteTreeTest extends SapphireTest {
$this->assertStringEndsWith('changed-on-live/my-staff/?stage=Live', $child->getAbsoluteLiveLink()); $this->assertStringEndsWith('changed-on-live/my-staff/?stage=Live', $child->getAbsoluteLiveLink());
} }
function testDeleteFromStageOperatesRecursively() { public function testDeleteFromStageOperatesRecursively() {
SiteTree::set_enforce_strict_hierarchy(false); SiteTree::set_enforce_strict_hierarchy(false);
$pageAbout = $this->objFromFixture('Page', 'about'); $pageAbout = $this->objFromFixture('Page', 'about');
$pageStaff = $this->objFromFixture('Page', 'staff'); $pageStaff = $this->objFromFixture('Page', 'staff');
@ -388,7 +388,7 @@ class SiteTreeTest extends SapphireTest {
SiteTree::set_enforce_strict_hierarchy(true); SiteTree::set_enforce_strict_hierarchy(true);
} }
function testDeleteFromStageOperatesRecursivelyStrict() { public function testDeleteFromStageOperatesRecursivelyStrict() {
$pageAbout = $this->objFromFixture('Page', 'about'); $pageAbout = $this->objFromFixture('Page', 'about');
$pageStaff = $this->objFromFixture('Page', 'staff'); $pageStaff = $this->objFromFixture('Page', 'staff');
$pageStaffDuplicate = $this->objFromFixture('Page', 'staffduplicate'); $pageStaffDuplicate = $this->objFromFixture('Page', 'staffduplicate');
@ -400,7 +400,7 @@ class SiteTreeTest extends SapphireTest {
$this->assertFalse(DataObject::get_by_id('Page', $pageStaffDuplicate->ID)); $this->assertFalse(DataObject::get_by_id('Page', $pageStaffDuplicate->ID));
} }
function testDeleteFromLiveOperatesRecursively() { public function testDeleteFromLiveOperatesRecursively() {
SiteTree::set_enforce_strict_hierarchy(false); SiteTree::set_enforce_strict_hierarchy(false);
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');
@ -424,7 +424,7 @@ class SiteTreeTest extends SapphireTest {
SiteTree::set_enforce_strict_hierarchy(true); SiteTree::set_enforce_strict_hierarchy(true);
} }
function testUnpublishDoesNotDeleteChildrenWithLooseHierachyOn() { public function testUnpublishDoesNotDeleteChildrenWithLooseHierachyOn() {
SiteTree::set_enforce_strict_hierarchy(false); SiteTree::set_enforce_strict_hierarchy(false);
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');
@ -447,7 +447,7 @@ class SiteTreeTest extends SapphireTest {
} }
function testDeleteFromLiveOperatesRecursivelyStrict() { public function testDeleteFromLiveOperatesRecursivelyStrict() {
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');
$pageAbout = $this->objFromFixture('Page', 'about'); $pageAbout = $this->objFromFixture('Page', 'about');
@ -471,7 +471,7 @@ class SiteTreeTest extends SapphireTest {
* Simple test to confirm that querying from a particular archive date doesn't throw * Simple test to confirm that querying from a particular archive date doesn't throw
* an error * an error
*/ */
function testReadArchiveDate() { public function testReadArchiveDate() {
Versioned::reading_archived_date('2009-07-02 14:05:07'); Versioned::reading_archived_date('2009-07-02 14:05:07');
DataObject::get('SiteTree', "\"ParentID\" = 0"); DataObject::get('SiteTree', "\"ParentID\" = 0");
@ -479,7 +479,7 @@ class SiteTreeTest extends SapphireTest {
Versioned::reading_archived_date(null); Versioned::reading_archived_date(null);
} }
function testEditPermissions() { public function testEditPermissions() {
$editor = $this->objFromFixture("Member", "editor"); $editor = $this->objFromFixture("Member", "editor");
$home = $this->objFromFixture("Page", "home"); $home = $this->objFromFixture("Page", "home");
@ -500,7 +500,7 @@ class SiteTreeTest extends SapphireTest {
$this->assertFalse($product4->canEdit($editor)); $this->assertFalse($product4->canEdit($editor));
} }
function testEditPermissionsOnDraftVsLive() { public function testEditPermissionsOnDraftVsLive() {
// Create an inherit-permission page // Create an inherit-permission page
$page = new Page(); $page = new Page();
$page->write(); $page->write();
@ -539,7 +539,7 @@ class SiteTreeTest extends SapphireTest {
$this->assertTrue($page->canEdit()); $this->assertTrue($page->canEdit());
} }
function testCompareVersions() { public function testCompareVersions() {
// Necessary to avoid // Necessary to avoid
$oldCleanerClass = Diff::$html_cleaner_class; $oldCleanerClass = Diff::$html_cleaner_class;
Diff::$html_cleaner_class = 'SiteTreeTest_NullHtmlCleaner'; Diff::$html_cleaner_class = 'SiteTreeTest_NullHtmlCleaner';
@ -565,7 +565,7 @@ class SiteTreeTest extends SapphireTest {
Diff::$html_cleaner_class = $oldCleanerClass; Diff::$html_cleaner_class = $oldCleanerClass;
} }
function testAuthorIDAndPublisherIDFilledOutOnPublish() { public function testAuthorIDAndPublisherIDFilledOutOnPublish() {
// Ensure that we have a member ID who is doing all this work // Ensure that we have a member ID who is doing all this work
$member = Member::currentUser(); $member = Member::currentUser();
if($member) { if($member) {
@ -785,13 +785,13 @@ class SiteTreeTest extends SapphireTest {
} }
function testPageTypeClasses() { public function testPageTypeClasses() {
$classes = SiteTree::page_type_classes(); $classes = SiteTree::page_type_classes();
$this->assertNotContains('SiteTree', $classes, 'Page types do not include base class'); $this->assertNotContains('SiteTree', $classes, 'Page types do not include base class');
$this->assertContains('Page', $classes, 'Page types do contain subclasses'); $this->assertContains('Page', $classes, 'Page types do contain subclasses');
} }
function testAllowedChildren() { public function testAllowedChildren() {
$page = new SiteTree(); $page = new SiteTree();
$this->assertContains( $this->assertContains(
'VirtualPage', 'VirtualPage',
@ -828,7 +828,7 @@ class SiteTreeTest extends SapphireTest {
); );
} }
function testAllowedChildrenValidation() { public function testAllowedChildrenValidation() {
$page = new SiteTree(); $page = new SiteTree();
$page->write(); $page->write();
$classA = new SiteTreeTest_ClassA(); $classA = new SiteTreeTest_ClassA();
@ -867,7 +867,7 @@ class SiteTreeTest extends SapphireTest {
$this->assertFalse($valid->valid(), "Doesnt allow child where only parent class is allowed on parent node, and asterisk prefixing is used"); $this->assertFalse($valid->valid(), "Doesnt allow child where only parent class is allowed on parent node, and asterisk prefixing is used");
} }
function testClassDropdown() { public function testClassDropdown() {
$sitetree = new SiteTree(); $sitetree = new SiteTree();
$method = new ReflectionMethod($sitetree, 'getClassDropdown'); $method = new ReflectionMethod($sitetree, 'getClassDropdown');
$method->setAccessible(true); $method->setAccessible(true);
@ -884,7 +884,7 @@ class SiteTreeTest extends SapphireTest {
Session::set("loggedInAs", null); Session::set("loggedInAs", null);
} }
function testCanBeRoot() { public function testCanBeRoot() {
$page = new SiteTree(); $page = new SiteTree();
$page->ParentID = 0; $page->ParentID = 0;
$page->write(); $page->write();
@ -902,14 +902,14 @@ class SiteTreeTest extends SapphireTest {
if(!$isDetected) $this->fail('Fails validation with $can_be_root=false'); if(!$isDetected) $this->fail('Fails validation with $can_be_root=false');
} }
function testModifyStatusFlagByInheritance(){ public function testModifyStatusFlagByInheritance(){
$node = new SiteTreeTest_StageStatusInherit(); $node = new SiteTreeTest_StageStatusInherit();
$treeTitle = $node->getTreeTitle(); $treeTitle = $node->getTreeTitle();
$this->assertContains('InheritedTitle', $treeTitle); $this->assertContains('InheritedTitle', $treeTitle);
$this->assertContains('inherited-class', $treeTitle); $this->assertContains('inherited-class', $treeTitle);
} }
function testMenuTitleIsUnsetWhenEqualsTitle() { public function testMenuTitleIsUnsetWhenEqualsTitle() {
$page = new SiteTree(); $page = new SiteTree();
$page->Title = 'orig'; $page->Title = 'orig';
$page->MenuTitle = 'orig'; $page->MenuTitle = 'orig';
@ -956,7 +956,7 @@ class SiteTreeTest_Conflicted_Controller extends Page_Controller implements Test
} }
class SiteTreeTest_NullHtmlCleaner extends HTMLCleaner { class SiteTreeTest_NullHtmlCleaner extends HTMLCleaner {
function cleanHTML($html) { public function cleanHTML($html) {
return $html; return $html;
} }
} }
@ -992,7 +992,7 @@ class SiteTreeTest_NotRoot extends Page implements TestOnly {
} }
class SiteTreeTest_StageStatusInherit extends SiteTree implements TestOnly { class SiteTreeTest_StageStatusInherit extends SiteTree implements TestOnly {
function getStatusFlags($cached = true){ public function getStatusFlags($cached = true){
$flags = parent::getStatusFlags($cached); $flags = parent::getStatusFlags($cached);
$flags['inherited-class'] = "InheritedTitle"; $flags['inherited-class'] = "InheritedTitle";
return $flags; return $flags;

View File

@ -13,7 +13,7 @@ class VirtualPageTest extends SapphireTest {
'SiteTree' => array('VirtualPageTest_PageExtension') 'SiteTree' => array('VirtualPageTest_PageExtension')
); );
function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
$this->origInitiallyCopiedFields = VirtualPage::$initially_copied_fields; $this->origInitiallyCopiedFields = VirtualPage::$initially_copied_fields;
@ -23,7 +23,7 @@ class VirtualPageTest extends SapphireTest {
VirtualPage::$non_virtual_fields[] = 'MySharedNonVirtualField'; VirtualPage::$non_virtual_fields[] = 'MySharedNonVirtualField';
} }
function tearDown() { public function tearDown() {
parent::tearDown(); parent::tearDown();
VirtualPage::$initially_copied_fields = $this->origInitiallyCopiedFields; VirtualPage::$initially_copied_fields = $this->origInitiallyCopiedFields;
@ -34,7 +34,7 @@ class VirtualPageTest extends SapphireTest {
* Test that, after you update the source page of a virtual page, all the virtual pages * Test that, after you update the source page of a virtual page, all the virtual pages
* are updated * are updated
*/ */
function testEditingSourcePageUpdatesVirtualPages() { public function testEditingSourcePageUpdatesVirtualPages() {
$master = $this->objFromFixture('Page', 'master'); $master = $this->objFromFixture('Page', 'master');
$master->Title = "New title"; $master->Title = "New title";
$master->MenuTitle = "New menutitle"; $master->MenuTitle = "New menutitle";
@ -56,7 +56,7 @@ class VirtualPageTest extends SapphireTest {
* Test that, after you publish the source page of a virtual page, all the already published * Test that, after you publish the source page of a virtual page, all the already published
* virtual pages are published * virtual pages are published
*/ */
function testPublishingSourcePagePublishesAlreadyPublishedVirtualPages() { public function testPublishingSourcePagePublishesAlreadyPublishedVirtualPages() {
$this->logInWithPermission('ADMIN'); $this->logInWithPermission('ADMIN');
$master = $this->objFromFixture('Page', 'master'); $master = $this->objFromFixture('Page', 'master');
@ -93,7 +93,7 @@ class VirtualPageTest extends SapphireTest {
/** /**
* Test that virtual pages get the content from the master page when they are created. * Test that virtual pages get the content from the master page when they are created.
*/ */
function testNewVirtualPagesGrabTheContentFromTheirMaster() { public function testNewVirtualPagesGrabTheContentFromTheirMaster() {
$vp = new VirtualPage(); $vp = new VirtualPage();
$vp->write(); $vp->write();
@ -115,7 +115,7 @@ class VirtualPageTest extends SapphireTest {
* This means that when you publish them, they should show the published content of the source * This means that when you publish them, they should show the published content of the source
* page, not the draft content at the time when you clicked 'publish' in the CMS. * page, not the draft content at the time when you clicked 'publish' in the CMS.
*/ */
function testPublishingAVirtualPageCopiedPublishedContentNotDraftContent() { public function testPublishingAVirtualPageCopiedPublishedContentNotDraftContent() {
$p = new Page(); $p = new Page();
$p->Content = "published content"; $p->Content = "published content";
$p->write(); $p->write();
@ -140,7 +140,7 @@ class VirtualPageTest extends SapphireTest {
DB::query('SELECT "Content" from "SiteTree_Live" WHERE "ID" = ' . $vp->ID)->value()); DB::query('SELECT "Content" from "SiteTree_Live" WHERE "ID" = ' . $vp->ID)->value());
} }
function testCantPublishVirtualPagesBeforeTheirSource() { public function testCantPublishVirtualPagesBeforeTheirSource() {
// An unpublished source page // An unpublished source page
$p = new Page(); $p = new Page();
$p->Content = "test content"; $p->Content = "test content";
@ -161,7 +161,7 @@ class VirtualPageTest extends SapphireTest {
$this->assertTrue($vp->canPublish()); $this->assertTrue($vp->canPublish());
} }
function testCanDeleteOrphanedVirtualPagesFromLive() { public function testCanDeleteOrphanedVirtualPagesFromLive() {
// An unpublished source page // An unpublished source page
$p = new Page(); $p = new Page();
$p->Content = "test content"; $p->Content = "test content";
@ -185,7 +185,7 @@ class VirtualPageTest extends SapphireTest {
$this->assertNull(DB::query("SELECT \"ID\" FROM \"SiteTree_Live\" WHERE \"ID\" = $vp->ID")->value()); $this->assertNull(DB::query("SELECT \"ID\" FROM \"SiteTree_Live\" WHERE \"ID\" = $vp->ID")->value());
} }
function testVirtualPagesArentInappropriatelyPublished() { public function testVirtualPagesArentInappropriatelyPublished() {
// Fixture // Fixture
$p = new Page(); $p = new Page();
$p->Content = "test content"; $p->Content = "test content";
@ -237,7 +237,7 @@ class VirtualPageTest extends SapphireTest {
$this->assertFalse($vp->IsModifiedOnStage); $this->assertFalse($vp->IsModifiedOnStage);
} }
function testVirtualPagesCreateVersionRecords() { public function testVirtualPagesCreateVersionRecords() {
$source = $this->objFromFixture('Page', 'master'); $source = $this->objFromFixture('Page', 'master');
$source->Title = "T0"; $source->Title = "T0";
$source->write(); $source->write();
@ -275,7 +275,7 @@ class VirtualPageTest extends SapphireTest {
WHERE \"RecordID\" = $vp->ID AND \"Version\" = $liveVersion")->value()); WHERE \"RecordID\" = $vp->ID AND \"Version\" = $liveVersion")->value());
} }
function fixVersionNumberCache($page) { public function fixVersionNumberCache($page) {
$pages = func_get_args(); $pages = func_get_args();
foreach($pages as $p) { foreach($pages as $p) {
Versioned::prepopulate_versionnumber_cache('SiteTree', 'Stage', array($p->ID)); Versioned::prepopulate_versionnumber_cache('SiteTree', 'Stage', array($p->ID));
@ -283,7 +283,7 @@ class VirtualPageTest extends SapphireTest {
} }
} }
function testUnpublishingSourcePageOfAVirtualPageAlsoUnpublishesVirtualPage() { public function testUnpublishingSourcePageOfAVirtualPageAlsoUnpublishesVirtualPage() {
// Create page and virutal page // Create page and virutal page
$p = new Page(); $p = new Page();
$p->Title = "source"; $p->Title = "source";
@ -315,7 +315,7 @@ class VirtualPageTest extends SapphireTest {
$this->assertEquals(1, $vp->HasBrokenLink); $this->assertEquals(1, $vp->HasBrokenLink);
} }
function testDeletingFromLiveSourcePageOfAVirtualPageAlsoUnpublishesVirtualPage() { public function testDeletingFromLiveSourcePageOfAVirtualPageAlsoUnpublishesVirtualPage() {
// Create page and virutal page // Create page and virutal page
$p = new Page(); $p = new Page();
$p->Title = "source"; $p->Title = "source";
@ -352,7 +352,7 @@ class VirtualPageTest extends SapphireTest {
/** /**
* Base functionality tested in {@link SiteTreeTest->testAllowedChildrenValidation()}. * Base functionality tested in {@link SiteTreeTest->testAllowedChildrenValidation()}.
*/ */
function testAllowedChildrenLimitedOnVirtualPages() { public function testAllowedChildrenLimitedOnVirtualPages() {
$classA = new SiteTreeTest_ClassA(); $classA = new SiteTreeTest_ClassA();
$classA->write(); $classA->write();
$classB = new SiteTreeTest_ClassB(); $classB = new SiteTreeTest_ClassB();
@ -375,7 +375,7 @@ class VirtualPageTest extends SapphireTest {
$this->assertFalse($valid->valid(), "Doesn't allow child linked to virtual page type disallowed by parent"); $this->assertFalse($valid->valid(), "Doesn't allow child linked to virtual page type disallowed by parent");
} }
function testGetVirtualFields() { public function testGetVirtualFields() {
// Needs association with an original, otherwise will just return the "base" virtual fields // Needs association with an original, otherwise will just return the "base" virtual fields
$page = new VirtualPageTest_ClassA(); $page = new VirtualPageTest_ClassA();
$page->write(); $page->write();
@ -388,7 +388,7 @@ class VirtualPageTest extends SapphireTest {
$this->assertNotContains('MyInitiallyCopiedField', $virtual->getVirtualFields()); $this->assertNotContains('MyInitiallyCopiedField', $virtual->getVirtualFields());
} }
function testCopyFrom() { public function testCopyFrom() {
$original = new VirtualPageTest_ClassA(); $original = new VirtualPageTest_ClassA();
$original->MyInitiallyCopiedField = 'original'; $original->MyInitiallyCopiedField = 'original';
$original->MyVirtualField = 'original'; $original->MyVirtualField = 'original';
@ -426,7 +426,7 @@ class VirtualPageTest extends SapphireTest {
); );
} }
function testWriteWithoutVersion() { public function testWriteWithoutVersion() {
$original = new SiteTree(); $original = new SiteTree();
$original->write(); $original->write();
// Create a second version (different behaviour), // Create a second version (different behaviour),
@ -473,7 +473,7 @@ class VirtualPageTest extends SapphireTest {
); );
} }
function testCanBeRoot() { public function testCanBeRoot() {
$page = new SiteTree(); $page = new SiteTree();
$page->ParentID = 0; $page->ParentID = 0;
$page->write(); $page->write();
@ -500,7 +500,7 @@ class VirtualPageTest extends SapphireTest {
if(!$isDetected) $this->fail('Fails validation with $can_be_root=false'); if(!$isDetected) $this->fail('Fails validation with $can_be_root=false');
} }
function testPageTypeChangeDoesntKeepOrphanedVirtualPageRecord() { public function testPageTypeChangeDoesntKeepOrphanedVirtualPageRecord() {
$page = new SiteTree(); $page = new SiteTree();
$page->write(); $page->write();
$page->publish('Stage', 'Live'); $page->publish('Stage', 'Live');
@ -536,7 +536,7 @@ class VirtualPageTest extends SapphireTest {
); );
} }
function testPageTypeChangePropagatesToLive() { public function testPageTypeChangePropagatesToLive() {
$page = new SiteTree(); $page = new SiteTree();
$page->MySharedNonVirtualField = 'original'; $page->MySharedNonVirtualField = 'original';
$page->write(); $page->write();

View File

@ -2,7 +2,7 @@
class ReportTest extends SapphireTest { class ReportTest extends SapphireTest {
function testGetReports() { public function testGetReports() {
$reports = SS_Report::get_reports(); $reports = SS_Report::get_reports();
$this->assertNotNull($reports, "Reports returned"); $this->assertNotNull($reports, "Reports returned");
$previousSort = 0; $previousSort = 0;
@ -12,7 +12,7 @@ class ReportTest extends SapphireTest {
} }
} }
function testExcludeReport() { public function testExcludeReport() {
$reports = SS_Report::get_reports(); $reports = SS_Report::get_reports();
$reportNames = array(); $reportNames = array();
foreach($reports as $report) { foreach($reports as $report) {
@ -42,7 +42,7 @@ class ReportTest extends SapphireTest {
$this->assertNotContains('ReportTest_FakeTest2',$reportNames,'ReportTest_FakeTest2 is NOT in reports list'); $this->assertNotContains('ReportTest_FakeTest2',$reportNames,'ReportTest_FakeTest2 is NOT in reports list');
} }
function testAbstractClassesAreExcluded() { public function testAbstractClassesAreExcluded() {
$reports = SS_Report::get_reports(); $reports = SS_Report::get_reports();
$reportNames = array(); $reportNames = array();
foreach($reports as $report) { foreach($reports as $report) {
@ -55,62 +55,62 @@ class ReportTest extends SapphireTest {
} }
class ReportTest_FakeTest extends SS_Report implements TestOnly { class ReportTest_FakeTest extends SS_Report implements TestOnly {
function title() { public function title() {
return 'Report title'; return 'Report title';
} }
function columns() { public function columns() {
return array( return array(
"Title" => array( "Title" => array(
"title" => "Page Title" "title" => "Page Title"
) )
); );
} }
function sourceRecords($params, $sort, $limit) { public function sourceRecords($params, $sort, $limit) {
return new ArrayList(); return new ArrayList();
} }
function sort() { public function sort() {
return 100; return 100;
} }
} }
class ReportTest_FakeTest2 extends SS_Report implements TestOnly { class ReportTest_FakeTest2 extends SS_Report implements TestOnly {
function title() { public function title() {
return 'Report title 2'; return 'Report title 2';
} }
function columns() { public function columns() {
return array( return array(
"Title" => array( "Title" => array(
"title" => "Page Title 2" "title" => "Page Title 2"
) )
); );
} }
function sourceRecords($params, $sort, $limit) { public function sourceRecords($params, $sort, $limit) {
return new ArrayList(); return new ArrayList();
} }
function sort() { public function sort() {
return 98; return 98;
} }
} }
abstract class ReportTest_FakeTest_Abstract extends SS_Report implements TestOnly { abstract class ReportTest_FakeTest_Abstract extends SS_Report implements TestOnly {
function title() { public function title() {
return 'Report title Abstract'; return 'Report title Abstract';
} }
function columns() { public function columns() {
return array( return array(
"Title" => array( "Title" => array(
"title" => "Page Title Abstract" "title" => "Page Title Abstract"
) )
); );
} }
function sourceRecords($params, $sort, $limit) { public function sourceRecords($params, $sort, $limit) {
return new ArrayList(); return new ArrayList();
} }
function sort() { public function sort() {
return 5; return 5;
} }
} }

View File

@ -10,7 +10,7 @@ class SideReportTest extends SapphireTest {
static $daysAgo = 14; static $daysAgo = 14;
function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
// set the dates by hand: impossible to set via yml // set the dates by hand: impossible to set via yml
@ -24,7 +24,7 @@ class SideReportTest extends SapphireTest {
DB::query("UPDATE \"SiteTree\" SET \"Created\"='2009-01-01 00:00:00', \"LastEdited\"='".date('Y-m-d H:i:s', $beforeThreshold)."' WHERE \"ID\"='".$before->ID."'"); DB::query("UPDATE \"SiteTree\" SET \"Created\"='2009-01-01 00:00:00', \"LastEdited\"='".date('Y-m-d H:i:s', $beforeThreshold)."' WHERE \"ID\"='".$before->ID."'");
} }
function testRecentlyEdited() { public function testRecentlyEdited() {
SS_Datetime::set_mock_now('31-06-2009 00:00:00'); SS_Datetime::set_mock_now('31-06-2009 00:00:00');
$after = $this->objFromFixture('SiteTree', 'after'); $after = $this->objFromFixture('SiteTree', 'after');

View File

@ -5,7 +5,7 @@ class CMSMainSearchFormTest extends FunctionalTest {
protected $autoFollowRedirection = false; protected $autoFollowRedirection = false;
function testTitleFilter() { public function testTitleFilter() {
$this->session()->inst_set('loggedInAs', $this->idFromFixture('Member', 'admin')); $this->session()->inst_set('loggedInAs', $this->idFromFixture('Member', 'admin'));
$response = $this->get( $response = $this->get(

View File

@ -14,12 +14,12 @@ class ZZZSearchFormTest extends FunctionalTest {
protected $mockController; protected $mockController;
function waitUntilIndexingFinished() { public function waitUntilIndexingFinished() {
$db = DB::getConn(); $db = DB::getConn();
if (method_exists($db, 'waitUntilIndexingFinished')) DB::getConn()->waitUntilIndexingFinished(); if (method_exists($db, 'waitUntilIndexingFinished')) DB::getConn()->waitUntilIndexingFinished();
} }
function setUpOnce() { public function setUpOnce() {
// HACK Postgres doesn't refresh TSearch indexes when the schema changes after CREATE TABLE // HACK Postgres doesn't refresh TSearch indexes when the schema changes after CREATE TABLE
// MySQL will need a different table type // MySQL will need a different table type
self::kill_temp_db(); self::kill_temp_db();
@ -29,7 +29,7 @@ class ZZZSearchFormTest extends FunctionalTest {
parent::setUpOnce(); parent::setUpOnce();
} }
function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
$holderPage = $this->objFromFixture('SiteTree', 'searchformholder'); $holderPage = $this->objFromFixture('SiteTree', 'searchformholder');
@ -38,7 +38,7 @@ class ZZZSearchFormTest extends FunctionalTest {
$this->waitUntilIndexingFinished(); $this->waitUntilIndexingFinished();
} }
function testPublishedPagesMatchedByTitle() { public function testPublishedPagesMatchedByTitle() {
$sf = new SearchForm($this->mockController, 'SearchForm'); $sf = new SearchForm($this->mockController, 'SearchForm');
$publishedPage = $this->objFromFixture('SiteTree', 'publicPublishedPage'); $publishedPage = $this->objFromFixture('SiteTree', 'publicPublishedPage');
@ -53,7 +53,7 @@ class ZZZSearchFormTest extends FunctionalTest {
); );
} }
function testDoubleQuotesPublishedPagesMatchedByTitle() { public function testDoubleQuotesPublishedPagesMatchedByTitle() {
$sf = new SearchForm($this->mockController, 'SearchForm'); $sf = new SearchForm($this->mockController, 'SearchForm');
$publishedPage = $this->objFromFixture('SiteTree', 'publicPublishedPage'); $publishedPage = $this->objFromFixture('SiteTree', 'publicPublishedPage');
@ -71,7 +71,7 @@ class ZZZSearchFormTest extends FunctionalTest {
} }
/* /*
function testUnpublishedPagesNotIncluded() { public function testUnpublishedPagesNotIncluded() {
$sf = new SearchForm($this->mockController, 'SearchForm'); $sf = new SearchForm($this->mockController, 'SearchForm');
$results = $sf->getResults(null, array('Search'=>'publicUnpublishedPage')); $results = $sf->getResults(null, array('Search'=>'publicUnpublishedPage'));
@ -84,7 +84,7 @@ class ZZZSearchFormTest extends FunctionalTest {
} }
*/ */
function testPagesRestrictedToLoggedinUsersNotIncluded() { public function testPagesRestrictedToLoggedinUsersNotIncluded() {
$sf = new SearchForm($this->mockController, 'SearchForm'); $sf = new SearchForm($this->mockController, 'SearchForm');
$page = $this->objFromFixture('SiteTree', 'restrictedViewLoggedInUsers'); $page = $this->objFromFixture('SiteTree', 'restrictedViewLoggedInUsers');
@ -106,7 +106,7 @@ class ZZZSearchFormTest extends FunctionalTest {
$member->logOut(); $member->logOut();
} }
function testPagesRestrictedToSpecificGroupNotIncluded() { public function testPagesRestrictedToSpecificGroupNotIncluded() {
$sf = new SearchForm($this->mockController, 'SearchForm'); $sf = new SearchForm($this->mockController, 'SearchForm');
$page = $this->objFromFixture('SiteTree', 'restrictedViewOnlyWebsiteUsers'); $page = $this->objFromFixture('SiteTree', 'restrictedViewOnlyWebsiteUsers');
@ -138,7 +138,7 @@ class ZZZSearchFormTest extends FunctionalTest {
$member->logOut(); $member->logOut();
} }
function testInheritedRestrictedPagesNotInlucded() { public function testInheritedRestrictedPagesNotInlucded() {
$sf = new SearchForm($this->mockController, 'SearchForm'); $sf = new SearchForm($this->mockController, 'SearchForm');
$page = $this->objFromFixture('SiteTree', 'inheritRestrictedView'); $page = $this->objFromFixture('SiteTree', 'inheritRestrictedView');
@ -161,7 +161,7 @@ class ZZZSearchFormTest extends FunctionalTest {
$member->logOut(); $member->logOut();
} }
function testDisabledShowInSearchFlagNotIncludedForSiteTree() { public function testDisabledShowInSearchFlagNotIncludedForSiteTree() {
$sf = new SearchForm($this->mockController, 'SearchForm'); $sf = new SearchForm($this->mockController, 'SearchForm');
$page = $this->objFromFixture('SiteTree', 'dontShowInSearchPage'); $page = $this->objFromFixture('SiteTree', 'dontShowInSearchPage');
@ -173,7 +173,7 @@ class ZZZSearchFormTest extends FunctionalTest {
); );
} }
function testDisabledShowInSearchFlagNotIncludedForFiles() { public function testDisabledShowInSearchFlagNotIncludedForFiles() {
$sf = new SearchForm($this->mockController, 'SearchForm'); $sf = new SearchForm($this->mockController, 'SearchForm');
$dontShowInSearchFile = $this->objFromFixture('File', 'dontShowInSearchFile'); $dontShowInSearchFile = $this->objFromFixture('File', 'dontShowInSearchFile');
@ -193,7 +193,7 @@ class ZZZSearchFormTest extends FunctionalTest {
); );
} }
function testSearchTitleAndContentWithSpecialCharacters() { public function testSearchTitleAndContentWithSpecialCharacters() {
$sf = new SearchForm($this->mockController, 'SearchForm'); $sf = new SearchForm($this->mockController, 'SearchForm');
$pageWithSpecialChars = $this->objFromFixture('SiteTree', 'pageWithSpecialChars'); $pageWithSpecialChars = $this->objFromFixture('SiteTree', 'pageWithSpecialChars');

View File

@ -11,7 +11,7 @@ class FilesystemPublisherTest extends SapphireTest {
protected $orig = array(); protected $orig = array();
function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
Object::add_extension("SiteTree", "FilesystemPublisher('assets/FilesystemPublisherTest-static-folder/')"); Object::add_extension("SiteTree", "FilesystemPublisher('assets/FilesystemPublisherTest-static-folder/')");
@ -20,7 +20,7 @@ class FilesystemPublisherTest extends SapphireTest {
FilesystemPublisher::$domain_based_caching = false; FilesystemPublisher::$domain_based_caching = false;
} }
function tearDown() { public function tearDown() {
parent::tearDown(); parent::tearDown();
Object::remove_extension("SiteTree", "FilesystemPublisher('assets/FilesystemPublisherTest-static-folder/')"); Object::remove_extension("SiteTree", "FilesystemPublisher('assets/FilesystemPublisherTest-static-folder/')");
@ -32,7 +32,7 @@ class FilesystemPublisherTest extends SapphireTest {
} }
} }
function testUrlsToPathsWithRelativeUrls() { public function testUrlsToPathsWithRelativeUrls() {
$fsp = new FilesystemPublisher('.', 'html'); $fsp = new FilesystemPublisher('.', 'html');
$this->assertEquals( $this->assertEquals(
@ -54,7 +54,7 @@ class FilesystemPublisherTest extends SapphireTest {
); );
} }
function testUrlsToPathsWithAbsoluteUrls() { public function testUrlsToPathsWithAbsoluteUrls() {
$fsp = new FilesystemPublisher('.', 'html'); $fsp = new FilesystemPublisher('.', 'html');
$url = Director::absoluteBaseUrl(); $url = Director::absoluteBaseUrl();
@ -79,7 +79,7 @@ class FilesystemPublisherTest extends SapphireTest {
); );
} }
function testUrlsToPathsWithDomainBasedCaching() { public function testUrlsToPathsWithDomainBasedCaching() {
$origDomainBasedCaching = FilesystemPublisher::$domain_based_caching; $origDomainBasedCaching = FilesystemPublisher::$domain_based_caching;
FilesystemPublisher::$domain_based_caching = true; FilesystemPublisher::$domain_based_caching = true;
@ -120,7 +120,7 @@ class FilesystemPublisherTest extends SapphireTest {
* is where extension instances are set up and subsequently used by * is where extension instances are set up and subsequently used by
* {@link DataObject::defineMethods()}. * {@link DataObject::defineMethods()}.
*/ */
function testHasCalledParentConstructor() { public function testHasCalledParentConstructor() {
$fsp = new FilesystemPublisher('.', '.html'); $fsp = new FilesystemPublisher('.', '.html');
$this->assertEquals($fsp->class, 'FilesystemPublisher'); $this->assertEquals($fsp->class, 'FilesystemPublisher');
} }
@ -129,7 +129,7 @@ class FilesystemPublisherTest extends SapphireTest {
* These are a few simple tests to check that we will be retrieving the correct theme when we need it * These are a few simple tests to check that we will be retrieving the correct theme when we need it
* StaticPublishing needs to be able to retrieve a non-null theme at the time publishPages() is called. * StaticPublishing needs to be able to retrieve a non-null theme at the time publishPages() is called.
*/ */
function testStaticPublisherTheme(){ public function testStaticPublisherTheme(){
//This will be the name of the default theme of this particular project //This will be the name of the default theme of this particular project
$default_theme=SSViewer::current_theme(); $default_theme=SSViewer::current_theme();

View File

@ -36,7 +36,7 @@ class RemoveOrphanedPagesTaskTest extends FunctionalTest {
static $use_draft_site = false; static $use_draft_site = false;
function setUp() { public function setUp() {
parent::setUp(); parent::setUp();
$parent1_published = $this->objFromFixture('Page', 'parent1_published'); $parent1_published = $this->objFromFixture('Page', 'parent1_published');
@ -75,7 +75,7 @@ class RemoveOrphanedPagesTaskTest extends FunctionalTest {
$child2_1_published_orphaned->publish('Stage', 'Live'); $child2_1_published_orphaned->publish('Stage', 'Live');
} }
function testGetOrphansByStage() { public function testGetOrphansByStage() {
// all orphans // all orphans
$child1_3_orphaned = $this->objFromFixture('Page', 'child1_3_orphaned'); $child1_3_orphaned = $this->objFromFixture('Page', 'child1_3_orphaned');
$child1_4_orphaned_published = $this->objFromFixture('Page', 'child1_4_orphaned_published'); $child1_4_orphaned_published = $this->objFromFixture('Page', 'child1_4_orphaned_published');

View File

@ -43,7 +43,7 @@
// Modified by: Silverstripe Ltd. (changed naming of file-input-elements) // Modified by: Silverstripe Ltd. (changed naming of file-input-elements)
function ObservableObject() { public function ObservableObject() {
this.functions = []; this.functions = [];
} }
ObservableObject.prototype = { ObservableObject.prototype = {
@ -63,7 +63,7 @@ ObservableObject.prototype = {
var MultiSelectorObserver = new ObservableObject(); var MultiSelectorObserver = new ObservableObject();
function MultiSelector( list_target, max, upload_button ){ public function MultiSelector( list_target, max, upload_button ){
this.upload_button = upload_button; this.upload_button = upload_button;
this.upload_button.setAttribute("disabled", "disabled"); this.upload_button.setAttribute("disabled", "disabled");