From fc7921d05953d3de3130f9d49b7d73ec4c466b34 Mon Sep 17 00:00:00 2001 From: Sem Date: Thu, 3 Nov 2011 22:18:13 +0100 Subject: Upgraded "add video" page. --- views/default/forms/videolist/add.php | 163 ++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 views/default/forms/videolist/add.php (limited to 'views/default/forms/videolist/add.php') diff --git a/views/default/forms/videolist/add.php b/views/default/forms/videolist/add.php new file mode 100644 index 000000000..2ee5d9c2e --- /dev/null +++ b/views/default/forms/videolist/add.php @@ -0,0 +1,163 @@ + + * @copyright Prateek Choudhary + */ +// Make sure we're logged in (send us to the front page if not) +gatekeeper(); +$page_owner = page_owner_entity(); +$error = array( + 'no-video' => 1 + ); +$error_msg = array( + 'no-video' => "Please enter a valid video url" + ); + +$container_guid = get_input("container_guid"); +set_page_owner($container_guid); + +$confirm_action = get_input('video_action'); +$guid = get_input('guid'); +if(page_owner_entity() instanceof ElggGroup){ + //if in a group, set the access level to default to the group + $access_id = page_owner_entity()->group_acl; +}else{ + $access_id = get_default_access(get_loggedin_user()); +} +//if it is a group, pull out the group access view +if(page_owner_entity() instanceof ElggGroup){ + $options = group_access_options(page_owner_entity()); +}else{ + $options = ''; +} +$title_videourl = get_input('title_videourl'); +$Pagecontainer = get_input('page'); +$get_addvideourl = get_input('add_videourl'); +$timestamp = time(); +$token = generate_action_token(time()); +if (!empty($get_addvideourl) && ($Pagecontainer == "youtube")) { + $title_add_videourl = "http://www.youtube.com/watch?v=".$get_addvideourl; +} else if(!empty($get_addvideourl) && ($Pagecontainer == "metacafe")) { + $title_add_videourl = "http://www.metacafe.com/api/item/".$get_addvideourl; +} else if(!empty($get_addvideourl) && ($Pagecontainer == "vimeo")) { + $title_add_videourl = "http://vimeo.com/".$get_addvideourl; +} else { + $title_add_videourl = ""; +} + +$tags = get_input('videolisttags'); + +function video_youtube_parse_url($url) { + if (!preg_match('/(http:\/\/)([a-zA-Z]{2,3}\.)(youtube\.com\/)(.*)/', $url, $matches)) { + return false; + } + + $domain = $matches[2] . $matches[3]; + $path = $matches[4]; + + if (!preg_match('/^(watch\?v=)([a-zA-Z0-9_-]*)(&.*)?$/',$path, $matches)) { + return false; + } + + $hash = $matches[2]; + return $domain . 'v/' . $hash; +} + +function video_vimeo_parse_url($url) { + if (!preg_match('/(http:\/\/)([a-zA-Z]{2,3}\.)(vimeo\.com\/)(.*)/', $url, $matches)) { + return false; + } + + $domain = $matches[2] . $matches[3]; + $path = $matches[4]; + + $hash = $matches[2]; + + return $domain . '/' . $hash; +} + +function video_metacafe_parse_url($url) { + if (!preg_match('/(http:\/\/)([a-zA-Z]{2,3}\.)(metacafe\.com\/)(.*)/', $url, $matches)) { + return false; + } + + $domain = $matches[2] . $matches[3]; + $path = $matches[4]; + + $hash = $matches[2]; + + return $domain . '/' . $hash; +} + +if(isset($confirm_action) && ($confirm_action == 'add_video')) { + if(isset($title_videourl) && ($title_videourl != '')) { + if($Pagecontainer != "youtube" || $Pagecontainer != "vimeo" || $Pagecontainer != "metacafe"){ + if(preg_match("/youtube/i", $title_videourl)) { + $Pagecontainer = "youtube"; + } + + if(preg_match("/vimeo/i", $title_videourl)) { + $Pagecontainer = "vimeo"; + } + + if(preg_match("/metacafe/i", $title_videourl)) { + $Pagecontainer = "metacafe"; + } + } + if($Pagecontainer == "youtube") { + $is_valid_video = video_youtube_parse_url($title_videourl); + } else if($Pagecontainer == "vimeo") { + $is_valid_video = video_vimeo_parse_url($title_videourl); + $is_valid_video = $get_addvideourl; + } else if($Pagecontainer == "metacafe"){ + $is_valid_video = video_metacafe_parse_url($title_videourl); + $is_valid_video = $get_addvideourl; + } + + if($is_valid_video) { + $error['no-video'] = 1; + $_SESSION['candidate_profile_video'] = $is_valid_video; + $_SESSION['candidate_profile_video_access_id'] = $access_id; + $_SESSION['videolisttags'] = $tags; + $_SESSION['Pagecontainer'] = $Pagecontainer; + $_SESSION['container_guid'] = $container_guid; + $url = "action/videolist/add?__elgg_ts={$timestamp}&__elgg_token={$token}"; + forward($url); + } + else + $error['no-video'] = 0; + } + else { + $error['no-video'] = 0; + } +} + +$body = '
'; +$body .= elgg_view('input/hidden',array('internalname'=>'video_action', 'value'=>'add_video')); +$body .= elgg_view('input/hidden',array('internalname'=>'guid', 'value'=>$vars['guid'])); + + +$body .= '

'.$error_msg['no-video'].'
'; +} +$body .= '

'; + +$body .= '

'; + +$body .= '

'; +$body .= elgg_view('input/submit', array('internalname'=>'submit','value'=>elgg_echo('videolist:submit'))); +$body .= '
'; + +print $body; -- cgit v1.2.3