diff options
-rw-r--r-- | Zotlabs/Module/Connections.php | 8 | ||||
-rw-r--r-- | Zotlabs/Module/Viewconnections.php | 10 | ||||
-rw-r--r-- | Zotlabs/Update/_1204.php | 6 | ||||
-rw-r--r-- | Zotlabs/Update/_1205.php | 27 | ||||
-rwxr-xr-x | boot.php | 4 | ||||
-rw-r--r-- | include/text.php | 3 | ||||
-rw-r--r-- | install/schema_mysql.sql | 6 | ||||
-rw-r--r-- | view/css/mod_connections.css | 8 | ||||
-rw-r--r-- | view/css/mod_viewconnections.css | 6 | ||||
-rw-r--r-- | view/css/widgets.css | 7 | ||||
-rw-r--r-- | view/theme/redbasic/css/style.css | 5 | ||||
-rwxr-xr-x | view/tpl/connection_template.tpl | 7 | ||||
-rwxr-xr-x | view/tpl/contact_template.tpl | 3 | ||||
-rwxr-xr-x | view/tpl/micropro_img.tpl | 2 |
14 files changed, 88 insertions, 14 deletions
diff --git a/Zotlabs/Module/Connections.php b/Zotlabs/Module/Connections.php index 255731c9c..55e716ace 100644 --- a/Zotlabs/Module/Connections.php +++ b/Zotlabs/Module/Connections.php @@ -245,6 +245,11 @@ class Connections extends \Zotlabs\Web\Controller { ((intval($rr['abook_blocked'])) ? t('Blocked') : ''), ((intval($rr['abook_not_here'])) ? t('Not connected at this location') : '') ); + + $oneway = false; + if(! intval(get_abconfig(local_channel(),$rr['xchan_hash'],'their_perms','post_comments'))) { + $oneway = true; + } foreach($status as $str) { if(!$str) @@ -283,7 +288,8 @@ class Connections extends \Zotlabs\Web\Controller { 'ignore_hover' => t('Ignore connection'), 'ignore' => ((! $rr['abook_ignored']) ? t('Ignore') : false), 'recent_label' => t('Recent activity'), - 'recentlink' => z_root() . '/network/?f=&cid=' . intval($rr['abook_id']) + 'recentlink' => z_root() . '/network/?f=&cid=' . intval($rr['abook_id']), + 'oneway' => $oneway ); } } diff --git a/Zotlabs/Module/Viewconnections.php b/Zotlabs/Module/Viewconnections.php index 1f9c03751..8366e1325 100644 --- a/Zotlabs/Module/Viewconnections.php +++ b/Zotlabs/Module/Viewconnections.php @@ -44,7 +44,7 @@ class Viewconnections extends \Zotlabs\Web\Controller { $sql_extra = ''; if(! $is_owner) { - $abook_flags = " and abook_hidden = 0 "; + $abook_flags .= " and abook_hidden = 0 "; $sql_extra = " and xchan_hidden = 0 "; } @@ -69,8 +69,13 @@ class Viewconnections extends \Zotlabs\Web\Controller { $contacts = array(); foreach($r as $rr) { + + $oneway = false; + if(! intval(get_abconfig(\App::$profile['uid'],$rr['xchan_hash'],'their_perms','post_comments'))) { + $oneway = true; + } - $url = chanlink_hash($rr['xchan_hash']); + $url = chanlink_hash($rr['xchan_hash']); if($url) { $contacts[] = array( 'id' => $rr['abook_id'], @@ -83,6 +88,7 @@ class Viewconnections extends \Zotlabs\Web\Controller { 'sparkle' => '', 'itemurl' => $rr['url'], 'network' => '', + 'oneway' => $oneway ); } } diff --git a/Zotlabs/Update/_1204.php b/Zotlabs/Update/_1204.php index f55526415..93c2e4e3f 100644 --- a/Zotlabs/Update/_1204.php +++ b/Zotlabs/Update/_1204.php @@ -7,7 +7,7 @@ class _1204 { function run() { if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) { - $r1 = q("ALTER TABLE poll ADD pull_guid text NOT NULL"); + $r1 = q("ALTER TABLE poll ADD poll_guid text NOT NULL"); $r2 = q("create index \"poll_guid_idx\" on poll \"poll_guid\""); $r3 = q("ALTER TABLE poll_elm ADD pelm_guid text NOT NULL"); $r4 = q("create index \"pelm_guid_idx\" on poll_elm \"pelm_guid\""); @@ -17,9 +17,9 @@ class _1204 { $r = ($r1 && $r2 && $r3 && $r4 && $r5 && $r6); } else { - $r1 = q("ALTER TABLE `poll` ADD `pull_guid` VARCHAR(191) NOT NULL, ADD INDEX `poll_guid` (`pull_guid`) "); + $r1 = q("ALTER TABLE `poll` ADD `poll_guid` VARCHAR(191) NOT NULL, ADD INDEX `poll_guid` (`poll_guid`) "); $r2 = q("ALTER TABLE `poll_elm` ADD `pelm_guid` VARCHAR(191) NOT NULL, ADD INDEX `pelm_guid` (`pelm_guid`) "); - $r1 = q("ALTER TABLE `vote` ADD `vote_guid` VARCHAR(191) NOT NULL, ADD INDEX `vote_guid` (`vote_guid`) "); + $r3 = q("ALTER TABLE `vote` ADD `vote_guid` VARCHAR(191) NOT NULL, ADD INDEX `vote_guid` (`vote_guid`) "); $r = ($r1 && $r2 && $r3); } diff --git a/Zotlabs/Update/_1205.php b/Zotlabs/Update/_1205.php new file mode 100644 index 000000000..5384f183e --- /dev/null +++ b/Zotlabs/Update/_1205.php @@ -0,0 +1,27 @@ +<?php + +namespace Zotlabs\Update; + +class _1205 { + + function run() { + + if(ACTIVE_DBTYPE == DBTYPE_MYSQL) { + $r = q("ALTER TABLE item + DROP INDEX item_private, + ADD INDEX uid_item_private (uid, item_private), + ADD INDEX item_wall (item_wall), + ADD INDEX item_pending_remove_changed (item_pending_remove, changed) + "); + + if($r) + return UPDATE_SUCCESS; + return UPDATE_FAILED; + } + else { + return UPDATE_SUCCESS; + } + + } + +} @@ -50,10 +50,10 @@ require_once('include/attach.php'); require_once('include/bbcode.php'); define ( 'PLATFORM_NAME', 'hubzilla' ); -define ( 'STD_VERSION', '3.1.12' ); +define ( 'STD_VERSION', '3.1.13' ); define ( 'ZOT_REVISION', '1.3' ); -define ( 'DB_UPDATE_VERSION', 1204 ); +define ( 'DB_UPDATE_VERSION', 1205 ); define ( 'PROJECT_BASE', __DIR__ ); diff --git a/include/text.php b/include/text.php index 35a367d43..6014f7437 100644 --- a/include/text.php +++ b/include/text.php @@ -979,7 +979,7 @@ function contact_block() { // than wishful thinking; even though soapbox channels and feeds will disable it. if(! intval(get_abconfig(App::$profile['uid'],$rr['xchan_hash'],'their_perms','post_comments'))) { - $rr['archived'] = true; + $rr['oneway'] = true; } $micropro[] = micropro($rr,true,'mpfriend'); } @@ -1033,6 +1033,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { return replace_macros(get_markup_template(($textmode)?'micropro_txt.tpl':'micropro_img.tpl'),array( '$click' => (($contact['click']) ? $contact['click'] : ''), '$class' => $class . (($contact['archived']) ? ' archived' : ''), + '$oneway' => (($contact['oneway']) ? true : false), '$url' => $url, '$photo' => $contact['xchan_photo_s'], '$name' => $contact['xchan_name'], diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql index e1a63c1e3..76e6032fc 100644 --- a/install/schema_mysql.sql +++ b/install/schema_mysql.sql @@ -657,6 +657,7 @@ CREATE TABLE IF NOT EXISTS `item` ( KEY `uid_item_wall` (`uid`, `item_wall`), KEY `uid_item_starred` (`uid`, `item_starred`), KEY `uid_item_retained` (`uid`, `item_retained`), + KEY `uid_item_private` (`uid`, `item_private`), KEY `aid` (`aid`), KEY `owner_xchan` (`owner_xchan`), KEY `author_xchan` (`author_xchan`), @@ -667,7 +668,6 @@ CREATE TABLE IF NOT EXISTS `item` ( KEY `commented` (`commented`), KEY `verb` (`verb`), KEY `obj_type` (`obj_type`), - KEY `item_private` (`item_private`), KEY `llink` (`llink`), KEY `expires` (`expires`), KEY `revision` (`revision`), @@ -681,6 +681,7 @@ CREATE TABLE IF NOT EXISTS `item` ( KEY `comments_closed` (`comments_closed`), KEY `changed` (`changed`), KEY `item_origin` (`item_origin`), + KEY `item_wall` (`item_wall`), KEY `item_unseen` (`item_unseen`), KEY `item_uplink` (`item_uplink`), KEY `item_notshown` (`item_notshown`), @@ -692,7 +693,8 @@ CREATE TABLE IF NOT EXISTS `item` ( KEY `item_verified` (`item_verified`), KEY `item_rss` (`item_rss`), KEY `item_consensus` (`item_consensus`), - KEY `item_deleted_pending_remove_changed` (`item_deleted`, `item_pending_remove`, `changed`) + KEY `item_deleted_pending_remove_changed` (`item_deleted`, `item_pending_remove`, `changed`), + KEY `item_pending_remove_changed` (`item_pending_remove`, `changed`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `item_id` ( diff --git a/view/css/mod_connections.css b/view/css/mod_connections.css index 00e6e2a70..4c26193b4 100644 --- a/view/css/mod_connections.css +++ b/view/css/mod_connections.css @@ -36,4 +36,10 @@ .connphone { color: green; -}
\ No newline at end of file +} + +.contact-photo-wrapper .oneway-overlay { + margin-top: -25px; + margin-left: 53px; + font-size: 20px; +} diff --git a/view/css/mod_viewconnections.css b/view/css/mod_viewconnections.css index 56add4cac..1b0c7ab62 100644 --- a/view/css/mod_viewconnections.css +++ b/view/css/mod_viewconnections.css @@ -31,3 +31,9 @@ .contact-entry-end { clear: both; } + +.contact-entry-photo-wrapper .oneway-overlay { + margin-top: 25px; + margin-left: -25px; + font-size: 20px; +} diff --git a/view/css/widgets.css b/view/css/widgets.css index a32ac045b..9cfcb4a88 100644 --- a/view/css/widgets.css +++ b/view/css/widgets.css @@ -216,3 +216,10 @@ a.wikilist { #notifications { margin-bottom: 1rem; } + +/* contact block */ +.contact-block-div .oneway-overlay { + font-size: 20px; + margin-left: -25px; + margin-top: 25px; +} diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index 1611cda60..75992468e 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -1800,3 +1800,8 @@ dl.bb-dl > dd > li { .caption-visible { max-height: 75%; } + +.oneway-overlay { + position: absolute; + text-shadow: -2px 0 1px #fff, 0 2px 1px#fff, 2px 0 1px #fff, 0 -2px 1px #fff; +} diff --git a/view/tpl/connection_template.tpl b/view/tpl/connection_template.tpl index 8e49c9e27..4543a69d0 100755 --- a/view/tpl/connection_template.tpl +++ b/view/tpl/connection_template.tpl @@ -18,7 +18,12 @@ </div> <div class="section-content-tools-wrapper"> <div class="contact-photo-wrapper" > - <a href="{{$contact.url}}" title="{{$contact.img_hover}}" ><img class="directory-photo-img {{if $contact.classes}}{{$contact.classes}}{{/if}}" src="{{$contact.thumb}}" alt="{{$contact.name}}" /></a> + <a href="{{$contact.url}}" title="{{$contact.img_hover}}" > + <img class="directory-photo-img {{if $contact.classes}}{{$contact.classes}}{{/if}}" src="{{$contact.thumb}}" alt="{{$contact.name}}" /> + </a> + {{if $contact.oneway}} + <i class="fa fa-fw fa-minus-circle oneway-overlay text-danger"></i> + {{/if}} </div> <div class="contact-info"> {{if $contact.status}} diff --git a/view/tpl/contact_template.tpl b/view/tpl/contact_template.tpl index 3d1bfa4a4..2a2f996f4 100755 --- a/view/tpl/contact_template.tpl +++ b/view/tpl/contact_template.tpl @@ -1,6 +1,9 @@ <div class="contact-entry-wrapper" id="contact-entry-wrapper-{{$contact.id}}" > <div class="contact-entry-photo-wrapper" > <a href="{{$contact.link}}" title="{{$contact.img_hover}}" ><img class="contact-block-img" src="{{$contact.thumb}}" alt="{{$contact.name}}" /></a> + {{if $contact.oneway}} + <i class="fa fa-fw fa-minus-circle oneway-overlay text-danger"></i> + {{/if}} </div> <div class="contact-entry-photo-end" ></div> <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >{{$contact.name}}</div> diff --git a/view/tpl/micropro_img.tpl b/view/tpl/micropro_img.tpl index a7c5973f3..7464430b5 100755 --- a/view/tpl/micropro_img.tpl +++ b/view/tpl/micropro_img.tpl @@ -1 +1 @@ -<div class="contact-block-div{{if $class}} {{$class}}{{/if}}"><a class="contact-block-link{{if $class}} {{$class}}{{/if}}{{if $click}} fakelink{{/if}}" href="{{if $click}}#{{else}}{{$url}}{{/if}}" {{if $click}}onclick="{{$click}}"{{/if}}><img class="contact-block-img{{if $class}} {{$class}}{{/if}}" src="{{$photo}}" title="{{$title}}" alt="" /></a></div> +<div class="contact-block-div{{if $class}} {{$class}}{{/if}}"><a class="contact-block-link{{if $class}} {{$class}}{{/if}}{{if $click}} fakelink{{/if}}" href="{{if $click}}#{{else}}{{$url}}{{/if}}" {{if $click}}onclick="{{$click}}"{{/if}}><img class="contact-block-img{{if $class}} {{$class}}{{/if}}" src="{{$photo}}" title="{{$title}}" alt="" />{{if $oneway}}<i class="fa fa-fw fa-minus-circle oneway-overlay text-danger"></i>{{/if}}</a></div> |