• Skip to content
  • Skip to primary sidebar
  • Skip to footer

Foliovision

Main navigation

  • Weblog
    • FV Player
    • WordPress
    • Video of the Week
    • Case Studies
    • Business
  • About
    • Testimonials
    • Meet the Team
    • We Support
    • Careers
    • Contact
    • Pricing
  • Products
  • Support
    • FV Player Docs
    • Pro Support
  • Login
  • Basket is empty

FV Player in iPhone/iPod touch + access control

[Solved]

Foliovision › Forums › FV Player › Troubleshooting › FV Player in iPhone/iPod touch + access control

  • Cyranoz 13 years, 2 months ago

    Hi,

    I have installed the beta version of FV Flowplayer with HTML5. I’m also using the plugin User Access Manager to protect the “upload” directory. When a video stored within that directory is requested, the player won’t work on the iPhone/iPod touch. Otherwise, the player works like a charm.

    Everytime a video is requested from within the “upload” directory, a script within UAM plugin checks that the user has access to that video and if so, “delivers” the content. So I figured there might be a problem with the way this content is “delivered”.

    After a quick search on the net, I discovered this website http://mobiforge.com/developing/story/content-delivery-mobile-devices (see Appendix A) explaining what needs to be done when we want to deliver the video from a php script.

    I have made the necessary changes, but it still doesn’t work… If someone can help, it would be great.

    Here is an extract of the function from UAM plugin delivering the content of the file :

    public function getFile($objectType, $objectUrl)
    {
    $object = $this->_getFileSettingsByType($objectType, $objectUrl);

    if ($object === null) {
    return null;
    }

    $file = null;

    if(!is_user_logged_in()) {
    $url_redir = home_url(‘/login/?redirect_to=’.urlencode(home_url(‘/wp-content/uploads/’).$objectUrl));
    wp_redirect($url_redir);
    exit;
    }
    else {

    if ($this->getAccessHandler()->checkObjectAccess($object->type, $object->id)) {
    $file = $object->file;
    } elseif ($object->isImage) {
    $file = UAM_REALPATH.’gfx/noAccessPic.png’;
    } else {
    //wp_die(TXT_UAM_NO_RIGHTS);
    $url_redir = home_url();
    wp_redirect($url_redir);
    exit;
    }

    } // end test is_user_logged_in

    //Deliver content
    if (file_exists($file)) {
    $fileName = basename($file);

    /*
    * This only for compatibility
    * mime_content_type has been deprecated as the PECL extension Fileinfo
    * provides the same functionality (and more) in a much cleaner way.
    */
    $ext = strtolower(array_pop(explode(‘.’, $fileName)));

    if (function_exists(‘finfo_open’)) {
    $finfo = finfo_open(FILEINFO_MIME);
    $fileMimeType = finfo_file($finfo, $file);
    finfo_close($finfo);
    } elseif (function_exists(‘mime_content_type’)) {
    $fileMimeType = mime_content_type($file);
    } elseif (array_key_exists($ext, $this->mimeTypes)) {
    $fileMimeType = $this->mimeTypes[$ext];
    } else {
    $fileMimeType = ‘application/octet-stream’;
    }

    // cnocno –>

    if (!isset($_SERVER)) { // Desktop computer

    // <– cnocno

    header(‘Content-Description: File Transfer’);
    header(‘Content-Type: ‘.$fileMimeType);

    if (!$object->isImage) {
    $baseName = str_replace(‘ ‘, ‘_’, basename($file));

    header(‘Content-Disposition: attachment; filename=”‘.$baseName.'”‘);
    }

    header(‘Content-Transfer-Encoding: binary’);
    header(‘Content-Length: ‘.filesize($file));

    $uamOptions = $this->getAdminOptions();

    if ($uamOptions == ‘fopen’
    && !$object->isImage
    ) {
    $fp = fopen($file, ‘r’);

    //TODO find better solution (prevent ‘n’ / ‘0A’)
    ob_clean();
    flush();

    while (!feof($fp)) {
    if (!ini_get(‘safe_mode’)) {
    set_time_limit(30);
    }
    $buffer = fread($fp, 1024);
    echo $buffer;
    }

    exit;
    } else {
    ob_clean();
    flush();
    readfile($file);
    exit;
    }

    // cnocno –>

    }

    else { // do it for any device that supports byte-ranges not only iPhone

    header(‘Content-Type: ‘.$fileMimeType);
    rangeDownload($file);

    }

    // <– cnocno

    } else {
    wp_die(TXT_UAM_FILE_NOT_FOUND_ERROR);
    }
    }

    where the code between “cnocno –>” and “<– cnocno” are changes I made myself and the function “rangeDownload” is taken from the link above.

    I know I’m asking to much, but if someone already encountered this problem and managed to solve it, I’d be very interested to know how! :)

    Thanks for any help.

    C.

Viewing 1 replies (of 1 total)
  • zdenka 13 years ago

    Hello Cyranoz,

    this is a very specific problem and it cannot be generally solved within out plugin, so I am sorry we cannot help here. But maybe you’ll me lucky and as you write somebody else having the same problem might help you.

    Zdenka

Viewing 1 replies (of 1 total)
Reply To: FV Player in iPhone/iPod touch + access control



Please Sign in or Register to upload files.

Related Posts

  1. CloudFront Restrict Viewer Access CORS Problem

    CloudFront Restrict Viewer Access CORS Problem

  2. Cannot access widgets page because of fvplayer wizzard error

    Cannot access widgets page because of fvplayer wizzard error

  3. Admin warning on video

    Admin warning on video

Primary Sidebar

Sign in Register
FV Player Docs Post New Topic

Welcome

to Foliovision support forums! We'll be happy to provide free support to resolve all the reported bugs. You always can start by specifying your OS and browser and steps to reproduce the bug.

If you need help with the installation on your site, please submit a request for a Pro Support Incident. We'll have you up and running in no time, with detailed instructions on how to resolve your issue yourself in the future.

Facing a hard to solve WordPress problem? On a tight deadline?

Let us take care of it for you
right now.

Pro Support Buy FV Player

Footer

Our Plugins

  • FV WordPress Flowplayer
  • FV Thoughtful Comments
  • FV Simpler SEO
  • FV Antispam
  • FV Gravatar Cache
  • FV Testimonials

Free Tools

  • Pandoc Online
  • Article spinner
  • WordPress Password Finder
  • Delete LinkedIn Account
  • Responsive Design Calculator
Foliovision logo
All materials © 2025 Foliovision s.r.o. | Panská 12 - 81101 Bratislava - Slovakia | info@foliovision.com
  • This Site Uses Cookies
  • Privacy Policy
  • Terms of Service
  • Site Map
  • Contact
  • Tel. ‭+421 2/5292 0086‬

We are using cookies to give you the best experience on our website.

You can find out more about which cookies we are using or switch them off in .

Powered by  GDPR Cookie Compliance
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Necessary Cookies

Strictly Necessary Cookie allow you to log in and download your software or post to forums.

We use the WordPress login cookie and the session cookie.

If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.

Support Cookies

Foliovision.com uses self-hosted Rocket.chat and self-hosted Freescout support desk to provide support for FV Player users. These cookies allow our visitors to chat with us and/or submit support tickets.

We are delighted to recommend self-hosted Rocket.chat and especially Freescout to other privacy-conscious independent publishers who would prefer to self-host support.

Please enable Strictly Necessary Cookies first so that we can save your preferences!

3rd Party Cookies

This website uses Google Analytics and Statcounter to collect anonymous information such as the number of visitors to the site, and the most popular pages.

Keeping this cookie enabled helps us to improve our website.

We reluctantly use Google Analytics as it helps us to test FV Player against popular Google Analytics features. Feel free to turn off these cookies if they make you feel uncomfortable.

Statcounter is an independent Irish stats service which we have been using since the beginning of recorded time, sixteen years ago.

Please enable Strictly Necessary Cookies first so that we can save your preferences!