Source of file BrokenExternalLinksReport.php
Size: 2,033 Bytes - Last Modified: 2021-12-24T06:50:15+00:00
/var/www/docs.ssmods.com/process/src/code/reports/BrokenExternalLinksReport.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | <?php /** * Content side-report listing pages with external broken links * @package externallinks * @subpackage content */ class BrokenExternalLinksReport extends SS_Report { /** * Returns the report title * * @return string */ public function title() { return _t('ExternalBrokenLinksReport.EXTERNALBROKENLINKS', "External broken links report"); } public function columns() { return array( "Created" => "Checked", 'Link' => array( 'title' => 'External Link', 'formatting' => function($value, $item) { return sprintf( '<a target="_blank" href="%s">%s</a>', Convert::raw2att($item->Link), Convert::raw2xml($item->Link) ); } ), 'HTTPCodeDescription' => 'HTTP Error Code', "Title" => array( "title" => 'Page link is on', 'formatting' => function($value, $item) { $page = $item->Page(); return sprintf( '<a href="%s">%s</a>', Convert::raw2att($page->CMSEditLink()), Convert::raw2xml($page->Title) ); } ) ); } /** * Alias of columns(), to support the export to csv action * in {@link GridFieldExportButton} generateExportFileData method. * @return array */ public function getColumns() { return $this->columns(); } public function sourceRecords() { $track = BrokenExternalPageTrackStatus::get_latest(); if ($track) return $track->BrokenLinks(); return new ArrayList(); } public function getCMSFields() { Requirements::javascript('externallinks/javascript/BrokenExternalLinksReport.js'); $fields = parent::getCMSFields(); $reportResultSpan = '</ br></ br><h3 id="ReportHolder"></h3>'; $reportResult = new LiteralField('ResultTitle', $reportResultSpan); $fields->push($reportResult); $button = '<button id="externalLinksReport" type="button">%s</button>'; $runReportButton = new LiteralField( 'runReport', sprintf( $button, _t('ExternalBrokenLinksReport.RUNREPORT', 'Create new report') ) ); $fields->push($runReportButton); return $fields; } } |