aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Manning <tamanning@zoho.com>2016-07-09 20:17:20 -0400
committerAndrew Manning <tamanning@zoho.com>2016-07-09 20:17:20 -0400
commit47d7fc70e8cdf408cc7e5e5eb7e5f871d973136e (patch)
treefc325d9c111777700be5f69d0046940387196da6
parent0630609d6e60085f20d1430fd4044775dd9af5e9 (diff)
parente2574cf069dc29b1e8ca6bd64ee78b262206cef4 (diff)
downloadvolse-hubzilla-47d7fc70e8cdf408cc7e5e5eb7e5f871d973136e.tar.gz
volse-hubzilla-47d7fc70e8cdf408cc7e5e5eb7e5f871d973136e.tar.bz2
volse-hubzilla-47d7fc70e8cdf408cc7e5e5eb7e5f871d973136e.zip
Merge remote-tracking branch 'upstream/dev' into wiki
-rw-r--r--Zotlabs/Daemon/Expire.php2
-rw-r--r--Zotlabs/Lib/ThreadItem.php2
-rw-r--r--Zotlabs/Module/Cloud.php12
-rw-r--r--Zotlabs/Module/Dav.php2
-rw-r--r--Zotlabs/Module/Dreport.php1
-rw-r--r--Zotlabs/Module/Item.php22
-rw-r--r--Zotlabs/Module/New_channel.php4
-rw-r--r--Zotlabs/Module/Profile_photo.php2
-rw-r--r--Zotlabs/Module/Tagger.php11
-rw-r--r--Zotlabs/Storage/Directory.php286
-rw-r--r--include/bb2diaspora.php4
-rw-r--r--include/feedutils.php4
-rwxr-xr-xinclude/items.php33
-rw-r--r--include/nav.php13
-rw-r--r--include/reddav.php299
-rw-r--r--include/spam.php35
-rw-r--r--include/text.php16
-rw-r--r--include/widgets.php26
-rw-r--r--util/hmessages.po2539
-rw-r--r--view/theme/redbasic/js/redbasic.js4
-rw-r--r--view/tpl/dreport.tpl9
-rw-r--r--view/tpl/force_image_reload.tpl72
22 files changed, 1724 insertions, 1674 deletions
diff --git a/Zotlabs/Daemon/Expire.php b/Zotlabs/Daemon/Expire.php
index 0ba83b240..215513e87 100644
--- a/Zotlabs/Daemon/Expire.php
+++ b/Zotlabs/Daemon/Expire.php
@@ -38,7 +38,7 @@ class Expire {
logger('site_expire: ' . $site_expire);
- $r = q("SELECT channel_id, channel_address, channel_pageflags, channel_expire_days from channel where true");
+ $r = q("SELECT channel_id, channel_system, channel_address, channel_expire_days from channel where true");
if ($r) {
foreach ($r as $rr) {
diff --git a/Zotlabs/Lib/ThreadItem.php b/Zotlabs/Lib/ThreadItem.php
index 6625b7b52..638afeb6b 100644
--- a/Zotlabs/Lib/ThreadItem.php
+++ b/Zotlabs/Lib/ThreadItem.php
@@ -248,7 +248,7 @@ class ThreadItem {
$has_bookmarks = false;
if(is_array($item['term'])) {
foreach($item['term'] as $t) {
- if(!UNO && $t['type'] == TERM_BOOKMARK)
+ if(!UNO && $t['ttype'] == TERM_BOOKMARK)
$has_bookmarks = true;
}
}
diff --git a/Zotlabs/Module/Cloud.php b/Zotlabs/Module/Cloud.php
index 833b1b493..9845c5658 100644
--- a/Zotlabs/Module/Cloud.php
+++ b/Zotlabs/Module/Cloud.php
@@ -23,7 +23,6 @@ require_once('vendor/autoload.php');
class Cloud extends \Zotlabs\Web\Controller {
function init() {
- require_once('include/reddav.php');
if (! is_dir('store'))
os_mkdir('store', STORAGE_DEFAULT_PERMISSIONS, false);
@@ -79,17 +78,6 @@ class Cloud extends \Zotlabs\Web\Controller {
$is_readable = false;
- if($_SERVER['REQUEST_METHOD'] === 'GET') {
- try {
- $x = RedFileData('/' . \App::$cmd, $auth);
- }
- catch(\Exception $e) {
- if($e instanceof Sabre\DAV\Exception\Forbidden) {
- http_status_exit(401, 'Permission denied.');
- }
- }
- }
-
// provide a directory view for the cloud in Hubzilla
$browser = new \Zotlabs\Storage\Browser($auth);
$auth->setBrowserPlugin($browser);
diff --git a/Zotlabs/Module/Dav.php b/Zotlabs/Module/Dav.php
index 6528e0271..9b4b576c8 100644
--- a/Zotlabs/Module/Dav.php
+++ b/Zotlabs/Module/Dav.php
@@ -44,8 +44,6 @@ class Dav extends \Zotlabs\Web\Controller {
}
}
- require_once('include/reddav.php');
-
if (! is_dir('store'))
os_mkdir('store', STORAGE_DEFAULT_PERMISSIONS, false);
diff --git a/Zotlabs/Module/Dreport.php b/Zotlabs/Module/Dreport.php
index 17ed6515e..d2933b464 100644
--- a/Zotlabs/Module/Dreport.php
+++ b/Zotlabs/Module/Dreport.php
@@ -146,6 +146,7 @@ class Dreport extends \Zotlabs\Web\Controller {
'$title' => sprintf( t('Delivery report for %1$s'),substr($mid,0,32)) . '...',
'$table' => $table,
'$mid' => urlencode($mid),
+ '$options' => t('Options'),
'$push' => t('Redeliver'),
'$entries' => $entries
));
diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php
index 369dd3948..58d39da83 100644
--- a/Zotlabs/Module/Item.php
+++ b/Zotlabs/Module/Item.php
@@ -93,7 +93,7 @@ class Item extends \Zotlabs\Web\Controller {
$origin = (($api_source && array_key_exists('origin',$_REQUEST)) ? intval($_REQUEST['origin']) : 1);
- // To represent message-ids on other networks - this will create an item_id record
+ // To represent message-ids on other networks - this will create an iconfig record
$namespace = (($api_source && array_key_exists('namespace',$_REQUEST)) ? strip_tags($_REQUEST['namespace']) : '');
$remote_id = (($api_source && array_key_exists('remote_id',$_REQUEST)) ? strip_tags($_REQUEST['remote_id']) : '');
@@ -535,7 +535,7 @@ class Item extends \Zotlabs\Web\Controller {
}
/**
- * fix naked links by passing through a callback to see if this is a red site
+ * fix naked links by passing through a callback to see if this is a hubzilla site
* (already known to us) which will get a zrl, otherwise link with url, add bookmark tag to both.
* First protect any url inside certain bbcode tags so we don't double link it.
*/
@@ -834,21 +834,23 @@ class Item extends \Zotlabs\Web\Controller {
if($orig_post)
$datarray['edit'] = true;
+ // suppress duplicates, *unless* you're editing an existing post. This could get picked up
+ // as a duplicate if you're editing it very soon after posting it initially and you edited
+ // some attribute besides the content, such as title or categories.
+
if(feature_enabled($profile_uid,'suppress_duplicates') && (! $orig_post)) {
- $z = q("select created from item where uid = %d and body = '%s'",
+ $z = q("select created from item where uid = %d and created > %s - INTERVAL %s and body = '%s' limit 1",
intval($profile_uid),
+ db_utcnow(),
+ db_quoteinterval('2 MINUTE'),
dbesc($body)
);
if($z) {
- foreach($z as $zz) {
- if($zz['created'] > datetime_convert('UTC','UTC', 'now - 2 minutes')) {
- $datarray['cancel'] = 1;
- notice( t('Duplicate post suppressed.') . EOL);
- logger('Duplicate post. Faking plugin cancel.');
- }
- }
+ $datarray['cancel'] = 1;
+ notice( t('Duplicate post suppressed.') . EOL);
+ logger('Duplicate post. Faking plugin cancel.');
}
}
diff --git a/Zotlabs/Module/New_channel.php b/Zotlabs/Module/New_channel.php
index 1dcf84fb0..26883b6e2 100644
--- a/Zotlabs/Module/New_channel.php
+++ b/Zotlabs/Module/New_channel.php
@@ -125,9 +125,9 @@ class New_channel extends \Zotlabs\Web\Controller {
}
}
- $name = array('name', t('Name or caption'), ((x($_REQUEST,'name')) ? $_REQUEST['name'] : ''), t('Examples: "Bob Jameson", "Lisa and her Horses", "Soccer", "Aviation Group"'));
+ $name = array('name', t('Name or caption'), ((x($_REQUEST,'name')) ? $_REQUEST['name'] : ''), t('Examples: "Bob Jameson", "Lisa and her Horses", "Soccer", "Aviation Group"'), "*");
$nickhub = '@' . \App::get_hostname();
- $nickname = array('nickname', t('Choose a short nickname'), ((x($_REQUEST,'nickname')) ? $_REQUEST['nickname'] : ''), sprintf( t('Your nickname will be used to create an easy to remember channel address e.g. nickname%s'), $nickhub));
+ $nickname = array('nickname', t('Choose a short nickname'), ((x($_REQUEST,'nickname')) ? $_REQUEST['nickname'] : ''), sprintf( t('Your nickname will be used to create an easy to remember channel address e.g. nickname%s'), $nickhub), "*");
$privacy_role = ((x($_REQUEST,'permissions_role')) ? $_REQUEST['permissions_role'] : "" );
$role = array('permissions_role' , t('Channel role and privacy'), ($privacy_role) ? $privacy_role : 'social', t('Select a channel role with your privacy requirements.') . ' <a href="help/roles" target="_blank">' . t('Read more about roles') . '</a>',get_roles());
diff --git a/Zotlabs/Module/Profile_photo.php b/Zotlabs/Module/Profile_photo.php
index 9359b80f8..f459f7deb 100644
--- a/Zotlabs/Module/Profile_photo.php
+++ b/Zotlabs/Module/Profile_photo.php
@@ -180,6 +180,8 @@ class Profile_photo extends \Zotlabs\Web\Controller {
dbesc(datetime_convert()),
dbesc($channel['xchan_hash'])
);
+ // Similarly, tell the nav bar to bypass the cache and update the avater image.
+ $_SESSION['reload_avatar'] = true;
info( t('Shift-reload the page or clear browser cache if the new photo does not display immediately.') . EOL);
diff --git a/Zotlabs/Module/Tagger.php b/Zotlabs/Module/Tagger.php
index 0a46cf56d..25f518d53 100644
--- a/Zotlabs/Module/Tagger.php
+++ b/Zotlabs/Module/Tagger.php
@@ -129,9 +129,14 @@ class Tagger extends \Zotlabs\Web\Controller {
store_item_tag($item['uid'],$item['id'],TERM_OBJ_POST,TERM_COMMUNITYTAG,$term,$tagid);
$ret = post_activity_item($arr);
-
- if($ret['success'])
- \Zotlabs\Daemon\Master::Summon(array('Notifier','tag',$ret['activity']['id']));
+
+ if($ret['success']) {
+ build_sync_packet(local_channel(),
+ [
+ 'item' => [ encode_item($ret['activity'],true) ]
+ ]
+ );
+ }
killme();
diff --git a/Zotlabs/Storage/Directory.php b/Zotlabs/Storage/Directory.php
index 06ae90a5f..b524b3cab 100644
--- a/Zotlabs/Storage/Directory.php
+++ b/Zotlabs/Storage/Directory.php
@@ -91,7 +91,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
throw new DAV\Exception\Forbidden('Permission denied.');
}
- $contents = RedCollectionData($this->red_path, $this->auth);
+ $contents = $this->CollectionData($this->red_path, $this->auth);
return $contents;
}
@@ -119,7 +119,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
return new Directory('/' . $modulename, $this->auth);
}
- $x = RedFileData($this->ext_path . '/' . $name, $this->auth);
+ $x = $this->FileData($this->ext_path . '/' . $name, $this->auth);
if ($x) {
return $x;
}
@@ -206,6 +206,8 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
throw new DAV\Exception\Forbidden('Permission denied.');
}
+ require_once('include/attach.php');
+
$mimetype = z_mime_content_type($name);
$c = q("SELECT * FROM channel WHERE channel_id = %d AND channel_removed = 0 LIMIT 1",
@@ -431,8 +433,8 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
return true;
}
- $x = RedFileData($this->ext_path . '/' . $name, $this->auth, true);
- //logger('RedFileData returns: ' . print_r($x, true), LOGGER_DATA);
+ $x = $this->FileData($this->ext_path . '/' . $name, $this->auth, true);
+ //logger('FileData returns: ' . print_r($x, true), LOGGER_DATA);
if ($x)
return true;
@@ -565,4 +567,280 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$free
);
}
+
+
+ /**
+ * @brief Array with all Directory and File DAV\Node items for the given path.
+ *
+ *
+ * @param string $file path to a directory
+ * @param \Zotlabs\Storage\BasicAuth &$auth
+ * @returns null|array \Sabre\DAV\INode[]
+ * @throw \Sabre\DAV\Exception\Forbidden
+ * @throw \Sabre\DAV\Exception\NotFound
+ */
+
+ function CollectionData($file, &$auth) {
+ $ret = array();
+
+ $x = strpos($file, '/cloud');
+ if ($x === 0) {
+ $file = substr($file, 6);
+ }
+
+ // return a list of channel if we are not inside a channel
+ if ((! $file) || ($file === '/')) {
+ return $this->ChannelList($auth);
+ }
+
+ $file = trim($file, '/');
+ $path_arr = explode('/', $file);
+
+ if (! $path_arr)
+ return null;
+
+ $channel_name = $path_arr[0];
+
+ $r = q("SELECT channel_id FROM channel WHERE channel_address = '%s' LIMIT 1",
+ dbesc($channel_name)
+ );
+
+ if (! $r)
+ return null;
+
+ $channel_id = $r[0]['channel_id'];
+ $perms = permissions_sql($channel_id);
+
+ $auth->owner_id = $channel_id;
+
+ $path = '/' . $channel_name;
+
+ $folder = '';
+ $errors = false;
+ $permission_error = false;
+
+ for ($x = 1; $x < count($path_arr); $x++) {
+ $r = q("SELECT id, hash, filename, flags, is_dir FROM attach WHERE folder = '%s' AND filename = '%s' AND uid = %d AND is_dir != 0 $perms LIMIT 1",
+ dbesc($folder),
+ dbesc($path_arr[$x]),
+ intval($channel_id)
+ );
+ if (! $r) {
+ // path wasn't found. Try without permissions to see if it was the result of permissions.
+ $errors = true;
+ $r = q("select id, hash, filename, flags, is_dir from attach where folder = '%s' and filename = '%s' and uid = %d and is_dir != 0 limit 1",
+ dbesc($folder),
+ basename($path_arr[$x]),
+ intval($channel_id)
+ );
+ if ($r) {
+ $permission_error = true;
+ }
+ break;
+ }
+
+ if ($r && intval($r[0]['is_dir'])) {
+ $folder = $r[0]['hash'];
+ $path = $path . '/' . $r[0]['filename'];
+ }
+ }
+
+ if ($errors) {
+ if ($permission_error) {
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ }
+ else {
+ throw new DAV\Exception\NotFound('A component of the request file path could not be found.');
+ }
+ }
+
+ // This should no longer be needed since we just returned errors for paths not found
+ if ($path !== '/' . $file) {
+ logger("Path mismatch: $path !== /$file");
+ return NULL;
+ }
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $prefix = 'DISTINCT ON (filename)';
+ $suffix = 'ORDER BY filename';
+ }
+ else {
+ $prefix = '';
+ $suffix = 'GROUP BY filename';
+ }
+ $r = q("select $prefix id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, created, edited from attach where folder = '%s' and uid = %d $perms $suffix",
+ dbesc($folder),
+ intval($channel_id)
+ );
+
+ foreach ($r as $rr) {
+ //logger('filename: ' . $rr['filename'], LOGGER_DEBUG);
+ if (intval($rr['is_dir'])) {
+ $ret[] = new Directory($path . '/' . $rr['filename'], $auth);
+ }
+ else {
+ $ret[] = new File($path . '/' . $rr['filename'], $rr, $auth);
+ }
+ }
+
+ return $ret;
+ }
+
+
+ /**
+ * @brief Returns an array with viewable channels.
+ *
+ * Get a list of Directory objects with all the channels where the visitor
+ * has <b>view_storage</b> perms.
+ *
+ *
+ * @param BasicAuth &$auth
+ * @return array Directory[]
+ */
+
+ function ChannelList(&$auth) {
+ $ret = array();
+
+ $r = q("SELECT channel_id, channel_address FROM channel WHERE channel_removed = 0
+ AND channel_system = 0 AND NOT (channel_pageflags & %d)>0",
+ intval(PAGE_HIDDEN)
+ );
+
+ if ($r) {
+ foreach ($r as $rr) {
+ if (perm_is_allowed($rr['channel_id'], $auth->observer, 'view_storage')) {
+ logger('found channel: /cloud/' . $rr['channel_address'], LOGGER_DATA);
+ // @todo can't we drop '/cloud'? It gets stripped off anyway in RedDirectory
+ $ret[] = new Directory('/cloud/' . $rr['channel_address'], $auth);
+ }
+ }
+ }
+ return $ret;
+ }
+
+
+ /**
+ * @brief
+ *
+ *
+ * @param string $file
+ * path to file or directory
+ * @param BasicAuth &$auth
+ * @param boolean $test (optional) enable test mode
+ * @return File|Directory|boolean|null
+ * @throw \Sabre\DAV\Exception\Forbidden
+ */
+
+ function FileData($file, &$auth, $test = false) {
+ logger($file . (($test) ? ' (test mode) ' : ''), LOGGER_DATA);
+
+ $x = strpos($file, '/cloud');
+ if ($x === 0) {
+ $file = substr($file, 6);
+ }
+ else {
+ $x = strpos($file,'/dav');
+ if($x === 0)
+ $file = substr($file,4);
+ }
+
+
+ if ((! $file) || ($file === '/')) {
+ return new Directory('/', $auth);
+ }
+
+ $file = trim($file, '/');
+
+ $path_arr = explode('/', $file);
+
+ if (! $path_arr)
+ return null;
+
+ $channel_name = $path_arr[0];
+
+ $r = q("select channel_id from channel where channel_address = '%s' limit 1",
+ dbesc($channel_name)
+ );
+
+ if (! $r)
+ return null;
+
+ $channel_id = $r[0]['channel_id'];
+
+ $path = '/' . $channel_name;
+
+ $auth->owner_id = $channel_id;
+
+ $permission_error = false;
+
+ $folder = '';
+
+ require_once('include/security.php');
+ $perms = permissions_sql($channel_id);
+
+ $errors = false;
+
+ for ($x = 1; $x < count($path_arr); $x++) {
+ $r = q("select id, hash, filename, flags, is_dir from attach where folder = '%s' and filename = '%s' and uid = %d and is_dir != 0 $perms",
+ dbesc($folder),
+ dbesc($path_arr[$x]),
+ intval($channel_id)
+ );
+
+ if ($r && intval($r[0]['is_dir'])) {
+ $folder = $r[0]['hash'];
+ $path = $path . '/' . $r[0]['filename'];
+ }
+ if (! $r) {
+ $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, os_storage, created, edited from attach
+ where folder = '%s' and filename = '%s' and uid = %d $perms order by filename limit 1",
+ dbesc($folder),
+ dbesc(basename($file)),
+ intval($channel_id)
+ );
+ }
+ if (! $r) {
+ $errors = true;
+ $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, os_storage, created, edited from attach
+ where folder = '%s' and filename = '%s' and uid = %d order by filename limit 1",
+ dbesc($folder),
+ dbesc(basename($file)),
+ intval($channel_id)
+ );
+ if ($r)
+ $permission_error = true;
+ }
+ }
+
+ if ($path === '/' . $file) {
+ if ($test)
+ return true;
+ // final component was a directory.
+ return new Directory($file, $auth);
+ }
+
+ if ($errors) {
+ logger('not found ' . $file);
+ if ($test)
+ return false;
+ if ($permission_error) {
+ logger('permission error ' . $file);
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ }
+ return;
+ }
+
+ if ($r) {
+ if ($test)
+ return true;
+
+ if (intval($r[0]['is_dir'])) {
+ return new Directory($path . '/' . $r[0]['filename'], $auth);
+ }
+ else {
+ return new File($path . '/' . $r[0]['filename'], $r[0], $auth);
+ }
+ }
+ return false;
+ }
+
}
diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php
index c7d0e56b1..16f67dc4a 100644
--- a/include/bb2diaspora.php
+++ b/include/bb2diaspora.php
@@ -302,11 +302,11 @@ function bb2diaspora_itemwallwall(&$item) {
}
}
- if(($wallwall) && (is_array($item['author'])) && $item['author']['xchan_url'] && $item['author']['xchan_name'] && $item['author']['xchan_photo_m']) {
+ if(($wallwall) && (is_array($item['author'])) && $item['author']['xchan_url'] && $item['author']['xchan_name'] && $item['author']['xchan_photo_s']) {
logger('bb2diaspora_itemwallwall: wall to wall post',LOGGER_DEBUG);
// post will come across with the owner's identity. Throw a preamble onto the post to indicate the true author.
$item['body'] = "\n\n"
- . '[img]' . $item['author']['xchan_photo_m'] . '[/img]'
+ . '[img]' . $item['author']['xchan_photo_s'] . '[/img]'
. '[url=' . $item['author']['xchan_url'] . ']' . $item['author']['xchan_name'] . '[/url]' . "\n\n"
. $item['body'];
}
diff --git a/include/feedutils.php b/include/feedutils.php
index 685b2f982..01ec0687e 100644
--- a/include/feedutils.php
+++ b/include/feedutils.php
@@ -393,7 +393,7 @@ function get_atom_elements($feed, $item, &$author) {
$terms = array();
$terms[] = array(
'otype' => TERM_OBJ_POST,
- 'type' => TERM_BOOKMARK,
+ 'ttype' => TERM_BOOKMARK,
'url' => $res['plink'],
'term' => $res['title'],
);
@@ -403,7 +403,7 @@ function get_atom_elements($feed, $item, &$author) {
$terms = array();
$terms[] = array(
'otype' => TERM_OBJ_POST,
- 'type' => TERM_BOOKMARK,
+ 'ttype' => TERM_BOOKMARK,
'url' => $res['plink'],
'term' => $res['plink'],
);
diff --git a/include/items.php b/include/items.php
index 84683273d..72f0896ad 100755
--- a/include/items.php
+++ b/include/items.php
@@ -449,11 +449,7 @@ function post_activity_item($arr) {
call_hooks('post_local_end', $arr);
Zotlabs\Daemon\Master::Summon(array('Notifier','activity',$post_id));
$ret['success'] = true;
- $r = q("select * from item where id = %d limit 1",
- intval($post_id)
- );
- if($r)
- $ret['activity'] = $r[0];
+ $ret['activity'] = $post['item'];
}
return $ret;
@@ -3290,15 +3286,17 @@ function item_expire($uid,$days) {
$item_normal = item_normal();
- $r = q("SELECT * FROM `item`
- WHERE `uid` = %d
- AND `created` < %s - INTERVAL %s
- AND `id` = `parent`
- $sql_extra
+ $r = q("SELECT id FROM item
+ WHERE uid = %d
+ AND created < %s - INTERVAL %s
AND item_retained = 0
- $item_normal LIMIT $expire_limit ",
+ AND item_thread_top = 1
+ AND resource_type = ''
+ AND item_starred = 0
+ $sql_extra $item_normal LIMIT $expire_limit ",
intval($uid),
- db_utcnow(), db_quoteinterval(intval($days).' DAY')
+ db_utcnow(),
+ db_quoteinterval(intval($days).' DAY')
);
if(! $r)
@@ -3316,17 +3314,6 @@ function item_expire($uid,$days) {
continue;
}
- // Only expire posts, not photos and photo comments
-
- if($item['resource_type'] === 'photo') {
- retain_item($item['id']);
- continue;
- }
- if(intval($item['item_starred'])) {
- retain_item($item['id']);
- continue;
- }
-
drop_item($item['id'],false);
}
diff --git a/include/nav.php b/include/nav.php
index 6a79b6530..1fb0e98dc 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -255,6 +255,19 @@ $powered_by = '';
'$pleasewait' => t('Please wait...')
));
+
+ if(x($_SESSION, 'reload_avatar') && $observer) {
+ // The avatar has been changed on the server but the browser doesn't know that,
+ // force the browser to reload the image from the server instead of its cache.
+ $tpl = get_markup_template('force_image_reload.tpl');
+
+ App::$page['nav'] .= replace_macros($tpl, array(
+ '$imgUrl' => $observer['xchan_photo_m']
+ ));
+ unset($_SESSION['reload_avatar']);
+ }
+
+
call_hooks('page_header', App::$page['nav']);
}
diff --git a/include/reddav.php b/include/reddav.php
deleted file mode 100644
index abf21b86d..000000000
--- a/include/reddav.php
+++ /dev/null
@@ -1,299 +0,0 @@
-<?php
-/**
- * @file include/reddav.php
- * @brief some DAV related functions for Hubzilla.
- *
- * This file contains some functions which did not fit into one of the RedDAV
- * classes.
- *
- * The extended SabreDAV classes you will find in the RedDAV namespace under
- * @ref includes/RedDAV/.
- * The original SabreDAV classes you can find under @ref vendor/sabre/dav/.
- * We need to use SabreDAV 1.8.x for PHP5.3 compatibility. SabreDAV >= 2.0
- * requires PHP >= 5.4.
- *
- * @todo split up the classes into own files.
- *
- * @link http://github.com/friendica/red
- * @license http://opensource.org/licenses/mit-license.php The MIT License (MIT)
- */
-
-use Sabre\DAV;
-use Zotlabs\Storage;
-
-require_once('vendor/autoload.php');
-require_once('include/attach.php');
-
-/**
- * @brief Returns an array with viewable channels.
- *
- * Get a list of RedDirectory objects with all the channels where the visitor
- * has <b>view_storage</b> perms.
- *
- * @todo Is there any reason why this is not inside RedDirectory class?
- * @fixme function name looks like a class name, should we rename it?
- *
- * @param RedBasicAuth &$auth
- * @return array RedDirectory[]
- */
-function RedChannelList(&$auth) {
- $ret = array();
-
- $r = q("SELECT channel_id, channel_address FROM channel WHERE channel_removed = 0 AND channel_system = 0 AND NOT (channel_pageflags & %d)>0",
- intval(PAGE_HIDDEN)
- );
-
- if ($r) {
- foreach ($r as $rr) {
- if (perm_is_allowed($rr['channel_id'], $auth->observer, 'view_storage')) {
- logger('found channel: /cloud/' . $rr['channel_address'], LOGGER_DATA);
- // @todo can't we drop '/cloud'? It gets stripped off anyway in RedDirectory
- $ret[] = new Zotlabs\Storage\Directory('/cloud/' . $rr['channel_address'], $auth);
- }
- }
- }
- return $ret;
-}
-
-
-/**
- * @brief TODO what exactly does this function?
- *
- * Array with all RedDirectory and RedFile DAV\Node items for the given path.
- *
- * @todo Is there any reason why this is not inside RedDirectory class? Seems
- * only to be used there and we could simplify it a bit there.
- * @fixme function name looks like a class name, should we rename it?
- *
- * @param string $file path to a directory
- * @param RedBasicAuth &$auth
- * @returns null|array \Sabre\DAV\INode[]
- * @throw \Sabre\DAV\Exception\Forbidden
- * @throw \Sabre\DAV\Exception\NotFound
- */
-function RedCollectionData($file, &$auth) {
- $ret = array();
-
- $x = strpos($file, '/cloud');
- if ($x === 0) {
- $file = substr($file, 6);
- }
-
- // return a list of channel if we are not inside a channel
- if ((! $file) || ($file === '/')) {
- return RedChannelList($auth);
- }
-
- $file = trim($file, '/');
- $path_arr = explode('/', $file);
-
- if (! $path_arr)
- return null;
-
- $channel_name = $path_arr[0];
-
- $r = q("SELECT channel_id FROM channel WHERE channel_address = '%s' LIMIT 1",
- dbesc($channel_name)
- );
-
- if (! $r)
- return null;
-
- $channel_id = $r[0]['channel_id'];
- $perms = permissions_sql($channel_id);
-
- $auth->owner_id = $channel_id;
-
- $path = '/' . $channel_name;
-
- $folder = '';
- $errors = false;
- $permission_error = false;
-
- for ($x = 1; $x < count($path_arr); $x++) {
- $r = q("SELECT id, hash, filename, flags, is_dir FROM attach WHERE folder = '%s' AND filename = '%s' AND uid = %d AND is_dir != 0 $perms LIMIT 1",
- dbesc($folder),
- dbesc($path_arr[$x]),
- intval($channel_id)
- );
- if (! $r) {
- // path wasn't found. Try without permissions to see if it was the result of permissions.
- $errors = true;
- $r = q("select id, hash, filename, flags, is_dir from attach where folder = '%s' and filename = '%s' and uid = %d and is_dir != 0 limit 1",
- dbesc($folder),
- basename($path_arr[$x]),
- intval($channel_id)
- );
- if ($r) {
- $permission_error = true;
- }
- break;
- }
-
- if ($r && intval($r[0]['is_dir'])) {
- $folder = $r[0]['hash'];
- $path = $path . '/' . $r[0]['filename'];
- }
- }
-
- if ($errors) {
- if ($permission_error) {
- throw new DAV\Exception\Forbidden('Permission denied.');
- } else {
- throw new DAV\Exception\NotFound('A component of the request file path could not be found.');
- }
- }
-
- // This should no longer be needed since we just returned errors for paths not found
- if ($path !== '/' . $file) {
- logger("Path mismatch: $path !== /$file");
- return NULL;
- }
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
- $prefix = 'DISTINCT ON (filename)';
- $suffix = 'ORDER BY filename';
- } else {
- $prefix = '';
- $suffix = 'GROUP BY filename';
- }
- $r = q("select $prefix id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, created, edited from attach where folder = '%s' and uid = %d $perms $suffix",
- dbesc($folder),
- intval($channel_id)
- );
-
- foreach ($r as $rr) {
- //logger('filename: ' . $rr['filename'], LOGGER_DEBUG);
- if (intval($rr['is_dir'])) {
- $ret[] = new Zotlabs\Storage\Directory($path . '/' . $rr['filename'], $auth);
- } else {
- $ret[] = new Zotlabs\Storage\File($path . '/' . $rr['filename'], $rr, $auth);
- }
- }
-
- return $ret;
-}
-
-
-/**
- * @brief TODO What exactly is this function for?
- *
- * @fixme function name looks like a class name, should we rename it?
- *
- * @param string $file
- * path to file or directory
- * @param RedBasicAuth &$auth
- * @param boolean $test (optional) enable test mode
- * @return RedFile|RedDirectory|boolean|null
- * @throw \Sabre\DAV\Exception\Forbidden
- */
-function RedFileData($file, &$auth, $test = false) {
- logger($file . (($test) ? ' (test mode) ' : ''), LOGGER_DATA);
-
- $x = strpos($file, '/cloud');
- if ($x === 0) {
- $file = substr($file, 6);
- }
- else {
- $x = strpos($file,'/dav');
- if($x === 0)
- $file = substr($file,4);
- }
-
-
- if ((! $file) || ($file === '/')) {
- return new Zotlabs\Storage\Directory('/', $auth);
- }
-
- $file = trim($file, '/');
-
- $path_arr = explode('/', $file);
-
- if (! $path_arr)
- return null;
-
- $channel_name = $path_arr[0];
-
- $r = q("select channel_id from channel where channel_address = '%s' limit 1",
- dbesc($channel_name)
- );
-
- if (! $r)
- return null;
-
- $channel_id = $r[0]['channel_id'];
-
- $path = '/' . $channel_name;
-
- $auth->owner_id = $channel_id;
-
- $permission_error = false;
-
- $folder = '';
-
- require_once('include/security.php');
- $perms = permissions_sql($channel_id);
-
- $errors = false;
-
- for ($x = 1; $x < count($path_arr); $x++) {
- $r = q("select id, hash, filename, flags, is_dir from attach where folder = '%s' and filename = '%s' and uid = %d and is_dir != 0 $perms",
- dbesc($folder),
- dbesc($path_arr[$x]),
- intval($channel_id)
- );
-
- if ($r && intval($r[0]['is_dir'])) {
- $folder = $r[0]['hash'];
- $path = $path . '/' . $r[0]['filename'];
- }
- if (! $r) {
- $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, os_storage, created, edited from attach
- where folder = '%s' and filename = '%s' and uid = %d $perms order by filename limit 1",
- dbesc($folder),
- dbesc(basename($file)),
- intval($channel_id)
- );
- }
- if (! $r) {
- $errors = true;
- $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, os_storage, created, edited from attach
- where folder = '%s' and filename = '%s' and uid = %d order by filename limit 1",
- dbesc($folder),
- dbesc(basename($file)),
- intval($channel_id)
- );
- if ($r)
- $permission_error = true;
- }
- }
-
- if ($path === '/' . $file) {
- if ($test)
- return true;
- // final component was a directory.
- return new Zotlabs\Storage\Directory($file, $auth);
- }
-
- if ($errors) {
- logger('not found ' . $file);
- if ($test)
- return false;
- if ($permission_error) {
- logger('permission error ' . $file);
- throw new DAV\Exception\Forbidden('Permission denied.');
- }
- return;
- }
-
- if ($r) {
- if ($test)
- return true;
-
- if (intval($r[0]['is_dir'])) {
- return new Zotlabs\Storage\Directory($path . '/' . $r[0]['filename'], $auth);
- } else {
- return new Zotlabs\Storage\File($path . '/' . $r[0]['filename'], $r[0], $auth);
- }
- }
- return false;
-} \ No newline at end of file
diff --git a/include/spam.php b/include/spam.php
deleted file mode 100644
index 8b158b7ae..000000000
--- a/include/spam.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php /** @file */
-
-
-function string_splitter($s) {
-
- if(! $s)
- return array();
-
- $s = preg_replace('/\pP+/','',$s);
-
- $x = mb_split("\[|\]|\s",$s);
-
- $ret = array();
- if($x) {
- foreach($x as $y) {
- if(mb_strlen($y) > 2)
- $ret[] = substr($y,0,64);
- }
- }
- return $ret;
-}
-
-
-
-function get_words($uid,$list) {
-
- stringify($list,true);
-
- $r = q("select * from spam where term in ( " . $list . ") and uid = %d",
- intval($uid)
- );
-
- return $r;
-}
-
diff --git a/include/text.php b/include/text.php
index 89c3a0539..986e3b56c 100644
--- a/include/text.php
+++ b/include/text.php
@@ -2354,7 +2354,13 @@ function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag, $d
$str_tags .= $newtag;
}
- return array('replaced' => $replaced, 'termtype' => $termtype, 'term' => $basetag, 'url' => $url, 'contact' => $r[0]);
+ return [
+ 'replaced' => $replaced,
+ 'termtype' => $termtype,
+ 'term' => $basetag,
+ 'url' => $url,
+ 'contact' => $r[0]
+ ];
}
//is it a person tag?
@@ -2545,7 +2551,13 @@ function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag, $d
}
}
- return array('replaced' => $replaced, 'termtype' => $termtype, 'term' => $newname, 'url' => $url, 'contact' => $r[0]);
+ return [
+ 'replaced' => $replaced,
+ 'termtype' => $termtype,
+ 'term' => $newname,
+ 'url' => $url,
+ 'contact' => $r[0]
+ ];
}
function linkify_tags($a, &$body, $uid, $diaspora = false) {
diff --git a/include/widgets.php b/include/widgets.php
index 7fc3f1aeb..a4a6fb55a 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -1347,7 +1347,7 @@ function widget_forums($arr) {
$perms_sql = item_permissions_sql(local_channel()) . item_normal();
- $r1 = q("select * from abook left join xchan on abook_xchan = xchan_hash where ( xchan_pubforum = 1 or ((abook_their_perms & %d ) != 0 and (abook_their_perms & %d ) = 0) ) and xchan_deleted = 0 and abook_channel = %d order by xchan_name $limit ",
+ $r1 = q("select abook_id, xchan_hash, xchan_name, xchan_url, xchan_photo_s from abook left join xchan on abook_xchan = xchan_hash where ( xchan_pubforum = 1 or ((abook_their_perms & %d ) != 0 and (abook_their_perms & %d ) = 0) ) and xchan_deleted = 0 and abook_channel = %d order by xchan_name $limit ",
intval(PERMS_W_TAGWALL),
intval(PERMS_W_STREAM),
intval(local_channel())
@@ -1361,12 +1361,34 @@ function widget_forums($arr) {
// There also should be a way to update this via ajax.
for($x = 0; $x < count($r1); $x ++) {
- $r = q("select sum(item_unseen) as unseen from item where owner_xchan = '%s' and uid = %d $perms_sql ",
+ $r = q("select sum(item_unseen) as unseen from item where owner_xchan = '%s' and uid = %d and item_unseen = 1 $perms_sql ",
dbesc($r1[$x]['xchan_hash']),
intval(local_channel())
);
if($r)
$r1[$x]['unseen'] = $r[0]['unseen'];
+
+/**
+ * @FIXME
+ * This SQL makes the counts correct when you get forum posts arriving from different routes/sources
+ * (like personal channels). However the network query for these posts doesn't yet include this
+ * correction and it makes the SQL for that query pretty hairy so this is left as a future exercise.
+ * It may make more sense in that query to look for the mention in the body rather than another join,
+ * but that makes it very inefficient.
+ *
+ $r = q("select sum(item_unseen) as unseen from item left join term on oid = id where otype = %d and owner_xchan != '%s' and item.uid = %d and url = '%s' and ttype = %d $perms_sql ",
+ intval(TERM_OBJ_POST),
+ dbesc($r1[$x]['xchan_hash']),
+ intval(local_channel()),
+ dbesc($r1[$x]['xchan_url']),
+ intval(TERM_MENTION)
+ );
+ if($r)
+ $r1[$x]['unseen'] = ((array_key_exists('unseen',$r1[$x])) ? $r1[$x]['unseen'] + $r[0]['unseen'] : $r[0]['unseen']);
+ *
+ * end @FIXME
+ */
+
}
if($r1) {
diff --git a/util/hmessages.po b/util/hmessages.po
index 30a8f5329..8ab5226e5 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-01 00:02-0700\n"
+"POT-Creation-Date: 2016-07-08 00:02-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2597
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2609
msgid "Collection"
msgstr ""
@@ -47,14 +47,14 @@ msgstr ""
#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798
#: ../../Zotlabs/Module/Photos.php:1243
-#: ../../Zotlabs/Module/Embedphotos.php:147 ../../Zotlabs/Lib/Apps.php:489
-#: ../../Zotlabs/Lib/Apps.php:564 ../../include/conversation.php:1035
-#: ../../include/widgets.php:1578
+#: ../../Zotlabs/Module/Embedphotos.php:147 ../../Zotlabs/Lib/Apps.php:490
+#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1035
+#: ../../include/widgets.php:1563
msgid "Unknown"
msgstr ""
#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:216 ../../include/conversation.php:1654
+#: ../../Zotlabs/Lib/Apps.php:217 ../../include/conversation.php:1654
#: ../../include/nav.php:93
msgid "Files"
msgstr ""
@@ -77,8 +77,8 @@ 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/Profile_photo.php:388
-#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1591
+#: ../../Zotlabs/Module/Profile_photo.php:390
+#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1576
msgid "Upload"
msgstr ""
@@ -112,10 +112,10 @@ msgstr ""
#: ../../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:340
+#: ../../Zotlabs/Module/Webpages.php:195 ../../Zotlabs/Lib/Apps.php:341
#: ../../Zotlabs/Lib/ThreadItem.php:106 ../../include/page_widgets.php:9
-#: ../../include/page_widgets.php:39 ../../include/channel.php:961
-#: ../../include/channel.php:965 ../../include/menu.php:108
+#: ../../include/page_widgets.php:39 ../../include/menu.php:108
+#: ../../include/channel.php:961 ../../include/channel.php:965
msgid "Edit"
msgstr ""
@@ -127,7 +127,7 @@ msgstr ""
#: ../../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:341
+#: ../../Zotlabs/Module/Webpages.php:197 ../../Zotlabs/Lib/Apps.php:342
#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:660
msgid "Delete"
msgstr ""
@@ -186,7 +186,7 @@ msgstr ""
#: ../../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:1070 ../../Zotlabs/Module/Photos.php:75
+#: ../../Zotlabs/Module/Item.php:1072 ../../Zotlabs/Module/Photos.php:75
#: ../../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
@@ -198,8 +198,8 @@ msgstr ""
#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Poke.php:137
#: ../../Zotlabs/Module/Profile.php:68 ../../Zotlabs/Module/Profile.php:76
#: ../../Zotlabs/Module/Block.php:26 ../../Zotlabs/Module/Block.php:76
-#: ../../Zotlabs/Module/Profile_photo.php:263
-#: ../../Zotlabs/Module/Profile_photo.php:276
+#: ../../Zotlabs/Module/Profile_photo.php:265
+#: ../../Zotlabs/Module/Profile_photo.php:278
#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Editblock.php:67
#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Register.php:77
@@ -214,13 +214,13 @@ msgstr ""
#: ../../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/items.php:3462 ../../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/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
msgid "Permission denied."
msgstr ""
@@ -339,7 +339,7 @@ msgstr ""
msgid "Connection has been removed."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:525 ../../Zotlabs/Lib/Apps.php:220
+#: ../../Zotlabs/Module/Connedit.php:525 ../../Zotlabs/Lib/Apps.php:221
#: ../../include/conversation.php:957 ../../include/nav.php:86
msgid "View Profile"
msgstr ""
@@ -491,7 +491,7 @@ msgstr ""
msgid "Connection Default Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:708 ../../include/items.php:3949
+#: ../../Zotlabs/Module/Connedit.php:708 ../../include/items.php:3936
#, php-format
msgid "Connection: %s"
msgstr ""
@@ -570,10 +570,10 @@ msgid "inherited"
msgstr ""
#: ../../Zotlabs/Module/Connedit.php:737 ../../Zotlabs/Module/Connect.php:98
-#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Events.php:672
-#: ../../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/Events.php:475 ../../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/Profiles.php:687 ../../Zotlabs/Module/Import.php:551
#: ../../Zotlabs/Module/Photos.php:677 ../../Zotlabs/Module/Photos.php:1052
@@ -594,9 +594,8 @@ msgstr ""
#: ../../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/widgets.php:757
-#: ../../include/widgets.php:769 ../../include/js_strings.php:22
-#: ../../view/theme/redbasic/php/config.php:99
+#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/js_strings.php:22
+#: ../../include/widgets.php:754 ../../view/theme/redbasic/php/config.php:99
msgid "Submit"
msgstr ""
@@ -648,7 +647,7 @@ msgstr ""
#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33
#: ../../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:3383
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3370
msgid "Item not found."
msgstr ""
@@ -675,7 +674,7 @@ msgid "Email"
msgstr ""
#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
-#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:237
+#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:238
msgid "Profile Photo"
msgstr ""
@@ -711,7 +710,7 @@ msgstr ""
msgid "Homepage URL"
msgstr ""
-#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:235
+#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:236
msgid "Language"
msgstr ""
@@ -772,8 +771,8 @@ msgstr ""
msgid "Age:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:311 ../../include/bb2diaspora.php:507
-#: ../../include/event.php:52 ../../include/event.php:84
+#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52
+#: ../../include/event.php:84 ../../include/bb2diaspora.php:507
#: ../../include/channel.php:1051
msgid "Location:"
msgstr ""
@@ -791,8 +790,8 @@ msgid "About:"
msgstr ""
#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
-#: ../../Zotlabs/Module/Suggest.php:56 ../../include/connections.php:78
-#: ../../include/conversation.php:959 ../../include/widgets.php:147
+#: ../../Zotlabs/Module/Suggest.php:56 ../../include/conversation.php:959
+#: ../../include/connections.php:78 ../../include/widgets.php:147
#: ../../include/widgets.php:184 ../../include/channel.php:1036
msgid "Connect"
msgstr ""
@@ -1066,37 +1065,49 @@ msgstr ""
msgid "Create Event"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:673
+#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:675
#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
#: ../../Zotlabs/Module/Photos.php:949
msgid "Previous"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:674
+#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:676
#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:267
msgid "Next"
msgstr ""
#: ../../Zotlabs/Module/Events.php:668 ../../Zotlabs/Module/Cal.php:334
-#: ../../include/widgets.php:755
msgid "Export"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:671 ../../Zotlabs/Module/Cal.php:337
-#: ../../include/widgets.php:756
-msgid "Import"
+#: ../../Zotlabs/Module/Events.php:671 ../../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
+msgid "View"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:672
+msgid "Month"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:673
+msgid "Week"
+msgstr ""
+
+#: ../../Zotlabs/Module/Events.php:674
+msgid "Day"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:675 ../../Zotlabs/Module/Cal.php:341
+#: ../../Zotlabs/Module/Events.php:677 ../../Zotlabs/Module/Cal.php:341
msgid "Today"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:706
+#: ../../Zotlabs/Module/Events.php:708
msgid "Event removed"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:709
+#: ../../Zotlabs/Module/Events.php:711
msgid "Failed to remove event"
msgstr ""
@@ -1126,7 +1137,7 @@ msgstr ""
msgid "Edit post"
msgstr ""
-#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:221
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222
#: ../../include/conversation.php:1647 ../../include/nav.php:92
msgid "Photos"
msgstr ""
@@ -1169,8 +1180,8 @@ 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/text.php:922
-#: ../../include/text.php:934 ../../include/widgets.php:201
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:201
+#: ../../include/text.php:922 ../../include/text.php:934
msgid "Save"
msgstr ""
@@ -1287,15 +1298,15 @@ msgstr ""
msgid "Recent activity"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
-#: ../../include/text.php:851 ../../include/nav.php:188
+#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:209
+#: ../../include/nav.php:188 ../../include/text.php:851
msgid "Connections"
msgstr ""
#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../Zotlabs/Lib/Apps.php:229 ../../include/acl_selectors.php:276
-#: ../../include/text.php:921 ../../include/text.php:933
-#: ../../include/nav.php:167
+#: ../../Zotlabs/Lib/Apps.php:230 ../../include/acl_selectors.php:276
+#: ../../include/nav.php:167 ../../include/text.php:921
+#: ../../include/text.php:933
msgid "Search"
msgstr ""
@@ -1323,39 +1334,39 @@ msgid "Image resize failed."
msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:168
-#: ../../Zotlabs/Module/Profile_photo.php:194 ../../include/photos.php:148
+#: ../../Zotlabs/Module/Profile_photo.php:196 ../../include/photos.php:148
msgid "Unable to process image"
msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:192
-#: ../../Zotlabs/Module/Profile_photo.php:221
+#: ../../Zotlabs/Module/Profile_photo.php:223
msgid "Image upload failed."
msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:210
-#: ../../Zotlabs/Module/Profile_photo.php:240
+#: ../../Zotlabs/Module/Profile_photo.php:242
msgid "Unable to process image."
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4310
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4297
msgid "female"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4311
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4298
#, php-format
msgid "%1$s updated her %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4312
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4299
msgid "male"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4313
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4300
#, php-format
msgid "%1$s updated his %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4315
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4302
#, php-format
msgid "%1$s updated their %2$s"
msgstr ""
@@ -1366,18 +1377,18 @@ msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:303
#: ../../Zotlabs/Module/Cover_photo.php:318
-#: ../../Zotlabs/Module/Profile_photo.php:298
-#: ../../Zotlabs/Module/Profile_photo.php:339
+#: ../../Zotlabs/Module/Profile_photo.php:300
+#: ../../Zotlabs/Module/Profile_photo.php:341
msgid "Photo not available."
msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:354
-#: ../../Zotlabs/Module/Profile_photo.php:385
+#: ../../Zotlabs/Module/Profile_photo.php:387
msgid "Upload File:"
msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:355
-#: ../../Zotlabs/Module/Profile_photo.php:386
+#: ../../Zotlabs/Module/Profile_photo.php:388
msgid "Select a profile:"
msgstr ""
@@ -1386,33 +1397,33 @@ msgid "Upload Cover Photo"
msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:394
+#: ../../Zotlabs/Module/Profile_photo.php:396
#: ../../Zotlabs/Module/Settings.php:985
msgid "or"
msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:394
+#: ../../Zotlabs/Module/Profile_photo.php:396
msgid "skip this step"
msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:394
+#: ../../Zotlabs/Module/Profile_photo.php:396
msgid "select a photo from your photo albums"
msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:377
-#: ../../Zotlabs/Module/Profile_photo.php:413
+#: ../../Zotlabs/Module/Profile_photo.php:415
msgid "Crop Image"
msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:378
-#: ../../Zotlabs/Module/Profile_photo.php:414
+#: ../../Zotlabs/Module/Profile_photo.php:416
msgid "Please adjust the image cropping for optimum viewing."
msgstr ""
#: ../../Zotlabs/Module/Cover_photo.php:380
-#: ../../Zotlabs/Module/Profile_photo.php:416
+#: ../../Zotlabs/Module/Profile_photo.php:418
msgid "Done Editing"
msgstr ""
@@ -1446,6 +1457,10 @@ msgstr ""
msgid "Permissions denied."
msgstr ""
+#: ../../Zotlabs/Module/Cal.php:337
+msgid "Import"
+msgstr ""
+
#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
msgid "This site is not a directory server"
msgstr ""
@@ -1603,6 +1618,10 @@ msgid "Delivery report for %1$s"
msgstr ""
#: ../../Zotlabs/Module/Dreport.php:149
+msgid "Options"
+msgstr ""
+
+#: ../../Zotlabs/Module/Dreport.php:150
msgid "Redeliver"
msgstr ""
@@ -1637,7 +1656,7 @@ msgid "Could not create privacy group."
msgstr ""
#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3916
+#: ../../include/items.php:3903
msgid "Privacy group not found."
msgstr ""
@@ -1743,7 +1762,7 @@ msgid "Help:"
msgstr ""
#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
-#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:224
+#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225
#: ../../include/nav.php:161
msgid "Help"
msgstr ""
@@ -1870,12 +1889,6 @@ msgstr ""
msgid "Download PDL file"
msgstr ""
-#: ../../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
-msgid "View"
-msgstr ""
-
#: ../../Zotlabs/Module/Like.php:19
msgid "Like/Dislike"
msgstr ""
@@ -2238,8 +2251,8 @@ msgstr ""
msgid "Profile Image"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:777 ../../include/channel.php:961
-#: ../../include/nav.php:88
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
+#: ../../include/channel.php:961
msgid "Edit Profiles"
msgstr ""
@@ -2361,24 +2374,24 @@ msgstr ""
msgid "Executable content type not permitted to this channel."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:848
+#: ../../Zotlabs/Module/Item.php:852
msgid "Duplicate post suppressed."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:983
+#: ../../Zotlabs/Module/Item.php:985
msgid "System error. Post not saved."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1241
+#: ../../Zotlabs/Module/Item.php:1243
msgid "Unable to obtain post information from database."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1248
+#: ../../Zotlabs/Module/Item.php:1250
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1255
+#: ../../Zotlabs/Module/Item.php:1257
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
@@ -2389,8 +2402,8 @@ msgstr ""
#: ../../Zotlabs/Module/Photos.php:99 ../../Zotlabs/Module/Photos.php:743
#: ../../Zotlabs/Module/Profile_photo.php:115
-#: ../../Zotlabs/Module/Profile_photo.php:210
-#: ../../Zotlabs/Module/Profile_photo.php:309
+#: ../../Zotlabs/Module/Profile_photo.php:212
+#: ../../Zotlabs/Module/Profile_photo.php:311
#: ../../include/photo/photo_driver.php:718
msgid "Profile Photos"
msgstr ""
@@ -2473,12 +2486,12 @@ msgid "Show Oldest First"
msgstr ""
#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331
-#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1572
+#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1557
msgid "View Photo"
msgstr ""
#: ../../Zotlabs/Module/Photos.php:823
-#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1589
+#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1574
msgid "Edit Album"
msgstr ""
@@ -2921,7 +2934,7 @@ msgstr ""
msgid "Create a new channel"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:213
+#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214
#: ../../include/nav.php:208
msgid "Channel Manager"
msgstr ""
@@ -3132,7 +3145,7 @@ msgctxt "mood"
msgid "%1$s is %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:226
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:227
msgid "Mood"
msgstr ""
@@ -3408,7 +3421,7 @@ msgstr ""
msgid "Site settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2821
+#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2833
msgid "Default"
msgstr ""
@@ -3444,7 +3457,7 @@ msgstr ""
msgid "My site offers free accounts with optional paid upgrades"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1455
+#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1440
msgid "Site"
msgstr ""
@@ -3793,7 +3806,7 @@ msgid ""
"embedded content from that site is explicitly blocked."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1458
+#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1443
msgid "Security"
msgstr ""
@@ -3960,7 +3973,7 @@ msgid "Account '%s' unblocked"
msgstr ""
#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
-#: ../../include/widgets.php:1456
+#: ../../include/widgets.php:1441
msgid "Accounts"
msgstr ""
@@ -4066,7 +4079,7 @@ msgstr ""
msgid "Channel '%s' code disallowed"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1457
+#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1442
msgid "Channels"
msgstr ""
@@ -4125,7 +4138,7 @@ msgid "Enable"
msgstr ""
#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
-#: ../../include/widgets.php:1460
+#: ../../include/widgets.php:1445
msgid "Plugins"
msgstr ""
@@ -4134,8 +4147,8 @@ msgid "Toggle"
msgstr ""
#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
-#: ../../Zotlabs/Lib/Apps.php:215 ../../include/widgets.php:638
-#: ../../include/nav.php:210
+#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:210
+#: ../../include/widgets.php:638
msgid "Settings"
msgstr ""
@@ -4191,7 +4204,7 @@ msgstr ""
msgid "Install new repo"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:333
+#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:334
msgid "Install"
msgstr ""
@@ -4208,7 +4221,7 @@ 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:333
+#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:334
msgid "Update"
msgstr ""
@@ -4225,7 +4238,7 @@ msgid "Screenshot"
msgstr ""
#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
-#: ../../include/widgets.php:1461
+#: ../../include/widgets.php:1446
msgid "Themes"
msgstr ""
@@ -4241,8 +4254,8 @@ msgstr ""
msgid "Log settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1482
-#: ../../include/widgets.php:1492
+#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1467
+#: ../../include/widgets.php:1477
msgid "Logs"
msgstr ""
@@ -4308,7 +4321,7 @@ msgstr ""
msgid "Edit Profile Field"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1463
+#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1448
msgid "Profile Fields"
msgstr ""
@@ -4424,7 +4437,7 @@ msgstr ""
msgid "Mark all system notifications seen"
msgstr ""
-#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:227
+#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:228
#: ../../include/conversation.php:963
msgid "Poke"
msgstr ""
@@ -4593,7 +4606,7 @@ msgstr ""
msgid "Authenticate"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1343
+#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1328
msgid "Public Hubs"
msgstr ""
@@ -4635,13 +4648,13 @@ msgstr ""
msgid "Rate"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:184
+#: ../../Zotlabs/Module/Profile_photo.php:186
msgid ""
"Shift-reload the page or clear browser cache if the new photo does not "
"display immediately."
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:387
+#: ../../Zotlabs/Module/Profile_photo.php:389
msgid "Upload Profile Photo"
msgstr ""
@@ -4691,8 +4704,8 @@ msgstr ""
msgid "Description: "
msgstr ""
-#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102
-#: ../../include/nav.php:165
+#: ../../Zotlabs/Module/Apps.php:47 ../../include/nav.php:165
+#: ../../include/widgets.php:102
msgid "Apps"
msgstr ""
@@ -6109,8 +6122,8 @@ msgstr ""
msgid "*"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:72
-#: ../../include/widgets.php:630
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:630
+#: ../../include/features.php:72
msgid "Channel Sources"
msgstr ""
@@ -6212,7 +6225,7 @@ msgstr ""
msgid "Select a tag to remove: "
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:192 ../../Zotlabs/Lib/Apps.php:217
+#: ../../Zotlabs/Module/Webpages.php:192 ../../Zotlabs/Lib/Apps.php:218
#: ../../include/conversation.php:1700 ../../include/nav.php:106
msgid "Webpages"
msgstr ""
@@ -6233,9 +6246,9 @@ msgstr ""
msgid "Not found"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:92 ../../Zotlabs/Lib/Apps.php:218
+#: ../../Zotlabs/Module/Wiki.php:92 ../../Zotlabs/Lib/Apps.php:219
#: ../../include/conversation.php:1710 ../../include/conversation.php:1713
-#: ../../include/features.php:55 ../../include/nav.php:108
+#: ../../include/nav.php:108 ../../include/features.php:55
msgid "Wiki"
msgstr ""
@@ -6573,89 +6586,89 @@ msgstr ""
msgid "commented on %s's post"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:204
+#: ../../Zotlabs/Lib/Apps.php:205
msgid "Site Admin"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:205
+#: ../../Zotlabs/Lib/Apps.php:206
msgid "Bug Report"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:206
+#: ../../Zotlabs/Lib/Apps.php:207
msgid "View Bookmarks"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:207
+#: ../../Zotlabs/Lib/Apps.php:208
msgid "My Chatrooms"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:209
+#: ../../Zotlabs/Lib/Apps.php:210
msgid "Firefox Share"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:210
+#: ../../Zotlabs/Lib/Apps.php:211
msgid "Remote Diagnostics"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:211 ../../include/features.php:90
+#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:90
msgid "Suggest Channels"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:212 ../../include/nav.php:112
+#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:112
#: ../../boot.php:1704
msgid "Login"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:214 ../../include/nav.php:181
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:181
msgid "Grid"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:219 ../../include/nav.php:184
+#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:184
msgid "Channel Home"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:222 ../../include/conversation.php:1664
+#: ../../Zotlabs/Lib/Apps.php:223 ../../include/conversation.php:1664
#: ../../include/conversation.php:1667 ../../include/nav.php:203
msgid "Events"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:169
+#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:169
msgid "Directory"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:225 ../../include/nav.php:195
+#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:195
msgid "Mail"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:228 ../../include/nav.php:96
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:96
msgid "Chat"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:230
+#: ../../Zotlabs/Lib/Apps.php:231
msgid "Probe"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:231
+#: ../../Zotlabs/Lib/Apps.php:232
msgid "Suggest"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:232
+#: ../../Zotlabs/Lib/Apps.php:233
msgid "Random Channel"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:233
+#: ../../Zotlabs/Lib/Apps.php:234
msgid "Invite"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:234 ../../include/widgets.php:1459
+#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1444
msgid "Features"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:236
+#: ../../Zotlabs/Lib/Apps.php:237
msgid "Post"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:338
+#: ../../Zotlabs/Lib/Apps.php:339
msgid "Purchase"
msgstr ""
@@ -6891,42 +6904,6 @@ msgid ""
"permissions set who is allowed to view the post."
msgstr ""
-#: ../../include/bb2diaspora.php:398
-msgid "Attachments:"
-msgstr ""
-
-#: ../../include/bb2diaspora.php:485 ../../include/event.php:22
-#: ../../include/event.php:69
-msgid "l F d, Y \\@ g:i A"
-msgstr ""
-
-#: ../../include/bb2diaspora.php:487
-msgid "$Projectname event notification:"
-msgstr ""
-
-#: ../../include/bb2diaspora.php:491 ../../include/event.php:30
-#: ../../include/event.php:73
-msgid "Starts:"
-msgstr ""
-
-#: ../../include/bb2diaspora.php:499 ../../include/event.php:40
-#: ../../include/event.php:77
-msgid "Finishes:"
-msgstr ""
-
-#: ../../include/connections.php:95
-msgid "New window"
-msgstr ""
-
-#: ../../include/connections.php:96
-msgid "Open the selected location in a different window or browser tab"
-msgstr ""
-
-#: ../../include/connections.php:214
-#, php-format
-msgid "User '%s' deleted"
-msgstr ""
-
#: ../../include/conversation.php:204
#, php-format
msgid "%1$s is now connected with %2$s"
@@ -7145,7 +7122,7 @@ msgid "Files and Storage"
msgstr ""
#: ../../include/conversation.php:1677 ../../include/conversation.php:1680
-#: ../../include/widgets.php:842
+#: ../../include/widgets.php:827
msgid "Chatrooms"
msgstr ""
@@ -7203,6 +7180,19 @@ msgid_plural "Abstains"
msgstr[0] ""
msgstr[1] ""
+#: ../../include/connections.php:95
+msgid "New window"
+msgstr ""
+
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
+msgstr ""
+
+#: ../../include/connections.php:214
+#, php-format
+msgid "User '%s' deleted"
+msgstr ""
+
#: ../../include/group.php:26
msgid ""
"A deleted group with this name was revived. Existing item permissions "
@@ -7238,67 +7228,508 @@ msgstr ""
msgid "add"
msgstr ""
-#: ../../include/import.php:29
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
msgstr ""
-#: ../../include/import.php:76
-msgid "Channel clone failed. Import failed."
+#: ../../include/js_strings.php:8
+#, php-format
+msgid "%s show less"
msgstr ""
-#: ../../include/items.php:902 ../../include/items.php:947
-msgid "(Unknown)"
+#: ../../include/js_strings.php:9
+#, php-format
+msgid "%s expand"
msgstr ""
-#: ../../include/items.php:1146
-msgid "Visible to anybody on the internet."
+#: ../../include/js_strings.php:10
+#, php-format
+msgid "%s collapse"
msgstr ""
-#: ../../include/items.php:1148
-msgid "Visible to you only."
+#: ../../include/js_strings.php:11
+msgid "Password too short"
msgstr ""
-#: ../../include/items.php:1150
-msgid "Visible to anybody in this network."
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
msgstr ""
-#: ../../include/items.php:1152
-msgid "Visible to anybody authenticated."
+#: ../../include/js_strings.php:13
+msgid "everybody"
msgstr ""
-#: ../../include/items.php:1154
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr ""
+
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr ""
+
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr ""
+
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr ""
+
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr ""
+
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr ""
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr ""
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr ""
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr ""
+
+#: ../../include/js_strings.php:27
+msgid "timeago.prefixAgo"
+msgstr ""
+
+#: ../../include/js_strings.php:28
+msgid "timeago.prefixFromNow"
+msgstr ""
+
+#: ../../include/js_strings.php:29
+msgid "ago"
+msgstr ""
+
+#: ../../include/js_strings.php:30
+msgid "from now"
+msgstr ""
+
+#: ../../include/js_strings.php:31
+msgid "less than a minute"
+msgstr ""
+
+#: ../../include/js_strings.php:32
+msgid "about a minute"
+msgstr ""
+
+#: ../../include/js_strings.php:33
#, php-format
-msgid "Visible to anybody on %s."
+msgid "%d minutes"
msgstr ""
-#: ../../include/items.php:1156
-msgid "Visible to all connections."
+#: ../../include/js_strings.php:34
+msgid "about an hour"
msgstr ""
-#: ../../include/items.php:1158
-msgid "Visible to approved connections."
+#: ../../include/js_strings.php:35
+#, php-format
+msgid "about %d hours"
msgstr ""
-#: ../../include/items.php:1160
-msgid "Visible to specific connections."
+#: ../../include/js_strings.php:36
+msgid "a day"
msgstr ""
-#: ../../include/items.php:3932
-msgid "Privacy group is empty."
+#: ../../include/js_strings.php:37
+#, php-format
+msgid "%d days"
msgstr ""
-#: ../../include/items.php:3939
+#: ../../include/js_strings.php:38
+msgid "about a month"
+msgstr ""
+
+#: ../../include/js_strings.php:39
#, php-format
-msgid "Privacy group: %s"
+msgid "%d months"
msgstr ""
-#: ../../include/items.php:3951
-msgid "Connection not found."
+#: ../../include/js_strings.php:40
+msgid "about a year"
msgstr ""
-#: ../../include/items.php:4317
-msgid "profile photo"
+#: ../../include/js_strings.php:41
+#, php-format
+msgid "%d years"
+msgstr ""
+
+#: ../../include/js_strings.php:42
+msgid " "
+msgstr ""
+
+#: ../../include/js_strings.php:43
+msgid "timeago.numbers"
+msgstr ""
+
+#: ../../include/js_strings.php:45 ../../include/text.php:1237
+msgid "January"
+msgstr ""
+
+#: ../../include/js_strings.php:46 ../../include/text.php:1237
+msgid "February"
+msgstr ""
+
+#: ../../include/js_strings.php:47 ../../include/text.php:1237
+msgid "March"
+msgstr ""
+
+#: ../../include/js_strings.php:48 ../../include/text.php:1237
+msgid "April"
+msgstr ""
+
+#: ../../include/js_strings.php:49
+msgctxt "long"
+msgid "May"
+msgstr ""
+
+#: ../../include/js_strings.php:50 ../../include/text.php:1237
+msgid "June"
+msgstr ""
+
+#: ../../include/js_strings.php:51 ../../include/text.php:1237
+msgid "July"
+msgstr ""
+
+#: ../../include/js_strings.php:52 ../../include/text.php:1237
+msgid "August"
+msgstr ""
+
+#: ../../include/js_strings.php:53 ../../include/text.php:1237
+msgid "September"
+msgstr ""
+
+#: ../../include/js_strings.php:54 ../../include/text.php:1237
+msgid "October"
+msgstr ""
+
+#: ../../include/js_strings.php:55 ../../include/text.php:1237
+msgid "November"
+msgstr ""
+
+#: ../../include/js_strings.php:56 ../../include/text.php:1237
+msgid "December"
+msgstr ""
+
+#: ../../include/js_strings.php:57
+msgid "Jan"
+msgstr ""
+
+#: ../../include/js_strings.php:58
+msgid "Feb"
+msgstr ""
+
+#: ../../include/js_strings.php:59
+msgid "Mar"
+msgstr ""
+
+#: ../../include/js_strings.php:60
+msgid "Apr"
+msgstr ""
+
+#: ../../include/js_strings.php:61
+msgctxt "short"
+msgid "May"
+msgstr ""
+
+#: ../../include/js_strings.php:62
+msgid "Jun"
+msgstr ""
+
+#: ../../include/js_strings.php:63
+msgid "Jul"
+msgstr ""
+
+#: ../../include/js_strings.php:64
+msgid "Aug"
+msgstr ""
+
+#: ../../include/js_strings.php:65
+msgid "Sep"
+msgstr ""
+
+#: ../../include/js_strings.php:66
+msgid "Oct"
+msgstr ""
+
+#: ../../include/js_strings.php:67
+msgid "Nov"
+msgstr ""
+
+#: ../../include/js_strings.php:68
+msgid "Dec"
+msgstr ""
+
+#: ../../include/js_strings.php:69 ../../include/text.php:1233
+msgid "Sunday"
+msgstr ""
+
+#: ../../include/js_strings.php:70 ../../include/text.php:1233
+msgid "Monday"
+msgstr ""
+
+#: ../../include/js_strings.php:71 ../../include/text.php:1233
+msgid "Tuesday"
+msgstr ""
+
+#: ../../include/js_strings.php:72 ../../include/text.php:1233
+msgid "Wednesday"
+msgstr ""
+
+#: ../../include/js_strings.php:73 ../../include/text.php:1233
+msgid "Thursday"
+msgstr ""
+
+#: ../../include/js_strings.php:74 ../../include/text.php:1233
+msgid "Friday"
+msgstr ""
+
+#: ../../include/js_strings.php:75 ../../include/text.php:1233
+msgid "Saturday"
+msgstr ""
+
+#: ../../include/js_strings.php:76
+msgid "Sun"
+msgstr ""
+
+#: ../../include/js_strings.php:77
+msgid "Mon"
+msgstr ""
+
+#: ../../include/js_strings.php:78
+msgid "Tue"
+msgstr ""
+
+#: ../../include/js_strings.php:79
+msgid "Wed"
+msgstr ""
+
+#: ../../include/js_strings.php:80
+msgid "Thu"
+msgstr ""
+
+#: ../../include/js_strings.php:81
+msgid "Fri"
+msgstr ""
+
+#: ../../include/js_strings.php:82
+msgid "Sat"
+msgstr ""
+
+#: ../../include/js_strings.php:83
+msgctxt "calendar"
+msgid "today"
+msgstr ""
+
+#: ../../include/js_strings.php:84
+msgctxt "calendar"
+msgid "month"
+msgstr ""
+
+#: ../../include/js_strings.php:85
+msgctxt "calendar"
+msgid "week"
+msgstr ""
+
+#: ../../include/js_strings.php:86
+msgctxt "calendar"
+msgid "day"
+msgstr ""
+
+#: ../../include/js_strings.php:87
+msgctxt "calendar"
+msgid "All day"
+msgstr ""
+
+#: ../../include/nav.php:82 ../../include/nav.php:115 ../../boot.php:1703
+msgid "Logout"
+msgstr ""
+
+#: ../../include/nav.php:82 ../../include/nav.php:115
+msgid "End this session"
+msgstr ""
+
+#: ../../include/nav.php:85 ../../include/nav.php:146
+msgid "Home"
+msgstr ""
+
+#: ../../include/nav.php:85
+msgid "Your posts and conversations"
+msgstr ""
+
+#: ../../include/nav.php:86
+msgid "Your profile page"
+msgstr ""
+
+#: ../../include/nav.php:88
+msgid "Manage/Edit profiles"
+msgstr ""
+
+#: ../../include/nav.php:90 ../../include/channel.php:965
+msgid "Edit Profile"
+msgstr ""
+
+#: ../../include/nav.php:90
+msgid "Edit your profile"
+msgstr ""
+
+#: ../../include/nav.php:92
+msgid "Your photos"
+msgstr ""
+
+#: ../../include/nav.php:93
+msgid "Your files"
+msgstr ""
+
+#: ../../include/nav.php:96
+msgid "Your chatrooms"
+msgstr ""
+
+#: ../../include/nav.php:102
+msgid "Your bookmarks"
+msgstr ""
+
+#: ../../include/nav.php:106
+msgid "Your webpages"
+msgstr ""
+
+#: ../../include/nav.php:108
+msgid "Your wiki"
+msgstr ""
+
+#: ../../include/nav.php:112
+msgid "Sign in"
+msgstr ""
+
+#: ../../include/nav.php:129
+#, php-format
+msgid "%s - click to logout"
+msgstr ""
+
+#: ../../include/nav.php:132
+msgid "Remote authentication"
+msgstr ""
+
+#: ../../include/nav.php:132
+msgid "Click to authenticate to your home hub"
+msgstr ""
+
+#: ../../include/nav.php:146
+msgid "Home Page"
+msgstr ""
+
+#: ../../include/nav.php:149
+msgid "Create an account"
+msgstr ""
+
+#: ../../include/nav.php:161
+msgid "Help and documentation"
+msgstr ""
+
+#: ../../include/nav.php:165
+msgid "Applications, utilities, links, games"
+msgstr ""
+
+#: ../../include/nav.php:167
+msgid "Search site @name, #tag, ?docs, content"
+msgstr ""
+
+#: ../../include/nav.php:169
+msgid "Channel Directory"
+msgstr ""
+
+#: ../../include/nav.php:181
+msgid "Your grid"
+msgstr ""
+
+#: ../../include/nav.php:182
+msgid "Mark all grid notifications seen"
+msgstr ""
+
+#: ../../include/nav.php:184
+msgid "Channel home"
+msgstr ""
+
+#: ../../include/nav.php:185
+msgid "Mark all channel notifications seen"
+msgstr ""
+
+#: ../../include/nav.php:191
+msgid "Notices"
+msgstr ""
+
+#: ../../include/nav.php:191
+msgid "Notifications"
+msgstr ""
+
+#: ../../include/nav.php:192
+msgid "See all notifications"
+msgstr ""
+
+#: ../../include/nav.php:195
+msgid "Private mail"
+msgstr ""
+
+#: ../../include/nav.php:196
+msgid "See all private messages"
+msgstr ""
+
+#: ../../include/nav.php:197
+msgid "Mark all private messages seen"
+msgstr ""
+
+#: ../../include/nav.php:198 ../../include/widgets.php:658
+msgid "Inbox"
+msgstr ""
+
+#: ../../include/nav.php:199 ../../include/widgets.php:663
+msgid "Outbox"
+msgstr ""
+
+#: ../../include/nav.php:200 ../../include/widgets.php:668
+msgid "New Message"
+msgstr ""
+
+#: ../../include/nav.php:203
+msgid "Event Calendar"
+msgstr ""
+
+#: ../../include/nav.php:204
+msgid "See all events"
+msgstr ""
+
+#: ../../include/nav.php:205
+msgid "Mark all events seen"
+msgstr ""
+
+#: ../../include/nav.php:208
+msgid "Manage Your Channels"
+msgstr ""
+
+#: ../../include/nav.php:210
+msgid "Account/Channel Settings"
+msgstr ""
+
+#: ../../include/nav.php:218 ../../include/widgets.php:1474
+msgid "Admin"
+msgstr ""
+
+#: ../../include/nav.php:218
+msgid "Site Setup and Configuration"
+msgstr ""
+
+#: ../../include/nav.php:254
+msgid "@name, #tag, ?doc, content"
+msgstr ""
+
+#: ../../include/nav.php:255
+msgid "Please wait..."
msgstr ""
#: ../../include/selectors.php:30
@@ -7547,6 +7978,21 @@ msgstr ""
msgid "Ask me"
msgstr ""
+#: ../../include/event.php:22 ../../include/event.php:69
+#: ../../include/bb2diaspora.php:485
+msgid "l F d, Y \\@ g:i A"
+msgstr ""
+
+#: ../../include/event.php:30 ../../include/event.php:73
+#: ../../include/bb2diaspora.php:491
+msgid "Starts:"
+msgstr ""
+
+#: ../../include/event.php:40 ../../include/event.php:77
+#: ../../include/bb2diaspora.php:499
+msgid "Finishes:"
+msgstr ""
+
#: ../../include/event.php:812
msgid "This event has been added to your calendar."
msgstr ""
@@ -7689,379 +8135,402 @@ msgstr ""
msgid "Cannot connect to yourself."
msgstr ""
-#: ../../include/features.php:48
-msgid "General Features"
+#: ../../include/import.php:29
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr ""
-#: ../../include/features.php:50
-msgid "Content Expiration"
+#: ../../include/import.php:76
+msgid "Channel clone failed. Import failed."
msgstr ""
-#: ../../include/features.php:50
-msgid "Remove posts/comments and/or private messages at a future time"
+#: ../../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."
msgstr ""
-#: ../../include/features.php:51
-msgid "Multiple Profiles"
+#: ../../include/api.php:1326
+msgid "Public Timeline"
msgstr ""
-#: ../../include/features.php:51
-msgid "Ability to create multiple profiles"
+#: ../../include/page_widgets.php:7
+msgid "New Page"
msgstr ""
-#: ../../include/features.php:52
-msgid "Advanced Profiles"
+#: ../../include/page_widgets.php:46
+msgid "Title"
msgstr ""
-#: ../../include/features.php:52
-msgid "Additional profile sections and selections"
+#: ../../include/photos.php:114
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
msgstr ""
-#: ../../include/features.php:53
-msgid "Profile Import/Export"
+#: ../../include/photos.php:121
+msgid "Image file is empty."
msgstr ""
-#: ../../include/features.php:53
-msgid "Save and load profile details across sites/channels"
+#: ../../include/photos.php:259
+msgid "Photo storage failed."
msgstr ""
-#: ../../include/features.php:54
-msgid "Web Pages"
+#: ../../include/photos.php:299
+msgid "a new photo"
msgstr ""
-#: ../../include/features.php:54
-msgid "Provide managed web pages on your channel"
+#: ../../include/photos.php:303
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
msgstr ""
-#: ../../include/features.php:55
-msgid "Provide a wiki for your channel"
+#: ../../include/photos.php:510
+msgid "Upload New Photos"
msgstr ""
-#: ../../include/features.php:56
-msgid "Hide Rating"
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/widgets.php:46 ../../include/widgets.php:429
+#: ../../include/contact_widgets.php:91
+msgid "Categories"
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/taxonomy.php:228 ../../include/taxonomy.php:249
+msgid "Tags"
msgstr ""
-#: ../../include/features.php:57
-msgid "Private Notes"
+#: ../../include/taxonomy.php:293
+msgid "Keywords"
msgstr ""
-#: ../../include/features.php:57
-msgid "Enables a tool to store notes and reminders (note: not encrypted)"
+#: ../../include/taxonomy.php:314
+msgid "have"
msgstr ""
-#: ../../include/features.php:58
-msgid "Navigation Channel Select"
+#: ../../include/taxonomy.php:314
+msgid "has"
msgstr ""
-#: ../../include/features.php:58
-msgid "Change channels directly from within the navigation dropdown menu"
+#: ../../include/taxonomy.php:315
+msgid "want"
msgstr ""
-#: ../../include/features.php:59
-msgid "Photo Location"
+#: ../../include/taxonomy.php:315
+msgid "wants"
msgstr ""
-#: ../../include/features.php:59
-msgid "If location data is available on uploaded photos, link this to a map."
+#: ../../include/taxonomy.php:316
+msgid "likes"
msgstr ""
-#: ../../include/features.php:60
-msgid "Access Controlled Chatrooms"
+#: ../../include/taxonomy.php:317
+msgid "dislikes"
msgstr ""
-#: ../../include/features.php:60
-msgid "Provide chatrooms and chat services with access control."
+#: ../../include/zot.php:709
+msgid "Invalid data packet"
msgstr ""
-#: ../../include/features.php:61
-msgid "Smart Birthdays"
+#: ../../include/zot.php:725
+msgid "Unable to verify channel signature"
msgstr ""
-#: ../../include/features.php:61
-msgid ""
-"Make birthday events timezone aware in case your friends are scattered "
-"across the planet."
+#: ../../include/zot.php:2373
+#, php-format
+msgid "Unable to verify site signature for %s"
msgstr ""
-#: ../../include/features.php:62
-msgid "Expert Mode"
+#: ../../include/zot.php:3718
+msgid "invalid target signature"
msgstr ""
-#: ../../include/features.php:62
-msgid "Enable Expert Mode to provide advanced configuration options"
+#: ../../include/attach.php:247 ../../include/attach.php:333
+msgid "Item was not found."
msgstr ""
-#: ../../include/features.php:63
-msgid "Premium Channel"
+#: ../../include/attach.php:499
+msgid "No source file."
msgstr ""
-#: ../../include/features.php:63
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
+#: ../../include/attach.php:521
+msgid "Cannot locate file to replace"
msgstr ""
-#: ../../include/features.php:68
-msgid "Post Composition Features"
+#: ../../include/attach.php:539
+msgid "Cannot locate file to revise/update"
msgstr ""
-#: ../../include/features.php:71
-msgid "Large Photos"
+#: ../../include/attach.php:674
+#, php-format
+msgid "File exceeds size limit of %d"
msgstr ""
-#: ../../include/features.php:71
-msgid ""
-"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
-"(640px) photo thumbnails"
+#: ../../include/attach.php:688
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr ""
-#: ../../include/features.php:72
-msgid "Automatically import channel content from other channels or feeds"
+#: ../../include/attach.php:846
+msgid "File upload failed. Possible system limit or action terminated."
msgstr ""
-#: ../../include/features.php:73
-msgid "Even More Encryption"
+#: ../../include/attach.php:859
+msgid "Stored file could not be verified. Upload failed."
msgstr ""
-#: ../../include/features.php:73
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
+#: ../../include/attach.php:915 ../../include/attach.php:931
+msgid "Path not available."
msgstr ""
-#: ../../include/features.php:74
-msgid "Enable Voting Tools"
+#: ../../include/attach.php:977 ../../include/attach.php:1129
+msgid "Empty pathname"
msgstr ""
-#: ../../include/features.php:74
-msgid "Provide a class of post which others can vote on"
+#: ../../include/attach.php:1003
+msgid "duplicate filename or path"
msgstr ""
-#: ../../include/features.php:75
-msgid "Delayed Posting"
+#: ../../include/attach.php:1025
+msgid "Path not found."
msgstr ""
-#: ../../include/features.php:75
-msgid "Allow posts to be published at a later date"
+#: ../../include/attach.php:1083
+msgid "mkdir failed."
msgstr ""
-#: ../../include/features.php:76
-msgid "Suppress Duplicate Posts/Comments"
+#: ../../include/attach.php:1087
+msgid "database storage failed."
msgstr ""
-#: ../../include/features.php:76
-msgid ""
-"Prevent posts with identical content to be published with less than two "
-"minutes in between submissions."
+#: ../../include/attach.php:1135
+msgid "Empty path"
msgstr ""
-#: ../../include/features.php:82
-msgid "Network and Stream Filtering"
+#: ../../include/widgets.php:103
+msgid "System"
msgstr ""
-#: ../../include/features.php:83
-msgid "Search by Date"
+#: ../../include/widgets.php:106
+msgid "New App"
msgstr ""
-#: ../../include/features.php:83
-msgid "Ability to select posts by date ranges"
+#: ../../include/widgets.php:154
+msgid "Suggestions"
msgstr ""
-#: ../../include/features.php:84
-msgid "Enable management and selection of privacy groups"
+#: ../../include/widgets.php:155
+msgid "See more..."
msgstr ""
-#: ../../include/features.php:85 ../../include/widgets.php:281
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr ""
+
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
+msgstr ""
+
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
+msgstr ""
+
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr ""
+
+#: ../../include/widgets.php:199
+msgid "Notes"
+msgstr ""
+
+#: ../../include/widgets.php:273
+msgid "Remove term"
+msgstr ""
+
+#: ../../include/widgets.php:281 ../../include/features.php:85
msgid "Saved Searches"
msgstr ""
-#: ../../include/features.php:85
-msgid "Save search terms for re-use"
+#: ../../include/widgets.php:310 ../../include/features.php:99
+#: ../../include/contact_widgets.php:53
+msgid "Saved Folders"
msgstr ""
-#: ../../include/features.php:86
-msgid "Network Personal Tab"
+#: ../../include/widgets.php:313 ../../include/widgets.php:432
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+msgid "Everything"
msgstr ""
-#: ../../include/features.php:86
-msgid "Enable tab to display only Network posts that you've interacted on"
+#: ../../include/widgets.php:354
+msgid "Archives"
msgstr ""
-#: ../../include/features.php:87
-msgid "Network New Tab"
+#: ../../include/widgets.php:516
+msgid "Refresh"
msgstr ""
-#: ../../include/features.php:87
-msgid "Enable tab to display all new Network activity"
+#: ../../include/widgets.php:556
+msgid "Account settings"
msgstr ""
-#: ../../include/features.php:88
-msgid "Affinity Tool"
+#: ../../include/widgets.php:562
+msgid "Channel settings"
msgstr ""
-#: ../../include/features.php:88
-msgid "Filter stream activity by depth of relationships"
+#: ../../include/widgets.php:571
+msgid "Additional features"
msgstr ""
-#: ../../include/features.php:89
-msgid "Connection Filtering"
+#: ../../include/widgets.php:578
+msgid "Feature/Addon settings"
msgstr ""
-#: ../../include/features.php:89
-msgid "Filter incoming posts from connections based on keywords/content"
+#: ../../include/widgets.php:584
+msgid "Display settings"
msgstr ""
-#: ../../include/features.php:90
-msgid "Show channel suggestions"
+#: ../../include/widgets.php:591
+msgid "Manage locations"
msgstr ""
-#: ../../include/features.php:95
-msgid "Post/Comment Tools"
+#: ../../include/widgets.php:600
+msgid "Export channel"
msgstr ""
-#: ../../include/features.php:96
-msgid "Community Tagging"
+#: ../../include/widgets.php:607
+msgid "Connected apps"
msgstr ""
-#: ../../include/features.php:96
-msgid "Ability to tag existing posts"
+#: ../../include/widgets.php:622
+msgid "Premium Channel Settings"
msgstr ""
-#: ../../include/features.php:97
-msgid "Post Categories"
+#: ../../include/widgets.php:651
+msgid "Private Mail Menu"
msgstr ""
-#: ../../include/features.php:97
-msgid "Add categories to your posts"
+#: ../../include/widgets.php:653
+msgid "Combined View"
msgstr ""
-#: ../../include/features.php:98
-msgid "Emoji Reactions"
+#: ../../include/widgets.php:685 ../../include/widgets.php:697
+msgid "Conversations"
msgstr ""
-#: ../../include/features.php:98
-msgid "Add emoji reaction ability to posts"
+#: ../../include/widgets.php:689
+msgid "Received Messages"
msgstr ""
-#: ../../include/features.php:99 ../../include/widgets.php:310
-#: ../../include/contact_widgets.php:53
-msgid "Saved Folders"
+#: ../../include/widgets.php:693
+msgid "Sent Messages"
msgstr ""
-#: ../../include/features.php:99
-msgid "Ability to file posts under folders"
+#: ../../include/widgets.php:707
+msgid "No messages."
msgstr ""
-#: ../../include/features.php:100
-msgid "Dislike Posts"
+#: ../../include/widgets.php:725
+msgid "Delete conversation"
msgstr ""
-#: ../../include/features.php:100
-msgid "Ability to dislike posts/comments"
+#: ../../include/widgets.php:751
+msgid "Events Tools"
msgstr ""
-#: ../../include/features.php:101
-msgid "Star Posts"
+#: ../../include/widgets.php:752
+msgid "Export Calendar"
msgstr ""
-#: ../../include/features.php:101
-msgid "Ability to mark special posts with a star indicator"
+#: ../../include/widgets.php:753
+msgid "Import Calendar"
msgstr ""
-#: ../../include/features.php:102
-msgid "Tag Cloud"
+#: ../../include/widgets.php:831
+msgid "Overview"
msgstr ""
-#: ../../include/features.php:102
-msgid "Provide a personal tag cloud on your channel page"
+#: ../../include/widgets.php:838
+msgid "Chat Members"
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/widgets.php:860
+msgid "Wiki List"
msgstr ""
-#: ../../include/api.php:1326
-msgid "Public Timeline"
+#: ../../include/widgets.php:898
+msgid "Wiki Pages"
msgstr ""
-#: ../../include/page_widgets.php:7
-msgid "New Page"
+#: ../../include/widgets.php:933
+msgid "Bookmarked Chatrooms"
msgstr ""
-#: ../../include/page_widgets.php:46
-msgid "Title"
+#: ../../include/widgets.php:956
+msgid "Suggested Chatrooms"
msgstr ""
-#: ../../include/photos.php:114
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
+#: ../../include/widgets.php:1102 ../../include/widgets.php:1214
+msgid "photo/image"
msgstr ""
-#: ../../include/photos.php:121
-msgid "Image file is empty."
+#: ../../include/widgets.php:1157
+msgid "Click to show more"
msgstr ""
-#: ../../include/photos.php:259
-msgid "Photo storage failed."
+#: ../../include/widgets.php:1308
+msgid "Rating Tools"
msgstr ""
-#: ../../include/photos.php:299
-msgid "a new photo"
+#: ../../include/widgets.php:1312 ../../include/widgets.php:1314
+msgid "Rate Me"
msgstr ""
-#: ../../include/photos.php:303
-#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
+#: ../../include/widgets.php:1317
+msgid "View Ratings"
msgstr ""
-#: ../../include/photos.php:510
-msgid "Upload New Photos"
+#: ../../include/widgets.php:1374
+msgid "Forums"
msgstr ""
-#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
-#: ../../include/widgets.php:46 ../../include/widgets.php:429
-#: ../../include/contact_widgets.php:91
-msgid "Categories"
+#: ../../include/widgets.php:1403
+msgid "Tasks"
msgstr ""
-#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
-msgid "Tags"
+#: ../../include/widgets.php:1412
+msgid "Documentation"
msgstr ""
-#: ../../include/taxonomy.php:293
-msgid "Keywords"
+#: ../../include/widgets.php:1414
+msgid "Project/Site Information"
msgstr ""
-#: ../../include/taxonomy.php:314
-msgid "have"
+#: ../../include/widgets.php:1415
+msgid "For Members"
msgstr ""
-#: ../../include/taxonomy.php:314
-msgid "has"
+#: ../../include/widgets.php:1416
+msgid "For Administrators"
msgstr ""
-#: ../../include/taxonomy.php:315
-msgid "want"
+#: ../../include/widgets.php:1417
+msgid "For Developers"
msgstr ""
-#: ../../include/taxonomy.php:315
-msgid "wants"
+#: ../../include/widgets.php:1441 ../../include/widgets.php:1479
+msgid "Member registrations waiting for confirmation"
msgstr ""
-#: ../../include/taxonomy.php:316
-msgid "likes"
+#: ../../include/widgets.php:1447
+msgid "Inspect queue"
msgstr ""
-#: ../../include/taxonomy.php:317
-msgid "dislikes"
+#: ../../include/widgets.php:1449
+msgid "DB updates"
+msgstr ""
+
+#: ../../include/widgets.php:1475
+msgid "Plugin Features"
msgstr ""
#: ../../include/text.php:404
@@ -8225,82 +8694,10 @@ msgstr ""
msgid "surprised"
msgstr ""
-#: ../../include/text.php:1233 ../../include/js_strings.php:70
-msgid "Monday"
-msgstr ""
-
-#: ../../include/text.php:1233 ../../include/js_strings.php:71
-msgid "Tuesday"
-msgstr ""
-
-#: ../../include/text.php:1233 ../../include/js_strings.php:72
-msgid "Wednesday"
-msgstr ""
-
-#: ../../include/text.php:1233 ../../include/js_strings.php:73
-msgid "Thursday"
-msgstr ""
-
-#: ../../include/text.php:1233 ../../include/js_strings.php:74
-msgid "Friday"
-msgstr ""
-
-#: ../../include/text.php:1233 ../../include/js_strings.php:75
-msgid "Saturday"
-msgstr ""
-
-#: ../../include/text.php:1233 ../../include/js_strings.php:69
-msgid "Sunday"
-msgstr ""
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:45
-msgid "January"
-msgstr ""
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:46
-msgid "February"
-msgstr ""
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:47
-msgid "March"
-msgstr ""
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:48
-msgid "April"
-msgstr ""
-
#: ../../include/text.php:1237
msgid "May"
msgstr ""
-#: ../../include/text.php:1237 ../../include/js_strings.php:50
-msgid "June"
-msgstr ""
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:51
-msgid "July"
-msgstr ""
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:52
-msgid "August"
-msgstr ""
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:53
-msgid "September"
-msgstr ""
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:54
-msgid "October"
-msgstr ""
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:55
-msgid "November"
-msgstr ""
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:56
-msgid "December"
-msgstr ""
-
#: ../../include/text.php:1314 ../../include/text.php:1318
msgid "Unknown Attachment"
msgstr ""
@@ -8349,333 +8746,58 @@ msgstr ""
msgid "Pages"
msgstr ""
-#: ../../include/widgets.php:103
-msgid "System"
-msgstr ""
-
-#: ../../include/widgets.php:106
-msgid "New App"
-msgstr ""
-
-#: ../../include/widgets.php:154
-msgid "Suggestions"
-msgstr ""
-
-#: ../../include/widgets.php:155
-msgid "See more..."
-msgstr ""
-
-#: ../../include/widgets.php:175
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr ""
-
-#: ../../include/widgets.php:181
-msgid "Add New Connection"
-msgstr ""
-
-#: ../../include/widgets.php:182
-msgid "Enter channel address"
-msgstr ""
-
-#: ../../include/widgets.php:183
-msgid "Examples: bob@example.com, https://example.com/barbara"
-msgstr ""
-
-#: ../../include/widgets.php:199
-msgid "Notes"
-msgstr ""
-
-#: ../../include/widgets.php:273
-msgid "Remove term"
-msgstr ""
-
-#: ../../include/widgets.php:313 ../../include/widgets.php:432
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
-msgid "Everything"
-msgstr ""
-
-#: ../../include/widgets.php:354
-msgid "Archives"
-msgstr ""
-
-#: ../../include/widgets.php:516
-msgid "Refresh"
-msgstr ""
-
-#: ../../include/widgets.php:556
-msgid "Account settings"
-msgstr ""
-
-#: ../../include/widgets.php:562
-msgid "Channel settings"
-msgstr ""
-
-#: ../../include/widgets.php:571
-msgid "Additional features"
-msgstr ""
-
-#: ../../include/widgets.php:578
-msgid "Feature/Addon settings"
-msgstr ""
-
-#: ../../include/widgets.php:584
-msgid "Display settings"
-msgstr ""
-
-#: ../../include/widgets.php:591
-msgid "Manage locations"
-msgstr ""
-
-#: ../../include/widgets.php:600
-msgid "Export channel"
-msgstr ""
-
-#: ../../include/widgets.php:607
-msgid "Connected apps"
-msgstr ""
-
-#: ../../include/widgets.php:622
-msgid "Premium Channel Settings"
-msgstr ""
-
-#: ../../include/widgets.php:651
-msgid "Private Mail Menu"
-msgstr ""
-
-#: ../../include/widgets.php:653
-msgid "Combined View"
-msgstr ""
-
-#: ../../include/widgets.php:658 ../../include/nav.php:198
-msgid "Inbox"
-msgstr ""
-
-#: ../../include/widgets.php:663 ../../include/nav.php:199
-msgid "Outbox"
-msgstr ""
-
-#: ../../include/widgets.php:668 ../../include/nav.php:200
-msgid "New Message"
-msgstr ""
-
-#: ../../include/widgets.php:685 ../../include/widgets.php:697
-msgid "Conversations"
-msgstr ""
-
-#: ../../include/widgets.php:689
-msgid "Received Messages"
-msgstr ""
-
-#: ../../include/widgets.php:693
-msgid "Sent Messages"
-msgstr ""
-
-#: ../../include/widgets.php:707
-msgid "No messages."
-msgstr ""
-
-#: ../../include/widgets.php:725
-msgid "Delete conversation"
-msgstr ""
-
-#: ../../include/widgets.php:751
-msgid "Events Menu"
-msgstr ""
-
-#: ../../include/widgets.php:752
-msgid "Day View"
-msgstr ""
-
-#: ../../include/widgets.php:753
-msgid "Week View"
-msgstr ""
-
-#: ../../include/widgets.php:754
-msgid "Month View"
-msgstr ""
-
-#: ../../include/widgets.php:766
-msgid "Events Tools"
-msgstr ""
-
-#: ../../include/widgets.php:767
-msgid "Export Calendar"
-msgstr ""
-
-#: ../../include/widgets.php:768
-msgid "Import Calendar"
-msgstr ""
-
-#: ../../include/widgets.php:846
-msgid "Overview"
-msgstr ""
-
-#: ../../include/widgets.php:853
-msgid "Chat Members"
-msgstr ""
-
-#: ../../include/widgets.php:875
-msgid "Wiki List"
-msgstr ""
-
-#: ../../include/widgets.php:913
-msgid "Wiki Pages"
-msgstr ""
-
-#: ../../include/widgets.php:948
-msgid "Bookmarked Chatrooms"
-msgstr ""
-
-#: ../../include/widgets.php:971
-msgid "Suggested Chatrooms"
-msgstr ""
-
-#: ../../include/widgets.php:1117 ../../include/widgets.php:1229
-msgid "photo/image"
-msgstr ""
-
-#: ../../include/widgets.php:1172
-msgid "Click to show more"
-msgstr ""
-
-#: ../../include/widgets.php:1323
-msgid "Rating Tools"
-msgstr ""
-
-#: ../../include/widgets.php:1327 ../../include/widgets.php:1329
-msgid "Rate Me"
-msgstr ""
-
-#: ../../include/widgets.php:1332
-msgid "View Ratings"
-msgstr ""
-
-#: ../../include/widgets.php:1389
-msgid "Forums"
-msgstr ""
-
-#: ../../include/widgets.php:1418
-msgid "Tasks"
-msgstr ""
-
-#: ../../include/widgets.php:1427
-msgid "Documentation"
-msgstr ""
-
-#: ../../include/widgets.php:1429
-msgid "Project/Site Information"
-msgstr ""
-
-#: ../../include/widgets.php:1430
-msgid "For Members"
-msgstr ""
-
-#: ../../include/widgets.php:1431
-msgid "For Administrators"
-msgstr ""
-
-#: ../../include/widgets.php:1432
-msgid "For Developers"
-msgstr ""
-
-#: ../../include/widgets.php:1456 ../../include/widgets.php:1494
-msgid "Member registrations waiting for confirmation"
-msgstr ""
-
-#: ../../include/widgets.php:1462
-msgid "Inspect queue"
-msgstr ""
-
-#: ../../include/widgets.php:1464
-msgid "DB updates"
+#: ../../include/items.php:898 ../../include/items.php:943
+msgid "(Unknown)"
msgstr ""
-#: ../../include/widgets.php:1489 ../../include/nav.php:218
-msgid "Admin"
+#: ../../include/items.php:1142
+msgid "Visible to anybody on the internet."
msgstr ""
-#: ../../include/widgets.php:1490
-msgid "Plugin Features"
+#: ../../include/items.php:1144
+msgid "Visible to you only."
msgstr ""
-#: ../../include/zot.php:709
-msgid "Invalid data packet"
+#: ../../include/items.php:1146
+msgid "Visible to anybody in this network."
msgstr ""
-#: ../../include/zot.php:725
-msgid "Unable to verify channel signature"
+#: ../../include/items.php:1148
+msgid "Visible to anybody authenticated."
msgstr ""
-#: ../../include/zot.php:2373
+#: ../../include/items.php:1150
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr ""
-
-#: ../../include/zot.php:3718
-msgid "invalid target signature"
-msgstr ""
-
-#: ../../include/attach.php:247 ../../include/attach.php:333
-msgid "Item was not found."
+msgid "Visible to anybody on %s."
msgstr ""
-#: ../../include/attach.php:499
-msgid "No source file."
+#: ../../include/items.php:1152
+msgid "Visible to all connections."
msgstr ""
-#: ../../include/attach.php:521
-msgid "Cannot locate file to replace"
+#: ../../include/items.php:1154
+msgid "Visible to approved connections."
msgstr ""
-#: ../../include/attach.php:539
-msgid "Cannot locate file to revise/update"
+#: ../../include/items.php:1156
+msgid "Visible to specific connections."
msgstr ""
-#: ../../include/attach.php:674
-#, php-format
-msgid "File exceeds size limit of %d"
+#: ../../include/items.php:3919
+msgid "Privacy group is empty."
msgstr ""
-#: ../../include/attach.php:688
+#: ../../include/items.php:3926
#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr ""
-
-#: ../../include/attach.php:846
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr ""
-
-#: ../../include/attach.php:859
-msgid "Stored file could not be verified. Upload failed."
-msgstr ""
-
-#: ../../include/attach.php:915 ../../include/attach.php:931
-msgid "Path not available."
-msgstr ""
-
-#: ../../include/attach.php:977 ../../include/attach.php:1129
-msgid "Empty pathname"
-msgstr ""
-
-#: ../../include/attach.php:1003
-msgid "duplicate filename or path"
-msgstr ""
-
-#: ../../include/attach.php:1025
-msgid "Path not found."
-msgstr ""
-
-#: ../../include/attach.php:1083
-msgid "mkdir failed."
+msgid "Privacy group: %s"
msgstr ""
-#: ../../include/attach.php:1087
-msgid "database storage failed."
+#: ../../include/items.php:3938
+msgid "Connection not found."
msgstr ""
-#: ../../include/attach.php:1135
-msgid "Empty path"
+#: ../../include/items.php:4304
+msgid "profile photo"
msgstr ""
#: ../../include/bbcode.php:123 ../../include/bbcode.php:878
@@ -8725,162 +8847,57 @@ msgstr ""
msgid "$1 wrote:"
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 ""
-
-#: ../../include/channel.php:206
-msgid "Reserved nickname. Please choose another."
-msgstr ""
-
-#: ../../include/channel.php:211
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr ""
-
-#: ../../include/channel.php:287
-msgid "Unable to retrieve created identity"
-msgstr ""
-
-#: ../../include/channel.php:345
-msgid "Default Profile"
-msgstr ""
-
-#: ../../include/channel.php:815
-msgid "Requested channel is not available."
-msgstr ""
-
-#: ../../include/channel.php:962
-msgid "Create New Profile"
-msgstr ""
-
-#: ../../include/channel.php:965 ../../include/nav.php:90
-msgid "Edit Profile"
-msgstr ""
-
-#: ../../include/channel.php:982
-msgid "Visible to everybody"
-msgstr ""
-
-#: ../../include/channel.php:1055 ../../include/channel.php:1167
-msgid "Gender:"
-msgstr ""
-
-#: ../../include/channel.php:1056 ../../include/channel.php:1211
-msgid "Status:"
-msgstr ""
-
-#: ../../include/channel.php:1057 ../../include/channel.php:1222
-msgid "Homepage:"
-msgstr ""
-
-#: ../../include/channel.php:1058
-msgid "Online Now"
-msgstr ""
-
-#: ../../include/channel.php:1172
-msgid "Like this channel"
-msgstr ""
-
-#: ../../include/channel.php:1196
-msgid "j F, Y"
-msgstr ""
-
-#: ../../include/channel.php:1197
-msgid "j F"
-msgstr ""
-
-#: ../../include/channel.php:1204
-msgid "Birthday:"
-msgstr ""
-
-#: ../../include/channel.php:1217
-#, php-format
-msgid "for %1$d %2$s"
-msgstr ""
-
-#: ../../include/channel.php:1220
-msgid "Sexual Preference:"
-msgstr ""
-
-#: ../../include/channel.php:1226
-msgid "Tags:"
-msgstr ""
-
-#: ../../include/channel.php:1228
-msgid "Political Views:"
-msgstr ""
-
-#: ../../include/channel.php:1230
-msgid "Religion:"
-msgstr ""
-
-#: ../../include/channel.php:1234
-msgid "Hobbies/Interests:"
+#: ../../include/network.php:704
+msgid "view full size"
msgstr ""
-#: ../../include/channel.php:1236
-msgid "Likes:"
+#: ../../include/network.php:1930 ../../include/account.php:317
+#: ../../include/account.php:344 ../../include/account.php:404
+msgid "Administrator"
msgstr ""
-#: ../../include/channel.php:1238
-msgid "Dislikes:"
+#: ../../include/network.php:1944
+msgid "No Subject"
msgstr ""
-#: ../../include/channel.php:1240
-msgid "Contact information and Social Networks:"
+#: ../../include/network.php:2198 ../../include/network.php:2199
+msgid "Friendica"
msgstr ""
-#: ../../include/channel.php:1242
-msgid "My other channels:"
+#: ../../include/network.php:2200
+msgid "OStatus"
msgstr ""
-#: ../../include/channel.php:1244
-msgid "Musical interests:"
+#: ../../include/network.php:2201
+msgid "GNU-Social"
msgstr ""
-#: ../../include/channel.php:1246
-msgid "Books, literature:"
+#: ../../include/network.php:2202
+msgid "RSS/Atom"
msgstr ""
-#: ../../include/channel.php:1248
-msgid "Television:"
+#: ../../include/network.php:2204
+msgid "Diaspora"
msgstr ""
-#: ../../include/channel.php:1250
-msgid "Film/dance/culture/entertainment:"
+#: ../../include/network.php:2205
+msgid "Facebook"
msgstr ""
-#: ../../include/channel.php:1252
-msgid "Love/Romance:"
+#: ../../include/network.php:2206
+msgid "Zot"
msgstr ""
-#: ../../include/channel.php:1254
-msgid "Work/employment:"
+#: ../../include/network.php:2207
+msgid "LinkedIn"
msgstr ""
-#: ../../include/channel.php:1256
-msgid "School/education:"
+#: ../../include/network.php:2208
+msgid "XMPP/IM"
msgstr ""
-#: ../../include/channel.php:1277
-msgid "Like this thing"
+#: ../../include/network.php:2209
+msgid "MySpace"
msgstr ""
#: ../../include/activities.php:41
@@ -8906,676 +8923,656 @@ msgstr ""
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr ""
-#: ../../include/account.php:28
-msgid "Not a valid email address"
-msgstr ""
-
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
-msgstr ""
-
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
+#: ../../include/bb2diaspora.php:398
+msgid "Attachments:"
msgstr ""
-#: ../../include/account.php:68
-msgid "An invitation is required."
+#: ../../include/bb2diaspora.php:487
+msgid "$Projectname event notification:"
msgstr ""
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
+#: ../../include/features.php:48
+msgid "General Features"
msgstr ""
-#: ../../include/account.php:122
-msgid "Please enter the required information."
+#: ../../include/features.php:50
+msgid "Content Expiration"
msgstr ""
-#: ../../include/account.php:189
-msgid "Failed to store account information."
+#: ../../include/features.php:50
+msgid "Remove posts/comments and/or private messages at a future time"
msgstr ""
-#: ../../include/account.php:249
-#, php-format
-msgid "Registration confirmation for %s"
+#: ../../include/features.php:51
+msgid "Multiple Profiles"
msgstr ""
-#: ../../include/account.php:315
-#, php-format
-msgid "Registration request at %s"
+#: ../../include/features.php:51
+msgid "Ability to create multiple profiles"
msgstr ""
-#: ../../include/account.php:317 ../../include/account.php:344
-#: ../../include/account.php:404 ../../include/network.php:1930
-msgid "Administrator"
+#: ../../include/features.php:52
+msgid "Advanced Profiles"
msgstr ""
-#: ../../include/account.php:339
-msgid "your registration password"
+#: ../../include/features.php:52
+msgid "Additional profile sections and selections"
msgstr ""
-#: ../../include/account.php:342 ../../include/account.php:402
-#, php-format
-msgid "Registration details for %s"
+#: ../../include/features.php:53
+msgid "Profile Import/Export"
msgstr ""
-#: ../../include/account.php:414
-msgid "Account approved."
+#: ../../include/features.php:53
+msgid "Save and load profile details across sites/channels"
msgstr ""
-#: ../../include/account.php:454
-#, php-format
-msgid "Registration revoked for %s"
+#: ../../include/features.php:54
+msgid "Web Pages"
msgstr ""
-#: ../../include/account.php:739 ../../include/account.php:741
-msgid "Click here to upgrade."
+#: ../../include/features.php:54
+msgid "Provide managed web pages on your channel"
msgstr ""
-#: ../../include/account.php:747
-msgid "This action exceeds the limits set by your subscription plan."
+#: ../../include/features.php:55
+msgid "Provide a wiki for your channel"
msgstr ""
-#: ../../include/account.php:752
-msgid "This action is not available under your subscription plan."
+#: ../../include/features.php:56
+msgid "Hide Rating"
msgstr ""
-#: ../../include/js_strings.php:5
-msgid "Delete this item?"
+#: ../../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/js_strings.php:8
-#, php-format
-msgid "%s show less"
+#: ../../include/features.php:57
+msgid "Private Notes"
msgstr ""
-#: ../../include/js_strings.php:9
-#, php-format
-msgid "%s expand"
+#: ../../include/features.php:57
+msgid "Enables a tool to store notes and reminders (note: not encrypted)"
msgstr ""
-#: ../../include/js_strings.php:10
-#, php-format
-msgid "%s collapse"
+#: ../../include/features.php:58
+msgid "Navigation Channel Select"
msgstr ""
-#: ../../include/js_strings.php:11
-msgid "Password too short"
+#: ../../include/features.php:58
+msgid "Change channels directly from within the navigation dropdown menu"
msgstr ""
-#: ../../include/js_strings.php:12
-msgid "Passwords do not match"
+#: ../../include/features.php:59
+msgid "Photo Location"
msgstr ""
-#: ../../include/js_strings.php:13
-msgid "everybody"
+#: ../../include/features.php:59
+msgid "If location data is available on uploaded photos, link this to a map."
msgstr ""
-#: ../../include/js_strings.php:14
-msgid "Secret Passphrase"
+#: ../../include/features.php:60
+msgid "Access Controlled Chatrooms"
msgstr ""
-#: ../../include/js_strings.php:15
-msgid "Passphrase hint"
+#: ../../include/features.php:60
+msgid "Provide chatrooms and chat services with access control."
msgstr ""
-#: ../../include/js_strings.php:16
-msgid "Notice: Permissions have changed but have not yet been submitted."
+#: ../../include/features.php:61
+msgid "Smart Birthdays"
msgstr ""
-#: ../../include/js_strings.php:17
-msgid "close all"
+#: ../../include/features.php:61
+msgid ""
+"Make birthday events timezone aware in case your friends are scattered "
+"across the planet."
msgstr ""
-#: ../../include/js_strings.php:18
-msgid "Nothing new here"
+#: ../../include/features.php:62
+msgid "Expert Mode"
msgstr ""
-#: ../../include/js_strings.php:19
-msgid "Rate This Channel (this is public)"
+#: ../../include/features.php:62
+msgid "Enable Expert Mode to provide advanced configuration options"
msgstr ""
-#: ../../include/js_strings.php:21
-msgid "Describe (optional)"
+#: ../../include/features.php:63
+msgid "Premium Channel"
msgstr ""
-#: ../../include/js_strings.php:23
-msgid "Please enter a link URL"
+#: ../../include/features.php:63
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
msgstr ""
-#: ../../include/js_strings.php:24
-msgid "Unsaved changes. Are you sure you wish to leave this page?"
+#: ../../include/features.php:68
+msgid "Post Composition Features"
msgstr ""
-#: ../../include/js_strings.php:27
-msgid "timeago.prefixAgo"
+#: ../../include/features.php:71
+msgid "Large Photos"
msgstr ""
-#: ../../include/js_strings.php:28
-msgid "timeago.prefixFromNow"
+#: ../../include/features.php:71
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
msgstr ""
-#: ../../include/js_strings.php:29
-msgid "ago"
+#: ../../include/features.php:72
+msgid "Automatically import channel content from other channels or feeds"
msgstr ""
-#: ../../include/js_strings.php:30
-msgid "from now"
+#: ../../include/features.php:73
+msgid "Even More Encryption"
msgstr ""
-#: ../../include/js_strings.php:31
-msgid "less than a minute"
+#: ../../include/features.php:73
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
msgstr ""
-#: ../../include/js_strings.php:32
-msgid "about a minute"
+#: ../../include/features.php:74
+msgid "Enable Voting Tools"
msgstr ""
-#: ../../include/js_strings.php:33
-#, php-format
-msgid "%d minutes"
+#: ../../include/features.php:74
+msgid "Provide a class of post which others can vote on"
msgstr ""
-#: ../../include/js_strings.php:34
-msgid "about an hour"
+#: ../../include/features.php:75
+msgid "Delayed Posting"
msgstr ""
-#: ../../include/js_strings.php:35
-#, php-format
-msgid "about %d hours"
+#: ../../include/features.php:75
+msgid "Allow posts to be published at a later date"
msgstr ""
-#: ../../include/js_strings.php:36
-msgid "a day"
+#: ../../include/features.php:76
+msgid "Suppress Duplicate Posts/Comments"
msgstr ""
-#: ../../include/js_strings.php:37
-#, php-format
-msgid "%d days"
+#: ../../include/features.php:76
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
msgstr ""
-#: ../../include/js_strings.php:38
-msgid "about a month"
+#: ../../include/features.php:82
+msgid "Network and Stream Filtering"
msgstr ""
-#: ../../include/js_strings.php:39
-#, php-format
-msgid "%d months"
+#: ../../include/features.php:83
+msgid "Search by Date"
msgstr ""
-#: ../../include/js_strings.php:40
-msgid "about a year"
+#: ../../include/features.php:83
+msgid "Ability to select posts by date ranges"
msgstr ""
-#: ../../include/js_strings.php:41
-#, php-format
-msgid "%d years"
+#: ../../include/features.php:84
+msgid "Enable management and selection of privacy groups"
msgstr ""
-#: ../../include/js_strings.php:42
-msgid " "
+#: ../../include/features.php:85
+msgid "Save search terms for re-use"
msgstr ""
-#: ../../include/js_strings.php:43
-msgid "timeago.numbers"
+#: ../../include/features.php:86
+msgid "Network Personal Tab"
msgstr ""
-#: ../../include/js_strings.php:49
-msgctxt "long"
-msgid "May"
+#: ../../include/features.php:86
+msgid "Enable tab to display only Network posts that you've interacted on"
msgstr ""
-#: ../../include/js_strings.php:57
-msgid "Jan"
+#: ../../include/features.php:87
+msgid "Network New Tab"
msgstr ""
-#: ../../include/js_strings.php:58
-msgid "Feb"
+#: ../../include/features.php:87
+msgid "Enable tab to display all new Network activity"
msgstr ""
-#: ../../include/js_strings.php:59
-msgid "Mar"
+#: ../../include/features.php:88
+msgid "Affinity Tool"
msgstr ""
-#: ../../include/js_strings.php:60
-msgid "Apr"
+#: ../../include/features.php:88
+msgid "Filter stream activity by depth of relationships"
msgstr ""
-#: ../../include/js_strings.php:61
-msgctxt "short"
-msgid "May"
+#: ../../include/features.php:89
+msgid "Connection Filtering"
msgstr ""
-#: ../../include/js_strings.php:62
-msgid "Jun"
+#: ../../include/features.php:89
+msgid "Filter incoming posts from connections based on keywords/content"
msgstr ""
-#: ../../include/js_strings.php:63
-msgid "Jul"
+#: ../../include/features.php:90
+msgid "Show channel suggestions"
msgstr ""
-#: ../../include/js_strings.php:64
-msgid "Aug"
+#: ../../include/features.php:95
+msgid "Post/Comment Tools"
msgstr ""
-#: ../../include/js_strings.php:65
-msgid "Sep"
+#: ../../include/features.php:96
+msgid "Community Tagging"
msgstr ""
-#: ../../include/js_strings.php:66
-msgid "Oct"
+#: ../../include/features.php:96
+msgid "Ability to tag existing posts"
msgstr ""
-#: ../../include/js_strings.php:67
-msgid "Nov"
+#: ../../include/features.php:97
+msgid "Post Categories"
msgstr ""
-#: ../../include/js_strings.php:68
-msgid "Dec"
+#: ../../include/features.php:97
+msgid "Add categories to your posts"
msgstr ""
-#: ../../include/js_strings.php:76
-msgid "Sun"
+#: ../../include/features.php:98
+msgid "Emoji Reactions"
msgstr ""
-#: ../../include/js_strings.php:77
-msgid "Mon"
+#: ../../include/features.php:98
+msgid "Add emoji reaction ability to posts"
msgstr ""
-#: ../../include/js_strings.php:78
-msgid "Tue"
+#: ../../include/features.php:99
+msgid "Ability to file posts under folders"
msgstr ""
-#: ../../include/js_strings.php:79
-msgid "Wed"
+#: ../../include/features.php:100
+msgid "Dislike Posts"
msgstr ""
-#: ../../include/js_strings.php:80
-msgid "Thu"
+#: ../../include/features.php:100
+msgid "Ability to dislike posts/comments"
msgstr ""
-#: ../../include/js_strings.php:81
-msgid "Fri"
+#: ../../include/features.php:101
+msgid "Star Posts"
msgstr ""
-#: ../../include/js_strings.php:82
-msgid "Sat"
+#: ../../include/features.php:101
+msgid "Ability to mark special posts with a star indicator"
msgstr ""
-#: ../../include/js_strings.php:83
-msgctxt "calendar"
-msgid "today"
+#: ../../include/features.php:102
+msgid "Tag Cloud"
msgstr ""
-#: ../../include/js_strings.php:84
-msgctxt "calendar"
-msgid "month"
+#: ../../include/features.php:102
+msgid "Provide a personal tag cloud on your channel page"
msgstr ""
-#: ../../include/js_strings.php:85
-msgctxt "calendar"
-msgid "week"
+#: ../../include/oembed.php:325
+msgid "Embedded content"
msgstr ""
-#: ../../include/js_strings.php:86
-msgctxt "calendar"
-msgid "day"
+#: ../../include/oembed.php:334
+msgid "Embedding disabled"
msgstr ""
-#: ../../include/js_strings.php:87
-msgctxt "calendar"
-msgid "All day"
+#: ../../include/account.php:28
+msgid "Not a valid email address"
msgstr ""
-#: ../../include/nav.php:82 ../../include/nav.php:115 ../../boot.php:1703
-msgid "Logout"
+#: ../../include/account.php:30
+msgid "Your email domain is not among those allowed on this site"
msgstr ""
-#: ../../include/nav.php:82 ../../include/nav.php:115
-msgid "End this session"
+#: ../../include/account.php:36
+msgid "Your email address is already registered at this site."
msgstr ""
-#: ../../include/nav.php:85 ../../include/nav.php:146
-msgid "Home"
+#: ../../include/account.php:68
+msgid "An invitation is required."
msgstr ""
-#: ../../include/nav.php:85
-msgid "Your posts and conversations"
+#: ../../include/account.php:72
+msgid "Invitation could not be verified."
msgstr ""
-#: ../../include/nav.php:86
-msgid "Your profile page"
+#: ../../include/account.php:122
+msgid "Please enter the required information."
msgstr ""
-#: ../../include/nav.php:88
-msgid "Manage/Edit profiles"
+#: ../../include/account.php:189
+msgid "Failed to store account information."
msgstr ""
-#: ../../include/nav.php:90
-msgid "Edit your profile"
+#: ../../include/account.php:249
+#, php-format
+msgid "Registration confirmation for %s"
msgstr ""
-#: ../../include/nav.php:92
-msgid "Your photos"
+#: ../../include/account.php:315
+#, php-format
+msgid "Registration request at %s"
msgstr ""
-#: ../../include/nav.php:93
-msgid "Your files"
+#: ../../include/account.php:339
+msgid "your registration password"
msgstr ""
-#: ../../include/nav.php:96
-msgid "Your chatrooms"
+#: ../../include/account.php:342 ../../include/account.php:402
+#, php-format
+msgid "Registration details for %s"
msgstr ""
-#: ../../include/nav.php:102
-msgid "Your bookmarks"
+#: ../../include/account.php:414
+msgid "Account approved."
msgstr ""
-#: ../../include/nav.php:106
-msgid "Your webpages"
+#: ../../include/account.php:454
+#, php-format
+msgid "Registration revoked for %s"
msgstr ""
-#: ../../include/nav.php:108
-msgid "Your wiki"
+#: ../../include/account.php:739 ../../include/account.php:741
+msgid "Click here to upgrade."
msgstr ""
-#: ../../include/nav.php:112
-msgid "Sign in"
+#: ../../include/account.php:747
+msgid "This action exceeds the limits set by your subscription plan."
msgstr ""
-#: ../../include/nav.php:129
-#, php-format
-msgid "%s - click to logout"
+#: ../../include/account.php:752
+msgid "This action is not available under your subscription plan."
msgstr ""
-#: ../../include/nav.php:132
-msgid "Remote authentication"
+#: ../../include/PermissionDescription.php:116
+msgid "Public"
msgstr ""
-#: ../../include/nav.php:132
-msgid "Click to authenticate to your home hub"
+#: ../../include/PermissionDescription.php:117
+msgid "Anybody in the $Projectname network"
msgstr ""
-#: ../../include/nav.php:146
-msgid "Home Page"
+#: ../../include/PermissionDescription.php:118
+#, php-format
+msgid "Any account on %s"
msgstr ""
-#: ../../include/nav.php:149
-msgid "Create an account"
+#: ../../include/PermissionDescription.php:119
+msgid "Any of my connections"
msgstr ""
-#: ../../include/nav.php:161
-msgid "Help and documentation"
+#: ../../include/PermissionDescription.php:120
+msgid "Only connections I specifically allow"
msgstr ""
-#: ../../include/nav.php:165
-msgid "Applications, utilities, links, games"
+#: ../../include/PermissionDescription.php:121
+msgid "Anybody authenticated (could include visitors from other networks)"
msgstr ""
-#: ../../include/nav.php:167
-msgid "Search site @name, #tag, ?docs, content"
+#: ../../include/PermissionDescription.php:122
+msgid "Any connections including those who haven't yet been approved"
msgstr ""
-#: ../../include/nav.php:169
-msgid "Channel Directory"
+#: ../../include/PermissionDescription.php:161
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
msgstr ""
-#: ../../include/nav.php:181
-msgid "Your grid"
+#: ../../include/PermissionDescription.php:162
+msgid ""
+"This is your default setting for who can view your default channel profile"
msgstr ""
-#: ../../include/nav.php:182
-msgid "Mark all grid notifications seen"
+#: ../../include/PermissionDescription.php:163
+msgid "This is your default setting for who can view your connections"
msgstr ""
-#: ../../include/nav.php:184
-msgid "Channel home"
+#: ../../include/PermissionDescription.php:164
+msgid ""
+"This is your default setting for who can view your file storage and photos"
msgstr ""
-#: ../../include/nav.php:185
-msgid "Mark all channel notifications seen"
+#: ../../include/PermissionDescription.php:165
+msgid "This is your default setting for the audience of your webpages"
msgstr ""
-#: ../../include/nav.php:191
-msgid "Notices"
-msgstr ""
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/nav.php:191
-msgid "Notifications"
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
msgstr ""
-#: ../../include/nav.php:192
-msgid "See all notifications"
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
msgstr ""
-#: ../../include/nav.php:195
-msgid "Private mail"
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
msgstr ""
-#: ../../include/nav.php:196
-msgid "See all private messages"
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
msgstr ""
-#: ../../include/nav.php:197
-msgid "Mark all private messages seen"
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
msgstr ""
-#: ../../include/nav.php:203
-msgid "Event Calendar"
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
msgstr ""
-#: ../../include/nav.php:204
-msgid "See all events"
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
msgstr ""
-#: ../../include/nav.php:205
-msgid "Mark all events seen"
-msgstr ""
+#: ../../include/contact_widgets.php:122
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/nav.php:208
-msgid "Manage Your Channels"
+#: ../../include/contact_widgets.php:127
+msgid "show more"
msgstr ""
-#: ../../include/nav.php:210
-msgid "Account/Channel Settings"
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
msgstr ""
-#: ../../include/nav.php:218
-msgid "Site Setup and Configuration"
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
msgstr ""
-#: ../../include/nav.php:254
-msgid "@name, #tag, ?doc, content"
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
msgstr ""
-#: ../../include/nav.php:255
-msgid "Please wait..."
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
msgstr ""
-#: ../../include/network.php:704
-msgid "view full size"
+#: ../../include/message.php:20
+msgid "No recipient provided."
msgstr ""
-#: ../../include/network.php:1944
-msgid "No Subject"
+#: ../../include/message.php:25
+msgid "[no subject]"
msgstr ""
-#: ../../include/network.php:2198 ../../include/network.php:2199
-msgid "Friendica"
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
msgstr ""
-#: ../../include/network.php:2200
-msgid "OStatus"
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
msgstr ""
-#: ../../include/network.php:2201
-msgid "GNU-Social"
+#: ../../include/channel.php:32
+msgid "Unable to obtain identity information from database"
msgstr ""
-#: ../../include/network.php:2202
-msgid "RSS/Atom"
+#: ../../include/channel.php:66
+msgid "Empty name"
msgstr ""
-#: ../../include/network.php:2204
-msgid "Diaspora"
+#: ../../include/channel.php:69
+msgid "Name too long"
msgstr ""
-#: ../../include/network.php:2205
-msgid "Facebook"
+#: ../../include/channel.php:180
+msgid "No account identifier"
msgstr ""
-#: ../../include/network.php:2206
-msgid "Zot"
+#: ../../include/channel.php:192
+msgid "Nickname is required."
msgstr ""
-#: ../../include/network.php:2207
-msgid "LinkedIn"
+#: ../../include/channel.php:206
+msgid "Reserved nickname. Please choose another."
msgstr ""
-#: ../../include/network.php:2208
-msgid "XMPP/IM"
+#: ../../include/channel.php:211
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
msgstr ""
-#: ../../include/network.php:2209
-msgid "MySpace"
+#: ../../include/channel.php:287
+msgid "Unable to retrieve created identity"
msgstr ""
-#: ../../include/oembed.php:325
-msgid "Embedded content"
+#: ../../include/channel.php:345
+msgid "Default Profile"
msgstr ""
-#: ../../include/oembed.php:334
-msgid "Embedding disabled"
+#: ../../include/channel.php:815
+msgid "Requested channel is not available."
msgstr ""
-#: ../../include/PermissionDescription.php:116
-msgid "Public"
+#: ../../include/channel.php:962
+msgid "Create New Profile"
msgstr ""
-#: ../../include/PermissionDescription.php:117
-msgid "Anybody in the $Projectname network"
+#: ../../include/channel.php:982
+msgid "Visible to everybody"
msgstr ""
-#: ../../include/PermissionDescription.php:118
-#, php-format
-msgid "Any account on %s"
+#: ../../include/channel.php:1055 ../../include/channel.php:1167
+msgid "Gender:"
msgstr ""
-#: ../../include/PermissionDescription.php:119
-msgid "Any of my connections"
+#: ../../include/channel.php:1056 ../../include/channel.php:1211
+msgid "Status:"
msgstr ""
-#: ../../include/PermissionDescription.php:120
-msgid "Only connections I specifically allow"
+#: ../../include/channel.php:1057 ../../include/channel.php:1222
+msgid "Homepage:"
msgstr ""
-#: ../../include/PermissionDescription.php:121
-msgid "Anybody authenticated (could include visitors from other networks)"
+#: ../../include/channel.php:1058
+msgid "Online Now"
msgstr ""
-#: ../../include/PermissionDescription.php:122
-msgid "Any connections including those who haven't yet been approved"
+#: ../../include/channel.php:1172
+msgid "Like this channel"
msgstr ""
-#: ../../include/PermissionDescription.php:161
-msgid ""
-"This is your default setting for the audience of your normal stream, and "
-"posts."
+#: ../../include/channel.php:1196
+msgid "j F, Y"
msgstr ""
-#: ../../include/PermissionDescription.php:162
-msgid ""
-"This is your default setting for who can view your default channel profile"
+#: ../../include/channel.php:1197
+msgid "j F"
msgstr ""
-#: ../../include/PermissionDescription.php:163
-msgid "This is your default setting for who can view your connections"
+#: ../../include/channel.php:1204
+msgid "Birthday:"
msgstr ""
-#: ../../include/PermissionDescription.php:164
-msgid ""
-"This is your default setting for who can view your file storage and photos"
+#: ../../include/channel.php:1217
+#, php-format
+msgid "for %1$d %2$s"
msgstr ""
-#: ../../include/PermissionDescription.php:165
-msgid "This is your default setting for the audience of your webpages"
+#: ../../include/channel.php:1220
+msgid "Sexual Preference:"
msgstr ""
-#: ../../include/contact_widgets.php:11
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/contact_widgets.php:19
-msgid "Find Channels"
+#: ../../include/channel.php:1226
+msgid "Tags:"
msgstr ""
-#: ../../include/contact_widgets.php:20
-msgid "Enter name or interest"
+#: ../../include/channel.php:1228
+msgid "Political Views:"
msgstr ""
-#: ../../include/contact_widgets.php:21
-msgid "Connect/Follow"
+#: ../../include/channel.php:1230
+msgid "Religion:"
msgstr ""
-#: ../../include/contact_widgets.php:22
-msgid "Examples: Robert Morgenstein, Fishing"
+#: ../../include/channel.php:1234
+msgid "Hobbies/Interests:"
msgstr ""
-#: ../../include/contact_widgets.php:26
-msgid "Random Profile"
+#: ../../include/channel.php:1236
+msgid "Likes:"
msgstr ""
-#: ../../include/contact_widgets.php:27
-msgid "Invite Friends"
+#: ../../include/channel.php:1238
+msgid "Dislikes:"
msgstr ""
-#: ../../include/contact_widgets.php:29
-msgid "Advanced example: name=fred and country=iceland"
+#: ../../include/channel.php:1240
+msgid "Contact information and Social Networks:"
msgstr ""
-#: ../../include/contact_widgets.php:122
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/contact_widgets.php:127
-msgid "show more"
+#: ../../include/channel.php:1242
+msgid "My other channels:"
msgstr ""
-#: ../../include/dir_fns.php:141
-msgid "Directory Options"
+#: ../../include/channel.php:1244
+msgid "Musical interests:"
msgstr ""
-#: ../../include/dir_fns.php:143
-msgid "Safe Mode"
+#: ../../include/channel.php:1246
+msgid "Books, literature:"
msgstr ""
-#: ../../include/dir_fns.php:144
-msgid "Public Forums Only"
+#: ../../include/channel.php:1248
+msgid "Television:"
msgstr ""
-#: ../../include/dir_fns.php:145
-msgid "This Website Only"
+#: ../../include/channel.php:1250
+msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../include/message.php:20
-msgid "No recipient provided."
+#: ../../include/channel.php:1252
+msgid "Love/Romance:"
msgstr ""
-#: ../../include/message.php:25
-msgid "[no subject]"
+#: ../../include/channel.php:1254
+msgid "Work/employment:"
msgstr ""
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
+#: ../../include/channel.php:1256
+msgid "School/education:"
msgstr ""
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
+#: ../../include/channel.php:1277
+msgid "Like this thing"
msgstr ""
#: ../../include/permissions.php:26
diff --git a/view/theme/redbasic/js/redbasic.js b/view/theme/redbasic/js/redbasic.js
index 58c2a9ceb..5209ad945 100644
--- a/view/theme/redbasic/js/redbasic.js
+++ b/view/theme/redbasic/js/redbasic.js
@@ -56,13 +56,13 @@ $(document).ready(function() {
function makeFullScreen(full) {
if(typeof full=='undefined' || full == true) {
$('main').css({'transition': 'none'}).addClass('fullscreen');
- $('#fullscreen-btn, header, nav, aside').css({'display': 'none'});
+ $('#fullscreen-btn, header, nav, aside, #tabs-collapse-1').css({'visibility': 'hidden'});
$('#inline-btn').show();
}
else {
$('main').removeClass('fullscreen');
- $('#fullscreen-btn, header, nav, aside').css({'display': ''});
+ $('#fullscreen-btn, header, nav, aside, #tabs-collapse-1').css({'visibility': ''});
$('#inline-btn').hide();
$('main').css({'transition': ''});
}
diff --git a/view/tpl/dreport.tpl b/view/tpl/dreport.tpl
index 7d5524a6a..8aa5e2cd1 100644
--- a/view/tpl/dreport.tpl
+++ b/view/tpl/dreport.tpl
@@ -1,7 +1,14 @@
<div class="generic-content-wrapper">
<div class="section-title-wrapper">
{{if $table == 'item'}}
- <a href="dreport/push/{{$mid}}"><button class="btn btn-default btn-xs pull-right">{{$push}}</button></a>
+ <div class="dropdown pull-right">
+ <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" title="{{$options}}">
+ <i class="fa fa-sort-desc"></i>
+ </button>
+ <ul class="dropdown-menu">
+ <li><a href="dreport/push/{{$mid}}">{{$push}}</a></li>
+ </ul>
+ </div>
{{/if}}
<h2>{{$title}}</h2>
</div>
diff --git a/view/tpl/force_image_reload.tpl b/view/tpl/force_image_reload.tpl
new file mode 100644
index 000000000..839bd22b5
--- /dev/null
+++ b/view/tpl/force_image_reload.tpl
@@ -0,0 +1,72 @@
+{{*
+Force the browser to reload an image from the server instead of the cache.
+based on an answer from http://stackoverflow.com/a/22429796/3343347
+
+Usage: Set $imgUrl to the src url you want to be re-fetched from the server
+
+*}}
+
+<script>
+ $(document).ready(
+ function() {
+ forceImgReload("{{$imgUrl}}");
+ }
+ );
+
+ {{*
+ * find and return any existing img tags with a matching src url, and set them to an intermediate
+ * src url so they can later be reverted back once the cached version has been updated.
+ *}}
+ function prepareImagesForReload(srcUrl) {
+
+ var result = $("img[src='" + srcUrl + "']").get();
+
+ for (i = 0; i < result.length; i++) {
+ {{*
+ * Set the image to a reloading image, in this case an animated "reloading" svg
+ * Ideally this wont be displayed long enough to matter.
+ *}}
+ result[i].src = "data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid' class='uil-reload'%3E%3Cpath fill='none' class='bk' d='M0 0h100v100H0z'/%3E%3Cg%3E%3Cpath d='M50 15a35 35 0 1 0 24.787 10.213' fill='none' stroke='%23777' stroke-width='12'/%3E%3Cpath d='M50 0v30l16-15L50 0' fill='%23777'/%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 50 50' to='360 50 50' dur='1s' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E";
+ }
+
+ return result;
+ }
+
+ function restoreImages(srcUrl, imgList) {
+
+ for (i = 0; i < imgList.length; i++) {
+ imgList[i].src = srcUrl;
+ }
+ }
+
+ function forceImgReload(srcUrl) {
+ var imgList;
+ var step = 0;
+ var iframe = window.document.createElement("iframe"); // Hidden iframe, in which to perform the load+reload.
+
+ {{* Callback function, called after iframe load+reload completes (or fails).
+ Will be called TWICE unless twostage-mode process is cancelled. (Once after load, once after reload). *}}
+ var iframeLoadCallback = function(e) {
+
+ if (step === 0) {
+ // initial load just completed. Note that it doesn't actually matter if this load succeeded or not.
+
+ step = 1;
+ imgList = prepareImagesForReload(srcUrl);
+ iframe.contentWindow.location.reload(true); // initiate forced-reload!
+
+ } else if (step === 1) {
+ // forced re-load is done
+
+ restoreImages(srcUrl, imgList);
+ if (iframe.parentNode) iframe.parentNode.removeChild(iframe);
+ }
+ }
+
+ iframe.style.display = "none";
+ window.parent.document.body.appendChild(iframe); {{* NOTE: if this is done AFTER setting src, Firefox MAY fail to fire the load event! *}}
+ iframe.addEventListener("load", iframeLoadCallback, false);
+ iframe.addEventListener("error", iframeLoadCallback, false);
+ iframe.src = srcUrl;
+ }
+</script>