. */ if (!defined('STATUSNET')) { exit(1); } /** * Some UI extras for now... * * @package LinkPreviewPlugin * @maintainer Brion Vibber */ class LinkPreviewPlugin extends Plugin { function onPluginVersion(array &$versions) { $versions[] = array('name' => 'LinkPreview', 'version' => GNUSOCIAL_VERSION, 'author' => 'Brion Vibber', 'homepage' => 'http://status.net/wiki/Plugin:LinkPreview', 'rawdescription' => // TRANS: Plugin description. _m('UI extension for previewing thumbnails from links.')); return true; } /** * Load JS at runtime if we're logged in. * * @param Action $action * @return boolean hook result */ function onEndShowScripts($action) { $user = common_current_user(); if ($user && common_config('attachments', 'process_links')) { $action->script($this->path('js/linkpreview.js')); $data = json_encode(array( 'api' => common_local_url('oembedproxy'), 'width' => common_config('attachments', 'thumbwidth'), 'height' => common_config('attachments', 'thumbheight'), )); $action->inlineScript('$(function() {SN.Init.LinkPreview && SN.Init.LinkPreview('.$data.');})'); } return true; } /** * Hook for RouterInitialized event. * * @param URLMapper $m URL mapper * * @return boolean hook return */ public function onStartInitializeRouter(URLMapper $m) { $m->connect('main/oembed/proxy', array('action' => 'oembedproxy')); return true; } }