From d113768d7b0be31d33f439ebd00e3bc5ee8a3d33 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Thu, 16 Oct 2008 12:21:30 +0000 Subject: [PATCH] FEATURE Added SiteTreeMaintenanceTask git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@64417 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- tasks/SiteTreeMaintenanceTask.php | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 tasks/SiteTreeMaintenanceTask.php diff --git a/tasks/SiteTreeMaintenanceTask.php b/tasks/SiteTreeMaintenanceTask.php new file mode 100644 index 00000000..c11f5b95 --- /dev/null +++ b/tasks/SiteTreeMaintenanceTask.php @@ -0,0 +1,29 @@ + 'ADMIN' + ); + + function makelinksunique() { + $badURLs = "'" . implode("', '", DB::query("SELECT URLSegment, count(*) FROM SiteTree GROUP BY URLSegment HAVING count(*) > 1")->column()) . "'"; + $pages = DataObject::get("SiteTree", "URLSegment IN ($badURLs)"); + + foreach($pages as $page) { + echo "
  • $page->Title: "; + $urlSegment = $page->URLSegment; + $page->write(); + if($urlSegment != $page->URLSegment) { + echo sprintf(_t('SiteTree.LINKSCHANGEDTO', " changed %s -> %s"), $urlSegment, $page->URLSegment); + } + else { + echo sprintf(_t('SiteTree.LINKSALREADYUNIQUE', " %s is already unique"), $urlSegment); + } + die(); + } + } +} +?> \ No newline at end of file