Show more links work with AJAX-retrieved HTML

Attachment_ajaxAction has been removed since AttachmentAction handles
AJAX calls splendidly.
This commit is contained in:
Mikael Nordfeldth 2014-05-19 00:54:43 +02:00
parent 202eaa53e0
commit d7c40e77b2
6 changed files with 6 additions and 87 deletions

View File

@ -1,79 +0,0 @@
<?php
/**
* StatusNet, the distributed open-source microblogging tool
*
* Show notice attachments
*
* PHP version 5
*
* LICENCE: This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @category Personal
* @package StatusNet
* @author Evan Prodromou <evan@status.net>
* @copyright 2008-2009 StatusNet, Inc.
* @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('GNUSOCIAL') && !defined('STATUSNET')) { exit(1); }
require_once INSTALLDIR.'/actions/attachment.php';
/**
* Show notice attachments
*
* @category Personal
* @package StatusNet
* @author Evan Prodromou <evan@status.net>
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
class Attachment_ajaxAction extends AttachmentAction
{
/**
* Show page, a template method.
*
* @return nothing
*/
function showPage()
{
if (Event::handle('StartShowBody', array($this))) {
$this->showCore();
Event::handle('EndShowBody', array($this));
}
}
protected function handle()
{
$this->showPage();
}
/**
* Show core.
*
* Shows local navigation, content block and aside.
*
* @return nothing
*/
function showCore()
{
$this->elementStart('div', array('id' => 'core'));
if (Event::handle('StartShowContentBlock', array($this))) {
$this->showContentBlock();
Event::handle('EndShowContentBlock', array($this));
}
$this->elementEnd('div');
}
}

View File

@ -862,7 +862,7 @@ var SN = { // StatusNet
$(attachment_more[0]).click(function () { $(attachment_more[0]).click(function () {
var m = $(this); var m = $(this);
m.addClass(SN.C.S.Processing); m.addClass(SN.C.S.Processing);
$.get(m.attr('href') + '/ajax', null, function (data) { $.get(m.attr('href'), {ajax: 1}, function (data) {
m.parent('.entry-content').html($(data).find('#attachment_view .entry-content').html()); m.parent('.entry-content').html($(data).find('#attachment_view .entry-content').html());
}); });

View File

@ -159,7 +159,8 @@ class AttachmentListItem extends Widget
break; break;
case 'text/html': case 'text/html':
if (!empty($this->attachment->filename) && common_config('attachments', 'show_html')) { if (!empty($this->attachment->filename)
&& (StatusNet::isAjax() || common_config('attachments', 'show_html'))) {
// Locally-uploaded HTML. Scrub and display inline. // Locally-uploaded HTML. Scrub and display inline.
$this->showHtmlFile($this->attachment); $this->showHtmlFile($this->attachment);
break; break;

View File

@ -249,7 +249,7 @@ $default =
'user_quota' => 50000000, 'user_quota' => 50000000,
'monthly_quota' => 15000000, 'monthly_quota' => 15000000,
'uploads' => true, 'uploads' => true,
'show_html' => false, // HTML representation for locally uploaded HTML attachments (oEmbed links etc.) 'show_html' => false, // show (filtered) text/html attachments (and oEmbed HTML etc.). Doesn't affect AJAX calls.
'show_thumbs' => true, // show thumbnails in notice lists for uploaded images, and photos and videos linked remotely that provide oEmbed info 'show_thumbs' => true, // show thumbnails in notice lists for uploaded images, and photos and videos linked remotely that provide oEmbed info
'process_links' => true, // check linked resources for embeddable photos and videos; this will hit referenced external web sites when processing new messages. 'process_links' => true, // check linked resources for embeddable photos and videos; this will hit referenced external web sites when processing new messages.
), ),

View File

@ -218,10 +218,6 @@ class Router
array('action' => 'attachment'), array('action' => 'attachment'),
array('attachment' => '[0-9]+')); array('attachment' => '[0-9]+'));
$m->connect('attachment/:attachment/ajax',
array('action' => 'attachment_ajax'),
array('attachment' => '[0-9]+'));
$m->connect('attachment/:attachment/thumbnail', $m->connect('attachment/:attachment/thumbnail',
array('action' => 'attachment_thumbnail'), array('action' => 'attachment_thumbnail'),
array('attachment' => '[0-9]+')); array('attachment' => '[0-9]+'));

View File

@ -160,7 +160,8 @@ class OembedPlugin extends Plugin
case 'rich': case 'rich':
case 'video': case 'video':
case 'link': case 'link':
if (!empty($oembed->html) && common_config('attachments', 'show_html')) { if (!empty($oembed->html)
&& (StatusNet::isAjax() || common_config('attachments', 'show_html'))) {
require_once INSTALLDIR.'/extlib/htmLawed/htmLawed.php'; require_once INSTALLDIR.'/extlib/htmLawed/htmLawed.php';
$config = array( $config = array(
'safe'=>1, 'safe'=>1,