當前位置: 首頁>>代碼示例>>PHP>>正文


PHP core_useragent::is_webkit_android方法代碼示例

本文整理匯總了PHP中core_useragent::is_webkit_android方法的典型用法代碼示例。如果您正苦於以下問題:PHP core_useragent::is_webkit_android方法的具體用法?PHP core_useragent::is_webkit_android怎麽用?PHP core_useragent::is_webkit_android使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在core_useragent的用法示例。


在下文中一共展示了core_useragent::is_webkit_android方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: list_supported_urls

 public function list_supported_urls(array $urls, array $options = array())
 {
     $extensions = $this->get_supported_extensions();
     $result = array();
     foreach ($urls as $url) {
         $ext = core_media::get_extension($url);
         if (in_array($ext, $extensions)) {
             if ($ext === 'ogg' || $ext === 'oga') {
                 // Formats .ogg and .oga are not supported in IE, Edge, or Safari.
                 if (core_useragent::is_ie() || core_useragent::is_edge() || core_useragent::is_safari()) {
                     continue;
                 }
             } else {
                 // Formats .aac, .mp3, and .m4a are not supported in Opera.
                 if (core_useragent::is_opera()) {
                     continue;
                 }
                 // Formats .mp3 and .m4a were not reliably supported in Firefox before 27.
                 // https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats
                 // has the details. .aac is still not supported.
                 if (core_useragent::is_firefox() && ($ext === 'aac' || !core_useragent::check_firefox_version(27))) {
                     continue;
                 }
             }
             // Old Android versions (pre 2.3.3) 'support' audio tag but no codecs.
             if (core_useragent::is_webkit_android() && !core_useragent::is_webkit_android('533.1')) {
                 continue;
             }
             $result[] = $url;
         }
     }
     return $result;
 }
開發者ID:evltuma,項目名稱:moodle,代碼行數:33,代碼來源:medialib.php

示例2: embed

    public function embed($urls, $name, $width, $height, $options)
    {
        if (array_key_exists(core_media_manager::OPTION_ORIGINAL_TEXT, $options) && preg_match('/^<(video|audio)\\b/i', $options[core_media_manager::OPTION_ORIGINAL_TEXT], $matches)) {
            // We already had media tag, do nothing here.
            return $options[core_media_manager::OPTION_ORIGINAL_TEXT];
        }
        // Special handling to make videos play on Android devices pre 2.3.
        // Note: I tested and 2.3.3 (in emulator) works without, is 533.1 webkit.
        $oldandroid = core_useragent::is_webkit_android() && !core_useragent::check_webkit_android_version('533.1');
        // Build array of source tags.
        $sources = array();
        foreach ($urls as $url) {
            $mimetype = core_media_manager::instance()->get_mimetype($url);
            $source = html_writer::empty_tag('source', array('src' => $url, 'type' => $mimetype));
            if ($mimetype === 'video/mp4') {
                if ($oldandroid) {
                    // Old Android fails if you specify the type param.
                    $source = html_writer::empty_tag('source', array('src' => $url));
                }
                // Better add m4v as first source, it might be a bit more
                // compatible with problematic browsers.
                array_unshift($sources, $source);
            } else {
                $sources[] = $source;
            }
        }
        $sources = implode("\n", $sources);
        $title = $this->get_name($name, $urls);
        // Escape title but prevent double escaping.
        $title = s(preg_replace(['/&amp;/', '/&gt;/', '/&lt;/'], ['&', '>', '<'], $title));
        self::pick_video_size($width, $height);
        if (!$height) {
            // Let browser choose height automatically.
            $size = "width=\"{$width}\"";
        } else {
            $size = "width=\"{$width}\" height=\"{$height}\"";
        }
        $sillyscript = '';
        $idtag = '';
        if ($oldandroid) {
            // Old Android does not support 'controls' option.
            $id = 'core_media_html5v_' . md5(time() . '_' . rand());
            $idtag = 'id="' . $id . '"';
            $sillyscript = <<<OET
<script type="text/javascript">
document.getElementById('{$id}').addEventListener('click', function() {
    this.play();
}, false);
</script>
OET;
        }
        // We don't want fallback to another player because list_supported_urls() is already smart.
        // Otherwise we could end up with nested <video> tags. Fallback to link only.
        $fallback = self::LINKPLACEHOLDER;
        return <<<OET
<span class="mediaplugin mediaplugin_html5video">
<video {$idtag} controls="true" {$size} preload="metadata" title="{$title}">
    {$sources}
    {$fallback}
</video>
{$sillyscript}
</span>
OET;
    }
開發者ID:lucaboesch,項目名稱:moodle,代碼行數:64,代碼來源:plugin.php

示例3: list_supported_urls

 public function list_supported_urls(array $urls, array $options = array())
 {
     $extensions = $this->get_supported_extensions();
     $result = array();
     foreach ($urls as $url) {
         $ext = core_media::get_extension($url);
         if (in_array($ext, $extensions)) {
             if ($ext === 'ogg' || $ext === 'oga') {
                 // Formats .ogg and .oga are not supported in IE or Safari.
                 if (core_useragent::is_ie() || core_useragent::is_safari()) {
                     continue;
                 }
             } else {
                 // Formats .aac, .mp3, and .m4a are not supported in Firefox or Opera.
                 if (core_useragent::is_firefox() || core_useragent::is_opera()) {
                     continue;
                 }
             }
             // Old Android versions (pre 2.3.3) 'support' audio tag but no codecs.
             if (core_useragent::is_webkit_android() && !core_useragent::is_webkit_android('533.1')) {
                 continue;
             }
             $result[] = $url;
         }
     }
     return $result;
 }
開發者ID:covex-nn,項目名稱:moodle,代碼行數:27,代碼來源:medialib.php

示例4: test_useragent_webkit_android

 /**
  * @dataProvider user_agents_providers
  */
 public function test_useragent_webkit_android($useragent, $tests)
 {
     // Setup the core_useragent instance.
     core_useragent::instance(true, $useragent);
     if (isset($tests['is_webkit_android']) && $tests['is_webkit_android']) {
         $this->assertTrue(core_useragent::is_webkit_android(), "Browser was not identified as an Android webkit browser");
         $this->assertTrue(core_useragent::check_webkit_android_version());
     } else {
         $this->assertFalse(core_useragent::is_webkit_android(), "Browser was incorrectly identified as an Android webkit browser");
         $this->assertFalse(core_useragent::check_webkit_android_version());
     }
     $versions = array('525' => false, '527' => false, '590' => false);
     if (isset($tests['check_webkit_android_version'])) {
         // The test provider has overwritten some of the above checks.
         // Must use the '+' operator, because array_merge will incorrectly rewrite the array keys for integer-based indexes.
         $versions = $tests['check_webkit_android_version'] + $versions;
     }
     foreach ($versions as $version => $result) {
         $this->assertEquals($result, core_useragent::check_webkit_android_version($version), "Version incorrectly determined for Android webkit version '{$version}'");
     }
 }
開發者ID:mercysmart,項目名稱:naikelas,代碼行數:24,代碼來源:useragent_test.php


注:本文中的core_useragent::is_webkit_android方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。