Source of file SitemapChecker.php
Size: 1,729 Bytes - Last Modified: 2021-12-23T10:59:41+00:00
/var/www/docs.ssmods.com/process/src/src/Tasks/SitemapChecker.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | <?php namespace Wilr\SilverStripe\Tasker\Tasks; use Wilr\SilverStripe\Tasker\Traits\TaskerFormatter; use SilverStripe\Dev\BuildTask; use SilverStripe\CMS\Model\SiteTree; use SilverStripe\Control\Director; use SilverStripe\Versioned\Versioned; class SitemapChecker extends BuildTask { use TaskerFormatter; protected $checkAdmin = true; public function run($request) { $pages = Versioned::get_by_stage(SiteTree::class, Versioned::LIVE); $total = $pages->count(); $i = 0; foreach ($pages as $page) { $i++; try { $result = Director::test($page->Link()); $count = "($i/$total)"; if ($result->getStatusCode() === 500) { $this->echoWarning($page->Link() . ' 500 Server Error '. $count); } else { $this->echoTick($page->Link() . ' '. $result->getStatusCode() . $count); } if ($this->checkAdmin) { $result = Director::test($page->CMSEditLink()); if ($result->getStatusCode() === 500) { $this->echoError( $page->CMSEditLink() . ' CMS 500 Server Error' ); } else { $this->echoSuccess( $page->CMSEditLink() . ' '. $result->getStatusCode() ); } } else { } } catch (Exception $e) { $this->echoWarning($page->Link() . ' 500 Server Error '. $count); $this->echoWarning($e->getMessage()); } } } } |