summaryrefslogtreecommitdiff
path: root/plugins/YammerImport/YammerImportPlugin.php
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/YammerImport/YammerImportPlugin.php')
-rw-r--r--plugins/YammerImport/YammerImportPlugin.php61
1 files changed, 56 insertions, 5 deletions
diff --git a/plugins/YammerImport/YammerImportPlugin.php b/plugins/YammerImport/YammerImportPlugin.php
index 79b8260b6..f55169a55 100644
--- a/plugins/YammerImport/YammerImportPlugin.php
+++ b/plugins/YammerImport/YammerImportPlugin.php
@@ -22,9 +22,7 @@
* @maintainer Brion Vibber <brion@status.net>
*/
-if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
-
-set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/extlib/');
+if (!defined('STATUSNET')) { exit(1); }
class YammerImportPlugin extends Plugin
{
@@ -36,8 +34,8 @@ class YammerImportPlugin extends Plugin
*/
function onRouterInitialized($m)
{
- $m->connect('admin/import/yammer',
- array('action' => 'importyammer'));
+ $m->connect('admin/yammer',
+ array('action' => 'yammeradminpanel'));
return true;
}
@@ -54,6 +52,56 @@ class YammerImportPlugin extends Plugin
}
/**
+ * Set up all our tables...
+ */
+ function onCheckSchema()
+ {
+ $schema = Schema::get();
+
+ $tables = array('Yammer_state',
+ 'Yammer_user',
+ 'Yammer_group',
+ 'Yammer_notice',
+ 'Yammer_notice_stub');
+ foreach ($tables as $table) {
+ $schema->ensureTable($table, $table::schemaDef());
+ }
+
+ return true;
+ }
+
+ /**
+ * If the plugin's installed, this should be accessible to admins.
+ */
+ function onAdminPanelCheck($name, &$isOK)
+ {
+ if ($name == 'yammer') {
+ $isOK = true;
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Add the Yammer admin panel to the list...
+ */
+ function onEndAdminPanelNav($nav)
+ {
+ if (AdminPanelAction::canAdmin('yammer')) {
+ $action_name = $nav->action->trimmed('action');
+
+ $nav->out->menuItem(common_local_url('yammeradminpanel'),
+ _m('Yammer'),
+ _m('Yammer import'),
+ $action_name == 'yammeradminpanel',
+ 'nav_yammer_admin_panel');
+ }
+
+ return true;
+ }
+
+ /**
* Automatically load the actions and libraries used by the plugin
*
* @param Class $cls the class
@@ -70,6 +118,9 @@ class YammerImportPlugin extends Plugin
case 'yammerimporter':
require_once "$base/lib/$lower.php";
return false;
+ case 'yammeradminpanelaction':
+ require_once "$base/actions/yammeradminpanel.php";
+ return false;
default:
return true;
}