$user = common_current_user();
if ($user) {
$action->script('plugins/LinkPreview/linkpreview.js');
+ $data = json_encode(array(
+ 'api' => common_config('oohembed', 'endpoint'),
+ 'width' => common_config('attachments', 'thumbwidth'),
+ 'height' => common_config('attachments', 'thumbheight'),
+ ));
+ $action->inlineScript('$(function() {SN.Init.LinkPreview && SN.Init.LinkPreview('.$data.');})');
}
return true;
}
* (c) 2010 StatusNet, Inc.
*/
-$(function() {
- /**
- * Find URL links from the source text that may be interesting.
- *
- * @param {String} text
- * @return {Array} list of URLs
- */
- function findLinks(text)
- {
- // @fixme match this to core code
- var re = /(?:^| )(https?:\/\/.+?\/.+?)(?= |$)/mg;
- var links = [];
- var matches;
- while ((matches = re.exec(text)) !== null) {
- links.push(matches[1]);
- }
- return links;
- }
-
+(function() {
var oEmbed = {
api: 'http://oohembed.com/oohembed',
+ width: 100,
+ height: 75,
cache: {},
callbacks: {},
var params = {
url: url,
format: 'json',
- maxwidth: 100,
- maxheight: 75,
+ maxwidth: oEmbed.width,
+ maxheight: oEmbed.height,
callback: '?'
};
$.get(oEmbed.api, params, function(data, xhr) {
}
};
+ /**
+ * Find URL links from the source text that may be interesting.
+ *
+ * @param {String} text
+ * @return {Array} list of URLs
+ */
+ function findLinks(text)
+ {
+ // @fixme match this to core code
+ var re = /(?:^| )(https?:\/\/.+?\/.+?)(?= |$)/mg;
+ var links = [];
+ var matches;
+ while ((matches = re.exec(text)) !== null) {
+ links.push(matches[1]);
+ }
+ return links;
+ }
+
/**
* Start looking up info for a link preview...
* May start async data loads.
prepLinkPreview(id, links[i]);
}
}
- $('#form_notice').append('<div id="link-preview" class="thumbnails"></div>');
- // Piggyback on the counter update...
- var origCounter = SN.U.Counter;
- SN.U.Counter = function(form) {
- previewLinks($('#notice_data-text').val());
- return origCounter(form);
+ SN.Init.LinkPreview = function(params) {
+ if (params.api) oEmbed.api = params.api;
+ if (params.width) oEmbed.width = params.width;
+ if (params.height) oEmbed.height = params.height;
+
+ $('#form_notice').append('<div id="link-preview" class="thumbnails"></div>');
+
+ // Piggyback on the counter update...
+ var origCounter = SN.U.Counter;
+ SN.U.Counter = function(form) {
+ previewLinks($('#notice_data-text').val());
+ return origCounter(form);
+ }
}
-});
+})();