Merge remote-tracking branch 'upstream/dev' into dev
This commit is contained in:
commit
618d673947
@ -375,8 +375,7 @@ class Display extends \Zotlabs\Web\Controller {
|
|||||||
}
|
}
|
||||||
$o .= '</noscript>';
|
$o .= '</noscript>';
|
||||||
|
|
||||||
if ($items[0]['title'])
|
\App::$page['title'] = (($items[0]['title']) ? $items[0]['title'] . " - " . \App::$page['title'] : \App::$page['title']);
|
||||||
\App::$page['title'] = $items[0]['title'] . " - " . \App::$page['title'];
|
|
||||||
|
|
||||||
$o .= conversation($items, 'display', $update, 'client');
|
$o .= conversation($items, 'display', $update, 'client');
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ class New_channel extends \Zotlabs\Web\Controller {
|
|||||||
$canadd = true;
|
$canadd = true;
|
||||||
if($r && ($limit !== false)) {
|
if($r && ($limit !== false)) {
|
||||||
$channel_usage_message = sprintf( t("You have created %1$.0f of %2$.0f allowed channels."), $r[0]['total'], $limit);
|
$channel_usage_message = sprintf( t("You have created %1$.0f of %2$.0f allowed channels."), $r[0]['total'], $limit);
|
||||||
if ($r[0]['total'] >= $limit) {
|
if ($r[0]['total'] > $limit) {
|
||||||
$canadd = false;
|
$canadd = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1122,6 +1122,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||||||
$comments = '';
|
$comments = '';
|
||||||
if(! $r) {
|
if(! $r) {
|
||||||
if($observer && ($can_post || $can_comment)) {
|
if($observer && ($can_post || $can_comment)) {
|
||||||
|
$feature_auto_save_draft = ((feature_enabled($owner_uid, 'auto_save_draft')) ? "true" : "false");
|
||||||
$commentbox = replace_macros($cmnt_tpl,array(
|
$commentbox = replace_macros($cmnt_tpl,array(
|
||||||
'$return_path' => '',
|
'$return_path' => '',
|
||||||
'$mode' => 'photos',
|
'$mode' => 'photos',
|
||||||
@ -1137,7 +1138,8 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||||||
'$submit' => t('Submit'),
|
'$submit' => t('Submit'),
|
||||||
'$preview' => t('Preview'),
|
'$preview' => t('Preview'),
|
||||||
'$ww' => '',
|
'$ww' => '',
|
||||||
'$feature_encrypt' => false
|
'$feature_encrypt' => false,
|
||||||
|
'$auto_save_draft' => $feature_auto_save_draft
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1270,8 +1272,14 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||||||
if(feature_enabled($owner_uid,'dislike'))
|
if(feature_enabled($owner_uid,'dislike'))
|
||||||
$response_verbs[] = 'dislike';
|
$response_verbs[] = 'dislike';
|
||||||
|
|
||||||
|
|
||||||
$responses = get_responses($conv_responses,$response_verbs,'',$link_item);
|
$responses = get_responses($conv_responses,$response_verbs,'',$link_item);
|
||||||
|
|
||||||
|
$hookdata = [
|
||||||
|
'onclick' => '$.colorbox({href: \'' . $photo['href'] . '\'}); return false;',
|
||||||
|
'raw_photo' => $ph[0],
|
||||||
|
'nickname' => \App::$data['channel']['channel_address']
|
||||||
|
];
|
||||||
|
call_hooks('photo_view_filter', $hookdata);
|
||||||
|
|
||||||
$photo_tpl = get_markup_template('photo_view.tpl');
|
$photo_tpl = get_markup_template('photo_view.tpl');
|
||||||
$o .= replace_macros($photo_tpl, array(
|
$o .= replace_macros($photo_tpl, array(
|
||||||
@ -1309,6 +1317,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||||||
'$comments' => $comments,
|
'$comments' => $comments,
|
||||||
'$commentbox' => $commentbox,
|
'$commentbox' => $commentbox,
|
||||||
'$paginate' => $paginate,
|
'$paginate' => $paginate,
|
||||||
|
'$onclick' => $hookdata['onclick']
|
||||||
));
|
));
|
||||||
|
|
||||||
\App::$data['photo_html'] = $o;
|
\App::$data['photo_html'] = $o;
|
||||||
|
@ -347,6 +347,10 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||||||
if(argc() > 1 && (argv(1) === 'network' || argv(1) === 'home')) {
|
if(argc() > 1 && (argv(1) === 'network' || argv(1) === 'home')) {
|
||||||
$result = array();
|
$result = array();
|
||||||
|
|
||||||
|
if(argv(1) === 'home') {
|
||||||
|
$sql_extra .= ' and item_wall = 1 ';
|
||||||
|
}
|
||||||
|
|
||||||
$r = q("SELECT * FROM item
|
$r = q("SELECT * FROM item
|
||||||
WHERE uid = %d
|
WHERE uid = %d
|
||||||
AND item_unseen = 1
|
AND item_unseen = 1
|
||||||
@ -362,8 +366,6 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||||||
if($r) {
|
if($r) {
|
||||||
xchan_query($r);
|
xchan_query($r);
|
||||||
foreach($r as $item) {
|
foreach($r as $item) {
|
||||||
if((argv(1) === 'home') && (! intval($item['item_wall'])))
|
|
||||||
continue;
|
|
||||||
$result[] = \Zotlabs\Lib\Enotify::format($item);
|
$result[] = \Zotlabs\Lib\Enotify::format($item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,15 @@ class Rmagic extends \Zotlabs\Web\Controller {
|
|||||||
$r = q("select hubloc_url from hubloc where hubloc_addr = '%s' limit 1",
|
$r = q("select hubloc_url from hubloc where hubloc_addr = '%s' limit 1",
|
||||||
dbesc($me)
|
dbesc($me)
|
||||||
);
|
);
|
||||||
|
if(! $r) {
|
||||||
|
$w = discover_by_webbie($me);
|
||||||
|
if($w) {
|
||||||
|
$r = q("select hubloc_url from hubloc where hubloc_addr = '%s' limit 1",
|
||||||
|
dbesc($me)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if($r) {
|
if($r) {
|
||||||
if($r[0]['hubloc_url'] === z_root())
|
if($r[0]['hubloc_url'] === z_root())
|
||||||
goaway(z_root() . '/login');
|
goaway(z_root() . '/login');
|
||||||
@ -49,7 +58,16 @@ class Rmagic extends \Zotlabs\Web\Controller {
|
|||||||
$r = q("select hubloc_url from hubloc where hubloc_addr = '%s' limit 1",
|
$r = q("select hubloc_url from hubloc where hubloc_addr = '%s' limit 1",
|
||||||
dbesc($address)
|
dbesc($address)
|
||||||
);
|
);
|
||||||
|
if(! $r) {
|
||||||
|
$w = discover_by_webbie($address);
|
||||||
|
if($w) {
|
||||||
|
$r = q("select hubloc_url from hubloc where hubloc_addr = '%s' limit 1",
|
||||||
|
dbesc($address)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($r) {
|
if($r) {
|
||||||
$url = $r[0]['hubloc_url'];
|
$url = $r[0]['hubloc_url'];
|
||||||
}
|
}
|
||||||
|
1
boot.php
1
boot.php
@ -439,6 +439,7 @@ define ( 'TERM_OBJ_APP', 7 );
|
|||||||
* various namespaces we may need to parse
|
* various namespaces we may need to parse
|
||||||
*/
|
*/
|
||||||
define ( 'PROTOCOL_ZOT', 'http://purl.org/zot/protocol' );
|
define ( 'PROTOCOL_ZOT', 'http://purl.org/zot/protocol' );
|
||||||
|
define ( 'PROTOCOL_ZOT6', 'http://purl.org/zot/protocol/6.0' );
|
||||||
define ( 'NAMESPACE_ZOT', 'http://purl.org/zot' );
|
define ( 'NAMESPACE_ZOT', 'http://purl.org/zot' );
|
||||||
define ( 'NAMESPACE_DFRN' , 'http://purl.org/macgirvin/dfrn/1.0' );
|
define ( 'NAMESPACE_DFRN' , 'http://purl.org/macgirvin/dfrn/1.0' );
|
||||||
define ( 'NAMESPACE_THREAD' , 'http://purl.org/syndication/thread/1.0' );
|
define ( 'NAMESPACE_THREAD' , 'http://purl.org/syndication/thread/1.0' );
|
||||||
|
1
doc/hook/photo_view_filter.bb
Normal file
1
doc/hook/photo_view_filter.bb
Normal file
@ -0,0 +1 @@
|
|||||||
|
[h2]photo_view_filter[/h2]
|
@ -502,6 +502,9 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
|
|||||||
[zrl=[baseurl]/help/hook/photo_upload_form]photo_upload_form[/zrl]
|
[zrl=[baseurl]/help/hook/photo_upload_form]photo_upload_form[/zrl]
|
||||||
Called when generating a photo upload form
|
Called when generating a photo upload form
|
||||||
|
|
||||||
|
[zrl=[baseurl]/help/hook/photo_view_filter]photo_view_filter[/zrl]
|
||||||
|
Called before the data is handed over to the photo_view template
|
||||||
|
|
||||||
[zrl=[baseurl]/help/hook/poke_verbs]poke_verbs[/zrl]
|
[zrl=[baseurl]/help/hook/poke_verbs]poke_verbs[/zrl]
|
||||||
Called when generating the list of actions for "poke" module
|
Called when generating the list of actions for "poke" module
|
||||||
|
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Zotlabs\Lib\Zotfinger;
|
||||||
|
use Zotlabs\Lib\Libzot;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file include/network.php
|
* @file include/network.php
|
||||||
* @brief Network related functions.
|
* @brief Network related functions.
|
||||||
@ -1196,6 +1200,31 @@ function discover_by_webbie($webbie, $protocol = '') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach($x['links'] as $link) {
|
||||||
|
if(array_key_exists('rel',$link)) {
|
||||||
|
if($link['rel'] === PROTOCOL_ZOT6 && ((! $protocol) || (strtolower($protocol) === 'zot6'))) {
|
||||||
|
logger('zot6 found for ' . $webbie, LOGGER_DEBUG);
|
||||||
|
$record = Zotfinger::exec($link['href']);
|
||||||
|
|
||||||
|
// Check the HTTP signature
|
||||||
|
|
||||||
|
$hsig = $record['signature'];
|
||||||
|
if($hsig && ($hsig['signer'] === $url || $hsig['signer'] === $link['href']) && $hsig['header_valid'] === true && $hsig['content_valid'] === true)
|
||||||
|
$hsig_valid = true;
|
||||||
|
|
||||||
|
if(! $hsig_valid) {
|
||||||
|
logger('http signature not valid: ' . print_r($hsig,true));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$x = Libzot::import_xchan($record['data']);
|
||||||
|
if($x['success']) {
|
||||||
|
return $x['hash'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
logger('webfinger: ' . print_r($x,true), LOGGER_DATA, LOG_INFO);
|
logger('webfinger: ' . print_r($x,true), LOGGER_DATA, LOG_INFO);
|
||||||
|
@ -36,6 +36,7 @@ class photo_imagick extends photo_driver {
|
|||||||
}
|
}
|
||||||
catch (Exception $e) {
|
catch (Exception $e) {
|
||||||
logger('imagick readImageBlob() exception:' . print_r($e,true));
|
logger('imagick readImageBlob() exception:' . print_r($e,true));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -326,6 +326,17 @@ a.text-dark:focus, a.text-dark:hover {
|
|||||||
color: #ddd !important;
|
color: #ddd !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.badge-warning {
|
||||||
|
background-color: #ffc927;
|
||||||
|
}
|
||||||
|
.badge-warning a.text-dark {
|
||||||
|
color: #333 !important;
|
||||||
|
}
|
||||||
|
.badge-warning a.text-dark:focus, .badge-warning a.text-dark:hover {
|
||||||
|
color: red !important;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
.group-selected, .fileas-selected, .categories-selected, .search-selected, a.active {
|
.group-selected, .fileas-selected, .categories-selected, .search-selected, a.active {
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
text-decoration: underline !important;
|
text-decoration: underline !important;
|
||||||
@ -480,3 +491,11 @@ pre {
|
|||||||
.widget-nav-pills-checkbox:hover + a {
|
.widget-nav-pills-checkbox:hover + a {
|
||||||
background-color: #222;
|
background-color: #222;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* change color of [hl] tag: */
|
||||||
|
div.wall-item-body span /*strong:only-of-type */{
|
||||||
|
color: #1212b6;
|
||||||
|
padding: 2px 3px;
|
||||||
|
/* font-weight: 500; */
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
@ -99,7 +99,7 @@
|
|||||||
<div id="photo-edit-end" class="clear"></div>
|
<div id="photo-edit-end" class="clear"></div>
|
||||||
</div>
|
</div>
|
||||||
<div id="photo-view-wrapper">
|
<div id="photo-view-wrapper">
|
||||||
<div id="photo-photo"><a href="{{$photo.href}}" title="{{$photo.title}}" onclick="$.colorbox({href: '{{$photo.href}}'}); return false;"><img style="width: 100%;" src="{{$photo.src}}"></a></div>
|
<div id="photo-photo"><a href="{{$photo.href}}" title="{{$photo.title}}" onclick="{{$onclick}}"><img style="width: 100%;" src="{{$photo.src}}"></a></div>
|
||||||
<div id="photo-photo-end" class="clear"></div>
|
<div id="photo-photo-end" class="clear"></div>
|
||||||
{{if $tags}}
|
{{if $tags}}
|
||||||
<div class="photo-item-tools-left" id="in-this-photo">
|
<div class="photo-item-tools-left" id="in-this-photo">
|
||||||
|
Reference in New Issue
Block a user