$schema = Schema::get();
// For storing user-submitted flags on profiles
-
- $schema->ensureTable('user_greeting_count',
- array(
- 'fields' => array(
- 'user_id' => array('type' => 'int', 'not null' => true),
- 'greeting_count' => array('type' => 'int'),
- ),
- 'primary key' => array('user_id'),
- 'foreign keys' => array(
- // Not all databases will support foreign keys, but even
- // when not enforced it's helpful to include these definitions
- // as documentation.
- 'user_greeting_count_user_id_fkey' => array('user', array('user_id' => 'id')),
- ),
- )
- );
-
+ $schema->ensureTable('user_greeting_count', User_greeting_count::schemaDef());
return true;
}
- /**
- * Load related modules when needed
- *
- * Most non-trivial plugins will require extra modules to do their work. Typically
- * these include data classes, action classes, widget classes, or external libraries.
- *
- * This method receives a class name and loads the PHP file related to that class. By
- * tradition, action classes typically have files named for the action, all lower-case.
- * Data classes are in files with the data class name, initial letter capitalized.
- *
- * Note that this method will be called for *all* overloaded classes, not just ones
- * in this plugin! So, make sure to return true by default to let other plugins, and
- * the core code, get a chance.
- *
- * @param string $cls Name of the class to be loaded
- *
- * @return boolean hook value; true means continue processing, false means stop.
- */
- function onAutoload($cls)
- {
- $dir = dirname(__FILE__);
-
- switch ($cls)
- {
- case 'HelloAction':
- include_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
- return false;
- case 'User_greeting_count':
- include_once $dir . '/'.$cls.'.php';
- return false;
- default:
- return true;
- }
- }
-
/**
* Map URLs to actions
*
* action will be named 'FoobarAction', where action = 'foobar'. The class
* must be loaded in the onAutoload() method.
*
- * @param Net_URL_Mapper $m path-to-action mapper
+ * @param URLMapper $m path-to-action mapper
*
* @return boolean hook value; true means continue processing, false means stop.
*/
- function onRouterInitialized($m)
+ public function onRouterInitialized(URLMapper $m)
{
$m->connect('main/hello',
array('action' => 'hello'));
{
// common_local_url() gets the correct URL for the action name
// we provide
-
$action->menuItem(common_local_url('hello'),
- _m('Hello'), _m('A warm greeting'), false, 'nav_hello');
+ // TRANS: Menu item in sample plugin.
+ _m('Hello'),
+ // TRANS: Menu item title in sample plugin.
+ _m('A warm greeting'), false, 'nav_hello');
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Sample',
- 'version' => STATUSNET_VERSION,
+ 'version' => GNUSOCIAL_VERSION,
'author' => 'Brion Vibber, Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:Sample',
'rawdescription' =>
+ // TRANS: Plugin description.
_m('A sample plugin to show basics of development for new hackers.'));
return true;
}