function reason_iframe_get_displayer($media_work) { $displayer = MediaWorkFactory::media_work_displayer($media_work->get_value('integration_library')); if ($displayer) { $displayer->set_media_work($media_work); $media_file = reason_iframe_get_media_file(); if ((!$media_work->get_value('integration_library') || $media_work->get_value('integration_library') == 'default') && !empty($media_file)) { $media_file_id = $media_file->id(); $displayer->set_current_media_file($media_file_id); } if (!empty($_REQUEST['height'])) { $size = $_REQUEST['height']; if ($size == 'small') { $size = MEDIA_WORK_SMALL_HEIGHT; } elseif ($size == 'medium') { $size = MEDIA_WORK_MEDIUM_HEIGHT; } elseif ($size == 'large') { $size = MEDIA_WORK_LARGE_HEIGHT; } else { $size = (int) $_REQUEST['height']; } $displayer->set_height($size); } if (!empty($_REQUEST['width'])) { $width = (int) $_REQUEST['width']; $displayer->set_width($width); } if (!empty($_REQUEST['autostart']) && $_REQUEST['autostart']) { $displayer->set_autostart(true); } else { $displayer->set_autostart(false); } if (!empty($_REQUEST['show_controls']) && $_REQUEST['show_controls'] == 'false') { $displayer->set_show_controls(false); } else { $displayer->set_show_controls(true); } } return $displayer; }
} # First, grab the media_work associated with the provided media file $es = new entity_selector(); $es->add_type(id_of('av')); $es->add_left_relationship($media_file->id(), relationship_id_of('av_to_av_file')); $es->add_relation('`entity`.`id` = "' . addslashes($media_work_id) . '"'); $es->add_relation('`media_work`.`integration_library` != ""'); $es->set_num(1); $works = $es->run_one(); if (empty($works)) { http_response_code(404); die; } $media_work = current($works); # check to make sure the REQUEST var hash is correct $displayer = MediaWorkFactory::media_work_displayer($media_work); if ($displayer) { $displayer->set_media_work($media_work); } else { http_response_code(404); die; } if ($displayer->get_hash() != $hash) { http_response_code(404); die; } # Grab the media_work's associated group if it has one $es = new entity_selector(); $es->add_type(id_of('group_type')); $es->add_right_relationship($media_work->id(), relationship_id_of('av_restricted_to_group')); $group = current($es->run_one());
private static function _generate_name($orig_filename, $extension, $extra_dir, $media_file, $media_work) { $index = strrpos($orig_filename, '.'); $name = substr($orig_filename, 0, $index); if ($extra_dir == 'original') { $displayer = MediaWorkFactory::media_work_displayer($media_work); $displayer->set_media_work($media_work); return $name . '_' . $displayer->get_original_filename_hash() . '.' . $extension; } else { $displayer = MediaWorkFactory::media_work_displayer($media_work); $displayer->set_media_work($media_work); return $name . '_' . substr($displayer->get_media_file_hash($media_file), 0, 12) . '.' . $extension; } }