function update($id, $data, $media_id)
{
/* action to perform any task before updating a media */
do_action('rtmedia_before_update_media', $id);
$defaults = array();
$data = wp_parse_args($data, $defaults);
$where = array('id' => $id);
if (array_key_exists('media_title', $data) || array_key_exists('description', $data)) {
$post_data['ID'] = $media_id;
if (isset($data['media_title'])) {
$data['media_title'] = wp_kses($data['media_title'], wp_kses_allowed_html());
$post_data['post_title'] = $data['media_title'];
$post_data['post_name'] = $data['media_title'];
}
if (isset($data['description'])) {
// filter post_content for allowed html tags
$post_data['post_content'] = wp_kses($data['description'], wp_kses_allowed_html());
unset($data['description']);
}
wp_update_post($post_data);
}
$status = $this->model->update($data, $where);
// insert/update activity details in rtmedia activity table
$media_model = new RTMediaModel();
$media = $media_model->get(array('id' => $id));
if (!empty($media)) {
$rtmedia_activity_model = new RTMediaActivityModel();
$similar_media = $media_model->get(array('activity_id' => $media[0]->activity_id));
$max_privacy = 0;
foreach ($similar_media as $s_media) {
if ($s_media->privacy > $max_privacy) {
$max_privacy = $s_media->privacy;
}
}
if (!$rtmedia_activity_model->check($media[0]->activity_id)) {
$rtmedia_activity_model->insert(array('activity_id' => $media[0]->activity_id, 'user_id' => $media[0]->media_author, 'privacy' => $max_privacy));
} else {
$rtmedia_activity_model->update(array('activity_id' => $media[0]->activity_id, 'user_id' => $media[0]->media_author, 'privacy' => $max_privacy), array('activity_id' => $media[0]->activity_id));
}
}
/* action to perform any task after updating a media */
do_action('rtmedia_after_update_media', $id);
if (false === $status) {
return false;
} else {
return true;
}
}