]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/GNUsocialVideo/GNUsocialVideoPlugin.php
Merged
[quix0rs-gnu-social.git] / plugins / GNUsocialVideo / GNUsocialVideoPlugin.php
index 79f79c50d2a8a6c63fbf3f109754afefcbe60887..abf0f304301df01b419b226af352e04e561377d9 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /**
  * GNU Social
- * Copyright (C) 2010, Free Software Foundation, Inc.
+ * Copyright (C) 2011, Free Software Foundation, Inc.
  *
  * PHP version 5
  *
@@ -22,7 +22,7 @@
  * @category  Widget
  * @package   GNU Social
  * @author    Ian Denhardt <ian@zenhack.net>
- * @copyright 2010 Free Software Foundation, Inc.
+ * @copyright 2011 Free Software Foundation, Inc.
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
  */
 
@@ -33,6 +33,8 @@ if (!defined('STATUSNET')) {
 class GNUsocialVideoPlugin extends MicroAppPlugin
 {
 
+    var $oldSaveNew = true;
+
     function onCheckSchema()
     {
         $schema = Schema::get();
@@ -42,30 +44,7 @@ class GNUsocialVideoPlugin extends MicroAppPlugin
         return true;
     }
 
-    function onAutoload($cls)
-    {
-        $dir = dirname(__FILE__);
-        switch($cls)
-        {
-        case 'PostvideoAction':
-            include_once $dir . '/actions/postvideo.php';
-            break;
-        case 'Video':
-            include_once $dir . '/Video.php';
-            break;
-        case 'VideoForm':
-            include_once $dir . '/videoform.php';
-            break;
-        case 'ShowvideoAction':
-            include_once $dir . '/showvideo.php';
-            break;
-        default:
-            break;
-        }
-        return true;
-    }
-
-    function onRouterInitialized($m)
+    function onRouterInitialized(URLMapper $m)
     {
         $m->connect('main/postvideo', array('action' => 'postvideo'));
         $m->connect('showvideo/:id', array('action' => 'showvideo'));
@@ -79,7 +58,7 @@ class GNUsocialVideoPlugin extends MicroAppPlugin
 
     function appTitle()
     {
-        return _('video');
+        return _('Video');
     }
 
     function tag()
@@ -92,7 +71,7 @@ class GNUsocialVideoPlugin extends MicroAppPlugin
         return array(Video::OBJECT_TYPE);
     }
 
-    function saveNoticeFromActivity($activity, $actor, $options=array())
+    function saveNoticeFromActivity(Activity $activity, Profile $actor, array $options=array())
     {
         if(count($activity->objects) != 1) {
             throw new Exception('Too many activity objects.');
@@ -114,14 +93,14 @@ class GNUsocialVideoPlugin extends MicroAppPlugin
    
     }
 
-    function activityObjectFromNotice($notice)
+    function activityObjectFromNotice(Notice $notice)
     {
         $object = new ActivityObject();
         $object->id = $notice->uri;
         $object->type = Video::OBJECT_TYPE;
         $object->title = $notice->content;
         $object->summary = $notice->content;
-        $object->link = $notice->bestUrl();
+        $object->link = $notice->getUrl();
 
         $vid = Video::getByNotice($notice);
 
@@ -133,16 +112,21 @@ class GNUsocialVideoPlugin extends MicroAppPlugin
         
     }
 
-    function showNotice($notice, $out)
+    function showNotice(Notice $notice, HTMLOutputter $out)
     {
         $vid = Video::getByNotice($notice);
         if ($vid) {
-            $out->element('video', array('src' => $vid->url));
+            $out->element('video', array('src' => $vid->url,
+                'width' => '100%',
+                'controls' => 'controls'));
         }
     }
 
-    function deleteRelated($notice)
+    function deleteRelated(Notice $notice)
     {
-        exit(1); // TODO: implement
+        $vid = Video::getByNotice($notice);
+        if ($vid) {
+            $vid->delete();
+        }
     }
 }