mirror of
https://github.com/wilr/silverstripe-googlesitemaps.git
synced 2024-10-22 11:05:48 +02:00
FIX Apply PSR-2 linting ruleset and phpcs configuration
This commit is contained in:
parent
d1d5c2b268
commit
450283bd1b
10
phpcs.xml.dist
Normal file
10
phpcs.xml.dist
Normal file
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ruleset name="SilverStripe">
|
||||
<description>CodeSniffer ruleset for SilverStripe coding conventions.</description>
|
||||
|
||||
<!-- base rules are PSR-2 -->
|
||||
<rule ref="PSR2" >
|
||||
<!-- Current exclusions -->
|
||||
<exclude name="PSR1.Methods.CamelCapsMethodName" />
|
||||
</rule>
|
||||
</ruleset>
|
@ -68,7 +68,11 @@ class GoogleSitemapController extends Controller
|
||||
$class = $this->unsanitiseClassName($this->request->param('ID'));
|
||||
$page = $this->request->param('OtherID');
|
||||
|
||||
if (GoogleSitemap::enabled() && $class && $page && ($class == SiteTree::class || $class == 'GoogleSitemapRoute' || GoogleSitemap::is_registered($class))) {
|
||||
if (GoogleSitemap::enabled()
|
||||
&& $class
|
||||
&& $page
|
||||
&& ($class == SiteTree::class || $class == 'GoogleSitemapRoute' || GoogleSitemap::is_registered($class))
|
||||
) {
|
||||
$this->getResponse()->addHeader('Content-Type', 'application/xml; charset="utf-8"');
|
||||
$this->getResponse()->addHeader('X-Robots-Tag', 'noindex');
|
||||
|
||||
@ -78,9 +82,9 @@ class GoogleSitemapController extends Controller
|
||||
return array(
|
||||
'Items' => $items
|
||||
);
|
||||
} else {
|
||||
return new HTTPResponse('Page not found', 404);
|
||||
}
|
||||
|
||||
return new HTTPResponse('Page not found', 404);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -42,8 +42,9 @@ class GoogleSitemapExtension extends DataExtension
|
||||
return false;
|
||||
}
|
||||
|
||||
// Allow override. In this case, since this can return multiple results, we'll use an "and" based policy. That is
|
||||
// if any value is false then the current value will be false. Only only if all are true will we then return true.
|
||||
// Allow override. In this case, since this can return multiple results, we'll use an "and" based policy.
|
||||
// That is if any value is false then the current value will be false. Only only if all are true will we
|
||||
// then return true.
|
||||
$override = $this->owner->invokeWithExtensions('alterCanIncludeInGoogleSitemap', $can);
|
||||
|
||||
if ($override) {
|
||||
|
@ -39,14 +39,26 @@ class GoogleSitemapSiteTreeExtension extends GoogleSitemapExtension
|
||||
$tabset = $fields->findOrMakeTab('Root.Settings');
|
||||
|
||||
$message = "<p>";
|
||||
$message .= sprintf(_t('GoogleSitemaps.METANOTEPRIORITY', "Manually specify a Google Sitemaps priority for this page (%s)"),
|
||||
'<a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=71936#prioritize" target="_blank">?</a>'
|
||||
$message .= sprintf(
|
||||
_t(
|
||||
'GoogleSitemaps.METANOTEPRIORITY',
|
||||
"Manually specify a Google Sitemaps priority for this page (%s)"
|
||||
),
|
||||
'<a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=71936#prioritize" '
|
||||
. 'target="_blank">?</a>'
|
||||
);
|
||||
$message .= "</p>";
|
||||
|
||||
$tabset->push(new Tab('GoogleSitemap', _t('GoogleSitemaps.TABGOOGLESITEMAP', 'Google Sitemap'),
|
||||
new LiteralField("GoogleSitemapIntro", $message),
|
||||
$priority = new DropdownField("Priority", $this->owner->fieldLabel('Priority'), $prorities, $this->owner->Priority)
|
||||
$tabset->push(new Tab(
|
||||
'GoogleSitemap',
|
||||
_t('GoogleSitemaps.TABGOOGLESITEMAP', 'Google Sitemap'),
|
||||
LiteralField::create("GoogleSitemapIntro", $message),
|
||||
$priority = DropdownField::create(
|
||||
"Priority",
|
||||
$this->owner->fieldLabel('Priority'),
|
||||
$prorities,
|
||||
$this->owner->Priority
|
||||
)
|
||||
));
|
||||
|
||||
$priority->setEmptyString(_t('GoogleSitemaps.PRIORITYAUTOSET', 'Auto-set based on page depth'));
|
||||
|
@ -42,15 +42,15 @@ use ReflectionException;
|
||||
* e.g mysite/_config/googlesitemaps.yml
|
||||
*
|
||||
* <example>
|
||||
* ---
|
||||
* Name: customgooglesitemaps
|
||||
* After: googlesitemaps
|
||||
* ---
|
||||
* Wilr\GoogleSitemaps\GoogleSitemap:
|
||||
* enabled: true
|
||||
* objects_per_sitemap: 1000
|
||||
* google_notification_enabled: true
|
||||
* use_show_in_search: true
|
||||
* ---
|
||||
* Name: customgooglesitemaps
|
||||
* After: googlesitemaps
|
||||
* ---
|
||||
* Wilr\GoogleSitemaps\GoogleSitemap:
|
||||
* enabled: true
|
||||
* objects_per_sitemap: 1000
|
||||
* google_notification_enabled: true
|
||||
* use_show_in_search: true
|
||||
* </example>
|
||||
*
|
||||
* @see http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=34609
|
||||
@ -249,11 +249,11 @@ class GoogleSitemap
|
||||
if ($class == 'SilverStripe\CMS\Model\SiteTree') {
|
||||
$instances = Versioned::get_by_stage('SilverStripe\CMS\Model\SiteTree', 'Live');
|
||||
|
||||
if($filter) {
|
||||
if ($filter) {
|
||||
$instances = $instances->filter('ShowInSearch', 1);
|
||||
}
|
||||
|
||||
if($redirector) {
|
||||
if ($redirector) {
|
||||
foreach (ClassInfo::subclassesFor('SilverStripe\\CMS\\Model\\RedirectorPage') as $redirectorClass) {
|
||||
$instances = $instances->exclude('ClassName', $redirectorClass);
|
||||
}
|
||||
@ -473,15 +473,19 @@ class GoogleSitemap
|
||||
));
|
||||
|
||||
$googleResponse = self::send_ping(
|
||||
"www.google.com", "/webmasters/sitemaps/ping", sprintf("sitemap=%s", $location)
|
||||
"www.google.com",
|
||||
"/webmasters/sitemaps/ping",
|
||||
sprintf("sitemap=%s", $location)
|
||||
);
|
||||
|
||||
// bing
|
||||
$bing = Config::inst()->get(__CLASS__, 'bing_notification_enabled');
|
||||
|
||||
if($bing) {
|
||||
if ($bing) {
|
||||
$bingResponse = self::send_ping(
|
||||
"www.bing.com", "/ping", sprintf("sitemap=%s", $location)
|
||||
"www.bing.com",
|
||||
"/ping",
|
||||
sprintf("sitemap=%s", $location)
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -2,22 +2,21 @@
|
||||
|
||||
namespace Wilr\GoogleSitemaps\Tests;
|
||||
|
||||
use Exception;
|
||||
use SilverStripe\CMS\Model\SiteTree;
|
||||
use SilverStripe\Control\Director;
|
||||
use SilverStripe\Core\Config\Config;
|
||||
use SilverStripe\Dev\FunctionalTest;
|
||||
use SilverStripe\Dev\TestOnly;
|
||||
use SilverStripe\Forms\DropdownField;
|
||||
use SilverStripe\Forms\LiteralField;
|
||||
use SilverStripe\Forms\Tab;
|
||||
use SilverStripe\ORM\DataObject;
|
||||
use SilverStripe\ORM\DB;
|
||||
use SilverStripe\Versioned\Versioned;
|
||||
use Wilr\GoogleSitemaps\GoogleSitemap;
|
||||
use Wilr\GoogleSitemaps\Extensions\GoogleSitemapExtension;
|
||||
use Wilr\GoogleSitemaps\Tests\Model\TestDataObject;
|
||||
use Wilr\GoogleSitemaps\GoogleSitemap;
|
||||
use Wilr\GoogleSitemaps\Tests\Model\OtherDataObject;
|
||||
use Wilr\GoogleSitemaps\Tests\Model\TestDataObject;
|
||||
use Wilr\GoogleSitemaps\Tests\Model\UnviewableDataObject;
|
||||
use Exception;
|
||||
|
||||
class GoogleSitemapTest extends FunctionalTest
|
||||
{
|
||||
@ -117,14 +116,32 @@ class GoogleSitemapTest extends FunctionalTest
|
||||
|
||||
// the sitemap should contain <loc> to both those files and not the other
|
||||
// dataobject as it hasn't been registered
|
||||
$expected = "<loc>". Director::absoluteURL("sitemap.xml/sitemap/Wilr-GoogleSitemaps-Tests-Model-TestDataObject/1") ."</loc>";
|
||||
$this->assertEquals(1, substr_count($body, $expected), 'A link to GoogleSitemapTest_DataObject exists');
|
||||
$expected = "<loc>". Director::absoluteURL(
|
||||
"sitemap.xml/sitemap/Wilr-GoogleSitemaps-Tests-Model-TestDataObject/1"
|
||||
) ."</loc>";
|
||||
$this->assertEquals(
|
||||
1,
|
||||
substr_count($body, $expected),
|
||||
'A link to GoogleSitemapTest_DataObject exists'
|
||||
);
|
||||
|
||||
$expected = "<loc>". Director::absoluteURL("sitemap.xml/sitemap/Wilr-GoogleSitemaps-Tests-Model-OtherDataObject/1") ."</loc>";
|
||||
$this->assertEquals(1, substr_count($body, $expected), 'A link to GoogleSitemapTest_OtherDataObject exists');
|
||||
$expected = "<loc>". Director::absoluteURL(
|
||||
"sitemap.xml/sitemap/Wilr-GoogleSitemaps-Tests-Model-OtherDataObject/1"
|
||||
) ."</loc>";
|
||||
$this->assertEquals(
|
||||
1,
|
||||
substr_count($body, $expected),
|
||||
'A link to GoogleSitemapTest_OtherDataObject exists'
|
||||
);
|
||||
|
||||
$expected = "<loc>". Director::absoluteURL("sitemap.xml/sitemap/Wilr-GoogleSitemaps-Tests-Model-UnviewableDataObject/2") ."</loc>";
|
||||
$this->assertEquals(0, substr_count($body, $expected), 'A link to a GoogleSitemapTest_UnviewableDataObject does not exist');
|
||||
$expected = "<loc>". Director::absoluteURL(
|
||||
"sitemap.xml/sitemap/Wilr-GoogleSitemaps-Tests-Model-UnviewableDataObject/2"
|
||||
) ."</loc>";
|
||||
$this->assertEquals(
|
||||
0,
|
||||
substr_count($body, $expected),
|
||||
'A link to a GoogleSitemapTest_UnviewableDataObject does not exist'
|
||||
);
|
||||
}
|
||||
|
||||
public function testLastModifiedDateOnRootXML()
|
||||
@ -151,7 +168,11 @@ class GoogleSitemapTest extends FunctionalTest
|
||||
|
||||
$expected = '<lastmod>2014-03-14</lastmod>';
|
||||
|
||||
$this->assertEquals(1, substr_count($body, $expected), 'The last mod date should use most recent LastEdited date');
|
||||
$this->assertEquals(
|
||||
1,
|
||||
substr_count($body, $expected),
|
||||
'The last mod date should use most recent LastEdited date'
|
||||
);
|
||||
}
|
||||
|
||||
public function testIndexFilePaginatedSitemapFiles()
|
||||
@ -162,11 +183,23 @@ class GoogleSitemapTest extends FunctionalTest
|
||||
|
||||
$response = $this->get('sitemap.xml');
|
||||
$body = $response->getBody();
|
||||
$expected = "<loc>". Director::absoluteURL("sitemap.xml/sitemap/Wilr-GoogleSitemaps-Tests-Model-TestDataObject/1") ."</loc>";
|
||||
$this->assertEquals(1, substr_count($body, $expected), 'A link to the first page of GoogleSitemapTest_DataObject exists');
|
||||
$expected = "<loc>". Director::absoluteURL(
|
||||
"sitemap.xml/sitemap/Wilr-GoogleSitemaps-Tests-Model-TestDataObject/1"
|
||||
) ."</loc>";
|
||||
$this->assertEquals(
|
||||
1,
|
||||
substr_count($body, $expected),
|
||||
'A link to the first page of GoogleSitemapTest_DataObject exists'
|
||||
);
|
||||
|
||||
$expected = "<loc>". Director::absoluteURL("sitemap.xml/sitemap/Wilr-GoogleSitemaps-Tests-Model-TestDataObject/2") ."</loc>";
|
||||
$this->assertEquals(1, substr_count($body, $expected), 'A link to the second page GoogleSitemapTest_DataObject exists');
|
||||
$expected = "<loc>". Director::absoluteURL(
|
||||
"sitemap.xml/sitemap/Wilr-GoogleSitemaps-Tests-Model-TestDataObject/2"
|
||||
) ."</loc>";
|
||||
$this->assertEquals(
|
||||
1,
|
||||
substr_count($body, $expected),
|
||||
'A link to the second page GoogleSitemapTest_DataObject exists'
|
||||
);
|
||||
|
||||
Config::inst()->update(GoogleSitemap::class, 'objects_per_sitemap', $original);
|
||||
}
|
||||
@ -218,7 +251,7 @@ class GoogleSitemapTest extends FunctionalTest
|
||||
$this->assertDOSContains(array(
|
||||
array('Title' => 'Testpage1'),
|
||||
array('Title' => 'Testpage2')
|
||||
), GoogleSitemap::get_items('\SilverStripe\CMS\Model\SiteTree'), "There should be 2 pages in the sitemap after publishing");
|
||||
), GoogleSitemap::inst()->getItems(SiteTree::class), "There should be 2 pages in the sitemap after publishing");
|
||||
|
||||
// check if we make a page readonly that it is hidden
|
||||
$page2->CanViewType = 'LoggedInUsers';
|
||||
@ -229,7 +262,7 @@ class GoogleSitemapTest extends FunctionalTest
|
||||
|
||||
$this->assertDOSEquals(array(
|
||||
array('Title' => 'Testpage1')
|
||||
), GoogleSitemap::get_items('\SilverStripe\CMS\Model\SiteTree'), "There should be only 1 page, other is logged in only");
|
||||
), GoogleSitemap::inst()->getItems(SiteTree::class), "There should be only 1 page, other is logged in only");
|
||||
}
|
||||
|
||||
public function testAccess()
|
||||
|
@ -6,7 +6,6 @@ use SilverStripe\ORM\DataObject;
|
||||
use SilverStripe\Dev\TestOnly;
|
||||
use SilverStripe\Control\Director;
|
||||
|
||||
|
||||
class TestDataObject extends DataObject implements TestOnly
|
||||
{
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user