From ce5adbf51e230e6eddf8bffb26108ca216372824 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Sat, 9 Jul 2016 18:10:13 -0700 Subject: more sql fine tuning --- include/widgets.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/widgets.php b/include/widgets.php index a4a6fb55a..2d4d5b799 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -296,7 +296,7 @@ function widget_filer($arr) { $selected = ((x($_REQUEST,'file')) ? $_REQUEST['file'] : ''); $terms = array(); - $r = q("select distinct(term) from term where uid = %d and ttype = %d order by term asc", + $r = q("select distinct term from term where uid = %d and ttype = %d order by term asc", intval(local_channel()), intval(TERM_FILE) ); -- cgit v1.2.3 From 3d3584b36c9cb1d8d0dfe9c036b77bbc921f4c59 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sun, 10 Jul 2016 13:42:04 +0200 Subject: remove check for mcrypt --- Zotlabs/Module/Setup.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Zotlabs/Module/Setup.php b/Zotlabs/Module/Setup.php index c5d0ccc21..802f0c216 100644 --- a/Zotlabs/Module/Setup.php +++ b/Zotlabs/Module/Setup.php @@ -493,7 +493,6 @@ class Setup extends \Zotlabs\Web\Controller { $this->check_add($ck_funcs, t('OpenSSL PHP module'), true, true); $this->check_add($ck_funcs, t('mysqli or postgres PHP module'), true, true); $this->check_add($ck_funcs, t('mb_string PHP module'), true, true); - $this->check_add($ck_funcs, t('mcrypt PHP module'), true, true); $this->check_add($ck_funcs, t('xml PHP module'), true, true); if(function_exists('apache_get_modules')){ @@ -530,10 +529,6 @@ class Setup extends \Zotlabs\Web\Controller { $ck_funcs[4]['status'] = false; $ck_funcs[4]['help'] = t('Error: mb_string PHP module required but not installed.'); } - if(! function_exists('mcrypt_encrypt')) { - $ck_funcs[5]['status'] = false; - $ck_funcs[5]['help'] = t('Error: mcrypt PHP module required but not installed.'); - } if(! extension_loaded('xml')) { $ck_funcs[6]['status'] = false; $ck_funcs[6]['help'] = t('Error: xml PHP module required for DAV but not installed.'); -- cgit v1.2.3 From d5afd0d7c223161b673dca529830be3bfc739cd2 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 11 Jul 2016 12:49:53 +0200 Subject: do not use visibility for fullscreen button and move fullscreen button to the right --- view/css/bootstrap-red.css | 3 ++- view/theme/redbasic/js/redbasic.js | 6 ++++-- view/tpl/chat.tpl | 4 ++-- view/tpl/events-js.tpl | 4 ++-- view/tpl/events_cal-js.tpl | 4 ++-- view/tpl/photo_album.tpl | 4 ++-- view/tpl/photos_recent.tpl | 4 ++-- 7 files changed, 16 insertions(+), 13 deletions(-) diff --git a/view/css/bootstrap-red.css b/view/css/bootstrap-red.css index 26321ab3c..20df16446 100644 --- a/view/css/bootstrap-red.css +++ b/view/css/bootstrap-red.css @@ -59,7 +59,8 @@ aside .nav-pills > li > a, padding: 6px 10px; } -.wall-item-tools .dropdown-menu { +.wall-item-tools .dropdown-menu, +.section-title-wrapper .dropdown-menu { min-width: auto; } diff --git a/view/theme/redbasic/js/redbasic.js b/view/theme/redbasic/js/redbasic.js index 5209ad945..300f076f0 100644 --- a/view/theme/redbasic/js/redbasic.js +++ b/view/theme/redbasic/js/redbasic.js @@ -56,14 +56,16 @@ $(document).ready(function() { function makeFullScreen(full) { if(typeof full=='undefined' || full == true) { $('main').css({'transition': 'none'}).addClass('fullscreen'); - $('#fullscreen-btn, header, nav, aside, #tabs-collapse-1').css({'visibility': 'hidden'}); + $('header, nav, aside, #tabs-collapse-1').css({'visibility': 'hidden'}); + $('#fullscreen-btn').hide(); $('#inline-btn').show(); } else { $('main').removeClass('fullscreen'); - $('#fullscreen-btn, header, nav, aside, #tabs-collapse-1').css({'visibility': ''}); + $('header, nav, aside, #tabs-collapse-1').css({'visibility': ''}); $('#inline-btn').hide(); + $('#fullscreen-btn').show(); $('main').css({'transition': ''}); } } diff --git a/view/tpl/chat.tpl b/view/tpl/chat.tpl index 341ff7649..31be4136f 100644 --- a/view/tpl/chat.tpl +++ b/view/tpl/chat.tpl @@ -1,8 +1,6 @@
- - {{if $is_owner}}
@@ -10,6 +8,8 @@
{{/if}} + +

{{$room_name}}

diff --git a/view/tpl/events-js.tpl b/view/tpl/events-js.tpl index 3397411a8..6299242ce 100755 --- a/view/tpl/events-js.tpl +++ b/view/tpl/events-js.tpl @@ -2,8 +2,6 @@
+ +

diff --git a/view/tpl/events_cal-js.tpl b/view/tpl/events_cal-js.tpl index 121c06cb5..b7836cfab 100755 --- a/view/tpl/events_cal-js.tpl +++ b/view/tpl/events_cal-js.tpl @@ -2,13 +2,13 @@
- -
+ +

diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl index e6cb61637..b391a00a1 100755 --- a/view/tpl/photo_album.tpl +++ b/view/tpl/photo_album.tpl @@ -1,8 +1,6 @@
- - {{if $order}} {{/if}} @@ -14,6 +12,8 @@ {{/if}}
+ +

{{$album}}

diff --git a/view/tpl/photos_recent.tpl b/view/tpl/photos_recent.tpl index c40dda145..139f27a23 100755 --- a/view/tpl/photos_recent.tpl +++ b/view/tpl/photos_recent.tpl @@ -1,11 +1,11 @@
- - {{if $can_post}} {{/if}} + +

{{$title}}

-- cgit v1.2.3 From 67c60229ca663135e8de5b99b27b0838fa6c205a Mon Sep 17 00:00:00 2001 From: redmatrix Date: Mon, 11 Jul 2016 13:20:12 -0700 Subject: use the profile_uid here. --- Zotlabs/Module/Item.php | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php index 58d39da83..235c5528e 100644 --- a/Zotlabs/Module/Item.php +++ b/Zotlabs/Module/Item.php @@ -905,7 +905,7 @@ class Item extends \Zotlabs\Web\Controller { if($r) { xchan_query($r); $sync_item = fetch_post_tags($r); - build_sync_packet($uid,array('item' => array(encode_item($sync_item[0],true)))); + build_sync_packet($profile_uid,array('item' => array(encode_item($sync_item[0],true)))); } } if(! $nopush) @@ -1000,7 +1000,7 @@ class Item extends \Zotlabs\Web\Controller { if($r) { xchan_query($r); $sync_item = fetch_post_tags($r); - build_sync_packet($uid,array('item' => array(encode_item($sync_item[0],true)))); + build_sync_packet($profile_uid,array('item' => array(encode_item($sync_item[0],true)))); } } @@ -1014,11 +1014,6 @@ class Item extends \Zotlabs\Web\Controller { logger('post_complete'); - - - - - // figure out how to return, depending on from whence we came if($api_source) -- cgit v1.2.3 From fb36561a6841c165dc8644a61c4c37a771461e2b Mon Sep 17 00:00:00 2001 From: redmatrix Date: Mon, 11 Jul 2016 13:27:44 -0700 Subject: force non-null sess_data --- Zotlabs/Web/SessionHandler.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Zotlabs/Web/SessionHandler.php b/Zotlabs/Web/SessionHandler.php index 6e7333b4b..93b27a7e8 100644 --- a/Zotlabs/Web/SessionHandler.php +++ b/Zotlabs/Web/SessionHandler.php @@ -24,7 +24,8 @@ class SessionHandler implements \SessionHandlerInterface { return $r[0]['sess_data']; } else { - q("INSERT INTO `session` (sid, expire) values ('%s', '%s')", + q("INSERT INTO `session` (sess_data, sid, expire) values ('%s', '%s', '%s')", + dbesc(''), dbesc($id), dbesc(time() + 300) ); -- cgit v1.2.3 From 833de9180eeb8b2d6cf0e0e90a656419f6172ab4 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Mon, 11 Jul 2016 13:46:06 -0700 Subject: create change_channel hook --- include/security.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/security.php b/include/security.php index 38045c8a9..6c245fa09 100644 --- a/include/security.php +++ b/include/security.php @@ -132,6 +132,10 @@ function change_channel($change_channel) { } if(! is_dir('store/' . $r[0]['channel_address'])) @os_mkdir('store/' . $r[0]['channel_address'], STORAGE_DEFAULT_PERMISSIONS,true); + + $arr = [ 'channel_id' => $change_channel, 'chanx' => $ret ]; + call_hooks('change_channel', $arr); + } return $ret; -- cgit v1.2.3 From 17c3e12eabf93fe76061af0b97d25c6a9d080025 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Mon, 11 Jul 2016 17:43:10 -0700 Subject: document the new change_channel hook --- doc/hook/change_channel.bb | 11 +++++++++++ doc/hooklist.bb | 3 +++ 2 files changed, 14 insertions(+) create mode 100644 doc/hook/change_channel.bb diff --git a/doc/hook/change_channel.bb b/doc/hook/change_channel.bb new file mode 100644 index 000000000..4514b9265 --- /dev/null +++ b/doc/hook/change_channel.bb @@ -0,0 +1,11 @@ +[h2]change_channel[/h2] + +Called when entering a logged in state in a channel context (as opposed to an account context). +The hook array provides two arguments, 'channel_id' and 'chanx'. 'chanx' is a union of the channel +and xchan records for the now active channel. + +Use this to capture what would traditionally be known as 'login events'. In this platform, login is +a separate authentication activity and doesn't necessarily require "connecting to an identity", which +is what the change_channel activity represents. + + diff --git a/doc/hooklist.bb b/doc/hooklist.bb index bb1bffcf0..66ff1cf71 100644 --- a/doc/hooklist.bb +++ b/doc/hooklist.bb @@ -73,6 +73,9 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the [zrl=[baseurl]/help/hook/bb_translate_video]bb_translate_video[/zrl] Called when extracting embedded services from bbcode video elements (rarely used) +[zrl=[baseurl]/help/hook/change_channel]change_channel[/zrl] + Called when logging in to a channel (either during login or afterward through the channel manager) + [zrl=[baseurl]/help/hook/channel_remove]channel_remove[/zrl] Called when removing a channel -- cgit v1.2.3 From 168d35747da8730a7e3a1e6cb40d4f411e147be3 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Mon, 11 Jul 2016 18:59:54 -0700 Subject: use the get_hostname function rather than parse the url --- include/security.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/security.php b/include/security.php index 6c245fa09..212690d91 100644 --- a/include/security.php +++ b/include/security.php @@ -125,7 +125,7 @@ function change_channel($change_channel) { ); if($x) { $_SESSION['my_url'] = $x[0]['xchan_url']; - $_SESSION['my_address'] = $r[0]['channel_address'] . '@' . substr(z_root(), strpos(z_root(), '://') + 3); + $_SESSION['my_address'] = $r[0]['channel_address'] . '@' . App::get_hostname(); App::set_observer($x[0]); App::set_perms(get_all_perms(local_channel(), $hash)); -- cgit v1.2.3 From ed0e2b52d7cf66ada81208c5068f70568a0b2310 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Mon, 11 Jul 2016 21:46:16 -0700 Subject: move permissiondescription class to zotlabs/lib --- Zotlabs/Lib/PermissionDescription.php | 170 ++++++++++++++++++++++++++++++++++ Zotlabs/Module/Channel.php | 3 +- Zotlabs/Module/Editwebpage.php | 3 +- Zotlabs/Module/Events.php | 3 +- Zotlabs/Module/Filestorage.php | 3 +- Zotlabs/Module/Network.php | 4 +- Zotlabs/Module/Photos.php | 6 +- Zotlabs/Module/Rpost.php | 3 +- Zotlabs/Module/Settings.php | 4 +- Zotlabs/Module/Webpages.php | 3 +- include/PermissionDescription.php | 170 ---------------------------------- include/acl_selectors.php | 4 +- 12 files changed, 181 insertions(+), 195 deletions(-) create mode 100644 Zotlabs/Lib/PermissionDescription.php delete mode 100644 include/PermissionDescription.php diff --git a/Zotlabs/Lib/PermissionDescription.php b/Zotlabs/Lib/PermissionDescription.php new file mode 100644 index 000000000..55aac2dea --- /dev/null +++ b/Zotlabs/Lib/PermissionDescription.php @@ -0,0 +1,170 @@ +global_perm = $global_perm; + $this->channel_perm = $channel_perm; + + $this->fallback_description = ($description == '') ? t('Visible to your default audience') : $description; + } + + /** + * If the interpretation of an empty ACL can't be summarised with a global default permission + * or a specific permission setting then use this method and describe what it means instead. + * Remember to localize the description first. + * + * @param string $description - the localized caption for the no-ACL option in the ACL dialog. + * @return a new instance of PermissionDescription + */ + public static function fromDescription($description) { + return new PermissionDescription('', 0x80000, $description); + } + + + /** + * Use this method only if the interpretation of an empty ACL doesn't fall back to a global + * default permission. You should pass one of the constants from boot.php - PERMS_PUBLIC, + * PERMS_NETWORK etc. + * + * @param integer $perm - a single enumerated constant permission - PERMS_PUBLIC, PERMS_NETWORK etc. + * @return a new instance of PermissionDescription + */ + public static function fromStandalonePermission($perm) { + + $result = new PermissionDescription('', $perm); + + $checkPerm = $this->get_permission_description(); + if ($checkPerm == $this->fallback_description) { + $result = null; + logger('null PermissionDescription from unknown standalone permission: ' . $perm ,LOGGER_DEBUG, LOG_ERROR); + } + + return $result; + } + + /** + * This is the preferred way to create a PermissionDescription, as it provides the most details. + * Use this method if you know an empty ACL will result in one of the global default permissions + * being used, such as channel_r_stream (for which you would pass 'view_stream'). + * + * @param string $permname - a key for the global perms array from get_perms() in permissions.php, + * e.g. 'view_stream', 'view_profile', etc. + * @return a new instance of PermissionDescription + */ + public static function fromGlobalPermission($permname) { + + $result = null; + + $global_perms = get_perms(); + + if (array_key_exists($permname, $global_perms)) { + + $permDetails = $global_perms[$permname]; + + // It should be OK to always just read the permissions from App::$channel + // + // App::$profile is a union of channel and profile fields. + // The distinction is basically that App::$profile is pointing to the resource + // being observed. App::$channel is referring to the current logged-in channel + // member (if this is a local channel) e.g. the observer. We only show the ACL + // widget to the page owner (observer and observed are the same) so in that case + // I believe either may be safely used here. + $channelPerm = \App::$channel[$permDetails[0]]; + $result = new PermissionDescription($permDetails[1], $channelPerm); + } else { + // The acl dialog can handle null arguments, but it shouldn't happen + logger('null PermissionDescription from unknown global permission: ' . $permname ,LOGGER_DEBUG, LOG_ERROR); + } + return $result; + } + + + /** + * Gets a localized description of the permission, or a generic message if the permission + * is unknown. + * + * @return string description + */ + public function get_permission_description() { + + switch($this->channel_perm) { + + case 0: return t('Only me'); + case PERMS_PUBLIC: return t('Public'); + case PERMS_NETWORK: return t('Anybody in the $Projectname network'); + case PERMS_SITE: return sprintf(t('Any account on %s'), \App::get_hostname()); + case PERMS_CONTACTS: return t('Any of my connections'); + case PERMS_SPECIFIC: return t('Only connections I specifically allow'); + case PERMS_AUTHED: return t('Anybody authenticated (could include visitors from other networks)'); + case PERMS_PENDING: return t('Any connections including those who haven\'t yet been approved'); + default: return $this->fallback_description; + } + } + + /** + * Returns an icon css class name if an appropriate one is available, e.g. "fa-globe" for Public, + * otherwise returns empty string. + * + * @return string icon css class name (often FontAwesome) + */ + public function get_permission_icon() { + + switch($this->channel_perm) { + + case 0:/* only me */ return 'fa-eye-slash'; + case PERMS_PUBLIC: return 'fa-globe'; + case PERMS_NETWORK: return 'fa-share-alt-square'; // fa-share-alt-square is very similiar to the hubzilla logo, but we should create our own logo class to use + case PERMS_SITE: return 'fa-sitemap'; + case PERMS_CONTACTS: return 'fa-group'; + case PERMS_SPECIFIC: return 'fa-list'; + case PERMS_AUTHED: return ''; + case PERMS_PENDING: return ''; + default: return ''; + } + } + + + /** + * Returns a localized description of where the permission came from, if this is known. + * If it's not know, or if the permission is standalone and didn't come from a default + * permission setting, then empty string is returned. + * + * @return string description or empty string + */ + public function get_permission_origin_description() { + + switch($this->global_perm) { + + case PERMS_R_STREAM: return t('This is your default setting for the audience of your normal stream, and posts.'); + case PERMS_R_PROFILE: return t('This is your default setting for who can view your default channel profile'); + case PERMS_R_ABOOK: return t('This is your default setting for who can view your connections'); + case PERMS_R_STORAGE: return t('This is your default setting for who can view your file storage and photos'); + case PERMS_R_PAGES: return t('This is your default setting for the audience of your webpages'); + default: return ''; + } + } + +} diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index d09388901..c74802ec5 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -9,7 +9,6 @@ require_once('include/security.php'); require_once('include/conversation.php'); require_once('include/acl_selectors.php'); require_once('include/permissions.php'); -require_once('include/PermissionDescription.php'); class Channel extends \Zotlabs\Web\Controller { @@ -133,7 +132,7 @@ class Channel extends \Zotlabs\Web\Controller { 'default_location' => (($is_owner) ? \App::$profile['channel_location'] : ''), 'nickname' => \App::$profile['channel_address'], 'lockstate' => (((strlen(\App::$profile['channel_allow_cid'])) || (strlen(\App::$profile['channel_allow_gid'])) || (strlen(\App::$profile['channel_deny_cid'])) || (strlen(\App::$profile['channel_deny_gid']))) ? 'lock' : 'unlock'), - 'acl' => (($is_owner) ? populate_acl($channel_acl,true, \PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post') : ''), + 'acl' => (($is_owner) ? populate_acl($channel_acl,true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post') : ''), 'showacl' => (($is_owner) ? 'yes' : ''), 'bang' => '', 'visitor' => (($is_owner || $observer) ? true : false), diff --git a/Zotlabs/Module/Editwebpage.php b/Zotlabs/Module/Editwebpage.php index 5cd409e1e..be4803a07 100644 --- a/Zotlabs/Module/Editwebpage.php +++ b/Zotlabs/Module/Editwebpage.php @@ -4,7 +4,6 @@ namespace Zotlabs\Module; require_once('include/channel.php'); require_once('include/acl_selectors.php'); require_once('include/conversation.php'); -require_once('include/PermissionDescription.php'); class Editwebpage extends \Zotlabs\Web\Controller { @@ -151,7 +150,7 @@ class Editwebpage extends \Zotlabs\Web\Controller { 'body' => undo_post_tagging($itm[0]['body']), 'post_id' => $post_id, 'visitor' => ($is_owner) ? true : false, - 'acl' => populate_acl($itm[0],false,\PermissionDescription::fromGlobalPermission('view_pages')), + 'acl' => populate_acl($itm[0],false,\Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_pages')), 'showacl' => ($is_owner) ? true : false, 'mimetype' => $mimetype, 'mimeselect' => true, diff --git a/Zotlabs/Module/Events.php b/Zotlabs/Module/Events.php index 3187cddb4..def5c437b 100644 --- a/Zotlabs/Module/Events.php +++ b/Zotlabs/Module/Events.php @@ -6,7 +6,6 @@ require_once('include/bbcode.php'); require_once('include/datetime.php'); require_once('include/event.php'); require_once('include/items.php'); -require_once('include/PermissionDescription.php'); class Events extends \Zotlabs\Web\Controller { @@ -471,7 +470,7 @@ class Events extends \Zotlabs\Web\Controller { '$permissions' => t('Permission settings'), // populating the acl dialog was a permission description from view_stream because Cal.php, which // displays events, says "since we don't currently have an event permission - use the stream permission" - '$acl' => (($orig_event['event_xchan']) ? '' : populate_acl(((x($orig_event)) ? $orig_event : $perm_defaults), false, \PermissionDescription::fromGlobalPermission('view_stream'))), + '$acl' => (($orig_event['event_xchan']) ? '' : populate_acl(((x($orig_event)) ? $orig_event : $perm_defaults), false, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'))), '$submit' => t('Submit'), '$advanced' => t('Advanced Options') diff --git a/Zotlabs/Module/Filestorage.php b/Zotlabs/Module/Filestorage.php index 2861f31be..c3ef22e32 100644 --- a/Zotlabs/Module/Filestorage.php +++ b/Zotlabs/Module/Filestorage.php @@ -6,7 +6,6 @@ namespace Zotlabs\Module; */ require_once('include/attach.php'); -require_once('include/PermissionDescription.php'); /** @@ -134,7 +133,7 @@ class Filestorage extends \Zotlabs\Web\Controller { $cloudpath = get_cloudpath($f) . (intval($f['is_dir']) ? '?f=&davguest=1' : ''); $parentpath = get_parent_cloudpath($channel['channel_id'], $channel['channel_address'], $f['hash']); - $aclselect_e = populate_acl($f, false, \PermissionDescription::fromGlobalPermission('view_storage')); + $aclselect_e = populate_acl($f, false, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_storage')); $is_a_dir = (intval($f['is_dir']) ? true : false); $lockstate = (($f['allow_cid'] || $f['allow_gid'] || $f['deny_cid'] || $f['deny_gid']) ? 'lock' : 'unlock'); diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index 87ed326e2..3b88cd8d6 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -6,8 +6,6 @@ require_once('include/group.php'); require_once('include/contact_widgets.php'); require_once('include/conversation.php'); require_once('include/acl_selectors.php'); -require_once('include/PermissionDescription.php'); - class Network extends \Zotlabs\Web\Controller { @@ -171,7 +169,7 @@ class Network extends \Zotlabs\Web\Controller { 'default_location' => $channel['channel_location'], 'nickname' => $channel['channel_address'], 'lockstate' => (($private_editing || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'), - 'acl' => populate_acl((($private_editing) ? $def_acl : $channel_acl), true, \PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post'), + 'acl' => populate_acl((($private_editing) ? $def_acl : $channel_acl), true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post'), 'bang' => (($private_editing) ? '!' : ''), 'visitor' => true, 'profile_uid' => local_channel(), diff --git a/Zotlabs/Module/Photos.php b/Zotlabs/Module/Photos.php index 1633e08ef..1eeab1461 100644 --- a/Zotlabs/Module/Photos.php +++ b/Zotlabs/Module/Photos.php @@ -9,8 +9,6 @@ require_once('include/bbcode.php'); require_once('include/security.php'); require_once('include/attach.php'); require_once('include/text.php'); -require_once('include/PermissionDescription.php'); - class Photos extends \Zotlabs\Web\Controller { @@ -633,7 +631,7 @@ class Photos extends \Zotlabs\Web\Controller { $lockstate = (($acl->is_private()) ? 'lock' : 'unlock'); } - $aclselect = (($_is_owner) ? populate_acl($channel_acl,false, \PermissionDescription::fromGlobalPermission('view_storage')) : ''); + $aclselect = (($_is_owner) ? populate_acl($channel_acl,false, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_storage')) : ''); // this is wrong but is to work around an issue with js_upload wherein it chokes if these variables // don't exist. They really should be set to a parseable representation of the channel's default permissions @@ -1023,7 +1021,7 @@ class Photos extends \Zotlabs\Web\Controller { if($can_post) { $album_e = $ph[0]['album']; $caption_e = $ph[0]['description']; - $aclselect_e = (($_is_owner) ? populate_acl($ph[0], true, \PermissionDescription::fromGlobalPermission('view_storage')) : ''); + $aclselect_e = (($_is_owner) ? populate_acl($ph[0], true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_storage')) : ''); $albums = ((array_key_exists('albums', \App::$data)) ? \App::$data['albums'] : photos_albums_list(\App::$data['channel'],\App::$data['observer'])); $_SESSION['album_return'] = bin2hex($ph[0]['album']); diff --git a/Zotlabs/Module/Rpost.php b/Zotlabs/Module/Rpost.php index 1396f2a55..32d52c30c 100644 --- a/Zotlabs/Module/Rpost.php +++ b/Zotlabs/Module/Rpost.php @@ -7,7 +7,6 @@ require_once('include/items.php'); require_once('include/taxonomy.php'); require_once('include/conversation.php'); require_once('include/zot.php'); -require_once('include/PermissionDescription.php'); /** * remote post @@ -116,7 +115,7 @@ class Rpost extends \Zotlabs\Web\Controller { 'default_location' => $channel['channel_location'], 'nickname' => $channel['channel_address'], 'lockstate' => (($acl->is_private()) ? 'lock' : 'unlock'), - 'acl' => populate_acl($channel_acl, true, \PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post'), + 'acl' => populate_acl($channel_acl, true, Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post'), 'bang' => '', 'visitor' => true, 'profile_uid' => local_channel(), diff --git a/Zotlabs/Module/Settings.php b/Zotlabs/Module/Settings.php index 875004fae..af246a4dc 100644 --- a/Zotlabs/Module/Settings.php +++ b/Zotlabs/Module/Settings.php @@ -2,8 +2,6 @@ namespace Zotlabs\Module; /** @file */ require_once('include/zot.php'); -require_once('include/PermissionDescription.php'); - class Settings extends \Zotlabs\Web\Controller { @@ -1066,7 +1064,7 @@ class Settings extends \Zotlabs\Web\Controller { '$maxreq' => array('maxreq', t('Maximum Friend Requests/Day:'), intval($channel['channel_max_friend_req']) , t('May reduce spam activity')), '$permissions' => t('Default Post and Publish Permissions'), '$permdesc' => t("\x28click to open/close\x29"), - '$aclselect' => populate_acl($perm_defaults, false, \PermissionDescription::fromDescription(t('Use my default audience setting for the type of object published'))), + '$aclselect' => populate_acl($perm_defaults, false, \Zotlabs\Lib\PermissionDescription::fromDescription(t('Use my default audience setting for the type of object published'))), '$suggestme' => $suggestme, '$group_select' => $group_select, '$role' => array('permissions_role' , t('Channel permissions category:'), $permissions_role, '', get_roles()), diff --git a/Zotlabs/Module/Webpages.php b/Zotlabs/Module/Webpages.php index bb8d9c6ed..cc0a01cce 100644 --- a/Zotlabs/Module/Webpages.php +++ b/Zotlabs/Module/Webpages.php @@ -4,7 +4,6 @@ namespace Zotlabs\Module; require_once('include/channel.php'); require_once('include/conversation.php'); require_once('include/acl_selectors.php'); -require_once('include/PermissionDescription.php'); class Webpages extends \Zotlabs\Web\Controller { @@ -105,7 +104,7 @@ class Webpages extends \Zotlabs\Web\Controller { 'is_owner' => true, 'nickname' => \App::$profile['channel_address'], 'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'), - 'acl' => (($is_owner) ? populate_acl($channel_acl,false, \PermissionDescription::fromGlobalPermission('view_pages')) : ''), + 'acl' => (($is_owner) ? populate_acl($channel_acl,false, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_pages')) : ''), 'showacl' => (($is_owner) ? true : false), 'visitor' => true, 'hide_location' => true, diff --git a/include/PermissionDescription.php b/include/PermissionDescription.php deleted file mode 100644 index 1f7799406..000000000 --- a/include/PermissionDescription.php +++ /dev/null @@ -1,170 +0,0 @@ -global_perm = $global_perm; - $this->channel_perm = $channel_perm; - - $this->fallback_description = ($description == '') ? t('Visible to your default audience') : $description; - } - - /** - * If the interpretation of an empty ACL can't be summarised with a global default permission - * or a specific permission setting then use this method and describe what it means instead. - * Remember to localize the description first. - * - * @param string $description - the localized caption for the no-ACL option in the ACL dialog. - * @return a new instance of PermissionDescription - */ - public static function fromDescription($description) { - return new PermissionDescription('', 0x80000, $description); - } - - - /** - * Use this method only if the interpretation of an empty ACL doesn't fall back to a global - * default permission. You should pass one of the constants from boot.php - PERMS_PUBLIC, - * PERMS_NETWORK etc. - * - * @param integer $perm - a single enumerated constant permission - PERMS_PUBLIC, PERMS_NETWORK etc. - * @return a new instance of PermissionDescription - */ - public static function fromStandalonePermission($perm) { - - $result = new PermissionDescription('', $perm); - - $checkPerm = $this->get_permission_description(); - if ($checkPerm == $this->fallback_description) { - $result = null; - logger('null PermissionDescription from unknown standalone permission: ' . $perm ,LOGGER_DEBUG, LOG_ERROR); - } - - return $result; - } - - /** - * This is the preferred way to create a PermissionDescription, as it provides the most details. - * Use this method if you know an empty ACL will result in one of the global default permissions - * being used, such as channel_r_stream (for which you would pass 'view_stream'). - * - * @param string $permname - a key for the global perms array from get_perms() in permissions.php, - * e.g. 'view_stream', 'view_profile', etc. - * @return a new instance of PermissionDescription - */ - public static function fromGlobalPermission($permname) { - - $result = null; - - $global_perms = get_perms(); - - if (array_key_exists($permname, $global_perms)) { - - $permDetails = $global_perms[$permname]; - - // It should be OK to always just read the permissions from App::$channel - // - // App::$profile is a union of channel and profile fields. - // The distinction is basically that App::$profile is pointing to the resource - // being observed. App::$channel is referring to the current logged-in channel - // member (if this is a local channel) e.g. the observer. We only show the ACL - // widget to the page owner (observer and observed are the same) so in that case - // I believe either may be safely used here. - $channelPerm = \App::$channel[$permDetails[0]]; - $result = new PermissionDescription($permDetails[1], $channelPerm); - } else { - // The acl dialog can handle null arguments, but it shouldn't happen - logger('null PermissionDescription from unknown global permission: ' . $permname ,LOGGER_DEBUG, LOG_ERROR); - } - return $result; - } - - - /** - * Gets a localized description of the permission, or a generic message if the permission - * is unknown. - * - * @return string description - */ - public function get_permission_description() { - - switch($this->channel_perm) { - - case 0: return t('Only me'); - case PERMS_PUBLIC: return t('Public'); - case PERMS_NETWORK: return t('Anybody in the $Projectname network'); - case PERMS_SITE: return sprintf(t('Any account on %s'), \App::get_hostname()); - case PERMS_CONTACTS: return t('Any of my connections'); - case PERMS_SPECIFIC: return t('Only connections I specifically allow'); - case PERMS_AUTHED: return t('Anybody authenticated (could include visitors from other networks)'); - case PERMS_PENDING: return t('Any connections including those who haven\'t yet been approved'); - default: return $this->fallback_description; - } - } - - /** - * Returns an icon css class name if an appropriate one is available, e.g. "fa-globe" for Public, - * otherwise returns empty string. - * - * @return string icon css class name (often FontAwesome) - */ - public function get_permission_icon() { - - switch($this->channel_perm) { - - case 0:/* only me */ return 'fa-eye-slash'; - case PERMS_PUBLIC: return 'fa-globe'; - case PERMS_NETWORK: return 'fa-share-alt-square'; // fa-share-alt-square is very similiar to the hubzilla logo, but we should create our own logo class to use - case PERMS_SITE: return 'fa-sitemap'; - case PERMS_CONTACTS: return 'fa-group'; - case PERMS_SPECIFIC: return 'fa-list'; - case PERMS_AUTHED: return ''; - case PERMS_PENDING: return ''; - default: return ''; - } - } - - - /** - * Returns a localized description of where the permission came from, if this is known. - * If it's not know, or if the permission is standalone and didn't come from a default - * permission setting, then empty string is returned. - * - * @return string description or empty string - */ - public function get_permission_origin_description() { - - switch($this->global_perm) { - - case PERMS_R_STREAM: return t('This is your default setting for the audience of your normal stream, and posts.'); - case PERMS_R_PROFILE: return t('This is your default setting for who can view your default channel profile'); - case PERMS_R_ABOOK: return t('This is your default setting for who can view your connections'); - case PERMS_R_STORAGE: return t('This is your default setting for who can view your file storage and photos'); - case PERMS_R_PAGES: return t('This is your default setting for the audience of your webpages'); - default: return ''; - } - } - -} diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 89d054e3b..148c67a6c 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -7,8 +7,6 @@ * @package acl_selectors */ -require_once("include/PermissionDescription.php"); - function group_select($selname,$selclass,$preselected = false,$size = 4) { $o = ''; @@ -231,7 +229,7 @@ function populate_acl($defaults = null,$show_jotnets = true, $emptyACL_descripti if(! $emptyACL_description) { $showall_caption = t('Visible to your default audience'); - } else if (is_a($emptyACL_description, 'PermissionDescription')) { + } else if (is_a($emptyACL_description, '\\Zotlabs\\Lib\\PermissionDescription')) { $showall_caption = $emptyACL_description->get_permission_description(); $showall_origin = (($role === 'custom') ? $emptyACL_description->get_permission_origin_description() : ''); $showall_icon = $emptyACL_description->get_permission_icon(); -- cgit v1.2.3 From b6987b4287bb2492b8f4000bdef08b376aa5f265 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Tue, 12 Jul 2016 13:15:20 -0700 Subject: the abconfig defaults weren't changed in the schema files when they were changed in the code --- install/schema_mysql.sql | 2 +- install/schema_postgres.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql index d2a5ac85e..b43ead050 100644 --- a/install/schema_mysql.sql +++ b/install/schema_mysql.sql @@ -1,7 +1,7 @@ CREATE TABLE IF NOT EXISTS `abconfig` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `chan` int(10) unsigned NOT NULL DEFAULT '', + `chan` int(10) unsigned NOT NULL DEFAULT '0', `xchan` char(255) NOT NULL DEFAULT '', `cat` char(255) NOT NULL DEFAULT '', `k` char(255) NOT NULL DEFAULT '', diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql index 378308233..5080d7608 100644 --- a/install/schema_postgres.sql +++ b/install/schema_postgres.sql @@ -1,6 +1,6 @@ CREATE TABLE "abconfig" ( "id" serial NOT NULL, - "chan" bigint NOT NULL, + "chan" bigint NOT NULL DEFAULT '0', "xchan" text NOT NULL, "cat" text NOT NULL, "k" text NOT NULL, -- cgit v1.2.3 From 0fa807e7ad7340ae1a3de4c75bf5c2b1b9f863bc Mon Sep 17 00:00:00 2001 From: redmatrix Date: Tue, 12 Jul 2016 18:38:39 -0700 Subject: don't try to send sync packets to dead sites. --- include/zot.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/include/zot.php b/include/zot.php index 6dd789181..45347ef22 100644 --- a/include/zot.php +++ b/include/zot.php @@ -3014,7 +3014,12 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) { if($x['hubloc_host'] == App::get_hostname()) continue; - $synchubs[] = $x; + $y = q("select site_dead from site where site_url = '%s' limit 1", + dbesc($x['hubloc_url']) + ); + + if((! $y) || ($y[0]['site_dead'] == 0)) + $synchubs[] = $x; } if(! $synchubs) -- cgit v1.2.3 From bdd7d24ac1ccf8f7c5b8939cf23a6a156da959c1 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Tue, 12 Jul 2016 19:08:36 -0700 Subject: update_remote_id - updated to work with iconfig --- include/items.php | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/include/items.php b/include/items.php index 72f0896ad..373090d41 100755 --- a/include/items.php +++ b/include/items.php @@ -4154,32 +4154,19 @@ function update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remo } if($page_type) { - // store page info as an alternate message_id so we can access it via // https://sitename/page/$channelname/$pagetitle // if no pagetitle was given or it couldn't be transliterated into a url, use the first // sixteen bytes of the mid - which makes the link portable and not quite as daunting // as the entire mid. If it were the post_id the link would be less portable. - $r = q("select * from item_id where iid = %d and uid = %d and service = '%s' limit 1", + \Zotlabs\Lib\IConfig::Set( intval($post_id), - intval($channel['channel_id']), - dbesc($page_type) + 'system', + $page_type, + ($pagetitle) ? $pagetitle : substr($mid,0,16), + false ); - if($r) { - q("update item_id set sid = '%s' where id = %d", - dbesc(($pagetitle) ? $pagetitle : substr($mid,0,16)), - intval($r[0]['id']) - ); - } - else { - q("insert into item_id ( iid, uid, sid, service ) values ( %d, %d, '%s','%s' )", - intval($post_id), - intval($channel['channel_id']), - dbesc(($pagetitle) ? $pagetitle : substr($mid,0,16)), - dbesc($page_type) - ); - } } } -- cgit v1.2.3 From 18565600b2b9e36f1792bf29d5575f681fafc0b5 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Tue, 12 Jul 2016 22:58:12 -0700 Subject: missing namespace prefix \ --- Zotlabs/Module/Rpost.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Zotlabs/Module/Rpost.php b/Zotlabs/Module/Rpost.php index 32d52c30c..9e3043d10 100644 --- a/Zotlabs/Module/Rpost.php +++ b/Zotlabs/Module/Rpost.php @@ -115,7 +115,7 @@ class Rpost extends \Zotlabs\Web\Controller { 'default_location' => $channel['channel_location'], 'nickname' => $channel['channel_address'], 'lockstate' => (($acl->is_private()) ? 'lock' : 'unlock'), - 'acl' => populate_acl($channel_acl, true, Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post'), + 'acl' => populate_acl($channel_acl, true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post'), 'bang' => '', 'visitor' => true, 'profile_uid' => local_channel(), -- cgit v1.2.3 From f60a0c5ce050febb0b200938eb51d88cf563b88f Mon Sep 17 00:00:00 2001 From: redmatrix Date: Wed, 13 Jul 2016 17:51:19 -0700 Subject: document mod_acl a bit better and try to remove some redundancies and consolidate the various options --- Zotlabs/Module/Acl.php | 84 ++++++++++++++++++++++++++++++++++--------------- view/js/autocomplete.js | 2 +- view/js/mod_mail.js | 2 +- view/js/mod_photos.js | 2 +- 4 files changed, 62 insertions(+), 28 deletions(-) diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php index 2bc4ba62d..f33e257f4 100644 --- a/Zotlabs/Module/Acl.php +++ b/Zotlabs/Module/Acl.php @@ -1,7 +1,18 @@ standard ACL request + // 'g' => Groups only ACL request + // 'c' => Connections only ACL request or editor (textarea) mention request + // $_REQUEST['search'] contains ACL search text. + + + // $type = + // 'm' => autocomplete private mail recipient (checks post_mail permission) + // 'a' => autocomplete connections (mod_connections, mod_poke, mod_sources, mod_photos) + // 'x' => nav search bar autocomplete (match any xchan) + // $_REQUEST['query'] contains autocomplete search text. + + // List of channels whose connections to also suggest, + // e.g. currently viewed channel or channels mentioned in a post + $extra_channels = (x($_REQUEST,'extra_channels') ? $_REQUEST['extra_channels'] : array()); - // For use with jquery.autocomplete for private mail completion + // The different autocomplete libraries use different names for the search text + // parameter. Internaly we'll use $search to represent the search text no matter + // what request variable it was attached to. - if(x($_REQUEST,'query') && strlen($_REQUEST['query'])) { - if(! $type) - $type = 'm'; + if(array_key_exists('query',$_REQUEST)) { $search = $_REQUEST['query']; } - if(!(local_channel())) - if(!($type == 'x' || $type == 'c')) - killme(); + if( (! local_channel()) && (! ($type == 'x' || $type == 'c'))) + killme(); - if ($search != "") { + if($search) { $sql_extra = " AND `name` LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " "; $sql_extra2 = "AND ( xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'%" . dbesc($search) . ((strpos($search,'@') === false) ? "%@%'" : "%'")) . ") "; - // This horrible mess is needed because position also returns 0 if nothing is found. W/ould be MUCH easier if it instead returned a very large value - // Otherwise we could just order by LEAST(POSITION($search IN xchan_name),POSITION($search IN xchan_addr)). - $order_extra2 = "CASE WHEN xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) ." then POSITION('".dbesc($search)."' IN xchan_name) else position('".dbesc($search)."' IN xchan_addr) end, "; + // This horrible mess is needed because position also returns 0 if nothing is found. + // Would be MUCH easier if it instead returned a very large value + // Otherwise we could just + // order by LEAST(POSITION($search IN xchan_name),POSITION($search IN xchan_addr)). + + $order_extra2 = "CASE WHEN xchan_name LIKE " + . protect_sprintf( "'%" . dbesc($search) . "%'" ) + . " then POSITION('" . dbesc($search) + . "' IN xchan_name) else position('" . dbesc($search) . "' IN xchan_addr) end, "; + $col = ((strpos($search,'@') !== false) ? 'xchan_addr' : 'xchan_name' ); $sql_extra3 = "AND $col like " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " "; - } else { + } + else { $sql_extra = $sql_extra2 = $sql_extra3 = ""; } @@ -51,7 +85,7 @@ class Acl extends \Zotlabs\Web\Controller { $groups = array(); $contacts = array(); - if ($type=='' || $type=='g'){ + if($type == '' || $type == 'g') { $r = q("SELECT `groups`.`id`, `groups`.`hash`, `groups`.`gname` FROM `groups`,`group_member` @@ -82,7 +116,7 @@ class Acl extends \Zotlabs\Web\Controller { } } - if ($type=='' || $type=='c') { + if($type == '' || $type == 'c') { $extra_channels_sql = ''; // Only include channels who allow the observer to view their permissions foreach($extra_channels as $channel) { @@ -171,7 +205,7 @@ class Acl extends \Zotlabs\Web\Controller { intval(PERMS_W_MAIL) ); } - elseif(($type == 'a') || ($type == 'p')) { + elseif($type == 'a') { $r = q("SELECT abook_id as id, xchan_name as name, xchan_hash as hash, xchan_addr as nick, xchan_photo_s as micro, xchan_network as network, xchan_url as url, xchan_addr as attag , abook_their_perms FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d @@ -296,7 +330,7 @@ class Acl extends \Zotlabs\Web\Controller { $url = $directory['url'] . '/dirsearch'; } - $count = (x($_REQUEST,'count')?$_REQUEST['count']:100); + $count = (x($_REQUEST,'count') ? $_REQUEST['count'] : 100); if($url) { $query = $url . '?f=' ; $query .= '&name=' . urlencode($search) . "&limit=$count" . (($address) ? '&address=' . urlencode($search) : ''); diff --git a/view/js/autocomplete.js b/view/js/autocomplete.js index 59a9ed355..63f1e9a13 100644 --- a/view/js/autocomplete.js +++ b/view/js/autocomplete.js @@ -1,5 +1,5 @@ /** - * Red people autocomplete + * general autocomplete support * * require jQuery, jquery.textcomplete */ diff --git a/view/js/mod_mail.js b/view/js/mod_mail.js index 3e55c8aeb..46574a63d 100644 --- a/view/js/mod_mail.js +++ b/view/js/mod_mail.js @@ -1,5 +1,5 @@ $(document).ready(function() { - $("#recip").name_autocomplete(baseurl + '/acl', '', false, function(data) { + $("#recip").name_autocomplete(baseurl + '/acl', 'm', false, function(data) { $("#recip-complete").val(data.xid); }); $(".autotime").timeago() diff --git a/view/js/mod_photos.js b/view/js/mod_photos.js index 006be5f23..e3df3ca68 100644 --- a/view/js/mod_photos.js +++ b/view/js/mod_photos.js @@ -3,7 +3,7 @@ */ $(document).ready(function() { - $("#photo-edit-newtag").contact_autocomplete(baseurl + '/acl', 'p', false, function(data) { + $("#photo-edit-newtag").contact_autocomplete(baseurl + '/acl', 'a', false, function(data) { $("#photo-edit-newtag").val('@' + data.name); }); -- cgit v1.2.3 From 00afe56cadbf72bd76efceb0663291d7f88a93fc Mon Sep 17 00:00:00 2001 From: redmatrix Date: Wed, 13 Jul 2016 20:17:40 -0700 Subject: let abconfig specify a family --- Zotlabs/Lib/AbConfig.php | 6 ++++-- include/config.php | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Zotlabs/Lib/AbConfig.php b/Zotlabs/Lib/AbConfig.php index 138d0dfea..cab59abbd 100644 --- a/Zotlabs/Lib/AbConfig.php +++ b/Zotlabs/Lib/AbConfig.php @@ -5,8 +5,10 @@ namespace Zotlabs\Lib; class AbConfig { - static public function Load($chan,$xhash) { - $r = q("select * from abconfig where chan = %d and xchan = '%s'", + static public function Load($chan,$xhash,$family = '') { + if($family) + $where = sprintf(" and family = '%s' ",dbesc($family)); + $r = q("select * from abconfig where chan = %d and xchan = '%s' $where", intval($chan), dbesc($xhash) ); diff --git a/include/config.php b/include/config.php index ece22793f..08810e298 100644 --- a/include/config.php +++ b/include/config.php @@ -98,8 +98,8 @@ function del_aconfig($account_id, $family, $key) { } -function load_abconfig($chan,$xhash) { - Zlib\AbConfig::Load($chan,$xhash); +function load_abconfig($chan, $xhash, $family = '') { + return Zlib\AbConfig::Load($chan,$xhash,$family); } function get_abconfig($chan,$xhash,$family,$key) { -- cgit v1.2.3 From 115ef3249cb9b724fecb03ff043af34458587be0 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 14 Jul 2016 17:45:09 -0700 Subject: who are we --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 8a6c003fc..fc19e26fc 100644 --- a/README.md +++ b/README.md @@ -47,4 +47,16 @@ Possible website applications include Installing Hubzilla

+** Who Are We and What Are Our Principles? ** + +The Hubzilla community is powered by passionate volunteers creating an open source **commons** of decentralised services which are highly integrated and can rival the feature set of centralised providers. We are open to sponsorship and donations to cover expenses and compensate for our time and energy, however the project core is basically non-profit and is not designed for the purpose of commercial gain or exploitation. + +Some sites may include monetisation strategies such as subscriptions and *freemium* models where members pay for resources they consume beyond a basic level. The project community supports such monetisation initiatives (nobody should be forced to pay "out of pocket" to provide a service to others), but we maintain the **commons** to provide open and free access of the software to all. + +The software is not designed for data collection of its members or providing advertising. We don't have a need or desire for these things and feel that software built around these goals is poorly designed and represents compromised principles and ethics. + +As a project, we are inclusive of all beliefs and cultures and do what we are able to provide an environment that is free from hostility and harrassment. Whether or not we succeed in this endaevour requires constant vigilance and help from all members of the community, working together to build an inter-networking tool with amazing potential. + + + [![Build Status](https://travis-ci.org/redmatrix/hubzilla.svg)](https://travis-ci.org/redmatrix/hubzilla) -- cgit v1.2.3 From 05a9f2f0f58b9ca84e3a286a6126baf9455f947b Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 14 Jul 2016 17:46:21 -0700 Subject: markdown is whitespace sensitive --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fc19e26fc..9929f6a16 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ Possible website applications include Installing Hubzilla

-** Who Are We and What Are Our Principles? ** +**Who Are We and What Are Our Principles?** The Hubzilla community is powered by passionate volunteers creating an open source **commons** of decentralised services which are highly integrated and can rival the feature set of centralised providers. We are open to sponsorship and donations to cover expenses and compensate for our time and energy, however the project core is basically non-profit and is not designed for the purpose of commercial gain or exploitation. -- cgit v1.2.3 From e6c861480138ba871907ed6994d0fb840fd0e77f Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 14 Jul 2016 19:24:15 -0700 Subject: first cut at zot access tokens --- include/auth.php | 76 +++++++++++++++++++++++++++++++++++----------------- include/security.php | 33 +++++++++++++++++++++++ 2 files changed, 85 insertions(+), 24 deletions(-) diff --git a/include/auth.php b/include/auth.php index 01fcf0094..79d04c728 100644 --- a/include/auth.php +++ b/include/auth.php @@ -36,22 +36,33 @@ function account_verify_password($email, $pass) { // you have to verify the email and then go through the account approval workflow before // letting them login. - if(($email_verify) && ($register_policy == REGISTER_OPEN) && ($record['account_flags'] & ACCOUNT_UNVERIFIED)) - return null; + // @bug there is no record here + //if(($email_verify) && ($register_policy == REGISTER_OPEN) && ($record['account_flags'] & ACCOUNT_UNVERIFIED)) + // return null; $r = q("select * from account where account_email = '%s'", dbesc($email) ); - if(! ($r && count($r))) - return null; - - foreach($r as $record) { - if(($record['account_flags'] == ACCOUNT_OK) - && (hash('whirlpool', $record['account_salt'] . $pass) === $record['account_password'])) { - logger('password verified for ' . $email); - return $record; + if($r) { + + foreach($r as $record) { + if(($record['account_flags'] == ACCOUNT_OK) + && (hash('whirlpool', $record['account_salt'] . $pass) === $record['account_password'])) { + logger('password verified for ' . $email); + return $record; + } } } + + $x = q("select * from atoken where atoken_name = '%s' and atoken_token = '%s' limit 1", + dbesc($email), + dbesc($pass) + ); + if($x) { + atoken_login($x[0]); + return $x[0]; + } + $error = 'password failed for ' . $email; logger($error); @@ -123,10 +134,18 @@ if((isset($_SESSION)) && (x($_SESSION, 'authenticated')) && authenticate_success($x[0], true, true); } } - - $r = q("select * from xchan left join hubloc on xchan_hash = hubloc_hash where xchan_hash = '%s' limit 1", - dbesc($_SESSION['visitor_id']) - ); + if(array_key_exists('atoken',$_SESSION)) { + $y = q("select * from atoken where atoken_id = %d limit 1", + intval($_SESSION['atoken']) + ); + if($y) + $r = array(atoken_xchan($y[0])); + } + else { + $r = q("select * from xchan left join hubloc on xchan_hash = hubloc_hash where xchan_hash = '%s' limit 1", + dbesc($_SESSION['visitor_id']) + ); + } if($r) { App::set_observer($r[0]); } @@ -199,20 +218,27 @@ else { call_hooks('authenticate', $addon_auth); + $atoken = false; + if(($addon_auth['authenticated']) && (count($addon_auth['user_record']))) { $record = $addon_auth['user_record']; } else { - $record = App::$account = account_verify_password($_POST['username'], $_POST['password']); - - if(App::$account) { - $_SESSION['account_id'] = App::$account['account_id']; - } - else { - notice( t('Failed authentication') . EOL); + $x = account_verify_password($_POST['username'], $_POST['password']); + if(array_key_exists('atoken',$x)) + $atoken = true; + if(! $atoken) { + $record = App::$account = $x; + + if(App::$account) { + $_SESSION['account_id'] = App::$account['account_id']; + } + else { + notice( t('Failed authentication') . EOL); + } + + logger('authenticate: ' . print_r(App::$account, true), LOGGER_ALL); } - - logger('authenticate: ' . print_r(App::$account, true), LOGGER_ALL); } if((! $record) || (! count($record))) { @@ -252,7 +278,8 @@ else { // if we haven't failed up this point, log them in. $_SESSION['last_login_date'] = datetime_convert(); - authenticate_success($record, true, true); + if(! $atoken) + authenticate_success($record, true, true); } } @@ -270,6 +297,7 @@ else { * @return int|bool * Return channel_id from pconfig or false. */ + function match_openid($authid) { // Query the uid/channel_id from pconfig for a given value. $r = q("SELECT uid FROM pconfig WHERE cat = 'system' AND k = 'openid' AND v = '%s' LIMIT 1", diff --git a/include/security.php b/include/security.php index 212690d91..55e9d906f 100644 --- a/include/security.php +++ b/include/security.php @@ -82,6 +82,39 @@ function authenticate_success($user_record, $login_initial = false, $interactive /* else just return */ } +function atoken_login($atoken) { + if(! $atoken) + return false; + + $xchan = atoken_xchan($atoken); + + $_SESSION['authenticated'] = 1; + $_SESSION['visitor_id'] = $xchan['xchan_hash']; + $_SESSION['atoken'] = $atoken['atoken_id']; + + \App::set_observer($xchan); + + return [ 'atoken' => true ]; +} + + +function atoken_xchan($atoken) { + + return [ + 'xchan_hash' => $atoken['atoken_uid'] . '.' . $atoken['atoken_name'], + 'xchan_network' => 'unknown', + 'xchan_hidden' => 1, + 'xchan_photo_mimetype' => 'image/jpeg', + 'xchan_photo_l' => get_default_profile_photo(300), + 'xchan_photo_m' => get_default_profile_photo(80), + 'xchan_photo_s' => get_default_profile_photo(48) + + ]; + +} + + + /** * @brief Change to another channel with current logged-in account. * -- cgit v1.2.3 From f3eb9af046b155c53a194db6104a24b6d6756072 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 14 Jul 2016 19:43:47 -0700 Subject: more ZAT work --- Zotlabs/Web/WebServer.php | 9 ++++++++- include/channel.php | 25 +++++++++++++++++++++++-- include/security.php | 2 ++ include/text.php | 4 ++++ 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/Zotlabs/Web/WebServer.php b/Zotlabs/Web/WebServer.php index 88ab4995b..d4f3cb9ea 100644 --- a/Zotlabs/Web/WebServer.php +++ b/Zotlabs/Web/WebServer.php @@ -59,7 +59,14 @@ class WebServer { \App::$query_string = strip_zids(\App::$query_string); if(! local_channel()) { $_SESSION['my_address'] = $_GET['zid']; - zid_init($a); + zid_init(); + } + } + + if((x($_GET,'zat')) && (! \App::$install)) { + \App::$query_string = strip_zats(\App::$query_string); + if(! local_channel()) { + zat_init(); } } diff --git a/include/channel.php b/include/channel.php index 95506ed78..1a6508803 100644 --- a/include/channel.php +++ b/include/channel.php @@ -1310,13 +1310,12 @@ function get_my_address() { * If somebody arrives at our site using a zid, add their xchan to our DB if we don't have it already. * And if they aren't already authenticated here, attempt reverse magic auth. * - * @param App &$a * * @hooks 'zid_init' * string 'zid' - their zid * string 'url' - the destination url */ -function zid_init(&$a) { +function zid_init() { $tmp_str = get_my_address(); if(validate_email($tmp_str)) { Zotlabs\Daemon\Master::Summon(array('Gprobe',bin2hex($tmp_str))); @@ -1342,6 +1341,28 @@ function zid_init(&$a) { } } +/** + * @brief + * + * If somebody arrives at our site using a zat, authenticate them + * + */ + +function zat_init() { + if(local_channel() || remote_channel()) + return; + + $r = q("select * from atoken where atoken_token = '%s' limit 1", + dbesc($_REQUEST['zat']) + ); + if($r) { + atoken_login($r[0]); + } + +} + + + /** * @brief Adds a zid parameter to a url. * diff --git a/include/security.php b/include/security.php index 55e9d906f..c2515a6e1 100644 --- a/include/security.php +++ b/include/security.php @@ -102,6 +102,8 @@ function atoken_xchan($atoken) { return [ 'xchan_hash' => $atoken['atoken_uid'] . '.' . $atoken['atoken_name'], + 'xchan_name' => $atoken['atoken_name'], + 'xchan_addr' => t('guest:') . $atoken['atoken_name'] . '@' . \App::get_hostname(), 'xchan_network' => 'unknown', 'xchan_hidden' => 1, 'xchan_photo_mimetype' => 'image/jpeg', diff --git a/include/text.php b/include/text.php index 986e3b56c..0b4f039af 100644 --- a/include/text.php +++ b/include/text.php @@ -774,6 +774,10 @@ function strip_zids($s) { return preg_replace('/[\?&]zid=(.*?)(&|$)/ism','$2',$s); } +function strip_zats($s) { + return preg_replace('/[\?&]zat=(.*?)(&|$)/ism','$2',$s); +} + // quick and dirty quoted_printable encoding -- cgit v1.2.3 From f70f4a4e8558a6d715eb7ca0d02ac38753094068 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 14 Jul 2016 20:26:22 -0700 Subject: add zat to acl --- Zotlabs/Module/Acl.php | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php index f33e257f4..c8a4fdd7c 100644 --- a/Zotlabs/Module/Acl.php +++ b/Zotlabs/Module/Acl.php @@ -130,13 +130,38 @@ class Acl extends \Zotlabs\Web\Controller { if(local_channel()) { if($extra_channels_sql != '') $extra_channels_sql = " OR (abook_channel IN ($extra_channels_sql)) and abook_hidden = 0 "; + + $r2 = null; + + $r1 = q("select * from atoken where atoken_uid = %d", + intval(local_channel()) + ); + if($r1) { + $r2 = array(); + foreach($r1 as $rr) { + $r2[] = [ + 'id' => 'a' . $rr['atoken_id'] , + 'hash' => $rr['atoken_uid'] . '.' . $rr['atoken_name'], + 'name' => $rr['atoken_name'], + 'micro' => get_default_profile_photo(48), + 'url' => z_root(), + 'nick' => t('guest:') . $rr['atoken_name'], + 'abook_their_perms' => 0, + 'abook_flags' => 0, + 'abook_self' => 0 + ]; + } + } + $r = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags, abook_self FROM abook left join xchan on abook_xchan = xchan_hash WHERE (abook_channel = %d $extra_channels_sql) AND abook_blocked = 0 and abook_pending = 0 and xchan_deleted = 0 $sql_extra2 order by $order_extra2 xchan_name asc" , intval(local_channel()) ); - + if($r2) + $r = array_merge($r2,$r); + } else { // Visitors $r = q("SELECT xchan_hash as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags, 0 as abook_self -- cgit v1.2.3 From 94bd53c0f1faa333991786684028e347ab17cfb9 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 14 Jul 2016 20:51:15 -0700 Subject: schema updates for zot access tokens --- boot.php | 2 +- install/schema_mysql.sql | 17 +++++++++++++++++ install/schema_postgres.sql | 15 +++++++++++++++ install/update.php | 45 ++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 77 insertions(+), 2 deletions(-) diff --git a/boot.php b/boot.php index bad3b2e5d..6abc4137e 100755 --- a/boot.php +++ b/boot.php @@ -47,7 +47,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' ); define ( 'STD_VERSION', '1.9' ); define ( 'ZOT_REVISION', '1.1' ); -define ( 'DB_UPDATE_VERSION', 1179 ); +define ( 'DB_UPDATE_VERSION', 1180 ); /** diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql index b43ead050..5335c231e 100644 --- a/install/schema_mysql.sql +++ b/install/schema_mysql.sql @@ -141,6 +141,23 @@ CREATE TABLE IF NOT EXISTS `app` ( KEY `app_edited` (`app_edited`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `atoken` ( + `atoken_id` int(11) NOT NULL AUTO_INCREMENT, + `atoken_aid` int(11) NOT NULL DEFAULT 0, + `atoken_uid` int(11) NOT NULL DEFAULT 0, + `atoken_name` char(255) NOT NULL DEFAULT '', + `atoken_token` char(255) NOT NULL DEFAULT '', + `atoken_expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`atoken_id`), + KEY `atoken_aid` (`atoken_aid`), + KEY `atoken_uid` (`atoken_uid`), + KEY `atoken_uid_2` (`atoken_uid`), + KEY `atoken_name` (`atoken_name`), + KEY `atoken_token` (`atoken_token`), + KEY `atoken_expires` (`atoken_expires`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + CREATE TABLE IF NOT EXISTS `attach` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `aid` int(10) unsigned NOT NULL DEFAULT '0', diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql index 5080d7608..1a770d4ff 100644 --- a/install/schema_postgres.sql +++ b/install/schema_postgres.sql @@ -137,6 +137,21 @@ create index "app_created" on app ("app_created"); create index "app_edited" on app ("app_edited"); create index "app_deleted" on app ("app_deleted"); create index "app_system" on app ("app_system"); + +CREATE TABLE "atoken" ( + "atoken_id" serial NOT NULL, + "atoken_aid" bigint NOT NULL DEFAULT 0, + "atoken_uid" bigint NOT NULL DEFAULT 0, + "atoken_name" varchar(255) NOT NULL DEFAULT '', + "atoken_token" varchar(255) NOT NULL DEFAULT '', + "atoken_expires" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00', + PRIMARY KEY ("atoken_id")); +create index atoken_aid on atoken (atoken_aid); +create index atoken_uid on atoken (atoken_uid); +create index atoken_name on atoken (atoken_name); +create index atoken_token on atoken (atoken_token); +create index atoken_expires on atoken (atoken_expires); + CREATE TABLE "attach" ( "id" serial NOT NULL, "aid" bigint NOT NULL DEFAULT '0', diff --git a/install/update.php b/install/update.php index 3cb5010eb..6ca9ec6a4 100644 --- a/install/update.php +++ b/install/update.php @@ -1,6 +1,6 @@ Date: Thu, 14 Jul 2016 20:53:38 -0700 Subject: missing brace --- install/update.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/update.php b/install/update.php index 6ca9ec6a4..f2d97430b 100644 --- a/install/update.php +++ b/install/update.php @@ -2397,7 +2397,7 @@ function update_r1179() { KEY `atoken_token` (`atoken_token`), KEY `atoken_expires` (`atoken_expires`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 "); - + } if($r) return UPDATE_SUCCESS; return UPDATE_FAILED; -- cgit v1.2.3 From 397a23499dc64e2abdd2c27ccdf7e059a23dcfff Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 14 Jul 2016 21:28:17 -0700 Subject: make the xchan_hash for the access token location independent --- Zotlabs/Module/Acl.php | 10 ++++++---- include/security.php | 27 +++++++++++++++------------ 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php index c8a4fdd7c..15609c3c8 100644 --- a/Zotlabs/Module/Acl.php +++ b/Zotlabs/Module/Acl.php @@ -137,15 +137,17 @@ class Acl extends \Zotlabs\Web\Controller { intval(local_channel()) ); if($r1) { + require_once('include/security.php'); $r2 = array(); foreach($r1 as $rr) { + $x = atoken_xchan($rr); $r2[] = [ 'id' => 'a' . $rr['atoken_id'] , - 'hash' => $rr['atoken_uid'] . '.' . $rr['atoken_name'], - 'name' => $rr['atoken_name'], - 'micro' => get_default_profile_photo(48), + 'hash' => $x['xchan_hash'], + 'name' => $x['xchan_name'], + 'micro' => $x['xchan_photo_m'], 'url' => z_root(), - 'nick' => t('guest:') . $rr['atoken_name'], + 'nick' => $x['xchan_addr'], 'abook_their_perms' => 0, 'abook_flags' => 0, 'abook_self' => 0 diff --git a/include/security.php b/include/security.php index c2515a6e1..e345636e7 100644 --- a/include/security.php +++ b/include/security.php @@ -100,18 +100,21 @@ function atoken_login($atoken) { function atoken_xchan($atoken) { - return [ - 'xchan_hash' => $atoken['atoken_uid'] . '.' . $atoken['atoken_name'], - 'xchan_name' => $atoken['atoken_name'], - 'xchan_addr' => t('guest:') . $atoken['atoken_name'] . '@' . \App::get_hostname(), - 'xchan_network' => 'unknown', - 'xchan_hidden' => 1, - 'xchan_photo_mimetype' => 'image/jpeg', - 'xchan_photo_l' => get_default_profile_photo(300), - 'xchan_photo_m' => get_default_profile_photo(80), - 'xchan_photo_s' => get_default_profile_photo(48) - - ]; + $c = channelx_by_n($atoken['atoken_uid']); + if($c) { + return [ + 'xchan_hash' => substr($c['channel_hash'],0,16) . '.' . $atoken['atoken_name'], + 'xchan_name' => $atoken['atoken_name'], + 'xchan_addr' => t('guest:') . $atoken['atoken_name'] . '@' . \App::get_hostname(), + 'xchan_network' => 'unknown', + 'xchan_hidden' => 1, + 'xchan_photo_mimetype' => 'image/jpeg', + 'xchan_photo_l' => get_default_profile_photo(300), + 'xchan_photo_m' => get_default_profile_photo(80), + 'xchan_photo_s' => get_default_profile_photo(48) + + ]; + } } -- cgit v1.2.3 From 7ee7f00bf34b11d0427f03df9494088cf56ef9ee Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 14 Jul 2016 22:41:53 -0700 Subject: Here's the basic UI for the Zot Access Tokens, requires some minor cleanup --- Zotlabs/Module/Settings.php | 78 +++++++++++++++++++++++++++++++++++++++++++- include/widgets.php | 9 +++++ view/tpl/settings_tokens.tpl | 28 ++++++++++++++++ 3 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 view/tpl/settings_tokens.tpl diff --git a/Zotlabs/Module/Settings.php b/Zotlabs/Module/Settings.php index af246a4dc..60c9be519 100644 --- a/Zotlabs/Module/Settings.php +++ b/Zotlabs/Module/Settings.php @@ -28,7 +28,7 @@ class Settings extends \Zotlabs\Web\Controller { } - function post() { + function post() { if(! local_channel()) return; @@ -117,6 +117,43 @@ class Settings extends \Zotlabs\Web\Controller { build_sync_packet(); return; } + + + if((argc() > 1) && (argv(1) == 'tokens')) { + check_form_security_token_redirectOnErr('/settings/tokens', 'settings_tokens'); + + $atoken_id = (($_POST['atoken_id']) ? intval($_POST['atoken_id']) : 0); + $name = trim(escape_tags($_POST['name'])); + $token = trim($_POST['token']); + if(trim($_POST['expires'])) + $expires = datetime_convert(date_default_timezone_get(),'UTC',$_POST['expires']); + else + $expires = NULL_DATE; + + if($atoken_id) { + $r = q("update atoken set atoken_name = '%s', atoken_token = '%s' atoken_expire = '%s' + where atoken_id = %d and atoken_uid = %d", + dbesc($name), + dbesc($token), + dbesc($expires), + intval($atoken_id), + intval($channel['channel_id']) + ); + } + else { + $r = q("insert into atoken ( atoken_aid, atoken_uid, atoken_name, atoken_token, atoken_expire ) + values ( %d, %d, '%s', '%s', '%s' ) ", + intval($channel['channel_account_id']), + intval($channel['channel_id']), + dbesc($name), + dbesc($token), + dbesc($expires) + ); + } + + info( t('Token saved.') . EOL); + return; + } @@ -706,6 +743,45 @@ class Settings extends \Zotlabs\Web\Controller { )); return $o; } + + if((argc() > 1) && (argv(1) === 'tokens')) { + $atoken = null; + if(argc() > 2) { + $id = argv(2); + + $atoken = q("select * from atoken where atoken_id = %d and atoken_uid = %d", + intval($id), + intval(local_channel()) + ); + + if($atoken) + $atoken = $atoken[0]; + + if($atoken && argc() > 3 && argv(3) === 'drop') { + $r = q("delete from atoken where atoken_id = %d", + intval($id) + ); + } + } + $t = q("select * from atoken where atoken_uid = %d", + intval(local_channel()) + ); + + $tpl = get_markup_template("settings_tokens.tpl"); + $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("settings_tokens"), + '$title' => t('Guest Access Tokens'), + '$tokens' => $t, + '$atoken' => $atoken, + '$name' => array('name', t('Login Name'), (($atoken) ? $atoken['atoken_name'] : ''),''), + '$token'=> array('token', t('Login Password'),(($atoken) ? $atoken['atoken_token'] : autoname(8)), ''), + '$expires'=> array('expires', t('Expires (yyyy-mm-dd)'), (($atoken['atoken_expires'] && $atoken['atoken_expires'] != NULL_DATE) ? datetime_convert('UTC',date_default_timezone_get(),$atoken['atoken_expires']) : ''), ''), + '$submit' => t('Submit') + )); + return $o; + } + + diff --git a/include/widgets.php b/include/widgets.php index 2d4d5b799..da73657f5 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -609,6 +609,15 @@ function widget_settings_menu($arr) { 'selected' => ((argv(1) === 'oauth') ? 'active' : ''), ); + if(! UNO) { + $tabs[] = array( + 'label' => t('Guest Access Tokens'), + 'url' => z_root() . '/settings/tokens', + 'selected' => ((argv(1) === 'tokens') ? 'active' : ''), + ); + } + + if($role === false || $role === 'custom') { $tabs[] = array( 'label' => t('Connection Default Permissions'), diff --git a/view/tpl/settings_tokens.tpl b/view/tpl/settings_tokens.tpl new file mode 100644 index 000000000..8763a681c --- /dev/null +++ b/view/tpl/settings_tokens.tpl @@ -0,0 +1,28 @@ +
+
+

{{$title}}

+
+
+
+ + {{if $atoken}}{{/if}} +
+ {{include file="field_input.tpl" field=$name}} + {{include file="field_input.tpl" field=$token}} + {{include file="field_input.tpl" field=$expires}} +
+ +
+
+
+ {{if $tokens}} +
+ +
+ {{/if}} + +
-- cgit v1.2.3 From f666d8a0838efec0e05fcd9ea884eb6733cea3a8 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Fri, 15 Jul 2016 01:06:25 -0700 Subject: enforce non-empty name and token/password on access tokens until better checks are instituted. --- Zotlabs/Module/Settings.php | 25 +- util/hmessages.po | 3677 ++++++++++++++++++++++--------------------- 2 files changed, 1863 insertions(+), 1839 deletions(-) diff --git a/Zotlabs/Module/Settings.php b/Zotlabs/Module/Settings.php index 60c9be519..b1f6c8144 100644 --- a/Zotlabs/Module/Settings.php +++ b/Zotlabs/Module/Settings.php @@ -121,15 +121,22 @@ class Settings extends \Zotlabs\Web\Controller { if((argc() > 1) && (argv(1) == 'tokens')) { check_form_security_token_redirectOnErr('/settings/tokens', 'settings_tokens'); - - $atoken_id = (($_POST['atoken_id']) ? intval($_POST['atoken_id']) : 0); - $name = trim(escape_tags($_POST['name'])); - $token = trim($_POST['token']); - if(trim($_POST['expires'])) - $expires = datetime_convert(date_default_timezone_get(),'UTC',$_POST['expires']); - else - $expires = NULL_DATE; - + $token_errs = 0; + if(array_key_exists('token',$_POST)) { + $atoken_id = (($_POST['atoken_id']) ? intval($_POST['atoken_id']) : 0); + $name = trim(escape_tags($_POST['name'])); + $token = trim($_POST['token']); + if((! $name) || (! $token)) + $token_errs ++; + if(trim($_POST['expires'])) + $expires = datetime_convert(date_default_timezone_get(),'UTC',$_POST['expires']); + else + $expires = NULL_DATE; + } + if($token_errs) { + notice( t('Name and Token are required.') . EOL); + return; + } if($atoken_id) { $r = q("update atoken set atoken_name = '%s', atoken_token = '%s' atoken_expire = '%s' where atoken_id = %d and atoken_uid = %d", diff --git a/util/hmessages.po b/util/hmessages.po index 8ab5226e5..b076aadf8 100644 --- a/util/hmessages.po +++ b/util/hmessages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-07-08 00:02-0700\n" +"POT-Creation-Date: 2016-07-15 00:02-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,7 +21,7 @@ msgstr "" msgid "parent" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2609 +#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2613 msgid "Collection" msgstr "" @@ -45,17 +45,17 @@ msgstr "" msgid "Schedule Outbox" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798 -#: ../../Zotlabs/Module/Photos.php:1243 +#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:796 +#: ../../Zotlabs/Module/Photos.php:1241 #: ../../Zotlabs/Module/Embedphotos.php:147 ../../Zotlabs/Lib/Apps.php:490 -#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1035 -#: ../../include/widgets.php:1563 +#: ../../Zotlabs/Lib/Apps.php:565 ../../include/widgets.php:1594 +#: ../../include/conversation.php:1035 msgid "Unknown" msgstr "" #: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85 -#: ../../Zotlabs/Lib/Apps.php:217 ../../include/conversation.php:1654 -#: ../../include/nav.php:93 +#: ../../Zotlabs/Lib/Apps.php:217 ../../include/nav.php:93 +#: ../../include/conversation.php:1654 msgid "Files" msgstr "" @@ -70,21 +70,21 @@ msgstr "" #: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:306 #: ../../Zotlabs/Module/Layouts.php:184 ../../Zotlabs/Module/Menu.php:118 #: ../../Zotlabs/Module/New_channel.php:142 -#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Webpages.php:194 +#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Webpages.php:193 msgid "Create" msgstr "" #: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308 #: ../../Zotlabs/Module/Cover_photo.php:357 -#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364 +#: ../../Zotlabs/Module/Photos.php:823 ../../Zotlabs/Module/Photos.php:1362 #: ../../Zotlabs/Module/Profile_photo.php:390 -#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1576 +#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1607 msgid "Upload" msgstr "" #: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247 -#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592 -#: ../../Zotlabs/Module/Settings.php:618 +#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:627 +#: ../../Zotlabs/Module/Settings.php:653 #: ../../Zotlabs/Module/Sharedwithme.php:99 msgid "Name" msgstr "" @@ -94,7 +94,7 @@ msgid "Type" msgstr "" #: ../../Zotlabs/Storage/Browser.php:237 -#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1320 +#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1324 msgid "Size" msgstr "" @@ -107,27 +107,27 @@ msgstr "" #: ../../Zotlabs/Module/Connections.php:290 #: ../../Zotlabs/Module/Connections.php:310 #: ../../Zotlabs/Module/Editlayout.php:114 -#: ../../Zotlabs/Module/Editwebpage.php:146 +#: ../../Zotlabs/Module/Editwebpage.php:145 #: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Menu.php:112 #: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Blocks.php:160 #: ../../Zotlabs/Module/Editblock.php:109 -#: ../../Zotlabs/Module/Settings.php:652 ../../Zotlabs/Module/Thing.php:260 -#: ../../Zotlabs/Module/Webpages.php:195 ../../Zotlabs/Lib/Apps.php:341 +#: ../../Zotlabs/Module/Settings.php:687 ../../Zotlabs/Module/Thing.php:260 +#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/Apps.php:341 #: ../../Zotlabs/Lib/ThreadItem.php:106 ../../include/page_widgets.php:9 -#: ../../include/page_widgets.php:39 ../../include/menu.php:108 -#: ../../include/channel.php:961 ../../include/channel.php:965 +#: ../../include/page_widgets.php:39 ../../include/channel.php:961 +#: ../../include/channel.php:965 ../../include/menu.php:108 msgid "Edit" msgstr "" #: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Connedit.php:578 #: ../../Zotlabs/Module/Connections.php:263 #: ../../Zotlabs/Module/Editlayout.php:137 -#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177 -#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Admin.php:1039 +#: ../../Zotlabs/Module/Editwebpage.php:169 ../../Zotlabs/Module/Group.php:177 +#: ../../Zotlabs/Module/Photos.php:1171 ../../Zotlabs/Module/Admin.php:1039 #: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114 #: ../../Zotlabs/Module/Blocks.php:162 ../../Zotlabs/Module/Editblock.php:134 -#: ../../Zotlabs/Module/Settings.php:653 ../../Zotlabs/Module/Thing.php:261 -#: ../../Zotlabs/Module/Webpages.php:197 ../../Zotlabs/Lib/Apps.php:342 +#: ../../Zotlabs/Module/Settings.php:688 ../../Zotlabs/Module/Thing.php:261 +#: ../../Zotlabs/Module/Webpages.php:196 ../../Zotlabs/Lib/Apps.php:342 #: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:660 msgid "Delete" msgstr "" @@ -154,7 +154,7 @@ msgstr "" msgid "Upload file" msgstr "" -#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10 +#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Dreport.php:10 #: ../../Zotlabs/Module/Dreport.php:66 ../../Zotlabs/Module/Group.php:72 #: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:114 #: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62 @@ -162,10 +162,10 @@ msgstr "" msgid "Permission denied" msgstr "" -#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65 +#: ../../Zotlabs/Web/WebServer.php:128 ../../Zotlabs/Web/Router.php:65 #: ../../Zotlabs/Module/Achievements.php:34 #: ../../Zotlabs/Module/Connedit.php:366 ../../Zotlabs/Module/Id.php:76 -#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Events.php:265 +#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Events.php:264 #: ../../Zotlabs/Module/Bookmarks.php:61 ../../Zotlabs/Module/Editpost.php:17 #: ../../Zotlabs/Module/Page.php:35 ../../Zotlabs/Module/Page.php:91 #: ../../Zotlabs/Module/Connections.php:33 @@ -173,26 +173,26 @@ msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:290 ../../Zotlabs/Module/Chat.php:100 #: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Module/Editlayout.php:67 #: ../../Zotlabs/Module/Editlayout.php:90 -#: ../../Zotlabs/Module/Editwebpage.php:69 -#: ../../Zotlabs/Module/Editwebpage.php:90 -#: ../../Zotlabs/Module/Editwebpage.php:105 -#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13 +#: ../../Zotlabs/Module/Editwebpage.php:68 +#: ../../Zotlabs/Module/Editwebpage.php:89 +#: ../../Zotlabs/Module/Editwebpage.php:104 +#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Group.php:13 #: ../../Zotlabs/Module/Appman.php:75 ../../Zotlabs/Module/Pdledit.php:26 -#: ../../Zotlabs/Module/Filestorage.php:24 -#: ../../Zotlabs/Module/Filestorage.php:79 -#: ../../Zotlabs/Module/Filestorage.php:94 -#: ../../Zotlabs/Module/Filestorage.php:121 +#: ../../Zotlabs/Module/Filestorage.php:23 +#: ../../Zotlabs/Module/Filestorage.php:78 +#: ../../Zotlabs/Module/Filestorage.php:93 +#: ../../Zotlabs/Module/Filestorage.php:120 #: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78 #: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Like.php:181 #: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601 #: ../../Zotlabs/Module/Item.php:211 ../../Zotlabs/Module/Item.php:219 -#: ../../Zotlabs/Module/Item.php:1072 ../../Zotlabs/Module/Photos.php:75 +#: ../../Zotlabs/Module/Item.php:1067 ../../Zotlabs/Module/Photos.php:73 #: ../../Zotlabs/Module/Invite.php:17 ../../Zotlabs/Module/Invite.php:91 #: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Mail.php:129 #: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Menu.php:78 #: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mood.php:116 -#: ../../Zotlabs/Module/Network.php:17 ../../Zotlabs/Module/Channel.php:105 -#: ../../Zotlabs/Module/Channel.php:226 ../../Zotlabs/Module/Channel.php:267 +#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Channel.php:104 +#: ../../Zotlabs/Module/Channel.php:225 ../../Zotlabs/Module/Channel.php:266 #: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77 #: ../../Zotlabs/Module/New_channel.php:104 #: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Poke.php:137 @@ -205,22 +205,22 @@ msgstr "" #: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Register.php:77 #: ../../Zotlabs/Module/Regmod.php:21 #: ../../Zotlabs/Module/Service_limits.php:11 -#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215 +#: ../../Zotlabs/Module/Settings.php:607 ../../Zotlabs/Module/Setup.php:215 #: ../../Zotlabs/Module/Sharedwithme.php:11 ../../Zotlabs/Module/Thing.php:274 #: ../../Zotlabs/Module/Thing.php:294 ../../Zotlabs/Module/Thing.php:331 #: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30 -#: ../../Zotlabs/Module/Webpages.php:74 +#: ../../Zotlabs/Module/Webpages.php:73 #: ../../Zotlabs/Module/Viewconnections.php:28 #: ../../Zotlabs/Module/Viewconnections.php:33 #: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Api.php:13 #: ../../Zotlabs/Module/Api.php:18 ../../Zotlabs/Lib/Chatroom.php:137 -#: ../../include/photos.php:27 ../../include/attach.php:141 -#: ../../include/attach.php:189 ../../include/attach.php:252 -#: ../../include/attach.php:266 ../../include/attach.php:273 -#: ../../include/attach.php:338 ../../include/attach.php:352 -#: ../../include/attach.php:359 ../../include/attach.php:439 -#: ../../include/attach.php:901 ../../include/attach.php:972 -#: ../../include/attach.php:1124 ../../include/items.php:3449 +#: ../../include/photos.php:27 ../../include/items.php:3449 +#: ../../include/attach.php:141 ../../include/attach.php:189 +#: ../../include/attach.php:252 ../../include/attach.php:266 +#: ../../include/attach.php:273 ../../include/attach.php:338 +#: ../../include/attach.php:352 ../../include/attach.php:359 +#: ../../include/attach.php:439 ../../include/attach.php:901 +#: ../../include/attach.php:972 ../../include/attach.php:1124 msgid "Permission denied." msgstr "" @@ -248,10 +248,10 @@ msgstr "" #: ../../Zotlabs/Module/Achievements.php:15 #: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editlayout.php:31 -#: ../../Zotlabs/Module/Editwebpage.php:33 ../../Zotlabs/Module/Hcard.php:12 -#: ../../Zotlabs/Module/Filestorage.php:60 ../../Zotlabs/Module/Layouts.php:31 +#: ../../Zotlabs/Module/Editwebpage.php:32 ../../Zotlabs/Module/Hcard.php:12 +#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Layouts.php:31 #: ../../Zotlabs/Module/Profile.php:20 ../../Zotlabs/Module/Blocks.php:33 -#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Webpages.php:34 +#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Webpages.php:33 #: ../../include/channel.php:861 msgid "Requested profile is not available." msgstr "" @@ -289,32 +289,32 @@ msgid "is now connected to" msgstr "" #: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:660 -#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460 -#: ../../Zotlabs/Module/Events.php:469 -#: ../../Zotlabs/Module/Filestorage.php:157 -#: ../../Zotlabs/Module/Filestorage.php:165 -#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Photos.php:666 +#: ../../Zotlabs/Module/Events.php:458 ../../Zotlabs/Module/Events.php:459 +#: ../../Zotlabs/Module/Events.php:468 +#: ../../Zotlabs/Module/Filestorage.php:156 +#: ../../Zotlabs/Module/Filestorage.php:164 +#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Photos.php:664 #: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157 #: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:159 #: ../../Zotlabs/Module/Mitem.php:232 ../../Zotlabs/Module/Mitem.php:233 #: ../../Zotlabs/Module/Admin.php:459 ../../Zotlabs/Module/Removeme.php:61 -#: ../../Zotlabs/Module/Settings.php:581 ../../Zotlabs/Module/Api.php:89 +#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Module/Api.php:89 #: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144 #: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105 #: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1708 msgid "No" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459 -#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469 -#: ../../Zotlabs/Module/Filestorage.php:157 -#: ../../Zotlabs/Module/Filestorage.php:165 -#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Photos.php:666 +#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:458 +#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:468 +#: ../../Zotlabs/Module/Filestorage.php:156 +#: ../../Zotlabs/Module/Filestorage.php:164 +#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Photos.php:664 #: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157 #: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:159 #: ../../Zotlabs/Module/Mitem.php:232 ../../Zotlabs/Module/Mitem.php:233 #: ../../Zotlabs/Module/Admin.php:461 ../../Zotlabs/Module/Removeme.php:61 -#: ../../Zotlabs/Module/Settings.php:581 ../../Zotlabs/Module/Api.php:88 +#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Module/Api.php:88 #: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144 #: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105 #: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1708 @@ -340,7 +340,7 @@ msgid "Connection has been removed." msgstr "" #: ../../Zotlabs/Module/Connedit.php:525 ../../Zotlabs/Lib/Apps.php:221 -#: ../../include/conversation.php:957 ../../include/nav.php:86 +#: ../../include/nav.php:86 ../../include/conversation.php:957 msgid "View Profile" msgstr "" @@ -444,12 +444,12 @@ msgstr "" msgid "Family" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:598 ../../Zotlabs/Module/Settings.php:342 -#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347 -#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361 -#: ../../include/selectors.php:123 ../../include/widgets.php:495 -#: ../../include/channel.php:389 ../../include/channel.php:390 -#: ../../include/channel.php:397 +#: ../../Zotlabs/Module/Connedit.php:598 ../../Zotlabs/Module/Settings.php:377 +#: ../../Zotlabs/Module/Settings.php:381 ../../Zotlabs/Module/Settings.php:382 +#: ../../Zotlabs/Module/Settings.php:385 ../../Zotlabs/Module/Settings.php:396 +#: ../../include/widgets.php:495 ../../include/channel.php:389 +#: ../../include/channel.php:390 ../../include/channel.php:397 +#: ../../include/selectors.php:123 msgid "Friends" msgstr "" @@ -487,7 +487,7 @@ msgstr "" msgid "none" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:708 ../../include/widgets.php:614 +#: ../../Zotlabs/Module/Connedit.php:708 ../../include/widgets.php:623 msgid "Connection Default Permissions" msgstr "" @@ -570,14 +570,14 @@ msgid "inherited" msgstr "" #: ../../Zotlabs/Module/Connedit.php:737 ../../Zotlabs/Module/Connect.php:98 -#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Cal.php:338 +#: ../../Zotlabs/Module/Events.php:474 ../../Zotlabs/Module/Cal.php:338 #: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:238 #: ../../Zotlabs/Module/Group.php:85 ../../Zotlabs/Module/Appman.php:126 #: ../../Zotlabs/Module/Pdledit.php:66 -#: ../../Zotlabs/Module/Filestorage.php:162 +#: ../../Zotlabs/Module/Filestorage.php:161 #: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Import.php:551 -#: ../../Zotlabs/Module/Photos.php:677 ../../Zotlabs/Module/Photos.php:1052 -#: ../../Zotlabs/Module/Photos.php:1092 ../../Zotlabs/Module/Photos.php:1210 +#: ../../Zotlabs/Module/Photos.php:675 ../../Zotlabs/Module/Photos.php:1050 +#: ../../Zotlabs/Module/Photos.php:1090 ../../Zotlabs/Module/Photos.php:1208 #: ../../Zotlabs/Module/Import_items.php:122 #: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121 #: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139 @@ -587,15 +587,16 @@ msgstr "" #: ../../Zotlabs/Module/Admin.php:1421 ../../Zotlabs/Module/Admin.php:1648 #: ../../Zotlabs/Module/Admin.php:1733 ../../Zotlabs/Module/Admin.php:2116 #: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Pconfig.php:107 -#: ../../Zotlabs/Module/Rate.php:170 ../../Zotlabs/Module/Settings.php:590 -#: ../../Zotlabs/Module/Settings.php:703 ../../Zotlabs/Module/Settings.php:731 -#: ../../Zotlabs/Module/Settings.php:754 ../../Zotlabs/Module/Settings.php:842 -#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312 +#: ../../Zotlabs/Module/Rate.php:170 ../../Zotlabs/Module/Settings.php:625 +#: ../../Zotlabs/Module/Settings.php:738 ../../Zotlabs/Module/Settings.php:779 +#: ../../Zotlabs/Module/Settings.php:805 ../../Zotlabs/Module/Settings.php:828 +#: ../../Zotlabs/Module/Settings.php:916 +#: ../../Zotlabs/Module/Settings.php:1108 ../../Zotlabs/Module/Setup.php:312 #: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Thing.php:316 #: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Sources.php:114 #: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Xchan.php:15 -#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/js_strings.php:22 -#: ../../include/widgets.php:754 ../../view/theme/redbasic/php/config.php:99 +#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/widgets.php:763 +#: ../../include/js_strings.php:22 ../../view/theme/redbasic/php/config.php:99 msgid "Submit" msgstr "" @@ -638,13 +639,13 @@ msgid "Last update:" msgstr "" #: ../../Zotlabs/Module/Display.php:17 ../../Zotlabs/Module/Directory.php:63 -#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86 +#: ../../Zotlabs/Module/Photos.php:520 ../../Zotlabs/Module/Ratings.php:86 #: ../../Zotlabs/Module/Search.php:17 #: ../../Zotlabs/Module/Viewconnections.php:23 msgid "Public access denied." msgstr "" -#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33 +#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:32 #: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255 #: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89 #: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3370 @@ -771,9 +772,9 @@ msgstr "" msgid "Age:" msgstr "" -#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52 -#: ../../include/event.php:84 ../../include/bb2diaspora.php:507 -#: ../../include/channel.php:1051 +#: ../../Zotlabs/Module/Directory.php:311 ../../include/channel.php:1051 +#: ../../include/event.php:52 ../../include/event.php:84 +#: ../../include/bb2diaspora.php:507 msgid "Location:" msgstr "" @@ -790,9 +791,9 @@ msgid "About:" msgstr "" #: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68 -#: ../../Zotlabs/Module/Suggest.php:56 ../../include/conversation.php:959 -#: ../../include/connections.php:78 ../../include/widgets.php:147 +#: ../../Zotlabs/Module/Suggest.php:56 ../../include/widgets.php:147 #: ../../include/widgets.php:184 ../../include/channel.php:1036 +#: ../../include/conversation.php:959 ../../include/connections.php:78 msgid "Connect" msgstr "" @@ -911,203 +912,203 @@ msgstr "" msgid "Restricted or Premium Channel" msgstr "" -#: ../../Zotlabs/Module/Events.php:26 +#: ../../Zotlabs/Module/Events.php:25 msgid "Calendar entries imported." msgstr "" -#: ../../Zotlabs/Module/Events.php:28 +#: ../../Zotlabs/Module/Events.php:27 msgid "No calendar entries found." msgstr "" -#: ../../Zotlabs/Module/Events.php:105 +#: ../../Zotlabs/Module/Events.php:104 msgid "Event can not end before it has started." msgstr "" -#: ../../Zotlabs/Module/Events.php:107 ../../Zotlabs/Module/Events.php:116 -#: ../../Zotlabs/Module/Events.php:136 +#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115 +#: ../../Zotlabs/Module/Events.php:135 msgid "Unable to generate preview." msgstr "" -#: ../../Zotlabs/Module/Events.php:114 +#: ../../Zotlabs/Module/Events.php:113 msgid "Event title and start time are required." msgstr "" -#: ../../Zotlabs/Module/Events.php:134 ../../Zotlabs/Module/Events.php:259 +#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258 msgid "Event not found." msgstr "" -#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373 -#: ../../Zotlabs/Module/Tagger.php:51 ../../include/conversation.php:123 -#: ../../include/event.php:949 ../../include/text.php:1920 +#: ../../Zotlabs/Module/Events.php:253 ../../Zotlabs/Module/Like.php:373 +#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:949 +#: ../../include/conversation.php:123 ../../include/text.php:1924 msgid "event" msgstr "" -#: ../../Zotlabs/Module/Events.php:449 +#: ../../Zotlabs/Module/Events.php:448 msgid "Edit event title" msgstr "" -#: ../../Zotlabs/Module/Events.php:449 +#: ../../Zotlabs/Module/Events.php:448 msgid "Event title" msgstr "" -#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454 +#: ../../Zotlabs/Module/Events.php:448 ../../Zotlabs/Module/Events.php:453 #: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116 #: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713 #: ../../include/datetime.php:245 msgid "Required" msgstr "" -#: ../../Zotlabs/Module/Events.php:451 +#: ../../Zotlabs/Module/Events.php:450 msgid "Categories (comma-separated list)" msgstr "" -#: ../../Zotlabs/Module/Events.php:452 +#: ../../Zotlabs/Module/Events.php:451 msgid "Edit Category" msgstr "" -#: ../../Zotlabs/Module/Events.php:452 +#: ../../Zotlabs/Module/Events.php:451 msgid "Category" msgstr "" -#: ../../Zotlabs/Module/Events.php:455 +#: ../../Zotlabs/Module/Events.php:454 msgid "Edit start date and time" msgstr "" -#: ../../Zotlabs/Module/Events.php:455 +#: ../../Zotlabs/Module/Events.php:454 msgid "Start date and time" msgstr "" -#: ../../Zotlabs/Module/Events.php:456 ../../Zotlabs/Module/Events.php:459 +#: ../../Zotlabs/Module/Events.php:455 ../../Zotlabs/Module/Events.php:458 msgid "Finish date and time are not known or not relevant" msgstr "" -#: ../../Zotlabs/Module/Events.php:458 +#: ../../Zotlabs/Module/Events.php:457 msgid "Edit finish date and time" msgstr "" -#: ../../Zotlabs/Module/Events.php:458 +#: ../../Zotlabs/Module/Events.php:457 msgid "Finish date and time" msgstr "" -#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:461 +#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460 msgid "Adjust for viewer timezone" msgstr "" -#: ../../Zotlabs/Module/Events.php:460 +#: ../../Zotlabs/Module/Events.php:459 msgid "" "Important for events that happen in a particular place. Not practical for " "global holidays." msgstr "" -#: ../../Zotlabs/Module/Events.php:462 +#: ../../Zotlabs/Module/Events.php:461 msgid "Edit Description" msgstr "" -#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117 +#: ../../Zotlabs/Module/Events.php:461 ../../Zotlabs/Module/Appman.php:117 #: ../../Zotlabs/Module/Rbmark.php:101 msgid "Description" msgstr "" -#: ../../Zotlabs/Module/Events.php:464 +#: ../../Zotlabs/Module/Events.php:463 msgid "Edit Location" msgstr "" -#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Profiles.php:477 +#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Profiles.php:477 #: ../../Zotlabs/Module/Profiles.php:698 ../../Zotlabs/Module/Locs.php:117 #: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25 msgid "Location" msgstr "" -#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:469 +#: ../../Zotlabs/Module/Events.php:466 ../../Zotlabs/Module/Events.php:468 msgid "Share this event" msgstr "" -#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093 -#: ../../Zotlabs/Module/Webpages.php:202 ../../Zotlabs/Lib/ThreadItem.php:719 -#: ../../include/conversation.php:1198 ../../include/page_widgets.php:43 +#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Photos.php:1091 +#: ../../Zotlabs/Module/Webpages.php:201 ../../Zotlabs/Lib/ThreadItem.php:719 +#: ../../include/page_widgets.php:43 ../../include/conversation.php:1198 msgid "Preview" msgstr "" -#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1247 +#: ../../Zotlabs/Module/Events.php:470 ../../include/conversation.php:1247 msgid "Permission settings" msgstr "" -#: ../../Zotlabs/Module/Events.php:476 +#: ../../Zotlabs/Module/Events.php:475 msgid "Advanced Options" msgstr "" -#: ../../Zotlabs/Module/Events.php:588 ../../Zotlabs/Module/Cal.php:259 +#: ../../Zotlabs/Module/Events.php:587 ../../Zotlabs/Module/Cal.php:259 msgid "l, F j" msgstr "" -#: ../../Zotlabs/Module/Events.php:610 +#: ../../Zotlabs/Module/Events.php:609 msgid "Edit event" msgstr "" -#: ../../Zotlabs/Module/Events.php:612 +#: ../../Zotlabs/Module/Events.php:611 msgid "Delete event" msgstr "" -#: ../../Zotlabs/Module/Events.php:637 ../../Zotlabs/Module/Cal.php:308 -#: ../../include/text.php:1708 +#: ../../Zotlabs/Module/Events.php:636 ../../Zotlabs/Module/Cal.php:308 +#: ../../include/text.php:1712 msgid "Link to Source" msgstr "" -#: ../../Zotlabs/Module/Events.php:646 +#: ../../Zotlabs/Module/Events.php:645 msgid "calendar" msgstr "" -#: ../../Zotlabs/Module/Events.php:665 ../../Zotlabs/Module/Cal.php:331 +#: ../../Zotlabs/Module/Events.php:664 ../../Zotlabs/Module/Cal.php:331 msgid "Edit Event" msgstr "" -#: ../../Zotlabs/Module/Events.php:665 ../../Zotlabs/Module/Cal.php:331 +#: ../../Zotlabs/Module/Events.php:664 ../../Zotlabs/Module/Cal.php:331 msgid "Create Event" msgstr "" -#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:675 +#: ../../Zotlabs/Module/Events.php:665 ../../Zotlabs/Module/Events.php:674 #: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339 -#: ../../Zotlabs/Module/Photos.php:949 +#: ../../Zotlabs/Module/Photos.php:947 msgid "Previous" msgstr "" -#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:676 +#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:675 #: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340 -#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:267 +#: ../../Zotlabs/Module/Photos.php:956 ../../Zotlabs/Module/Setup.php:267 msgid "Next" msgstr "" -#: ../../Zotlabs/Module/Events.php:668 ../../Zotlabs/Module/Cal.php:334 +#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Cal.php:334 msgid "Export" msgstr "" -#: ../../Zotlabs/Module/Events.php:671 ../../Zotlabs/Module/Layouts.php:197 +#: ../../Zotlabs/Module/Events.php:670 ../../Zotlabs/Module/Layouts.php:197 #: ../../Zotlabs/Module/Pubsites.php:47 ../../Zotlabs/Module/Blocks.php:166 -#: ../../Zotlabs/Module/Webpages.php:201 ../../include/page_widgets.php:42 +#: ../../Zotlabs/Module/Webpages.php:200 ../../include/page_widgets.php:42 msgid "View" msgstr "" -#: ../../Zotlabs/Module/Events.php:672 +#: ../../Zotlabs/Module/Events.php:671 msgid "Month" msgstr "" -#: ../../Zotlabs/Module/Events.php:673 +#: ../../Zotlabs/Module/Events.php:672 msgid "Week" msgstr "" -#: ../../Zotlabs/Module/Events.php:674 +#: ../../Zotlabs/Module/Events.php:673 msgid "Day" msgstr "" -#: ../../Zotlabs/Module/Events.php:677 ../../Zotlabs/Module/Cal.php:341 +#: ../../Zotlabs/Module/Events.php:676 ../../Zotlabs/Module/Cal.php:341 msgid "Today" msgstr "" -#: ../../Zotlabs/Module/Events.php:708 +#: ../../Zotlabs/Module/Events.php:707 msgid "Event removed" msgstr "" -#: ../../Zotlabs/Module/Events.php:711 +#: ../../Zotlabs/Module/Events.php:710 msgid "Failed to remove event" msgstr "" @@ -1124,7 +1125,7 @@ msgid "My Connections Bookmarks" msgstr "" #: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79 -#: ../../Zotlabs/Module/Editwebpage.php:81 +#: ../../Zotlabs/Module/Editwebpage.php:80 #: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95 msgid "Item not found" msgstr "" @@ -1133,18 +1134,18 @@ msgstr "" msgid "Item is not editable" msgstr "" -#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:135 +#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:134 msgid "Edit post" msgstr "" #: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222 -#: ../../include/conversation.php:1647 ../../include/nav.php:92 +#: ../../include/nav.php:92 ../../include/conversation.php:1647 msgid "Photos" msgstr "" #: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88 -#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:591 -#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15 +#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:626 +#: ../../Zotlabs/Module/Settings.php:652 ../../Zotlabs/Module/Tagrm.php:15 #: ../../Zotlabs/Module/Tagrm.php:138 ../../Zotlabs/Module/Wiki.php:166 #: ../../Zotlabs/Module/Wiki.php:202 ../../include/conversation.php:1235 #: ../../include/conversation.php:1274 @@ -1181,7 +1182,7 @@ msgstr "" #: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033 #: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32 #: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:201 -#: ../../include/text.php:922 ../../include/text.php:934 +#: ../../include/text.php:926 ../../include/text.php:938 msgid "Save" msgstr "" @@ -1299,14 +1300,14 @@ msgid "Recent activity" msgstr "" #: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:209 -#: ../../include/nav.php:188 ../../include/text.php:851 +#: ../../include/nav.php:188 ../../include/text.php:855 msgid "Connections" msgstr "" #: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44 -#: ../../Zotlabs/Lib/Apps.php:230 ../../include/acl_selectors.php:276 -#: ../../include/nav.php:167 ../../include/text.php:921 -#: ../../include/text.php:933 +#: ../../Zotlabs/Lib/Apps.php:230 ../../include/nav.php:167 +#: ../../include/acl_selectors.php:274 ../../include/text.php:925 +#: ../../include/text.php:937 msgid "Search" msgstr "" @@ -1348,30 +1349,30 @@ msgstr "" msgid "Unable to process image." msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4297 +#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4284 msgid "female" msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4298 +#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4285 #, php-format msgid "%1$s updated her %2$s" msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4299 +#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4286 msgid "male" msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4300 +#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4287 #, php-format msgid "%1$s updated his %2$s" msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4302 +#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4289 #, php-format msgid "%1$s updated their %2$s" msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1687 +#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1708 msgid "cover photo" msgstr "" @@ -1398,7 +1399,7 @@ msgstr "" #: ../../Zotlabs/Module/Cover_photo.php:361 #: ../../Zotlabs/Module/Profile_photo.php:396 -#: ../../Zotlabs/Module/Settings.php:985 +#: ../../Zotlabs/Module/Settings.php:1059 msgid "or" msgstr "" @@ -1469,7 +1470,7 @@ msgstr "" msgid "This directory server requires an access token" msgstr "" -#: ../../Zotlabs/Module/Chat.php:25 ../../Zotlabs/Module/Channel.php:29 +#: ../../Zotlabs/Module/Chat.php:25 ../../Zotlabs/Module/Channel.php:28 #: ../../Zotlabs/Module/Wiki.php:20 msgid "You must be logged in to see this page." msgstr "" @@ -1509,7 +1510,7 @@ msgstr "" msgid "Encrypt text" msgstr "" -#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editwebpage.php:147 +#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editwebpage.php:146 #: ../../Zotlabs/Module/Mail.php:252 ../../Zotlabs/Module/Mail.php:377 #: ../../Zotlabs/Module/Editblock.php:111 ../../include/conversation.php:1146 msgid "Insert web link" @@ -1531,10 +1532,10 @@ msgstr "" msgid "Expiration of chats (minutes)" msgstr "" -#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:153 -#: ../../Zotlabs/Module/Photos.php:671 ../../Zotlabs/Module/Photos.php:1045 +#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:152 +#: ../../Zotlabs/Module/Photos.php:669 ../../Zotlabs/Module/Photos.php:1043 #: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359 -#: ../../include/acl_selectors.php:283 +#: ../../include/acl_selectors.php:281 msgid "Permissions" msgstr "" @@ -1639,11 +1640,11 @@ msgstr "" msgid "Edit Layout" msgstr "" -#: ../../Zotlabs/Module/Editwebpage.php:143 +#: ../../Zotlabs/Module/Editwebpage.php:142 msgid "Page link" msgstr "" -#: ../../Zotlabs/Module/Editwebpage.php:169 +#: ../../Zotlabs/Module/Editwebpage.php:168 msgid "Edit Webpage" msgstr "" @@ -1803,59 +1804,59 @@ msgstr "" msgid "Activate the Firefox $Projectname provider" msgstr "" -#: ../../Zotlabs/Module/Acl.php:227 +#: ../../Zotlabs/Module/Acl.php:288 msgid "network" msgstr "" -#: ../../Zotlabs/Module/Acl.php:237 +#: ../../Zotlabs/Module/Acl.php:298 msgid "RSS" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:88 +#: ../../Zotlabs/Module/Filestorage.php:87 msgid "Permission Denied." msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:104 +#: ../../Zotlabs/Module/Filestorage.php:103 msgid "File not found." msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:147 +#: ../../Zotlabs/Module/Filestorage.php:146 msgid "Edit file permissions" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:156 +#: ../../Zotlabs/Module/Filestorage.php:155 msgid "Set/edit permissions" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:157 +#: ../../Zotlabs/Module/Filestorage.php:156 msgid "Include all files and sub folders" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:158 +#: ../../Zotlabs/Module/Filestorage.php:157 msgid "Return to file list" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:160 +#: ../../Zotlabs/Module/Filestorage.php:159 msgid "Copy/paste this code to attach file to a post" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:161 +#: ../../Zotlabs/Module/Filestorage.php:160 msgid "Copy/paste this URL to link file from a web page" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:163 +#: ../../Zotlabs/Module/Filestorage.php:162 msgid "Share this file" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:164 +#: ../../Zotlabs/Module/Filestorage.php:163 msgid "Show URL to this file" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:165 +#: ../../Zotlabs/Module/Filestorage.php:164 msgid "Notify your contacts about this file" msgstr "" -#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2244 +#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2248 msgid "Layouts" msgstr "" @@ -1868,19 +1869,19 @@ msgid "Layout Description" msgstr "" #: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:114 -#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Webpages.php:206 +#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Webpages.php:205 #: ../../include/page_widgets.php:47 msgid "Created" msgstr "" #: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Menu.php:115 -#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Webpages.php:207 +#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Webpages.php:206 #: ../../include/page_widgets.php:48 msgid "Edited" msgstr "" -#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Photos.php:1072 -#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Webpages.php:196 +#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Photos.php:1070 +#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Webpages.php:195 #: ../../include/conversation.php:1219 msgid "Share" msgstr "" @@ -1926,12 +1927,12 @@ msgstr "" #: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87 #: ../../Zotlabs/Module/Tagger.php:47 ../../include/conversation.php:120 -#: ../../include/text.php:1917 +#: ../../include/text.php:1921 msgid "photo" msgstr "" #: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87 -#: ../../include/conversation.php:148 ../../include/text.php:1923 +#: ../../include/conversation.php:148 ../../include/text.php:1927 msgid "status" msgstr "" @@ -2106,8 +2107,8 @@ msgstr "" msgid "Add profile things" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1541 -#: ../../include/widgets.php:105 +#: ../../Zotlabs/Module/Profiles.php:697 ../../include/widgets.php:105 +#: ../../include/conversation.php:1541 msgid "Personal" msgstr "" @@ -2382,25 +2383,25 @@ msgstr "" msgid "System error. Post not saved." msgstr "" -#: ../../Zotlabs/Module/Item.php:1243 +#: ../../Zotlabs/Module/Item.php:1238 msgid "Unable to obtain post information from database." msgstr "" -#: ../../Zotlabs/Module/Item.php:1250 +#: ../../Zotlabs/Module/Item.php:1245 #, php-format msgid "You have reached your limit of %1$.0f top level posts." msgstr "" -#: ../../Zotlabs/Module/Item.php:1257 +#: ../../Zotlabs/Module/Item.php:1252 #, php-format msgid "You have reached your limit of %1$.0f webpages." msgstr "" -#: ../../Zotlabs/Module/Photos.php:84 +#: ../../Zotlabs/Module/Photos.php:82 msgid "Page owner information could not be retrieved." msgstr "" -#: ../../Zotlabs/Module/Photos.php:99 ../../Zotlabs/Module/Photos.php:743 +#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:741 #: ../../Zotlabs/Module/Profile_photo.php:115 #: ../../Zotlabs/Module/Profile_photo.php:212 #: ../../Zotlabs/Module/Profile_photo.php:311 @@ -2408,237 +2409,237 @@ msgstr "" msgid "Profile Photos" msgstr "" -#: ../../Zotlabs/Module/Photos.php:105 ../../Zotlabs/Module/Photos.php:149 +#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:147 msgid "Album not found." msgstr "" -#: ../../Zotlabs/Module/Photos.php:132 +#: ../../Zotlabs/Module/Photos.php:130 msgid "Delete Album" msgstr "" -#: ../../Zotlabs/Module/Photos.php:153 +#: ../../Zotlabs/Module/Photos.php:151 msgid "" "Multiple storage folders exist with this album name, but within different " "directories. Please remove the desired folder or folders using the Files " "manager" msgstr "" -#: ../../Zotlabs/Module/Photos.php:210 ../../Zotlabs/Module/Photos.php:1053 +#: ../../Zotlabs/Module/Photos.php:208 ../../Zotlabs/Module/Photos.php:1051 msgid "Delete Photo" msgstr "" -#: ../../Zotlabs/Module/Photos.php:533 +#: ../../Zotlabs/Module/Photos.php:531 msgid "No photos selected" msgstr "" -#: ../../Zotlabs/Module/Photos.php:582 +#: ../../Zotlabs/Module/Photos.php:580 msgid "Access to this item is restricted." msgstr "" -#: ../../Zotlabs/Module/Photos.php:621 +#: ../../Zotlabs/Module/Photos.php:619 #, php-format msgid "%1$.2f MB of %2$.2f MB photo storage used." msgstr "" -#: ../../Zotlabs/Module/Photos.php:624 +#: ../../Zotlabs/Module/Photos.php:622 #, php-format msgid "%1$.2f MB photo storage used." msgstr "" -#: ../../Zotlabs/Module/Photos.php:660 +#: ../../Zotlabs/Module/Photos.php:658 msgid "Upload Photos" msgstr "" -#: ../../Zotlabs/Module/Photos.php:664 +#: ../../Zotlabs/Module/Photos.php:662 msgid "Enter an album name" msgstr "" -#: ../../Zotlabs/Module/Photos.php:665 +#: ../../Zotlabs/Module/Photos.php:663 msgid "or select an existing album (doubleclick)" msgstr "" -#: ../../Zotlabs/Module/Photos.php:666 +#: ../../Zotlabs/Module/Photos.php:664 msgid "Create a status post for this upload" msgstr "" -#: ../../Zotlabs/Module/Photos.php:667 +#: ../../Zotlabs/Module/Photos.php:665 msgid "Caption (optional):" msgstr "" -#: ../../Zotlabs/Module/Photos.php:668 +#: ../../Zotlabs/Module/Photos.php:666 msgid "Description (optional):" msgstr "" -#: ../../Zotlabs/Module/Photos.php:695 +#: ../../Zotlabs/Module/Photos.php:693 msgid "Album name could not be decoded" msgstr "" -#: ../../Zotlabs/Module/Photos.php:743 +#: ../../Zotlabs/Module/Photos.php:741 msgid "Contact Photos" msgstr "" -#: ../../Zotlabs/Module/Photos.php:766 +#: ../../Zotlabs/Module/Photos.php:764 msgid "Show Newest First" msgstr "" -#: ../../Zotlabs/Module/Photos.php:768 +#: ../../Zotlabs/Module/Photos.php:766 msgid "Show Oldest First" msgstr "" -#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331 -#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1557 +#: ../../Zotlabs/Module/Photos.php:790 ../../Zotlabs/Module/Photos.php:1329 +#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1588 msgid "View Photo" msgstr "" -#: ../../Zotlabs/Module/Photos.php:823 -#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1574 +#: ../../Zotlabs/Module/Photos.php:821 +#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1605 msgid "Edit Album" msgstr "" -#: ../../Zotlabs/Module/Photos.php:870 +#: ../../Zotlabs/Module/Photos.php:868 msgid "Permission denied. Access to this item may be restricted." msgstr "" -#: ../../Zotlabs/Module/Photos.php:872 +#: ../../Zotlabs/Module/Photos.php:870 msgid "Photo not available" msgstr "" -#: ../../Zotlabs/Module/Photos.php:930 +#: ../../Zotlabs/Module/Photos.php:928 msgid "Use as profile photo" msgstr "" -#: ../../Zotlabs/Module/Photos.php:931 +#: ../../Zotlabs/Module/Photos.php:929 msgid "Use as cover photo" msgstr "" -#: ../../Zotlabs/Module/Photos.php:938 +#: ../../Zotlabs/Module/Photos.php:936 msgid "Private Photo" msgstr "" -#: ../../Zotlabs/Module/Photos.php:953 +#: ../../Zotlabs/Module/Photos.php:951 msgid "View Full Size" msgstr "" -#: ../../Zotlabs/Module/Photos.php:998 ../../Zotlabs/Module/Admin.php:1437 +#: ../../Zotlabs/Module/Photos.php:996 ../../Zotlabs/Module/Admin.php:1437 #: ../../Zotlabs/Module/Tagrm.php:137 msgid "Remove" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1032 +#: ../../Zotlabs/Module/Photos.php:1030 msgid "Edit photo" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1034 +#: ../../Zotlabs/Module/Photos.php:1032 msgid "Rotate CW (right)" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1035 +#: ../../Zotlabs/Module/Photos.php:1033 msgid "Rotate CCW (left)" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1038 +#: ../../Zotlabs/Module/Photos.php:1036 msgid "Enter a new album name" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1039 +#: ../../Zotlabs/Module/Photos.php:1037 msgid "or select an existing one (doubleclick)" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1042 +#: ../../Zotlabs/Module/Photos.php:1040 msgid "Caption" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1044 +#: ../../Zotlabs/Module/Photos.php:1042 msgid "Add a Tag" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1048 +#: ../../Zotlabs/Module/Photos.php:1046 msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1051 +#: ../../Zotlabs/Module/Photos.php:1049 msgid "Flag as adult in album view" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261 +#: ../../Zotlabs/Module/Photos.php:1068 ../../Zotlabs/Lib/ThreadItem.php:261 msgid "I like this (toggle)" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262 +#: ../../Zotlabs/Module/Photos.php:1069 ../../Zotlabs/Lib/ThreadItem.php:262 msgid "I don't like this (toggle)" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397 +#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:397 #: ../../include/conversation.php:743 msgid "Please wait" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207 +#: ../../Zotlabs/Module/Photos.php:1087 ../../Zotlabs/Module/Photos.php:1205 #: ../../Zotlabs/Lib/ThreadItem.php:707 msgid "This is you" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209 +#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207 #: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6 msgid "Comment" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:577 +#: ../../Zotlabs/Module/Photos.php:1105 ../../include/conversation.php:577 msgctxt "title" msgid "Likes" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:577 +#: ../../Zotlabs/Module/Photos.php:1105 ../../include/conversation.php:577 msgctxt "title" msgid "Dislikes" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:578 +#: ../../Zotlabs/Module/Photos.php:1106 ../../include/conversation.php:578 msgctxt "title" msgid "Agree" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:578 +#: ../../Zotlabs/Module/Photos.php:1106 ../../include/conversation.php:578 msgctxt "title" msgid "Disagree" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:578 +#: ../../Zotlabs/Module/Photos.php:1106 ../../include/conversation.php:578 msgctxt "title" msgid "Abstain" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:579 +#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:579 msgctxt "title" msgid "Attending" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:579 +#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:579 msgctxt "title" msgid "Not attending" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:579 +#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:579 msgctxt "title" msgid "Might attend" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138 +#: ../../Zotlabs/Module/Photos.php:1124 ../../Zotlabs/Module/Photos.php:1136 #: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193 #: ../../include/conversation.php:1738 msgid "View all" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185 -#: ../../include/conversation.php:1762 ../../include/taxonomy.php:403 -#: ../../include/channel.php:1183 +#: ../../Zotlabs/Module/Photos.php:1128 ../../Zotlabs/Lib/ThreadItem.php:185 +#: ../../include/taxonomy.php:403 ../../include/channel.php:1183 +#: ../../include/conversation.php:1762 msgctxt "noun" msgid "Like" msgid_plural "Likes" msgstr[0] "" msgstr[1] "" -#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190 +#: ../../Zotlabs/Module/Photos.php:1133 ../../Zotlabs/Lib/ThreadItem.php:190 #: ../../include/conversation.php:1765 msgctxt "noun" msgid "Dislike" @@ -2646,39 +2647,39 @@ msgid_plural "Dislikes" msgstr[0] "" msgstr[1] "" -#: ../../Zotlabs/Module/Photos.php:1235 +#: ../../Zotlabs/Module/Photos.php:1233 msgid "Photo Tools" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1244 +#: ../../Zotlabs/Module/Photos.php:1242 msgid "In This Photo:" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1249 +#: ../../Zotlabs/Module/Photos.php:1247 msgid "Map" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386 +#: ../../Zotlabs/Module/Photos.php:1255 ../../Zotlabs/Lib/ThreadItem.php:386 msgctxt "noun" msgid "Likes" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387 +#: ../../Zotlabs/Module/Photos.php:1256 ../../Zotlabs/Lib/ThreadItem.php:387 msgctxt "noun" msgid "Dislikes" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392 -#: ../../include/acl_selectors.php:285 +#: ../../Zotlabs/Module/Photos.php:1261 ../../Zotlabs/Lib/ThreadItem.php:392 +#: ../../include/acl_selectors.php:283 msgid "Close" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1337 +#: ../../Zotlabs/Module/Photos.php:1335 msgid "View Album" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361 -#: ../../Zotlabs/Module/Photos.php:1362 +#: ../../Zotlabs/Module/Photos.php:1346 ../../Zotlabs/Module/Photos.php:1359 +#: ../../Zotlabs/Module/Photos.php:1360 msgid "Recent Photos" msgstr "" @@ -3005,7 +3006,7 @@ msgstr "" msgid "Submit and proceed" msgstr "" -#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2243 +#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2247 msgid "Menus" msgstr "" @@ -3153,31 +3154,31 @@ msgstr "" msgid "Set your current mood and tell your friends" msgstr "" -#: ../../Zotlabs/Module/Network.php:96 +#: ../../Zotlabs/Module/Network.php:94 msgid "No such group" msgstr "" -#: ../../Zotlabs/Module/Network.php:136 +#: ../../Zotlabs/Module/Network.php:134 msgid "No such channel" msgstr "" -#: ../../Zotlabs/Module/Network.php:141 +#: ../../Zotlabs/Module/Network.php:139 msgid "forum" msgstr "" -#: ../../Zotlabs/Module/Network.php:153 +#: ../../Zotlabs/Module/Network.php:151 msgid "Search Results For:" msgstr "" -#: ../../Zotlabs/Module/Network.php:217 +#: ../../Zotlabs/Module/Network.php:215 msgid "Privacy group is empty" msgstr "" -#: ../../Zotlabs/Module/Network.php:226 +#: ../../Zotlabs/Module/Network.php:224 msgid "Privacy group: " msgstr "" -#: ../../Zotlabs/Module/Network.php:252 +#: ../../Zotlabs/Module/Network.php:250 msgid "Invalid connection." msgstr "" @@ -3207,15 +3208,15 @@ msgstr "" msgid "No matches" msgstr "" -#: ../../Zotlabs/Module/Channel.php:41 +#: ../../Zotlabs/Module/Channel.php:40 msgid "Posts and comments" msgstr "" -#: ../../Zotlabs/Module/Channel.php:42 +#: ../../Zotlabs/Module/Channel.php:41 msgid "Only posts" msgstr "" -#: ../../Zotlabs/Module/Channel.php:102 +#: ../../Zotlabs/Module/Channel.php:101 msgid "Insufficient permissions. Request redirected to profile page." msgstr "" @@ -3236,7 +3237,7 @@ msgid "Menu Item Permissions" msgstr "" #: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:227 -#: ../../Zotlabs/Module/Settings.php:1068 +#: ../../Zotlabs/Module/Settings.php:1142 msgid "(click to open/close)" msgstr "" @@ -3421,11 +3422,11 @@ msgstr "" msgid "Site settings updated." msgstr "" -#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2833 +#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2837 msgid "Default" msgstr "" -#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798 +#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:872 msgid "mobile" msgstr "" @@ -3457,7 +3458,7 @@ msgstr "" msgid "My site offers free accounts with optional paid upgrades" msgstr "" -#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1440 +#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1471 msgid "Site" msgstr "" @@ -3744,12 +3745,12 @@ msgid "0 for no expiration of imported content" msgstr "" #: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678 -#: ../../Zotlabs/Module/Settings.php:722 +#: ../../Zotlabs/Module/Settings.php:796 msgid "Off" msgstr "" #: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678 -#: ../../Zotlabs/Module/Settings.php:722 +#: ../../Zotlabs/Module/Settings.php:796 msgid "On" msgstr "" @@ -3806,7 +3807,7 @@ msgid "" "embedded content from that site is explicitly blocked." msgstr "" -#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1443 +#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1474 msgid "Security" msgstr "" @@ -3973,7 +3974,7 @@ msgid "Account '%s' unblocked" msgstr "" #: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044 -#: ../../include/widgets.php:1441 +#: ../../include/widgets.php:1472 msgid "Accounts" msgstr "" @@ -4079,7 +4080,7 @@ msgstr "" msgid "Channel '%s' code disallowed" msgstr "" -#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1442 +#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1473 msgid "Channels" msgstr "" @@ -4138,7 +4139,7 @@ msgid "Enable" msgstr "" #: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420 -#: ../../include/widgets.php:1445 +#: ../../include/widgets.php:1476 msgid "Plugins" msgstr "" @@ -4147,8 +4148,8 @@ msgid "Toggle" msgstr "" #: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615 -#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:210 -#: ../../include/widgets.php:638 +#: ../../Zotlabs/Lib/Apps.php:216 ../../include/widgets.php:647 +#: ../../include/nav.php:210 msgid "Settings" msgstr "" @@ -4220,8 +4221,8 @@ msgstr "" msgid "Install a New Plugin Repository" msgstr "" -#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77 -#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:334 +#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:75 +#: ../../Zotlabs/Module/Settings.php:651 ../../Zotlabs/Lib/Apps.php:334 msgid "Update" msgstr "" @@ -4238,7 +4239,7 @@ msgid "Screenshot" msgstr "" #: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647 -#: ../../include/widgets.php:1446 +#: ../../include/widgets.php:1477 msgid "Themes" msgstr "" @@ -4254,8 +4255,8 @@ msgstr "" msgid "Log settings updated." msgstr "" -#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1467 -#: ../../include/widgets.php:1477 +#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1498 +#: ../../include/widgets.php:1508 msgid "Logs" msgstr "" @@ -4321,7 +4322,7 @@ msgstr "" msgid "Edit Profile Field" msgstr "" -#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1448 +#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1479 msgid "Profile Fields" msgstr "" @@ -4478,7 +4479,7 @@ msgstr "" msgid "OpenID protocol error. No ID returned." msgstr "" -#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226 +#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:252 msgid "Login failed." msgstr "" @@ -4606,7 +4607,7 @@ msgstr "" msgid "Authenticate" msgstr "" -#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1328 +#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1337 msgid "Public Hubs" msgstr "" @@ -4663,7 +4664,7 @@ msgstr "" msgid "Block Name" msgstr "" -#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2242 +#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2246 msgid "Blocks" msgstr "" @@ -4704,8 +4705,8 @@ msgstr "" msgid "Description: " msgstr "" -#: ../../Zotlabs/Module/Apps.php:47 ../../include/nav.php:165 -#: ../../include/widgets.php:102 +#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102 +#: ../../include/nav.php:165 msgid "Apps" msgstr "" @@ -4890,7 +4891,7 @@ msgid "" msgstr "" #: ../../Zotlabs/Module/Removeaccount.php:60 -#: ../../Zotlabs/Module/Settings.php:705 +#: ../../Zotlabs/Module/Settings.php:740 msgid "Remove Account" msgstr "" @@ -4918,7 +4919,7 @@ msgid "" "removed from the network" msgstr "" -#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Settings.php:1124 +#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Settings.php:1198 msgid "Remove Channel" msgstr "" @@ -4994,608 +4995,628 @@ msgstr "" msgid "No service class restrictions found." msgstr "" -#: ../../Zotlabs/Module/Settings.php:69 +#: ../../Zotlabs/Module/Settings.php:67 msgid "Name is required" msgstr "" -#: ../../Zotlabs/Module/Settings.php:73 +#: ../../Zotlabs/Module/Settings.php:71 msgid "Key and Secret are required" msgstr "" -#: ../../Zotlabs/Module/Settings.php:225 +#: ../../Zotlabs/Module/Settings.php:154 +msgid "Token saved." +msgstr "" + +#: ../../Zotlabs/Module/Settings.php:260 msgid "Not valid email." msgstr "" -#: ../../Zotlabs/Module/Settings.php:228 +#: ../../Zotlabs/Module/Settings.php:263 msgid "Protected email address. Cannot change to that email." msgstr "" -#: ../../Zotlabs/Module/Settings.php:237 +#: ../../Zotlabs/Module/Settings.php:272 msgid "System failure storing new email. Please try again." msgstr "" -#: ../../Zotlabs/Module/Settings.php:254 +#: ../../Zotlabs/Module/Settings.php:289 msgid "Password verification failed." msgstr "" -#: ../../Zotlabs/Module/Settings.php:261 +#: ../../Zotlabs/Module/Settings.php:296 msgid "Passwords do not match. Password unchanged." msgstr "" -#: ../../Zotlabs/Module/Settings.php:265 +#: ../../Zotlabs/Module/Settings.php:300 msgid "Empty passwords are not allowed. Password unchanged." msgstr "" -#: ../../Zotlabs/Module/Settings.php:279 +#: ../../Zotlabs/Module/Settings.php:314 msgid "Password changed." msgstr "" -#: ../../Zotlabs/Module/Settings.php:281 +#: ../../Zotlabs/Module/Settings.php:316 msgid "Password update failed. Please try again." msgstr "" -#: ../../Zotlabs/Module/Settings.php:525 +#: ../../Zotlabs/Module/Settings.php:560 msgid "Settings updated." msgstr "" -#: ../../Zotlabs/Module/Settings.php:589 ../../Zotlabs/Module/Settings.php:615 -#: ../../Zotlabs/Module/Settings.php:651 +#: ../../Zotlabs/Module/Settings.php:624 ../../Zotlabs/Module/Settings.php:650 +#: ../../Zotlabs/Module/Settings.php:686 msgid "Add application" msgstr "" -#: ../../Zotlabs/Module/Settings.php:592 +#: ../../Zotlabs/Module/Settings.php:627 msgid "Name of application" msgstr "" -#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:619 +#: ../../Zotlabs/Module/Settings.php:628 ../../Zotlabs/Module/Settings.php:654 msgid "Consumer Key" msgstr "" -#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:594 +#: ../../Zotlabs/Module/Settings.php:628 ../../Zotlabs/Module/Settings.php:629 msgid "Automatically generated - change if desired. Max length 20" msgstr "" -#: ../../Zotlabs/Module/Settings.php:594 ../../Zotlabs/Module/Settings.php:620 +#: ../../Zotlabs/Module/Settings.php:629 ../../Zotlabs/Module/Settings.php:655 msgid "Consumer Secret" msgstr "" -#: ../../Zotlabs/Module/Settings.php:595 ../../Zotlabs/Module/Settings.php:621 +#: ../../Zotlabs/Module/Settings.php:630 ../../Zotlabs/Module/Settings.php:656 msgid "Redirect" msgstr "" -#: ../../Zotlabs/Module/Settings.php:595 +#: ../../Zotlabs/Module/Settings.php:630 msgid "" "Redirect URI - leave blank unless your application specifically requires this" msgstr "" -#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Settings.php:622 +#: ../../Zotlabs/Module/Settings.php:631 ../../Zotlabs/Module/Settings.php:657 msgid "Icon url" msgstr "" -#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Sources.php:112 +#: ../../Zotlabs/Module/Settings.php:631 ../../Zotlabs/Module/Sources.php:112 #: ../../Zotlabs/Module/Sources.php:147 msgid "Optional" msgstr "" -#: ../../Zotlabs/Module/Settings.php:607 +#: ../../Zotlabs/Module/Settings.php:642 msgid "Application not found." msgstr "" -#: ../../Zotlabs/Module/Settings.php:650 +#: ../../Zotlabs/Module/Settings.php:685 msgid "Connected Apps" msgstr "" -#: ../../Zotlabs/Module/Settings.php:654 +#: ../../Zotlabs/Module/Settings.php:689 msgid "Client key starts with" msgstr "" -#: ../../Zotlabs/Module/Settings.php:655 +#: ../../Zotlabs/Module/Settings.php:690 msgid "No name" msgstr "" -#: ../../Zotlabs/Module/Settings.php:656 +#: ../../Zotlabs/Module/Settings.php:691 msgid "Remove authorization" msgstr "" -#: ../../Zotlabs/Module/Settings.php:669 +#: ../../Zotlabs/Module/Settings.php:704 msgid "No feature settings configured" msgstr "" -#: ../../Zotlabs/Module/Settings.php:676 +#: ../../Zotlabs/Module/Settings.php:711 msgid "Feature/Addon Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:699 +#: ../../Zotlabs/Module/Settings.php:734 msgid "Account Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:700 +#: ../../Zotlabs/Module/Settings.php:735 msgid "Current Password" msgstr "" -#: ../../Zotlabs/Module/Settings.php:701 +#: ../../Zotlabs/Module/Settings.php:736 msgid "Enter New Password" msgstr "" -#: ../../Zotlabs/Module/Settings.php:702 +#: ../../Zotlabs/Module/Settings.php:737 msgid "Confirm New Password" msgstr "" -#: ../../Zotlabs/Module/Settings.php:702 +#: ../../Zotlabs/Module/Settings.php:737 msgid "Leave password fields blank unless changing" msgstr "" -#: ../../Zotlabs/Module/Settings.php:704 -#: ../../Zotlabs/Module/Settings.php:1041 +#: ../../Zotlabs/Module/Settings.php:739 +#: ../../Zotlabs/Module/Settings.php:1115 msgid "Email Address:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:706 +#: ../../Zotlabs/Module/Settings.php:741 msgid "Remove this account including all its channels" msgstr "" -#: ../../Zotlabs/Module/Settings.php:729 +#: ../../Zotlabs/Module/Settings.php:773 ../../include/widgets.php:614 +msgid "Guest Access Tokens" +msgstr "" + +#: ../../Zotlabs/Module/Settings.php:776 +msgid "Login Name" +msgstr "" + +#: ../../Zotlabs/Module/Settings.php:777 +msgid "Login Password" +msgstr "" + +#: ../../Zotlabs/Module/Settings.php:778 +msgid "Expires (yyyy-mm-dd)" +msgstr "" + +#: ../../Zotlabs/Module/Settings.php:803 msgid "Additional Features" msgstr "" -#: ../../Zotlabs/Module/Settings.php:753 +#: ../../Zotlabs/Module/Settings.php:827 msgid "Connector Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:792 +#: ../../Zotlabs/Module/Settings.php:866 msgid "No special theme for mobile devices" msgstr "" -#: ../../Zotlabs/Module/Settings.php:795 +#: ../../Zotlabs/Module/Settings.php:869 #, php-format msgid "%s - (Experimental)" msgstr "" -#: ../../Zotlabs/Module/Settings.php:837 +#: ../../Zotlabs/Module/Settings.php:911 msgid "Display Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:838 +#: ../../Zotlabs/Module/Settings.php:912 msgid "Theme Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:839 +#: ../../Zotlabs/Module/Settings.php:913 msgid "Custom Theme Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:840 +#: ../../Zotlabs/Module/Settings.php:914 msgid "Content Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:846 +#: ../../Zotlabs/Module/Settings.php:920 msgid "Display Theme:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:847 +#: ../../Zotlabs/Module/Settings.php:921 msgid "Mobile Theme:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:848 +#: ../../Zotlabs/Module/Settings.php:922 msgid "Preload images before rendering the page" msgstr "" -#: ../../Zotlabs/Module/Settings.php:848 +#: ../../Zotlabs/Module/Settings.php:922 msgid "" "The subjective page load time will be longer but the page will be ready when " "displayed" msgstr "" -#: ../../Zotlabs/Module/Settings.php:849 +#: ../../Zotlabs/Module/Settings.php:923 msgid "Enable user zoom on mobile devices" msgstr "" -#: ../../Zotlabs/Module/Settings.php:850 +#: ../../Zotlabs/Module/Settings.php:924 msgid "Update browser every xx seconds" msgstr "" -#: ../../Zotlabs/Module/Settings.php:850 +#: ../../Zotlabs/Module/Settings.php:924 msgid "Minimum of 10 seconds, no maximum" msgstr "" -#: ../../Zotlabs/Module/Settings.php:851 +#: ../../Zotlabs/Module/Settings.php:925 msgid "Maximum number of conversations to load at any time:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:851 +#: ../../Zotlabs/Module/Settings.php:925 msgid "Maximum of 100 items" msgstr "" -#: ../../Zotlabs/Module/Settings.php:852 +#: ../../Zotlabs/Module/Settings.php:926 msgid "Show emoticons (smilies) as images" msgstr "" -#: ../../Zotlabs/Module/Settings.php:853 +#: ../../Zotlabs/Module/Settings.php:927 msgid "Link post titles to source" msgstr "" -#: ../../Zotlabs/Module/Settings.php:854 +#: ../../Zotlabs/Module/Settings.php:928 msgid "System Page Layout Editor - (advanced)" msgstr "" -#: ../../Zotlabs/Module/Settings.php:857 +#: ../../Zotlabs/Module/Settings.php:931 msgid "Use blog/list mode on channel page" msgstr "" -#: ../../Zotlabs/Module/Settings.php:857 ../../Zotlabs/Module/Settings.php:858 +#: ../../Zotlabs/Module/Settings.php:931 ../../Zotlabs/Module/Settings.php:932 msgid "(comments displayed separately)" msgstr "" -#: ../../Zotlabs/Module/Settings.php:858 +#: ../../Zotlabs/Module/Settings.php:932 msgid "Use blog/list mode on grid page" msgstr "" -#: ../../Zotlabs/Module/Settings.php:859 +#: ../../Zotlabs/Module/Settings.php:933 msgid "Channel page max height of content (in pixels)" msgstr "" -#: ../../Zotlabs/Module/Settings.php:859 ../../Zotlabs/Module/Settings.php:860 +#: ../../Zotlabs/Module/Settings.php:933 ../../Zotlabs/Module/Settings.php:934 msgid "click to expand content exceeding this height" msgstr "" -#: ../../Zotlabs/Module/Settings.php:860 +#: ../../Zotlabs/Module/Settings.php:934 msgid "Grid page max height of content (in pixels)" msgstr "" -#: ../../Zotlabs/Module/Settings.php:894 +#: ../../Zotlabs/Module/Settings.php:968 msgid "Nobody except yourself" msgstr "" -#: ../../Zotlabs/Module/Settings.php:895 +#: ../../Zotlabs/Module/Settings.php:969 msgid "Only those you specifically allow" msgstr "" -#: ../../Zotlabs/Module/Settings.php:896 +#: ../../Zotlabs/Module/Settings.php:970 msgid "Approved connections" msgstr "" -#: ../../Zotlabs/Module/Settings.php:897 +#: ../../Zotlabs/Module/Settings.php:971 msgid "Any connections" msgstr "" -#: ../../Zotlabs/Module/Settings.php:898 +#: ../../Zotlabs/Module/Settings.php:972 msgid "Anybody on this website" msgstr "" -#: ../../Zotlabs/Module/Settings.php:899 +#: ../../Zotlabs/Module/Settings.php:973 msgid "Anybody in this network" msgstr "" -#: ../../Zotlabs/Module/Settings.php:900 +#: ../../Zotlabs/Module/Settings.php:974 msgid "Anybody authenticated" msgstr "" -#: ../../Zotlabs/Module/Settings.php:901 +#: ../../Zotlabs/Module/Settings.php:975 msgid "Anybody on the internet" msgstr "" -#: ../../Zotlabs/Module/Settings.php:976 +#: ../../Zotlabs/Module/Settings.php:1050 msgid "Publish your default profile in the network directory" msgstr "" -#: ../../Zotlabs/Module/Settings.php:981 +#: ../../Zotlabs/Module/Settings.php:1055 msgid "Allow us to suggest you as a potential friend to new members?" msgstr "" -#: ../../Zotlabs/Module/Settings.php:990 +#: ../../Zotlabs/Module/Settings.php:1064 msgid "Your channel address is" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1032 +#: ../../Zotlabs/Module/Settings.php:1106 msgid "Channel Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1039 +#: ../../Zotlabs/Module/Settings.php:1113 msgid "Basic Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1040 ../../include/channel.php:1165 +#: ../../Zotlabs/Module/Settings.php:1114 ../../include/channel.php:1165 msgid "Full Name:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1042 +#: ../../Zotlabs/Module/Settings.php:1116 msgid "Your Timezone:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1043 +#: ../../Zotlabs/Module/Settings.php:1117 msgid "Default Post Location:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1043 +#: ../../Zotlabs/Module/Settings.php:1117 msgid "Geographical location to display on your posts" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1044 +#: ../../Zotlabs/Module/Settings.php:1118 msgid "Use Browser Location:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1046 +#: ../../Zotlabs/Module/Settings.php:1120 msgid "Adult Content" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1046 +#: ../../Zotlabs/Module/Settings.php:1120 msgid "" "This channel frequently or regularly publishes adult content. (Please tag " "any adult material and/or nudity with #NSFW)" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1048 +#: ../../Zotlabs/Module/Settings.php:1122 msgid "Security and Privacy Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1051 +#: ../../Zotlabs/Module/Settings.php:1125 msgid "Your permissions are already configured. Click to view/adjust" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1053 +#: ../../Zotlabs/Module/Settings.php:1127 msgid "Hide my online presence" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1053 +#: ../../Zotlabs/Module/Settings.php:1127 msgid "Prevents displaying in your profile that you are online" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1055 +#: ../../Zotlabs/Module/Settings.php:1129 msgid "Simple Privacy Settings:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1056 +#: ../../Zotlabs/Module/Settings.php:1130 msgid "" "Very Public - extremely permissive (should be used with caution)" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1057 +#: ../../Zotlabs/Module/Settings.php:1131 msgid "" "Typical - default public, privacy when desired (similar to social " "network permissions but with improved privacy)" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1058 +#: ../../Zotlabs/Module/Settings.php:1132 msgid "Private - default private, never open or public" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1059 +#: ../../Zotlabs/Module/Settings.php:1133 msgid "Blocked - default blocked to/from everybody" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1061 +#: ../../Zotlabs/Module/Settings.php:1135 msgid "Allow others to tag your posts" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1061 +#: ../../Zotlabs/Module/Settings.php:1135 msgid "" "Often used by the community to retro-actively flag inappropriate content" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1063 +#: ../../Zotlabs/Module/Settings.php:1137 msgid "Advanced Privacy Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1065 +#: ../../Zotlabs/Module/Settings.php:1139 msgid "Expire other channel content after this many days" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1065 +#: ../../Zotlabs/Module/Settings.php:1139 msgid "0 or blank to use the website limit." msgstr "" -#: ../../Zotlabs/Module/Settings.php:1065 +#: ../../Zotlabs/Module/Settings.php:1139 #, php-format msgid "This website expires after %d days." msgstr "" -#: ../../Zotlabs/Module/Settings.php:1065 +#: ../../Zotlabs/Module/Settings.php:1139 msgid "This website does not expire imported content." msgstr "" -#: ../../Zotlabs/Module/Settings.php:1065 +#: ../../Zotlabs/Module/Settings.php:1139 msgid "The website limit takes precedence if lower than your limit." msgstr "" -#: ../../Zotlabs/Module/Settings.php:1066 +#: ../../Zotlabs/Module/Settings.php:1140 msgid "Maximum Friend Requests/Day:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1066 +#: ../../Zotlabs/Module/Settings.php:1140 msgid "May reduce spam activity" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1067 +#: ../../Zotlabs/Module/Settings.php:1141 msgid "Default Post and Publish Permissions" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1069 +#: ../../Zotlabs/Module/Settings.php:1143 msgid "Use my default audience setting for the type of object published" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1072 +#: ../../Zotlabs/Module/Settings.php:1146 msgid "Channel permissions category:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1078 +#: ../../Zotlabs/Module/Settings.php:1152 msgid "Maximum private messages per day from unknown people:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1078 +#: ../../Zotlabs/Module/Settings.php:1152 msgid "Useful to reduce spamming" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1081 +#: ../../Zotlabs/Module/Settings.php:1155 msgid "Notification Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1082 +#: ../../Zotlabs/Module/Settings.php:1156 msgid "By default post a status message when:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1083 +#: ../../Zotlabs/Module/Settings.php:1157 msgid "accepting a friend request" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1084 +#: ../../Zotlabs/Module/Settings.php:1158 msgid "joining a forum/community" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1085 +#: ../../Zotlabs/Module/Settings.php:1159 msgid "making an interesting profile change" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1086 +#: ../../Zotlabs/Module/Settings.php:1160 msgid "Send a notification email when:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1087 +#: ../../Zotlabs/Module/Settings.php:1161 msgid "You receive a connection request" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1088 +#: ../../Zotlabs/Module/Settings.php:1162 msgid "Your connections are confirmed" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1089 +#: ../../Zotlabs/Module/Settings.php:1163 msgid "Someone writes on your profile wall" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1090 +#: ../../Zotlabs/Module/Settings.php:1164 msgid "Someone writes a followup comment" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1091 +#: ../../Zotlabs/Module/Settings.php:1165 msgid "You receive a private message" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1092 +#: ../../Zotlabs/Module/Settings.php:1166 msgid "You receive a friend suggestion" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1093 +#: ../../Zotlabs/Module/Settings.php:1167 msgid "You are tagged in a post" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1094 +#: ../../Zotlabs/Module/Settings.php:1168 msgid "You are poked/prodded/etc. in a post" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1097 +#: ../../Zotlabs/Module/Settings.php:1171 msgid "Show visual notifications including:" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1099 +#: ../../Zotlabs/Module/Settings.php:1173 msgid "Unseen grid activity" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1100 +#: ../../Zotlabs/Module/Settings.php:1174 msgid "Unseen channel activity" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1101 +#: ../../Zotlabs/Module/Settings.php:1175 msgid "Unseen private messages" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1101 -#: ../../Zotlabs/Module/Settings.php:1106 -#: ../../Zotlabs/Module/Settings.php:1107 -#: ../../Zotlabs/Module/Settings.php:1108 +#: ../../Zotlabs/Module/Settings.php:1175 +#: ../../Zotlabs/Module/Settings.php:1180 +#: ../../Zotlabs/Module/Settings.php:1181 +#: ../../Zotlabs/Module/Settings.php:1182 msgid "Recommended" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1102 +#: ../../Zotlabs/Module/Settings.php:1176 msgid "Upcoming events" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1103 +#: ../../Zotlabs/Module/Settings.php:1177 msgid "Events today" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1104 +#: ../../Zotlabs/Module/Settings.php:1178 msgid "Upcoming birthdays" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1104 +#: ../../Zotlabs/Module/Settings.php:1178 msgid "Not available in all themes" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1105 +#: ../../Zotlabs/Module/Settings.php:1179 msgid "System (personal) notifications" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1106 +#: ../../Zotlabs/Module/Settings.php:1180 msgid "System info messages" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1107 +#: ../../Zotlabs/Module/Settings.php:1181 msgid "System critical alerts" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1108 +#: ../../Zotlabs/Module/Settings.php:1182 msgid "New connections" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1109 +#: ../../Zotlabs/Module/Settings.php:1183 msgid "System Registrations" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1110 +#: ../../Zotlabs/Module/Settings.php:1184 msgid "" "Also show new wall posts, private messages and connections under Notices" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1112 +#: ../../Zotlabs/Module/Settings.php:1186 msgid "Notify me of events this many days in advance" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1112 +#: ../../Zotlabs/Module/Settings.php:1186 msgid "Must be greater than 0" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1114 +#: ../../Zotlabs/Module/Settings.php:1188 msgid "Advanced Account/Page Type Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1115 +#: ../../Zotlabs/Module/Settings.php:1189 msgid "Change the behaviour of this account for special situations" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1118 +#: ../../Zotlabs/Module/Settings.php:1192 msgid "" "Please enable expert mode (in Settings > " "Additional features) to adjust!" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1119 +#: ../../Zotlabs/Module/Settings.php:1193 msgid "Miscellaneous Settings" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1120 +#: ../../Zotlabs/Module/Settings.php:1194 msgid "Default photo upload folder" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1120 -#: ../../Zotlabs/Module/Settings.php:1121 +#: ../../Zotlabs/Module/Settings.php:1194 +#: ../../Zotlabs/Module/Settings.php:1195 msgid "%Y - current year, %m - current month" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1121 +#: ../../Zotlabs/Module/Settings.php:1195 msgid "Default file upload folder" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1123 +#: ../../Zotlabs/Module/Settings.php:1197 msgid "Personal menu to display in your channel pages" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1125 +#: ../../Zotlabs/Module/Settings.php:1199 msgid "Remove this channel." msgstr "" -#: ../../Zotlabs/Module/Settings.php:1126 +#: ../../Zotlabs/Module/Settings.php:1200 msgid "Firefox Share $Projectname provider" msgstr "" -#: ../../Zotlabs/Module/Settings.php:1127 +#: ../../Zotlabs/Module/Settings.php:1201 msgid "Start calendar week on monday" msgstr "" @@ -5628,7 +5649,7 @@ msgid "" msgstr "" #: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266 -#: ../../Zotlabs/Module/Setup.php:727 +#: ../../Zotlabs/Module/Setup.php:722 msgid "Please see the file \"install/INSTALL.txt\"." msgstr "" @@ -5828,170 +5849,162 @@ msgid "mb_string PHP module" msgstr "" #: ../../Zotlabs/Module/Setup.php:496 -msgid "mcrypt PHP module" -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:497 msgid "xml PHP module" msgstr "" -#: ../../Zotlabs/Module/Setup.php:501 ../../Zotlabs/Module/Setup.php:503 +#: ../../Zotlabs/Module/Setup.php:500 ../../Zotlabs/Module/Setup.php:502 msgid "Apache mod_rewrite module" msgstr "" -#: ../../Zotlabs/Module/Setup.php:501 +#: ../../Zotlabs/Module/Setup.php:500 msgid "" "Error: Apache webserver mod-rewrite module is required but not installed." msgstr "" -#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:510 +#: ../../Zotlabs/Module/Setup.php:506 ../../Zotlabs/Module/Setup.php:509 msgid "proc_open" msgstr "" -#: ../../Zotlabs/Module/Setup.php:507 +#: ../../Zotlabs/Module/Setup.php:506 msgid "" "Error: proc_open is required but is either not installed or has been " "disabled in php.ini" msgstr "" -#: ../../Zotlabs/Module/Setup.php:515 +#: ../../Zotlabs/Module/Setup.php:514 msgid "Error: libCURL PHP module required but not installed." msgstr "" -#: ../../Zotlabs/Module/Setup.php:519 +#: ../../Zotlabs/Module/Setup.php:518 msgid "" "Error: GD graphics PHP module with JPEG support required but not installed." msgstr "" -#: ../../Zotlabs/Module/Setup.php:523 +#: ../../Zotlabs/Module/Setup.php:522 msgid "Error: openssl PHP module required but not installed." msgstr "" -#: ../../Zotlabs/Module/Setup.php:527 +#: ../../Zotlabs/Module/Setup.php:526 msgid "" "Error: mysqli or postgres PHP module required but neither are installed." msgstr "" -#: ../../Zotlabs/Module/Setup.php:531 +#: ../../Zotlabs/Module/Setup.php:530 msgid "Error: mb_string PHP module required but not installed." msgstr "" -#: ../../Zotlabs/Module/Setup.php:535 -msgid "Error: mcrypt PHP module required but not installed." -msgstr "" - -#: ../../Zotlabs/Module/Setup.php:539 +#: ../../Zotlabs/Module/Setup.php:534 msgid "Error: xml PHP module required for DAV but not installed." msgstr "" -#: ../../Zotlabs/Module/Setup.php:557 +#: ../../Zotlabs/Module/Setup.php:552 msgid "" "The web installer needs to be able to create a file called \".htconfig.php\" " "in the top folder of your web server and it is unable to do so." msgstr "" -#: ../../Zotlabs/Module/Setup.php:558 +#: ../../Zotlabs/Module/Setup.php:553 msgid "" "This is most often a permission setting, as the web server may not be able " "to write files in your folder - even if you can." msgstr "" -#: ../../Zotlabs/Module/Setup.php:559 +#: ../../Zotlabs/Module/Setup.php:554 msgid "" "At the end of this procedure, we will give you a text to save in a file " "named .htconfig.php in your Red top folder." msgstr "" -#: ../../Zotlabs/Module/Setup.php:560 +#: ../../Zotlabs/Module/Setup.php:555 msgid "" "You can alternatively skip this procedure and perform a manual installation. " "Please see the file \"install/INSTALL.txt\" for instructions." msgstr "" -#: ../../Zotlabs/Module/Setup.php:563 +#: ../../Zotlabs/Module/Setup.php:558 msgid ".htconfig.php is writable" msgstr "" -#: ../../Zotlabs/Module/Setup.php:577 +#: ../../Zotlabs/Module/Setup.php:572 msgid "" "Red uses the Smarty3 template engine to render its web views. Smarty3 " "compiles templates to PHP to speed up rendering." msgstr "" -#: ../../Zotlabs/Module/Setup.php:578 +#: ../../Zotlabs/Module/Setup.php:573 #, php-format msgid "" "In order to store these compiled templates, the web server needs to have " "write access to the directory %s under the top level web folder." msgstr "" -#: ../../Zotlabs/Module/Setup.php:579 ../../Zotlabs/Module/Setup.php:600 +#: ../../Zotlabs/Module/Setup.php:574 ../../Zotlabs/Module/Setup.php:595 msgid "" "Please ensure that the user that your web server runs as (e.g. www-data) has " "write access to this folder." msgstr "" -#: ../../Zotlabs/Module/Setup.php:580 +#: ../../Zotlabs/Module/Setup.php:575 #, php-format msgid "" "Note: as a security measure, you should give the web server write access to " "%s only--not the template files (.tpl) that it contains." msgstr "" -#: ../../Zotlabs/Module/Setup.php:583 +#: ../../Zotlabs/Module/Setup.php:578 #, php-format msgid "%s is writable" msgstr "" -#: ../../Zotlabs/Module/Setup.php:599 +#: ../../Zotlabs/Module/Setup.php:594 msgid "" "This software uses the store directory to save uploaded files. The web " "server needs to have write access to the store directory under the Red top " "level folder" msgstr "" -#: ../../Zotlabs/Module/Setup.php:603 +#: ../../Zotlabs/Module/Setup.php:598 msgid "store is writable" msgstr "" -#: ../../Zotlabs/Module/Setup.php:636 +#: ../../Zotlabs/Module/Setup.php:631 msgid "" "SSL certificate cannot be validated. Fix certificate or disable https access " "to this site." msgstr "" -#: ../../Zotlabs/Module/Setup.php:637 +#: ../../Zotlabs/Module/Setup.php:632 msgid "" "If you have https access to your website or allow connections to TCP port " "443 (the https: port), you MUST use a browser-valid certificate. You MUST " "NOT use self-signed certificates!" msgstr "" -#: ../../Zotlabs/Module/Setup.php:638 +#: ../../Zotlabs/Module/Setup.php:633 msgid "" "This restriction is incorporated because public posts from you may for " "example contain references to images on your own hub." msgstr "" -#: ../../Zotlabs/Module/Setup.php:639 +#: ../../Zotlabs/Module/Setup.php:634 msgid "" "If your certificate is not recognized, members of other sites (who may " "themselves have valid certificates) will get a warning message on their own " "site complaining about security issues." msgstr "" -#: ../../Zotlabs/Module/Setup.php:640 +#: ../../Zotlabs/Module/Setup.php:635 msgid "" "This can cause usability issues elsewhere (not just on your own site) so we " "must insist on this requirement." msgstr "" -#: ../../Zotlabs/Module/Setup.php:641 +#: ../../Zotlabs/Module/Setup.php:636 msgid "" "Providers are available that issue free certificates which are browser-valid." msgstr "" -#: ../../Zotlabs/Module/Setup.php:643 +#: ../../Zotlabs/Module/Setup.php:638 msgid "" "If you are confident that the certificate is valid and signed by a trusted " "authority, check to see if you have failed to install an intermediate cert. " @@ -5999,36 +6012,36 @@ msgid "" "server communications." msgstr "" -#: ../../Zotlabs/Module/Setup.php:646 +#: ../../Zotlabs/Module/Setup.php:641 msgid "SSL certificate validation" msgstr "" -#: ../../Zotlabs/Module/Setup.php:652 +#: ../../Zotlabs/Module/Setup.php:647 msgid "" "Url rewrite in .htaccess is not working. Check your server configuration." "Test: " msgstr "" -#: ../../Zotlabs/Module/Setup.php:655 +#: ../../Zotlabs/Module/Setup.php:650 msgid "Url rewrite is working" msgstr "" -#: ../../Zotlabs/Module/Setup.php:664 +#: ../../Zotlabs/Module/Setup.php:659 msgid "" "The database configuration file \".htconfig.php\" could not be written. " "Please use the enclosed text to create a configuration file in your web " "server root." msgstr "" -#: ../../Zotlabs/Module/Setup.php:688 +#: ../../Zotlabs/Module/Setup.php:683 msgid "Errors encountered creating database tables." msgstr "" -#: ../../Zotlabs/Module/Setup.php:725 +#: ../../Zotlabs/Module/Setup.php:720 msgid "

What next

" msgstr "" -#: ../../Zotlabs/Module/Setup.php:726 +#: ../../Zotlabs/Module/Setup.php:721 msgid "" "IMPORTANT: You will need to [manually] setup a scheduled task for the poller." msgstr "" @@ -6122,7 +6135,7 @@ msgstr "" msgid "*" msgstr "" -#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:630 +#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:639 #: ../../include/features.php:72 msgid "Channel Sources" msgstr "" @@ -6204,7 +6217,7 @@ msgid "post" msgstr "" #: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150 -#: ../../include/text.php:1925 +#: ../../include/text.php:1929 msgid "comment" msgstr "" @@ -6225,20 +6238,20 @@ msgstr "" msgid "Select a tag to remove: " msgstr "" -#: ../../Zotlabs/Module/Webpages.php:192 ../../Zotlabs/Lib/Apps.php:218 -#: ../../include/conversation.php:1700 ../../include/nav.php:106 +#: ../../Zotlabs/Module/Webpages.php:191 ../../Zotlabs/Lib/Apps.php:218 +#: ../../include/nav.php:106 ../../include/conversation.php:1700 msgid "Webpages" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:203 ../../include/page_widgets.php:44 +#: ../../Zotlabs/Module/Webpages.php:202 ../../include/page_widgets.php:44 msgid "Actions" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:204 ../../include/page_widgets.php:45 +#: ../../Zotlabs/Module/Webpages.php:203 ../../include/page_widgets.php:45 msgid "Page Link" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:205 +#: ../../Zotlabs/Module/Webpages.php:204 msgid "Page Title" msgstr "" @@ -6247,8 +6260,8 @@ msgid "Not found" msgstr "" #: ../../Zotlabs/Module/Wiki.php:92 ../../Zotlabs/Lib/Apps.php:219 -#: ../../include/conversation.php:1710 ../../include/conversation.php:1713 -#: ../../include/nav.php:108 ../../include/features.php:55 +#: ../../include/nav.php:108 ../../include/conversation.php:1710 +#: ../../include/conversation.php:1713 ../../include/features.php:55 msgid "Wiki" msgstr "" @@ -6627,8 +6640,8 @@ msgstr "" msgid "Channel Home" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:223 ../../include/conversation.php:1664 -#: ../../include/conversation.php:1667 ../../include/nav.php:203 +#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:203 +#: ../../include/conversation.php:1664 ../../include/conversation.php:1667 msgid "Events" msgstr "" @@ -6660,7 +6673,7 @@ msgstr "" msgid "Invite" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1444 +#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1475 msgid "Features" msgstr "" @@ -6848,888 +6861,829 @@ msgstr "" msgid "Video" msgstr "" -#: ../../include/Import/import_diaspora.php:16 -msgid "No username found in import file." +#: ../../Zotlabs/Lib/PermissionDescription.php:31 +#: ../../include/acl_selectors.php:230 +msgid "Visible to your default audience" msgstr "" -#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:50 -msgid "Unable to create a unique channel address. Import failed." +#: ../../Zotlabs/Lib/PermissionDescription.php:115 +#: ../../include/acl_selectors.php:266 +msgid "Only me" msgstr "" -#: ../../include/dba/dba_driver.php:171 +#: ../../Zotlabs/Lib/PermissionDescription.php:116 +msgid "Public" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:117 +msgid "Anybody in the $Projectname network" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:118 #, php-format -msgid "Cannot locate DNS info for database server '%s'" +msgid "Any account on %s" msgstr "" -#: ../../include/acl_selectors.php:232 -#: ../../include/PermissionDescription.php:31 -msgid "Visible to your default audience" +#: ../../Zotlabs/Lib/PermissionDescription.php:119 +msgid "Any of my connections" msgstr "" -#: ../../include/acl_selectors.php:268 -#: ../../include/PermissionDescription.php:115 -msgid "Only me" +#: ../../Zotlabs/Lib/PermissionDescription.php:120 +msgid "Only connections I specifically allow" msgstr "" -#: ../../include/acl_selectors.php:271 -msgid "Who can see this?" +#: ../../Zotlabs/Lib/PermissionDescription.php:121 +msgid "Anybody authenticated (could include visitors from other networks)" msgstr "" -#: ../../include/acl_selectors.php:272 -msgid "Custom selection" +#: ../../Zotlabs/Lib/PermissionDescription.php:122 +msgid "Any connections including those who haven't yet been approved" msgstr "" -#: ../../include/acl_selectors.php:273 +#: ../../Zotlabs/Lib/PermissionDescription.php:161 msgid "" -"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit " -"the scope of \"Show\"." +"This is your default setting for the audience of your normal stream, and " +"posts." msgstr "" -#: ../../include/acl_selectors.php:274 -msgid "Show" +#: ../../Zotlabs/Lib/PermissionDescription.php:162 +msgid "" +"This is your default setting for who can view your default channel profile" msgstr "" -#: ../../include/acl_selectors.php:275 -msgid "Don't show" +#: ../../Zotlabs/Lib/PermissionDescription.php:163 +msgid "This is your default setting for who can view your connections" msgstr "" -#: ../../include/acl_selectors.php:281 -msgid "Other networks and post services" +#: ../../Zotlabs/Lib/PermissionDescription.php:164 +msgid "" +"This is your default setting for who can view your file storage and photos" msgstr "" -#: ../../include/acl_selectors.php:311 -#, php-format -msgid "" -"Post permissions %s cannot be changed %s after a post is shared.
These " -"permissions set who is allowed to view the post." +#: ../../Zotlabs/Lib/PermissionDescription.php:165 +msgid "This is your default setting for the audience of your webpages" msgstr "" -#: ../../include/conversation.php:204 -#, php-format -msgid "%1$s is now connected with %2$s" +#: ../../include/Import/import_diaspora.php:16 +msgid "No username found in import file." msgstr "" -#: ../../include/conversation.php:239 +#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:50 +msgid "Unable to create a unique channel address. Import failed." +msgstr "" + +#: ../../include/dba/dba_driver.php:171 #, php-format -msgid "%1$s poked %2$s" +msgid "Cannot locate DNS info for database server '%s'" msgstr "" -#: ../../include/conversation.php:243 ../../include/text.php:1009 -#: ../../include/text.php:1014 -msgid "poked" +#: ../../include/widgets.php:46 ../../include/widgets.php:429 +#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270 +#: ../../include/contact_widgets.php:91 +msgid "Categories" msgstr "" -#: ../../include/conversation.php:694 -#, php-format -msgid "View %s's profile @ %s" +#: ../../include/widgets.php:103 +msgid "System" msgstr "" -#: ../../include/conversation.php:713 -msgid "Categories:" +#: ../../include/widgets.php:106 +msgid "New App" msgstr "" -#: ../../include/conversation.php:714 -msgid "Filed under:" +#: ../../include/widgets.php:154 +msgid "Suggestions" msgstr "" -#: ../../include/conversation.php:741 -msgid "View in context" +#: ../../include/widgets.php:155 +msgid "See more..." msgstr "" -#: ../../include/conversation.php:850 -msgid "remove" +#: ../../include/widgets.php:175 +#, php-format +msgid "You have %1$.0f of %2$.0f allowed connections." msgstr "" -#: ../../include/conversation.php:854 ../../include/nav.php:249 -msgid "Loading..." +#: ../../include/widgets.php:181 +msgid "Add New Connection" msgstr "" -#: ../../include/conversation.php:855 -msgid "Delete Selected Items" +#: ../../include/widgets.php:182 +msgid "Enter channel address" msgstr "" -#: ../../include/conversation.php:951 -msgid "View Source" +#: ../../include/widgets.php:183 +msgid "Examples: bob@example.com, https://example.com/barbara" msgstr "" -#: ../../include/conversation.php:952 -msgid "Follow Thread" +#: ../../include/widgets.php:199 +msgid "Notes" msgstr "" -#: ../../include/conversation.php:953 -msgid "Unfollow Thread" +#: ../../include/widgets.php:273 +msgid "Remove term" msgstr "" -#: ../../include/conversation.php:958 -msgid "Activity/Posts" +#: ../../include/widgets.php:281 ../../include/features.php:85 +msgid "Saved Searches" msgstr "" -#: ../../include/conversation.php:960 -msgid "Edit Connection" +#: ../../include/widgets.php:282 ../../include/group.php:316 +msgid "add" msgstr "" -#: ../../include/conversation.php:961 -msgid "Message" +#: ../../include/widgets.php:310 ../../include/features.php:99 +#: ../../include/contact_widgets.php:53 +msgid "Saved Folders" msgstr "" -#: ../../include/conversation.php:1078 -#, php-format -msgid "%s likes this." +#: ../../include/widgets.php:313 ../../include/widgets.php:432 +#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94 +msgid "Everything" msgstr "" -#: ../../include/conversation.php:1078 -#, php-format -msgid "%s doesn't like this." +#: ../../include/widgets.php:354 +msgid "Archives" msgstr "" -#: ../../include/conversation.php:1082 -#, php-format -msgid "%2$d people like this." -msgid_plural "%2$d people like this." -msgstr[0] "" -msgstr[1] "" +#: ../../include/widgets.php:516 +msgid "Refresh" +msgstr "" -#: ../../include/conversation.php:1084 -#, php-format -msgid "%2$d people don't like this." -msgid_plural "%2$d people don't like this." -msgstr[0] "" -msgstr[1] "" +#: ../../include/widgets.php:556 +msgid "Account settings" +msgstr "" -#: ../../include/conversation.php:1090 -msgid "and" +#: ../../include/widgets.php:562 +msgid "Channel settings" msgstr "" -#: ../../include/conversation.php:1093 -#, php-format -msgid ", and %d other people" -msgid_plural ", and %d other people" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1094 -#, php-format -msgid "%s like this." +#: ../../include/widgets.php:571 +msgid "Additional features" msgstr "" -#: ../../include/conversation.php:1094 -#, php-format -msgid "%s don't like this." +#: ../../include/widgets.php:578 +msgid "Feature/Addon settings" msgstr "" -#: ../../include/conversation.php:1133 -msgid "Set your location" +#: ../../include/widgets.php:584 +msgid "Display settings" msgstr "" -#: ../../include/conversation.php:1134 -msgid "Clear browser location" +#: ../../include/widgets.php:591 +msgid "Manage locations" msgstr "" -#: ../../include/conversation.php:1182 -msgid "Tag term:" +#: ../../include/widgets.php:600 +msgid "Export channel" msgstr "" -#: ../../include/conversation.php:1183 -msgid "Where are you right now?" +#: ../../include/widgets.php:607 +msgid "Connected apps" msgstr "" -#: ../../include/conversation.php:1221 -msgid "Page link name" +#: ../../include/widgets.php:631 +msgid "Premium Channel Settings" msgstr "" -#: ../../include/conversation.php:1224 -msgid "Post as" +#: ../../include/widgets.php:660 +msgid "Private Mail Menu" msgstr "" -#: ../../include/conversation.php:1238 -msgid "Toggle voting" +#: ../../include/widgets.php:662 +msgid "Combined View" msgstr "" -#: ../../include/conversation.php:1246 -msgid "Categories (optional, comma-separated list)" +#: ../../include/widgets.php:667 ../../include/nav.php:198 +msgid "Inbox" msgstr "" -#: ../../include/conversation.php:1269 -msgid "Set publish date" +#: ../../include/widgets.php:672 ../../include/nav.php:199 +msgid "Outbox" msgstr "" -#: ../../include/conversation.php:1518 -msgid "Discover" +#: ../../include/widgets.php:677 ../../include/nav.php:200 +msgid "New Message" msgstr "" -#: ../../include/conversation.php:1521 -msgid "Imported public streams" +#: ../../include/widgets.php:694 ../../include/widgets.php:706 +msgid "Conversations" msgstr "" -#: ../../include/conversation.php:1526 -msgid "Commented Order" +#: ../../include/widgets.php:698 +msgid "Received Messages" msgstr "" -#: ../../include/conversation.php:1529 -msgid "Sort by Comment Date" +#: ../../include/widgets.php:702 +msgid "Sent Messages" msgstr "" -#: ../../include/conversation.php:1533 -msgid "Posted Order" +#: ../../include/widgets.php:716 +msgid "No messages." msgstr "" -#: ../../include/conversation.php:1536 -msgid "Sort by Post Date" +#: ../../include/widgets.php:734 +msgid "Delete conversation" msgstr "" -#: ../../include/conversation.php:1544 -msgid "Posts that mention or involve you" +#: ../../include/widgets.php:760 +msgid "Events Tools" msgstr "" -#: ../../include/conversation.php:1553 -msgid "Activity Stream - by date" +#: ../../include/widgets.php:761 +msgid "Export Calendar" msgstr "" -#: ../../include/conversation.php:1559 -msgid "Starred" +#: ../../include/widgets.php:762 +msgid "Import Calendar" msgstr "" -#: ../../include/conversation.php:1562 -msgid "Favourite Posts" +#: ../../include/widgets.php:836 ../../include/conversation.php:1677 +#: ../../include/conversation.php:1680 +msgid "Chatrooms" msgstr "" -#: ../../include/conversation.php:1569 -msgid "Spam" +#: ../../include/widgets.php:840 +msgid "Overview" msgstr "" -#: ../../include/conversation.php:1572 -msgid "Posts flagged as SPAM" +#: ../../include/widgets.php:847 +msgid "Chat Members" msgstr "" -#: ../../include/conversation.php:1629 -msgid "Status Messages and Posts" +#: ../../include/widgets.php:869 +msgid "Wiki List" msgstr "" -#: ../../include/conversation.php:1638 -msgid "About" +#: ../../include/widgets.php:907 +msgid "Wiki Pages" msgstr "" -#: ../../include/conversation.php:1641 -msgid "Profile Details" +#: ../../include/widgets.php:942 +msgid "Bookmarked Chatrooms" msgstr "" -#: ../../include/conversation.php:1650 ../../include/photos.php:506 -msgid "Photo Albums" +#: ../../include/widgets.php:965 +msgid "Suggested Chatrooms" msgstr "" -#: ../../include/conversation.php:1657 -msgid "Files and Storage" +#: ../../include/widgets.php:1111 ../../include/widgets.php:1223 +msgid "photo/image" msgstr "" -#: ../../include/conversation.php:1677 ../../include/conversation.php:1680 -#: ../../include/widgets.php:827 -msgid "Chatrooms" +#: ../../include/widgets.php:1166 +msgid "Click to show more" msgstr "" -#: ../../include/conversation.php:1690 ../../include/nav.php:102 -msgid "Bookmarks" +#: ../../include/widgets.php:1317 +msgid "Rating Tools" msgstr "" -#: ../../include/conversation.php:1693 -msgid "Saved Bookmarks" +#: ../../include/widgets.php:1321 ../../include/widgets.php:1323 +msgid "Rate Me" msgstr "" -#: ../../include/conversation.php:1703 -msgid "Manage Webpages" +#: ../../include/widgets.php:1326 +msgid "View Ratings" msgstr "" -#: ../../include/conversation.php:1768 -msgctxt "noun" -msgid "Attending" -msgid_plural "Attending" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1771 -msgctxt "noun" -msgid "Not Attending" -msgid_plural "Not Attending" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1774 -msgctxt "noun" -msgid "Undecided" -msgid_plural "Undecided" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1777 -msgctxt "noun" -msgid "Agree" -msgid_plural "Agrees" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1780 -msgctxt "noun" -msgid "Disagree" -msgid_plural "Disagrees" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/conversation.php:1783 -msgctxt "noun" -msgid "Abstain" -msgid_plural "Abstains" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/connections.php:95 -msgid "New window" +#: ../../include/widgets.php:1405 +msgid "Forums" msgstr "" -#: ../../include/connections.php:96 -msgid "Open the selected location in a different window or browser tab" +#: ../../include/widgets.php:1434 +msgid "Tasks" msgstr "" -#: ../../include/connections.php:214 -#, php-format -msgid "User '%s' deleted" +#: ../../include/widgets.php:1443 +msgid "Documentation" msgstr "" -#: ../../include/group.php:26 -msgid "" -"A deleted group with this name was revived. Existing item permissions " -"may apply to this group and any future members. If this is " -"not what you intended, please create another group with a different name." +#: ../../include/widgets.php:1445 +msgid "Project/Site Information" msgstr "" -#: ../../include/group.php:248 -msgid "Add new connections to this privacy group" +#: ../../include/widgets.php:1446 +msgid "For Members" msgstr "" -#: ../../include/group.php:289 -msgid "edit" +#: ../../include/widgets.php:1447 +msgid "For Administrators" msgstr "" -#: ../../include/group.php:311 ../../include/features.php:84 -msgid "Privacy Groups" +#: ../../include/widgets.php:1448 +msgid "For Developers" msgstr "" -#: ../../include/group.php:312 -msgid "Edit group" +#: ../../include/widgets.php:1472 ../../include/widgets.php:1510 +msgid "Member registrations waiting for confirmation" msgstr "" -#: ../../include/group.php:313 -msgid "Add privacy group" +#: ../../include/widgets.php:1478 +msgid "Inspect queue" msgstr "" -#: ../../include/group.php:314 -msgid "Channels not in any privacy group" +#: ../../include/widgets.php:1480 +msgid "DB updates" msgstr "" -#: ../../include/group.php:316 ../../include/widgets.php:282 -msgid "add" +#: ../../include/widgets.php:1505 ../../include/nav.php:218 +msgid "Admin" msgstr "" -#: ../../include/js_strings.php:5 -msgid "Delete this item?" +#: ../../include/widgets.php:1506 +msgid "Plugin Features" msgstr "" -#: ../../include/js_strings.php:8 -#, php-format -msgid "%s show less" +#: ../../include/nav.php:82 ../../include/nav.php:115 ../../boot.php:1703 +msgid "Logout" msgstr "" -#: ../../include/js_strings.php:9 -#, php-format -msgid "%s expand" +#: ../../include/nav.php:82 ../../include/nav.php:115 +msgid "End this session" msgstr "" -#: ../../include/js_strings.php:10 -#, php-format -msgid "%s collapse" +#: ../../include/nav.php:85 ../../include/nav.php:146 +msgid "Home" msgstr "" -#: ../../include/js_strings.php:11 -msgid "Password too short" +#: ../../include/nav.php:85 +msgid "Your posts and conversations" msgstr "" -#: ../../include/js_strings.php:12 -msgid "Passwords do not match" +#: ../../include/nav.php:86 +msgid "Your profile page" msgstr "" -#: ../../include/js_strings.php:13 -msgid "everybody" +#: ../../include/nav.php:88 +msgid "Manage/Edit profiles" msgstr "" -#: ../../include/js_strings.php:14 -msgid "Secret Passphrase" +#: ../../include/nav.php:90 ../../include/channel.php:965 +msgid "Edit Profile" msgstr "" -#: ../../include/js_strings.php:15 -msgid "Passphrase hint" +#: ../../include/nav.php:90 +msgid "Edit your profile" msgstr "" -#: ../../include/js_strings.php:16 -msgid "Notice: Permissions have changed but have not yet been submitted." +#: ../../include/nav.php:92 +msgid "Your photos" msgstr "" -#: ../../include/js_strings.php:17 -msgid "close all" +#: ../../include/nav.php:93 +msgid "Your files" msgstr "" -#: ../../include/js_strings.php:18 -msgid "Nothing new here" +#: ../../include/nav.php:96 +msgid "Your chatrooms" msgstr "" -#: ../../include/js_strings.php:19 -msgid "Rate This Channel (this is public)" +#: ../../include/nav.php:102 ../../include/conversation.php:1690 +msgid "Bookmarks" msgstr "" -#: ../../include/js_strings.php:21 -msgid "Describe (optional)" +#: ../../include/nav.php:102 +msgid "Your bookmarks" msgstr "" -#: ../../include/js_strings.php:23 -msgid "Please enter a link URL" +#: ../../include/nav.php:106 +msgid "Your webpages" msgstr "" -#: ../../include/js_strings.php:24 -msgid "Unsaved changes. Are you sure you wish to leave this page?" +#: ../../include/nav.php:108 +msgid "Your wiki" msgstr "" -#: ../../include/js_strings.php:27 -msgid "timeago.prefixAgo" +#: ../../include/nav.php:112 +msgid "Sign in" msgstr "" -#: ../../include/js_strings.php:28 -msgid "timeago.prefixFromNow" +#: ../../include/nav.php:129 +#, php-format +msgid "%s - click to logout" msgstr "" -#: ../../include/js_strings.php:29 -msgid "ago" +#: ../../include/nav.php:132 +msgid "Remote authentication" msgstr "" -#: ../../include/js_strings.php:30 -msgid "from now" +#: ../../include/nav.php:132 +msgid "Click to authenticate to your home hub" msgstr "" -#: ../../include/js_strings.php:31 -msgid "less than a minute" +#: ../../include/nav.php:146 +msgid "Home Page" msgstr "" -#: ../../include/js_strings.php:32 -msgid "about a minute" +#: ../../include/nav.php:149 +msgid "Create an account" msgstr "" -#: ../../include/js_strings.php:33 -#, php-format -msgid "%d minutes" +#: ../../include/nav.php:161 +msgid "Help and documentation" msgstr "" -#: ../../include/js_strings.php:34 -msgid "about an hour" +#: ../../include/nav.php:165 +msgid "Applications, utilities, links, games" msgstr "" -#: ../../include/js_strings.php:35 -#, php-format -msgid "about %d hours" +#: ../../include/nav.php:167 +msgid "Search site @name, #tag, ?docs, content" msgstr "" -#: ../../include/js_strings.php:36 -msgid "a day" +#: ../../include/nav.php:169 +msgid "Channel Directory" msgstr "" -#: ../../include/js_strings.php:37 -#, php-format -msgid "%d days" +#: ../../include/nav.php:181 +msgid "Your grid" msgstr "" -#: ../../include/js_strings.php:38 -msgid "about a month" +#: ../../include/nav.php:182 +msgid "Mark all grid notifications seen" msgstr "" -#: ../../include/js_strings.php:39 -#, php-format -msgid "%d months" +#: ../../include/nav.php:184 +msgid "Channel home" msgstr "" -#: ../../include/js_strings.php:40 -msgid "about a year" +#: ../../include/nav.php:185 +msgid "Mark all channel notifications seen" msgstr "" -#: ../../include/js_strings.php:41 -#, php-format -msgid "%d years" +#: ../../include/nav.php:191 +msgid "Notices" msgstr "" -#: ../../include/js_strings.php:42 -msgid " " +#: ../../include/nav.php:191 +msgid "Notifications" msgstr "" -#: ../../include/js_strings.php:43 -msgid "timeago.numbers" +#: ../../include/nav.php:192 +msgid "See all notifications" msgstr "" -#: ../../include/js_strings.php:45 ../../include/text.php:1237 -msgid "January" +#: ../../include/nav.php:195 +msgid "Private mail" msgstr "" -#: ../../include/js_strings.php:46 ../../include/text.php:1237 -msgid "February" +#: ../../include/nav.php:196 +msgid "See all private messages" msgstr "" -#: ../../include/js_strings.php:47 ../../include/text.php:1237 -msgid "March" +#: ../../include/nav.php:197 +msgid "Mark all private messages seen" msgstr "" -#: ../../include/js_strings.php:48 ../../include/text.php:1237 -msgid "April" +#: ../../include/nav.php:203 +msgid "Event Calendar" msgstr "" -#: ../../include/js_strings.php:49 -msgctxt "long" -msgid "May" +#: ../../include/nav.php:204 +msgid "See all events" msgstr "" -#: ../../include/js_strings.php:50 ../../include/text.php:1237 -msgid "June" +#: ../../include/nav.php:205 +msgid "Mark all events seen" msgstr "" -#: ../../include/js_strings.php:51 ../../include/text.php:1237 -msgid "July" +#: ../../include/nav.php:208 +msgid "Manage Your Channels" msgstr "" -#: ../../include/js_strings.php:52 ../../include/text.php:1237 -msgid "August" +#: ../../include/nav.php:210 +msgid "Account/Channel Settings" msgstr "" -#: ../../include/js_strings.php:53 ../../include/text.php:1237 -msgid "September" +#: ../../include/nav.php:218 +msgid "Site Setup and Configuration" msgstr "" -#: ../../include/js_strings.php:54 ../../include/text.php:1237 -msgid "October" +#: ../../include/nav.php:249 ../../include/conversation.php:854 +msgid "Loading..." msgstr "" -#: ../../include/js_strings.php:55 ../../include/text.php:1237 -msgid "November" +#: ../../include/nav.php:254 +msgid "@name, #tag, ?doc, content" msgstr "" -#: ../../include/js_strings.php:56 ../../include/text.php:1237 -msgid "December" +#: ../../include/nav.php:255 +msgid "Please wait..." msgstr "" -#: ../../include/js_strings.php:57 -msgid "Jan" +#: ../../include/network.php:704 +msgid "view full size" msgstr "" -#: ../../include/js_strings.php:58 -msgid "Feb" +#: ../../include/network.php:1930 ../../include/account.php:317 +#: ../../include/account.php:344 ../../include/account.php:404 +msgid "Administrator" msgstr "" -#: ../../include/js_strings.php:59 -msgid "Mar" +#: ../../include/network.php:1944 +msgid "No Subject" msgstr "" -#: ../../include/js_strings.php:60 -msgid "Apr" +#: ../../include/network.php:2198 ../../include/network.php:2199 +msgid "Friendica" msgstr "" -#: ../../include/js_strings.php:61 -msgctxt "short" -msgid "May" +#: ../../include/network.php:2200 +msgid "OStatus" msgstr "" -#: ../../include/js_strings.php:62 -msgid "Jun" +#: ../../include/network.php:2201 +msgid "GNU-Social" msgstr "" -#: ../../include/js_strings.php:63 -msgid "Jul" +#: ../../include/network.php:2202 +msgid "RSS/Atom" msgstr "" -#: ../../include/js_strings.php:64 -msgid "Aug" +#: ../../include/network.php:2204 +msgid "Diaspora" msgstr "" -#: ../../include/js_strings.php:65 -msgid "Sep" +#: ../../include/network.php:2205 +msgid "Facebook" msgstr "" -#: ../../include/js_strings.php:66 -msgid "Oct" +#: ../../include/network.php:2206 +msgid "Zot" msgstr "" -#: ../../include/js_strings.php:67 -msgid "Nov" +#: ../../include/network.php:2207 +msgid "LinkedIn" msgstr "" -#: ../../include/js_strings.php:68 -msgid "Dec" +#: ../../include/network.php:2208 +msgid "XMPP/IM" msgstr "" -#: ../../include/js_strings.php:69 ../../include/text.php:1233 -msgid "Sunday" +#: ../../include/network.php:2209 +msgid "MySpace" msgstr "" -#: ../../include/js_strings.php:70 ../../include/text.php:1233 -msgid "Monday" +#: ../../include/oembed.php:325 +msgid "Embedded content" msgstr "" -#: ../../include/js_strings.php:71 ../../include/text.php:1233 -msgid "Tuesday" +#: ../../include/oembed.php:334 +msgid "Embedding disabled" msgstr "" -#: ../../include/js_strings.php:72 ../../include/text.php:1233 -msgid "Wednesday" +#: ../../include/page_widgets.php:7 +msgid "New Page" msgstr "" -#: ../../include/js_strings.php:73 ../../include/text.php:1233 -msgid "Thursday" +#: ../../include/page_widgets.php:46 +msgid "Title" msgstr "" -#: ../../include/js_strings.php:74 ../../include/text.php:1233 -msgid "Friday" +#: ../../include/photos.php:114 +#, php-format +msgid "Image exceeds website size limit of %lu bytes" msgstr "" -#: ../../include/js_strings.php:75 ../../include/text.php:1233 -msgid "Saturday" +#: ../../include/photos.php:121 +msgid "Image file is empty." msgstr "" -#: ../../include/js_strings.php:76 -msgid "Sun" +#: ../../include/photos.php:259 +msgid "Photo storage failed." msgstr "" -#: ../../include/js_strings.php:77 -msgid "Mon" +#: ../../include/photos.php:299 +msgid "a new photo" msgstr "" -#: ../../include/js_strings.php:78 -msgid "Tue" +#: ../../include/photos.php:303 +#, php-format +msgctxt "photo_upload" +msgid "%1$s posted %2$s to %3$s" msgstr "" -#: ../../include/js_strings.php:79 -msgid "Wed" +#: ../../include/photos.php:506 ../../include/conversation.php:1650 +msgid "Photo Albums" msgstr "" -#: ../../include/js_strings.php:80 -msgid "Thu" +#: ../../include/photos.php:510 +msgid "Upload New Photos" msgstr "" -#: ../../include/js_strings.php:81 -msgid "Fri" +#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249 +msgid "Tags" msgstr "" -#: ../../include/js_strings.php:82 -msgid "Sat" +#: ../../include/taxonomy.php:293 +msgid "Keywords" msgstr "" -#: ../../include/js_strings.php:83 -msgctxt "calendar" -msgid "today" +#: ../../include/taxonomy.php:314 +msgid "have" msgstr "" -#: ../../include/js_strings.php:84 -msgctxt "calendar" -msgid "month" +#: ../../include/taxonomy.php:314 +msgid "has" msgstr "" -#: ../../include/js_strings.php:85 -msgctxt "calendar" -msgid "week" +#: ../../include/taxonomy.php:315 +msgid "want" msgstr "" -#: ../../include/js_strings.php:86 -msgctxt "calendar" -msgid "day" +#: ../../include/taxonomy.php:315 +msgid "wants" msgstr "" -#: ../../include/js_strings.php:87 -msgctxt "calendar" -msgid "All day" +#: ../../include/taxonomy.php:316 +msgid "likes" msgstr "" -#: ../../include/nav.php:82 ../../include/nav.php:115 ../../boot.php:1703 -msgid "Logout" +#: ../../include/taxonomy.php:317 +msgid "dislikes" msgstr "" -#: ../../include/nav.php:82 ../../include/nav.php:115 -msgid "End this session" +#: ../../include/follow.php:27 +msgid "Channel is blocked on this site." msgstr "" -#: ../../include/nav.php:85 ../../include/nav.php:146 -msgid "Home" +#: ../../include/follow.php:32 +msgid "Channel location missing." msgstr "" -#: ../../include/nav.php:85 -msgid "Your posts and conversations" +#: ../../include/follow.php:81 +msgid "Response from remote channel was incomplete." msgstr "" -#: ../../include/nav.php:86 -msgid "Your profile page" +#: ../../include/follow.php:98 +msgid "Channel was deleted and no longer exists." msgstr "" -#: ../../include/nav.php:88 -msgid "Manage/Edit profiles" -msgstr "" +#: ../../include/follow.php:154 ../../include/follow.php:190 +msgid "Protocol disabled." +msgstr "" -#: ../../include/nav.php:90 ../../include/channel.php:965 -msgid "Edit Profile" +#: ../../include/follow.php:178 +msgid "Channel discovery failed." msgstr "" -#: ../../include/nav.php:90 -msgid "Edit your profile" +#: ../../include/follow.php:216 +msgid "Cannot connect to yourself." msgstr "" -#: ../../include/nav.php:92 -msgid "Your photos" +#: ../../include/channel.php:32 +msgid "Unable to obtain identity information from database" msgstr "" -#: ../../include/nav.php:93 -msgid "Your files" +#: ../../include/channel.php:66 +msgid "Empty name" msgstr "" -#: ../../include/nav.php:96 -msgid "Your chatrooms" +#: ../../include/channel.php:69 +msgid "Name too long" msgstr "" -#: ../../include/nav.php:102 -msgid "Your bookmarks" +#: ../../include/channel.php:180 +msgid "No account identifier" msgstr "" -#: ../../include/nav.php:106 -msgid "Your webpages" +#: ../../include/channel.php:192 +msgid "Nickname is required." msgstr "" -#: ../../include/nav.php:108 -msgid "Your wiki" +#: ../../include/channel.php:206 +msgid "Reserved nickname. Please choose another." msgstr "" -#: ../../include/nav.php:112 -msgid "Sign in" +#: ../../include/channel.php:211 +msgid "" +"Nickname has unsupported characters or is already being used on this site." msgstr "" -#: ../../include/nav.php:129 -#, php-format -msgid "%s - click to logout" +#: ../../include/channel.php:287 +msgid "Unable to retrieve created identity" msgstr "" -#: ../../include/nav.php:132 -msgid "Remote authentication" +#: ../../include/channel.php:345 +msgid "Default Profile" msgstr "" -#: ../../include/nav.php:132 -msgid "Click to authenticate to your home hub" +#: ../../include/channel.php:815 +msgid "Requested channel is not available." msgstr "" -#: ../../include/nav.php:146 -msgid "Home Page" +#: ../../include/channel.php:962 +msgid "Create New Profile" msgstr "" -#: ../../include/nav.php:149 -msgid "Create an account" +#: ../../include/channel.php:982 +msgid "Visible to everybody" msgstr "" -#: ../../include/nav.php:161 -msgid "Help and documentation" +#: ../../include/channel.php:1055 ../../include/channel.php:1167 +msgid "Gender:" msgstr "" -#: ../../include/nav.php:165 -msgid "Applications, utilities, links, games" +#: ../../include/channel.php:1056 ../../include/channel.php:1211 +msgid "Status:" msgstr "" -#: ../../include/nav.php:167 -msgid "Search site @name, #tag, ?docs, content" +#: ../../include/channel.php:1057 ../../include/channel.php:1222 +msgid "Homepage:" msgstr "" -#: ../../include/nav.php:169 -msgid "Channel Directory" +#: ../../include/channel.php:1058 +msgid "Online Now" msgstr "" -#: ../../include/nav.php:181 -msgid "Your grid" +#: ../../include/channel.php:1172 +msgid "Like this channel" msgstr "" -#: ../../include/nav.php:182 -msgid "Mark all grid notifications seen" +#: ../../include/channel.php:1196 +msgid "j F, Y" msgstr "" -#: ../../include/nav.php:184 -msgid "Channel home" +#: ../../include/channel.php:1197 +msgid "j F" msgstr "" -#: ../../include/nav.php:185 -msgid "Mark all channel notifications seen" +#: ../../include/channel.php:1204 +msgid "Birthday:" msgstr "" -#: ../../include/nav.php:191 -msgid "Notices" +#: ../../include/channel.php:1217 +#, php-format +msgid "for %1$d %2$s" msgstr "" -#: ../../include/nav.php:191 -msgid "Notifications" +#: ../../include/channel.php:1220 +msgid "Sexual Preference:" msgstr "" -#: ../../include/nav.php:192 -msgid "See all notifications" +#: ../../include/channel.php:1226 +msgid "Tags:" msgstr "" -#: ../../include/nav.php:195 -msgid "Private mail" +#: ../../include/channel.php:1228 +msgid "Political Views:" msgstr "" -#: ../../include/nav.php:196 -msgid "See all private messages" +#: ../../include/channel.php:1230 +msgid "Religion:" msgstr "" -#: ../../include/nav.php:197 -msgid "Mark all private messages seen" +#: ../../include/channel.php:1234 +msgid "Hobbies/Interests:" msgstr "" -#: ../../include/nav.php:198 ../../include/widgets.php:658 -msgid "Inbox" +#: ../../include/channel.php:1236 +msgid "Likes:" msgstr "" -#: ../../include/nav.php:199 ../../include/widgets.php:663 -msgid "Outbox" +#: ../../include/channel.php:1238 +msgid "Dislikes:" msgstr "" -#: ../../include/nav.php:200 ../../include/widgets.php:668 -msgid "New Message" +#: ../../include/channel.php:1240 +msgid "Contact information and Social Networks:" msgstr "" -#: ../../include/nav.php:203 -msgid "Event Calendar" +#: ../../include/channel.php:1242 +msgid "My other channels:" msgstr "" -#: ../../include/nav.php:204 -msgid "See all events" +#: ../../include/channel.php:1244 +msgid "Musical interests:" msgstr "" -#: ../../include/nav.php:205 -msgid "Mark all events seen" +#: ../../include/channel.php:1246 +msgid "Books, literature:" msgstr "" -#: ../../include/nav.php:208 -msgid "Manage Your Channels" +#: ../../include/channel.php:1248 +msgid "Television:" msgstr "" -#: ../../include/nav.php:210 -msgid "Account/Channel Settings" +#: ../../include/channel.php:1250 +msgid "Film/dance/culture/entertainment:" msgstr "" -#: ../../include/nav.php:218 ../../include/widgets.php:1474 -msgid "Admin" +#: ../../include/channel.php:1252 +msgid "Love/Romance:" msgstr "" -#: ../../include/nav.php:218 -msgid "Site Setup and Configuration" +#: ../../include/channel.php:1254 +msgid "Work/employment:" msgstr "" -#: ../../include/nav.php:254 -msgid "@name, #tag, ?doc, content" +#: ../../include/channel.php:1256 +msgid "School/education:" msgstr "" -#: ../../include/nav.php:255 -msgid "Please wait..." +#: ../../include/channel.php:1277 +msgid "Like this thing" msgstr "" #: ../../include/selectors.php:30 @@ -8107,1240 +8061,1349 @@ msgstr "" msgid "Happy Birthday %1$s" msgstr "" -#: ../../include/follow.php:27 -msgid "Channel is blocked on this site." +#: ../../include/conversation.php:204 +#, php-format +msgid "%1$s is now connected with %2$s" msgstr "" -#: ../../include/follow.php:32 -msgid "Channel location missing." +#: ../../include/conversation.php:239 +#, php-format +msgid "%1$s poked %2$s" msgstr "" -#: ../../include/follow.php:81 -msgid "Response from remote channel was incomplete." +#: ../../include/conversation.php:243 ../../include/text.php:1013 +#: ../../include/text.php:1018 +msgid "poked" msgstr "" -#: ../../include/follow.php:98 -msgid "Channel was deleted and no longer exists." +#: ../../include/conversation.php:694 +#, php-format +msgid "View %s's profile @ %s" msgstr "" -#: ../../include/follow.php:154 ../../include/follow.php:190 -msgid "Protocol disabled." +#: ../../include/conversation.php:713 +msgid "Categories:" msgstr "" -#: ../../include/follow.php:178 -msgid "Channel discovery failed." +#: ../../include/conversation.php:714 +msgid "Filed under:" msgstr "" -#: ../../include/follow.php:216 -msgid "Cannot connect to yourself." +#: ../../include/conversation.php:741 +msgid "View in context" msgstr "" -#: ../../include/import.php:29 -msgid "" -"Cannot create a duplicate channel identifier on this system. Import failed." +#: ../../include/conversation.php:850 +msgid "remove" msgstr "" -#: ../../include/import.php:76 -msgid "Channel clone failed. Import failed." +#: ../../include/conversation.php:855 +msgid "Delete Selected Items" msgstr "" -#: ../../include/security.php:383 -msgid "" -"The form security token was not correct. This probably happened because the " -"form has been opened for too long (>3 hours) before submitting it." +#: ../../include/conversation.php:951 +msgid "View Source" msgstr "" -#: ../../include/api.php:1326 -msgid "Public Timeline" +#: ../../include/conversation.php:952 +msgid "Follow Thread" msgstr "" -#: ../../include/page_widgets.php:7 -msgid "New Page" +#: ../../include/conversation.php:953 +msgid "Unfollow Thread" msgstr "" -#: ../../include/page_widgets.php:46 -msgid "Title" +#: ../../include/conversation.php:958 +msgid "Activity/Posts" msgstr "" -#: ../../include/photos.php:114 -#, php-format -msgid "Image exceeds website size limit of %lu bytes" +#: ../../include/conversation.php:960 +msgid "Edit Connection" msgstr "" -#: ../../include/photos.php:121 -msgid "Image file is empty." +#: ../../include/conversation.php:961 +msgid "Message" msgstr "" -#: ../../include/photos.php:259 -msgid "Photo storage failed." +#: ../../include/conversation.php:1078 +#, php-format +msgid "%s likes this." msgstr "" -#: ../../include/photos.php:299 -msgid "a new photo" +#: ../../include/conversation.php:1078 +#, php-format +msgid "%s doesn't like this." msgstr "" -#: ../../include/photos.php:303 +#: ../../include/conversation.php:1082 #, php-format -msgctxt "photo_upload" -msgid "%1$s posted %2$s to %3$s" -msgstr "" +msgid "%2$d people like this." +msgid_plural "%2$d people like this." +msgstr[0] "" +msgstr[1] "" -#: ../../include/photos.php:510 -msgid "Upload New Photos" -msgstr "" +#: ../../include/conversation.php:1084 +#, php-format +msgid "%2$d people don't like this." +msgid_plural "%2$d people don't like this." +msgstr[0] "" +msgstr[1] "" -#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270 -#: ../../include/widgets.php:46 ../../include/widgets.php:429 -#: ../../include/contact_widgets.php:91 -msgid "Categories" +#: ../../include/conversation.php:1090 +msgid "and" msgstr "" -#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249 -msgid "Tags" +#: ../../include/conversation.php:1093 +#, php-format +msgid ", and %d other people" +msgid_plural ", and %d other people" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1094 +#, php-format +msgid "%s like this." msgstr "" -#: ../../include/taxonomy.php:293 -msgid "Keywords" +#: ../../include/conversation.php:1094 +#, php-format +msgid "%s don't like this." msgstr "" -#: ../../include/taxonomy.php:314 -msgid "have" +#: ../../include/conversation.php:1133 +msgid "Set your location" msgstr "" -#: ../../include/taxonomy.php:314 -msgid "has" +#: ../../include/conversation.php:1134 +msgid "Clear browser location" msgstr "" -#: ../../include/taxonomy.php:315 -msgid "want" +#: ../../include/conversation.php:1182 +msgid "Tag term:" msgstr "" -#: ../../include/taxonomy.php:315 -msgid "wants" +#: ../../include/conversation.php:1183 +msgid "Where are you right now?" msgstr "" -#: ../../include/taxonomy.php:316 -msgid "likes" +#: ../../include/conversation.php:1221 +msgid "Page link name" msgstr "" -#: ../../include/taxonomy.php:317 -msgid "dislikes" +#: ../../include/conversation.php:1224 +msgid "Post as" msgstr "" -#: ../../include/zot.php:709 -msgid "Invalid data packet" +#: ../../include/conversation.php:1238 +msgid "Toggle voting" msgstr "" -#: ../../include/zot.php:725 -msgid "Unable to verify channel signature" +#: ../../include/conversation.php:1246 +msgid "Categories (optional, comma-separated list)" msgstr "" -#: ../../include/zot.php:2373 -#, php-format -msgid "Unable to verify site signature for %s" +#: ../../include/conversation.php:1269 +msgid "Set publish date" msgstr "" -#: ../../include/zot.php:3718 -msgid "invalid target signature" +#: ../../include/conversation.php:1518 +msgid "Discover" msgstr "" -#: ../../include/attach.php:247 ../../include/attach.php:333 -msgid "Item was not found." +#: ../../include/conversation.php:1521 +msgid "Imported public streams" msgstr "" -#: ../../include/attach.php:499 -msgid "No source file." +#: ../../include/conversation.php:1526 +msgid "Commented Order" msgstr "" -#: ../../include/attach.php:521 -msgid "Cannot locate file to replace" +#: ../../include/conversation.php:1529 +msgid "Sort by Comment Date" msgstr "" -#: ../../include/attach.php:539 -msgid "Cannot locate file to revise/update" +#: ../../include/conversation.php:1533 +msgid "Posted Order" msgstr "" -#: ../../include/attach.php:674 -#, php-format -msgid "File exceeds size limit of %d" +#: ../../include/conversation.php:1536 +msgid "Sort by Post Date" msgstr "" -#: ../../include/attach.php:688 -#, php-format -msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +#: ../../include/conversation.php:1544 +msgid "Posts that mention or involve you" msgstr "" -#: ../../include/attach.php:846 -msgid "File upload failed. Possible system limit or action terminated." +#: ../../include/conversation.php:1553 +msgid "Activity Stream - by date" msgstr "" -#: ../../include/attach.php:859 -msgid "Stored file could not be verified. Upload failed." +#: ../../include/conversation.php:1559 +msgid "Starred" msgstr "" -#: ../../include/attach.php:915 ../../include/attach.php:931 -msgid "Path not available." +#: ../../include/conversation.php:1562 +msgid "Favourite Posts" msgstr "" -#: ../../include/attach.php:977 ../../include/attach.php:1129 -msgid "Empty pathname" +#: ../../include/conversation.php:1569 +msgid "Spam" msgstr "" -#: ../../include/attach.php:1003 -msgid "duplicate filename or path" +#: ../../include/conversation.php:1572 +msgid "Posts flagged as SPAM" msgstr "" -#: ../../include/attach.php:1025 -msgid "Path not found." +#: ../../include/conversation.php:1629 +msgid "Status Messages and Posts" msgstr "" -#: ../../include/attach.php:1083 -msgid "mkdir failed." +#: ../../include/conversation.php:1638 +msgid "About" msgstr "" -#: ../../include/attach.php:1087 -msgid "database storage failed." +#: ../../include/conversation.php:1641 +msgid "Profile Details" msgstr "" -#: ../../include/attach.php:1135 -msgid "Empty path" +#: ../../include/conversation.php:1657 +msgid "Files and Storage" msgstr "" -#: ../../include/widgets.php:103 -msgid "System" +#: ../../include/conversation.php:1693 +msgid "Saved Bookmarks" msgstr "" -#: ../../include/widgets.php:106 -msgid "New App" +#: ../../include/conversation.php:1703 +msgid "Manage Webpages" msgstr "" -#: ../../include/widgets.php:154 -msgid "Suggestions" +#: ../../include/conversation.php:1768 +msgctxt "noun" +msgid "Attending" +msgid_plural "Attending" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1771 +msgctxt "noun" +msgid "Not Attending" +msgid_plural "Not Attending" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1774 +msgctxt "noun" +msgid "Undecided" +msgid_plural "Undecided" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1777 +msgctxt "noun" +msgid "Agree" +msgid_plural "Agrees" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1780 +msgctxt "noun" +msgid "Disagree" +msgid_plural "Disagrees" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1783 +msgctxt "noun" +msgid "Abstain" +msgid_plural "Abstains" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/items.php:898 ../../include/items.php:943 +msgid "(Unknown)" msgstr "" -#: ../../include/widgets.php:155 -msgid "See more..." +#: ../../include/items.php:1142 +msgid "Visible to anybody on the internet." msgstr "" -#: ../../include/widgets.php:175 +#: ../../include/items.php:1144 +msgid "Visible to you only." +msgstr "" + +#: ../../include/items.php:1146 +msgid "Visible to anybody in this network." +msgstr "" + +#: ../../include/items.php:1148 +msgid "Visible to anybody authenticated." +msgstr "" + +#: ../../include/items.php:1150 #, php-format -msgid "You have %1$.0f of %2$.0f allowed connections." +msgid "Visible to anybody on %s." msgstr "" -#: ../../include/widgets.php:181 -msgid "Add New Connection" +#: ../../include/items.php:1152 +msgid "Visible to all connections." msgstr "" -#: ../../include/widgets.php:182 -msgid "Enter channel address" +#: ../../include/items.php:1154 +msgid "Visible to approved connections." msgstr "" -#: ../../include/widgets.php:183 -msgid "Examples: bob@example.com, https://example.com/barbara" +#: ../../include/items.php:1156 +msgid "Visible to specific connections." msgstr "" -#: ../../include/widgets.php:199 -msgid "Notes" +#: ../../include/items.php:3919 +msgid "Privacy group is empty." msgstr "" -#: ../../include/widgets.php:273 -msgid "Remove term" +#: ../../include/items.php:3926 +#, php-format +msgid "Privacy group: %s" msgstr "" -#: ../../include/widgets.php:281 ../../include/features.php:85 -msgid "Saved Searches" +#: ../../include/items.php:3938 +msgid "Connection not found." msgstr "" -#: ../../include/widgets.php:310 ../../include/features.php:99 -#: ../../include/contact_widgets.php:53 -msgid "Saved Folders" +#: ../../include/items.php:4291 +msgid "profile photo" msgstr "" -#: ../../include/widgets.php:313 ../../include/widgets.php:432 -#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94 -msgid "Everything" +#: ../../include/connections.php:95 +msgid "New window" msgstr "" -#: ../../include/widgets.php:354 -msgid "Archives" +#: ../../include/connections.php:96 +msgid "Open the selected location in a different window or browser tab" msgstr "" -#: ../../include/widgets.php:516 -msgid "Refresh" +#: ../../include/connections.php:214 +#, php-format +msgid "User '%s' deleted" msgstr "" -#: ../../include/widgets.php:556 -msgid "Account settings" +#: ../../include/features.php:48 +msgid "General Features" msgstr "" -#: ../../include/widgets.php:562 -msgid "Channel settings" +#: ../../include/features.php:50 +msgid "Content Expiration" msgstr "" -#: ../../include/widgets.php:571 -msgid "Additional features" +#: ../../include/features.php:50 +msgid "Remove posts/comments and/or private messages at a future time" msgstr "" -#: ../../include/widgets.php:578 -msgid "Feature/Addon settings" +#: ../../include/features.php:51 +msgid "Multiple Profiles" msgstr "" -#: ../../include/widgets.php:584 -msgid "Display settings" +#: ../../include/features.php:51 +msgid "Ability to create multiple profiles" msgstr "" -#: ../../include/widgets.php:591 -msgid "Manage locations" +#: ../../include/features.php:52 +msgid "Advanced Profiles" msgstr "" -#: ../../include/widgets.php:600 -msgid "Export channel" +#: ../../include/features.php:52 +msgid "Additional profile sections and selections" msgstr "" -#: ../../include/widgets.php:607 -msgid "Connected apps" +#: ../../include/features.php:53 +msgid "Profile Import/Export" msgstr "" -#: ../../include/widgets.php:622 -msgid "Premium Channel Settings" +#: ../../include/features.php:53 +msgid "Save and load profile details across sites/channels" msgstr "" -#: ../../include/widgets.php:651 -msgid "Private Mail Menu" +#: ../../include/features.php:54 +msgid "Web Pages" msgstr "" -#: ../../include/widgets.php:653 -msgid "Combined View" +#: ../../include/features.php:54 +msgid "Provide managed web pages on your channel" msgstr "" -#: ../../include/widgets.php:685 ../../include/widgets.php:697 -msgid "Conversations" +#: ../../include/features.php:55 +msgid "Provide a wiki for your channel" msgstr "" -#: ../../include/widgets.php:689 -msgid "Received Messages" +#: ../../include/features.php:56 +msgid "Hide Rating" msgstr "" -#: ../../include/widgets.php:693 -msgid "Sent Messages" +#: ../../include/features.php:56 +msgid "" +"Hide the rating buttons on your channel and profile pages. Note: People can " +"still rate you somewhere else." msgstr "" -#: ../../include/widgets.php:707 -msgid "No messages." +#: ../../include/features.php:57 +msgid "Private Notes" msgstr "" -#: ../../include/widgets.php:725 -msgid "Delete conversation" +#: ../../include/features.php:57 +msgid "Enables a tool to store notes and reminders (note: not encrypted)" msgstr "" -#: ../../include/widgets.php:751 -msgid "Events Tools" +#: ../../include/features.php:58 +msgid "Navigation Channel Select" msgstr "" -#: ../../include/widgets.php:752 -msgid "Export Calendar" +#: ../../include/features.php:58 +msgid "Change channels directly from within the navigation dropdown menu" msgstr "" -#: ../../include/widgets.php:753 -msgid "Import Calendar" +#: ../../include/features.php:59 +msgid "Photo Location" msgstr "" -#: ../../include/widgets.php:831 -msgid "Overview" +#: ../../include/features.php:59 +msgid "If location data is available on uploaded photos, link this to a map." msgstr "" -#: ../../include/widgets.php:838 -msgid "Chat Members" +#: ../../include/features.php:60 +msgid "Access Controlled Chatrooms" msgstr "" -#: ../../include/widgets.php:860 -msgid "Wiki List" +#: ../../include/features.php:60 +msgid "Provide chatrooms and chat services with access control." msgstr "" -#: ../../include/widgets.php:898 -msgid "Wiki Pages" +#: ../../include/features.php:61 +msgid "Smart Birthdays" msgstr "" -#: ../../include/widgets.php:933 -msgid "Bookmarked Chatrooms" +#: ../../include/features.php:61 +msgid "" +"Make birthday events timezone aware in case your friends are scattered " +"across the planet." msgstr "" -#: ../../include/widgets.php:956 -msgid "Suggested Chatrooms" +#: ../../include/features.php:62 +msgid "Expert Mode" msgstr "" -#: ../../include/widgets.php:1102 ../../include/widgets.php:1214 -msgid "photo/image" +#: ../../include/features.php:62 +msgid "Enable Expert Mode to provide advanced configuration options" msgstr "" -#: ../../include/widgets.php:1157 -msgid "Click to show more" +#: ../../include/features.php:63 +msgid "Premium Channel" msgstr "" -#: ../../include/widgets.php:1308 -msgid "Rating Tools" +#: ../../include/features.php:63 +msgid "" +"Allows you to set restrictions and terms on those that connect with your " +"channel" msgstr "" -#: ../../include/widgets.php:1312 ../../include/widgets.php:1314 -msgid "Rate Me" +#: ../../include/features.php:68 +msgid "Post Composition Features" msgstr "" -#: ../../include/widgets.php:1317 -msgid "View Ratings" +#: ../../include/features.php:71 +msgid "Large Photos" msgstr "" -#: ../../include/widgets.php:1374 -msgid "Forums" +#: ../../include/features.php:71 +msgid "" +"Include large (1024px) photo thumbnails in posts. If not enabled, use small " +"(640px) photo thumbnails" msgstr "" -#: ../../include/widgets.php:1403 -msgid "Tasks" +#: ../../include/features.php:72 +msgid "Automatically import channel content from other channels or feeds" msgstr "" -#: ../../include/widgets.php:1412 -msgid "Documentation" +#: ../../include/features.php:73 +msgid "Even More Encryption" msgstr "" -#: ../../include/widgets.php:1414 -msgid "Project/Site Information" +#: ../../include/features.php:73 +msgid "" +"Allow optional encryption of content end-to-end with a shared secret key" msgstr "" -#: ../../include/widgets.php:1415 -msgid "For Members" +#: ../../include/features.php:74 +msgid "Enable Voting Tools" msgstr "" -#: ../../include/widgets.php:1416 -msgid "For Administrators" +#: ../../include/features.php:74 +msgid "Provide a class of post which others can vote on" msgstr "" -#: ../../include/widgets.php:1417 -msgid "For Developers" +#: ../../include/features.php:75 +msgid "Delayed Posting" msgstr "" -#: ../../include/widgets.php:1441 ../../include/widgets.php:1479 -msgid "Member registrations waiting for confirmation" +#: ../../include/features.php:75 +msgid "Allow posts to be published at a later date" msgstr "" -#: ../../include/widgets.php:1447 -msgid "Inspect queue" +#: ../../include/features.php:76 +msgid "Suppress Duplicate Posts/Comments" msgstr "" -#: ../../include/widgets.php:1449 -msgid "DB updates" +#: ../../include/features.php:76 +msgid "" +"Prevent posts with identical content to be published with less than two " +"minutes in between submissions." msgstr "" -#: ../../include/widgets.php:1475 -msgid "Plugin Features" +#: ../../include/features.php:82 +msgid "Network and Stream Filtering" msgstr "" -#: ../../include/text.php:404 -msgid "prev" +#: ../../include/features.php:83 +msgid "Search by Date" msgstr "" -#: ../../include/text.php:406 -msgid "first" +#: ../../include/features.php:83 +msgid "Ability to select posts by date ranges" msgstr "" -#: ../../include/text.php:435 -msgid "last" +#: ../../include/features.php:84 ../../include/group.php:311 +msgid "Privacy Groups" msgstr "" -#: ../../include/text.php:438 -msgid "next" +#: ../../include/features.php:84 +msgid "Enable management and selection of privacy groups" msgstr "" -#: ../../include/text.php:448 -msgid "older" +#: ../../include/features.php:85 +msgid "Save search terms for re-use" msgstr "" -#: ../../include/text.php:450 -msgid "newer" +#: ../../include/features.php:86 +msgid "Network Personal Tab" msgstr "" -#: ../../include/text.php:839 -msgid "No connections" +#: ../../include/features.php:86 +msgid "Enable tab to display only Network posts that you've interacted on" msgstr "" -#: ../../include/text.php:864 -#, php-format -msgid "View all %s connections" +#: ../../include/features.php:87 +msgid "Network New Tab" msgstr "" -#: ../../include/text.php:1009 ../../include/text.php:1014 -msgid "poke" +#: ../../include/features.php:87 +msgid "Enable tab to display all new Network activity" msgstr "" -#: ../../include/text.php:1015 -msgid "ping" +#: ../../include/features.php:88 +msgid "Affinity Tool" msgstr "" -#: ../../include/text.php:1015 -msgid "pinged" +#: ../../include/features.php:88 +msgid "Filter stream activity by depth of relationships" msgstr "" -#: ../../include/text.php:1016 -msgid "prod" +#: ../../include/features.php:89 +msgid "Connection Filtering" msgstr "" -#: ../../include/text.php:1016 -msgid "prodded" +#: ../../include/features.php:89 +msgid "Filter incoming posts from connections based on keywords/content" msgstr "" -#: ../../include/text.php:1017 -msgid "slap" +#: ../../include/features.php:90 +msgid "Show channel suggestions" msgstr "" -#: ../../include/text.php:1017 -msgid "slapped" +#: ../../include/features.php:95 +msgid "Post/Comment Tools" msgstr "" -#: ../../include/text.php:1018 -msgid "finger" +#: ../../include/features.php:96 +msgid "Community Tagging" msgstr "" -#: ../../include/text.php:1018 -msgid "fingered" +#: ../../include/features.php:96 +msgid "Ability to tag existing posts" msgstr "" -#: ../../include/text.php:1019 -msgid "rebuff" +#: ../../include/features.php:97 +msgid "Post Categories" msgstr "" -#: ../../include/text.php:1019 -msgid "rebuffed" +#: ../../include/features.php:97 +msgid "Add categories to your posts" msgstr "" -#: ../../include/text.php:1031 -msgid "happy" +#: ../../include/features.php:98 +msgid "Emoji Reactions" msgstr "" -#: ../../include/text.php:1032 -msgid "sad" +#: ../../include/features.php:98 +msgid "Add emoji reaction ability to posts" +msgstr "" + +#: ../../include/features.php:99 +msgid "Ability to file posts under folders" +msgstr "" + +#: ../../include/features.php:100 +msgid "Dislike Posts" +msgstr "" + +#: ../../include/features.php:100 +msgid "Ability to dislike posts/comments" +msgstr "" + +#: ../../include/features.php:101 +msgid "Star Posts" +msgstr "" + +#: ../../include/features.php:101 +msgid "Ability to mark special posts with a star indicator" +msgstr "" + +#: ../../include/features.php:102 +msgid "Tag Cloud" +msgstr "" + +#: ../../include/features.php:102 +msgid "Provide a personal tag cloud on your channel page" +msgstr "" + +#: ../../include/group.php:26 +msgid "" +"A deleted group with this name was revived. Existing item permissions " +"may apply to this group and any future members. If this is " +"not what you intended, please create another group with a different name." msgstr "" -#: ../../include/text.php:1033 -msgid "mellow" +#: ../../include/group.php:248 +msgid "Add new connections to this privacy group" msgstr "" -#: ../../include/text.php:1034 -msgid "tired" +#: ../../include/group.php:289 +msgid "edit" msgstr "" -#: ../../include/text.php:1035 -msgid "perky" +#: ../../include/group.php:312 +msgid "Edit group" msgstr "" -#: ../../include/text.php:1036 -msgid "angry" +#: ../../include/group.php:313 +msgid "Add privacy group" msgstr "" -#: ../../include/text.php:1037 -msgid "stupefied" +#: ../../include/group.php:314 +msgid "Channels not in any privacy group" msgstr "" -#: ../../include/text.php:1038 -msgid "puzzled" +#: ../../include/permissions.php:26 +msgid "Can view my normal stream and posts" msgstr "" -#: ../../include/text.php:1039 -msgid "interested" +#: ../../include/permissions.php:27 +msgid "Can view my default channel profile" msgstr "" -#: ../../include/text.php:1040 -msgid "bitter" +#: ../../include/permissions.php:28 +msgid "Can view my connections" msgstr "" -#: ../../include/text.php:1041 -msgid "cheerful" +#: ../../include/permissions.php:29 +msgid "Can view my file storage and photos" msgstr "" -#: ../../include/text.php:1042 -msgid "alive" +#: ../../include/permissions.php:30 +msgid "Can view my webpages" msgstr "" -#: ../../include/text.php:1043 -msgid "annoyed" +#: ../../include/permissions.php:33 +msgid "Can send me their channel stream and posts" msgstr "" -#: ../../include/text.php:1044 -msgid "anxious" +#: ../../include/permissions.php:34 +msgid "Can post on my channel page (\"wall\")" msgstr "" -#: ../../include/text.php:1045 -msgid "cranky" +#: ../../include/permissions.php:35 +msgid "Can comment on or like my posts" msgstr "" -#: ../../include/text.php:1046 -msgid "disturbed" +#: ../../include/permissions.php:36 +msgid "Can send me private mail messages" msgstr "" -#: ../../include/text.php:1047 -msgid "frustrated" +#: ../../include/permissions.php:37 +msgid "Can like/dislike stuff" msgstr "" -#: ../../include/text.php:1048 -msgid "depressed" +#: ../../include/permissions.php:37 +msgid "Profiles and things other than posts/comments" msgstr "" -#: ../../include/text.php:1049 -msgid "motivated" +#: ../../include/permissions.php:39 +msgid "Can forward to all my channel contacts via post @mentions" msgstr "" -#: ../../include/text.php:1050 -msgid "relaxed" +#: ../../include/permissions.php:39 +msgid "Advanced - useful for creating group forum channels" msgstr "" -#: ../../include/text.php:1051 -msgid "surprised" +#: ../../include/permissions.php:40 +msgid "Can chat with me (when available)" msgstr "" -#: ../../include/text.php:1237 -msgid "May" +#: ../../include/permissions.php:41 +msgid "Can write to my file storage and photos" msgstr "" -#: ../../include/text.php:1314 ../../include/text.php:1318 -msgid "Unknown Attachment" +#: ../../include/permissions.php:42 +msgid "Can edit my webpages" msgstr "" -#: ../../include/text.php:1320 -msgid "unknown" +#: ../../include/permissions.php:44 +msgid "Can source my public posts in derived channels" msgstr "" -#: ../../include/text.php:1356 -msgid "remove category" +#: ../../include/permissions.php:44 +msgid "Somewhat advanced - very useful in open communities" msgstr "" -#: ../../include/text.php:1433 -msgid "remove from file" +#: ../../include/permissions.php:46 +msgid "Can administer my channel resources" msgstr "" -#: ../../include/text.php:1730 ../../include/text.php:1801 -msgid "default" +#: ../../include/permissions.php:46 +msgid "Extremely advanced. Leave this alone unless you know what you are doing" msgstr "" -#: ../../include/text.php:1738 -msgid "Page layout" +#: ../../include/permissions.php:877 +msgid "Social Networking" msgstr "" -#: ../../include/text.php:1738 -msgid "You can create your own with the layouts tool" +#: ../../include/permissions.php:877 +msgid "Social - Mostly Public" msgstr "" -#: ../../include/text.php:1780 -msgid "Page content type" +#: ../../include/permissions.php:877 +msgid "Social - Restricted" msgstr "" -#: ../../include/text.php:1813 -msgid "Select an alternate language" +#: ../../include/permissions.php:877 +msgid "Social - Private" msgstr "" -#: ../../include/text.php:1930 -msgid "activity" +#: ../../include/permissions.php:878 +msgid "Community Forum" msgstr "" -#: ../../include/text.php:2239 -msgid "Design Tools" +#: ../../include/permissions.php:878 +msgid "Forum - Mostly Public" msgstr "" -#: ../../include/text.php:2245 -msgid "Pages" +#: ../../include/permissions.php:878 +msgid "Forum - Restricted" msgstr "" -#: ../../include/items.php:898 ../../include/items.php:943 -msgid "(Unknown)" +#: ../../include/permissions.php:878 +msgid "Forum - Private" msgstr "" -#: ../../include/items.php:1142 -msgid "Visible to anybody on the internet." +#: ../../include/permissions.php:879 +msgid "Feed Republish" msgstr "" -#: ../../include/items.php:1144 -msgid "Visible to you only." +#: ../../include/permissions.php:879 +msgid "Feed - Mostly Public" msgstr "" -#: ../../include/items.php:1146 -msgid "Visible to anybody in this network." +#: ../../include/permissions.php:879 +msgid "Feed - Restricted" msgstr "" -#: ../../include/items.php:1148 -msgid "Visible to anybody authenticated." +#: ../../include/permissions.php:880 +msgid "Special Purpose" msgstr "" -#: ../../include/items.php:1150 -#, php-format -msgid "Visible to anybody on %s." +#: ../../include/permissions.php:880 +msgid "Special - Celebrity/Soapbox" msgstr "" -#: ../../include/items.php:1152 -msgid "Visible to all connections." +#: ../../include/permissions.php:880 +msgid "Special - Group Repository" msgstr "" -#: ../../include/items.php:1154 -msgid "Visible to approved connections." +#: ../../include/permissions.php:881 +msgid "Custom/Expert Mode" msgstr "" -#: ../../include/items.php:1156 -msgid "Visible to specific connections." +#: ../../include/account.php:28 +msgid "Not a valid email address" msgstr "" -#: ../../include/items.php:3919 -msgid "Privacy group is empty." +#: ../../include/account.php:30 +msgid "Your email domain is not among those allowed on this site" msgstr "" -#: ../../include/items.php:3926 -#, php-format -msgid "Privacy group: %s" +#: ../../include/account.php:36 +msgid "Your email address is already registered at this site." msgstr "" -#: ../../include/items.php:3938 -msgid "Connection not found." +#: ../../include/account.php:68 +msgid "An invitation is required." msgstr "" -#: ../../include/items.php:4304 -msgid "profile photo" +#: ../../include/account.php:72 +msgid "Invitation could not be verified." msgstr "" -#: ../../include/bbcode.php:123 ../../include/bbcode.php:878 -#: ../../include/bbcode.php:881 ../../include/bbcode.php:886 -#: ../../include/bbcode.php:889 ../../include/bbcode.php:892 -#: ../../include/bbcode.php:895 ../../include/bbcode.php:900 -#: ../../include/bbcode.php:903 ../../include/bbcode.php:908 -#: ../../include/bbcode.php:911 ../../include/bbcode.php:914 -#: ../../include/bbcode.php:917 -msgid "Image/photo" +#: ../../include/account.php:122 +msgid "Please enter the required information." msgstr "" -#: ../../include/bbcode.php:162 ../../include/bbcode.php:928 -msgid "Encrypted content" +#: ../../include/account.php:189 +msgid "Failed to store account information." msgstr "" -#: ../../include/bbcode.php:178 +#: ../../include/account.php:249 #, php-format -msgid "Install %s element: " +msgid "Registration confirmation for %s" msgstr "" -#: ../../include/bbcode.php:182 +#: ../../include/account.php:315 #, php-format -msgid "" -"This post contains an installable %s element, however you lack permissions " -"to install it on this site." +msgid "Registration request at %s" msgstr "" -#: ../../include/bbcode.php:261 -#, php-format -msgid "%1$s wrote the following %2$s %3$s" +#: ../../include/account.php:339 +msgid "your registration password" msgstr "" -#: ../../include/bbcode.php:338 ../../include/bbcode.php:346 -msgid "Click to open/close" +#: ../../include/account.php:342 ../../include/account.php:402 +#, php-format +msgid "Registration details for %s" msgstr "" -#: ../../include/bbcode.php:346 -msgid "spoiler" +#: ../../include/account.php:414 +msgid "Account approved." msgstr "" -#: ../../include/bbcode.php:619 -msgid "Different viewers will see this text differently" +#: ../../include/account.php:454 +#, php-format +msgid "Registration revoked for %s" msgstr "" -#: ../../include/bbcode.php:866 -msgid "$1 wrote:" +#: ../../include/account.php:739 ../../include/account.php:741 +msgid "Click here to upgrade." msgstr "" -#: ../../include/network.php:704 -msgid "view full size" +#: ../../include/account.php:747 +msgid "This action exceeds the limits set by your subscription plan." msgstr "" -#: ../../include/network.php:1930 ../../include/account.php:317 -#: ../../include/account.php:344 ../../include/account.php:404 -msgid "Administrator" +#: ../../include/account.php:752 +msgid "This action is not available under your subscription plan." msgstr "" -#: ../../include/network.php:1944 -msgid "No Subject" +#: ../../include/api.php:1326 +msgid "Public Timeline" msgstr "" -#: ../../include/network.php:2198 ../../include/network.php:2199 -msgid "Friendica" +#: ../../include/attach.php:247 ../../include/attach.php:333 +msgid "Item was not found." msgstr "" -#: ../../include/network.php:2200 -msgid "OStatus" +#: ../../include/attach.php:499 +msgid "No source file." msgstr "" -#: ../../include/network.php:2201 -msgid "GNU-Social" +#: ../../include/attach.php:521 +msgid "Cannot locate file to replace" msgstr "" -#: ../../include/network.php:2202 -msgid "RSS/Atom" +#: ../../include/attach.php:539 +msgid "Cannot locate file to revise/update" msgstr "" -#: ../../include/network.php:2204 -msgid "Diaspora" +#: ../../include/attach.php:674 +#, php-format +msgid "File exceeds size limit of %d" msgstr "" -#: ../../include/network.php:2205 -msgid "Facebook" +#: ../../include/attach.php:688 +#, php-format +msgid "You have reached your limit of %1$.0f Mbytes attachment storage." msgstr "" -#: ../../include/network.php:2206 -msgid "Zot" +#: ../../include/attach.php:846 +msgid "File upload failed. Possible system limit or action terminated." msgstr "" -#: ../../include/network.php:2207 -msgid "LinkedIn" +#: ../../include/attach.php:859 +msgid "Stored file could not be verified. Upload failed." msgstr "" -#: ../../include/network.php:2208 -msgid "XMPP/IM" +#: ../../include/attach.php:915 ../../include/attach.php:931 +msgid "Path not available." msgstr "" -#: ../../include/network.php:2209 -msgid "MySpace" +#: ../../include/attach.php:977 ../../include/attach.php:1129 +msgid "Empty pathname" msgstr "" -#: ../../include/activities.php:41 -msgid " and " +#: ../../include/attach.php:1003 +msgid "duplicate filename or path" msgstr "" -#: ../../include/activities.php:49 -msgid "public profile" +#: ../../include/attach.php:1025 +msgid "Path not found." msgstr "" -#: ../../include/activities.php:58 -#, php-format -msgid "%1$s changed %2$s to “%3$s”" +#: ../../include/attach.php:1083 +msgid "mkdir failed." msgstr "" -#: ../../include/activities.php:59 -#, php-format -msgid "Visit %1$s's %2$s" +#: ../../include/attach.php:1087 +msgid "database storage failed." msgstr "" -#: ../../include/activities.php:62 -#, php-format -msgid "%1$s has an updated %2$s, changing %3$s." +#: ../../include/attach.php:1135 +msgid "Empty path" msgstr "" -#: ../../include/bb2diaspora.php:398 -msgid "Attachments:" +#: ../../include/bbcode.php:123 ../../include/bbcode.php:878 +#: ../../include/bbcode.php:881 ../../include/bbcode.php:886 +#: ../../include/bbcode.php:889 ../../include/bbcode.php:892 +#: ../../include/bbcode.php:895 ../../include/bbcode.php:900 +#: ../../include/bbcode.php:903 ../../include/bbcode.php:908 +#: ../../include/bbcode.php:911 ../../include/bbcode.php:914 +#: ../../include/bbcode.php:917 +msgid "Image/photo" msgstr "" -#: ../../include/bb2diaspora.php:487 -msgid "$Projectname event notification:" +#: ../../include/bbcode.php:162 ../../include/bbcode.php:928 +msgid "Encrypted content" msgstr "" -#: ../../include/features.php:48 -msgid "General Features" +#: ../../include/bbcode.php:178 +#, php-format +msgid "Install %s element: " msgstr "" -#: ../../include/features.php:50 -msgid "Content Expiration" +#: ../../include/bbcode.php:182 +#, php-format +msgid "" +"This post contains an installable %s element, however you lack permissions " +"to install it on this site." msgstr "" -#: ../../include/features.php:50 -msgid "Remove posts/comments and/or private messages at a future time" +#: ../../include/bbcode.php:261 +#, php-format +msgid "%1$s wrote the following %2$s %3$s" msgstr "" -#: ../../include/features.php:51 -msgid "Multiple Profiles" +#: ../../include/bbcode.php:338 ../../include/bbcode.php:346 +msgid "Click to open/close" msgstr "" -#: ../../include/features.php:51 -msgid "Ability to create multiple profiles" +#: ../../include/bbcode.php:346 +msgid "spoiler" msgstr "" -#: ../../include/features.php:52 -msgid "Advanced Profiles" +#: ../../include/bbcode.php:619 +msgid "Different viewers will see this text differently" msgstr "" -#: ../../include/features.php:52 -msgid "Additional profile sections and selections" +#: ../../include/bbcode.php:866 +msgid "$1 wrote:" msgstr "" -#: ../../include/features.php:53 -msgid "Profile Import/Export" +#: ../../include/import.php:29 +msgid "" +"Cannot create a duplicate channel identifier on this system. Import failed." msgstr "" -#: ../../include/features.php:53 -msgid "Save and load profile details across sites/channels" +#: ../../include/import.php:76 +msgid "Channel clone failed. Import failed." msgstr "" -#: ../../include/features.php:54 -msgid "Web Pages" +#: ../../include/auth.php:116 +msgid "Logged out." msgstr "" -#: ../../include/features.php:54 -msgid "Provide managed web pages on your channel" +#: ../../include/auth.php:237 +msgid "Failed authentication" msgstr "" -#: ../../include/features.php:55 -msgid "Provide a wiki for your channel" +#: ../../include/activities.php:41 +msgid " and " msgstr "" -#: ../../include/features.php:56 -msgid "Hide Rating" +#: ../../include/activities.php:49 +msgid "public profile" msgstr "" -#: ../../include/features.php:56 -msgid "" -"Hide the rating buttons on your channel and profile pages. Note: People can " -"still rate you somewhere else." +#: ../../include/activities.php:58 +#, php-format +msgid "%1$s changed %2$s to “%3$s”" msgstr "" -#: ../../include/features.php:57 -msgid "Private Notes" +#: ../../include/activities.php:59 +#, php-format +msgid "Visit %1$s's %2$s" msgstr "" -#: ../../include/features.php:57 -msgid "Enables a tool to store notes and reminders (note: not encrypted)" +#: ../../include/activities.php:62 +#, php-format +msgid "%1$s has an updated %2$s, changing %3$s." msgstr "" -#: ../../include/features.php:58 -msgid "Navigation Channel Select" +#: ../../include/zot.php:709 +msgid "Invalid data packet" msgstr "" -#: ../../include/features.php:58 -msgid "Change channels directly from within the navigation dropdown menu" +#: ../../include/zot.php:725 +msgid "Unable to verify channel signature" msgstr "" -#: ../../include/features.php:59 -msgid "Photo Location" +#: ../../include/zot.php:2373 +#, php-format +msgid "Unable to verify site signature for %s" msgstr "" -#: ../../include/features.php:59 -msgid "If location data is available on uploaded photos, link this to a map." +#: ../../include/zot.php:3723 +msgid "invalid target signature" msgstr "" -#: ../../include/features.php:60 -msgid "Access Controlled Chatrooms" +#: ../../include/bb2diaspora.php:398 +msgid "Attachments:" msgstr "" -#: ../../include/features.php:60 -msgid "Provide chatrooms and chat services with access control." +#: ../../include/bb2diaspora.php:487 +msgid "$Projectname event notification:" msgstr "" -#: ../../include/features.php:61 -msgid "Smart Birthdays" +#: ../../include/js_strings.php:5 +msgid "Delete this item?" msgstr "" -#: ../../include/features.php:61 -msgid "" -"Make birthday events timezone aware in case your friends are scattered " -"across the planet." +#: ../../include/js_strings.php:8 +#, php-format +msgid "%s show less" msgstr "" -#: ../../include/features.php:62 -msgid "Expert Mode" +#: ../../include/js_strings.php:9 +#, php-format +msgid "%s expand" msgstr "" -#: ../../include/features.php:62 -msgid "Enable Expert Mode to provide advanced configuration options" +#: ../../include/js_strings.php:10 +#, php-format +msgid "%s collapse" msgstr "" -#: ../../include/features.php:63 -msgid "Premium Channel" +#: ../../include/js_strings.php:11 +msgid "Password too short" msgstr "" -#: ../../include/features.php:63 -msgid "" -"Allows you to set restrictions and terms on those that connect with your " -"channel" +#: ../../include/js_strings.php:12 +msgid "Passwords do not match" msgstr "" -#: ../../include/features.php:68 -msgid "Post Composition Features" +#: ../../include/js_strings.php:13 +msgid "everybody" msgstr "" -#: ../../include/features.php:71 -msgid "Large Photos" +#: ../../include/js_strings.php:14 +msgid "Secret Passphrase" msgstr "" -#: ../../include/features.php:71 -msgid "" -"Include large (1024px) photo thumbnails in posts. If not enabled, use small " -"(640px) photo thumbnails" +#: ../../include/js_strings.php:15 +msgid "Passphrase hint" msgstr "" -#: ../../include/features.php:72 -msgid "Automatically import channel content from other channels or feeds" +#: ../../include/js_strings.php:16 +msgid "Notice: Permissions have changed but have not yet been submitted." msgstr "" -#: ../../include/features.php:73 -msgid "Even More Encryption" +#: ../../include/js_strings.php:17 +msgid "close all" msgstr "" -#: ../../include/features.php:73 -msgid "" -"Allow optional encryption of content end-to-end with a shared secret key" +#: ../../include/js_strings.php:18 +msgid "Nothing new here" msgstr "" -#: ../../include/features.php:74 -msgid "Enable Voting Tools" +#: ../../include/js_strings.php:19 +msgid "Rate This Channel (this is public)" msgstr "" -#: ../../include/features.php:74 -msgid "Provide a class of post which others can vote on" +#: ../../include/js_strings.php:21 +msgid "Describe (optional)" msgstr "" -#: ../../include/features.php:75 -msgid "Delayed Posting" +#: ../../include/js_strings.php:23 +msgid "Please enter a link URL" msgstr "" -#: ../../include/features.php:75 -msgid "Allow posts to be published at a later date" +#: ../../include/js_strings.php:24 +msgid "Unsaved changes. Are you sure you wish to leave this page?" msgstr "" -#: ../../include/features.php:76 -msgid "Suppress Duplicate Posts/Comments" +#: ../../include/js_strings.php:27 +msgid "timeago.prefixAgo" msgstr "" -#: ../../include/features.php:76 -msgid "" -"Prevent posts with identical content to be published with less than two " -"minutes in between submissions." +#: ../../include/js_strings.php:28 +msgid "timeago.prefixFromNow" msgstr "" -#: ../../include/features.php:82 -msgid "Network and Stream Filtering" +#: ../../include/js_strings.php:29 +msgid "ago" msgstr "" -#: ../../include/features.php:83 -msgid "Search by Date" +#: ../../include/js_strings.php:30 +msgid "from now" msgstr "" -#: ../../include/features.php:83 -msgid "Ability to select posts by date ranges" +#: ../../include/js_strings.php:31 +msgid "less than a minute" msgstr "" -#: ../../include/features.php:84 -msgid "Enable management and selection of privacy groups" +#: ../../include/js_strings.php:32 +msgid "about a minute" msgstr "" -#: ../../include/features.php:85 -msgid "Save search terms for re-use" +#: ../../include/js_strings.php:33 +#, php-format +msgid "%d minutes" msgstr "" -#: ../../include/features.php:86 -msgid "Network Personal Tab" +#: ../../include/js_strings.php:34 +msgid "about an hour" msgstr "" -#: ../../include/features.php:86 -msgid "Enable tab to display only Network posts that you've interacted on" +#: ../../include/js_strings.php:35 +#, php-format +msgid "about %d hours" msgstr "" -#: ../../include/features.php:87 -msgid "Network New Tab" +#: ../../include/js_strings.php:36 +msgid "a day" msgstr "" -#: ../../include/features.php:87 -msgid "Enable tab to display all new Network activity" +#: ../../include/js_strings.php:37 +#, php-format +msgid "%d days" msgstr "" -#: ../../include/features.php:88 -msgid "Affinity Tool" +#: ../../include/js_strings.php:38 +msgid "about a month" msgstr "" -#: ../../include/features.php:88 -msgid "Filter stream activity by depth of relationships" +#: ../../include/js_strings.php:39 +#, php-format +msgid "%d months" msgstr "" -#: ../../include/features.php:89 -msgid "Connection Filtering" +#: ../../include/js_strings.php:40 +msgid "about a year" msgstr "" -#: ../../include/features.php:89 -msgid "Filter incoming posts from connections based on keywords/content" +#: ../../include/js_strings.php:41 +#, php-format +msgid "%d years" msgstr "" -#: ../../include/features.php:90 -msgid "Show channel suggestions" +#: ../../include/js_strings.php:42 +msgid " " msgstr "" -#: ../../include/features.php:95 -msgid "Post/Comment Tools" +#: ../../include/js_strings.php:43 +msgid "timeago.numbers" msgstr "" -#: ../../include/features.php:96 -msgid "Community Tagging" +#: ../../include/js_strings.php:45 ../../include/text.php:1241 +msgid "January" msgstr "" -#: ../../include/features.php:96 -msgid "Ability to tag existing posts" +#: ../../include/js_strings.php:46 ../../include/text.php:1241 +msgid "February" msgstr "" -#: ../../include/features.php:97 -msgid "Post Categories" +#: ../../include/js_strings.php:47 ../../include/text.php:1241 +msgid "March" msgstr "" -#: ../../include/features.php:97 -msgid "Add categories to your posts" +#: ../../include/js_strings.php:48 ../../include/text.php:1241 +msgid "April" msgstr "" -#: ../../include/features.php:98 -msgid "Emoji Reactions" +#: ../../include/js_strings.php:49 +msgctxt "long" +msgid "May" msgstr "" -#: ../../include/features.php:98 -msgid "Add emoji reaction ability to posts" +#: ../../include/js_strings.php:50 ../../include/text.php:1241 +msgid "June" msgstr "" -#: ../../include/features.php:99 -msgid "Ability to file posts under folders" +#: ../../include/js_strings.php:51 ../../include/text.php:1241 +msgid "July" msgstr "" -#: ../../include/features.php:100 -msgid "Dislike Posts" +#: ../../include/js_strings.php:52 ../../include/text.php:1241 +msgid "August" msgstr "" -#: ../../include/features.php:100 -msgid "Ability to dislike posts/comments" +#: ../../include/js_strings.php:53 ../../include/text.php:1241 +msgid "September" msgstr "" -#: ../../include/features.php:101 -msgid "Star Posts" +#: ../../include/js_strings.php:54 ../../include/text.php:1241 +msgid "October" msgstr "" -#: ../../include/features.php:101 -msgid "Ability to mark special posts with a star indicator" +#: ../../include/js_strings.php:55 ../../include/text.php:1241 +msgid "November" msgstr "" -#: ../../include/features.php:102 -msgid "Tag Cloud" +#: ../../include/js_strings.php:56 ../../include/text.php:1241 +msgid "December" msgstr "" -#: ../../include/features.php:102 -msgid "Provide a personal tag cloud on your channel page" +#: ../../include/js_strings.php:57 +msgid "Jan" msgstr "" -#: ../../include/oembed.php:325 -msgid "Embedded content" +#: ../../include/js_strings.php:58 +msgid "Feb" msgstr "" -#: ../../include/oembed.php:334 -msgid "Embedding disabled" +#: ../../include/js_strings.php:59 +msgid "Mar" msgstr "" -#: ../../include/account.php:28 -msgid "Not a valid email address" +#: ../../include/js_strings.php:60 +msgid "Apr" msgstr "" -#: ../../include/account.php:30 -msgid "Your email domain is not among those allowed on this site" +#: ../../include/js_strings.php:61 +msgctxt "short" +msgid "May" msgstr "" -#: ../../include/account.php:36 -msgid "Your email address is already registered at this site." +#: ../../include/js_strings.php:62 +msgid "Jun" msgstr "" -#: ../../include/account.php:68 -msgid "An invitation is required." +#: ../../include/js_strings.php:63 +msgid "Jul" msgstr "" -#: ../../include/account.php:72 -msgid "Invitation could not be verified." +#: ../../include/js_strings.php:64 +msgid "Aug" msgstr "" -#: ../../include/account.php:122 -msgid "Please enter the required information." +#: ../../include/js_strings.php:65 +msgid "Sep" msgstr "" -#: ../../include/account.php:189 -msgid "Failed to store account information." +#: ../../include/js_strings.php:66 +msgid "Oct" msgstr "" -#: ../../include/account.php:249 -#, php-format -msgid "Registration confirmation for %s" +#: ../../include/js_strings.php:67 +msgid "Nov" msgstr "" -#: ../../include/account.php:315 -#, php-format -msgid "Registration request at %s" +#: ../../include/js_strings.php:68 +msgid "Dec" msgstr "" -#: ../../include/account.php:339 -msgid "your registration password" +#: ../../include/js_strings.php:69 ../../include/text.php:1237 +msgid "Sunday" msgstr "" -#: ../../include/account.php:342 ../../include/account.php:402 -#, php-format -msgid "Registration details for %s" +#: ../../include/js_strings.php:70 ../../include/text.php:1237 +msgid "Monday" msgstr "" -#: ../../include/account.php:414 -msgid "Account approved." +#: ../../include/js_strings.php:71 ../../include/text.php:1237 +msgid "Tuesday" msgstr "" -#: ../../include/account.php:454 -#, php-format -msgid "Registration revoked for %s" +#: ../../include/js_strings.php:72 ../../include/text.php:1237 +msgid "Wednesday" msgstr "" -#: ../../include/account.php:739 ../../include/account.php:741 -msgid "Click here to upgrade." +#: ../../include/js_strings.php:73 ../../include/text.php:1237 +msgid "Thursday" msgstr "" -#: ../../include/account.php:747 -msgid "This action exceeds the limits set by your subscription plan." +#: ../../include/js_strings.php:74 ../../include/text.php:1237 +msgid "Friday" msgstr "" -#: ../../include/account.php:752 -msgid "This action is not available under your subscription plan." +#: ../../include/js_strings.php:75 ../../include/text.php:1237 +msgid "Saturday" msgstr "" -#: ../../include/PermissionDescription.php:116 -msgid "Public" +#: ../../include/js_strings.php:76 +msgid "Sun" msgstr "" -#: ../../include/PermissionDescription.php:117 -msgid "Anybody in the $Projectname network" +#: ../../include/js_strings.php:77 +msgid "Mon" msgstr "" -#: ../../include/PermissionDescription.php:118 -#, php-format -msgid "Any account on %s" +#: ../../include/js_strings.php:78 +msgid "Tue" msgstr "" -#: ../../include/PermissionDescription.php:119 -msgid "Any of my connections" +#: ../../include/js_strings.php:79 +msgid "Wed" msgstr "" -#: ../../include/PermissionDescription.php:120 -msgid "Only connections I specifically allow" +#: ../../include/js_strings.php:80 +msgid "Thu" msgstr "" -#: ../../include/PermissionDescription.php:121 -msgid "Anybody authenticated (could include visitors from other networks)" +#: ../../include/js_strings.php:81 +msgid "Fri" msgstr "" -#: ../../include/PermissionDescription.php:122 -msgid "Any connections including those who haven't yet been approved" +#: ../../include/js_strings.php:82 +msgid "Sat" msgstr "" -#: ../../include/PermissionDescription.php:161 -msgid "" -"This is your default setting for the audience of your normal stream, and " -"posts." +#: ../../include/js_strings.php:83 +msgctxt "calendar" +msgid "today" msgstr "" -#: ../../include/PermissionDescription.php:162 -msgid "" -"This is your default setting for who can view your default channel profile" +#: ../../include/js_strings.php:84 +msgctxt "calendar" +msgid "month" msgstr "" -#: ../../include/PermissionDescription.php:163 -msgid "This is your default setting for who can view your connections" +#: ../../include/js_strings.php:85 +msgctxt "calendar" +msgid "week" msgstr "" -#: ../../include/PermissionDescription.php:164 -msgid "" -"This is your default setting for who can view your file storage and photos" +#: ../../include/js_strings.php:86 +msgctxt "calendar" +msgid "day" msgstr "" -#: ../../include/PermissionDescription.php:165 -msgid "This is your default setting for the audience of your webpages" +#: ../../include/js_strings.php:87 +msgctxt "calendar" +msgid "All day" msgstr "" #: ../../include/contact_widgets.php:11 @@ -9383,344 +9446,298 @@ msgstr "" msgid "%d connection in common" msgid_plural "%d connections in common" msgstr[0] "" -msgstr[1] "" - -#: ../../include/contact_widgets.php:127 -msgid "show more" -msgstr "" - -#: ../../include/dir_fns.php:141 -msgid "Directory Options" -msgstr "" - -#: ../../include/dir_fns.php:143 -msgid "Safe Mode" -msgstr "" - -#: ../../include/dir_fns.php:144 -msgid "Public Forums Only" -msgstr "" - -#: ../../include/dir_fns.php:145 -msgid "This Website Only" -msgstr "" - -#: ../../include/message.php:20 -msgid "No recipient provided." -msgstr "" - -#: ../../include/message.php:25 -msgid "[no subject]" -msgstr "" - -#: ../../include/message.php:45 -msgid "Unable to determine sender." -msgstr "" - -#: ../../include/message.php:222 -msgid "Stored post could not be verified." -msgstr "" - -#: ../../include/channel.php:32 -msgid "Unable to obtain identity information from database" -msgstr "" - -#: ../../include/channel.php:66 -msgid "Empty name" -msgstr "" - -#: ../../include/channel.php:69 -msgid "Name too long" -msgstr "" - -#: ../../include/channel.php:180 -msgid "No account identifier" -msgstr "" - -#: ../../include/channel.php:192 -msgid "Nickname is required." -msgstr "" +msgstr[1] "" -#: ../../include/channel.php:206 -msgid "Reserved nickname. Please choose another." +#: ../../include/contact_widgets.php:127 +msgid "show more" msgstr "" -#: ../../include/channel.php:211 -msgid "" -"Nickname has unsupported characters or is already being used on this site." +#: ../../include/dir_fns.php:141 +msgid "Directory Options" msgstr "" -#: ../../include/channel.php:287 -msgid "Unable to retrieve created identity" +#: ../../include/dir_fns.php:143 +msgid "Safe Mode" msgstr "" -#: ../../include/channel.php:345 -msgid "Default Profile" +#: ../../include/dir_fns.php:144 +msgid "Public Forums Only" msgstr "" -#: ../../include/channel.php:815 -msgid "Requested channel is not available." +#: ../../include/dir_fns.php:145 +msgid "This Website Only" msgstr "" -#: ../../include/channel.php:962 -msgid "Create New Profile" +#: ../../include/message.php:20 +msgid "No recipient provided." msgstr "" -#: ../../include/channel.php:982 -msgid "Visible to everybody" +#: ../../include/message.php:25 +msgid "[no subject]" msgstr "" -#: ../../include/channel.php:1055 ../../include/channel.php:1167 -msgid "Gender:" +#: ../../include/message.php:45 +msgid "Unable to determine sender." msgstr "" -#: ../../include/channel.php:1056 ../../include/channel.php:1211 -msgid "Status:" +#: ../../include/message.php:222 +msgid "Stored post could not be verified." msgstr "" -#: ../../include/channel.php:1057 ../../include/channel.php:1222 -msgid "Homepage:" +#: ../../include/acl_selectors.php:269 +msgid "Who can see this?" msgstr "" -#: ../../include/channel.php:1058 -msgid "Online Now" +#: ../../include/acl_selectors.php:270 +msgid "Custom selection" msgstr "" -#: ../../include/channel.php:1172 -msgid "Like this channel" +#: ../../include/acl_selectors.php:271 +msgid "" +"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit " +"the scope of \"Show\"." msgstr "" -#: ../../include/channel.php:1196 -msgid "j F, Y" +#: ../../include/acl_selectors.php:272 +msgid "Show" msgstr "" -#: ../../include/channel.php:1197 -msgid "j F" +#: ../../include/acl_selectors.php:273 +msgid "Don't show" msgstr "" -#: ../../include/channel.php:1204 -msgid "Birthday:" +#: ../../include/acl_selectors.php:279 +msgid "Other networks and post services" msgstr "" -#: ../../include/channel.php:1217 +#: ../../include/acl_selectors.php:309 #, php-format -msgid "for %1$d %2$s" +msgid "" +"Post permissions %s cannot be changed %s after a post is shared.
These " +"permissions set who is allowed to view the post." msgstr "" -#: ../../include/channel.php:1220 -msgid "Sexual Preference:" +#: ../../include/security.php:108 +msgid "guest:" msgstr "" -#: ../../include/channel.php:1226 -msgid "Tags:" +#: ../../include/security.php:425 +msgid "" +"The form security token was not correct. This probably happened because the " +"form has been opened for too long (>3 hours) before submitting it." msgstr "" -#: ../../include/channel.php:1228 -msgid "Political Views:" +#: ../../include/text.php:404 +msgid "prev" msgstr "" -#: ../../include/channel.php:1230 -msgid "Religion:" +#: ../../include/text.php:406 +msgid "first" msgstr "" -#: ../../include/channel.php:1234 -msgid "Hobbies/Interests:" +#: ../../include/text.php:435 +msgid "last" msgstr "" -#: ../../include/channel.php:1236 -msgid "Likes:" +#: ../../include/text.php:438 +msgid "next" msgstr "" -#: ../../include/channel.php:1238 -msgid "Dislikes:" +#: ../../include/text.php:448 +msgid "older" msgstr "" -#: ../../include/channel.php:1240 -msgid "Contact information and Social Networks:" +#: ../../include/text.php:450 +msgid "newer" msgstr "" -#: ../../include/channel.php:1242 -msgid "My other channels:" +#: ../../include/text.php:843 +msgid "No connections" msgstr "" -#: ../../include/channel.php:1244 -msgid "Musical interests:" +#: ../../include/text.php:868 +#, php-format +msgid "View all %s connections" msgstr "" -#: ../../include/channel.php:1246 -msgid "Books, literature:" +#: ../../include/text.php:1013 ../../include/text.php:1018 +msgid "poke" msgstr "" -#: ../../include/channel.php:1248 -msgid "Television:" +#: ../../include/text.php:1019 +msgid "ping" msgstr "" -#: ../../include/channel.php:1250 -msgid "Film/dance/culture/entertainment:" +#: ../../include/text.php:1019 +msgid "pinged" msgstr "" -#: ../../include/channel.php:1252 -msgid "Love/Romance:" +#: ../../include/text.php:1020 +msgid "prod" msgstr "" -#: ../../include/channel.php:1254 -msgid "Work/employment:" +#: ../../include/text.php:1020 +msgid "prodded" msgstr "" -#: ../../include/channel.php:1256 -msgid "School/education:" +#: ../../include/text.php:1021 +msgid "slap" msgstr "" -#: ../../include/channel.php:1277 -msgid "Like this thing" +#: ../../include/text.php:1021 +msgid "slapped" msgstr "" -#: ../../include/permissions.php:26 -msgid "Can view my normal stream and posts" +#: ../../include/text.php:1022 +msgid "finger" msgstr "" -#: ../../include/permissions.php:27 -msgid "Can view my default channel profile" +#: ../../include/text.php:1022 +msgid "fingered" msgstr "" -#: ../../include/permissions.php:28 -msgid "Can view my connections" +#: ../../include/text.php:1023 +msgid "rebuff" msgstr "" -#: ../../include/permissions.php:29 -msgid "Can view my file storage and photos" +#: ../../include/text.php:1023 +msgid "rebuffed" msgstr "" -#: ../../include/permissions.php:30 -msgid "Can view my webpages" +#: ../../include/text.php:1035 +msgid "happy" msgstr "" -#: ../../include/permissions.php:33 -msgid "Can send me their channel stream and posts" +#: ../../include/text.php:1036 +msgid "sad" msgstr "" -#: ../../include/permissions.php:34 -msgid "Can post on my channel page (\"wall\")" +#: ../../include/text.php:1037 +msgid "mellow" msgstr "" -#: ../../include/permissions.php:35 -msgid "Can comment on or like my posts" +#: ../../include/text.php:1038 +msgid "tired" msgstr "" -#: ../../include/permissions.php:36 -msgid "Can send me private mail messages" +#: ../../include/text.php:1039 +msgid "perky" msgstr "" -#: ../../include/permissions.php:37 -msgid "Can like/dislike stuff" +#: ../../include/text.php:1040 +msgid "angry" msgstr "" -#: ../../include/permissions.php:37 -msgid "Profiles and things other than posts/comments" +#: ../../include/text.php:1041 +msgid "stupefied" msgstr "" -#: ../../include/permissions.php:39 -msgid "Can forward to all my channel contacts via post @mentions" +#: ../../include/text.php:1042 +msgid "puzzled" msgstr "" -#: ../../include/permissions.php:39 -msgid "Advanced - useful for creating group forum channels" +#: ../../include/text.php:1043 +msgid "interested" msgstr "" -#: ../../include/permissions.php:40 -msgid "Can chat with me (when available)" +#: ../../include/text.php:1044 +msgid "bitter" msgstr "" -#: ../../include/permissions.php:41 -msgid "Can write to my file storage and photos" +#: ../../include/text.php:1045 +msgid "cheerful" msgstr "" -#: ../../include/permissions.php:42 -msgid "Can edit my webpages" +#: ../../include/text.php:1046 +msgid "alive" msgstr "" -#: ../../include/permissions.php:44 -msgid "Can source my public posts in derived channels" +#: ../../include/text.php:1047 +msgid "annoyed" msgstr "" -#: ../../include/permissions.php:44 -msgid "Somewhat advanced - very useful in open communities" +#: ../../include/text.php:1048 +msgid "anxious" msgstr "" -#: ../../include/permissions.php:46 -msgid "Can administer my channel resources" +#: ../../include/text.php:1049 +msgid "cranky" msgstr "" -#: ../../include/permissions.php:46 -msgid "Extremely advanced. Leave this alone unless you know what you are doing" +#: ../../include/text.php:1050 +msgid "disturbed" msgstr "" -#: ../../include/permissions.php:877 -msgid "Social Networking" +#: ../../include/text.php:1051 +msgid "frustrated" msgstr "" -#: ../../include/permissions.php:877 -msgid "Social - Mostly Public" +#: ../../include/text.php:1052 +msgid "depressed" msgstr "" -#: ../../include/permissions.php:877 -msgid "Social - Restricted" +#: ../../include/text.php:1053 +msgid "motivated" msgstr "" -#: ../../include/permissions.php:877 -msgid "Social - Private" +#: ../../include/text.php:1054 +msgid "relaxed" msgstr "" -#: ../../include/permissions.php:878 -msgid "Community Forum" +#: ../../include/text.php:1055 +msgid "surprised" msgstr "" -#: ../../include/permissions.php:878 -msgid "Forum - Mostly Public" +#: ../../include/text.php:1241 +msgid "May" msgstr "" -#: ../../include/permissions.php:878 -msgid "Forum - Restricted" +#: ../../include/text.php:1318 ../../include/text.php:1322 +msgid "Unknown Attachment" msgstr "" -#: ../../include/permissions.php:878 -msgid "Forum - Private" +#: ../../include/text.php:1324 +msgid "unknown" msgstr "" -#: ../../include/permissions.php:879 -msgid "Feed Republish" +#: ../../include/text.php:1360 +msgid "remove category" msgstr "" -#: ../../include/permissions.php:879 -msgid "Feed - Mostly Public" +#: ../../include/text.php:1437 +msgid "remove from file" msgstr "" -#: ../../include/permissions.php:879 -msgid "Feed - Restricted" +#: ../../include/text.php:1734 ../../include/text.php:1805 +msgid "default" msgstr "" -#: ../../include/permissions.php:880 -msgid "Special Purpose" +#: ../../include/text.php:1742 +msgid "Page layout" msgstr "" -#: ../../include/permissions.php:880 -msgid "Special - Celebrity/Soapbox" +#: ../../include/text.php:1742 +msgid "You can create your own with the layouts tool" msgstr "" -#: ../../include/permissions.php:880 -msgid "Special - Group Repository" +#: ../../include/text.php:1784 +msgid "Page content type" msgstr "" -#: ../../include/permissions.php:881 -msgid "Custom/Expert Mode" +#: ../../include/text.php:1817 +msgid "Select an alternate language" msgstr "" -#: ../../include/auth.php:105 -msgid "Logged out." +#: ../../include/text.php:1934 +msgid "activity" msgstr "" -#: ../../include/auth.php:212 -msgid "Failed authentication" +#: ../../include/text.php:2243 +msgid "Design Tools" +msgstr "" + +#: ../../include/text.php:2249 +msgid "Pages" msgstr "" #: ../../view/theme/redbasic/php/config.php:82 -- cgit v1.2.3 From 5e475acb85cac2dd87f92f6c8d51dc0071e5c2eb Mon Sep 17 00:00:00 2001 From: redmatrix Date: Fri, 15 Jul 2016 01:33:28 -0700 Subject: cleanup and debug of atoken feature --- Zotlabs/Module/Settings.php | 4 ++-- view/theme/redbasic/css/style.css | 8 ++++++++ view/tpl/settings_tokens.tpl | 4 ++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Zotlabs/Module/Settings.php b/Zotlabs/Module/Settings.php index b1f6c8144..44088fea5 100644 --- a/Zotlabs/Module/Settings.php +++ b/Zotlabs/Module/Settings.php @@ -138,7 +138,7 @@ class Settings extends \Zotlabs\Web\Controller { return; } if($atoken_id) { - $r = q("update atoken set atoken_name = '%s', atoken_token = '%s' atoken_expire = '%s' + $r = q("update atoken set atoken_name = '%s', atoken_token = '%s' atoken_expires = '%s' where atoken_id = %d and atoken_uid = %d", dbesc($name), dbesc($token), @@ -148,7 +148,7 @@ class Settings extends \Zotlabs\Web\Controller { ); } else { - $r = q("insert into atoken ( atoken_aid, atoken_uid, atoken_name, atoken_token, atoken_expire ) + $r = q("insert into atoken ( atoken_aid, atoken_uid, atoken_name, atoken_token, atoken_expires ) values ( %d, %d, '%s', '%s', '%s' ) ", intval($channel['channel_account_id']), intval($channel['channel_id']), diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index 5768ccbd9..5f1637c50 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -2039,3 +2039,11 @@ dl.bb-dl > dd > li { border-style: solid; border-width: 5px; } + +.atoken-list { + margin-right: 5px; + list-style-type: none; +} +.atoken-list li { + margin-bottom: 8px; +} \ No newline at end of file diff --git a/view/tpl/settings_tokens.tpl b/view/tpl/settings_tokens.tpl index 8763a681c..73c6e9a64 100644 --- a/view/tpl/settings_tokens.tpl +++ b/view/tpl/settings_tokens.tpl @@ -17,9 +17,9 @@ {{if $tokens}}
-
-- cgit v1.2.3 From d54f5a3831ec003468e33185318a060711cb9c09 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Fri, 15 Jul 2016 01:43:09 -0700 Subject: more cleanup of atoken UI --- Zotlabs/Module/Settings.php | 5 ++++- view/theme/redbasic/css/style.css | 5 ++++- view/tpl/settings_tokens.tpl | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Zotlabs/Module/Settings.php b/Zotlabs/Module/Settings.php index 44088fea5..20aa59f78 100644 --- a/Zotlabs/Module/Settings.php +++ b/Zotlabs/Module/Settings.php @@ -134,7 +134,7 @@ class Settings extends \Zotlabs\Web\Controller { $expires = NULL_DATE; } if($token_errs) { - notice( t('Name and Token are required.') . EOL); + notice( t('Name and Password are required.') . EOL); return; } if($atoken_id) { @@ -774,10 +774,13 @@ class Settings extends \Zotlabs\Web\Controller { intval(local_channel()) ); + $desc = t('Use this form to create temporary access identifiers to share things with non-members. These identities may be used in Access Control Lists and visitors may login using these credentials to access the private content.'); + $tpl = get_markup_template("settings_tokens.tpl"); $o .= replace_macros($tpl, array( '$form_security_token' => get_form_security_token("settings_tokens"), '$title' => t('Guest Access Tokens'), + '$desc' => $desc, '$tokens' => $t, '$atoken' => $atoken, '$name' => array('name', t('Login Name'), (($atoken) ? $atoken['atoken_name'] : ''),''), diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index 5f1637c50..e39c9eb11 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -2045,5 +2045,8 @@ dl.bb-dl > dd > li { list-style-type: none; } .atoken-list li { - margin-bottom: 8px; + margin-bottom: 10px; +} +.atoken-text { + margin: 5px 10px 5px 10px; } \ No newline at end of file diff --git a/view/tpl/settings_tokens.tpl b/view/tpl/settings_tokens.tpl index 73c6e9a64..a81d65dfc 100644 --- a/view/tpl/settings_tokens.tpl +++ b/view/tpl/settings_tokens.tpl @@ -3,6 +3,7 @@

{{$title}}

+
{{$desc}}
{{if $atoken}}{{/if}} -- cgit v1.2.3 From da5ec98f98dd8cef034d568bf0f67231e8517bd4 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Fri, 15 Jul 2016 02:07:27 -0700 Subject: make lockview work with throwaway identities --- Zotlabs/Module/Lockview.php | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/Zotlabs/Module/Lockview.php b/Zotlabs/Module/Lockview.php index 4776e1c56..d86a3c1d8 100644 --- a/Zotlabs/Module/Lockview.php +++ b/Zotlabs/Module/Lockview.php @@ -1,17 +1,31 @@ 1) ? argv(1) : 0); if (is_numeric($type)) { $item_id = intval($type); $type='item'; - } else { + } + else { $item_id = ((argc() > 2) ? intval(argv(2)) : 0); } @@ -98,6 +112,13 @@ class Lockview extends \Zotlabs\Web\Controller { if($r) foreach($r as $rr) $l[] = '
  • ' . $rr['xchan_name'] . '
  • '; + if($atokens) { + foreach($atokens as $at) { + if(in_array("'" . $at['xchan_hash'] . "'",$allowed_users)) { + $l[] = '
  • ' . $at['xchan_name'] . '
  • '; + } + } + } } if(count($deny_groups)) { $r = q("SELECT gname FROM `groups` WHERE hash IN ( " . implode(', ', $deny_groups) . " )"); @@ -110,6 +131,16 @@ class Lockview extends \Zotlabs\Web\Controller { if($r) foreach($r as $rr) $l[] = '
  • ' . $rr['xchan_name'] . '
  • '; + + if($atokens) { + foreach($atokens as $at) { + if(in_array("'" . $at['xchan_hash'] . "'",$deny_users)) { + $l[] = '
  • ' . $at['xchan_name'] . '
  • '; + } + } + } + + } echo $o . implode($l); -- cgit v1.2.3 From 2e32b5f467e9bb66e339c56308ad8a82163566e6 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Fri, 15 Jul 2016 13:20:00 +0200 Subject: upgrade to jquery-3.1 and minor fixes --- view/css/bootstrap-red.css | 1 + view/css/conversation.css | 4 +- view/css/mod_directory.css | 2 +- view/js/jquery-migrate-1.1.1.js | 511 -------------------------------------- view/js/jquery.js | 8 +- view/js/main.js | 9 +- view/php/theme_init.php | 2 +- view/theme/redbasic/css/style.css | 3 - view/tpl/contact_block.tpl | 1 - view/tpl/cover_photo_widget.tpl | 20 +- 10 files changed, 30 insertions(+), 531 deletions(-) delete mode 100644 view/js/jquery-migrate-1.1.1.js diff --git a/view/css/bootstrap-red.css b/view/css/bootstrap-red.css index 20df16446..b68517e25 100644 --- a/view/css/bootstrap-red.css +++ b/view/css/bootstrap-red.css @@ -5,6 +5,7 @@ nav .badge { position: relative; top: -49px; + left: 2px; float: left; font-size: 10px; line-height: 20px; diff --git a/view/css/conversation.css b/view/css/conversation.css index b6e316121..68aa8bfbe 100644 --- a/view/css/conversation.css +++ b/view/css/conversation.css @@ -121,7 +121,7 @@ a.wall-item-name-link { } .wall-item-content { - overflow: auto; + overflow: hidden; } .wall-item-content h1, @@ -316,4 +316,4 @@ code.inline-code { img.smiley.emoji:hover { width: 32px; height: 32px; -} \ No newline at end of file +} diff --git a/view/css/mod_directory.css b/view/css/mod_directory.css index 9bfea856d..af89e597d 100644 --- a/view/css/mod_directory.css +++ b/view/css/mod_directory.css @@ -30,5 +30,5 @@ } .directory-collapse { - overflow: auto; + overflow: hidden; } diff --git a/view/js/jquery-migrate-1.1.1.js b/view/js/jquery-migrate-1.1.1.js deleted file mode 100644 index e99f954e6..000000000 --- a/view/js/jquery-migrate-1.1.1.js +++ /dev/null @@ -1,511 +0,0 @@ -/*! - * jQuery Migrate - v1.1.1 - 2013-02-16 - * https://github.com/jquery/jquery-migrate - * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors; Licensed MIT - */ -(function( jQuery, window, undefined ) { -// See http://bugs.jquery.com/ticket/13335 -// "use strict"; - - -var warnedAbout = {}; - -// List of warnings already given; public read only -jQuery.migrateWarnings = []; - -// Set to true to prevent console output; migrateWarnings still maintained -// jQuery.migrateMute = false; - -// Show a message on the console so devs know we're active -if ( !jQuery.migrateMute && window.console && console.log ) { - console.log("JQMIGRATE: Logging is active"); -} - -// Set to false to disable traces that appear with warnings -if ( jQuery.migrateTrace === undefined ) { - jQuery.migrateTrace = true; -} - -// Forget any warnings we've already given; public -jQuery.migrateReset = function() { - warnedAbout = {}; - jQuery.migrateWarnings.length = 0; -}; - -function migrateWarn( msg) { - if ( !warnedAbout[ msg ] ) { - warnedAbout[ msg ] = true; - jQuery.migrateWarnings.push( msg ); - if ( window.console && console.warn && !jQuery.migrateMute ) { - console.warn( "JQMIGRATE: " + msg ); - if ( jQuery.migrateTrace && console.trace ) { - console.trace(); - } - } - } -} - -function migrateWarnProp( obj, prop, value, msg ) { - if ( Object.defineProperty ) { - // On ES5 browsers (non-oldIE), warn if the code tries to get prop; - // allow property to be overwritten in case some other plugin wants it - try { - Object.defineProperty( obj, prop, { - configurable: true, - enumerable: true, - get: function() { - migrateWarn( msg ); - return value; - }, - set: function( newValue ) { - migrateWarn( msg ); - value = newValue; - } - }); - return; - } catch( err ) { - // IE8 is a dope about Object.defineProperty, can't warn there - } - } - - // Non-ES5 (or broken) browser; just set the property - jQuery._definePropertyBroken = true; - obj[ prop ] = value; -} - -if ( document.compatMode === "BackCompat" ) { - // jQuery has never supported or tested Quirks Mode - migrateWarn( "jQuery is not compatible with Quirks Mode" ); -} - - -var attrFn = jQuery( "", { size: 1 } ).attr("size") && jQuery.attrFn, - oldAttr = jQuery.attr, - valueAttrGet = jQuery.attrHooks.value && jQuery.attrHooks.value.get || - function() { return null; }, - valueAttrSet = jQuery.attrHooks.value && jQuery.attrHooks.value.set || - function() { return undefined; }, - rnoType = /^(?:input|button)$/i, - rnoAttrNodeType = /^[238]$/, - rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, - ruseDefault = /^(?:checked|selected)$/i; - -// jQuery.attrFn -migrateWarnProp( jQuery, "attrFn", attrFn || {}, "jQuery.attrFn is deprecated" ); - -jQuery.attr = function( elem, name, value, pass ) { - var lowerName = name.toLowerCase(), - nType = elem && elem.nodeType; - - if ( pass ) { - // Since pass is used internally, we only warn for new jQuery - // versions where there isn't a pass arg in the formal params - if ( oldAttr.length < 4 ) { - migrateWarn("jQuery.fn.attr( props, pass ) is deprecated"); - } - if ( elem && !rnoAttrNodeType.test( nType ) && - (attrFn ? name in attrFn : jQuery.isFunction(jQuery.fn[name])) ) { - return jQuery( elem )[ name ]( value ); - } - } - - // Warn if user tries to set `type`, since it breaks on IE 6/7/8; by checking - // for disconnected elements we don't warn on $( "