diff options
Diffstat (limited to 'plugins/YammerImport/YammerImportPlugin.php')
-rw-r--r-- | plugins/YammerImport/YammerImportPlugin.php | 61 |
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; } |