]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - plugins/GNUsocialVideo/actions/postvideo.php
Rudementary video support.
[quix0rs-gnu-social.git] / plugins / GNUsocialVideo / actions / postvideo.php
1 <?php
2 /**
3  * GNU Social
4  * Copyright (C) 2010, Free Software Foundation, Inc.
5  *
6  * PHP version 5
7  *
8  * LICENCE:
9  * This program is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU Affero General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU Affero General Public License for more details.
18  *
19  * You should have received a copy of the GNU Affero General Public License
20  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21  *
22  * @category  Widget
23  * @package   GNU Social
24  * @author    Ian Denhardt <ian@zenhack.net>
25  * @copyright 2010 Free Software Foundation, Inc.
26  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
27  */
28
29 if (!defined('STATUSNET')) {
30     exit(1);
31 }
32
33 class PostvideoAction extends Action {
34     var $user = null;
35
36     function prepare($args)
37     {
38         parent::prepare($args);
39         $this->user = common_current_user();
40         return true;
41     }
42    
43     function handle($args)
44     {
45         parent::handle($args);
46         if ($_SERVER['REQUEST_METHOD'] == 'POST') {
47             $this->handlePost($args);
48         }
49         $this->showPage();
50     }
51
52     function handlePost($args)
53     {
54         if (!$this->arg('post')) {
55             return;
56         }
57         if (empty($_POST['video_uri'])) {
58             return;
59         }
60         $uri = $_POST['video_uri'];
61         // XXX: validate your inputs, dummy.
62         $rend = sprintf('<video src="%s", controls="controls">Sorry, your browser doesn\'t support the video tag.</video>', $uri);
63         Notice::saveNew($this->user->id, 'video : ' . $uri, 'web', array('rendered' => $rend));
64     }
65  
66     function showContent()
67     {
68         if(empty($this->user)) {
69             $this->element('p', array(), 'You are not logged in.');
70         } else {
71             $this->elementStart('form', array('method' => 'post',
72                                               'action' => common_local_url('postvideo')));
73             $this->element('input', array('name' => 'video_uri',
74                                           'type' => 'text',
75                                           'id' => 'video_uri'));
76             $this->submit('post', _('Post'));
77             $this->elementEnd('form');
78         }
79     }
80 }