]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/GNUsocialProfileExtensions/GNUsocialProfileExtensionsPlugin.php
Merge remote-tracking branch 'upstream/master' into social-master
[quix0rs-gnu-social.git] / plugins / GNUsocialProfileExtensions / GNUsocialProfileExtensionsPlugin.php
index 468bc192046f0d307e86f2b55e0861f6c11b980c..6bf6a159848cc7d14a2c1472770ddd8ea754342e 100644 (file)
@@ -22,7 +22,7 @@
  * @category  Widget
  * @package   GNU Social
  * @author    Max Shinn <trombonechamp@gmail.com>
- * @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
  */
 
@@ -30,51 +30,23 @@ if (!defined('STATUSNET')) {
     exit(1);
 }
 
+include_once $dir . '/lib/profiletools.php';
+
 class GNUsocialProfileExtensionsPlugin extends Plugin
 {
 
-    function onAutoload($cls)
-    {
-        $dir = dirname(__FILE__);
-
-        switch ($cls)
-        {
-        case 'BioAction':
-            include_once $dir . '/actions/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
-            break;
-        case 'ProfilefieldsAdminPanelAction':
-            include_once $dir . '/actions/' . strtolower(mb_substr($cls, 0, -16)) . '.php';
-            break;
-        default:
-            break;
-        }
-        include_once $dir . '/classes/GNUsocialProfileExtensionField.php';
-        include_once $dir . '/classes/GNUsocialProfileExtensionResponse.php';
-        include_once $dir . '/lib/profiletools.php';
-        return true;
-    }
-
     function onCheckSchema()
     {
         $schema = Schema::get();
-        $schema->ensureTable('GNUsocialProfileExtensionField',
-                                array(new ColumnDef('id', 'int(11)', null, false, 'PRI', null, null, true),
-                                      new ColumnDef('systemname', 'varchar(64)', null, false),
-                                      new ColumnDef('title', 'varchar(256)', null, false),
-                                      new ColumnDef('description', 'text', null, false),
-                                      new ColumnDef('type', 'varchar(256)', null, false)));
-        $schema->ensureTable('GNUsocialProfileExtensionResponse',
-                                array(new ColumnDef('id', 'int(11)', null, false, 'PRI', null, null, true),
-                                      new ColumnDef('extension_id', 'int(11)', null, false),
-                                      new ColumnDef('profile_id', 'int(11)', null, false),
-                                      new ColumnDef('value', 'text', null, false)));
-                                          
+        $schema->ensureTable('GNUsocialProfileExtensionField', GNUsocialProfileExtensionField::schemaDef());
+        $schema->ensureTable('GNUsocialProfileExtensionResponse', GNUsocialProfileExtensionResponse::schemaDef());
     }
 
-    function onRouterInitialized($m)
+    function onRouterInitialized(URLMapper $m)
     {
         $m->connect(':nickname/bio', array('action' => 'bio'));
         $m->connect('admin/profilefields', array('action' => 'profilefieldsAdminPanel'));
+        $m->connect('notice/respond', array('action' => 'newresponse'));
         return true;
     }
 
@@ -130,12 +102,17 @@ class GNUsocialProfileExtensionsPlugin extends Plugin
         }
     }
     
-    function onEndShowStyles($action)
+    function onEndShowStyles(Action $action)
     {
         $action->cssLink('/plugins/GNUsocialProfileExtensions/res/style.css');
     }
 
-    function onEndAdminPanelNav($nav)
+    function onEndShowScripts(Action $action)
+    {
+        $action->script('plugins/GNUsocialProfileExtensions/js/profile.js');
+    }
+
+    function onEndAdminPanelNav(Menu $nav)
     {
         if (AdminPanelAction::canAdmin('profilefields')) {
 
@@ -153,12 +130,10 @@ class GNUsocialProfileExtensionsPlugin extends Plugin
         return true;
     }
 
-    function onStartPersonalGroupNav($nav)
+    function onStartPersonalGroupNav(Menu $nav, Profile $target, Profile $scoped=null)
     { 
         $nav->out->menuItem(common_local_url('bio',
                            array('nickname' => $nav->action->trimmed('nickname'))), _('Bio'), 
                            _('The user\'s extended profile'), $nav->action->trimmed('action') == 'bio', 'nav_bio');
     }
-
 }
-