Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560 [2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85 [3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50 [4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13 [5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
| Server IP : 94.177.8.99 / Your IP : 216.73.217.165 Web Server : Apache/2.4.58 (Ubuntu) System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/theyoungdesigners_com/modules/sitemap/ |
Upload File : |
<?php
namespace modules\sitemap;
class main extends \moduleMain {
use \modules\output\traits {
\modules\output\traits::__construct as __ConstructOutput;
}
use \modules\database\traits {
\modules\database\traits::__construct as __ConstructDatabase;
}
use \modules\input\traits {
\modules\input\traits::__construct as __ConstructInput;
}
protected $url;
public function __construct() {
parent::__construct(__DIR__);
$this->__ConstructDatabase();
$this->__ConstructInput();
$this->__ConstructOutput();
$this->url = $this->Hostname(TRUE);
}
public function Activate() {
$this->link('/robots.txt', [$this, '__robots_txt']);
$this->link('/home/sitemap.xml', [$this, '__sitemap_xml']);
hook_add('cms.fields', [$this, '__prepare_content'], 54);
hook_add('cms.save', [$this, '__save_content']);
hook_add('menu.admin', [$this, '__admin_menu']);
}
public function __prepare_content($model_cms) {
$model_cms->AddTab('Layout',
$model_cms->AddField_Checkbox('sitemap', 'Include in Sitemap?')
);
}
public function __save_content($post, $sender) {
$sitemap = empty($post['sitemap']) ? 0 : intval($post['sitemap']);
$extra = $sender->Extra();
$extra['sitemap'] = $sitemap;
$sender->Extra($extra);
}
public function __admin_menu(&$menu) {
$menu[] = [
'caption' => 'Google Search Console',
'href' => 'https://search.google.com/search-console?utm_source=about-page&resource_id=' . $this->url . '/',
'icon' => '<i class="fab fa-google"></i>',
's' => 0
];
}
public function __robots_txt() {
header('Content-type: text/plain');
echo <<<BLOCK
sitemap: {$this->url}/home/sitemap.xml
User-agent: *
Disallow: /cgi-bin/
BLOCK;
exit;
}
public function __sitemap_xml() {
$dt = date('c');
$maps = '';
$entries = hook_execute('output.sitemap', []);
foreach($entries as $map) {
$maps .= <<<BLOCK
<sitemap>
<loc>{$this->url}{$map}</loc>
<lastmod>$dt</lastmod>
</sitemap>
BLOCK;
}
// main index to all sections
header('Content-type: application/xml; charset=UTF-8');
echo <<<BLOCK
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{$maps}
</sitemapindex>
BLOCK;
exit;
}
private function _GenerateSitemapEntry($uri, $lastmod, $frequency = FALSE) {
$dt = date('c', $lastmod);
if ($frequency !== FALSE) {
$frequency = "\n\t\t<changefreq>$frequency</changefreq>";
} else {
$frequency = '';
}
return <<<BLOCK
<url>
<loc>{$this->url}$uri</loc>
<lastmod>$dt</lastmod>$frequency
</url>
BLOCK;
}
}