Ejemplo n.º 1
0
 /**
  * Returns if the current player is enabled.
  *
  * @deprecated since Moodle 3.2
  * @return bool True if player is enabled
  */
 public function is_enabled()
 {
     debugging('Function core_media_player::is_enabled() is deprecated without replacement', DEBUG_DEVELOPER);
     $enabled = \core\plugininfo\media::get_enabled_plugins();
     if ($enabled && preg_match('/^media_(.*)_plugin$/', get_class($this), $matches)) {
         return array_key_exists($matches[1], $enabled);
     }
     return false;
 }
Ejemplo n.º 2
0
 /**
  * Obtains the list of core_media_player objects currently in use to render
  * items.
  *
  * The list is in rank order (highest first) and does not include players
  * which are disabled.
  *
  * @return core_media_player[] Array of core_media_player objects in rank order
  */
 protected function get_players()
 {
     // Save time by only building the list once.
     if (!$this->players) {
         // Get raw list of players.
         $allplayers = $this->get_players_raw();
         $sortorder = \core\plugininfo\media::get_enabled_plugins();
         $this->players = [];
         foreach ($sortorder as $key) {
             if (array_key_exists($key, $allplayers)) {
                 $this->players[] = $allplayers[$key];
             }
         }
     }
     return $this->players;
 }
Ejemplo n.º 3
0
 /**
  * Test that plugin is returned as enabled media plugin.
  */
 public function test_is_installed()
 {
     $sortorder = \core\plugininfo\media::get_enabled_plugins();
     $this->assertEquals(['videojs' => 'videojs'], $sortorder);
 }
Ejemplo n.º 4
0
 * @package filter_mediaplugin
 */
require __DIR__ . '/../../../config.php';
require_once $CFG->dirroot . '/filter/mediaplugin/filter.php';
// Only available to site admins.
require_login();
if (!is_siteadmin()) {
    print_error('nopermissions', 'error', '', 'perftest');
}
// Set up page.
$PAGE->set_context(context_system::instance());
$PAGE->set_url(new moodle_url('/filter/mediaplugin/dev/perftest.php'));
$PAGE->set_heading($SITE->fullname);
print $OUTPUT->header();
// Enable all players.
$enabledmediaplugins = \core\plugininfo\media::get_enabled_plugins();
\core\plugininfo\media::set_enabled_plugins('vimeo,youtube,videojs,html5audio,html5video,swf');
// Create plugin.
$filterplugin = new filter_mediaplugin(null, array());
// Note: As this is a developer test page, language strings are not used: all
// text is English-only.
/**
 * Starts time counter.
 */
function filter_mediaplugin_perf_start()
{
    global $filter_mediaplugin_starttime;
    $filter_mediaplugin_starttime = microtime(true);
}
/**
 * Ends and displays time counter.
Ejemplo n.º 5
0
/**
 * Verifies sloppy swf embedding - this should have been removed long ago!!
 * @param bool $detailed
 * @return object result
 */
function report_security_check_mediafilterswf($detailed=false) {
    global $CFG;

    $result = new stdClass();
    $result->issue   = 'report_security_check_mediafilterswf';
    $result->name    = get_string('check_mediafilterswf_name', 'report_security');
    $result->info    = null;
    $result->details = null;
    $result->status  = null;
    $result->link    = "<a href=\"$CFG->wwwroot/$CFG->admin/settings.php?section=managemediaplayers\">" .
        get_string('managemediaplayers', 'media') . '</a>';

    $activefilters = filter_get_globally_enabled();

    $enabledmediaplayers = \core\plugininfo\media::get_enabled_plugins();
    if (array_search('mediaplugin', $activefilters) !== false and array_key_exists('swf', $enabledmediaplayers)) {
        $result->status = REPORT_SECURITY_CRITICAL;
        $result->info   = get_string('check_mediafilterswf_error', 'report_security');
    } else {
        $result->status = REPORT_SECURITY_OK;
        $result->info   = get_string('check_mediafilterswf_ok', 'report_security');
    }

    if ($detailed) {
        $result->details = get_string('check_mediafilterswf_details', 'report_security');
    }

    return $result;
}
Ejemplo n.º 6
0
 /**
  * Obtains the list of core_media_player objects currently in use to render
  * items.
  *
  * The list is in rank order (highest first) and does not include players
  * which are disabled.
  *
  * @return core_media_player[] Array of core_media_player objects in rank order
  */
 protected function get_players()
 {
     // Save time by only building the list once.
     if (!$this->players) {
         $sortorder = \core\plugininfo\media::get_enabled_plugins();
         $this->players = [];
         foreach ($sortorder as $name) {
             $classname = "media_" . $name . "_plugin";
             if (class_exists($classname)) {
                 $this->players[] = new $classname();
             }
         }
     }
     return $this->players;
 }
Ejemplo n.º 7
0
 * @copyright  2016 Marina Glancy
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
define('NO_OUTPUT_BUFFERING', true);
require_once '../config.php';
require_once $CFG->libdir . '/adminlib.php';
$action = required_param('action', PARAM_ALPHANUMEXT);
$media = required_param('media', PARAM_PLUGIN);
$confirm = optional_param('confirm', 0, PARAM_BOOL);
$PAGE->set_url('/admin/media.php');
$PAGE->set_context(context_system::instance());
require_login();
require_capability('moodle/site:config', context_system::instance());
require_sesskey();
$plugins = core_plugin_manager::instance()->get_plugins_of_type('media');
$sortorder = array_values(\core\plugininfo\media::get_enabled_plugins());
$return = new moodle_url('/admin/settings.php', array('section' => 'managemediaplayers'));
if (!array_key_exists($media, $plugins)) {
    redirect($return);
}
switch ($action) {
    case 'disable':
        $plugins[$media]->set_enabled(false);
        break;
    case 'enable':
        $plugins[$media]->set_enabled(true);
        break;
    case 'up':
        if (($pos = array_search($media, $sortorder)) > 0) {
            $tmp = $sortorder[$pos - 1];
            $sortorder[$pos - 1] = $sortorder[$pos];