diff --git a/contrib/featured/test.php b/contrib/featured/test.php new file mode 100644 index 00000000..8f700695 --- /dev/null +++ b/contrib/featured/test.php @@ -0,0 +1,23 @@ +log_in_as_user(); + $image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx computer screenshot"); + $this->log_out(); + + $this->get_page("post/view/$image_id"); + $this->click("Feature This"); + + $this->get_page("post/list"); + $this->assertText("Featured Image"); + + $this->log_in_as_admin(); + $this->delete_image($image_id); + $this->log_out(); + + # after deletion, there should be no feature + $this->get_page("post/list"); + $this->assertNoText("Featured Image"); + } +} +?> diff --git a/contrib/link_image/_style.css b/contrib/link_image/_style.css deleted file mode 100644 index 472620f6..00000000 --- a/contrib/link_image/_style.css +++ /dev/null @@ -1,41 +0,0 @@ -/* - * This file may not be distributed without its readme.txt -**/ - -/* * * Link to Image * * */ -#Link_to_Image { - /* allows borders to encompass the content; */ - overflow:hidden; -} - -#Link_to_Image fieldset { - width: 32%; - float:left; - min-width:25em; -} - -#Link_to_Image input, #Link_to_Image label { - display:block; - width:66%; - float:left; - margin-bottom:2.5px; -} - -#Link_to_Image label { - width:30%; - text-align:left; - padding-right:2%; - cursor:pointer; -} -#Link_to_Image input { - font-size:0.7em; - font-family:courier, fixed, monospace; -} - -#Link_to_Image br { - clear:both; -} - -#Link_to_Image label:hover { - border-bottom:1px dashed; -} \ No newline at end of file diff --git a/contrib/link_image/main.php b/contrib/link_image/main.php index 21b5aef3..45255132 100644 --- a/contrib/link_image/main.php +++ b/contrib/link_image/main.php @@ -12,9 +12,6 @@ class LinkImage implements Extension { if(is_null($this->theme)) $this->theme = get_theme_object($this); if(($event instanceof DisplayingImageEvent)) { - $data_href = get_base_href(); - $page->add_header("",0); - $this->theme->links_block($page, $this->data($event->image)); } if($event instanceof SetupBuildingEvent) { @@ -28,17 +25,27 @@ class LinkImage implements Extension { '$title - $id ($ext $size $filesize)'); } } + + private function hostify($str) { + $str = str_replace(" ", "%20", $str); + if(strpos($str, "ttp://") > 0) { + return $str; + } + else { + return "http://" . $_SERVER["HTTP_HOST"] . $str; + } + } private function data($image) { global $config; $text_link = $image->parse_link_template($config->get_string("ext_link-img_text-link_format")); - $text_link = $text_link==" "? null : $text_link; // null blank setting so the url gets filled in on the text links. + $text_link = trim($text_link) == "" ? null : $text_link; // null blank setting so the url gets filled in on the text links. return array( - 'thumb_src' => $image->get_thumb_link(), - 'image_src' => $image->get_image_link(), - 'post_link' => $image->get_short_link(), - 'text_link' => $text_link); + 'thumb_src' => $this->hostify($image->get_thumb_link()), + 'image_src' => $this->hostify($image->get_image_link()), + 'post_link' => $this->hostify($_SERVER["REQUEST_URI"]), + 'text_link' => $text_link); } } add_event_listener(new LinkImage()); diff --git a/contrib/link_image/theme.php b/contrib/link_image/theme.php index cbc4186e..a447f6a7 100644 --- a/contrib/link_image/theme.php +++ b/contrib/link_image/theme.php @@ -4,36 +4,55 @@ class LinkImageTheme extends Themelet { $thumb_src = $data['thumb_src']; $image_src = $data['image_src']; $post_link = $data['post_link']; - $text_link = $data['text_link']; + $text_link = $data['text_link']; + $page->add_block( new Block( "Link to Image", - "
". - "BBCode". - $this->link_code("Text Link",$this->url($post_link, $text_link,"ubb"),"ubb_text-link"). - $this->link_code("Thumbnail Link",$this->url($post_link, $this->img($thumb_src,"ubb"),"ubb"),"ubb_thumb-link"). - $this->link_code("Inline Image", $this->img($image_src,"ubb"), "ubb_full-img"). - "
". + " + - "
". - "HTML". - $this->link_code("Text Link", $this->url($post_link, $text_link,"html"), "html_text-link"). - $this->link_code("Thumbnail Link", $this->url($post_link,$this->img($thumb_src,"html"),"html"), "html_thumb-link"). - $this->link_code("Inline Image", $this->img($image_src,"html"), "html_full-image"). - "
". + - "
". - "Plain Text". - $this->link_code("Post URL",$post_link,"text_post-link"). - $this->link_code("Thumbnail URL",$thumb_src,"text_thumb-url"). - $this->link_code("Image URL",$image_src,"text_image-src"). - "
", + + + + +
+ BBCode + + ". + $this->link_code("Link",$this->url($post_link, $text_link,"ubb"),"ubb_text-link"). + $this->link_code("Thumb",$this->url($post_link, $this->img($thumb_src,"ubb"),"ubb"),"ubb_thumb-link"). + $this->link_code("Image", $this->img($image_src,"ubb"), "ubb_full-img"). + " +
+
+ HTML + + ". + $this->link_code("Link", $this->url($post_link, $text_link,"html"), "html_text-link"). + $this->link_code("Thumb", $this->url($post_link,$this->img($thumb_src,"html"),"html"), "html_thumb-link"). + $this->link_code("Image", $this->img($image_src,"html"), "html_full-image"). + " +
+
+ Plain Text + + ". + $this->link_code("Link",$post_link,"text_post-link"). + $this->link_code("Thumb",$thumb_src,"text_thumb-url"). + $this->link_code("Image",$image_src,"text_image-src"). + " +
+
+ ", "main", 50)); } protected function url ($url,$content,$type) { - if ($content == NULL) {$content=$url;} + if ($content == NULL) {$content=$url;} switch ($type) { case "html": @@ -62,9 +81,14 @@ class LinkImageTheme extends Themelet { return $text; } - protected function link_code($label,$content,$id=NULL) { - return "\n". - "\n
\n"; + protected function link_code($label,$content,$id=NULL) { + return " + + + + + "; } } ?> diff --git a/contrib/piclens/main.php b/contrib/piclens/main.php deleted file mode 100644 index aa5e90ea..00000000 --- a/contrib/piclens/main.php +++ /dev/null @@ -1,30 +0,0 @@ - - * License: GPLv2 - * Description: Adds a link to piclensify the gallery - * Documentation: - * This extension only provides a button to the javascript - * version of the gallery; the "RSS for Images" extension - * is piclens-compatible to start with. (And that extension - * must be active for this one to do anything useful) - */ -class PicLens implements Extension { - public function receive_event(Event $event) { - global $page; - if($event instanceof PageRequestEvent) { - $page->add_header(""); - } - if($event instanceof PostListBuildingEvent) { - $foo=' - Start Slideshow - PicLens'; - $page->add_block(new Block("PicLens", $foo, "left", 20)); - } - } -} -add_event_listener(new PicLens()); -?> diff --git a/contrib/simpletest/main.php b/contrib/simpletest/main.php index da656203..4747045d 100644 --- a/contrib/simpletest/main.php +++ b/contrib/simpletest/main.php @@ -15,13 +15,17 @@ define('USER_PASS', "test"); define('ADMIN_NAME', "demo"); define('ADMIN_PASS', "demo"); -class ShimmieWebTestCase extends WebTestCase { +class SCoreWebTestCase extends WebTestCase { protected function get_page($page) { $url = "http://".$_SERVER["HTTP_HOST"].get_base_href().'/'.make_link($page); $url = str_replace("/./", "/", $url); $this->get($url); - $this->assertNoText(".php on line"); + $this->assertNoText("Exception:"); + $this->assertNoText("Error:"); + $this->assertNoText("Warning:"); + $this->assertNoText("Notice:"); } + protected function log_in_as_user() { $this->get_page('post/list'); $this->assertText("Login"); @@ -42,7 +46,9 @@ class ShimmieWebTestCase extends WebTestCase { $this->get_page('post/list'); $this->click('Log Out'); } +} +class ShimmieWebTestCase extends SCoreWebTestCase { protected function post_image($filename, $tags) { $image_id = -1; $this->setMaximumRedirects(0); diff --git a/contrib/site_description/test.php b/contrib/site_description/test.php new file mode 100644 index 00000000..ee20d2ec --- /dev/null +++ b/contrib/site_description/test.php @@ -0,0 +1,17 @@ +log_in_as_admin(); + $this->get_page('setup'); + $this->assertTitle("Shimmie Setup"); + $this->setField("_config_site_description", "A Shimmie testbed"); + $this->click("Save Settings") + + $raw_headers = $this->getBrowser()->getHeaders(); + $header = ''; + $this->assertTrue(strpos($raw_headers, $header) > 0); + + $this->log_out(); + } +} +?> diff --git a/contrib/word_filter/test.php b/contrib/word_filter/test.php index e84c8882..ef9fe30b 100644 --- a/contrib/word_filter/test.php +++ b/contrib/word_filter/test.php @@ -53,21 +53,4 @@ class WordFilterTest extends ShimmieWebTestCase { $this->log_out(); } } - -if(!defined(VERSION)) return; - -class WordFilterUnitTest extends UnitTestCase { - public function testURL() { - $this->assertEqual( - $this->filter("whore"), - "nice lady"); - } - - private function filter($in) { - $bb = new WordFilter(); - $tfe = new TextFormattingEvent($in); - $bb->receive_event($tfe); - return $tfe->formatted; - } -} ?> diff --git a/core/page.class.php b/core/page.class.php index 9e294a19..3686d3a9 100644 --- a/core/page.class.php +++ b/core/page.class.php @@ -123,10 +123,7 @@ class GenericPage { case "page": header("Cache-control: no-cache"); usort($this->blocks, "blockcmp"); - $data_href = get_base_href(); - foreach(glob("lib/*.js") as $js) { - $this->add_header(""); - } + $this->add_auto_headers(); $layout = new Layout(); $layout->display_page($page); break; @@ -145,5 +142,26 @@ class GenericPage { break; } } + + private function add_auto_headers() { + $data_href = get_base_href(); + foreach(glob("lib/*.js") as $js) { + $this->add_header(""); + } + + $css_files = glob("ext/*/style.css"); + if($css_files) { + foreach($css_files as $css_file) { + $this->add_header(""); + } + } + + $js_files = glob("ext/*/script.js"); + if($js_files) { + foreach($js_files as $js_file) { + $this->add_header(""); + } + } + } } ?> diff --git a/ext/load_ext_data/main.php b/ext/load_ext_data/main.php deleted file mode 100644 index 82681786..00000000 --- a/ext/load_ext_data/main.php +++ /dev/null @@ -1,22 +0,0 @@ -add_header(""); - } - } - - $js_files = glob("ext/*/script.js"); - if($js_files) { - foreach($js_files as $js_file) { - $page->add_header(""); - } - } - } -} -?> diff --git a/ext/tag_edit/test.php b/ext/tag_edit/test.php new file mode 100644 index 00000000..48b5b1a5 --- /dev/null +++ b/ext/tag_edit/test.php @@ -0,0 +1,18 @@ +log_in_as_user(); + $image_id = $this->post_image("ext/simpletest/data/pbx_screenshot.jpg", "pbx"); + $this->get_page("post/view/$image_id"); + $this->assertTitle("Image $image_id: pbx"); + $this->setField("tag_edit__tags", "new"); + $this->click("Set"); + $this->assertTitle("Image $image_id: new"); + $this->log_out(); + + $this->log_in_as_admin(); + $this->delete_image($image_id); + $this->log_out(); + } +} +?>