War icon

.

War | PRO | 03/14/17 09:06:20 PM UTC | 0 ⭐ | 566 👁️ | Never ⏰ | []
PHP |

3.66 KB

|

None

|

0 👍

/

0 👎

elseif(strpos(strtolower($_SERVER['HTTP_HOST']), 'video.') === 0)
    {
        // IF YOU MAKE CHANGES TO THIS, please make corresponding changes to /site/video
        try
        {
            $message = 'there was an error processing your request';
 
            $urlPattern = '|/([[:alnum:]]+)|';
            if (preg_match_all($urlPattern, $origURI, $matches))
            {
                $daoVideo = DAO_Video::getInstance();
                $videoId = $matches[1][0];
                $video = $daoVideo->readById($videoId);
                if (is_object($video)) {
                    $home = $video->getProductBin()->getHome();
                    if (!is_object($home) || !$home->isPosted())
                    {
                        $message = 'This tour is no longer active.';
                        throw new Exception("No home for id ($homeId)");
                    }
 
                    $templateId = $video->getVideoTemplateId();
 
                    $videoUpload = $video->getUpload();
                    if (!is_object($videoUpload))
                    {
                        $message = "We could not find a listing video for your listing (1): $homeId";
                        throw new Exception("No video upload for ($homeId, $templateId, $uploadAccountId)");
                    }
                } else {
                    $daoHome = DAO_Home::getInstance();
                    $homeId = $matches[1][0];
                    $home = $daoHome->readByHomeId($homeId);
                    if (!is_object($home) || !$home->isPosted())
                    {
                        $message = 'This tour is no longer active.';
                        throw new Exception("No home for id ($homeId)");
                    }
 
                    $templateId = isset($matches[1][1]) ? $matches[1][1] : null;
                    $uploadAccountId = (isset($matches[1][2]) && ($matches[1][2] != 'video')) ? $matches[1][2] : null;
 
                    $video = $home->getVideoProduct($templateId);
                    if (!is_object($video))
                    {
                        $message = "We could not find a listing video for your listing (2): $homeId";
                        throw new Exception("No video for ($homeId, $templateId)");
                    }
                    $videoUpload = $video->getUpload($uploadAccountId);
                    if (!is_object($videoUpload))
                    {
                        $message = "We could not find a listing video for your listing (3): $homeId";
                        throw new Exception("No video upload for ($homeId, $templateId, $uploadAccountId)");
                    }
                }
 
                $account = $videoUpload->getVideoUploadAccount();
//                $location = "http://youtube.com/user/{$youTubeChannel}#p/search/0/{$youTubeId}";
                switch($account->getVideoUploadSiteId())
                {
                    case CO_VideoUploadSite::YOUTUBE:
                        header('Location: http://www.youtube.com/watch?v=' . $videoUpload->getUploadedId());
                    break;
                    default:
                        throw new Exception("No site match: " . $account->getVideoUploadSiteId(), CO_Action::USER_ERROR);
                        break;
                }
                exit();
            }
            throw new Exception("No pattern match: " . $origURI);
        }
        catch(Exception $e)
        {
            Log::fileWrite(Log::CPVIDEO_LOCATE, $e->getMessage());
        }
        header("Location: http://"  . $_SERVER[HTTP_HOST] .  "/error.htm?message={$message}");
        exit();
    }

Comments