Merge branch 'master' of github.com:shish/shimmie2
This commit is contained in:
		
						commit
						e89c14c72c
					
				| @ -11,7 +11,16 @@ class BaseThemelet { | |||||||
| 		$page->add_http_header("HTTP/1.0 $code $title"); | 		$page->add_http_header("HTTP/1.0 $code $title"); | ||||||
| 		$page->set_title($title); | 		$page->set_title($title); | ||||||
| 		$page->set_heading($title); | 		$page->set_heading($title); | ||||||
| 		$page->add_block(new NavBlock()); | 		$has_nav = false; | ||||||
|  | 		foreach($page->blocks as $block) { | ||||||
|  | 			if($block->header == "Navigation") { | ||||||
|  | 				$has_nav = true; | ||||||
|  | 				break; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 		if(!$has_nav) { | ||||||
|  | 			$page->add_block(new NavBlock()); | ||||||
|  | 		} | ||||||
| 		$page->add_block(new Block("Error", $message)); | 		$page->add_block(new Block("Error", $message)); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -386,10 +386,24 @@ function mtimefile($file) { | |||||||
| 	return "$data_href/$file?$mtime"; | 	return "$data_href/$file?$mtime"; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | /* | ||||||
|  |  * like glob, with support for matching very long patterns with braces | ||||||
|  |  */ | ||||||
| function zglob($pattern) { | function zglob($pattern) { | ||||||
| 	$r = glob($pattern); | 	$results = array(); | ||||||
| 	if($r) return $r; | 	if(preg_match('/(.*)\{(.*)\}(.*)/', $pattern, $matches)) { | ||||||
| 	else return array(); | 		$braced = explode(",", $matches[2]); | ||||||
|  | 		foreach($braced as $b) { | ||||||
|  | 			$sub_pattern = $matches[1].$b.$matches[3]; | ||||||
|  | 			$results = array_merge($results, zglob($sub_pattern)); | ||||||
|  | 		} | ||||||
|  | 		return $results; | ||||||
|  | 	} | ||||||
|  | 	else { | ||||||
|  | 		$r = glob($pattern); | ||||||
|  | 		if($r) return $r; | ||||||
|  | 		else return array(); | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -1088,8 +1102,8 @@ function _get_themelet_files($_theme) { | |||||||
| 	$base_themelets[] = 'themes/'.$_theme.'/layout.class.php'; | 	$base_themelets[] = 'themes/'.$_theme.'/layout.class.php'; | ||||||
| 	$base_themelets[] = 'themes/'.$_theme.'/themelet.class.php'; | 	$base_themelets[] = 'themes/'.$_theme.'/themelet.class.php'; | ||||||
| 
 | 
 | ||||||
| 	$ext_themelets = glob("ext/{".ENABLED_EXTS."}/theme.php", GLOB_BRACE); | 	$ext_themelets = zglob("ext/{".ENABLED_EXTS."}/theme.php"); | ||||||
| 	$custom_themelets = glob('themes/'.$_theme.'/{'.ENABLED_EXTS.'}.theme.php', GLOB_BRACE); | 	$custom_themelets = zglob('themes/'.$_theme.'/{'.ENABLED_EXTS.'}.theme.php'); | ||||||
| 
 | 
 | ||||||
| 	return array_merge($base_themelets, $ext_themelets, $custom_themelets); | 	return array_merge($base_themelets, $ext_themelets, $custom_themelets); | ||||||
| } | } | ||||||
|  | |||||||
| @ -54,7 +54,7 @@ class ET extends Extension { | |||||||
| 		$info['thumb_quality']	= $config->get_int('thumb_quality'); | 		$info['thumb_quality']	= $config->get_int('thumb_quality'); | ||||||
| 		$info['thumb_width']	= $config->get_int('thumb_width'); | 		$info['thumb_width']	= $config->get_int('thumb_width'); | ||||||
| 		$info['thumb_height']	= $config->get_int('thumb_height'); | 		$info['thumb_height']	= $config->get_int('thumb_height'); | ||||||
| 		$info['thumb_mem']		= $config->get_int("thumb_max_memory"); | 		$info['thumb_mem']		= $config->get_int("thumb_mem_limit"); | ||||||
| 
 | 
 | ||||||
| 		$info['stat_images']   = $database->get_one("SELECT COUNT(*) FROM images"); | 		$info['stat_images']   = $database->get_one("SELECT COUNT(*) FROM images"); | ||||||
| 		$info['stat_comments'] = $database->get_one("SELECT COUNT(*) FROM comments"); | 		$info['stat_comments'] = $database->get_one("SELECT COUNT(*) FROM comments"); | ||||||
|  | |||||||
| @ -141,10 +141,10 @@ class ExtManager extends Extension { | |||||||
| 	private function get_extensions(/*bool*/ $all) { | 	private function get_extensions(/*bool*/ $all) { | ||||||
| 		$extensions = array(); | 		$extensions = array(); | ||||||
| 		if($all) { | 		if($all) { | ||||||
| 			$exts = glob("ext/*/main.php", GLOB_BRACE); | 			$exts = zglob("ext/*/main.php"); | ||||||
| 		} | 		} | ||||||
| 		else { | 		else { | ||||||
| 			$exts = glob("ext/{".ENABLED_EXTS."}/main.php", GLOB_BRACE); | 			$exts = zglob("ext/{".ENABLED_EXTS."}/main.php"); | ||||||
| 		} | 		} | ||||||
| 		foreach($exts as $main) { | 		foreach($exts as $main) { | ||||||
| 			$extensions[] = new ExtensionInfo($main); | 			$extensions[] = new ExtensionInfo($main); | ||||||
|  | |||||||
| @ -97,7 +97,7 @@ class IcoFileHandler extends Extension { | |||||||
| 		$w = $config->get_int("thumb_width"); | 		$w = $config->get_int("thumb_width"); | ||||||
| 		$h = $config->get_int("thumb_height"); | 		$h = $config->get_int("thumb_height"); | ||||||
| 		$q = $config->get_int("thumb_quality"); | 		$q = $config->get_int("thumb_quality"); | ||||||
| 		$mem = $config->get_int("thumb_max_memory") / 1024 / 1024; // IM takes memory in MB
 | 		$mem = $config->get_int("thumb_mem_limit") / 1024 / 1024; // IM takes memory in MB
 | ||||||
| 
 | 
 | ||||||
| 		if($config->get_bool("ico_convert")) { | 		if($config->get_bool("ico_convert")) { | ||||||
| 			// "-limit memory $mem" broken?
 | 			// "-limit memory $mem" broken?
 | ||||||
|  | |||||||
| @ -90,7 +90,6 @@ class PixelFileHandler extends DataHandlerExtension { | |||||||
| 		$w = $config->get_int("thumb_width"); | 		$w = $config->get_int("thumb_width"); | ||||||
| 		$h = $config->get_int("thumb_height"); | 		$h = $config->get_int("thumb_height"); | ||||||
| 		$q = $config->get_int("thumb_quality"); | 		$q = $config->get_int("thumb_quality"); | ||||||
| 		$mem = $config->get_int("thumb_max_memory") / 1024 / 1024; // IM takes memory in MB
 |  | ||||||
| 
 | 
 | ||||||
| 		// Windows is a special case
 | 		// Windows is a special case
 | ||||||
| 		if(in_array("OS", $_SERVER) && $_SERVER["OS"] == 'Windows_NT') { | 		if(in_array("OS", $_SERVER) && $_SERVER["OS"] == 'Windows_NT') { | ||||||
|  | |||||||
| @ -70,8 +70,8 @@ class Home extends Extension { | |||||||
| 		} | 		} | ||||||
| 		else { | 		else { | ||||||
| 			$main_links = '[url=site://post/list]Posts[/url] [url=site://comment/list]Comments[/url] [url=site://tags]Tags[/url]'; | 			$main_links = '[url=site://post/list]Posts[/url] [url=site://comment/list]Comments[/url] [url=site://tags]Tags[/url]'; | ||||||
| 			if(file_exists("ext/pools")) {$main_links .= ' [url=site://pools]Pools[/url]';} | 			if(class_exists("Pools")) {$main_links .= ' [url=site://pools]Pools[/url]';} | ||||||
| 			if(file_exists("ext/wiki")) {$main_links .= ' [url=site://wiki]Wiki[/url]';} | 			if(class_exists("Wiki")) {$main_links .= ' [url=site://wiki]Wiki[/url]';} | ||||||
| 			$main_links .= ' [url=site://ext_doc]>>[/url]'; | 			$main_links .= ' [url=site://ext_doc]>>[/url]'; | ||||||
| 		} | 		} | ||||||
| 		$main_links = format_text($main_links); | 		$main_links = format_text($main_links); | ||||||
|  | |||||||
| @ -267,7 +267,9 @@ class ImageIO extends Extension { | |||||||
| 		$sb->add_int_option("thumb_quality"); | 		$sb->add_int_option("thumb_quality"); | ||||||
| 		$sb->add_label(" % quality "); | 		$sb->add_label(" % quality "); | ||||||
| 
 | 
 | ||||||
| 		$sb->add_shorthand_int_option("thumb_mem_limit", "<br>Max memory use: "); | 		if($config->get_string("thumb_engine") == "gd") { | ||||||
|  | 			$sb->add_shorthand_int_option("thumb_mem_limit", "<br>Max memory use: "); | ||||||
|  | 		} | ||||||
| 
 | 
 | ||||||
| 		$event->panel->add_block($sb); | 		$event->panel->add_block($sb); | ||||||
| 	} | 	} | ||||||
| @ -293,7 +295,7 @@ class ImageIO extends Extension { | |||||||
| 			if($handler == "merge" || isset($_GET['update'])) { | 			if($handler == "merge" || isset($_GET['update'])) { | ||||||
| 				$merged = array_merge($image->get_tag_array(), $existing->get_tag_array()); | 				$merged = array_merge($image->get_tag_array(), $existing->get_tag_array()); | ||||||
| 				send_event(new TagSetEvent($existing, $merged)); | 				send_event(new TagSetEvent($existing, $merged)); | ||||||
| 				if(isset($_GET['rating']) && isset($_GET['update']) && file_exists("ext/rating")){ | 				if(isset($_GET['rating']) && isset($_GET['update']) && class_exists("Ratings")){ | ||||||
| 					send_event(new RatingSetEvent($existing, $user, $_GET['rating'])); | 					send_event(new RatingSetEvent($existing, $user, $_GET['rating'])); | ||||||
| 				} | 				} | ||||||
| 				if(isset($_GET['source']) && isset($_GET['update'])){ | 				if(isset($_GET['source']) && isset($_GET['update'])){ | ||||||
|  | |||||||
| @ -21,16 +21,6 @@ class LinkImage extends Extension { | |||||||
| 		$config->set_default_string("ext_link-img_text-link_format", '$title - $id ($ext $size $filesize)'); | 		$config->set_default_string("ext_link-img_text-link_format", '$title - $id ($ext $size $filesize)'); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	private function hostify(/*string*/ $str) { |  | ||||||
| 		$str = str_replace(" ", "%20", $str); |  | ||||||
| 		if(strpos($str, "ttp://") > 0) { |  | ||||||
| 			return $str; |  | ||||||
| 		} |  | ||||||
| 		else { |  | ||||||
| 			return "http://" . $_SERVER["HTTP_HOST"] . $str; |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	private function data(Image $image) { | 	private function data(Image $image) { | ||||||
| 		global $config; | 		global $config; | ||||||
| 
 | 
 | ||||||
| @ -38,9 +28,9 @@ class LinkImage extends Extension { | |||||||
| 		$text_link = trim($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( | 		return array( | ||||||
| 			'thumb_src'	=> $this->hostify($image->get_thumb_link()), | 			'thumb_src'	=> make_http($image->get_thumb_link()), | ||||||
| 			'image_src'	=> $this->hostify($image->get_image_link()), | 			'image_src'	=> make_http($image->get_image_link()), | ||||||
| 			'post_link'	=> $this->hostify($_SERVER["REQUEST_URI"]), | 			'post_link'	=> make_http($_SERVER["REQUEST_URI"]), | ||||||
| 			'text_link' => $text_link); | 			'text_link' => $text_link); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | |||||||
| @ -38,13 +38,11 @@ class MassTagger extends Extension { | |||||||
| 		$ids = explode( ':', $_POST['ids'] ); | 		$ids = explode( ':', $_POST['ids'] ); | ||||||
| 		$ids = array_filter ( $ids , 'is_numeric' ); | 		$ids = array_filter ( $ids , 'is_numeric' ); | ||||||
| 		 | 		 | ||||||
| 		$ids = array_map( "Image::by_id", $ids ); | 		$images = array_map( "Image::by_id", $ids ); | ||||||
| 		 | 		 | ||||||
| 		$func = function( $image ) use ( $tag ) { | 		foreach($images as $image) { | ||||||
| 			$tag .= " " . $image->get_tag_list(); | 			$image->set_tags($tag . " " . $image->get_tag_list()); | ||||||
| 			$image->set_tags( $tag ); | 		} | ||||||
| 		}; |  | ||||||
| 		array_walk( $ids, $func ); |  | ||||||
| 		 | 		 | ||||||
| 		$page->set_mode("redirect"); | 		$page->set_mode("redirect"); | ||||||
| 		$page->set_redirect(make_link("post/list")); | 		$page->set_redirect(make_link("post/list")); | ||||||
|  | |||||||
| @ -200,7 +200,7 @@ class TestFinder extends TestSuite { | |||||||
| 		$dir = "{".ENABLED_EXTS."}"; | 		$dir = "{".ENABLED_EXTS."}"; | ||||||
| 		if(file_exists("ext/$hint/test.php")) $dir = $hint; | 		if(file_exists("ext/$hint/test.php")) $dir = $hint; | ||||||
| 		$this->TestSuite('All tests'); | 		$this->TestSuite('All tests'); | ||||||
| 		foreach(glob("ext/$dir/test.php", GLOB_BRACE) as $file) { | 		foreach(zglob("ext/$dir/test.php") as $file) { | ||||||
| 			$this->addFile($file); | 			$this->addFile($file); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | |||||||
| @ -438,7 +438,7 @@ class TagList extends Extension { | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if(count($related_tags) > 0) { | 		if(!empty($related_tags)) { | ||||||
| 			$this->theme->display_refine_block($page, $related_tags, $wild_tags); | 			$this->theme->display_refine_block($page, $related_tags, $wild_tags); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | |||||||
| @ -215,7 +215,9 @@ class Upload extends Extension { | |||||||
| 
 | 
 | ||||||
| 	private function tags_for_upload_slot($id) { | 	private function tags_for_upload_slot($id) { | ||||||
| 		if(isset($_POST["tags$id"])) { | 		if(isset($_POST["tags$id"])) { | ||||||
| 			$tags = array_merge(Tag::explode($_POST['tags']), Tag::explode($_POST["tags$id"])); | 			# merge then explode, not explode then merge - else
 | ||||||
|  | 			# one of the merges may create a surplus "tagme"
 | ||||||
|  | 			$tags = Tag::explode($_POST['tags'] . " " . $_POST["tags$id"]); | ||||||
| 		} | 		} | ||||||
| 		else { | 		else { | ||||||
| 			$tags = Tag::explode($_POST['tags']); | 			$tags = Tag::explode($_POST['tags']); | ||||||
| @ -327,7 +329,7 @@ class Upload extends Extension { | |||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
| 		// Checks if url contains rating, also checks if the rating extension is enabled.
 | 		// Checks if url contains rating, also checks if the rating extension is enabled.
 | ||||||
| 		if($config->get_string("transload_engine", "none") != "none" && file_exists("ext/rating") && !empty($_GET['rating'])) { | 		if($config->get_string("transload_engine", "none") != "none" && class_exists("Ratings") && !empty($_GET['rating'])) { | ||||||
| 			// Rating event will validate that this is s/q/e/u
 | 			// Rating event will validate that this is s/q/e/u
 | ||||||
| 			$rating = strtolower($_GET['rating']); | 			$rating = strtolower($_GET['rating']); | ||||||
| 			$rating = $rating[0]; | 			$rating = $rating[0]; | ||||||
|  | |||||||
| @ -215,10 +215,10 @@ class UploadTheme extends Themelet { | |||||||
| 
 | 
 | ||||||
| 		// Bookmarklet checks if shimmie supports ext. If not, won't upload to site/shows alert saying not supported.
 | 		// Bookmarklet checks if shimmie supports ext. If not, won't upload to site/shows alert saying not supported.
 | ||||||
| 		$supported_ext = "jpg jpeg gif png"; | 		$supported_ext = "jpg jpeg gif png"; | ||||||
| 		if(file_exists("ext/handle_flash")){$supported_ext .= " swf";} | 		if(class_exists("FlashFileHandler")){$supported_ext .= " swf";} | ||||||
| 		if(file_exists("ext/handle_ico")){$supported_ext .= " ico ani cur";} | 		if(class_exists("ICOFileHandler")){$supported_ext .= " ico ani cur";} | ||||||
| 		if(file_exists("ext/handle_mp3")){$supported_ext .= " mp3";} | 		if(class_exists("MP3FileHandler")){$supported_ext .= " mp3";} | ||||||
| 		if(file_exists("ext/handle_svg")){$supported_ext .= " svg";} | 		if(class_exists("SVGFileHandler")){$supported_ext .= " svg";} | ||||||
| 		$title = "Booru to " . $config->get_string('title'); | 		$title = "Booru to " . $config->get_string('title'); | ||||||
| 		// CA=0: Ask to use current or new tags | CA=1: Always use current tags | CA=2: Always use new tags
 | 		// CA=0: Ask to use current or new tags | CA=1: Always use current tags | CA=2: Always use new tags
 | ||||||
| 		$html .= '<p><a href="javascript:
 | 		$html .= '<p><a href="javascript:
 | ||||||
|  | |||||||
| @ -67,7 +67,7 @@ _start_cache(); | |||||||
| try { | try { | ||||||
| 	// load base files
 | 	// load base files
 | ||||||
| 	ctx_log_start("Opening files"); | 	ctx_log_start("Opening files"); | ||||||
| 	$files = array_merge(glob("core/*.php"), glob("ext/{".ENABLED_EXTS."}/main.php", GLOB_BRACE)); | 	$files = array_merge(zglob("core/*.php"), zglob("ext/{".ENABLED_EXTS."}/main.php")); | ||||||
| 	foreach($files as $filename) { | 	foreach($files as $filename) { | ||||||
| 		require_once $filename; | 		require_once $filename; | ||||||
| 	} | 	} | ||||||
|  | |||||||
| @ -140,11 +140,11 @@ class Layout { | |||||||
| 				# be nice to be correct
 | 				# be nice to be correct
 | ||||||
| 			case "post": | 			case "post": | ||||||
| 			case "upload": | 			case "upload": | ||||||
| 				if(file_exists("ext/numeric_score")){ $custom_sublinks .= "<li><b>Popular by </b><a href='".make_link('popular_by_day')."'>Day</a>/<a href='".make_link('popular_by_month')."'>Month</a>/<a href='".make_link('popular_by_year')."'>Year</a></li>";} | 				if(class_exists("NumericScore")){ $custom_sublinks .= "<li><b>Popular by </b><a href='".make_link('popular_by_day')."'>Day</a>/<a href='".make_link('popular_by_month')."'>Month</a>/<a href='".make_link('popular_by_year')."'>Year</a></li>";} | ||||||
| 				$custom_sublinks .= "<li><a href='".make_link('post/list')."'>All</a></li>"; | 				$custom_sublinks .= "<li><a href='".make_link('post/list')."'>All</a></li>"; | ||||||
| 				if(file_exists("ext/favorites")){ $custom_sublinks .= "<li><a href='".make_link("post/list/favorited_by=$username/1")."'>My Favorites</a></li>";} | 				if(class_exists("Favorites")){ $custom_sublinks .= "<li><a href='".make_link("post/list/favorited_by=$username/1")."'>My Favorites</a></li>";} | ||||||
| 				if(file_exists("ext/rss_images")){ $custom_sublinks .= "<li><a href='".make_link('rss/images')."'>Feed</a></li>";} | 				if(class_exists("RSS_Images")){ $custom_sublinks .= "<li><a href='".make_link('rss/images')."'>Feed</a></li>";} | ||||||
| 				if(file_exists("ext/random_image")){ $custom_sublinks .= "<li><a href='".make_link("random_image/view")."'>Random Image</a></li>";} | 				if(class_exists("RandomImage")){ $custom_sublinks .= "<li><a href='".make_link("random_image/view")."'>Random Image</a></li>";} | ||||||
| 				if($hw){ $custom_sublinks .= "<li><a href='".make_link("wiki/posts")."'>Help</a></li>"; | 				if($hw){ $custom_sublinks .= "<li><a href='".make_link("wiki/posts")."'>Help</a></li>"; | ||||||
| 				}else{ $custom_sublinks .= "<li><a href='".make_link("ext_doc/index")."'>Help</a></li>";} | 				}else{ $custom_sublinks .= "<li><a href='".make_link("ext_doc/index")."'>Help</a></li>";} | ||||||
| 				break; | 				break; | ||||||
|  | |||||||
| @ -38,7 +38,7 @@ class CustomViewImageTheme extends ViewImageTheme { | |||||||
| 			$html .= "<br>Source: <a href='$h_source'>link</a>"; | 			$html .= "<br>Source: <a href='$h_source'>link</a>"; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if(file_exists("ext/rating")) { | 		if(class_exists("Ratings")) { | ||||||
| 			if($image->rating == null || $image->rating == "u"){ | 			if($image->rating == null || $image->rating == "u"){ | ||||||
| 				$image->rating = "u"; | 				$image->rating = "u"; | ||||||
| 			} | 			} | ||||||
|  | |||||||
| @ -94,11 +94,11 @@ class Layout { | |||||||
| 				# the subnav links aren't shown, but it would
 | 				# the subnav links aren't shown, but it would
 | ||||||
| 				# be nice to be correct
 | 				# be nice to be correct
 | ||||||
| 			case "post": | 			case "post": | ||||||
| 				if(file_exists("ext/numeric_score")){ $cs .= "<b>Popular by </b><a href='".make_link('popular_by_day')."'>Day</a><b>/</b><a href='".make_link('popular_by_month')."'>Month</a><b>/</b><a href='".make_link('popular_by_year')."'>Year</a> ";} | 				if(class_exists("NumericScore")){ $cs .= "<b>Popular by </b><a href='".make_link('popular_by_day')."'>Day</a><b>/</b><a href='".make_link('popular_by_month')."'>Month</a><b>/</b><a href='".make_link('popular_by_year')."'>Year</a> ";} | ||||||
| 				$cs .= "<a class='tab' href='".make_link('post/list')."'>All</a>"; | 				$cs .= "<a class='tab' href='".make_link('post/list')."'>All</a>"; | ||||||
| 				if(file_exists("ext/favorites")){ $cs .= "<a class='tab' href='".make_link("post/list/favorited_by=$username/1")."'>My Favorites</a>";} | 				if(class_exists("Favorites")){ $cs .= "<a class='tab' href='".make_link("post/list/favorited_by=$username/1")."'>My Favorites</a>";} | ||||||
| 				if(file_exists("ext/rss_images")){ $cs .= "<a class='tab' href='".make_link('rss/images')."'>Feed</a>";} | 				if(class_exists("RSS_Images")){ $cs .= "<a class='tab' href='".make_link('rss/images')."'>Feed</a>";} | ||||||
| 				if(file_exists("ext/random_image")){ $cs .= "<a class='tab' href='".make_link("random_image/view")."'>Random Image</a>";} | 				if(class_exists("Random_Image")){ $cs .= "<a class='tab' href='".make_link("random_image/view")."'>Random Image</a>";} | ||||||
| 				if($hw){ $cs .= "<a class='tab' href='".make_link("wiki/posts")."'>Help</a>"; | 				if($hw){ $cs .= "<a class='tab' href='".make_link("wiki/posts")."'>Help</a>"; | ||||||
| 				}else{ $cs .= "<a class='tab' href='".make_link("ext_doc/index")."'>Help</a>";} | 				}else{ $cs .= "<a class='tab' href='".make_link("ext_doc/index")."'>Help</a>";} | ||||||
| 				break; | 				break; | ||||||
|  | |||||||
| @ -44,7 +44,7 @@ class CustomViewImageTheme extends ViewImageTheme { | |||||||
| 			$html .= "<br>Source: <a href='$h_source'>link</a>"; | 			$html .= "<br>Source: <a href='$h_source'>link</a>"; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if(file_exists("ext/rating")) { | 		if(class_exists("Ratings")) { | ||||||
| 			if($image->rating == null || $image->rating == "u"){ | 			if($image->rating == null || $image->rating == "u"){ | ||||||
| 				$image->rating = "u"; | 				$image->rating = "u"; | ||||||
| 			} | 			} | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user