diff --git a/ext/tag_edit/main.php b/ext/tag_edit/main.php index cd80e2ea..dcf941d0 100644 --- a/ext/tag_edit/main.php +++ b/ext/tag_edit/main.php @@ -14,7 +14,9 @@ class TagEdit extends Extension { $i_image_id = int_escape($_POST['image_id']); $query = $_POST['query']; send_event(new TagSetEvent($i_image_id, $_POST['tags'])); - send_event(new SourceSetEvent($i_image_id, $_POST['source'])); + if($this->can_source()) { + send_event(new SourceSetEvent($i_image_id, $_POST['source'])); + } $page->set_mode("redirect"); $page->set_redirect(make_link("post/view/$i_image_id", $query)); } @@ -67,7 +69,8 @@ class TagEdit extends Extension { if(is_a($event, 'SetupBuildingEvent')) { $sb = new SetupBlock("Tag Editing"); - $sb->add_bool_option("tag_edit_anon", "Allow anonymous editing: "); + $sb->add_bool_option("tag_edit_anon", "Allow anonymous tag editing: "); + $sb->add_bool_option("source_edit_anon", "
Allow anonymous source editing: "); $event->panel->add_block($sb); } } @@ -78,6 +81,11 @@ class TagEdit extends Extension { return $config->get_bool("tag_edit_anon") || !$user->is_anonymous(); } + private function can_source() { + global $config, $user; + return $config->get_bool("source_edit_anon") || !$user->is_anonymous(); + } + private function mass_tag_edit($search, $replace) { global $database; $search_id = $database->db->GetOne("SELECT id FROM tags WHERE tag=?", array($search)); diff --git a/ext/view/theme.php b/ext/view/theme.php index 4357fa65..f9c4f4d1 100644 --- a/ext/view/theme.php +++ b/ext/view/theme.php @@ -85,7 +85,7 @@ class ViewTheme extends Themelet { global $config; global $user; - if($config->get_bool("tag_edit_anon") || ($user->id != $config->get_int("anon_id"))) { + if($config->get_bool("tag_edit_anon") || !$user->is_anonymous()) { $html .= " (edit)"; if(isset($_GET['search'])) {$h_query = "search=".url_escape($_GET['search']);} @@ -94,13 +94,18 @@ class ViewTheme extends Themelet { $h_tags = html_escape($image->get_tag_list()); $i_image_id = int_escape($image->id); + $source_edit = ""; + if($config->get_bool("source_edit_anon") || !$user->is_anonymous()) { + $source_edit = "Source"; + } + $html .= "
- + $source_edit
Tags
Source