mirror of
https://github.com/silverstripe/silverstripe-staticpublisher
synced 2024-10-22 14:05:54 +02:00
API: Deprecate static methods in favour of Config API.
This commit is contained in:
parent
fc1e7bd8a2
commit
20e3e5f019
@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
Deprecation::notification_version('1.0', 'staticpublisher');
|
||||
define('STATIC_MODULE_DIR', dirname(__FILE__));
|
||||
|
@ -17,6 +17,7 @@ class FilesystemPublisher extends StaticPublisher {
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @config
|
||||
*/
|
||||
private static $static_base_url = null;
|
||||
|
@ -3,22 +3,27 @@
|
||||
* @package staticpublisher
|
||||
*/
|
||||
abstract class StaticPublisher extends DataExtension {
|
||||
|
||||
/**
|
||||
* Defines whether to output information about publishing or not. By
|
||||
* default, this is off, and should be turned on when you want debugging
|
||||
* (for example, in a cron task).
|
||||
*
|
||||
* @var boolean
|
||||
*
|
||||
* @config
|
||||
*/
|
||||
protected static $echo_progress = false;
|
||||
private static $echo_progress = false;
|
||||
|
||||
/**
|
||||
* Realtime static publishing... the second a page is saved, it is
|
||||
* written to the cache.
|
||||
*
|
||||
* @var boolean
|
||||
*
|
||||
* @config
|
||||
*/
|
||||
public static $disable_realtime = false;
|
||||
private static $disable_realtime = false;
|
||||
|
||||
/**
|
||||
* This is the current static publishing theme, which can be set at any
|
||||
@ -27,8 +32,10 @@ abstract class StaticPublisher extends DataExtension {
|
||||
* _config.php
|
||||
*
|
||||
* @var string
|
||||
*
|
||||
* @config
|
||||
*/
|
||||
protected static $static_publisher_theme = false;
|
||||
private static $static_publisher_theme = false;
|
||||
|
||||
/**
|
||||
* @var boolean includes a timestamp at the bottom of the generated HTML
|
||||
@ -50,32 +57,45 @@ abstract class StaticPublisher extends DataExtension {
|
||||
abstract function unpublishPages($pages);
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @param string
|
||||
*/
|
||||
public static function set_static_publisher_theme($theme) {
|
||||
self::$static_publisher_theme=$theme;
|
||||
Deprecation::notice('1.0', 'Use the new config system. SSViewer.static_publisher_theme');
|
||||
|
||||
Config::inst()->update('StaticPublisher', 'static_publisher_theme', $theme);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function static_publisher_theme() {
|
||||
return self::$static_publisher_theme;
|
||||
Deprecation::notice('1.0', 'Use the new config system. SSViewer.static_publisher_theme');
|
||||
|
||||
return Config::inst()->get('StaticPublisher', 'static_publisher_theme');
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public static function echo_progress() {
|
||||
return (boolean)self::$echo_progress;
|
||||
Deprecation::notice('1.0', 'Use the new config system. SSViewer.static_publisher_theme');
|
||||
|
||||
return Config::inst()->get('StaticPublisher', 'echo_progress');
|
||||
}
|
||||
|
||||
/**
|
||||
* Either turns on (boolean true) or off (boolean false) the progress indicators.
|
||||
* @see StaticPublisher::$echo_progress
|
||||
* @deprecated
|
||||
*
|
||||
*/
|
||||
public static function set_echo_progress($progress) {
|
||||
self::$echo_progress = (boolean)$progress;
|
||||
Deprecation::notice('1.0', 'Use the new config system. SSViewer.static_publisher_theme');
|
||||
|
||||
Config::inst()->get('StaticPublisher', 'echo_progress', $progress);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5,7 +5,7 @@
|
||||
class RebuildStaticCacheTask extends BuildTask {
|
||||
|
||||
public function run($request) {
|
||||
StaticPublisher::set_echo_progress(true);
|
||||
Config::inst()->update('StaticPublisher', 'echo_progress', true);
|
||||
|
||||
$page = singleton('Page');
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Tests for the {@link FilesystemPublisher} class.
|
||||
*
|
||||
@ -122,6 +123,7 @@ class FilesystemPublisherTest extends SapphireTest {
|
||||
*/
|
||||
public function testHasCalledParentConstructor() {
|
||||
$fsp = new FilesystemPublisher('.', '.html');
|
||||
|
||||
$this->assertEquals($fsp->class, 'FilesystemPublisher');
|
||||
}
|
||||
|
||||
@ -146,7 +148,7 @@ class FilesystemPublisherTest extends SapphireTest {
|
||||
|
||||
//We can set the static_publishing theme to something completely different:
|
||||
//Static publishing will use this one instead of the current_custom_theme if it is not false
|
||||
StaticPublisher::set_static_publisher_theme('otherTheme');
|
||||
Config::inst()->update('StaticPublisher', 'static_publisher_theme', 'otherTheme');
|
||||
$current_theme = StaticPublisher::static_publisher_theme();
|
||||
|
||||
$this->assertNotEquals($current_theme, $default_theme, 'The static publisher theme overrides the custom theme');
|
||||
@ -166,6 +168,7 @@ class FilesystemPublisherTest extends SapphireTest {
|
||||
$l2_1->URLSegment = strtolower(__CLASS__).'-level-2-1';
|
||||
$l2_1->ParentID = $l1->ID;
|
||||
$l2_1->write();
|
||||
|
||||
$l2_1->doPublish();
|
||||
$response = Director::test($l2_1->AbsoluteLink());
|
||||
|
||||
@ -176,11 +179,15 @@ class FilesystemPublisherTest extends SapphireTest {
|
||||
$l2_2->ParentID = $l1->ID;
|
||||
$l2_2->write();
|
||||
$l2_2->doPublish();
|
||||
|
||||
$response = Director::test($l2_2->AbsoluteLink());
|
||||
$this->assertEquals(trim($response->getBody()), "linkcurrent", "current page is level 2-2");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @package staticpublisher
|
||||
*/
|
||||
class StaticPublisherTestPage extends Page implements TestOnly {
|
||||
|
||||
private static $allowed_children = array(
|
||||
@ -197,6 +204,9 @@ class StaticPublisherTestPage extends Page implements TestOnly {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @package staticpublisher
|
||||
*/
|
||||
class StaticPublisherTestPage_Controller extends Page_Controller {
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user