diff --git a/classes/views/ComicPressSidebarStandard.php b/classes/views/ComicPressSidebarStandard.php new file mode 100644 index 0000000..02db007 --- /dev/null +++ b/classes/views/ComicPressSidebarStandard.php @@ -0,0 +1,63 @@ +all_comic_dates_ok = true; + $this->all_comic_dates = array(); + + foreach ($comicpress_manager->comic_files as $comic_file) { + if (($result = $comicpress_manager->breakdown_comic_filename(pathinfo($comic_file, PATHINFO_BASENAME))) !== false) { + if (isset($this->all_comic_dates[$result['date']])) { $this->all_comic_dates_ok = false; break; } + $this->all_comic_dates[$result['date']] = true; + } + } + + $this->too_many_comics_message = ""; + if ($this->all_comic_dates_ok) { + $this->too_many_comics_message = ", " . __("multiple files on the same date!", 'comicpress-manager') . ""; + } + + $this->subdir_path = ''; + if (($subdir = $comicpress_manager->get_subcomic_directory()) !== false) { + $this->subdir_path .= '/' . $subdir; + } + } + + function render() { + global $comicpress_manager; + + import($this->_partial_path("sidebar")); + } + + function _get_thumbnail_generation_info() { + global $comicpress_manager; + + $this->thumbnail_generation = array(); + + foreach (array('archive', 'rss') as $type) { + if ( + ($comicpress_manager->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]) + ) { + $this->thumbnail_generation[$type] = true; + } else { + $reasons = array(); + + if ($comicpress_manager->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'); + } 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'); } + } + $this->thumbnail_generation = $reasons; + } + } + } +} + +?> \ No newline at end of file diff --git a/classes/views/ComicPressSidebarStandard/sidebar.inc b/classes/views/ComicPressSidebarStandard/sidebar.inc new file mode 100644 index 0000000..4c61630 --- /dev/null +++ b/classes/views/ComicPressSidebarStandard/sidebar.inc @@ -0,0 +1,110 @@ + +
+

+ +
\ No newline at end of file diff --git a/comicpress_manager_admin.php b/comicpress_manager_admin.php index f1e9688..8ec24f6 100644 --- a/comicpress_manager_admin.php +++ b/comicpress_manager_admin.php @@ -361,146 +361,6 @@ function cpm_available_backup_files_sort($a, $b) { return ($a[1] > $b[1]) ? -1 : 1; } -/** - * Show the details of the current setup in the Sidebar. - */ -function cpm_show_comicpress_details() { - global $comicpress_manager; - - $all_comic_dates_ok = true; - $all_comic_dates = array(); - foreach ($comicpress_manager->comic_files as $comic_file) { - if (($result = $comicpress_manager->breakdown_comic_filename(pathinfo($comic_file, PATHINFO_BASENAME))) !== false) { - if (isset($all_comic_dates[$result['date']])) { $all_comic_dates_ok = false; break; } - $all_comic_dates[$result['date']] = true; - } - } - - $subdir_path = ''; - if (($subdir = $comicpress_manager->get_subcomic_directory()) !== false) { - $subdir_path .= '/' . $subdir; - } - - ?> - -
-

- -
- 1, 'option-rss' => 1, + 'scale_method' => true, + 'separate_thumbs_folder_defined' => array('rss' => true, 'archive' => true), + 'thumbs_folder_writable' => array('rss' => true, 'archive' => true), + 'result' => array('rss' => true, 'archive' => true) + ), + array( + 'option-archive' => 1, 'option-rss' => 1, + 'scale_method' => false, + 'separate_thumbs_folder_defined' => array('rss' => true, 'archive' => true), + 'thumbs_folder_writable' => array('rss' => true, 'archive' => true), + 'result' => array('rss' => array("No scaling software"), 'archive' => array("No scaling software")) + ), + array( + 'option-archive' => 0, 'option-rss' => 1, + 'scale_method' => true, + 'separate_thumbs_folder_defined' => array('rss' => true, 'archive' => true), + 'thumbs_folder_writable' => array('rss' => true, 'archive' => true), + 'result' => array('rss' => true, 'archive' => array("Generation disabled")) + ), + array( + 'option-archive' => 1, 'option-rss' => 1, + 'scale_method' => true, + 'separate_thumbs_folder_defined' => array('rss' => false, 'archive' => true), + 'thumbs_folder_writable' => array('rss' => true, 'archive' => true), + 'result' => array('rss' => array("Same as comics folder"), 'archive' => true) + ), + array( + 'option-archive' => 1, 'option-rss' => 1, + 'scale_method' => true, + 'separate_thumbs_folder_defined' => array('rss' => true, 'archive' => true), + 'thumbs_folder_writable' => array('rss' => true, 'archive' => false), + 'result' => array('rss' => true, 'archive' => array("Not writable")) + ), + ); + } + + /** + * @dataProvider providerTestThumbnailGenerationInfo + */ + function testThumbnailGenerationInfo($info) { + global $comicpress_manager; + + $comicpress_manager = $this->getMock('ComicPressManager', array('breakdown_comic_filename', 'get_subcomic_directory', 'get_cpm_option')); + + $comicpress_manager->expects($this->at(2)) + ->method('get_cpm_option') + ->with('cpm-archive-generate-thumbnails') + ->will($this->returnValue($info['option-archive'])); + $comicpress_manager->expects($this->at(3)) + ->method('get_cpm_option') + ->with('cpm-rss-generate-thumbnails') + ->will($this->returnValue($info['option-archive'])); + foreach (array('scale_method', 'separate_thumbs_folder_defined', 'thumbs_folder_writable') as $field) { + $comicpress_manager->{$field} = $info['field']; + } + $comicpress_manager->comic_files = array(); + + $s = new ComicPressSidebarStandard(); + $this->assertEquals($info['result'], $s->_get_thumbnail_generation_info()); + } +} + +?> \ No newline at end of file