* @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
{
*/
function onRouterInitialized($m)
{
- $m->connect('admin/import/yammer',
- array('action' => 'importyammer'));
+ $m->connect('panel/yammer',
+ array('action' => 'yammeradminpanel'));
+ $m->connect('panel/yammer/auth',
+ array('action' => 'yammerauth'));
return true;
}
*/
function onEndInitializeQueueManager(QueueManager $qm)
{
- $qm->connect('importym', 'ImportYmQueueHandler');
+ $qm->connect('yammer', 'YammerQueueHandler');
+
+ return true;
+ }
+
+ /**
+ * 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) {
+ $schemaDef = call_user_func(array($table, 'schemaDef'));
+ $schema->ensureTable(strtolower($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;
}
{
$base = dirname(__FILE__);
$lower = strtolower($cls);
- switch ($cls) {
- case 'yammerimqueuehandler':
- case 'importyammeraction':
- require_once $base . $lower . '.php';
+ switch ($lower) {
+ case 'sn_yammerclient':
+ case 'yammerimporter':
+ case 'yammerrunner':
+ case 'yammerapikeyform':
+ case 'yammerauthinitform':
+ case 'yammerauthverifyform':
+ case 'yammerprogressform':
+ case 'yammerqueuehandler':
+ require_once "$base/lib/$lower.php";
+ return false;
+ case 'yammeradminpanelaction':
+ $crop = substr($lower, 0, strlen($lower) - strlen('action'));
+ require_once "$base/actions/$crop.php";
+ return false;
+ case 'yammer_state':
+ case 'yammer_notice_stub':
+ case 'yammer_common':
+ case 'yammer_user':
+ case 'yammer_group':
+ case 'yammer_notice':
+ require_once "$base/classes/$cls.php";
return false;
default:
return true;