diff options
author | Dave Tosh <dave@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-03-23 17:30:14 +0000 |
---|---|---|
committer | Dave Tosh <dave@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-03-23 17:30:14 +0000 |
commit | a161b38e65fa698133402f4fb23548242f494018 (patch) | |
tree | e75300111195f40f14c2389abddac65db9068da8 /views/default/forms/add.php | |
download | elgg-a161b38e65fa698133402f4fb23548242f494018.tar.gz elgg-a161b38e65fa698133402f4fb23548242f494018.tar.bz2 |
This videolist plugin shows real promise so we shall work on it for v1.8 then release it back to the community.
Diffstat (limited to 'views/default/forms/add.php')
-rw-r--r-- | views/default/forms/add.php | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/views/default/forms/add.php b/views/default/forms/add.php new file mode 100644 index 000000000..f9837ede4 --- /dev/null +++ b/views/default/forms/add.php @@ -0,0 +1,176 @@ +<?php
+
+ /**
+ * Elgg Video Plugin
+ * This plugin allows users to create a library of youtube/vimeo/metacafe videos
+ * @file - the add user interface
+ * @package Elgg
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Prateek Choudhary <synapticfield@gmail.com>
+ * @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');
+ $access_id = get_input('access_id');
+ $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;
+ //echo $_SESSION['candidate_profile_video'];
+ $url = "action/videolist/addvideo?__elgg_ts={$timestamp}&__elgg_token={$token}";
+ forward($url);
+ }
+ else
+ $error['no-video'] = 0;
+ }
+ else
+ {
+ $error['no-video'] = 0;
+ }
+ }
+
+
+
+ $body = '<div class="videolist-content">';
+
+ $body .= '<form action="'.$_SERVER['php_self'].'" method="post">';
+ $body .= elgg_view('input/hidden',array('internalname'=>'video_action', 'value'=>'add_video'));
+ $body .= elgg_view('input/hidden',array('internalname'=>'guid', 'value'=>$vars['guid']));
+
+
+ $body .= '<p><label>'.elgg_echo("videolist:title_videourl").'<br />';
+ $body .= elgg_view("input/text",array('internalname' => 'title_videourl','value'=>$title_add_videourl));
+ if($error['no-video'] == 0)
+ {
+ $body .= '<div class="error">'.$error_msg['no-video'].'</div>';
+ }
+ $body .= '</label></p>';
+
+ $body .= '<p><label>'.elgg_echo('videolist:tags');
+ $body .= elgg_view('input/tags', array('internalname' => 'videolisttags', 'value' => $tags));
+ $body .= '</label></p>';
+
+ $body .= '<p><label>'.elgg_echo("videolist:title_access").'<br />';
+ $body .= elgg_view('input/access',array('internalname'=>'access_id', 'value' => $access_id));
+ $body .= '</label></p>';
+ $body .= elgg_view('input/submit', array('internalname'=>'submit','value'=>elgg_echo('videolist:submit')));
+ $body .= '</form>';
+ $body .= '</div>';
+
+ print $body."<br /><br />";
+
+
+?>
+
+<script type="text/javascript">
+
+</script>
|