diff --git a/classes/views/ComicPressSidebarStandard.php b/classes/views/ComicPressSidebarStandard.php
index 56214ab..74a3e2c 100644
--- a/classes/views/ComicPressSidebarStandard.php
+++ b/classes/views/ComicPressSidebarStandard.php
@@ -31,14 +31,38 @@ class ComicPressSidebarStandard extends ComicPressView {
}
}
- function render() {
- global $comicpress_manager;
-
+ function init() {
$this->_get_subdir_path();
$this->_all_comic_dates_ok();
$this->_get_thumbnail_generation_info();
+ }
+
+ function render() {
+ global $comicpress_manager, $comicpress_manager_admin;
- import($this->_partial_path("sidebar"));
+ foreach (array(
+ 'comiccat' => 'comic_category',
+ 'blogcat' => 'blog_category'
+ ) as $param => $field) {
+ $result = false;
+ if (isset($comicpress_manager->properties[$param])) {
+ $check = $comicpress_manager->properties[$param];
+ if (!is_array($check)) { $check = array($check); }
+
+ $result = array();
+ foreach ($check as $cat_id) {
+ $category = get_category($cat_id);
+ if (!is_wp_error($category)) {
+ $result[] = $category;
+ } else {
+ $result = false; break;
+ }
+ }
+ }
+ $this->{$field} = $result;
+ }
+
+ include($this->_partial_path("sidebar"));
}
function _get_thumbnail_generation_info() {
diff --git a/classes/views/ComicPressSidebarStandard/sidebar.inc b/classes/views/ComicPressSidebarStandard/sidebar.inc
index 4c61630..e0448e0 100644
--- a/classes/views/ComicPressSidebarStandard/sidebar.inc
+++ b/classes/views/ComicPressSidebarStandard/sidebar.inc
@@ -29,53 +29,48 @@
__('Archive folder:', 'comicpress-manager'),
'rss' => __('RSS feed folder:', 'comicpress-manager'))
as $type => $title) { ?>
-
properties["${type}_comic_folder"] . $subdir_path; ?>
- scale_method !== false) &&
- ($comicpress_manager->get_cpm_option("cpm-${type}-generate-thumbnails") == 1) &&
- ($comicpress_manager->separate_thumbs_folder_defined[$type]) &&
- ($comicpress_manager->thumbs_folder_writable[$type])
- ) { ?>
- ()
- scale_method == false) { $reasons[] = __("No scaling software", 'comicpress-manager'); }
- if ($comicpress_manager->get_cpm_option("cpm-${type}-generate-thumbnails") == 0) {
- $reasons[] = __("Generation disabled", 'comicpress-manager');
+
+
+ properties["${type}_comic_folder"] . $subdir_path; ?>
+ (thumbnail_generation[$type] === true) {
+ echo "";
+ _e('generating', 'comicpress-manager');
+ echo "";
} else {
- if (!$comicpress_manager->separate_thumbs_folder_defined[$type]) { $reasons[] = __("Same as comics folder", 'comicpress-manager'); }
- if (!$comicpress_manager->thumbs_folder_writable[$type]) { $reasons[] = __("Not writable", 'comicpress-manager'); }
+ echo 'thumbnail_generation[$type]) . '">';
+ _e('not generating', 'comicpress-manager');
+ echo "";
}
- ?>
- (">not generating)
-
+ ?>)
-
- properties['comiccat']) && count($comicpress_manager->properties['comiccat']) != 1) {
- _e("Comic categories:", 'comicpress-manager');
- } else {
- _e("Comic category:", 'comicpress-manager');
- }
- ?>
- properties['comiccat'])) { ?>
-
- properties['comiccat'] as $cat_id) { ?>
- -
-
-
-
-
- category_info['comiccat']['name'] ?>
- properties['comiccat']) ?>
-
-
-
- category_info['blogcat']['name'] ?> properties['blogcat']) ?>
+ __("Comic categories:", 'comicpress-manager'),
+ 'blog_category' => __("Blog categories:", 'comicpress-manager'))
+ as $type => $title) { ?>
+
+
+ {$type} === false) { ?>
+ Not defined!
+
+
+ properties['comiccat'])) { ?>
+
+ properties['comiccat'] as $cat_id) { ?>
+ -
+
+
+
+
+ category_info['comiccat']['name'] ?>
+ properties['comiccat']) ?>
+
+
+
+
+
@@ -103,7 +98,7 @@
()
-
+ show_debug_info() ?>
diff --git a/test/ComicPressSidebarStandardTest.php b/test/ComicPressSidebarStandardTest.php
index 388c27f..5327c03 100644
--- a/test/ComicPressSidebarStandardTest.php
+++ b/test/ComicPressSidebarStandardTest.php
@@ -113,10 +113,52 @@ class ComicPressSidebarStandardTest extends PHPUnit_Framework_TestCase {
$this->assertEquals($info['result'], $result);
}
- function testRender() {
- global $comicpress_manager;
+ function testRenderCategoryIssues() {
+ global $comicpress_manager, $comicpress_manager_admin;
- //
+ $s = new ComicPressSidebarStandard();
+ $s->thumbnail_generation = array('rss' => true, 'archive' => array("test"));
+
+ $comicpress_manager_admin = $this->getMock('ComicPressManagerAdmin', array('show_debug_info'));
+
+ ob_start();
+ $s->render();
+ $source = ob_get_clean();
+
+ $this->assertTrue(($xml = _to_xml($source, true)) !== false);
+ $this->assertFalse($s->comic_category);
+ $this->assertFalse($s->blog_category);
+
+ foreach (array(
+ '//em[text()="Not defined!"]/../strong[text()="Comic categories:"]' => true,
+ '//em[text()="Not defined!"]/../strong[text()="Blog categories:"]' => true,
+ ) as $xpath => $value) {
+ $this->assertTrue(_xpath_test($xml, $xpath, $value), $xpath);
+ }
+ }
+
+ function testRenderGenerationStates() {
+ global $comicpress_manager, $comicpress_manager_admin;
+
+ add_category(1, (object)array('name' => 'Comics'));
+ add_category(2, (object)array('name' => 'Blog'));
+
+ $s = new ComicPressSidebarStandard();
+ $s->thumbnail_generation = array('rss' => true, 'archive' => array("test"));
+
+ $comicpress_manager_admin = $this->getMock('ComicPressManagerAdmin', array('show_debug_info'));
+
+ ob_start();
+ $s->render();
+ $source = ob_get_clean();
+
+ $this->assertTrue(($xml = _to_xml($source, true)) !== false);
+ foreach (array(
+ ) as $xpath => $value) {
+ $this->assertTrue(_xpath_test($xml, $xpath, $value), $xpath);
+ }
+
+ $this->markTestIncomplete();
}
}