2012-01-27 01:50:35 +01:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Name: viewsrc
|
|
|
|
* Description: Add "View Source" link to item context
|
|
|
|
* Version: 1.0
|
|
|
|
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
|
2018-01-15 14:15:33 +01:00
|
|
|
*
|
2012-01-27 01:50:35 +01:00
|
|
|
*/
|
2018-12-26 08:28:16 +01:00
|
|
|
use Friendica\Core\Hook;
|
2018-01-22 20:03:11 +01:00
|
|
|
use Friendica\Core\L10n;
|
2019-12-30 03:55:10 +01:00
|
|
|
use Friendica\DI;
|
2018-06-22 10:06:30 +02:00
|
|
|
use Friendica\Model\Item;
|
2018-07-21 14:42:08 +02:00
|
|
|
use Friendica\Database\DBA;
|
2012-01-27 01:50:35 +01:00
|
|
|
|
|
|
|
function viewsrc_install() {
|
2018-12-26 08:28:16 +01:00
|
|
|
Hook::register('item_photo_menu', 'addon/viewsrc/viewsrc.php', 'viewsrc_item_photo_menu');
|
|
|
|
Hook::register('page_end', 'addon/viewsrc/viewsrc.php', 'viewsrc_page_end');
|
2012-01-27 01:50:35 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function viewsrc_uninstall() {
|
2018-12-26 08:28:16 +01:00
|
|
|
Hook::unregister('item_photo_menu', 'addon/viewsrc/viewsrc.php', 'viewsrc_item_photo_menu');
|
|
|
|
Hook::unregister('page_end', 'addon/viewsrc/viewsrc.php', 'viewsrc_page_end');
|
2012-03-28 11:44:04 +02:00
|
|
|
|
2012-01-27 01:50:35 +01:00
|
|
|
}
|
|
|
|
|
2012-03-28 11:44:04 +02:00
|
|
|
function viewsrc_page_end(&$a, &$o){
|
2019-12-30 21:53:43 +01:00
|
|
|
DI::page()['htmlhead'] .= <<< EOS
|
2012-03-28 11:44:04 +02:00
|
|
|
<script>
|
|
|
|
$(function(){
|
2013-02-06 06:02:33 +01:00
|
|
|
$('a[href*="/viewsrc/"]').each(function() {
|
|
|
|
$(this).colorbox($(this).attr('href'));
|
|
|
|
});
|
2012-03-28 11:44:04 +02:00
|
|
|
});
|
|
|
|
</script>
|
|
|
|
EOS;
|
|
|
|
}
|
2012-01-27 01:50:35 +01:00
|
|
|
|
2018-01-22 20:03:11 +01:00
|
|
|
function viewsrc_item_photo_menu(&$a, &$b)
|
|
|
|
{
|
|
|
|
if (!local_user()) {
|
2012-01-27 01:50:35 +01:00
|
|
|
return;
|
2018-01-22 20:03:11 +01:00
|
|
|
}
|
2015-10-31 23:06:59 +01:00
|
|
|
|
|
|
|
if (local_user() != $b['item']['uid']) {
|
2018-06-21 08:23:27 +02:00
|
|
|
$item = Item::selectFirstForUser(local_user(), ['id'], ['uid' => local_user(), 'guid' => $b['item']['guid']]);
|
2018-07-21 14:46:13 +02:00
|
|
|
if (!DBA::isResult($item)) {
|
2015-10-31 23:06:59 +01:00
|
|
|
return;
|
2018-01-22 20:03:11 +01:00
|
|
|
}
|
2015-10-31 23:06:59 +01:00
|
|
|
|
2018-06-21 08:23:27 +02:00
|
|
|
$item_id = $item['id'];
|
2018-01-22 20:03:11 +01:00
|
|
|
} else {
|
2015-10-31 23:06:59 +01:00
|
|
|
$item_id = $b['item']['id'];
|
2018-01-22 20:03:11 +01:00
|
|
|
}
|
2015-10-31 23:06:59 +01:00
|
|
|
|
2020-01-18 20:52:33 +01:00
|
|
|
$b['menu'] = array_merge([DI::l10n()->t('View Source') => DI::baseUrl()->get() . '/viewsrc/'. $item_id], $b['menu']);
|
2015-10-31 23:06:59 +01:00
|
|
|
|
|
|
|
//if((! local_user()) || (local_user() != $b['item']['uid']))
|
|
|
|
// return;
|
|
|
|
|
2020-01-18 20:52:33 +01:00
|
|
|
//$b['menu'] = array_merge(array(DI::l10n()->t('View Source') => $a->getBaseURL() . '/viewsrc/'. $b['item']['id']), $b['menu']);
|
2012-01-27 01:50:35 +01:00
|
|
|
}
|