exit(1);
}
+include_once $dir . '/lib/profiletools.php';
+
class GNUsocialProfileExtensionsPlugin extends Plugin
{
- function onAutoload($cls)
- {
- $dir = dirname(__FILE__);
-
- switch ($cls)
- {
- case 'BioAction':
- case 'NewresponseAction':
- 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';
- include_once $dir . '/lib/noticetree.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'));
}
}
- function onEndShowStyles($action)
+ function onEndShowStyles(Action $action)
{
$action->cssLink('/plugins/GNUsocialProfileExtensions/res/style.css');
}
- function onEndShowScripts($action)
+ function onEndShowScripts(Action $action)
{
$action->script('plugins/GNUsocialProfileExtensions/js/profile.js');
}
- function onEndAdminPanelNav($nav)
+ function onEndAdminPanelNav(Menu $nav)
{
if (AdminPanelAction::canAdmin('profilefields')) {
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');
}
-
- //Why the heck is this shoved into this plugin!?!? It deserves its own!
- function onShowStreamNoticeList($notice, $action, &$pnl)
- {
- //TODO: This function is called after the notices in $notice are superfluously retrieved in showstream.php
- $newnotice = new Notice();
- $newnotice->profile_id = $action->user->id;
- $newnotice->orderBy('modified DESC');
- $newnotice->whereAdd('reply_to IS NULL');
- $newnotice->limit(($action->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
- $newnotice->find();
-
- $pnl = new NoticeTree($newnotice, $action);
- return false;
- }
-
}
-