make sure source/parent isn't set twice if metatag is used

This commit is contained in:
Daku 2014-02-03 16:04:34 +00:00
parent 6e54580f56
commit c4150c15ce
2 changed files with 9 additions and 3 deletions

View File

@ -22,8 +22,12 @@ class Relationships extends Extension {
public function onImageInfoSet(ImageInfoSetEvent $event) {
global $user;
if (isset($_POST["tag_edit__parent"]) ? ctype_digit($_POST["tag_edit__parent"]) : FALSE) {
$this->set_parent($event->image->id, (int) $_POST["tag_edit__parent"]);
if(isset($_POST['tag_edit__tags']) ? !preg_match('/parent[=|:]/', $_POST["tag_edit__tags"]) : TRUE) { //Ignore tag_edit__parent if tags contain parent metatag
if (isset($_POST["tag_edit__parent"]) ? ctype_digit($_POST["tag_edit__parent"]) : FALSE) {
$this->set_parent($event->image->id, (int) $_POST["tag_edit__parent"]);
}else{
$this->remove_parent($event->image->id);
}
}
}

View File

@ -131,7 +131,9 @@ class TagEdit extends Extension {
send_event(new TagSetEvent($event->image, $_POST['tag_edit__tags']));
}
if($this->can_source($event->image) && isset($_POST['tag_edit__source'])) {
send_event(new SourceSetEvent($event->image, $_POST['tag_edit__source']));
if(isset($_POST['tag_edit__tags']) ? !preg_match('/source[=|:]/', $_POST["tag_edit__tags"]) : TRUE){
send_event(new SourceSetEvent($event->image, $_POST['tag_edit__source']));
}
}
if($user->can("edit_image_lock")) {
$locked = isset($_POST['tag_edit__locked']) && $_POST['tag_edit__locked']=="on";