MediaSitemapController.php in Media Sitemap 8
File
src/Controller/MediaSitemapController.php
View source
<?php
namespace Drupal\media_sitemap\Controller;
use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\Link;
use Drupal\Core\Url;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Database\Driver\mysql\Connection;
use Drupal\Core\Config\ConfigFactory;
class MediaSitemapController extends ControllerBase {
protected $database;
protected $config_factory;
public function __construct(Connection $database, ConfigFactory $config_factory) {
$this->database = $database;
$this->config_factory = $config_factory;
}
public static function create(ContainerInterface $container) {
return new static($container
->get('database'), $container
->get('config.factory'));
}
public function listMediaSitemap() {
$output = '';
$header = array(
t('SITEMAP URL'),
t('CREATED DATE'),
t('TOTAL LINKS'),
t('ACTIONS'),
);
$rows = array();
$url = 'public://media_sitemap/image_sitemap.xml';
$url = file_create_url($url);
$image_sitemap_created = $this
->config('media_sitemap.settings')
->get('image_sitemap_created');
$image_sitemap_number_of_urls = $this
->config('media_sitemap.settings')
->get('image_sitemap_number_of_urls');
if (isset($image_sitemap_created) && isset($image_sitemap_number_of_urls)) {
$rows[] = array(
$build_link = Link::fromTextAndUrl($url, Url::fromUri($url)),
date('d-M-Y ', $image_sitemap_created),
$image_sitemap_number_of_urls,
Link::fromTextAndUrl(t('Re-generate'), Url::fromRoute('media_sitemap.media_sitemap_batch_controller_generate'))
->toString(),
);
}
$output = [
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
'#empty' => Link::fromTextAndUrl(t('Add a new media sitemap'), Url::fromRoute('media_sitemap.media_sitemap_batch_controller_generate')),
];
return $output;
}
}