Ejemplo n.º 1
0
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;
     }
 }