"; print_r($_REQUEST); echo "
";
//exit;
if (isset($_REQUEST['media_tags_action']))
$media_tags_action = $_REQUEST['media_tags_action'];
else
$media_tags_action = "";
if (isset($_REQUEST['media_tags_input']))
$media_tags_input = $_REQUEST['media_tags_input'];
else
$media_tags_input = "";
if ((isset($_REQUEST['select_media_tags'])) && (strlen($_REQUEST['select_media_tags'])))
$select_media_tags = explode(",",$_REQUEST['select_media_tags']);
else
$select_media_tags = array();
if ((isset($_REQUEST['select_media_items'])) && (strlen($_REQUEST['select_media_items'])))
$select_media_items = explode(",", $_REQUEST['select_media_items']);
else
$select_media_items = array();
// First process any new Tags entered via the input field...
if ((strlen($_REQUEST['media_tags_input'])) && ($media_tags_action == "assign"))
{
$tags_tmp_array = split(',', $_REQUEST['media_tags_input']);
if ($tags_tmp_array)
{
foreach($tags_tmp_array as $idx => $tag_val)
{
$tag_slug = sanitize_title_with_dashes($tag_val);
if ( ! ($id = term_exists( $tag_slug, MEDIA_TAGS_TAXONOMY ) ) )
{
$inserted_term_id = wp_insert_term($tag_val, MEDIA_TAGS_TAXONOMY, array('slug' => $tag_slug));
if (isset($inserted_term_id['term_id']))
$select_media_tags[] = $inserted_term_id['term_id'];
}
else
$select_media_tags[] = $id['term_id'];
}
}
}
if ( (strlen($media_tags_action)) && (count($select_media_items)) && (count($select_media_tags)) )
{
//echo "media_tags_action=[".$media_tags_action."]
\n";
//echo "select_media_tags"; print_r($select_media_tags); echo "
\n";
//echo "select_media_items"; print_r($select_media_items); echo "
\n";
$selected_media_tag_terms = array();
//$selected_media_tag_terms = get_terms(MEDIA_TAGS_TAXONOMY, array('include' => $select_media_tags));
foreach($select_media_tags as $media_tag_id)
{
$selected_media_tag_terms[] = get_term($media_tag_id, MEDIA_TAGS_TAXONOMY);
}
//echo "selected_media_tag_terms"; print_r($selected_media_tag_terms); echo "
\n";
if ($media_tags_action == "assign")
{
foreach($select_media_items as $select_media_item_id)
{
$media_tag_slugs = array();
$media_item_terms_current = wp_get_object_terms($select_media_item_id, MEDIA_TAGS_TAXONOMY);
if (!$media_item_terms_current)
{
if ($selected_media_tag_terms)
{
foreach($selected_media_tag_terms as $selected_media_tag_term)
$media_tag_slugs[$selected_media_tag_term->slug] = $selected_media_tag_term->slug;
}
}
else
{
// Here we need to combine the media item's already defined media-tag and the new media-tags
foreach($media_item_terms_current as $idx => $current_term)
$media_tag_slugs[$current_term->slug] = $current_term->slug;
foreach($selected_media_tag_terms as $selected_media_tag_term)
$media_tag_slugs[$selected_media_tag_term->slug] = $selected_media_tag_term->slug;
}
if (count($media_tag_slugs))
{
// If the Media Item does not have any assigned Media-Tag we simple assign the selected Media-Tags
wp_set_object_terms($select_media_item_id, $media_tag_slugs, MEDIA_TAGS_TAXONOMY);
}
}
}
else if ($media_tags_action == "remove")
{
foreach($select_media_items as $select_media_item_id)
{
$media_tag_slugs = array();
$media_item_terms_current = wp_get_object_terms($select_media_item_id, MEDIA_TAGS_TAXONOMY);
if ($media_item_terms_current)
{
foreach($selected_media_tag_terms as $selected_media_tag_term)
{
foreach($media_item_terms_current as $current_idx => $current_term)
{
if ($current_term->term_id == $selected_media_tag_term->term_id)
unset($media_item_terms_current[$current_idx]);
}
}
foreach($media_item_terms_current as $current_idx => $current_term)
$media_tag_slugs[$current_term->slug] = $current_term->slug;
if (count($media_tag_slugs))
wp_set_object_terms($select_media_item_id, $media_tag_slugs, MEDIA_TAGS_TAXONOMY);
else
wp_set_object_terms($select_media_item_id, $media_tag_slugs, MEDIA_TAGS_TAXONOMY);
}
}
}
}
die();
}
function mediatags_bulk_admin_panel()
{
?>