diff --git a/index.php b/index.php index b060a3d52a..049d46afce 100644 --- a/index.php +++ b/index.php @@ -272,11 +272,7 @@ function main() return; } - // Note the order here: arguments from the URL mapper will - // override request params that have been sent. This ensures - // that for instance an action parameter can't be overridden - // with an arbitrary action class. - $args = array_merge($_REQUEST, $args); + $args = array_merge($args, $_REQUEST); Event::handle('ArgsInitialize', array(&$args)); diff --git a/lib/router.php b/lib/router.php index 9640ec1e04..a0ea996ecf 100644 --- a/lib/router.php +++ b/lib/router.php @@ -128,12 +128,13 @@ class Router { if (empty($this->m)) { $k = self::cacheKey(); - $m = Cache::get($k); + $c = Cache::instance(); + $m = $c->get($k); if (!empty($m)) { $this->m = $m; } else { $this->m = $this->initialize(); - Cache::set($k, $this->m); + $c->set($k, $this->m); } } } @@ -156,18 +157,18 @@ class Router static function cacheKey() { $plugins = StatusNet::getActivePlugins(); - $names = array(); + $names = array(); - foreach ($plugins as $plugin) { - $names[] = $plugin[0]; - } + foreach ($plugins as $plugin) { + $names[] = $plugin[0]; + } - $names = array_unique($names); - asort($names); + $names = array_unique($names); + asort($names); - // Unique enough. + // Unique enough. - $uniq = crc32(implode(',', $names)); + $uniq = crc32(implode(',', $names)); return Cache::key('router:'.STATUSNET_VERSION.':'.$uniq); } diff --git a/plugins/Awesomeness/AwesomenessPlugin.php b/plugins/Awesomeness/AwesomenessPlugin.php new file mode 100644 index 0000000000..294f094389 --- /dev/null +++ b/plugins/Awesomeness/AwesomenessPlugin.php @@ -0,0 +1,110 @@ +. + * + * @category Plugin + * @package StatusNet + * @author Jeroen De Dauw + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Fun sample plugin: tweaks input data and adds a 'Cornify' widget to sidebar. + * + * @category Plugin + * @package StatusNet + * @author Jeroen De Dauw + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +class AwesomenessPlugin extends Plugin +{ + + const VERSION = '0.0.42'; + + public function onPluginVersion(&$versions) + { + $versions[] = array( + 'name' => 'Awesomeness', + 'version' => self::VERSION, + 'author' => 'Jeroen De Dauw', + 'homepage' => 'http://status.net/wiki/Plugin:Awesomeness', + 'rawdescription' => _m( + 'The Awesomeness plugin adds adittional awesomeness ' . + 'to your StatusNet install. ' + ) + ); + return true; + } + + /** + * Add the conrnify button + * + * @param Action $action the current action + * + * @return void + */ + + function onEndShowSections(Action $action) + { + $action->elementStart('div', array('id' => 'cornify_section', + 'class' => 'section')); + + $action->raw( + << + Cornify + + +EOT + ); + + $action->elementEnd('div'); + } + + /** + * Hook for new-notice form processing to take our HTML goodies; + * won't affect API posting etc. + * + * @param NewNoticeAction $action + * @param User $user + * @param string $content + * @param array $options + * @return boolean hook return + */ + function onStartSaveNewNoticeWeb($action, $user, &$content, &$options) + { + $content = htmlspecialchars($content); + $options['rendered'] = preg_replace("/(^|\s|-)((?:awesome|awesomeness)[\?!\.\,]?)(\s|$)/i", " $2 ", $content); + } + +} \ No newline at end of file