tag_edit themed
git-svn-id: file:///home/shish/svn/shimmie2/trunk@325 7f39781d-f577-437e-ae19-be835c7a54ca
This commit is contained in:
parent
35d47b972b
commit
505d9db0f8
@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
class TagEdit extends Extension {
|
class TagEdit extends Extension {
|
||||||
|
var $theme;
|
||||||
// event handling {{{
|
// event handling {{{
|
||||||
public function receive_event($event) {
|
public function receive_event($event) {
|
||||||
if(is_a($event, 'PageRequestEvent') && ($event->page_name == "tag_edit")) {
|
if(is_a($event, 'PageRequestEvent') && ($event->page_name == "tag_edit")) {
|
||||||
@ -15,10 +16,7 @@ class TagEdit extends Extension {
|
|||||||
$page->set_redirect(make_link("post/view/$i_image_id", $query));
|
$page->set_redirect(make_link("post/view/$i_image_id", $query));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$page->set_title("Tag Edit Denied");
|
$this->theme->display_anon_denied($event->page);
|
||||||
$page->set_heading("Tag Edit Denied");
|
|
||||||
$page->add_block(new NavBlock());
|
|
||||||
$page->add_block(new Block("Error", "Anonymous tag editing is disabled"));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if($event->get_arg(0) == "replace") {
|
else if($event->get_arg(0) == "replace") {
|
||||||
@ -33,7 +31,7 @@ class TagEdit extends Extension {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(is_a($event, 'DisplayingImageEvent')) {
|
if(is_a($event, 'DisplayingImageEvent')) {
|
||||||
$event->page->add_block(new Block(null, $this->build_tag_editor($event->image), "main", 5));
|
$this->theme->display_editor($event->page, $event->image);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(is_a($event, 'TagSetEvent')) {
|
if(is_a($event, 'TagSetEvent')) {
|
||||||
@ -47,8 +45,7 @@ class TagEdit extends Extension {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(is_a($event, 'AdminBuildingEvent')) {
|
if(is_a($event, 'AdminBuildingEvent')) {
|
||||||
global $page;
|
$this->theme->display_mass_editor($event->page);
|
||||||
$page->add_block(new Block("Mass Tag Edit", $this->build_mass_tag_edit()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// When an alias is added, oldtag becomes inaccessable
|
// When an alias is added, oldtag becomes inaccessable
|
||||||
@ -68,8 +65,7 @@ class TagEdit extends Extension {
|
|||||||
global $config, $user;
|
global $config, $user;
|
||||||
return $config->get_bool("tag_edit_anon") || !$user->is_anonymous();
|
return $config->get_bool("tag_edit_anon") || !$user->is_anonymous();
|
||||||
}
|
}
|
||||||
// }}}
|
|
||||||
// edit {{{
|
|
||||||
private function mass_tag_edit($search, $replace) {
|
private function mass_tag_edit($search, $replace) {
|
||||||
global $database;
|
global $database;
|
||||||
$search_id = $database->db->GetOne("SELECT id FROM tags WHERE tag=?", array($search));
|
$search_id = $database->db->GetOne("SELECT id FROM tags WHERE tag=?", array($search));
|
||||||
@ -83,41 +79,6 @@ class TagEdit extends Extension {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// }}}
|
// }}}
|
||||||
// HTML {{{
|
|
||||||
private function build_tag_editor($image) {
|
|
||||||
global $database;
|
|
||||||
|
|
||||||
if(isset($_GET['search'])) {
|
|
||||||
$h_query = "search=".url_escape($_GET['search']);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$h_query = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
$h_tags = html_escape($image->get_tag_list());
|
|
||||||
$i_image_id = int_escape($image->id);
|
|
||||||
|
|
||||||
return "
|
|
||||||
<p><form action='".make_link("tag_edit/set")."' method='POST'>
|
|
||||||
<input type='hidden' name='image_id' value='$i_image_id'>
|
|
||||||
<input type='hidden' name='query' value='$h_query'>
|
|
||||||
<input type='text' size='50' name='tags' value='$h_tags'>
|
|
||||||
<input type='submit' value='Set'>
|
|
||||||
</form>
|
|
||||||
";
|
|
||||||
}
|
|
||||||
private function build_mass_tag_edit() {
|
|
||||||
return "
|
|
||||||
<form action='".make_link("tag_edit/replace")."' method='POST'>
|
|
||||||
<table border='1' style='width: 200px;'>
|
|
||||||
<tr><td>Search</td><td><input type='text' name='search'></tr>
|
|
||||||
<tr><td>Replace</td><td><input type='text' name='replace'></td></tr>
|
|
||||||
<tr><td colspan='2'><input type='submit' value='Replace'></td></tr>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
";
|
|
||||||
}
|
|
||||||
// }}}
|
|
||||||
}
|
}
|
||||||
add_event_listener(new TagEdit());
|
add_event_listener(new TagEdit());
|
||||||
?>
|
?>
|
||||||
|
49
ext/tag_edit/theme.php
Normal file
49
ext/tag_edit/theme.php
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class TagEditTheme extends Themelet {
|
||||||
|
public function display_editor($page, $image) {
|
||||||
|
global $database;
|
||||||
|
|
||||||
|
if(isset($_GET['search'])) {
|
||||||
|
$h_query = "search=".url_escape($_GET['search']);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$h_query = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$h_tags = html_escape($image->get_tag_list());
|
||||||
|
$i_image_id = int_escape($image->id);
|
||||||
|
|
||||||
|
$html = "
|
||||||
|
<p><form action='".make_link("tag_edit/set")."' method='POST'>
|
||||||
|
<input type='hidden' name='image_id' value='$i_image_id'>
|
||||||
|
<input type='hidden' name='query' value='$h_query'>
|
||||||
|
<input type='text' size='50' name='tags' value='$h_tags'>
|
||||||
|
<input type='submit' value='Set'>
|
||||||
|
</form>
|
||||||
|
";
|
||||||
|
|
||||||
|
$page->add_block(new Block(null, $html, "main", 5));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function display_mass_editor() {
|
||||||
|
$html = "
|
||||||
|
<form action='".make_link("tag_edit/replace")."' method='POST'>
|
||||||
|
<table border='1' style='width: 200px;'>
|
||||||
|
<tr><td>Search</td><td><input type='text' name='search'></tr>
|
||||||
|
<tr><td>Replace</td><td><input type='text' name='replace'></td></tr>
|
||||||
|
<tr><td colspan='2'><input type='submit' value='Replace'></td></tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
";
|
||||||
|
$page->add_block(new Block("Mass Tag Edit", $html));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function display_anon_denied($page) {
|
||||||
|
$page->set_title("Tag Edit Denied");
|
||||||
|
$page->set_heading("Tag Edit Denied");
|
||||||
|
$page->add_block(new NavBlock());
|
||||||
|
$page->add_block(new Block("Error", "Anonymous tag editing is disabled"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
Loading…
x
Reference in New Issue
Block a user