aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/bugreport.apd2
-rw-r--r--doc/Comanche.md4
-rw-r--r--doc/api_functions.bb18
-rw-r--r--doc/comanche.bb4
-rw-r--r--doc/features.bb56
-rw-r--r--doc/main.bb1
-rw-r--r--doc/to_do_code.bb4
-rw-r--r--include/RedDAV/RedBrowser.php9
-rw-r--r--include/api.php333
-rw-r--r--include/attach.php10
-rw-r--r--include/bbcode.php414
-rw-r--r--include/comanche.php18
-rw-r--r--include/conversation.php13
-rw-r--r--include/dir_fns.php8
-rw-r--r--include/event.php3
-rwxr-xr-xinclude/items.php414
-rw-r--r--include/js_strings.php1
-rw-r--r--include/menu.php66
-rw-r--r--include/notifier.php22
-rw-r--r--include/permissions.php48
-rw-r--r--include/socgraph.php22
-rw-r--r--include/taxonomy.php5
-rw-r--r--include/text.php123
-rw-r--r--include/widgets.php33
-rw-r--r--include/zot.php548
-rw-r--r--install/INSTALL.txt2
-rw-r--r--library/jRange/jquery.range.js2
-rw-r--r--library/justifiedGallery/jquery.justifiedGallery.js7
-rw-r--r--mod/attach.php5
-rw-r--r--mod/blocks.php51
-rw-r--r--mod/branchtopic.php42
-rw-r--r--mod/connedit.php38
-rw-r--r--mod/directory.php15
-rw-r--r--mod/dirsearch.php11
-rw-r--r--mod/editblock.php31
-rw-r--r--mod/editlayout.php33
-rw-r--r--mod/editwebpage.php47
-rw-r--r--mod/filestorage.php10
-rw-r--r--mod/home.php8
-rw-r--r--mod/impel.php2
-rw-r--r--mod/item.php20
-rw-r--r--mod/layouts.php63
-rw-r--r--mod/lockview.php12
-rw-r--r--mod/manage.php8
-rw-r--r--mod/menu.php99
-rw-r--r--mod/mitem.php151
-rw-r--r--mod/page.php32
-rw-r--r--mod/photos.php2
-rw-r--r--mod/rpost.php18
-rw-r--r--mod/search.php10
-rw-r--r--mod/suggest.php1
-rw-r--r--mod/viewconnections.php35
-rw-r--r--mod/viewsrc.php3
-rw-r--r--mod/wall_attach.php3
-rw-r--r--mod/webpages.php68
-rw-r--r--util/messages.po5904
-rw-r--r--version.inc2
-rw-r--r--view/css/conversation.css14
-rw-r--r--view/css/mod_blocks.css36
-rw-r--r--view/css/mod_layouts.css36
-rw-r--r--view/css/mod_menu.css14
-rw-r--r--view/css/mod_mitem.css16
-rw-r--r--view/css/mod_webpages.css38
-rw-r--r--view/css/widgets.css26
-rw-r--r--view/it/strings.php1
-rw-r--r--view/js/jquery.js10
-rw-r--r--view/js/main.js22
-rw-r--r--view/js/mod_settings.js2
-rw-r--r--view/nl/messages.po6578
-rw-r--r--view/nl/strings.php1476
-rw-r--r--view/pdl/mod_editblock.pdl3
-rw-r--r--view/pdl/mod_editlayout.pdl3
-rw-r--r--view/pdl/mod_editwebpage.pdl3
-rw-r--r--view/theme/redbasic/css/style.css67
-rw-r--r--view/theme/redbasic/php/style.php3
-rw-r--r--view/tpl/attach_edit.tpl40
-rw-r--r--view/tpl/blocklist.tpl77
-rw-r--r--view/tpl/cloud_directory.tpl4
-rwxr-xr-xview/tpl/contact_slider.tpl2
-rwxr-xr-xview/tpl/conv_item.tpl9
-rwxr-xr-xview/tpl/conv_list.tpl10
-rw-r--r--view/tpl/design_tools.tpl2
-rwxr-xr-xview/tpl/direntry.tpl3
-rwxr-xr-xview/tpl/edpost_head.tpl13
-rwxr-xr-xview/tpl/event_form.tpl4
-rwxr-xr-xview/tpl/field_input.tpl4
-rwxr-xr-xview/tpl/jot-header.tpl1
-rwxr-xr-xview/tpl/jot.tpl37
-rwxr-xr-xview/tpl/js_strings.tpl1
-rw-r--r--view/tpl/layoutlist.tpl80
-rwxr-xr-xview/tpl/main_slider.tpl2
-rw-r--r--view/tpl/menuedit.tpl49
-rw-r--r--view/tpl/menulist.tpl41
-rw-r--r--view/tpl/mitemedit.tpl58
-rw-r--r--view/tpl/mitemlist.tpl40
-rwxr-xr-xview/tpl/page_display.tpl4
-rwxr-xr-xview/tpl/peoplefind.tpl1
-rwxr-xr-xview/tpl/photo_view.tpl2
-rwxr-xr-xview/tpl/photosajax.tpl2
-rwxr-xr-xview/tpl/search_item.tpl2
-rw-r--r--view/tpl/sharedwithme.tpl2
-rw-r--r--view/tpl/usermenu.tpl27
-rwxr-xr-xview/tpl/viewcontact_template.tpl7
-rw-r--r--view/tpl/viewcontactsajax.tpl3
-rw-r--r--view/tpl/webpagelist.tpl104
105 files changed, 9382 insertions, 8511 deletions
diff --git a/app/bugreport.apd b/app/bugreport.apd
index 42c31f016..ea1f87b34 100644
--- a/app/bugreport.apd
+++ b/app/bugreport.apd
@@ -1,3 +1,3 @@
-url: https://github.com/friendica/red/issues
+url: https://github.com/redmatrix/redmatrix/issues
name: Bug Report
photo: $baseurl/app/bugreport.png
diff --git a/doc/Comanche.md b/doc/Comanche.md
index 56bf68457..147988938 100644
--- a/doc/Comanche.md
+++ b/doc/Comanche.md
@@ -88,6 +88,10 @@ This places the menu called "mymenu" at this location on the page, which must be
This places a block named "contributors" in this region.
+ [block][var=wrap]none[/var]contributors[/block]
+
+The variable [var=wrap]none[/var] in a block removes the wrapping div element from the block.
+
**Widgets**
diff --git a/doc/api_functions.bb b/doc/api_functions.bb
index c9d90c716..e6cde3dc6 100644
--- a/doc/api_functions.bb
+++ b/doc/api_functions.bb
@@ -28,26 +28,26 @@ Twitter API compatible functions:
api/statuses/mentions T,S,F,(R)
api/statuses/replies T,S,F,(R)
api/statuses/user_timeline T,S,F,(R)
- api/favorites T,S,F,(R)
+ api/favorites T,S,F,R
api/account/rate_limit_status T,S,F,R
api/help/test T,S,F,R
api/statuses/friends T,S,F,R
api/statuses/followers T,S,F,R
api/friends/ids T,S,F,R
api/followers/ids T,S,F,R
- api/direct_messages/new T,S,F,(R)
- api/direct_messages/conversation T,S,F,(R)
- api/direct_messages/all T,S,F,(R)
- api/direct_messages/sent T,S,F,(R)
- api/direct_messages T,S,F,(R)
+ api/direct_messages/new T,S,F,R
+ api/direct_messages/conversation T,S,F,R
+ api/direct_messages/all T,S,F,R
+ api/direct_messages/sent T,S,F,R
+ api/direct_messages T,S,F,R
api/oauth/request_token T,S,F,R
api/oauth/access_token T,S,F,R
+ api/favorites T,S,R
+ api/favorites/create T,S,R
+ api/favorites/destroy T,S,R
Twitter API functions supported by StatusNet but not currently by Friendica or Red
- api/favorites T,S
- api/favorites/create T,S
- api/favorites/destroy T,S
api/statuses/retweets_of_me T,S
api/friendships/create T,S
api/friendships/destroy T,S
diff --git a/doc/comanche.bb b/doc/comanche.bb
index 19a74833e..3afe14489 100644
--- a/doc/comanche.bb
+++ b/doc/comanche.bb
@@ -108,6 +108,10 @@ This places the menu called "mymenu" at this location on the page, whi
[/code]
This places a block named "contributors" in this region.
+[code]
+ [block][var=wrap]none[/var]contributors[/block]
+[/code]
+The variable [var=wrap]none[/var] in a block removes the wrapping div element from the block.
[b]Widgets[/b]
diff --git a/doc/features.bb b/doc/features.bb
index 5e42532f2..e2ca648bd 100644
--- a/doc/features.bb
+++ b/doc/features.bb
@@ -1,31 +1,41 @@
-[b]Features[/b]
+[b][size=20]Features[/size][/b]
-[b][size=24]Red Matrix Features[/size][/b]
+[b][size=24]Redmatrix in a Nutshell[/size][/b]
+TL;DR
-The Red Matrix is a general-purpose communication network, with several unique features. It is designed to be used by the widest range of users on the web, from non-technical bloggers, to expert PHP programmers and seasoned systems administrators.
+Redmatrix provides distributed web publishing and social communications with [b]decentralised permissions[/b].
-This page lists some of the core features of Red that are bundled with the official release. As with most free and open source software, there may be many other extensions, additions, plugins, themes and configurations that are limited only by the needs and imagination of Red's users.
+So what exactly are "decentralised permissions"? They give me the ability to share something on my website (photos, media, files, webpages, etc.) with specific people on completely different websites - but not necessarily [i]everybody[/i] on those websites; and they do not need a password on my website and do not need to login to my website to view the things I've shared with them. They have one password on their own website and "magic authentication" between affiliated websites in the network. Also, as it is decentralised, there is no third party which has the ability to bypass permissions and see everything in the network.
+
+Redmatrix combines many features of traditional blogs, social networking and media, content management systems, and personal cloud storage into an easy to use framework. Each node in the matrix can operate standalone or link with other nodes to create a super-network; leaving privacy under the control of the original publisher.
+
+Redmatrix is an open source webserver application written originally in PHP/MySQL and is easily installable by those with basic website administration skills. It is also easily extended via plugins and themes and other third-party tools.
+
+[b][size=24]Redmatrix Features[/size][/b]
+
+
+The Redmatrix is a general-purpose web publishing and communication network, with several unique features. It is designed to be used by the widest range of people on the web, from non-technical bloggers, to expert PHP programmers and seasoned systems administrators.
+
+This page lists some of the core features of Redmatrix that are bundled with the official release. As with most free and open source software, there may be many other extensions, additions, plugins, themes and configurations that are limited only by the needs and imagination of the members.
[b][size=20]Built for Privacy and Freedom[/size][/b]
-One of the design goals of Red is to enable easy communication on the web, while preserving privacy, if so desired by users. To achieve this goal, Red includes a number of features allowing arbitrary levels of privacy:
+One of the design goals of Redmatrix is to enable easy communication on the web, while preserving privacy, if so desired by members. To achieve this goal, Redmatrix includes a number of features allowing arbitrary levels of privacy:
[b]Affinity Slider[/b]
-When adding contacts in the Red Matrix, users have the option of assigning affinity levels to the new member in their contact list. For example, when adding someone who happens to be a person who's blog you follow, you could assign their channel an affinity level of "Acquaintances".
-
-[img]https://friendicared.net/photo/b07b0262e3146325508b81a9d1ae4a1e-0.png[/img]
+When adding connnections in Redmatrix, members have the option of assigning "affinity" levels (how close your friendship is) to the new connection. For example, when adding someone who happens to be a person whose blog you follow, you could assign their channel an affinity level of "Acquaintances".
On the other hand, when adding a friend's channel, they could be placed under the affinity level of "Friends".
-At this point, Red's [i]Affinity Slider[/i] tool, which usually appears at the top of your "Matrix" page, allows content on your Red account to be displayed by desired affinity levels. By moving the slider to cover all contacts with affinity levels of "Me" to "Friends", only contacts (or channels) that are marked as "Me", "Best Friends", and "Friends" will be displayed on your page. All other channels and contacts, such as the contact added under affinity level "Acquaintances", will not be displayed.
+At this point, the Redmatrix [i]Affinity Slider[/i] tool, which usually appears at the top of your "Matrix" page, adjusts the content on the page to include those within the desired affinity range. Channels outside that range will not be displayed, unless you adjust the slider to include them.
The Affinity Slider allows instantaneous filtering of large amounts of content, grouped by levels of closeness.
[b]Access Control Lists[/b]
-When sharing content with someone in their contact list, users have the option of restricting who sees the content. By clicking on the padlock underneath the sharing box, one may choose desired recipients of the post, by clicking on their names.
+When sharing content, members have the option of restricting who sees the content. By clicking on the padlock underneath the sharing box, one may choose desired recipients of the post, by clicking on their names.
Once sent, the message will be viewable only by the sender and the selected recipients. In other words, the message will not appear on any public walls.
@@ -42,11 +52,11 @@ Files may be uploaded to your personal storage area using your operating system
[b]Photo Albums[/b]
-Store photos in albums. These may be protected by Access Control Lists.
+Store photos in albums. All your photos may be protected by Access Control Lists.
[b]Events Calendar[/b]
-Create and manage events, which may also be protected with Access Control Lists. Events can be exported to other software using the industry standard vcalendar/iCal format and shared in posts with others. Birthday events are automatically added from your friends and converted to your correct timezone so that you will know precisely when the birthday occurs - no matter where you are located in the world in relation to the birthday person.
+Create and manage events, which may also be protected with Access Control Lists. Events can be exported to other software using the industry standard vcalendar/iCal format and shared in posts with others. Birthday events are automatically added from your friends and converted to your correct timezone so that you will know precisely when the birthday occurs - no matter where you are located in the world in relation to the birthday person. Events are normally created with attendance counters so your friends and connections can RSVP instantly.
[b]Chatrooms[/b]
@@ -90,13 +100,13 @@ Posts and messages may be created with an expiration date, at which time they wi
In addition to addon "cross-post connectors" to a variety of alternate networks, there is native support for importation of content from RSS/Atom feeds and using this to create special channels. Also, an experimental but working implementation of the Diaspora protocol allows communication with people on the Friendica and Diaspora decentralised social networks. This is currently marked experimental because these networks do not have the same level of privacy and encryption features and abilities as Redmatrix and may present privacy risks.
-There is also experimental support for OpenID authentication which may be used in Access Control Lists. This is a work in progress.
+There is also experimental support for OpenID authentication which may be used in Access Control Lists. This is a work in progress. Your Redmatrix hub may be used as an OpenID provider to authenticate you to external services which use this technology.
Channels may have permissions to become "derivative channels" where two or more existing channels combine to create a new topical channel.
[b]Collections[/b]
-"Collections" is our implementation of privacy groups, which is similar to Google "Circles" and Diaspora "Aspects". This allows you to filter your incoming stream by collections or groups, and automatically set the outbound Access Control List to only those in the Collection when you post. You may over-ride this at any time.
+"Collections" is our implementation of privacy groups, which is similar to Google "Circles" and Diaspora "Aspects". This allows you to filter your incoming stream by collections or groups, and automatically set the outbound Access Control List to only those in the Collection when you post. You may over-ride this at any time (prior to sending the post).
[b]Directory Services[/b]
@@ -106,7 +116,7 @@ We provide easy access to a directory of members and provide decentralised tools
[b]TLS/SSL[/b]
-For Red hubs that use TLS/SSL, client to server communications are encrypted via TLS/SSL. Given recent disclosures in the media regarding widespread, global surveillance and encryption circumvention by the NSA and GCHQ, it is reasonable to assume that HTTPS-protected communications may be compromised in various ways.
+For Redmatrix hubs that use TLS/SSL, client to server communications are encrypted via TLS/SSL. Given recent disclosures in the media regarding widespread, global surveillance and encryption circumvention by the NSA and GCHQ, it is reasonable to assume that HTTPS-protected communications may be compromised in various ways. Private communications are consequently encrypted at a higher level before sending offsite.
[b]Channel Settings[/b]
@@ -114,8 +124,6 @@ When a channel is created, a role is chosen which applies a number of pre-config
If you choose a "custom" privacy role, each channel allows fine-grained permissions to be set for various aspects of communication. For example, under the "Security and Privacy Settings" heading, each aspect on the left side of the page, has six (6) possible viewing/access options, that can be selected by clicking on the dropdown menu. There are also a number of other privacy settings you may edit.
-[img]https://friendicared.net/photo/0f5be8da282858edd645b0a1a6626491.png[/img]
-
The options are:
- Nobody except yourself.
@@ -134,7 +142,7 @@ Forums are typically channels which may be open to participation from multiple a
[b]Account Cloning[/b]
-Accounts in the Red Matrix are referred to as [i]nomadic identities[/i], because a user's identity is not bound to the hub where the identity was originally created (see What is Zot? for the full explanation). For example, when you create a Facebook or Gmail account, it is tied to those services. They cannot function without Facebook.com or Gmail.com.
+Accounts in the Red Matrix are referred to as [i]nomadic identities[/i], because a member's identity is not bound to the hub where the identity was originally created. For example, when you create a Facebook or Gmail account, it is tied to those services. They cannot function without Facebook.com or Gmail.com.
By contrast, say you've created a Red identity called [b]tina@redhub.com[/b]. You can clone it to another Red hub by choosing the same, or a different name: [b]liveForever@SomeRedMatrixHub.info[/b]
@@ -142,11 +150,11 @@ Both channels are now synchronized, which means all your contacts and preference
This is a rather revolutionary feature, if we consider some scenarios:
- - What happens if the hub where an identity is based suddenly goes offline? Without cloning, a user will not be able to communicate until that hub comes back online. With cloning, you just log into your cloned account, and life goes on happily ever after.
+ - What happens if the hub where an identity is based suddenly goes offline? Without cloning, a member will not be able to communicate until that hub comes back online (no doubt many of you have seen and cursed the Twitter "Fail Whale"). With cloning, you just log into your cloned account, and life goes on happily ever after.
- The administrator of your hub can no longer afford to pay for his free and public Red Matrix hub. He announces that the hub will be shutting down in two weeks. This gives you ample time to clone your identity(ies) and preserve your Red relationships, friends and content.
- - What if your identity is subject to government censorship? Your hub provider is compelled to delete your account, along with any identities and associated data. With cloning, the Red Matrix offers [b]censorship resistance[/b]. You can have hundreds of clones, if you wanted to, all named different, and existing on many different hubs, strewn around the internet.
+ - What if your identity is subject to government censorship? Your hub provider may be compelled to delete your account, along with any identities and associated data. With cloning, the Red Matrix offers [b]censorship resistance[/b]. You can have hundreds of clones, if you wanted to, all named different, and existing on many different hubs, strewn around the internet.
Red offers interesting new possibilities for privacy. You can read more at the <<Private Communications Best Practices>> page.
@@ -154,7 +162,7 @@ Some caveats apply. For a full explanation of identity cloning, read the <HOW
[b]Multiple Profiles[/b]
-Any number of profiles may be created containing different information and these may be made visible to certain of your connections/friends. A "default" profile can be seen by anybody and may contain limited information, with more information available to select groups or people.
+Any number of profiles may be created containing different information and these may be made visible to certain of your connections/friends. A "default" profile can be seen by anybody and may contain limited information, with more information available to select groups or people. This means that the profile (and site content) your beer-drinking buddies see may be different than what your co-workers see, and also completely different from what is visible to the general public.
[b]Account Backup[/b]
@@ -175,7 +183,7 @@ Red supports a number of different ways of adding rich-text content. The default
When creating "Websites", content may be entered in HTML, Markdown, BBcode, and/or plain text.
[b]Deletion of content[/b]
-Any content created in the Red Matrix remains under the control of the member (or channel) that originally created it. At any time, a member can delete a message, or a range of messages. The deletion process ensures that the content is deleted, regardless of whether it was posted on a channel's primary (home) hub, or on another hub, where the channel was remotely authenticated via Zot.
+Any content created in the Red Matrix remains under the control of the member (or channel) that originally created it. At any time, a member can delete a message, or a range of messages. The deletion process ensures that the content is deleted, regardless of whether it was posted on a channel's primary (home) hub, or on another hub, where the channel was remotely authenticated via Zot (the Redmatrix communication and authentication protocol).
[b]Media[/b]
Similar to any other modern blogging system, social network, or a micro-blogging service, Red supports the uploading of files, embedding of videos, linking web pages.
@@ -183,6 +191,10 @@ Similar to any other modern blogging system, social network, or a micro-blogging
[b]Previewing/Editing[/b]
Post can be previewed prior to sending and edited after sending.
+[b]Voting/Concensus[/b]
+Posts can be turned into "concensus" items which allows readers to offer feedback, which is collated into "agree", "disagree", and "abstain" counters. This lets you gauge interest for ideas and create informal surveys.
+
+
[b]Extending Redmatrix[/b]
Redmatrix can be extended in a number of ways, through site customisation, personal customisation, option setting, themes, and addons/plugins.
diff --git a/doc/main.bb b/doc/main.bb
index cdccd6ecc..bb1de0e67 100644
--- a/doc/main.bb
+++ b/doc/main.bb
@@ -6,6 +6,7 @@
RedMatrix is a decentralized communication and publishing platform that enables you to keep in control of your communication needs by automatic encryption and finely grained access control. It's you, and only you who decides who is allowed to see your stuff.
[zrl=[baseurl]/help/features][b]RedMatrix Features[/b][/zrl]
+
The RedMatrix is already running as a global distributed network and proves its versatility and scalability from standalone to huge sites on a daily basis.
Think of standalone family communication platforms, distributed online communities, support forums, blogs and homepages. Or professional content providers with commercial premium channels and targeted content acces. Whatever you want, the RedMatrix is there to cater to your creativity.
diff --git a/doc/to_do_code.bb b/doc/to_do_code.bb
index 713885f92..fd3923d40 100644
--- a/doc/to_do_code.bb
+++ b/doc/to_do_code.bb
@@ -5,6 +5,7 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]Documentation - see Red Documentation Project To-Do List[/li]
[li]Include TOS link in registration/verification email[/li]
[li]Create bug tracker module[/li]
+[li]translation plugins - moses or apertium[/li]
[li]Infinite scroll improvements (i.e. embedded page links) see http://scrollsample.appspot.com/items
[li]Finish the anti-spam bayesian engine[/li]
[li]implement an email permission denied bounce message from the sys channel[/li]
@@ -17,6 +18,7 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]Write more webpage widgets[/li]
[li]restricted access OAuth clients[/li]
[li](Advanced) create a UI for building Comanche pages[/li]
+[li](less advanced) create a way to preview Comanche results on a preview page while editing on another page[/li]
[li]Extend WebDAV to provide desktop access to photo albums[/li]
[li]External post connectors - create standard interface[/li]
[li]External post connectors, add popular services[/li]
@@ -25,6 +27,8 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]Events module - fix permissions on events, and provide JS translation support for the calendar overview; integrate with calDAV[/li]
[li]Uploads - integrate #^[url=https://github.com/blueimp/jQuery-File-Upload]https://github.com/blueimp/jQuery-File-Upload[/url][/li]
[li]Import/export - include events, things, etc.[/li]
+[li]API extensions, for Twitter API - search, friending, threading. For Red API, lots of stuff[/li]
+[li]OAuth permission extensions[/li]
[li]Import channel from Diaspora/Friendica[/li]
[li]MediaGoblin photo "crosspost" connector[/li]
[li]Create management page/UI for extensible profile fields[/li]
diff --git a/include/RedDAV/RedBrowser.php b/include/RedDAV/RedBrowser.php
index 56d18ded6..a0330d7cc 100644
--- a/include/RedDAV/RedBrowser.php
+++ b/include/RedDAV/RedBrowser.php
@@ -271,18 +271,19 @@ class RedBrowser extends DAV\Browser\Plugin {
'$nick' => $this->auth->getCurrentUser()
));
- get_app()->page['content'] = $html;
- load_pdl(get_app());
+ $a = get_app();
+ $a->page['content'] = $html;
+ load_pdl($a);
$theme_info_file = "view/theme/" . current_theme() . "/php/theme.php";
if (file_exists($theme_info_file)){
require_once($theme_info_file);
if (function_exists(str_replace('-', '_', current_theme()) . '_init')) {
$func = str_replace('-', '_', current_theme()) . '_init';
- $func(get_app());
+ $func($a);
}
}
- construct_page(get_app());
+ construct_page($a);
}
/**
diff --git a/include/api.php b/include/api.php
index 3ac8ddbda..b9c4c45a4 100644
--- a/include/api.php
+++ b/include/api.php
@@ -267,40 +267,46 @@ require_once('include/items.php');
* Returns user info array.
*/
- function api_get_user(&$a, $contact_id = Null){
+ function api_get_user(&$a, $contact_id = null, $contact_xchan = null){
global $called_api;
$user = null;
$extra_query = "";
- if(!is_null($contact_id)){
- $user=$contact_id;
- $extra_query = " AND abook_id = %d ";
- }
-
- if(is_null($user) && x($_GET, 'user_id')) {
- $user = intval($_GET['user_id']);
- $extra_query = " AND abook_id = %d ";
- }
- if(is_null($user) && x($_GET, 'screen_name')) {
- $user = dbesc($_GET['screen_name']);
- $extra_query = " AND xchan_addr like '%s@%%' ";
- if (api_user()!==false)
- $extra_query .= " AND abook_channel = ".intval(api_user());
+ if(! is_null($contact_xchan)) {
+ $user = local_channel();
+ $extra_query = " and abook_xchan = '" . dbesc($contact_xchan) . "' ";
}
+ else {
+ if(!is_null($contact_id)){
+ $user=$contact_id;
+ $extra_query = " AND abook_id = %d ";
+ }
- if (is_null($user) && argc() > (count($called_api)-1)){
- $argid = count($called_api);
- list($user, $null) = explode(".",argv($argid));
- if(is_numeric($user)){
- $user = intval($user);
+ if(is_null($user) && x($_GET, 'user_id')) {
+ $user = intval($_GET['user_id']);
$extra_query = " AND abook_id = %d ";
- } else {
- $user = dbesc($user);
+ }
+ if(is_null($user) && x($_GET, 'screen_name')) {
+ $user = dbesc($_GET['screen_name']);
$extra_query = " AND xchan_addr like '%s@%%' ";
- if (api_user() !== false)
+ if (api_user()!==false)
$extra_query .= " AND abook_channel = ".intval(api_user());
}
+
+ if (is_null($user) && argc() > (count($called_api)-1) && (strstr($a->cmd,'/users'))){
+ $argid = count($called_api);
+ list($xx, $null) = explode(".",argv($argid));
+ if(is_numeric($xx)){
+ $user = intval($xx);
+ $extra_query = " AND abook_id = %d ";
+ } else {
+ $user = dbesc($xx);
+ $extra_query = " AND xchan_addr like '%s@%%' ";
+ if (api_user() !== false)
+ $extra_query .= " AND abook_channel = ".intval(api_user());
+ }
+ }
}
if (! $user) {
@@ -316,11 +322,13 @@ require_once('include/items.php');
logger('api_user: ' . $extra_query . ', user: ' . $user);
// user info
+
$uinfo = q("SELECT * from abook left join xchan on abook_xchan = xchan_hash
WHERE 1
$extra_query",
$user
);
+
if (count($uinfo)==0) {
return False;
}
@@ -394,7 +402,7 @@ require_once('include/items.php');
'utc_offset' => "+00:00",
'time_zone' => 'UTC', //$uinfo[0]['timezone'],
'geo_enabled' => false,
- 'statuses_count' => intval($countitms), #XXX: fix me
+ 'statuses_count' => intval($countitms), //#XXX: fix me
'lang' => get_app()->language,
'description' => (($profile) ? $profile[0]['pdesc'] : ''),
'followers_count' => intval($countfollowers),
@@ -410,11 +418,16 @@ require_once('include/items.php');
'profile_background_tile' => false,
'profile_use_background_image' => false,
'notifications' => false,
- 'following' => '', #XXX: fix me
- 'verified' => true, #XXX: fix me
- 'status' => array()
+ 'following' => '', // #XXX: fix me
+ 'verified' => true // #XXX: fix me
);
-
+
+ $x = api_get_status($uinfo[0]['xchan_hash']);
+ if($x)
+ $ret['status'] = $x;
+
+// logger('api_get_user: ' . print_r($ret,true));
+
return $ret;
}
@@ -446,12 +459,12 @@ require_once('include/items.php');
'description' => '',
'profile_image_url' => $item['author']['xchan_photo_m'],
'url' => $item['author']['xchan_url'],
- 'protected' => false, #
+ 'protected' => false,
'followers_count' => 0,
'friends_count' => 0,
'created_at' => '',
'favourites_count' => 0,
- 'utc_offset' => 0, #XXX: fix me
+ 'utc_offset' => 0, // #XXX: fix me
'time_zone' => '', //$uinfo[0]['timezone'],
'statuses_count' => 0,
'following' => 1,
@@ -460,7 +473,7 @@ require_once('include/items.php');
'uid' => 0,
'contact_url' => 0,
'geo_enabled' => false,
- 'lang' => 'en', #XXX: fix me
+ 'lang' => 'en', // #XXX: fix me
'contributors_enabled' => false,
'follow_request_sent' => false,
'profile_background_color' => 'cfe8f6',
@@ -471,9 +484,8 @@ require_once('include/items.php');
'profile_background_image_url' => '',
'profile_background_tile' => false,
'profile_use_background_image' => false,
- 'verified' => true, #XXX: fix me
- 'followers' => '', #XXX: fix me
- 'status' => array()
+ 'verified' => true, // #XXX: fix me
+ 'followers' => '' // #XXX: fix me
);
return $ret;
@@ -667,6 +679,7 @@ require_once('include/items.php');
$a->argv[1] = $user_info['screen_name'];
$_REQUEST['silent']='1'; //tell wall_upload function to return img info instead of echo
+ $_FILES['userfile'] = $_FILES['media'];
require_once('mod/wall_attach.php');
$posted = wall_attach_post($a);
@@ -755,8 +768,8 @@ require_once('include/items.php');
$_FILES['userfile'] = $_FILES['media'];
// upload the image if we have one
$_REQUEST['silent']='1'; //tell wall_upload function to return img info instead of echo
- require_once('mod/wall_upload.php');
- $media = wall_upload_post($a);
+ require_once('mod/wall_attach.php');
+ $media = wall_attach_post($a);
if(strlen($media)>0)
$_REQUEST['body'] .= "\n\n".$media;
}
@@ -807,13 +820,65 @@ require_once('include/items.php');
api_register_func('api/red/item/new','red_item_new', true);
+ function api_get_status($xchan_hash) {
+ require_once('include/security.php');
+ $lastwall = q("SELECT * from item where
+ item_private = 0 and item_restrict = 0
+ and author_xchan = '%s'
+ and allow_cid = '' and allow_gid = '' and deny_cid = '' and deny_gid = ''
+ and verb = '%s'
+ order by created desc limit 1",
+ dbesc($xchan_hash),
+ dbesc(ACTIVITY_POST)
+ );
+ if($lastwall){
+ $lastwall = $lastwall[0];
+
+ $in_reply_to_status_id = '';
+ $in_reply_to_user_id = '';
+ $in_reply_to_screen_name = '';
+ if($lastwall['author_xchan'] != $lastwall['owner_xchan']) {
+ $w = q("select * from abook left join xchan on abook_xchan = xchan_hash where
+ xchan_hash = '%s' limit 1",
+ dbesc($lastwall['owner_xchan'])
+ );
+ if($w) {
+ $in_reply_to_user_id = $w[0]['abook_id'];
+ $in_reply_to_screen_name = substr($w[0]['xchan_addr'],0,strpos($w[0]['xchan_addr'],'@'));
+ }
+ }
+
+ if ($lastwall['parent']!=$lastwall['id']) {
+ $in_reply_to_status_id=$lastwall['thr_parent'];
+ if(! $in_reply_to_user_id) {
+ $in_reply_to_user_id = $user_info['id'];
+ $in_reply_to_screen_name = $user_info['screen_name'];
+ }
+ }
+ unobscure($lastwall);
+ $status_info = array(
+ 'text' => html2plain(prepare_text($lastwall['body'],$lastwall['mimetype']), 0),
+ 'truncated' => false,
+ 'created_at' => api_date($lastwall['created']),
+ 'in_reply_to_status_id' => $in_reply_to_status_id,
+ 'source' => (($lastwall['app']) ? $lastwall['app'] : 'web'),
+ 'id' => ($lastwall['id']),
+ 'in_reply_to_user_id' => $in_reply_to_user_id,
+ 'in_reply_to_screen_name' => $in_reply_to_screen_name,
+ 'geo' => '',
+ 'favorited' => false,
+ 'coordinates' => $lastwall['coord'],
+ 'place' => $lastwall['location'],
+ 'contributors' => ''
+ );
-
-
-
+ }
+
+ return $status_info;
+ }
function api_status_show(&$a, $type){
$user_info = api_get_user($a);
@@ -827,7 +892,6 @@ require_once('include/items.php');
and author_xchan = '%s'
and allow_cid = '' and allow_gid = '' and deny_cid = '' and deny_gid = ''
and verb = '%s'
- and uid in ( " . stream_perms_api_uids() . " )
order by created desc limit 1",
dbesc($user_info['guid']),
dbesc(ACTIVITY_POST)
@@ -901,7 +965,6 @@ require_once('include/items.php');
and author_xchan = '%s'
and allow_cid = '' and allow_gid = '' and deny_cid = '' and deny_gid = ''
and verb = '%s'
- and uid in ( " . stream_perms_api_uids() . " )
order by created desc limit 1",
dbesc($user_info['guid']),
dbesc(ACTIVITY_POST)
@@ -1047,8 +1110,8 @@ require_once('include/items.php');
if (api_user()===false) return false;
$user_info = api_get_user($a);
- // get last newtork messages
+ $sys = get_sys_channel();
// params
$count = (x($_REQUEST,'count')?$_REQUEST['count']:20);
@@ -1070,7 +1133,7 @@ require_once('include/items.php');
and allow_cid = '' and allow_gid = ''
and deny_cid = '' and deny_gid = ''
and item_private = 0
- and uid in ( " . stream_perms_api_uids() . " )
+ and uid = " . $sys['channel_id'] . "
$sql_extra
AND id > %d group by mid
order by received desc LIMIT %d OFFSET %d ",
@@ -1417,58 +1480,155 @@ require_once('include/items.php');
api_register_func('api/statuses/user_timeline','api_statuses_user_timeline', true);
+
+ /**
+ * Star/unstar an item
+ * param: id : id of the item
+ *
+ * api v1 : https://web.archive.org/web/20131019055350/https://dev.twitter.com/docs/api/1/post/favorites/create/%3Aid
+ */
+ function api_favorites_create_destroy(&$a, $type){
+
+ logger('favorites_create_destroy');
+
+ if (api_user()===false)
+ return false;
+
+ $action = str_replace(".".$type,"",argv(2));
+ if (argc() > 3) {
+ $itemid = intval(argv(3));
+ } else {
+ $itemid = intval($_REQUEST['id']);
+ }
+
+ $item = q("SELECT * FROM item WHERE id = %d AND uid = %d",
+ intval($itemid),
+ intval(api_user())
+ );
+
+ if (! $item)
+ return false;
+
+ switch($action){
+ case "create":
+
+ $flags = $item[0]['item_flags'] | ITEM_STARRED;
+
+ break;
+ case "destroy":
+
+ $flags = $item[0]['item_flags'] | (~ ITEM_STARRED);
+ break;
+ default:
+ return false;
+ }
+
+ $r = q("UPDATE item SET item_flags = %d where id = %d and uid = %d",
+ intval($flags),
+ intval($itemid),
+ intval(api_user())
+ );
+ if(! $r)
+ return false;
+
+ $item = q("SELECT * FROM item WHERE id = %d AND uid = %d",
+ intval($itemid),
+ intval(api_user())
+ );
+
+ xchan_query($item,true);
+
+
+ $user_info = api_get_user($a);
+ $rets = api_format_items($item,$user_info);
+ $ret = $rets[0];
+
+ $data = array('$status' => $ret);
+ switch($type){
+ case "atom":
+ case "rss":
+ $data = api_rss_extra($a, $data, $user_info);
+ }
+
+ return api_apply_template("status", $type, $data);
+ }
+
+ api_register_func('api/favorites/create', 'api_favorites_create_destroy', true);
+ api_register_func('api/favorites/destroy', 'api_favorites_create_destroy', true);
+
+
+
function api_favorites(&$a, $type){
- if (api_user()===false) return false;
+ if (api_user()===false)
+ return false;
$user_info = api_get_user($a);
- // in friendica starred item are private
- // return favorites only for self
- logger('api_favorites: self:' . $user_info['self']);
- if ($user_info['self']==0) {
- $ret = array();
- } else {
+ // params
+ $count = (x($_REQUEST,'count')?$_REQUEST['count']:20);
+ $page = (x($_REQUEST,'page')?$_REQUEST['page']-1:0);
+ if($page < 0)
+ $page = 0;
+ $since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0);
+ $max_id = (x($_REQUEST,'max_id')?$_REQUEST['max_id']:0);
+ $exclude_replies = (x($_REQUEST,'exclude_replies')?1:0);
+ $start = $page*$count;
- // params
- $count = (x($_GET,'count')?$_GET['count']:20);
- $page = (x($_REQUEST,'page')?$_REQUEST['page']-1:0);
- if ($page<0) $page=0;
-
- $start = $page*$count;
-
- $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
- `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn_id`, `contact`.`self`,
- `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
- FROM `item`, `contact`
- WHERE `item`.`uid` = %d
- AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0
- AND `item`.`starred` = 1
- AND `contact`.`id` = `item`.`contact-id`
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- $sql_extra
- ORDER BY `item`.`received` DESC LIMIT %d ,%d ",
- intval($user_info['uid']),
- intval($start), intval($count)
- );
+ //$include_entities = (x($_REQUEST,'include_entities')?$_REQUEST['include_entities']:false);
- $ret = api_format_items($r,$user_info);
+ $sql_extra = '';
+ if ($max_id > 0)
+ $sql_extra .= ' AND `item`.`id` <= '.intval($max_id);
+ if ($exclude_replies > 0)
+ $sql_extra .= ' AND `item`.`parent` = `item`.`id`';
+ if (api_user() != $user_info['uid']) {
+ $observer = get_app()->get_observer();
+ require_once('include/permissions.php');
+ if(! perm_is_allowed($user_info['uid'],(($observer) ? $observer['xchan_hash'] : ''),'view_stream'))
+ return '';
+ $sql_extra .= " and item_private = 0 ";
}
+ $r = q("SELECT * from item WHERE uid = %d and item_restrict = 0
+ and ( item_flags & %d ) > 0 $sql_extra
+ AND id > %d
+ ORDER BY received DESC LIMIT %d ,%d ",
+ intval($user_info['uid']),
+ intval(ITEM_STARRED),
+ intval($since_id),
+ intval($start),
+ intval($count)
+ );
+
+ xchan_query($r,true);
+
+ $ret = api_format_items($r,$user_info);
+
$data = array('$statuses' => $ret);
switch($type){
case "atom":
case "rss":
$data = api_rss_extra($a, $data, $user_info);
+ break;
+ case "as":
+ $as = api_format_as($a, $ret, $user_info);
+ $as['title'] = $a->config['sitename']." Home Timeline";
+ $as['link']['url'] = $a->get_baseurl()."/".$user_info["screen_name"]."/all";
+ return($as);
+ break;
}
return api_apply_template("timeline", $type, $data);
+
}
api_register_func('api/favorites','api_favorites', true);
+
+
+
function api_format_as($a, $ret, $user_info) {
$as = array();
@@ -1534,7 +1694,7 @@ require_once('include/items.php');
return($as);
}
- function api_format_messages($item, $recipient, $sender) {
+ function api_format_message($item, $recipient, $sender) {
// standard meta information
$ret = array(
'id' => $item['id'],
@@ -1546,7 +1706,7 @@ require_once('include/items.php');
'recipient_screen_name' => $recipient['screen_name'],
'recipient' => $recipient,
);
- unobscure($item);
+ unobscure_mail($item);
//don't send title to regular StatusNET requests to avoid confusing these apps
if (x($_GET, 'getText')) {
$ret['title'] = $item['title'] ;
@@ -1584,6 +1744,8 @@ require_once('include/items.php');
localize_item($item);
$status_user = (($item['author_xchan']==$user_info['guid'])?$user_info: api_item_get_user($a,$item));
+ if(array_key_exists('status',$status_user))
+ unset($status_user['status']);
if($item['parent'] != $item['id']) {
$r = q("select id from item where parent= %d and id < %d order by id desc limit 1",
@@ -1909,7 +2071,7 @@ require_once('include/items.php');
if ($id>-1) {
$r = q("SELECT * FROM `mail` WHERE id=%d", intval($id));
- $ret = api_format_messages($r[0], $recipient, $sender);
+ $ret = api_format_message($r[0], $recipient, $sender);
} else {
$ret = array("error"=>$id);
@@ -1963,18 +2125,16 @@ require_once('include/items.php');
$ret = Array();
if($r) {
foreach($r as $item) {
- if ($box == "inbox" || $item['from-url'] != $profile_url){
- $recipient = $user_info;
- // fixme to lookup recipient
- $sender = api_get_user($a);
- }
- elseif ($box == "sentbox" || $item['from-url'] != $profile_url){
- // fixme to lookup recipient
- $recipient = api_get_user($a);
+ if ($item['from_xchan'] == $channel['channel_hash']) {
$sender = $user_info;
+ $recipient = api_get_user($a, null, $item['to_xchan']);
+ }
+ else {
+ $sender = api_get_user($a, null, $item['from_xchan']);
+ $recipient = $user_info;
}
- $ret[]=api_format_messages($item, $recipient, $sender);
+ $ret[]=api_format_message($item, $recipient, $sender);
}
}
@@ -2040,9 +2200,6 @@ logger('Req: ' . var_export($req,true));
/*
Not implemented by now:
-favorites
-favorites/create
-favorites/destroy
statuses/retweets_of_me
friendships/create
friendships/destroy
diff --git a/include/attach.php b/include/attach.php
index 415859b39..e6d6e5f24 100644
--- a/include/attach.php
+++ b/include/attach.php
@@ -812,8 +812,8 @@ function attach_delete($channel_id, $resource) {
if($y) {
$f = 'store/' . $channel_address . '/' . $y[0]['data'];
- if(is_dir($f))
- @rmdir($f);
+ if(is_dir($y[0]['data']))
+ @rmdir($y[0]['data']);
elseif(file_exists($f))
unlink($f);
}
@@ -832,7 +832,7 @@ function attach_delete($channel_id, $resource) {
intval($channel_id)
);
- file_activity($channel_id, $object, $object['allow_cid'], $object['allow_gid'], $object['deny_cid'], $object['deny_gid'], 'update', $no_activity=false);
+ file_activity($channel_id, $object, $object['allow_cid'], $object['allow_gid'], $object['deny_cid'], $object['deny_gid'], 'update', $notify=0);
}
/**
@@ -985,7 +985,7 @@ function pipe_streams($in, $out) {
* @param string $verb
* @param boolean $no_activity
*/
-function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $verb, $no_activity) {
+function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $verb, $notify) {
require_once('include/items.php');
@@ -1107,7 +1107,7 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid,
//notice( t('File activity updated') . EOL);
}
- if($no_activity) {
+ if(! $notify) {
return;
}
diff --git a/include/bbcode.php b/include/bbcode.php
index e97a96f87..4ff6f842e 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -1,28 +1,33 @@
-<?php /** @file */
+<?php
+/**
+ * @file include/bbcode.php
+ * @brief BBCode related functions for parsing, etc.
+ */
-require_once("include/oembed.php");
+require_once('include/oembed.php');
require_once('include/event.php');
require_once('include/zot.php');
require_once('include/hubloc.php');
function tryoembed($match) {
- $url = ((count($match)==2)?$match[1]:$match[2]);
+ $url = ((count($match) == 2) ? $match[1] : $match[2]);
$o = oembed_fetch_url($url);
- if ($o->type=="error") return $match[0];
+ if ($o->type == 'error')
+ return $match[0];
$html = oembed_format_object($o);
return $html;
}
function tryzrlaudio($match) {
-
$link = $match[1];
$zrl = is_matrix_url($link);
if($zrl)
$link = zid($link);
- return '<audio src="' . str_replace(' ','%20',$link) . '" controls="controls" ><a href="' . str_replace(' ','%20',$link) . '">' . $link . '</a></audio>';
+
+ return '<audio src="' . str_replace(' ','%20',$link) . '" controls="controls"><a href="' . str_replace(' ','%20',$link) . '">' . $link . '</a></audio>';
}
function tryzrlvideo($match) {
@@ -30,8 +35,8 @@ function tryzrlvideo($match) {
$zrl = is_matrix_url($link);
if($zrl)
$link = zid($link);
- return '<video controls="controls" src="' . str_replace(' ','%20',$link) . '" style="width:100%; max-width:' . get_app()->videowidth . 'px"><a href="' . str_replace(' ','%20',$link) . '">' . $link . '</a></video>';
+ return '<video controls="controls" src="' . str_replace(' ','%20',$link) . '" style="width:100%; max-width:' . get_app()->videowidth . 'px"><a href="' . str_replace(' ','%20',$link) . '">' . $link . '</a></video>';
}
// [noparse][i]italic[/i][/noparse] turns into
@@ -39,11 +44,12 @@ function tryzrlvideo($match) {
// to hide them from parser.
function bb_spacefy($st) {
- $whole_match = $st[0];
- $captured = $st[1];
- $spacefied = preg_replace("/\[(.*?)\]/", "[ $1 ]", $captured);
- $new_str = str_replace($captured, $spacefied, $whole_match);
- return $new_str;
+ $whole_match = $st[0];
+ $captured = $st[1];
+ $spacefied = preg_replace("/\[(.*?)\]/", "[ $1 ]", $captured);
+ $new_str = str_replace($captured, $spacefied, $whole_match);
+
+ return $new_str;
}
// The previously spacefied [noparse][ i ]italic[ /i ][/noparse],
@@ -51,10 +57,11 @@ function bb_spacefy($st) {
// returning [i]italic[/i]
function bb_unspacefy_and_trim($st) {
- $whole_match = $st[0];
- $captured = $st[1];
- $unspacefied = preg_replace("/\[ (.*?)\ ]/", "[$1]", $captured);
- return $unspacefied;
+ //$whole_match = $st[0];
+ $captured = $st[1];
+ $unspacefied = preg_replace("/\[ (.*?)\ ]/", "[$1]", $captured);
+
+ return $unspacefied;
}
@@ -103,8 +110,8 @@ function bb_extract_images($body) {
function bb_replace_images($body, $images) {
$newbody = $body;
-
$cnt = 0;
+
if(! $images)
return $newbody;
@@ -119,10 +126,15 @@ function bb_replace_images($body, $images) {
return $newbody;
}
-
-
+/**
+ * @brief Parses crypt BBCode.
+ *
+ * @param array $match
+ * @return string HTML code
+ */
function bb_parse_crypt($match) {
+ $matches = array();
$attributes = $match[1];
$algorithm = "";
@@ -137,7 +149,6 @@ function bb_parse_crypt($match) {
$hint = "";
-
preg_match("/hint='(.*?)'/ism", $attributes, $matches);
if ($matches[1] != "")
$hint = $matches[1];
@@ -147,36 +158,42 @@ function bb_parse_crypt($match) {
$x = random_string();
- $Text = '<br/><div id="' . $x . '"><img src="' . z_root() . '/images/lock_icon.gif" onclick="red_decrypt(\'' . $algorithm . '\',\'' . $hint . '\',\'' . $match[2] . '\',\'#' . $x . '\');" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /></div><br />';
+ $Text = '<br /><div id="' . $x . '"><img src="' . z_root() . '/images/lock_icon.gif" onclick="red_decrypt(\'' . $algorithm . '\',\'' . $hint . '\',\'' . $match[2] . '\',\'#' . $x . '\');" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /></div><br />';
return $Text;
-
}
function bb_parse_app($match) {
require_once('include/apps.php');
$app = app_decode($match[1]);
- if($app)
+ if ($app)
return app_render($app);
-
}
function bb_parse_element($match) {
$j = json_decode(base64url_decode($match[1]),true);
- if($j) {
+ if ($j) {
$o = EOL . '<a href="#" onclick="importElement(\'' . $match[1] . '\'); return false;" >' . t('Install design element: ') . $j['pagetitle'] . '</a>' . EOL;
}
+
return $o;
}
+/**
+ * @brief Returns an QR-code image from a value given in $match[1].
+ *
+ * @param array $match
+ * @return string HTML img with QR-code of $match[1]
+ */
function bb_qr($match) {
return '<img class="zrl" src="' . z_root() . '/photo/qr?f=&qr=' . urlencode($match[1]) . '" alt="' . t('QR code') . '" title="' . htmlspecialchars($match[1],ENT_QUOTES,'UTF-8') . '" />';
-}
+}
function bb_ShareAttributes($match) {
+ $matches = array();
$attributes = $match[1];
$author = "";
@@ -204,13 +221,14 @@ function bb_ShareAttributes($match) {
if ($matches[1] != "")
$posted = $matches[1];
+ // message_id is never used, do we still need it?
$message_id = "";
preg_match("/message_id='(.*?)'/ism", $attributes, $matches);
if ($matches[1] != "")
$message_id = $matches[1];
- // FIXME - this should really be a wall-item-ago so it will get updated on the client
+ /** @FIXME - this should really be a wall-item-ago so it will get updated on the client */
$reldate = (($posted) ? relative_date($posted) : '');
$headline = '<div class="shared_container"> <div class="shared_header">';
@@ -230,24 +248,30 @@ function bb_ShareAttributes($match) {
$text = $headline . '<div class="reshared-content">' . trim($match[2]) . '</div></div>';
- return($text);
+ return $text;
}
function bb_location($match) {
// not yet implemented
}
-function bbiframe($match) {
+/**
+ * @brief Returns an iframe from $match[1].
+ *
+ * @param array $match
+ * @return string HTML iframe with content of $match[1]
+ */
+function bb_iframe($match) {
$a = get_app();
-
- $sandbox = ((strpos($match[1],get_app()->get_hostname())) ? ' sandbox="allow-scripts" ' : '');
+ $sandbox = ((strpos($match[1], $a->get_hostname())) ? ' sandbox="allow-scripts" ' : '');
return '<iframe ' . $sandbox . ' src="' . $match[1] . '" width="' . $a->videowidth . '" height="' . $a->videoheight . '"><a href="' . $match[1] . '">' . $match[1] . '</a></iframe>';
}
function bb_ShareAttributesSimple($match) {
+ $matches = array();
$attributes = $match[1];
$author = "";
@@ -268,16 +292,16 @@ function bb_ShareAttributesSimple($match) {
if ($matches[1] != "")
$profile = $matches[1];
- $text = "<br />".html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8').' <a href="'.$profile.'">'.$author."</a>: div class=\"reshared-content\">" .$match[2]."</div>";
+ $text = html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8') . ' <a href="' . $profile . '">' . $author . '</a>: div class="reshared-content">' . $match[2] . '</div>';
return($text);
}
function rpost_callback($match) {
if ($match[2]) {
- return str_replace($match[0],get_rpost_path(get_app()->get_observer()) . '&title=' . urlencode($match[2]) . '&body=' . urlencode($match[3]),$match[0]);
+ return str_replace($match[0], get_rpost_path(get_app()->get_observer()) . '&title=' . urlencode($match[2]) . '&body=' . urlencode($match[3]), $match[0]);
} else {
- return str_replace($match[0],get_rpost_path(get_app()->get_observer()) . '&body=' . urlencode($match[3]),$match[0]);
+ return str_replace($match[0], get_rpost_path(get_app()->get_observer()) . '&body=' . urlencode($match[3]), $match[0]);
}
}
@@ -291,46 +315,59 @@ function bb_map_location($match) {
return str_replace($match[0],'<div class="map" >' . generate_named_map($match[1]) . '</div>', $match[0]);
}
+function bb_opentag($match) {
+ $rnd = mt_rand();
+ return "<br /><div onclick=\"openClose('opendiv-" . $rnd . "');return false;\" class=\"fakelink\">" . $match[1] . "</div><div id=\"opendiv-" . $rnd . "\" style=\"display: none;\">" . $match[2] . "</div>";
+}
+/**
+ * @brief Sanitize style properties from BBCode to HTML.
+ *
+ * @param array $input
+ * @return string A HTML span tag with the styles.
+ */
function bb_sanitize_style($input) {
- //whitelist property limits (0 = no limitation)
- $w = array( // color properties
- "color" => 0,
- "background-color" => 0,
+ // whitelist array: property => limits (0 = no limitation)
+ $w = array(
+ // color properties
+ "color" => 0,
+ "background-color" => 0,
// box properties
- "padding" => array("px"=>100, "%"=>0, "em"=>2, "ex"=>2, "mm"=>0, "cm"=>0, "in"=>0, "pt"=>0, "pc"=>0),
- "margin" => array("px"=>100, "%"=>0, "em"=>2, "ex"=>2, "mm"=>0, "cm"=>0, "in"=>0, "pt"=>0, "pc"=>0),
- "border" => array("px"=>100, "%"=>0, "em"=>2, "ex"=>2, "mm"=>0, "cm"=>0, "in"=>0, "pt"=>0, "pc"=>0),
- "float" => 0,
- "clear" => 0,
+ "padding" => array("px"=>100, "%"=>0, "em"=>2, "ex"=>2, "mm"=>0, "cm"=>0, "in"=>0, "pt"=>0, "pc"=>0),
+ "margin" => array("px"=>100, "%"=>0, "em"=>2, "ex"=>2, "mm"=>0, "cm"=>0, "in"=>0, "pt"=>0, "pc"=>0),
+ "border" => array("px"=>100, "%"=>0, "em"=>2, "ex"=>2, "mm"=>0, "cm"=>0, "in"=>0, "pt"=>0, "pc"=>0),
+ "float" => 0,
+ "clear" => 0,
// text properties
- "text-decoration" => 0,
-
+ "text-decoration" => 0,
);
+ $css = array();
$css_string = $input[1];
- $a = explode(';',$css_string);
+ $a = explode(';', $css_string);
+
foreach($a as $parts){
list($k, $v) = explode(':', $parts);
- $css[ trim($k) ] = trim($v);
+ $css[ trim($k) ] = trim($v);
}
// sanitize properties
$b = array_merge(array_diff_key($css, $w), array_diff_key($w, $css));
$css = array_diff_key($css, $b);
+ $css_string_san = '';
- foreach($css as $key => $value) {
- if($w[$key] != null) {
- foreach($w[$key] as $limit_key => $limit_value) {
+ foreach ($css as $key => $value) {
+ if ($w[$key] != null) {
+ foreach ($w[$key] as $limit_key => $limit_value) {
//sanitize values
- if(strpos($value, $limit_key)) {
+ if (strpos($value, $limit_key)) {
$value = preg_replace_callback(
"/(\S.*?)$limit_key/ism",
function($match) use($limit_value, $limit_key) {
- if($match[1] > $limit_value) {
+ if ($match[1] > $limit_value) {
return $limit_value . $limit_key;
} else {
- return $match[1] . $limit_key;
+ return $match[1] . $limit_key;
}
},
$value
@@ -340,19 +377,20 @@ function bb_sanitize_style($input) {
}
$css_string_san .= $key . ":" . $value ."; ";
}
- return "<span style=\"" . $css_string_san . "\">" . $input[2] . "</span>";
+
+ return '<span style="' . $css_string_san . '">' . $input[2] . '</span>';
}
// BBcode 2 HTML was written by WAY2WEB.net
// extended to work with Mistpark/Friendica/Red - Mike Macgirvin
-function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
+function bbcode($Text, $preserve_nl = false, $tryoembed = true) {
$a = get_app();
- // Move all spaces out of the tags
+ // Move all spaces out of the tags
// ....Uhm why?
- // This is basically doing a trim() on the stuff in between tags, but it messes up
+ // This is basically doing a trim() on the stuff in between tags, but it messes up
// carefully crafted bbcode and especially other pre-formatted code.
// Commenting out until we come up with a use case where it's needed. Then let's try and
// special case rather than a heavy-handed approach like this.
@@ -382,7 +420,11 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// process [observer] tags before we do anything else because we might
// be stripping away stuff that then doesn't need to be worked on anymore
- $observer = $a->get_observer();
+ if(get_config('system','item_cache'))
+ $observer = false;
+ else
+ $observer = $a->get_observer();
+
if ((strpos($Text,'[/observer]') !== false) || (strpos($Text,'[/rpost]') !== false)) {
if ($observer) {
$Text = preg_replace("/\[observer\=1\](.*?)\[\/observer\]/ism", '$1', $Text);
@@ -393,9 +435,13 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = preg_replace("/\[observer\=0\](.*?)\[\/observer\]/ism", '$1', $Text);
$Text = preg_replace("/\[rpost(=.*?)?\](.*?)\[\/rpost\]/ism", '', $Text);
}
- }
+ }
+
+ if(get_config('system','item_cache'))
+ $channel = false;
+ else
+ $channel = $a->get_channel();
- $channel = $a->get_channel();
if (strpos($Text,'[/channel]') !== false) {
if ($channel) {
$Text = preg_replace("/\[channel\=1\](.*?)\[\/channel\]/ism", '$1', $Text);
@@ -404,7 +450,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = preg_replace("/\[channel\=1\].*?\[\/channel\]/ism", '', $Text);
$Text = preg_replace("/\[channel\=0\](.*?)\[\/channel\]/ism", '$1', $Text);
}
- }
+ }
$x = bb_extract_images($Text);
@@ -413,14 +459,14 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = str_replace(array('[baseurl]','[sitename]'),array(z_root(),get_config('system','sitename')),$Text);
-
+
// Replace any html brackets with HTML Entities to prevent executing HTML or script
// Don't use strip_tags here because it breaks [url] search by replacing & with amp
$Text = str_replace("<", "&lt;", $Text);
$Text = str_replace(">", "&gt;", $Text);
-
+
// Convert new line chars to html <br /> tags
// nlbr seems to be hopelessly messed up
@@ -428,14 +474,14 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// We'll emulate it.
- $Text = str_replace("\r\n","\n", $Text);
- $Text = str_replace(array("\r","\n"), array('<br />','<br />'), $Text);
+ $Text = str_replace("\r\n", "\n", $Text);
+ $Text = str_replace(array("\r", "\n"), array('<br />', '<br />'), $Text);
- if($preserve_nl)
- $Text = str_replace(array("\n","\r"), array('',''),$Text);
+ if ($preserve_nl)
+ $Text = str_replace(array("\n", "\r"), array('', ''), $Text);
- $Text = str_replace(array("\t"," "),array("&nbsp;&nbsp;&nbsp;&nbsp;","&nbsp;&nbsp;"),$Text);
+ $Text = str_replace(array("\t", " "), array("&nbsp;&nbsp;&nbsp;&nbsp;", "&nbsp;&nbsp;"), $Text);
// Set up the parameters for a URL search string
$URLSearchString = "^\[\]";
@@ -452,21 +498,19 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = str_replace('[observer.url]',$observer['xchan_url'], $Text);
$Text = str_replace('[observer.name]',$s1 . $observer['xchan_name'] . $s2, $Text);
$Text = str_replace('[observer.address]',$s1 . $observer['xchan_addr'] . $s2, $Text);
- $Text = str_replace('[observer.webname]',$s1 . substr($observer['xchan_addr'],0,strpos($observer['xchan_addr'],'@')) . $s2, $Text);
- $Text = str_replace('[observer.photo]',$s1 . '[zmg]'.$observer['xchan_photo_l'].'[/zmg]' . $s2, $Text);
+ $Text = str_replace('[observer.webname]', substr($observer['xchan_addr'],0,strpos($observer['xchan_addr'],'@')), $Text);
+ $Text = str_replace('[observer.photo]',$s1 . '[zmg]'.$observer['xchan_photo_l'].'[/zmg]' . $s2, $Text);
} else {
$Text = str_replace('[observer.baseurl]', '', $Text);
$Text = str_replace('[observer.url]','', $Text);
$Text = str_replace('[observer.name]','', $Text);
$Text = str_replace('[observer.address]','', $Text);
$Text = str_replace('[observer.webname]','',$Text);
- $Text = str_replace('[observer.photo]','', $Text);
+ $Text = str_replace('[observer.photo]','', $Text);
}
-
-
// Perform URL Search
$urlchars = '[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,\@]';
@@ -476,32 +520,31 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
}
if (strpos($Text,'[/qr]') !== false) {
- $Text = preg_replace_callback("/\[qr\](.*?)\[\/qr\]/ism","bb_qr",$Text);
+ $Text = preg_replace_callback("/\[qr\](.*?)\[\/qr\]/ism", 'bb_qr', $Text);
}
-
if (strpos($Text,'[/share]') !== false) {
- $Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism","bb_ShareAttributes",$Text);
+ $Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism", 'bb_ShareAttributes', $Text);
}
if($tryoembed) {
if (strpos($Text,'[/url]') !== false) {
- $Text = preg_replace_callback("/\[url\]([$URLSearchString]*)\[\/url\]/ism",'tryoembed',$Text);
+ $Text = preg_replace_callback("/\[url\]([$URLSearchString]*)\[\/url\]/ism", 'tryoembed', $Text);
}
- }
+ }
if (strpos($Text,'[/url]') !== false) {
- $Text = preg_replace("/\#\^\[url\]([$URLSearchString]*)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" >$1</a>', $Text);
+ $Text = preg_replace("/\#\^\[url\]([$URLSearchString]*)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" >$1</a>', $Text);
$Text = preg_replace("/\#\^\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" >$2</a>', $Text);
$Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '<a href="$1" >$1</a>', $Text);
$Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<a href="$1" >$2</a>', $Text);
- }
+ }
if (strpos($Text,'[/zrl]') !== false) {
- $Text = preg_replace("/\#\^\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" >$1</a>', $Text);
- $Text = preg_replace("/\#\^\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" >$2</a>', $Text);
+ $Text = preg_replace("/\#\^\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" >$1</a>', $Text);
+ $Text = preg_replace("/\#\^\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" >$2</a>', $Text);
$Text = preg_replace("/\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<a class="zrl" href="$1" >$1</a>', $Text);
$Text = preg_replace("/\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<a class="zrl" href="$1" >$2</a>', $Text);
- }
+ }
// Perform MAIL Search
- if (strpos($Text,'[/mail]') !== false) {
+ if (strpos($Text,'[/mail]') !== false) {
$Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1">$1</a>', $Text);
$Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '<a href="mailto:$1">$2</a>', $Text);
}
@@ -509,54 +552,52 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// leave open the posibility of [map=something]
// this is replaced in prepare_body() which has knowledge of the item location
- if (strpos($Text,'[/map]') !== false) {
- $Text = preg_replace_callback("/\[map\](.*?)\[\/map\]/ism",'bb_map_location',$Text);
+ if (strpos($Text,'[/map]') !== false) {
+ $Text = preg_replace_callback("/\[map\](.*?)\[\/map\]/ism", 'bb_map_location', $Text);
}
-
- if (strpos($Text,'[map=') !== false) {
- $Text = preg_replace_callback("/\[map=(.*?)\]/ism",'bb_map_coords',$Text);
+ if (strpos($Text,'[map=') !== false) {
+ $Text = preg_replace_callback("/\[map=(.*?)\]/ism", 'bb_map_coords', $Text);
}
-
- if (strpos($Text,'[map]') !== false) {
+ if (strpos($Text,'[map]') !== false) {
$Text = preg_replace("/\[map\]/", '<div class="map"></div>', $Text);
}
// Check for bold text
- if (strpos($Text,'[b]') !== false) {
- $Text = preg_replace("(\[b\](.*?)\[\/b\])ism",'<strong>$1</strong>',$Text);
+ if (strpos($Text,'[b]') !== false) {
+ $Text = preg_replace("(\[b\](.*?)\[\/b\])ism", '<strong>$1</strong>', $Text);
}
// Check for Italics text
- if (strpos($Text,'[i]') !== false) {
- $Text = preg_replace("(\[i\](.*?)\[\/i\])ism",'<em>$1</em>',$Text);
+ if (strpos($Text,'[i]') !== false) {
+ $Text = preg_replace("(\[i\](.*?)\[\/i\])ism", '<em>$1</em>', $Text);
}
// Check for Underline text
- if (strpos($Text,'[u]') !== false) {
- $Text = preg_replace("(\[u\](.*?)\[\/u\])ism",'<u>$1</u>',$Text);
+ if (strpos($Text,'[u]') !== false) {
+ $Text = preg_replace("(\[u\](.*?)\[\/u\])ism", '<u>$1</u>', $Text);
}
// Check for strike-through text
if (strpos($Text,'[s]') !== false) {
- $Text = preg_replace("(\[s\](.*?)\[\/s\])ism",'<strike>$1</strike>',$Text);
+ $Text = preg_replace("(\[s\](.*?)\[\/s\])ism", '<strike>$1</strike>', $Text);
}
// Check for over-line text
- if (strpos($Text,'[o]') !== false) {
- $Text = preg_replace("(\[o\](.*?)\[\/o\])ism",'<span class="overline">$1</span>',$Text);
+ if (strpos($Text,'[o]') !== false) {
+ $Text = preg_replace("(\[o\](.*?)\[\/o\])ism", '<span class="overline">$1</span>', $Text);
}
- if (strpos($Text,'[sup]') !== false) {
- $Text = preg_replace("(\[sup\](.*?)\[\/sup\])ism",'<sup>$1</sup>',$Text);
+ if (strpos($Text,'[sup]') !== false) {
+ $Text = preg_replace("(\[sup\](.*?)\[\/sup\])ism", '<sup>$1</sup>', $Text);
}
- if (strpos($Text,'[sub]') !== false) {
- $Text = preg_replace("(\[sub\](.*?)\[\/sub\])ism",'<sub>$1</sub>',$Text);
+ if (strpos($Text,'[sub]') !== false) {
+ $Text = preg_replace("(\[sub\](.*?)\[\/sub\])ism", '<sub>$1</sub>', $Text);
}
-
+
// Check for colored text
- if (strpos($Text,'[/color]') !== false) {
- $Text = preg_replace("(\[color=(.*?)\](.*?)\[\/color\])ism","<span style=\"color: $1;\">$2</span>",$Text);
+ if (strpos($Text,'[/color]') !== false) {
+ $Text = preg_replace("(\[color=(.*?)\](.*?)\[\/color\])ism", "<span style=\"color: $1;\">$2</span>", $Text);
}
// Check for sized text
- // [size=50] --> font-size: 50px (with the unit).
- if (strpos($Text,'[/size]') !== false) {
- $Text = preg_replace("(\[size=(\d*?)\](.*?)\[\/size\])ism","<span style=\"font-size: $1px;\">$2</span>",$Text);
- $Text = preg_replace("(\[size=(.*?)\](.*?)\[\/size\])ism","<span style=\"font-size: $1;\">$2</span>",$Text);
+ // [size=50] --> font-size: 50px (with the unit).
+ if (strpos($Text,'[/size]') !== false) {
+ $Text = preg_replace("(\[size=(\d*?)\](.*?)\[\/size\])ism", "<span style=\"font-size: $1px;\">$2</span>", $Text);
+ $Text = preg_replace("(\[size=(.*?)\](.*?)\[\/size\])ism", "<span style=\"font-size: $1;\">$2</span>", $Text);
}
// Check for h1
if (strpos($Text,'[h1]') !== false) {
@@ -584,16 +625,15 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
}
// Check for table of content without params
if (strpos($Text,'[toc]') !== false) {
- $Text = preg_replace("/\[toc\]/ism",'<ul id="toc"></ul>',$Text);
+ $Text = preg_replace("/\[toc\]/ism",'<ul id="toc"></ul>',$Text);
}
// Check for table of content with params
if (strpos($Text,'[toc') !== false) {
$Text = preg_replace("/\[toc([^\]]+?)\]/ism",'<ul$1></ul>',$Text);
-
}
// Check for centered text
- if (strpos($Text,'[/center]') !== false) {
- $Text = preg_replace("(\[center\](.*?)\[\/center\])ism","<div style=\"text-align:center;\">$1</div>",$Text);
+ if (strpos($Text,'[/center]') !== false) {
+ $Text = preg_replace("(\[center\](.*?)\[\/center\])ism", "<div style=\"text-align:center;\">$1</div>", $Text);
}
// Check for list text
$Text = str_replace("[*]", "<li>", $Text);
@@ -602,52 +642,54 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$endlessloop = 0;
while ((((strpos($Text, "[/list]") !== false) && (strpos($Text, "[list") !== false)) ||
- ((strpos($Text, "[/ol]") !== false) && (strpos($Text, "[ol]") !== false)) ||
- ((strpos($Text, "[/ul]") !== false) && (strpos($Text, "[ul]") !== false)) ||
- ((strpos($Text, "[/li]") !== false) && (strpos($Text, "[li]") !== false))) && (++$endlessloop < 20)) {
- $Text = preg_replace("/\[list\](.*?)\[\/list\]/ism", '<ul class="listbullet" style="list-style-type: circle;">$1</ul>' ,$Text);
- $Text = preg_replace("/\[list=\](.*?)\[\/list\]/ism", '<ul class="listnone" style="list-style-type: none;">$1</ul>' ,$Text);
- $Text = preg_replace("/\[list=1\](.*?)\[\/list\]/ism", '<ul class="listdecimal" style="list-style-type: decimal;">$1</ul>' ,$Text);
- $Text = preg_replace("/\[list=((?-i)i)\](.*?)\[\/list\]/ism",'<ul class="listlowerroman" style="list-style-type: lower-roman;">$2</ul>' ,$Text);
- $Text = preg_replace("/\[list=((?-i)I)\](.*?)\[\/list\]/ism", '<ul class="listupperroman" style="list-style-type: upper-roman;">$2</ul>' ,$Text);
- $Text = preg_replace("/\[list=((?-i)a)\](.*?)\[\/list\]/ism", '<ul class="listloweralpha" style="list-style-type: lower-alpha;">$2</ul>' ,$Text);
- $Text = preg_replace("/\[list=((?-i)A)\](.*?)\[\/list\]/ism", '<ul class="listupperalpha" style="list-style-type: upper-alpha;">$2</ul>' ,$Text);
- $Text = preg_replace("/\[ul\](.*?)\[\/ul\]/ism", '<ul class="listbullet" style="list-style-type: circle;">$1</ul>' ,$Text);
- $Text = preg_replace("/\[ol\](.*?)\[\/ol\]/ism", '<ul class="listdecimal" style="list-style-type: decimal;">$1</ul>' ,$Text);
- $Text = preg_replace("/\[li\](.*?)\[\/li\]/ism", '<li>$1</li>' ,$Text);
- }
- if (strpos($Text,'[th]') !== false) {
- $Text = preg_replace("/\[th\](.*?)\[\/th\]/sm", '<th>$1</th>' ,$Text);
+ ((strpos($Text, "[/ol]") !== false) && (strpos($Text, "[ol]") !== false)) ||
+ ((strpos($Text, "[/ul]") !== false) && (strpos($Text, "[ul]") !== false)) ||
+ ((strpos($Text, "[/li]") !== false) && (strpos($Text, "[li]") !== false))) && (++$endlessloop < 20)) {
+ $Text = preg_replace("/\[list\](.*?)\[\/list\]/ism", '<ul class="listbullet" style="list-style-type: circle;">$1</ul>', $Text);
+ $Text = preg_replace("/\[list=\](.*?)\[\/list\]/ism", '<ul class="listnone" style="list-style-type: none;">$1</ul>', $Text);
+ $Text = preg_replace("/\[list=1\](.*?)\[\/list\]/ism", '<ul class="listdecimal" style="list-style-type: decimal;">$1</ul>', $Text);
+ $Text = preg_replace("/\[list=((?-i)i)\](.*?)\[\/list\]/ism",'<ul class="listlowerroman" style="list-style-type: lower-roman;">$2</ul>', $Text);
+ $Text = preg_replace("/\[list=((?-i)I)\](.*?)\[\/list\]/ism", '<ul class="listupperroman" style="list-style-type: upper-roman;">$2</ul>', $Text);
+ $Text = preg_replace("/\[list=((?-i)a)\](.*?)\[\/list\]/ism", '<ul class="listloweralpha" style="list-style-type: lower-alpha;">$2</ul>', $Text);
+ $Text = preg_replace("/\[list=((?-i)A)\](.*?)\[\/list\]/ism", '<ul class="listupperalpha" style="list-style-type: upper-alpha;">$2</ul>', $Text);
+ $Text = preg_replace("/\[ul\](.*?)\[\/ul\]/ism", '<ul class="listbullet" style="list-style-type: circle;">$1</ul>', $Text);
+ $Text = preg_replace("/\[ol\](.*?)\[\/ol\]/ism", '<ul class="listdecimal" style="list-style-type: decimal;">$1</ul>', $Text);
+ $Text = preg_replace("/\[li\](.*?)\[\/li\]/ism", '<li>$1</li>', $Text);
+ }
+ if (strpos($Text,'[th]') !== false) {
+ $Text = preg_replace("/\[th\](.*?)\[\/th\]/sm", '<th>$1</th>', $Text);
}
if (strpos($Text,'[td]') !== false) {
- $Text = preg_replace("/\[td\](.*?)\[\/td\]/sm", '<td>$1</td>' ,$Text);
+ $Text = preg_replace("/\[td\](.*?)\[\/td\]/sm", '<td>$1</td>', $Text);
}
- if (strpos($Text,'[tr]') !== false) {
- $Text = preg_replace("/\[tr\](.*?)\[\/tr\]/sm", '<tr>$1</tr>' ,$Text);
+ if (strpos($Text,'[tr]') !== false) {
+ $Text = preg_replace("/\[tr\](.*?)\[\/tr\]/sm", '<tr>$1</tr>', $Text);
}
- if (strpos($Text,'[/table]') !== false) {
- $Text = preg_replace("/\[table\](.*?)\[\/table\]/sm", '<table>$1</table>' ,$Text);
- $Text = preg_replace("/\[table border=1\](.*?)\[\/table\]/sm", '<table border="1" >$1</table>' ,$Text);
- $Text = preg_replace("/\[table border=0\](.*?)\[\/table\]/sm", '<table border="0" >$1</table>' ,$Text);
+ if (strpos($Text,'[/table]') !== false) {
+ $Text = preg_replace("/\[table\](.*?)\[\/table\]/sm", '<table>$1</table>', $Text);
+ $Text = preg_replace("/\[table border=1\](.*?)\[\/table\]/sm", '<table border="1" >$1</table>', $Text);
+ $Text = preg_replace("/\[table border=0\](.*?)\[\/table\]/sm", '<table border="0" >$1</table>', $Text);
}
- $Text = str_replace('</tr><br /><tr>',"</tr>\n<tr>",$Text);
- $Text = str_replace('[hr]','<hr />', $Text);
+ $Text = str_replace('</tr><br /><tr>', "</tr>\n<tr>", $Text);
+ $Text = str_replace('[hr]', '<hr />', $Text);
// This is actually executed in prepare_body()
- $Text = str_replace('[nosmile]','',$Text);
+ $Text = str_replace('[nosmile]', '', $Text);
// Check for font change text
- if (strpos($Text,'[/font]') !== false) {
- $Text = preg_replace("/\[font=(.*?)\](.*?)\[\/font\]/sm","<span style=\"font-family: $1;\">$2</span>",$Text);
+ if (strpos($Text,'[/font]') !== false) {
+ $Text = preg_replace("/\[font=(.*?)\](.*?)\[\/font\]/sm", "<span style=\"font-family: $1;\">$2</span>", $Text);
}
- // Declare the format for [code] layout
+ // Declare the format for [code] layout
$CodeLayout = '<code>$1</code>';
+
// Check for [code] text
- if (strpos($Text,'[code]') !== false) {
- $Text = preg_replace("/\[code\](.*?)\[\/code\]/ism","$CodeLayout", $Text);
+ if (strpos($Text,'[code]') !== false) {
+ $Text = preg_replace("/\[code\](.*?)\[\/code\]/ism", "$CodeLayout", $Text);
}
+
// Declare the format for [spoiler] layout
$SpoilerLayout = '<blockquote class="spoiler">$1</blockquote>';
@@ -655,7 +697,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// handle nested quotes
$endlessloop = 0;
while ((strpos($Text, "[/spoiler]") !== false) and (strpos($Text, "[spoiler]") !== false) and (++$endlessloop < 20))
- $Text = preg_replace("/\[spoiler\](.*?)\[\/spoiler\]/ism","$SpoilerLayout", $Text);
+ $Text = preg_replace("/\[spoiler\](.*?)\[\/spoiler\]/ism", "$SpoilerLayout", $Text);
// Check for [spoiler=Author] text
@@ -671,14 +713,10 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$endlessloop = 0;
while ((strpos($Text, "[/open]")!== false) and (strpos($Text, "[open=") !== false) and (++$endlessloop < 20)) {
- $rnd = mt_rand();
- $Text = preg_replace("/\[open=(.*?)\](.*?)\[\/open\]/ism",
- "<br /><div onclick=\"openClose('opendiv-" . $rnd . "');return false;\" class=\"fakelink\">$1</div><div id=\"opendiv-" . $rnd . "\" style=\"display: none;\">$2</div>",
- $Text);
+ $Text = preg_replace_callback("/\[open=(.*?)\](.*?)\[\/open\]/ism", 'bb_opentag', $Text);
}
-
// Declare the format for [quote] layout
$QuoteLayout = '<blockquote>$1</blockquote>';
@@ -686,7 +724,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// handle nested quotes
$endlessloop = 0;
while ((strpos($Text, "[/quote]") !== false) and (strpos($Text, "[quote]") !== false) and (++$endlessloop < 20))
- $Text = preg_replace("/\[quote\](.*?)\[\/quote\]/ism","$QuoteLayout", $Text);
+ $Text = preg_replace("/\[quote\](.*?)\[\/quote\]/ism", "$QuoteLayout", $Text);
// Check for [quote=Author] text
@@ -750,9 +788,9 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
}
// crypt
- if (strpos($Text,'[/crypt]') !== false) {
+ if (strpos($Text,'[/crypt]') !== false) {
$x = random_string();
- $Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br/><div id="' . $x . '"><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" onclick="red_decrypt(\'rot13\',\'\',\'$1\',\'#' . $x . '\');" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br /></div>', $Text);
+ $Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br /><div id="' . $x . '"><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" onclick="red_decrypt(\'rot13\',\'\',\'$1\',\'#' . $x . '\');" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br /></div>', $Text);
$Text = preg_replace_callback("/\[crypt (.*?)\](.*?)\[\/crypt\]/ism", 'bb_parse_crypt', $Text);
}
@@ -764,32 +802,30 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = preg_replace_callback("/\[element\](.*?)\[\/element\]/ism",'bb_parse_element', $Text);
}
-
// html5 video and audio
- if (strpos($Text,'[/video]') !== false) {
+ if (strpos($Text,'[/video]') !== false) {
$Text = preg_replace_callback("/\[video\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mpeg|mpg))\[\/video\]/ism", 'tryzrlvideo', $Text);
}
- if (strpos($Text,'[/audio]') !== false) {
+ if (strpos($Text,'[/audio]') !== false) {
$Text = preg_replace_callback("/\[audio\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mp3|opus))\[\/audio\]/ism", 'tryzrlaudio', $Text);
}
- if (strpos($Text,'[/zvideo]') !== false) {
+ if (strpos($Text,'[/zvideo]') !== false) {
$Text = preg_replace_callback("/\[zvideo\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mpeg|mpg))\[\/zvideo\]/ism", 'tryzrlvideo', $Text);
}
- if (strpos($Text,'[/zaudio]') !== false) {
+ if (strpos($Text,'[/zaudio]') !== false) {
$Text = preg_replace_callback("/\[zaudio\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mp3|opus))\[\/zaudio\]/ism", 'tryzrlaudio', $Text);
}
// Try to Oembed
if ($tryoembed) {
-
- if (strpos($Text,'[/video]') !== false) {
+ if (strpos($Text,'[/video]') !== false) {
$Text = preg_replace_callback("/\[video\](.*?)\[\/video\]/ism", 'tryoembed', $Text);
}
if (strpos($Text,'[/audio]') !== false) {
$Text = preg_replace_callback("/\[audio\](.*?)\[\/audio\]/ism", 'tryoembed', $Text);
}
- if (strpos($Text,'[/zvideo]') !== false) {
+ if (strpos($Text,'[/zvideo]') !== false) {
$Text = preg_replace_callback("/\[zvideo\](.*?)\[\/zvideo\]/ism", 'tryoembed', $Text);
}
if (strpos($Text,'[/zaudio]') !== false) {
@@ -812,43 +848,40 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = preg_replace("/\[zaudio\](.*?)\[\/zaudio\]/", '<a class="zid" href="$1">$1</a>', $Text);
}
-
-
-
if ($tryoembed){
if (strpos($Text,'[/iframe]') !== false) {
- $Text = preg_replace_callback("/\[iframe\](.*?)\[\/iframe\]/ism", 'bbiframe', $Text);
+ $Text = preg_replace_callback("/\[iframe\](.*?)\[\/iframe\]/ism", 'bb_iframe', $Text);
}
- }
- else {
+ } else {
if (strpos($Text,'[/iframe]') !== false) {
$Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/ism", '<a href="$1">$1</a>', $Text);
}
}
+
// Youtube extensions
if (strpos($Text,'[youtube]') !== false) {
if ($tryoembed) {
- $Text = preg_replace_callback("/\[youtube\](https?:\/\/www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
- $Text = preg_replace_callback("/\[youtube\](www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
- $Text = preg_replace_callback("/\[youtube\](https?:\/\/youtu.be\/.*?)\[\/youtube\]/ism",'tryoembed',$Text);
+ $Text = preg_replace_callback("/\[youtube\](https?:\/\/www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
+ $Text = preg_replace_callback("/\[youtube\](www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
+ $Text = preg_replace_callback("/\[youtube\](https?:\/\/youtu.be\/.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
}
- $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
- $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/embed\/(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
- $Text = preg_replace("/\[youtube\]https?:\/\/youtu.be\/(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
+ $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/youtube\]/ism", '[youtube]$1[/youtube]', $Text);
+ $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/embed\/(.*?)\[\/youtube\]/ism", '[youtube]$1[/youtube]', $Text);
+ $Text = preg_replace("/\[youtube\]https?:\/\/youtu.be\/(.*?)\[\/youtube\]/ism", '[youtube]$1[/youtube]', $Text);
if ($tryoembed)
- $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", '<iframe width="' . $a->videowidth . '" height="' . $a->videoheight . '" src="http://www.youtube.com/embed/$1" frameborder="0" ></iframe>', $Text);
- else
+ $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", '<iframe width="' . $a->videowidth . '" height="' . $a->videoheight . '" src="http://www.youtube.com/embed/$1" frameborder="0"></iframe>', $Text);
+ else
$Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", "http://www.youtube.com/watch?v=$1", $Text);
}
if (strpos($Text,'[vimeo]') !== false) {
if ($tryoembed) {
- $Text = preg_replace_callback("/\[vimeo\](https?:\/\/player.vimeo.com\/video\/[0-9]+).*?\[\/vimeo\]/ism",'tryoembed',$Text);
- $Text = preg_replace_callback("/\[vimeo\](https?:\/\/vimeo.com\/[0-9]+).*?\[\/vimeo\]/ism",'tryoembed',$Text);
+ $Text = preg_replace_callback("/\[vimeo\](https?:\/\/player.vimeo.com\/video\/[0-9]+).*?\[\/vimeo\]/ism", 'tryoembed', $Text);
+ $Text = preg_replace_callback("/\[vimeo\](https?:\/\/vimeo.com\/[0-9]+).*?\[\/vimeo\]/ism", 'tryoembed', $Text);
}
- $Text = preg_replace("/\[vimeo\]https?:\/\/player.vimeo.com\/video\/([0-9]+)(.*?)\[\/vimeo\]/ism",'[vimeo]$1[/vimeo]',$Text);
- $Text = preg_replace("/\[vimeo\]https?:\/\/vimeo.com\/([0-9]+)(.*?)\[\/vimeo\]/ism",'[vimeo]$1[/vimeo]',$Text);
+ $Text = preg_replace("/\[vimeo\]https?:\/\/player.vimeo.com\/video\/([0-9]+)(.*?)\[\/vimeo\]/ism", '[vimeo]$1[/vimeo]', $Text);
+ $Text = preg_replace("/\[vimeo\]https?:\/\/vimeo.com\/([0-9]+)(.*?)\[\/vimeo\]/ism", '[vimeo]$1[/vimeo]', $Text);
if ($tryoembed)
$Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism", '<iframe width="' . $a->videowidth . '" height="' . $a->videoheight . '" src="http://player.vimeo.com/video/$1" frameborder="0" ></iframe>', $Text);
@@ -867,7 +900,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// Summary (e.g. title) is required, earlier revisions only required description (in addition to
// start which is always required). Allow desc with a missing summary for compatibility.
- if((x($ev,'desc') || x($ev,'summary')) && x($ev,'start')) {
+ if ((x($ev,'desc') || x($ev,'summary')) && x($ev,'start')) {
$sub = format_event_html($ev);
$Text = preg_replace("/\[event\-summary\](.*?)\[\/event\-summary\]/ism",'',$Text);
@@ -881,26 +914,25 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// Unhide all [noparse] contained bbtags unspacefying them
// and triming the [noparse] tag.
if (strpos($Text,'[noparse]') !== false) {
- $Text = preg_replace_callback("/\[noparse\](.*?)\[\/noparse\]/ism", 'bb_unspacefy_and_trim',$Text);
+ $Text = preg_replace_callback("/\[noparse\](.*?)\[\/noparse\]/ism", 'bb_unspacefy_and_trim', $Text);
}
if (strpos($Text,'[nobb]') !== false) {
- $Text = preg_replace_callback("/\[nobb\](.*?)\[\/nobb\]/ism", 'bb_unspacefy_and_trim',$Text);
+ $Text = preg_replace_callback("/\[nobb\](.*?)\[\/nobb\]/ism", 'bb_unspacefy_and_trim', $Text);
}
if (strpos($Text,'[pre]') !== false) {
- $Text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'bb_unspacefy_and_trim',$Text);
+ $Text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'bb_unspacefy_and_trim', $Text);
}
- $Text = preg_replace('/\[\&amp\;([#a-z0-9]+)\;\]/','&$1;',$Text);
+ $Text = preg_replace('/\[\&amp\;([#a-z0-9]+)\;\]/', '&$1;', $Text);
// fix any escaped ampersands that may have been converted into links
- $Text = preg_replace("/\<(.*?)(src|href)=(.*?)\&amp\;(.*?)\>/ism",'<$1$2=$3&$4>',$Text);
+ $Text = preg_replace("/\<(.*?)(src|href)=(.*?)\&amp\;(.*?)\>/ism", '<$1$2=$3&$4>', $Text);
- $Text = preg_replace("/\<(.*?)(src|href)=\"[^zhfm#](.*?)\>/ism",'<$1$2="">',$Text);
+ $Text = preg_replace("/\<(.*?)(src|href)=\"[^zhfm#](.*?)\>/ism", '<$1$2="">', $Text);
- $Text = bb_replace_images($Text,$saved_images);
+ $Text = bb_replace_images($Text, $saved_images);
- call_hooks('bbcode',$Text);
+ call_hooks('bbcode', $Text);
return $Text;
}
-
diff --git a/include/comanche.php b/include/comanche.php
index 62bfd0ddc..c1a98ed6c 100644
--- a/include/comanche.php
+++ b/include/comanche.php
@@ -133,7 +133,19 @@ function comanche_get_channel_id() {
return $channel_id;
}
-function comanche_block($name) {
+function comanche_block($s) {
+ $var = array();
+ $matches = array();
+ $name = $s;
+
+ $cnt = preg_match_all("/\[var=(.*?)\](.*?)\[\/var\]/ism", $s, $matches, PREG_SET_ORDER);
+ if($cnt) {
+ foreach($matches as $mtch) {
+ $var[$mtch[1]] = $mtch[2];
+ $name = str_replace($mtch[0], '', $name);
+ }
+ }
+
$o = '';
$channel_id = comanche_get_channel_id();
@@ -143,12 +155,12 @@ function comanche_block($name) {
dbesc($name)
);
if($r) {
- $o = '<div class="widget bblock">';
+ $o .= (($var['wrap'] == 'none') ? '' : '<div class="bblock widget">');
if($r[0]['title'])
$o .= '<h3>' . $r[0]['title'] . '</h3>';
$o .= prepare_text($r[0]['body'], $r[0]['mimetype']);
- $o .= '</div>';
+ $o .= (($var['wrap'] == 'none') ? '' : '</div>');
}
}
diff --git a/include/conversation.php b/include/conversation.php
index 67f3afde0..fb012667e 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -1095,6 +1095,8 @@ function status_editor($a, $x, $popup = false) {
// $plaintext = false;
$voting = feature_enabled(local_channel(), 'consensus_tools');
+ if(x($x, 'novoting'))
+ $voting = false;
$mimeselect = '';
if(array_key_exists('mimetype', $x) && $x['mimetype']) {
@@ -1171,7 +1173,7 @@ function status_editor($a, $x, $popup = false) {
'$action' => $a->get_baseurl(true) . '/item',
'$share' => (x($x,'button') ? $x['button'] : t('Share')),
'$webpage' => $webpage,
- '$placeholdpagetitle' => ((x($x,'ptlabel')) ? $x['ptlabel'] : t('Page link title')),
+ '$placeholdpagetitle' => ((x($x,'ptlabel')) ? $x['ptlabel'] : t('Page link name')),
'$pagetitle' => (x($x,'pagetitle') ? $x['pagetitle'] : ''),
'$id_select' => $id_select,
'$id_seltext' => t('Post as'),
@@ -1199,7 +1201,8 @@ function status_editor($a, $x, $popup = false) {
'$noloc' => ((get_pconfig($x['profile_uid'], 'system', 'use_browser_location')) ? t('Clear browser location') : ''),
'$shortnoloc' => t('clear location'),
'$title' => ((x($x, 'title')) ? htmlspecialchars($x['title'], ENT_COMPAT,'UTF-8') : ''),
- '$placeholdertitle' => t('Title (optional)'),
+ '$placeholdertitle' => ((x($x, 'placeholdertitle')) ? $x['placeholdertitle'] : t('Title (optional)')),
+ '$hidetitle' => ((x($x, 'hidetitle')) ? $x['hidetitle'] : false),
'$catsenabled' => ((feature_enabled($x['profile_uid'], 'categories') && (! $webpage)) ? 'categories' : ''),
'$category' => "",
'$placeholdercategory' => t('Categories (optional, comma-separated list)'),
@@ -1208,6 +1211,7 @@ function status_editor($a, $x, $popup = false) {
'$shortpermset' => t('permissions'),
'$ptyp' => (($notes_cid) ? 'note' : 'wall'),
'$content' => ((x($x,'body')) ? htmlspecialchars($x['body'], ENT_COMPAT,'UTF-8') : ''),
+ '$attachment' => ((x($x, 'attachment')) ? $x['attachment'] : ''),
'$post_id' => '',
'$baseurl' => $a->get_baseurl(true),
'$defloc' => $x['default_location'],
@@ -1232,7 +1236,8 @@ function status_editor($a, $x, $popup = false) {
'$encrypt' => t('Encrypt text'),
'$cipher' => $cipher,
'$expiryModalOK' => t('OK'),
- '$expiryModalCANCEL' => t('Cancel')
+ '$expiryModalCANCEL' => t('Cancel'),
+ '$expanded' => ((x($x, 'expanded')) ? $x['expanded'] : false),
));
if ($popup === true) {
@@ -1635,7 +1640,7 @@ function profile_tabs($a, $is_owner = false, $nickname = null){
);
}
- if ($is_owner && feature_enabled($uid,'webpages')) {
+ if ($p['write_pages'] && feature_enabled($uid,'webpages')) {
$tabs[] = array(
'label' => t('Webpages'),
'url' => $a->get_baseurl() . '/webpages/' . $nickname,
diff --git a/include/dir_fns.php b/include/dir_fns.php
index d1e26b637..ebaa7c427 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -116,7 +116,13 @@ function dir_sort_links() {
// Build urls without order and pubforums so it's easy to tack on the changed value
// Probably there's an easier way to do this
- $current_order = (($_REQUEST['order']) ? $_REQUEST['order'] : 'date');
+
+ $directory_sort_order = get_config('system','directory_sort_order');
+ if(! $directory_sort_order)
+ $directory_sort_order = 'date';
+
+
+ $current_order = (($_REQUEST['order']) ? $_REQUEST['order'] : $directory_sort_order);
$url = 'directory?f=';
$tmp = array_merge($_GET,$_POST);
diff --git a/include/event.php b/include/event.php
index 05f01535c..5926b50f7 100644
--- a/include/event.php
+++ b/include/event.php
@@ -424,7 +424,7 @@ function event_store_item($arr, $event) {
$private = (($arr['allow_cid'] || $arr['allow_gid'] || $arr['deny_cid'] || $arr['deny_gid']) ? 1 : 0);
- q("UPDATE item SET title = '%s', body = '%s', object = '%s', allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', edited = '%s', item_flags = %d, item_private = %d WHERE id = %d AND uid = %d",
+ q("UPDATE item SET title = '%s', body = '%s', object = '%s', allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', edited = '%s', item_flags = %d, item_private = %d, obj_type = '%s' WHERE id = %d AND uid = %d",
dbesc($arr['summary']),
dbesc($prefix . format_event_bbcode($arr)),
dbesc($object),
@@ -435,6 +435,7 @@ function event_store_item($arr, $event) {
dbesc($arr['edited']),
intval($r[0]['item_flags']),
intval($private),
+ dbesc(ACTIVITY_OBJ_EVENT),
intval($r[0]['id']),
intval($arr['uid'])
);
diff --git a/include/items.php b/include/items.php
index 4b83ce3e3..4e85bef37 100755
--- a/include/items.php
+++ b/include/items.php
@@ -3,6 +3,9 @@
* @file include/items.php
*/
+/** @todo deprecated in newer SabreDAV releases Sabre\HTTP\URLUtil */
+use Sabre\DAV\URLUtil;
+
require_once('include/bbcode.php');
require_once('include/oembed.php');
require_once('include/crypto.php');
@@ -34,9 +37,9 @@ function collect_recipients($item, &$private_envelope) {
$recipients = array_unique(array_merge($allow_people,$allow_groups));
- // if you specifically deny somebody but haven't allowed anybody, we'll allow everybody in your
+ // if you specifically deny somebody but haven't allowed anybody, we'll allow everybody in your
// address book minus the denied connections. The post is still private and can't be seen publicly
- // as that would allow the denied person to see the post by logging out.
+ // as that would allow the denied person to see the post by logging out.
if((! $item['allow_cid']) && (! $item['allow_gid'])) {
$r = q("select * from abook where abook_channel = %d and not (abook_flags & %d)>0 ",
@@ -66,12 +69,12 @@ function collect_recipients($item, &$private_envelope) {
}
else {
- // if the post is marked private but there are no recipients and public_policy/scope = self,
+ // if the post is marked private but there are no recipients and public_policy/scope = self,
// only add the author and owner as recipients. The ACL for the post may live on the hub of
// a different clone. We need to get the post to that hub.
// The post may be private by virtue of not being visible to anybody on the internet,
- // but there are no envelope recipients, so set this to false. Delivery is controlled
+ // but there are no envelope recipients, so set this to false. Delivery is controlled
// by the directives in $item['public_policy'].
$private_envelope = false;
@@ -117,11 +120,11 @@ function collect_recipients($item, &$private_envelope) {
$recipients = check_list_permissions($item['uid'],$recipients,'view_stream');
- // remove any upstream recipients from our list.
+ // remove any upstream recipients from our list.
// If it is ourself we'll add it back in a second.
- // This should prevent complex delivery chains from getting overly complex by not
+ // This should prevent complex delivery chains from getting overly complex by not
// sending to anybody who is on our list of those who sent it to us.
-
+
if($item['route']) {
$route = explode(',',$item['route']);
if(count($route)) {
@@ -131,7 +134,7 @@ function collect_recipients($item, &$private_envelope) {
}
// add ourself just in case we have nomadic clones that need to get a copy.
-
+
$recipients[] = $item['author_xchan'];
if($item['owner_xchan'] != $item['author_xchan'])
$recipients[] = $item['owner_xchan'];
@@ -197,9 +200,9 @@ function comments_are_now_closed($item) {
* sufficient privileges to comment. This will normally be called on a remote site where perm_is_allowed()
* will not be suitable because the post owner does not have a local channel_id.
* Generally we should look at the item - in particular the author['book_flags'] and see if ABOOK_FLAG_SELF is set.
- * If it is, you should be able to use perm_is_allowed( ... 'post_comments'), and if it isn't you need to call
+ * If it is, you should be able to use perm_is_allowed( ... 'post_comments'), and if it isn't you need to call
* can_comment_on_post()
- * We also check the comments_closed date/time on the item if this is set.
+ * We also check the comments_closed date/time on the item if this is set.
*
* @param string $observer_xchan
* @param array $item
@@ -227,9 +230,9 @@ function can_comment_on_post($observer_xchan, $item) {
return true;
break;
case 'public':
- // We don't allow public comments yet, until a policy
- // for dealing with anonymous comments is in place with
- // a means to moderate comments. Until that time, return
+ // We don't allow public comments yet, until a policy
+ // for dealing with anonymous comments is in place with
+ // a means to moderate comments. Until that time, return
// false.
return false;
break;
@@ -256,9 +259,9 @@ function can_comment_on_post($observer_xchan, $item) {
/**
* @brief Adds $hash to the item source route specified by $iid.
*
- * $item['route'] contains a comma-separated list of xchans that sent the current message,
+ * $item['route'] contains a comma-separated list of xchans that sent the current message,
* somewhat analogous to the * Received: header line in email. We can use this to perform
- * loop detection and to avoid sending a particular item to any "upstream" sender (they
+ * loop detection and to avoid sending a particular item to any "upstream" sender (they
* already have a copy because they sent it to us).
*
* Modifies item in the database pointed to by $iid.
@@ -363,7 +366,7 @@ function red_zrlify_img_callback($matches) {
* @brief Post an activity.
*
* In its simplest form one needs only to set $arr['body'] to post a note to the logged in channel's wall.
- * Much more complex activities can be created. Permissions are checked. No filtering, tag expansion
+ * Much more complex activities can be created. Permissions are checked. No filtering, tag expansion
* or other processing is performed.
*
* @param array $arr
@@ -433,7 +436,7 @@ function post_activity_item($arr) {
$arr['verb'] = ((x($arr,'verb')) ? $arr['verb'] : ACTIVITY_POST);
$arr['obj_type'] = ((x($arr,'obj_type')) ? $arr['obj_type'] : ACTIVITY_OBJ_NOTE);
- if($is_comment)
+ if(($is_comment) && ($arr['obj_type'] === ACTIVITY_OBJ_NOTE))
$arr['obj_type'] = ACTIVITY_OBJ_COMMENT;
$arr['allow_cid'] = ((x($arr,'allow_cid')) ? $arr['allow_cid'] : $channel['channel_allow_cid']);
@@ -441,7 +444,7 @@ function post_activity_item($arr) {
$arr['deny_cid'] = ((x($arr,'deny_cid')) ? $arr['deny_cid'] : $channel['channel_deny_cid']);
$arr['deny_gid'] = ((x($arr,'deny_gid')) ? $arr['deny_gid'] : $channel['channel_deny_gid']);
- $arr['comment_policy'] = map_scope($channel['channel_w_comment']);
+ $arr['comment_policy'] = map_scope($channel['channel_w_comment']);
if ((! $arr['plink']) && ($arr['item_flags'] & ITEM_THREAD_TOP)) {
$arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
@@ -459,7 +462,7 @@ function post_activity_item($arr) {
return $ret;
}
- $post = item_store($arr);
+ $post = item_store($arr);
if($post['success'])
$post_id = $post['item_id'];
@@ -595,10 +598,17 @@ function get_feed_for($channel, $observer_hash, $params) {
return $atom;
}
-
+/**
+ * @brief
+ *
+ * @param array $item an associative array with
+ * * \b string \b verb
+ * @return string item's verb if set, default ACTIVITY_POST see boot.php
+ */
function construct_verb($item) {
- if($item['verb'])
+ if ($item['verb'])
return $item['verb'];
+
return ACTIVITY_POST;
}
@@ -632,7 +642,7 @@ function construct_activity_object($item) {
}
return '';
-}
+}
function construct_activity_target($item) {
@@ -654,13 +664,15 @@ function construct_activity_target($item) {
$r->link = str_replace('&','&amp;', $r->link);
$r->link = preg_replace('/\<link(.*?)\"\>/','<link$1"/>',$r->link);
$o .= $r->link;
- }
+ }
else
$o .= '<link rel="alternate" type="text/html" href="' . xmlify($r->link) . '" />' . "\r\n";
}
if($r->content)
$o .= '<content type="html" >' . xmlify(bbcode($r->content)) . '</content>' . "\r\n";
+
$o .= '</as:target>' . "\r\n";
+
return $o;
}
@@ -674,7 +686,7 @@ function construct_activity_target($item) {
* imported messages without including any embedded photos in the length.
*
* @param string $body
- * @return string|unknown
+ * @return string
*/
function limit_body_size($body) {
@@ -800,15 +812,15 @@ function get_item_elements($x) {
if($arr['edited'] > datetime_convert())
$arr['edited'] = datetime_convert();
- $arr['expires'] = ((x($x,'expires') && $x['expires'])
- ? datetime_convert('UTC','UTC',$x['expires'])
+ $arr['expires'] = ((x($x,'expires') && $x['expires'])
+ ? datetime_convert('UTC','UTC',$x['expires'])
: NULL_DATE);
- $arr['commented'] = ((x($x,'commented') && $x['commented'])
- ? datetime_convert('UTC','UTC',$x['commented'])
+ $arr['commented'] = ((x($x,'commented') && $x['commented'])
+ ? datetime_convert('UTC','UTC',$x['commented'])
: $arr['created']);
- $arr['comments_closed'] = ((x($x,'comments_closed') && $x['comments_closed'])
- ? datetime_convert('UTC','UTC',$x['comments_closed'])
+ $arr['comments_closed'] = ((x($x,'comments_closed') && $x['comments_closed'])
+ ? datetime_convert('UTC','UTC',$x['comments_closed'])
: NULL_DATE);
$arr['title'] = (($x['title']) ? htmlspecialchars($x['title'], ENT_COMPAT,'UTF-8',false) : '');
@@ -891,7 +903,7 @@ function get_item_elements($x) {
// if it's a private post, encrypt it in the DB.
// We have to do that here because we need to cleanse the input and prevent bad stuff from getting in,
- // and we need plaintext to do that.
+ // and we need plaintext to do that.
if(intval($arr['item_private'])) {
@@ -918,7 +930,6 @@ function get_item_elements($x) {
$arr['item_restrict'] = $x['item_restrict'];
$arr['item_flags'] = $x['item_flags'];
$arr['attach'] = $x['attach'];
-
}
return $arr;
@@ -949,10 +960,17 @@ function import_author_xchan($x) {
return(($y) ? $y : false);
}
-
+/**
+ * @brief Imports an author from Diaspora.
+ *
+ * @param array $x an associative array with
+ * * \e string \b address
+ * @return boolean|string false on error, otherwise xchan_hash of the new entry
+ */
function import_author_diaspora($x) {
if(! $x['address'])
return false;
+
if(discover_by_webbie($x['address'])) {
$r = q("select xchan_hash from xchan where xchan_addr = '%s' limit 1",
dbesc($x['address'])
@@ -960,12 +978,20 @@ function import_author_diaspora($x) {
if($r)
return $r[0]['xchan_hash'];
}
+
return false;
}
-
+/**
+ * @brief Imports an author from a RSS feed.
+ *
+ * @param array $x an associative array with
+ * * \e string \b url
+ * * \e string \b name
+ * * \e string \b guid
+ * @return boolean|string
+ */
function import_author_rss($x) {
-
if(! $x['url'])
return false;
@@ -978,7 +1004,7 @@ function import_author_rss($x) {
}
$name = trim($x['name']);
- $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_url, xchan_name, xchan_network )
+ $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_url, xchan_name, xchan_network )
values ( '%s', '%s', '%s', '%s', '%s' )",
dbesc($x['guid']),
dbesc($x['guid']),
@@ -986,13 +1012,15 @@ function import_author_rss($x) {
dbesc(($name) ? $name : t('(Unknown)')),
dbesc('rss')
);
+
if($r && $x['photo']) {
$photos = import_profile_photo($x['photo']['src'],$x['url']);
if($photos) {
+ /** @bug $arr is undefined in this SQL query */
$r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_url = '%s' and xchan_network = 'rss'",
- dbesc(datetime_convert('UTC','UTC',$arr['photo_updated'])),
+ dbesc(datetime_convert('UTC', 'UTC', $arr['photo_updated'])),
dbesc($photos[0]),
dbesc($photos[1]),
dbesc($photos[2]),
@@ -1022,7 +1050,7 @@ function import_author_unknown($x) {
$name = trim($x['name']);
- $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_url, xchan_name, xchan_network )
+ $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_url, xchan_name, xchan_network )
values ( '%s', '%s', '%s', '%s', '%s' )",
dbesc($x['url']),
dbesc($x['url']),
@@ -1035,6 +1063,7 @@ function import_author_unknown($x) {
$photos = import_profile_photo($x['photo']['src'],$x['url']);
if($photos) {
+ /** @bug $arr is undefined in this SQL query */
$r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_url = '%s' and xchan_network = 'unknown'",
dbesc(datetime_convert('UTC','UTC',$arr['photo_updated'])),
dbesc($photos[0]),
@@ -1082,7 +1111,7 @@ function encode_item($item,$mirror = false) {
$item['body'] = crypto_unencapsulate(json_decode_plus($item['body']),$key);
}
- // If we're trying to backup an item so that it's recoverable or for export/imprt,
+ // If we're trying to backup an item so that it's recoverable or for export/imprt,
// add all the attributes we need to recover it
if($mirror) {
@@ -1157,8 +1186,14 @@ function encode_item($item,$mirror = false) {
return $x;
}
-
-function map_scope($scope,$strip = false) {
+/**
+ * @brief
+ *
+ * @param int $scope
+ * @param boolean $strip (optional) default false
+ * @return string
+ */
+function map_scope($scope, $strip = false) {
switch($scope) {
case 0:
return 'self';
@@ -1180,6 +1215,12 @@ function map_scope($scope,$strip = false) {
}
}
+/**
+ * @brief Returns a descriptive text for a given $scope.
+ *
+ * @param string $scope
+ * @return string translated string describing the scope
+ */
function translate_scope($scope) {
if(! $scope || $scope === 'public')
return t('Visible to anybody on the internet.');
@@ -1199,9 +1240,15 @@ function translate_scope($scope) {
return t('Visible to specific connections.');
}
+/**
+ * @brief
+ *
+ * @param array $xchan
+ * @return array an associative array
+ */
function encode_item_xchan($xchan) {
-
$ret = array();
+
$ret['name'] = $xchan['xchan_name'];
$ret['address'] = $xchan['xchan_addr'];
$ret['url'] = (($xchan['hubloc_url']) ? $xchan['hubloc_url'] : $xchan['xchan_url']);
@@ -1209,11 +1256,12 @@ function encode_item_xchan($xchan) {
$ret['photo'] = array('mimetype' => $xchan['xchan_photo_mimetype'], 'src' => $xchan['xchan_photo_m']);
$ret['guid'] = $xchan['xchan_guid'];
$ret['guid_sig'] = $xchan['xchan_guid_sig'];
+
return $ret;
}
function encode_item_terms($terms) {
- $ret = array();
+ $ret = array();
$allowed_export_terms = array( TERM_UNKNOWN, TERM_HASHTAG, TERM_MENTION, TERM_CATEGORY, TERM_BOOKMARK );
@@ -1223,22 +1271,38 @@ function encode_item_terms($terms) {
$ret[] = array('tag' => $term['term'], 'url' => $term['url'], 'type' => termtype($term['type']));
}
}
+
return $ret;
}
+/**
+ * @brief
+ *
+ * @param int $t
+ * @return string
+ */
function termtype($t) {
$types = array('unknown','hashtag','mention','category','private_category','file','search','thing','bookmark');
+
return(($types[$t]) ? $types[$t] : 'unknown');
}
+/**
+ * @brief
+ *
+ * @param array $t
+ * @return array|string empty string or array containing associative arrays with
+ * * \e string \b term
+ * * \e string \b url
+ * * \e int \b type
+ */
function decode_tags($t) {
-
if($t) {
$ret = array();
foreach($t as $x) {
$tag = array();
- $tag['term'] = htmlspecialchars($x['tag'], ENT_COMPAT,'UTF-8',false);
- $tag['url'] = htmlspecialchars($x['url'], ENT_COMPAT,'UTF-8',false);
+ $tag['term'] = htmlspecialchars($x['tag'], ENT_COMPAT, 'UTF-8', false);
+ $tag['url'] = htmlspecialchars($x['url'], ENT_COMPAT, 'UTF-8', false);
switch($x['type']) {
case 'hashtag':
$tag['type'] = TERM_HASHTAG;
@@ -1271,6 +1335,7 @@ function decode_tags($t) {
}
$ret[] = $tag;
}
+
return $ret;
}
@@ -1291,12 +1356,12 @@ function activity_sanitise($arr) {
if(is_array($x))
$ret[$k] = activity_sanitise($x);
else
- $ret[$k] = htmlspecialchars($x, ENT_COMPAT,'UTF-8',false);
+ $ret[$k] = htmlspecialchars($x, ENT_COMPAT, 'UTF-8', false);
}
return $ret;
}
else {
- return htmlspecialchars($arr, ENT_COMPAT,'UTF-8', false);
+ return htmlspecialchars($arr, ENT_COMPAT, 'UTF-8', false);
}
}
@@ -1458,7 +1523,7 @@ function get_profile_elements($x) {
$arr['postcode'] = (($x['postcode']) ? htmlspecialchars($x['postcode'], ENT_COMPAT,'UTF-8',false) : '');
$arr['country'] = (($x['country']) ? htmlspecialchars($x['country'], ENT_COMPAT,'UTF-8',false) : '');
- $arr['keywords'] = (($x['keywords'] && is_array($x['keywords'])) ? array_sanitise($x['keywords']) : array());
+ $arr['keywords'] = (($x['keywords'] && is_array($x['keywords'])) ? array_sanitise($x['keywords']) : array());
return $arr;
}
@@ -1476,7 +1541,7 @@ function get_atom_elements($feed, $item, &$author) {
$res = array();
$found_author = $item->get_author();
- if($found_author) {
+ if($found_author) {
$author['author_name'] = unxmlify($found_author->get_name());
$author['author_link'] = unxmlify($found_author->get_link());
$author['author_is_feed'] = false;
@@ -1604,7 +1669,7 @@ function get_atom_elements($feed, $item, &$author) {
// make sure nobody is trying to sneak some html tags by us
$res['body'] = notags(base64url_decode($res['body']));
- // We could probably turn these old Friendica bbcode bookmarks into bookmark tags but we'd have to
+ // We could probably turn these old Friendica bbcode bookmarks into bookmark tags but we'd have to
// create a term table item for them. For now just make sure they stay as links.
$res['body'] = preg_replace('/\[bookmark(.*?)\](.*?)\[\/bookmark\]/','[url$1]$2[/url]',$res['body']);
@@ -1612,14 +1677,14 @@ function get_atom_elements($feed, $item, &$author) {
$res['body'] = limit_body_size($res['body']);
- // It isn't certain at this point whether our content is plaintext or html and we'd be foolish to trust
- // the content type. Our own network only emits text normally, though it might have been converted to
+ // It isn't certain at this point whether our content is plaintext or html and we'd be foolish to trust
+ // the content type. Our own network only emits text normally, though it might have been converted to
// html if we used a pubsubhubbub transport. But if we see even one html tag in our text, we will
// have to assume it is all html and needs to be purified.
- // It doesn't matter all that much security wise - because before this content is used anywhere, we are
- // going to escape any tags we find regardless, but this lets us import a limited subset of html from
- // the wild, by sanitising it and converting supported tags to bbcode before we rip out any remaining
+ // It doesn't matter all that much security wise - because before this content is used anywhere, we are
+ // going to escape any tags we find regardless, but this lets us import a limited subset of html from
+ // the wild, by sanitising it and converting supported tags to bbcode before we rip out any remaining
// html.
if((strpos($res['body'],'<') !== false) && (strpos($res['body'],'>') !== false)) {
@@ -1682,7 +1747,7 @@ function get_atom_elements($feed, $item, &$author) {
$res['edited'] = unxmlify($rawedited[0]['data']);
if((x($res,'edited')) && (! (x($res,'created'))))
- $res['created'] = $res['edited'];
+ $res['created'] = $res['edited'];
if(! $res['created'])
$res['created'] = $item->get_date('c');
@@ -1783,7 +1848,6 @@ function get_atom_elements($feed, $item, &$author) {
$attach = $item->get_enclosures();
if($attach) {
$res['attach'] = array();
- $att_arr = array();
foreach($attach as $att) {
$len = intval($att->get_length());
$link = str_replace(array(',','"'),array('%2D','%22'),notags(trim(unxmlify($att->get_link()))));
@@ -1812,7 +1876,7 @@ function get_atom_elements($feed, $item, &$author) {
if($child[NAMESPACE_ACTIVITY]['obj_type'][0]['data']) {
$res['obj_type'] = $child[NAMESPACE_ACTIVITY]['obj_type'][0]['data'];
$obj['type'] = $child[NAMESPACE_ACTIVITY]['obj_type'][0]['data'];
- }
+ }
if(x($child[SIMPLEPIE_NAMESPACE_ATOM_10], 'id') && $child[SIMPLEPIE_NAMESPACE_ATOM_10]['id'][0]['data'])
$obj['id'] = $child[SIMPLEPIE_NAMESPACE_ATOM_10]['id'][0]['data'];
if(x($child[SIMPLEPIE_NAMESPACE_ATOM_10], 'link') && $child[SIMPLEPIE_NAMESPACE_ATOM_10]['link'])
@@ -1906,14 +1970,22 @@ function encode_rel_links($links) {
return xmlify($o);
}
-function item_store($arr,$allow_exec = false) {
+/**
+ * @brief
+ *
+ * @param array $arr
+ * @param boolean $allow_exec (optional) default false
+ * @return array
+ * * \e boolean \b success
+ * * \e int \b item_id
+ */
+function item_store($arr, $allow_exec = false) {
$d = array('item' => $arr, 'allow_exec' => $allow_exec);
call_hooks('item_store', $d );
$arr = $d['item'];
$allow_exec = $d['allow_exec'];
-
$ret = array('success' => false, 'item_id' => 0);
if(! $arr['uid']) {
@@ -1924,7 +1996,7 @@ function item_store($arr,$allow_exec = false) {
//$uplinked_comment = false;
- // If a page layout is provided, ensure it exists and belongs to us.
+ // If a page layout is provided, ensure it exists and belongs to us.
if(array_key_exists('layout_mid',$arr) && $arr['layout_mid']) {
$l = q("select item_restrict from item where mid = '%s' and uid = %d limit 1",
@@ -1980,7 +2052,7 @@ function item_store($arr,$allow_exec = false) {
}
$allowed_languages = get_pconfig($arr['uid'],'system','allowed_languages');
-
+
if((is_array($allowed_languages)) && ($arr['lang']) && (! array_key_exists($arr['lang'],$allowed_languages))) {
$translate = array('item' => $arr, 'from' => $arr['lang'], 'to' => $allowed_languages, 'translated' => false);
call_hooks('item_translate', $translate);
@@ -2075,7 +2147,7 @@ function item_store($arr,$allow_exec = false) {
$comments_closed = $arr['comments_closed'];
$arr['item_flags'] = $arr['item_flags'] | ITEM_THREAD_TOP;
}
- else {
+ else {
// find the parent and snarf the item id and ACL's
// and anything else we need to inherit
@@ -2112,7 +2184,7 @@ function item_store($arr,$allow_exec = false) {
if($r[0]['mid'] != $r[0]['parent_mid']) {
$arr['parent_mid'] = $r[0]['parent_mid'];
- $z = q("SELECT * FROM `item` WHERE `mid` = '%s' AND `parent_mid` = '%s' AND `uid` = %d
+ $z = q("SELECT * FROM `item` WHERE `mid` = '%s' AND `parent_mid` = '%s' AND `uid` = %d
ORDER BY `id` ASC LIMIT 1",
dbesc($r[0]['parent_mid']),
dbesc($r[0]['parent_mid']),
@@ -2132,7 +2204,7 @@ function item_store($arr,$allow_exec = false) {
$comments_closed = $r[0]['comments_closed'];
if($r[0]['item_flags'] & ITEM_WALL)
- $arr['item_flags'] = $arr['item_flags'] | ITEM_WALL;
+ $arr['item_flags'] = $arr['item_flags'] | ITEM_WALL;
// An uplinked comment might arrive with a downstream owner.
// Fix it.
@@ -2149,7 +2221,7 @@ function item_store($arr,$allow_exec = false) {
// Edge case. We host a public forum that was originally posted to privately.
// The original author commented, but as this is a comment, the permissions
- // weren't fixed up so it will still show the comment as private unless we fix it here.
+ // weren't fixed up so it will still show the comment as private unless we fix it here.
if((intval($r[0]['item_flags']) & ITEM_UPLINK) && (! $r[0]['item_private']))
$arr['item_private'] = 0;
@@ -2196,7 +2268,7 @@ function item_store($arr,$allow_exec = false) {
if(strlen($allow_cid) || strlen($allow_gid) || strlen($deny_cid) || strlen($deny_gid) || strlen($public_policy))
$private = 1;
else
- $private = $arr['item_private'];
+ $private = $arr['item_private'];
$arr['parent'] = $parent_id;
$arr['allow_cid'] = $allow_cid;
@@ -2211,10 +2283,10 @@ function item_store($arr,$allow_exec = false) {
dbesc_array($arr);
- $r = dbq("INSERT INTO `item` (`"
- . implode("`, `", array_keys($arr))
- . "`) VALUES ('"
- . implode("', '", array_values($arr))
+ $r = dbq("INSERT INTO `item` (`"
+ . implode("`, `", array_keys($arr))
+ . "`) VALUES ('"
+ . implode("', '", array_values($arr))
. "')" );
// find the item we just created
@@ -2289,7 +2361,7 @@ function item_store($arr,$allow_exec = false) {
// If _creating_ a deleted item, don't propagate it further or send out notifications.
// We need to store the item details just in case the delete came in before the original post,
- // so that we have an item in the DB that's marked deleted and won't store a fresh post
+ // so that we have an item in the DB that's marked deleted and won't store a fresh post
// that isn't aware that we were already told to delete it.
if(! ($arr['item_restrict'] & ITEM_DELETED)) {
@@ -2377,7 +2449,7 @@ function item_store_update($arr,$allow_exec = false) {
}
$allowed_languages = get_pconfig($arr['uid'],'system','allowed_languages');
-
+
if((is_array($allowed_languages)) && ($arr['lang']) && (! array_key_exists($arr['lang'],$allowed_languages))) {
$translate = array('item' => $arr, 'from' => $arr['lang'], 'to' => $allowed_languages, 'translated' => false);
call_hooks('item_translate', $translate);
@@ -2491,7 +2563,7 @@ function item_store_update($arr,$allow_exec = false) {
if($str)
$str .= ",";
$str .= " `" . $k . "` = '" . $v . "' ";
- }
+ }
$r = dbq("update `item` set " . $str . " where id = " . $orig_post_id );
@@ -2537,7 +2609,7 @@ function item_store_update($arr,$allow_exec = false) {
function store_diaspora_comment_sig($datarray, $channel, $parent_item, $post_id, $walltowall = false) {
- // We won't be able to sign Diaspora comments for authenticated visitors
+ // We won't be able to sign Diaspora comments for authenticated visitors
// - we don't have their private key
// since Diaspora doesn't handle edits we can only do this for the original text and not update it.
@@ -2548,9 +2620,9 @@ function store_diaspora_comment_sig($datarray, $channel, $parent_item, $post_id,
if($walltowall) {
logger('wall to wall comment',LOGGER_DEBUG);
// post will come across with the owner's identity. Throw a preamble onto the post to indicate the true author.
- $signed_body = "\n\n"
+ $signed_body = "\n\n"
. '![' . $datarray['author']['xchan_name'] . '](' . $datarray['author']['xchan_photo_m'] . ')'
- . '[' . $datarray['author']['xchan_name'] . '](' . $datarray['author']['xchan_url'] . ')' . "\n\n"
+ . '[' . $datarray['author']['xchan_name'] . '](' . $datarray['author']['xchan_url'] . ')' . "\n\n"
. $signed_body;
}
@@ -2573,7 +2645,7 @@ function store_diaspora_comment_sig($datarray, $channel, $parent_item, $post_id,
$r = q("update item set diaspora_meta = '%s' where id = %d",
dbesc(json_encode($y)),
- intval($post_id)
+ intval($post_id)
);
if(! $r)
@@ -2697,7 +2769,7 @@ function tag_deliver($uid, $item_id) {
$item = $i[0];
- if(($item['source_xchan']) && ($item['item_flags'] & ITEM_UPLINK)
+ if(($item['source_xchan']) && ($item['item_flags'] & ITEM_UPLINK)
&& ($item['item_flags'] & ITEM_THREAD_TOP) && ($item['edited'] != $item['created'])) {
// this is an update (edit) to a post which was already processed by us and has a second delivery chain
// Just start the second delivery chain to deliver the updated post
@@ -2712,7 +2784,7 @@ function tag_deliver($uid, $item_id) {
if (stristr($item['verb'],ACTIVITY_POKE)) {
$poke_notify = true;
- if(($item['obj_type'] == "") || ($item['obj_type'] !== ACTIVITY_OBJ_PERSON) || (! $item['object']))
+ if(($item['obj_type'] == "") || ($item['obj_type'] !== ACTIVITY_OBJ_PERSON) || (! $item['object']))
$poke_notify = false;
$obj = json_decode_plus($item['object']);
@@ -2748,7 +2820,7 @@ function tag_deliver($uid, $item_id) {
// We received a community tag activity for a post.
// See if we are the owner of the parent item and have given permission to tag our posts.
// If so tag the parent post.
-
+
logger('tag_deliver: community tag activity received');
if(($item['owner_xchan'] === $u[0]['channel_hash']) && (! get_pconfig($u[0]['channel_id'],'system','blocktags'))) {
@@ -2839,7 +2911,7 @@ function tag_deliver($uid, $item_id) {
// At this point we've determined that the person receiving this post was mentioned in it or it is a union.
// Now let's check if this mention was inside a reshare so we don't spam a forum
- // If it's private we may have to unobscure it momentarily so that we can parse it.
+ // If it's private we may have to unobscure it momentarily so that we can parse it.
$body = '';
@@ -2849,7 +2921,7 @@ function tag_deliver($uid, $item_id) {
$body = crypto_unencapsulate(json_decode_plus($item['body']),$key);
}
else
- $body = $item['body'];
+ $body = $item['body'];
$body = preg_replace('/\[share(.*?)\[\/share\]/','',$body);
@@ -2858,7 +2930,7 @@ function tag_deliver($uid, $item_id) {
$matches = array();
$pattern = '/@\!?\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($term['term'],'/') . '\[\/zrl\]/';
- if(preg_match($pattern,$body,$matches))
+ if(preg_match($pattern,$body,$matches))
$tagged = true;
$pattern = '/@\!?\[zrl\=([^\]]*?)\]((?:.(?!\[zrl\=))*?)\+\[\/zrl\]/';
@@ -2927,9 +2999,9 @@ function tag_deliver($uid, $item_id) {
// prevent delivery looping - only proceed
// if the message originated elsewhere and is a top-level post
- if(($item['item_flags'] & ITEM_WALL)
- || ($item['item_flags'] & ITEM_ORIGIN)
- || (!($item['item_flags'] & ITEM_THREAD_TOP))
+ if(($item['item_flags'] & ITEM_WALL)
+ || ($item['item_flags'] & ITEM_ORIGIN)
+ || (!($item['item_flags'] & ITEM_THREAD_TOP))
|| ($item['id'] != $item['parent'])) {
logger('tag_deliver: item was local or a comment. rejected.');
return;
@@ -2945,7 +3017,7 @@ function tag_deliver($uid, $item_id) {
* We don't actually do anything except check that it matches the criteria.
* This is so that the channel with tag_delivery enabled can receive the post even if they turn off
* permissions for the sender to send their stream. tag_deliver() can't be called until the post is actually stored.
- * By then it would be too late to reject it.
+ * By then it would be too late to reject it.
*/
function tgroup_check($uid,$item) {
@@ -3045,8 +3117,8 @@ function tgroup_check($uid,$item) {
/**
* Sourced and tag-delivered posts are re-targetted for delivery to the connections of the channel
- * receiving the post. This starts the second delivery chain, by resetting permissions and ensuring
- * that ITEM_UPLINK is set on the parent post, and storing the current owner_xchan as the source_xchan.
+ * receiving the post. This starts the second delivery chain, by resetting permissions and ensuring
+ * that ITEM_UPLINK is set on the parent post, and storing the current owner_xchan as the source_xchan.
* We'll become the new owner. If called without $parent, this *is* the parent post.
*
* @param array $channel
@@ -3059,7 +3131,7 @@ function start_delivery_chain($channel, $item, $item_id, $parent) {
// Change this copy of the post to a forum head message and deliver to all the tgroup members
// also reset all the privacy bits to the forum default permissions
- $private = (($channel['channel_allow_cid'] || $channel['channel_allow_gid']
+ $private = (($channel['channel_allow_cid'] || $channel['channel_allow_gid']
|| $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 1 : 0);
$new_public_policy = map_scope($channel['channel_r_stream'],true);
@@ -3070,14 +3142,14 @@ function start_delivery_chain($channel, $item, $item_id, $parent) {
$flag_bits = $item['item_flags'] | ITEM_WALL;
// The message didn't necessarily originate on this site, (we'll honour it if it did),
- // but the parent post of this thread will be reset as a local post, as it is the top of
+ // but the parent post of this thread will be reset as a local post, as it is the top of
// this delivery chain and is coming from this site, regardless of where the original
// originated.
if(! $parent)
$flag_bits = $flag_bits | ITEM_ORIGIN;
- // unset the nocomment bit if it's there.
+ // unset the nocomment bit if it's there.
if($flag_bits & ITEM_NOCOMMENT)
$flag_bits = $flag_bits ^ ITEM_NOCOMMENT;
@@ -3122,7 +3194,7 @@ function start_delivery_chain($channel, $item, $item_id, $parent) {
}
}
- $r = q("update item set item_flags = %d, owner_xchan = '%s', allow_cid = '%s', allow_gid = '%s',
+ $r = q("update item set item_flags = %d, owner_xchan = '%s', allow_cid = '%s', allow_gid = '%s',
deny_cid = '%s', deny_gid = '%s', item_private = %d, public_policy = '%s', comment_policy = '%s', title = '%s', body = '%s' where id = %d",
intval($flag_bits),
dbesc($channel['channel_hash']),
@@ -3147,7 +3219,7 @@ function start_delivery_chain($channel, $item, $item_id, $parent) {
/**
* @brief
*
- * Checks to see if this item owner is referenced as a source for this channel and if the post
+ * Checks to see if this item owner is referenced as a source for this channel and if the post
* matches the rules for inclusion in this channel. Returns true if we should create a second delivery
* chain and false if none of the rules apply, or if the item is private.
*
@@ -3214,7 +3286,7 @@ function mail_store($arr) {
return 0;
}
- if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false))
+ if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false))
$arr['body'] = escape_tags($arr['body']);
if(array_key_exists('attach',$arr) && is_array($arr['attach']))
@@ -3257,10 +3329,10 @@ function mail_store($arr) {
logger('mail_store: ' . print_r($arr,true), LOGGER_DATA);
- $r = dbq("INSERT INTO mail (`"
- . implode("`, `", array_keys($arr))
- . "`) VALUES ('"
- . implode("', '", array_values($arr))
+ $r = dbq("INSERT INTO mail (`"
+ . implode("`, `", array_keys($arr))
+ . "`) VALUES ('"
+ . implode("', '", array_values($arr))
. "')" );
// find the item we just created
@@ -3309,7 +3381,7 @@ function mail_store($arr) {
/**
* @brief Process atom feed and update anything/everything we might need to update.
*
- * $hub = should we find a hub declation in the feed, pass it back to our calling process, who might (or
+ * $hub = should we find a hub declation in the feed, pass it back to our calling process, who might (or
* might not) try and subscribe to it.
* $datedir sorts in reverse order
*
@@ -3320,9 +3392,9 @@ function mail_store($arr) {
* relationship. It is this person's stuff that is going to be updated.
* @param $contact
* The person who is sending us stuff. If not set, we MAY be processing a "follow" activity
- * from an external network and MAY create an appropriate contact record. Otherwise, we MUST
+ * from an external network and MAY create an appropriate contact record. Otherwise, we MUST
* have a contact record.
- * @param int $pass by default ($pass = 0) we cannot guarantee that a parent item has been
+ * @param int $pass by default ($pass = 0) we cannot guarantee that a parent item has been
* imported prior to its children being seen in the stream unless we are certain
* of how the feed is arranged/ordered.
* * With $pass = 1, we only pull parent items out of the stream.
@@ -3426,14 +3498,14 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
$author['author_name'] = $contact['xchan_name'];
if((! x($author,'author_link')) || ($author['author_is_feed']))
$author['author_link'] = $contact['xchan_url'];
- if((! x($author,'author_photo'))|| ($author['author_is_feed']))
+ if((! x($author,'author_photo'))|| ($author['author_is_feed']))
$author['author_photo'] = $contact['xchan_photo_m'];
$datarray['author_xchan'] = '';
if($author['author_link'] != $contact['xchan_url']) {
$x = import_author_unknown(array('name' => $author['author_name'],'url' => $author['author_link'],'photo' => array('src' => $author['author_photo'])));
- if($x)
+ if($x)
$datarray['author_xchan'] = $x;
}
if(! $datarray['author_xchan'])
@@ -3449,8 +3521,8 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
// Update content if 'updated' changes
if($r) {
- if((x($datarray,'edited') !== false)
- && (datetime_convert('UTC','UTC',$datarray['edited']) !== $r[0]['edited'])) {
+ if((x($datarray,'edited') !== false)
+ && (datetime_convert('UTC','UTC',$datarray['edited']) !== $r[0]['edited'])) {
// do not accept (ignore) an earlier edit than one we currently have.
if(datetime_convert('UTC','UTC',$datarray['edited']) < $r[0]['edited'])
@@ -3483,7 +3555,7 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
$author['author_name'] = $contact['xchan_name'];
if((! x($author,'author_link')) || ($author['author_is_feed']))
$author['author_link'] = $contact['xchan_url'];
- if((! x($author,'author_photo'))|| ($author['author_is_feed']))
+ if((! x($author,'author_photo'))|| ($author['author_is_feed']))
$author['author_photo'] = $contact['xchan_photo_m'];
}
@@ -3496,7 +3568,7 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
if($author['author_link'] != $contact['xchan_url']) {
$x = import_author_unknown(array('name' => $author['author_name'],'url' => $author['author_link'],'photo' => array('src' => $author['author_photo'])));
- if($x)
+ if($x)
$datarray['author_xchan'] = $x;
}
if(! $datarray['author_xchan'])
@@ -3512,8 +3584,8 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
// Update content if 'updated' changes
if($r) {
- if((x($datarray,'edited') !== false)
- && (datetime_convert('UTC','UTC',$datarray['edited']) !== $r[0]['edited'])) {
+ if((x($datarray,'edited') !== false)
+ && (datetime_convert('UTC','UTC',$datarray['edited']) !== $r[0]['edited'])) {
// do not accept (ignore) an earlier edit than one we currently have.
if(datetime_convert('UTC','UTC',$datarray['edited']) < $r[0]['edited'])
@@ -3535,7 +3607,7 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
$author['owner_avatar'] = $contact['thumb'];
}
- logger('consume_feed: author ' . print_r($author,true),LOGGER_DEBUG);
+ logger('consume_feed: author ' . print_r($author,true),LOGGER_DEBUG);
logger('consume_feed: ' . print_r($datarray,true),LOGGER_DATA);
@@ -3673,7 +3745,7 @@ function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) {
// $mentioned = get_mentions($item,$tags);
// if($mentioned)
// $o .= $mentioned;
-
+
call_hooks('atom_entry', $o);
$o .= '</entry>' . "\r\n";
@@ -3719,7 +3791,7 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) {
// Check to see if we should replace this photo link with an embedded image
// 1. No need to do so if the photo is public
// 2. If there's a contact-id provided, see if they're in the access list
- // for the photo. If so, embed it.
+ // for the photo. If so, embed it.
// 3. Otherwise, if we have an item, see if the item permissions match the photo
// permissions, regardless of order but first check to see if they're an exact
// match to save some processing overhead.
@@ -3728,7 +3800,7 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) {
if($cid) {
$recips = enumerate_permissions($r[0]);
if(in_array($cid, $recips)) {
- $replace = true;
+ $replace = true;
}
}
elseif($item) {
@@ -3787,7 +3859,7 @@ function has_permissions($obj) {
}
function compare_permissions($obj1,$obj2) {
- // first part is easy. Check that these are exactly the same.
+ // first part is easy. Check that these are exactly the same.
if(($obj1['allow_cid'] == $obj2['allow_cid'])
&& ($obj1['allow_gid'] == $obj2['allow_gid'])
&& ($obj1['deny_cid'] == $obj2['deny_cid'])
@@ -3882,10 +3954,10 @@ function item_expire($uid,$days) {
$sql_extra = ((intval($expire_network_only)) ? " AND (item_flags & " . intval(ITEM_WALL) . ") = 0 " : "");
- $r = q("SELECT * FROM `item`
- WHERE `uid` = %d
- AND `created` < %s - INTERVAL %s
- AND `id` = `parent`
+ $r = q("SELECT * FROM `item`
+ WHERE `uid` = %d
+ AND `created` < %s - INTERVAL %s
+ AND `id` = `parent`
$sql_extra
AND ( item_flags & %d ) = 0
AND ( item_restrict = 0 ) LIMIT $expire_limit ",
@@ -3956,7 +4028,7 @@ function drop_items($items) {
// Delete item with given item $id. $interactive means we're running interactively, and must check
// permissions to carry out this act. If it is non-interactive, we are deleting something at the
-// system's request and do not check permission. This is very important to know.
+// system's request and do not check permission. This is very important to know.
// Some deletion requests (those coming from remote sites) must be staged.
// $stage = 0 => unstaged
@@ -3994,6 +4066,11 @@ function drop_item($id,$interactive = true,$stage = DROPITEM_NORMAL,$force = fal
if(local_channel() && local_channel() == $item['uid'])
$ok_to_delete = true;
+ // sys owned item, requires site admin to delete
+ $sys = get_sys_channel();
+ if(is_site_admin() && $sys['channel_id'] == $item['uid'])
+ $ok_to_delete = true;
+
// author deletion
$observer = $a->get_observer();
if($observer && $observer['xchan_hash'] && ($observer['xchan_hash'] === $item['author_xchan']))
@@ -4001,7 +4078,7 @@ function drop_item($id,$interactive = true,$stage = DROPITEM_NORMAL,$force = fal
if($ok_to_delete) {
- // set the deleted flag immediately on this item just in case the
+ // set the deleted flag immediately on this item just in case the
// hook calls a remote process which loops. We'll delete it properly in a second.
$r = q("UPDATE item SET item_restrict = ( item_restrict | %d ) WHERE id = %d",
@@ -4029,12 +4106,12 @@ function drop_item($id,$interactive = true,$stage = DROPITEM_NORMAL,$force = fal
return 1;
// send the notification upstream/downstream as the case may be
- // only send notifications to others if this is the owner's wall item.
+ // only send notifications to others if this is the owner's wall item.
- // This isn't optimal. We somehow need to pass to this function whether or not
- // to call the notifier, or we need to call the notifier from the calling function.
+ // This isn't optimal. We somehow need to pass to this function whether or not
+ // to call the notifier, or we need to call the notifier from the calling function.
// We'll rely on the undocumented behaviour that DROPITEM_PHASE1 is (hopefully) only
- // set if we know we're going to send delete notifications out to others.
+ // set if we know we're going to send delete notifications out to others.
if((($item['item_flags'] & ITEM_WALL) && ($stage != DROPITEM_PHASE2)) || ($stage == DROPITEM_PHASE1))
proc_run('php','include/notifier.php','drop',$notify_id);
@@ -4088,7 +4165,7 @@ function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL, $force = false) {
case DROPITEM_NORMAL:
default:
if($linked_item && ! $force) {
- $r = q("UPDATE item SET item_restrict = ( item_restrict | %d ),
+ $r = q("UPDATE item SET item_restrict = ( item_restrict | %d ),
changed = '%s', edited = '%s' WHERE id = %d",
intval(ITEM_HIDDEN),
dbesc(datetime_convert()),
@@ -4108,7 +4185,7 @@ function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL, $force = false) {
break;
}
- // immediately remove any undesired profile likes.
+ // immediately remove any undesired profile likes.
q("delete from likes where iid = %d and channel_id = %d",
intval($item['id']),
@@ -4162,8 +4239,8 @@ function first_post_date($uid,$wall = false) {
}
/**
- * modified posted_dates() {below} to arrange the list in years, which we'll eventually
- * use to make a menu of years with collapsible sub-menus for the months instead of the
+ * modified posted_dates() {below} to arrange the list in years, which we'll eventually
+ * use to make a menu of years with collapsible sub-menus for the months instead of the
* current flat list of all representative dates.
*
* @param int $uid
@@ -4181,7 +4258,7 @@ function list_post_dates($uid, $wall, $mindate) {
if(! $dthen)
return array();
- // If it's near the end of a long month, backup to the 28th so that in
+ // If it's near the end of a long month, backup to the 28th so that in
// consecutive loops we'll always get a whole month difference.
if(intval(substr($dnow,8)) > 28)
@@ -4216,7 +4293,7 @@ function posted_dates($uid,$wall) {
if(! $dthen)
return array();
- // If it's near the end of a long month, backup to the 28th so that in
+ // If it's near the end of a long month, backup to the 28th so that in
// consecutive loops we'll always get a whole month difference.
if(intval(substr($dnow,8)) > 28)
@@ -4243,7 +4320,7 @@ function posted_dates($uid,$wall) {
function fetch_post_tags($items,$link = false) {
$tag_finder = array();
- if($items) {
+ if($items) {
foreach($items as $item) {
if(is_array($item)) {
if(array_key_exists('item_id',$item)) {
@@ -4331,7 +4408,7 @@ function zot_feed($uid,$observer_xchan,$arr) {
$limit = " LIMIT 100 ";
if($mindate != NULL_DATE) {
- $sql_extra .= " and ( created > '$mindate' or edited > '$mindate' ) ";
+ $sql_extra .= " and ( created > '$mindate' or changed > '$mindate' ) ";
}
if($message_id) {
@@ -4343,25 +4420,25 @@ function zot_feed($uid,$observer_xchan,$arr) {
/** @FIXME fix this part for PostgreSQL */
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
return array();
}
if(is_sys_channel($uid)) {
require_once('include/security.php');
- $r = q("SELECT parent, created from item
+ $r = q("SELECT parent, created, postopts from item
WHERE uid != %d
- AND item_private = 0 AND item_restrict = 0 AND uid in (" . stream_perms_api_uids(PERMS_PUBLIC,10,1) . ")
- AND (item_flags & %d) > 0
+ AND item_private = 0 AND item_restrict = 0 AND uid in (" . stream_perms_api_uids(PERMS_PUBLIC,10,1) . ")
+ AND (item_flags & %d) > 0
$sql_extra GROUP BY parent ORDER BY created ASC $limit",
intval($uid),
intval(ITEM_WALL)
);
}
else {
- $r = q("SELECT parent, created from item
+ $r = q("SELECT parent, created, postopts from item
WHERE uid = %d AND item_restrict = 0
- AND (item_flags & %d) > 0
+ AND (item_flags & %d) > 0
$sql_extra GROUP BY parent ORDER BY created ASC $limit",
intval($uid),
intval(ITEM_WALL)
@@ -4369,10 +4446,16 @@ function zot_feed($uid,$observer_xchan,$arr) {
}
if($r) {
+ for($x = 0; $x < count($r); $x ++) {
+ if(strpos($r[$x]['postopts'],'nodeliver') !== false) {
+ unset($r[$x]);
+ }
+ }
+
$parents_str = ids_to_querystr($r,'parent');
$sys_query = ((is_sys_channel($uid)) ? $sql_extra : '');
-
- $items = q("SELECT `item`.*, `item`.`id` AS `item_id` FROM `item`
+
+ $items = q("SELECT `item`.*, `item`.`id` AS `item_id` FROM `item`
WHERE `item`.`item_restrict` = 0
AND `item`.`parent` IN ( %s ) $sys_query ",
dbesc($parents_str)
@@ -4453,7 +4536,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
$contact_str .= "'" . $c['xchan'] . "'";
}
} else {
- $contact_str = ' 0 ';
+ $contact_str = ' 0 ';
$result['message'] = t('Collection is empty.');
return $result;
}
@@ -4491,12 +4574,12 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
}
if($arr['search']) {
- if(strpos($arr['search'],'#') === 0)
- $sql_extra .= term_query('item',substr($arr['search'],1),TERM_HASHTAG);
- else
- $sql_extra .= sprintf(" AND item.body like '%s' ",
- dbesc(protect_sprintf('%' . $arr['search'] . '%'))
- );
+ if(strpos($arr['search'],'#') === 0)
+ $sql_extra .= term_query('item',substr($arr['search'],1),TERM_HASHTAG);
+ else
+ $sql_extra .= sprintf(" AND item.body like '%s' ",
+ dbesc(protect_sprintf('%' . $arr['search'] . '%'))
+ );
}
if (strlen($arr['file'])) {
@@ -4537,6 +4620,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
$sql_nets .= "( abook.abook_closeness >= " . intval($arr['cmin']) . " ";
$sql_nets .= " AND abook.abook_closeness <= " . intval($arr['cmax']) . " ) ";
+ /** @fixme dead code, $cmax is undefined */
if ($cmax == 99)
$sql_nets .= " OR abook.abook_closeness IS NULL ) ";
}
@@ -4559,12 +4643,12 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
if ($arr['nouveau'] && ($client_mode & CLIENT_MODE_LOAD) && $channel) {
// "New Item View" - show all items unthreaded in reverse created date order
- $items = q("SELECT item.*, item.id AS item_id FROM item
- WHERE $item_uids $item_restrict
- $simple_update
- $sql_extra $sql_nets
- ORDER BY item.received DESC $pager_sql "
- );
+ $items = q("SELECT item.*, item.id AS item_id FROM item
+ WHERE $item_uids $item_restrict
+ $simple_update
+ $sql_extra $sql_nets
+ ORDER BY item.received DESC $pager_sql"
+ );
require_once('include/items.php');
@@ -4593,7 +4677,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
ORDER BY item.$ordering DESC $pager_sql ",
intval(ABOOK_FLAG_BLOCKED)
);
-
+
}
else {
// update
@@ -4624,7 +4708,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
dbesc($parents_str)
);
- $second = dba_timer();
+ //$second = dba_timer();
xchan_query($items);
@@ -4668,9 +4752,9 @@ function update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remo
if($page_type) {
- // store page info as an alternate message_id so we can access it via
+ // store page info as an alternate message_id so we can access it via
// https://sitename/page/$channelname/$pagetitle
- // if no pagetitle was given or it couldn't be transliterated into a url, use the first
+ // if no pagetitle was given or it couldn't be transliterated into a url, use the first
// sixteen bytes of the mid - which makes the link portable and not quite as daunting
// as the entire mid. If it were the post_id the link would be less portable.
@@ -4735,7 +4819,7 @@ function item_remove_cid($xchan_hash,$mid,$uid) {
}
// Set item permissions based on results obtained from linkify_tags()
-function set_linkified_perms($linkified, &$str_contact_allow, &$str_group_allow, $profile_uid, $parent_item = false) {
+function set_linkified_perms($linkified, &$str_contact_allow, &$str_group_allow, $profile_uid, $parent_item = false, &$private) {
$first_access_tag = true;
foreach($linkified as $x) {
@@ -4745,9 +4829,9 @@ function set_linkified_perms($linkified, &$str_contact_allow, &$str_group_allow,
if ($first_access_tag && (! get_pconfig($profile_uid,'system','no_private_mention_acl_override'))) {
// This is a tough call, hence configurable. The issue is that one can type in a @!privacy mention
- // and also have a default ACL (perhaps from viewing a collection) and could be suprised that the
+ // and also have a default ACL (perhaps from viewing a collection) and could be suprised that the
// privacy mention wasn't the only recipient. So the default is to wipe out the existing ACL if a
- // private mention is found. This can be over-ridden if you wish private mentions to be in
+ // private mention is found. This can be over-ridden if you wish private mentions to be in
// addition to the current ACL settings.
$str_contact_allow = '';
@@ -4757,10 +4841,12 @@ function set_linkified_perms($linkified, &$str_contact_allow, &$str_group_allow,
if(strpos($access_tag,'cid:') === 0) {
$str_contact_allow .= '<' . substr($access_tag,4) . '>';
$access_tag = '';
+ $private = 1;
}
elseif(strpos($access_tag,'gid:') === 0) {
$str_group_allow .= '<' . substr($access_tag,4) . '>';
$access_tag = '';
+ $private = 1;
}
}
}
@@ -4770,7 +4856,7 @@ function set_linkified_perms($linkified, &$str_contact_allow, &$str_group_allow,
* We can't trust ITEM_ORIGIN to tell us if this is a local comment
* which needs to be relayed, because it was misconfigured at one point for several
* months and set for some remote items (in alternate delivery chains). This could
- * cause looping, so use this hackish but accurate method.
+ * cause looping, so use this hackish but accurate method.
*
* @param array $item
* @return boolean
diff --git a/include/js_strings.php b/include/js_strings.php
index 84c1d70fb..cae8da5de 100644
--- a/include/js_strings.php
+++ b/include/js_strings.php
@@ -21,6 +21,7 @@ function js_strings() {
'$rating_text' => t('Describe (optional)'),
'$submit' => t('Submit'),
'$linkurl' => t('Please enter a link URL'),
+ '$leavethispage' => t('Unsaved changes. Are you sure you wish to leave this page?'),
'$t01' => ((t('timeago.prefixAgo') != 'timeago.prefixAgo') ? t('timeago.prefixAgo') : ''),
'$t02' => ((t('timeago.prefixFromNow') != 'timeago.prefixFromNow') ? t('timeago.prefixFromNow') : ''),
diff --git a/include/menu.php b/include/menu.php
index 81e986132..b4f4555a5 100644
--- a/include/menu.php
+++ b/include/menu.php
@@ -25,6 +25,7 @@ function menu_fetch($name,$uid,$observer_xchan) {
}
function menu_render($menu, $class='', $edit = false) {
+
if(! $menu)
return '';
@@ -40,6 +41,7 @@ function menu_render($menu, $class='', $edit = false) {
'$menu' => $menu['menu'],
'$class' => $class,
'$edit' => (($edit) ? t("Edit") : ''),
+ '$id' => $menu['menu']['menu_id'],
'$items' => $menu['items']
));
}
@@ -60,14 +62,13 @@ function menu_fetch_id($menu_id,$channel_id) {
function menu_create($arr) {
-
$menu_name = trim(escape_tags($arr['menu_name']));
$menu_desc = trim(escape_tags($arr['menu_desc']));
$menu_flags = intval($arr['menu_flags']);
-
- if(! $menu_desc)
- $menu_desc = $menu_name;
+ //allow menu_desc (title) to be empty
+ //if(! $menu_desc)
+ // $menu_desc = $menu_name;
if(! $menu_name)
return false;
@@ -144,8 +145,9 @@ function menu_edit($arr) {
$menu_desc = trim(escape_tags($arr['menu_desc']));
$menu_flags = intval($arr['menu_flags']);
- if(! $menu_desc)
- $menu_desc = $menu_name;
+ //allow menu_desc (title) to be empty
+ //if(! $menu_desc)
+ // $menu_desc = $menu_name;
if(! $menu_name)
return false;
@@ -227,31 +229,10 @@ function menu_add_item($menu_id, $uid, $arr) {
$channel = get_app()->get_channel();
}
- if (($channel)
- && (! $arr['contact_allow'])
- && (! $arr['group_allow'])
- && (! $arr['contact_deny'])
- && (! $arr['group_deny'])) {
- $str_group_allow = $channel['channel_allow_gid'];
- $str_contact_allow = $channel['channel_allow_cid'];
- $str_group_deny = $channel['channel_deny_gid'];
- $str_contact_deny = $channel['channel_deny_cid'];
- }
- else {
-
- // use the posted permissions
-
- $str_group_allow = perms2str($arr['group_allow']);
- $str_contact_allow = perms2str($arr['contact_allow']);
- $str_group_deny = perms2str($arr['group_deny']);
- $str_contact_deny = perms2str($arr['contact_deny']);
- }
-
-// unused
-// $allow_cid = perms2str($arr['allow_cid']);
-// $allow_gid = perms2str($arr['allow_gid']);
-// $deny_cid = perms2str($arr['deny_cid']);
-// $deny_gid = perms2str($arr['deny_gid']);
+ $str_group_allow = perms2str($arr['group_allow']);
+ $str_contact_allow = perms2str($arr['contact_allow']);
+ $str_group_deny = perms2str($arr['group_deny']);
+ $str_contact_deny = perms2str($arr['contact_deny']);
$r = q("insert into menu_item ( mitem_link, mitem_desc, mitem_flags, allow_cid, allow_gid, deny_cid, deny_gid, mitem_channel_id, mitem_menu_id, mitem_order ) values ( '%s', '%s', %d, '%s', '%s', '%s', '%s', %d, %d, %d ) ",
dbesc($mitem_link),
@@ -283,25 +264,10 @@ function menu_edit_item($menu_id, $uid, $arr) {
$channel = get_app()->get_channel();
}
- if ((! $arr['contact_allow'])
- && (! $arr['group_allow'])
- && (! $arr['contact_deny'])
- && (! $arr['group_deny'])) {
- $str_group_allow = $channel['channel_allow_gid'];
- $str_contact_allow = $channel['channel_allow_cid'];
- $str_group_deny = $channel['channel_deny_gid'];
- $str_contact_deny = $channel['channel_deny_cid'];
- }
- else {
-
- // use the posted permissions
-
- $str_group_allow = perms2str($arr['group_allow']);
- $str_contact_allow = perms2str($arr['contact_allow']);
- $str_group_deny = perms2str($arr['group_deny']);
- $str_contact_deny = perms2str($arr['contact_deny']);
- }
-
+ $str_group_allow = perms2str($arr['group_allow']);
+ $str_contact_allow = perms2str($arr['contact_allow']);
+ $str_group_deny = perms2str($arr['group_deny']);
+ $str_contact_deny = perms2str($arr['contact_deny']);
$r = q("update menu_item set mitem_link = '%s', mitem_desc = '%s', mitem_flags = %d, allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', mitem_order = %d where mitem_channel_id = %d and mitem_menu_id = %d and mitem_id = %d",
dbesc($mitem_link),
diff --git a/include/notifier.php b/include/notifier.php
index bec18142a..b82fb41cc 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -343,6 +343,11 @@ function notifier_run($argv, $argc){
$deleted_item = true;
}
+ if(strpos($target_item['postopts'],'nodeliver') !== false) {
+ logger('notifier: target item is undeliverable', LOGGER_DEBUG);
+ return;
+ }
+
$unforwardable = ITEM_UNPUBLISHED|ITEM_DELAYED_PUBLISH|ITEM_WEBPAGE|ITEM_BUILDBLOCK|ITEM_PDL;
if($target_item['item_restrict'] & $unforwardable) {
logger('notifier: target item not forwardable: flags ' . $target_item['item_restrict'], LOGGER_DEBUG);
@@ -373,6 +378,12 @@ function notifier_run($argv, $argc){
if(! $r)
return;
+
+ if(strpos($r[0]['postopts'],'nodeliver') !== false) {
+ logger('notifier: target item is undeliverable', LOGGER_DEBUG);
+ return;
+ }
+
xchan_query($r);
$r = fetch_post_tags($r);
@@ -591,16 +602,13 @@ function notifier_run($argv, $argc){
foreach($dhubs as $hub) {
- if(defined('DIASPORA_RELIABILITY_EMULATION')) {
- $cointoss = mt_rand(0,2);
- if($cointoss == 2) {
+ if($hub['hubloc_network'] === 'diaspora' || $hub['hubloc_network'] === 'friendica-over-diaspora') {
+ if(! get_config('system','diaspora_enabled'))
continue;
- }
- }
+ // allow this to be set per message
- if($hub['hubloc_network'] === 'diaspora' || $hub['hubloc_network'] === 'friendica-over-diaspora') {
- if(! get_config('system','diaspora_enabled'))
+ if(strpos($target_item['postopts'],'nodspr') !== false)
continue;
require_once('include/diaspora.php');
diff --git a/include/permissions.php b/include/permissions.php
index 82145066b..68ff2b3d4 100644
--- a/include/permissions.php
+++ b/include/permissions.php
@@ -422,12 +422,12 @@ function site_default_perms() {
'post_wall' => PERMS_SPECIFIC,
'post_comments' => PERMS_SPECIFIC,
'post_mail' => PERMS_SPECIFIC,
- 'post_photos' => 0,
+ 'post_photos' => PERMS_SPECIFIC,
'tag_deliver' => PERMS_SPECIFIC,
'chat' => PERMS_SPECIFIC,
- 'write_storage' => 0,
- 'write_pages' => 0,
- 'delegate' => 0,
+ 'write_storage' => PERMS_SPECIFIC,
+ 'write_pages' => PERMS_SPECIFIC,
+ 'delegate' => PERMS_SPECIFIC,
'post_like' => PERMS_NETWORK
);
@@ -487,13 +487,13 @@ function get_role_perms($role) {
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = 0;
+ $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
- $ret['channel_a_delegate'] = 0;
+ $ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
- $ret['channel_w_storage'] = 0;
+ $ret['channel_w_storage'] = PERMS_SPECIFIC;
$ret['channel_r_pages'] = PERMS_PUBLIC;
- $ret['channel_w_pages'] = 0;
+ $ret['channel_w_pages'] = PERMS_SPECIFIC;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
$ret['channel_w_like'] = PERMS_NETWORK;
@@ -519,13 +519,13 @@ function get_role_perms($role) {
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = 0;
+ $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
- $ret['channel_a_delegate'] = 0;
+ $ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
- $ret['channel_w_storage'] = 0;
+ $ret['channel_w_storage'] = PERMS_SPECIFIC;
$ret['channel_r_pages'] = PERMS_PUBLIC;
- $ret['channel_w_pages'] = 0;
+ $ret['channel_w_pages'] = PERMS_SPECIFIC;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
$ret['channel_w_like'] = PERMS_SPECIFIC;
@@ -551,13 +551,13 @@ function get_role_perms($role) {
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = 0;
+ $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
- $ret['channel_a_delegate'] = 0;
+ $ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
- $ret['channel_w_storage'] = 0;
+ $ret['channel_w_storage'] = PERMS_SPECIFIC;
$ret['channel_r_pages'] = PERMS_PUBLIC;
- $ret['channel_w_pages'] = 0;
+ $ret['channel_w_pages'] = PERMS_SPECIFIC;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
$ret['channel_w_like'] = PERMS_SPECIFIC;
@@ -679,13 +679,13 @@ function get_role_perms($role) {
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = 0;
+ $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
- $ret['channel_a_delegate'] = 0;
+ $ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
- $ret['channel_w_storage'] = 0;
+ $ret['channel_w_storage'] = PERMS_SPECIFIC;
$ret['channel_r_pages'] = PERMS_PUBLIC;
- $ret['channel_w_pages'] = 0;
+ $ret['channel_w_pages'] = PERMS_SPECIFIC;
$ret['channel_a_republish'] = PERMS_NETWORK;
$ret['channel_w_like'] = PERMS_NETWORK;
@@ -711,13 +711,13 @@ function get_role_perms($role) {
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = 0;
+ $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
- $ret['channel_a_delegate'] = 0;
+ $ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
- $ret['channel_w_storage'] = 0;
+ $ret['channel_w_storage'] = PERMS_SPECIFIC;
$ret['channel_r_pages'] = PERMS_PUBLIC;
- $ret['channel_w_pages'] = 0;
+ $ret['channel_w_pages'] = PERMS_SPECIFIC;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
$ret['channel_w_like'] = PERMS_NETWORK;
diff --git a/include/socgraph.php b/include/socgraph.php
index 7f03f8696..0ad7c4034 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -180,6 +180,26 @@ function poco_load($xchan = '', $url = null) {
}
$total ++;
+
+
+ $r = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' and xlink_static = 0 limit 1",
+ dbesc($xchan),
+ dbesc($hash)
+ );
+
+ if(! $r) {
+ q("insert into xlink ( xlink_xchan, xlink_link, xlink_updated, xlink_static ) values ( '%s', '%s', '%s', 0 ) ",
+ dbesc($xchan),
+ dbesc($hash),
+ dbesc(datetime_convert())
+ );
+ }
+ else {
+ q("update xlink set xlink_updated = '%s' where xlink_id = %d",
+ dbesc(datetime_convert()),
+ intval($r[0]['xlink_id'])
+ );
+ }
}
logger("poco_load: loaded $total entries",LOGGER_DEBUG);
@@ -450,7 +470,7 @@ function poco($a,$extended = false) {
$sql_extra = " and abook_flags = 0 ";
if($cid)
- $sql_extra = sprintf(" and abook_id = %d ",intval($cid));
+ $sql_extra = sprintf(" and abook_id = %d and ( abook_flags & " . ABOOK_FLAG_HIDDEN . " ) = 0 ",intval($cid));
if($system_mode) {
$r = q("SELECT count(*) as `total` from abook where ( abook_flags & " . ABOOK_FLAG_SELF .
diff --git a/include/taxonomy.php b/include/taxonomy.php
index 4333cdf03..fa540ac56 100644
--- a/include/taxonomy.php
+++ b/include/taxonomy.php
@@ -275,6 +275,11 @@ function catblock($uid,$count = 0,$authors = '',$flags = 0,$restrict = 0,$type =
function dir_tagblock($link,$r) {
$o = '';
+ $observer = get_observer_hash();
+ if(! get_globaldir_setting($observer))
+ return $o;
+
+
if(! $r)
$r = get_app()->data['directory_keywords'];
diff --git a/include/text.php b/include/text.php
index 664d5f83d..deb5a4c90 100644
--- a/include/text.php
+++ b/include/text.php
@@ -98,12 +98,20 @@ function z_input_filter($channel_id,$s,$type = 'text/bbcode') {
return escape_tags($s);
if($type == 'text/plain')
return escape_tags($s);
+
+ $a = get_app();
+ if($a->is_sys) {
+ return $s;
+ }
+
$r = q("select account_id, account_roles, channel_pageflags from account left join channel on channel_account_id = account_id where channel_id = %d limit 1",
intval($channel_id)
);
- if($r && (($r[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE) || ($r[0]['channel_pageflags'] & PAGE_ALLOWCODE))) {
- if(local_channel() && (get_account_id() == $r[0]['account_id'])) {
- return $s;
+ if($r) {
+ if(($r[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE) || ($r[0]['channel_pageflags'] & PAGE_ALLOWCODE)) {
+ if(local_channel() && (get_account_id() == $r[0]['account_id'])) {
+ return $s;
+ }
}
}
@@ -1034,9 +1042,9 @@ function list_smilies() {
'<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-facepalm.gif" alt=":facepalm" />',
'<img class="smiley" src="' . $a->get_baseurl() . '/images/like.gif" alt=":like" />',
'<img class="smiley" src="' . $a->get_baseurl() . '/images/dislike.gif" alt=":dislike" />',
- '<a href="http://getzot.com"><strong>red<img class="smiley" src="' . $a->get_baseurl() . '/images/rm-16.png" alt="' . urlencode('red#matrix') . '" />matrix</strong></a>',
- '<a href="http://getzot.com"><strong>red<img class="smiley" src="' . $a->get_baseurl() . '/images/rm-16.png" alt="' . urlencode('red#') . '" />matrix</strong></a>',
- '<a href="http://getzot.com"><strong>red<img class="smiley" src="' . $a->get_baseurl() . '/images/rm-16.png" alt="r#" />matrix</strong></a>'
+ '<a href="http://getzot.com"><strong>red<img class="smiley bb_rm-logo" src="' . $a->get_baseurl() . '/images/rm-32.png" alt="' . urlencode('red#matrix') . '" />matrix</strong></a>',
+ '<a href="http://getzot.com"><strong>red<img class="smiley bb_rm-logo" src="' . $a->get_baseurl() . '/images/rm-32.png" alt="' . urlencode('red#') . '" />matrix</strong></a>',
+ '<a href="http://getzot.com"><strong>red<img class="smiley bb_rm-logo" src="' . $a->get_baseurl() . '/images/rm-32.png" alt="r#" />matrix</strong></a>'
);
@@ -1177,9 +1185,28 @@ function unobscure(&$item) {
$item['title'] = crypto_unencapsulate(json_decode_plus($item['title']),$key);
if($item['body'])
$item['body'] = crypto_unencapsulate(json_decode_plus($item['body']),$key);
+ if(get_config('system','item_cache')) {
+ q("update item set title = '%s', body = '%s', item_flags = %d where id = %d",
+ dbesc($item['title']),
+ dbesc($item['body']),
+ intval($item['item_flags'] - ITEM_OBSCURED),
+ intval($item['id'])
+ );
+ }
}
}
+function unobscure_mail(&$item) {
+ if(array_key_exists('mail_flags',$item) && ($item['mail_flags'] & MAIL_OBSCURED)) {
+ $key = get_config('system','prvkey');
+ if($item['title'])
+ $item['title'] = crypto_unencapsulate(json_decode_plus($item['title']),$key);
+ if($item['body'])
+ $item['body'] = crypto_unencapsulate(json_decode_plus($item['body']),$key);
+ }
+}
+
+
function theme_attachments(&$item) {
$arr = json_decode_plus($item['attach']);
@@ -1258,15 +1285,19 @@ function format_categories(&$item,$writeable) {
return $s;
}
-// Add any hashtags which weren't mentioned in the message body, e.g. community tags
-
+/**
+ * @brief Add any hashtags which weren't mentioned in the message body, e.g. community tags
+ *
+ * @param[in] array &$item
+ * @return string HTML link of hashtag
+ */
function format_hashtags(&$item) {
-
$s = '';
- $terms = get_terms_oftype($item['term'],TERM_HASHTAG);
+
+ $terms = get_terms_oftype($item['term'], TERM_HASHTAG);
if($terms) {
foreach($terms as $t) {
- $term = htmlspecialchars($t['term'],ENT_COMPAT,'UTF-8',false) ;
+ $term = htmlspecialchars($t['term'], ENT_COMPAT, 'UTF-8', false) ;
if(! trim($term))
continue;
if(strpos($item['body'], $t['url']))
@@ -1278,6 +1309,7 @@ function format_hashtags(&$item) {
$s .= '#<a href="' . zid($t['url']) . '" >' . $term . '</a>';
}
}
+
return $s;
}
@@ -1301,6 +1333,7 @@ function format_mentions(&$item) {
$s .= '@<a href="' . zid($t['url']) . '" >' . $term . '</a>';
}
}
+
return $s;
}
@@ -1346,8 +1379,12 @@ function generate_named_map($location) {
function prepare_body(&$item,$attach = false) {
+ if(get_config('system','item_cache') && $item['html'])
+ return $item['html'];
+
call_hooks('prepare_body_init', $item);
+
unobscure($item);
$s = prepare_text($item['body'],$item['mimetype']);
@@ -1415,6 +1452,12 @@ function prepare_body(&$item,$attach = false) {
$prep_arr = array('item' => $item, 'html' => $s);
call_hooks('prepare_body_final', $prep_arr);
+ if(get_config('system','item_cache'))
+ q("update item set html = '%s' where id = %d",
+ dbesc($prep_arr['html']),
+ intval($item['id'])
+ );
+
return $prep_arr['html'];
}
@@ -1581,18 +1624,20 @@ function layout_select($channel_id, $current = '') {
intval($channel_id),
intval(ITEM_PDL)
);
+
if($r) {
- $o = t('Select a page layout: ');
- $o .= '<select name="layout_mid" id="select-layout_mid" >';
- $empty_selected = (($current === '') ? ' selected="selected" ' : '');
- $o .= '<option value="" ' . $empty_selected . '>' . t('default') . '</option>';
+ $empty_selected = (($current === false) ? ' selected="selected" ' : '');
+ $options .= '<option value="" ' . $empty_selected . '>' . t('default') . '</option>';
foreach($r as $rr) {
$selected = (($rr['mid'] == $current) ? ' selected="selected" ' : '');
- $o .= '<option value="' . $rr['mid'] . '"' . $selected . '>' . $rr['sid'] . '</option>';
+ $options .= '<option value="' . $rr['mid'] . '"' . $selected . '>' . $rr['sid'] . '</option>';
}
- $o .= '</select>';
}
+ $o = replace_macros(get_markup_template('field_select_raw.tpl'), array(
+ '$field' => array('layout_mid', t('Page layout'), $selected, t('You can create your own with the layouts tool'), $options)
+ ));
+
return $o;
}
@@ -1606,25 +1651,33 @@ function mimetype_select($channel_id, $current = 'text/bbcode') {
'text/plain'
);
- $r = q("select account_id, account_roles, channel_pageflags from account left join channel on account_id = channel_account_id where
- channel_id = %d limit 1",
- intval($channel_id)
- );
+ $a = get_app();
+ if($a->is_sys) {
+ $x[] = 'application/x-php';
+ }
+ else {
+ $r = q("select account_id, account_roles, channel_pageflags from account left join channel on account_id = channel_account_id where
+ channel_id = %d limit 1",
+ intval($channel_id)
+ );
- if($r) {
- if(($r[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE) || ($r[0]['channel_pageflags'] & PAGE_ALLOWCODE)) {
- if(local_channel() && get_account_id() == $r[0]['account_id'])
- $x[] = 'application/x-php';
- }
+ if($r) {
+ if(($r[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE) || ($r[0]['channel_pageflags'] & PAGE_ALLOWCODE)) {
+ if(local_channel() && get_account_id() == $r[0]['account_id']) {
+ $x[] = 'application/x-php';
+ }
+ }
+ }
}
- $o = t('Page content type: ');
- $o .= '<select name="mimetype" id="mimetype-select">';
foreach($x as $y) {
- $select = (($y == $current) ? ' selected="selected" ' : '');
- $o .= '<option name="' . $y . '"' . $select . '>' . $y . '</option>';
+ $selected = (($y == $current) ? ' selected="selected" ' : '');
+ $options .= '<option name="' . $y . '"' . $selected . '>' . $y . '</option>';
}
- $o .= '</select>';
+
+ $o = replace_macros(get_markup_template('field_select_raw.tpl'), array(
+ '$field' => array('mimetype', t('Page content type'), $selected, '', $options)
+ ));
return $o;
}
@@ -2065,7 +2118,11 @@ function json_decode_plus($s) {
return $x;
}
-
+/**
+ * @brief Creates navigation menu for webpage, layout, blocks, menu sites.
+ *
+ * @return string
+ */
function design_tools() {
$channel = get_app()->get_channel();
@@ -2080,7 +2137,7 @@ function design_tools() {
$who = $channel['channel_address'];
return replace_macros(get_markup_template('design_tools.tpl'), array(
- '$title' => t('Design'),
+ '$title' => t('Design Tools'),
'$who' => $who,
'$sys' => $sys,
'$blocks' => t('Blocks'),
diff --git a/include/widgets.php b/include/widgets.php
index 243c4a25e..4a9032a21 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -420,18 +420,35 @@ function widget_affinity($arr) {
$cmin = ((x($_REQUEST,'cmin')) ? intval($_REQUEST['cmin']) : 0);
$cmax = ((x($_REQUEST,'cmax')) ? intval($_REQUEST['cmax']) : 99);
+
if(feature_enabled(local_channel(),'affinity')) {
+
+ $labels = array(
+ t('Me'),
+ t('Family'),
+ t('Friends'),
+ t('Acquaintances'),
+ t('All')
+ );
+ call_hooks('affinity_labels',$labels);
+ $label_str = '';
+
+ if($labels) {
+ foreach($labels as $l) {
+ if($label_str) {
+ $label_str .= ", '|'";
+ $label_str .= ", '" . $l . "'";
+ }
+ else
+ $label_str .= "'" . $l . "'";
+ }
+ }
+
$tpl = get_markup_template('main_slider.tpl');
$x = replace_macros($tpl,array(
'$val' => $cmin . ',' . $cmax,
'$refresh' => t('Refresh'),
- '$me' => t('Me'),
- '$intimate' => t('Best Friends'),
- '$friends' => t('Friends'),
- '$coworkers' => t('Co-workers'),
- '$oldfriends' => t('Former Friends'),
- '$acquaintances' => t('Acquaintances'),
- '$world' => t('Everybody')
+ '$labels' => $label_str,
));
$arr = array('html' => $x);
call_hooks('main_slider',$arr);
@@ -968,4 +985,4 @@ function widget_pubsites() {
if(get_app()->poi)
return;
return '<div class="widget"><ul class="nav nav-pills"><li><a href="pubsites">' . t('Public Hubs') . '</a></li></ul></div>';
-} \ No newline at end of file
+}
diff --git a/include/zot.php b/include/zot.php
index 28a2e8957..3c7413b5c 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -32,6 +32,7 @@ require_once('include/hubloc.php');
*/
function zot_new_uid($channel_nick) {
$rawstr = z_root() . '/' . $channel_nick . '.' . mt_rand();
+
return(base64url_encode(hash('whirlpool', $rawstr, true), true));
}
@@ -40,8 +41,9 @@ function zot_new_uid($channel_nick) {
*
* Generates a portable hash identifier for the channel identified by $guid and
* signed with $guid_sig.
- * This ID is portable across the network but MUST be calculated locally by
- * verifying the signature and can not be trusted as an identity.
+ *
+ * @note This ID is portable across the network but MUST be calculated locally
+ * by verifying the signature and can not be trusted as an identity.
*
* @param string $guid
* @param string $guid_sig
@@ -116,7 +118,7 @@ function zot_build_packet($channel, $type = 'notify', $recipients = null, $remot
'guid_sig' => base64url_encode(rsa_sign($channel['channel_guid'],$channel['channel_prvkey'])),
'url' => z_root(),
'url_sig' => base64url_encode(rsa_sign(z_root(),$channel['channel_prvkey']))
- ),
+ ),
'callback' => '/post',
'version' => ZOT_REVISION
);
@@ -124,11 +126,12 @@ function zot_build_packet($channel, $type = 'notify', $recipients = null, $remot
if ($recipients) {
for ($x = 0; $x < count($recipients); $x ++)
unset($recipients[$x]['hash']);
+
$data['recipients'] = $recipients;
}
if ($secret) {
- $data['secret'] = $secret;
+ $data['secret'] = $secret;
$data['secret_sig'] = base64url_encode(rsa_sign($secret,$channel['channel_prvkey']));
}
@@ -195,7 +198,7 @@ function zot_finger($webbie, $channel = null, $autofallback = true) {
// The webbie we were called with may not, so it might not be found
// unless we query for hubloc_addr instead of xchan_addr
- $r = q("select xchan.*, hubloc.* from xchan
+ $r = q("select xchan.*, hubloc.* from xchan
left join hubloc on xchan_hash = hubloc_hash
where xchan_addr = '%s' and (hubloc_flags & %d) > 0 limit 1",
dbesc($xchan_addr),
@@ -257,19 +260,19 @@ function zot_finger($webbie, $channel = null, $autofallback = true) {
* @brief Refreshes after permission changed or friending, etc.
*
* zot_refresh is typically invoked when somebody has changed permissions of a channel and they are notified
- * to fetch new permissions via a finger/discovery operation. This may result in a new connection
- * (abook entry) being added to a local channel and it may result in auto-permissions being granted.
+ * to fetch new permissions via a finger/discovery operation. This may result in a new connection
+ * (abook entry) being added to a local channel and it may result in auto-permissions being granted.
*
* Friending in zot is accomplished by sending a refresh packet to a specific channel which indicates a
* permission change has been made by the sender which affects the target channel. The hub controlling
* the target channel does targetted discovery (a zot-finger request requesting permissions for the local
* channel). These are decoded here, and if necessary and abook structure (addressbook) is created to store
- * the permissions assigned to this channel.
+ * the permissions assigned to this channel.
*
- * Initially these abook structures are created with a 'pending' flag, so that no reverse permissions are
- * implied until this is approved by the owner channel. A channel can also auto-populate permissions in
+ * Initially these abook structures are created with a 'pending' flag, so that no reverse permissions are
+ * implied until this is approved by the owner channel. A channel can also auto-populate permissions in
* return and send back a refresh packet of its own. This is used by forum and group communication channels
- * so that friending and membership in the channel's "club" is automatic.
+ * so that friending and membership in the channel's "club" is automatic.
*
* @param array $them => xchan structure of sender
* @param array $channel => local channel structure of target recipient, required for "friending" operations
@@ -376,7 +379,7 @@ function zot_refresh($them, $channel = null, $force = false) {
if($k === 'connected') {
$connected_set = intval($v);
continue;
- }
+ }
if(($v) && (array_key_exists($k,$global_perms))) {
$their_perms = $their_perms | intval($global_perms[$k][1]);
}
@@ -389,7 +392,7 @@ function zot_refresh($them, $channel = null, $force = false) {
intval(ABOOK_FLAG_SELF)
);
- if(array_key_exists('profile',$j) && array_key_exists('next_birthday',$j['profile'])) {
+ if(array_key_exists('profile',$j) && array_key_exists('next_birthday',$j['profile'])) {
$next_birthday = datetime_convert('UTC','UTC',$j['profile']['next_birthday']);
}
else {
@@ -398,9 +401,9 @@ function zot_refresh($them, $channel = null, $force = false) {
if($r) {
- // if the dob is the same as what we have stored (disregarding the year), keep the one
+ // if the dob is the same as what we have stored (disregarding the year), keep the one
// we have as we may have updated the year after sending a notification; and resetting
- // to the one we just received would cause us to create duplicated events.
+ // to the one we just received would cause us to create duplicated events.
if(substr($r[0]['abook_dob'],5) == substr($next_birthday,5))
$next_birthday = $r[0]['abook_dob'];
@@ -408,7 +411,7 @@ function zot_refresh($them, $channel = null, $force = false) {
$current_abook_connected = (($r[0]['abook_flags'] & ABOOK_FLAG_UNCONNECTED) ? 0 : 1);
$y = q("update abook set abook_their_perms = %d, abook_dob = '%s'
- where abook_xchan = '%s' and abook_channel = %d
+ where abook_xchan = '%s' and abook_channel = %d
and not (abook_flags & %d) > 0 ",
intval($their_perms),
dbescdate($next_birthday),
@@ -420,11 +423,11 @@ function zot_refresh($them, $channel = null, $force = false) {
// if(($connected_set === 0 || $connected_set === 1) && ($connected_set !== $current_abook_unconnected)) {
// if they are in your address book but you aren't in theirs, and/or this does not
- // match your current connected state setting, toggle it.
+ // match your current connected state setting, toggle it.
/** @FIXME uncoverted to postgres */
/** @FIXME when this was enabled, all contacts became unconnected. Currently disabled intentionally */
// $y1 = q("update abook set abook_flags = (abook_flags ^ %d)
-// where abook_xchan = '%s' and abook_channel = %d
+// where abook_xchan = '%s' and abook_channel = %d
// and not (abook_flags & %d) limit 1",
// intval(ABOOK_FLAG_UNCONNECTED),
// dbesc($x['hash']),
@@ -438,7 +441,7 @@ function zot_refresh($them, $channel = null, $force = false) {
else {
// if we were just granted read stream permission and didn't have it before, try to pull in some posts
if((! ($r[0]['abook_their_perms'] & PERMS_R_STREAM)) && ($their_perms & PERMS_R_STREAM))
- proc_run('php','include/onepoll.php',$r[0]['abook_id']);
+ proc_run('php','include/onepoll.php',$r[0]['abook_id']);
}
}
else {
@@ -450,7 +453,7 @@ function zot_refresh($them, $channel = null, $force = false) {
}
if(! $default_perms)
$default_perms = intval(get_pconfig($channel['channel_id'],'system','autoperms'));
-
+
// Keep original perms to check if we need to notify them
$previous_perms = get_all_perms($channel['channel_id'],$x['hash']);
@@ -493,23 +496,24 @@ function zot_refresh($them, $channel = null, $force = false) {
if($new_connection) {
require_once('include/enotify.php');
notification(array(
- 'type' => NOTIFY_INTRO,
- 'from_xchan' => $x['hash'],
- 'to_xchan' => $channel['channel_hash'],
- 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id'],
+ 'type' => NOTIFY_INTRO,
+ 'from_xchan' => $x['hash'],
+ 'to_xchan' => $channel['channel_hash'],
+ 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id'],
));
}
if($new_connection && ($their_perms & PERMS_R_STREAM)) {
if(($channel['channel_w_stream'] & PERMS_PENDING)
|| (! ($new_connection[0]['abook_flags'] & ABOOK_FLAG_PENDING)) )
- proc_run('php','include/onepoll.php',$new_connection[0]['abook_id']);
+ proc_run('php','include/onepoll.php',$new_connection[0]['abook_id']);
}
}
}
}
return true;
}
+
return false;
}
@@ -521,7 +525,7 @@ function zot_refresh($them, $channel = null, $force = false) {
* This function looks these up to see if the channel is known and therefore
* previously verified. If not, we will need to verify it.
*
- * @param array $arr an assoziative array which must contain:
+ * @param array $arr an associative array which must contain:
* * \e string \b guid => guid of conversant
* * \e string \b guid_sig => guid signed with conversant's private key
* * \e string \b url => URL of the origination hub of this communication
@@ -549,8 +553,8 @@ function zot_gethub($arr) {
return null;
}
- $r = q("select * from hubloc
- where hubloc_guid = '%s' and hubloc_guid_sig = '%s'
+ $r = q("select * from hubloc
+ where hubloc_guid = '%s' and hubloc_guid_sig = '%s'
and hubloc_url = '%s' and hubloc_url_sig = '%s'
limit 1",
dbesc($arr['guid']),
@@ -564,24 +568,25 @@ function zot_gethub($arr) {
}
}
logger('zot_gethub: not found: ' . print_r($arr,true), LOGGER_DEBUG);
+
return null;
}
/**
* @brief Registers an unknown hup.
*
- * A communication has been received which has an unknown (to us) sender.
+ * A communication has been received which has an unknown (to us) sender.
* Perform discovery based on our calculated hash of the sender at the
* origination address. This will fetch the discovery packet of the sender,
* which contains the public key we need to verify our guid and url signatures.
*
- * @param array $arr an assoziative array which must contain:
+ * @param array $arr an associative array which must contain:
* * \e string \b guid => guid of conversant
* * \e string \b guid_sig => guid signed with conversant's private key
* * \e string \b url => URL of the origination hub of this communication
* * \e string \b url_sig => URL signed with conversant's private key
*
- * @returns array an assoziative array with:
+ * @returns array an associative array with
* * \b success boolean true or false
* * \b message (optional) error string only if success is false
*/
@@ -604,8 +609,8 @@ function zot_register_hub($arr) {
if($x['success']) {
$record = json_decode($x['body'],true);
- /*
- * We now have a key - only continue registration if our signatures are valid
+ /*
+ * We now have a key - only continue registration if our signatures are valid
* AND the guid and guid sig in the returned packet match those provided in
* our current communication.
*/
@@ -621,7 +626,7 @@ function zot_register_hub($arr) {
}
else {
logger('zot_register_hub: failure to verify returned packet.');
- }
+ }
}
}
@@ -639,7 +644,7 @@ function zot_register_hub($arr) {
* this typically occurs once a month for each channel as part of a scheduled ping to notify the directory
* that the channel still exists
* @param array $ud_arr
- * If set [typically by update_directory_entry()] indicates a specific update table row and more particularly
+ * If set [typically by update_directory_entry()] indicates a specific update table row and more particularly
* contains a particular address (ud_addr) which needs to be updated in that table.
*
* @return associative array
@@ -651,7 +656,7 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
call_hooks('import_xchan', $arr);
$ret = array('success' => false);
- $dirmode = intval(get_config('system','directory_mode'));
+ $dirmode = intval(get_config('system','directory_mode'));
$changed = false;
$what = '';
@@ -697,7 +702,7 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
// if we import an entry from a site that's not ours and either or both of us is off the grid - hide the entry.
/** @TODO: check if we're the same directory realm, which would mean we are allowed to see it */
- $dirmode = get_config('system','directory_mode');
+ $dirmode = get_config('system','directory_mode');
if((($arr['site']['directory_mode'] === 'standalone') || ($dirmode & DIRECTORY_MODE_STANDALONE)) && ($arr['site']['url'] != z_root()))
$arr['searchable'] = false;
@@ -725,14 +730,14 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
if($pubforum_changed)
$new_flags = $r[0]['xchan_flags'] ^ XCHAN_FLAGS_PUBFORUM;
- if(($r[0]['xchan_name_date'] != $arr['name_updated'])
- || ($r[0]['xchan_connurl'] != $arr['connections_url'])
+ if(($r[0]['xchan_name_date'] != $arr['name_updated'])
+ || ($r[0]['xchan_connurl'] != $arr['connections_url'])
|| ($r[0]['xchan_flags'] != $new_flags)
|| ($r[0]['xchan_addr'] != $arr['address'])
|| ($r[0]['xchan_follow'] != $arr['follow_url'])
- || ($r[0]['xchan_connpage'] != $arr['connect_url'])
+ || ($r[0]['xchan_connpage'] != $arr['connect_url'])
|| ($r[0]['xchan_url'] != $arr['url'])) {
- $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s', xchan_connurl = '%s', xchan_follow = '%s',
+ $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s', xchan_connurl = '%s', xchan_follow = '%s',
xchan_connpage = '%s', xchan_flags = %d,
xchan_addr = '%s', xchan_url = '%s' where xchan_hash = '%s'",
dbesc(($arr['name']) ? $arr['name'] : '-'),
@@ -754,8 +759,9 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
} else {
$import_photos = true;
- if((($arr['site']['directory_mode'] === 'standalone') || ($dirmode & DIRECTORY_MODE_STANDALONE))
-&& ($arr['site']['url'] != z_root()))
+ if((($arr['site']['directory_mode'] === 'standalone')
+ || ($dirmode & DIRECTORY_MODE_STANDALONE))
+ && ($arr['site']['url'] != z_root()))
$arr['searchable'] = false;
$hidden = (1 - intval($arr['searchable']));
@@ -822,7 +828,7 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
if ($photos) {
if ($photos[4]) {
// importing the photo failed somehow. Leave the photo_date alone so we can try again at a later date.
- // This often happens when somebody joins the matrix with a bad cert.
+ // This often happens when somebody joins the matrix with a bad cert.
$r = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
where xchan_hash = '%s'",
dbesc($photos[0]),
@@ -847,7 +853,7 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
}
}
- // what we are missing for true hub independence is for any changes in the primary hub to
+ // what we are missing for true hub independence is for any changes in the primary hub to
// get reflected not only in the hublocs, but also to update the URLs and addr in the appropriate xchan
$s = sync_locations($arr, $arr);
@@ -870,19 +876,18 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
$other_realm = false;
$realm = get_directory_realm();
- if(array_key_exists('site',$arr)
- && array_key_exists('realm',$arr['site'])
+ if(array_key_exists('site',$arr)
+ && array_key_exists('realm',$arr['site'])
&& (strpos($arr['site']['realm'],$realm) === false))
$other_realm = true;
if($dirmode != DIRECTORY_MODE_NORMAL) {
// We're some kind of directory server. However we can only add directory information
- // if the entry is in the same realm (or is a sub-realm). Sub-realms are denoted by
- // including the parent realm in the name. e.g. 'RED_GLOBAL:foo' would allow an entry to
+ // if the entry is in the same realm (or is a sub-realm). Sub-realms are denoted by
+ // including the parent realm in the name. e.g. 'RED_GLOBAL:foo' would allow an entry to
// be in directories for the local realm (foo) and also the RED_GLOBAL realm.
-
if(array_key_exists('profile',$arr) && is_array($arr['profile']) && (! $other_realm)) {
$profile_changed = import_directory_profile($xchan_hash,$arr['profile'],$address,$ud_flags, 1);
if($profile_changed) {
@@ -910,7 +915,7 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
}
if(($changed) || ($ud_flags == UPDATE_FLAGS_FORCED)) {
- $guid = random_string() . '@' . get_app()->get_hostname();
+ $guid = random_string() . '@' . get_app()->get_hostname();
update_modtime($xchan_hash,$guid,$address,$ud_flags);
logger('import_xchan: changed: ' . $what,LOGGER_DEBUG);
}
@@ -987,7 +992,7 @@ function zot_process_response($hub, $arr, $outq) {
*
* We received a notification packet (in mod/post.php) that a message is waiting for us, and we've verified the sender.
* Now send back a pickup message, using our message tracking ID ($arr['secret']), which we will sign with our site private key.
- * The entire pickup message is encrypted with the remote site's public key.
+ * The entire pickup message is encrypted with the remote site's public key.
* If everything checks out on the remote end, we will receive back a packet containing one or more messages,
* which will be processed and delivered before this function ultimately returns.
*
@@ -1028,8 +1033,8 @@ function zot_fetch($arr) {
/**
* @brief Process incoming array of messages.
- *
- * Process an incoming array of messages which were obtained via pickup, and
+ *
+ * Process an incoming array of messages which were obtained via pickup, and
* import, update, delete as directed.
*
* The message types handled here are 'activity' (e.g. posts), 'mail' ,
@@ -1051,14 +1056,14 @@ function zot_fetch($arr) {
*/
function zot_import($arr, $sender_url) {
- $data = json_decode($arr['body'],true);
+ $data = json_decode($arr['body'], true);
if(! $data) {
logger('zot_import: empty body');
return array();
}
- if(array_key_exists('iv',$data)) {
+ if(array_key_exists('iv', $data)) {
$data = json_decode(crypto_unencapsulate($data,get_config('system','prvkey')),true);
}
@@ -1081,7 +1086,7 @@ function zot_import($arr, $sender_url) {
logger('zot_import: notify: ' . print_r($i['notify'],true), LOGGER_DATA);
- $hub = zot_gethub($i['notify']['sender']);
+ $hub = zot_gethub($i['notify']['sender']);
if((! $hub) || ($hub['hubloc_url'] != $sender_url)) {
logger('zot_import: potential forgery: wrong site for sender: ' . $sender_url . ' != ' . print_r($i['notify'],true));
continue;
@@ -1117,16 +1122,16 @@ function zot_import($arr, $sender_url) {
continue;
}
- // It's a specifically targetted post. If we were sent a public_scope hint (likely),
- // get rid of it so that it doesn't get stored and cause trouble.
+ // It's a specifically targetted post. If we were sent a public_scope hint (likely),
+ // get rid of it so that it doesn't get stored and cause trouble.
- if(($i) && is_array($i) && array_key_exists('message',$i) && is_array($i['message'])
+ if(($i) && is_array($i) && array_key_exists('message',$i) && is_array($i['message'])
&& $i['message']['type'] === 'activity' && array_key_exists('public_scope',$i['message']))
unset($i['message']['public_scope']);
$deliveries = $r;
- // We found somebody on this site that's in the recipient list.
+ // We found somebody on this site that's in the recipient list.
}
else {
@@ -1151,12 +1156,12 @@ function zot_import($arr, $sender_url) {
}
// if the scope is anything but 'public' we're going to store it as private regardless
- // of the private flag on the post.
+ // of the private flag on the post.
- if($i['message'] && array_key_exists('public_scope',$i['message'])
+ if($i['message'] && array_key_exists('public_scope',$i['message'])
&& $i['message']['public_scope'] !== 'public') {
- if(! array_key_exists('flags',$i['message']))
+ if(! array_key_exists('flags',$i['message']))
$i['message']['flags'] = array();
if(! in_array('private',$i['message']['flags']))
$i['message']['flags'][] = 'private';
@@ -1223,7 +1228,7 @@ function zot_import($arr, $sender_url) {
logger('Channel sync received: ' . print_r($arr,true), LOGGER_DATA);
logger('Channel sync recipients: ' . print_r($deliveries,true), LOGGER_DATA);
-
+
$result = process_channel_sync_delivery($i['notify']['sender'],$arr,$deliveries);
}
elseif($i['message']['type'] === 'location') {
@@ -1231,7 +1236,7 @@ function zot_import($arr, $sender_url) {
logger('Location message received: ' . print_r($arr,true), LOGGER_DATA);
logger('Location message recipients: ' . print_r($deliveries,true), LOGGER_DATA);
-
+
$result = process_location_delivery($i['notify']['sender'],$arr,$deliveries);
}
}
@@ -1244,19 +1249,18 @@ function zot_import($arr, $sender_url) {
return $return;
}
-
-// A public message with no listed recipients can be delivered to anybody who
-// has PERMS_NETWORK for that type of post, PERMS_AUTHED (in-network senders are
-// by definition authenticated) or PERMS_SITE and is one the same
-// site, or PERMS_SPECIFIC and the sender is a contact who is granted
-// permissions via their connection permissions in the address book.
-// Here we take a given message and construct a list of hashes of everybody
-// on the site that we should try and deliver to.
-// Some of these will be rejected, but this gives us a place to start.
-
/**
* @brief
*
+ * A public message with no listed recipients can be delivered to anybody who
+ * has PERMS_NETWORK for that type of post, PERMS_AUTHED (in-network senders are
+ * by definition authenticated) or PERMS_SITE and is one the same site,
+ * or PERMS_SPECIFIC and the sender is a contact who is granted permissions via
+ * their connection permissions in the address book.
+ * Here we take a given message and construct a list of hashes of everybody
+ * on the site that we should try and deliver to.
+ * Some of these will be rejected, but this gives us a place to start.
+ *
* @param array $msg
* @return NULL|array
*/
@@ -1281,24 +1285,24 @@ function public_recips($msg) {
// notes (below) from when I got this section of code working. You would think that
// we only have to find those with the requisite stream or comment permissions,
// depending on whether this is a top-level post or a comment - but you would be wrong.
-
+
// ... so public_recips and allowed_public_recips is working so much better
- // than before, but was still not quite right. We seem to be getting all the right
- // results for top-level posts now, but comments aren't getting through on channels
+ // than before, but was still not quite right. We seem to be getting all the right
+ // results for top-level posts now, but comments aren't getting through on channels
// for which we've allowed them to send us their stream, but not comment on our posts.
- // The reason is we were seeing if they could comment - and we only need to do that if
+ // The reason is we were seeing if they could comment - and we only need to do that if
// we own the post. If they own the post, we only need to check if they can send us their stream.
// if this is a comment and it wasn't sent by the post owner, check to see who is allowing them to comment.
- // We should have one specific recipient and this step shouldn't be needed unless somebody stuffed up
+ // We should have one specific recipient and this step shouldn't be needed unless somebody stuffed up
// their software. We may need this step to protect us from bad guys intentionally stuffing up their software.
// If it is sent by the post owner, we don't need to do this. We only need to see who is receiving the
// owner's stream (which was already set above) - as they control the comment permissions, not us.
- // Note that by doing this we introduce another bug because some public forums have channel_w_stream
+ // Note that by doing this we introduce another bug because some public forums have channel_w_stream
// permissions set to themselves only. We also need in this function to add these public forums to the
- // public recipient list based on if they are tagged or not and have tag permissions. This is complicated
- // by the fact that this activity doesn't have the public forum tag. It's the parent activity that
+ // public recipient list based on if they are tagged or not and have tag permissions. This is complicated
+ // by the fact that this activity doesn't have the public forum tag. It's the parent activity that
// contains the tag. we'll solve that further below.
if($msg['notify']['sender']['guid_sig'] != $msg['message']['owner']['guid_sig']) {
@@ -1320,17 +1324,18 @@ function public_recips($msg) {
// First find those channels who are accepting posts from anybody, or at least
// something greater than just their connections.
- if($msg['notify']['sender']['url'] === z_root())
- $sql = " where (( " . $col . " & " . intval(PERMS_NETWORK) . " ) > 0
- or ( " . $col . " & " . intval(PERMS_SITE) . " ) > 0
- or ( " . $col . " & " . intval(PERMS_PUBLIC) . ") > 0
+ if($msg['notify']['sender']['url'] === z_root()) {
+ $sql = " where (( " . $col . " & " . intval(PERMS_NETWORK) . " ) > 0
+ or ( " . $col . " & " . intval(PERMS_SITE) . " ) > 0
+ or ( " . $col . " & " . intval(PERMS_PUBLIC) . ") > 0
or ( " . $col . " & " . intval(PERMS_AUTHED) . ") > 0 ) ";
- else
- $sql = " where (( " . $col . " & " . intval(PERMS_NETWORK) . " ) > 0
- or ( " . $col . " & " . intval(PERMS_PUBLIC) . ") > 0
+ } else {
+ $sql = " where (( " . $col . " & " . intval(PERMS_NETWORK) . " ) > 0
+ or ( " . $col . " & " . intval(PERMS_PUBLIC) . ") > 0
or ( " . $col . " & " . intval(PERMS_AUTHED) . ") > 0 ) ";
+ }
- $r = q("select channel_hash as hash from channel $sql or channel_hash = '%s'
+ $r = q("select channel_hash as hash from channel $sql or channel_hash = '%s'
and ( channel_pageflags & " . intval(PAGE_REMOVED) . " ) = 0 ",
dbesc($msg['notify']['sender']['hash'])
);
@@ -1341,13 +1346,13 @@ function public_recips($msg) {
// Now we have to get a bit dirty. Find every channel that has the sender in their connections (abook)
// and is allowing this sender at least at a high level.
- $x = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id
- where abook_xchan = '%s' and ( channel_pageflags & " . intval(PAGE_REMOVED) . " ) = 0
- and (( " . $col . " & " . intval(PERMS_SPECIFIC) . " ) > 0 and ( abook_my_perms & " . intval($field) . " ) > 0 )
- OR ( " . $col . " & " . intval(PERMS_PENDING) . " ) > 0
+ $x = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id
+ where abook_xchan = '%s' and ( channel_pageflags & " . intval(PAGE_REMOVED) . " ) = 0
+ and (( " . $col . " & " . intval(PERMS_SPECIFIC) . " ) > 0 and ( abook_my_perms & " . intval($field) . " ) > 0 )
+ OR ( " . $col . " & " . intval(PERMS_PENDING) . " ) > 0
OR (( " . $col . " & " . intval(PERMS_CONTACTS) . " ) > 0 and ( abook_flags & " . intval(ABOOK_FLAG_PENDING) . " ) = 0 ) ",
dbesc($msg['notify']['sender']['hash'])
- );
+ );
if(! $x)
$x = array();
@@ -1386,7 +1391,7 @@ function public_recips($msg) {
}
else {
// This is a comment. We need to find any parent with ITEM_UPLINK set. But in fact, let's just return
- // everybody that stored a copy of the parent. This way we know we're covered. We'll check the
+ // everybody that stored a copy of the parent. This way we know we're covered. We'll check the
// comment permissions when we deliver them.
if($msg['message']['message_top']) {
@@ -1395,7 +1400,7 @@ function public_recips($msg) {
intval(ITEM_UPLINK)
);
if($z)
- $r = array_merge($r,$z);
+ $r = array_merge($r,$z);
}
}
@@ -1404,7 +1409,7 @@ function public_recips($msg) {
if($r) {
$uniq = array();
-
+
foreach($r as $rr) {
if(! in_array($rr['hash'],$uniq))
$uniq[] = $rr['hash'];
@@ -1419,9 +1424,18 @@ function public_recips($msg) {
return $r;
}
-// This is the second part of the above function. We'll find all the channels willing to accept public posts from us,
-// then match them against the sender privacy scope and see who in that list that the sender is allowing.
-
+/**
+ * @brief
+ *
+ * This is the second part of public_recipes().
+ * We'll find all the channels willing to accept public posts from us, then
+ * match them against the sender privacy scope and see who in that list that
+ * the sender is allowing.
+ *
+ * @see public_recipes()
+ * @param array $msg
+ * @return array
+ */
function allowed_public_recips($msg) {
logger('allowed_public_recips: ' . print_r($msg,true),LOGGER_DATA);
@@ -1431,8 +1445,8 @@ function allowed_public_recips($msg) {
// Mail won't have a public scope.
// in fact, it's doubtful mail will ever get here since it almost universally
- // has a recipient, but in fact we don't require this, so it's technically
- // possible to send mail to anybody that's listening.
+ // has a recipient, but in fact we don't require this, so it's technically
+ // possible to send mail to anybody that's listening.
$recips = public_recips($msg);
@@ -1483,12 +1497,21 @@ function allowed_public_recips($msg) {
return array();
}
-
-function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$request = false) {
+/**
+ * @brief
+ *
+ * @param array $sender
+ * @param array $arr
+ * @param array $deliveries
+ * @param boolean $relay
+ * @param boolean $public (optional) default false
+ * @param boolean $request (optional) default false
+ * @return array
+ */
+function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $request = false) {
$result = array();
-
// We've validated the sender. Now make sure that the sender is the owner or author
if(! $public) {
@@ -1505,7 +1528,7 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque
);
if(! $r) {
- $result[] = array($d['hash'],'recipients not found');
+ $result[] = array($d['hash'], 'recipients not found');
continue;
}
@@ -1513,7 +1536,7 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque
// allow public postings to the sys channel regardless of permissions, but not
// for comments travelling upstream. Wait and catch them on the way down.
- // They may have been blocked by the owner.
+ // They may have been blocked by the owner.
if(($channel['channel_pageflags'] & PAGE_SYSTEM) && (! $arr['item_private']) && (! $relay)) {
$local_public = true;
@@ -1557,7 +1580,7 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque
// We are only going to accept comments from this sender if the comment has the same route as the top-level-post,
// this is so that permissions mismatches between senders apply to the entire conversation
// As a side effect we will also do a preliminary check that we have the top-level-post, otherwise
- // processing it is pointless.
+ // processing it is pointless.
$r = q("select route, id from item where mid = '%s' and uid = %d limit 1",
dbesc($arr['parent_mid']),
@@ -1566,21 +1589,21 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque
if(! $r) {
$result[] = array($d['hash'],'comment parent not found',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']);
- // We don't seem to have a copy of this conversation or at least the parent
+ // We don't seem to have a copy of this conversation or at least the parent
// - so request a copy of the entire conversation to date.
- // Don't do this if it's a relay post as we're the ones who are supposed to
+ // Don't do this if it's a relay post as we're the ones who are supposed to
// have the copy and we don't want the request to loop.
// Also don't do this if this comment came from a conversation request packet.
// It's possible that comments are allowed but posting isn't and that could
- // cause a conversation fetch loop. We can detect these packets since they are
- // delivered via a 'notify' packet type that has a message_id element in the
- // initial zot packet (just like the corresponding 'request' packet type which
+ // cause a conversation fetch loop. We can detect these packets since they are
+ // delivered via a 'notify' packet type that has a message_id element in the
+ // initial zot packet (just like the corresponding 'request' packet type which
// makes the request).
// We'll also check the send_stream permission - because if it isn't allowed,
// the top level post is unlikely to be imported and
- // this is just an exercise in futility.
+ // this is just an exercise in futility.
- if((! $relay) && (! $request) && (! $local_public)
+ if((! $relay) && (! $request) && (! $local_public)
&& perm_is_allowed($channel['channel_id'],$sender['hash'],'send_stream')) {
proc_run('php', 'include/notifier.php', 'request', $channel['channel_id'], $sender['hash'], $arr['parent_mid']);
}
@@ -1598,7 +1621,7 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque
// sent it to us originally. Ignore it if it came from another source
// (with potentially different permissions).
// only compare the last hop since it could have arrived at the last location any number of ways.
- // Always accept empty routes and firehose items (route contains 'undefined') .
+ // Always accept empty routes and firehose items (route contains 'undefined') .
$existing_route = explode(',', $r[0]['route']);
$routes = count($existing_route);
@@ -1610,7 +1633,7 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque
$last_hop = '';
$last_prior_route = '';
}
-
+
if(in_array('undefined',$existing_route) || $last_hop == 'undefined' || $sender['hash'] == 'undefined')
$last_hop = '';
@@ -1623,7 +1646,7 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque
continue;
}
- // we'll add sender['hash'] onto this when we deliver it. $last_prior_route now has the previously stored route
+ // we'll add sender['hash'] onto this when we deliver it. $last_prior_route now has the previously stored route
// *except* for the sender['hash'] which would've been the last hop before it got to us.
$arr['route'] = $last_prior_route;
@@ -1661,11 +1684,11 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque
// We already have this post.
$item_id = $r[0]['id'];
if($r[0]['item_restrict'] & ITEM_DELETED) {
- // It was deleted locally.
+ // It was deleted locally.
$result[] = array($d['hash'],'update ignored',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']);
continue;
- }
- // Maybe it has been edited?
+ }
+ // Maybe it has been edited?
elseif($arr['edited'] > $r[0]['edited']) {
$arr['id'] = $r[0]['id'];
$arr['uid'] = $channel['channel_id'];
@@ -1676,8 +1699,8 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque
}
else {
$result[] = array($d['hash'],'update ignored',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']);
- // We need this line to ensure wall-to-wall comments are relayed (by falling through to the relay bit),
- // and at the same time not relay any other relayable posts more than once, because to do so is very wasteful.
+ // We need this line to ensure wall-to-wall comments are relayed (by falling through to the relay bit),
+ // and at the same time not relay any other relayable posts more than once, because to do so is very wasteful.
if(! ($r[0]['item_flags'] & ITEM_ORIGIN))
continue;
}
@@ -1689,8 +1712,8 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque
// if it's a sourced post, call the post_local hooks as if it were
// posted locally so that crosspost connectors will be triggered.
- if(check_item_source($arr['uid'],$arr))
- call_hooks('post_local',$arr);
+ if(check_item_source($arr['uid'], $arr))
+ call_hooks('post_local', $arr);
$item_result = item_store($arr);
$item_id = 0;
@@ -1713,17 +1736,27 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque
}
if(! $deliveries)
- $result[] = array('','no recipients','',$arr['mid']);
+ $result[] = array('', 'no recipients', '', $arr['mid']);
- logger('process_delivery: local results: ' . print_r($result,true), LOGGER_DEBUG);
+ logger('process_delivery: local results: ' . print_r($result, true), LOGGER_DEBUG);
return $result;
}
+/**
+ * @brief
+ *
+ * @param array $sender an associative array with
+ * * \e string \b hash a xchan_hash
+ * @param array $arr an associative array
+ * * \e int \b verb
+ * * \e int \b obj_type
+ * * \e int \b mid
+ * @param int $uid
+ */
+function remove_community_tag($sender, $arr, $uid) {
-function remove_community_tag($sender,$arr,$uid) {
-
- if(! (activity_match($arr['verb'],ACTIVITY_TAG) && ($arr['obj_type'] == ACTIVITY_OBJ_TAGTERM)))
+ if(! (activity_match($arr['verb'], ACTIVITY_TAG) && ($arr['obj_type'] == ACTIVITY_OBJ_TAGTERM)))
return;
logger('remove_community_tag: invoked');
@@ -1780,7 +1813,15 @@ function remove_community_tag($sender,$arr,$uid) {
);
}
-function update_imported_item($sender,$item,$uid) {
+/**
+ * @brief Just calls item_store_update() and logs result.
+ *
+ * @see item_store_update()
+ * @param array $sender (unused)
+ * @param array $item
+ * @param int $uid (unused)
+ */
+function update_imported_item($sender, $item, $uid) {
$x = item_store_update($item);
if(! $x['item_id'])
@@ -1793,9 +1834,10 @@ function update_imported_item($sender,$item,$uid) {
* @brief Deletes an imported item.
*
* @param array $sender
+ * * \e string \b hash a xchan_hash
* @param array $item
* @param int $uid
- * @param unknown $relay
+ * @param boolean $relay
* @return boolean|int post_id
*/
function delete_imported_item($sender, $item, $uid, $relay) {
@@ -1819,9 +1861,9 @@ function delete_imported_item($sender, $item, $uid, $relay) {
} else {
// perhaps the item is still in transit and the delete notification got here before the actual item did. Store it with the deleted flag set.
- // item_store() won't try to deliver any notifications or start delivery chains if this flag is set.
+ // item_store() won't try to deliver any notifications or start delivery chains if this flag is set.
// This means we won't end up with potentially even more delivery threads trying to push this delete notification.
- // But this will ensure that if the (undeleted) original post comes in at a later date, we'll reject it because it will have an older timestamp.
+ // But this will ensure that if the (undeleted) original post comes in at a later date, we'll reject it because it will have an older timestamp.
logger('delete received for non-existent item - storing item data.');
@@ -1846,10 +1888,10 @@ function delete_imported_item($sender, $item, $uid, $relay) {
// This is a bit hackish, but may have to suffice until the notification/delivery loop is optimised
// a bit further. We're going to strip the ITEM_ORIGIN on this item if it's a comment, because
- // it was already deleted, and we're already relaying, and this ensures that no other process or
+ // it was already deleted, and we're already relaying, and this ensures that no other process or
// code path downstream can relay it again (causing a loop). Since it's already gone it's not coming
// back, and we aren't going to (or shouldn't at any rate) delete it again in the future - so losing
- // this information from the metadata should have no other discernible impact.
+ // this information from the metadata should have no other discernible impact.
if (($r[0]['id'] != $r[0]['parent']) && ($r[0]['item_flags'] & ITEM_ORIGIN)) {
q("update item set item_flags = %d where id = %d and uid = %d",
@@ -1858,7 +1900,7 @@ function delete_imported_item($sender, $item, $uid, $relay) {
intval($r[0]['uid'])
);
}
- }
+ }
require_once('include/items.php');
@@ -1872,7 +1914,7 @@ function delete_imported_item($sender, $item, $uid, $relay) {
return $post_id;
}
-function process_mail_delivery($sender,$arr,$deliveries) {
+function process_mail_delivery($sender, $arr, $deliveries) {
$result = array();
@@ -1898,7 +1940,7 @@ function process_mail_delivery($sender,$arr,$deliveries) {
$result[] = array($d['hash'],'permission denied',$channel['channel_name'],$arr['mid']);
continue;
}
-
+
$r = q("select id from mail where mid = '%s' and channel_id = %d limit 1",
dbesc($arr['mid']),
intval($channel['channel_id'])
@@ -1923,13 +1965,20 @@ function process_mail_delivery($sender,$arr,$deliveries) {
$arr['channel_id'] = $channel['channel_id'];
$item_id = mail_store($arr);
$result[] = array($d['hash'],'mail delivered',$channel['channel_name'],$arr['mid']);
-
}
}
+
return $result;
}
-function process_rating_delivery($sender,$arr) {
+/**
+ * @brief Processes delivery of rating.
+ *
+ * @param array $sender
+ * * \e string \b hash a xchan_hash
+ * @param array $arr
+ */
+function process_rating_delivery($sender, $arr) {
logger('process_rating_delivery: ' . print_r($arr,true));
@@ -1948,8 +1997,8 @@ function process_rating_delivery($sender,$arr) {
$r = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' and xlink_static = 1 limit 1",
dbesc($sender['hash']),
dbesc($arr['target'])
- );
-
+ );
+
if($r) {
if($r[0]['xlink_updated'] >= $arr['edited']) {
logger('rating message duplicate');
@@ -1979,8 +2028,16 @@ function process_rating_delivery($sender,$arr) {
}
}
-
-function process_profile_delivery($sender,$arr,$deliveries) {
+/**
+ * @brief Processes delivery of profile.
+ *
+ * @see import_directory_profile()
+ * @param array $sender an associative array
+ * * \e string \b hash a xchan_hash
+ * @param array $arr
+ * @param array $deliveries (unused)
+ */
+function process_profile_delivery($sender, $arr, $deliveries) {
logger('process_profile_delivery', LOGGER_DEBUG);
@@ -1988,7 +2045,7 @@ function process_profile_delivery($sender,$arr,$deliveries) {
dbesc($sender['hash'])
);
if($r)
- import_directory_profile($sender['hash'],$arr,$r[0]['xchan_addr'], UPDATE_FLAGS_UPDATED, 0);
+ import_directory_profile($sender['hash'], $arr, $r[0]['xchan_addr'], UPDATE_FLAGS_UPDATED, 0);
}
function process_location_delivery($sender,$arr,$deliveries) {
@@ -2001,23 +2058,31 @@ function process_location_delivery($sender,$arr,$deliveries) {
);
if($r)
$sender['key'] = $r[0]['xchan_pubkey'];
+
if(array_key_exists('locations',$arr) && $arr['locations']) {
$x = sync_locations($sender,$arr,true);
logger('process_location_delivery: results: ' . print_r($x,true), LOGGER_DEBUG);
if($x['changed']) {
- $guid = random_string() . '@' . get_app()->get_hostname();
+ $guid = random_string() . '@' . get_app()->get_hostname();
update_modtime($sender['hash'],$sender['guid'],$arr['locations'][0]['address'],UPDATE_FLAGS_UPDATED);
}
}
}
-
-function sync_locations($sender,$arr,$absolute = false) {
+/**
+ * @brief Synchronises locations.
+ *
+ * @param array $sender
+ * @param array $arr
+ * @param boolean $absolute (optional) default false
+ * @return array
+ */
+function sync_locations($sender, $arr, $absolute = false) {
$ret = array();
if($arr['locations']) {
-
+
$xisting = q("select hubloc_id, hubloc_url, hubloc_sitekey from hubloc where hubloc_hash = '%s'",
dbesc($sender['hash'])
);
@@ -2045,7 +2110,7 @@ function sync_locations($sender,$arr,$absolute = false) {
}
for($x = 0; $x < count($xisting); $x ++) {
- if(($xisting[$x]['hubloc_url'] === $location['url'])
+ if(($xisting[$x]['hubloc_url'] === $location['url'])
&& ($xisting[$x]['hubloc_sitekey'] === $location['sitekey'])) {
$xisting[$x]['updated'] = true;
}
@@ -2061,7 +2126,7 @@ function sync_locations($sender,$arr,$absolute = false) {
if(strpos($location['address'],'/') !== false)
$location['address'] = substr($location['address'],0,strpos($location['address'],'/'));
- // match as many fields as possible in case anything at all changed.
+ // match as many fields as possible in case anything at all changed.
$r = q("select * from hubloc where hubloc_hash = '%s' and hubloc_guid = '%s' and hubloc_guid_sig = '%s' and hubloc_url = '%s' and hubloc_url_sig = '%s' and hubloc_host = '%s' and hubloc_addr = '%s' and hubloc_callback = '%s' and hubloc_sitekey = '%s' ",
dbesc($sender['hash']),
@@ -2090,7 +2155,7 @@ function sync_locations($sender,$arr,$absolute = false) {
);
$current_site = true;
}
-
+
// If it is the site we're currently talking to, and it's marked offline,
// either we have some bad information - or the thing came back to life.
@@ -2110,7 +2175,7 @@ function sync_locations($sender,$arr,$absolute = false) {
intval(XCHAN_FLAGS_ORPHAN),
dbesc($sender['hash'])
);
- }
+ }
// Remove pure duplicates
if(count($r) > 1) {
@@ -2175,7 +2240,7 @@ function sync_locations($sender,$arr,$absolute = false) {
continue;
}
- // Existing hubs are dealt with. Now let's process any new ones.
+ // Existing hubs are dealt with. Now let's process any new ones.
// New hub claiming to be primary. Make it so by removing any existing primaries.
if(intval($location['primary'])) {
@@ -2244,9 +2309,9 @@ function sync_locations($sender,$arr,$absolute = false) {
* @brief Returns an array with all known distinct hubs for this channel.
*
* @see zot_get_hublocs()
- * @param array $channel an assoziative array which must contain
+ * @param array $channel an associative array which must contain
* * \e string \b channel_hash the hash of the channel
- * @return array an array with assoziated arrays
+ * @return array an array with associative arrays
*/
function zot_encode_locations($channel) {
$ret = array();
@@ -2272,10 +2337,9 @@ function zot_encode_locations($channel) {
return $ret;
}
-
/**
* @brief Imports a directory profile.
- *
+ *
* @param string $hash
* @param array $profile
* @param string $addr
@@ -2319,7 +2383,7 @@ function import_directory_profile($hash, $profile, $addr, $ud_flags = UPDATE_FLA
$arr['xprof_keywords'] = implode(' ',$clean);
// Self censored, make it so
- // These are not translated, so the German "erwachsenen" keyword will not censor the directory profile. Only the English form - "adult".
+ // These are not translated, so the German "erwachsenen" keyword will not censor the directory profile. Only the English form - "adult".
if (in_arrayi('nsfw', $clean) || in_arrayi('adult', $clean)) {
@@ -2333,7 +2397,7 @@ function import_directory_profile($hash, $profile, $addr, $ud_flags = UPDATE_FLA
dbesc($hash)
);
- if ($arr['xprof_age'] > 150)
+ if ($arr['xprof_age'] > 150)
$arr['xprof_age'] = 150;
if ($arr['xprof_age'] < 0)
$arr['xprof_age'] = 0;
@@ -2348,21 +2412,21 @@ function import_directory_profile($hash, $profile, $addr, $ud_flags = UPDATE_FLA
}
}
if ($update) {
- q("update xprof set
- xprof_desc = '%s',
- xprof_dob = '%s',
- xprof_age = %d,
- xprof_gender = '%s',
- xprof_marital = '%s',
- xprof_sexual = '%s',
- xprof_locale = '%s',
- xprof_region = '%s',
- xprof_postcode = '%s',
- xprof_country = '%s',
- xprof_about = '%s',
- xprof_homepage = '%s',
- xprof_hometown = '%s',
- xprof_keywords = '%s'
+ q("update xprof set
+ xprof_desc = '%s',
+ xprof_dob = '%s',
+ xprof_age = %d,
+ xprof_gender = '%s',
+ xprof_marital = '%s',
+ xprof_sexual = '%s',
+ xprof_locale = '%s',
+ xprof_region = '%s',
+ xprof_postcode = '%s',
+ xprof_country = '%s',
+ xprof_about = '%s',
+ xprof_homepage = '%s',
+ xprof_hometown = '%s',
+ xprof_keywords = '%s'
where xprof_hash = '%s'",
dbesc($arr['xprof_desc']),
dbesc($arr['xprof_dob']),
@@ -2412,7 +2476,13 @@ function import_directory_profile($hash, $profile, $addr, $ud_flags = UPDATE_FLA
return $d['update'];
}
-function import_directory_keywords($hash,$keywords) {
+/**
+ * @brief
+ *
+ * @param string $hash
+ * @param array $keywords
+ */
+function import_directory_keywords($hash, $keywords) {
$existing = array();
$r = q("select * from xtag where xtag_hash = '%s'",
@@ -2426,31 +2496,39 @@ function import_directory_keywords($hash,$keywords) {
$clean = array();
foreach($keywords as $kw) {
- $kw = trim(htmlspecialchars($kw,ENT_COMPAT,'UTF-8',false));
- $kw = trim($kw,',');
+ $kw = trim(htmlspecialchars($kw,ENT_COMPAT, 'UTF-8', false));
+ $kw = trim($kw, ',');
$clean[] = $kw;
}
foreach($existing as $x) {
- if(! in_array($x,$clean))
+ if(! in_array($x, $clean))
$r = q("delete from xtag where xtag_hash = '%s' and xtag_term = '%s'",
dbesc($hash),
dbesc($x)
);
}
foreach($clean as $x) {
- if(! in_array($x,$existing))
+ if(! in_array($x, $existing)) {
$r = q("insert into xtag ( xtag_hash, xtag_term) values ( '%s' ,'%s' )",
dbesc($hash),
dbesc($x)
);
+ }
}
}
+/**
+ * @brief
+ *
+ * @param string $hash
+ * @param string $guid
+ * @param string $addr
+ * @param int $flags (optional) default 0
+ */
+function update_modtime($hash, $guid, $addr, $flags = 0) {
-function update_modtime($hash,$guid,$addr,$flags = 0) {
-
- $dirmode = intval(get_config('system','directory_mode'));
+ $dirmode = intval(get_config('system', 'directory_mode'));
if($dirmode == DIRECTORY_MODE_NORMAL)
return;
@@ -2473,12 +2551,18 @@ function update_modtime($hash,$guid,$addr,$flags = 0) {
}
}
-
-function import_site($arr,$pubkey) {
+/**
+ * @brief
+ *
+ * @param array $arr
+ * @param string $pubkey
+ * @return boolean true if updated or inserted
+ */
+function import_site($arr, $pubkey) {
if( (! is_array($arr)) || (! $arr['url']) || (! $arr['url_sig']))
return false;
- if(! rsa_verify($arr['url'],base64url_decode($arr['url_sig']),$pubkey)) {
+ if(! rsa_verify($arr['url'], base64url_decode($arr['url_sig']), $pubkey)) {
logger('import_site: bad url_sig');
return false;
}
@@ -2545,11 +2629,11 @@ function import_site($arr,$pubkey) {
// Downgrade any others claiming to be primary. As they have
// flubbed up this badly already, don't let them be directory servers at all.
- if(($site_directory === DIRECTORY_MODE_PRIMARY)
- && ($site_realm === get_directory_realm())
- && ($arr['url'] != get_directory_primary())) {
+ if(($site_directory === DIRECTORY_MODE_PRIMARY)
+ && ($site_realm === get_directory_realm())
+ && ($arr['url'] != get_directory_primary())) {
$site_directory = DIRECTORY_MODE_NORMAL;
- }
+ }
if($exists) {
if(($siterecord['site_flags'] != $site_directory)
@@ -2614,8 +2698,11 @@ function import_site($arr,$pubkey) {
/**
* Send a zot packet to all hubs where this channel is duplicated, refreshing
* such things as personal settings, channel permissions, address book updates, etc.
+ *
+ * @param int $uid
+ * @param array $packet (optional) default null
+ * @param boolean $groups_changed (optional) default false
*/
-
function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
$a = get_app();
@@ -2623,7 +2710,7 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
logger('build_sync_packet');
if($packet)
- logger('packet: ' . print_r($packet,true),LOGGER_DATA);
+ logger('packet: ' . print_r($packet, true),LOGGER_DATA);
if(! $uid)
$uid = local_channel();
@@ -2651,6 +2738,7 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
foreach($h as $x) {
if($x['hubloc_host'] == $a->get_hostname())
continue;
+
$synchubs[] = $x;
}
@@ -2708,10 +2796,9 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
);
if($r)
$info['collection_members'] = $r;
-
}
- $interval = ((get_config('system','delivery_interval') !== false)
+ $interval = ((get_config('system','delivery_interval') !== false)
? intval(get_config('system','delivery_interval')) : 2 );
@@ -2733,13 +2820,21 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
dbesc(json_encode($info))
);
- proc_run('php','include/deliver.php',$hash);
+ proc_run('php', 'include/deliver.php', $hash);
if($interval)
@time_sleep_until(microtime(true) + (float) $interval);
}
}
-function process_channel_sync_delivery($sender,$arr,$deliveries) {
+/**
+ * @brief
+ *
+ * @param array $sender
+ * @param array $arr
+ * @param array $deliveries
+ * @return array
+ */
+function process_channel_sync_delivery($sender, $arr, $deliveries) {
/** @FIXME this will sync red structures (channel, pconfig and abook). Eventually we need to make this application agnostic. */
@@ -2784,7 +2879,7 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
}
if(count($clean)) {
foreach($clean as $k => $v) {
- $r = dbq("UPDATE channel set " . dbesc($k) . " = '" . dbesc($v)
+ $r = dbq("UPDATE channel set " . dbesc($k) . " = '" . dbesc($v)
. "' where channel_id = " . intval($channel['channel_id']) );
}
}
@@ -2813,7 +2908,7 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
if($abook['abook_xchan'] && $abook['entry_deleted']) {
logger('process_channel_sync_delivery: removing abook entry for ' . $abook['abook_xchan']);
require_once('include/Contact.php');
-
+
$r = q("select abook_id, abook_flags from abook where abook_xchan = '%s' and abook_channel = %d and not ( abook_flags & %d )>0 limit 1",
dbesc($abook['abook_xchan']),
intval($channel['channel_id']),
@@ -2893,8 +2988,8 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
foreach($clean as $k => $v) {
if($k == 'abook_dob')
$v = dbescdate($v);
-
- $r = dbq("UPDATE abook set " . dbesc($k) . " = '" . dbesc($v)
+
+ $r = dbq("UPDATE abook set " . dbesc($k) . " = '" . dbesc($v)
. "' where abook_xchan = '" . dbesc($clean['abook_xchan']) . "' and abook_channel = " . intval($channel['channel_id']));
}
}
@@ -2917,8 +3012,8 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
}
}
if($found) {
- if(($y['name'] != $cl['name'])
- || ($y['visible'] != $cl['visible'])
+ if(($y['name'] != $cl['name'])
+ || ($y['visible'] != $cl['visible'])
|| ($y['deleted'] != $cl['deleted'])) {
q("update groups set name = '%s', visible = %d, deleted = %d where hash = '%s' and uid = %d",
dbesc($cl['name']),
@@ -2959,10 +3054,10 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
break;
}
}
- if(! $found_local) {
+ if(! $found_local) {
q("delete from group_member where gid = %d",
intval($y['id'])
- );
+ );
q("update groups set deleted = 1 where id = %d and uid = %d",
intval($y['id']),
intval($channel['channel_id'])
@@ -2979,15 +3074,17 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
// now sync the members
- if(array_key_exists('collection_members',$arr) &&
- is_array($arr['collection_members']) && count($arr['collection_members'])) {
+ if(array_key_exists('collection_members', $arr)
+ && is_array($arr['collection_members'])
+ && count($arr['collection_members'])) {
// first sort into groups keyed by the group hash
$members = array();
foreach($arr['collection_members'] as $cm) {
if(! array_key_exists($cm['collection'],$members))
$members[$cm['collection']] = array();
- $members[$cm['collection']][] = $cm['member'];
+
+ $members[$cm['collection']][] = $cm['member'];
}
// our group list is already synchronised
@@ -3074,7 +3171,7 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
}
if(count($clean)) {
foreach($clean as $k => $v) {
- $r = dbq("UPDATE profile set " . dbesc($k) . " = '" . dbesc($v)
+ $r = dbq("UPDATE profile set " . dbesc($k) . " = '" . dbesc($v)
. "' where profile_guid = '" . dbesc($profile['profile_guid']) . "' and uid = " . intval($channel['channel_id']));
}
}
@@ -3087,8 +3184,15 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
return $result;
}
-// We probably should make rpost discoverable.
-
+/**
+ * @brief Returns path to /rpost
+ *
+ * @todo We probably should make rpost discoverable.
+ *
+ * @param array $observer
+ * * \e string \b xchan_url
+ * @return string
+ */
function get_rpost_path($observer) {
if(! $observer)
return '';
@@ -3098,7 +3202,6 @@ function get_rpost_path($observer) {
return $parsed['scheme'] . '://' . $parsed['host'] . (($parsed['port']) ? ':' . $parsed['port'] : '') . '/rpost?f=';
}
-
/**
* @brief
*
@@ -3127,7 +3230,6 @@ function import_author_zot($x) {
return false;
}
-
/**
* @brief Process a message request.
*
@@ -3136,10 +3238,10 @@ function import_author_zot($x) {
* for that packet. We will create a message_list array of the entire conversation starting with
* the missing parent and invoke delivery to the sender of the packet.
*
- * include/deliver.php (for local delivery) and mod/post.php (for web delivery) detect the existence of
- * this 'message_list' at the destination and split it into individual messages which are
- * processed/delivered in order.
- *
+ * include/deliver.php (for local delivery) and mod/post.php (for web delivery) detect the existence of
+ * this 'message_list' at the destination and split it into individual messages which are
+ * processed/delivered in order.
+ *
* Called from mod/post.php
*
* @param array $data
@@ -3181,7 +3283,7 @@ function zot_process_message_request($data) {
if ($messages) {
$env_recips = null;
- $r = q("select hubloc_guid, hubloc_url, hubloc_sitekey, hubloc_network, hubloc_flags, hubloc_callback, hubloc_host
+ $r = q("select hubloc_guid, hubloc_url, hubloc_sitekey, hubloc_network, hubloc_flags, hubloc_callback, hubloc_host
from hubloc where hubloc_hash = '%s' and not (hubloc_flags & %d)>0
and not (hubloc_status & %d)>0 ",
dbesc($sender_hash),
@@ -3208,8 +3310,8 @@ function zot_process_message_request($data) {
*/
$n = zot_build_packet($c[0],'notify',$env_recips,(($private) ? $hub['hubloc_sitekey'] : null),$hash,array('message_id' => $data['message_id']));
- q("insert into outq ( outq_hash, outq_account, outq_channel, outq_driver, outq_posturl, outq_async,
- outq_created, outq_updated, outq_notify, outq_msg )
+ q("insert into outq ( outq_hash, outq_account, outq_channel, outq_driver, outq_posturl, outq_async,
+ outq_created, outq_updated, outq_notify, outq_msg )
values ( '%s', %d, %d, '%s', '%s', %d, '%s', '%s', '%s', '%s' )",
dbesc($hash),
intval($c[0]['channel_account_id']),
diff --git a/install/INSTALL.txt b/install/INSTALL.txt
index 58ec365cb..a00c3bca3 100644
--- a/install/INSTALL.txt
+++ b/install/INSTALL.txt
@@ -17,7 +17,7 @@ with your hosting provider prior to installation. (And preferably before
entering into a long-term contract.)
If you encounter installation issues, please let us know via the Github issue
-tracker (https://github.com/friendica/red/issues). Please be as clear as you
+tracker (https://github.com/redmatrix/redmatrix/issues). Please be as clear as you
can about your operating environment and provide as much detail as possible
about any error messages you may see, so that we can prevent it from happening
in the future. Due to the large variety of operating systems and PHP platforms
diff --git a/library/jRange/jquery.range.js b/library/jRange/jquery.range.js
index 3e7f99ed9..860b74511 100644
--- a/library/jRange/jquery.range.js
+++ b/library/jRange/jquery.range.js
@@ -332,4 +332,4 @@
return result || this;
};
-})(jQuery, window, document); \ No newline at end of file
+})(jQuery, window, document);
diff --git a/library/justifiedGallery/jquery.justifiedGallery.js b/library/justifiedGallery/jquery.justifiedGallery.js
index 21679c96d..213a7f286 100644
--- a/library/justifiedGallery/jquery.justifiedGallery.js
+++ b/library/justifiedGallery/jquery.justifiedGallery.js
@@ -45,8 +45,7 @@
target : null, // rewrite the target of all links
extension : /\.[^.\\/]+$/,
refreshTime : 100,
- randomize : false,
- ignoreElement: null // a comma seperated list of div element selectors to be ignored e.g.: '.someClass, #someId'
+ randomize : false
};
function getSuffix(width, height, context) {
@@ -572,8 +571,6 @@
var border = extendedSettings.border >= 0 ? extendedSettings.border : extendedSettings.margins;
- var ignoreElement = extendedSettings.ignoreElement;
-
//Context init
context = {
settings : extendedSettings,
@@ -622,7 +619,7 @@
checkSettings(context);
- context.entries = $gallery.find('> a, > div:not(.spinner, ' + ignoreElement + ')').toArray();
+ context.entries = $gallery.find('> a, > div:not(.spinner, #page-end)').toArray();
if (context.entries.length === 0) return;
// Randomize
diff --git a/mod/attach.php b/mod/attach.php
index cf72d09c6..118c67dd5 100644
--- a/mod/attach.php
+++ b/mod/attach.php
@@ -36,7 +36,8 @@ function attach_init(&$a) {
header('Content-disposition: attachment; filename="' . $r['data']['filename'] . '"');
if($r['data']['flags'] & ATTACH_FLAG_OS ) {
- $istream = fopen('store/' . $c[0]['channel_address'] . '/' . $r['data']['data'],'rb');
+ $fname = dbunescbin($r['data']['data']);
+ $istream = fopen('store/' . $c[0]['channel_address'] . '/' . $fname,'rb');
$ostream = fopen('php://output','wb');
if($istream && $ostream) {
pipe_streams($istream,$ostream);
@@ -45,7 +46,7 @@ function attach_init(&$a) {
}
}
else
- echo $r['data']['data'];
+ echo dbunescbin($r['data']['data']);
killme();
}
diff --git a/mod/blocks.php b/mod/blocks.php
index f755f92b0..56da9caf7 100644
--- a/mod/blocks.php
+++ b/mod/blocks.php
@@ -33,6 +33,8 @@ function blocks_content(&$a) {
$which = argv(1);
+ $_SESSION['return_url'] = $a->query_string;
+
$uid = local_channel();
$owner = 0;
$channel = null;
@@ -68,7 +70,6 @@ function blocks_content(&$a) {
return;
}
-
// Block design features from visitors
if((! $uid) || ($uid != $owner)) {
@@ -76,17 +77,12 @@ function blocks_content(&$a) {
return;
}
+ $mimetype = (($_REQUEST['mimetype']) ? $_REQUEST['mimetype'] : get_pconfig($owner,'system','page_mimetype'));
- if(feature_enabled($owner,'expert')) {
- $mimetype = (($_REQUEST['mimetype']) ? $_REQUEST['mimetype'] : get_pconfig($owner,'system','page_mimetype'));
- if(! $mimetype)
- $mimetype = 'choose';
- }
- else {
- $mimetype = 'text/bbcode';
+ if(! $mimetype) {
+ $mimetype = 'choose';
}
-
$x = array(
'webpage' => ITEM_BUILDBLOCK,
'is_owner' => true,
@@ -98,6 +94,8 @@ function blocks_content(&$a) {
'mimetype' => $mimetype,
'ptlabel' => t('Block Name'),
'profile_uid' => intval($owner),
+ 'expanded' => true,
+ 'novoting' => true
);
if($_REQUEST['title'])
@@ -107,11 +105,10 @@ function blocks_content(&$a) {
if($_REQUEST['pagetitle'])
$x['pagetitle'] = $_REQUEST['pagetitle'];
+ $editor = status_editor($a,$x);
-
- $o .= status_editor($a,$x);
-
- $r = q("select * from item_id where uid = %d and service = 'BUILDBLOCK' order by sid asc",
+ $r = q("select iid, sid, mid, title, body, mimetype, created, edited from item_id left join item on item_id.iid = item.id
+ where item_id.uid = %d and service = 'BUILDBLOCK' order by item.created desc",
intval($owner)
);
@@ -120,7 +117,24 @@ function blocks_content(&$a) {
if($r) {
$pages = array();
foreach($r as $rr) {
- $pages[$rr['iid']][] = array('url' => $rr['iid'],'title' => $rr['sid']);
+ $element_arr = array(
+ 'type' => 'block',
+ 'title' => $rr['title'],
+ 'body' => $rr['body'],
+ 'created' => $rr['created'],
+ 'edited' => $rr['edited'],
+ 'mimetype' => $rr['mimetype'],
+ 'pagetitle' => $rr['sid'],
+ 'mid' => $rr['mid']
+ );
+ $pages[$rr['iid']][] = array(
+ 'url' => $rr['iid'],
+ 'name' => $rr['sid'],
+ 'title' => $rr['title'],
+ 'created' => $rr['created'],
+ 'edited' => $rr['edited'],
+ 'bb_element' => '[element]' . base64url_encode(json_encode($element_arr)) . '[/element]'
+ );
}
}
@@ -129,7 +143,16 @@ function blocks_content(&$a) {
$o .= replace_macros(get_markup_template('blocklist.tpl'), array(
'$baseurl' => $url,
+ '$title' => t('Blocks'),
+ '$name' => t('Block Name'),
+ '$blocktitle' => t('Block Title'),
+ '$created' => t('Created'),
+ '$edited' => t('Edited'),
+ '$create' => t('Create'),
'$edit' => t('Edit'),
+ '$share' => t('Share'),
+ '$delete' => t('Delete'),
+ '$editor' => $editor,
'$pages' => $pages,
'$channel' => $which,
'$view' => t('View'),
diff --git a/mod/branchtopic.php b/mod/branchtopic.php
new file mode 100644
index 000000000..609cb19ec
--- /dev/null
+++ b/mod/branchtopic.php
@@ -0,0 +1,42 @@
+<?php
+
+function branchtopic_init(&$a) {
+
+ if(! local_channel())
+ return;
+
+ $item_id = 0;
+
+ if(argc() > 1)
+ $item_id = intval(argv(1));
+
+ if(! $item_id)
+ return;
+
+ $channel = $a->get_channel();
+
+ if(! $channel)
+ return;
+
+
+ $r = q("select * from item where id = %d and uid = %d and owner_xchan = '%s' and id != parent limit 1",
+ intval($item_id),
+ intval(local_channel()),
+ dbesc($channel['channel_hash'])
+ );
+
+ if(! $r)
+ return;
+
+ $p = q("select * from item where id = %d and uid = %d limit 1",
+ intval($r[0]['parent']),
+ intval(local_channel())
+ );
+
+ $x = q("update item set parent = id, route = '', item_flags = (item_flags | %d) where id = %d",
+ intval(ITEM_THREAD_TOP),
+ intval($item_id)
+ );
+
+ return;
+}
diff --git a/mod/connedit.php b/mod/connedit.php
index 2c4c0cef8..8ae1707ae 100644
--- a/mod/connedit.php
+++ b/mod/connedit.php
@@ -177,7 +177,17 @@ function connedit_post(&$a) {
if(($_REQUEST['pending']) && ($abook_flags & ABOOK_FLAG_PENDING)) {
$abook_flags = ( $abook_flags ^ ABOOK_FLAG_PENDING );
$new_friend = true;
+ if(! $abook_my_perms) {
+ $abook_my_perms = get_channel_default_perms(local_channel());
+
+ $role = get_pconfig(local_channel(),'system','permissions_role');
+ if($role) {
+ $x = get_role_perms($role);
+ if($x['perms_accept'])
+ $abook_my_perms = $x['perms_accept'];
+ }
+ }
}
$r = q("UPDATE abook SET abook_profile = '%s', abook_my_perms = %d , abook_closeness = %d, abook_flags = %d
@@ -558,16 +568,32 @@ function connedit_content(&$a) {
if(feature_enabled(local_channel(),'affinity')) {
+ $labels = array(
+ t('Me'),
+ t('Family'),
+ t('Friends'),
+ t('Acquaintances'),
+ t('All')
+ );
+ call_hooks('affinity_labels',$labels);
+ $label_str = '';
+
+ if($labels) {
+ foreach($labels as $l) {
+ if($label_str) {
+ $label_str .= ", '|'";
+ $label_str .= ", '" . $l . "'";
+ }
+ else
+ $label_str .= "'" . $l . "'";
+ }
+ }
+
$slider_tpl = get_markup_template('contact_slider.tpl');
$slide = replace_macros($slider_tpl,array(
- '$me' => t('Me'),
'$min' => 1,
'$val' => (($contact['abook_closeness']) ? $contact['abook_closeness'] : 99),
- '$intimate' => t('Best Friends'),
- '$friends' => t('Friends'),
- '$oldfriends' => t('Former Friends'),
- '$acquaintances' => t('Acquaintances'),
- '$world' => t('Unknown')
+ '$labels' => $label_str,
));
}
diff --git a/mod/directory.php b/mod/directory.php
index 274584862..3e94d6395 100644
--- a/mod/directory.php
+++ b/mod/directory.php
@@ -51,6 +51,10 @@ function directory_content(&$a) {
$observer = get_observer_hash();
$globaldir = get_globaldir_setting($observer);
+ // override your personal global search pref if we're doing a navbar search of the directory
+ if(intval($_REQUEST['navsearch']))
+ $globaldir = 1;
+
$safe_mode = get_safemode_setting($observer);
$pubforums = null;
@@ -78,12 +82,15 @@ function directory_content(&$a) {
$suggest = (local_channel() && x($_REQUEST,'suggest')) ? $_REQUEST['suggest'] : '';
if($suggest) {
+
$r = suggestion_query(local_channel(),get_observer_hash());
// Remember in which order the suggestions were
$addresses = array();
+ $common = array();
$index = 0;
foreach($r as $rr) {
+ $common[$rr['xchan_addr']] = $rr['total'];
$addresses[$rr['xchan_addr']] = $index++;
}
@@ -151,7 +158,11 @@ function directory_content(&$a) {
if(! is_null($pubforums))
$query .= '&pubforums=' . intval($pubforums);
- $sort_order = ((x($_REQUEST,'order')) ? $_REQUEST['order'] : 'date');
+ $directory_sort_order = get_config('system','directory_sort_order');
+ if(! $directory_sort_order)
+ $directory_sort_order = 'date';
+
+ $sort_order = ((x($_REQUEST,'order')) ? $_REQUEST['order'] : $directory_sort_order);
if($sort_order)
$query .= '&order=' . urlencode($sort_order);
@@ -296,6 +307,8 @@ function directory_content(&$a) {
'keywords' => $out,
'ignlink' => $suggest ? $a->get_baseurl() . '/directory?ignore=' . $rr['hash'] : '',
'ignore_label' => "Don't suggest",
+ 'common_friends' => (($common[$rr['address']]) ? intval($common[$rr['address']]) : ''),
+ 'common_txt' => sprintf( t('Common connections: %s'), intval($common[$rr['address']]) ),
'safe' => $safe_mode
);
diff --git a/mod/dirsearch.php b/mod/dirsearch.php
index 07621aaef..d997020b2 100644
--- a/mod/dirsearch.php
+++ b/mod/dirsearch.php
@@ -91,6 +91,12 @@ function dirsearch_content(&$a) {
else
$sync = false;
+
+ if($hub)
+ $hub_query = " and xchan_hash in (select hubloc_hash from hubloc where hubloc_host = '" . protect_sprintf(dbesc($hub)) . "') ";
+ else
+ $hub_query = '';
+
$sort_order = ((x($_REQUEST,'order')) ? $_REQUEST['order'] : '');
$joiner = ' OR ';
@@ -99,8 +105,6 @@ function dirsearch_content(&$a) {
if($name)
$sql_extra .= dir_query_build($joiner,'xchan_name',$name);
- if($hub)
- $sql_extra .= " $joiner xchan_hash in (select hubloc_hash from hubloc where hubloc_host = '" . protect_sprintf(dbesc($hub)) . "') ";
if($address)
$sql_extra .= dir_query_build($joiner,'xchan_addr',$address);
if($city)
@@ -248,13 +252,12 @@ function dirsearch_content(&$a) {
}
else {
- $r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash where ( $logic $sql_extra ) and xchan_network = 'zot' and not ( xchan_flags & %d )>0 and not ( xchan_flags & %d )>0 and not ( xchan_flags & %d )>0 $safesql $order $qlimit ",
+ $r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash where ( $logic $sql_extra ) $hub_query and xchan_network = 'zot' and not ( xchan_flags & %d )>0 and not ( xchan_flags & %d )>0 and not ( xchan_flags & %d )>0 $safesql $order $qlimit ",
intval(XCHAN_FLAGS_HIDDEN),
intval(XCHAN_FLAGS_ORPHAN),
intval(XCHAN_FLAGS_DELETED)
);
-
$ret['page'] = $page + 1;
$ret['records'] = count($r);
}
diff --git a/mod/editblock.php b/mod/editblock.php
index 73be6a9f3..a0ece8133 100644
--- a/mod/editblock.php
+++ b/mod/editblock.php
@@ -70,7 +70,6 @@ function editblock_content(&$a) {
$o = '';
-
// Figure out which post we're editing
$post_id = ((argc() > 2) ? intval(argv(2)) : 0);
@@ -96,7 +95,6 @@ function editblock_content(&$a) {
return;
}
-
$plaintext = true;
$mimeselect = '';
@@ -110,22 +108,21 @@ function editblock_content(&$a) {
else
$mimeselect = mimetype_select($itm[0]['uid'],$mimetype);
-
$o .= replace_macros(get_markup_template('edpost_head.tpl'), array(
- '$title' => t('Edit Block')
+ '$title' => t('Edit Block'),
+ '$delete' => ((($itm[0]['author_xchan'] === $ob_hash) || ($itm[0]['owner_xchan'] === $ob_hash)) ? t('Delete') : false),
+ '$id' => $itm[0]['id']
));
-
$a->page['htmlhead'] .= replace_macros(get_markup_template('jot-header.tpl'), array(
'$baseurl' => $a->get_baseurl(),
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
'$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
'$geotag' => '',
'$nickname' => $channel['channel_address'],
- '$confirmdelete' => t('Delete block?')
+ '$confirmdelete' => t('Delete block?')
));
-
$tpl = get_markup_template("jot.tpl");
$jotplugins = '';
@@ -184,26 +181,6 @@ function editblock_content(&$a) {
'$expires' => t('Set expiration date'),
));
-
- if(($itm[0]['author_xchan'] === $ob_hash) || ($itm[0]['owner_xchan'] === $ob_hash))
- $o .= '<br /><br /><a class="block-delete-link" href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Block') . '</a><br />';
-
-
- $x = array(
- 'type' => 'block',
- 'title' => $itm[0]['title'],
- 'body' => $itm[0]['body'],
- 'term' => $itm[0]['term'],
- 'created' => $itm[0]['created'],
- 'edited' => $itm[0]['edited'],
- 'mimetype' => $itm[0]['mimetype'],
- 'pagetitle' => $page_title,
- 'mid' => $itm[0]['mid']
- );
-
- $o .= EOL . EOL . t('Share') . EOL . '<textarea onclick="this.select();" class="shareable_element_text" >[element]' . base64url_encode(json_encode($x)) . '[/element]</textarea>' . EOL . EOL;
-
-
return $o;
}
diff --git a/mod/editlayout.php b/mod/editlayout.php
index f6d76f6b4..706720667 100644
--- a/mod/editlayout.php
+++ b/mod/editlayout.php
@@ -23,7 +23,6 @@ function editlayout_init(&$a) {
function editlayout_content(&$a) {
-
if(! $a->profile) {
notice( t('Requested profile is not available.') . EOL );
$a->error = 404;
@@ -69,7 +68,6 @@ function editlayout_content(&$a) {
$o = '';
-
// Figure out which post we're editing
$post_id = ((argc() > 2) ? intval(argv(2)) : 0);
@@ -105,7 +103,9 @@ function editlayout_content(&$a) {
$plaintext = true;
$o .= replace_macros(get_markup_template('edpost_head.tpl'), array(
- '$title' => t('Edit Layout')
+ '$title' => t('Edit Layout'),
+ '$delete' => ((($itm[0]['author_xchan'] === $ob_hash) || ($itm[0]['owner_xchan'] === $ob_hash)) ? t('Delete') : false),
+ '$id' => $itm[0]['id']
));
$a->page['htmlhead'] .= replace_macros(get_markup_template('jot-header.tpl'), array(
@@ -114,7 +114,7 @@ function editlayout_content(&$a) {
'$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
'$geotag' => $geotag,
'$nickname' => $channel['channel_address'],
- '$confirmdelete' => t('Delete layout?')
+ '$confirmdelete' => t('Delete layout?')
));
@@ -161,8 +161,9 @@ function editlayout_content(&$a) {
'$public' => t('Public post'),
'$jotnets' => $jotnets,
'$title' => htmlspecialchars($itm[0]['title'],ENT_COMPAT,'UTF-8'),
- '$placeholdertitle' => t('Title (optional)'),
+ '$placeholdertitle' => t('Layout Description (Optional)'),
'$pagetitle' => $layout_title,
+ '$placeholdpagetitle' => t('Layout Name'),
'$category' => '',
'$placeholdercategory' => t('Categories (optional, comma-separated list)'),
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
@@ -170,34 +171,12 @@ function editlayout_content(&$a) {
'$acl' => '',
'$bang' => '',
'$profile_uid' => (intval($owner)),
- '$preview' => t('Preview'),
'$jotplugins' => $jotplugins,
'$sourceapp' => t($a->sourcename),
'$defexpire' => '',
'$feature_expire' => false,
'$expires' => t('Set expiration date'),
));
-
-
- if(($itm[0]['author_xchan'] === $ob_hash) || ($itm[0]['owner_xchan'] === $ob_hash))
- $o .= '<br /><br /><a class="layout-delete-link" href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Layout') . '</a><br />';
-
-
- $x = array(
- 'type' => 'layout',
- 'title' => $itm[0]['title'],
- 'body' => $itm[0]['body'],
- 'term' => $itm[0]['term'],
- 'created' => $itm[0]['created'],
- 'edited' => $itm[0]['edited'],
- 'mimetype' => $itm[0]['mimetype'],
- 'pagetitle' => $page_title,
- 'mid' => $itm[0]['mid']
- );
-
- $o .= EOL . EOL . t('Share') . EOL . '<textarea onclick="this.select();" class="shareable_element_text" >[element]' . base64url_encode(json_encode($x)) . '[/element]</textarea>' . EOL . EOL;
-
-
return $o;
diff --git a/mod/editwebpage.php b/mod/editwebpage.php
index e81cde479..cdf5d8c20 100644
--- a/mod/editwebpage.php
+++ b/mod/editwebpage.php
@@ -90,11 +90,18 @@ function editwebpage_content(&$a) {
// We've already figured out which item we want and whose copy we need,
// so we don't need anything fancy here
- $itm = q("SELECT * FROM `item` WHERE `id` = %d and uid = %s LIMIT 1",
+ $sql_extra = item_permissions_sql($owner);
+
+ $itm = q("SELECT * FROM `item` WHERE `id` = %d and uid = %s $sql_extra LIMIT 1",
intval($post_id),
intval($owner)
);
+ if(! $itm) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
if($itm[0]['item_flags'] & ITEM_OBSCURED) {
$key = get_config('system','prvkey');
if($itm[0]['title'])
@@ -126,7 +133,7 @@ function editwebpage_content(&$a) {
$plaintext = true;
if(get_config('system','page_mimetype'))
- $mimeselect = '<input type="hidden" name="mimetype" value="' . $mimetype . '" />';
+ $mimeselect = '<input type="hidden" name="mimetype" value="' . $mimetype . '" />';
else
$mimeselect = mimetype_select($itm[0]['uid'],$mimetype);
@@ -135,12 +142,7 @@ function editwebpage_content(&$a) {
$layoutselect = '<input type="hidden" name="layout_mid" value="' . $layout . '" />';
else
$layoutselect = layout_select($itm[0]['uid'],$itm[0]['layout_mid']);
-
- $o .= replace_macros(get_markup_template('edpost_head.tpl'), array(
- '$title' => t('Edit Webpage')
- ));
-
$a->page['htmlhead'] .= replace_macros(get_markup_template('jot-header.tpl'), array(
'$baseurl' => $a->get_baseurl(),
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
@@ -150,7 +152,6 @@ function editwebpage_content(&$a) {
'$confirmdelete' => t('Delete webpage?')
));
-
$tpl = get_markup_template("jot.tpl");
$jotplugins = '';
@@ -164,8 +165,9 @@ function editwebpage_content(&$a) {
$rp = 'webpages/' . $which;
-logger('canwrite: ' . (perm_is_allowed($owner, get_observer_hash(), 'post_photos') || perm_is_allowed($owner, get_observer_hash(), 'write_storage')));
- $o .= replace_macros($tpl,array(
+ logger('canwrite: ' . (perm_is_allowed($owner, get_observer_hash(), 'post_photos') || perm_is_allowed($owner, get_observer_hash(), 'write_storage')));
+
+ $editor = replace_macros($tpl,array(
'$return_path' => $rp,
'$webpage' => ITEM_WEBPAGE,
'$placeholdpagetitle' => t('Page link title'),
@@ -186,7 +188,7 @@ logger('canwrite: ' . (perm_is_allowed($owner, get_observer_hash(), 'post_photos
'$video' => t('Insert Vorbis [.ogg] video'),
'$audio' => t('Insert Vorbis [.ogg] audio'),
'$setloc' => t('Set your location'),
- '$noloc' => t('Clear browser location'),
+ '$noloc' => ((get_pconfig($uid, 'system', 'use_browser_location')) ? t('Clear browser location') : ''),
'$wait' => t('Please wait'),
'$permset' => t('Permission settings'),
'$ptyp' => $itm[0]['type'],
@@ -218,23 +220,12 @@ logger('canwrite: ' . (perm_is_allowed($owner, get_observer_hash(), 'post_photos
));
- if(($itm[0]['author_xchan'] === $ob_hash) || ($itm[0]['owner_xchan'] === $ob_hash))
- $o .= '<br /><br /><a class="page-delete-link" href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Webpage') . '</a><br />';
-
-
- $x = array(
- 'type' => 'webpage',
- 'title' => $itm[0]['title'],
- 'body' => $itm[0]['body'],
- 'term' => $itm[0]['term'],
- 'created' => $itm[0]['created'],
- 'edited' => $itm[0]['edited'],
- 'mimetype' => $itm[0]['mimetype'],
- 'pagetitle' => $page_title,
- 'mid' => $itm[0]['mid']
- );
-
- $o .= EOL . EOL . t('Share') . EOL . '<textarea onclick="this.select();" class="shareable_element_text" >[element]' . base64url_encode(json_encode($x)) . '[/element]</textarea>' . EOL . EOL;
+ $o .= replace_macros(get_markup_template('edpost_head.tpl'), array(
+ '$title' => t('Edit Webpage'),
+ '$delete' => ((($itm[0]['author_xchan'] === $ob_hash) || ($itm[0]['owner_xchan'] === $ob_hash)) ? t('Delete') : false),
+ '$editor' => $editor,
+ '$id' => $itm[0]['id']
+ ));
return $o;
diff --git a/mod/filestorage.php b/mod/filestorage.php
index f2c795379..8b52c086b 100644
--- a/mod/filestorage.php
+++ b/mod/filestorage.php
@@ -21,7 +21,7 @@ function filestorage_post(&$a) {
$recurse = ((x($_POST, 'recurse')) ? intval($_POST['recurse']) : 0);
$resource = ((x($_POST, 'filehash')) ? notags($_POST['filehash']) : '');
- $no_activity = ((x($_POST, 'no_activity')) ? intval($_POST['no_activity']) : 0);
+ $notify = ((x($_POST, 'notify')) ? intval($_POST['notify']) : 0);
if(! $resource) {
notice(t('Item not found.') . EOL);
@@ -41,7 +41,7 @@ function filestorage_post(&$a) {
attach_change_permissions($channel_id, $resource, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny, $recurse);
- file_activity($channel_id, $object, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny, 'post', $no_activity);
+ file_activity($channel_id, $object, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny, 'post', $notify);
goaway($cloudPath);
}
@@ -148,15 +148,15 @@ function filestorage_content(&$a) {
'$aclselect' => $aclselect_e,
'$lockstate' => $lockstate,
'$permset' => t('Set/edit permissions'),
- '$recurse' => t('Include all files and sub folders'),
+ '$recurse' => array('recurse', t('Include all files and sub folders'), 0, '', array(t('No'), t('Yes'))),
'$backlink' => t('Return to file list'),
'$isadir' => $is_a_dir,
'$cpdesc' => t('Copy/paste this code to attach file to a post'),
'$cpldesc' => t('Copy/paste this URL to link file from a web page'),
'$submit' => t('Submit'),
- '$attach_btn_title' => t('Attach this file to a new post'),
+ '$attach_btn_title' => t('Share this file'),
'$link_btn_title' => t('Show URL to this file'),
- '$activity_btn_title' => t('Do not show in shared with me folder of your connections')
+ '$notify' => array('notify', t('Notify your contacts about this file'), 0, '', array(t('No'), t('Yes')))
));
echo $o;
diff --git a/mod/home.php b/mod/home.php
index 7f28a89fc..7bb138d2e 100644
--- a/mod/home.php
+++ b/mod/home.php
@@ -72,16 +72,20 @@ function home_content(&$a, $update = 0, $load = false) {
if($channel_address) {
$page_id = 'home';
+ $randpage_id = 'home-%';
$u = q("select channel_id from channel where channel_address = '%s' limit 1",
dbesc($channel_address)
);
+ $randfunc = db_getfunc('RAND');
+
$r = q("select item.* from item left join item_id on item.id = item_id.iid
- where item.uid = %d and sid = '%s' and service = 'WEBPAGE' and
- item_restrict = %d limit 1",
+ where item.uid = %d and ( sid = '%s' or sid like '%s' ) and service = 'WEBPAGE' and
+ item_restrict = %d ORDER BY $randfunc limit 1",
intval($u[0]['channel_id']),
dbesc($page_id),
+ dbesc($randpage_id),
intval(ITEM_WEBPAGE)
);
diff --git a/mod/impel.php b/mod/impel.php
index 1b641b301..f4d40f7a8 100644
--- a/mod/impel.php
+++ b/mod/impel.php
@@ -118,4 +118,4 @@ function impel_init(&$a) {
json_return_and_die(true);
-} \ No newline at end of file
+}
diff --git a/mod/item.php b/mod/item.php
index fa40aea03..a732a9f81 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -22,7 +22,6 @@ require_once('include/attach.php');
function item_post(&$a) {
-
// This will change. Figure out who the observer is and whether or not
// they have permission to post here. Else ignore the post.
@@ -116,7 +115,7 @@ function item_post(&$a) {
* Check service class limits
*/
if ($uid && !(x($_REQUEST,'parent')) && !(x($_REQUEST,'post_id'))) {
- $ret = item_check_service_class($uid,x($_REQUEST,'webpage'));
+ $ret = item_check_service_class($uid,(($_REQUEST['webpage'] == ITEM_WEBPAGE) ? true : false));
if (!$ret['success']) {
notice( t($ret['message']) . EOL) ;
if(x($_REQUEST,'return'))
@@ -399,6 +398,7 @@ function item_post(&$a) {
$verb = notags(trim($_REQUEST['verb']));
$title = escape_tags(trim($_REQUEST['title']));
$body = trim($_REQUEST['body']);
+ $body .= trim($_REQUEST['attachment']);
$postopts = '';
$private = (
@@ -602,7 +602,7 @@ function item_post(&$a) {
if($results) {
// Set permissions based on tag replacements
- set_linkified_perms($results, $str_contact_allow, $str_group_allow, $profile_uid, $parent_item);
+ set_linkified_perms($results, $str_contact_allow, $str_group_allow, $profile_uid, $parent_item, $private);
$post_tags = array();
foreach($results as $result) {
@@ -950,6 +950,10 @@ function item_content(&$a) {
if(local_channel() && local_channel() == $i[0]['uid'])
$local_delete = true;
+ $sys = get_sys_channel();
+ if(is_site_admin() && $sys['channel_id'] == $i[0]['uid'])
+ $can_delete = true;
+
$ob_hash = get_observer_hash();
if($ob_hash && ($ob_hash === $i[0]['author_xchan'] || $ob_hash === $i[0]['owner_xchan'] || $ob_hash === $i[0]['source_xchan']))
$can_delete = true;
@@ -1080,6 +1084,7 @@ function item_check_service_class($channel_id,$iswebpage) {
$ret = array('success' => false, $message => '');
if ($iswebpage) {
+ // note: we aren't counting comanche templates and blocks, only webpages
$r = q("select count(id) as total from item where parent = id
and ( item_restrict & %d ) > 0 and ( item_restrict & %d ) = 0 and uid = %d ",
intval(ITEM_WEBPAGE),
@@ -1088,7 +1093,8 @@ function item_check_service_class($channel_id,$iswebpage) {
);
}
else {
- $r = q("select count(id) as total from item where parent = id and item_restrict = 0 and uid = %d ",
+ $r = q("select count(id) as total from item where parent = id and item_restrict = 0 and (item_flags & %d) > 0 and uid = %d ",
+ intval(ITEM_WALL),
intval($channel_id)
);
}
@@ -1099,14 +1105,16 @@ function item_check_service_class($channel_id,$iswebpage) {
}
if (!$iswebpage) {
+ $max = service_class_fetch($channel_id,'total_items');
if(! service_class_allows($channel_id,'total_items',$r[0]['total'])) {
- $result['message'] .= upgrade_message() . sprintf( t('You have reached your limit of %1$.0f top level posts.'),$r[0]['total']);
+ $result['message'] .= upgrade_message() . sprintf( t('You have reached your limit of %1$.0f top level posts.'),$max);
return $result;
}
}
else {
+ $max = service_class_fetch($channel_id,'total_pages');
if(! service_class_allows($channel_id,'total_pages',$r[0]['total'])) {
- $result['message'] .= upgrade_message() . sprintf( t('You have reached your limit of %1$.0f webpages.'),$r[0]['total']);
+ $result['message'] .= upgrade_message() . sprintf( t('You have reached your limit of %1$.0f webpages.'),$max);
return $result;
}
}
diff --git a/mod/layouts.php b/mod/layouts.php
index 74a713cf1..2e45362ba 100644
--- a/mod/layouts.php
+++ b/mod/layouts.php
@@ -33,6 +33,8 @@ function layouts_content(&$a) {
$which = argv(1);
+ $_SESSION['return_url'] = $a->query_string;
+
$uid = local_channel();
$owner = 0;
$channel = null;
@@ -86,6 +88,9 @@ function layouts_content(&$a) {
return;
}
+ //This feature is not exposed in redbasic ui since it is not clear why one would want to
+ //download a json encoded pdl file - we dont have a possibility to import it.
+ //Use the buildin share/install feature instead.
if((argc() > 3) && (argv(2) === 'share') && (argv(3))) {
$r = q("select sid, service, mimetype, title, body from item_id
left join item on item.id = item_id.iid
@@ -98,22 +103,9 @@ function layouts_content(&$a) {
header('Content-disposition: attachment; filename="' . $r[0]['sid'] . '.pdl"');
echo json_encode($r);
killme();
-
}
}
- $tabs = array(
- array(
- 'label' => t('Layout Help'),
- 'url' => 'help/Comanche',
- 'sel' => '',
- 'title' => t('Help with this feature'),
- 'id' => 'layout-help-tab',
- ));
-
- $o .= replace_macros(get_markup_template('common_tabs.tpl'),array('$tabs' => $tabs));
-
-
// Create a status editor (for now - we'll need a WYSIWYG eventually) to create pages
// Nickname is set to the observers xchan, and profile_uid to the owners.
// This lets you post pages at other people's channels.
@@ -122,13 +114,15 @@ function layouts_content(&$a) {
'webpage' => ITEM_PDL,
'is_owner' => true,
'nickname' => $a->profile['channel_address'],
- 'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
'bang' => '',
'showacl' => false,
'visitor' => false,
'nopreview' => 1,
'ptlabel' => t('Layout Name'),
'profile_uid' => intval($owner),
+ 'expanded' => true,
+ 'placeholdertitle' => t('Layout Description (Optional)'),
+ 'novoting' => true
);
if($_REQUEST['title'])
@@ -138,11 +132,10 @@ function layouts_content(&$a) {
if($_REQUEST['pagetitle'])
$x['pagetitle'] = $_REQUEST['pagetitle'];
+ $editor = status_editor($a,$x);
- $o .= status_editor($a,$x);
-
- $r = q("select iid, sid, mid from item_id left join item on item.id = item_id.iid
- where item_id.uid = %d and service = 'PDL' order by sid asc",
+ $r = q("select iid, sid, mid, title, body, mimetype, created, edited from item_id left join item on item_id.iid = item.id
+ where item_id.uid = %d and service = 'PDL' order by item.created desc",
intval($owner)
);
@@ -151,28 +144,48 @@ function layouts_content(&$a) {
if($r) {
$pages = array();
foreach($r as $rr) {
+ $element_arr = array(
+ 'type' => 'layout',
+ 'title' => $rr['title'],
+ 'body' => $rr['body'],
+ 'created' => $rr['created'],
+ 'edited' => $rr['edited'],
+ 'mimetype' => $rr['mimetype'],
+ 'pagetitle' => $rr['sid'],
+ 'mid' => $rr['mid']
+ );
$pages[$rr['iid']][] = array(
'url' => $rr['iid'],
- 'title' => $rr['sid'],
- 'mid' => $rr['mid']
+ 'title' => $rr['sid'],
+ 'descr' => $rr['title'],
+ 'mid' => $rr['mid'],
+ 'created' => $rr['created'],
+ 'edited' => $rr['edited'],
+ 'bb_element' => '[element]' . base64url_encode(json_encode($element_arr)) . '[/element]'
);
- }
+ }
}
//Build the base URL for edit links
$url = z_root() . '/editlayout/' . $which;
$o .= replace_macros(get_markup_template('layoutlist.tpl'), array(
+ '$title' => t('Layouts'),
+ '$create' => t('Create'),
+ '$help' => array('text' => t('Help'), 'url' => 'help/Comanche', 'title' => t('Comanche page description language help')),
+ '$editor' => $editor,
'$baseurl' => $url,
+ '$name' => t('Layout Name'),
+ '$descr' => t('Layout Description'),
+ '$created' => t('Created'),
+ '$edited' => t('Edited'),
'$edit' => t('Edit'),
'$share' => t('Share'),
+ '$download' => t('Download PDL file'),
'$pages' => $pages,
'$channel' => $which,
'$view' => t('View'),
- '$preview' => '1',
-
));
-
- return $o;
+ return $o;
}
diff --git a/mod/lockview.php b/mod/lockview.php
index a46fb6d69..84c16f658 100644
--- a/mod/lockview.php
+++ b/mod/lockview.php
@@ -14,10 +14,13 @@ function lockview_content(&$a) {
if(! $item_id)
killme();
- if (!in_array($type, array('item','photo','event')))
+ if (!in_array($type, array('item','photo','event', 'menu_item')))
killme();
- $r = q("SELECT * FROM %s WHERE id = %d LIMIT 1",
+ //we have different naming in in menu_item table
+ $id = (($type == 'menu_item') ? 'mitem_id' : 'id');
+
+ $r = q("SELECT * FROM %s WHERE $id = %d LIMIT 1",
dbesc($type),
intval($item_id)
);
@@ -27,7 +30,10 @@ function lockview_content(&$a) {
$item = $r[0];
- if($item['uid'] != local_channel()) {
+ //we have different naming in in menu_item table
+ $uid = (($type == 'menu_item') ? $item['mitem_channel_id'] : $item['uid']);
+
+ if($uid != local_channel()) {
echo '<li>' . t('Remote privacy information not available.') . '</li>';
killme();
}
diff --git a/mod/manage.php b/mod/manage.php
index 54a65dbbf..3712be6f1 100644
--- a/mod/manage.php
+++ b/mod/manage.php
@@ -149,14 +149,16 @@ function manage_content(&$a) {
intval(local_channel()),
intval(PERMS_A_DELEGATE)
);
- if(! $delegates)
- $delegates = null;
if($delegates) {
for($x = 0; $x < count($delegates); $x ++) {
- $delegates[$x]['link'] = 'magic?f=&dest=' . urlencode($delegates[$x]['xchan_url']) . '&delegate=' . urlencode($delegates[$x]['xchan_addr']);
+ $delegates[$x]['link'] = 'magic?f=&dest=' . urlencode($delegates[$x]['xchan_url'])
+ . '&delegate=' . urlencode($delegates[$x]['xchan_addr']);
}
}
+ else {
+ $delegates = null;
+ }
diff --git a/mod/menu.php b/mod/menu.php
index 7e9c580a8..0dbbfde9c 100644
--- a/mod/menu.php
+++ b/mod/menu.php
@@ -3,11 +3,20 @@
require_once('include/menu.php');
require_once('include/identity.php');
+function menu_init(&$a) {
+ if (array_key_exists('sys', $_REQUEST) && $_REQUEST['sys'] && is_site_admin()) {
+ $sys = get_sys_channel();
+ if ($sys && intval($sys['channel_id'])) {
+ $a->is_sys = true;
+ }
+ }
+}
+
function menu_post(&$a) {
$uid = local_channel();
- if(array_key_exists('sys',$_REQUEST) && $_REQUEST['sys'] && is_site_admin()) {
+ if(array_key_exists('sys', $_REQUEST) && $_REQUEST['sys'] && is_site_admin()) {
$sys = get_sys_channel();
$uid = intval($sys['channel_id']);
$a->is_sys = true;
@@ -17,7 +26,7 @@ function menu_post(&$a) {
return;
$_REQUEST['menu_channel_id'] = $uid;
-
+
if($_REQUEST['menu_bookmark'])
$_REQUEST['menu_flags'] |= MENU_BOOKMARK;
if($_REQUEST['menu_system'])
@@ -28,7 +37,7 @@ function menu_post(&$a) {
$_REQUEST['menu_id'] = intval(argv(1));
$r = menu_edit($_REQUEST);
if($r) {
- info( t('Menu updated.') . EOL);
+ //info( t('Menu updated.') . EOL);
goaway(z_root() . '/mitem/' . $menu_id . (($a->is_sys) ? '?f=&sys=1' : ''));
}
else
@@ -37,14 +46,13 @@ function menu_post(&$a) {
else {
$r = menu_create($_REQUEST);
if($r) {
- info( t('Menu created.') . EOL);
+ //info( t('Menu created.') . EOL);
goaway(z_root() . '/mitem/' . $r . (($a->is_sys) ? '?f=&sys=1' : ''));
}
else
notice( t('Unable to create menu.'). EOL);
}
-
}
@@ -52,7 +60,7 @@ function menu_content(&$a) {
$uid = local_channel();
- if($a->is_sys && is_site_admin()) {
+ if ($a->is_sys && is_site_admin()) {
$sys = get_sys_channel();
$uid = intval($sys['channel_id']);
}
@@ -62,8 +70,10 @@ function menu_content(&$a) {
return '';
}
-
if(argc() == 1) {
+
+
+
// list menus
$x = menu_list($uid);
if($x) {
@@ -72,65 +82,68 @@ function menu_content(&$a) {
}
}
+ $create = replace_macros(get_markup_template('menuedit.tpl'), array(
+ '$menu_name' => array('menu_name', t('Menu Name'), '', t('Unique name (not visible on webpage) - required'), '*'),
+ '$menu_desc' => array('menu_desc', t('Menu Title'), '', t('Visible on webpage - leave empty for no title'), ''),
+ '$menu_bookmark' => array('menu_bookmark', t('Allow Bookmarks'), 0 , t('Menu may be used to store saved bookmarks'), array(t('No'), t('Yes'))),
+ '$submit' => t('Submit and proceed'),
+ '$sys' => $a->is_sys,
+ '$display' => 'none'
+ ));
+
$o = replace_macros(get_markup_template('menulist.tpl'),array(
- '$title' => t('Manage Menus'),
+ '$title' => t('Menus'),
+ '$create' => $create,
'$menus' => $x,
+ '$nametitle' => t('Menu Name'),
+ '$desctitle' => t('Menu Title'),
'$edit' => t('Edit'),
'$drop' => t('Drop'),
'$new' => t('New'),
'$bmark' => t('Bookmarks allowed'),
- '$hintnew' => t('Create a new menu'),
+ '$hintnew' => t('Create'),
'$hintdrop' => t('Delete this menu'),
'$hintcontent' => t('Edit menu contents'),
- '$hintedit' => t('Edit this menu')
+ '$hintedit' => t('Edit this menu'),
+ '$sys' => $a->is_sys
));
return $o;
}
-
if(argc() > 1) {
- if(argv(1) === 'new') {
- $o = replace_macros(get_markup_template('menuedit.tpl'), array(
- '$header' => t('New Menu'),
- '$menu_name' => array('menu_name', t('Menu name'), '', t('Must be unique, only seen by you'), '*'),
- '$menu_desc' => array('menu_desc', t('Menu title'), '', t('Menu title as seen by others'), ''),
- '$menu_bookmark' => array('menu_bookmark', t('Allow bookmarks'), 0 , t('Menu may be used to store saved bookmarks'), ''),
- '$submit' => t('Create')
- ));
- return $o;
- }
+ if(intval(argv(1))) {
- elseif(intval(argv(1))) {
- $m = menu_fetch_id(intval(argv(1)),$uid);
- if(! $m) {
- notice( t('Menu not found.') . EOL);
- return '';
- }
if(argc() == 3 && argv(2) == 'drop') {
$r = menu_delete_id(intval(argv(1)),$uid);
- if($r)
- info( t('Menu deleted.') . EOL);
- else
+ if(!$r)
notice( t('Menu could not be deleted.'). EOL);
goaway(z_root() . '/menu' . (($a->is_sys) ? '?f=&sys=1' : ''));
}
- else {
- $o = replace_macros(get_markup_template('menuedit.tpl'), array(
- '$header' => t('Edit Menu'),
- '$menu_id' => intval(argv(1)),
- '$hintedit' => t('Add or remove entries to this menu'),
- '$editcontents' => t('Edit menu contents'),
- '$menu_name' => array('menu_name', t('Menu name'), $m['menu_name'], t('Must be unique, only seen by you'), '*'),
- '$menu_desc' => array('menu_desc', t('Menu title'), $m['menu_desc'], t('Menu title as seen by others'), ''),
- '$menu_bookmark' => array('menu_bookmark', t('Allow bookmarks'), (($m['menu_flags'] & MENU_BOOKMARK) ? 1 : 0), t('Menu may be used to store saved bookmarks'), ''),
- '$menu_system' => (($m['menu_flags'] & MENU_SYSTEM) ? 1 : 0),
- '$submit' => t('Modify')
- ));
- return $o;
+
+ $m = menu_fetch_id(intval(argv(1)),$uid);
+
+ if(! $m) {
+ notice( t('Menu not found.') . EOL);
+ return '';
}
+
+ $o = replace_macros(get_markup_template('menuedit.tpl'), array(
+ '$header' => t('Edit Menu'),
+ '$menu_id' => intval(argv(1)),
+ '$hintedit' => t('Add or remove entries to this menu'),
+ '$editcontents' => t('Edit menu contents'),
+ '$menu_name' => array('menu_name', t('Menu name'), $m['menu_name'], t('Must be unique, only seen by you'), '*'),
+ '$menu_desc' => array('menu_desc', t('Menu title'), $m['menu_desc'], t('Menu title as seen by others'), ''),
+ '$menu_bookmark' => array('menu_bookmark', t('Allow bookmarks'), (($m['menu_flags'] & MENU_BOOKMARK) ? 1 : 0), t('Menu may be used to store saved bookmarks'), ''),
+ '$menu_system' => (($m['menu_flags'] & MENU_SYSTEM) ? 1 : 0),
+ '$submit' => t('Modify')
+ ));
+
+ return $o;
+
}
else {
notice( t('Not found.') . EOL);
diff --git a/mod/mitem.php b/mod/mitem.php
index b561ec7d6..06c66a323 100644
--- a/mod/mitem.php
+++ b/mod/mitem.php
@@ -41,14 +41,17 @@ function mitem_post(&$a) {
return;
}
-
-
if(! $a->data['menu'])
return;
$channel = $a->get_channel();
+ if(!$_REQUEST['mitem_desc'] || !$_REQUEST['mitem_link']) {
+ notice( t('Unable to create element.') . EOL);
+ return;
+ }
+
$_REQUEST['mitem_channel_id'] = $uid;
$_REQUEST['menu_id'] = $a->data['menu']['menu_id'];
@@ -64,7 +67,7 @@ function mitem_post(&$a) {
$_REQUEST['mitem_id'] = $mitem_id;
$r = menu_edit_item($_REQUEST['menu_id'],$uid,$_REQUEST);
if($r) {
- info( t('Menu element updated.') . EOL);
+ //info( t('Menu element updated.') . EOL);
goaway(z_root() . '/mitem/' . $_REQUEST['menu_id'] . (($a->is_sys) ? '?f=&sys=1' : ''));
}
else
@@ -74,8 +77,13 @@ function mitem_post(&$a) {
else {
$r = menu_add_item($_REQUEST['menu_id'],$uid,$_REQUEST);
if($r) {
- info( t('Menu element added.') . EOL);
- goaway(z_root() . '/mitem/' . $_REQUEST['menu_id'] . (($a->is_sys) ? '?f=&sys=1' : ''));
+ //info( t('Menu element added.') . EOL);
+ if($_REQUEST['submit']) {
+ goaway(z_root() . '/menu' . (($a->is_sys) ? '?f=&sys=1' : ''));
+ }
+ if($_REQUEST['submit-more']) {
+ goaway(z_root() . '/mitem/' . $_REQUEST['menu_id'] . '?f=&display=block' . (($a->is_sys) ? '&sys=1' : '') );
+ }
}
else
notice( t('Unable to add menu element.') . EOL);
@@ -84,6 +92,7 @@ function mitem_post(&$a) {
+
}
@@ -115,6 +124,14 @@ function mitem_content(&$a) {
$m = menu_fetch($a->data['menu']['menu_name'],$uid,$ob_hash);
$a->data['menu_item'] = $m;
+ $perm_defaults = array(
+ 'allow_cid' => $channel['channel_allow_cid'],
+ 'allow_gid' => $channel['channel_allow_gid'],
+ 'deny_cid' => $channel['channel_deny_cid'],
+ 'deny_gid' => $channel['channel_deny_gid']
+ );
+
+ $lockstate = (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock');
if(argc() == 2) {
$r = q("select * from menu_item where mitem_menu_id = %d and mitem_channel_id = %d order by mitem_order asc, mitem_desc asc",
@@ -122,61 +139,61 @@ function mitem_content(&$a) {
intval($uid)
);
+ if($_GET['display']) {
+ $display = $_GET['display'];
+ }
+ else {
+ $display = (($r) ? 'none' : 'block');
+ }
+
+ $create = replace_macros(get_markup_template('mitemedit.tpl'), array(
+ '$menu_id' => $a->data['menu']['menu_id'],
+ '$permissions' => t('Menu Item Permissions'),
+ '$permdesc' => t("\x28click to open/close\x29"),
+ '$aclselect' => populate_acl($perm_defaults,false),
+ '$mitem_desc' => array('mitem_desc', t('Link Name'), '', 'Visible name of the link','*'),
+ '$mitem_link' => array('mitem_link', t('Link Target'), '', 'URL of the link', '*'),
+ '$usezid' => array('usezid', t('Use RedMatrix magic-auth if available'), true, ''),
+ '$newwin' => array('newwin', t('Open link in new window'), false,''),
+ '$mitem_order' => array('mitem_order', t('Order in list'),'0',t('Higher numbers will sink to bottom of listing')),
+ '$submit' => t('Submit and finish'),
+ '$submit_more' => t('Submit and continue'),
+ '$display' => $display,
+ '$lockstate' => $lockstate
+ ));
$o .= replace_macros(get_markup_template('mitemlist.tpl'),array(
- '$title' => t('Manage Menu Elements'),
- '$menuname' => $a->data['menu']['menu_name'],
- '$menudesc' => $a->data['menu']['menu_desc'],
- '$edmenu' => t('Edit menu'),
- '$menu_id' => $a->data['menu']['menu_id'],
- '$mlist' => $r,
- '$edit' => t('Edit element'),
- '$drop' => t('Drop element'),
- '$new' => t('New element'),
- '$hintmenu' => t('Edit this menu container'),
- '$hintnew' => t('Add menu element'),
- '$hintdrop' => t('Delete this menu item'),
- '$hintedit' => t('Edit this menu item')
+ '$title' => t('Menu:'),
+ '$create' => $create,
+ '$nametitle' => t('Link Name'),
+ '$targettitle' => t('Link Target'),
+ '$menuname' => $a->data['menu']['menu_name'],
+ '$menudesc' => $a->data['menu']['menu_desc'],
+ '$edmenu' => t('Edit menu'),
+ '$menu_id' => $a->data['menu']['menu_id'],
+ '$mlist' => $r,
+ '$edit' => t('Edit element'),
+ '$drop' => t('Drop element'),
+ '$new' => t('New element'),
+ '$hintmenu' => t('Edit this menu container'),
+ '$hintnew' => t('Add menu element'),
+ '$hintdrop' => t('Delete this menu item'),
+ '$hintedit' => t('Edit this menu item'),
));
-
+
return $o;
}
if(argc() > 2) {
- if(argv(2) === 'new') {
-
- $perm_defaults = array(
- 'allow_cid' => $channel['channel_allow_cid'],
- 'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
- 'deny_gid' => $channel['channel_deny_gid']
- );
+ if(intval(argv(2))) {
- $o = replace_macros(get_markup_template('mitemedit.tpl'), array(
- '$header' => t('New Menu Element'),
- '$menu_id' => $a->data['menu']['menu_id'],
- '$permissions' => t('Menu Item Permissions'),
- '$permdesc' => t("\x28click to open/close\x29"),
- '$aclselect' => populate_acl($perm_defaults,false),
- '$mitem_desc' => array('mitem_desc', t('Link text'), '', '','*'),
- '$mitem_link' => array('mitem_link', t('URL of link'), '', '', '*'),
- '$usezid' => array('usezid', t('Use RedMatrix magic-auth if available'), true, ''),
- '$newwin' => array('newwin', t('Open link in new window'), false,''),
-// permissions go here
- '$mitem_order' => array('mitem_order', t('Order in list'),'0',t('Higher numbers will sink to bottom of listing')),
- '$submit' => t('Create')
- ));
- return $o;
- }
-
-
- elseif(intval(argv(2))) {
$m = q("select * from menu_item where mitem_id = %d and mitem_channel_id = %d limit 1",
intval(argv(2)),
intval($uid)
);
+
if(! $m) {
notice( t('Menu item not found.') . EOL);
goaway(z_root() . '/menu'. (($a->is_sys) ? '?f=&sys=1' : ''));
@@ -184,6 +201,8 @@ function mitem_content(&$a) {
$mitem = $m[0];
+ $lockstate = (($mitem['allow_cid'] || $mitem['allow_gid'] || $mitem['deny_cid'] || $mitem['deny_gid']) ? 'lock' : 'unlock');
+
if(argc() == 4 && argv(3) == 'drop') {
$r = menu_del_item($mitem['mitem_menu_id'], $uid, intval(argv(2)));
if($r)
@@ -193,27 +212,25 @@ function mitem_content(&$a) {
goaway(z_root() . '/mitem/' . $mitem['mitem_menu_id'] . (($a->is_sys) ? '?f=&sys=1' : ''));
}
- else {
-
- // edit menu item
-
- $o = replace_macros(get_markup_template('mitemedit.tpl'), array(
- '$header' => t('Edit Menu Element'),
- '$menu_id' => $a->data['menu']['menu_id'],
- '$permissions' => t('Menu Item Permissions'),
- '$permdesc' => t("\x28click to open/close\x29"),
- '$aclselect' => populate_acl($mitem,false),
- '$mitem_id' => intval(argv(2)),
- '$mitem_desc' => array('mitem_desc', t('Link text'), $mitem['mitem_desc'], '','*'),
- '$mitem_link' => array('mitem_link', t('URL of link'), $mitem['mitem_link'], '', '*'),
- '$usezid' => array('usezid', t('Use RedMatrix magic-auth if available'), (($mitem['mitem_flags'] & MENU_ITEM_ZID) ? 1 : 0), ''),
- '$newwin' => array('newwin', t('Open link in new window'), (($mitem['mitem_flags'] & MENU_ITEM_NEWWIN) ? 1 : 0),''),
-// permissions go here
- '$mitem_order' => array('mitem_order', t('Order in list'),$mitem['mitem_order'],t('Higher numbers will sink to bottom of listing')),
- '$submit' => t('Modify')
- ));
- return $o;
- }
+
+ // edit menu item
+ $o = replace_macros(get_markup_template('mitemedit.tpl'), array(
+ '$header' => t('Edit Menu Element'),
+ '$menu_id' => $a->data['menu']['menu_id'],
+ '$permissions' => t('Menu Item Permissions'),
+ '$permdesc' => t("\x28click to open/close\x29"),
+ '$aclselect' => populate_acl($mitem,false),
+ '$mitem_id' => intval(argv(2)),
+ '$mitem_desc' => array('mitem_desc', t('Link text'), $mitem['mitem_desc'], '','*'),
+ '$mitem_link' => array('mitem_link', t('URL of link'), $mitem['mitem_link'], '', '*'),
+ '$usezid' => array('usezid', t('Use RedMatrix magic-auth if available'), (($mitem['mitem_flags'] & MENU_ITEM_ZID) ? 1 : 0), ''),
+ '$newwin' => array('newwin', t('Open link in new window'), (($mitem['mitem_flags'] & MENU_ITEM_NEWWIN) ? 1 : 0),''),
+ '$mitem_order' => array('mitem_order', t('Order in list'),$mitem['mitem_order'],t('Higher numbers will sink to bottom of listing')),
+ '$submit' => t('Submit'),
+ '$lockstate' => $lockstate
+ ));
+
+ return $o;
}
}
}
diff --git a/mod/page.php b/mod/page.php
index 05d88aa52..ad1862a7a 100644
--- a/mod/page.php
+++ b/mod/page.php
@@ -55,11 +55,12 @@ function page_init(&$a) {
$sql_options = item_permissions_sql($u[0]['channel_id']);
$r = q("select item.* from item left join item_id on item.id = item_id.iid
- where item.uid = %d and sid = '%s' and service = 'WEBPAGE' and
- item_restrict = %d $sql_options $revision limit 1",
+ where item.uid = %d and sid = '%s' and (( service = 'WEBPAGE' and
+ item_restrict = %d ) or ( service = 'PDL' and item_restrict = %d )) $sql_options $revision limit 1",
intval($u[0]['channel_id']),
dbesc($page_id),
- intval(ITEM_WEBPAGE)
+ intval(ITEM_WEBPAGE),
+ intval(ITEM_PDL)
);
if(! $r) {
@@ -83,7 +84,12 @@ function page_init(&$a) {
return;
}
- if($r[0]['layout_mid']) {
+ if($r[0]['item_restrict'] == ITEM_PDL) {
+ require_once('include/comanche.php');
+ comanche_parser(get_app(),$r[0]['body']);
+ get_app()->pdl = $r[0]['body'];
+ }
+ elseif($r[0]['layout_mid']) {
$l = q("select body from item where mid = '%s' and uid = %d limit 1",
dbesc($r[0]['layout_mid']),
intval($u[0]['channel_id'])
@@ -98,8 +104,6 @@ function page_init(&$a) {
$a->data['webpage'] = $r;
-
-
}
@@ -111,17 +115,11 @@ function page_content(&$a) {
if(! $r)
return;
- // logger('layout: ' . print_r($a->layout,true));
-
- // Use of widgets should be determined by Comanche, but we don't have it on system pages yet, so...
-
- // I recommend we now get rid of this bit - it's quite a hack to work around... - mike
-
- if ($perms['write_pages']) {
- $chan = $a->channel['channel_id'];
- $who = $channel_address;
- $which = $r[0]['id'];
- $o .= writepages_widget($who,$which);
+ if($r[0]['item_restrict'] == ITEM_PDL) {
+ $r[0]['body'] = t('Ipsum Lorem');
+ $r[0]['mimetype'] = 'text/plain';
+ $r[0]['title'] = '';
+
}
xchan_query($r);
diff --git a/mod/photos.php b/mod/photos.php
index 503a113dc..296aab67f 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -553,7 +553,7 @@ function photos_content(&$a) {
'$nickname' => $a->data['channel']['channel_address'],
'$newalbum_label' => t('Enter a new album name'),
'$newalbum_placeholder' => t('or select an existing one (doubleclick)'),
- '$visible' => array('visible', t('Create a status post for this upload'),0,''),
+ '$visible' => array('visible', t('Create a status post for this upload'), 0, '', array(t('No'), t('Yes'))),
'$albums' => $albums['albums'],
'$selname' => $selname,
'$permissions' => t('Permissions'),
diff --git a/mod/rpost.php b/mod/rpost.php
index 10ae6b8ab..0c0916646 100644
--- a/mod/rpost.php
+++ b/mod/rpost.php
@@ -94,9 +94,12 @@ function rpost_content(&$a) {
$channel = $a->get_channel();
- $o .= replace_macros(get_markup_template('edpost_head.tpl'), array(
- '$title' => t('Edit post')
- ));
+ $channel_acl = array(
+ 'allow_cid' => $channel['channel_allow_cid'],
+ 'allow_gid' => $channel['channel_allow_gid'],
+ 'deny_cid' => $channel['channel_deny_cid'],
+ 'deny_gid' => $channel['channel_deny_gid']
+ );
if($_REQUEST['url']) {
$x = z_fetch_url(z_root() . '/parse_url?f=&url=' . urlencode($_REQUEST['url']));
@@ -111,18 +114,23 @@ function rpost_content(&$a) {
'nickname' => $channel['channel_address'],
'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid']
|| $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
- 'acl' => populate_acl($channel),
+ 'acl' => populate_acl($channel_acl),
'bang' => '',
'visitor' => true,
'profile_uid' => local_channel(),
'title' => $_REQUEST['title'],
'body' => $_REQUEST['body'],
+ 'attachment' => $_REQUEST['attachment'],
'source' => ((x($_REQUEST,'source')) ? strip_tags($_REQUEST['source']) : ''),
'return_path' => 'rpost/return'
);
+ $editor = status_editor($a,$x);
- $o .= status_editor($a,$x);
+ $o .= replace_macros(get_markup_template('edpost_head.tpl'), array(
+ '$title' => t('Edit post'),
+ '$editor' => $editor
+ ));
return $o;
diff --git a/mod/search.php b/mod/search.php
index 4d66086f8..6d79f5eee 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -57,12 +57,12 @@ function search_content(&$a,$update = 0, $load = false) {
}
if(strpos($search,'@') === 0) {
$search = substr($search,1);
- goaway(z_root() . '/directory' . '?f=1&search=' . $search);
+ goaway(z_root() . '/directory' . '?f=1&navsearch=1&search=' . $search);
}
// look for a naked webbie
if(strpos($search,'@') !== false) {
- goaway(z_root() . '/directory' . '?f=1&search=' . $search);
+ goaway(z_root() . '/directory' . '?f=1&navsearch=1&search=' . $search);
}
if(! $search)
@@ -153,24 +153,26 @@ function search_content(&$a,$update = 0, $load = false) {
}
if(local_channel()) {
$r = q("SELECT $prefix mid, item.id as item_id, item.* from item
- WHERE item_restrict = 0
+ WHERE item_restrict = 0 AND ( item_flags & %d ) = 0
AND ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND item_private = 0 )
OR ( `item`.`uid` = %d )) OR item.owner_xchan = '%s' )
$sql_extra
$suffix $pager_sql ",
+ intval(ITEM_OBSCURED),
intval(local_channel()),
dbesc($sys['xchan_hash'])
);
}
if($r === null) {
$r = q("SELECT $prefix mid, item.id as item_id, item.* from item
- WHERE item_restrict = 0
+ WHERE item_restrict = 0 AND ( item_flags & %d ) = 0
AND (((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
AND `item`.`deny_gid` = '' AND item_private = 0 )
and owner_xchan in ( " . stream_perms_xchans(($observer) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " ))
$pub_sql ) OR owner_xchan = '%s')
$sql_extra
$suffix $pager_sql",
+ intval(ITEM_OBSCURED),
dbesc($sys['xchan_hash'])
);
}
diff --git a/mod/suggest.php b/mod/suggest.php
index fec0e85a4..438d884ca 100644
--- a/mod/suggest.php
+++ b/mod/suggest.php
@@ -44,6 +44,7 @@ function suggest_content(&$a) {
$arr[] = array(
'url' => chanlink_url($rr['xchan_url']),
+ 'common' => $rr['total'],
'profile' => $rr['xchan_url'],
'name' => $rr['xchan_name'],
'photo' => $rr['xchan_photo_m'],
diff --git a/mod/viewconnections.php b/mod/viewconnections.php
index ee68c2149..ef6681e64 100644
--- a/mod/viewconnections.php
+++ b/mod/viewconnections.php
@@ -28,6 +28,10 @@ function viewconnections_content(&$a) {
return;
}
+ if(! $_REQUEST['aj'])
+ $_SESSION['return_url'] = $a->query_string;
+
+
$is_owner = ((local_channel() && local_channel() == $a->profile['uid']) ? true : false);
$abook_flags = ABOOK_FLAG_PENDING|ABOOK_FLAG_SELF;
@@ -54,7 +58,7 @@ function viewconnections_content(&$a) {
intval($a->pager['start'])
);
- if(! $r) {
+ if((! $r) && (! $_REQUEST['aj'])) {
info( t('No connections.') . EOL );
return $o;
}
@@ -81,13 +85,30 @@ function viewconnections_content(&$a) {
}
- $tpl = get_markup_template("viewcontact_template.tpl");
- $o .= replace_macros($tpl, array(
- '$title' => t('View Connections'),
- '$contacts' => $contacts,
- '$paginate' => paginate($a),
- ));
+ if($_REQUEST['aj']) {
+ if($contacts) {
+ $o = replace_macros(get_markup_template('viewcontactsajax.tpl'),array(
+ '$contacts' => $contacts
+ ));
+ }
+ else {
+ $o = '<div id="content-complete"></div>';
+ }
+ echo $o;
+ killme();
+ }
+ else {
+ $o .= "<script> var page_query = '" . $_GET['q'] . "'; var extra_args = '" . extra_query_args() . "' ; </script>";
+ $tpl = get_markup_template("viewcontact_template.tpl");
+ $o .= replace_macros($tpl, array(
+ '$title' => t('View Connections'),
+ '$contacts' => $contacts,
+// '$paginate' => paginate($a),
+ ));
+ }
+ if(! $contacts)
+ $o .= '<div id="content-complete"></div>';
return $o;
}
diff --git a/mod/viewsrc.php b/mod/viewsrc.php
index 983a0e725..3125ae4c0 100644
--- a/mod/viewsrc.php
+++ b/mod/viewsrc.php
@@ -21,7 +21,7 @@ function viewsrc_content(&$a) {
}
if(local_channel() && $item_id) {
- $r = q("select item_flags, body from item where item_restrict = 0 and uid in (%d , %d) and id = %d limit 1",
+ $r = q("select item_flags, body, id from item where item_restrict = 0 and uid in (%d , %d) and id = %d limit 1",
intval(local_channel()),
intval($sys['channel_id']),
intval($item_id)
@@ -35,6 +35,7 @@ function viewsrc_content(&$a) {
}
if(is_ajax()) {
+ print '<div><i class="icon-pencil"> ' . t('Source of Item') . ' ' . $r[0]['id'] . '</i></div>';
echo $o;
killme();
}
diff --git a/mod/wall_attach.php b/mod/wall_attach.php
index 498389986..4b7103802 100644
--- a/mod/wall_attach.php
+++ b/mod/wall_attach.php
@@ -23,7 +23,8 @@ function wall_attach_post(&$a) {
if($_FILES['userfile']['tmp_name']) {
$x = @getimagesize($_FILES['userfile']['tmp_name']);
- if(($x) && ($x[2] === IMG_GIF || $x[2] === IMG_JPG || $x[2] === IMG_JPEG || $x[2] === IMG_PNG)) {
+ logger('getimagesize: ' . print_r($x,true), LOGGER_DATA);
+ if(($x) && ($x[2] === IMAGETYPE_GIF || $x[2] === IMAGETYPE_JPEG || $x[2] === IMAGETYPE_PNG)) {
$args = array( 'source' => 'editor', 'visible' => 0, 'contact_allow' => array($channel['channel_hash']));
$ret = photo_upload($channel,$observer,$args);
if($ret['success']) {
diff --git a/mod/webpages.php b/mod/webpages.php
index 6aff72a5e..859c93fde 100644
--- a/mod/webpages.php
+++ b/mod/webpages.php
@@ -32,6 +32,8 @@ function webpages_content(&$a) {
}
$which = argv(1);
+
+ $_SESSION['return_url'] = $a->query_string;
$uid = local_channel();
$owner = 0;
@@ -68,26 +70,20 @@ function webpages_content(&$a) {
return;
}
- if(feature_enabled($owner,'expert')) {
- $mimetype = (($_REQUEST['mimetype']) ? $_REQUEST['mimetype'] : get_pconfig($owner,'system','page_mimetype'));
- if(! $mimetype)
- $mimetype = 'choose';
- }
- else {
- $mimetype = 'text/bbcode';
+ $mimetype = (($_REQUEST['mimetype']) ? $_REQUEST['mimetype'] : get_pconfig($owner,'system','page_mimetype'));
+
+ if(! $mimetype) {
+ $mimetype = 'choose';
}
$layout = (($_REQUEST['layout']) ? $_REQUEST['layout'] : get_pconfig($owner,'system','page_layout'));
if(! $layout)
$layout = 'choose';
-
// Create a status editor (for now - we'll need a WYSIWYG eventually) to create pages
// Nickname is set to the observers xchan, and profile_uid to the owner's.
// This lets you post pages at other people's channels.
-
-
if((! $channel) && ($uid) && ($uid == $a->profile_uid)) {
$channel = $a->get_channel();
}
@@ -102,8 +98,8 @@ function webpages_content(&$a) {
else
$channel_acl = array();
-
- $o = profile_tabs($a,true);
+ $is_owner = ($uid && $uid == $owner);
+ $o = profile_tabs($a, $is_owner, $a->profile['channel_address']);
$x = array(
'webpage' => ITEM_WEBPAGE,
@@ -111,11 +107,14 @@ function webpages_content(&$a) {
'nickname' => $a->profile['channel_address'],
'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
'bang' => '',
- 'acl' => (($uid && $uid == $owner) ? populate_acl($channel_acl,false) : ''),
+ 'acl' => (($is_owner) ? populate_acl($channel_acl,false) : ''),
+ 'showacl' => (($is_owner) ? true : false),
'visitor' => true,
'profile_uid' => intval($owner),
'mimetype' => $mimetype,
'layout' => $layout,
+ 'expanded' => true,
+ 'novoting' => true
);
if($_REQUEST['title'])
@@ -125,14 +124,16 @@ function webpages_content(&$a) {
if($_REQUEST['pagetitle'])
$x['pagetitle'] = $_REQUEST['pagetitle'];
- $o .= status_editor($a,$x);
+ $editor = status_editor($a,$x);
// Get a list of webpages. We can't display all them because endless scroll makes that unusable,
// so just list titles and an edit link.
- //TODO - this should be replaced with pagelist_widget
+ /** @TODO - this should be replaced with pagelist_widget */
+
+ $sql_extra = item_permissions_sql($owner);
$r = q("select * from item_id left join item on item_id.iid = item.id
- where item_id.uid = %d and service = 'WEBPAGE' order by item.created desc",
+ where item_id.uid = %d and service = 'WEBPAGE' $sql_extra order by item.created desc",
intval($owner)
);
@@ -142,12 +143,27 @@ function webpages_content(&$a) {
$pages = array();
foreach($r as $rr) {
unobscure($rr);
+
+ $lockstate = (($rr['allow_cid'] || $rr['allow_gid'] || $rr['deny_cid'] || $rr['deny_gid']) ? 'lock' : 'unlock');
+
+ $element_arr = array(
+ 'type' => 'webpage',
+ 'title' => $rr['title'],
+ 'body' => $rr['body'],
+ 'created' => $rr['created'],
+ 'edited' => $rr['edited'],
+ 'mimetype' => $rr['mimetype'],
+ 'pagetitle' => $rr['sid'],
+ 'mid' => $rr['mid']
+ );
$pages[$rr['iid']][] = array(
- 'url' => $rr['iid'],
- 'pagetitle' => $rr['sid'],
- 'title' => $rr['title'],
- 'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),
- 'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited'])
+ 'url' => $rr['iid'],
+ 'pagetitle' => $rr['sid'],
+ 'title' => $rr['title'],
+ 'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),
+ 'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited']),
+ 'bb_element' => '[element]' . base64url_encode(json_encode($element_arr)) . '[/element]',
+ 'lockstate' => $lockstate
);
}
}
@@ -157,21 +173,23 @@ function webpages_content(&$a) {
$url = z_root() . '/editwebpage/' . $which;
$o .= replace_macros(get_markup_template('webpagelist.tpl'), array(
- '$listtitle' => t('Webpages'),
+ '$listtitle' => t('Webpages'),
'$baseurl' => $url,
+ '$create' => t('Create'),
'$edit' => t('Edit'),
+ '$share' => t('Share'),
+ '$delete' => t('Delete'),
'$pages' => $pages,
'$channel' => $which,
+ '$editor' => $editor,
'$view' => t('View'),
'$preview' => t('Preview'),
'$actions_txt' => t('Actions'),
'$pagelink_txt' => t('Page Link'),
- '$title_txt' => t('Title'),
+ '$title_txt' => t('Page Title'),
'$created_txt' => t('Created'),
'$edited_txt' => t('Edited')
-
));
return $o;
-
}
diff --git a/util/messages.po b/util/messages.po
index 37e1520df..883ef4a5f 100644
--- a/util/messages.po
+++ b/util/messages.po
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 2015-03-27.984\n"
+"Project-Id-Version: 2015-04-24.1012\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-03-27 00:03-0700\n"
+"POT-Creation-Date: 2015-04-24 00:03-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"
@@ -54,7 +54,7 @@ msgstr ""
msgid "Default privacy group for new contacts"
msgstr ""
-#: ../../include/group.php:254 ../../mod/admin.php:824
+#: ../../include/group.php:254 ../../mod/admin.php:822
msgid "All Channels"
msgstr ""
@@ -71,7 +71,7 @@ msgid "Edit collection"
msgstr ""
#: ../../include/group.php:300
-msgid "Create a new collection"
+msgid "Add new collection"
msgstr ""
#: ../../include/group.php:301
@@ -82,321 +82,174 @@ msgstr ""
msgid "add"
msgstr ""
-#: ../../include/bbcode.php:115 ../../include/bbcode.php:694
-#: ../../include/bbcode.php:697 ../../include/bbcode.php:702
-#: ../../include/bbcode.php:705 ../../include/bbcode.php:708
-#: ../../include/bbcode.php:711 ../../include/bbcode.php:716
-#: ../../include/bbcode.php:719 ../../include/bbcode.php:724
-#: ../../include/bbcode.php:727 ../../include/bbcode.php:730
-#: ../../include/bbcode.php:733
-msgid "Image/photo"
-msgstr ""
-
-#: ../../include/bbcode.php:150 ../../include/bbcode.php:744
-msgid "Encrypted content"
-msgstr ""
-
-#: ../../include/bbcode.php:168
-msgid "Install design element: "
-msgstr ""
-
-#: ../../include/bbcode.php:174
-msgid "QR code"
-msgstr ""
-
-#: ../../include/bbcode.php:223
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr ""
-
-#: ../../include/bbcode.php:225
-msgid "post"
-msgstr ""
-
-#: ../../include/bbcode.php:447
-msgid "Different viewers will see this text differently"
-msgstr ""
-
-#: ../../include/bbcode.php:662
-msgid "$1 spoiler"
-msgstr ""
-
-#: ../../include/bbcode.php:682
-msgid "$1 wrote:"
-msgstr ""
-
-#: ../../include/identity.php:31
-msgid "Unable to obtain identity information from database"
-msgstr ""
-
-#: ../../include/identity.php:66
-msgid "Empty name"
-msgstr ""
-
-#: ../../include/identity.php:68
-msgid "Name too long"
-msgstr ""
-
-#: ../../include/identity.php:169
-msgid "No account identifier"
-msgstr ""
-
-#: ../../include/identity.php:182
-msgid "Nickname is required."
+#: ../../include/account.php:27
+msgid "Not a valid email address"
msgstr ""
-#: ../../include/identity.php:196
-msgid "Reserved nickname. Please choose another."
+#: ../../include/account.php:29
+msgid "Your email domain is not among those allowed on this site"
msgstr ""
-#: ../../include/identity.php:201 ../../include/dimport.php:34
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
+#: ../../include/account.php:35
+msgid "Your email address is already registered at this site."
msgstr ""
-#: ../../include/identity.php:281
-msgid "Unable to retrieve created identity"
+#: ../../include/account.php:67
+msgid "An invitation is required."
msgstr ""
-#: ../../include/identity.php:341
-msgid "Default Profile"
+#: ../../include/account.php:71
+msgid "Invitation could not be verified."
msgstr ""
-#: ../../include/identity.php:385 ../../include/identity.php:386
-#: ../../include/identity.php:393 ../../include/widgets.php:430
-#: ../../include/profile_selectors.php:80 ../../mod/settings.php:339
-#: ../../mod/settings.php:343 ../../mod/settings.php:344
-#: ../../mod/settings.php:347 ../../mod/settings.php:358
-#: ../../mod/connedit.php:567
-msgid "Friends"
+#: ../../include/account.php:121
+msgid "Please enter the required information."
msgstr ""
-#: ../../include/identity.php:641
-msgid "Requested channel is not available."
+#: ../../include/account.php:188
+msgid "Failed to store account information."
msgstr ""
-#: ../../include/identity.php:689 ../../mod/profile.php:16
-#: ../../mod/achievements.php:11 ../../mod/blocks.php:29
-#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/editlayout.php:28
-#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:54
-#: ../../mod/webpages.php:29 ../../mod/editblock.php:29
-#: ../../mod/layouts.php:29
-msgid "Requested profile is not available."
+#: ../../include/account.php:246
+#, php-format
+msgid "Registration confirmation for %s"
msgstr ""
-#: ../../include/identity.php:840 ../../include/widgets.php:136
-#: ../../include/widgets.php:175 ../../include/conversation.php:945
-#: ../../include/Contact.php:107 ../../mod/match.php:62
-#: ../../mod/directory.php:291 ../../mod/suggest.php:51
-msgid "Connect"
+#: ../../include/account.php:312
+#, php-format
+msgid "Registration request at %s"
msgstr ""
-#: ../../include/identity.php:854 ../../mod/profiles.php:774
-msgid "Change profile photo"
+#: ../../include/account.php:314 ../../include/account.php:341
+#: ../../include/account.php:401
+msgid "Administrator"
msgstr ""
-#: ../../include/identity.php:861
-msgid "Profiles"
+#: ../../include/account.php:336
+msgid "your registration password"
msgstr ""
-#: ../../include/identity.php:861
-msgid "Manage/edit profiles"
+#: ../../include/account.php:339 ../../include/account.php:399
+#, php-format
+msgid "Registration details for %s"
msgstr ""
-#: ../../include/identity.php:862 ../../mod/profiles.php:775
-msgid "Create New Profile"
+#: ../../include/account.php:408
+msgid "Account approved."
msgstr ""
-#: ../../include/identity.php:865 ../../include/nav.php:95
-msgid "Edit Profile"
+#: ../../include/account.php:447
+#, php-format
+msgid "Registration revoked for %s"
msgstr ""
-#: ../../include/identity.php:878 ../../mod/profiles.php:786
-msgid "Profile Image"
+#: ../../include/account.php:492
+msgid "Account verified. Please login."
msgstr ""
-#: ../../include/identity.php:881
-msgid "visible to everybody"
+#: ../../include/account.php:705 ../../include/account.php:707
+msgid "Click here to upgrade."
msgstr ""
-#: ../../include/identity.php:882 ../../mod/profiles.php:669
-#: ../../mod/profiles.php:790
-msgid "Edit visibility"
+#: ../../include/account.php:713
+msgid "This action exceeds the limits set by your subscription plan."
msgstr ""
-#: ../../include/identity.php:894 ../../include/bb2diaspora.php:473
-#: ../../include/event.php:40 ../../mod/events.php:647
-#: ../../mod/directory.php:223
-msgid "Location:"
+#: ../../include/account.php:718
+msgid "This action is not available under your subscription plan."
msgstr ""
-#: ../../include/identity.php:898 ../../include/identity.php:1140
-msgid "Gender:"
+#: ../../include/datetime.php:48
+msgid "Miscellaneous"
msgstr ""
-#: ../../include/identity.php:899 ../../include/identity.php:1184
-msgid "Status:"
+#: ../../include/datetime.php:132
+msgid "YYYY-MM-DD or MM-DD"
msgstr ""
-#: ../../include/identity.php:900 ../../include/identity.php:1195
-msgid "Homepage:"
+#: ../../include/datetime.php:235 ../../mod/events.php:635
+#: ../../mod/appman.php:91 ../../mod/appman.php:92
+msgid "Required"
msgstr ""
-#: ../../include/identity.php:901
-msgid "Online Now"
+#: ../../include/datetime.php:262 ../../boot.php:2342
+msgid "never"
msgstr ""
-#: ../../include/identity.php:984 ../../include/identity.php:1064
-#: ../../mod/ping.php:324
-msgid "g A l F d"
+#: ../../include/datetime.php:268
+msgid "less than a second ago"
msgstr ""
-#: ../../include/identity.php:985 ../../include/identity.php:1065
-msgid "F d"
+#: ../../include/datetime.php:271
+msgid "year"
msgstr ""
-#: ../../include/identity.php:1030 ../../include/identity.php:1105
-#: ../../mod/ping.php:346
-msgid "[today]"
+#: ../../include/datetime.php:271
+msgid "years"
msgstr ""
-#: ../../include/identity.php:1042
-msgid "Birthday Reminders"
+#: ../../include/datetime.php:272
+msgid "month"
msgstr ""
-#: ../../include/identity.php:1043
-msgid "Birthdays this week:"
+#: ../../include/datetime.php:272
+msgid "months"
msgstr ""
-#: ../../include/identity.php:1098
-msgid "[No description]"
+#: ../../include/datetime.php:273
+msgid "week"
msgstr ""
-#: ../../include/identity.php:1116
-msgid "Event Reminders"
+#: ../../include/datetime.php:273
+msgid "weeks"
msgstr ""
-#: ../../include/identity.php:1117
-msgid "Events this week:"
+#: ../../include/datetime.php:274
+msgid "day"
msgstr ""
-#: ../../include/identity.php:1130 ../../include/identity.php:1247
-#: ../../include/apps.php:138 ../../mod/profperm.php:112
-msgid "Profile"
+#: ../../include/datetime.php:274
+msgid "days"
msgstr ""
-#: ../../include/identity.php:1138 ../../mod/settings.php:1045
-msgid "Full Name:"
+#: ../../include/datetime.php:275
+msgid "hour"
msgstr ""
-#: ../../include/identity.php:1145
-msgid "Like this channel"
+#: ../../include/datetime.php:275
+msgid "hours"
msgstr ""
-#: ../../include/identity.php:1156 ../../include/conversation.php:1698
-#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:391
-#: ../../mod/photos.php:1007
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/identity.php:1169
-msgid "j F, Y"
+#: ../../include/datetime.php:276
+msgid "minute"
msgstr ""
-#: ../../include/identity.php:1170
-msgid "j F"
+#: ../../include/datetime.php:276
+msgid "minutes"
msgstr ""
-#: ../../include/identity.php:1177
-msgid "Birthday:"
+#: ../../include/datetime.php:277
+msgid "second"
msgstr ""
-#: ../../include/identity.php:1181
-msgid "Age:"
+#: ../../include/datetime.php:277
+msgid "seconds"
msgstr ""
-#: ../../include/identity.php:1190
+#: ../../include/datetime.php:285
#, php-format
-msgid "for %1$d %2$s"
-msgstr ""
-
-#: ../../include/identity.php:1193 ../../mod/profiles.php:691
-msgid "Sexual Preference:"
-msgstr ""
-
-#: ../../include/identity.php:1197 ../../mod/profiles.php:693
-msgid "Hometown:"
-msgstr ""
-
-#: ../../include/identity.php:1199
-msgid "Tags:"
-msgstr ""
-
-#: ../../include/identity.php:1201 ../../mod/profiles.php:694
-msgid "Political Views:"
-msgstr ""
-
-#: ../../include/identity.php:1203
-msgid "Religion:"
-msgstr ""
-
-#: ../../include/identity.php:1205
-msgid "About:"
-msgstr ""
-
-#: ../../include/identity.php:1207
-msgid "Hobbies/Interests:"
-msgstr ""
-
-#: ../../include/identity.php:1209 ../../mod/profiles.php:697
-msgid "Likes:"
-msgstr ""
-
-#: ../../include/identity.php:1211 ../../mod/profiles.php:698
-msgid "Dislikes:"
-msgstr ""
-
-#: ../../include/identity.php:1213
-msgid "Contact information and Social Networks:"
-msgstr ""
-
-#: ../../include/identity.php:1215
-msgid "My other channels:"
-msgstr ""
-
-#: ../../include/identity.php:1217
-msgid "Musical interests:"
-msgstr ""
-
-#: ../../include/identity.php:1219
-msgid "Books, literature:"
-msgstr ""
-
-#: ../../include/identity.php:1221
-msgid "Television:"
-msgstr ""
-
-#: ../../include/identity.php:1223
-msgid "Film/dance/culture/entertainment:"
-msgstr ""
-
-#: ../../include/identity.php:1225
-msgid "Love/Romance:"
-msgstr ""
-
-#: ../../include/identity.php:1227
-msgid "Work/employment:"
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
msgstr ""
-#: ../../include/identity.php:1229
-msgid "School/education:"
+#: ../../include/datetime.php:519
+#, php-format
+msgid "%1$s's birthday"
msgstr ""
-#: ../../include/identity.php:1249
-msgid "Like this thing"
+#: ../../include/datetime.php:520
+#, php-format
+msgid "Happy Birthday %1$s"
msgstr ""
#: ../../include/page_widgets.php:6
@@ -404,1576 +257,1048 @@ msgid "New Page"
msgstr ""
#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
-#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:100
-#: ../../include/apps.php:254 ../../include/menu.php:42
-#: ../../mod/settings.php:644 ../../mod/blocks.php:132
+#: ../../include/RedDAV/RedBrowser.php:269 ../../include/ItemObject.php:100
+#: ../../include/apps.php:254 ../../include/menu.php:43
+#: ../../mod/settings.php:644 ../../mod/thing.php:227
#: ../../mod/connections.php:382 ../../mod/connections.php:395
-#: ../../mod/connections.php:414 ../../mod/thing.php:233
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:174
-#: ../../mod/editpost.php:113 ../../mod/menu.php:78 ../../mod/webpages.php:162
-#: ../../mod/editblock.php:143 ../../mod/layouts.php:167
+#: ../../mod/connections.php:414 ../../mod/editlayout.php:139
+#: ../../mod/editwebpage.php:178 ../../mod/editpost.php:113
+#: ../../mod/menu.php:100 ../../mod/webpages.php:179
+#: ../../mod/editblock.php:140 ../../mod/blocks.php:148
+#: ../../mod/layouts.php:174
msgid "Edit"
msgstr ""
-#: ../../include/page_widgets.php:39 ../../mod/blocks.php:135
-#: ../../mod/webpages.php:165 ../../mod/layouts.php:171
+#: ../../include/page_widgets.php:39 ../../mod/webpages.php:185
+#: ../../mod/blocks.php:154 ../../mod/layouts.php:178
msgid "View"
msgstr ""
-#: ../../include/page_widgets.php:40 ../../include/conversation.php:1155
-#: ../../include/ItemObject.php:677 ../../mod/events.php:653
-#: ../../mod/webpages.php:166 ../../mod/photos.php:970
+#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677
+#: ../../include/conversation.php:1153 ../../mod/events.php:653
+#: ../../mod/photos.php:970 ../../mod/editwebpage.php:214
+#: ../../mod/editpost.php:149 ../../mod/webpages.php:186
+#: ../../mod/editblock.php:176
msgid "Preview"
msgstr ""
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:167
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:187
msgid "Actions"
msgstr ""
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:168
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:188
msgid "Page Link"
msgstr ""
-#: ../../include/page_widgets.php:43 ../../mod/webpages.php:169
+#: ../../include/page_widgets.php:43
msgid "Title"
msgstr ""
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:170
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:190
+#: ../../mod/blocks.php:145
msgid "Created"
msgstr ""
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:171
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:191
+#: ../../mod/blocks.php:146
msgid "Edited"
msgstr ""
-#: ../../include/widgets.php:35 ../../include/taxonomy.php:264
-#: ../../include/contact_widgets.php:92
-msgid "Categories"
-msgstr ""
-
-#: ../../include/widgets.php:91 ../../include/nav.php:163
-#: ../../mod/apps.php:34
-msgid "Apps"
-msgstr ""
-
-#: ../../include/widgets.php:92
-msgid "System"
-msgstr ""
-
-#: ../../include/widgets.php:94 ../../include/conversation.php:1501
-msgid "Personal"
-msgstr ""
-
-#: ../../include/widgets.php:95
-msgid "Create Personal App"
-msgstr ""
-
-#: ../../include/widgets.php:96
-msgid "Edit Personal App"
-msgstr ""
-
-#: ../../include/widgets.php:138 ../../mod/suggest.php:53
-msgid "Ignore/Hide"
-msgstr ""
-
-#: ../../include/widgets.php:143 ../../mod/connections.php:268
-msgid "Suggestions"
-msgstr ""
-
-#: ../../include/widgets.php:144
-msgid "See more..."
-msgstr ""
-
-#: ../../include/widgets.php:166
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr ""
-
-#: ../../include/widgets.php:172
-msgid "Add New Connection"
-msgstr ""
-
-#: ../../include/widgets.php:173
-msgid "Enter the channel address"
-msgstr ""
-
-#: ../../include/widgets.php:174
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr ""
-
-#: ../../include/widgets.php:190
-msgid "Notes"
-msgstr ""
-
-#: ../../include/widgets.php:192 ../../include/text.php:833
-#: ../../include/text.php:845 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
-#: ../../mod/filer.php:50 ../../mod/admin.php:1415 ../../mod/admin.php:1435
-msgid "Save"
+#: ../../include/api.php:1158
+msgid "Public Timeline"
msgstr ""
-#: ../../include/widgets.php:266
-msgid "Remove term"
+#: ../../include/comanche.php:34 ../../mod/admin.php:386
+#: ../../view/theme/apw/php/config.php:185
+msgid "Default"
msgstr ""
-#: ../../include/widgets.php:274 ../../include/features.php:73
-msgid "Saved Searches"
+#: ../../include/dir_fns.php:143
+msgid "Directory Options"
msgstr ""
-#: ../../include/widgets.php:304 ../../include/features.php:85
-#: ../../include/contact_widgets.php:57
-msgid "Saved Folders"
+#: ../../include/dir_fns.php:144
+msgid "Alphabetic"
msgstr ""
-#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60
-#: ../../include/contact_widgets.php:95
-msgid "Everything"
+#: ../../include/dir_fns.php:145
+msgid "Reverse Alphabetic"
msgstr ""
-#: ../../include/widgets.php:349
-msgid "Archives"
+#: ../../include/dir_fns.php:146
+msgid "Newest to Oldest"
msgstr ""
-#: ../../include/widgets.php:427
-msgid "Refresh"
+#: ../../include/dir_fns.php:147
+msgid "Oldest to Newest"
msgstr ""
-#: ../../include/widgets.php:428 ../../mod/connedit.php:563
-msgid "Me"
+#: ../../include/dir_fns.php:148
+msgid "Sort"
msgstr ""
-#: ../../include/widgets.php:429 ../../mod/connedit.php:566
-msgid "Best Friends"
+#: ../../include/dir_fns.php:152
+msgid "Safe Mode"
msgstr ""
-#: ../../include/widgets.php:431
-msgid "Co-workers"
+#: ../../include/dir_fns.php:154
+msgid "Public Forums Only"
msgstr ""
-#: ../../include/widgets.php:432 ../../mod/connedit.php:568
-msgid "Former Friends"
+#: ../../include/dir_fns.php:155
+msgid "This Website Only"
msgstr ""
-#: ../../include/widgets.php:433 ../../mod/connedit.php:569
-msgid "Acquaintances"
+#: ../../include/event.php:19 ../../include/bb2diaspora.php:451
+msgid "l F d, Y \\@ g:i A"
msgstr ""
-#: ../../include/widgets.php:434
-msgid "Everybody"
+#: ../../include/event.php:27 ../../include/bb2diaspora.php:457
+msgid "Starts:"
msgstr ""
-#: ../../include/widgets.php:468
-msgid "Account settings"
+#: ../../include/event.php:37 ../../include/bb2diaspora.php:465
+msgid "Finishes:"
msgstr ""
-#: ../../include/widgets.php:474
-msgid "Channel settings"
+#: ../../include/event.php:47 ../../include/bb2diaspora.php:473
+#: ../../include/identity.php:874 ../../mod/events.php:647
+#: ../../mod/directory.php:234
+msgid "Location:"
msgstr ""
-#: ../../include/widgets.php:480
-msgid "Additional features"
+#: ../../include/event.php:391
+msgid "This event has been added to your calendar."
msgstr ""
-#: ../../include/widgets.php:486
-msgid "Feature/Addon settings"
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
msgstr ""
-#: ../../include/widgets.php:492
-msgid "Display settings"
+#: ../../include/js_strings.php:6 ../../include/ItemObject.php:667
+#: ../../mod/photos.php:968 ../../mod/photos.php:1086
+msgid "Comment"
msgstr ""
-#: ../../include/widgets.php:498
-msgid "Connected apps"
+#: ../../include/js_strings.php:7 ../../include/ItemObject.php:384
+msgid "[+] show all"
msgstr ""
-#: ../../include/widgets.php:504
-msgid "Export channel"
+#: ../../include/js_strings.php:8
+msgid "[-] show less"
msgstr ""
-#: ../../include/widgets.php:513 ../../mod/connedit.php:627
-msgid "Connection Default Permissions"
+#: ../../include/js_strings.php:9
+msgid "[+] expand"
msgstr ""
-#: ../../include/widgets.php:521
-msgid "Premium Channel Settings"
+#: ../../include/js_strings.php:10
+msgid "[-] collapse"
msgstr ""
-#: ../../include/widgets.php:529 ../../include/features.php:62
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
+#: ../../include/js_strings.php:11
+msgid "Password too short"
msgstr ""
-#: ../../include/widgets.php:537 ../../include/nav.php:208
-#: ../../include/apps.php:134 ../../mod/admin.php:1038
-#: ../../mod/admin.php:1238
-msgid "Settings"
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
msgstr ""
-#: ../../include/widgets.php:550 ../../mod/message.php:31
-#: ../../mod/mail.php:128
-msgid "Messages"
+#: ../../include/js_strings.php:13 ../../mod/photos.php:39
+msgid "everybody"
msgstr ""
-#: ../../include/widgets.php:553
-msgid "Check Mail"
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
msgstr ""
-#: ../../include/widgets.php:558 ../../include/nav.php:199
-msgid "New Message"
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
msgstr ""
-#: ../../include/widgets.php:633
-msgid "Chat Rooms"
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
msgstr ""
-#: ../../include/widgets.php:653
-msgid "Bookmarked Chatrooms"
+#: ../../include/js_strings.php:17
+msgid "close all"
msgstr ""
-#: ../../include/widgets.php:673
-msgid "Suggested Chatrooms"
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
msgstr ""
-#: ../../include/widgets.php:800 ../../include/widgets.php:858
-msgid "photo/image"
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
msgstr ""
-#: ../../include/widgets.php:953 ../../include/widgets.php:955
-msgid "Rate Me"
+#: ../../include/js_strings.php:20 ../../mod/rate.php:156
+msgid "Rating"
msgstr ""
-#: ../../include/widgets.php:959
-msgid "View Ratings"
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
msgstr ""
-#: ../../include/widgets.php:970
-msgid "Public Hubs"
+#: ../../include/js_strings.php:22 ../../include/ItemObject.php:668
+#: ../../mod/settings.php:582 ../../mod/settings.php:684
+#: ../../mod/settings.php:710 ../../mod/settings.php:738
+#: ../../mod/settings.php:761 ../../mod/settings.php:843
+#: ../../mod/settings.php:1039 ../../mod/xchan.php:11 ../../mod/connect.php:93
+#: ../../mod/thing.php:275 ../../mod/thing.php:318 ../../mod/events.php:656
+#: ../../mod/group.php:81 ../../mod/setup.php:313 ../../mod/setup.php:358
+#: ../../mod/photos.php:565 ../../mod/photos.php:642 ../../mod/photos.php:929
+#: ../../mod/photos.php:969 ../../mod/photos.php:1087 ../../mod/pdledit.php:58
+#: ../../mod/import.php:504 ../../mod/chat.php:177 ../../mod/chat.php:211
+#: ../../mod/rate.php:167 ../../mod/invite.php:142 ../../mod/locs.php:105
+#: ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
+#: ../../mod/poke.php:166 ../../mod/profiles.php:667 ../../mod/mitem.php:229
+#: ../../mod/admin.php:446 ../../mod/admin.php:810 ../../mod/admin.php:946
+#: ../../mod/admin.php:1077 ../../mod/admin.php:1271 ../../mod/admin.php:1356
+#: ../../mod/mood.php:134 ../../mod/connedit.php:679 ../../mod/mail.php:355
+#: ../../mod/appman.php:99 ../../mod/poll.php:68 ../../mod/bulksetclose.php:24
+#: ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:97
+msgid "Submit"
msgstr ""
-#: ../../include/conversation.php:120 ../../include/text.php:1747
-#: ../../include/diaspora.php:2030 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:43
-msgid "photo"
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
msgstr ""
-#: ../../include/conversation.php:123 ../../include/text.php:1750
-#: ../../mod/like.php:348 ../../mod/tagger.php:47
-msgid "event"
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
msgstr ""
-#: ../../include/conversation.php:126 ../../mod/like.php:113
-msgid "channel"
+#: ../../include/js_strings.php:26
+msgid "timeago.prefixAgo"
msgstr ""
-#: ../../include/conversation.php:148 ../../include/text.php:1753
-#: ../../include/diaspora.php:2030 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:51
-msgid "status"
+#: ../../include/js_strings.php:27
+msgid "timeago.prefixFromNow"
msgstr ""
-#: ../../include/conversation.php:150 ../../include/text.php:1755
-#: ../../mod/tagger.php:53
-msgid "comment"
+#: ../../include/js_strings.php:28
+msgid "ago"
msgstr ""
-#: ../../include/conversation.php:164 ../../include/diaspora.php:2059
-#: ../../mod/like.php:394
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
+#: ../../include/js_strings.php:29
+msgid "from now"
msgstr ""
-#: ../../include/conversation.php:167 ../../mod/like.php:396
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
+#: ../../include/js_strings.php:30
+msgid "less than a minute"
msgstr ""
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
+#: ../../include/js_strings.php:31
+msgid "about a minute"
msgstr ""
-#: ../../include/conversation.php:239
+#: ../../include/js_strings.php:32
#, php-format
-msgid "%1$s poked %2$s"
+msgid "%d minutes"
msgstr ""
-#: ../../include/conversation.php:243 ../../include/text.php:911
-msgid "poked"
+#: ../../include/js_strings.php:33
+msgid "about an hour"
msgstr ""
-#: ../../include/conversation.php:260 ../../mod/mood.php:63
+#: ../../include/js_strings.php:34
#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr ""
-
-#: ../../include/conversation.php:572 ../../mod/photos.php:984
-msgctxt "title"
-msgid "Likes"
-msgstr ""
-
-#: ../../include/conversation.php:572 ../../mod/photos.php:984
-msgctxt "title"
-msgid "Dislikes"
-msgstr ""
-
-#: ../../include/conversation.php:573 ../../mod/photos.php:985
-msgctxt "title"
-msgid "Agree"
-msgstr ""
-
-#: ../../include/conversation.php:573 ../../mod/photos.php:985
-msgctxt "title"
-msgid "Disagree"
-msgstr ""
-
-#: ../../include/conversation.php:573 ../../mod/photos.php:985
-msgctxt "title"
-msgid "Abstain"
-msgstr ""
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:986
-msgctxt "title"
-msgid "Attending"
-msgstr ""
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:986
-msgctxt "title"
-msgid "Not attending"
-msgstr ""
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:986
-msgctxt "title"
-msgid "Might attend"
-msgstr ""
-
-#: ../../include/conversation.php:659 ../../include/ItemObject.php:126
-msgid "Select"
-msgstr ""
-
-#: ../../include/conversation.php:660 ../../include/RedDAV/RedBrowser.php:268
-#: ../../include/ItemObject.php:120 ../../include/apps.php:255
-#: ../../mod/settings.php:645 ../../mod/connedit.php:533
-#: ../../mod/group.php:176 ../../mod/thing.php:234 ../../mod/admin.php:819
-#: ../../mod/admin.php:948 ../../mod/photos.php:1050
-msgid "Delete"
-msgstr ""
-
-#: ../../include/conversation.php:667 ../../include/ItemObject.php:89
-msgid "Private Message"
-msgstr ""
-
-#: ../../include/conversation.php:674 ../../include/ItemObject.php:227
-msgid "Message signature validated"
+msgid "about %d hours"
msgstr ""
-#: ../../include/conversation.php:675 ../../include/ItemObject.php:228
-msgid "Message signature incorrect"
+#: ../../include/js_strings.php:35
+msgid "a day"
msgstr ""
-#: ../../include/conversation.php:692
+#: ../../include/js_strings.php:36
#, php-format
-msgid "View %s's profile @ %s"
-msgstr ""
-
-#: ../../include/conversation.php:707
-msgid "Categories:"
+msgid "%d days"
msgstr ""
-#: ../../include/conversation.php:708
-msgid "Filed under:"
+#: ../../include/js_strings.php:37
+msgid "about a month"
msgstr ""
-#: ../../include/conversation.php:716 ../../include/ItemObject.php:312
+#: ../../include/js_strings.php:38
#, php-format
-msgid " from %s"
+msgid "%d months"
msgstr ""
-#: ../../include/conversation.php:719 ../../include/ItemObject.php:315
-#, php-format
-msgid "last edited: %s"
+#: ../../include/js_strings.php:39
+msgid "about a year"
msgstr ""
-#: ../../include/conversation.php:720 ../../include/ItemObject.php:316
+#: ../../include/js_strings.php:40
#, php-format
-msgid "Expires: %s"
-msgstr ""
-
-#: ../../include/conversation.php:735
-msgid "View in context"
-msgstr ""
-
-#: ../../include/conversation.php:737 ../../include/conversation.php:1208
-#: ../../include/ItemObject.php:364 ../../mod/editlayout.php:153
-#: ../../mod/editwebpage.php:188 ../../mod/editpost.php:130
-#: ../../mod/editblock.php:157 ../../mod/photos.php:950 ../../mod/mail.php:241
-#: ../../mod/mail.php:356
-msgid "Please wait"
-msgstr ""
-
-#: ../../include/conversation.php:846
-msgid "remove"
-msgstr ""
-
-#: ../../include/conversation.php:850 ../../include/nav.php:247
-msgid "Loading..."
-msgstr ""
-
-#: ../../include/conversation.php:851
-msgid "Delete Selected Items"
+msgid "%d years"
msgstr ""
-#: ../../include/conversation.php:939
-msgid "View Source"
+#: ../../include/js_strings.php:41
+msgid " "
msgstr ""
-#: ../../include/conversation.php:940
-msgid "Follow Thread"
+#: ../../include/js_strings.php:42
+msgid "timeago.numbers"
msgstr ""
-#: ../../include/conversation.php:941
-msgid "View Status"
+#: ../../include/RedDAV/RedBrowser.php:107
+#: ../../include/RedDAV/RedBrowser.php:268
+msgid "parent"
msgstr ""
-#: ../../include/conversation.php:942 ../../include/nav.php:91
-#: ../../mod/connedit.php:484 ../../mod/connedit.php:634
-msgid "View Profile"
+#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2479
+msgid "Collection"
msgstr ""
-#: ../../include/conversation.php:943
-msgid "View Photos"
+#: ../../include/RedDAV/RedBrowser.php:134
+msgid "Principal"
msgstr ""
-#: ../../include/conversation.php:944
-msgid "Matrix Activity"
+#: ../../include/RedDAV/RedBrowser.php:137
+msgid "Addressbook"
msgstr ""
-#: ../../include/conversation.php:946
-msgid "Edit Contact"
+#: ../../include/RedDAV/RedBrowser.php:140
+msgid "Calendar"
msgstr ""
-#: ../../include/conversation.php:947
-msgid "Send PM"
+#: ../../include/RedDAV/RedBrowser.php:143
+msgid "Schedule Inbox"
msgstr ""
-#: ../../include/conversation.php:948 ../../include/apps.php:145
-msgid "Poke"
+#: ../../include/RedDAV/RedBrowser.php:146
+msgid "Schedule Outbox"
msgstr ""
-#: ../../include/conversation.php:1019 ../../include/RedDAV/RedBrowser.php:163
+#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1019
#: ../../include/apps.php:336 ../../include/apps.php:387
-#: ../../mod/connedit.php:570 ../../mod/photos.php:681
-#: ../../mod/photos.php:1119
+#: ../../mod/photos.php:681 ../../mod/photos.php:1119
msgid "Unknown"
msgstr ""
-#: ../../include/conversation.php:1063
-#, php-format
-msgid "%s likes this."
-msgstr ""
-
-#: ../../include/conversation.php:1063
+#: ../../include/RedDAV/RedBrowser.php:227
#, php-format
-msgid "%s doesn't like this."
-msgstr ""
-
-#: ../../include/conversation.php:1067
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1069
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1075
-msgid "and"
-msgstr ""
-
-#: ../../include/conversation.php:1078
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1079
-#, php-format
-msgid "%s like this."
+msgid "%1$s used"
msgstr ""
-#: ../../include/conversation.php:1079
+#: ../../include/RedDAV/RedBrowser.php:232
#, php-format
-msgid "%s don't like this."
-msgstr ""
-
-#: ../../include/conversation.php:1139
-msgid "Visible to <strong>everybody</strong>"
-msgstr ""
-
-#: ../../include/conversation.php:1140 ../../mod/mail.php:174
-#: ../../mod/mail.php:289
-msgid "Please enter a link URL:"
-msgstr ""
-
-#: ../../include/conversation.php:1141
-msgid "Please enter a video link/URL:"
-msgstr ""
-
-#: ../../include/conversation.php:1142
-msgid "Please enter an audio link/URL:"
-msgstr ""
-
-#: ../../include/conversation.php:1143
-msgid "Tag term:"
-msgstr ""
-
-#: ../../include/conversation.php:1144 ../../mod/filer.php:49
-msgid "Save to Folder:"
+msgid "%1$s used of %2$s (%3$s&#37;)"
msgstr ""
-#: ../../include/conversation.php:1145
-msgid "Where are you right now?"
+#: ../../include/RedDAV/RedBrowser.php:251 ../../include/nav.php:98
+#: ../../include/conversation.php:1606 ../../include/apps.php:135
+#: ../../mod/fbrowser.php:114
+msgid "Files"
msgstr ""
-#: ../../include/conversation.php:1146 ../../mod/editpost.php:52
-#: ../../mod/mail.php:175 ../../mod/mail.php:290
-msgid "Expires YYYY-MM-DD HH:MM"
+#: ../../include/RedDAV/RedBrowser.php:253
+msgid "Total"
msgstr ""
-#: ../../include/conversation.php:1174 ../../mod/editlayout.php:198
-#: ../../mod/editwebpage.php:235 ../../mod/editblock.php:203
-#: ../../mod/photos.php:949 ../../mod/layouts.php:168
-msgid "Share"
+#: ../../include/RedDAV/RedBrowser.php:255
+msgid "Shared"
msgstr ""
-#: ../../include/conversation.php:1176 ../../mod/editwebpage.php:170
-msgid "Page link title"
+#: ../../include/RedDAV/RedBrowser.php:256
+#: ../../include/RedDAV/RedBrowser.php:306 ../../mod/menu.php:104
+#: ../../mod/webpages.php:178 ../../mod/blocks.php:147
+#: ../../mod/layouts.php:170 ../../mod/new_channel.php:121
+msgid "Create"
msgstr ""
-#: ../../include/conversation.php:1179
-msgid "Post as"
+#: ../../include/RedDAV/RedBrowser.php:257
+#: ../../include/RedDAV/RedBrowser.php:308 ../../mod/profile_photo.php:362
+#: ../../mod/photos.php:706 ../../mod/photos.php:1236
+msgid "Upload"
msgstr ""
-#: ../../include/conversation.php:1181 ../../include/ItemObject.php:669
-#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:175
-#: ../../mod/editpost.php:114 ../../mod/editblock.php:144
-msgid "Bold"
+#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/settings.php:584
+#: ../../mod/settings.php:610 ../../mod/admin.php:953
+#: ../../mod/sharedwithme.php:95
+msgid "Name"
msgstr ""
-#: ../../include/conversation.php:1182 ../../include/ItemObject.php:670
-#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:176
-#: ../../mod/editpost.php:115 ../../mod/editblock.php:145
-msgid "Italic"
+#: ../../include/RedDAV/RedBrowser.php:265
+msgid "Type"
msgstr ""
-#: ../../include/conversation.php:1183 ../../include/ItemObject.php:671
-#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:177
-#: ../../mod/editpost.php:116 ../../mod/editblock.php:146
-msgid "Underline"
+#: ../../include/RedDAV/RedBrowser.php:266 ../../mod/sharedwithme.php:97
+msgid "Size"
msgstr ""
-#: ../../include/conversation.php:1184 ../../include/ItemObject.php:672
-#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:178
-#: ../../mod/editpost.php:117 ../../mod/editblock.php:147
-msgid "Quote"
+#: ../../include/RedDAV/RedBrowser.php:267 ../../mod/sharedwithme.php:98
+msgid "Last Modified"
msgstr ""
-#: ../../include/conversation.php:1185 ../../include/ItemObject.php:673
-#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:179
-#: ../../mod/editpost.php:118 ../../mod/editblock.php:148
-msgid "Code"
+#: ../../include/RedDAV/RedBrowser.php:270 ../../include/ItemObject.php:120
+#: ../../include/conversation.php:660 ../../include/apps.php:255
+#: ../../mod/settings.php:645 ../../mod/thing.php:228 ../../mod/group.php:176
+#: ../../mod/photos.php:1050 ../../mod/editwebpage.php:225
+#: ../../mod/webpages.php:181 ../../mod/admin.php:817 ../../mod/admin.php:948
+#: ../../mod/editblock.php:113 ../../mod/blocks.php:150
+#: ../../mod/connedit.php:543
+msgid "Delete"
msgstr ""
-#: ../../include/conversation.php:1186 ../../mod/editlayout.php:145
-#: ../../mod/editwebpage.php:180 ../../mod/editpost.php:119
-#: ../../mod/editblock.php:149 ../../mod/mail.php:238 ../../mod/mail.php:352
-msgid "Upload photo"
+#: ../../include/RedDAV/RedBrowser.php:305
+msgid "Create new folder"
msgstr ""
-#: ../../include/conversation.php:1187
-msgid "upload photo"
+#: ../../include/RedDAV/RedBrowser.php:307
+msgid "Upload file"
msgstr ""
-#: ../../include/conversation.php:1188 ../../mod/editlayout.php:146
-#: ../../mod/editwebpage.php:181 ../../mod/editpost.php:120
-#: ../../mod/editblock.php:150 ../../mod/mail.php:239 ../../mod/mail.php:353
-msgid "Attach file"
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
msgstr ""
-#: ../../include/conversation.php:1189
-msgid "attach file"
+#: ../../include/network.php:632
+msgid "view full size"
msgstr ""
-#: ../../include/conversation.php:1190 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:182 ../../mod/editpost.php:121
-#: ../../mod/editblock.php:151 ../../mod/mail.php:240 ../../mod/mail.php:354
-msgid "Insert web link"
+#: ../../include/features.php:38
+msgid "General Features"
msgstr ""
-#: ../../include/conversation.php:1191
-msgid "web link"
+#: ../../include/features.php:40
+msgid "Content Expiration"
msgstr ""
-#: ../../include/conversation.php:1192
-msgid "Insert video link"
+#: ../../include/features.php:40
+msgid "Remove posts/comments and/or private messages at a future time"
msgstr ""
-#: ../../include/conversation.php:1193
-msgid "video link"
+#: ../../include/features.php:41
+msgid "Multiple Profiles"
msgstr ""
-#: ../../include/conversation.php:1194
-msgid "Insert audio link"
+#: ../../include/features.php:41
+msgid "Ability to create multiple profiles"
msgstr ""
-#: ../../include/conversation.php:1195
-msgid "audio link"
+#: ../../include/features.php:42
+msgid "Advanced Profiles"
msgstr ""
-#: ../../include/conversation.php:1196 ../../mod/editlayout.php:151
-#: ../../mod/editwebpage.php:186 ../../mod/editpost.php:125
-#: ../../mod/editblock.php:155
-msgid "Set your location"
+#: ../../include/features.php:42
+msgid "Additional profile sections and selections"
msgstr ""
-#: ../../include/conversation.php:1197
-msgid "set location"
+#: ../../include/features.php:43
+msgid "Profile Import/Export"
msgstr ""
-#: ../../include/conversation.php:1198 ../../mod/editpost.php:127
-msgid "Toggle voting"
+#: ../../include/features.php:43
+msgid "Save and load profile details across sites/channels"
msgstr ""
-#: ../../include/conversation.php:1201 ../../mod/editlayout.php:152
-#: ../../mod/editwebpage.php:187 ../../mod/editpost.php:126
-#: ../../mod/editblock.php:156
-msgid "Clear browser location"
+#: ../../include/features.php:44
+msgid "Web Pages"
msgstr ""
-#: ../../include/conversation.php:1202
-msgid "clear location"
+#: ../../include/features.php:44
+msgid "Provide managed web pages on your channel"
msgstr ""
-#: ../../include/conversation.php:1204 ../../mod/editlayout.php:164
-#: ../../mod/editwebpage.php:203 ../../mod/editpost.php:141
-#: ../../mod/editblock.php:169
-msgid "Title (optional)"
+#: ../../include/features.php:45
+msgid "Private Notes"
msgstr ""
-#: ../../include/conversation.php:1207 ../../mod/editlayout.php:167
-#: ../../mod/editwebpage.php:205 ../../mod/editpost.php:143
-#: ../../mod/editblock.php:172
-msgid "Categories (optional, comma-separated list)"
+#: ../../include/features.php:45
+msgid "Enables a tool to store notes and reminders"
msgstr ""
-#: ../../include/conversation.php:1209 ../../mod/editlayout.php:154
-#: ../../mod/editwebpage.php:189 ../../mod/editpost.php:131
-#: ../../mod/editblock.php:158
-msgid "Permission settings"
+#: ../../include/features.php:46
+msgid "Navigation Channel Select"
msgstr ""
-#: ../../include/conversation.php:1210
-msgid "permissions"
+#: ../../include/features.php:46
+msgid "Change channels directly from within the navigation dropdown menu"
msgstr ""
-#: ../../include/conversation.php:1217 ../../mod/editlayout.php:161
-#: ../../mod/editwebpage.php:198 ../../mod/editpost.php:138
-#: ../../mod/editblock.php:166
-msgid "Public post"
+#: ../../include/features.php:47
+msgid "Photo Location"
msgstr ""
-#: ../../include/conversation.php:1219 ../../mod/editlayout.php:168
-#: ../../mod/editwebpage.php:206 ../../mod/editpost.php:144
-#: ../../mod/editblock.php:173
-msgid "Example: bob@example.com, mary@example.com"
+#: ../../include/features.php:47
+msgid "If location data is available on uploaded photos, link this to a map."
msgstr ""
-#: ../../include/conversation.php:1232 ../../mod/editlayout.php:178
-#: ../../mod/editwebpage.php:215 ../../mod/editpost.php:155
-#: ../../mod/editblock.php:183 ../../mod/mail.php:245 ../../mod/mail.php:359
-msgid "Set expiration date"
+#: ../../include/features.php:49
+msgid "Expert Mode"
msgstr ""
-#: ../../include/conversation.php:1234 ../../include/ItemObject.php:680
-#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:361
-msgid "Encrypt text"
+#: ../../include/features.php:49
+msgid "Enable Expert Mode to provide advanced configuration options"
msgstr ""
-#: ../../include/conversation.php:1236 ../../mod/events.php:637
-#: ../../mod/editpost.php:159
-msgid "OK"
+#: ../../include/features.php:50
+msgid "Premium Channel"
msgstr ""
-#: ../../include/conversation.php:1237 ../../mod/settings.php:583
-#: ../../mod/settings.php:609 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
-#: ../../mod/events.php:636 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160
-msgid "Cancel"
+#: ../../include/features.php:50
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
msgstr ""
-#: ../../include/conversation.php:1478
-msgid "Discover"
+#: ../../include/features.php:55
+msgid "Post Composition Features"
msgstr ""
-#: ../../include/conversation.php:1481
-msgid "Imported public streams"
+#: ../../include/features.php:57
+msgid "Use Markdown"
msgstr ""
-#: ../../include/conversation.php:1486
-msgid "Commented Order"
+#: ../../include/features.php:57
+msgid "Allow use of \"Markdown\" to format posts"
msgstr ""
-#: ../../include/conversation.php:1489
-msgid "Sort by Comment Date"
+#: ../../include/features.php:58
+msgid "Large Photos"
msgstr ""
-#: ../../include/conversation.php:1493
-msgid "Posted Order"
+#: ../../include/features.php:58
+msgid ""
+"Include large (640px) photo thumbnails in posts. If not enabled, use small "
+"(320px) photo thumbnails"
msgstr ""
-#: ../../include/conversation.php:1496
-msgid "Sort by Post Date"
+#: ../../include/features.php:59 ../../include/widgets.php:546
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
msgstr ""
-#: ../../include/conversation.php:1504
-msgid "Posts that mention or involve you"
+#: ../../include/features.php:59
+msgid "Automatically import channel content from other channels or feeds"
msgstr ""
-#: ../../include/conversation.php:1510 ../../mod/connections.php:212
-#: ../../mod/connections.php:225 ../../mod/menu.php:80
-msgid "New"
+#: ../../include/features.php:60
+msgid "Even More Encryption"
msgstr ""
-#: ../../include/conversation.php:1513
-msgid "Activity Stream - by date"
+#: ../../include/features.php:60
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
msgstr ""
-#: ../../include/conversation.php:1519
-msgid "Starred"
+#: ../../include/features.php:61
+msgid "Enable voting tools"
msgstr ""
-#: ../../include/conversation.php:1522
-msgid "Favourite Posts"
+#: ../../include/features.php:61
+msgid "Provide a class of post which others can vote on"
msgstr ""
-#: ../../include/conversation.php:1529
-msgid "Spam"
+#: ../../include/features.php:67
+msgid "Network and Stream Filtering"
msgstr ""
-#: ../../include/conversation.php:1532
-msgid "Posts flagged as SPAM"
+#: ../../include/features.php:68
+msgid "Search by Date"
msgstr ""
-#: ../../include/conversation.php:1576 ../../mod/admin.php:952
-msgid "Channel"
+#: ../../include/features.php:68
+msgid "Ability to select posts by date ranges"
msgstr ""
-#: ../../include/conversation.php:1579
-msgid "Status Messages and Posts"
+#: ../../include/features.php:69
+msgid "Collections Filter"
msgstr ""
-#: ../../include/conversation.php:1588
-msgid "About"
+#: ../../include/features.php:69
+msgid "Enable widget to display Network posts only from selected collections"
msgstr ""
-#: ../../include/conversation.php:1591
-msgid "Profile Details"
+#: ../../include/features.php:70 ../../include/widgets.php:274
+msgid "Saved Searches"
msgstr ""
-#: ../../include/conversation.php:1597 ../../include/nav.php:97
-#: ../../include/apps.php:139 ../../mod/fbrowser.php:25
-msgid "Photos"
+#: ../../include/features.php:70
+msgid "Save search terms for re-use"
msgstr ""
-#: ../../include/conversation.php:1600 ../../include/photos.php:356
-msgid "Photo Albums"
+#: ../../include/features.php:71
+msgid "Network Personal Tab"
msgstr ""
-#: ../../include/conversation.php:1606 ../../include/RedDAV/RedBrowser.php:249
-#: ../../include/nav.php:98 ../../include/apps.php:135
-#: ../../mod/fbrowser.php:114
-msgid "Files"
+#: ../../include/features.php:71
+msgid "Enable tab to display only Network posts that you've interacted on"
msgstr ""
-#: ../../include/conversation.php:1609
-msgid "Files and Storage"
+#: ../../include/features.php:72
+msgid "Network New Tab"
msgstr ""
-#: ../../include/conversation.php:1619 ../../include/conversation.php:1622
-msgid "Chatrooms"
+#: ../../include/features.php:72
+msgid "Enable tab to display all new Network activity"
msgstr ""
-#: ../../include/conversation.php:1632 ../../include/nav.php:109
-#: ../../include/apps.php:129
-msgid "Bookmarks"
+#: ../../include/features.php:73
+msgid "Affinity Tool"
msgstr ""
-#: ../../include/conversation.php:1635
-msgid "Saved Bookmarks"
+#: ../../include/features.php:73
+msgid "Filter stream activity by depth of relationships"
msgstr ""
-#: ../../include/conversation.php:1642 ../../include/nav.php:113
-#: ../../include/apps.php:136 ../../mod/webpages.php:160
-msgid "Webpages"
+#: ../../include/features.php:74
+msgid "Suggest Channels"
msgstr ""
-#: ../../include/conversation.php:1645
-msgid "Manage Webpages"
+#: ../../include/features.php:74
+msgid "Show channel suggestions"
msgstr ""
-#: ../../include/conversation.php:1674 ../../include/ItemObject.php:175
-#: ../../include/ItemObject.php:187 ../../mod/photos.php:1003
-#: ../../mod/photos.php:1015
-msgid "View all"
+#: ../../include/features.php:79
+msgid "Post/Comment Tools"
msgstr ""
-#: ../../include/conversation.php:1701 ../../include/ItemObject.php:184
-#: ../../mod/photos.php:1012
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1704
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1707
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1710
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1713
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1716
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1719
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/attach.php:137 ../../include/attach.php:184
-#: ../../include/attach.php:247 ../../include/attach.php:261
-#: ../../include/attach.php:305 ../../include/attach.php:319
-#: ../../include/attach.php:344 ../../include/attach.php:540
-#: ../../include/attach.php:614 ../../include/items.php:4097
-#: ../../include/photos.php:15 ../../include/chat.php:131
-#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/achievements.php:30 ../../mod/manage.php:6
-#: ../../mod/settings.php:564 ../../mod/api.php:26 ../../mod/api.php:31
-#: ../../mod/blocks.php:67 ../../mod/blocks.php:75
-#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
-#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
-#: ../../mod/events.php:219 ../../mod/connedit.php:321 ../../mod/group.php:9
-#: ../../mod/setup.php:207 ../../mod/common.php:35 ../../mod/id.php:61
-#: ../../mod/connections.php:169 ../../mod/item.php:207 ../../mod/item.php:215
-#: ../../mod/item.php:958 ../../mod/thing.php:247 ../../mod/thing.php:264
-#: ../../mod/thing.php:299 ../../mod/pdledit.php:21 ../../mod/authtest.php:13
-#: ../../mod/editlayout.php:64 ../../mod/editlayout.php:89
-#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/editwebpage.php:64
-#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:118
-#: ../../mod/rate.php:110 ../../mod/editpost.php:13 ../../mod/invite.php:13
-#: ../../mod/invite.php:104 ../../mod/locs.php:77 ../../mod/sources.php:66
-#: ../../mod/menu.php:61 ../../mod/filestorage.php:18
-#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88
-#: ../../mod/filestorage.php:115 ../../mod/fsuggest.php:78
-#: ../../mod/poke.php:128 ../../mod/profiles.php:188
-#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14
-#: ../../mod/webpages.php:67 ../../mod/viewconnections.php:22
-#: ../../mod/viewconnections.php:27 ../../mod/editblock.php:65
-#: ../../mod/register.php:72 ../../mod/photos.php:68 ../../mod/message.php:16
-#: ../../mod/mitem.php:106 ../../mod/mood.php:111 ../../mod/layouts.php:67
-#: ../../mod/layouts.php:74 ../../mod/layouts.php:85 ../../mod/mail.php:114
-#: ../../mod/notifications.php:66 ../../mod/regmod.php:17
-#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
-#: ../../mod/appman.php:66 ../../mod/network.php:12 ../../mod/page.php:28
-#: ../../mod/page.php:78 ../../mod/bookmarks.php:46 ../../mod/channel.php:100
-#: ../../mod/channel.php:219 ../../mod/channel.php:262
-#: ../../mod/suggest.php:26 ../../mod/service_limits.php:7
-#: ../../mod/sharedwithme.php:7 ../../index.php:190 ../../index.php:393
-msgid "Permission denied."
+#: ../../include/features.php:80
+msgid "Tagging"
msgstr ""
-#: ../../include/attach.php:242 ../../include/attach.php:300
-msgid "Item was not found."
+#: ../../include/features.php:80
+msgid "Ability to tag existing posts"
msgstr ""
-#: ../../include/attach.php:357
-msgid "No source file."
+#: ../../include/features.php:81
+msgid "Post Categories"
msgstr ""
-#: ../../include/attach.php:375
-msgid "Cannot locate file to replace"
+#: ../../include/features.php:81
+msgid "Add categories to your posts"
msgstr ""
-#: ../../include/attach.php:393
-msgid "Cannot locate file to revise/update"
+#: ../../include/features.php:82 ../../include/widgets.php:304
+#: ../../include/contact_widgets.php:57
+msgid "Saved Folders"
msgstr ""
-#: ../../include/attach.php:404
-#, php-format
-msgid "File exceeds size limit of %d"
+#: ../../include/features.php:82
+msgid "Ability to file posts under folders"
msgstr ""
-#: ../../include/attach.php:416
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+#: ../../include/features.php:83
+msgid "Dislike Posts"
msgstr ""
-#: ../../include/attach.php:499
-msgid "File upload failed. Possible system limit or action terminated."
+#: ../../include/features.php:83
+msgid "Ability to dislike posts/comments"
msgstr ""
-#: ../../include/attach.php:511
-msgid "Stored file could not be verified. Upload failed."
+#: ../../include/features.php:84
+msgid "Star Posts"
msgstr ""
-#: ../../include/attach.php:555 ../../include/attach.php:572
-msgid "Path not available."
+#: ../../include/features.php:84
+msgid "Ability to mark special posts with a star indicator"
msgstr ""
-#: ../../include/attach.php:619
-msgid "Empty pathname"
+#: ../../include/features.php:85
+msgid "Tag Cloud"
msgstr ""
-#: ../../include/attach.php:635
-msgid "duplicate filename or path"
+#: ../../include/features.php:85
+msgid "Provide a personal tag cloud on your channel page"
msgstr ""
-#: ../../include/attach.php:659
-msgid "Path not found."
+#: ../../include/widgets.php:35 ../../include/taxonomy.php:264
+#: ../../include/contact_widgets.php:92
+msgid "Categories"
msgstr ""
-#: ../../include/attach.php:710
-msgid "mkdir failed."
+#: ../../include/widgets.php:91 ../../include/nav.php:163
+#: ../../mod/apps.php:34
+msgid "Apps"
msgstr ""
-#: ../../include/attach.php:714
-msgid "database storage failed."
+#: ../../include/widgets.php:92
+msgid "System"
msgstr ""
-#: ../../include/account.php:23
-msgid "Not a valid email address"
+#: ../../include/widgets.php:94 ../../include/conversation.php:1501
+msgid "Personal"
msgstr ""
-#: ../../include/account.php:25
-msgid "Your email domain is not among those allowed on this site"
+#: ../../include/widgets.php:95
+msgid "Create Personal App"
msgstr ""
-#: ../../include/account.php:31
-msgid "Your email address is already registered at this site."
+#: ../../include/widgets.php:96
+msgid "Edit Personal App"
msgstr ""
-#: ../../include/account.php:64
-msgid "An invitation is required."
+#: ../../include/widgets.php:136 ../../include/widgets.php:175
+#: ../../include/Contact.php:107 ../../include/conversation.php:945
+#: ../../include/identity.php:823 ../../mod/match.php:64
+#: ../../mod/directory.php:302 ../../mod/suggest.php:52
+msgid "Connect"
msgstr ""
-#: ../../include/account.php:68
-msgid "Invitation could not be verified."
+#: ../../include/widgets.php:138 ../../mod/suggest.php:54
+msgid "Ignore/Hide"
msgstr ""
-#: ../../include/account.php:119
-msgid "Please enter the required information."
+#: ../../include/widgets.php:143 ../../mod/connections.php:268
+msgid "Suggestions"
msgstr ""
-#: ../../include/account.php:187
-msgid "Failed to store account information."
+#: ../../include/widgets.php:144
+msgid "See more..."
msgstr ""
-#: ../../include/account.php:245
+#: ../../include/widgets.php:166
#, php-format
-msgid "Registration confirmation for %s"
+msgid "You have %1$.0f of %2$.0f allowed connections."
msgstr ""
-#: ../../include/account.php:313
-#, php-format
-msgid "Registration request at %s"
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
msgstr ""
-#: ../../include/account.php:315 ../../include/account.php:342
-#: ../../include/account.php:399
-msgid "Administrator"
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
msgstr ""
-#: ../../include/account.php:337
-msgid "your registration password"
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
msgstr ""
-#: ../../include/account.php:340 ../../include/account.php:397
-#, php-format
-msgid "Registration details for %s"
+#: ../../include/widgets.php:190
+msgid "Notes"
msgstr ""
-#: ../../include/account.php:406
-msgid "Account approved."
+#: ../../include/widgets.php:192 ../../include/text.php:853
+#: ../../include/text.php:865 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
+#: ../../mod/filer.php:50 ../../mod/admin.php:1416 ../../mod/admin.php:1436
+msgid "Save"
msgstr ""
-#: ../../include/account.php:440
-#, php-format
-msgid "Registration revoked for %s"
+#: ../../include/widgets.php:266
+msgid "Remove term"
msgstr ""
-#: ../../include/account.php:486
-msgid "Account verified. Please login."
+#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60
+#: ../../include/contact_widgets.php:95
+msgid "Everything"
msgstr ""
-#: ../../include/account.php:706 ../../include/account.php:708
-msgid "Click here to upgrade."
+#: ../../include/widgets.php:349
+msgid "Archives"
msgstr ""
-#: ../../include/account.php:714
-msgid "This action exceeds the limits set by your subscription plan."
+#: ../../include/widgets.php:427 ../../mod/connedit.php:572
+msgid "Me"
msgstr ""
-#: ../../include/account.php:719
-msgid "This action is not available under your subscription plan."
+#: ../../include/widgets.php:428 ../../mod/connedit.php:573
+msgid "Family"
msgstr ""
-#: ../../include/js_strings.php:5
-msgid "Delete this item?"
+#: ../../include/widgets.php:429 ../../include/identity.php:394
+#: ../../include/identity.php:395 ../../include/identity.php:402
+#: ../../include/profile_selectors.php:80 ../../mod/settings.php:339
+#: ../../mod/settings.php:343 ../../mod/settings.php:344
+#: ../../mod/settings.php:347 ../../mod/settings.php:358
+#: ../../mod/connedit.php:574
+msgid "Friends"
msgstr ""
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:667
-#: ../../mod/photos.php:968 ../../mod/photos.php:1086
-msgid "Comment"
+#: ../../include/widgets.php:430 ../../mod/connedit.php:575
+msgid "Acquaintances"
msgstr ""
-#: ../../include/js_strings.php:7 ../../include/ItemObject.php:384
-msgid "[+] show all"
+#: ../../include/widgets.php:431 ../../mod/connections.php:231
+#: ../../mod/connections.php:246 ../../mod/connedit.php:576
+msgid "All"
msgstr ""
-#: ../../include/js_strings.php:8
-msgid "[-] show less"
+#: ../../include/widgets.php:450
+msgid "Refresh"
msgstr ""
-#: ../../include/js_strings.php:9
-msgid "[+] expand"
+#: ../../include/widgets.php:485
+msgid "Account settings"
msgstr ""
-#: ../../include/js_strings.php:10
-msgid "[-] collapse"
+#: ../../include/widgets.php:491
+msgid "Channel settings"
msgstr ""
-#: ../../include/js_strings.php:11
-msgid "Password too short"
+#: ../../include/widgets.php:497
+msgid "Additional features"
msgstr ""
-#: ../../include/js_strings.php:12
-msgid "Passwords do not match"
+#: ../../include/widgets.php:503
+msgid "Feature/Addon settings"
msgstr ""
-#: ../../include/js_strings.php:13 ../../mod/photos.php:39
-msgid "everybody"
+#: ../../include/widgets.php:509
+msgid "Display settings"
msgstr ""
-#: ../../include/js_strings.php:14
-msgid "Secret Passphrase"
+#: ../../include/widgets.php:515
+msgid "Connected apps"
msgstr ""
-#: ../../include/js_strings.php:15
-msgid "Passphrase hint"
+#: ../../include/widgets.php:521
+msgid "Export channel"
msgstr ""
-#: ../../include/js_strings.php:16
-msgid "Notice: Permissions have changed but have not yet been submitted."
+#: ../../include/widgets.php:530 ../../mod/connedit.php:653
+msgid "Connection Default Permissions"
msgstr ""
-#: ../../include/js_strings.php:17
-msgid "close all"
+#: ../../include/widgets.php:538
+msgid "Premium Channel Settings"
msgstr ""
-#: ../../include/js_strings.php:18
-msgid "Nothing new here"
+#: ../../include/widgets.php:554 ../../include/nav.php:208
+#: ../../include/apps.php:134 ../../mod/admin.php:1038
+#: ../../mod/admin.php:1238
+msgid "Settings"
msgstr ""
-#: ../../include/js_strings.php:19
-msgid "Rate This Channel (this is public)"
+#: ../../include/widgets.php:567 ../../mod/message.php:31
+#: ../../mod/mail.php:128
+msgid "Messages"
msgstr ""
-#: ../../include/js_strings.php:20 ../../mod/rate.php:156
-msgid "Rating"
+#: ../../include/widgets.php:570
+msgid "Check Mail"
msgstr ""
-#: ../../include/js_strings.php:21
-msgid "Describe (optional)"
+#: ../../include/widgets.php:575 ../../include/nav.php:199
+msgid "New Message"
msgstr ""
-#: ../../include/js_strings.php:22 ../../include/ItemObject.php:668
-#: ../../mod/settings.php:582 ../../mod/settings.php:684
-#: ../../mod/settings.php:710 ../../mod/settings.php:738
-#: ../../mod/settings.php:761 ../../mod/settings.php:843
-#: ../../mod/settings.php:1039 ../../mod/xchan.php:11 ../../mod/connect.php:93
-#: ../../mod/events.php:656 ../../mod/connedit.php:653 ../../mod/group.php:81
-#: ../../mod/setup.php:313 ../../mod/setup.php:358 ../../mod/thing.php:284
-#: ../../mod/thing.php:327 ../../mod/pdledit.php:58 ../../mod/import.php:504
-#: ../../mod/chat.php:177 ../../mod/chat.php:211 ../../mod/rate.php:167
-#: ../../mod/invite.php:142 ../../mod/locs.php:105 ../../mod/sources.php:104
-#: ../../mod/sources.php:138 ../../mod/filestorage.php:156
-#: ../../mod/fsuggest.php:108 ../../mod/poke.php:166
-#: ../../mod/profiles.php:667 ../../mod/admin.php:443 ../../mod/admin.php:812
-#: ../../mod/admin.php:946 ../../mod/admin.php:1077 ../../mod/admin.php:1272
-#: ../../mod/admin.php:1355 ../../mod/photos.php:565 ../../mod/photos.php:642
-#: ../../mod/photos.php:929 ../../mod/photos.php:969 ../../mod/photos.php:1087
-#: ../../mod/mood.php:134 ../../mod/mail.php:355 ../../mod/appman.php:99
-#: ../../mod/poll.php:68 ../../mod/bulksetclose.php:24
-#: ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/redbasic/php/config.php:97 ../../wppost/wppost.php:104
-msgid "Submit"
+#: ../../include/widgets.php:650
+msgid "Chat Rooms"
msgstr ""
-#: ../../include/js_strings.php:23
-msgid "Please enter a link URL"
+#: ../../include/widgets.php:670
+msgid "Bookmarked Chatrooms"
msgstr ""
-#: ../../include/js_strings.php:25
-msgid "timeago.prefixAgo"
+#: ../../include/widgets.php:690
+msgid "Suggested Chatrooms"
msgstr ""
-#: ../../include/js_strings.php:26
-msgid "timeago.prefixFromNow"
+#: ../../include/widgets.php:817 ../../include/widgets.php:875
+msgid "photo/image"
msgstr ""
-#: ../../include/js_strings.php:27
-msgid "ago"
+#: ../../include/widgets.php:970 ../../include/widgets.php:972
+msgid "Rate Me"
msgstr ""
-#: ../../include/js_strings.php:28
-msgid "from now"
+#: ../../include/widgets.php:976
+msgid "View Ratings"
msgstr ""
-#: ../../include/js_strings.php:29
-msgid "less than a minute"
+#: ../../include/widgets.php:987
+msgid "Public Hubs"
msgstr ""
-#: ../../include/js_strings.php:30
-msgid "about a minute"
+#: ../../include/enotify.php:58
+msgid "Red Matrix Notification"
msgstr ""
-#: ../../include/js_strings.php:31
-#, php-format
-msgid "%d minutes"
+#: ../../include/enotify.php:59
+msgid "redmatrix"
msgstr ""
-#: ../../include/js_strings.php:32
-msgid "about an hour"
+#: ../../include/enotify.php:61
+msgid "Thank You,"
msgstr ""
-#: ../../include/js_strings.php:33
+#: ../../include/enotify.php:63
#, php-format
-msgid "about %d hours"
-msgstr ""
-
-#: ../../include/js_strings.php:34
-msgid "a day"
+msgid "%s Administrator"
msgstr ""
-#: ../../include/js_strings.php:35
+#: ../../include/enotify.php:96
#, php-format
-msgid "%d days"
-msgstr ""
-
-#: ../../include/js_strings.php:36
-msgid "about a month"
+msgid "%s <!item_type!>"
msgstr ""
-#: ../../include/js_strings.php:37
+#: ../../include/enotify.php:100
#, php-format
-msgid "%d months"
-msgstr ""
-
-#: ../../include/js_strings.php:38
-msgid "about a year"
+msgid "[Red:Notify] New mail received at %s"
msgstr ""
-#: ../../include/js_strings.php:39
+#: ../../include/enotify.php:102
#, php-format
-msgid "%d years"
-msgstr ""
-
-#: ../../include/js_strings.php:40
-msgid " "
-msgstr ""
-
-#: ../../include/js_strings.php:41
-msgid "timeago.numbers"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:106
-#: ../../include/RedDAV/RedBrowser.php:266
-msgid "parent"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:130 ../../include/text.php:2407
-msgid "Collection"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:133
-msgid "Principal"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:136
-msgid "Addressbook"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:139
-msgid "Calendar"
+msgid "%1$s, %2$s sent you a new private message at %3$s."
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:142
-msgid "Schedule Inbox"
+#: ../../include/enotify.php:103
+#, php-format
+msgid "%1$s sent you %2$s."
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:145
-msgid "Schedule Outbox"
+#: ../../include/enotify.php:103
+msgid "a private message"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:225
+#: ../../include/enotify.php:104
#, php-format
-msgid "%1$s used"
+msgid "Please visit %s to view and/or reply to your private messages."
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:230
+#: ../../include/enotify.php:158
#, php-format
-msgid "%1$s used of %2$s (%3$s&#37;)"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:251
-msgid "Total"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:253
-msgid "Shared"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:254
-#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/menu.php:100
-#: ../../mod/mitem.php:169 ../../mod/new_channel.php:121
-msgid "Create"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:255
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/profile_photo.php:362
-#: ../../mod/photos.php:706 ../../mod/photos.php:1236
-msgid "Upload"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:262 ../../mod/settings.php:584
-#: ../../mod/settings.php:610 ../../mod/admin.php:953
-#: ../../mod/sharedwithme.php:95
-msgid "Name"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:263
-msgid "Type"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:97
-msgid "Size"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:265 ../../mod/sharedwithme.php:98
-msgid "Last Modified"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:302
-msgid "Create new folder"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:304
-msgid "Upload file"
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
msgstr ""
-#: ../../include/bookmarks.php:35
+#: ../../include/enotify.php:166
#, php-format
-msgid "%1$s's bookmarks"
-msgstr ""
-
-#: ../../include/comanche.php:34 ../../mod/admin.php:383
-#: ../../view/theme/apw/php/config.php:185
-msgid "Default"
-msgstr ""
-
-#: ../../include/features.php:38
-msgid "General Features"
-msgstr ""
-
-#: ../../include/features.php:40
-msgid "Content Expiration"
-msgstr ""
-
-#: ../../include/features.php:40
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr ""
-
-#: ../../include/features.php:41
-msgid "Multiple Profiles"
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr ""
-#: ../../include/features.php:41
-msgid "Ability to create multiple profiles"
+#: ../../include/enotify.php:175
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
msgstr ""
-#: ../../include/features.php:42
-msgid "Advanced Profiles"
+#: ../../include/enotify.php:186
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
msgstr ""
-#: ../../include/features.php:42
-msgid "Additional profile sections and selections"
+#: ../../include/enotify.php:187
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
msgstr ""
-#: ../../include/features.php:43
-msgid "Profile Import/Export"
+#: ../../include/enotify.php:190 ../../include/enotify.php:205
+#: ../../include/enotify.php:231 ../../include/enotify.php:249
+#: ../../include/enotify.php:263
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
msgstr ""
-#: ../../include/features.php:43
-msgid "Save and load profile details across sites/channels"
+#: ../../include/enotify.php:196
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
msgstr ""
-#: ../../include/features.php:44
-msgid "Web Pages"
+#: ../../include/enotify.php:198
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
msgstr ""
-#: ../../include/features.php:44
-msgid "Provide managed web pages on your channel"
+#: ../../include/enotify.php:200
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
msgstr ""
-#: ../../include/features.php:45
-msgid "Private Notes"
+#: ../../include/enotify.php:224
+#, php-format
+msgid "[Red:Notify] %s tagged you"
msgstr ""
-#: ../../include/features.php:45
-msgid "Enables a tool to store notes and reminders"
+#: ../../include/enotify.php:225
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
msgstr ""
-#: ../../include/features.php:46
-msgid "Navigation Channel Select"
+#: ../../include/enotify.php:226
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
msgstr ""
-#: ../../include/features.php:46
-msgid "Change channels directly from within the navigation dropdown menu"
+#: ../../include/enotify.php:238
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
msgstr ""
-#: ../../include/features.php:47
-msgid "Photo Location"
+#: ../../include/enotify.php:239
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
msgstr ""
-#: ../../include/features.php:47
-msgid "If location data is available on uploaded photos, link this to a map."
+#: ../../include/enotify.php:240
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
msgstr ""
-#: ../../include/features.php:51
-msgid "Extended Identity Sharing"
+#: ../../include/enotify.php:256
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
msgstr ""
-#: ../../include/features.php:51
-msgid ""
-"Share your identity with all websites on the internet. When disabled, "
-"identity is only shared with sites in the matrix."
+#: ../../include/enotify.php:257
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
msgstr ""
-#: ../../include/features.php:52
-msgid "Expert Mode"
+#: ../../include/enotify.php:258
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
msgstr ""
-#: ../../include/features.php:52
-msgid "Enable Expert Mode to provide advanced configuration options"
+#: ../../include/enotify.php:270
+msgid "[Red:Notify] Introduction received"
msgstr ""
-#: ../../include/features.php:53
-msgid "Premium Channel"
+#: ../../include/enotify.php:271
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
msgstr ""
-#: ../../include/features.php:53
+#: ../../include/enotify.php:272
+#, php-format
msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr ""
-
-#: ../../include/features.php:58
-msgid "Post Composition Features"
-msgstr ""
-
-#: ../../include/features.php:60
-msgid "Use Markdown"
-msgstr ""
-
-#: ../../include/features.php:60
-msgid "Allow use of \"Markdown\" to format posts"
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
msgstr ""
-#: ../../include/features.php:61
-msgid "Large Photos"
+#: ../../include/enotify.php:276 ../../include/enotify.php:295
+#, php-format
+msgid "You may visit their profile at %s"
msgstr ""
-#: ../../include/features.php:61
-msgid ""
-"Include large (640px) photo thumbnails in posts. If not enabled, use small "
-"(320px) photo thumbnails"
+#: ../../include/enotify.php:278
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
msgstr ""
-#: ../../include/features.php:62
-msgid "Automatically import channel content from other channels or feeds"
+#: ../../include/enotify.php:285
+msgid "[Red:Notify] Friend suggestion received"
msgstr ""
-#: ../../include/features.php:63
-msgid "Even More Encryption"
+#: ../../include/enotify.php:286
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
msgstr ""
-#: ../../include/features.php:63
+#: ../../include/enotify.php:287
+#, php-format
msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr ""
-
-#: ../../include/features.php:64
-msgid "Enable voting tools"
-msgstr ""
-
-#: ../../include/features.php:64
-msgid "Provide a class of post which others can vote on"
-msgstr ""
-
-#: ../../include/features.php:65
-msgid "Flag Adult Photos"
-msgstr ""
-
-#: ../../include/features.php:65
-msgid "Provide photo edit option to hide adult photos from default album view"
-msgstr ""
-
-#: ../../include/features.php:70
-msgid "Network and Stream Filtering"
-msgstr ""
-
-#: ../../include/features.php:71
-msgid "Search by Date"
-msgstr ""
-
-#: ../../include/features.php:71
-msgid "Ability to select posts by date ranges"
-msgstr ""
-
-#: ../../include/features.php:72
-msgid "Collections Filter"
-msgstr ""
-
-#: ../../include/features.php:72
-msgid "Enable widget to display Network posts only from selected collections"
-msgstr ""
-
-#: ../../include/features.php:73
-msgid "Save search terms for re-use"
-msgstr ""
-
-#: ../../include/features.php:74
-msgid "Network Personal Tab"
-msgstr ""
-
-#: ../../include/features.php:74
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr ""
-
-#: ../../include/features.php:75
-msgid "Network New Tab"
-msgstr ""
-
-#: ../../include/features.php:75
-msgid "Enable tab to display all new Network activity"
-msgstr ""
-
-#: ../../include/features.php:76
-msgid "Affinity Tool"
-msgstr ""
-
-#: ../../include/features.php:76
-msgid "Filter stream activity by depth of relationships"
-msgstr ""
-
-#: ../../include/features.php:77
-msgid "Suggest Channels"
-msgstr ""
-
-#: ../../include/features.php:77
-msgid "Show channel suggestions"
-msgstr ""
-
-#: ../../include/features.php:82
-msgid "Post/Comment Tools"
-msgstr ""
-
-#: ../../include/features.php:83
-msgid "Tagging"
-msgstr ""
-
-#: ../../include/features.php:83
-msgid "Ability to tag existing posts"
-msgstr ""
-
-#: ../../include/features.php:84
-msgid "Post Categories"
-msgstr ""
-
-#: ../../include/features.php:84
-msgid "Add categories to your posts"
-msgstr ""
-
-#: ../../include/features.php:85
-msgid "Ability to file posts under folders"
-msgstr ""
-
-#: ../../include/features.php:86
-msgid "Dislike Posts"
-msgstr ""
-
-#: ../../include/features.php:86
-msgid "Ability to dislike posts/comments"
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s."
msgstr ""
-#: ../../include/features.php:87
-msgid "Star Posts"
+#: ../../include/enotify.php:293
+msgid "Name:"
msgstr ""
-#: ../../include/features.php:87
-msgid "Ability to mark special posts with a star indicator"
+#: ../../include/enotify.php:294
+msgid "Photo:"
msgstr ""
-#: ../../include/features.php:88
-msgid "Tag Cloud"
+#: ../../include/enotify.php:297
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
-#: ../../include/features.php:88
-msgid "Provide a personal tag cloud on your channel page"
+#: ../../include/enotify.php:508
+msgid "[Red:Notify]"
msgstr ""
#: ../../include/contact_selectors.php:56
@@ -2012,9 +1337,9 @@ msgstr ""
msgid "RSS/Atom"
msgstr ""
-#: ../../include/contact_selectors.php:79 ../../mod/id.php:12
-#: ../../mod/id.php:13 ../../mod/admin.php:815 ../../mod/admin.php:824
-#: ../../boot.php:1554
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:813
+#: ../../mod/admin.php:822 ../../mod/id.php:15 ../../mod/id.php:16
+#: ../../boot.php:1542
msgid "Email"
msgstr ""
@@ -2090,6 +1415,14 @@ msgstr ""
msgid "Cannot connect to yourself."
msgstr ""
+#: ../../include/ItemObject.php:89 ../../include/conversation.php:667
+msgid "Private Message"
+msgstr ""
+
+#: ../../include/ItemObject.php:126 ../../include/conversation.php:659
+msgid "Select"
+msgstr ""
+
#: ../../include/ItemObject.php:130
msgid "Save to Folder"
msgstr ""
@@ -2118,6 +1451,29 @@ msgstr ""
msgid "I abstain"
msgstr ""
+#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
+#: ../../include/conversation.php:1674 ../../mod/photos.php:1003
+#: ../../mod/photos.php:1015
+msgid "View all"
+msgstr ""
+
+#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
+#: ../../include/conversation.php:1698 ../../include/identity.php:1133
+#: ../../mod/photos.php:1007
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/ItemObject.php:184 ../../include/conversation.php:1701
+#: ../../mod/photos.php:1012
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] ""
+msgstr[1] ""
+
#: ../../include/ItemObject.php:212
msgid "Add Star"
msgstr ""
@@ -2134,6 +1490,14 @@ msgstr ""
msgid "starred"
msgstr ""
+#: ../../include/ItemObject.php:227 ../../include/conversation.php:674
+msgid "Message signature validated"
+msgstr ""
+
+#: ../../include/ItemObject.php:228 ../../include/conversation.php:675
+msgid "Message signature incorrect"
+msgstr ""
+
#: ../../include/ItemObject.php:236
msgid "Add Tag"
msgstr ""
@@ -2142,7 +1506,7 @@ msgstr ""
msgid "I like this (toggle)"
msgstr ""
-#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:305
+#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:310
msgid "like"
msgstr ""
@@ -2150,7 +1514,7 @@ msgstr ""
msgid "I don't like this (toggle)"
msgstr ""
-#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:306
+#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:311
msgid "dislike"
msgstr ""
@@ -2190,6 +1554,21 @@ msgstr ""
msgid "via Wall-To-Wall:"
msgstr ""
+#: ../../include/ItemObject.php:312 ../../include/conversation.php:716
+#, php-format
+msgid "from %s"
+msgstr ""
+
+#: ../../include/ItemObject.php:315 ../../include/conversation.php:719
+#, php-format
+msgid "last edited: %s"
+msgstr ""
+
+#: ../../include/ItemObject.php:316 ../../include/conversation.php:720
+#, php-format
+msgid "Expires: %s"
+msgstr ""
+
#: ../../include/ItemObject.php:337
msgid "Save Bookmarks"
msgstr ""
@@ -2217,11 +1596,49 @@ msgstr ""
msgid "Close"
msgstr ""
+#: ../../include/ItemObject.php:364 ../../include/conversation.php:737
+#: ../../include/conversation.php:1206 ../../mod/photos.php:950
+#: ../../mod/editlayout.php:153 ../../mod/editwebpage.php:192
+#: ../../mod/editpost.php:130 ../../mod/editblock.php:155
+#: ../../mod/mail.php:241 ../../mod/mail.php:356
+msgid "Please wait"
+msgstr ""
+
#: ../../include/ItemObject.php:665 ../../mod/photos.php:966
#: ../../mod/photos.php:1084
msgid "This is you"
msgstr ""
+#: ../../include/ItemObject.php:669 ../../include/conversation.php:1179
+#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:179
+#: ../../mod/editpost.php:114 ../../mod/editblock.php:141
+msgid "Bold"
+msgstr ""
+
+#: ../../include/ItemObject.php:670 ../../include/conversation.php:1180
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:180
+#: ../../mod/editpost.php:115 ../../mod/editblock.php:142
+msgid "Italic"
+msgstr ""
+
+#: ../../include/ItemObject.php:671 ../../include/conversation.php:1181
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:181
+#: ../../mod/editpost.php:116 ../../mod/editblock.php:143
+msgid "Underline"
+msgstr ""
+
+#: ../../include/ItemObject.php:672 ../../include/conversation.php:1182
+#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:182
+#: ../../mod/editpost.php:117 ../../mod/editblock.php:144
+msgid "Quote"
+msgstr ""
+
+#: ../../include/ItemObject.php:673 ../../include/conversation.php:1183
+#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:183
+#: ../../mod/editpost.php:118 ../../mod/editblock.php:145
+msgid "Code"
+msgstr ""
+
#: ../../include/ItemObject.php:674
msgid "Image"
msgstr ""
@@ -2234,205 +1651,379 @@ msgstr ""
msgid "Video"
msgstr ""
-#: ../../include/datetime.php:35
-msgid "Miscellaneous"
+#: ../../include/ItemObject.php:680 ../../include/conversation.php:1233
+#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:361
+msgid "Encrypt text"
msgstr ""
-#: ../../include/datetime.php:113
-msgid "YYYY-MM-DD or MM-DD"
+#: ../../include/Contact.php:124
+msgid "New window"
msgstr ""
-#: ../../include/datetime.php:214 ../../mod/events.php:635
-#: ../../mod/appman.php:91 ../../mod/appman.php:92
-msgid "Required"
+#: ../../include/Contact.php:125
+msgid "Open the selected location in a different window or browser tab"
msgstr ""
-#: ../../include/datetime.php:233 ../../boot.php:2356
-msgid "never"
+#: ../../include/Contact.php:215 ../../mod/admin.php:730
+#, php-format
+msgid "User '%s' deleted"
msgstr ""
-#: ../../include/datetime.php:239
-msgid "less than a second ago"
+#: ../../include/bb2diaspora.php:373
+msgid "Attachments:"
msgstr ""
-#: ../../include/datetime.php:242
-msgid "year"
+#: ../../include/bb2diaspora.php:453
+msgid "Redmatrix event notification:"
msgstr ""
-#: ../../include/datetime.php:242
-msgid "years"
+#: ../../include/text.php:329
+msgid "prev"
msgstr ""
-#: ../../include/datetime.php:243
-msgid "month"
+#: ../../include/text.php:331
+msgid "first"
msgstr ""
-#: ../../include/datetime.php:243
-msgid "months"
+#: ../../include/text.php:360
+msgid "last"
msgstr ""
-#: ../../include/datetime.php:244
-msgid "week"
+#: ../../include/text.php:363
+msgid "next"
msgstr ""
-#: ../../include/datetime.php:244
-msgid "weeks"
+#: ../../include/text.php:373
+msgid "older"
msgstr ""
-#: ../../include/datetime.php:245
-msgid "day"
+#: ../../include/text.php:375
+msgid "newer"
msgstr ""
-#: ../../include/datetime.php:245
-msgid "days"
+#: ../../include/text.php:768
+msgid "No connections"
msgstr ""
-#: ../../include/datetime.php:246
-msgid "hour"
+#: ../../include/text.php:782
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/text.php:795 ../../mod/viewconnections.php:104
+msgid "View Connections"
msgstr ""
-#: ../../include/datetime.php:246
-msgid "hours"
+#: ../../include/text.php:852 ../../include/text.php:864
+#: ../../include/nav.php:165 ../../include/apps.php:147
+#: ../../mod/search.php:38
+msgid "Search"
msgstr ""
-#: ../../include/datetime.php:247
-msgid "minute"
+#: ../../include/text.php:928
+msgid "poke"
msgstr ""
-#: ../../include/datetime.php:247
-msgid "minutes"
+#: ../../include/text.php:928 ../../include/conversation.php:243
+msgid "poked"
msgstr ""
-#: ../../include/datetime.php:248
-msgid "second"
+#: ../../include/text.php:929
+msgid "ping"
msgstr ""
-#: ../../include/datetime.php:248
-msgid "seconds"
+#: ../../include/text.php:929
+msgid "pinged"
msgstr ""
-#: ../../include/datetime.php:257
-#, php-format
-msgid "%1$d %2$s ago"
+#: ../../include/text.php:930
+msgid "prod"
msgstr ""
-#: ../../include/datetime.php:465
-#, php-format
-msgid "%1$s's birthday"
+#: ../../include/text.php:930
+msgid "prodded"
msgstr ""
-#: ../../include/datetime.php:466
-#, php-format
-msgid "Happy Birthday %1$s"
+#: ../../include/text.php:931
+msgid "slap"
msgstr ""
-#: ../../include/Contact.php:124
-msgid "New window"
+#: ../../include/text.php:931
+msgid "slapped"
msgstr ""
-#: ../../include/Contact.php:125
-msgid "Open the selected location in a different window or browser tab"
+#: ../../include/text.php:932
+msgid "finger"
msgstr ""
-#: ../../include/Contact.php:215 ../../mod/admin.php:729
-#, php-format
-msgid "User '%s' deleted"
+#: ../../include/text.php:932
+msgid "fingered"
msgstr ""
-#: ../../include/bb2diaspora.php:373
-msgid "Attachments:"
+#: ../../include/text.php:933
+msgid "rebuff"
msgstr ""
-#: ../../include/bb2diaspora.php:451 ../../include/event.php:11
-msgid "l F d, Y \\@ g:i A"
+#: ../../include/text.php:933
+msgid "rebuffed"
msgstr ""
-#: ../../include/bb2diaspora.php:453
-msgid "Redmatrix event notification:"
+#: ../../include/text.php:943
+msgid "happy"
msgstr ""
-#: ../../include/bb2diaspora.php:457 ../../include/event.php:20
-msgid "Starts:"
+#: ../../include/text.php:944
+msgid "sad"
msgstr ""
-#: ../../include/bb2diaspora.php:465 ../../include/event.php:30
-msgid "Finishes:"
+#: ../../include/text.php:945
+msgid "mellow"
msgstr ""
-#: ../../include/items.php:382 ../../mod/like.php:270
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
-#: ../../mod/bulksetclose.php:11 ../../index.php:392
-msgid "Permission denied"
+#: ../../include/text.php:946
+msgid "tired"
msgstr ""
-#: ../../include/items.php:979 ../../include/items.php:1024
-msgid "(Unknown)"
+#: ../../include/text.php:947
+msgid "perky"
msgstr ""
-#: ../../include/items.php:1181
-msgid "Visible to anybody on the internet."
+#: ../../include/text.php:948
+msgid "angry"
msgstr ""
-#: ../../include/items.php:1183
-msgid "Visible to you only."
+#: ../../include/text.php:949
+msgid "stupified"
msgstr ""
-#: ../../include/items.php:1185
-msgid "Visible to anybody in this network."
+#: ../../include/text.php:950
+msgid "puzzled"
msgstr ""
-#: ../../include/items.php:1187
-msgid "Visible to anybody authenticated."
+#: ../../include/text.php:951
+msgid "interested"
msgstr ""
-#: ../../include/items.php:1189
-#, php-format
-msgid "Visible to anybody on %s."
+#: ../../include/text.php:952
+msgid "bitter"
msgstr ""
-#: ../../include/items.php:1191
-msgid "Visible to all connections."
+#: ../../include/text.php:953
+msgid "cheerful"
msgstr ""
-#: ../../include/items.php:1193
-msgid "Visible to approved connections."
+#: ../../include/text.php:954
+msgid "alive"
msgstr ""
-#: ../../include/items.php:1195
-msgid "Visible to specific connections."
+#: ../../include/text.php:955
+msgid "annoyed"
msgstr ""
-#: ../../include/items.php:4027 ../../mod/thing.php:76
-#: ../../mod/display.php:36 ../../mod/filestorage.php:27
-#: ../../mod/viewsrc.php:20 ../../mod/admin.php:167 ../../mod/admin.php:984
-#: ../../mod/admin.php:1184
-msgid "Item not found."
+#: ../../include/text.php:956
+msgid "anxious"
msgstr ""
-#: ../../include/items.php:4479 ../../mod/group.php:38 ../../mod/group.php:140
-#: ../../mod/bulksetclose.php:51
-msgid "Collection not found."
+#: ../../include/text.php:957
+msgid "cranky"
msgstr ""
-#: ../../include/items.php:4494
-msgid "Collection is empty."
+#: ../../include/text.php:958
+msgid "disturbed"
msgstr ""
-#: ../../include/items.php:4501
-#, php-format
-msgid "Collection: %s"
+#: ../../include/text.php:959
+msgid "frustrated"
msgstr ""
-#: ../../include/items.php:4512
-#, php-format
-msgid "Connection: %s"
+#: ../../include/text.php:960
+msgid "depressed"
msgstr ""
-#: ../../include/items.php:4515
-msgid "Connection not found."
+#: ../../include/text.php:961
+msgid "motivated"
+msgstr ""
+
+#: ../../include/text.php:962
+msgid "relaxed"
+msgstr ""
+
+#: ../../include/text.php:963
+msgid "surprised"
+msgstr ""
+
+#: ../../include/text.php:1135
+msgid "Monday"
+msgstr ""
+
+#: ../../include/text.php:1135
+msgid "Tuesday"
+msgstr ""
+
+#: ../../include/text.php:1135
+msgid "Wednesday"
+msgstr ""
+
+#: ../../include/text.php:1135
+msgid "Thursday"
+msgstr ""
+
+#: ../../include/text.php:1135
+msgid "Friday"
+msgstr ""
+
+#: ../../include/text.php:1135
+msgid "Saturday"
+msgstr ""
+
+#: ../../include/text.php:1135
+msgid "Sunday"
+msgstr ""
+
+#: ../../include/text.php:1139
+msgid "January"
+msgstr ""
+
+#: ../../include/text.php:1139
+msgid "February"
+msgstr ""
+
+#: ../../include/text.php:1139
+msgid "March"
+msgstr ""
+
+#: ../../include/text.php:1139
+msgid "April"
+msgstr ""
+
+#: ../../include/text.php:1139
+msgid "May"
+msgstr ""
+
+#: ../../include/text.php:1139
+msgid "June"
+msgstr ""
+
+#: ../../include/text.php:1139
+msgid "July"
+msgstr ""
+
+#: ../../include/text.php:1139
+msgid "August"
+msgstr ""
+
+#: ../../include/text.php:1139
+msgid "September"
+msgstr ""
+
+#: ../../include/text.php:1139
+msgid "October"
+msgstr ""
+
+#: ../../include/text.php:1139
+msgid "November"
+msgstr ""
+
+#: ../../include/text.php:1139
+msgid "December"
+msgstr ""
+
+#: ../../include/text.php:1236
+msgid "unknown.???"
+msgstr ""
+
+#: ../../include/text.php:1237
+msgid "bytes"
+msgstr ""
+
+#: ../../include/text.php:1273
+msgid "remove category"
+msgstr ""
+
+#: ../../include/text.php:1348
+msgid "remove from file"
+msgstr ""
+
+#: ../../include/text.php:1424 ../../include/text.php:1435
+#: ../../mod/connedit.php:661
+msgid "Click to open/close"
+msgstr ""
+
+#: ../../include/text.php:1591 ../../mod/events.php:444
+msgid "Link to Source"
+msgstr ""
+
+#: ../../include/text.php:1612 ../../include/text.php:1683
+msgid "default"
+msgstr ""
+
+#: ../../include/text.php:1620
+msgid "Page layout"
+msgstr ""
+
+#: ../../include/text.php:1620
+msgid "You can create your own with the layouts tool"
+msgstr ""
+
+#: ../../include/text.php:1661
+msgid "Page content type"
+msgstr ""
+
+#: ../../include/text.php:1695
+msgid "Select an alternate language"
+msgstr ""
+
+#: ../../include/text.php:1814 ../../include/conversation.php:120
+#: ../../include/diaspora.php:2081 ../../mod/like.php:346
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:43
+msgid "photo"
+msgstr ""
+
+#: ../../include/text.php:1817 ../../include/conversation.php:123
+#: ../../mod/like.php:348 ../../mod/tagger.php:47
+msgid "event"
+msgstr ""
+
+#: ../../include/text.php:1820 ../../include/conversation.php:148
+#: ../../include/diaspora.php:2081 ../../mod/like.php:346
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:51
+msgid "status"
+msgstr ""
+
+#: ../../include/text.php:1822 ../../include/conversation.php:150
+#: ../../mod/tagger.php:53
+msgid "comment"
+msgstr ""
+
+#: ../../include/text.php:1827
+msgid "activity"
+msgstr ""
+
+#: ../../include/text.php:2122
+msgid "Design Tools"
+msgstr ""
+
+#: ../../include/text.php:2125 ../../mod/blocks.php:143
+msgid "Blocks"
+msgstr ""
+
+#: ../../include/text.php:2126 ../../mod/menu.php:95
+msgid "Menus"
msgstr ""
-#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1551
+#: ../../include/text.php:2127 ../../mod/layouts.php:169
+msgid "Layouts"
+msgstr ""
+
+#: ../../include/text.php:2128
+msgid "Pages"
+msgstr ""
+
+#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1539
msgid "Logout"
msgstr ""
@@ -2448,6 +2039,11 @@ msgstr ""
msgid "Your posts and conversations"
msgstr ""
+#: ../../include/nav.php:91 ../../include/conversation.php:942
+#: ../../mod/connedit.php:494 ../../mod/connedit.php:660
+msgid "View Profile"
+msgstr ""
+
#: ../../include/nav.php:91
msgid "Your profile page"
msgstr ""
@@ -2460,10 +2056,19 @@ msgstr ""
msgid "Manage/Edit profiles"
msgstr ""
+#: ../../include/nav.php:95 ../../include/identity.php:846
+msgid "Edit Profile"
+msgstr ""
+
#: ../../include/nav.php:95
msgid "Edit your profile"
msgstr ""
+#: ../../include/nav.php:97 ../../include/conversation.php:1597
+#: ../../include/apps.php:139 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr ""
+
#: ../../include/nav.php:97
msgid "Your photos"
msgstr ""
@@ -2480,15 +2085,25 @@ msgstr ""
msgid "Your chatrooms"
msgstr ""
+#: ../../include/nav.php:109 ../../include/conversation.php:1632
+#: ../../include/apps.php:129
+msgid "Bookmarks"
+msgstr ""
+
#: ../../include/nav.php:109
msgid "Your bookmarks"
msgstr ""
+#: ../../include/nav.php:113 ../../include/conversation.php:1642
+#: ../../include/apps.php:136 ../../mod/webpages.php:176
+msgid "Webpages"
+msgstr ""
+
#: ../../include/nav.php:113
msgid "Your webpages"
msgstr ""
-#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1552
+#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1540
msgid "Login"
msgstr ""
@@ -2513,7 +2128,7 @@ msgstr ""
msgid "Home Page"
msgstr ""
-#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1528
+#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1516
msgid "Register"
msgstr ""
@@ -2522,7 +2137,7 @@ msgid "Create an account"
msgstr ""
#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
-#: ../../mod/help.php:72
+#: ../../mod/help.php:72 ../../mod/layouts.php:171
msgid "Help"
msgstr ""
@@ -2534,18 +2149,12 @@ msgstr ""
msgid "Applications, utilities, links, games"
msgstr ""
-#: ../../include/nav.php:165 ../../include/apps.php:147
-#: ../../include/text.php:832 ../../include/text.php:844
-#: ../../mod/search.php:38
-msgid "Search"
-msgstr ""
-
#: ../../include/nav.php:165
msgid "Search site content"
msgstr ""
#: ../../include/nav.php:168 ../../include/apps.php:141
-#: ../../mod/directory.php:353
+#: ../../mod/directory.php:366
msgid "Directory"
msgstr ""
@@ -2639,7 +2248,7 @@ msgid "Mark all events seen"
msgstr ""
#: ../../include/nav.php:206 ../../include/apps.php:132
-#: ../../mod/manage.php:164
+#: ../../mod/manage.php:166
msgid "Channel Manager"
msgstr ""
@@ -2659,6 +2268,10 @@ msgstr ""
msgid "Site Setup and Configuration"
msgstr ""
+#: ../../include/nav.php:247 ../../include/conversation.php:850
+msgid "Loading..."
+msgstr ""
+
#: ../../include/nav.php:252
msgid "@name, #tag, content"
msgstr ""
@@ -2671,31 +2284,31 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: ../../include/taxonomy.php:282
+#: ../../include/taxonomy.php:287
msgid "Keywords"
msgstr ""
-#: ../../include/taxonomy.php:303
+#: ../../include/taxonomy.php:308
msgid "have"
msgstr ""
-#: ../../include/taxonomy.php:303
+#: ../../include/taxonomy.php:308
msgid "has"
msgstr ""
-#: ../../include/taxonomy.php:304
+#: ../../include/taxonomy.php:309
msgid "want"
msgstr ""
-#: ../../include/taxonomy.php:304
+#: ../../include/taxonomy.php:309
msgid "wants"
msgstr ""
-#: ../../include/taxonomy.php:305
+#: ../../include/taxonomy.php:310
msgid "likes"
msgstr ""
-#: ../../include/taxonomy.php:306
+#: ../../include/taxonomy.php:311
msgid "dislikes"
msgstr ""
@@ -2722,1138 +2335,1516 @@ msgstr ""
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr ""
-#: ../../include/event.php:376
-msgid "This event has been added to your calendar."
+#: ../../include/bbcode.php:122 ../../include/bbcode.php:735
+#: ../../include/bbcode.php:738 ../../include/bbcode.php:743
+#: ../../include/bbcode.php:746 ../../include/bbcode.php:749
+#: ../../include/bbcode.php:752 ../../include/bbcode.php:757
+#: ../../include/bbcode.php:760 ../../include/bbcode.php:765
+#: ../../include/bbcode.php:768 ../../include/bbcode.php:771
+#: ../../include/bbcode.php:774
+msgid "Image/photo"
msgstr ""
-#: ../../include/api.php:1095
-msgid "Public Timeline"
+#: ../../include/bbcode.php:161 ../../include/bbcode.php:785
+msgid "Encrypted content"
msgstr ""
-#: ../../include/dir_fns.php:134
-msgid "Directory Options"
+#: ../../include/bbcode.php:177
+msgid "Install design element: "
msgstr ""
-#: ../../include/dir_fns.php:135
-msgid "Alphabetic"
+#: ../../include/bbcode.php:190
+msgid "QR code"
msgstr ""
-#: ../../include/dir_fns.php:136
-msgid "Reverse Alphabetic"
+#: ../../include/bbcode.php:241
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
msgstr ""
-#: ../../include/dir_fns.php:137
-msgid "Newest to Oldest"
+#: ../../include/bbcode.php:243
+msgid "post"
msgstr ""
-#: ../../include/dir_fns.php:138
-msgid "Oldest to Newest"
+#: ../../include/bbcode.php:485
+msgid "Different viewers will see this text differently"
msgstr ""
-#: ../../include/dir_fns.php:139
-msgid "Sort"
+#: ../../include/bbcode.php:696
+msgid "$1 spoiler"
msgstr ""
-#: ../../include/dir_fns.php:143
-msgid "Safe Mode"
+#: ../../include/bbcode.php:723
+msgid "$1 wrote:"
msgstr ""
-#: ../../include/dir_fns.php:145
-msgid "Public Forums Only"
+#: ../../include/items.php:399 ../../mod/like.php:270
+#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
+#: ../../mod/bulksetclose.php:11 ../../index.php:392
+msgid "Permission denied"
msgstr ""
-#: ../../include/dir_fns.php:146
-msgid "This Website Only"
+#: ../../include/items.php:1012 ../../include/items.php:1058
+msgid "(Unknown)"
msgstr ""
-#: ../../include/oembed.php:183
-msgid "Embedded content"
+#: ../../include/items.php:1226
+msgid "Visible to anybody on the internet."
msgstr ""
-#: ../../include/oembed.php:192
-msgid "Embedding disabled"
+#: ../../include/items.php:1228
+msgid "Visible to you only."
msgstr ""
-#: ../../include/zot.php:679
-msgid "Invalid data packet"
+#: ../../include/items.php:1230
+msgid "Visible to anybody in this network."
msgstr ""
-#: ../../include/zot.php:695
-msgid "Unable to verify channel signature"
+#: ../../include/items.php:1232
+msgid "Visible to anybody authenticated."
msgstr ""
-#: ../../include/zot.php:2079
+#: ../../include/items.php:1234
#, php-format
-msgid "Unable to verify site signature for %s"
+msgid "Visible to anybody on %s."
msgstr ""
-#: ../../include/auth.php:131
-msgid "Logged out."
+#: ../../include/items.php:1236
+msgid "Visible to all connections."
msgstr ""
-#: ../../include/auth.php:272
-msgid "Failed authentication"
+#: ../../include/items.php:1238
+msgid "Visible to approved connections."
msgstr ""
-#: ../../include/auth.php:286 ../../mod/openid.php:190
-msgid "Login failed."
+#: ../../include/items.php:1240
+msgid "Visible to specific connections."
msgstr ""
-#: ../../include/enotify.php:41
-msgid "Red Matrix Notification"
+#: ../../include/items.php:4051 ../../mod/thing.php:74
+#: ../../mod/display.php:36 ../../mod/filestorage.php:27
+#: ../../mod/viewsrc.php:20 ../../mod/admin.php:167 ../../mod/admin.php:984
+#: ../../mod/admin.php:1184
+msgid "Item not found."
msgstr ""
-#: ../../include/enotify.php:42
-msgid "redmatrix"
+#: ../../include/items.php:4124 ../../include/photos.php:26
+#: ../../include/attach.php:136 ../../include/attach.php:183
+#: ../../include/attach.php:246 ../../include/attach.php:260
+#: ../../include/attach.php:304 ../../include/attach.php:318
+#: ../../include/attach.php:343 ../../include/attach.php:539
+#: ../../include/attach.php:611 ../../include/chat.php:131
+#: ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/achievements.php:30 ../../mod/manage.php:6
+#: ../../mod/settings.php:564 ../../mod/api.php:26 ../../mod/api.php:31
+#: ../../mod/thing.php:241 ../../mod/thing.php:256 ../../mod/thing.php:290
+#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
+#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
+#: ../../mod/events.php:219 ../../mod/group.php:9 ../../mod/setup.php:207
+#: ../../mod/common.php:35 ../../mod/connections.php:169
+#: ../../mod/photos.php:68 ../../mod/pdledit.php:21 ../../mod/authtest.php:13
+#: ../../mod/editlayout.php:64 ../../mod/editlayout.php:89
+#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/editwebpage.php:64
+#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101
+#: ../../mod/editwebpage.php:125 ../../mod/rate.php:110
+#: ../../mod/editpost.php:13 ../../mod/invite.php:13 ../../mod/invite.php:104
+#: ../../mod/locs.php:77 ../../mod/sources.php:66 ../../mod/menu.php:69
+#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
+#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
+#: ../../mod/fsuggest.php:78 ../../mod/poke.php:128 ../../mod/webpages.php:69
+#: ../../mod/profiles.php:188 ../../mod/profiles.php:576
+#: ../../mod/viewsrc.php:14 ../../mod/mitem.php:115
+#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
+#: ../../mod/editblock.php:65 ../../mod/register.php:72 ../../mod/item.php:206
+#: ../../mod/item.php:214 ../../mod/item.php:962 ../../mod/blocks.php:69
+#: ../../mod/blocks.php:76 ../../mod/id.php:71 ../../mod/message.php:16
+#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
+#: ../../mod/mood.php:111 ../../mod/connedit.php:331 ../../mod/mail.php:114
+#: ../../mod/notifications.php:66 ../../mod/regmod.php:17
+#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
+#: ../../mod/appman.php:66 ../../mod/network.php:12 ../../mod/page.php:28
+#: ../../mod/page.php:79 ../../mod/bookmarks.php:46 ../../mod/channel.php:100
+#: ../../mod/channel.php:219 ../../mod/channel.php:262
+#: ../../mod/suggest.php:26 ../../mod/service_limits.php:7
+#: ../../mod/sharedwithme.php:7 ../../index.php:190 ../../index.php:393
+msgid "Permission denied."
msgstr ""
-#: ../../include/enotify.php:44
-msgid "Thank You,"
+#: ../../include/items.php:4524 ../../mod/group.php:38 ../../mod/group.php:140
+#: ../../mod/bulksetclose.php:51
+msgid "Collection not found."
msgstr ""
-#: ../../include/enotify.php:46
-#, php-format
-msgid "%s Administrator"
+#: ../../include/items.php:4540
+msgid "Collection is empty."
msgstr ""
-#: ../../include/enotify.php:81
+#: ../../include/items.php:4547
#, php-format
-msgid "%s <!item_type!>"
+msgid "Collection: %s"
msgstr ""
-#: ../../include/enotify.php:85
+#: ../../include/items.php:4557
#, php-format
-msgid "[Red:Notify] New mail received at %s"
+msgid "Connection: %s"
msgstr ""
-#: ../../include/enotify.php:87
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
+#: ../../include/items.php:4559
+msgid "Connection not found."
msgstr ""
-#: ../../include/enotify.php:88
-#, php-format
-msgid "%1$s sent you %2$s."
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
msgstr ""
-#: ../../include/enotify.php:88
-msgid "a private message"
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
msgstr ""
-#: ../../include/enotify.php:89
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
+#: ../../include/permissions.php:28
+msgid "Can view my photo albums"
msgstr ""
-#: ../../include/enotify.php:144
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+#: ../../include/permissions.php:29
+msgid "Can view my connections"
msgstr ""
-#: ../../include/enotify.php:152
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+#: ../../include/permissions.php:30
+msgid "Can view my file storage"
msgstr ""
-#: ../../include/enotify.php:161
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+#: ../../include/permissions.php:31
+msgid "Can view my webpages"
msgstr ""
-#: ../../include/enotify.php:172
-#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
+#: ../../include/permissions.php:34
+msgid "Can send me their channel stream and posts"
msgstr ""
-#: ../../include/enotify.php:173
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
+#: ../../include/permissions.php:35
+msgid "Can post on my channel page (\"wall\")"
msgstr ""
-#: ../../include/enotify.php:176 ../../include/enotify.php:191
-#: ../../include/enotify.php:217 ../../include/enotify.php:236
-#: ../../include/enotify.php:250
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
+#: ../../include/permissions.php:36
+msgid "Can comment on or like my posts"
msgstr ""
-#: ../../include/enotify.php:182
-#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
+#: ../../include/permissions.php:37
+msgid "Can send me private mail messages"
+msgstr ""
+
+#: ../../include/permissions.php:38
+msgid "Can post photos to my photo albums"
msgstr ""
-#: ../../include/enotify.php:184
+#: ../../include/permissions.php:39
+msgid "Can like/dislike stuff"
+msgstr ""
+
+#: ../../include/permissions.php:39
+msgid "Profiles and things other than posts/comments"
+msgstr ""
+
+#: ../../include/permissions.php:41
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr ""
+
+#: ../../include/permissions.php:41
+msgid "Advanced - useful for creating group forum channels"
+msgstr ""
+
+#: ../../include/permissions.php:42
+msgid "Can chat with me (when available)"
+msgstr ""
+
+#: ../../include/permissions.php:43
+msgid "Can write to my file storage"
+msgstr ""
+
+#: ../../include/permissions.php:44
+msgid "Can edit my webpages"
+msgstr ""
+
+#: ../../include/permissions.php:46
+msgid "Can source my public posts in derived channels"
+msgstr ""
+
+#: ../../include/permissions.php:46
+msgid "Somewhat advanced - very useful in open communities"
+msgstr ""
+
+#: ../../include/permissions.php:48
+msgid "Can administer my channel resources"
+msgstr ""
+
+#: ../../include/permissions.php:48
+msgid "Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr ""
+
+#: ../../include/permissions.php:809
+msgid "Social Networking"
+msgstr ""
+
+#: ../../include/permissions.php:809 ../../include/permissions.php:810
+#: ../../include/permissions.php:811
+msgid "Mostly Public"
+msgstr ""
+
+#: ../../include/permissions.php:809 ../../include/permissions.php:810
+#: ../../include/permissions.php:811
+msgid "Restricted"
+msgstr ""
+
+#: ../../include/permissions.php:809 ../../include/permissions.php:810
+msgid "Private"
+msgstr ""
+
+#: ../../include/permissions.php:810
+msgid "Community Forum"
+msgstr ""
+
+#: ../../include/permissions.php:811
+msgid "Feed Republish"
+msgstr ""
+
+#: ../../include/permissions.php:812
+msgid "Special Purpose"
+msgstr ""
+
+#: ../../include/permissions.php:812
+msgid "Celebrity/Soapbox"
+msgstr ""
+
+#: ../../include/permissions.php:812
+msgid "Group Repository"
+msgstr ""
+
+#: ../../include/permissions.php:813 ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97
+msgid "Other"
+msgstr ""
+
+#: ../../include/permissions.php:813
+msgid "Custom/Expert Mode"
+msgstr ""
+
+#: ../../include/conversation.php:126 ../../mod/like.php:113
+msgid "channel"
+msgstr ""
+
+#: ../../include/conversation.php:164 ../../include/diaspora.php:2110
+#: ../../mod/like.php:394
#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgid "%1$s likes %2$s's %3$s"
msgstr ""
-#: ../../include/enotify.php:186
+#: ../../include/conversation.php:167 ../../mod/like.php:396
#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgid "%1$s doesn't like %2$s's %3$s"
msgstr ""
-#: ../../include/enotify.php:210
+#: ../../include/conversation.php:204
#, php-format
-msgid "[Red:Notify] %s tagged you"
+msgid "%1$s is now connected with %2$s"
msgstr ""
-#: ../../include/enotify.php:211
+#: ../../include/conversation.php:239
#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
+msgid "%1$s poked %2$s"
msgstr ""
-#: ../../include/enotify.php:212
+#: ../../include/conversation.php:260 ../../mod/mood.php:63
#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgctxt "mood"
+msgid "%1$s is %2$s"
msgstr ""
-#: ../../include/enotify.php:225
+#: ../../include/conversation.php:572 ../../mod/photos.php:984
+msgctxt "title"
+msgid "Likes"
+msgstr ""
+
+#: ../../include/conversation.php:572 ../../mod/photos.php:984
+msgctxt "title"
+msgid "Dislikes"
+msgstr ""
+
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
+msgctxt "title"
+msgid "Agree"
+msgstr ""
+
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
+msgctxt "title"
+msgid "Disagree"
+msgstr ""
+
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
+msgctxt "title"
+msgid "Abstain"
+msgstr ""
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
+msgctxt "title"
+msgid "Attending"
+msgstr ""
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
+msgctxt "title"
+msgid "Not attending"
+msgstr ""
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
+msgctxt "title"
+msgid "Might attend"
+msgstr ""
+
+#: ../../include/conversation.php:692
#, php-format
-msgid "[Red:Notify] %1$s poked you"
+msgid "View %s's profile @ %s"
msgstr ""
-#: ../../include/enotify.php:226
+#: ../../include/conversation.php:707
+msgid "Categories:"
+msgstr ""
+
+#: ../../include/conversation.php:708
+msgid "Filed under:"
+msgstr ""
+
+#: ../../include/conversation.php:735
+msgid "View in context"
+msgstr ""
+
+#: ../../include/conversation.php:846
+msgid "remove"
+msgstr ""
+
+#: ../../include/conversation.php:851
+msgid "Delete Selected Items"
+msgstr ""
+
+#: ../../include/conversation.php:939
+msgid "View Source"
+msgstr ""
+
+#: ../../include/conversation.php:940
+msgid "Follow Thread"
+msgstr ""
+
+#: ../../include/conversation.php:941
+msgid "View Status"
+msgstr ""
+
+#: ../../include/conversation.php:943
+msgid "View Photos"
+msgstr ""
+
+#: ../../include/conversation.php:944
+msgid "Matrix Activity"
+msgstr ""
+
+#: ../../include/conversation.php:946
+msgid "Edit Contact"
+msgstr ""
+
+#: ../../include/conversation.php:947
+msgid "Send PM"
+msgstr ""
+
+#: ../../include/conversation.php:948 ../../include/apps.php:145
+msgid "Poke"
+msgstr ""
+
+#: ../../include/conversation.php:1062
#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
+msgid "%s likes this."
msgstr ""
-#: ../../include/enotify.php:227
+#: ../../include/conversation.php:1062
#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgid "%s doesn't like this."
msgstr ""
-#: ../../include/enotify.php:243
+#: ../../include/conversation.php:1066
#, php-format
-msgid "[Red:Notify] %s tagged your post"
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1068
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1074
+msgid "and"
msgstr ""
-#: ../../include/enotify.php:244
+#: ../../include/conversation.php:1077
#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1078
+#, php-format
+msgid "%s like this."
msgstr ""
-#: ../../include/enotify.php:245
+#: ../../include/conversation.php:1078
#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgid "%s don't like this."
msgstr ""
-#: ../../include/enotify.php:257
-msgid "[Red:Notify] Introduction received"
+#: ../../include/conversation.php:1138
+msgid "Visible to <strong>everybody</strong>"
msgstr ""
-#: ../../include/enotify.php:258
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+#: ../../include/conversation.php:1139 ../../mod/mail.php:174
+#: ../../mod/mail.php:289
+msgid "Please enter a link URL:"
msgstr ""
-#: ../../include/enotify.php:259
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+#: ../../include/conversation.php:1140
+msgid "Please enter a video link/URL:"
msgstr ""
-#: ../../include/enotify.php:263 ../../include/enotify.php:282
-#, php-format
-msgid "You may visit their profile at %s"
+#: ../../include/conversation.php:1141
+msgid "Please enter an audio link/URL:"
msgstr ""
-#: ../../include/enotify.php:265
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
+#: ../../include/conversation.php:1142
+msgid "Tag term:"
msgstr ""
-#: ../../include/enotify.php:272
-msgid "[Red:Notify] Friend suggestion received"
+#: ../../include/conversation.php:1143 ../../mod/filer.php:49
+msgid "Save to Folder:"
msgstr ""
-#: ../../include/enotify.php:273
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+#: ../../include/conversation.php:1144
+msgid "Where are you right now?"
msgstr ""
-#: ../../include/enotify.php:274
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s."
+#: ../../include/conversation.php:1145 ../../mod/editpost.php:52
+#: ../../mod/mail.php:175 ../../mod/mail.php:290
+msgid "Expires YYYY-MM-DD HH:MM"
msgstr ""
-#: ../../include/enotify.php:280
-msgid "Name:"
+#: ../../include/conversation.php:1172 ../../mod/photos.php:949
+#: ../../mod/editlayout.php:197 ../../mod/webpages.php:180
+#: ../../mod/blocks.php:149 ../../mod/layouts.php:175
+msgid "Share"
msgstr ""
-#: ../../include/enotify.php:281
-msgid "Photo:"
+#: ../../include/conversation.php:1174
+msgid "Page link name"
msgstr ""
-#: ../../include/enotify.php:284
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
+#: ../../include/conversation.php:1177
+msgid "Post as"
msgstr ""
-#: ../../include/enotify.php:499
-msgid "[Red:Notify]"
+#: ../../include/conversation.php:1184 ../../mod/editlayout.php:145
+#: ../../mod/editwebpage.php:184 ../../mod/editpost.php:119
+#: ../../mod/editblock.php:147 ../../mod/mail.php:238 ../../mod/mail.php:352
+msgid "Upload photo"
msgstr ""
-#: ../../include/contact_widgets.php:14
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/conversation.php:1185
+msgid "upload photo"
+msgstr ""
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:447
-msgid "Advanced"
+#: ../../include/conversation.php:1186 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:185 ../../mod/editpost.php:120
+#: ../../mod/editblock.php:148 ../../mod/mail.php:239 ../../mod/mail.php:353
+msgid "Attach file"
msgstr ""
-#: ../../include/contact_widgets.php:22
-msgid "Find Channels"
+#: ../../include/conversation.php:1187
+msgid "attach file"
msgstr ""
-#: ../../include/contact_widgets.php:23
-msgid "Enter name or interest"
+#: ../../include/conversation.php:1188 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:186 ../../mod/editpost.php:121
+#: ../../mod/editblock.php:149 ../../mod/mail.php:240 ../../mod/mail.php:354
+msgid "Insert web link"
msgstr ""
-#: ../../include/contact_widgets.php:24
-msgid "Connect/Follow"
+#: ../../include/conversation.php:1189
+msgid "web link"
msgstr ""
-#: ../../include/contact_widgets.php:25
-msgid "Examples: Robert Morgenstein, Fishing"
+#: ../../include/conversation.php:1190
+msgid "Insert video link"
msgstr ""
-#: ../../include/contact_widgets.php:26 ../../mod/connections.php:413
-#: ../../mod/directory.php:349 ../../mod/directory.php:354
-msgid "Find"
+#: ../../include/conversation.php:1191
+msgid "video link"
msgstr ""
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:353
-#: ../../mod/suggest.php:59
-msgid "Channel Suggestions"
+#: ../../include/conversation.php:1192
+msgid "Insert audio link"
msgstr ""
-#: ../../include/contact_widgets.php:29
-msgid "Random Profile"
+#: ../../include/conversation.php:1193
+msgid "audio link"
msgstr ""
-#: ../../include/contact_widgets.php:30
-msgid "Invite Friends"
+#: ../../include/conversation.php:1194 ../../mod/editlayout.php:151
+#: ../../mod/editwebpage.php:190 ../../mod/editpost.php:125
+#: ../../mod/editblock.php:153
+msgid "Set your location"
msgstr ""
-#: ../../include/contact_widgets.php:32
-msgid "Advanced example: name=fred and country=iceland"
+#: ../../include/conversation.php:1195
+msgid "set location"
msgstr ""
-#: ../../include/contact_widgets.php:125
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/conversation.php:1196 ../../mod/editpost.php:127
+msgid "Toggle voting"
+msgstr ""
-#: ../../include/contact_widgets.php:130
-msgid "show more"
+#: ../../include/conversation.php:1199 ../../mod/editlayout.php:152
+#: ../../mod/editwebpage.php:191 ../../mod/editpost.php:126
+#: ../../mod/editblock.php:154
+msgid "Clear browser location"
msgstr ""
-#: ../../include/acl_selectors.php:240
-msgid "Visible to your default audience"
+#: ../../include/conversation.php:1200
+msgid "clear location"
msgstr ""
-#: ../../include/acl_selectors.php:241
-msgid "Show"
+#: ../../include/conversation.php:1202 ../../mod/editlayout.php:164
+#: ../../mod/editwebpage.php:207 ../../mod/editpost.php:141
+#: ../../mod/editblock.php:167
+msgid "Title (optional)"
msgstr ""
-#: ../../include/acl_selectors.php:242
-msgid "Don't show"
+#: ../../include/conversation.php:1205 ../../mod/editlayout.php:167
+#: ../../mod/editwebpage.php:209 ../../mod/editpost.php:143
+#: ../../mod/editblock.php:170
+msgid "Categories (optional, comma-separated list)"
msgstr ""
-#: ../../include/acl_selectors.php:248 ../../mod/events.php:654
-#: ../../mod/chat.php:209 ../../mod/filestorage.php:147
-#: ../../mod/photos.php:559 ../../mod/photos.php:922
-msgid "Permissions"
+#: ../../include/conversation.php:1207 ../../mod/editlayout.php:154
+#: ../../mod/editwebpage.php:193 ../../mod/editpost.php:131
+#: ../../mod/editblock.php:156
+msgid "Permission settings"
msgstr ""
-#: ../../include/photos.php:86
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
+#: ../../include/conversation.php:1208
+msgid "permissions"
msgstr ""
-#: ../../include/photos.php:93
-msgid "Image file is empty."
+#: ../../include/conversation.php:1216 ../../mod/editlayout.php:161
+#: ../../mod/editwebpage.php:202 ../../mod/editpost.php:138
+#: ../../mod/editblock.php:164
+msgid "Public post"
msgstr ""
-#: ../../include/photos.php:121 ../../mod/profile_photo.php:217
-msgid "Unable to process image"
+#: ../../include/conversation.php:1218 ../../mod/editlayout.php:168
+#: ../../mod/editwebpage.php:210 ../../mod/editpost.php:144
+#: ../../mod/editblock.php:171
+msgid "Example: bob@example.com, mary@example.com"
msgstr ""
-#: ../../include/photos.php:194
-msgid "Photo storage failed."
+#: ../../include/conversation.php:1231 ../../mod/editlayout.php:177
+#: ../../mod/editwebpage.php:219 ../../mod/editpost.php:155
+#: ../../mod/editblock.php:181 ../../mod/mail.php:245 ../../mod/mail.php:359
+msgid "Set expiration date"
msgstr ""
-#: ../../include/photos.php:360
-msgid "Upload New Photos"
+#: ../../include/conversation.php:1235 ../../mod/events.php:637
+#: ../../mod/editpost.php:159
+msgid "OK"
msgstr ""
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:93
-msgid "Male"
+#: ../../include/conversation.php:1236 ../../mod/settings.php:583
+#: ../../mod/settings.php:609 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+#: ../../mod/events.php:636 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160
+msgid "Cancel"
msgstr ""
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:95
-msgid "Female"
+#: ../../include/conversation.php:1478
+msgid "Discover"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Currently Male"
+#: ../../include/conversation.php:1481
+msgid "Imported public streams"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Currently Female"
+#: ../../include/conversation.php:1486
+msgid "Commented Order"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Male"
+#: ../../include/conversation.php:1489
+msgid "Sort by Comment Date"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Mostly Female"
+#: ../../include/conversation.php:1493
+msgid "Posted Order"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Transgender"
+#: ../../include/conversation.php:1496
+msgid "Sort by Post Date"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Intersex"
+#: ../../include/conversation.php:1504
+msgid "Posts that mention or involve you"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Transsexual"
+#: ../../include/conversation.php:1510 ../../mod/connections.php:212
+#: ../../mod/connections.php:225 ../../mod/menu.php:102
+msgid "New"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Hermaphrodite"
+#: ../../include/conversation.php:1513
+msgid "Activity Stream - by date"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Neuter"
+#: ../../include/conversation.php:1519
+msgid "Starred"
msgstr ""
-#: ../../include/profile_selectors.php:6
-msgid "Non-specific"
+#: ../../include/conversation.php:1522
+msgid "Favourite Posts"
msgstr ""
-#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97 ../../include/permissions.php:814
-msgid "Other"
+#: ../../include/conversation.php:1529
+msgid "Spam"
msgstr ""
-#: ../../include/profile_selectors.php:6
+#: ../../include/conversation.php:1532
+msgid "Posts flagged as SPAM"
+msgstr ""
+
+#: ../../include/conversation.php:1576 ../../mod/admin.php:952
+msgid "Channel"
+msgstr ""
+
+#: ../../include/conversation.php:1579
+msgid "Status Messages and Posts"
+msgstr ""
+
+#: ../../include/conversation.php:1588
+msgid "About"
+msgstr ""
+
+#: ../../include/conversation.php:1591
+msgid "Profile Details"
+msgstr ""
+
+#: ../../include/conversation.php:1600 ../../include/photos.php:359
+msgid "Photo Albums"
+msgstr ""
+
+#: ../../include/conversation.php:1609
+msgid "Files and Storage"
+msgstr ""
+
+#: ../../include/conversation.php:1619 ../../include/conversation.php:1622
+msgid "Chatrooms"
+msgstr ""
+
+#: ../../include/conversation.php:1635
+msgid "Saved Bookmarks"
+msgstr ""
+
+#: ../../include/conversation.php:1645
+msgid "Manage Webpages"
+msgstr ""
+
+#: ../../include/conversation.php:1704
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1707
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1710
+msgctxt "noun"
msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1713
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1716
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1719
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/photos.php:94
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
msgstr ""
-#: ../../include/profile_selectors.php:42
-#: ../../include/profile_selectors.php:61
-msgid "Males"
+#: ../../include/photos.php:101
+msgid "Image file is empty."
msgstr ""
-#: ../../include/profile_selectors.php:42
-#: ../../include/profile_selectors.php:61
-msgid "Females"
+#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
+msgid "Unable to process image"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Gay"
+#: ../../include/photos.php:199
+msgid "Photo storage failed."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Lesbian"
+#: ../../include/photos.php:363
+msgid "Upload New Photos"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "No Preference"
+#: ../../include/zot.php:666
+msgid "Invalid data packet"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Bisexual"
+#: ../../include/zot.php:682
+msgid "Unable to verify channel signature"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Autosexual"
+#: ../../include/zot.php:2108
+#, php-format
+msgid "Unable to verify site signature for %s"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Abstinent"
+#: ../../include/oembed.php:183
+msgid "Embedded content"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Virgin"
+#: ../../include/oembed.php:192
+msgid "Embedding disabled"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Deviant"
+#: ../../include/auth.php:131
+msgid "Logged out."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Fetish"
+#: ../../include/auth.php:272
+msgid "Failed authentication"
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Oodles"
+#: ../../include/auth.php:286 ../../mod/openid.php:190
+msgid "Login failed."
msgstr ""
-#: ../../include/profile_selectors.php:42
-msgid "Nonsexual"
+#: ../../include/contact_widgets.php:14
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:450
+msgid "Advanced"
msgstr ""
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Single"
+#: ../../include/contact_widgets.php:22
+msgid "Find Channels"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Lonely"
+#: ../../include/contact_widgets.php:23
+msgid "Enter name or interest"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Available"
+#: ../../include/contact_widgets.php:24
+msgid "Connect/Follow"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Unavailable"
+#: ../../include/contact_widgets.php:25
+msgid "Examples: Robert Morgenstein, Fishing"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Has crush"
+#: ../../include/contact_widgets.php:26 ../../mod/connections.php:413
+#: ../../mod/directory.php:362 ../../mod/directory.php:367
+msgid "Find"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Infatuated"
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:366
+#: ../../mod/suggest.php:60
+msgid "Channel Suggestions"
msgstr ""
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Dating"
+#: ../../include/contact_widgets.php:29
+msgid "Random Profile"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Unfaithful"
+#: ../../include/contact_widgets.php:30
+msgid "Invite Friends"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Sex Addict"
+#: ../../include/contact_widgets.php:32
+msgid "Advanced example: name=fred and country=iceland"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Friends/Benefits"
+#: ../../include/contact_widgets.php:125
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/contact_widgets.php:130
+msgid "show more"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Casual"
+#: ../../include/acl_selectors.php:240
+msgid "Visible to your default audience"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Engaged"
+#: ../../include/acl_selectors.php:241
+msgid "Show"
msgstr ""
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Married"
+#: ../../include/acl_selectors.php:242
+msgid "Don't show"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Imaginarily married"
+#: ../../include/acl_selectors.php:248 ../../mod/events.php:654
+#: ../../mod/photos.php:559 ../../mod/photos.php:922 ../../mod/chat.php:209
+#: ../../mod/filestorage.php:147
+msgid "Permissions"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Partners"
+#: ../../include/attach.php:241 ../../include/attach.php:299
+msgid "Item was not found."
msgstr ""
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Cohabiting"
+#: ../../include/attach.php:356
+msgid "No source file."
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Common law"
+#: ../../include/attach.php:374
+msgid "Cannot locate file to replace"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Happy"
+#: ../../include/attach.php:392
+msgid "Cannot locate file to revise/update"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Not looking"
+#: ../../include/attach.php:403
+#, php-format
+msgid "File exceeds size limit of %d"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Swinger"
+#: ../../include/attach.php:415
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Betrayed"
+#: ../../include/attach.php:498
+msgid "File upload failed. Possible system limit or action terminated."
msgstr ""
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Separated"
+#: ../../include/attach.php:510
+msgid "Stored file could not be verified. Upload failed."
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Unstable"
+#: ../../include/attach.php:554 ../../include/attach.php:571
+msgid "Path not available."
msgstr ""
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Divorced"
+#: ../../include/attach.php:616
+msgid "Empty pathname"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Imaginarily divorced"
+#: ../../include/attach.php:632
+msgid "duplicate filename or path"
msgstr ""
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "Widowed"
+#: ../../include/attach.php:656
+msgid "Path not found."
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Uncertain"
+#: ../../include/attach.php:707
+msgid "mkdir failed."
msgstr ""
-#: ../../include/profile_selectors.php:80
-#: ../../include/profile_selectors.php:97
-msgid "It's complicated"
+#: ../../include/attach.php:711
+msgid "database storage failed."
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Don't care"
+#: ../../include/identity.php:33
+msgid "Unable to obtain identity information from database"
msgstr ""
-#: ../../include/profile_selectors.php:80
-msgid "Ask me"
+#: ../../include/identity.php:67
+msgid "Empty name"
msgstr ""
-#: ../../include/apps.php:128
-msgid "Site Admin"
+#: ../../include/identity.php:70
+msgid "Name too long"
msgstr ""
-#: ../../include/apps.php:130
-msgid "Address Book"
+#: ../../include/identity.php:186
+msgid "No account identifier"
msgstr ""
-#: ../../include/apps.php:144 ../../mod/mood.php:130
-msgid "Mood"
+#: ../../include/identity.php:198
+msgid "Nickname is required."
msgstr ""
-#: ../../include/apps.php:148
-msgid "Probe"
+#: ../../include/identity.php:212
+msgid "Reserved nickname. Please choose another."
msgstr ""
-#: ../../include/apps.php:149
-msgid "Suggest"
+#: ../../include/identity.php:217 ../../include/dimport.php:34
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
msgstr ""
-#: ../../include/apps.php:150
-msgid "Random Channel"
+#: ../../include/identity.php:292
+msgid "Unable to retrieve created identity"
msgstr ""
-#: ../../include/apps.php:151
-msgid "Invite"
+#: ../../include/identity.php:350
+msgid "Default Profile"
msgstr ""
-#: ../../include/apps.php:152
-msgid "Features"
+#: ../../include/identity.php:630
+msgid "Requested channel is not available."
msgstr ""
-#: ../../include/apps.php:153 ../../mod/id.php:25
-msgid "Language"
+#: ../../include/identity.php:677 ../../mod/profile.php:16
+#: ../../mod/achievements.php:11 ../../mod/connect.php:13
+#: ../../mod/hcard.php:8 ../../mod/editlayout.php:28
+#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:54
+#: ../../mod/webpages.php:29 ../../mod/editblock.php:29
+#: ../../mod/blocks.php:29 ../../mod/layouts.php:29
+msgid "Requested profile is not available."
msgstr ""
-#: ../../include/apps.php:154
-msgid "Post"
+#: ../../include/identity.php:836 ../../mod/profiles.php:774
+msgid "Change profile photo"
msgstr ""
-#: ../../include/apps.php:155 ../../mod/id.php:14 ../../mod/id.php:15
-#: ../../mod/id.php:16
-msgid "Profile Photo"
+#: ../../include/identity.php:842
+msgid "Profiles"
msgstr ""
-#: ../../include/apps.php:247 ../../mod/settings.php:84
-#: ../../mod/settings.php:608
-msgid "Update"
+#: ../../include/identity.php:842
+msgid "Manage/edit profiles"
msgstr ""
-#: ../../include/apps.php:247
-msgid "Install"
+#: ../../include/identity.php:843 ../../mod/profiles.php:775
+msgid "Create New Profile"
msgstr ""
-#: ../../include/apps.php:252
-msgid "Purchase"
+#: ../../include/identity.php:858 ../../mod/profiles.php:786
+msgid "Profile Image"
msgstr ""
-#: ../../include/text.php:318
-msgid "prev"
+#: ../../include/identity.php:861
+msgid "visible to everybody"
msgstr ""
-#: ../../include/text.php:320
-msgid "first"
+#: ../../include/identity.php:862 ../../mod/profiles.php:669
+#: ../../mod/profiles.php:790
+msgid "Edit visibility"
msgstr ""
-#: ../../include/text.php:349
-msgid "last"
+#: ../../include/identity.php:878 ../../include/identity.php:1117
+msgid "Gender:"
msgstr ""
-#: ../../include/text.php:352
-msgid "next"
+#: ../../include/identity.php:879 ../../include/identity.php:1161
+msgid "Status:"
msgstr ""
-#: ../../include/text.php:362
-msgid "older"
+#: ../../include/identity.php:880 ../../include/identity.php:1172
+msgid "Homepage:"
msgstr ""
-#: ../../include/text.php:364
-msgid "newer"
+#: ../../include/identity.php:881
+msgid "Online Now"
msgstr ""
-#: ../../include/text.php:748
-msgid "No connections"
+#: ../../include/identity.php:964 ../../include/identity.php:1042
+#: ../../mod/ping.php:324
+msgid "g A l F d"
msgstr ""
-#: ../../include/text.php:762
-#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/identity.php:965 ../../include/identity.php:1043
+msgid "F d"
+msgstr ""
-#: ../../include/text.php:775 ../../mod/viewconnections.php:86
-msgid "View Connections"
+#: ../../include/identity.php:1010 ../../include/identity.php:1082
+#: ../../mod/ping.php:346
+msgid "[today]"
msgstr ""
-#: ../../include/text.php:911
-msgid "poke"
+#: ../../include/identity.php:1021
+msgid "Birthday Reminders"
msgstr ""
-#: ../../include/text.php:912
-msgid "ping"
+#: ../../include/identity.php:1022
+msgid "Birthdays this week:"
msgstr ""
-#: ../../include/text.php:912
-msgid "pinged"
+#: ../../include/identity.php:1075
+msgid "[No description]"
msgstr ""
-#: ../../include/text.php:913
-msgid "prod"
+#: ../../include/identity.php:1093
+msgid "Event Reminders"
msgstr ""
-#: ../../include/text.php:913
-msgid "prodded"
+#: ../../include/identity.php:1094
+msgid "Events this week:"
msgstr ""
-#: ../../include/text.php:914
-msgid "slap"
+#: ../../include/identity.php:1107 ../../include/identity.php:1224
+#: ../../include/apps.php:138 ../../mod/profperm.php:112
+msgid "Profile"
msgstr ""
-#: ../../include/text.php:914
-msgid "slapped"
+#: ../../include/identity.php:1115 ../../mod/settings.php:1045
+msgid "Full Name:"
msgstr ""
-#: ../../include/text.php:915
-msgid "finger"
+#: ../../include/identity.php:1122
+msgid "Like this channel"
msgstr ""
-#: ../../include/text.php:915
-msgid "fingered"
+#: ../../include/identity.php:1146
+msgid "j F, Y"
msgstr ""
-#: ../../include/text.php:916
-msgid "rebuff"
+#: ../../include/identity.php:1147
+msgid "j F"
msgstr ""
-#: ../../include/text.php:916
-msgid "rebuffed"
+#: ../../include/identity.php:1154
+msgid "Birthday:"
msgstr ""
-#: ../../include/text.php:926
-msgid "happy"
+#: ../../include/identity.php:1158
+msgid "Age:"
msgstr ""
-#: ../../include/text.php:927
-msgid "sad"
+#: ../../include/identity.php:1167
+#, php-format
+msgid "for %1$d %2$s"
msgstr ""
-#: ../../include/text.php:928
-msgid "mellow"
+#: ../../include/identity.php:1170 ../../mod/profiles.php:691
+msgid "Sexual Preference:"
msgstr ""
-#: ../../include/text.php:929
-msgid "tired"
+#: ../../include/identity.php:1174 ../../mod/profiles.php:693
+msgid "Hometown:"
msgstr ""
-#: ../../include/text.php:930
-msgid "perky"
+#: ../../include/identity.php:1176
+msgid "Tags:"
msgstr ""
-#: ../../include/text.php:931
-msgid "angry"
+#: ../../include/identity.php:1178 ../../mod/profiles.php:694
+msgid "Political Views:"
msgstr ""
-#: ../../include/text.php:932
-msgid "stupified"
+#: ../../include/identity.php:1180
+msgid "Religion:"
msgstr ""
-#: ../../include/text.php:933
-msgid "puzzled"
+#: ../../include/identity.php:1182
+msgid "About:"
msgstr ""
-#: ../../include/text.php:934
-msgid "interested"
+#: ../../include/identity.php:1184
+msgid "Hobbies/Interests:"
msgstr ""
-#: ../../include/text.php:935
-msgid "bitter"
+#: ../../include/identity.php:1186 ../../mod/profiles.php:697
+msgid "Likes:"
msgstr ""
-#: ../../include/text.php:936
-msgid "cheerful"
+#: ../../include/identity.php:1188 ../../mod/profiles.php:698
+msgid "Dislikes:"
msgstr ""
-#: ../../include/text.php:937
-msgid "alive"
+#: ../../include/identity.php:1190
+msgid "Contact information and Social Networks:"
msgstr ""
-#: ../../include/text.php:938
-msgid "annoyed"
+#: ../../include/identity.php:1192
+msgid "My other channels:"
msgstr ""
-#: ../../include/text.php:939
-msgid "anxious"
+#: ../../include/identity.php:1194
+msgid "Musical interests:"
msgstr ""
-#: ../../include/text.php:940
-msgid "cranky"
+#: ../../include/identity.php:1196
+msgid "Books, literature:"
msgstr ""
-#: ../../include/text.php:941
-msgid "disturbed"
+#: ../../include/identity.php:1198
+msgid "Television:"
msgstr ""
-#: ../../include/text.php:942
-msgid "frustrated"
+#: ../../include/identity.php:1200
+msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../include/text.php:943
-msgid "depressed"
+#: ../../include/identity.php:1202
+msgid "Love/Romance:"
msgstr ""
-#: ../../include/text.php:944
-msgid "motivated"
+#: ../../include/identity.php:1204
+msgid "Work/employment:"
msgstr ""
-#: ../../include/text.php:945
-msgid "relaxed"
+#: ../../include/identity.php:1206
+msgid "School/education:"
msgstr ""
-#: ../../include/text.php:946
-msgid "surprised"
+#: ../../include/identity.php:1226
+msgid "Like this thing"
msgstr ""
-#: ../../include/text.php:1111
-msgid "Monday"
+#: ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23 ../../mod/id.php:103
+msgid "Male"
msgstr ""
-#: ../../include/text.php:1111
-msgid "Tuesday"
+#: ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23 ../../mod/id.php:105
+msgid "Female"
msgstr ""
-#: ../../include/text.php:1111
-msgid "Wednesday"
+#: ../../include/profile_selectors.php:6
+msgid "Currently Male"
msgstr ""
-#: ../../include/text.php:1111
-msgid "Thursday"
+#: ../../include/profile_selectors.php:6
+msgid "Currently Female"
msgstr ""
-#: ../../include/text.php:1111
-msgid "Friday"
+#: ../../include/profile_selectors.php:6
+msgid "Mostly Male"
msgstr ""
-#: ../../include/text.php:1111
-msgid "Saturday"
+#: ../../include/profile_selectors.php:6
+msgid "Mostly Female"
msgstr ""
-#: ../../include/text.php:1111
-msgid "Sunday"
+#: ../../include/profile_selectors.php:6
+msgid "Transgender"
msgstr ""
-#: ../../include/text.php:1115
-msgid "January"
+#: ../../include/profile_selectors.php:6
+msgid "Intersex"
msgstr ""
-#: ../../include/text.php:1115
-msgid "February"
+#: ../../include/profile_selectors.php:6
+msgid "Transsexual"
msgstr ""
-#: ../../include/text.php:1115
-msgid "March"
+#: ../../include/profile_selectors.php:6
+msgid "Hermaphrodite"
msgstr ""
-#: ../../include/text.php:1115
-msgid "April"
+#: ../../include/profile_selectors.php:6
+msgid "Neuter"
msgstr ""
-#: ../../include/text.php:1115
-msgid "May"
+#: ../../include/profile_selectors.php:6
+msgid "Non-specific"
msgstr ""
-#: ../../include/text.php:1115
-msgid "June"
+#: ../../include/profile_selectors.php:6
+msgid "Undecided"
msgstr ""
-#: ../../include/text.php:1115
-msgid "July"
+#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:61
+msgid "Males"
msgstr ""
-#: ../../include/text.php:1115
-msgid "August"
+#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:61
+msgid "Females"
msgstr ""
-#: ../../include/text.php:1115
-msgid "September"
+#: ../../include/profile_selectors.php:42
+msgid "Gay"
msgstr ""
-#: ../../include/text.php:1115
-msgid "October"
+#: ../../include/profile_selectors.php:42
+msgid "Lesbian"
msgstr ""
-#: ../../include/text.php:1115
-msgid "November"
+#: ../../include/profile_selectors.php:42
+msgid "No Preference"
msgstr ""
-#: ../../include/text.php:1115
-msgid "December"
+#: ../../include/profile_selectors.php:42
+msgid "Bisexual"
msgstr ""
-#: ../../include/text.php:1193
-msgid "unknown.???"
+#: ../../include/profile_selectors.php:42
+msgid "Autosexual"
msgstr ""
-#: ../../include/text.php:1194
-msgid "bytes"
+#: ../../include/profile_selectors.php:42
+msgid "Abstinent"
msgstr ""
-#: ../../include/text.php:1230
-msgid "remove category"
+#: ../../include/profile_selectors.php:42
+msgid "Virgin"
msgstr ""
-#: ../../include/text.php:1299
-msgid "remove from file"
+#: ../../include/profile_selectors.php:42
+msgid "Deviant"
msgstr ""
-#: ../../include/text.php:1375 ../../include/text.php:1386
-#: ../../mod/connedit.php:635
-msgid "Click to open/close"
+#: ../../include/profile_selectors.php:42
+msgid "Fetish"
msgstr ""
-#: ../../include/text.php:1534 ../../mod/events.php:444
-msgid "Link to Source"
+#: ../../include/profile_selectors.php:42
+msgid "Oodles"
msgstr ""
-#: ../../include/text.php:1553
-msgid "Select a page layout: "
+#: ../../include/profile_selectors.php:42
+msgid "Nonsexual"
msgstr ""
-#: ../../include/text.php:1556 ../../include/text.php:1616
-msgid "default"
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Single"
msgstr ""
-#: ../../include/text.php:1589
-msgid "Page content type: "
+#: ../../include/profile_selectors.php:80
+msgid "Lonely"
msgstr ""
-#: ../../include/text.php:1628
-msgid "Select an alternate language"
+#: ../../include/profile_selectors.php:80
+msgid "Available"
msgstr ""
-#: ../../include/text.php:1760
-msgid "activity"
+#: ../../include/profile_selectors.php:80
+msgid "Unavailable"
msgstr ""
-#: ../../include/text.php:2051
-msgid "Design"
+#: ../../include/profile_selectors.php:80
+msgid "Has crush"
msgstr ""
-#: ../../include/text.php:2054
-msgid "Blocks"
+#: ../../include/profile_selectors.php:80
+msgid "Infatuated"
msgstr ""
-#: ../../include/text.php:2055
-msgid "Menus"
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Dating"
msgstr ""
-#: ../../include/text.php:2056
-msgid "Layouts"
+#: ../../include/profile_selectors.php:80
+msgid "Unfaithful"
msgstr ""
-#: ../../include/text.php:2057
-msgid "Pages"
+#: ../../include/profile_selectors.php:80
+msgid "Sex Addict"
msgstr ""
-#: ../../include/chat.php:23
-msgid "Missing room name"
+#: ../../include/profile_selectors.php:80
+msgid "Friends/Benefits"
msgstr ""
-#: ../../include/chat.php:32
-msgid "Duplicate room name"
+#: ../../include/profile_selectors.php:80
+msgid "Casual"
msgstr ""
-#: ../../include/chat.php:82 ../../include/chat.php:90
-msgid "Invalid room specifier."
+#: ../../include/profile_selectors.php:80
+msgid "Engaged"
msgstr ""
-#: ../../include/chat.php:120
-msgid "Room not found."
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Married"
msgstr ""
-#: ../../include/chat.php:141
-msgid "Room is full"
+#: ../../include/profile_selectors.php:80
+msgid "Imaginarily married"
msgstr ""
-#: ../../include/permissions.php:26
-msgid "Can view my normal stream and posts"
+#: ../../include/profile_selectors.php:80
+msgid "Partners"
msgstr ""
-#: ../../include/permissions.php:27
-msgid "Can view my default channel profile"
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Cohabiting"
msgstr ""
-#: ../../include/permissions.php:28
-msgid "Can view my photo albums"
+#: ../../include/profile_selectors.php:80
+msgid "Common law"
msgstr ""
-#: ../../include/permissions.php:29
-msgid "Can view my connections"
+#: ../../include/profile_selectors.php:80
+msgid "Happy"
msgstr ""
-#: ../../include/permissions.php:30
-msgid "Can view my file storage"
+#: ../../include/profile_selectors.php:80
+msgid "Not looking"
msgstr ""
-#: ../../include/permissions.php:31
-msgid "Can view my webpages"
+#: ../../include/profile_selectors.php:80
+msgid "Swinger"
msgstr ""
-#: ../../include/permissions.php:34
-msgid "Can send me their channel stream and posts"
+#: ../../include/profile_selectors.php:80
+msgid "Betrayed"
msgstr ""
-#: ../../include/permissions.php:35
-msgid "Can post on my channel page (\"wall\")"
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Separated"
msgstr ""
-#: ../../include/permissions.php:36
-msgid "Can comment on or like my posts"
+#: ../../include/profile_selectors.php:80
+msgid "Unstable"
msgstr ""
-#: ../../include/permissions.php:37
-msgid "Can send me private mail messages"
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Divorced"
msgstr ""
-#: ../../include/permissions.php:38
-msgid "Can post photos to my photo albums"
+#: ../../include/profile_selectors.php:80
+msgid "Imaginarily divorced"
msgstr ""
-#: ../../include/permissions.php:39
-msgid "Can like/dislike stuff"
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "Widowed"
msgstr ""
-#: ../../include/permissions.php:39
-msgid "Profiles and things other than posts/comments"
+#: ../../include/profile_selectors.php:80
+msgid "Uncertain"
msgstr ""
-#: ../../include/permissions.php:41
-msgid "Can forward to all my channel contacts via post @mentions"
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
+msgid "It's complicated"
msgstr ""
-#: ../../include/permissions.php:41
-msgid "Advanced - useful for creating group forum channels"
+#: ../../include/profile_selectors.php:80
+msgid "Don't care"
msgstr ""
-#: ../../include/permissions.php:42
-msgid "Can chat with me (when available)"
+#: ../../include/profile_selectors.php:80
+msgid "Ask me"
msgstr ""
-#: ../../include/permissions.php:43
-msgid "Can write to my file storage"
+#: ../../include/apps.php:128
+msgid "Site Admin"
msgstr ""
-#: ../../include/permissions.php:44
-msgid "Can edit my webpages"
+#: ../../include/apps.php:130
+msgid "Address Book"
msgstr ""
-#: ../../include/permissions.php:46
-msgid "Can source my public posts in derived channels"
+#: ../../include/apps.php:144 ../../mod/mood.php:130
+msgid "Mood"
msgstr ""
-#: ../../include/permissions.php:46
-msgid "Somewhat advanced - very useful in open communities"
+#: ../../include/apps.php:148
+msgid "Probe"
msgstr ""
-#: ../../include/permissions.php:48
-msgid "Can administer my channel resources"
+#: ../../include/apps.php:149
+msgid "Suggest"
msgstr ""
-#: ../../include/permissions.php:48
-msgid "Extremely advanced. Leave this alone unless you know what you are doing"
+#: ../../include/apps.php:150
+msgid "Random Channel"
msgstr ""
-#: ../../include/permissions.php:810
-msgid "Social Networking"
+#: ../../include/apps.php:151
+msgid "Invite"
msgstr ""
-#: ../../include/permissions.php:810 ../../include/permissions.php:811
-#: ../../include/permissions.php:812
-msgid "Mostly Public"
+#: ../../include/apps.php:152
+msgid "Features"
msgstr ""
-#: ../../include/permissions.php:810 ../../include/permissions.php:811
-#: ../../include/permissions.php:812
-msgid "Restricted"
+#: ../../include/apps.php:153 ../../mod/id.php:28
+msgid "Language"
msgstr ""
-#: ../../include/permissions.php:810 ../../include/permissions.php:811
-msgid "Private"
+#: ../../include/apps.php:154
+msgid "Post"
msgstr ""
-#: ../../include/permissions.php:811
-msgid "Community Forum"
+#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
+#: ../../mod/id.php:19
+msgid "Profile Photo"
msgstr ""
-#: ../../include/permissions.php:812
-msgid "Feed Republish"
+#: ../../include/apps.php:247 ../../mod/settings.php:84
+#: ../../mod/settings.php:608
+msgid "Update"
msgstr ""
-#: ../../include/permissions.php:813
-msgid "Special Purpose"
+#: ../../include/apps.php:247
+msgid "Install"
msgstr ""
-#: ../../include/permissions.php:813
-msgid "Celebrity/Soapbox"
+#: ../../include/apps.php:252
+msgid "Purchase"
msgstr ""
-#: ../../include/permissions.php:813
-msgid "Group Repository"
+#: ../../include/chat.php:23
+msgid "Missing room name"
msgstr ""
-#: ../../include/permissions.php:814
-msgid "Custom/Expert Mode"
+#: ../../include/chat.php:32
+msgid "Duplicate room name"
msgstr ""
-#: ../../include/network.php:619
-msgid "view full size"
+#: ../../include/chat.php:82 ../../include/chat.php:90
+msgid "Invalid room specifier."
+msgstr ""
+
+#: ../../include/chat.php:120
+msgid "Room not found."
+msgstr ""
+
+#: ../../include/chat.php:141
+msgid "Room is full"
msgstr ""
#: ../../mod/achievements.php:34
@@ -3869,33 +3860,33 @@ msgstr ""
msgid "Create a new channel"
msgstr ""
-#: ../../mod/manage.php:165
+#: ../../mod/manage.php:167
msgid "Current Channel"
msgstr ""
-#: ../../mod/manage.php:167
+#: ../../mod/manage.php:169
msgid "Switch to one of your channels by selecting it."
msgstr ""
-#: ../../mod/manage.php:168
+#: ../../mod/manage.php:170
msgid "Default Channel"
msgstr ""
-#: ../../mod/manage.php:169
+#: ../../mod/manage.php:171
msgid "Make Default"
msgstr ""
-#: ../../mod/manage.php:172
+#: ../../mod/manage.php:174
#, php-format
msgid "%d new messages"
msgstr ""
-#: ../../mod/manage.php:173
+#: ../../mod/manage.php:175
#, php-format
msgid "%d new introductions"
msgstr ""
-#: ../../mod/manage.php:175
+#: ../../mod/manage.php:177
msgid "Delegated Channels"
msgstr ""
@@ -3943,17 +3934,19 @@ msgstr ""
msgid "Settings updated."
msgstr ""
-#: ../../mod/settings.php:573 ../../mod/api.php:106 ../../mod/admin.php:421
+#: ../../mod/settings.php:573 ../../mod/api.php:106 ../../mod/photos.php:556
+#: ../../mod/menu.php:88 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/admin.php:424
#: ../../mod/removeme.php:60 ../../view/theme/redbasic/php/config.php:102
-#: ../../view/theme/redbasic/php/config.php:127 ../../wppost/wppost.php:80
-#: ../../wppost/wppost.php:96 ../../wppost/wppost.php:100 ../../boot.php:1556
+#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1544
msgid "No"
msgstr ""
-#: ../../mod/settings.php:573 ../../mod/api.php:105 ../../mod/admin.php:423
+#: ../../mod/settings.php:573 ../../mod/api.php:105 ../../mod/photos.php:556
+#: ../../mod/menu.php:88 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/admin.php:426
#: ../../mod/removeme.php:60 ../../view/theme/redbasic/php/config.php:102
-#: ../../view/theme/redbasic/php/config.php:127 ../../wppost/wppost.php:80
-#: ../../wppost/wppost.php:96 ../../wppost/wppost.php:100 ../../boot.php:1556
+#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1544
msgid "Yes"
msgstr ""
@@ -4092,7 +4085,7 @@ msgstr ""
msgid "%s - (Experimental)"
msgstr ""
-#: ../../mod/settings.php:805 ../../mod/admin.php:393
+#: ../../mod/settings.php:805 ../../mod/admin.php:396
msgid "mobile"
msgstr ""
@@ -4318,7 +4311,7 @@ msgstr ""
msgid "Default Post Permissions"
msgstr ""
-#: ../../mod/settings.php:1072 ../../mod/mitem.php:161 ../../mod/mitem.php:204
+#: ../../mod/settings.php:1072 ../../mod/mitem.php:152 ../../mod/mitem.php:221
msgid "(click to open/close)"
msgstr ""
@@ -4498,7 +4491,7 @@ msgstr ""
msgid "Lookup xchan beginning with (or webbie): "
msgstr ""
-#: ../../mod/xchan.php:37 ../../mod/menu.php:136 ../../mod/mitem.php:111
+#: ../../mod/xchan.php:37 ../../mod/menu.php:149 ../../mod/mitem.php:120
msgid "Not found."
msgstr ""
@@ -4520,10 +4513,6 @@ msgid ""
"and/or create new posts for you?"
msgstr ""
-#: ../../mod/blocks.php:99
-msgid "Block Name"
-msgstr ""
-
#: ../../mod/follow.php:25
msgid "Channel added."
msgstr ""
@@ -4587,20 +4576,61 @@ msgstr ""
msgid "Restricted or Premium Channel"
msgstr ""
-#: ../../mod/match.php:16
-msgid "Profile Match"
+#: ../../mod/thing.php:94
+msgid "Thing updated"
msgstr ""
-#: ../../mod/match.php:24
-msgid "No keywords to match. Please add keywords to your default profile."
+#: ../../mod/thing.php:153
+msgid "Object store: failed"
msgstr ""
-#: ../../mod/match.php:61
-msgid "is interested in:"
+#: ../../mod/thing.php:157
+msgid "Thing added"
msgstr ""
-#: ../../mod/match.php:69
-msgid "No matches"
+#: ../../mod/thing.php:175
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr ""
+
+#: ../../mod/thing.php:226
+msgid "Show Thing"
+msgstr ""
+
+#: ../../mod/thing.php:233
+msgid "item not found."
+msgstr ""
+
+#: ../../mod/thing.php:261
+msgid "Edit Thing"
+msgstr ""
+
+#: ../../mod/thing.php:263 ../../mod/thing.php:310
+msgid "Select a profile"
+msgstr ""
+
+#: ../../mod/thing.php:267 ../../mod/thing.php:313
+msgid "Post an activity"
+msgstr ""
+
+#: ../../mod/thing.php:267 ../../mod/thing.php:313
+msgid "Only sends to viewers of the applicable profile"
+msgstr ""
+
+#: ../../mod/thing.php:269 ../../mod/thing.php:315
+msgid "Name of thing e.g. something"
+msgstr ""
+
+#: ../../mod/thing.php:271 ../../mod/thing.php:316
+msgid "URL of thing (optional)"
+msgstr ""
+
+#: ../../mod/thing.php:273 ../../mod/thing.php:317
+msgid "URL for photo of thing (optional)"
+msgstr ""
+
+#: ../../mod/thing.php:308
+msgid "Add Thing to your Profile"
msgstr ""
#: ../../mod/attach.php:9
@@ -4616,7 +4646,7 @@ msgstr ""
msgid "Red Matrix - &quot;The Network&quot;"
msgstr ""
-#: ../../mod/home.php:106
+#: ../../mod/home.php:124
#, php-format
msgid "Welcome to %s"
msgstr ""
@@ -4702,7 +4732,7 @@ msgid "Channel not found."
msgstr ""
#: ../../mod/block.php:75 ../../mod/help.php:79 ../../mod/display.php:106
-#: ../../mod/page.php:81 ../../index.php:241
+#: ../../mod/page.php:82 ../../index.php:241
msgid "Page not found."
msgstr ""
@@ -4922,346 +4952,8 @@ msgstr ""
msgid "View ratings"
msgstr ""
-#: ../../mod/connedit.php:75 ../../mod/connections.php:37
-msgid "Could not access contact record."
-msgstr ""
-
-#: ../../mod/connedit.php:99 ../../mod/connections.php:51
-msgid "Could not locate selected profile."
-msgstr ""
-
-#: ../../mod/connedit.php:204 ../../mod/connections.php:94
-msgid "Connection updated."
-msgstr ""
-
-#: ../../mod/connedit.php:206 ../../mod/connections.php:96
-msgid "Failed to update connection record."
-msgstr ""
-
-#: ../../mod/connedit.php:252
-msgid "is now connected to"
-msgstr ""
-
-#: ../../mod/connedit.php:365
-msgid "Could not access address book record."
-msgstr ""
-
-#: ../../mod/connedit.php:379
-msgid "Refresh failed - channel is currently unavailable."
-msgstr ""
-
-#: ../../mod/connedit.php:386
-msgid "Channel has been unblocked"
-msgstr ""
-
-#: ../../mod/connedit.php:387
-msgid "Channel has been blocked"
-msgstr ""
-
-#: ../../mod/connedit.php:391 ../../mod/connedit.php:403
-#: ../../mod/connedit.php:415 ../../mod/connedit.php:427
-#: ../../mod/connedit.php:443
-msgid "Unable to set address book parameters."
-msgstr ""
-
-#: ../../mod/connedit.php:398
-msgid "Channel has been unignored"
-msgstr ""
-
-#: ../../mod/connedit.php:399
-msgid "Channel has been ignored"
-msgstr ""
-
-#: ../../mod/connedit.php:410
-msgid "Channel has been unarchived"
-msgstr ""
-
-#: ../../mod/connedit.php:411
-msgid "Channel has been archived"
-msgstr ""
-
-#: ../../mod/connedit.php:422
-msgid "Channel has been unhidden"
-msgstr ""
-
-#: ../../mod/connedit.php:423
-msgid "Channel has been hidden"
-msgstr ""
-
-#: ../../mod/connedit.php:438
-msgid "Channel has been approved"
-msgstr ""
-
-#: ../../mod/connedit.php:439
-msgid "Channel has been unapproved"
-msgstr ""
-
-#: ../../mod/connedit.php:467
-msgid "Connection has been removed."
-msgstr ""
-
-#: ../../mod/connedit.php:487
-#, php-format
-msgid "View %s's profile"
-msgstr ""
-
-#: ../../mod/connedit.php:491
-msgid "Refresh Permissions"
-msgstr ""
-
-#: ../../mod/connedit.php:494
-msgid "Fetch updated permissions"
-msgstr ""
-
-#: ../../mod/connedit.php:498
-msgid "Recent Activity"
-msgstr ""
-
-#: ../../mod/connedit.php:501
-msgid "View recent posts and comments"
-msgstr ""
-
-#: ../../mod/connedit.php:507 ../../mod/connedit.php:694
-#: ../../mod/admin.php:821
-msgid "Unblock"
-msgstr ""
-
-#: ../../mod/connedit.php:507 ../../mod/connedit.php:694
-#: ../../mod/admin.php:820
-msgid "Block"
-msgstr ""
-
-#: ../../mod/connedit.php:510
-msgid "Block (or Unblock) all communications with this connection"
-msgstr ""
-
-#: ../../mod/connedit.php:514 ../../mod/connedit.php:695
-msgid "Unignore"
-msgstr ""
-
-#: ../../mod/connedit.php:514 ../../mod/connedit.php:695
-#: ../../mod/notifications.php:51
-msgid "Ignore"
-msgstr ""
-
-#: ../../mod/connedit.php:517
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr ""
-
-#: ../../mod/connedit.php:520
-msgid "Unarchive"
-msgstr ""
-
-#: ../../mod/connedit.php:520
-msgid "Archive"
-msgstr ""
-
-#: ../../mod/connedit.php:523
-msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr ""
-
-#: ../../mod/connedit.php:526
-msgid "Unhide"
-msgstr ""
-
-#: ../../mod/connedit.php:526
-msgid "Hide"
-msgstr ""
-
-#: ../../mod/connedit.php:529
-msgid "Hide or Unhide this connection from your other connections"
-msgstr ""
-
-#: ../../mod/connedit.php:536
-msgid "Delete this connection"
-msgstr ""
-
-#: ../../mod/connedit.php:611 ../../mod/connedit.php:649
-msgid "Approve this connection"
-msgstr ""
-
-#: ../../mod/connedit.php:611
-msgid "Accept connection to allow communication"
-msgstr ""
-
-#: ../../mod/connedit.php:627
-#, php-format
-msgid "Connections: settings for %s"
-msgstr ""
-
-#: ../../mod/connedit.php:628
-msgid "Apply these permissions automatically"
-msgstr ""
-
-#: ../../mod/connedit.php:632
-msgid "Apply the permissions indicated on this page to all new connections."
-msgstr ""
-
-#: ../../mod/connedit.php:636
-msgid "Slide to adjust your degree of friendship"
-msgstr ""
-
-#: ../../mod/connedit.php:637 ../../mod/rate.php:161
-msgid "Rating (this information is public)"
-msgstr ""
-
-#: ../../mod/connedit.php:638 ../../mod/rate.php:162
-msgid "Optionally explain your rating (this information is public)"
-msgstr ""
-
-#: ../../mod/connedit.php:645
-msgid ""
-"Default permissions for your channel type have (just) been applied. They "
-"have not yet been submitted. Please review the permissions on this page and "
-"make any desired changes at this time. This new connection may <em>not</em> "
-"be able to communicate with you until you submit this page, which will "
-"install and apply the selected permissions."
-msgstr ""
-
-#: ../../mod/connedit.php:648
-msgid "inherited"
-msgstr ""
-
-#: ../../mod/connedit.php:651
-msgid "Connection has no individual permissions!"
-msgstr ""
-
-#: ../../mod/connedit.php:652
-msgid ""
-"This may be appropriate based on your <a href=\"settings\">privacy settings</"
-"a>, though you may wish to review the \"Advanced Permissions\"."
-msgstr ""
-
-#: ../../mod/connedit.php:654
-msgid "Profile Visibility"
-msgstr ""
-
-#: ../../mod/connedit.php:655
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr ""
-
-#: ../../mod/connedit.php:656
-msgid "Contact Information / Notes"
-msgstr ""
-
-#: ../../mod/connedit.php:657
-msgid "Edit contact notes"
-msgstr ""
-
-#: ../../mod/connedit.php:659
-msgid "Their Settings"
-msgstr ""
-
-#: ../../mod/connedit.php:660
-msgid "My Settings"
-msgstr ""
-
-#: ../../mod/connedit.php:662
-msgid ""
-"Default permissions for this channel type have (just) been applied. They "
-"have <em>not</em> been saved and there are currently no stored default "
-"permissions. Please review/edit the applied settings and click [Submit] to "
-"finalize."
-msgstr ""
-
-#: ../../mod/connedit.php:663
-msgid "Clear/Disable Automatic Permissions"
-msgstr ""
-
-#: ../../mod/connedit.php:664
-msgid "Forum Members"
-msgstr ""
-
-#: ../../mod/connedit.php:665
-msgid "Soapbox"
-msgstr ""
-
-#: ../../mod/connedit.php:666
-msgid "Full Sharing (typical social network permissions)"
-msgstr ""
-
-#: ../../mod/connedit.php:667
-msgid "Cautious Sharing "
-msgstr ""
-
-#: ../../mod/connedit.php:668
-msgid "Follow Only"
-msgstr ""
-
-#: ../../mod/connedit.php:669
-msgid "Individual Permissions"
-msgstr ""
-
-#: ../../mod/connedit.php:670
-msgid ""
-"Some permissions may be inherited from your channel <a href=\"settings"
-"\">privacy settings</a>, which have higher priority than individual "
-"settings. Changing those inherited settings on this page will have no effect."
-msgstr ""
-
-#: ../../mod/connedit.php:671
-msgid "Advanced Permissions"
-msgstr ""
-
-#: ../../mod/connedit.php:672
-msgid "Simple Permissions (select one and submit)"
-msgstr ""
-
-#: ../../mod/connedit.php:676
-#, php-format
-msgid "Visit %s's profile - %s"
-msgstr ""
-
-#: ../../mod/connedit.php:677
-msgid "Block/Unblock contact"
-msgstr ""
-
-#: ../../mod/connedit.php:678
-msgid "Ignore contact"
-msgstr ""
-
-#: ../../mod/connedit.php:679
-msgid "Repair URL settings"
-msgstr ""
-
-#: ../../mod/connedit.php:680
-msgid "View conversations"
-msgstr ""
-
-#: ../../mod/connedit.php:682
-msgid "Delete contact"
-msgstr ""
-
-#: ../../mod/connedit.php:686
-msgid "Last update:"
-msgstr ""
-
-#: ../../mod/connedit.php:688
-msgid "Update public posts"
-msgstr ""
-
-#: ../../mod/connedit.php:690
-msgid "Update now"
-msgstr ""
-
-#: ../../mod/connedit.php:696
-msgid "Currently blocked"
-msgstr ""
-
-#: ../../mod/connedit.php:697
-msgid "Currently ignored"
-msgstr ""
-
-#: ../../mod/connedit.php:698
-msgid "Currently archived"
-msgstr ""
-
-#: ../../mod/connedit.php:699
-msgid "Currently pending"
+#: ../../mod/rpost.php:131 ../../mod/editpost.php:42
+msgid "Edit post"
msgstr ""
#: ../../mod/dav.php:121
@@ -5773,72 +5465,24 @@ msgstr ""
msgid "No connections in common."
msgstr ""
-#: ../../mod/id.php:8
-msgid "First Name"
-msgstr ""
-
-#: ../../mod/id.php:9
-msgid "Last Name"
-msgstr ""
-
-#: ../../mod/id.php:10
-msgid "Nickname"
-msgstr ""
-
-#: ../../mod/id.php:11
-msgid "Full Name"
-msgstr ""
-
-#: ../../mod/id.php:17
-msgid "Profile Photo 16px"
-msgstr ""
-
-#: ../../mod/id.php:18
-msgid "Profile Photo 32px"
-msgstr ""
-
-#: ../../mod/id.php:19
-msgid "Profile Photo 48px"
-msgstr ""
-
-#: ../../mod/id.php:20
-msgid "Profile Photo 64px"
-msgstr ""
-
-#: ../../mod/id.php:21
-msgid "Profile Photo 80px"
-msgstr ""
-
-#: ../../mod/id.php:22
-msgid "Profile Photo 128px"
-msgstr ""
-
-#: ../../mod/id.php:23
-msgid "Timezone"
-msgstr ""
-
-#: ../../mod/id.php:24
-msgid "Homepage URL"
-msgstr ""
-
-#: ../../mod/id.php:26
-msgid "Birth Year"
+#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21
+msgid "This site is not a directory server"
msgstr ""
-#: ../../mod/id.php:27
-msgid "Birth Month"
+#: ../../mod/connections.php:37 ../../mod/connedit.php:75
+msgid "Could not access contact record."
msgstr ""
-#: ../../mod/id.php:28
-msgid "Birth Day"
+#: ../../mod/connections.php:51 ../../mod/connedit.php:99
+msgid "Could not locate selected profile."
msgstr ""
-#: ../../mod/id.php:29
-msgid "Birthdate"
+#: ../../mod/connections.php:94 ../../mod/connedit.php:214
+msgid "Connection updated."
msgstr ""
-#: ../../mod/id.php:30 ../../mod/profiles.php:431
-msgid "Gender"
+#: ../../mod/connections.php:96 ../../mod/connedit.php:216
+msgid "Failed to update connection record."
msgstr ""
#: ../../mod/connections.php:192 ../../mod/connections.php:293
@@ -5857,10 +5501,6 @@ msgstr ""
msgid "Archived"
msgstr ""
-#: ../../mod/connections.php:231 ../../mod/connections.php:246
-msgid "All"
-msgstr ""
-
#: ../../mod/connections.php:271
msgid "Suggest new connections"
msgstr ""
@@ -5948,97 +5588,165 @@ msgstr ""
msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
msgstr ""
-#: ../../mod/item.php:175
-msgid "Unable to locate original post."
+#: ../../mod/photos.php:77
+msgid "Page owner information could not be retrieved."
msgstr ""
-#: ../../mod/item.php:437
-msgid "Empty post discarded."
+#: ../../mod/photos.php:97
+msgid "Album not found."
msgstr ""
-#: ../../mod/item.php:479
-msgid "Executable content type not permitted to this channel."
+#: ../../mod/photos.php:119 ../../mod/photos.php:643
+msgid "Delete Album"
msgstr ""
-#: ../../mod/item.php:885
-msgid "System error. Post not saved."
+#: ../../mod/photos.php:159 ../../mod/photos.php:930
+msgid "Delete Photo"
msgstr ""
-#: ../../mod/item.php:1097
-msgid "Unable to obtain post information from database."
+#: ../../mod/photos.php:429 ../../mod/search.php:13 ../../mod/display.php:13
+#: ../../mod/ratings.php:82 ../../mod/directory.php:47
+#: ../../mod/viewconnections.php:17
+msgid "Public access denied."
msgstr ""
-#: ../../mod/item.php:1103
+#: ../../mod/photos.php:440
+msgid "No photos selected"
+msgstr ""
+
+#: ../../mod/photos.php:484
+msgid "Access to this item is restricted."
+msgstr ""
+
+#: ../../mod/photos.php:523
#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr ""
-#: ../../mod/item.php:1109
+#: ../../mod/photos.php:526
#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
+msgid "%1$.2f MB photo storage used."
msgstr ""
-#: ../../mod/search.php:13 ../../mod/display.php:13 ../../mod/ratings.php:82
-#: ../../mod/directory.php:47 ../../mod/viewconnections.php:17
-#: ../../mod/photos.php:429
-msgid "Public access denied."
+#: ../../mod/photos.php:550
+msgid "Upload Photos"
msgstr ""
-#: ../../mod/thing.php:96
-msgid "Thing updated"
+#: ../../mod/photos.php:554 ../../mod/photos.php:636 ../../mod/photos.php:915
+msgid "Enter a new album name"
msgstr ""
-#: ../../mod/thing.php:156
-msgid "Object store: failed"
+#: ../../mod/photos.php:555 ../../mod/photos.php:637 ../../mod/photos.php:916
+msgid "or select an existing one (doubleclick)"
msgstr ""
-#: ../../mod/thing.php:160
-msgid "Thing added"
+#: ../../mod/photos.php:556
+msgid "Create a status post for this upload"
msgstr ""
-#: ../../mod/thing.php:180
-#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
+#: ../../mod/photos.php:584
+msgid "Album name could not be decoded"
msgstr ""
-#: ../../mod/thing.php:232
-msgid "Show Thing"
+#: ../../mod/photos.php:625 ../../mod/photos.php:1157
+#: ../../mod/photos.php:1173
+msgid "Contact Photos"
msgstr ""
-#: ../../mod/thing.php:239
-msgid "item not found."
+#: ../../mod/photos.php:649
+msgid "Show Newest First"
msgstr ""
-#: ../../mod/thing.php:270
-msgid "Edit Thing"
+#: ../../mod/photos.php:651
+msgid "Show Oldest First"
msgstr ""
-#: ../../mod/thing.php:272 ../../mod/thing.php:319
-msgid "Select a profile"
+#: ../../mod/photos.php:675 ../../mod/photos.php:1205
+msgid "View Photo"
msgstr ""
-#: ../../mod/thing.php:276 ../../mod/thing.php:322
-msgid "Post an activity"
+#: ../../mod/photos.php:704
+msgid "Edit Album"
msgstr ""
-#: ../../mod/thing.php:276 ../../mod/thing.php:322
-msgid "Only sends to viewers of the applicable profile"
+#: ../../mod/photos.php:749
+msgid "Permission denied. Access to this item may be restricted."
msgstr ""
-#: ../../mod/thing.php:278 ../../mod/thing.php:324
-msgid "Name of thing e.g. something"
+#: ../../mod/photos.php:751
+msgid "Photo not available"
msgstr ""
-#: ../../mod/thing.php:280 ../../mod/thing.php:325
-msgid "URL of thing (optional)"
+#: ../../mod/photos.php:809
+msgid "Use as profile photo"
msgstr ""
-#: ../../mod/thing.php:282 ../../mod/thing.php:326
-msgid "URL for photo of thing (optional)"
+#: ../../mod/photos.php:816
+msgid "Private Photo"
msgstr ""
-#: ../../mod/thing.php:317
-msgid "Add Thing to your Profile"
+#: ../../mod/photos.php:831
+msgid "View Full Size"
+msgstr ""
+
+#: ../../mod/photos.php:909
+msgid "Edit photo"
+msgstr ""
+
+#: ../../mod/photos.php:911
+msgid "Rotate CW (right)"
+msgstr ""
+
+#: ../../mod/photos.php:912
+msgid "Rotate CCW (left)"
+msgstr ""
+
+#: ../../mod/photos.php:919
+msgid "Caption"
+msgstr ""
+
+#: ../../mod/photos.php:921
+msgid "Add a Tag"
+msgstr ""
+
+#: ../../mod/photos.php:925
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr ""
+
+#: ../../mod/photos.php:928
+msgid "Flag as adult in album view"
+msgstr ""
+
+#: ../../mod/photos.php:1120
+msgid "In This Photo:"
+msgstr ""
+
+#: ../../mod/photos.php:1125
+msgid "Map"
+msgstr ""
+
+#: ../../mod/photos.php:1211
+msgid "View Album"
+msgstr ""
+
+#: ../../mod/photos.php:1234
+msgid "Recent Photos"
+msgstr ""
+
+#: ../../mod/match.php:22
+msgid "Profile Match"
+msgstr ""
+
+#: ../../mod/match.php:31
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr ""
+
+#: ../../mod/match.php:63
+msgid "is interested in:"
+msgstr ""
+
+#: ../../mod/match.php:70
+msgid "No matches"
msgstr ""
#: ../../mod/chatsvc.php:111
@@ -6101,7 +5809,7 @@ msgstr ""
msgid "Module Name:"
msgstr ""
-#: ../../mod/pdledit.php:55 ../../mod/layouts.php:107
+#: ../../mod/pdledit.php:55 ../../mod/layouts.php:108
msgid "Layout Help"
msgstr ""
@@ -6200,8 +5908,8 @@ msgid "Import existing posts if possible"
msgstr ""
#: ../../mod/editlayout.php:78 ../../mod/editwebpage.php:77
-#: ../../mod/editpost.php:20 ../../mod/editblock.php:79
-#: ../../mod/editblock.php:95
+#: ../../mod/editpost.php:20 ../../mod/editblock.php:78
+#: ../../mod/editblock.php:94
msgid "Item not found"
msgstr ""
@@ -6213,22 +5921,22 @@ msgstr ""
msgid "Delete layout?"
msgstr ""
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:183
-#: ../../mod/editpost.php:122 ../../mod/editblock.php:152
+#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:187
+#: ../../mod/editpost.php:122 ../../mod/editblock.php:150
msgid "Insert YouTube video"
msgstr ""
-#: ../../mod/editlayout.php:149 ../../mod/editwebpage.php:184
-#: ../../mod/editpost.php:123 ../../mod/editblock.php:153
+#: ../../mod/editlayout.php:149 ../../mod/editwebpage.php:188
+#: ../../mod/editpost.php:123 ../../mod/editblock.php:151
msgid "Insert Vorbis [.ogg] video"
msgstr ""
-#: ../../mod/editlayout.php:150 ../../mod/editwebpage.php:185
-#: ../../mod/editpost.php:124 ../../mod/editblock.php:154
+#: ../../mod/editlayout.php:150 ../../mod/editwebpage.php:189
+#: ../../mod/editpost.php:124 ../../mod/editblock.php:152
msgid "Insert Vorbis [.ogg] audio"
msgstr ""
-#: ../../mod/editlayout.php:183
+#: ../../mod/editlayout.php:182
msgid "Delete Layout"
msgstr ""
@@ -6273,20 +5981,16 @@ msgstr ""
msgid "%1$s's Chatrooms"
msgstr ""
-#: ../../mod/editwebpage.php:140
-msgid "Edit Webpage"
-msgstr ""
-
-#: ../../mod/editwebpage.php:150
+#: ../../mod/editwebpage.php:152
msgid "Delete webpage?"
msgstr ""
-#: ../../mod/editwebpage.php:220
-msgid "Delete Webpage"
+#: ../../mod/editwebpage.php:173
+msgid "Page link title"
msgstr ""
-#: ../../mod/dirsearch.php:21 ../../mod/regdir.php:47
-msgid "This site is not a directory server"
+#: ../../mod/editwebpage.php:224
+msgid "Edit Webpage"
msgstr ""
#: ../../mod/dirsearch.php:29
@@ -6317,7 +6021,7 @@ msgid ""
"Password reset failed."
msgstr ""
-#: ../../mod/lostpass.php:85 ../../boot.php:1560
+#: ../../mod/lostpass.php:85 ../../boot.php:1548
msgid "Password Reset"
msgstr ""
@@ -6375,12 +6079,16 @@ msgstr ""
msgid "Remote Channel [%s] (not yet known on this site)"
msgstr ""
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
+#: ../../mod/rate.php:161 ../../mod/connedit.php:663
+msgid "Rating (this information is public)"
msgstr ""
-#: ../../mod/editpost.php:42 ../../mod/rpost.php:98
-msgid "Edit post"
+#: ../../mod/rate.php:162 ../../mod/connedit.php:664
+msgid "Optionally explain your rating (this information is public)"
+msgstr ""
+
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
msgstr ""
#: ../../mod/editpost.php:53
@@ -6547,99 +6255,99 @@ msgstr ""
msgid "Unable to remove source."
msgstr ""
-#: ../../mod/menu.php:31
-msgid "Menu updated."
+#: ../../mod/menu.php:44
+msgid "Unable to update menu."
msgstr ""
-#: ../../mod/menu.php:35
-msgid "Unable to update menu."
+#: ../../mod/menu.php:53
+msgid "Unable to create menu."
msgstr ""
-#: ../../mod/menu.php:40
-msgid "Menu created."
+#: ../../mod/menu.php:86 ../../mod/menu.php:98
+msgid "Menu Name"
msgstr ""
-#: ../../mod/menu.php:44
-msgid "Unable to create menu."
+#: ../../mod/menu.php:86
+msgid "Unique name (not visible on webpage) - required"
msgstr ""
-#: ../../mod/menu.php:76
-msgid "Manage Menus"
+#: ../../mod/menu.php:87 ../../mod/menu.php:99
+msgid "Menu Title"
msgstr ""
-#: ../../mod/menu.php:79
-msgid "Drop"
+#: ../../mod/menu.php:87
+msgid "Visible on webpage - leave empty for no title"
msgstr ""
-#: ../../mod/menu.php:81
-msgid "Bookmarks allowed"
+#: ../../mod/menu.php:88
+msgid "Allow Bookmarks"
msgstr ""
-#: ../../mod/menu.php:82
-msgid "Create a new menu"
+#: ../../mod/menu.php:88 ../../mod/menu.php:140
+msgid "Menu may be used to store saved bookmarks"
msgstr ""
-#: ../../mod/menu.php:83
-msgid "Delete this menu"
+#: ../../mod/menu.php:89
+msgid "Submit and proceed"
msgstr ""
-#: ../../mod/menu.php:84 ../../mod/menu.php:125
-msgid "Edit menu contents"
+#: ../../mod/menu.php:101
+msgid "Drop"
msgstr ""
-#: ../../mod/menu.php:85
-msgid "Edit this menu"
+#: ../../mod/menu.php:103
+msgid "Bookmarks allowed"
msgstr ""
-#: ../../mod/menu.php:96
-msgid "New Menu"
+#: ../../mod/menu.php:105
+msgid "Delete this menu"
msgstr ""
-#: ../../mod/menu.php:97 ../../mod/menu.php:126
-msgid "Menu name"
+#: ../../mod/menu.php:106 ../../mod/menu.php:137
+msgid "Edit menu contents"
msgstr ""
-#: ../../mod/menu.php:97 ../../mod/menu.php:126
-msgid "Must be unique, only seen by you"
+#: ../../mod/menu.php:107
+msgid "Edit this menu"
msgstr ""
-#: ../../mod/menu.php:98 ../../mod/menu.php:127
-msgid "Menu title"
+#: ../../mod/menu.php:121
+msgid "Menu could not be deleted."
msgstr ""
-#: ../../mod/menu.php:98 ../../mod/menu.php:127
-msgid "Menu title as seen by others"
+#: ../../mod/menu.php:129 ../../mod/mitem.php:24
+msgid "Menu not found."
msgstr ""
-#: ../../mod/menu.php:99 ../../mod/menu.php:128
-msgid "Allow bookmarks"
+#: ../../mod/menu.php:134
+msgid "Edit Menu"
msgstr ""
-#: ../../mod/menu.php:99 ../../mod/menu.php:128
-msgid "Menu may be used to store saved bookmarks"
+#: ../../mod/menu.php:136
+msgid "Add or remove entries to this menu"
msgstr ""
-#: ../../mod/menu.php:108 ../../mod/mitem.php:24
-msgid "Menu not found."
+#: ../../mod/menu.php:138
+msgid "Menu name"
msgstr ""
-#: ../../mod/menu.php:114
-msgid "Menu deleted."
+#: ../../mod/menu.php:138
+msgid "Must be unique, only seen by you"
msgstr ""
-#: ../../mod/menu.php:116
-msgid "Menu could not be deleted."
+#: ../../mod/menu.php:139
+msgid "Menu title"
msgstr ""
-#: ../../mod/menu.php:122
-msgid "Edit Menu"
+#: ../../mod/menu.php:139
+msgid "Menu title as seen by others"
msgstr ""
-#: ../../mod/menu.php:124
-msgid "Add or remove entries to this menu"
+#: ../../mod/menu.php:140
+msgid "Allow bookmarks"
msgstr ""
-#: ../../mod/menu.php:130 ../../mod/mitem.php:213
+#: ../../mod/menu.php:142
msgid "Modify"
msgstr ""
@@ -6676,7 +6384,7 @@ msgid "Copy/paste this URL to link file from a web page"
msgstr ""
#: ../../mod/filestorage.php:157
-msgid "Attach this file to a new post"
+msgid "Share this file"
msgstr ""
#: ../../mod/filestorage.php:158
@@ -6684,7 +6392,7 @@ msgid "Show URL to this file"
msgstr ""
#: ../../mod/filestorage.php:159
-msgid "Do not show in shared with me folder of your connections"
+msgid "Notify your contacts about this file"
msgstr ""
#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
@@ -6744,12 +6452,8 @@ msgstr ""
msgid "Visible To"
msgstr ""
-#: ../../mod/lockview.php:31
-msgid "Remote privacy information not available."
-msgstr ""
-
-#: ../../mod/lockview.php:52
-msgid "Visible to:"
+#: ../../mod/webpages.php:189
+msgid "Page Title"
msgstr ""
#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
@@ -6809,6 +6513,10 @@ msgstr ""
msgid "Political Views"
msgstr ""
+#: ../../mod/profiles.php:431 ../../mod/id.php:33
+msgid "Gender"
+msgstr ""
+
#: ../../mod/profiles.php:435
msgid "Sexual Preference"
msgstr ""
@@ -6989,7 +6697,7 @@ msgstr ""
msgid "This is your default profile."
msgstr ""
-#: ../../mod/profiles.php:728 ../../mod/directory.php:207
+#: ../../mod/profiles.php:728 ../../mod/directory.php:218
msgid "Age: "
msgstr ""
@@ -7025,63 +6733,180 @@ msgstr ""
msgid "Description: "
msgstr ""
+#: ../../mod/viewsrc.php:38
+msgid "Source of Item"
+msgstr ""
+
+#: ../../mod/mitem.php:51
+msgid "Unable to create element."
+msgstr ""
+
+#: ../../mod/mitem.php:74
+msgid "Unable to update menu element."
+msgstr ""
+
+#: ../../mod/mitem.php:89
+msgid "Unable to add menu element."
+msgstr ""
+
+#: ../../mod/mitem.php:151 ../../mod/mitem.php:220
+msgid "Menu Item Permissions"
+msgstr ""
+
+#: ../../mod/mitem.php:154 ../../mod/mitem.php:168
+msgid "Link Name"
+msgstr ""
+
+#: ../../mod/mitem.php:155 ../../mod/mitem.php:169
+msgid "Link Target"
+msgstr ""
+
+#: ../../mod/mitem.php:156 ../../mod/mitem.php:226
+msgid "Use RedMatrix magic-auth if available"
+msgstr ""
+
+#: ../../mod/mitem.php:157 ../../mod/mitem.php:227
+msgid "Open link in new window"
+msgstr ""
+
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:228
+msgid "Order in list"
+msgstr ""
+
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:228
+msgid "Higher numbers will sink to bottom of listing"
+msgstr ""
+
+#: ../../mod/mitem.php:159
+msgid "Submit and finish"
+msgstr ""
+
+#: ../../mod/mitem.php:160
+msgid "Submit and continue"
+msgstr ""
+
+#: ../../mod/mitem.php:166
+msgid "Menu:"
+msgstr ""
+
+#: ../../mod/mitem.php:172
+msgid "Edit menu"
+msgstr ""
+
+#: ../../mod/mitem.php:175
+msgid "Edit element"
+msgstr ""
+
+#: ../../mod/mitem.php:176
+msgid "Drop element"
+msgstr ""
+
+#: ../../mod/mitem.php:177
+msgid "New element"
+msgstr ""
+
+#: ../../mod/mitem.php:178
+msgid "Edit this menu container"
+msgstr ""
+
+#: ../../mod/mitem.php:179
+msgid "Add menu element"
+msgstr ""
+
+#: ../../mod/mitem.php:180
+msgid "Delete this menu item"
+msgstr ""
+
+#: ../../mod/mitem.php:181
+msgid "Edit this menu item"
+msgstr ""
+
+#: ../../mod/mitem.php:198
+msgid "Menu item not found."
+msgstr ""
+
+#: ../../mod/mitem.php:209
+msgid "Menu item deleted."
+msgstr ""
+
+#: ../../mod/mitem.php:211
+msgid "Menu item could not be deleted."
+msgstr ""
+
+#: ../../mod/mitem.php:218
+msgid "Edit Menu Element"
+msgstr ""
+
+#: ../../mod/mitem.php:224
+msgid "Link text"
+msgstr ""
+
+#: ../../mod/mitem.php:225
+msgid "URL of link"
+msgstr ""
+
#: ../../mod/openid.php:26
msgid "OpenID protocol error. No ID returned."
msgstr ""
-#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:290
+#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:286
#, php-format
msgid "Welcome %s. Remote authentication successful."
msgstr ""
-#: ../../mod/directory.php:213
+#: ../../mod/directory.php:224
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/directory.php:225
+#: ../../mod/directory.php:236
msgid "Gender: "
msgstr ""
-#: ../../mod/directory.php:227
+#: ../../mod/directory.php:238
msgid "Status: "
msgstr ""
-#: ../../mod/directory.php:229
+#: ../../mod/directory.php:240
msgid "Homepage: "
msgstr ""
-#: ../../mod/directory.php:232
+#: ../../mod/directory.php:243
msgid "Hometown: "
msgstr ""
-#: ../../mod/directory.php:234
+#: ../../mod/directory.php:245
msgid "About: "
msgstr ""
-#: ../../mod/directory.php:292
+#: ../../mod/directory.php:303
msgid "Public Forum:"
msgstr ""
-#: ../../mod/directory.php:295
+#: ../../mod/directory.php:306
msgid "Keywords: "
msgstr ""
-#: ../../mod/directory.php:350
+#: ../../mod/directory.php:311
+#, php-format
+msgid "Common connections: %s"
+msgstr ""
+
+#: ../../mod/directory.php:363
msgid "Finding:"
msgstr ""
-#: ../../mod/directory.php:355
+#: ../../mod/directory.php:368
msgid "next page"
msgstr ""
-#: ../../mod/directory.php:355
+#: ../../mod/directory.php:368
msgid "previous page"
msgstr ""
-#: ../../mod/directory.php:372
+#: ../../mod/directory.php:385
msgid "No entries (some entries may be hidden)."
msgstr ""
@@ -7109,11 +6934,11 @@ msgid ""
"minutes for this download to begin."
msgstr ""
-#: ../../mod/viewconnections.php:58
+#: ../../mod/viewconnections.php:62
msgid "No connections."
msgstr ""
-#: ../../mod/viewconnections.php:71
+#: ../../mod/viewconnections.php:75
#, php-format
msgid "Visit %s's profile [%s]"
msgstr ""
@@ -7126,7 +6951,7 @@ msgstr ""
msgid "Theme settings updated."
msgstr ""
-#: ../../mod/admin.php:93 ../../mod/admin.php:442
+#: ../../mod/admin.php:93 ../../mod/admin.php:445
msgid "Site"
msgstr ""
@@ -7142,7 +6967,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: ../../mod/admin.php:97 ../../mod/admin.php:1236 ../../mod/admin.php:1271
+#: ../../mod/admin.php:97 ../../mod/admin.php:1236 ../../mod/admin.php:1270
msgid "Themes"
msgstr ""
@@ -7158,7 +6983,7 @@ msgstr ""
msgid "DB updates"
msgstr ""
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1354
+#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1355
msgid "Logs"
msgstr ""
@@ -7202,10 +7027,10 @@ msgstr ""
msgid "Message queues"
msgstr ""
-#: ../../mod/admin.php:240 ../../mod/admin.php:441 ../../mod/admin.php:536
-#: ../../mod/admin.php:810 ../../mod/admin.php:944 ../../mod/admin.php:1035
-#: ../../mod/admin.php:1075 ../../mod/admin.php:1235 ../../mod/admin.php:1270
-#: ../../mod/admin.php:1353
+#: ../../mod/admin.php:240 ../../mod/admin.php:444 ../../mod/admin.php:539
+#: ../../mod/admin.php:808 ../../mod/admin.php:944 ../../mod/admin.php:1035
+#: ../../mod/admin.php:1075 ../../mod/admin.php:1235 ../../mod/admin.php:1269
+#: ../../mod/admin.php:1354
msgid "Administration"
msgstr ""
@@ -7217,7 +7042,7 @@ msgstr ""
msgid "Registered accounts"
msgstr ""
-#: ../../mod/admin.php:245 ../../mod/admin.php:540
+#: ../../mod/admin.php:245 ../../mod/admin.php:543
msgid "Pending registrations"
msgstr ""
@@ -7225,7 +7050,7 @@ msgstr ""
msgid "Registered channels"
msgstr ""
-#: ../../mod/admin.php:247 ../../mod/admin.php:541
+#: ../../mod/admin.php:247 ../../mod/admin.php:544
msgid "Active plugins"
msgstr ""
@@ -7233,462 +7058,472 @@ msgstr ""
msgid "Version"
msgstr ""
-#: ../../mod/admin.php:358
+#: ../../mod/admin.php:359
msgid "Site settings updated."
msgstr ""
-#: ../../mod/admin.php:395
+#: ../../mod/admin.php:398
msgid "experimental"
msgstr ""
-#: ../../mod/admin.php:397
+#: ../../mod/admin.php:400
msgid "unsupported"
msgstr ""
-#: ../../mod/admin.php:422
+#: ../../mod/admin.php:425
msgid "Yes - with approval"
msgstr ""
-#: ../../mod/admin.php:428
+#: ../../mod/admin.php:431
msgid "My site is not a public server"
msgstr ""
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:432
msgid "My site has paid access only"
msgstr ""
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:433
msgid "My site has free access only"
msgstr ""
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:434
msgid "My site offers free accounts with optional paid upgrades"
msgstr ""
-#: ../../mod/admin.php:444 ../../mod/register.php:207
+#: ../../mod/admin.php:447 ../../mod/register.php:207
msgid "Registration"
msgstr ""
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:448
msgid "File upload"
msgstr ""
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:449
msgid "Policies"
msgstr ""
-#: ../../mod/admin.php:451
+#: ../../mod/admin.php:454
msgid "Site name"
msgstr ""
-#: ../../mod/admin.php:452
+#: ../../mod/admin.php:455
msgid "Banner/Logo"
msgstr ""
-#: ../../mod/admin.php:453
+#: ../../mod/admin.php:456
msgid "Administrator Information"
msgstr ""
-#: ../../mod/admin.php:453
+#: ../../mod/admin.php:456
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr ""
-#: ../../mod/admin.php:454
+#: ../../mod/admin.php:457
msgid "System language"
msgstr ""
-#: ../../mod/admin.php:455
+#: ../../mod/admin.php:458
msgid "System theme"
msgstr ""
-#: ../../mod/admin.php:455
+#: ../../mod/admin.php:458
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr ""
-#: ../../mod/admin.php:456
+#: ../../mod/admin.php:459
msgid "Mobile system theme"
msgstr ""
-#: ../../mod/admin.php:456
+#: ../../mod/admin.php:459
msgid "Theme for mobile devices"
msgstr ""
-#: ../../mod/admin.php:458
+#: ../../mod/admin.php:461
msgid "Enable Diaspora Protocol"
msgstr ""
-#: ../../mod/admin.php:458
+#: ../../mod/admin.php:461
msgid "Communicate with Diaspora and Friendica - experimental"
msgstr ""
-#: ../../mod/admin.php:459
+#: ../../mod/admin.php:462
msgid "Allow Feeds as Connections"
msgstr ""
-#: ../../mod/admin.php:459
+#: ../../mod/admin.php:462
msgid "(Heavy system resource usage)"
msgstr ""
-#: ../../mod/admin.php:460
+#: ../../mod/admin.php:463
msgid "Maximum image size"
msgstr ""
-#: ../../mod/admin.php:460
+#: ../../mod/admin.php:463
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr ""
-#: ../../mod/admin.php:461
+#: ../../mod/admin.php:464
msgid "Does this site allow new member registration?"
msgstr ""
-#: ../../mod/admin.php:462
+#: ../../mod/admin.php:465
msgid "Which best describes the types of account offered by this hub?"
msgstr ""
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:466
msgid "Register text"
msgstr ""
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:466
msgid "Will be displayed prominently on the registration page."
msgstr ""
-#: ../../mod/admin.php:464
+#: ../../mod/admin.php:467
msgid "Accounts abandoned after x days"
msgstr ""
-#: ../../mod/admin.php:464
+#: ../../mod/admin.php:467
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr ""
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:468
msgid "Allowed friend domains"
msgstr ""
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:468
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr ""
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:469
msgid "Allowed email domains"
msgstr ""
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:469
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr ""
-#: ../../mod/admin.php:467
+#: ../../mod/admin.php:470
msgid "Not allowed email domains"
msgstr ""
-#: ../../mod/admin.php:467
+#: ../../mod/admin.php:470
msgid ""
"Comma separated list of domains which are not allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
msgstr ""
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:471
msgid "Block public"
msgstr ""
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:471
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr ""
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:472
msgid "Verify Email Addresses"
msgstr ""
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:472
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr ""
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:473
msgid "Force publish"
msgstr ""
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:473
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-#: ../../mod/admin.php:471
+#: ../../mod/admin.php:474
msgid "Disable discovery tab"
msgstr ""
-#: ../../mod/admin.php:471
+#: ../../mod/admin.php:474
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr ""
-#: ../../mod/admin.php:472
+#: ../../mod/admin.php:475
msgid "No login on Homepage"
msgstr ""
-#: ../../mod/admin.php:472
+#: ../../mod/admin.php:475
msgid ""
"Check to hide the login form from your sites homepage when visitors arrive "
"who are not logged in (e.g. when you put the content of the homepage in via "
"the site channel)."
msgstr ""
-#: ../../mod/admin.php:474
+#: ../../mod/admin.php:477
msgid "Proxy user"
msgstr ""
-#: ../../mod/admin.php:475
+#: ../../mod/admin.php:478
msgid "Proxy URL"
msgstr ""
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:479
msgid "Network timeout"
msgstr ""
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:479
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr ""
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:480
msgid "Delivery interval"
msgstr ""
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:480
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr ""
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:481
msgid "Poll interval"
msgstr ""
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:481
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr ""
-#: ../../mod/admin.php:479
+#: ../../mod/admin.php:482
msgid "Maximum Load Average"
msgstr ""
-#: ../../mod/admin.php:479
+#: ../../mod/admin.php:482
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr ""
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:483
msgid "Expiration period in days for imported (matrix/network) content"
msgstr ""
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:483
msgid "0 for no expiration of imported content"
msgstr ""
-#: ../../mod/admin.php:528
+#: ../../mod/admin.php:531
msgid "No server found"
msgstr ""
-#: ../../mod/admin.php:535 ../../mod/admin.php:824
+#: ../../mod/admin.php:538 ../../mod/admin.php:822
msgid "ID"
msgstr ""
-#: ../../mod/admin.php:535
+#: ../../mod/admin.php:538
msgid "for channel"
msgstr ""
-#: ../../mod/admin.php:535
+#: ../../mod/admin.php:538
msgid "on server"
msgstr ""
-#: ../../mod/admin.php:535
+#: ../../mod/admin.php:538
msgid "Status"
msgstr ""
-#: ../../mod/admin.php:537
+#: ../../mod/admin.php:540
msgid "Server"
msgstr ""
-#: ../../mod/admin.php:554
+#: ../../mod/admin.php:557
msgid "Update has been marked successful"
msgstr ""
-#: ../../mod/admin.php:564
+#: ../../mod/admin.php:567
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr ""
-#: ../../mod/admin.php:567
+#: ../../mod/admin.php:570
#, php-format
msgid "Update %s was successfully applied."
msgstr ""
-#: ../../mod/admin.php:571
+#: ../../mod/admin.php:574
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr ""
-#: ../../mod/admin.php:574
+#: ../../mod/admin.php:577
#, php-format
msgid "Update function %s could not be found."
msgstr ""
-#: ../../mod/admin.php:590
+#: ../../mod/admin.php:593
msgid "No failed updates."
msgstr ""
-#: ../../mod/admin.php:594
+#: ../../mod/admin.php:597
msgid "Failed Updates"
msgstr ""
-#: ../../mod/admin.php:596
+#: ../../mod/admin.php:599
msgid "Mark success (if update was manually applied)"
msgstr ""
-#: ../../mod/admin.php:597
+#: ../../mod/admin.php:600
msgid "Attempt to execute this update step automatically"
msgstr ""
-#: ../../mod/admin.php:631
+#: ../../mod/admin.php:632
msgid "Queue Statistics"
msgstr ""
-#: ../../mod/admin.php:632
+#: ../../mod/admin.php:633
msgid "Total Entries"
msgstr ""
-#: ../../mod/admin.php:633
+#: ../../mod/admin.php:634
msgid "Priority"
msgstr ""
-#: ../../mod/admin.php:634
+#: ../../mod/admin.php:635
msgid "Destination URL"
msgstr ""
-#: ../../mod/admin.php:635
+#: ../../mod/admin.php:636
msgid "Mark hub permanently offline"
msgstr ""
-#: ../../mod/admin.php:636
+#: ../../mod/admin.php:637
msgid "Empty queue for this hub"
msgstr ""
-#: ../../mod/admin.php:637
+#: ../../mod/admin.php:638
msgid "Last known contact"
msgstr ""
-#: ../../mod/admin.php:673
+#: ../../mod/admin.php:674
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:681
+#: ../../mod/admin.php:682
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:717
+#: ../../mod/admin.php:718
msgid "Account not found"
msgstr ""
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:738
#, php-format
msgid "User '%s' blocked"
msgstr ""
-#: ../../mod/admin.php:745
+#: ../../mod/admin.php:746
#, php-format
msgid "User '%s' unblocked"
msgstr ""
-#: ../../mod/admin.php:811 ../../mod/admin.php:823
+#: ../../mod/admin.php:809 ../../mod/admin.php:821
msgid "Users"
msgstr ""
-#: ../../mod/admin.php:813 ../../mod/admin.php:947
+#: ../../mod/admin.php:811 ../../mod/admin.php:947
msgid "select all"
msgstr ""
-#: ../../mod/admin.php:814
+#: ../../mod/admin.php:812
msgid "User registrations waiting for confirm"
msgstr ""
-#: ../../mod/admin.php:815
+#: ../../mod/admin.php:813
msgid "Request date"
msgstr ""
-#: ../../mod/admin.php:816
+#: ../../mod/admin.php:814
msgid "No registrations."
msgstr ""
-#: ../../mod/admin.php:817
+#: ../../mod/admin.php:815
msgid "Approve"
msgstr ""
-#: ../../mod/admin.php:818
+#: ../../mod/admin.php:816
msgid "Deny"
msgstr ""
-#: ../../mod/admin.php:824
+#: ../../mod/admin.php:818 ../../mod/connedit.php:517
+#: ../../mod/connedit.php:720
+msgid "Block"
+msgstr ""
+
+#: ../../mod/admin.php:819 ../../mod/connedit.php:517
+#: ../../mod/connedit.php:720
+msgid "Unblock"
+msgstr ""
+
+#: ../../mod/admin.php:822
msgid "Register date"
msgstr ""
-#: ../../mod/admin.php:824
+#: ../../mod/admin.php:822
msgid "Last login"
msgstr ""
-#: ../../mod/admin.php:824
+#: ../../mod/admin.php:822
msgid "Expires"
msgstr ""
-#: ../../mod/admin.php:824
+#: ../../mod/admin.php:822
msgid "Service Class"
msgstr ""
-#: ../../mod/admin.php:826
+#: ../../mod/admin.php:824
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:827
+#: ../../mod/admin.php:825
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:861
+#: ../../mod/admin.php:859
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:868
+#: ../../mod/admin.php:866
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
@@ -7776,76 +7611,76 @@ msgstr ""
msgid "Screenshot"
msgstr ""
-#: ../../mod/admin.php:1276
+#: ../../mod/admin.php:1275
msgid "[Experimental]"
msgstr ""
-#: ../../mod/admin.php:1277
+#: ../../mod/admin.php:1276
msgid "[Unsupported]"
msgstr ""
-#: ../../mod/admin.php:1301
+#: ../../mod/admin.php:1300
msgid "Log settings updated."
msgstr ""
-#: ../../mod/admin.php:1356
+#: ../../mod/admin.php:1357
msgid "Clear"
msgstr ""
-#: ../../mod/admin.php:1362
+#: ../../mod/admin.php:1363
msgid "Debugging"
msgstr ""
-#: ../../mod/admin.php:1363
+#: ../../mod/admin.php:1364
msgid "Log file"
msgstr ""
-#: ../../mod/admin.php:1363
+#: ../../mod/admin.php:1364
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr ""
-#: ../../mod/admin.php:1364
+#: ../../mod/admin.php:1365
msgid "Log level"
msgstr ""
-#: ../../mod/admin.php:1410
+#: ../../mod/admin.php:1411
msgid "New Profile Field"
msgstr ""
-#: ../../mod/admin.php:1411 ../../mod/admin.php:1431
+#: ../../mod/admin.php:1412 ../../mod/admin.php:1432
msgid "Field nickname"
msgstr ""
-#: ../../mod/admin.php:1411 ../../mod/admin.php:1431
+#: ../../mod/admin.php:1412 ../../mod/admin.php:1432
msgid "System name of field"
msgstr ""
-#: ../../mod/admin.php:1412 ../../mod/admin.php:1432
+#: ../../mod/admin.php:1413 ../../mod/admin.php:1433
msgid "Input type"
msgstr ""
-#: ../../mod/admin.php:1413 ../../mod/admin.php:1433
+#: ../../mod/admin.php:1414 ../../mod/admin.php:1434
msgid "Field Name"
msgstr ""
-#: ../../mod/admin.php:1413 ../../mod/admin.php:1433
+#: ../../mod/admin.php:1414 ../../mod/admin.php:1434
msgid "Label on profile pages"
msgstr ""
-#: ../../mod/admin.php:1414 ../../mod/admin.php:1434
+#: ../../mod/admin.php:1415 ../../mod/admin.php:1435
msgid "Help text"
msgstr ""
-#: ../../mod/admin.php:1414 ../../mod/admin.php:1434
+#: ../../mod/admin.php:1415 ../../mod/admin.php:1435
msgid "Additional info (optional)"
msgstr ""
-#: ../../mod/admin.php:1424
+#: ../../mod/admin.php:1425
msgid "Field definition not found"
msgstr ""
-#: ../../mod/admin.php:1430
+#: ../../mod/admin.php:1431
msgid "Edit Profile Field"
msgstr ""
@@ -7857,18 +7692,14 @@ msgstr ""
msgid "Post successful."
msgstr ""
-#: ../../mod/editblock.php:115
+#: ../../mod/editblock.php:112
msgid "Edit Block"
msgstr ""
-#: ../../mod/editblock.php:125
+#: ../../mod/editblock.php:123
msgid "Delete block?"
msgstr ""
-#: ../../mod/editblock.php:188
-msgid "Delete Block"
-msgstr ""
-
#: ../../mod/register.php:44
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr ""
@@ -7983,315 +7814,488 @@ msgid ""
"removed from the network"
msgstr ""
+#: ../../mod/item.php:174
+msgid "Unable to locate original post."
+msgstr ""
+
+#: ../../mod/item.php:437
+msgid "Empty post discarded."
+msgstr ""
+
+#: ../../mod/item.php:479
+msgid "Executable content type not permitted to this channel."
+msgstr ""
+
+#: ../../mod/item.php:885
+msgid "System error. Post not saved."
+msgstr ""
+
+#: ../../mod/item.php:1103
+msgid "Unable to obtain post information from database."
+msgstr ""
+
+#: ../../mod/item.php:1110
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr ""
+
+#: ../../mod/item.php:1117
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr ""
+
#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
#: ../../mod/update_home.php:21
msgid "[Embedded content - reload page to view]"
msgstr ""
-#: ../../mod/photos.php:77
-msgid "Page owner information could not be retrieved."
+#: ../../mod/lockview.php:37
+msgid "Remote privacy information not available."
msgstr ""
-#: ../../mod/photos.php:97
-msgid "Album not found."
+#: ../../mod/lockview.php:58
+msgid "Visible to:"
msgstr ""
-#: ../../mod/photos.php:119 ../../mod/photos.php:643
-msgid "Delete Album"
+#: ../../mod/blocks.php:95 ../../mod/blocks.php:144
+msgid "Block Name"
msgstr ""
-#: ../../mod/photos.php:159 ../../mod/photos.php:930
-msgid "Delete Photo"
+#: ../../mod/id.php:11
+msgid "First Name"
msgstr ""
-#: ../../mod/photos.php:440
-msgid "No photos selected"
+#: ../../mod/id.php:12
+msgid "Last Name"
msgstr ""
-#: ../../mod/photos.php:484
-msgid "Access to this item is restricted."
+#: ../../mod/id.php:13
+msgid "Nickname"
msgstr ""
-#: ../../mod/photos.php:523
-#, php-format
-msgid "%1$.2f MB of %2$.2f MB photo storage used."
+#: ../../mod/id.php:14
+msgid "Full Name"
msgstr ""
-#: ../../mod/photos.php:526
-#, php-format
-msgid "%1$.2f MB photo storage used."
+#: ../../mod/id.php:20
+msgid "Profile Photo 16px"
msgstr ""
-#: ../../mod/photos.php:550
-msgid "Upload Photos"
+#: ../../mod/id.php:21
+msgid "Profile Photo 32px"
msgstr ""
-#: ../../mod/photos.php:554 ../../mod/photos.php:636 ../../mod/photos.php:915
-msgid "Enter a new album name"
+#: ../../mod/id.php:22
+msgid "Profile Photo 48px"
msgstr ""
-#: ../../mod/photos.php:555 ../../mod/photos.php:637 ../../mod/photos.php:916
-msgid "or select an existing one (doubleclick)"
+#: ../../mod/id.php:23
+msgid "Profile Photo 64px"
msgstr ""
-#: ../../mod/photos.php:556
-msgid "Create a status post for this upload"
+#: ../../mod/id.php:24
+msgid "Profile Photo 80px"
msgstr ""
-#: ../../mod/photos.php:584
-msgid "Album name could not be decoded"
+#: ../../mod/id.php:25
+msgid "Profile Photo 128px"
msgstr ""
-#: ../../mod/photos.php:625 ../../mod/photos.php:1157
-#: ../../mod/photos.php:1173
-msgid "Contact Photos"
+#: ../../mod/id.php:26
+msgid "Timezone"
msgstr ""
-#: ../../mod/photos.php:649
-msgid "Show Newest First"
+#: ../../mod/id.php:27
+msgid "Homepage URL"
msgstr ""
-#: ../../mod/photos.php:651
-msgid "Show Oldest First"
+#: ../../mod/id.php:29
+msgid "Birth Year"
msgstr ""
-#: ../../mod/photos.php:675 ../../mod/photos.php:1205
-msgid "View Photo"
+#: ../../mod/id.php:30
+msgid "Birth Month"
msgstr ""
-#: ../../mod/photos.php:704
-msgid "Edit Album"
+#: ../../mod/id.php:31
+msgid "Birth Day"
msgstr ""
-#: ../../mod/photos.php:749
-msgid "Permission denied. Access to this item may be restricted."
+#: ../../mod/id.php:32
+msgid "Birthdate"
msgstr ""
-#: ../../mod/photos.php:751
-msgid "Photo not available"
+#: ../../mod/message.php:41
+msgid "Conversation removed."
msgstr ""
-#: ../../mod/photos.php:809
-msgid "Use as profile photo"
+#: ../../mod/message.php:56
+msgid "No messages."
msgstr ""
-#: ../../mod/photos.php:816
-msgid "Private Photo"
+#: ../../mod/message.php:72 ../../mod/mail.php:336
+msgid "Delete conversation"
msgstr ""
-#: ../../mod/photos.php:831
-msgid "View Full Size"
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
msgstr ""
-#: ../../mod/photos.php:909
-msgid "Edit photo"
+#: ../../mod/layouts.php:111
+msgid "Help with this feature"
msgstr ""
-#: ../../mod/photos.php:911
-msgid "Rotate CW (right)"
+#: ../../mod/layouts.php:132
+msgid "Layout Name"
msgstr ""
-#: ../../mod/photos.php:912
-msgid "Rotate CCW (left)"
+#: ../../mod/layouts.php:171
+msgid "Comanche page description language help"
msgstr ""
-#: ../../mod/photos.php:919
-msgid "Caption"
+#: ../../mod/mood.php:131
+msgid "Set your current mood and tell your friends"
msgstr ""
-#: ../../mod/photos.php:921
-msgid "Add a Tag"
+#: ../../mod/vote.php:97
+msgid "Total votes"
msgstr ""
-#: ../../mod/photos.php:925
-msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+#: ../../mod/vote.php:98
+msgid "Average Rating"
msgstr ""
-#: ../../mod/photos.php:928
-msgid "Flag as adult in album view"
+#: ../../mod/removeme.php:29
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
msgstr ""
-#: ../../mod/photos.php:1120
-msgid "In This Photo:"
+#: ../../mod/removeme.php:57
+msgid "Remove This Channel"
msgstr ""
-#: ../../mod/photos.php:1125
-msgid "Map"
+#: ../../mod/removeme.php:58
+msgid "This channel will be completely removed from the network. "
msgstr ""
-#: ../../mod/photos.php:1211
-msgid "View Album"
+#: ../../mod/removeme.php:60
+msgid "Remove this channel and all its clones from the network"
msgstr ""
-#: ../../mod/photos.php:1234
-msgid "Recent Photos"
+#: ../../mod/removeme.php:60
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
msgstr ""
-#: ../../mod/post.php:234
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please "
-"logout and retry."
+#: ../../mod/connedit.php:262
+msgid "is now connected to"
msgstr ""
-#: ../../mod/message.php:41
-msgid "Conversation removed."
+#: ../../mod/connedit.php:375
+msgid "Could not access address book record."
msgstr ""
-#: ../../mod/message.php:56
-msgid "No messages."
+#: ../../mod/connedit.php:389
+msgid "Refresh failed - channel is currently unavailable."
msgstr ""
-#: ../../mod/message.php:72 ../../mod/mail.php:336
-msgid "Delete conversation"
+#: ../../mod/connedit.php:396
+msgid "Channel has been unblocked"
msgstr ""
-#: ../../mod/message.php:74
-msgid "D, d M Y - g:i A"
+#: ../../mod/connedit.php:397
+msgid "Channel has been blocked"
msgstr ""
-#: ../../mod/mitem.php:67
-msgid "Menu element updated."
+#: ../../mod/connedit.php:401 ../../mod/connedit.php:413
+#: ../../mod/connedit.php:425 ../../mod/connedit.php:437
+#: ../../mod/connedit.php:453
+msgid "Unable to set address book parameters."
msgstr ""
-#: ../../mod/mitem.php:71
-msgid "Unable to update menu element."
+#: ../../mod/connedit.php:408
+msgid "Channel has been unignored"
msgstr ""
-#: ../../mod/mitem.php:77
-msgid "Menu element added."
+#: ../../mod/connedit.php:409
+msgid "Channel has been ignored"
msgstr ""
-#: ../../mod/mitem.php:81
-msgid "Unable to add menu element."
+#: ../../mod/connedit.php:420
+msgid "Channel has been unarchived"
msgstr ""
-#: ../../mod/mitem.php:127
-msgid "Manage Menu Elements"
+#: ../../mod/connedit.php:421
+msgid "Channel has been archived"
msgstr ""
-#: ../../mod/mitem.php:130
-msgid "Edit menu"
+#: ../../mod/connedit.php:432
+msgid "Channel has been unhidden"
msgstr ""
-#: ../../mod/mitem.php:133
-msgid "Edit element"
+#: ../../mod/connedit.php:433
+msgid "Channel has been hidden"
msgstr ""
-#: ../../mod/mitem.php:134
-msgid "Drop element"
+#: ../../mod/connedit.php:448
+msgid "Channel has been approved"
msgstr ""
-#: ../../mod/mitem.php:135
-msgid "New element"
+#: ../../mod/connedit.php:449
+msgid "Channel has been unapproved"
msgstr ""
-#: ../../mod/mitem.php:136
-msgid "Edit this menu container"
+#: ../../mod/connedit.php:477
+msgid "Connection has been removed."
msgstr ""
-#: ../../mod/mitem.php:137
-msgid "Add menu element"
+#: ../../mod/connedit.php:497
+#, php-format
+msgid "View %s's profile"
msgstr ""
-#: ../../mod/mitem.php:138
-msgid "Delete this menu item"
+#: ../../mod/connedit.php:501
+msgid "Refresh Permissions"
msgstr ""
-#: ../../mod/mitem.php:139
-msgid "Edit this menu item"
+#: ../../mod/connedit.php:504
+msgid "Fetch updated permissions"
msgstr ""
-#: ../../mod/mitem.php:158
-msgid "New Menu Element"
+#: ../../mod/connedit.php:508
+msgid "Recent Activity"
msgstr ""
-#: ../../mod/mitem.php:160 ../../mod/mitem.php:203
-msgid "Menu Item Permissions"
+#: ../../mod/connedit.php:511
+msgid "View recent posts and comments"
msgstr ""
-#: ../../mod/mitem.php:163 ../../mod/mitem.php:207
-msgid "Link text"
+#: ../../mod/connedit.php:520
+msgid "Block (or Unblock) all communications with this connection"
msgstr ""
-#: ../../mod/mitem.php:164 ../../mod/mitem.php:208
-msgid "URL of link"
+#: ../../mod/connedit.php:524 ../../mod/connedit.php:721
+msgid "Unignore"
msgstr ""
-#: ../../mod/mitem.php:165 ../../mod/mitem.php:209
-msgid "Use RedMatrix magic-auth if available"
+#: ../../mod/connedit.php:524 ../../mod/connedit.php:721
+#: ../../mod/notifications.php:51
+msgid "Ignore"
msgstr ""
-#: ../../mod/mitem.php:166 ../../mod/mitem.php:210
-msgid "Open link in new window"
+#: ../../mod/connedit.php:527
+msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr ""
-#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
-msgid "Order in list"
+#: ../../mod/connedit.php:530
+msgid "Unarchive"
msgstr ""
-#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
-msgid "Higher numbers will sink to bottom of listing"
+#: ../../mod/connedit.php:530
+msgid "Archive"
msgstr ""
-#: ../../mod/mitem.php:181
-msgid "Menu item not found."
+#: ../../mod/connedit.php:533
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr ""
-#: ../../mod/mitem.php:190
-msgid "Menu item deleted."
+#: ../../mod/connedit.php:536
+msgid "Unhide"
msgstr ""
-#: ../../mod/mitem.php:192
-msgid "Menu item could not be deleted."
+#: ../../mod/connedit.php:536
+msgid "Hide"
msgstr ""
-#: ../../mod/mitem.php:201
-msgid "Edit Menu Element"
+#: ../../mod/connedit.php:539
+msgid "Hide or Unhide this connection from your other connections"
msgstr ""
-#: ../../mod/mood.php:131
-msgid "Set your current mood and tell your friends"
+#: ../../mod/connedit.php:546
+msgid "Delete this connection"
msgstr ""
-#: ../../mod/vote.php:97
-msgid "Total votes"
+#: ../../mod/connedit.php:637 ../../mod/connedit.php:675
+msgid "Approve this connection"
msgstr ""
-#: ../../mod/vote.php:98
-msgid "Average Rating"
+#: ../../mod/connedit.php:637
+msgid "Accept connection to allow communication"
msgstr ""
-#: ../../mod/removeme.php:29
+#: ../../mod/connedit.php:653
+#, php-format
+msgid "Connections: settings for %s"
+msgstr ""
+
+#: ../../mod/connedit.php:654
+msgid "Apply these permissions automatically"
+msgstr ""
+
+#: ../../mod/connedit.php:658
+msgid "Apply the permissions indicated on this page to all new connections."
+msgstr ""
+
+#: ../../mod/connedit.php:662
+msgid "Slide to adjust your degree of friendship"
+msgstr ""
+
+#: ../../mod/connedit.php:671
msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
+"Default permissions for your channel type have (just) been applied. They "
+"have not yet been submitted. Please review the permissions on this page and "
+"make any desired changes at this time. This new connection may <em>not</em> "
+"be able to communicate with you until you submit this page, which will "
+"install and apply the selected permissions."
msgstr ""
-#: ../../mod/removeme.php:57
-msgid "Remove This Channel"
+#: ../../mod/connedit.php:674
+msgid "inherited"
msgstr ""
-#: ../../mod/removeme.php:58
-msgid "This channel will be completely removed from the network. "
+#: ../../mod/connedit.php:677
+msgid "Connection has no individual permissions!"
msgstr ""
-#: ../../mod/removeme.php:60
-msgid "Remove this channel and all its clones from the network"
+#: ../../mod/connedit.php:678
+msgid ""
+"This may be appropriate based on your <a href=\"settings\">privacy settings</"
+"a>, though you may wish to review the \"Advanced Permissions\"."
msgstr ""
-#: ../../mod/removeme.php:60
+#: ../../mod/connedit.php:680
+msgid "Profile Visibility"
+msgstr ""
+
+#: ../../mod/connedit.php:681
+#, php-format
msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
msgstr ""
-#: ../../mod/layouts.php:110
-msgid "Help with this feature"
+#: ../../mod/connedit.php:682
+msgid "Contact Information / Notes"
msgstr ""
-#: ../../mod/layouts.php:130
-msgid "Layout Name"
+#: ../../mod/connedit.php:683
+msgid "Edit contact notes"
+msgstr ""
+
+#: ../../mod/connedit.php:685
+msgid "Their Settings"
+msgstr ""
+
+#: ../../mod/connedit.php:686
+msgid "My Settings"
+msgstr ""
+
+#: ../../mod/connedit.php:688
+msgid ""
+"Default permissions for this channel type have (just) been applied. They "
+"have <em>not</em> been saved and there are currently no stored default "
+"permissions. Please review/edit the applied settings and click [Submit] to "
+"finalize."
+msgstr ""
+
+#: ../../mod/connedit.php:689
+msgid "Clear/Disable Automatic Permissions"
+msgstr ""
+
+#: ../../mod/connedit.php:690
+msgid "Forum Members"
+msgstr ""
+
+#: ../../mod/connedit.php:691
+msgid "Soapbox"
+msgstr ""
+
+#: ../../mod/connedit.php:692
+msgid "Full Sharing (typical social network permissions)"
+msgstr ""
+
+#: ../../mod/connedit.php:693
+msgid "Cautious Sharing "
+msgstr ""
+
+#: ../../mod/connedit.php:694
+msgid "Follow Only"
+msgstr ""
+
+#: ../../mod/connedit.php:695
+msgid "Individual Permissions"
+msgstr ""
+
+#: ../../mod/connedit.php:696
+msgid ""
+"Some permissions may be inherited from your channel <a href=\"settings"
+"\">privacy settings</a>, which have higher priority than individual "
+"settings. Changing those inherited settings on this page will have no effect."
+msgstr ""
+
+#: ../../mod/connedit.php:697
+msgid "Advanced Permissions"
+msgstr ""
+
+#: ../../mod/connedit.php:698
+msgid "Simple Permissions (select one and submit)"
+msgstr ""
+
+#: ../../mod/connedit.php:702
+#, php-format
+msgid "Visit %s's profile - %s"
+msgstr ""
+
+#: ../../mod/connedit.php:703
+msgid "Block/Unblock contact"
+msgstr ""
+
+#: ../../mod/connedit.php:704
+msgid "Ignore contact"
+msgstr ""
+
+#: ../../mod/connedit.php:705
+msgid "Repair URL settings"
+msgstr ""
+
+#: ../../mod/connedit.php:706
+msgid "View conversations"
+msgstr ""
+
+#: ../../mod/connedit.php:708
+msgid "Delete contact"
+msgstr ""
+
+#: ../../mod/connedit.php:712
+msgid "Last update:"
+msgstr ""
+
+#: ../../mod/connedit.php:714
+msgid "Update public posts"
+msgstr ""
+
+#: ../../mod/connedit.php:716
+msgid "Update now"
+msgstr ""
+
+#: ../../mod/connedit.php:722
+msgid "Currently blocked"
+msgstr ""
+
+#: ../../mod/connedit.php:723
+msgid "Currently ignored"
+msgstr ""
+
+#: ../../mod/connedit.php:724
+msgid "Currently archived"
+msgstr ""
+
+#: ../../mod/connedit.php:725
+msgid "Currently pending"
msgstr ""
#: ../../mod/rmagic.php:40
@@ -8402,6 +8406,12 @@ msgstr ""
msgid "Please login."
msgstr ""
+#: ../../mod/post.php:235
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please "
+"logout and retry."
+msgstr ""
+
#: ../../mod/new_channel.php:109
msgid "Add a Channel"
msgstr ""
@@ -8537,6 +8547,10 @@ msgstr ""
msgid "Invalid connection."
msgstr ""
+#: ../../mod/page.php:119
+msgid "Ipsum Lorem"
+msgstr ""
+
#: ../../mod/bookmarks.php:38
msgid "Bookmark added"
msgstr ""
@@ -8858,103 +8872,51 @@ msgstr ""
msgid "Set size of followup author photos"
msgstr ""
-#: ../../randpost/randpost.php:96
-msgid "You're welcome."
-msgstr ""
-
-#: ../../randpost/randpost.php:97
-msgid "Ah shucks..."
-msgstr ""
-
-#: ../../randpost/randpost.php:98
-msgid "Don't mention it."
-msgstr ""
-
-#: ../../randpost/randpost.php:99
-msgid "&lt;blush&gt;"
-msgstr ""
-
-#: ../../wppost/wppost.php:43
-msgid "Post to WordPress"
-msgstr ""
-
-#: ../../wppost/wppost.php:80
-msgid "Enable WordPress Post Plugin"
-msgstr ""
-
-#: ../../wppost/wppost.php:84
-msgid "WordPress username"
-msgstr ""
-
-#: ../../wppost/wppost.php:88
-msgid "WordPress password"
-msgstr ""
-
-#: ../../wppost/wppost.php:92
-msgid "WordPress API URL"
-msgstr ""
-
-#: ../../wppost/wppost.php:96
-msgid "Post to WordPress by default"
-msgstr ""
-
-#: ../../wppost/wppost.php:100
-msgid "Forward comments (requires post_to_red plugin)"
-msgstr ""
-
-#: ../../wppost/wppost.php:104
-msgid "WordPress Post Settings"
-msgstr ""
-
-#: ../../wppost/wppost.php:119
-msgid "Wordpress Settings saved."
-msgstr ""
-
-#: ../../boot.php:1357
+#: ../../boot.php:1345
#, php-format
msgid "Update %s failed. See error logs."
msgstr ""
-#: ../../boot.php:1360
+#: ../../boot.php:1348
#, php-format
msgid "Update Error at %s"
msgstr ""
-#: ../../boot.php:1527
+#: ../../boot.php:1515
msgid ""
"Create an account to access services and applications within the Red Matrix"
msgstr ""
-#: ../../boot.php:1555
+#: ../../boot.php:1543
msgid "Password"
msgstr ""
-#: ../../boot.php:1556
+#: ../../boot.php:1544
msgid "Remember me"
msgstr ""
-#: ../../boot.php:1559
+#: ../../boot.php:1547
msgid "Forgot your password?"
msgstr ""
-#: ../../boot.php:2182
+#: ../../boot.php:2166
msgid "toggle mobile"
msgstr ""
-#: ../../boot.php:2314
+#: ../../boot.php:2301
msgid "Website SSL certificate is not valid. Please correct."
msgstr ""
-#: ../../boot.php:2317
+#: ../../boot.php:2304
#, php-format
msgid "[red] Website SSL error for %s"
msgstr ""
-#: ../../boot.php:2355
+#: ../../boot.php:2341
msgid "Cron/Scheduled tasks not running."
msgstr ""
-#: ../../boot.php:2359
+#: ../../boot.php:2345
#, php-format
msgid "[red] Cron tasks not running on %s"
msgstr ""
diff --git a/version.inc b/version.inc
index bd5275b1b..06ead016f 100644
--- a/version.inc
+++ b/version.inc
@@ -1 +1 @@
-2015-04-01.989
+2015-04-30.1018
diff --git a/view/css/conversation.css b/view/css/conversation.css
index dced812b7..bb6887d59 100644
--- a/view/css/conversation.css
+++ b/view/css/conversation.css
@@ -19,17 +19,23 @@ code {
display:none;
}
-#jot-title-wrap input {
+#jot-title-wrap input,
+#jot-pagetitle-wrap input {
padding: 8px;
margin-bottom: 5px;
}
-#profile-jot-text {
+.profile-jot-text {
height: 39px;
padding: 8px;
width: 100%;
}
+.jot-attachment {
+ padding: 8px;
+ width: 100%;
+}
+
#profile-jot-text-loading {
float: left;
padding: 30px 0px 0px 12px;
@@ -90,10 +96,6 @@ code {
margin-left:10px;
}
-.lockview {
- cursor: pointer;
-}
-
.lockview-panel {
padding: 3px 20px;
}
diff --git a/view/css/mod_blocks.css b/view/css/mod_blocks.css
new file mode 100644
index 000000000..36a12e1d1
--- /dev/null
+++ b/view/css/mod_blocks.css
@@ -0,0 +1,36 @@
+#block-editor {
+ display: none;
+}
+
+#block-list-table {
+ width: 100%;
+}
+
+#block-list-table th:nth-child(1){
+ padding: 7px 3px 7px 10px;
+ white-space: nowrap;
+}
+
+#block-list-table td:nth-child(1){
+ padding: 7px 3px 7px 10px;
+}
+
+#block-list-table th:nth-child(2){
+ white-space: nowrap;
+}
+
+#block-list-table th:nth-child(6),
+#block-list-table td:nth-child(6){
+ padding: 7px 3px;
+ white-space: nowrap;
+}
+
+#block-list-table th:nth-child(7),
+#block-list-table td:nth-child(7){
+ padding: 7px 10px 7px 7px;
+ white-space: nowrap;
+}
+
+.webpage-list-tool {
+ padding: 7px 10px;
+}
diff --git a/view/css/mod_layouts.css b/view/css/mod_layouts.css
new file mode 100644
index 000000000..8e0a945bf
--- /dev/null
+++ b/view/css/mod_layouts.css
@@ -0,0 +1,36 @@
+#layout-editor {
+ display: none;
+}
+
+#layout-list-table {
+ width: 100%;
+}
+
+#layout-list-table th:nth-child(1){
+ padding: 7px 3px 7px 10px;
+ white-space: nowrap;
+}
+
+#layout-list-table td:nth-child(1){
+ padding: 7px 3px 7px 10px;
+}
+
+#layout-list-table th:nth-child(2){
+ white-space: nowrap;
+}
+
+#layout-list-table th:nth-child(6),
+#layout-list-table td:nth-child(6){
+ padding: 7px 3px;
+ white-space: nowrap;
+}
+
+#layout-list-table th:nth-child(7),
+#layout-list-table td:nth-child(7){
+ padding: 7px 10px 7px 7px;
+ white-space: nowrap;
+}
+
+.webpage-list-tool {
+ padding: 7px 10px;
+}
diff --git a/view/css/mod_menu.css b/view/css/mod_menu.css
index 6123ea56b..930bd834d 100644
--- a/view/css/mod_menu.css
+++ b/view/css/mod_menu.css
@@ -1,3 +1,11 @@
-#menulist > li {
- margin-top: 15px;
-} \ No newline at end of file
+#menu-list-table {
+ width: 100%;
+}
+
+#menu-list-table th:nth-child(2){
+ white-space: nowrap;
+}
+
+.menu-list-tool {
+ padding: 7px 10px;
+}
diff --git a/view/css/mod_mitem.css b/view/css/mod_mitem.css
index 3a33ae955..0718096e9 100644
--- a/view/css/mod_mitem.css
+++ b/view/css/mod_mitem.css
@@ -1,11 +1,13 @@
-.menu-item-list {
- list-style-type: none;
+#mitem-list-table {
+ width: 100%;
}
-.mitem-edit {
- margin-right: 15px;
+#mitem-list-table th:nth-child(1),
+#mitem-list-table td:nth-child(1){
+ padding: 7px 3px 7px 10px;
+ white-space: nowrap;
}
-.menu-item-list li {
- margin-bottom: 15px;
-} \ No newline at end of file
+.mitem-list-tool {
+ padding: 7px 10px;
+}
diff --git a/view/css/mod_webpages.css b/view/css/mod_webpages.css
index 1b5a798cd..1c6ec4aea 100644
--- a/view/css/mod_webpages.css
+++ b/view/css/mod_webpages.css
@@ -1,6 +1,36 @@
-.webpage-list-table tr {
- height: 20px;
+#webpage-editor {
+ display: none;
}
-.webpage-list-table td {
- padding: 5px;
+
+#webpage-list-table {
+ width: 100%;
+}
+
+#webpage-list-table th:nth-child(1){
+ padding: 7px 3px 7px 10px;
+ white-space: nowrap;
+}
+
+#webpage-list-table td:nth-child(1){
+ padding: 7px 3px 7px 10px;
+}
+
+#webpage-list-table th:nth-child(2){
+ white-space: nowrap;
+}
+
+#webpage-list-table th:nth-child(7),
+#webpage-list-table td:nth-child(7){
+ padding: 7px 3px;
+ white-space: nowrap;
+}
+
+#webpage-list-table th:nth-child(8),
+#webpage-list-table td:nth-child(8){
+ padding: 7px 10px 7px 7px;
+ white-space: nowrap;
+}
+
+.webpage-list-tool {
+ padding: 7px 10px;
}
diff --git a/view/css/widgets.css b/view/css/widgets.css
index 43d132276..566dd2b8a 100644
--- a/view/css/widgets.css
+++ b/view/css/widgets.css
@@ -7,7 +7,6 @@
margin-top: 0px;
}
-
.widget .nav-pills > li > a {
padding: 6px 10px;
}
@@ -50,8 +49,10 @@
}
-/* fileas */
-
+/* affinity slider */
+#main-slider {
+ margin: 10px 7px 45px 7px;
+}
/* posted date */
@@ -83,21 +84,6 @@ a.group-edit-tool {
li:hover .group-edit-icon {
opacity: 1;
}
-/* affinity - slider */
-
-#main-slider {
- position: relative;
- left: 5px;
- width: 90%;
-}
-
-.slider {
- margin-top: 10px;
- margin-bottom: 45px;
-}
-
-/* photo albums */
-
/* Chatrooms */
@@ -112,10 +98,6 @@ li:hover .group-edit-icon {
margin-right: 5px;
}
-.slider-container {
- padding: 15px;
-}
-
.rating-text-label {
margin-top: 30px;
}
diff --git a/view/it/strings.php b/view/it/strings.php
index 781e40c0b..047d10c39 100644
--- a/view/it/strings.php
+++ b/view/it/strings.php
@@ -2115,3 +2115,4 @@ $a->strings["Website SSL certificate is not valid. Please correct."] = "Il certi
$a->strings["[red] Website SSL error for %s"] = "[red] Errore SSL %s ";
$a->strings["Cron/Scheduled tasks not running."] = "Processi/cron non avviati.";
$a->strings["[red] Cron tasks not running on %s"] = "[red] Processi non avviati su %s";
+$a->strings["Source of Item"] = "Sorgente dell'Elemento";
diff --git a/view/js/jquery.js b/view/js/jquery.js
index 006e95310..d26ce7f6a 100644
--- a/view/js/jquery.js
+++ b/view/js/jquery.js
@@ -1,5 +1,5 @@
-/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
-//@ sourceMappingURL=jquery.min.map
-*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
-return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
-}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window); \ No newline at end of file
+/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=mb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=nb(b);function qb(){}qb.prototype=d.filters=d.pseudos,d.setFilters=new qb,g=gb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?gb.error(a):z(a,i).slice(0)};function rb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;
+return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)
+}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
+
diff --git a/view/js/main.js b/view/js/main.js
index b9fb9f85e..35944e13f 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -620,13 +620,14 @@ function collapseHeight() {
if(orgHeight > divmore_height + 10) {
if(! $(this).hasClass('divmore')) {
$(this).readmore({
+ speed: 0,
collapsedHeight: divmore_height,
moreLink: '<a href="#" class="divgrow-showmore">' + aStr.divgrowmore + '</a>',
lessLink: '<a href="#" class="divgrow-showmore">' + aStr.divgrowless + '</a>',
beforeToggle: function(trigger, element, expanded) {
if(expanded) {
if((($(element).offset().top + divmore_height) - $(window).scrollTop()) < 65 ) {
- $('html, body').animate( { scrollTop: $(window).scrollTop() - (orgHeight - divmore_height) }, {duration: 100 } );
+ $('html, body').animate( { scrollTop: $(window).scrollTop() - (orgHeight - divmore_height) }, {duration: 0 } );
}
}
}
@@ -742,7 +743,6 @@ function justifyPhotos() {
$('#photo-album-contents').justifiedGallery({
margins: 3,
border: 0,
- ignoreElement: '#page-end',
sizeRangeSuffixes: {
'lt100': '-2',
'lt240': '-2',
@@ -817,6 +817,20 @@ function doprofilelike(ident, verb) {
$.get('like/' + ident + '?verb=' + verb, function() { window.location.href=window.location.href; });
}
+
+function dropItem(url, object) {
+ var confirm = confirmDelete();
+ if(confirm) {
+ $('body').css('cursor', 'wait');
+ $(object).fadeTo('fast', 0.33, function () {
+ $.get(url).done(function() {
+ $(object).remove();
+ $('body').css('cursor', 'auto');
+ });
+ });
+ }
+}
+
function dosubthread(ident) {
unpause();
$('#like-rotator-' + ident.toString()).spin('tiny');
@@ -869,8 +883,8 @@ function getPosition(e) {
return cursor;
}
-function lockview(event, id) {
- $.get('lockview/' + id, function(data) {
+function lockview(type, id) {
+ $.get('lockview/' + type + '/' + id, function(data) {
$('#panel-' + id).html(data);
});
}
diff --git a/view/js/mod_settings.js b/view/js/mod_settings.js
index 9c1821494..5dac96940 100644
--- a/view/js/mod_settings.js
+++ b/view/js/mod_settings.js
@@ -6,7 +6,7 @@
var ispublic = aStr.everybody;
$(document).ready(function() {
- $('form').areYouSure({'addRemoveFieldsMarksDirty':true}); // Warn user about unsaved settings
+ $('form').areYouSure({'addRemoveFieldsMarksDirty':true, 'message': aStr['leavethispage'] }); // Warn user about unsaved settings
$("#id_permissions_role").change(function() {
var role = $("#id_permissions_role").val();
diff --git a/view/nl/messages.po b/view/nl/messages.po
index d18d03a6b..77a355d6f 100644
--- a/view/nl/messages.po
+++ b/view/nl/messages.po
@@ -7,10 +7,10 @@
# jeroenpraat <jeroenpraat@xs4all.nl>, 2014-2015
msgid ""
msgstr ""
-"Project-Id-Version: Red Matrix\n"
+"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-03-27 00:03-0700\n"
-"PO-Revision-Date: 2015-04-02 00:15+0000\n"
+"POT-Creation-Date: 2015-04-24 00:03-0700\n"
+"PO-Revision-Date: 2015-05-02 16:21+0000\n"
"Last-Translator: jeroenpraat <jeroenpraat@xs4all.nl>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/red-matrix/language/nl/)\n"
"MIME-Version: 1.0\n"
@@ -56,7 +56,7 @@ msgstr "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande item
msgid "Default privacy group for new contacts"
msgstr "Standaard privacy-collectie voor nieuwe kanalen"
-#: ../../include/group.php:254 ../../mod/admin.php:824
+#: ../../include/group.php:254 ../../mod/admin.php:822
msgid "All Channels"
msgstr "Alle kanalen"
@@ -73,8 +73,8 @@ msgid "Edit collection"
msgstr "Collectie bewerken"
#: ../../include/group.php:300
-msgid "Create a new collection"
-msgstr "Nieuwe collectie aanmaken"
+msgid "Add new collection"
+msgstr "Nieuwe collectie toevoegen"
#: ../../include/group.php:301
msgid "Channels not in any collection"
@@ -84,1384 +84,294 @@ msgstr "Kanalen die zich in geen enkele collectie bevinden"
msgid "add"
msgstr "toevoegen"
-#: ../../include/bbcode.php:115 ../../include/bbcode.php:694
-#: ../../include/bbcode.php:697 ../../include/bbcode.php:702
-#: ../../include/bbcode.php:705 ../../include/bbcode.php:708
-#: ../../include/bbcode.php:711 ../../include/bbcode.php:716
-#: ../../include/bbcode.php:719 ../../include/bbcode.php:724
-#: ../../include/bbcode.php:727 ../../include/bbcode.php:730
-#: ../../include/bbcode.php:733
-msgid "Image/photo"
-msgstr "Afbeelding/foto"
-
-#: ../../include/bbcode.php:150 ../../include/bbcode.php:744
-msgid "Encrypted content"
-msgstr "Versleutelde inhoud"
-
-#: ../../include/bbcode.php:168
-msgid "Install design element: "
-msgstr "Installeer ontwerp-onderdeel"
-
-#: ../../include/bbcode.php:174
-msgid "QR code"
-msgstr "QR-code"
-
-#: ../../include/bbcode.php:223
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s schreef het volgende %2$s %3$s"
-
-#: ../../include/bbcode.php:225
-msgid "post"
-msgstr "bericht"
-
-#: ../../include/bbcode.php:447
-msgid "Different viewers will see this text differently"
-msgstr "Deze tekst wordt per persoon anders weergeven."
-
-#: ../../include/bbcode.php:662
-msgid "$1 spoiler"
-msgstr "$1 spoiler"
-
-#: ../../include/bbcode.php:682
-msgid "$1 wrote:"
-msgstr "$1 schreef:"
-
-#: ../../include/identity.php:31
-msgid "Unable to obtain identity information from database"
-msgstr "Niet in staat om identiteitsinformatie uit de database te verkrijgen"
-
-#: ../../include/identity.php:66
-msgid "Empty name"
-msgstr "Ontbrekende naam"
-
-#: ../../include/identity.php:68
-msgid "Name too long"
-msgstr "Naam te lang"
-
-#: ../../include/identity.php:169
-msgid "No account identifier"
-msgstr "Geen account-identificator"
-
-#: ../../include/identity.php:182
-msgid "Nickname is required."
-msgstr "Bijnaam is verplicht"
-
-#: ../../include/identity.php:196
-msgid "Reserved nickname. Please choose another."
-msgstr "Deze naam is gereserveerd. Kies een andere."
+#: ../../include/account.php:27
+msgid "Not a valid email address"
+msgstr "Geen geldig e-mailadres"
-#: ../../include/identity.php:201 ../../include/dimport.php:34
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik."
+#: ../../include/account.php:29
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Jouw e-maildomein is op deze RedMatrix-hub niet toegestaan"
-#: ../../include/identity.php:281
-msgid "Unable to retrieve created identity"
-msgstr "Niet in staat om aangemaakte identiteit te vinden"
+#: ../../include/account.php:35
+msgid "Your email address is already registered at this site."
+msgstr "Jouw e-mailadres is al op deze RedMatrix-hub geregistreerd."
-#: ../../include/identity.php:341
-msgid "Default Profile"
-msgstr "Standaardprofiel"
+#: ../../include/account.php:67
+msgid "An invitation is required."
+msgstr "Een uitnodiging is vereist"
-#: ../../include/identity.php:385 ../../include/identity.php:386
-#: ../../include/identity.php:393 ../../include/widgets.php:430
-#: ../../include/profile_selectors.php:80 ../../mod/settings.php:339
-#: ../../mod/settings.php:343 ../../mod/settings.php:344
-#: ../../mod/settings.php:347 ../../mod/settings.php:358
-#: ../../mod/connedit.php:567
-msgid "Friends"
-msgstr "Vrienden"
+#: ../../include/account.php:71
+msgid "Invitation could not be verified."
+msgstr "Uitnodiging kon niet geverifieerd worden"
-#: ../../include/identity.php:641
-msgid "Requested channel is not available."
-msgstr "Opgevraagd kanaal is niet beschikbaar."
+#: ../../include/account.php:121
+msgid "Please enter the required information."
+msgstr "Vul de vereiste informatie in."
-#: ../../include/identity.php:689 ../../mod/profile.php:16
-#: ../../mod/achievements.php:11 ../../mod/blocks.php:29
-#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/editlayout.php:28
-#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:54
-#: ../../mod/webpages.php:29 ../../mod/editblock.php:29
-#: ../../mod/layouts.php:29
-msgid "Requested profile is not available."
-msgstr "Opgevraagd profiel is niet beschikbaar"
+#: ../../include/account.php:188
+msgid "Failed to store account information."
+msgstr "Account-informatie kon niet opgeslagen worden."
-#: ../../include/identity.php:840 ../../include/widgets.php:136
-#: ../../include/widgets.php:175 ../../include/conversation.php:945
-#: ../../include/Contact.php:107 ../../mod/match.php:62
-#: ../../mod/directory.php:291 ../../mod/suggest.php:51
-msgid "Connect"
-msgstr "Verbinden"
+#: ../../include/account.php:246
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Registratiebevestiging voor %s"
-#: ../../include/identity.php:854 ../../mod/profiles.php:774
-msgid "Change profile photo"
-msgstr "Profielfoto veranderen"
+#: ../../include/account.php:312
+#, php-format
+msgid "Registration request at %s"
+msgstr "Registratiebevestiging voor %s"
-#: ../../include/identity.php:861
-msgid "Profiles"
-msgstr "Profielen"
+#: ../../include/account.php:314 ../../include/account.php:341
+#: ../../include/account.php:401
+msgid "Administrator"
+msgstr "Beheerder"
-#: ../../include/identity.php:861
-msgid "Manage/edit profiles"
-msgstr "Profielen beheren/bewerken"
+#: ../../include/account.php:336
+msgid "your registration password"
+msgstr "jouw registratiewachtwoord"
-#: ../../include/identity.php:862 ../../mod/profiles.php:775
-msgid "Create New Profile"
-msgstr "Nieuw profiel aanmaken"
+#: ../../include/account.php:339 ../../include/account.php:399
+#, php-format
+msgid "Registration details for %s"
+msgstr "Registratiegegevens voor %s"
-#: ../../include/identity.php:865 ../../include/nav.php:95
-msgid "Edit Profile"
-msgstr "Profiel bewerken"
+#: ../../include/account.php:408
+msgid "Account approved."
+msgstr "Account goedgekeurd"
-#: ../../include/identity.php:878 ../../mod/profiles.php:786
-msgid "Profile Image"
-msgstr "Profielfoto"
+#: ../../include/account.php:447
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registratie ingetrokken voor %s"
-#: ../../include/identity.php:881
-msgid "visible to everybody"
-msgstr "Voor iedereen zichtbaar"
+#: ../../include/account.php:492
+msgid "Account verified. Please login."
+msgstr "Account is geverifieerd. Je kan inloggen."
-#: ../../include/identity.php:882 ../../mod/profiles.php:669
-#: ../../mod/profiles.php:790
-msgid "Edit visibility"
-msgstr "Zichtbaarheid bewerken"
+#: ../../include/account.php:705 ../../include/account.php:707
+msgid "Click here to upgrade."
+msgstr "Klik hier om te upgraden."
-#: ../../include/identity.php:894 ../../include/bb2diaspora.php:473
-#: ../../include/event.php:40 ../../mod/events.php:647
-#: ../../mod/directory.php:223
-msgid "Location:"
-msgstr "Plaats:"
+#: ../../include/account.php:713
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden."
-#: ../../include/identity.php:898 ../../include/identity.php:1140
-msgid "Gender:"
-msgstr "Geslacht:"
+#: ../../include/account.php:718
+msgid "This action is not available under your subscription plan."
+msgstr "Deze handeling is niet mogelijk met jouw abonnement."
-#: ../../include/identity.php:899 ../../include/identity.php:1184
-msgid "Status:"
-msgstr "Status:"
+#: ../../include/datetime.php:48
+msgid "Miscellaneous"
+msgstr "Diversen"
-#: ../../include/identity.php:900 ../../include/identity.php:1195
-msgid "Homepage:"
-msgstr "Homepagina:"
+#: ../../include/datetime.php:132
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "JJJJ-MM-DD of MM-DD"
-#: ../../include/identity.php:901
-msgid "Online Now"
-msgstr "Nu online"
+#: ../../include/datetime.php:235 ../../mod/events.php:635
+#: ../../mod/appman.php:91 ../../mod/appman.php:92
+msgid "Required"
+msgstr "Vereist"
-#: ../../include/identity.php:984 ../../include/identity.php:1064
-#: ../../mod/ping.php:324
-msgid "g A l F d"
-msgstr "G:i, l d F"
+#: ../../include/datetime.php:262 ../../boot.php:2342
+msgid "never"
+msgstr "nooit"
-#: ../../include/identity.php:985 ../../include/identity.php:1065
-msgid "F d"
-msgstr "d F"
+#: ../../include/datetime.php:268
+msgid "less than a second ago"
+msgstr "minder dan een seconde geleden"
-#: ../../include/identity.php:1030 ../../include/identity.php:1105
-#: ../../mod/ping.php:346
-msgid "[today]"
-msgstr "[vandaag]"
+#: ../../include/datetime.php:271
+msgid "year"
+msgstr "jaar"
-#: ../../include/identity.php:1042
-msgid "Birthday Reminders"
-msgstr "Verjaardagsherinneringen"
+#: ../../include/datetime.php:271
+msgid "years"
+msgstr "jaren"
-#: ../../include/identity.php:1043
-msgid "Birthdays this week:"
-msgstr "Verjaardagen deze week:"
+#: ../../include/datetime.php:272
+msgid "month"
+msgstr "maand"
-#: ../../include/identity.php:1098
-msgid "[No description]"
-msgstr "[Geen omschrijving]"
+#: ../../include/datetime.php:272
+msgid "months"
+msgstr "maanden"
-#: ../../include/identity.php:1116
-msgid "Event Reminders"
-msgstr "Herinneringen"
+#: ../../include/datetime.php:273
+msgid "week"
+msgstr "week"
-#: ../../include/identity.php:1117
-msgid "Events this week:"
-msgstr "Gebeurtenissen deze week:"
+#: ../../include/datetime.php:273
+msgid "weeks"
+msgstr "weken"
-#: ../../include/identity.php:1130 ../../include/identity.php:1247
-#: ../../include/apps.php:138 ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Profiel"
+#: ../../include/datetime.php:274
+msgid "day"
+msgstr "dag"
-#: ../../include/identity.php:1138 ../../mod/settings.php:1045
-msgid "Full Name:"
-msgstr "Volledige naam:"
+#: ../../include/datetime.php:274
+msgid "days"
+msgstr "dagen"
-#: ../../include/identity.php:1145
-msgid "Like this channel"
-msgstr "Vind dit kanaal leuk"
+#: ../../include/datetime.php:275
+msgid "hour"
+msgstr "uur"
-#: ../../include/identity.php:1156 ../../include/conversation.php:1698
-#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:391
-#: ../../mod/photos.php:1007
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "vindt dit leuk"
-msgstr[1] "vinden dit leuk"
+#: ../../include/datetime.php:275
+msgid "hours"
+msgstr "uren"
-#: ../../include/identity.php:1169
-msgid "j F, Y"
-msgstr "F j Y"
+#: ../../include/datetime.php:276
+msgid "minute"
+msgstr "minuut"
-#: ../../include/identity.php:1170
-msgid "j F"
-msgstr "F j"
+#: ../../include/datetime.php:276
+msgid "minutes"
+msgstr "minuten"
-#: ../../include/identity.php:1177
-msgid "Birthday:"
-msgstr "Geboortedatum:"
+#: ../../include/datetime.php:277
+msgid "second"
+msgstr "seconde"
-#: ../../include/identity.php:1181
-msgid "Age:"
-msgstr "Leeftijd:"
+#: ../../include/datetime.php:277
+msgid "seconds"
+msgstr "seconden"
-#: ../../include/identity.php:1190
+#: ../../include/datetime.php:285
#, php-format
-msgid "for %1$d %2$s"
-msgstr "voor %1$d %2$s"
-
-#: ../../include/identity.php:1193 ../../mod/profiles.php:691
-msgid "Sexual Preference:"
-msgstr "Seksuele voorkeur:"
-
-#: ../../include/identity.php:1197 ../../mod/profiles.php:693
-msgid "Hometown:"
-msgstr "Oorspronkelijk uit:"
-
-#: ../../include/identity.php:1199
-msgid "Tags:"
-msgstr "Tags:"
-
-#: ../../include/identity.php:1201 ../../mod/profiles.php:694
-msgid "Political Views:"
-msgstr "Politieke overtuigingen:"
-
-#: ../../include/identity.php:1203
-msgid "Religion:"
-msgstr "Religie:"
-
-#: ../../include/identity.php:1205
-msgid "About:"
-msgstr "Over:"
-
-#: ../../include/identity.php:1207
-msgid "Hobbies/Interests:"
-msgstr "Hobby's/interesses:"
-
-#: ../../include/identity.php:1209 ../../mod/profiles.php:697
-msgid "Likes:"
-msgstr "Houdt van:"
-
-#: ../../include/identity.php:1211 ../../mod/profiles.php:698
-msgid "Dislikes:"
-msgstr "Houdt niet van:"
-
-#: ../../include/identity.php:1213
-msgid "Contact information and Social Networks:"
-msgstr "Contactinformatie en sociale netwerken:"
-
-#: ../../include/identity.php:1215
-msgid "My other channels:"
-msgstr "Mijn andere kanalen"
-
-#: ../../include/identity.php:1217
-msgid "Musical interests:"
-msgstr "Muzikale interesses:"
-
-#: ../../include/identity.php:1219
-msgid "Books, literature:"
-msgstr "Boeken, literatuur:"
-
-#: ../../include/identity.php:1221
-msgid "Television:"
-msgstr "Televisie:"
-
-#: ../../include/identity.php:1223
-msgid "Film/dance/culture/entertainment:"
-msgstr "Films/dansen/cultuur/vermaak:"
-
-#: ../../include/identity.php:1225
-msgid "Love/Romance:"
-msgstr "Liefde/romantiek:"
-
-#: ../../include/identity.php:1227
-msgid "Work/employment:"
-msgstr "Werk/beroep:"
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s geleden"
-#: ../../include/identity.php:1229
-msgid "School/education:"
-msgstr "School/opleiding:"
+#: ../../include/datetime.php:519
+#, php-format
+msgid "%1$s's birthday"
+msgstr "Verjaardag van %1$s"
-#: ../../include/identity.php:1249
-msgid "Like this thing"
-msgstr "Vind dit ding leuk"
+#: ../../include/datetime.php:520
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Gefeliciteerd met je verjaardag %1$s"
#: ../../include/page_widgets.php:6
msgid "New Page"
msgstr "Nieuwe pagina"
#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
-#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:100
-#: ../../include/apps.php:254 ../../include/menu.php:42
-#: ../../mod/settings.php:644 ../../mod/blocks.php:132
+#: ../../include/RedDAV/RedBrowser.php:269 ../../include/ItemObject.php:100
+#: ../../include/apps.php:254 ../../include/menu.php:43
+#: ../../mod/settings.php:644 ../../mod/thing.php:227
#: ../../mod/connections.php:382 ../../mod/connections.php:395
-#: ../../mod/connections.php:414 ../../mod/thing.php:233
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:174
-#: ../../mod/editpost.php:113 ../../mod/menu.php:78 ../../mod/webpages.php:162
-#: ../../mod/editblock.php:143 ../../mod/layouts.php:167
+#: ../../mod/connections.php:414 ../../mod/editlayout.php:139
+#: ../../mod/editwebpage.php:178 ../../mod/editpost.php:113
+#: ../../mod/menu.php:100 ../../mod/webpages.php:179
+#: ../../mod/editblock.php:140 ../../mod/blocks.php:148
+#: ../../mod/layouts.php:174
msgid "Edit"
msgstr "Bewerken"
-#: ../../include/page_widgets.php:39 ../../mod/blocks.php:135
-#: ../../mod/webpages.php:165 ../../mod/layouts.php:171
+#: ../../include/page_widgets.php:39 ../../mod/webpages.php:185
+#: ../../mod/blocks.php:154 ../../mod/layouts.php:178
msgid "View"
msgstr "Weergeven"
-#: ../../include/page_widgets.php:40 ../../include/conversation.php:1155
-#: ../../include/ItemObject.php:677 ../../mod/events.php:653
-#: ../../mod/webpages.php:166 ../../mod/photos.php:970
+#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677
+#: ../../include/conversation.php:1153 ../../mod/events.php:653
+#: ../../mod/photos.php:970 ../../mod/editwebpage.php:214
+#: ../../mod/editpost.php:149 ../../mod/webpages.php:186
+#: ../../mod/editblock.php:176
msgid "Preview"
msgstr "Voorvertoning"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:167
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:187
msgid "Actions"
msgstr "Acties"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:168
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:188
msgid "Page Link"
msgstr "Paginalink"
-#: ../../include/page_widgets.php:43 ../../mod/webpages.php:169
+#: ../../include/page_widgets.php:43
msgid "Title"
msgstr "Titel"
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:170
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:190
+#: ../../mod/blocks.php:145
msgid "Created"
msgstr "Aangemaakt"
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:171
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:191
+#: ../../mod/blocks.php:146
msgid "Edited"
msgstr "Bewerkt"
-#: ../../include/widgets.php:35 ../../include/taxonomy.php:264
-#: ../../include/contact_widgets.php:92
-msgid "Categories"
-msgstr "Categorieën"
-
-#: ../../include/widgets.php:91 ../../include/nav.php:163
-#: ../../mod/apps.php:34
-msgid "Apps"
-msgstr "Apps"
-
-#: ../../include/widgets.php:92
-msgid "System"
-msgstr "Systeem"
-
-#: ../../include/widgets.php:94 ../../include/conversation.php:1501
-msgid "Personal"
-msgstr "Persoonlijk"
-
-#: ../../include/widgets.php:95
-msgid "Create Personal App"
-msgstr "Persoonlijke app maken"
-
-#: ../../include/widgets.php:96
-msgid "Edit Personal App"
-msgstr "Persoonlijke app bewerken"
-
-#: ../../include/widgets.php:138 ../../mod/suggest.php:53
-msgid "Ignore/Hide"
-msgstr "Negeren/Verbergen"
-
-#: ../../include/widgets.php:143 ../../mod/connections.php:268
-msgid "Suggestions"
-msgstr "Voorgestelde kanalen"
-
-#: ../../include/widgets.php:144
-msgid "See more..."
-msgstr "Meer..."
-
-#: ../../include/widgets.php:166
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Je hebt %1$.0f van de %2$.0f toegestane connecties."
-
-#: ../../include/widgets.php:172
-msgid "Add New Connection"
-msgstr "Nieuwe connectie toevoegen"
-
-#: ../../include/widgets.php:173
-msgid "Enter the channel address"
-msgstr "Vul het adres van het nieuwe kanaal in"
-
-#: ../../include/widgets.php:174
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Voorbeeld: bob@example.com, http://example.com/barbara"
-
-#: ../../include/widgets.php:190
-msgid "Notes"
-msgstr "Aantekeningen"
-
-#: ../../include/widgets.php:192 ../../include/text.php:833
-#: ../../include/text.php:845 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
-#: ../../mod/filer.php:50 ../../mod/admin.php:1415 ../../mod/admin.php:1435
-msgid "Save"
-msgstr "Opslaan"
-
-#: ../../include/widgets.php:266
-msgid "Remove term"
-msgstr "Verwijder zoekterm"
-
-#: ../../include/widgets.php:274 ../../include/features.php:73
-msgid "Saved Searches"
-msgstr "Opgeslagen zoekopdrachten"
-
-#: ../../include/widgets.php:304 ../../include/features.php:85
-#: ../../include/contact_widgets.php:57
-msgid "Saved Folders"
-msgstr "Bewaarde mappen"
-
-#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60
-#: ../../include/contact_widgets.php:95
-msgid "Everything"
-msgstr "Alles"
-
-#: ../../include/widgets.php:349
-msgid "Archives"
-msgstr "Archieven"
-
-#: ../../include/widgets.php:427
-msgid "Refresh"
-msgstr "Vernieuwen"
-
-#: ../../include/widgets.php:428 ../../mod/connedit.php:563
-msgid "Me"
-msgstr "Ik"
-
-#: ../../include/widgets.php:429 ../../mod/connedit.php:566
-msgid "Best Friends"
-msgstr "Goede vrienden"
-
-#: ../../include/widgets.php:431
-msgid "Co-workers"
-msgstr "Collega's"
-
-#: ../../include/widgets.php:432 ../../mod/connedit.php:568
-msgid "Former Friends"
-msgstr "Oude vrienden"
-
-#: ../../include/widgets.php:433 ../../mod/connedit.php:569
-msgid "Acquaintances"
-msgstr "Kennissen"
-
-#: ../../include/widgets.php:434
-msgid "Everybody"
-msgstr "Iedereen"
-
-#: ../../include/widgets.php:468
-msgid "Account settings"
-msgstr "Account"
-
-#: ../../include/widgets.php:474
-msgid "Channel settings"
-msgstr "Kanaal"
-
-#: ../../include/widgets.php:480
-msgid "Additional features"
-msgstr "Extra functies"
-
-#: ../../include/widgets.php:486
-msgid "Feature/Addon settings"
-msgstr "Extra functie- en plugin-instellingen"
-
-#: ../../include/widgets.php:492
-msgid "Display settings"
-msgstr "Weergave"
-
-#: ../../include/widgets.php:498
-msgid "Connected apps"
-msgstr "Verbonden applicaties"
-
-#: ../../include/widgets.php:504
-msgid "Export channel"
-msgstr "Kanaal exporteren"
-
-#: ../../include/widgets.php:513 ../../mod/connedit.php:627
-msgid "Connection Default Permissions"
-msgstr "Standaard permissies voor connecties"
-
-#: ../../include/widgets.php:521
-msgid "Premium Channel Settings"
-msgstr "Instellingen premiumkanaal"
-
-#: ../../include/widgets.php:529 ../../include/features.php:62
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Kanaalbronnen"
-
-#: ../../include/widgets.php:537 ../../include/nav.php:208
-#: ../../include/apps.php:134 ../../mod/admin.php:1038
-#: ../../mod/admin.php:1238
-msgid "Settings"
-msgstr "Instellingen"
-
-#: ../../include/widgets.php:550 ../../mod/message.php:31
-#: ../../mod/mail.php:128
-msgid "Messages"
-msgstr "Berichten"
-
-#: ../../include/widgets.php:553
-msgid "Check Mail"
-msgstr "Controleer op nieuwe berichten"
-
-#: ../../include/widgets.php:558 ../../include/nav.php:199
-msgid "New Message"
-msgstr "Nieuw bericht"
-
-#: ../../include/widgets.php:633
-msgid "Chat Rooms"
-msgstr "Chatkanalen"
-
-#: ../../include/widgets.php:653
-msgid "Bookmarked Chatrooms"
-msgstr "Bladwijzers van chatkanalen"
-
-#: ../../include/widgets.php:673
-msgid "Suggested Chatrooms"
-msgstr "Voorgestelde chatkanalen"
-
-#: ../../include/widgets.php:800 ../../include/widgets.php:858
-msgid "photo/image"
-msgstr "foto/afbeelding"
-
-#: ../../include/widgets.php:953 ../../include/widgets.php:955
-msgid "Rate Me"
-msgstr "Beoordeel mij"
-
-#: ../../include/widgets.php:959
-msgid "View Ratings"
-msgstr "Bekijk beoordelingen"
-
-#: ../../include/widgets.php:970
-msgid "Public Hubs"
-msgstr "Openbare hubs"
-
-#: ../../include/conversation.php:120 ../../include/text.php:1747
-#: ../../include/diaspora.php:2030 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:43
-msgid "photo"
-msgstr "foto"
-
-#: ../../include/conversation.php:123 ../../include/text.php:1750
-#: ../../mod/like.php:348 ../../mod/tagger.php:47
-msgid "event"
-msgstr "gebeurtenis"
-
-#: ../../include/conversation.php:126 ../../mod/like.php:113
-msgid "channel"
-msgstr "kanaal"
-
-#: ../../include/conversation.php:148 ../../include/text.php:1753
-#: ../../include/diaspora.php:2030 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:51
-msgid "status"
-msgstr "bericht"
-
-#: ../../include/conversation.php:150 ../../include/text.php:1755
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr "reactie"
-
-#: ../../include/conversation.php:164 ../../include/diaspora.php:2059
-#: ../../mod/like.php:394
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s vindt %3$s van %2$s leuk"
-
-#: ../../include/conversation.php:167 ../../mod/like.php:396
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s vindt %3$s van %2$s niet leuk"
-
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s is nu met %2$s verbonden"
-
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s heeft %2$s aangestoten"
-
-#: ../../include/conversation.php:243 ../../include/text.php:911
-msgid "poked"
-msgstr "aangestoten"
-
-#: ../../include/conversation.php:260 ../../mod/mood.php:63
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s is %2$s"
-
-#: ../../include/conversation.php:572 ../../mod/photos.php:984
-msgctxt "title"
-msgid "Likes"
-msgstr "vinden dit leuk"
-
-#: ../../include/conversation.php:572 ../../mod/photos.php:984
-msgctxt "title"
-msgid "Dislikes"
-msgstr "vinden dit niet leuk"
-
-#: ../../include/conversation.php:573 ../../mod/photos.php:985
-msgctxt "title"
-msgid "Agree"
-msgstr "eens"
-
-#: ../../include/conversation.php:573 ../../mod/photos.php:985
-msgctxt "title"
-msgid "Disagree"
-msgstr "oneens"
-
-#: ../../include/conversation.php:573 ../../mod/photos.php:985
-msgctxt "title"
-msgid "Abstain"
-msgstr "onthoudingen"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:986
-msgctxt "title"
-msgid "Attending"
-msgstr "aanwezig"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:986
-msgctxt "title"
-msgid "Not attending"
-msgstr "niet aanwezig"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:986
-msgctxt "title"
-msgid "Might attend"
-msgstr "mogelijk aanwezig"
-
-#: ../../include/conversation.php:659 ../../include/ItemObject.php:126
-msgid "Select"
-msgstr "Kies"
-
-#: ../../include/conversation.php:660 ../../include/RedDAV/RedBrowser.php:268
-#: ../../include/ItemObject.php:120 ../../include/apps.php:255
-#: ../../mod/settings.php:645 ../../mod/connedit.php:533
-#: ../../mod/group.php:176 ../../mod/thing.php:234 ../../mod/admin.php:819
-#: ../../mod/admin.php:948 ../../mod/photos.php:1050
-msgid "Delete"
-msgstr "Verwijderen"
-
-#: ../../include/conversation.php:667 ../../include/ItemObject.php:89
-msgid "Private Message"
-msgstr "Privébericht"
-
-#: ../../include/conversation.php:674 ../../include/ItemObject.php:227
-msgid "Message signature validated"
-msgstr "Berichtkenmerk gevalideerd"
-
-#: ../../include/conversation.php:675 ../../include/ItemObject.php:228
-msgid "Message signature incorrect"
-msgstr "Berichtkenmerk onjuist"
-
-#: ../../include/conversation.php:692
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Bekijk het profiel van %s @ %s"
-
-#: ../../include/conversation.php:707
-msgid "Categories:"
-msgstr "Categorieën:"
-
-#: ../../include/conversation.php:708
-msgid "Filed under:"
-msgstr "Bewaard onder:"
-
-#: ../../include/conversation.php:716 ../../include/ItemObject.php:312
-#, php-format
-msgid " from %s"
-msgstr " van %s"
-
-#: ../../include/conversation.php:719 ../../include/ItemObject.php:315
-#, php-format
-msgid "last edited: %s"
-msgstr "laatst bewerkt: %s"
-
-#: ../../include/conversation.php:720 ../../include/ItemObject.php:316
-#, php-format
-msgid "Expires: %s"
-msgstr "Verloopt: %s"
-
-#: ../../include/conversation.php:735
-msgid "View in context"
-msgstr "In context bekijken"
-
-#: ../../include/conversation.php:737 ../../include/conversation.php:1208
-#: ../../include/ItemObject.php:364 ../../mod/editlayout.php:153
-#: ../../mod/editwebpage.php:188 ../../mod/editpost.php:130
-#: ../../mod/editblock.php:157 ../../mod/photos.php:950 ../../mod/mail.php:241
-#: ../../mod/mail.php:356
-msgid "Please wait"
-msgstr "Even wachten"
-
-#: ../../include/conversation.php:846
-msgid "remove"
-msgstr "verwijderen"
-
-#: ../../include/conversation.php:850 ../../include/nav.php:247
-msgid "Loading..."
-msgstr "Aan het laden..."
-
-#: ../../include/conversation.php:851
-msgid "Delete Selected Items"
-msgstr "Verwijder de geselecteerde items"
-
-#: ../../include/conversation.php:939
-msgid "View Source"
-msgstr "Bron weergeven"
-
-#: ../../include/conversation.php:940
-msgid "Follow Thread"
-msgstr "Conversatie volgen"
-
-#: ../../include/conversation.php:941
-msgid "View Status"
-msgstr "Status weergeven"
-
-#: ../../include/conversation.php:942 ../../include/nav.php:91
-#: ../../mod/connedit.php:484 ../../mod/connedit.php:634
-msgid "View Profile"
-msgstr "Profiel weergeven"
-
-#: ../../include/conversation.php:943
-msgid "View Photos"
-msgstr "Foto's weergeven"
-
-#: ../../include/conversation.php:944
-msgid "Matrix Activity"
-msgstr "Activiteit in de RedMatrix"
-
-#: ../../include/conversation.php:946
-msgid "Edit Contact"
-msgstr "Contact bewerken"
-
-#: ../../include/conversation.php:947
-msgid "Send PM"
-msgstr "Privébericht verzenden"
-
-#: ../../include/conversation.php:948 ../../include/apps.php:145
-msgid "Poke"
-msgstr "Aanstoten"
-
-#: ../../include/conversation.php:1019 ../../include/RedDAV/RedBrowser.php:163
-#: ../../include/apps.php:336 ../../include/apps.php:387
-#: ../../mod/connedit.php:570 ../../mod/photos.php:681
-#: ../../mod/photos.php:1119
-msgid "Unknown"
-msgstr "Onbekend"
-
-#: ../../include/conversation.php:1063
-#, php-format
-msgid "%s likes this."
-msgstr "%s vindt dit leuk."
-
-#: ../../include/conversation.php:1063
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s vindt dit niet leuk."
-
-#: ../../include/conversation.php:1067
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] "<span %1$s>%2$d persoon</span> vindt dit leuk."
-msgstr[1] "<span %1$s>%2$d personen</span> vinden dit leuk."
-
-#: ../../include/conversation.php:1069
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] "<span %1$s>%2$d persoon</span> vindt dit niet leuk."
-msgstr[1] "<span %1$s>%2$d personen</span> vinden dit niet leuk."
-
-#: ../../include/conversation.php:1075
-msgid "and"
-msgstr "en"
-
-#: ../../include/conversation.php:1078
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ", en %d ander persoon"
-msgstr[1] ", en %d andere personen"
-
-#: ../../include/conversation.php:1079
-#, php-format
-msgid "%s like this."
-msgstr "%s vinden dit leuk."
-
-#: ../../include/conversation.php:1079
-#, php-format
-msgid "%s don't like this."
-msgstr "%s vinden dit niet leuk."
-
-#: ../../include/conversation.php:1139
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Voor <strong>iedereen</strong> zichtbaar"
-
-#: ../../include/conversation.php:1140 ../../mod/mail.php:174
-#: ../../mod/mail.php:289
-msgid "Please enter a link URL:"
-msgstr "Vul een internetadres/URL in:"
-
-#: ../../include/conversation.php:1141
-msgid "Please enter a video link/URL:"
-msgstr "Vul een videolink/URL in:"
-
-#: ../../include/conversation.php:1142
-msgid "Please enter an audio link/URL:"
-msgstr "Vul een audiolink/URL in:"
-
-#: ../../include/conversation.php:1143
-msgid "Tag term:"
-msgstr "Tag:"
-
-#: ../../include/conversation.php:1144 ../../mod/filer.php:49
-msgid "Save to Folder:"
-msgstr "Bewaar in map: "
-
-#: ../../include/conversation.php:1145
-msgid "Where are you right now?"
-msgstr "Waar bevind je je op dit moment?"
-
-#: ../../include/conversation.php:1146 ../../mod/editpost.php:52
-#: ../../mod/mail.php:175 ../../mod/mail.php:290
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Verloopt op DD-MM-YYYY om HH:MM"
-
-#: ../../include/conversation.php:1174 ../../mod/editlayout.php:198
-#: ../../mod/editwebpage.php:235 ../../mod/editblock.php:203
-#: ../../mod/photos.php:949 ../../mod/layouts.php:168
-msgid "Share"
-msgstr "Delen"
-
-#: ../../include/conversation.php:1176 ../../mod/editwebpage.php:170
-msgid "Page link title"
-msgstr "Titel van paginalink"
-
-#: ../../include/conversation.php:1179
-msgid "Post as"
-msgstr "Bericht plaatsen als"
-
-#: ../../include/conversation.php:1181 ../../include/ItemObject.php:669
-#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:175
-#: ../../mod/editpost.php:114 ../../mod/editblock.php:144
-msgid "Bold"
-msgstr "Vet"
-
-#: ../../include/conversation.php:1182 ../../include/ItemObject.php:670
-#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:176
-#: ../../mod/editpost.php:115 ../../mod/editblock.php:145
-msgid "Italic"
-msgstr "Cursief"
-
-#: ../../include/conversation.php:1183 ../../include/ItemObject.php:671
-#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:177
-#: ../../mod/editpost.php:116 ../../mod/editblock.php:146
-msgid "Underline"
-msgstr "Onderstrepen"
-
-#: ../../include/conversation.php:1184 ../../include/ItemObject.php:672
-#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:178
-#: ../../mod/editpost.php:117 ../../mod/editblock.php:147
-msgid "Quote"
-msgstr "Citeren"
-
-#: ../../include/conversation.php:1185 ../../include/ItemObject.php:673
-#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:179
-#: ../../mod/editpost.php:118 ../../mod/editblock.php:148
-msgid "Code"
-msgstr "Broncode"
-
-#: ../../include/conversation.php:1186 ../../mod/editlayout.php:145
-#: ../../mod/editwebpage.php:180 ../../mod/editpost.php:119
-#: ../../mod/editblock.php:149 ../../mod/mail.php:238 ../../mod/mail.php:352
-msgid "Upload photo"
-msgstr "Foto uploaden"
-
-#: ../../include/conversation.php:1187
-msgid "upload photo"
-msgstr "foto uploaden"
-
-#: ../../include/conversation.php:1188 ../../mod/editlayout.php:146
-#: ../../mod/editwebpage.php:181 ../../mod/editpost.php:120
-#: ../../mod/editblock.php:150 ../../mod/mail.php:239 ../../mod/mail.php:353
-msgid "Attach file"
-msgstr "Bestand toevoegen"
-
-#: ../../include/conversation.php:1189
-msgid "attach file"
-msgstr "bestand toevoegen"
-
-#: ../../include/conversation.php:1190 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:182 ../../mod/editpost.php:121
-#: ../../mod/editblock.php:151 ../../mod/mail.php:240 ../../mod/mail.php:354
-msgid "Insert web link"
-msgstr "Weblink invoegen"
-
-#: ../../include/conversation.php:1191
-msgid "web link"
-msgstr "Weblink"
-
-#: ../../include/conversation.php:1192
-msgid "Insert video link"
-msgstr "Videolink invoegen"
-
-#: ../../include/conversation.php:1193
-msgid "video link"
-msgstr "videolink"
-
-#: ../../include/conversation.php:1194
-msgid "Insert audio link"
-msgstr "Audiolink invoegen"
-
-#: ../../include/conversation.php:1195
-msgid "audio link"
-msgstr "audiolink"
-
-#: ../../include/conversation.php:1196 ../../mod/editlayout.php:151
-#: ../../mod/editwebpage.php:186 ../../mod/editpost.php:125
-#: ../../mod/editblock.php:155
-msgid "Set your location"
-msgstr "Locatie instellen"
-
-#: ../../include/conversation.php:1197
-msgid "set location"
-msgstr "locatie instellen"
-
-#: ../../include/conversation.php:1198 ../../mod/editpost.php:127
-msgid "Toggle voting"
-msgstr "Stemmen in- of uitschakelen"
-
-#: ../../include/conversation.php:1201 ../../mod/editlayout.php:152
-#: ../../mod/editwebpage.php:187 ../../mod/editpost.php:126
-#: ../../mod/editblock.php:156
-msgid "Clear browser location"
-msgstr "Locatie van webbrowser wissen"
-
-#: ../../include/conversation.php:1202
-msgid "clear location"
-msgstr "locatie wissen"
-
-#: ../../include/conversation.php:1204 ../../mod/editlayout.php:164
-#: ../../mod/editwebpage.php:203 ../../mod/editpost.php:141
-#: ../../mod/editblock.php:169
-msgid "Title (optional)"
-msgstr "Titel (optioneel)"
-
-#: ../../include/conversation.php:1207 ../../mod/editlayout.php:167
-#: ../../mod/editwebpage.php:205 ../../mod/editpost.php:143
-#: ../../mod/editblock.php:172
-msgid "Categories (optional, comma-separated list)"
-msgstr "Categorieën (optioneel, door komma's gescheiden lijst)"
-
-#: ../../include/conversation.php:1209 ../../mod/editlayout.php:154
-#: ../../mod/editwebpage.php:189 ../../mod/editpost.php:131
-#: ../../mod/editblock.php:158
-msgid "Permission settings"
-msgstr "Permissies"
-
-#: ../../include/conversation.php:1210
-msgid "permissions"
-msgstr "permissies"
-
-#: ../../include/conversation.php:1217 ../../mod/editlayout.php:161
-#: ../../mod/editwebpage.php:198 ../../mod/editpost.php:138
-#: ../../mod/editblock.php:166
-msgid "Public post"
-msgstr "Openbaar bericht"
-
-#: ../../include/conversation.php:1219 ../../mod/editlayout.php:168
-#: ../../mod/editwebpage.php:206 ../../mod/editpost.php:144
-#: ../../mod/editblock.php:173
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Voorbeeld: bob@voorbeeld.nl, mary@voorbeeld.be"
-
-#: ../../include/conversation.php:1232 ../../mod/editlayout.php:178
-#: ../../mod/editwebpage.php:215 ../../mod/editpost.php:155
-#: ../../mod/editblock.php:183 ../../mod/mail.php:245 ../../mod/mail.php:359
-msgid "Set expiration date"
-msgstr "Verloopdatum instellen"
-
-#: ../../include/conversation.php:1234 ../../include/ItemObject.php:680
-#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:361
-msgid "Encrypt text"
-msgstr "Tekst versleutelen"
-
-#: ../../include/conversation.php:1236 ../../mod/events.php:637
-#: ../../mod/editpost.php:159
-msgid "OK"
-msgstr "OK"
-
-#: ../../include/conversation.php:1237 ../../mod/settings.php:583
-#: ../../mod/settings.php:609 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
-#: ../../mod/events.php:636 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160
-msgid "Cancel"
-msgstr "Annuleren"
-
-#: ../../include/conversation.php:1478
-msgid "Discover"
-msgstr "Ontdekken"
-
-#: ../../include/conversation.php:1481
-msgid "Imported public streams"
-msgstr "Openbare streams importeren"
-
-#: ../../include/conversation.php:1486
-msgid "Commented Order"
-msgstr "Nieuwe reacties bovenaan"
-
-#: ../../include/conversation.php:1489
-msgid "Sort by Comment Date"
-msgstr "Berichten met nieuwe reacties bovenaan"
-
-#: ../../include/conversation.php:1493
-msgid "Posted Order"
-msgstr "Nieuwe berichten bovenaan"
-
-#: ../../include/conversation.php:1496
-msgid "Sort by Post Date"
-msgstr "Nieuwe berichten bovenaan"
-
-#: ../../include/conversation.php:1504
-msgid "Posts that mention or involve you"
-msgstr "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent"
-
-#: ../../include/conversation.php:1510 ../../mod/connections.php:212
-#: ../../mod/connections.php:225 ../../mod/menu.php:80
-msgid "New"
-msgstr "Nieuw"
-
-#: ../../include/conversation.php:1513
-msgid "Activity Stream - by date"
-msgstr "Activiteitenstroom - volgens datum"
-
-#: ../../include/conversation.php:1519
-msgid "Starred"
-msgstr "Met ster"
-
-#: ../../include/conversation.php:1522
-msgid "Favourite Posts"
-msgstr "Favoriete berichten"
-
-#: ../../include/conversation.php:1529
-msgid "Spam"
-msgstr "Spam"
-
-#: ../../include/conversation.php:1532
-msgid "Posts flagged as SPAM"
-msgstr "Berichten gemarkeerd als SPAM"
-
-#: ../../include/conversation.php:1576 ../../mod/admin.php:952
-msgid "Channel"
-msgstr "Kanaal"
-
-#: ../../include/conversation.php:1579
-msgid "Status Messages and Posts"
-msgstr "Berichten in dit kanaal"
-
-#: ../../include/conversation.php:1588
-msgid "About"
-msgstr "Over"
-
-#: ../../include/conversation.php:1591
-msgid "Profile Details"
-msgstr "Profiel"
-
-#: ../../include/conversation.php:1597 ../../include/nav.php:97
-#: ../../include/apps.php:139 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Foto's"
-
-#: ../../include/conversation.php:1600 ../../include/photos.php:356
-msgid "Photo Albums"
-msgstr "Fotoalbums"
-
-#: ../../include/conversation.php:1606 ../../include/RedDAV/RedBrowser.php:249
-#: ../../include/nav.php:98 ../../include/apps.php:135
-#: ../../mod/fbrowser.php:114
-msgid "Files"
-msgstr "Bestanden"
-
-#: ../../include/conversation.php:1609
-msgid "Files and Storage"
-msgstr "Bestanden en opslagruimte"
-
-#: ../../include/conversation.php:1619 ../../include/conversation.php:1622
-msgid "Chatrooms"
-msgstr "Chatkanalen"
-
-#: ../../include/conversation.php:1632 ../../include/nav.php:109
-#: ../../include/apps.php:129
-msgid "Bookmarks"
-msgstr "Bladwijzers"
-
-#: ../../include/conversation.php:1635
-msgid "Saved Bookmarks"
-msgstr "Opgeslagen bladwijzers"
-
-#: ../../include/conversation.php:1642 ../../include/nav.php:113
-#: ../../include/apps.php:136 ../../mod/webpages.php:160
-msgid "Webpages"
-msgstr "Webpagina's"
-
-#: ../../include/conversation.php:1645
-msgid "Manage Webpages"
-msgstr "Webpagina's beheren"
-
-#: ../../include/conversation.php:1674 ../../include/ItemObject.php:175
-#: ../../include/ItemObject.php:187 ../../mod/photos.php:1003
-#: ../../mod/photos.php:1015
-msgid "View all"
-msgstr "Toon alles"
-
-#: ../../include/conversation.php:1701 ../../include/ItemObject.php:184
-#: ../../mod/photos.php:1012
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "vindt dit niet leuk"
-msgstr[1] "vinden dit niet leuk"
-
-#: ../../include/conversation.php:1704
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "aanwezig"
-msgstr[1] "aanwezig"
-
-#: ../../include/conversation.php:1707
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "niet aanwezig"
-msgstr[1] "niet aanwezig"
-
-#: ../../include/conversation.php:1710
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "nog niet beslist"
-msgstr[1] "nog niet beslist"
-
-#: ../../include/conversation.php:1713
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "eens"
-msgstr[1] "eens"
-
-#: ../../include/conversation.php:1716
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "oneens"
-msgstr[1] "oneens"
-
-#: ../../include/conversation.php:1719
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "onthouding"
-msgstr[1] "onthoudingen"
-
-#: ../../include/attach.php:137 ../../include/attach.php:184
-#: ../../include/attach.php:247 ../../include/attach.php:261
-#: ../../include/attach.php:305 ../../include/attach.php:319
-#: ../../include/attach.php:344 ../../include/attach.php:540
-#: ../../include/attach.php:614 ../../include/items.php:4097
-#: ../../include/photos.php:15 ../../include/chat.php:131
-#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/achievements.php:30 ../../mod/manage.php:6
-#: ../../mod/settings.php:564 ../../mod/api.php:26 ../../mod/api.php:31
-#: ../../mod/blocks.php:67 ../../mod/blocks.php:75
-#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
-#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
-#: ../../mod/events.php:219 ../../mod/connedit.php:321 ../../mod/group.php:9
-#: ../../mod/setup.php:207 ../../mod/common.php:35 ../../mod/id.php:61
-#: ../../mod/connections.php:169 ../../mod/item.php:207 ../../mod/item.php:215
-#: ../../mod/item.php:958 ../../mod/thing.php:247 ../../mod/thing.php:264
-#: ../../mod/thing.php:299 ../../mod/pdledit.php:21 ../../mod/authtest.php:13
-#: ../../mod/editlayout.php:64 ../../mod/editlayout.php:89
-#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/editwebpage.php:64
-#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:118
-#: ../../mod/rate.php:110 ../../mod/editpost.php:13 ../../mod/invite.php:13
-#: ../../mod/invite.php:104 ../../mod/locs.php:77 ../../mod/sources.php:66
-#: ../../mod/menu.php:61 ../../mod/filestorage.php:18
-#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88
-#: ../../mod/filestorage.php:115 ../../mod/fsuggest.php:78
-#: ../../mod/poke.php:128 ../../mod/profiles.php:188
-#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14
-#: ../../mod/webpages.php:67 ../../mod/viewconnections.php:22
-#: ../../mod/viewconnections.php:27 ../../mod/editblock.php:65
-#: ../../mod/register.php:72 ../../mod/photos.php:68 ../../mod/message.php:16
-#: ../../mod/mitem.php:106 ../../mod/mood.php:111 ../../mod/layouts.php:67
-#: ../../mod/layouts.php:74 ../../mod/layouts.php:85 ../../mod/mail.php:114
-#: ../../mod/notifications.php:66 ../../mod/regmod.php:17
-#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
-#: ../../mod/appman.php:66 ../../mod/network.php:12 ../../mod/page.php:28
-#: ../../mod/page.php:78 ../../mod/bookmarks.php:46 ../../mod/channel.php:100
-#: ../../mod/channel.php:219 ../../mod/channel.php:262
-#: ../../mod/suggest.php:26 ../../mod/service_limits.php:7
-#: ../../mod/sharedwithme.php:7 ../../index.php:190 ../../index.php:393
-msgid "Permission denied."
-msgstr "Toegang geweigerd"
-
-#: ../../include/attach.php:242 ../../include/attach.php:300
-msgid "Item was not found."
-msgstr "Item niet gevonden"
-
-#: ../../include/attach.php:357
-msgid "No source file."
-msgstr "Geen bronbestand."
-
-#: ../../include/attach.php:375
-msgid "Cannot locate file to replace"
-msgstr "Kan het te vervangen bestand niet vinden"
-
-#: ../../include/attach.php:393
-msgid "Cannot locate file to revise/update"
-msgstr "Kan het bestand wat aangepast moet worden niet vinden"
-
-#: ../../include/attach.php:404
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Bestand is groter dan de toegelaten %d"
-
-#: ../../include/attach.php:416
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt."
-
-#: ../../include/attach.php:499
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken."
-
-#: ../../include/attach.php:511
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt."
-
-#: ../../include/attach.php:555 ../../include/attach.php:572
-msgid "Path not available."
-msgstr "Pad niet beschikbaar."
-
-#: ../../include/attach.php:619
-msgid "Empty pathname"
-msgstr "Padnaam leeg"
-
-#: ../../include/attach.php:635
-msgid "duplicate filename or path"
-msgstr "dubbele bestandsnaam of pad"
-
-#: ../../include/attach.php:659
-msgid "Path not found."
-msgstr "Pad niet gevonden"
-
-#: ../../include/attach.php:710
-msgid "mkdir failed."
-msgstr "directory aanmaken (mkdir) mislukt."
-
-#: ../../include/attach.php:714
-msgid "database storage failed."
-msgstr "opslag in database mislukt."
-
-#: ../../include/account.php:23
-msgid "Not a valid email address"
-msgstr "Geen geldig e-mailadres"
-
-#: ../../include/account.php:25
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Jouw e-maildomein is op deze RedMatrix-hub niet toegestaan"
-
-#: ../../include/account.php:31
-msgid "Your email address is already registered at this site."
-msgstr "Jouw e-mailadres is al op deze RedMatrix-hub geregistreerd."
+#: ../../include/api.php:1158
+msgid "Public Timeline"
+msgstr "Openbare tijdlijn"
-#: ../../include/account.php:64
-msgid "An invitation is required."
-msgstr "Een uitnodiging is vereist"
+#: ../../include/comanche.php:34 ../../mod/admin.php:386
+#: ../../view/theme/apw/php/config.php:185
+msgid "Default"
+msgstr "Standaard"
-#: ../../include/account.php:68
-msgid "Invitation could not be verified."
-msgstr "Uitnodiging kon niet geverifieerd worden"
+#: ../../include/dir_fns.php:143
+msgid "Directory Options"
+msgstr "Opties kanalengids"
-#: ../../include/account.php:119
-msgid "Please enter the required information."
-msgstr "Vul de vereiste informatie in."
+#: ../../include/dir_fns.php:144
+msgid "Alphabetic"
+msgstr "Alfabetisch"
-#: ../../include/account.php:187
-msgid "Failed to store account information."
-msgstr "Account-informatie kon niet opgeslagen worden."
+#: ../../include/dir_fns.php:145
+msgid "Reverse Alphabetic"
+msgstr "Omgekeerd alfabetisch"
-#: ../../include/account.php:245
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registratiebevestiging voor %s"
+#: ../../include/dir_fns.php:146
+msgid "Newest to Oldest"
+msgstr "Nieuw naar oud"
-#: ../../include/account.php:313
-#, php-format
-msgid "Registration request at %s"
-msgstr "Registratiebevestiging voor %s"
+#: ../../include/dir_fns.php:147
+msgid "Oldest to Newest"
+msgstr "Oud naar nieuw"
-#: ../../include/account.php:315 ../../include/account.php:342
-#: ../../include/account.php:399
-msgid "Administrator"
-msgstr "Beheerder"
+#: ../../include/dir_fns.php:148
+msgid "Sort"
+msgstr "Sorteren"
-#: ../../include/account.php:337
-msgid "your registration password"
-msgstr "jouw registratiewachtwoord"
+#: ../../include/dir_fns.php:152
+msgid "Safe Mode"
+msgstr "Veilig zoeken"
-#: ../../include/account.php:340 ../../include/account.php:397
-#, php-format
-msgid "Registration details for %s"
-msgstr "Registratiegegevens voor %s"
+#: ../../include/dir_fns.php:154
+msgid "Public Forums Only"
+msgstr "Alleen openbare forums"
-#: ../../include/account.php:406
-msgid "Account approved."
-msgstr "Account goedgekeurd"
+#: ../../include/dir_fns.php:155
+msgid "This Website Only"
+msgstr "Alleen deze hub"
-#: ../../include/account.php:440
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registratie ingetrokken voor %s"
+#: ../../include/event.php:19 ../../include/bb2diaspora.php:451
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\@ G:i"
-#: ../../include/account.php:486
-msgid "Account verified. Please login."
-msgstr "Account is geverifieerd. Je kan inloggen."
+#: ../../include/event.php:27 ../../include/bb2diaspora.php:457
+msgid "Starts:"
+msgstr "Start:"
-#: ../../include/account.php:706 ../../include/account.php:708
-msgid "Click here to upgrade."
-msgstr "Klik hier om te upgraden."
+#: ../../include/event.php:37 ../../include/bb2diaspora.php:465
+msgid "Finishes:"
+msgstr "Einde:"
-#: ../../include/account.php:714
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden."
+#: ../../include/event.php:47 ../../include/bb2diaspora.php:473
+#: ../../include/identity.php:874 ../../mod/events.php:647
+#: ../../mod/directory.php:234
+msgid "Location:"
+msgstr "Plaats:"
-#: ../../include/account.php:719
-msgid "This action is not available under your subscription plan."
-msgstr "Deze handeling is niet mogelijk met jouw abonnement."
+#: ../../include/event.php:391
+msgid "This event has been added to your calendar."
+msgstr "Dit evenement is aan jouw agenda toegevoegd."
#: ../../include/js_strings.php:5
msgid "Delete this item?"
@@ -1537,21 +447,21 @@ msgstr "Omschrijving (optioneel)"
#: ../../mod/settings.php:710 ../../mod/settings.php:738
#: ../../mod/settings.php:761 ../../mod/settings.php:843
#: ../../mod/settings.php:1039 ../../mod/xchan.php:11 ../../mod/connect.php:93
-#: ../../mod/events.php:656 ../../mod/connedit.php:653 ../../mod/group.php:81
-#: ../../mod/setup.php:313 ../../mod/setup.php:358 ../../mod/thing.php:284
-#: ../../mod/thing.php:327 ../../mod/pdledit.php:58 ../../mod/import.php:504
-#: ../../mod/chat.php:177 ../../mod/chat.php:211 ../../mod/rate.php:167
-#: ../../mod/invite.php:142 ../../mod/locs.php:105 ../../mod/sources.php:104
-#: ../../mod/sources.php:138 ../../mod/filestorage.php:156
-#: ../../mod/fsuggest.php:108 ../../mod/poke.php:166
-#: ../../mod/profiles.php:667 ../../mod/admin.php:443 ../../mod/admin.php:812
-#: ../../mod/admin.php:946 ../../mod/admin.php:1077 ../../mod/admin.php:1272
-#: ../../mod/admin.php:1355 ../../mod/photos.php:565 ../../mod/photos.php:642
-#: ../../mod/photos.php:929 ../../mod/photos.php:969 ../../mod/photos.php:1087
-#: ../../mod/mood.php:134 ../../mod/mail.php:355 ../../mod/appman.php:99
-#: ../../mod/poll.php:68 ../../mod/bulksetclose.php:24
+#: ../../mod/thing.php:275 ../../mod/thing.php:318 ../../mod/events.php:656
+#: ../../mod/group.php:81 ../../mod/setup.php:313 ../../mod/setup.php:358
+#: ../../mod/photos.php:565 ../../mod/photos.php:642 ../../mod/photos.php:929
+#: ../../mod/photos.php:969 ../../mod/photos.php:1087 ../../mod/pdledit.php:58
+#: ../../mod/import.php:504 ../../mod/chat.php:177 ../../mod/chat.php:211
+#: ../../mod/rate.php:167 ../../mod/invite.php:142 ../../mod/locs.php:105
+#: ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
+#: ../../mod/poke.php:166 ../../mod/profiles.php:667 ../../mod/mitem.php:229
+#: ../../mod/admin.php:446 ../../mod/admin.php:810 ../../mod/admin.php:946
+#: ../../mod/admin.php:1077 ../../mod/admin.php:1271 ../../mod/admin.php:1356
+#: ../../mod/mood.php:134 ../../mod/connedit.php:679 ../../mod/mail.php:355
+#: ../../mod/appman.php:99 ../../mod/poll.php:68 ../../mod/bulksetclose.php:24
#: ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/redbasic/php/config.php:97 ../../wppost/wppost.php:104
+#: ../../view/theme/redbasic/php/config.php:97
msgid "Submit"
msgstr "Opslaan"
@@ -1559,161 +469,188 @@ msgstr "Opslaan"
msgid "Please enter a link URL"
msgstr "Vul een internetadres/URL in:"
-#: ../../include/js_strings.php:25
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr "Niet opgeslagen wijzigingen. Ben je er zeker van dat je deze pagina wil verlaten?"
+
+#: ../../include/js_strings.php:26
msgid "timeago.prefixAgo"
msgstr "timeago.prefixAgo"
-#: ../../include/js_strings.php:26
+#: ../../include/js_strings.php:27
msgid "timeago.prefixFromNow"
msgstr "timeago.prefixFromNow"
-#: ../../include/js_strings.php:27
+#: ../../include/js_strings.php:28
msgid "ago"
msgstr "geleden"
-#: ../../include/js_strings.php:28
+#: ../../include/js_strings.php:29
msgid "from now"
msgstr "vanaf nu"
-#: ../../include/js_strings.php:29
+#: ../../include/js_strings.php:30
msgid "less than a minute"
msgstr "minder dan een minuut"
-#: ../../include/js_strings.php:30
+#: ../../include/js_strings.php:31
msgid "about a minute"
msgstr "ongeveer een minuut"
-#: ../../include/js_strings.php:31
+#: ../../include/js_strings.php:32
#, php-format
msgid "%d minutes"
msgstr "%d minuten"
-#: ../../include/js_strings.php:32
+#: ../../include/js_strings.php:33
msgid "about an hour"
msgstr "ongeveer een uur"
-#: ../../include/js_strings.php:33
+#: ../../include/js_strings.php:34
#, php-format
msgid "about %d hours"
msgstr "ongeveer %d uren"
-#: ../../include/js_strings.php:34
+#: ../../include/js_strings.php:35
msgid "a day"
msgstr "een dag"
-#: ../../include/js_strings.php:35
+#: ../../include/js_strings.php:36
#, php-format
msgid "%d days"
msgstr "%d dagen"
-#: ../../include/js_strings.php:36
+#: ../../include/js_strings.php:37
msgid "about a month"
msgstr "ongeveer een maand"
-#: ../../include/js_strings.php:37
+#: ../../include/js_strings.php:38
#, php-format
msgid "%d months"
msgstr "%d maanden"
-#: ../../include/js_strings.php:38
+#: ../../include/js_strings.php:39
msgid "about a year"
msgstr "ongeveer een jaar"
-#: ../../include/js_strings.php:39
+#: ../../include/js_strings.php:40
#, php-format
msgid "%d years"
msgstr "%d jaren"
-#: ../../include/js_strings.php:40
+#: ../../include/js_strings.php:41
msgid " "
msgstr " "
-#: ../../include/js_strings.php:41
+#: ../../include/js_strings.php:42
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/RedDAV/RedBrowser.php:106
-#: ../../include/RedDAV/RedBrowser.php:266
+#: ../../include/RedDAV/RedBrowser.php:107
+#: ../../include/RedDAV/RedBrowser.php:268
msgid "parent"
msgstr "omhoog"
-#: ../../include/RedDAV/RedBrowser.php:130 ../../include/text.php:2407
+#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2479
msgid "Collection"
msgstr "map"
-#: ../../include/RedDAV/RedBrowser.php:133
+#: ../../include/RedDAV/RedBrowser.php:134
msgid "Principal"
msgstr "principal"
-#: ../../include/RedDAV/RedBrowser.php:136
+#: ../../include/RedDAV/RedBrowser.php:137
msgid "Addressbook"
msgstr "Adresboek"
-#: ../../include/RedDAV/RedBrowser.php:139
+#: ../../include/RedDAV/RedBrowser.php:140
msgid "Calendar"
msgstr "Agenda"
-#: ../../include/RedDAV/RedBrowser.php:142
+#: ../../include/RedDAV/RedBrowser.php:143
msgid "Schedule Inbox"
msgstr "Planning-postvak IN"
-#: ../../include/RedDAV/RedBrowser.php:145
+#: ../../include/RedDAV/RedBrowser.php:146
msgid "Schedule Outbox"
msgstr "Planning-postvak UIT"
-#: ../../include/RedDAV/RedBrowser.php:225
+#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1019
+#: ../../include/apps.php:336 ../../include/apps.php:387
+#: ../../mod/photos.php:681 ../../mod/photos.php:1119
+msgid "Unknown"
+msgstr "Onbekend"
+
+#: ../../include/RedDAV/RedBrowser.php:227
#, php-format
msgid "%1$s used"
msgstr "%1$s gebruikt"
-#: ../../include/RedDAV/RedBrowser.php:230
+#: ../../include/RedDAV/RedBrowser.php:232
#, php-format
msgid "%1$s used of %2$s (%3$s&#37;)"
msgstr "%1$s van %2$s gebruikt (%3$s&#37;)"
-#: ../../include/RedDAV/RedBrowser.php:251
+#: ../../include/RedDAV/RedBrowser.php:251 ../../include/nav.php:98
+#: ../../include/conversation.php:1606 ../../include/apps.php:135
+#: ../../mod/fbrowser.php:114
+msgid "Files"
+msgstr "Bestanden"
+
+#: ../../include/RedDAV/RedBrowser.php:253
msgid "Total"
msgstr "Totaal"
-#: ../../include/RedDAV/RedBrowser.php:253
+#: ../../include/RedDAV/RedBrowser.php:255
msgid "Shared"
msgstr "Gedeeld"
-#: ../../include/RedDAV/RedBrowser.php:254
-#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/menu.php:100
-#: ../../mod/mitem.php:169 ../../mod/new_channel.php:121
+#: ../../include/RedDAV/RedBrowser.php:256
+#: ../../include/RedDAV/RedBrowser.php:306 ../../mod/menu.php:104
+#: ../../mod/webpages.php:178 ../../mod/blocks.php:147
+#: ../../mod/layouts.php:170 ../../mod/new_channel.php:121
msgid "Create"
msgstr "Aanmaken"
-#: ../../include/RedDAV/RedBrowser.php:255
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/profile_photo.php:362
+#: ../../include/RedDAV/RedBrowser.php:257
+#: ../../include/RedDAV/RedBrowser.php:308 ../../mod/profile_photo.php:362
#: ../../mod/photos.php:706 ../../mod/photos.php:1236
msgid "Upload"
msgstr "Uploaden"
-#: ../../include/RedDAV/RedBrowser.php:262 ../../mod/settings.php:584
+#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/settings.php:584
#: ../../mod/settings.php:610 ../../mod/admin.php:953
#: ../../mod/sharedwithme.php:95
msgid "Name"
msgstr "Naam"
-#: ../../include/RedDAV/RedBrowser.php:263
+#: ../../include/RedDAV/RedBrowser.php:265
msgid "Type"
msgstr "Type"
-#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:97
+#: ../../include/RedDAV/RedBrowser.php:266 ../../mod/sharedwithme.php:97
msgid "Size"
msgstr "Grootte"
-#: ../../include/RedDAV/RedBrowser.php:265 ../../mod/sharedwithme.php:98
+#: ../../include/RedDAV/RedBrowser.php:267 ../../mod/sharedwithme.php:98
msgid "Last Modified"
msgstr "Laatst gewijzigd"
-#: ../../include/RedDAV/RedBrowser.php:302
+#: ../../include/RedDAV/RedBrowser.php:270 ../../include/ItemObject.php:120
+#: ../../include/conversation.php:660 ../../include/apps.php:255
+#: ../../mod/settings.php:645 ../../mod/thing.php:228 ../../mod/group.php:176
+#: ../../mod/photos.php:1050 ../../mod/editwebpage.php:225
+#: ../../mod/webpages.php:181 ../../mod/admin.php:817 ../../mod/admin.php:948
+#: ../../mod/editblock.php:113 ../../mod/blocks.php:150
+#: ../../mod/connedit.php:543
+msgid "Delete"
+msgstr "Verwijderen"
+
+#: ../../include/RedDAV/RedBrowser.php:305
msgid "Create new folder"
msgstr "Nieuwe map aanmaken"
-#: ../../include/RedDAV/RedBrowser.php:304
+#: ../../include/RedDAV/RedBrowser.php:307
msgid "Upload file"
msgstr "Bestand uploaden"
@@ -1722,10 +659,9 @@ msgstr "Bestand uploaden"
msgid "%1$s's bookmarks"
msgstr "Bladwijzers van %1$s"
-#: ../../include/comanche.php:34 ../../mod/admin.php:383
-#: ../../view/theme/apw/php/config.php:185
-msgid "Default"
-msgstr "Standaard"
+#: ../../include/network.php:632
+msgid "view full size"
+msgstr "volledige grootte tonen"
#: ../../include/features.php:38
msgid "General Features"
@@ -1795,189 +731,579 @@ msgstr "Fotolocatie"
msgid "If location data is available on uploaded photos, link this to a map."
msgstr "Wanneer in de geüploade foto's locatiegegevens aanwezig zijn, link dit dan aan een kaart."
-#: ../../include/features.php:51
-msgid "Extended Identity Sharing"
-msgstr "Uitgebreid identiteit delen"
-
-#: ../../include/features.php:51
-msgid ""
-"Share your identity with all websites on the internet. When disabled, "
-"identity is only shared with sites in the matrix."
-msgstr "Deel jouw RedMatrix-identiteit met alle websites op het internet. Wanneer dit is uitgeschakeld wordt je identiteit alleen binnen het RedMatrix-netwerk gedeeld. Schakel dit alleen als je weet wat je doet."
-
-#: ../../include/features.php:52
+#: ../../include/features.php:49
msgid "Expert Mode"
msgstr "Expertmodus"
-#: ../../include/features.php:52
+#: ../../include/features.php:49
msgid "Enable Expert Mode to provide advanced configuration options"
msgstr "Schakel de expertmodus in voor geavanceerde instellingen"
-#: ../../include/features.php:53
+#: ../../include/features.php:50
msgid "Premium Channel"
msgstr "Premiumkanaal"
-#: ../../include/features.php:53
+#: ../../include/features.php:50
msgid ""
"Allows you to set restrictions and terms on those that connect with your "
"channel"
msgstr "Stelt je in staat om beperkingen en voorwaarden in te stellen voor jouw kanaal"
-#: ../../include/features.php:58
+#: ../../include/features.php:55
msgid "Post Composition Features"
msgstr "Functies voor het opstellen van berichten"
-#: ../../include/features.php:60
+#: ../../include/features.php:57
msgid "Use Markdown"
msgstr "Markdown gebruiken"
-#: ../../include/features.php:60
+#: ../../include/features.php:57
msgid "Allow use of \"Markdown\" to format posts"
msgstr "Sta het gebruik van \"markdown\" toe om berichten mee op te maken."
-#: ../../include/features.php:61
+#: ../../include/features.php:58
msgid "Large Photos"
msgstr "Grote foto's"
-#: ../../include/features.php:61
+#: ../../include/features.php:58
msgid ""
"Include large (640px) photo thumbnails in posts. If not enabled, use small "
"(320px) photo thumbnails"
msgstr "Toon grote (640px) voorbeeldfoto's in berichten. Standaard worden kleine voorbeeldfoto's (320px) getoond. "
-#: ../../include/features.php:62
+#: ../../include/features.php:59 ../../include/widgets.php:546
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
+msgstr "Kanaalbronnen"
+
+#: ../../include/features.php:59
msgid "Automatically import channel content from other channels or feeds"
msgstr "Automatisch inhoud uit andere kanalen of feeds importeren."
-#: ../../include/features.php:63
+#: ../../include/features.php:60
msgid "Even More Encryption"
msgstr "Extra encryptie"
-#: ../../include/features.php:63
+#: ../../include/features.php:60
msgid ""
"Allow optional encryption of content end-to-end with a shared secret key"
msgstr "Sta toe dat inhoud extra end-to-end wordt versleuteld met een gedeelde geheime sleutel."
-#: ../../include/features.php:64
+#: ../../include/features.php:61
msgid "Enable voting tools"
msgstr "Stemmen inschakelen"
-#: ../../include/features.php:64
+#: ../../include/features.php:61
msgid "Provide a class of post which others can vote on"
msgstr "Creëert een berichtenoptie zodat anderen op jouw vraag kunnen stemmen."
-#: ../../include/features.php:65
-msgid "Flag Adult Photos"
-msgstr "Markeer foto's als voor volwassenen"
-
-#: ../../include/features.php:65
-msgid "Provide photo edit option to hide adult photos from default album view"
-msgstr "Zorgt voor een optie om foto's met inhoud voor volwassenen in de standaard albumweergave te verbergen"
-
-#: ../../include/features.php:70
+#: ../../include/features.php:67
msgid "Network and Stream Filtering"
msgstr "Netwerk- en streamfilter"
-#: ../../include/features.php:71
+#: ../../include/features.php:68
msgid "Search by Date"
msgstr "Zoek op datum"
-#: ../../include/features.php:71
+#: ../../include/features.php:68
msgid "Ability to select posts by date ranges"
msgstr "Mogelijkheid om berichten op datum te filteren "
-#: ../../include/features.php:72
+#: ../../include/features.php:69
msgid "Collections Filter"
msgstr "Filter op collecties"
-#: ../../include/features.php:72
+#: ../../include/features.php:69
msgid "Enable widget to display Network posts only from selected collections"
msgstr "Sta de widget toe om netwerkberichten te tonen van bepaalde collecties"
-#: ../../include/features.php:73
+#: ../../include/features.php:70 ../../include/widgets.php:274
+msgid "Saved Searches"
+msgstr "Opgeslagen zoekopdrachten"
+
+#: ../../include/features.php:70
msgid "Save search terms for re-use"
msgstr "Sla zoekopdrachten op voor hergebruik"
-#: ../../include/features.php:74
+#: ../../include/features.php:71
msgid "Network Personal Tab"
msgstr "Persoonlijke netwerktab"
-#: ../../include/features.php:74
+#: ../../include/features.php:71
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Sta het toe dat de tab netwerkberichten toont waarmee je interactie had"
-#: ../../include/features.php:75
+#: ../../include/features.php:72
msgid "Network New Tab"
msgstr "Nieuwe netwerktab"
-#: ../../include/features.php:75
+#: ../../include/features.php:72
msgid "Enable tab to display all new Network activity"
msgstr "Laat de tab alle nieuwe netwerkactiviteit tonen"
-#: ../../include/features.php:76
+#: ../../include/features.php:73
msgid "Affinity Tool"
msgstr "Verwantschapsfilter"
-#: ../../include/features.php:76
+#: ../../include/features.php:73
msgid "Filter stream activity by depth of relationships"
msgstr "Filter wat je in de Matrix ziet op hoe goed je iemand kent of mag"
-#: ../../include/features.php:77
+#: ../../include/features.php:74
msgid "Suggest Channels"
msgstr "Kanalen voorstellen"
-#: ../../include/features.php:77
+#: ../../include/features.php:74
msgid "Show channel suggestions"
msgstr "Voor jou mogelijk interessante kanalen voorstellen"
-#: ../../include/features.php:82
+#: ../../include/features.php:79
msgid "Post/Comment Tools"
msgstr "Bericht- en reactiehulpmiddelen"
-#: ../../include/features.php:83
+#: ../../include/features.php:80
msgid "Tagging"
msgstr "Taggen"
-#: ../../include/features.php:83
+#: ../../include/features.php:80
msgid "Ability to tag existing posts"
msgstr "Mogelijkheid om bestaande berichten te taggen"
-#: ../../include/features.php:84
+#: ../../include/features.php:81
msgid "Post Categories"
msgstr "Categorieën berichten"
-#: ../../include/features.php:84
+#: ../../include/features.php:81
msgid "Add categories to your posts"
msgstr "Voeg categorieën toe aan je berichten"
-#: ../../include/features.php:85
+#: ../../include/features.php:82 ../../include/widgets.php:304
+#: ../../include/contact_widgets.php:57
+msgid "Saved Folders"
+msgstr "Bewaarde mappen"
+
+#: ../../include/features.php:82
msgid "Ability to file posts under folders"
msgstr "Mogelijkheid om berichten in mappen op te slaan"
-#: ../../include/features.php:86
+#: ../../include/features.php:83
msgid "Dislike Posts"
msgstr "Vind berichten niet leuk"
-#: ../../include/features.php:86
+#: ../../include/features.php:83
msgid "Ability to dislike posts/comments"
msgstr "Mogelijkheid om berichten en reacties niet leuk te vinden"
-#: ../../include/features.php:87
+#: ../../include/features.php:84
msgid "Star Posts"
msgstr "Geef berichten een ster"
-#: ../../include/features.php:87
+#: ../../include/features.php:84
msgid "Ability to mark special posts with a star indicator"
msgstr "Mogelijkheid om speciale berichten met een ster te markeren"
-#: ../../include/features.php:88
+#: ../../include/features.php:85
msgid "Tag Cloud"
msgstr "Tagwolk"
-#: ../../include/features.php:88
+#: ../../include/features.php:85
msgid "Provide a personal tag cloud on your channel page"
msgstr "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina"
+#: ../../include/widgets.php:35 ../../include/taxonomy.php:264
+#: ../../include/contact_widgets.php:92
+msgid "Categories"
+msgstr "Categorieën"
+
+#: ../../include/widgets.php:91 ../../include/nav.php:163
+#: ../../mod/apps.php:34
+msgid "Apps"
+msgstr "Apps"
+
+#: ../../include/widgets.php:92
+msgid "System"
+msgstr "Systeem"
+
+#: ../../include/widgets.php:94 ../../include/conversation.php:1501
+msgid "Personal"
+msgstr "Persoonlijk"
+
+#: ../../include/widgets.php:95
+msgid "Create Personal App"
+msgstr "Persoonlijke app maken"
+
+#: ../../include/widgets.php:96
+msgid "Edit Personal App"
+msgstr "Persoonlijke app bewerken"
+
+#: ../../include/widgets.php:136 ../../include/widgets.php:175
+#: ../../include/Contact.php:107 ../../include/conversation.php:945
+#: ../../include/identity.php:823 ../../mod/match.php:64
+#: ../../mod/directory.php:302 ../../mod/suggest.php:52
+msgid "Connect"
+msgstr "Verbinden"
+
+#: ../../include/widgets.php:138 ../../mod/suggest.php:54
+msgid "Ignore/Hide"
+msgstr "Negeren/Verbergen"
+
+#: ../../include/widgets.php:143 ../../mod/connections.php:268
+msgid "Suggestions"
+msgstr "Voorgestelde kanalen"
+
+#: ../../include/widgets.php:144
+msgid "See more..."
+msgstr "Meer..."
+
+#: ../../include/widgets.php:166
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Je hebt %1$.0f van de %2$.0f toegestane connecties."
+
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
+msgstr "Nieuwe connectie toevoegen"
+
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
+msgstr "Vul het adres van het nieuwe kanaal in"
+
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Voorbeeld: bob@example.com, http://example.com/barbara"
+
+#: ../../include/widgets.php:190
+msgid "Notes"
+msgstr "Aantekeningen"
+
+#: ../../include/widgets.php:192 ../../include/text.php:853
+#: ../../include/text.php:865 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
+#: ../../mod/filer.php:50 ../../mod/admin.php:1416 ../../mod/admin.php:1436
+msgid "Save"
+msgstr "Opslaan"
+
+#: ../../include/widgets.php:266
+msgid "Remove term"
+msgstr "Verwijder zoekterm"
+
+#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60
+#: ../../include/contact_widgets.php:95
+msgid "Everything"
+msgstr "Alles"
+
+#: ../../include/widgets.php:349
+msgid "Archives"
+msgstr "Archieven"
+
+#: ../../include/widgets.php:427 ../../mod/connedit.php:572
+msgid "Me"
+msgstr "Ik"
+
+#: ../../include/widgets.php:428 ../../mod/connedit.php:573
+msgid "Family"
+msgstr "Familie"
+
+#: ../../include/widgets.php:429 ../../include/identity.php:394
+#: ../../include/identity.php:395 ../../include/identity.php:402
+#: ../../include/profile_selectors.php:80 ../../mod/settings.php:339
+#: ../../mod/settings.php:343 ../../mod/settings.php:344
+#: ../../mod/settings.php:347 ../../mod/settings.php:358
+#: ../../mod/connedit.php:574
+msgid "Friends"
+msgstr "Vrienden"
+
+#: ../../include/widgets.php:430 ../../mod/connedit.php:575
+msgid "Acquaintances"
+msgstr "Kennissen"
+
+#: ../../include/widgets.php:431 ../../mod/connections.php:231
+#: ../../mod/connections.php:246 ../../mod/connedit.php:576
+msgid "All"
+msgstr "Alles"
+
+#: ../../include/widgets.php:450
+msgid "Refresh"
+msgstr "Vernieuwen"
+
+#: ../../include/widgets.php:485
+msgid "Account settings"
+msgstr "Account"
+
+#: ../../include/widgets.php:491
+msgid "Channel settings"
+msgstr "Kanaal"
+
+#: ../../include/widgets.php:497
+msgid "Additional features"
+msgstr "Extra functies"
+
+#: ../../include/widgets.php:503
+msgid "Feature/Addon settings"
+msgstr "Extra functie- en plugin-instellingen"
+
+#: ../../include/widgets.php:509
+msgid "Display settings"
+msgstr "Weergave"
+
+#: ../../include/widgets.php:515
+msgid "Connected apps"
+msgstr "Verbonden applicaties"
+
+#: ../../include/widgets.php:521
+msgid "Export channel"
+msgstr "Kanaal exporteren"
+
+#: ../../include/widgets.php:530 ../../mod/connedit.php:653
+msgid "Connection Default Permissions"
+msgstr "Standaard permissies voor connecties"
+
+#: ../../include/widgets.php:538
+msgid "Premium Channel Settings"
+msgstr "Instellingen premiumkanaal"
+
+#: ../../include/widgets.php:554 ../../include/nav.php:208
+#: ../../include/apps.php:134 ../../mod/admin.php:1038
+#: ../../mod/admin.php:1238
+msgid "Settings"
+msgstr "Instellingen"
+
+#: ../../include/widgets.php:567 ../../mod/message.php:31
+#: ../../mod/mail.php:128
+msgid "Messages"
+msgstr "Berichten"
+
+#: ../../include/widgets.php:570
+msgid "Check Mail"
+msgstr "Controleer op nieuwe berichten"
+
+#: ../../include/widgets.php:575 ../../include/nav.php:199
+msgid "New Message"
+msgstr "Nieuw bericht"
+
+#: ../../include/widgets.php:650
+msgid "Chat Rooms"
+msgstr "Chatkanalen"
+
+#: ../../include/widgets.php:670
+msgid "Bookmarked Chatrooms"
+msgstr "Bladwijzers van chatkanalen"
+
+#: ../../include/widgets.php:690
+msgid "Suggested Chatrooms"
+msgstr "Voorgestelde chatkanalen"
+
+#: ../../include/widgets.php:817 ../../include/widgets.php:875
+msgid "photo/image"
+msgstr "foto/afbeelding"
+
+#: ../../include/widgets.php:970 ../../include/widgets.php:972
+msgid "Rate Me"
+msgstr "Beoordeel mij"
+
+#: ../../include/widgets.php:976
+msgid "View Ratings"
+msgstr "Bekijk beoordelingen"
+
+#: ../../include/widgets.php:987
+msgid "Public Hubs"
+msgstr "Openbare hubs"
+
+#: ../../include/enotify.php:58
+msgid "Red Matrix Notification"
+msgstr "RedMatrix-notificatie"
+
+#: ../../include/enotify.php:59
+msgid "redmatrix"
+msgstr "RedMatrix"
+
+#: ../../include/enotify.php:61
+msgid "Thank You,"
+msgstr "Bedankt,"
+
+#: ../../include/enotify.php:63
+#, php-format
+msgid "%s Administrator"
+msgstr "Beheerder %s"
+
+#: ../../include/enotify.php:96
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
+
+#: ../../include/enotify.php:100
+#, php-format
+msgid "[Red:Notify] New mail received at %s"
+msgstr "[Red:Notificatie] Nieuw privébericht ontvangen op %s"
+
+#: ../../include/enotify.php:102
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s zond jou een nieuw privébericht om %3$s."
+
+#: ../../include/enotify.php:103
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s zond jou %2$s."
+
+#: ../../include/enotify.php:103
+msgid "a private message"
+msgstr "een privébericht"
+
+#: ../../include/enotify.php:104
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Bezoek %s om je privéberichten te bekijken en/of er op te reageren."
+
+#: ../../include/enotify.php:158
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s, %2$s gaf een reactie op [zrl=%3$s]een %4$s[/zrl]"
+
+#: ../../include/enotify.php:166
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s, %2$s gaf een reactie op [zrl=%3$s]een %5$s van %4$s[/zrl]"
+
+#: ../../include/enotify.php:175
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s gaf een reactie op [zrl=%3$s]jouw %4$s[/zrl]"
+
+#: ../../include/enotify.php:186
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Red:Notificatie] Reactie op conversatie #%1$d door %2$s"
+
+#: ../../include/enotify.php:187
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s gaf een reactie op een bericht/conversatie die jij volgt."
+
+#: ../../include/enotify.php:190 ../../include/enotify.php:205
+#: ../../include/enotify.php:231 ../../include/enotify.php:249
+#: ../../include/enotify.php:263
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Bezoek %s om de conversatie te bekijken en/of er op te reageren."
+
+#: ../../include/enotify.php:196
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
+msgstr "[Red:Notificatie] %s heeft een bericht op jouw kanaal geplaatst"
+
+#: ../../include/enotify.php:198
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s heeft om %3$s een bericht op jouw kanaal geplaatst"
+
+#: ../../include/enotify.php:200
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s heeft een bericht op [zrl=%3$s]jouw kanaal[/zrl] geplaatst"
+
+#: ../../include/enotify.php:224
+#, php-format
+msgid "[Red:Notify] %s tagged you"
+msgstr "[Red:Notificatie] %s heeft je genoemd"
+
+#: ../../include/enotify.php:225
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s noemde jou op %3$s"
+
+#: ../../include/enotify.php:226
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]noemde jou[/zrl]."
+
+#: ../../include/enotify.php:238
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
+msgstr "[Red:Notificatie] %1$s heeft je aangestoten"
+
+#: ../../include/enotify.php:239
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s heeft je aangestoten op %3$s"
+
+#: ../../include/enotify.php:240
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]heeft je aangestoten[/zrl]."
+
+#: ../../include/enotify.php:256
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
+msgstr "[Red:Notificatie] %s heeft jouw bericht getagd"
+
+#: ../../include/enotify.php:257
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s heeft jouw bericht om %3$s getagd"
+
+#: ../../include/enotify.php:258
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s heeft [zrl=%3$s]jouw bericht[/zrl] getagd"
+
+#: ../../include/enotify.php:270
+msgid "[Red:Notify] Introduction received"
+msgstr "[Red:Notificatie] Connectieverzoek ontvangen"
+
+#: ../../include/enotify.php:271
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, je hebt een nieuw connectieverzoek ontvangen van '%2$s' op %3$s"
+
+#: ../../include/enotify.php:272
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, je hebt een [zrl=%2$s]nieuw connectieverzoek[/zrl] ontvangen van %3$s."
+
+#: ../../include/enotify.php:276 ../../include/enotify.php:295
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Je kan het profiel bekijken op %s"
+
+#: ../../include/enotify.php:278
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Bezoek %s om het connectieverzoek te accepteren of af te wijzen."
+
+#: ../../include/enotify.php:285
+msgid "[Red:Notify] Friend suggestion received"
+msgstr "[Red:Notificatie] Kanaalvoorstel ontvangen"
+
+#: ../../include/enotify.php:286
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, je hebt een kanaalvoorstel ontvangen van '%2$s' om %3$s"
+
+#: ../../include/enotify.php:287
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, je hebt [zrl=%2$s]een kanaalvoorstel[/zrl] ontvangen voor %3$s van %4$s."
+
+#: ../../include/enotify.php:293
+msgid "Name:"
+msgstr "Naam:"
+
+#: ../../include/enotify.php:294
+msgid "Photo:"
+msgstr "Foto:"
+
+#: ../../include/enotify.php:297
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Bezoek %s om het voorstel te accepteren of af te wijzen."
+
+#: ../../include/enotify.php:508
+msgid "[Red:Notify]"
+msgstr "[Red:Notificatie]"
+
#: ../../include/contact_selectors.php:56
msgid "Frequently"
msgstr "Regelmatig"
@@ -2014,9 +1340,9 @@ msgstr "OStatus"
msgid "RSS/Atom"
msgstr "RSS/Atom"
-#: ../../include/contact_selectors.php:79 ../../mod/id.php:12
-#: ../../mod/id.php:13 ../../mod/admin.php:815 ../../mod/admin.php:824
-#: ../../boot.php:1554
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:813
+#: ../../mod/admin.php:822 ../../mod/id.php:15 ../../mod/id.php:16
+#: ../../boot.php:1542
msgid "Email"
msgstr "E-mail"
@@ -2092,6 +1418,14 @@ msgstr "lokale account niet gevonden."
msgid "Cannot connect to yourself."
msgstr "Kan niet met jezelf verbinden"
+#: ../../include/ItemObject.php:89 ../../include/conversation.php:667
+msgid "Private Message"
+msgstr "Privébericht"
+
+#: ../../include/ItemObject.php:126 ../../include/conversation.php:659
+msgid "Select"
+msgstr "Kies"
+
#: ../../include/ItemObject.php:130
msgid "Save to Folder"
msgstr "In map opslaan"
@@ -2120,6 +1454,29 @@ msgstr "Oneens"
msgid "I abstain"
msgstr "Onthouding"
+#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
+#: ../../include/conversation.php:1674 ../../mod/photos.php:1003
+#: ../../mod/photos.php:1015
+msgid "View all"
+msgstr "Toon alles"
+
+#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
+#: ../../include/conversation.php:1698 ../../include/identity.php:1133
+#: ../../mod/photos.php:1007
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "vindt dit leuk"
+msgstr[1] "vinden dit leuk"
+
+#: ../../include/ItemObject.php:184 ../../include/conversation.php:1701
+#: ../../mod/photos.php:1012
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "vindt dit niet leuk"
+msgstr[1] "vinden dit niet leuk"
+
#: ../../include/ItemObject.php:212
msgid "Add Star"
msgstr "Ster toevoegen"
@@ -2136,6 +1493,14 @@ msgstr "Ster toevoegen of verwijderen"
msgid "starred"
msgstr "met ster"
+#: ../../include/ItemObject.php:227 ../../include/conversation.php:674
+msgid "Message signature validated"
+msgstr "Berichtkenmerk gevalideerd"
+
+#: ../../include/ItemObject.php:228 ../../include/conversation.php:675
+msgid "Message signature incorrect"
+msgstr "Berichtkenmerk onjuist"
+
#: ../../include/ItemObject.php:236
msgid "Add Tag"
msgstr "Tag toevoegen"
@@ -2144,7 +1509,7 @@ msgstr "Tag toevoegen"
msgid "I like this (toggle)"
msgstr "Vind ik leuk"
-#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:305
+#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:310
msgid "like"
msgstr "vind dit leuk"
@@ -2152,7 +1517,7 @@ msgstr "vind dit leuk"
msgid "I don't like this (toggle)"
msgstr "Vind ik niet leuk"
-#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:306
+#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:311
msgid "dislike"
msgstr "vind dit niet leuk"
@@ -2192,6 +1557,21 @@ msgstr "Kanaal-naar-kanaal"
msgid "via Wall-To-Wall:"
msgstr "via kanaal-naar-kanaal"
+#: ../../include/ItemObject.php:312 ../../include/conversation.php:716
+#, php-format
+msgid "from %s"
+msgstr "van %s"
+
+#: ../../include/ItemObject.php:315 ../../include/conversation.php:719
+#, php-format
+msgid "last edited: %s"
+msgstr "laatst bewerkt: %s"
+
+#: ../../include/ItemObject.php:316 ../../include/conversation.php:720
+#, php-format
+msgid "Expires: %s"
+msgstr "Verloopt: %s"
+
#: ../../include/ItemObject.php:337
msgid "Save Bookmarks"
msgstr "Bladwijzers opslaan"
@@ -2219,11 +1599,49 @@ msgstr "vinden dit niet leuk"
msgid "Close"
msgstr "Sluiten"
+#: ../../include/ItemObject.php:364 ../../include/conversation.php:737
+#: ../../include/conversation.php:1206 ../../mod/photos.php:950
+#: ../../mod/editlayout.php:153 ../../mod/editwebpage.php:192
+#: ../../mod/editpost.php:130 ../../mod/editblock.php:155
+#: ../../mod/mail.php:241 ../../mod/mail.php:356
+msgid "Please wait"
+msgstr "Even wachten"
+
#: ../../include/ItemObject.php:665 ../../mod/photos.php:966
#: ../../mod/photos.php:1084
msgid "This is you"
msgstr "Dit ben jij"
+#: ../../include/ItemObject.php:669 ../../include/conversation.php:1179
+#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:179
+#: ../../mod/editpost.php:114 ../../mod/editblock.php:141
+msgid "Bold"
+msgstr "Vet"
+
+#: ../../include/ItemObject.php:670 ../../include/conversation.php:1180
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:180
+#: ../../mod/editpost.php:115 ../../mod/editblock.php:142
+msgid "Italic"
+msgstr "Cursief"
+
+#: ../../include/ItemObject.php:671 ../../include/conversation.php:1181
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:181
+#: ../../mod/editpost.php:116 ../../mod/editblock.php:143
+msgid "Underline"
+msgstr "Onderstrepen"
+
+#: ../../include/ItemObject.php:672 ../../include/conversation.php:1182
+#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:182
+#: ../../mod/editpost.php:117 ../../mod/editblock.php:144
+msgid "Quote"
+msgstr "Citeren"
+
+#: ../../include/ItemObject.php:673 ../../include/conversation.php:1183
+#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:183
+#: ../../mod/editpost.php:118 ../../mod/editblock.php:145
+msgid "Code"
+msgstr "Broncode"
+
#: ../../include/ItemObject.php:674
msgid "Image"
msgstr "Afbeelding"
@@ -2236,205 +1654,379 @@ msgstr "Link invoegen"
msgid "Video"
msgstr "Video"
-#: ../../include/datetime.php:35
-msgid "Miscellaneous"
-msgstr "Diversen"
+#: ../../include/ItemObject.php:680 ../../include/conversation.php:1233
+#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:361
+msgid "Encrypt text"
+msgstr "Tekst versleutelen"
-#: ../../include/datetime.php:113
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "JJJJ-MM-DD of MM-DD"
+#: ../../include/Contact.php:124
+msgid "New window"
+msgstr "Nieuw venster"
-#: ../../include/datetime.php:214 ../../mod/events.php:635
-#: ../../mod/appman.php:91 ../../mod/appman.php:92
-msgid "Required"
-msgstr "Vereist"
+#: ../../include/Contact.php:125
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Open de geselecteerde locatie in een ander venster of tab"
-#: ../../include/datetime.php:233 ../../boot.php:2356
-msgid "never"
-msgstr "nooit"
+#: ../../include/Contact.php:215 ../../mod/admin.php:730
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Account '%s' verwijderd"
-#: ../../include/datetime.php:239
-msgid "less than a second ago"
-msgstr "minder dan een seconde geleden"
+#: ../../include/bb2diaspora.php:373
+msgid "Attachments:"
+msgstr "Bijlagen:"
-#: ../../include/datetime.php:242
-msgid "year"
-msgstr "jaar"
+#: ../../include/bb2diaspora.php:453
+msgid "Redmatrix event notification:"
+msgstr "Notificatie RedMatrix-gebeurtenis:"
-#: ../../include/datetime.php:242
-msgid "years"
-msgstr "jaren"
+#: ../../include/text.php:329
+msgid "prev"
+msgstr "vorige"
-#: ../../include/datetime.php:243
-msgid "month"
-msgstr "maand"
+#: ../../include/text.php:331
+msgid "first"
+msgstr "eerste"
-#: ../../include/datetime.php:243
-msgid "months"
-msgstr "maanden"
+#: ../../include/text.php:360
+msgid "last"
+msgstr "laatste"
-#: ../../include/datetime.php:244
-msgid "week"
-msgstr "week"
+#: ../../include/text.php:363
+msgid "next"
+msgstr "volgende"
-#: ../../include/datetime.php:244
-msgid "weeks"
-msgstr "weken"
+#: ../../include/text.php:373
+msgid "older"
+msgstr "ouder"
-#: ../../include/datetime.php:245
-msgid "day"
-msgstr "dag"
+#: ../../include/text.php:375
+msgid "newer"
+msgstr "nieuwer"
-#: ../../include/datetime.php:245
-msgid "days"
-msgstr "dagen"
+#: ../../include/text.php:768
+msgid "No connections"
+msgstr "Geen connecties"
-#: ../../include/datetime.php:246
-msgid "hour"
-msgstr "uur"
+#: ../../include/text.php:782
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d connectie"
+msgstr[1] "%d connecties"
-#: ../../include/datetime.php:246
-msgid "hours"
-msgstr "uren"
+#: ../../include/text.php:795 ../../mod/viewconnections.php:104
+msgid "View Connections"
+msgstr "Connecties weergeven"
-#: ../../include/datetime.php:247
-msgid "minute"
-msgstr "minuut"
+#: ../../include/text.php:852 ../../include/text.php:864
+#: ../../include/nav.php:165 ../../include/apps.php:147
+#: ../../mod/search.php:38
+msgid "Search"
+msgstr "Zoeken"
-#: ../../include/datetime.php:247
-msgid "minutes"
-msgstr "minuten"
+#: ../../include/text.php:928
+msgid "poke"
+msgstr "aanstoten"
-#: ../../include/datetime.php:248
-msgid "second"
-msgstr "seconde"
+#: ../../include/text.php:928 ../../include/conversation.php:243
+msgid "poked"
+msgstr "aangestoten"
-#: ../../include/datetime.php:248
-msgid "seconds"
-msgstr "seconden"
+#: ../../include/text.php:929
+msgid "ping"
+msgstr "ping"
-#: ../../include/datetime.php:257
-#, php-format
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s geleden"
+#: ../../include/text.php:929
+msgid "pinged"
+msgstr "gepingd"
-#: ../../include/datetime.php:465
-#, php-format
-msgid "%1$s's birthday"
-msgstr "Verjaardag van %1$s"
+#: ../../include/text.php:930
+msgid "prod"
+msgstr "por"
-#: ../../include/datetime.php:466
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Gefeliciteerd met je verjaardag %1$s"
+#: ../../include/text.php:930
+msgid "prodded"
+msgstr "gepord"
-#: ../../include/Contact.php:124
-msgid "New window"
-msgstr "Nieuw venster"
+#: ../../include/text.php:931
+msgid "slap"
+msgstr "slaan"
-#: ../../include/Contact.php:125
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Open de geselecteerde locatie in een ander venster of tab"
+#: ../../include/text.php:931
+msgid "slapped"
+msgstr "sloeg"
-#: ../../include/Contact.php:215 ../../mod/admin.php:729
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Account '%s' verwijderd"
+#: ../../include/text.php:932
+msgid "finger"
+msgstr "finger"
-#: ../../include/bb2diaspora.php:373
-msgid "Attachments:"
-msgstr "Bijlagen:"
+#: ../../include/text.php:932
+msgid "fingered"
+msgstr "gefingerd"
-#: ../../include/bb2diaspora.php:451 ../../include/event.php:11
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\@ G:i"
+#: ../../include/text.php:933
+msgid "rebuff"
+msgstr "afpoeieren"
-#: ../../include/bb2diaspora.php:453
-msgid "Redmatrix event notification:"
-msgstr "Notificatie RedMatrix-gebeurtenis:"
+#: ../../include/text.php:933
+msgid "rebuffed"
+msgstr "afgepoeierd"
-#: ../../include/bb2diaspora.php:457 ../../include/event.php:20
-msgid "Starts:"
-msgstr "Start:"
+#: ../../include/text.php:943
+msgid "happy"
+msgstr "gelukkig"
-#: ../../include/bb2diaspora.php:465 ../../include/event.php:30
-msgid "Finishes:"
-msgstr "Einde:"
+#: ../../include/text.php:944
+msgid "sad"
+msgstr "bedroefd"
-#: ../../include/items.php:382 ../../mod/like.php:270
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
-#: ../../mod/bulksetclose.php:11 ../../index.php:392
-msgid "Permission denied"
-msgstr "Toegang geweigerd"
+#: ../../include/text.php:945
+msgid "mellow"
+msgstr "mellow"
-#: ../../include/items.php:979 ../../include/items.php:1024
-msgid "(Unknown)"
-msgstr "(Onbekend)"
+#: ../../include/text.php:946
+msgid "tired"
+msgstr "moe"
-#: ../../include/items.php:1181
-msgid "Visible to anybody on the internet."
-msgstr "Voor iedereen op het internet zichtbaar."
+#: ../../include/text.php:947
+msgid "perky"
+msgstr "parmantig"
-#: ../../include/items.php:1183
-msgid "Visible to you only."
-msgstr "Alleen voor jou zichtbaar."
+#: ../../include/text.php:948
+msgid "angry"
+msgstr "boos"
-#: ../../include/items.php:1185
-msgid "Visible to anybody in this network."
-msgstr "Voor iedereen in dit netwerk zichtbaar."
+#: ../../include/text.php:949
+msgid "stupified"
+msgstr "beteuterd"
-#: ../../include/items.php:1187
-msgid "Visible to anybody authenticated."
-msgstr "Voor iedereen die geauthenticeerd is zichtbaar."
+#: ../../include/text.php:950
+msgid "puzzled"
+msgstr "verward"
-#: ../../include/items.php:1189
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Voor iedereen op %s zichtbaar."
+#: ../../include/text.php:951
+msgid "interested"
+msgstr "geïnteresseerd"
-#: ../../include/items.php:1191
-msgid "Visible to all connections."
-msgstr "Voor alle connecties zichtbaar."
+#: ../../include/text.php:952
+msgid "bitter"
+msgstr "verbitterd"
-#: ../../include/items.php:1193
-msgid "Visible to approved connections."
-msgstr "Voor alle goedgekeurde connecties zichtbaar."
+#: ../../include/text.php:953
+msgid "cheerful"
+msgstr "vrolijk"
-#: ../../include/items.php:1195
-msgid "Visible to specific connections."
-msgstr "Voor specifieke connecties zichtbaar."
+#: ../../include/text.php:954
+msgid "alive"
+msgstr "levendig"
-#: ../../include/items.php:4027 ../../mod/thing.php:76
-#: ../../mod/display.php:36 ../../mod/filestorage.php:27
-#: ../../mod/viewsrc.php:20 ../../mod/admin.php:167 ../../mod/admin.php:984
-#: ../../mod/admin.php:1184
-msgid "Item not found."
-msgstr "Item niet gevonden."
+#: ../../include/text.php:955
+msgid "annoyed"
+msgstr "geërgerd"
-#: ../../include/items.php:4479 ../../mod/group.php:38 ../../mod/group.php:140
-#: ../../mod/bulksetclose.php:51
-msgid "Collection not found."
-msgstr "Collectie niet gevonden."
+#: ../../include/text.php:956
+msgid "anxious"
+msgstr "bezorgd"
-#: ../../include/items.php:4494
-msgid "Collection is empty."
-msgstr "Collectie is leeg"
+#: ../../include/text.php:957
+msgid "cranky"
+msgstr "humeurig"
-#: ../../include/items.php:4501
-#, php-format
-msgid "Collection: %s"
-msgstr "Collectie: %s"
+#: ../../include/text.php:958
+msgid "disturbed"
+msgstr "verontrust"
-#: ../../include/items.php:4512
-#, php-format
-msgid "Connection: %s"
-msgstr "Connectie: %s"
+#: ../../include/text.php:959
+msgid "frustrated"
+msgstr "gefrustreerd "
-#: ../../include/items.php:4515
-msgid "Connection not found."
-msgstr "Connectie niet gevonden."
+#: ../../include/text.php:960
+msgid "depressed"
+msgstr "gedeprimeerd"
+
+#: ../../include/text.php:961
+msgid "motivated"
+msgstr "gemotiveerd"
+
+#: ../../include/text.php:962
+msgid "relaxed"
+msgstr "ontspannen"
+
+#: ../../include/text.php:963
+msgid "surprised"
+msgstr "verrast"
+
+#: ../../include/text.php:1135
+msgid "Monday"
+msgstr "maandag"
+
+#: ../../include/text.php:1135
+msgid "Tuesday"
+msgstr "dinsdag"
+
+#: ../../include/text.php:1135
+msgid "Wednesday"
+msgstr "woensdag"
+
+#: ../../include/text.php:1135
+msgid "Thursday"
+msgstr "donderdag"
+
+#: ../../include/text.php:1135
+msgid "Friday"
+msgstr "vrijdag"
+
+#: ../../include/text.php:1135
+msgid "Saturday"
+msgstr "zaterdag"
+
+#: ../../include/text.php:1135
+msgid "Sunday"
+msgstr "zondag"
+
+#: ../../include/text.php:1139
+msgid "January"
+msgstr "januari"
+
+#: ../../include/text.php:1139
+msgid "February"
+msgstr "februari"
+
+#: ../../include/text.php:1139
+msgid "March"
+msgstr "maart"
+
+#: ../../include/text.php:1139
+msgid "April"
+msgstr "april"
+
+#: ../../include/text.php:1139
+msgid "May"
+msgstr "mei"
+
+#: ../../include/text.php:1139
+msgid "June"
+msgstr "juni"
+
+#: ../../include/text.php:1139
+msgid "July"
+msgstr "juli"
+
+#: ../../include/text.php:1139
+msgid "August"
+msgstr "augustus"
+
+#: ../../include/text.php:1139
+msgid "September"
+msgstr "september"
+
+#: ../../include/text.php:1139
+msgid "October"
+msgstr "oktober"
+
+#: ../../include/text.php:1139
+msgid "November"
+msgstr "november"
+
+#: ../../include/text.php:1139
+msgid "December"
+msgstr "december"
+
+#: ../../include/text.php:1236
+msgid "unknown.???"
+msgstr "onbekend.???"
+
+#: ../../include/text.php:1237
+msgid "bytes"
+msgstr "bytes"
+
+#: ../../include/text.php:1273
+msgid "remove category"
+msgstr "categorie verwijderen"
+
+#: ../../include/text.php:1348
+msgid "remove from file"
+msgstr "uit map verwijderen"
+
+#: ../../include/text.php:1424 ../../include/text.php:1435
+#: ../../mod/connedit.php:661
+msgid "Click to open/close"
+msgstr "Klik om te openen of te sluiten"
+
+#: ../../include/text.php:1591 ../../mod/events.php:444
+msgid "Link to Source"
+msgstr "Originele locatie"
+
+#: ../../include/text.php:1612 ../../include/text.php:1683
+msgid "default"
+msgstr "standaard"
+
+#: ../../include/text.php:1620
+msgid "Page layout"
+msgstr "Lay-out pagina"
+
+#: ../../include/text.php:1620
+msgid "You can create your own with the layouts tool"
+msgstr "Je kan jouw eigen lay-out ontwerpen onder lay-outs"
+
+#: ../../include/text.php:1661
+msgid "Page content type"
+msgstr "Opmaaktype pagina"
-#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1551
+#: ../../include/text.php:1695
+msgid "Select an alternate language"
+msgstr "Kies een andere taal"
+
+#: ../../include/text.php:1814 ../../include/conversation.php:120
+#: ../../include/diaspora.php:2081 ../../mod/like.php:346
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:43
+msgid "photo"
+msgstr "foto"
+
+#: ../../include/text.php:1817 ../../include/conversation.php:123
+#: ../../mod/like.php:348 ../../mod/tagger.php:47
+msgid "event"
+msgstr "gebeurtenis"
+
+#: ../../include/text.php:1820 ../../include/conversation.php:148
+#: ../../include/diaspora.php:2081 ../../mod/like.php:346
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:51
+msgid "status"
+msgstr "bericht"
+
+#: ../../include/text.php:1822 ../../include/conversation.php:150
+#: ../../mod/tagger.php:53
+msgid "comment"
+msgstr "reactie"
+
+#: ../../include/text.php:1827
+msgid "activity"
+msgstr "activiteit"
+
+#: ../../include/text.php:2122
+msgid "Design Tools"
+msgstr "Ontwerp-hulpmiddelen"
+
+#: ../../include/text.php:2125 ../../mod/blocks.php:143
+msgid "Blocks"
+msgstr "Blokken"
+
+#: ../../include/text.php:2126 ../../mod/menu.php:95
+msgid "Menus"
+msgstr "Menu's"
+
+#: ../../include/text.php:2127 ../../mod/layouts.php:169
+msgid "Layouts"
+msgstr "Lay-outs"
+
+#: ../../include/text.php:2128
+msgid "Pages"
+msgstr "Pagina's"
+
+#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1539
msgid "Logout"
msgstr "Uitloggen"
@@ -2450,6 +2042,11 @@ msgstr "Home"
msgid "Your posts and conversations"
msgstr "Jouw berichten en conversaties"
+#: ../../include/nav.php:91 ../../include/conversation.php:942
+#: ../../mod/connedit.php:494 ../../mod/connedit.php:660
+msgid "View Profile"
+msgstr "Profiel weergeven"
+
#: ../../include/nav.php:91
msgid "Your profile page"
msgstr "Jouw profielpagina"
@@ -2462,10 +2059,19 @@ msgstr "Bewerk profielen"
msgid "Manage/Edit profiles"
msgstr "Beheer/wijzig profielen"
+#: ../../include/nav.php:95 ../../include/identity.php:846
+msgid "Edit Profile"
+msgstr "Profiel bewerken"
+
#: ../../include/nav.php:95
msgid "Edit your profile"
msgstr "Jouw profiel bewerken"
+#: ../../include/nav.php:97 ../../include/conversation.php:1597
+#: ../../include/apps.php:139 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "Foto's"
+
#: ../../include/nav.php:97
msgid "Your photos"
msgstr "Jouw foto's"
@@ -2482,15 +2088,25 @@ msgstr "Chatten"
msgid "Your chatrooms"
msgstr "Jouw chatkanalen"
+#: ../../include/nav.php:109 ../../include/conversation.php:1632
+#: ../../include/apps.php:129
+msgid "Bookmarks"
+msgstr "Bladwijzers"
+
#: ../../include/nav.php:109
msgid "Your bookmarks"
msgstr "Jouw bladwijzers"
+#: ../../include/nav.php:113 ../../include/conversation.php:1642
+#: ../../include/apps.php:136 ../../mod/webpages.php:176
+msgid "Webpages"
+msgstr "Webpagina's"
+
#: ../../include/nav.php:113
msgid "Your webpages"
msgstr "Jouw webpagina's"
-#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1552
+#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1540
msgid "Login"
msgstr "Inloggen"
@@ -2515,7 +2131,7 @@ msgstr "Authenticeer jezelf via (bijvoorbeeld) jouw RedMatrix-hub"
msgid "Home Page"
msgstr "Homepage"
-#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1528
+#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1516
msgid "Register"
msgstr "Registreren"
@@ -2524,7 +2140,7 @@ msgid "Create an account"
msgstr "Maak een account aan"
#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
-#: ../../mod/help.php:72
+#: ../../mod/help.php:72 ../../mod/layouts.php:171
msgid "Help"
msgstr "Hulp"
@@ -2536,18 +2152,12 @@ msgstr "Hulp en documentatie"
msgid "Applications, utilities, links, games"
msgstr "Apps"
-#: ../../include/nav.php:165 ../../include/apps.php:147
-#: ../../include/text.php:832 ../../include/text.php:844
-#: ../../mod/search.php:38
-msgid "Search"
-msgstr "Zoeken"
-
#: ../../include/nav.php:165
msgid "Search site content"
msgstr "Inhoud van deze RedMatrix-hub doorzoeken"
#: ../../include/nav.php:168 ../../include/apps.php:141
-#: ../../mod/directory.php:353
+#: ../../mod/directory.php:366
msgid "Directory"
msgstr "Kanalengids"
@@ -2641,7 +2251,7 @@ msgid "Mark all events seen"
msgstr "Markeer alle gebeurtenissen als bekeken"
#: ../../include/nav.php:206 ../../include/apps.php:132
-#: ../../mod/manage.php:164
+#: ../../mod/manage.php:166
msgid "Channel Manager"
msgstr "Kanaalbeheer"
@@ -2661,6 +2271,10 @@ msgstr "Beheer"
msgid "Site Setup and Configuration"
msgstr "Hub instellen en beheren"
+#: ../../include/nav.php:247 ../../include/conversation.php:850
+msgid "Loading..."
+msgstr "Aan het laden..."
+
#: ../../include/nav.php:252
msgid "@name, #tag, content"
msgstr "@kanaal, #label, inhoud"
@@ -2673,31 +2287,31 @@ msgstr "Wachten aub..."
msgid "Tags"
msgstr "Tags"
-#: ../../include/taxonomy.php:282
+#: ../../include/taxonomy.php:287
msgid "Keywords"
msgstr "Trefwoorden"
-#: ../../include/taxonomy.php:303
+#: ../../include/taxonomy.php:308
msgid "have"
msgstr "heb"
-#: ../../include/taxonomy.php:303
+#: ../../include/taxonomy.php:308
msgid "has"
msgstr "heeft"
-#: ../../include/taxonomy.php:304
+#: ../../include/taxonomy.php:309
msgid "want"
msgstr "wil"
-#: ../../include/taxonomy.php:304
+#: ../../include/taxonomy.php:309
msgid "wants"
msgstr "wil"
-#: ../../include/taxonomy.php:305
+#: ../../include/taxonomy.php:310
msgid "likes"
msgstr "vindt dit leuk"
-#: ../../include/taxonomy.php:306
+#: ../../include/taxonomy.php:311
msgid "dislikes"
msgstr "vindt dit niet leuk"
@@ -2724,278 +2338,829 @@ msgstr "Bezoek het %2$s van %1$s"
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr "%1$s heeft een aangepaste %2$s, %3$s veranderd."
-#: ../../include/event.php:376
-msgid "This event has been added to your calendar."
-msgstr "Dit evenement is aan jouw agenda toegevoegd."
+#: ../../include/bbcode.php:122 ../../include/bbcode.php:735
+#: ../../include/bbcode.php:738 ../../include/bbcode.php:743
+#: ../../include/bbcode.php:746 ../../include/bbcode.php:749
+#: ../../include/bbcode.php:752 ../../include/bbcode.php:757
+#: ../../include/bbcode.php:760 ../../include/bbcode.php:765
+#: ../../include/bbcode.php:768 ../../include/bbcode.php:771
+#: ../../include/bbcode.php:774
+msgid "Image/photo"
+msgstr "Afbeelding/foto"
-#: ../../include/api.php:1095
-msgid "Public Timeline"
-msgstr "Openbare tijdlijn"
+#: ../../include/bbcode.php:161 ../../include/bbcode.php:785
+msgid "Encrypted content"
+msgstr "Versleutelde inhoud"
-#: ../../include/dir_fns.php:134
-msgid "Directory Options"
-msgstr "Opties kanalengids"
+#: ../../include/bbcode.php:177
+msgid "Install design element: "
+msgstr "Installeer ontwerpelement: "
-#: ../../include/dir_fns.php:135
-msgid "Alphabetic"
-msgstr "Alfabetisch"
+#: ../../include/bbcode.php:190
+msgid "QR code"
+msgstr "QR-code"
-#: ../../include/dir_fns.php:136
-msgid "Reverse Alphabetic"
-msgstr "Omgekeerd alfabetisch"
+#: ../../include/bbcode.php:241
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s schreef het volgende %2$s %3$s"
-#: ../../include/dir_fns.php:137
-msgid "Newest to Oldest"
-msgstr "Nieuw naar oud"
+#: ../../include/bbcode.php:243
+msgid "post"
+msgstr "bericht"
-#: ../../include/dir_fns.php:138
-msgid "Oldest to Newest"
-msgstr "Oud naar nieuw"
+#: ../../include/bbcode.php:485
+msgid "Different viewers will see this text differently"
+msgstr "Deze tekst wordt per persoon anders weergeven."
-#: ../../include/dir_fns.php:139
-msgid "Sort"
-msgstr "Sorteren"
+#: ../../include/bbcode.php:696
+msgid "$1 spoiler"
+msgstr "$1 spoiler"
-#: ../../include/dir_fns.php:143
-msgid "Safe Mode"
-msgstr "Veilig zoeken"
+#: ../../include/bbcode.php:723
+msgid "$1 wrote:"
+msgstr "$1 schreef:"
-#: ../../include/dir_fns.php:145
-msgid "Public Forums Only"
-msgstr "Alleen openbare forums"
+#: ../../include/items.php:399 ../../mod/like.php:270
+#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
+#: ../../mod/bulksetclose.php:11 ../../index.php:392
+msgid "Permission denied"
+msgstr "Toegang geweigerd"
-#: ../../include/dir_fns.php:146
-msgid "This Website Only"
-msgstr "Alleen deze hub"
+#: ../../include/items.php:1012 ../../include/items.php:1058
+msgid "(Unknown)"
+msgstr "(Onbekend)"
-#: ../../include/oembed.php:183
-msgid "Embedded content"
-msgstr "Ingesloten inhoud"
+#: ../../include/items.php:1226
+msgid "Visible to anybody on the internet."
+msgstr "Voor iedereen op het internet zichtbaar."
-#: ../../include/oembed.php:192
-msgid "Embedding disabled"
-msgstr "Insluiten uitgeschakeld"
+#: ../../include/items.php:1228
+msgid "Visible to you only."
+msgstr "Alleen voor jou zichtbaar."
-#: ../../include/zot.php:679
-msgid "Invalid data packet"
-msgstr "Datapakket ongeldig"
+#: ../../include/items.php:1230
+msgid "Visible to anybody in this network."
+msgstr "Voor iedereen in dit netwerk zichtbaar."
-#: ../../include/zot.php:695
-msgid "Unable to verify channel signature"
-msgstr "Kanaalkenmerk kon niet worden geverifieerd. "
+#: ../../include/items.php:1232
+msgid "Visible to anybody authenticated."
+msgstr "Voor iedereen die geauthenticeerd is zichtbaar."
-#: ../../include/zot.php:2079
+#: ../../include/items.php:1234
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Hubkenmerk voor %s kon niet worden geverifieerd"
+msgid "Visible to anybody on %s."
+msgstr "Voor iedereen op %s zichtbaar."
-#: ../../include/auth.php:131
-msgid "Logged out."
-msgstr "Uitgelogd."
+#: ../../include/items.php:1236
+msgid "Visible to all connections."
+msgstr "Voor alle connecties zichtbaar."
-#: ../../include/auth.php:272
-msgid "Failed authentication"
-msgstr "Mislukte authenticatie"
+#: ../../include/items.php:1238
+msgid "Visible to approved connections."
+msgstr "Voor alle goedgekeurde connecties zichtbaar."
-#: ../../include/auth.php:286 ../../mod/openid.php:190
-msgid "Login failed."
-msgstr "Inloggen mislukt."
+#: ../../include/items.php:1240
+msgid "Visible to specific connections."
+msgstr "Voor specifieke connecties zichtbaar."
-#: ../../include/enotify.php:41
-msgid "Red Matrix Notification"
-msgstr "RedMatrix-notificatie"
+#: ../../include/items.php:4051 ../../mod/thing.php:74
+#: ../../mod/display.php:36 ../../mod/filestorage.php:27
+#: ../../mod/viewsrc.php:20 ../../mod/admin.php:167 ../../mod/admin.php:984
+#: ../../mod/admin.php:1184
+msgid "Item not found."
+msgstr "Item niet gevonden."
-#: ../../include/enotify.php:42
-msgid "redmatrix"
-msgstr "RedMatrix"
+#: ../../include/items.php:4124 ../../include/photos.php:26
+#: ../../include/attach.php:136 ../../include/attach.php:183
+#: ../../include/attach.php:246 ../../include/attach.php:260
+#: ../../include/attach.php:304 ../../include/attach.php:318
+#: ../../include/attach.php:343 ../../include/attach.php:539
+#: ../../include/attach.php:611 ../../include/chat.php:131
+#: ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/achievements.php:30 ../../mod/manage.php:6
+#: ../../mod/settings.php:564 ../../mod/api.php:26 ../../mod/api.php:31
+#: ../../mod/thing.php:241 ../../mod/thing.php:256 ../../mod/thing.php:290
+#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
+#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
+#: ../../mod/events.php:219 ../../mod/group.php:9 ../../mod/setup.php:207
+#: ../../mod/common.php:35 ../../mod/connections.php:169
+#: ../../mod/photos.php:68 ../../mod/pdledit.php:21 ../../mod/authtest.php:13
+#: ../../mod/editlayout.php:64 ../../mod/editlayout.php:89
+#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/editwebpage.php:64
+#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101
+#: ../../mod/editwebpage.php:125 ../../mod/rate.php:110
+#: ../../mod/editpost.php:13 ../../mod/invite.php:13 ../../mod/invite.php:104
+#: ../../mod/locs.php:77 ../../mod/sources.php:66 ../../mod/menu.php:69
+#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
+#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
+#: ../../mod/fsuggest.php:78 ../../mod/poke.php:128 ../../mod/webpages.php:69
+#: ../../mod/profiles.php:188 ../../mod/profiles.php:576
+#: ../../mod/viewsrc.php:14 ../../mod/mitem.php:115
+#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
+#: ../../mod/editblock.php:65 ../../mod/register.php:72 ../../mod/item.php:206
+#: ../../mod/item.php:214 ../../mod/item.php:962 ../../mod/blocks.php:69
+#: ../../mod/blocks.php:76 ../../mod/id.php:71 ../../mod/message.php:16
+#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
+#: ../../mod/mood.php:111 ../../mod/connedit.php:331 ../../mod/mail.php:114
+#: ../../mod/notifications.php:66 ../../mod/regmod.php:17
+#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
+#: ../../mod/appman.php:66 ../../mod/network.php:12 ../../mod/page.php:28
+#: ../../mod/page.php:79 ../../mod/bookmarks.php:46 ../../mod/channel.php:100
+#: ../../mod/channel.php:219 ../../mod/channel.php:262
+#: ../../mod/suggest.php:26 ../../mod/service_limits.php:7
+#: ../../mod/sharedwithme.php:7 ../../index.php:190 ../../index.php:393
+msgid "Permission denied."
+msgstr "Toegang geweigerd"
-#: ../../include/enotify.php:44
-msgid "Thank You,"
-msgstr "Bedankt,"
+#: ../../include/items.php:4524 ../../mod/group.php:38 ../../mod/group.php:140
+#: ../../mod/bulksetclose.php:51
+msgid "Collection not found."
+msgstr "Collectie niet gevonden."
-#: ../../include/enotify.php:46
-#, php-format
-msgid "%s Administrator"
-msgstr "Beheerder %s"
+#: ../../include/items.php:4540
+msgid "Collection is empty."
+msgstr "Collectie is leeg"
-#: ../../include/enotify.php:81
+#: ../../include/items.php:4547
#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
+msgid "Collection: %s"
+msgstr "Collectie: %s"
-#: ../../include/enotify.php:85
+#: ../../include/items.php:4557
#, php-format
-msgid "[Red:Notify] New mail received at %s"
-msgstr "[Red:Notificatie] Nieuw privébericht ontvangen op %s"
+msgid "Connection: %s"
+msgstr "Connectie: %s"
-#: ../../include/enotify.php:87
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, %2$s zond jou een nieuw privébericht om %3$s."
+#: ../../include/items.php:4559
+msgid "Connection not found."
+msgstr "Connectie niet gevonden."
-#: ../../include/enotify.php:88
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s zond jou %2$s."
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr "Kan mijn normale kanaalstream en berichten bekijken"
-#: ../../include/enotify.php:88
-msgid "a private message"
-msgstr "een privébericht"
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr "Kan mijn standaard kanaalprofiel bekijken"
-#: ../../include/enotify.php:89
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Bezoek %s om je privéberichten te bekijken en/of er op te reageren."
+#: ../../include/permissions.php:28
+msgid "Can view my photo albums"
+msgstr "Kan mijn fotoalbums bekijken"
-#: ../../include/enotify.php:144
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s gaf een reactie op [zrl=%3$s]een %4$s[/zrl]"
+#: ../../include/permissions.php:29
+msgid "Can view my connections"
+msgstr "Kan een lijst met mijn connecties bekijken"
-#: ../../include/enotify.php:152
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s gaf een reactie op [zrl=%3$s]een %5$s van %4$s[/zrl]"
+#: ../../include/permissions.php:30
+msgid "Can view my file storage"
+msgstr "Kan mijn bestanden bekijken"
-#: ../../include/enotify.php:161
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s gaf een reactie op [zrl=%3$s]jouw %4$s[/zrl]"
+#: ../../include/permissions.php:31
+msgid "Can view my webpages"
+msgstr "Kan mijn pagina's bekijken"
-#: ../../include/enotify.php:172
-#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Red:Notificatie] Reactie op conversatie #%1$d door %2$s"
+#: ../../include/permissions.php:34
+msgid "Can send me their channel stream and posts"
+msgstr "Kan mij de inhoud van hun kanaal en berichten sturen"
-#: ../../include/enotify.php:173
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s gaf een reactie op een bericht/conversatie die jij volgt."
+#: ../../include/permissions.php:35
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Kan een bericht in mijn kanaal plaatsen"
-#: ../../include/enotify.php:176 ../../include/enotify.php:191
-#: ../../include/enotify.php:217 ../../include/enotify.php:236
-#: ../../include/enotify.php:250
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Bezoek %s om de conversatie te bekijken en/of er op te reageren."
+#: ../../include/permissions.php:36
+msgid "Can comment on or like my posts"
+msgstr "Kan op mijn berichten reageren of deze (niet) leuk vinden"
-#: ../../include/enotify.php:182
-#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
-msgstr "[Red:Notificatie] %s heeft een bericht op jouw kanaal geplaatst"
+#: ../../include/permissions.php:37
+msgid "Can send me private mail messages"
+msgstr "Kan mij privéberichten sturen"
-#: ../../include/enotify.php:184
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s heeft om %3$s een bericht op jouw kanaal geplaatst"
+#: ../../include/permissions.php:38
+msgid "Can post photos to my photo albums"
+msgstr "Kan foto's aan mijn fotoalbums toevoegen"
-#: ../../include/enotify.php:186
+#: ../../include/permissions.php:39
+msgid "Can like/dislike stuff"
+msgstr "Kan dingen leuk of niet leuk vinden"
+
+#: ../../include/permissions.php:39
+msgid "Profiles and things other than posts/comments"
+msgstr "Profielen en dingen, buiten berichten en reacties"
+
+#: ../../include/permissions.php:41
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+"
+
+#: ../../include/permissions.php:41
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Geavanceerd - nuttig voor groepforums"
+
+#: ../../include/permissions.php:42
+msgid "Can chat with me (when available)"
+msgstr "Kan met mij chatten (wanneer beschikbaar)"
+
+#: ../../include/permissions.php:43
+msgid "Can write to my file storage"
+msgstr "Kan bestanden aan mijn bestandsopslag toevoegen"
+
+#: ../../include/permissions.php:44
+msgid "Can edit my webpages"
+msgstr "Kan mijn pagina's bewerken"
+
+#: ../../include/permissions.php:46
+msgid "Can source my public posts in derived channels"
+msgstr "Kan mijn openbare berichten als bron voor andere kanalen gebruiken"
+
+#: ../../include/permissions.php:46
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)"
+
+#: ../../include/permissions.php:48
+msgid "Can administer my channel resources"
+msgstr "Kan mijn kanaal beheren"
+
+#: ../../include/permissions.php:48
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet."
+
+#: ../../include/permissions.php:809
+msgid "Social Networking"
+msgstr "Sociaal netwerk"
+
+#: ../../include/permissions.php:809 ../../include/permissions.php:810
+#: ../../include/permissions.php:811
+msgid "Mostly Public"
+msgstr "Vrijwel alles openbaar"
+
+#: ../../include/permissions.php:809 ../../include/permissions.php:810
+#: ../../include/permissions.php:811
+msgid "Restricted"
+msgstr "Beperkt zichtbaar"
+
+#: ../../include/permissions.php:809 ../../include/permissions.php:810
+msgid "Private"
+msgstr "Verborgen kanaal"
+
+#: ../../include/permissions.php:810
+msgid "Community Forum"
+msgstr "Groepsforum"
+
+#: ../../include/permissions.php:811
+msgid "Feed Republish"
+msgstr "Feed herpubliceren"
+
+#: ../../include/permissions.php:812
+msgid "Special Purpose"
+msgstr "Speciaal doel"
+
+#: ../../include/permissions.php:812
+msgid "Celebrity/Soapbox"
+msgstr "Beroemdheid/alleen volgen"
+
+#: ../../include/permissions.php:812
+msgid "Group Repository"
+msgstr "Groepsopslag"
+
+#: ../../include/permissions.php:813 ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97
+msgid "Other"
+msgstr "Anders"
+
+#: ../../include/permissions.php:813
+msgid "Custom/Expert Mode"
+msgstr "Expertmodus/handmatig aanpassen"
+
+#: ../../include/conversation.php:126 ../../mod/like.php:113
+msgid "channel"
+msgstr "kanaal"
+
+#: ../../include/conversation.php:164 ../../include/diaspora.php:2110
+#: ../../mod/like.php:394
#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s heeft een bericht op [zrl=%3$s]jouw kanaal[/zrl] geplaatst"
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s vindt %3$s van %2$s leuk"
-#: ../../include/enotify.php:210
+#: ../../include/conversation.php:167 ../../mod/like.php:396
#, php-format
-msgid "[Red:Notify] %s tagged you"
-msgstr "[Red:Notificatie] %s heeft je genoemd"
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s vindt %3$s van %2$s niet leuk"
-#: ../../include/enotify.php:211
+#: ../../include/conversation.php:204
#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s noemde jou op %3$s"
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s is nu met %2$s verbonden"
-#: ../../include/enotify.php:212
+#: ../../include/conversation.php:239
#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]noemde jou[/zrl]."
+msgid "%1$s poked %2$s"
+msgstr "%1$s heeft %2$s aangestoten"
-#: ../../include/enotify.php:225
+#: ../../include/conversation.php:260 ../../mod/mood.php:63
#, php-format
-msgid "[Red:Notify] %1$s poked you"
-msgstr "[Red:Notificatie] %1$s heeft je aangestoten"
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s is %2$s"
-#: ../../include/enotify.php:226
+#: ../../include/conversation.php:572 ../../mod/photos.php:984
+msgctxt "title"
+msgid "Likes"
+msgstr "vinden dit leuk"
+
+#: ../../include/conversation.php:572 ../../mod/photos.php:984
+msgctxt "title"
+msgid "Dislikes"
+msgstr "vinden dit niet leuk"
+
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
+msgctxt "title"
+msgid "Agree"
+msgstr "eens"
+
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
+msgctxt "title"
+msgid "Disagree"
+msgstr "oneens"
+
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
+msgctxt "title"
+msgid "Abstain"
+msgstr "onthoudingen"
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
+msgctxt "title"
+msgid "Attending"
+msgstr "aanwezig"
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
+msgctxt "title"
+msgid "Not attending"
+msgstr "niet aanwezig"
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
+msgctxt "title"
+msgid "Might attend"
+msgstr "mogelijk aanwezig"
+
+#: ../../include/conversation.php:692
#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s heeft je aangestoten op %3$s"
+msgid "View %s's profile @ %s"
+msgstr "Bekijk het profiel van %s @ %s"
+
+#: ../../include/conversation.php:707
+msgid "Categories:"
+msgstr "Categorieën:"
+
+#: ../../include/conversation.php:708
+msgid "Filed under:"
+msgstr "Bewaard onder:"
+
+#: ../../include/conversation.php:735
+msgid "View in context"
+msgstr "In context bekijken"
+
+#: ../../include/conversation.php:846
+msgid "remove"
+msgstr "verwijderen"
+
+#: ../../include/conversation.php:851
+msgid "Delete Selected Items"
+msgstr "Verwijder de geselecteerde items"
+
+#: ../../include/conversation.php:939
+msgid "View Source"
+msgstr "Bron weergeven"
+
+#: ../../include/conversation.php:940
+msgid "Follow Thread"
+msgstr "Conversatie volgen"
+
+#: ../../include/conversation.php:941
+msgid "View Status"
+msgstr "Status weergeven"
+
+#: ../../include/conversation.php:943
+msgid "View Photos"
+msgstr "Foto's weergeven"
+
+#: ../../include/conversation.php:944
+msgid "Matrix Activity"
+msgstr "Activiteit in de RedMatrix"
+
+#: ../../include/conversation.php:946
+msgid "Edit Contact"
+msgstr "Contact bewerken"
+
+#: ../../include/conversation.php:947
+msgid "Send PM"
+msgstr "Privébericht verzenden"
+
+#: ../../include/conversation.php:948 ../../include/apps.php:145
+msgid "Poke"
+msgstr "Aanstoten"
-#: ../../include/enotify.php:227
+#: ../../include/conversation.php:1062
#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]heeft je aangestoten[/zrl]."
+msgid "%s likes this."
+msgstr "%s vindt dit leuk."
-#: ../../include/enotify.php:243
+#: ../../include/conversation.php:1062
#, php-format
-msgid "[Red:Notify] %s tagged your post"
-msgstr "[Red:Notificatie] %s heeft jouw bericht getagd"
+msgid "%s doesn't like this."
+msgstr "%s vindt dit niet leuk."
-#: ../../include/enotify.php:244
+#: ../../include/conversation.php:1066
#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s heeft jouw bericht om %3$s getagd"
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] "<span %1$s>%2$d persoon</span> vindt dit leuk."
+msgstr[1] "<span %1$s>%2$d personen</span> vinden dit leuk."
-#: ../../include/enotify.php:245
+#: ../../include/conversation.php:1068
#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s heeft [zrl=%3$s]jouw bericht[/zrl] getagd"
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] "<span %1$s>%2$d persoon</span> vindt dit niet leuk."
+msgstr[1] "<span %1$s>%2$d personen</span> vinden dit niet leuk."
-#: ../../include/enotify.php:257
-msgid "[Red:Notify] Introduction received"
-msgstr "[Red:Notificatie] Connectieverzoek ontvangen"
+#: ../../include/conversation.php:1074
+msgid "and"
+msgstr "en"
-#: ../../include/enotify.php:258
+#: ../../include/conversation.php:1077
#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, je hebt een nieuw connectieverzoek ontvangen van '%2$s' op %3$s"
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ", en %d ander persoon"
+msgstr[1] ", en %d andere personen"
-#: ../../include/enotify.php:259
+#: ../../include/conversation.php:1078
#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, je hebt een [zrl=%2$s]nieuw connectieverzoek[/zrl] ontvangen van %3$s."
+msgid "%s like this."
+msgstr "%s vinden dit leuk."
-#: ../../include/enotify.php:263 ../../include/enotify.php:282
+#: ../../include/conversation.php:1078
#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Je kan het profiel bekijken op %s"
+msgid "%s don't like this."
+msgstr "%s vinden dit niet leuk."
-#: ../../include/enotify.php:265
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Bezoek %s om het connectieverzoek te accepteren of af te wijzen."
+#: ../../include/conversation.php:1138
+msgid "Visible to <strong>everybody</strong>"
+msgstr "Voor <strong>iedereen</strong> zichtbaar"
-#: ../../include/enotify.php:272
-msgid "[Red:Notify] Friend suggestion received"
-msgstr "[Red:Notificatie] Kanaalvoorstel ontvangen"
+#: ../../include/conversation.php:1139 ../../mod/mail.php:174
+#: ../../mod/mail.php:289
+msgid "Please enter a link URL:"
+msgstr "Vul een internetadres/URL in:"
-#: ../../include/enotify.php:273
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, je hebt een kanaalvoorstel ontvangen van '%2$s' om %3$s"
+#: ../../include/conversation.php:1140
+msgid "Please enter a video link/URL:"
+msgstr "Vul een videolink/URL in:"
+
+#: ../../include/conversation.php:1141
+msgid "Please enter an audio link/URL:"
+msgstr "Vul een audiolink/URL in:"
+
+#: ../../include/conversation.php:1142
+msgid "Tag term:"
+msgstr "Tag:"
+
+#: ../../include/conversation.php:1143 ../../mod/filer.php:49
+msgid "Save to Folder:"
+msgstr "Bewaar in map: "
+
+#: ../../include/conversation.php:1144
+msgid "Where are you right now?"
+msgstr "Waar bevind je je op dit moment?"
+
+#: ../../include/conversation.php:1145 ../../mod/editpost.php:52
+#: ../../mod/mail.php:175 ../../mod/mail.php:290
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Verloopt op DD-MM-YYYY om HH:MM"
+
+#: ../../include/conversation.php:1172 ../../mod/photos.php:949
+#: ../../mod/editlayout.php:197 ../../mod/webpages.php:180
+#: ../../mod/blocks.php:149 ../../mod/layouts.php:175
+msgid "Share"
+msgstr "Delen"
+
+#: ../../include/conversation.php:1174
+msgid "Page link name"
+msgstr "Linknaam pagina"
+
+#: ../../include/conversation.php:1177
+msgid "Post as"
+msgstr "Bericht plaatsen als"
+
+#: ../../include/conversation.php:1184 ../../mod/editlayout.php:145
+#: ../../mod/editwebpage.php:184 ../../mod/editpost.php:119
+#: ../../mod/editblock.php:147 ../../mod/mail.php:238 ../../mod/mail.php:352
+msgid "Upload photo"
+msgstr "Foto uploaden"
+
+#: ../../include/conversation.php:1185
+msgid "upload photo"
+msgstr "foto uploaden"
+
+#: ../../include/conversation.php:1186 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:185 ../../mod/editpost.php:120
+#: ../../mod/editblock.php:148 ../../mod/mail.php:239 ../../mod/mail.php:353
+msgid "Attach file"
+msgstr "Bestand toevoegen"
+
+#: ../../include/conversation.php:1187
+msgid "attach file"
+msgstr "bestand toevoegen"
+
+#: ../../include/conversation.php:1188 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:186 ../../mod/editpost.php:121
+#: ../../mod/editblock.php:149 ../../mod/mail.php:240 ../../mod/mail.php:354
+msgid "Insert web link"
+msgstr "Weblink invoegen"
+
+#: ../../include/conversation.php:1189
+msgid "web link"
+msgstr "Weblink"
+
+#: ../../include/conversation.php:1190
+msgid "Insert video link"
+msgstr "Videolink invoegen"
+
+#: ../../include/conversation.php:1191
+msgid "video link"
+msgstr "videolink"
+
+#: ../../include/conversation.php:1192
+msgid "Insert audio link"
+msgstr "Audiolink invoegen"
+
+#: ../../include/conversation.php:1193
+msgid "audio link"
+msgstr "audiolink"
+
+#: ../../include/conversation.php:1194 ../../mod/editlayout.php:151
+#: ../../mod/editwebpage.php:190 ../../mod/editpost.php:125
+#: ../../mod/editblock.php:153
+msgid "Set your location"
+msgstr "Locatie instellen"
+
+#: ../../include/conversation.php:1195
+msgid "set location"
+msgstr "locatie instellen"
+
+#: ../../include/conversation.php:1196 ../../mod/editpost.php:127
+msgid "Toggle voting"
+msgstr "Stemmen in- of uitschakelen"
-#: ../../include/enotify.php:274
+#: ../../include/conversation.php:1199 ../../mod/editlayout.php:152
+#: ../../mod/editwebpage.php:191 ../../mod/editpost.php:126
+#: ../../mod/editblock.php:154
+msgid "Clear browser location"
+msgstr "Locatie van webbrowser wissen"
+
+#: ../../include/conversation.php:1200
+msgid "clear location"
+msgstr "locatie wissen"
+
+#: ../../include/conversation.php:1202 ../../mod/editlayout.php:164
+#: ../../mod/editwebpage.php:207 ../../mod/editpost.php:141
+#: ../../mod/editblock.php:167
+msgid "Title (optional)"
+msgstr "Titel (optioneel)"
+
+#: ../../include/conversation.php:1205 ../../mod/editlayout.php:167
+#: ../../mod/editwebpage.php:209 ../../mod/editpost.php:143
+#: ../../mod/editblock.php:170
+msgid "Categories (optional, comma-separated list)"
+msgstr "Categorieën (optioneel, door komma's gescheiden lijst)"
+
+#: ../../include/conversation.php:1207 ../../mod/editlayout.php:154
+#: ../../mod/editwebpage.php:193 ../../mod/editpost.php:131
+#: ../../mod/editblock.php:156
+msgid "Permission settings"
+msgstr "Permissies"
+
+#: ../../include/conversation.php:1208
+msgid "permissions"
+msgstr "permissies"
+
+#: ../../include/conversation.php:1216 ../../mod/editlayout.php:161
+#: ../../mod/editwebpage.php:202 ../../mod/editpost.php:138
+#: ../../mod/editblock.php:164
+msgid "Public post"
+msgstr "Openbaar bericht"
+
+#: ../../include/conversation.php:1218 ../../mod/editlayout.php:168
+#: ../../mod/editwebpage.php:210 ../../mod/editpost.php:144
+#: ../../mod/editblock.php:171
+msgid "Example: bob@example.com, mary@example.com"
+msgstr "Voorbeeld: bob@voorbeeld.nl, mary@voorbeeld.be"
+
+#: ../../include/conversation.php:1231 ../../mod/editlayout.php:177
+#: ../../mod/editwebpage.php:219 ../../mod/editpost.php:155
+#: ../../mod/editblock.php:181 ../../mod/mail.php:245 ../../mod/mail.php:359
+msgid "Set expiration date"
+msgstr "Verloopdatum instellen"
+
+#: ../../include/conversation.php:1235 ../../mod/events.php:637
+#: ../../mod/editpost.php:159
+msgid "OK"
+msgstr "OK"
+
+#: ../../include/conversation.php:1236 ../../mod/settings.php:583
+#: ../../mod/settings.php:609 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+#: ../../mod/events.php:636 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160
+msgid "Cancel"
+msgstr "Annuleren"
+
+#: ../../include/conversation.php:1478
+msgid "Discover"
+msgstr "Ontdekken"
+
+#: ../../include/conversation.php:1481
+msgid "Imported public streams"
+msgstr "Openbare streams importeren"
+
+#: ../../include/conversation.php:1486
+msgid "Commented Order"
+msgstr "Nieuwe reacties bovenaan"
+
+#: ../../include/conversation.php:1489
+msgid "Sort by Comment Date"
+msgstr "Berichten met nieuwe reacties bovenaan"
+
+#: ../../include/conversation.php:1493
+msgid "Posted Order"
+msgstr "Nieuwe berichten bovenaan"
+
+#: ../../include/conversation.php:1496
+msgid "Sort by Post Date"
+msgstr "Nieuwe berichten bovenaan"
+
+#: ../../include/conversation.php:1504
+msgid "Posts that mention or involve you"
+msgstr "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent"
+
+#: ../../include/conversation.php:1510 ../../mod/connections.php:212
+#: ../../mod/connections.php:225 ../../mod/menu.php:102
+msgid "New"
+msgstr "Nieuw"
+
+#: ../../include/conversation.php:1513
+msgid "Activity Stream - by date"
+msgstr "Activiteitenstroom - volgens datum"
+
+#: ../../include/conversation.php:1519
+msgid "Starred"
+msgstr "Met ster"
+
+#: ../../include/conversation.php:1522
+msgid "Favourite Posts"
+msgstr "Favoriete berichten"
+
+#: ../../include/conversation.php:1529
+msgid "Spam"
+msgstr "Spam"
+
+#: ../../include/conversation.php:1532
+msgid "Posts flagged as SPAM"
+msgstr "Berichten gemarkeerd als SPAM"
+
+#: ../../include/conversation.php:1576 ../../mod/admin.php:952
+msgid "Channel"
+msgstr "Kanaal"
+
+#: ../../include/conversation.php:1579
+msgid "Status Messages and Posts"
+msgstr "Berichten in dit kanaal"
+
+#: ../../include/conversation.php:1588
+msgid "About"
+msgstr "Over"
+
+#: ../../include/conversation.php:1591
+msgid "Profile Details"
+msgstr "Profiel"
+
+#: ../../include/conversation.php:1600 ../../include/photos.php:359
+msgid "Photo Albums"
+msgstr "Fotoalbums"
+
+#: ../../include/conversation.php:1609
+msgid "Files and Storage"
+msgstr "Bestanden en opslagruimte"
+
+#: ../../include/conversation.php:1619 ../../include/conversation.php:1622
+msgid "Chatrooms"
+msgstr "Chatkanalen"
+
+#: ../../include/conversation.php:1635
+msgid "Saved Bookmarks"
+msgstr "Opgeslagen bladwijzers"
+
+#: ../../include/conversation.php:1645
+msgid "Manage Webpages"
+msgstr "Webpagina's beheren"
+
+#: ../../include/conversation.php:1704
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "aanwezig"
+msgstr[1] "aanwezig"
+
+#: ../../include/conversation.php:1707
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "niet aanwezig"
+msgstr[1] "niet aanwezig"
+
+#: ../../include/conversation.php:1710
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "nog niet beslist"
+msgstr[1] "nog niet beslist"
+
+#: ../../include/conversation.php:1713
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "eens"
+msgstr[1] "eens"
+
+#: ../../include/conversation.php:1716
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "oneens"
+msgstr[1] "oneens"
+
+#: ../../include/conversation.php:1719
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "onthouding"
+msgstr[1] "onthoudingen"
+
+#: ../../include/photos.php:94
#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, je hebt [zrl=%2$s]een kanaalvoorstel[/zrl] ontvangen voor %3$s van %4$s."
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes"
-#: ../../include/enotify.php:280
-msgid "Name:"
-msgstr "Naam:"
+#: ../../include/photos.php:101
+msgid "Image file is empty."
+msgstr "Afbeeldingsbestand is leeg"
-#: ../../include/enotify.php:281
-msgid "Photo:"
-msgstr "Foto:"
+#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
+msgid "Unable to process image"
+msgstr "Afbeelding kan niet verwerkt worden"
+
+#: ../../include/photos.php:199
+msgid "Photo storage failed."
+msgstr "Foto kan niet worden opgeslagen"
+
+#: ../../include/photos.php:363
+msgid "Upload New Photos"
+msgstr "Nieuwe foto's uploaden"
+
+#: ../../include/zot.php:666
+msgid "Invalid data packet"
+msgstr "Datapakket ongeldig"
-#: ../../include/enotify.php:284
+#: ../../include/zot.php:682
+msgid "Unable to verify channel signature"
+msgstr "Kanaalkenmerk kon niet worden geverifieerd. "
+
+#: ../../include/zot.php:2108
#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Bezoek %s om het voorstel te accepteren of af te wijzen."
+msgid "Unable to verify site signature for %s"
+msgstr "Hubkenmerk voor %s kon niet worden geverifieerd"
-#: ../../include/enotify.php:499
-msgid "[Red:Notify]"
-msgstr "[Red:Notificatie]"
+#: ../../include/oembed.php:183
+msgid "Embedded content"
+msgstr "Ingesloten inhoud"
+
+#: ../../include/oembed.php:192
+msgid "Embedding disabled"
+msgstr "Insluiten uitgeschakeld"
+
+#: ../../include/auth.php:131
+msgid "Logged out."
+msgstr "Uitgelogd."
+
+#: ../../include/auth.php:272
+msgid "Failed authentication"
+msgstr "Mislukte authenticatie"
+
+#: ../../include/auth.php:286 ../../mod/openid.php:190
+msgid "Login failed."
+msgstr "Inloggen mislukt."
#: ../../include/contact_widgets.php:14
#, php-format
@@ -3004,7 +3169,7 @@ msgid_plural "%d invitations available"
msgstr[0] "%d uitnodiging beschikbaar"
msgstr[1] "%d uitnodigingen beschikbaar"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:447
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:450
msgid "Advanced"
msgstr "Geavanceerd"
@@ -3025,12 +3190,12 @@ msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Voorbeeld: Robert Morgenstein, vissen"
#: ../../include/contact_widgets.php:26 ../../mod/connections.php:413
-#: ../../mod/directory.php:349 ../../mod/directory.php:354
+#: ../../mod/directory.php:362 ../../mod/directory.php:367
msgid "Find"
msgstr "Vinden"
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:353
-#: ../../mod/suggest.php:59
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:366
+#: ../../mod/suggest.php:60
msgid "Channel Suggestions"
msgstr "Voorgestelde kanalen"
@@ -3070,39 +3235,315 @@ msgid "Don't show"
msgstr "Niet tonen"
#: ../../include/acl_selectors.php:248 ../../mod/events.php:654
-#: ../../mod/chat.php:209 ../../mod/filestorage.php:147
-#: ../../mod/photos.php:559 ../../mod/photos.php:922
+#: ../../mod/photos.php:559 ../../mod/photos.php:922 ../../mod/chat.php:209
+#: ../../mod/filestorage.php:147
msgid "Permissions"
msgstr "Permissies"
-#: ../../include/photos.php:86
+#: ../../include/attach.php:241 ../../include/attach.php:299
+msgid "Item was not found."
+msgstr "Item niet gevonden"
+
+#: ../../include/attach.php:356
+msgid "No source file."
+msgstr "Geen bronbestand."
+
+#: ../../include/attach.php:374
+msgid "Cannot locate file to replace"
+msgstr "Kan het te vervangen bestand niet vinden"
+
+#: ../../include/attach.php:392
+msgid "Cannot locate file to revise/update"
+msgstr "Kan het bestand wat aangepast moet worden niet vinden"
+
+#: ../../include/attach.php:403
#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes"
+msgid "File exceeds size limit of %d"
+msgstr "Bestand is groter dan de toegelaten %d"
-#: ../../include/photos.php:93
-msgid "Image file is empty."
-msgstr "Afbeeldingsbestand is leeg"
+#: ../../include/attach.php:415
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt."
-#: ../../include/photos.php:121 ../../mod/profile_photo.php:217
-msgid "Unable to process image"
-msgstr "Afbeelding kan niet verwerkt worden"
+#: ../../include/attach.php:498
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken."
-#: ../../include/photos.php:194
-msgid "Photo storage failed."
-msgstr "Foto kan niet worden opgeslagen"
+#: ../../include/attach.php:510
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt."
-#: ../../include/photos.php:360
-msgid "Upload New Photos"
-msgstr "Nieuwe foto's uploaden"
+#: ../../include/attach.php:554 ../../include/attach.php:571
+msgid "Path not available."
+msgstr "Pad niet beschikbaar."
+
+#: ../../include/attach.php:616
+msgid "Empty pathname"
+msgstr "Padnaam leeg"
+
+#: ../../include/attach.php:632
+msgid "duplicate filename or path"
+msgstr "dubbele bestandsnaam of pad"
+
+#: ../../include/attach.php:656
+msgid "Path not found."
+msgstr "Pad niet gevonden"
+
+#: ../../include/attach.php:707
+msgid "mkdir failed."
+msgstr "directory aanmaken (mkdir) mislukt."
+
+#: ../../include/attach.php:711
+msgid "database storage failed."
+msgstr "opslag in database mislukt."
+
+#: ../../include/identity.php:33
+msgid "Unable to obtain identity information from database"
+msgstr "Niet in staat om identiteitsinformatie uit de database te verkrijgen"
+
+#: ../../include/identity.php:67
+msgid "Empty name"
+msgstr "Ontbrekende naam"
+
+#: ../../include/identity.php:70
+msgid "Name too long"
+msgstr "Naam te lang"
+
+#: ../../include/identity.php:186
+msgid "No account identifier"
+msgstr "Geen account-identificator"
+
+#: ../../include/identity.php:198
+msgid "Nickname is required."
+msgstr "Bijnaam is verplicht"
+
+#: ../../include/identity.php:212
+msgid "Reserved nickname. Please choose another."
+msgstr "Deze naam is gereserveerd. Kies een andere."
+
+#: ../../include/identity.php:217 ../../include/dimport.php:34
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik."
+
+#: ../../include/identity.php:292
+msgid "Unable to retrieve created identity"
+msgstr "Niet in staat om aangemaakte identiteit te vinden"
+
+#: ../../include/identity.php:350
+msgid "Default Profile"
+msgstr "Standaardprofiel"
+
+#: ../../include/identity.php:630
+msgid "Requested channel is not available."
+msgstr "Opgevraagd kanaal is niet beschikbaar."
+
+#: ../../include/identity.php:677 ../../mod/profile.php:16
+#: ../../mod/achievements.php:11 ../../mod/connect.php:13
+#: ../../mod/hcard.php:8 ../../mod/editlayout.php:28
+#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:54
+#: ../../mod/webpages.php:29 ../../mod/editblock.php:29
+#: ../../mod/blocks.php:29 ../../mod/layouts.php:29
+msgid "Requested profile is not available."
+msgstr "Opgevraagd profiel is niet beschikbaar"
+
+#: ../../include/identity.php:836 ../../mod/profiles.php:774
+msgid "Change profile photo"
+msgstr "Profielfoto veranderen"
+
+#: ../../include/identity.php:842
+msgid "Profiles"
+msgstr "Profielen"
+
+#: ../../include/identity.php:842
+msgid "Manage/edit profiles"
+msgstr "Profielen beheren/bewerken"
+
+#: ../../include/identity.php:843 ../../mod/profiles.php:775
+msgid "Create New Profile"
+msgstr "Nieuw profiel aanmaken"
+
+#: ../../include/identity.php:858 ../../mod/profiles.php:786
+msgid "Profile Image"
+msgstr "Profielfoto"
+
+#: ../../include/identity.php:861
+msgid "visible to everybody"
+msgstr "Voor iedereen zichtbaar"
+
+#: ../../include/identity.php:862 ../../mod/profiles.php:669
+#: ../../mod/profiles.php:790
+msgid "Edit visibility"
+msgstr "Zichtbaarheid bewerken"
+
+#: ../../include/identity.php:878 ../../include/identity.php:1117
+msgid "Gender:"
+msgstr "Geslacht:"
+
+#: ../../include/identity.php:879 ../../include/identity.php:1161
+msgid "Status:"
+msgstr "Status:"
+
+#: ../../include/identity.php:880 ../../include/identity.php:1172
+msgid "Homepage:"
+msgstr "Homepagina:"
+
+#: ../../include/identity.php:881
+msgid "Online Now"
+msgstr "Nu online"
+
+#: ../../include/identity.php:964 ../../include/identity.php:1042
+#: ../../mod/ping.php:324
+msgid "g A l F d"
+msgstr "G:i, l d F"
+
+#: ../../include/identity.php:965 ../../include/identity.php:1043
+msgid "F d"
+msgstr "d F"
+
+#: ../../include/identity.php:1010 ../../include/identity.php:1082
+#: ../../mod/ping.php:346
+msgid "[today]"
+msgstr "[vandaag]"
+
+#: ../../include/identity.php:1021
+msgid "Birthday Reminders"
+msgstr "Verjaardagsherinneringen"
+
+#: ../../include/identity.php:1022
+msgid "Birthdays this week:"
+msgstr "Verjaardagen deze week:"
+
+#: ../../include/identity.php:1075
+msgid "[No description]"
+msgstr "[Geen omschrijving]"
+
+#: ../../include/identity.php:1093
+msgid "Event Reminders"
+msgstr "Herinneringen"
+
+#: ../../include/identity.php:1094
+msgid "Events this week:"
+msgstr "Gebeurtenissen deze week:"
+
+#: ../../include/identity.php:1107 ../../include/identity.php:1224
+#: ../../include/apps.php:138 ../../mod/profperm.php:112
+msgid "Profile"
+msgstr "Profiel"
+
+#: ../../include/identity.php:1115 ../../mod/settings.php:1045
+msgid "Full Name:"
+msgstr "Volledige naam:"
+
+#: ../../include/identity.php:1122
+msgid "Like this channel"
+msgstr "Vind dit kanaal leuk"
+
+#: ../../include/identity.php:1146
+msgid "j F, Y"
+msgstr "F j Y"
+
+#: ../../include/identity.php:1147
+msgid "j F"
+msgstr "F j"
+
+#: ../../include/identity.php:1154
+msgid "Birthday:"
+msgstr "Geboortedatum:"
+
+#: ../../include/identity.php:1158
+msgid "Age:"
+msgstr "Leeftijd:"
+
+#: ../../include/identity.php:1167
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "voor %1$d %2$s"
+
+#: ../../include/identity.php:1170 ../../mod/profiles.php:691
+msgid "Sexual Preference:"
+msgstr "Seksuele voorkeur:"
+
+#: ../../include/identity.php:1174 ../../mod/profiles.php:693
+msgid "Hometown:"
+msgstr "Oorspronkelijk uit:"
+
+#: ../../include/identity.php:1176
+msgid "Tags:"
+msgstr "Tags:"
+
+#: ../../include/identity.php:1178 ../../mod/profiles.php:694
+msgid "Political Views:"
+msgstr "Politieke overtuigingen:"
+
+#: ../../include/identity.php:1180
+msgid "Religion:"
+msgstr "Religie:"
+
+#: ../../include/identity.php:1182
+msgid "About:"
+msgstr "Over:"
+
+#: ../../include/identity.php:1184
+msgid "Hobbies/Interests:"
+msgstr "Hobby's/interesses:"
+
+#: ../../include/identity.php:1186 ../../mod/profiles.php:697
+msgid "Likes:"
+msgstr "Houdt van:"
+
+#: ../../include/identity.php:1188 ../../mod/profiles.php:698
+msgid "Dislikes:"
+msgstr "Houdt niet van:"
+
+#: ../../include/identity.php:1190
+msgid "Contact information and Social Networks:"
+msgstr "Contactinformatie en sociale netwerken:"
+
+#: ../../include/identity.php:1192
+msgid "My other channels:"
+msgstr "Mijn andere kanalen"
+
+#: ../../include/identity.php:1194
+msgid "Musical interests:"
+msgstr "Muzikale interesses:"
+
+#: ../../include/identity.php:1196
+msgid "Books, literature:"
+msgstr "Boeken, literatuur:"
+
+#: ../../include/identity.php:1198
+msgid "Television:"
+msgstr "Televisie:"
+
+#: ../../include/identity.php:1200
+msgid "Film/dance/culture/entertainment:"
+msgstr "Films/dansen/cultuur/vermaak:"
+
+#: ../../include/identity.php:1202
+msgid "Love/Romance:"
+msgstr "Liefde/romantiek:"
+
+#: ../../include/identity.php:1204
+msgid "Work/employment:"
+msgstr "Werk/beroep:"
+
+#: ../../include/identity.php:1206
+msgid "School/education:"
+msgstr "School/opleiding:"
+
+#: ../../include/identity.php:1226
+msgid "Like this thing"
+msgstr "Vind dit ding leuk"
#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:93
+#: ../../include/profile_selectors.php:23 ../../mod/id.php:103
msgid "Male"
msgstr "Man"
#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:95
+#: ../../include/profile_selectors.php:23 ../../mod/id.php:105
msgid "Female"
msgstr "Vrouw"
@@ -3147,13 +3588,6 @@ msgid "Non-specific"
msgstr "Niet gespecificeerd"
#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97 ../../include/permissions.php:814
-msgid "Other"
-msgstr "Anders"
-
-#: ../../include/profile_selectors.php:6
msgid "Undecided"
msgstr "Nog niet beslist"
@@ -3371,7 +3805,7 @@ msgstr "Uitnodigen "
msgid "Features"
msgstr "Extra functies"
-#: ../../include/apps.php:153 ../../mod/id.php:25
+#: ../../include/apps.php:153 ../../mod/id.php:28
msgid "Language"
msgstr "Taal"
@@ -3379,8 +3813,8 @@ msgstr "Taal"
msgid "Post"
msgstr "Bericht"
-#: ../../include/apps.php:155 ../../mod/id.php:14 ../../mod/id.php:15
-#: ../../mod/id.php:16
+#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
+#: ../../mod/id.php:19
msgid "Profile Photo"
msgstr "Profielfoto"
@@ -3397,314 +3831,6 @@ msgstr "Installeren"
msgid "Purchase"
msgstr "Aanschaffen"
-#: ../../include/text.php:318
-msgid "prev"
-msgstr "vorige"
-
-#: ../../include/text.php:320
-msgid "first"
-msgstr "eerste"
-
-#: ../../include/text.php:349
-msgid "last"
-msgstr "laatste"
-
-#: ../../include/text.php:352
-msgid "next"
-msgstr "volgende"
-
-#: ../../include/text.php:362
-msgid "older"
-msgstr "ouder"
-
-#: ../../include/text.php:364
-msgid "newer"
-msgstr "nieuwer"
-
-#: ../../include/text.php:748
-msgid "No connections"
-msgstr "Geen connecties"
-
-#: ../../include/text.php:762
-#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d connectie"
-msgstr[1] "%d connecties"
-
-#: ../../include/text.php:775 ../../mod/viewconnections.php:86
-msgid "View Connections"
-msgstr "Connecties weergeven"
-
-#: ../../include/text.php:911
-msgid "poke"
-msgstr "aanstoten"
-
-#: ../../include/text.php:912
-msgid "ping"
-msgstr "ping"
-
-#: ../../include/text.php:912
-msgid "pinged"
-msgstr "gepingd"
-
-#: ../../include/text.php:913
-msgid "prod"
-msgstr "por"
-
-#: ../../include/text.php:913
-msgid "prodded"
-msgstr "gepord"
-
-#: ../../include/text.php:914
-msgid "slap"
-msgstr "slaan"
-
-#: ../../include/text.php:914
-msgid "slapped"
-msgstr "sloeg"
-
-#: ../../include/text.php:915
-msgid "finger"
-msgstr "finger"
-
-#: ../../include/text.php:915
-msgid "fingered"
-msgstr "gefingerd"
-
-#: ../../include/text.php:916
-msgid "rebuff"
-msgstr "afpoeieren"
-
-#: ../../include/text.php:916
-msgid "rebuffed"
-msgstr "afgepoeierd"
-
-#: ../../include/text.php:926
-msgid "happy"
-msgstr "gelukkig"
-
-#: ../../include/text.php:927
-msgid "sad"
-msgstr "bedroefd"
-
-#: ../../include/text.php:928
-msgid "mellow"
-msgstr "mellow"
-
-#: ../../include/text.php:929
-msgid "tired"
-msgstr "moe"
-
-#: ../../include/text.php:930
-msgid "perky"
-msgstr "parmantig"
-
-#: ../../include/text.php:931
-msgid "angry"
-msgstr "boos"
-
-#: ../../include/text.php:932
-msgid "stupified"
-msgstr "beteuterd"
-
-#: ../../include/text.php:933
-msgid "puzzled"
-msgstr "verward"
-
-#: ../../include/text.php:934
-msgid "interested"
-msgstr "geïnteresseerd"
-
-#: ../../include/text.php:935
-msgid "bitter"
-msgstr "verbitterd"
-
-#: ../../include/text.php:936
-msgid "cheerful"
-msgstr "vrolijk"
-
-#: ../../include/text.php:937
-msgid "alive"
-msgstr "levendig"
-
-#: ../../include/text.php:938
-msgid "annoyed"
-msgstr "geërgerd"
-
-#: ../../include/text.php:939
-msgid "anxious"
-msgstr "bezorgd"
-
-#: ../../include/text.php:940
-msgid "cranky"
-msgstr "humeurig"
-
-#: ../../include/text.php:941
-msgid "disturbed"
-msgstr "verontrust"
-
-#: ../../include/text.php:942
-msgid "frustrated"
-msgstr "gefrustreerd "
-
-#: ../../include/text.php:943
-msgid "depressed"
-msgstr "gedeprimeerd"
-
-#: ../../include/text.php:944
-msgid "motivated"
-msgstr "gemotiveerd"
-
-#: ../../include/text.php:945
-msgid "relaxed"
-msgstr "ontspannen"
-
-#: ../../include/text.php:946
-msgid "surprised"
-msgstr "verrast"
-
-#: ../../include/text.php:1111
-msgid "Monday"
-msgstr "maandag"
-
-#: ../../include/text.php:1111
-msgid "Tuesday"
-msgstr "dinsdag"
-
-#: ../../include/text.php:1111
-msgid "Wednesday"
-msgstr "woensdag"
-
-#: ../../include/text.php:1111
-msgid "Thursday"
-msgstr "donderdag"
-
-#: ../../include/text.php:1111
-msgid "Friday"
-msgstr "vrijdag"
-
-#: ../../include/text.php:1111
-msgid "Saturday"
-msgstr "zaterdag"
-
-#: ../../include/text.php:1111
-msgid "Sunday"
-msgstr "zondag"
-
-#: ../../include/text.php:1115
-msgid "January"
-msgstr "januari"
-
-#: ../../include/text.php:1115
-msgid "February"
-msgstr "februari"
-
-#: ../../include/text.php:1115
-msgid "March"
-msgstr "maart"
-
-#: ../../include/text.php:1115
-msgid "April"
-msgstr "april"
-
-#: ../../include/text.php:1115
-msgid "May"
-msgstr "mei"
-
-#: ../../include/text.php:1115
-msgid "June"
-msgstr "juni"
-
-#: ../../include/text.php:1115
-msgid "July"
-msgstr "juli"
-
-#: ../../include/text.php:1115
-msgid "August"
-msgstr "augustus"
-
-#: ../../include/text.php:1115
-msgid "September"
-msgstr "september"
-
-#: ../../include/text.php:1115
-msgid "October"
-msgstr "oktober"
-
-#: ../../include/text.php:1115
-msgid "November"
-msgstr "november"
-
-#: ../../include/text.php:1115
-msgid "December"
-msgstr "december"
-
-#: ../../include/text.php:1193
-msgid "unknown.???"
-msgstr "onbekend.???"
-
-#: ../../include/text.php:1194
-msgid "bytes"
-msgstr "bytes"
-
-#: ../../include/text.php:1230
-msgid "remove category"
-msgstr "categorie verwijderen"
-
-#: ../../include/text.php:1299
-msgid "remove from file"
-msgstr "uit map verwijderen"
-
-#: ../../include/text.php:1375 ../../include/text.php:1386
-#: ../../mod/connedit.php:635
-msgid "Click to open/close"
-msgstr "Klik om te openen of te sluiten"
-
-#: ../../include/text.php:1534 ../../mod/events.php:444
-msgid "Link to Source"
-msgstr "Originele locatie"
-
-#: ../../include/text.php:1553
-msgid "Select a page layout: "
-msgstr "Kies een paginalay-out: "
-
-#: ../../include/text.php:1556 ../../include/text.php:1616
-msgid "default"
-msgstr "standaard"
-
-#: ../../include/text.php:1589
-msgid "Page content type: "
-msgstr "Opmaakcode pagina"
-
-#: ../../include/text.php:1628
-msgid "Select an alternate language"
-msgstr "Kies een andere taal"
-
-#: ../../include/text.php:1760
-msgid "activity"
-msgstr "activiteit"
-
-#: ../../include/text.php:2051
-msgid "Design"
-msgstr "Ontwerp"
-
-#: ../../include/text.php:2054
-msgid "Blocks"
-msgstr "Blokken"
-
-#: ../../include/text.php:2055
-msgid "Menus"
-msgstr "Menu's"
-
-#: ../../include/text.php:2056
-msgid "Layouts"
-msgstr "Lay-outs"
-
-#: ../../include/text.php:2057
-msgid "Pages"
-msgstr "Pagina's"
-
#: ../../include/chat.php:23
msgid "Missing room name"
msgstr "Naam chatkanaal ontbreekt"
@@ -3725,141 +3851,6 @@ msgstr "Chatkanaal niet gevonden"
msgid "Room is full"
msgstr "Chatkanaal is vol"
-#: ../../include/permissions.php:26
-msgid "Can view my normal stream and posts"
-msgstr "Kan mijn normale kanaalstream en berichten bekijken"
-
-#: ../../include/permissions.php:27
-msgid "Can view my default channel profile"
-msgstr "Kan mijn standaard kanaalprofiel bekijken"
-
-#: ../../include/permissions.php:28
-msgid "Can view my photo albums"
-msgstr "Kan mijn fotoalbums bekijken"
-
-#: ../../include/permissions.php:29
-msgid "Can view my connections"
-msgstr "Kan een lijst met mijn connecties bekijken"
-
-#: ../../include/permissions.php:30
-msgid "Can view my file storage"
-msgstr "Kan mijn bestanden bekijken"
-
-#: ../../include/permissions.php:31
-msgid "Can view my webpages"
-msgstr "Kan mijn pagina's bekijken"
-
-#: ../../include/permissions.php:34
-msgid "Can send me their channel stream and posts"
-msgstr "Kan mij de inhoud van hun kanaal en berichten sturen"
-
-#: ../../include/permissions.php:35
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Kan een bericht in mijn kanaal plaatsen"
-
-#: ../../include/permissions.php:36
-msgid "Can comment on or like my posts"
-msgstr "Kan op mijn berichten reageren of deze (niet) leuk vinden"
-
-#: ../../include/permissions.php:37
-msgid "Can send me private mail messages"
-msgstr "Kan mij privéberichten sturen"
-
-#: ../../include/permissions.php:38
-msgid "Can post photos to my photo albums"
-msgstr "Kan foto's aan mijn fotoalbums toevoegen"
-
-#: ../../include/permissions.php:39
-msgid "Can like/dislike stuff"
-msgstr "Kan dingen leuk of niet leuk vinden"
-
-#: ../../include/permissions.php:39
-msgid "Profiles and things other than posts/comments"
-msgstr "Profielen en dingen, buiten berichten en reacties"
-
-#: ../../include/permissions.php:41
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+"
-
-#: ../../include/permissions.php:41
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Geavanceerd - nuttig voor groepforums"
-
-#: ../../include/permissions.php:42
-msgid "Can chat with me (when available)"
-msgstr "Kan met mij chatten (wanneer beschikbaar)"
-
-#: ../../include/permissions.php:43
-msgid "Can write to my file storage"
-msgstr "Kan bestanden aan mijn bestandsopslag toevoegen"
-
-#: ../../include/permissions.php:44
-msgid "Can edit my webpages"
-msgstr "Kan mijn pagina's bewerken"
-
-#: ../../include/permissions.php:46
-msgid "Can source my public posts in derived channels"
-msgstr "Kan mijn openbare berichten als bron voor andere kanalen gebruiken"
-
-#: ../../include/permissions.php:46
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)"
-
-#: ../../include/permissions.php:48
-msgid "Can administer my channel resources"
-msgstr "Kan mijn kanaal beheren"
-
-#: ../../include/permissions.php:48
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet."
-
-#: ../../include/permissions.php:810
-msgid "Social Networking"
-msgstr "Sociaal netwerk"
-
-#: ../../include/permissions.php:810 ../../include/permissions.php:811
-#: ../../include/permissions.php:812
-msgid "Mostly Public"
-msgstr "Vrijwel alles openbaar"
-
-#: ../../include/permissions.php:810 ../../include/permissions.php:811
-#: ../../include/permissions.php:812
-msgid "Restricted"
-msgstr "Beperkt zichtbaar"
-
-#: ../../include/permissions.php:810 ../../include/permissions.php:811
-msgid "Private"
-msgstr "Verborgen kanaal"
-
-#: ../../include/permissions.php:811
-msgid "Community Forum"
-msgstr "Groepsforum"
-
-#: ../../include/permissions.php:812
-msgid "Feed Republish"
-msgstr "Feed herpubliceren"
-
-#: ../../include/permissions.php:813
-msgid "Special Purpose"
-msgstr "Speciaal doel"
-
-#: ../../include/permissions.php:813
-msgid "Celebrity/Soapbox"
-msgstr "Beroemdheid/alleen volgen"
-
-#: ../../include/permissions.php:813
-msgid "Group Repository"
-msgstr "Groepsopslag"
-
-#: ../../include/permissions.php:814
-msgid "Custom/Expert Mode"
-msgstr "Expertmodus/handmatig aanpassen"
-
-#: ../../include/network.php:619
-msgid "view full size"
-msgstr "volledige grootte tonen"
-
#: ../../mod/achievements.php:34
msgid "Some blurb about what to do when you're new here"
msgstr "Welkom op de RedMatrix. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook onze <a href=\"directory\">apps</a>, waar je vrijwel alles van de RedMatrix kan vinden. Voor <a href=\"directory\">hulp</a> met de RedMatrix klik je op het vraagteken of als je meer vragen hebt stel je die in het <a href=\"https://zothost.me/channel/support\">supportkanaal</a> (liefst in het Engels)."
@@ -3873,33 +3864,33 @@ msgstr "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt."
msgid "Create a new channel"
msgstr "Nieuw kanaal aanmaken"
-#: ../../mod/manage.php:165
+#: ../../mod/manage.php:167
msgid "Current Channel"
msgstr "Huidig kanaal"
-#: ../../mod/manage.php:167
+#: ../../mod/manage.php:169
msgid "Switch to one of your channels by selecting it."
msgstr "Activeer een van jouw andere kanalen door er op te klikken."
-#: ../../mod/manage.php:168
+#: ../../mod/manage.php:170
msgid "Default Channel"
msgstr "Standaardkanaal"
-#: ../../mod/manage.php:169
+#: ../../mod/manage.php:171
msgid "Make Default"
msgstr "Als standaard instellen"
-#: ../../mod/manage.php:172
+#: ../../mod/manage.php:174
#, php-format
msgid "%d new messages"
msgstr "%d nieuwe berichten"
-#: ../../mod/manage.php:173
+#: ../../mod/manage.php:175
#, php-format
msgid "%d new introductions"
msgstr "%d nieuwe connectieverzoeken"
-#: ../../mod/manage.php:175
+#: ../../mod/manage.php:177
msgid "Delegated Channels"
msgstr "Uitbestede kanalen"
@@ -3947,17 +3938,19 @@ msgstr "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer."
msgid "Settings updated."
msgstr "Instellingen bijgewerkt."
-#: ../../mod/settings.php:573 ../../mod/api.php:106 ../../mod/admin.php:421
+#: ../../mod/settings.php:573 ../../mod/api.php:106 ../../mod/photos.php:556
+#: ../../mod/menu.php:88 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/admin.php:424
#: ../../mod/removeme.php:60 ../../view/theme/redbasic/php/config.php:102
-#: ../../view/theme/redbasic/php/config.php:127 ../../wppost/wppost.php:80
-#: ../../wppost/wppost.php:96 ../../wppost/wppost.php:100 ../../boot.php:1556
+#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1544
msgid "No"
msgstr "Nee"
-#: ../../mod/settings.php:573 ../../mod/api.php:105 ../../mod/admin.php:423
+#: ../../mod/settings.php:573 ../../mod/api.php:105 ../../mod/photos.php:556
+#: ../../mod/menu.php:88 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/admin.php:426
#: ../../mod/removeme.php:60 ../../view/theme/redbasic/php/config.php:102
-#: ../../view/theme/redbasic/php/config.php:127 ../../wppost/wppost.php:80
-#: ../../wppost/wppost.php:96 ../../wppost/wppost.php:100 ../../boot.php:1556
+#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1544
msgid "Yes"
msgstr "Ja"
@@ -4097,7 +4090,7 @@ msgstr "Geen speciaal thema voor mobiele apparaten"
msgid "%s - (Experimental)"
msgstr "%s - (experimenteel)"
-#: ../../mod/settings.php:805 ../../mod/admin.php:393
+#: ../../mod/settings.php:805 ../../mod/admin.php:396
msgid "mobile"
msgstr "mobiel"
@@ -4323,7 +4316,7 @@ msgstr "Kan eventuele spam verminderen"
msgid "Default Post Permissions"
msgstr "Standaard permissies voor nieuwe berichten"
-#: ../../mod/settings.php:1072 ../../mod/mitem.php:161 ../../mod/mitem.php:204
+#: ../../mod/settings.php:1072 ../../mod/mitem.php:152 ../../mod/mitem.php:221
msgid "(click to open/close)"
msgstr "(klik om te openen/sluiten)"
@@ -4503,7 +4496,7 @@ msgstr "Xchan opzoeken"
msgid "Lookup xchan beginning with (or webbie): "
msgstr "Zoek een xchan (of webbie) die begint met:"
-#: ../../mod/xchan.php:37 ../../mod/menu.php:136 ../../mod/mitem.php:111
+#: ../../mod/xchan.php:37 ../../mod/menu.php:149 ../../mod/mitem.php:120
msgid "Not found."
msgstr "Niet gevonden."
@@ -4525,10 +4518,6 @@ msgid ""
" and/or create new posts for you?"
msgstr "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?"
-#: ../../mod/blocks.php:99
-msgid "Block Name"
-msgstr "Bloknaam"
-
#: ../../mod/follow.php:25
msgid "Channel added."
msgstr "Kanaal toegevoegd."
@@ -4592,21 +4581,62 @@ msgstr "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigena
msgid "Restricted or Premium Channel"
msgstr "Beperkt of premiumkanaal"
-#: ../../mod/match.php:16
-msgid "Profile Match"
-msgstr "Profielovereenkomst"
+#: ../../mod/thing.php:94
+msgid "Thing updated"
+msgstr "Ding bijgewerkt"
-#: ../../mod/match.php:24
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe."
+#: ../../mod/thing.php:153
+msgid "Object store: failed"
+msgstr "Opslaan van ding mislukt"
-#: ../../mod/match.php:61
-msgid "is interested in:"
-msgstr "is geïnteresseerd in:"
+#: ../../mod/thing.php:157
+msgid "Thing added"
+msgstr "Ding toegevoegd"
-#: ../../mod/match.php:69
-msgid "No matches"
-msgstr "Geen overeenkomsten"
+#: ../../mod/thing.php:175
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
+
+#: ../../mod/thing.php:226
+msgid "Show Thing"
+msgstr "Ding weergeven"
+
+#: ../../mod/thing.php:233
+msgid "item not found."
+msgstr "Item niet gevonden"
+
+#: ../../mod/thing.php:261
+msgid "Edit Thing"
+msgstr "Ding bewerken"
+
+#: ../../mod/thing.php:263 ../../mod/thing.php:310
+msgid "Select a profile"
+msgstr "Kies een profiel"
+
+#: ../../mod/thing.php:267 ../../mod/thing.php:313
+msgid "Post an activity"
+msgstr "Plaats een bericht"
+
+#: ../../mod/thing.php:267 ../../mod/thing.php:313
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Toont dit alleen aan diegene die het gekozen profiel mogen zien."
+
+#: ../../mod/thing.php:269 ../../mod/thing.php:315
+msgid "Name of thing e.g. something"
+msgstr "Naam van ding"
+
+#: ../../mod/thing.php:271 ../../mod/thing.php:316
+msgid "URL of thing (optional)"
+msgstr "URL van ding (optioneel)"
+
+#: ../../mod/thing.php:273 ../../mod/thing.php:317
+msgid "URL for photo of thing (optional)"
+msgstr "URL van foto van ding (optioneel)"
+
+#: ../../mod/thing.php:308
+msgid "Add Thing to your Profile"
+msgstr "Ding aan je profiel toevoegen"
#: ../../mod/attach.php:9
msgid "Item not available."
@@ -4621,7 +4651,7 @@ msgstr "Ophalen URL gaf een foutmelding terug: %1$s"
msgid "Red Matrix - &quot;The Network&quot;"
msgstr "RedMatrix - &quot;The Network&quot;"
-#: ../../mod/home.php:106
+#: ../../mod/home.php:124
#, php-format
msgid "Welcome to %s"
msgstr "Welkom op %s"
@@ -4707,7 +4737,7 @@ msgid "Channel not found."
msgstr "Kanaal niet gevonden."
#: ../../mod/block.php:75 ../../mod/help.php:79 ../../mod/display.php:106
-#: ../../mod/page.php:81 ../../index.php:241
+#: ../../mod/page.php:82 ../../index.php:241
msgid "Page not found."
msgstr "Pagina niet gevonden."
@@ -4927,348 +4957,9 @@ msgstr "Beoordeel"
msgid "View ratings"
msgstr "Bekijk beoordelingen"
-#: ../../mod/connedit.php:75 ../../mod/connections.php:37
-msgid "Could not access contact record."
-msgstr "Kon geen toegang krijgen tot de connectie-gegevens."
-
-#: ../../mod/connedit.php:99 ../../mod/connections.php:51
-msgid "Could not locate selected profile."
-msgstr "Kon het gekozen profiel niet vinden."
-
-#: ../../mod/connedit.php:204 ../../mod/connections.php:94
-msgid "Connection updated."
-msgstr "Connectie bijgewerkt."
-
-#: ../../mod/connedit.php:206 ../../mod/connections.php:96
-msgid "Failed to update connection record."
-msgstr "Bijwerken van connectie-gegevens mislukt."
-
-#: ../../mod/connedit.php:252
-msgid "is now connected to"
-msgstr "is nu verbonden met"
-
-#: ../../mod/connedit.php:365
-msgid "Could not access address book record."
-msgstr "Kon geen toegang krijgen tot de record van de connectie."
-
-#: ../../mod/connedit.php:379
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar"
-
-#: ../../mod/connedit.php:386
-msgid "Channel has been unblocked"
-msgstr "Kanaal is gedeblokkeerd"
-
-#: ../../mod/connedit.php:387
-msgid "Channel has been blocked"
-msgstr "Kanaal is geblokkeerd"
-
-#: ../../mod/connedit.php:391 ../../mod/connedit.php:403
-#: ../../mod/connedit.php:415 ../../mod/connedit.php:427
-#: ../../mod/connedit.php:443
-msgid "Unable to set address book parameters."
-msgstr "Niet in staat om de parameters van connecties in te stellen."
-
-#: ../../mod/connedit.php:398
-msgid "Channel has been unignored"
-msgstr "Kanaal wordt niet meer genegeerd"
-
-#: ../../mod/connedit.php:399
-msgid "Channel has been ignored"
-msgstr "Kanaal wordt genegeerd"
-
-#: ../../mod/connedit.php:410
-msgid "Channel has been unarchived"
-msgstr "Kanaal is niet meer gearchiveerd"
-
-#: ../../mod/connedit.php:411
-msgid "Channel has been archived"
-msgstr "Kanaal is gearchiveerd"
-
-#: ../../mod/connedit.php:422
-msgid "Channel has been unhidden"
-msgstr "Kanaal is niet meer verborgen"
-
-#: ../../mod/connedit.php:423
-msgid "Channel has been hidden"
-msgstr "Kanaal is verborgen"
-
-#: ../../mod/connedit.php:438
-msgid "Channel has been approved"
-msgstr "Connectie/kanaal is geaccepteerd"
-
-#: ../../mod/connedit.php:439
-msgid "Channel has been unapproved"
-msgstr "Connectie/kanaal is afgewezen"
-
-#: ../../mod/connedit.php:467
-msgid "Connection has been removed."
-msgstr "Connectie is verwijderd"
-
-#: ../../mod/connedit.php:487
-#, php-format
-msgid "View %s's profile"
-msgstr "Profiel van %s weergeven"
-
-#: ../../mod/connedit.php:491
-msgid "Refresh Permissions"
-msgstr "Permissies vernieuwen"
-
-#: ../../mod/connedit.php:494
-msgid "Fetch updated permissions"
-msgstr "Aangepaste permissies ophalen"
-
-#: ../../mod/connedit.php:498
-msgid "Recent Activity"
-msgstr "Recente activiteit"
-
-#: ../../mod/connedit.php:501
-msgid "View recent posts and comments"
-msgstr "Recente berichten en reacties weergeven"
-
-#: ../../mod/connedit.php:507 ../../mod/connedit.php:694
-#: ../../mod/admin.php:821
-msgid "Unblock"
-msgstr "Deblokkeren"
-
-#: ../../mod/connedit.php:507 ../../mod/connedit.php:694
-#: ../../mod/admin.php:820
-msgid "Block"
-msgstr "Blokkeren"
-
-#: ../../mod/connedit.php:510
-msgid "Block (or Unblock) all communications with this connection"
-msgstr "Blokkeer (of deblokkeer) alle communicatie met deze connectie"
-
-#: ../../mod/connedit.php:514 ../../mod/connedit.php:695
-msgid "Unignore"
-msgstr "Niet meer negeren"
-
-#: ../../mod/connedit.php:514 ../../mod/connedit.php:695
-#: ../../mod/notifications.php:51
-msgid "Ignore"
-msgstr "Negeren"
-
-#: ../../mod/connedit.php:517
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie"
-
-#: ../../mod/connedit.php:520
-msgid "Unarchive"
-msgstr "Niet meer archiveren"
-
-#: ../../mod/connedit.php:520
-msgid "Archive"
-msgstr "Archiveren"
-
-#: ../../mod/connedit.php:523
-msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr "Archiveer (of dearchiveer) deze connectie - markeer het kanaal als dood, maar bewaar de inhoud"
-
-#: ../../mod/connedit.php:526
-msgid "Unhide"
-msgstr "Niet meer verbergen"
-
-#: ../../mod/connedit.php:526
-msgid "Hide"
-msgstr "Verbergen"
-
-#: ../../mod/connedit.php:529
-msgid "Hide or Unhide this connection from your other connections"
-msgstr "Deze connectie verbergen (of niet meer verbergen) voor jouw andere connecties"
-
-#: ../../mod/connedit.php:536
-msgid "Delete this connection"
-msgstr "Deze connectie verwijderen"
-
-#: ../../mod/connedit.php:611 ../../mod/connedit.php:649
-msgid "Approve this connection"
-msgstr "Deze connectie accepteren"
-
-#: ../../mod/connedit.php:611
-msgid "Accept connection to allow communication"
-msgstr "Keur deze connectie goed om communicatie toe te staan"
-
-#: ../../mod/connedit.php:627
-#, php-format
-msgid "Connections: settings for %s"
-msgstr "Connecties: instellingen voor %s"
-
-#: ../../mod/connedit.php:628
-msgid "Apply these permissions automatically"
-msgstr "Deze permissies automatisch toepassen"
-
-#: ../../mod/connedit.php:632
-msgid "Apply the permissions indicated on this page to all new connections."
-msgstr "Permissies die op deze pagina staan vermeldt op alle nieuwe connecties toepassen."
-
-#: ../../mod/connedit.php:636
-msgid "Slide to adjust your degree of friendship"
-msgstr "Schuif om te bepalen hoe goed je iemand kent en/of mag"
-
-#: ../../mod/connedit.php:637 ../../mod/rate.php:161
-msgid "Rating (this information is public)"
-msgstr "Beoordeling (deze informatie is openbaar)"
-
-#: ../../mod/connedit.php:638 ../../mod/rate.php:162
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)"
-
-#: ../../mod/connedit.php:645
-msgid ""
-"Default permissions for your channel type have (just) been applied. They "
-"have not yet been submitted. Please review the permissions on this page and "
-"make any desired changes at this time. This new connection may <em>not</em> "
-"be able to communicate with you until you submit this page, which will "
-"install and apply the selected permissions."
-msgstr "Voor jouw kanaaltype geldende standaard permissies zijn (zonet) toegepast. Ze zijn echter nog niet opgeslagen. Controleer de permissies op deze pagina en verander ze eventueel. Deze nieuwe connectie kan mogelijk nog <em>niet</em> met jou communiceren totdat je deze pagina opslaat, wat ervoor zorgt dat de gekozen permissies actief worden."
-
-#: ../../mod/connedit.php:648
-msgid "inherited"
-msgstr "geërfd"
-
-#: ../../mod/connedit.php:651
-msgid "Connection has no individual permissions!"
-msgstr "Connectie heeft geen individuele permissies!"
-
-#: ../../mod/connedit.php:652
-msgid ""
-"This may be appropriate based on your <a href=\"settings\">privacy "
-"settings</a>, though you may wish to review the \"Advanced Permissions\"."
-msgstr "Dit is mogelijk voldoende, wanneer er naar jouw <a href=\"settings\">privacy-instellingen</a> wordt gekeken. Hoewel je wellicht de geavanceerde rechten wil nagaan."
-
-#: ../../mod/connedit.php:654
-msgid "Profile Visibility"
-msgstr "Zichtbaarheid profiel"
-
-#: ../../mod/connedit.php:655
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken."
-
-#: ../../mod/connedit.php:656
-msgid "Contact Information / Notes"
-msgstr "Informatie/aantekeningen over connectie"
-
-#: ../../mod/connedit.php:657
-msgid "Edit contact notes"
-msgstr "Bewerk aantekeningen over contact"
-
-#: ../../mod/connedit.php:659
-msgid "Their Settings"
-msgstr "Hun instellingen"
-
-#: ../../mod/connedit.php:660
-msgid "My Settings"
-msgstr "Mijn instellingen"
-
-#: ../../mod/connedit.php:662
-msgid ""
-"Default permissions for this channel type have (just) been applied. They "
-"have <em>not</em> been saved and there are currently no stored default "
-"permissions. Please review/edit the applied settings and click [Submit] to "
-"finalize."
-msgstr "Voor dit kanaaltype geldende standaard permissies zijn (zonet) toegepast. Ze zijn echter nog <em>niet</em> opgeslagen en er zijn momenteel geen standaard permissies aanwezig. Controleer/verander de permissies op deze pagina en klik op [Opslaan] om deze te activeren."
-
-#: ../../mod/connedit.php:663
-msgid "Clear/Disable Automatic Permissions"
-msgstr "Verwijderen/uitschakelen automatische permissies"
-
-#: ../../mod/connedit.php:664
-msgid "Forum Members"
-msgstr "Forumleden"
-
-#: ../../mod/connedit.php:665
-msgid "Soapbox"
-msgstr "Zeepkist"
-
-#: ../../mod/connedit.php:666
-msgid "Full Sharing (typical social network permissions)"
-msgstr "Voluit delen (vergelijkbaar met die van sociale netwerken)"
-
-#: ../../mod/connedit.php:667
-msgid "Cautious Sharing "
-msgstr "Voorzichtig delen"
-
-#: ../../mod/connedit.php:668
-msgid "Follow Only"
-msgstr "Alleen volgen"
-
-#: ../../mod/connedit.php:669
-msgid "Individual Permissions"
-msgstr "Individuele permissies"
-
-#: ../../mod/connedit.php:670
-msgid ""
-"Some permissions may be inherited from your channel <a "
-"href=\"settings\">privacy settings</a>, which have higher priority than "
-"individual settings. Changing those inherited settings on this page will "
-"have no effect."
-msgstr "Sommige permissies kunnen worden overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal. Wanneer je deze geërfde instellingen op deze pagina veranderd heeft dat geen effect."
-
-#: ../../mod/connedit.php:671
-msgid "Advanced Permissions"
-msgstr "Geavanceerde permissies"
-
-#: ../../mod/connedit.php:672
-msgid "Simple Permissions (select one and submit)"
-msgstr "Eenvoudige permissies (selecteer er één en opslaan)"
-
-#: ../../mod/connedit.php:676
-#, php-format
-msgid "Visit %s's profile - %s"
-msgstr "Profiel van %s bezoeken - %s"
-
-#: ../../mod/connedit.php:677
-msgid "Block/Unblock contact"
-msgstr "Connectie blokkeren/deblokkeren"
-
-#: ../../mod/connedit.php:678
-msgid "Ignore contact"
-msgstr "Connectie negeren"
-
-#: ../../mod/connedit.php:679
-msgid "Repair URL settings"
-msgstr "URL-instellingen repareren"
-
-#: ../../mod/connedit.php:680
-msgid "View conversations"
-msgstr "Conversaties weergeven"
-
-#: ../../mod/connedit.php:682
-msgid "Delete contact"
-msgstr "Connectie verwijderen"
-
-#: ../../mod/connedit.php:686
-msgid "Last update:"
-msgstr "Laatste wijziging:"
-
-#: ../../mod/connedit.php:688
-msgid "Update public posts"
-msgstr "Openbare berichten updaten"
-
-#: ../../mod/connedit.php:690
-msgid "Update now"
-msgstr "Nu updaten"
-
-#: ../../mod/connedit.php:696
-msgid "Currently blocked"
-msgstr "Momenteel geblokkeerd"
-
-#: ../../mod/connedit.php:697
-msgid "Currently ignored"
-msgstr "Momenteel genegeerd"
-
-#: ../../mod/connedit.php:698
-msgid "Currently archived"
-msgstr "Momenteel gearchiveerd"
-
-#: ../../mod/connedit.php:699
-msgid "Currently pending"
-msgstr "Moeten nog geaccepteerd of afgewezen worden"
+#: ../../mod/rpost.php:131 ../../mod/editpost.php:42
+msgid "Edit post"
+msgstr "Bericht bewerken"
#: ../../mod/dav.php:121
msgid "RedMatrix channel"
@@ -5782,73 +5473,25 @@ msgstr "Veel voorkomende connecties"
msgid "No connections in common."
msgstr "Geen gemeenschappelijke connecties."
-#: ../../mod/id.php:8
-msgid "First Name"
-msgstr "Voornaam"
-
-#: ../../mod/id.php:9
-msgid "Last Name"
-msgstr "Achternaam"
-
-#: ../../mod/id.php:10
-msgid "Nickname"
-msgstr "Bijnaam"
-
-#: ../../mod/id.php:11
-msgid "Full Name"
-msgstr "Volledige naam"
-
-#: ../../mod/id.php:17
-msgid "Profile Photo 16px"
-msgstr "Profielfoto 16px"
-
-#: ../../mod/id.php:18
-msgid "Profile Photo 32px"
-msgstr "Profielfoto 32px"
-
-#: ../../mod/id.php:19
-msgid "Profile Photo 48px"
-msgstr "Profielfoto 48px"
-
-#: ../../mod/id.php:20
-msgid "Profile Photo 64px"
-msgstr "Profielfoto 64px"
-
-#: ../../mod/id.php:21
-msgid "Profile Photo 80px"
-msgstr "Profielfoto 80px"
-
-#: ../../mod/id.php:22
-msgid "Profile Photo 128px"
-msgstr "Profielfoto 128px"
-
-#: ../../mod/id.php:23
-msgid "Timezone"
-msgstr "Tijdzone"
-
-#: ../../mod/id.php:24
-msgid "Homepage URL"
-msgstr "URL homepagina"
-
-#: ../../mod/id.php:26
-msgid "Birth Year"
-msgstr "Geboortejaar"
+#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21
+msgid "This site is not a directory server"
+msgstr "Deze hub is geen kanalengidshub (directoryserver)"
-#: ../../mod/id.php:27
-msgid "Birth Month"
-msgstr "Geboortemaand"
+#: ../../mod/connections.php:37 ../../mod/connedit.php:75
+msgid "Could not access contact record."
+msgstr "Kon geen toegang krijgen tot de connectie-gegevens."
-#: ../../mod/id.php:28
-msgid "Birth Day"
-msgstr "Geboortedag"
+#: ../../mod/connections.php:51 ../../mod/connedit.php:99
+msgid "Could not locate selected profile."
+msgstr "Kon het gekozen profiel niet vinden."
-#: ../../mod/id.php:29
-msgid "Birthdate"
-msgstr "Geboortedatum"
+#: ../../mod/connections.php:94 ../../mod/connedit.php:214
+msgid "Connection updated."
+msgstr "Connectie bijgewerkt."
-#: ../../mod/id.php:30 ../../mod/profiles.php:431
-msgid "Gender"
-msgstr "Geslacht"
+#: ../../mod/connections.php:96 ../../mod/connedit.php:216
+msgid "Failed to update connection record."
+msgstr "Bijwerken van connectie-gegevens mislukt."
#: ../../mod/connections.php:192 ../../mod/connections.php:293
msgid "Blocked"
@@ -5866,10 +5509,6 @@ msgstr "Verborgen"
msgid "Archived"
msgstr "Gearchiveerd"
-#: ../../mod/connections.php:231 ../../mod/connections.php:246
-msgid "All"
-msgstr "Alles"
-
#: ../../mod/connections.php:271
msgid "Suggest new connections"
msgstr "Nieuwe kanalen voorstellen"
@@ -5957,98 +5596,166 @@ msgstr "%1$s heeft het %3$s van %2$s getagd met %4$s"
msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
msgstr "RedMatrix - gasttoegang: Toegangsnaam: {jouw e-mailadres}, wachtwoord: +++"
-#: ../../mod/item.php:175
-msgid "Unable to locate original post."
-msgstr "Niet in staat om de originele locatie van het bericht te vinden. "
+#: ../../mod/photos.php:77
+msgid "Page owner information could not be retrieved."
+msgstr "Informatie over de pagina-eigenaar werd niet ontvangen."
-#: ../../mod/item.php:437
-msgid "Empty post discarded."
-msgstr "Leeg bericht geannuleerd"
+#: ../../mod/photos.php:97
+msgid "Album not found."
+msgstr "Album niet gevonden."
-#: ../../mod/item.php:479
-msgid "Executable content type not permitted to this channel."
-msgstr "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal."
+#: ../../mod/photos.php:119 ../../mod/photos.php:643
+msgid "Delete Album"
+msgstr "Verwijder album"
-#: ../../mod/item.php:885
-msgid "System error. Post not saved."
-msgstr "Systeemfout. Bericht niet opgeslagen."
+#: ../../mod/photos.php:159 ../../mod/photos.php:930
+msgid "Delete Photo"
+msgstr "Verwijder foto"
-#: ../../mod/item.php:1097
-msgid "Unable to obtain post information from database."
-msgstr "Niet in staat om informatie over dit bericht uit de database te verkrijgen."
+#: ../../mod/photos.php:429 ../../mod/search.php:13 ../../mod/display.php:13
+#: ../../mod/ratings.php:82 ../../mod/directory.php:47
+#: ../../mod/viewconnections.php:17
+msgid "Public access denied."
+msgstr "Openbare toegang geweigerd."
-#: ../../mod/item.php:1103
+#: ../../mod/photos.php:440
+msgid "No photos selected"
+msgstr "Geen foto's geselecteerd"
+
+#: ../../mod/photos.php:484
+msgid "Access to this item is restricted."
+msgstr "Toegang tot dit item is beperkt."
+
+#: ../../mod/photos.php:523
#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Je hebt jouw limiet van %1$.0f berichten bereikt."
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "%1$.2f MB van %2$.2f MB aan foto-opslag gebruikt."
-#: ../../mod/item.php:1109
+#: ../../mod/photos.php:526
#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Je hebt jouw limiet van %1$.0f webpagina's bereikt."
+msgid "%1$.2f MB photo storage used."
+msgstr "%1$.2f MB aan foto-opslag gebruikt."
-#: ../../mod/search.php:13 ../../mod/display.php:13 ../../mod/ratings.php:82
-#: ../../mod/directory.php:47 ../../mod/viewconnections.php:17
-#: ../../mod/photos.php:429
-msgid "Public access denied."
-msgstr "Openbare toegang geweigerd."
+#: ../../mod/photos.php:550
+msgid "Upload Photos"
+msgstr "Foto's uploaden"
-#: ../../mod/thing.php:96
-msgid "Thing updated"
-msgstr "Ding bijgewerkt"
+#: ../../mod/photos.php:554 ../../mod/photos.php:636 ../../mod/photos.php:915
+msgid "Enter a new album name"
+msgstr "Vul een nieuwe albumnaam in"
-#: ../../mod/thing.php:156
-msgid "Object store: failed"
-msgstr "Opslaan van ding mislukt"
+#: ../../mod/photos.php:555 ../../mod/photos.php:637 ../../mod/photos.php:916
+msgid "or select an existing one (doubleclick)"
+msgstr "of kies een bestaand album (dubbelklikken)"
-#: ../../mod/thing.php:160
-msgid "Thing added"
-msgstr "Ding toegevoegd"
+#: ../../mod/photos.php:556
+msgid "Create a status post for this upload"
+msgstr "Plaats een bericht voor deze upload."
-#: ../../mod/thing.php:180
-#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
+#: ../../mod/photos.php:584
+msgid "Album name could not be decoded"
+msgstr "Albumnaam kon niet gedecodeerd worden"
-#: ../../mod/thing.php:232
-msgid "Show Thing"
-msgstr "Ding weergeven"
+#: ../../mod/photos.php:625 ../../mod/photos.php:1157
+#: ../../mod/photos.php:1173
+msgid "Contact Photos"
+msgstr "Connectiefoto's"
-#: ../../mod/thing.php:239
-msgid "item not found."
-msgstr "Item niet gevonden"
+#: ../../mod/photos.php:649
+msgid "Show Newest First"
+msgstr "Nieuwste eerst weergeven"
-#: ../../mod/thing.php:270
-msgid "Edit Thing"
-msgstr "Ding bewerken"
+#: ../../mod/photos.php:651
+msgid "Show Oldest First"
+msgstr "Oudste eerst weergeven"
-#: ../../mod/thing.php:272 ../../mod/thing.php:319
-msgid "Select a profile"
-msgstr "Kies een profiel"
+#: ../../mod/photos.php:675 ../../mod/photos.php:1205
+msgid "View Photo"
+msgstr "Foto weergeven"
-#: ../../mod/thing.php:276 ../../mod/thing.php:322
-msgid "Post an activity"
-msgstr "Plaats een bericht"
+#: ../../mod/photos.php:704
+msgid "Edit Album"
+msgstr "Album bewerken"
-#: ../../mod/thing.php:276 ../../mod/thing.php:322
-msgid "Only sends to viewers of the applicable profile"
-msgstr "Toont dit alleen aan diegene die het gekozen profiel mogen zien."
+#: ../../mod/photos.php:749
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Toegang geweigerd. Toegang tot dit item kan zijn beperkt."
-#: ../../mod/thing.php:278 ../../mod/thing.php:324
-msgid "Name of thing e.g. something"
-msgstr "Naam van ding"
+#: ../../mod/photos.php:751
+msgid "Photo not available"
+msgstr "Foto niet aanwezig"
-#: ../../mod/thing.php:280 ../../mod/thing.php:325
-msgid "URL of thing (optional)"
-msgstr "URL van ding (optioneel)"
+#: ../../mod/photos.php:809
+msgid "Use as profile photo"
+msgstr "Als profielfoto gebruiken"
-#: ../../mod/thing.php:282 ../../mod/thing.php:326
-msgid "URL for photo of thing (optional)"
-msgstr "URL van foto van ding (optioneel)"
+#: ../../mod/photos.php:816
+msgid "Private Photo"
+msgstr "Privéfoto"
-#: ../../mod/thing.php:317
-msgid "Add Thing to your Profile"
-msgstr "Ding aan je profiel toevoegen"
+#: ../../mod/photos.php:831
+msgid "View Full Size"
+msgstr "Volledige grootte weergeven"
+
+#: ../../mod/photos.php:909
+msgid "Edit photo"
+msgstr "Foto bewerken"
+
+#: ../../mod/photos.php:911
+msgid "Rotate CW (right)"
+msgstr "Draai met de klok mee (naar rechts)"
+
+#: ../../mod/photos.php:912
+msgid "Rotate CCW (left)"
+msgstr "Draai tegen de klok in (naar links)"
+
+#: ../../mod/photos.php:919
+msgid "Caption"
+msgstr "Bijschrift"
+
+#: ../../mod/photos.php:921
+msgid "Add a Tag"
+msgstr "Tag toevoegen"
+
+#: ../../mod/photos.php:925
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl"
+
+#: ../../mod/photos.php:928
+msgid "Flag as adult in album view"
+msgstr "Markeer als voor volwassenen in albumweergave"
+
+#: ../../mod/photos.php:1120
+msgid "In This Photo:"
+msgstr "Op deze foto:"
+
+#: ../../mod/photos.php:1125
+msgid "Map"
+msgstr "Kaart"
+
+#: ../../mod/photos.php:1211
+msgid "View Album"
+msgstr "Album weergeven"
+
+#: ../../mod/photos.php:1234
+msgid "Recent Photos"
+msgstr "Recente foto's"
+
+#: ../../mod/match.php:22
+msgid "Profile Match"
+msgstr "Profielovereenkomst"
+
+#: ../../mod/match.php:31
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe."
+
+#: ../../mod/match.php:63
+msgid "is interested in:"
+msgstr "is geïnteresseerd in:"
+
+#: ../../mod/match.php:70
+msgid "No matches"
+msgstr "Geen overeenkomsten"
#: ../../mod/chatsvc.php:111
msgid "Away"
@@ -6110,7 +5817,7 @@ msgstr "Lay-out niet gevonden."
msgid "Module Name:"
msgstr "Modulenaam:"
-#: ../../mod/pdledit.php:55 ../../mod/layouts.php:107
+#: ../../mod/pdledit.php:55 ../../mod/layouts.php:108
msgid "Layout Help"
msgstr "Lay-out-hulp"
@@ -6209,8 +5916,8 @@ msgid "Import existing posts if possible"
msgstr "Importeer bestaande berichten (wanneer mogelijk)"
#: ../../mod/editlayout.php:78 ../../mod/editwebpage.php:77
-#: ../../mod/editpost.php:20 ../../mod/editblock.php:79
-#: ../../mod/editblock.php:95
+#: ../../mod/editpost.php:20 ../../mod/editblock.php:78
+#: ../../mod/editblock.php:94
msgid "Item not found"
msgstr "Item niet gevonden"
@@ -6222,22 +5929,22 @@ msgstr "Lay-out bewerken"
msgid "Delete layout?"
msgstr "Lay-out verwijderen?"
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:183
-#: ../../mod/editpost.php:122 ../../mod/editblock.php:152
+#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:187
+#: ../../mod/editpost.php:122 ../../mod/editblock.php:150
msgid "Insert YouTube video"
msgstr "YouTube-video invoegen"
-#: ../../mod/editlayout.php:149 ../../mod/editwebpage.php:184
-#: ../../mod/editpost.php:123 ../../mod/editblock.php:153
+#: ../../mod/editlayout.php:149 ../../mod/editwebpage.php:188
+#: ../../mod/editpost.php:123 ../../mod/editblock.php:151
msgid "Insert Vorbis [.ogg] video"
msgstr "Vorbis-video [.ogg] invoegen"
-#: ../../mod/editlayout.php:150 ../../mod/editwebpage.php:185
-#: ../../mod/editpost.php:124 ../../mod/editblock.php:154
+#: ../../mod/editlayout.php:150 ../../mod/editwebpage.php:189
+#: ../../mod/editpost.php:124 ../../mod/editblock.php:152
msgid "Insert Vorbis [.ogg] audio"
msgstr "Vorbis-audio [.ogg] invoegen"
-#: ../../mod/editlayout.php:183
+#: ../../mod/editlayout.php:182
msgid "Delete Layout"
msgstr "Lay-out verwijderen"
@@ -6282,21 +5989,17 @@ msgstr "Naam chatkanaal"
msgid "%1$s's Chatrooms"
msgstr "Chatkanalen van %1$s"
-#: ../../mod/editwebpage.php:140
-msgid "Edit Webpage"
-msgstr "Webpagina bewerken"
-
-#: ../../mod/editwebpage.php:150
+#: ../../mod/editwebpage.php:152
msgid "Delete webpage?"
msgstr "Webpagina verwijderen?"
-#: ../../mod/editwebpage.php:220
-msgid "Delete Webpage"
-msgstr "Webpagina verwijderen"
+#: ../../mod/editwebpage.php:173
+msgid "Page link title"
+msgstr "Titel van paginalink"
-#: ../../mod/dirsearch.php:21 ../../mod/regdir.php:47
-msgid "This site is not a directory server"
-msgstr "Deze hub is geen kanalengidshub (directoryserver)"
+#: ../../mod/editwebpage.php:224
+msgid "Edit Webpage"
+msgstr "Webpagina bewerken"
#: ../../mod/dirsearch.php:29
msgid "This directory server requires an access token"
@@ -6326,7 +6029,7 @@ msgid ""
"Password reset failed."
msgstr "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt."
-#: ../../mod/lostpass.php:85 ../../boot.php:1560
+#: ../../mod/lostpass.php:85 ../../boot.php:1548
msgid "Password Reset"
msgstr "Wachtwoord vergeten?"
@@ -6384,14 +6087,18 @@ msgstr "Website:"
msgid "Remote Channel [%s] (not yet known on this site)"
msgstr "Kanaal op afstand [%s] (nog niet op deze hub bekend)"
+#: ../../mod/rate.php:161 ../../mod/connedit.php:663
+msgid "Rating (this information is public)"
+msgstr "Beoordeling (deze informatie is openbaar)"
+
+#: ../../mod/rate.php:162 ../../mod/connedit.php:664
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)"
+
#: ../../mod/editpost.php:31
msgid "Item is not editable"
msgstr "Item is niet te bewerken"
-#: ../../mod/editpost.php:42 ../../mod/rpost.php:98
-msgid "Edit post"
-msgstr "Bericht bewerken"
-
#: ../../mod/editpost.php:53
msgid "Delete item?"
msgstr "Item verwijderen?"
@@ -6556,99 +6263,99 @@ msgstr "Bron verwijderd"
msgid "Unable to remove source."
msgstr "Verwijderen bron mislukt."
-#: ../../mod/menu.php:31
-msgid "Menu updated."
-msgstr "Menu aangepast. "
-
-#: ../../mod/menu.php:35
+#: ../../mod/menu.php:44
msgid "Unable to update menu."
msgstr "Niet in staat om menu aan te passen"
-#: ../../mod/menu.php:40
-msgid "Menu created."
-msgstr "Menu aangemaakt."
-
-#: ../../mod/menu.php:44
+#: ../../mod/menu.php:53
msgid "Unable to create menu."
msgstr "Niet in staat om menu aan te maken."
-#: ../../mod/menu.php:76
-msgid "Manage Menus"
-msgstr "Menu's beheren"
+#: ../../mod/menu.php:86 ../../mod/menu.php:98
+msgid "Menu Name"
+msgstr "Naam menu"
+
+#: ../../mod/menu.php:86
+msgid "Unique name (not visible on webpage) - required"
+msgstr "Unieke naam vereist (niet zichtbaar op webpagina)"
+
+#: ../../mod/menu.php:87 ../../mod/menu.php:99
+msgid "Menu Title"
+msgstr "Titel menu"
+
+#: ../../mod/menu.php:87
+msgid "Visible on webpage - leave empty for no title"
+msgstr "Zichtbaar op webpagina (leeg laten voor geen titel)"
+
+#: ../../mod/menu.php:88
+msgid "Allow Bookmarks"
+msgstr "Bladwijzers toestaan"
+
+#: ../../mod/menu.php:88 ../../mod/menu.php:140
+msgid "Menu may be used to store saved bookmarks"
+msgstr "Menu kan gebruikt worden om bladwijzers in op te slaan"
+
+#: ../../mod/menu.php:89
+msgid "Submit and proceed"
+msgstr "Opslaan en doorgaan"
-#: ../../mod/menu.php:79
+#: ../../mod/menu.php:101
msgid "Drop"
msgstr "Verwijderen"
-#: ../../mod/menu.php:81
+#: ../../mod/menu.php:103
msgid "Bookmarks allowed"
msgstr "Bladwijzers toegestaan"
-#: ../../mod/menu.php:82
-msgid "Create a new menu"
-msgstr "Een nieuwe menu aanmaken"
-
-#: ../../mod/menu.php:83
+#: ../../mod/menu.php:105
msgid "Delete this menu"
msgstr "Menu verwijderen"
-#: ../../mod/menu.php:84 ../../mod/menu.php:125
+#: ../../mod/menu.php:106 ../../mod/menu.php:137
msgid "Edit menu contents"
msgstr "Bewerk de inhoud van het menu"
-#: ../../mod/menu.php:85
+#: ../../mod/menu.php:107
msgid "Edit this menu"
msgstr "Dit menu bewerken"
-#: ../../mod/menu.php:96
-msgid "New Menu"
-msgstr "Nieuw menu"
+#: ../../mod/menu.php:121
+msgid "Menu could not be deleted."
+msgstr "Menu kon niet verwijderd worden."
+
+#: ../../mod/menu.php:129 ../../mod/mitem.php:24
+msgid "Menu not found."
+msgstr "Menu niet gevonden."
+
+#: ../../mod/menu.php:134
+msgid "Edit Menu"
+msgstr "Menu bewerken"
+
+#: ../../mod/menu.php:136
+msgid "Add or remove entries to this menu"
+msgstr "Items aan dit menu toevoegen of verwijder"
-#: ../../mod/menu.php:97 ../../mod/menu.php:126
+#: ../../mod/menu.php:138
msgid "Menu name"
msgstr "Naam van menu"
-#: ../../mod/menu.php:97 ../../mod/menu.php:126
+#: ../../mod/menu.php:138
msgid "Must be unique, only seen by you"
msgstr "Moet uniek zijn en is alleen zichtbaar voor jou."
-#: ../../mod/menu.php:98 ../../mod/menu.php:127
+#: ../../mod/menu.php:139
msgid "Menu title"
msgstr "Titel van menu"
-#: ../../mod/menu.php:98 ../../mod/menu.php:127
+#: ../../mod/menu.php:139
msgid "Menu title as seen by others"
msgstr "Titel van menu zoals anderen dat zien."
-#: ../../mod/menu.php:99 ../../mod/menu.php:128
+#: ../../mod/menu.php:140
msgid "Allow bookmarks"
msgstr "Bladwijzers toestaan"
-#: ../../mod/menu.php:99 ../../mod/menu.php:128
-msgid "Menu may be used to store saved bookmarks"
-msgstr "Menu kan gebruikt worden om bladwijzers in op te slaan"
-
-#: ../../mod/menu.php:108 ../../mod/mitem.php:24
-msgid "Menu not found."
-msgstr "Menu niet gevonden."
-
-#: ../../mod/menu.php:114
-msgid "Menu deleted."
-msgstr "Menu verwijderd."
-
-#: ../../mod/menu.php:116
-msgid "Menu could not be deleted."
-msgstr "Menu kon niet verwijderd worden."
-
-#: ../../mod/menu.php:122
-msgid "Edit Menu"
-msgstr "Menu bewerken"
-
-#: ../../mod/menu.php:124
-msgid "Add or remove entries to this menu"
-msgstr "Items aan dit menu toevoegen of verwijder"
-
-#: ../../mod/menu.php:130 ../../mod/mitem.php:213
+#: ../../mod/menu.php:142
msgid "Modify"
msgstr "Wijzigen"
@@ -6685,16 +6392,16 @@ msgid "Copy/paste this URL to link file from a web page"
msgstr "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen"
#: ../../mod/filestorage.php:157
-msgid "Attach this file to a new post"
-msgstr "Dit bestand als bijlage aan nieuw bericht toevoegen"
+msgid "Share this file"
+msgstr "Dit bestand delen"
#: ../../mod/filestorage.php:158
msgid "Show URL to this file"
msgstr "Toon URL van dit bestand"
#: ../../mod/filestorage.php:159
-msgid "Do not show in shared with me folder of your connections"
-msgstr "Toon niet in de map 'gedeeld' van jouw connecties"
+msgid "Notify your contacts about this file"
+msgstr "Jouw connecties over dit bestand berichten"
#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
msgid "Contact not found."
@@ -6753,13 +6460,9 @@ msgstr "Klik op een connectie om deze toe te voegen of te verwijderen"
msgid "Visible To"
msgstr "Zichtbaar voor"
-#: ../../mod/lockview.php:31
-msgid "Remote privacy information not available."
-msgstr "Privacy-informatie op afstand niet beschikbaar."
-
-#: ../../mod/lockview.php:52
-msgid "Visible to:"
-msgstr "Zichtbaar voor:"
+#: ../../mod/webpages.php:189
+msgid "Page Title"
+msgstr "Titel pagina"
#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
#: ../../mod/profiles.php:231 ../../mod/profiles.php:600
@@ -6818,6 +6521,10 @@ msgstr "Religie"
msgid "Political Views"
msgstr "Politieke overtuigingen"
+#: ../../mod/profiles.php:431 ../../mod/id.php:33
+msgid "Gender"
+msgstr "Geslacht"
+
#: ../../mod/profiles.php:435
msgid "Sexual Preference"
msgstr "Seksuele voorkeur"
@@ -6998,7 +6705,7 @@ msgstr "School/onderwijs"
msgid "This is your default profile."
msgstr "Dit is jouw standaardprofiel"
-#: ../../mod/profiles.php:728 ../../mod/directory.php:207
+#: ../../mod/profiles.php:728 ../../mod/directory.php:218
msgid "Age: "
msgstr "Leeftijd:"
@@ -7034,63 +6741,180 @@ msgstr "Website: "
msgid "Description: "
msgstr "Omschrijving: "
+#: ../../mod/viewsrc.php:38
+msgid "Source of Item"
+msgstr "Bron van item"
+
+#: ../../mod/mitem.php:51
+msgid "Unable to create element."
+msgstr "Niet in staat om onderdeel aan te maken."
+
+#: ../../mod/mitem.php:74
+msgid "Unable to update menu element."
+msgstr "Menu-onderdeel kan niet worden geüpdatet."
+
+#: ../../mod/mitem.php:89
+msgid "Unable to add menu element."
+msgstr "Menu-onderdeel kan niet worden toegevoegd."
+
+#: ../../mod/mitem.php:151 ../../mod/mitem.php:220
+msgid "Menu Item Permissions"
+msgstr "Permissies menu-item"
+
+#: ../../mod/mitem.php:154 ../../mod/mitem.php:168
+msgid "Link Name"
+msgstr "Linknaam"
+
+#: ../../mod/mitem.php:155 ../../mod/mitem.php:169
+msgid "Link Target"
+msgstr "Linkdoel"
+
+#: ../../mod/mitem.php:156 ../../mod/mitem.php:226
+msgid "Use RedMatrix magic-auth if available"
+msgstr "Gebruik RedMatrix' magic-auth wanneer beschikbaar"
+
+#: ../../mod/mitem.php:157 ../../mod/mitem.php:227
+msgid "Open link in new window"
+msgstr "Open link in nieuw venster"
+
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:228
+msgid "Order in list"
+msgstr "Volgorde in lijst"
+
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:228
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "Hogere nummers komen onderaan de lijst terecht"
+
+#: ../../mod/mitem.php:159
+msgid "Submit and finish"
+msgstr "Opslaan en afsluiten"
+
+#: ../../mod/mitem.php:160
+msgid "Submit and continue"
+msgstr "Opslaan en doorgaan"
+
+#: ../../mod/mitem.php:166
+msgid "Menu:"
+msgstr "Menu:"
+
+#: ../../mod/mitem.php:172
+msgid "Edit menu"
+msgstr "Menu bewerken"
+
+#: ../../mod/mitem.php:175
+msgid "Edit element"
+msgstr "Onderdeel bewerken"
+
+#: ../../mod/mitem.php:176
+msgid "Drop element"
+msgstr "Onderdeel verwijderen"
+
+#: ../../mod/mitem.php:177
+msgid "New element"
+msgstr "Nieuw element"
+
+#: ../../mod/mitem.php:178
+msgid "Edit this menu container"
+msgstr "Deze menu-container bewerken"
+
+#: ../../mod/mitem.php:179
+msgid "Add menu element"
+msgstr "Menu-element toevoegen"
+
+#: ../../mod/mitem.php:180
+msgid "Delete this menu item"
+msgstr "Dit menu-item verwijderen"
+
+#: ../../mod/mitem.php:181
+msgid "Edit this menu item"
+msgstr "Dit menu-item bewerken"
+
+#: ../../mod/mitem.php:198
+msgid "Menu item not found."
+msgstr "Menu-item niet gevonden."
+
+#: ../../mod/mitem.php:209
+msgid "Menu item deleted."
+msgstr "Menu-item verwijderd."
+
+#: ../../mod/mitem.php:211
+msgid "Menu item could not be deleted."
+msgstr "Menu-item kon niet worden verwijderd."
+
+#: ../../mod/mitem.php:218
+msgid "Edit Menu Element"
+msgstr "Menu-element bewerken"
+
+#: ../../mod/mitem.php:224
+msgid "Link text"
+msgstr "Linktekst"
+
+#: ../../mod/mitem.php:225
+msgid "URL of link"
+msgstr "URL of link"
+
#: ../../mod/openid.php:26
msgid "OpenID protocol error. No ID returned."
msgstr "OpenID-protocolfout. Geen ID terugontvangen."
-#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:290
+#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:286
#, php-format
msgid "Welcome %s. Remote authentication successful."
msgstr "Welkom %s. Authenticatie op afstand geslaagd."
-#: ../../mod/directory.php:213
+#: ../../mod/directory.php:224
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] "%d beoordeling"
msgstr[1] "%d beoordelingen"
-#: ../../mod/directory.php:225
+#: ../../mod/directory.php:236
msgid "Gender: "
msgstr "Geslacht:"
-#: ../../mod/directory.php:227
+#: ../../mod/directory.php:238
msgid "Status: "
msgstr "Status: "
-#: ../../mod/directory.php:229
+#: ../../mod/directory.php:240
msgid "Homepage: "
msgstr "Homepage: "
-#: ../../mod/directory.php:232
+#: ../../mod/directory.php:243
msgid "Hometown: "
msgstr "Oorspronkelijk uit: "
-#: ../../mod/directory.php:234
+#: ../../mod/directory.php:245
msgid "About: "
msgstr "Over: "
-#: ../../mod/directory.php:292
+#: ../../mod/directory.php:303
msgid "Public Forum:"
msgstr "Openbaar forum:"
-#: ../../mod/directory.php:295
+#: ../../mod/directory.php:306
msgid "Keywords: "
msgstr "Trefwoorden: "
-#: ../../mod/directory.php:350
+#: ../../mod/directory.php:311
+#, php-format
+msgid "Common connections: %s"
+msgstr "Gemeenschappelijke connecties: %s"
+
+#: ../../mod/directory.php:363
msgid "Finding:"
msgstr "Gezocht naar:"
-#: ../../mod/directory.php:355
+#: ../../mod/directory.php:368
msgid "next page"
msgstr "volgende pagina"
-#: ../../mod/directory.php:355
+#: ../../mod/directory.php:368
msgid "previous page"
msgstr "vorige pagina"
-#: ../../mod/directory.php:372
+#: ../../mod/directory.php:385
msgid "No entries (some entries may be hidden)."
msgstr "Niets gevonden (sommige kanalen kunnen verborgen zijn)."
@@ -7119,11 +6943,11 @@ msgid ""
"minutes for this download to begin."
msgstr "Exporteer informatie en alle inhoud van jouw kanaal naar een JSON-back-up. Dit slaat al jouw connecties, permissies, profielgegevens en de volledige inhoud van jouw kanaal op, maar is in het algemeen niet geschikt om op een nieuwe hub te importeren, omdat dit bestand ZEER groot kan worden. Wees geduldig - het kan enkele minuten duren voordat de download begint."
-#: ../../mod/viewconnections.php:58
+#: ../../mod/viewconnections.php:62
msgid "No connections."
msgstr "Geen connecties."
-#: ../../mod/viewconnections.php:71
+#: ../../mod/viewconnections.php:75
#, php-format
msgid "Visit %s's profile [%s]"
msgstr "Bezoek het profiel van %s [%s]"
@@ -7136,7 +6960,7 @@ msgstr "ongeldig doelkenmerk"
msgid "Theme settings updated."
msgstr "Thema-instellingen bijgewerkt."
-#: ../../mod/admin.php:93 ../../mod/admin.php:442
+#: ../../mod/admin.php:93 ../../mod/admin.php:445
msgid "Site"
msgstr "Hub-instellingen"
@@ -7152,7 +6976,7 @@ msgstr "Kanalen"
msgid "Plugins"
msgstr "Plug-ins"
-#: ../../mod/admin.php:97 ../../mod/admin.php:1236 ../../mod/admin.php:1271
+#: ../../mod/admin.php:97 ../../mod/admin.php:1236 ../../mod/admin.php:1270
msgid "Themes"
msgstr "Thema's"
@@ -7168,7 +6992,7 @@ msgstr "Profielconfiguratie"
msgid "DB updates"
msgstr "Database-updates"
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1354
+#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1355
msgid "Logs"
msgstr "Logboeken"
@@ -7212,10 +7036,10 @@ msgstr "# klonen"
msgid "Message queues"
msgstr "Berichtenwachtrij"
-#: ../../mod/admin.php:240 ../../mod/admin.php:441 ../../mod/admin.php:536
-#: ../../mod/admin.php:810 ../../mod/admin.php:944 ../../mod/admin.php:1035
-#: ../../mod/admin.php:1075 ../../mod/admin.php:1235 ../../mod/admin.php:1270
-#: ../../mod/admin.php:1353
+#: ../../mod/admin.php:240 ../../mod/admin.php:444 ../../mod/admin.php:539
+#: ../../mod/admin.php:808 ../../mod/admin.php:944 ../../mod/admin.php:1035
+#: ../../mod/admin.php:1075 ../../mod/admin.php:1235 ../../mod/admin.php:1269
+#: ../../mod/admin.php:1354
msgid "Administration"
msgstr "Beheer"
@@ -7227,7 +7051,7 @@ msgstr "Samenvatting"
msgid "Registered accounts"
msgstr "Geregistreerde accounts"
-#: ../../mod/admin.php:245 ../../mod/admin.php:540
+#: ../../mod/admin.php:245 ../../mod/admin.php:543
msgid "Pending registrations"
msgstr "Accounts die op goedkeuring wachten"
@@ -7235,7 +7059,7 @@ msgstr "Accounts die op goedkeuring wachten"
msgid "Registered channels"
msgstr "Geregistreerde kanalen"
-#: ../../mod/admin.php:247 ../../mod/admin.php:541
+#: ../../mod/admin.php:247 ../../mod/admin.php:544
msgid "Active plugins"
msgstr "Ingeschakelde plug-ins"
@@ -7243,462 +7067,472 @@ msgstr "Ingeschakelde plug-ins"
msgid "Version"
msgstr "Versie"
-#: ../../mod/admin.php:358
+#: ../../mod/admin.php:359
msgid "Site settings updated."
msgstr "Hub-instellingen bijgewerkt."
-#: ../../mod/admin.php:395
+#: ../../mod/admin.php:398
msgid "experimental"
msgstr "experimenteel"
-#: ../../mod/admin.php:397
+#: ../../mod/admin.php:400
msgid "unsupported"
msgstr "Niet ondersteund"
-#: ../../mod/admin.php:422
+#: ../../mod/admin.php:425
msgid "Yes - with approval"
msgstr "Ja - met goedkeuring"
-#: ../../mod/admin.php:428
+#: ../../mod/admin.php:431
msgid "My site is not a public server"
msgstr "Mijn RedMatrix-hub is niet openbaar"
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:432
msgid "My site has paid access only"
msgstr "Mijn RedMatrix-hub kent alleen betaalde toegang"
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:433
msgid "My site has free access only"
msgstr "Mijn RedMatrix-hub kent alleen gratis toegang"
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:434
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mijn RedMatrix-hub biedt gratis accounts aan met betaalde uitbreidingen als optie"
-#: ../../mod/admin.php:444 ../../mod/register.php:207
+#: ../../mod/admin.php:447 ../../mod/register.php:207
msgid "Registration"
msgstr "Registratie"
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:448
msgid "File upload"
msgstr "Bestand uploaden"
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:449
msgid "Policies"
msgstr "Beleid"
-#: ../../mod/admin.php:451
+#: ../../mod/admin.php:454
msgid "Site name"
msgstr "Naam van deze RedMatrix-hub"
-#: ../../mod/admin.php:452
+#: ../../mod/admin.php:455
msgid "Banner/Logo"
msgstr "Banner/logo"
-#: ../../mod/admin.php:453
+#: ../../mod/admin.php:456
msgid "Administrator Information"
msgstr "Informatie over de beheerder van deze hub"
-#: ../../mod/admin.php:453
+#: ../../mod/admin.php:456
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden."
-#: ../../mod/admin.php:454
+#: ../../mod/admin.php:457
msgid "System language"
msgstr "Standaardtaal"
-#: ../../mod/admin.php:455
+#: ../../mod/admin.php:458
msgid "System theme"
msgstr "Standaardthema"
-#: ../../mod/admin.php:455
+#: ../../mod/admin.php:458
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Standaardthema voor RedMatrix-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>"
-#: ../../mod/admin.php:456
+#: ../../mod/admin.php:459
msgid "Mobile system theme"
msgstr "Standaardthema voor mobiel"
-#: ../../mod/admin.php:456
+#: ../../mod/admin.php:459
msgid "Theme for mobile devices"
msgstr "Thema voor mobiele apparaten"
-#: ../../mod/admin.php:458
+#: ../../mod/admin.php:461
msgid "Enable Diaspora Protocol"
msgstr "Diaspora-protocol inschakelen"
-#: ../../mod/admin.php:458
+#: ../../mod/admin.php:461
msgid "Communicate with Diaspora and Friendica - experimental"
msgstr "Communiceer met Diaspora en Friendica (experimenteel)"
-#: ../../mod/admin.php:459
+#: ../../mod/admin.php:462
msgid "Allow Feeds as Connections"
msgstr "Sta feeds toe als connecties"
-#: ../../mod/admin.php:459
+#: ../../mod/admin.php:462
msgid "(Heavy system resource usage)"
msgstr "(sterk negatieve invloed op systeembronnen hub)"
-#: ../../mod/admin.php:460
+#: ../../mod/admin.php:463
msgid "Maximum image size"
msgstr "Maximale grootte van afbeeldingen"
-#: ../../mod/admin.php:460
+#: ../../mod/admin.php:463
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Maximale grootte in bytes voor afbeeldingen die worden geüpload. Standaard is 0, wat geen limiet betekend."
-#: ../../mod/admin.php:461
+#: ../../mod/admin.php:464
msgid "Does this site allow new member registration?"
msgstr "Staat deze hub nieuwe accounts toe?"
-#: ../../mod/admin.php:462
+#: ../../mod/admin.php:465
msgid "Which best describes the types of account offered by this hub?"
msgstr "Wat voor soort accounts biedt deze RedMatrix-hub aan? Kies wat het meest in de buurt komt."
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:466
msgid "Register text"
msgstr "Tekst tijdens registratie"
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:466
msgid "Will be displayed prominently on the registration page."
msgstr "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond."
-#: ../../mod/admin.php:464
+#: ../../mod/admin.php:467
msgid "Accounts abandoned after x days"
msgstr "Accounts als verlaten beschouwen na zoveel aantal dagen:"
-#: ../../mod/admin.php:464
+#: ../../mod/admin.php:467
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet."
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:468
msgid "Allowed friend domains"
msgstr "Toegestane domeinen"
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:468
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Komma-gescheiden lijst van domeinen waarvan kanalen connecties kunnen aangaan met kanalen op deze RedMatrix-hub. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten."
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:469
msgid "Allowed email domains"
msgstr "Toegestane e-maildomeinen"
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:469
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te laten."
-#: ../../mod/admin.php:467
+#: ../../mod/admin.php:470
msgid "Not allowed email domains"
msgstr "Niet toegestane e-maildomeinen"
-#: ../../mod/admin.php:467
+#: ../../mod/admin.php:470
msgid ""
"Comma separated list of domains which are not allowed in email addresses for"
" registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen niet op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te staan, tenzij er toegestane domeinen zijn ingesteld. "
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:471
msgid "Block public"
msgstr "Openbare toegang blokkeren"
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:471
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor ingelogde leden."
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:472
msgid "Verify Email Addresses"
msgstr "E-mailadres verifieren"
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:472
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen)."
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:473
msgid "Force publish"
msgstr "Dwing kanaalvermelding af"
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:473
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld."
-#: ../../mod/admin.php:471
+#: ../../mod/admin.php:474
msgid "Disable discovery tab"
msgstr "Ontdekkingstab"
-#: ../../mod/admin.php:471
+#: ../../mod/admin.php:474
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr "Verwijder de tab in de matrix-weergave waarin zich een selectie aan openbare berichten bevindt, die automatisch voor deze hub zijn uitgekozen."
-#: ../../mod/admin.php:472
+#: ../../mod/admin.php:475
msgid "No login on Homepage"
msgstr "Geen inlogformulier op de homepage"
-#: ../../mod/admin.php:472
+#: ../../mod/admin.php:475
msgid ""
"Check to hide the login form from your sites homepage when visitors arrive "
"who are not logged in (e.g. when you put the content of the homepage in via "
"the site channel)."
msgstr "Vink dit aan om het inlogformulier op de homepage van deze hub, die niet-ingelogde bezoekers te zien krijgen, te verbergen. (bijvoorbeeld wanneer je een kanaal op deze RedMatrix-hub als homepage gebruikt)"
-#: ../../mod/admin.php:474
+#: ../../mod/admin.php:477
msgid "Proxy user"
msgstr "Gebruikersnaam proxy"
-#: ../../mod/admin.php:475
+#: ../../mod/admin.php:478
msgid "Proxy URL"
msgstr "URL proxy"
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:479
msgid "Network timeout"
msgstr "Netwerktimeout"
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:479
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)"
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:480
msgid "Delivery interval"
msgstr "Afleveringsinterval"
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:480
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Vertraag de achtergrondprocessen voor het afleveren met een aantal seconden om de systeembelasting te verminderen. Aanbevolen: 4-5 voor shared hosts, 2-3 voor virtual private servers (VPS) en 0-1 voor grote dedicated servers."
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:481
msgid "Poll interval"
msgstr "Poll-interval"
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:481
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken."
-#: ../../mod/admin.php:479
+#: ../../mod/admin.php:482
msgid "Maximum Load Average"
msgstr "Maximaal gemiddelde systeembelasting"
-#: ../../mod/admin.php:479
+#: ../../mod/admin.php:482
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50."
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:483
msgid "Expiration period in days for imported (matrix/network) content"
msgstr "Aantal dagen waarna geïmporteerde inhoud uit iemands matrix/netwerk-pagina wordt verwijderd."
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:483
msgid "0 for no expiration of imported content"
msgstr "Dit geldt alleen voor inhoud van andere kanalen, dus niet voor iemands eigen kanaal. 0 voor het niet verwijderen van geïmporteerde inhoud."
-#: ../../mod/admin.php:528
+#: ../../mod/admin.php:531
msgid "No server found"
msgstr "Geen hub gevonden"
-#: ../../mod/admin.php:535 ../../mod/admin.php:824
+#: ../../mod/admin.php:538 ../../mod/admin.php:822
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:535
+#: ../../mod/admin.php:538
msgid "for channel"
msgstr "voor kanaal"
-#: ../../mod/admin.php:535
+#: ../../mod/admin.php:538
msgid "on server"
msgstr "op hub"
-#: ../../mod/admin.php:535
+#: ../../mod/admin.php:538
msgid "Status"
msgstr "Status"
-#: ../../mod/admin.php:537
+#: ../../mod/admin.php:540
msgid "Server"
msgstr "Hubbeheer"
-#: ../../mod/admin.php:554
+#: ../../mod/admin.php:557
msgid "Update has been marked successful"
msgstr "Update is als succesvol gemarkeerd"
-#: ../../mod/admin.php:564
+#: ../../mod/admin.php:567
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Uitvoeren van %s is mislukt. Controleer systeemlogboek."
-#: ../../mod/admin.php:567
+#: ../../mod/admin.php:570
#, php-format
msgid "Update %s was successfully applied."
msgstr "Update %s was geslaagd."
-#: ../../mod/admin.php:571
+#: ../../mod/admin.php:574
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Update %s gaf geen melding. Het is daarom niet bekend of deze geslaagd is."
-#: ../../mod/admin.php:574
+#: ../../mod/admin.php:577
#, php-format
msgid "Update function %s could not be found."
msgstr "Update-functie %s kon niet gevonden worden."
-#: ../../mod/admin.php:590
+#: ../../mod/admin.php:593
msgid "No failed updates."
msgstr "Geen mislukte updates."
-#: ../../mod/admin.php:594
+#: ../../mod/admin.php:597
msgid "Failed Updates"
msgstr "Mislukte updates"
-#: ../../mod/admin.php:596
+#: ../../mod/admin.php:599
msgid "Mark success (if update was manually applied)"
msgstr "Markeer als geslaagd (wanneer de update handmatig was uitgevoerd)"
-#: ../../mod/admin.php:597
+#: ../../mod/admin.php:600
msgid "Attempt to execute this update step automatically"
msgstr "Poging om deze stap van de update automatisch uit te voeren."
-#: ../../mod/admin.php:631
+#: ../../mod/admin.php:632
msgid "Queue Statistics"
msgstr "Wachtrij-statistieken"
-#: ../../mod/admin.php:632
+#: ../../mod/admin.php:633
msgid "Total Entries"
msgstr "Aantal vermeldingen"
-#: ../../mod/admin.php:633
+#: ../../mod/admin.php:634
msgid "Priority"
msgstr "Prioriteit"
-#: ../../mod/admin.php:634
+#: ../../mod/admin.php:635
msgid "Destination URL"
msgstr "Doel-URL"
-#: ../../mod/admin.php:635
+#: ../../mod/admin.php:636
msgid "Mark hub permanently offline"
msgstr "Hub als permanent offline markeren"
-#: ../../mod/admin.php:636
+#: ../../mod/admin.php:637
msgid "Empty queue for this hub"
msgstr "Berichtenwachtrij voor deze hub legen"
-#: ../../mod/admin.php:637
+#: ../../mod/admin.php:638
msgid "Last known contact"
msgstr "Voor het laatst contact"
-#: ../../mod/admin.php:673
+#: ../../mod/admin.php:674
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] "%s account geblokkeerd/gedeblokkeerd"
msgstr[1] "%s accounts geblokkeerd/gedeblokkeerd"
-#: ../../mod/admin.php:681
+#: ../../mod/admin.php:682
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] "%s account verwijderd"
msgstr[1] "%s accounts verwijderd"
-#: ../../mod/admin.php:717
+#: ../../mod/admin.php:718
msgid "Account not found"
msgstr "Account niet gevonden"
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:738
#, php-format
msgid "User '%s' blocked"
msgstr "Lid '%s' geblokkeerd"
-#: ../../mod/admin.php:745
+#: ../../mod/admin.php:746
#, php-format
msgid "User '%s' unblocked"
msgstr "Account '%s' gedeblokkeerd"
-#: ../../mod/admin.php:811 ../../mod/admin.php:823
+#: ../../mod/admin.php:809 ../../mod/admin.php:821
msgid "Users"
msgstr "Accounts"
-#: ../../mod/admin.php:813 ../../mod/admin.php:947
+#: ../../mod/admin.php:811 ../../mod/admin.php:947
msgid "select all"
msgstr "alles selecteren"
-#: ../../mod/admin.php:814
+#: ../../mod/admin.php:812
msgid "User registrations waiting for confirm"
msgstr "Accounts die op goedkeuring wachten"
-#: ../../mod/admin.php:815
+#: ../../mod/admin.php:813
msgid "Request date"
msgstr "Tijd/datum verzoek"
-#: ../../mod/admin.php:816
+#: ../../mod/admin.php:814
msgid "No registrations."
msgstr "Geen verzoeken."
-#: ../../mod/admin.php:817
+#: ../../mod/admin.php:815
msgid "Approve"
msgstr "Goedkeuren"
-#: ../../mod/admin.php:818
+#: ../../mod/admin.php:816
msgid "Deny"
msgstr "Afkeuren"
-#: ../../mod/admin.php:824
+#: ../../mod/admin.php:818 ../../mod/connedit.php:517
+#: ../../mod/connedit.php:720
+msgid "Block"
+msgstr "Blokkeren"
+
+#: ../../mod/admin.php:819 ../../mod/connedit.php:517
+#: ../../mod/connedit.php:720
+msgid "Unblock"
+msgstr "Deblokkeren"
+
+#: ../../mod/admin.php:822
msgid "Register date"
msgstr "Geregistreerd"
-#: ../../mod/admin.php:824
+#: ../../mod/admin.php:822
msgid "Last login"
msgstr "Laatste keer ingelogd"
-#: ../../mod/admin.php:824
+#: ../../mod/admin.php:822
msgid "Expires"
msgstr "Verloopt"
-#: ../../mod/admin.php:824
+#: ../../mod/admin.php:822
msgid "Service Class"
msgstr "Abonnementen"
-#: ../../mod/admin.php:826
+#: ../../mod/admin.php:824
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Geselecteerde accounts (met bijbehorende kanalen) worden verwijderd!\\n\\nAlles wat deze accounts op deze hub hebben gepubliceerd wordt definitief verwijderd!\\n\\Weet je het zeker?"
-#: ../../mod/admin.php:827
+#: ../../mod/admin.php:825
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Account {0} (met bijbehorende kanalen) wordt verwijderd !\\n\\nAlles wat dit account op deze hub heeft gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-#: ../../mod/admin.php:861
+#: ../../mod/admin.php:859
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "%s kanaal gecensureerd/ongecensureerd"
msgstr[1] "%s kanalen gecensureerd/ongecensureerd"
-#: ../../mod/admin.php:868
+#: ../../mod/admin.php:866
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
@@ -7786,76 +7620,76 @@ msgstr "Geen thema's gevonden"
msgid "Screenshot"
msgstr "Schermafdruk"
-#: ../../mod/admin.php:1276
+#: ../../mod/admin.php:1275
msgid "[Experimental]"
msgstr "[Experimenteel]"
-#: ../../mod/admin.php:1277
+#: ../../mod/admin.php:1276
msgid "[Unsupported]"
msgstr "[Niet ondersteund]"
-#: ../../mod/admin.php:1301
+#: ../../mod/admin.php:1300
msgid "Log settings updated."
msgstr "Logboek-instellingen bijgewerkt."
-#: ../../mod/admin.php:1356
+#: ../../mod/admin.php:1357
msgid "Clear"
msgstr "Leegmaken"
-#: ../../mod/admin.php:1362
+#: ../../mod/admin.php:1363
msgid "Debugging"
msgstr "Debuggen"
-#: ../../mod/admin.php:1363
+#: ../../mod/admin.php:1364
msgid "Log file"
msgstr "Logbestand"
-#: ../../mod/admin.php:1363
+#: ../../mod/admin.php:1364
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr "Moet door de webserver beschrijfbaar zijn. Relatief ten opzichte van de bovenste map van je RedMatrix-installatie."
-#: ../../mod/admin.php:1364
+#: ../../mod/admin.php:1365
msgid "Log level"
msgstr "Logniveau"
-#: ../../mod/admin.php:1410
+#: ../../mod/admin.php:1411
msgid "New Profile Field"
msgstr "Nieuw profielveld"
-#: ../../mod/admin.php:1411 ../../mod/admin.php:1431
+#: ../../mod/admin.php:1412 ../../mod/admin.php:1432
msgid "Field nickname"
msgstr "Bijnaam voor veld"
-#: ../../mod/admin.php:1411 ../../mod/admin.php:1431
+#: ../../mod/admin.php:1412 ../../mod/admin.php:1432
msgid "System name of field"
msgstr "Systeemnaam voor veld"
-#: ../../mod/admin.php:1412 ../../mod/admin.php:1432
+#: ../../mod/admin.php:1413 ../../mod/admin.php:1433
msgid "Input type"
msgstr "Invoertype"
-#: ../../mod/admin.php:1413 ../../mod/admin.php:1433
+#: ../../mod/admin.php:1414 ../../mod/admin.php:1434
msgid "Field Name"
msgstr "Veldnaam"
-#: ../../mod/admin.php:1413 ../../mod/admin.php:1433
+#: ../../mod/admin.php:1414 ../../mod/admin.php:1434
msgid "Label on profile pages"
msgstr "Tekstlabel voor op profielpagina's"
-#: ../../mod/admin.php:1414 ../../mod/admin.php:1434
+#: ../../mod/admin.php:1415 ../../mod/admin.php:1435
msgid "Help text"
msgstr "Helptekst"
-#: ../../mod/admin.php:1414 ../../mod/admin.php:1434
+#: ../../mod/admin.php:1415 ../../mod/admin.php:1435
msgid "Additional info (optional)"
msgstr "Extra informatie (optioneel)"
-#: ../../mod/admin.php:1424
+#: ../../mod/admin.php:1425
msgid "Field definition not found"
msgstr "Velddefinitie niet gevonden"
-#: ../../mod/admin.php:1430
+#: ../../mod/admin.php:1431
msgid "Edit Profile Field"
msgstr "Profielveld bewerken"
@@ -7867,18 +7701,14 @@ msgstr "Niet in staat om je hub te vinden"
msgid "Post successful."
msgstr "Verzenden bericht geslaagd."
-#: ../../mod/editblock.php:115
+#: ../../mod/editblock.php:112
msgid "Edit Block"
msgstr "Blok bewerken"
-#: ../../mod/editblock.php:125
+#: ../../mod/editblock.php:123
msgid "Delete block?"
msgstr "Blok verwijderen"
-#: ../../mod/editblock.php:188
-msgid "Delete Block"
-msgstr "Blok verwijderen"
-
#: ../../mod/register.php:44
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr "Maximum toegestane dagelijkse registraties op deze RedMatrix-hub bereikt. Probeer het morgen (UTC) nogmaals."
@@ -7994,156 +7824,117 @@ msgid ""
"removed from the network"
msgstr "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het RedMatrix-netwerk verwijderd."
-#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
-#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
-#: ../../mod/update_home.php:21
-msgid "[Embedded content - reload page to view]"
-msgstr "[Ingesloten inhoud - ververs pagina om te bekijken] "
-
-#: ../../mod/photos.php:77
-msgid "Page owner information could not be retrieved."
-msgstr "Informatie over de pagina-eigenaar werd niet ontvangen."
-
-#: ../../mod/photos.php:97
-msgid "Album not found."
-msgstr "Album niet gevonden."
+#: ../../mod/item.php:174
+msgid "Unable to locate original post."
+msgstr "Niet in staat om de originele locatie van het bericht te vinden. "
-#: ../../mod/photos.php:119 ../../mod/photos.php:643
-msgid "Delete Album"
-msgstr "Verwijder album"
+#: ../../mod/item.php:437
+msgid "Empty post discarded."
+msgstr "Leeg bericht geannuleerd"
-#: ../../mod/photos.php:159 ../../mod/photos.php:930
-msgid "Delete Photo"
-msgstr "Verwijder foto"
+#: ../../mod/item.php:479
+msgid "Executable content type not permitted to this channel."
+msgstr "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal."
-#: ../../mod/photos.php:440
-msgid "No photos selected"
-msgstr "Geen foto's geselecteerd"
+#: ../../mod/item.php:885
+msgid "System error. Post not saved."
+msgstr "Systeemfout. Bericht niet opgeslagen."
-#: ../../mod/photos.php:484
-msgid "Access to this item is restricted."
-msgstr "Toegang tot dit item is beperkt."
+#: ../../mod/item.php:1103
+msgid "Unable to obtain post information from database."
+msgstr "Niet in staat om informatie over dit bericht uit de database te verkrijgen."
-#: ../../mod/photos.php:523
+#: ../../mod/item.php:1110
#, php-format
-msgid "%1$.2f MB of %2$.2f MB photo storage used."
-msgstr "%1$.2f MB van %2$.2f MB aan foto-opslag gebruikt."
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Je hebt jouw limiet van %1$.0f berichten bereikt."
-#: ../../mod/photos.php:526
+#: ../../mod/item.php:1117
#, php-format
-msgid "%1$.2f MB photo storage used."
-msgstr "%1$.2f MB aan foto-opslag gebruikt."
-
-#: ../../mod/photos.php:550
-msgid "Upload Photos"
-msgstr "Foto's uploaden"
-
-#: ../../mod/photos.php:554 ../../mod/photos.php:636 ../../mod/photos.php:915
-msgid "Enter a new album name"
-msgstr "Vul een nieuwe albumnaam in"
-
-#: ../../mod/photos.php:555 ../../mod/photos.php:637 ../../mod/photos.php:916
-msgid "or select an existing one (doubleclick)"
-msgstr "of kies een bestaand album (dubbelklikken)"
-
-#: ../../mod/photos.php:556
-msgid "Create a status post for this upload"
-msgstr "Plaats een bericht voor deze upload."
-
-#: ../../mod/photos.php:584
-msgid "Album name could not be decoded"
-msgstr "Albumnaam kon niet gedecodeerd worden"
-
-#: ../../mod/photos.php:625 ../../mod/photos.php:1157
-#: ../../mod/photos.php:1173
-msgid "Contact Photos"
-msgstr "Connectiefoto's"
-
-#: ../../mod/photos.php:649
-msgid "Show Newest First"
-msgstr "Nieuwste eerst weergeven"
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Je hebt jouw limiet van %1$.0f webpagina's bereikt."
-#: ../../mod/photos.php:651
-msgid "Show Oldest First"
-msgstr "Oudste eerst weergeven"
+#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
+#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
+#: ../../mod/update_home.php:21
+msgid "[Embedded content - reload page to view]"
+msgstr "[Ingesloten inhoud - ververs pagina om te bekijken] "
-#: ../../mod/photos.php:675 ../../mod/photos.php:1205
-msgid "View Photo"
-msgstr "Foto weergeven"
+#: ../../mod/lockview.php:37
+msgid "Remote privacy information not available."
+msgstr "Privacy-informatie op afstand niet beschikbaar."
-#: ../../mod/photos.php:704
-msgid "Edit Album"
-msgstr "Album bewerken"
+#: ../../mod/lockview.php:58
+msgid "Visible to:"
+msgstr "Zichtbaar voor:"
-#: ../../mod/photos.php:749
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Toegang geweigerd. Toegang tot dit item kan zijn beperkt."
+#: ../../mod/blocks.php:95 ../../mod/blocks.php:144
+msgid "Block Name"
+msgstr "Bloknaam"
-#: ../../mod/photos.php:751
-msgid "Photo not available"
-msgstr "Foto niet aanwezig"
+#: ../../mod/id.php:11
+msgid "First Name"
+msgstr "Voornaam"
-#: ../../mod/photos.php:809
-msgid "Use as profile photo"
-msgstr "Als profielfoto gebruiken"
+#: ../../mod/id.php:12
+msgid "Last Name"
+msgstr "Achternaam"
-#: ../../mod/photos.php:816
-msgid "Private Photo"
-msgstr "Privéfoto"
+#: ../../mod/id.php:13
+msgid "Nickname"
+msgstr "Bijnaam"
-#: ../../mod/photos.php:831
-msgid "View Full Size"
-msgstr "Volledige grootte weergeven"
+#: ../../mod/id.php:14
+msgid "Full Name"
+msgstr "Volledige naam"
-#: ../../mod/photos.php:909
-msgid "Edit photo"
-msgstr "Foto bewerken"
+#: ../../mod/id.php:20
+msgid "Profile Photo 16px"
+msgstr "Profielfoto 16px"
-#: ../../mod/photos.php:911
-msgid "Rotate CW (right)"
-msgstr "Draai met de klok mee (naar rechts)"
+#: ../../mod/id.php:21
+msgid "Profile Photo 32px"
+msgstr "Profielfoto 32px"
-#: ../../mod/photos.php:912
-msgid "Rotate CCW (left)"
-msgstr "Draai tegen de klok in (naar links)"
+#: ../../mod/id.php:22
+msgid "Profile Photo 48px"
+msgstr "Profielfoto 48px"
-#: ../../mod/photos.php:919
-msgid "Caption"
-msgstr "Bijschrift"
+#: ../../mod/id.php:23
+msgid "Profile Photo 64px"
+msgstr "Profielfoto 64px"
-#: ../../mod/photos.php:921
-msgid "Add a Tag"
-msgstr "Tag toevoegen"
+#: ../../mod/id.php:24
+msgid "Profile Photo 80px"
+msgstr "Profielfoto 80px"
-#: ../../mod/photos.php:925
-msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
-msgstr "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl"
+#: ../../mod/id.php:25
+msgid "Profile Photo 128px"
+msgstr "Profielfoto 128px"
-#: ../../mod/photos.php:928
-msgid "Flag as adult in album view"
-msgstr "Markeer als voor volwassenen in albumweergave"
+#: ../../mod/id.php:26
+msgid "Timezone"
+msgstr "Tijdzone"
-#: ../../mod/photos.php:1120
-msgid "In This Photo:"
-msgstr "Op deze foto:"
+#: ../../mod/id.php:27
+msgid "Homepage URL"
+msgstr "URL homepagina"
-#: ../../mod/photos.php:1125
-msgid "Map"
-msgstr "Kaart"
+#: ../../mod/id.php:29
+msgid "Birth Year"
+msgstr "Geboortejaar"
-#: ../../mod/photos.php:1211
-msgid "View Album"
-msgstr "Album weergeven"
+#: ../../mod/id.php:30
+msgid "Birth Month"
+msgstr "Geboortemaand"
-#: ../../mod/photos.php:1234
-msgid "Recent Photos"
-msgstr "Recente foto's"
+#: ../../mod/id.php:31
+msgid "Birth Day"
+msgstr "Geboortedag"
-#: ../../mod/post.php:234
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen."
+#: ../../mod/id.php:32
+msgid "Birthdate"
+msgstr "Geboortedatum"
#: ../../mod/message.php:41
msgid "Conversation removed."
@@ -8161,105 +7952,17 @@ msgstr "Verwijder conversatie"
msgid "D, d M Y - g:i A"
msgstr "D, j M Y - G:i"
-#: ../../mod/mitem.php:67
-msgid "Menu element updated."
-msgstr "Menu-onderdeel geüpdatet."
-
-#: ../../mod/mitem.php:71
-msgid "Unable to update menu element."
-msgstr "Menu-onderdeel kan niet worden geüpdatet."
-
-#: ../../mod/mitem.php:77
-msgid "Menu element added."
-msgstr "Menu-onderdeel toegevoegd"
-
-#: ../../mod/mitem.php:81
-msgid "Unable to add menu element."
-msgstr "Menu-onderdeel kan niet worden toegevoegd."
-
-#: ../../mod/mitem.php:127
-msgid "Manage Menu Elements"
-msgstr "Menu-onderdelen beheren"
-
-#: ../../mod/mitem.php:130
-msgid "Edit menu"
-msgstr "Menu bewerken"
-
-#: ../../mod/mitem.php:133
-msgid "Edit element"
-msgstr "Onderdeel bewerken"
-
-#: ../../mod/mitem.php:134
-msgid "Drop element"
-msgstr "Onderdeel verwijderen"
-
-#: ../../mod/mitem.php:135
-msgid "New element"
-msgstr "Nieuw element"
-
-#: ../../mod/mitem.php:136
-msgid "Edit this menu container"
-msgstr "Deze menu-container bewerken"
-
-#: ../../mod/mitem.php:137
-msgid "Add menu element"
-msgstr "Menu-element toevoegen"
-
-#: ../../mod/mitem.php:138
-msgid "Delete this menu item"
-msgstr "Dit menu-item verwijderen"
-
-#: ../../mod/mitem.php:139
-msgid "Edit this menu item"
-msgstr "Dit menu-item bewerken"
-
-#: ../../mod/mitem.php:158
-msgid "New Menu Element"
-msgstr "Nieuw menu-element"
-
-#: ../../mod/mitem.php:160 ../../mod/mitem.php:203
-msgid "Menu Item Permissions"
-msgstr "Permissies menu-item"
-
-#: ../../mod/mitem.php:163 ../../mod/mitem.php:207
-msgid "Link text"
-msgstr "Linktekst"
-
-#: ../../mod/mitem.php:164 ../../mod/mitem.php:208
-msgid "URL of link"
-msgstr "URL of link"
-
-#: ../../mod/mitem.php:165 ../../mod/mitem.php:209
-msgid "Use RedMatrix magic-auth if available"
-msgstr "Gebruik RedMatrix' magic-auth wanneer beschikbaar"
-
-#: ../../mod/mitem.php:166 ../../mod/mitem.php:210
-msgid "Open link in new window"
-msgstr "Open link in nieuw venster"
-
-#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
-msgid "Order in list"
-msgstr "Volgorde in lijst"
-
-#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "Hogere nummers komen onderaan de lijst terecht"
-
-#: ../../mod/mitem.php:181
-msgid "Menu item not found."
-msgstr "Menu-item niet gevonden."
+#: ../../mod/layouts.php:111
+msgid "Help with this feature"
+msgstr "Hulp voor dit onderdeel"
-#: ../../mod/mitem.php:190
-msgid "Menu item deleted."
-msgstr "Menu-item verwijderd."
+#: ../../mod/layouts.php:132
+msgid "Layout Name"
+msgstr "Naam lay-out"
-#: ../../mod/mitem.php:192
-msgid "Menu item could not be deleted."
-msgstr "Menu-item kon niet worden verwijderd."
-
-#: ../../mod/mitem.php:201
-msgid "Edit Menu Element"
-msgstr "Menu-element bewerken"
+#: ../../mod/layouts.php:171
+msgid "Comanche page description language help"
+msgstr "Hulp met de paginabeschrijvingstaal Comanche"
#: ../../mod/mood.php:131
msgid "Set your current mood and tell your friends"
@@ -8297,13 +8000,314 @@ msgid ""
"removed from the network"
msgstr "Standaard wordt alleen het kanaal dat zich op deze hub bevindt uit het RedMatrix-netwerk verwijderd."
-#: ../../mod/layouts.php:110
-msgid "Help with this feature"
-msgstr "Hulp voor dit onderdeel"
+#: ../../mod/connedit.php:262
+msgid "is now connected to"
+msgstr "is nu verbonden met"
-#: ../../mod/layouts.php:130
-msgid "Layout Name"
-msgstr "Naam lay-out"
+#: ../../mod/connedit.php:375
+msgid "Could not access address book record."
+msgstr "Kon geen toegang krijgen tot de record van de connectie."
+
+#: ../../mod/connedit.php:389
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar"
+
+#: ../../mod/connedit.php:396
+msgid "Channel has been unblocked"
+msgstr "Kanaal is gedeblokkeerd"
+
+#: ../../mod/connedit.php:397
+msgid "Channel has been blocked"
+msgstr "Kanaal is geblokkeerd"
+
+#: ../../mod/connedit.php:401 ../../mod/connedit.php:413
+#: ../../mod/connedit.php:425 ../../mod/connedit.php:437
+#: ../../mod/connedit.php:453
+msgid "Unable to set address book parameters."
+msgstr "Niet in staat om de parameters van connecties in te stellen."
+
+#: ../../mod/connedit.php:408
+msgid "Channel has been unignored"
+msgstr "Kanaal wordt niet meer genegeerd"
+
+#: ../../mod/connedit.php:409
+msgid "Channel has been ignored"
+msgstr "Kanaal wordt genegeerd"
+
+#: ../../mod/connedit.php:420
+msgid "Channel has been unarchived"
+msgstr "Kanaal is niet meer gearchiveerd"
+
+#: ../../mod/connedit.php:421
+msgid "Channel has been archived"
+msgstr "Kanaal is gearchiveerd"
+
+#: ../../mod/connedit.php:432
+msgid "Channel has been unhidden"
+msgstr "Kanaal is niet meer verborgen"
+
+#: ../../mod/connedit.php:433
+msgid "Channel has been hidden"
+msgstr "Kanaal is verborgen"
+
+#: ../../mod/connedit.php:448
+msgid "Channel has been approved"
+msgstr "Connectie/kanaal is geaccepteerd"
+
+#: ../../mod/connedit.php:449
+msgid "Channel has been unapproved"
+msgstr "Connectie/kanaal is afgewezen"
+
+#: ../../mod/connedit.php:477
+msgid "Connection has been removed."
+msgstr "Connectie is verwijderd"
+
+#: ../../mod/connedit.php:497
+#, php-format
+msgid "View %s's profile"
+msgstr "Profiel van %s weergeven"
+
+#: ../../mod/connedit.php:501
+msgid "Refresh Permissions"
+msgstr "Permissies vernieuwen"
+
+#: ../../mod/connedit.php:504
+msgid "Fetch updated permissions"
+msgstr "Aangepaste permissies ophalen"
+
+#: ../../mod/connedit.php:508
+msgid "Recent Activity"
+msgstr "Recente activiteit"
+
+#: ../../mod/connedit.php:511
+msgid "View recent posts and comments"
+msgstr "Recente berichten en reacties weergeven"
+
+#: ../../mod/connedit.php:520
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "Blokkeer (of deblokkeer) alle communicatie met deze connectie"
+
+#: ../../mod/connedit.php:524 ../../mod/connedit.php:721
+msgid "Unignore"
+msgstr "Niet meer negeren"
+
+#: ../../mod/connedit.php:524 ../../mod/connedit.php:721
+#: ../../mod/notifications.php:51
+msgid "Ignore"
+msgstr "Negeren"
+
+#: ../../mod/connedit.php:527
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie"
+
+#: ../../mod/connedit.php:530
+msgid "Unarchive"
+msgstr "Niet meer archiveren"
+
+#: ../../mod/connedit.php:530
+msgid "Archive"
+msgstr "Archiveren"
+
+#: ../../mod/connedit.php:533
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr "Archiveer (of dearchiveer) deze connectie - markeer het kanaal als dood, maar bewaar de inhoud"
+
+#: ../../mod/connedit.php:536
+msgid "Unhide"
+msgstr "Niet meer verbergen"
+
+#: ../../mod/connedit.php:536
+msgid "Hide"
+msgstr "Verbergen"
+
+#: ../../mod/connedit.php:539
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Deze connectie verbergen (of niet meer verbergen) voor jouw andere connecties"
+
+#: ../../mod/connedit.php:546
+msgid "Delete this connection"
+msgstr "Deze connectie verwijderen"
+
+#: ../../mod/connedit.php:637 ../../mod/connedit.php:675
+msgid "Approve this connection"
+msgstr "Deze connectie accepteren"
+
+#: ../../mod/connedit.php:637
+msgid "Accept connection to allow communication"
+msgstr "Keur deze connectie goed om communicatie toe te staan"
+
+#: ../../mod/connedit.php:653
+#, php-format
+msgid "Connections: settings for %s"
+msgstr "Connecties: instellingen voor %s"
+
+#: ../../mod/connedit.php:654
+msgid "Apply these permissions automatically"
+msgstr "Deze permissies automatisch toepassen"
+
+#: ../../mod/connedit.php:658
+msgid "Apply the permissions indicated on this page to all new connections."
+msgstr "Permissies die op deze pagina staan vermeldt op alle nieuwe connecties toepassen."
+
+#: ../../mod/connedit.php:662
+msgid "Slide to adjust your degree of friendship"
+msgstr "Schuif om te bepalen hoe goed je iemand kent en/of mag"
+
+#: ../../mod/connedit.php:671
+msgid ""
+"Default permissions for your channel type have (just) been applied. They "
+"have not yet been submitted. Please review the permissions on this page and "
+"make any desired changes at this time. This new connection may <em>not</em> "
+"be able to communicate with you until you submit this page, which will "
+"install and apply the selected permissions."
+msgstr "Voor jouw kanaaltype geldende standaard permissies zijn (zonet) toegepast. Ze zijn echter nog niet opgeslagen. Controleer de permissies op deze pagina en verander ze eventueel. Deze nieuwe connectie kan mogelijk nog <em>niet</em> met jou communiceren totdat je deze pagina opslaat, wat ervoor zorgt dat de gekozen permissies actief worden."
+
+#: ../../mod/connedit.php:674
+msgid "inherited"
+msgstr "geërfd"
+
+#: ../../mod/connedit.php:677
+msgid "Connection has no individual permissions!"
+msgstr "Connectie heeft geen individuele permissies!"
+
+#: ../../mod/connedit.php:678
+msgid ""
+"This may be appropriate based on your <a href=\"settings\">privacy "
+"settings</a>, though you may wish to review the \"Advanced Permissions\"."
+msgstr "Dit is mogelijk voldoende, wanneer er naar jouw <a href=\"settings\">privacy-instellingen</a> wordt gekeken. Hoewel je wellicht de geavanceerde rechten wil nagaan."
+
+#: ../../mod/connedit.php:680
+msgid "Profile Visibility"
+msgstr "Zichtbaarheid profiel"
+
+#: ../../mod/connedit.php:681
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken."
+
+#: ../../mod/connedit.php:682
+msgid "Contact Information / Notes"
+msgstr "Informatie/aantekeningen over connectie"
+
+#: ../../mod/connedit.php:683
+msgid "Edit contact notes"
+msgstr "Bewerk aantekeningen over contact"
+
+#: ../../mod/connedit.php:685
+msgid "Their Settings"
+msgstr "Hun instellingen"
+
+#: ../../mod/connedit.php:686
+msgid "My Settings"
+msgstr "Mijn instellingen"
+
+#: ../../mod/connedit.php:688
+msgid ""
+"Default permissions for this channel type have (just) been applied. They "
+"have <em>not</em> been saved and there are currently no stored default "
+"permissions. Please review/edit the applied settings and click [Submit] to "
+"finalize."
+msgstr "Voor dit kanaaltype geldende standaard permissies zijn (zonet) toegepast. Ze zijn echter nog <em>niet</em> opgeslagen en er zijn momenteel geen standaard permissies aanwezig. Controleer/verander de permissies op deze pagina en klik op [Opslaan] om deze te activeren."
+
+#: ../../mod/connedit.php:689
+msgid "Clear/Disable Automatic Permissions"
+msgstr "Verwijderen/uitschakelen automatische permissies"
+
+#: ../../mod/connedit.php:690
+msgid "Forum Members"
+msgstr "Forumleden"
+
+#: ../../mod/connedit.php:691
+msgid "Soapbox"
+msgstr "Zeepkist"
+
+#: ../../mod/connedit.php:692
+msgid "Full Sharing (typical social network permissions)"
+msgstr "Voluit delen (vergelijkbaar met die van sociale netwerken)"
+
+#: ../../mod/connedit.php:693
+msgid "Cautious Sharing "
+msgstr "Voorzichtig delen"
+
+#: ../../mod/connedit.php:694
+msgid "Follow Only"
+msgstr "Alleen volgen"
+
+#: ../../mod/connedit.php:695
+msgid "Individual Permissions"
+msgstr "Individuele permissies"
+
+#: ../../mod/connedit.php:696
+msgid ""
+"Some permissions may be inherited from your channel <a "
+"href=\"settings\">privacy settings</a>, which have higher priority than "
+"individual settings. Changing those inherited settings on this page will "
+"have no effect."
+msgstr "Sommige permissies kunnen worden overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal. Wanneer je deze geërfde instellingen op deze pagina veranderd heeft dat geen effect."
+
+#: ../../mod/connedit.php:697
+msgid "Advanced Permissions"
+msgstr "Geavanceerde permissies"
+
+#: ../../mod/connedit.php:698
+msgid "Simple Permissions (select one and submit)"
+msgstr "Eenvoudige permissies (selecteer er één en opslaan)"
+
+#: ../../mod/connedit.php:702
+#, php-format
+msgid "Visit %s's profile - %s"
+msgstr "Profiel van %s bezoeken - %s"
+
+#: ../../mod/connedit.php:703
+msgid "Block/Unblock contact"
+msgstr "Connectie blokkeren/deblokkeren"
+
+#: ../../mod/connedit.php:704
+msgid "Ignore contact"
+msgstr "Connectie negeren"
+
+#: ../../mod/connedit.php:705
+msgid "Repair URL settings"
+msgstr "URL-instellingen repareren"
+
+#: ../../mod/connedit.php:706
+msgid "View conversations"
+msgstr "Conversaties weergeven"
+
+#: ../../mod/connedit.php:708
+msgid "Delete contact"
+msgstr "Connectie verwijderen"
+
+#: ../../mod/connedit.php:712
+msgid "Last update:"
+msgstr "Laatste wijziging:"
+
+#: ../../mod/connedit.php:714
+msgid "Update public posts"
+msgstr "Openbare berichten updaten"
+
+#: ../../mod/connedit.php:716
+msgid "Update now"
+msgstr "Nu updaten"
+
+#: ../../mod/connedit.php:722
+msgid "Currently blocked"
+msgstr "Momenteel geblokkeerd"
+
+#: ../../mod/connedit.php:723
+msgid "Currently ignored"
+msgstr "Momenteel genegeerd"
+
+#: ../../mod/connedit.php:724
+msgid "Currently archived"
+msgstr "Momenteel gearchiveerd"
+
+#: ../../mod/connedit.php:725
+msgid "Currently pending"
+msgstr "Moeten nog geaccepteerd of afgewezen worden"
#: ../../mod/rmagic.php:40
msgid ""
@@ -8413,6 +8417,12 @@ msgstr "Annuleren"
msgid "Please login."
msgstr "Inloggen."
+#: ../../mod/post.php:235
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen."
+
#: ../../mod/new_channel.php:109
msgid "Add a Channel"
msgstr "Kanaal toevoegen"
@@ -8423,7 +8433,7 @@ msgid ""
" to hold social network profiles, blogs, conversation groups and forums, "
"celebrity pages, and much more. You may create as many channels as your "
"service provider allows."
-msgstr "Een kanaal is jouw eigen verzameling aan gerelateerde berichten. Een kanaal kan gebruikt worden voor een sociaal netwerk, weblog, forum, en voor veel meer. Je kan net zoveel kanalen aanmaken als dat de eigenaar/beheerder van jouw hub toestaat."
+msgstr "Naast een account moet je tenminste één kanaal aanmaken. Een kanaal is een persoonlijke verzameling (gerelateerde) berichten en media, zoals je misschien gewend bent van sociale netwerken. Een kanaal kan gebruikt worden voor social media, een blog, forum, en voor veel meer. Je kan net zoveel kanalen aanmaken als dat de eigenaar/beheerder van jouw hub toestaat."
#: ../../mod/new_channel.php:113
msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
@@ -8431,13 +8441,13 @@ msgstr "Jouw naam of een andere relevante naam. Voorbeelden: \"Jan Pietersen\",
#: ../../mod/new_channel.php:114
msgid "Choose a short nickname"
-msgstr "Kies een bijnaam"
+msgstr "Korte bijnaam"
#: ../../mod/new_channel.php:115
msgid ""
"Your nickname will be used to create an easily remembered channel address "
"(like an email address) which you can share with others."
-msgstr "Deze bijnaam wordt gebruikt om een makkelijk te onthouden kanaaladres (zoals een e-mailadres) aan te maken, die je dan met anderen kan delen. Voorbeeld: janp (wordt <em>janp@jouw_hub</em>)"
+msgstr "Deze bijnaam (geen spaties) wordt gebruikt om een makkelijk te onthouden kanaaladres (zoals een e-mailadres) en het internetadres (URL) van jouw kanaal aan te maken, die je dan met anderen kunt delen. Voorbeeld: <b>janp</b> wordt <em>janp@jouw_hub.nl</em> en <em>https://jouw_hub.nl/channel/janp</em>."
#: ../../mod/new_channel.php:116
msgid "Or <a href=\"import\">import an existing channel</a> from another location"
@@ -8545,6 +8555,10 @@ msgstr "Connectie: "
msgid "Invalid connection."
msgstr "Ongeldige connectie."
+#: ../../mod/page.php:119
+msgid "Ipsum Lorem"
+msgstr "Lorem ipsum"
+
#: ../../mod/bookmarks.php:38
msgid "Bookmark added"
msgstr "Bladwijzer toegevoegd"
@@ -8866,103 +8880,51 @@ msgstr "Grootte profielfoto's van berichten instellen"
msgid "Set size of followup author photos"
msgstr "Grootte profielfoto's van reacties instellen"
-#: ../../randpost/randpost.php:96
-msgid "You're welcome."
-msgstr "Je bent van harte welkom."
-
-#: ../../randpost/randpost.php:97
-msgid "Ah shucks..."
-msgstr "Hé verdorie..."
-
-#: ../../randpost/randpost.php:98
-msgid "Don't mention it."
-msgstr "Graag gedaan."
-
-#: ../../randpost/randpost.php:99
-msgid "&lt;blush&gt;"
-msgstr "&lt;bloos&gt;"
-
-#: ../../wppost/wppost.php:43
-msgid "Post to WordPress"
-msgstr "Op WordPress plaatsen"
-
-#: ../../wppost/wppost.php:80
-msgid "Enable WordPress Post Plugin"
-msgstr "WordPress-crosspost-plugin inschakelen"
-
-#: ../../wppost/wppost.php:84
-msgid "WordPress username"
-msgstr "Gebruikersnaam WordPress"
-
-#: ../../wppost/wppost.php:88
-msgid "WordPress password"
-msgstr "Wachtwoord WordPress"
-
-#: ../../wppost/wppost.php:92
-msgid "WordPress API URL"
-msgstr "API-URL WordPress"
-
-#: ../../wppost/wppost.php:96
-msgid "Post to WordPress by default"
-msgstr "Standaard op WordPress plaatsen"
-
-#: ../../wppost/wppost.php:100
-msgid "Forward comments (requires post_to_red plugin)"
-msgstr "Reacties doorsturen (WordPress-plugin 'post_to_red' vereist)"
-
-#: ../../wppost/wppost.php:104
-msgid "WordPress Post Settings"
-msgstr "Instellingen WordPress-crosspost"
-
-#: ../../wppost/wppost.php:119
-msgid "Wordpress Settings saved."
-msgstr "WordPress-crosspost opgeslagen."
-
-#: ../../boot.php:1357
+#: ../../boot.php:1345
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Update %s mislukt. Zie foutenlogboek."
-#: ../../boot.php:1360
+#: ../../boot.php:1348
#, php-format
msgid "Update Error at %s"
msgstr "Update-fout op %s"
-#: ../../boot.php:1527
+#: ../../boot.php:1515
msgid ""
"Create an account to access services and applications within the Red Matrix"
msgstr "Maak een account aan om toegang te krijgen tot diensten en toepassingen van de RedMatrix"
-#: ../../boot.php:1555
+#: ../../boot.php:1543
msgid "Password"
msgstr "Wachtwoord"
-#: ../../boot.php:1556
+#: ../../boot.php:1544
msgid "Remember me"
msgstr "Aangemeld blijven"
-#: ../../boot.php:1559
+#: ../../boot.php:1547
msgid "Forgot your password?"
msgstr "Wachtwoord vergeten?"
-#: ../../boot.php:2182
+#: ../../boot.php:2166
msgid "toggle mobile"
msgstr "mobiele weergave omschakelen"
-#: ../../boot.php:2314
+#: ../../boot.php:2301
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Het SSL-certificaat van deze website is ongeldig. Corrigeer dit a.u.b."
-#: ../../boot.php:2317
+#: ../../boot.php:2304
#, php-format
msgid "[red] Website SSL error for %s"
msgstr "[red] Probleem met SSL-certificaat voor %s"
-#: ../../boot.php:2355
+#: ../../boot.php:2341
msgid "Cron/Scheduled tasks not running."
msgstr "Cron is niet actief"
-#: ../../boot.php:2359
+#: ../../boot.php:2345
#, php-format
msgid "[red] Cron tasks not running on %s"
msgstr "[red] Cron-taken zijn niet actief op %s"
diff --git a/view/nl/strings.php b/view/nl/strings.php
index 3bf5e485f..eae74f7c9 100644
--- a/view/nl/strings.php
+++ b/view/nl/strings.php
@@ -16,313 +16,9 @@ $a->strings["All Channels"] = "Alle kanalen";
$a->strings["edit"] = "bewerken";
$a->strings["Collections"] = "Collecties";
$a->strings["Edit collection"] = "Collectie bewerken";
-$a->strings["Create a new collection"] = "Nieuwe collectie aanmaken";
+$a->strings["Add new collection"] = "Nieuwe collectie toevoegen";
$a->strings["Channels not in any collection"] = "Kanalen die zich in geen enkele collectie bevinden";
$a->strings["add"] = "toevoegen";
-$a->strings["Image/photo"] = "Afbeelding/foto";
-$a->strings["Encrypted content"] = "Versleutelde inhoud";
-$a->strings["Install design element: "] = "Installeer ontwerp-onderdeel";
-$a->strings["QR code"] = "QR-code";
-$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schreef het volgende %2\$s %3\$s";
-$a->strings["post"] = "bericht";
-$a->strings["Different viewers will see this text differently"] = "Deze tekst wordt per persoon anders weergeven.";
-$a->strings["$1 spoiler"] = "$1 spoiler";
-$a->strings["$1 wrote:"] = "$1 schreef:";
-$a->strings["Unable to obtain identity information from database"] = "Niet in staat om identiteitsinformatie uit de database te verkrijgen";
-$a->strings["Empty name"] = "Ontbrekende naam";
-$a->strings["Name too long"] = "Naam te lang";
-$a->strings["No account identifier"] = "Geen account-identificator";
-$a->strings["Nickname is required."] = "Bijnaam is verplicht";
-$a->strings["Reserved nickname. Please choose another."] = "Deze naam is gereserveerd. Kies een andere.";
-$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik.";
-$a->strings["Unable to retrieve created identity"] = "Niet in staat om aangemaakte identiteit te vinden";
-$a->strings["Default Profile"] = "Standaardprofiel";
-$a->strings["Friends"] = "Vrienden";
-$a->strings["Requested channel is not available."] = "Opgevraagd kanaal is niet beschikbaar.";
-$a->strings["Requested profile is not available."] = "Opgevraagd profiel is niet beschikbaar";
-$a->strings["Connect"] = "Verbinden";
-$a->strings["Change profile photo"] = "Profielfoto veranderen";
-$a->strings["Profiles"] = "Profielen";
-$a->strings["Manage/edit profiles"] = "Profielen beheren/bewerken";
-$a->strings["Create New Profile"] = "Nieuw profiel aanmaken";
-$a->strings["Edit Profile"] = "Profiel bewerken";
-$a->strings["Profile Image"] = "Profielfoto";
-$a->strings["visible to everybody"] = "Voor iedereen zichtbaar";
-$a->strings["Edit visibility"] = "Zichtbaarheid bewerken";
-$a->strings["Location:"] = "Plaats:";
-$a->strings["Gender:"] = "Geslacht:";
-$a->strings["Status:"] = "Status:";
-$a->strings["Homepage:"] = "Homepagina:";
-$a->strings["Online Now"] = "Nu online";
-$a->strings["g A l F d"] = "G:i, l d F";
-$a->strings["F d"] = "d F";
-$a->strings["[today]"] = "[vandaag]";
-$a->strings["Birthday Reminders"] = "Verjaardagsherinneringen";
-$a->strings["Birthdays this week:"] = "Verjaardagen deze week:";
-$a->strings["[No description]"] = "[Geen omschrijving]";
-$a->strings["Event Reminders"] = "Herinneringen";
-$a->strings["Events this week:"] = "Gebeurtenissen deze week:";
-$a->strings["Profile"] = "Profiel";
-$a->strings["Full Name:"] = "Volledige naam:";
-$a->strings["Like this channel"] = "Vind dit kanaal leuk";
-$a->strings["__ctx:noun__ Like"] = array(
- 0 => "vindt dit leuk",
- 1 => "vinden dit leuk",
-);
-$a->strings["j F, Y"] = "F j Y";
-$a->strings["j F"] = "F j";
-$a->strings["Birthday:"] = "Geboortedatum:";
-$a->strings["Age:"] = "Leeftijd:";
-$a->strings["for %1\$d %2\$s"] = "voor %1\$d %2\$s";
-$a->strings["Sexual Preference:"] = "Seksuele voorkeur:";
-$a->strings["Hometown:"] = "Oorspronkelijk uit:";
-$a->strings["Tags:"] = "Tags:";
-$a->strings["Political Views:"] = "Politieke overtuigingen:";
-$a->strings["Religion:"] = "Religie:";
-$a->strings["About:"] = "Over:";
-$a->strings["Hobbies/Interests:"] = "Hobby's/interesses:";
-$a->strings["Likes:"] = "Houdt van:";
-$a->strings["Dislikes:"] = "Houdt niet van:";
-$a->strings["Contact information and Social Networks:"] = "Contactinformatie en sociale netwerken:";
-$a->strings["My other channels:"] = "Mijn andere kanalen";
-$a->strings["Musical interests:"] = "Muzikale interesses:";
-$a->strings["Books, literature:"] = "Boeken, literatuur:";
-$a->strings["Television:"] = "Televisie:";
-$a->strings["Film/dance/culture/entertainment:"] = "Films/dansen/cultuur/vermaak:";
-$a->strings["Love/Romance:"] = "Liefde/romantiek:";
-$a->strings["Work/employment:"] = "Werk/beroep:";
-$a->strings["School/education:"] = "School/opleiding:";
-$a->strings["Like this thing"] = "Vind dit ding leuk";
-$a->strings["New Page"] = "Nieuwe pagina";
-$a->strings["Edit"] = "Bewerken";
-$a->strings["View"] = "Weergeven";
-$a->strings["Preview"] = "Voorvertoning";
-$a->strings["Actions"] = "Acties";
-$a->strings["Page Link"] = "Paginalink";
-$a->strings["Title"] = "Titel";
-$a->strings["Created"] = "Aangemaakt";
-$a->strings["Edited"] = "Bewerkt";
-$a->strings["Categories"] = "Categorieën";
-$a->strings["Apps"] = "Apps";
-$a->strings["System"] = "Systeem";
-$a->strings["Personal"] = "Persoonlijk";
-$a->strings["Create Personal App"] = "Persoonlijke app maken";
-$a->strings["Edit Personal App"] = "Persoonlijke app bewerken";
-$a->strings["Ignore/Hide"] = "Negeren/Verbergen";
-$a->strings["Suggestions"] = "Voorgestelde kanalen";
-$a->strings["See more..."] = "Meer...";
-$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties.";
-$a->strings["Add New Connection"] = "Nieuwe connectie toevoegen";
-$a->strings["Enter the channel address"] = "Vul het adres van het nieuwe kanaal in";
-$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Voorbeeld: bob@example.com, http://example.com/barbara";
-$a->strings["Notes"] = "Aantekeningen";
-$a->strings["Save"] = "Opslaan";
-$a->strings["Remove term"] = "Verwijder zoekterm";
-$a->strings["Saved Searches"] = "Opgeslagen zoekopdrachten";
-$a->strings["Saved Folders"] = "Bewaarde mappen";
-$a->strings["Everything"] = "Alles";
-$a->strings["Archives"] = "Archieven";
-$a->strings["Refresh"] = "Vernieuwen";
-$a->strings["Me"] = "Ik";
-$a->strings["Best Friends"] = "Goede vrienden";
-$a->strings["Co-workers"] = "Collega's";
-$a->strings["Former Friends"] = "Oude vrienden";
-$a->strings["Acquaintances"] = "Kennissen";
-$a->strings["Everybody"] = "Iedereen";
-$a->strings["Account settings"] = "Account";
-$a->strings["Channel settings"] = "Kanaal";
-$a->strings["Additional features"] = "Extra functies";
-$a->strings["Feature/Addon settings"] = "Extra functie- en plugin-instellingen";
-$a->strings["Display settings"] = "Weergave";
-$a->strings["Connected apps"] = "Verbonden applicaties";
-$a->strings["Export channel"] = "Kanaal exporteren";
-$a->strings["Connection Default Permissions"] = "Standaard permissies voor connecties";
-$a->strings["Premium Channel Settings"] = "Instellingen premiumkanaal";
-$a->strings["Channel Sources"] = "Kanaalbronnen";
-$a->strings["Settings"] = "Instellingen";
-$a->strings["Messages"] = "Berichten";
-$a->strings["Check Mail"] = "Controleer op nieuwe berichten";
-$a->strings["New Message"] = "Nieuw bericht";
-$a->strings["Chat Rooms"] = "Chatkanalen";
-$a->strings["Bookmarked Chatrooms"] = "Bladwijzers van chatkanalen";
-$a->strings["Suggested Chatrooms"] = "Voorgestelde chatkanalen";
-$a->strings["photo/image"] = "foto/afbeelding";
-$a->strings["Rate Me"] = "Beoordeel mij";
-$a->strings["View Ratings"] = "Bekijk beoordelingen";
-$a->strings["Public Hubs"] = "Openbare hubs";
-$a->strings["photo"] = "foto";
-$a->strings["event"] = "gebeurtenis";
-$a->strings["channel"] = "kanaal";
-$a->strings["status"] = "bericht";
-$a->strings["comment"] = "reactie";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s leuk";
-$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s niet leuk";
-$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s is nu met %2\$s verbonden";
-$a->strings["%1\$s poked %2\$s"] = "%1\$s heeft %2\$s aangestoten";
-$a->strings["poked"] = "aangestoten";
-$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s is %2\$s";
-$a->strings["__ctx:title__ Likes"] = "vinden dit leuk";
-$a->strings["__ctx:title__ Dislikes"] = "vinden dit niet leuk";
-$a->strings["__ctx:title__ Agree"] = "eens";
-$a->strings["__ctx:title__ Disagree"] = "oneens";
-$a->strings["__ctx:title__ Abstain"] = "onthoudingen";
-$a->strings["__ctx:title__ Attending"] = "aanwezig";
-$a->strings["__ctx:title__ Not attending"] = "niet aanwezig";
-$a->strings["__ctx:title__ Might attend"] = "mogelijk aanwezig";
-$a->strings["Select"] = "Kies";
-$a->strings["Delete"] = "Verwijderen";
-$a->strings["Private Message"] = "Privébericht";
-$a->strings["Message signature validated"] = "Berichtkenmerk gevalideerd";
-$a->strings["Message signature incorrect"] = "Berichtkenmerk onjuist";
-$a->strings["View %s's profile @ %s"] = "Bekijk het profiel van %s @ %s";
-$a->strings["Categories:"] = "Categorieën:";
-$a->strings["Filed under:"] = "Bewaard onder:";
-$a->strings[" from %s"] = " van %s";
-$a->strings["last edited: %s"] = "laatst bewerkt: %s";
-$a->strings["Expires: %s"] = "Verloopt: %s";
-$a->strings["View in context"] = "In context bekijken";
-$a->strings["Please wait"] = "Even wachten";
-$a->strings["remove"] = "verwijderen";
-$a->strings["Loading..."] = "Aan het laden...";
-$a->strings["Delete Selected Items"] = "Verwijder de geselecteerde items";
-$a->strings["View Source"] = "Bron weergeven";
-$a->strings["Follow Thread"] = "Conversatie volgen";
-$a->strings["View Status"] = "Status weergeven";
-$a->strings["View Profile"] = "Profiel weergeven";
-$a->strings["View Photos"] = "Foto's weergeven";
-$a->strings["Matrix Activity"] = "Activiteit in de RedMatrix";
-$a->strings["Edit Contact"] = "Contact bewerken";
-$a->strings["Send PM"] = "Privébericht verzenden";
-$a->strings["Poke"] = "Aanstoten";
-$a->strings["Unknown"] = "Onbekend";
-$a->strings["%s likes this."] = "%s vindt dit leuk.";
-$a->strings["%s doesn't like this."] = "%s vindt dit niet leuk.";
-$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "<span %1\$s>%2\$d persoon</span> vindt dit leuk.",
- 1 => "<span %1\$s>%2\$d personen</span> vinden dit leuk.",
-);
-$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "<span %1\$s>%2\$d persoon</span> vindt dit niet leuk.",
- 1 => "<span %1\$s>%2\$d personen</span> vinden dit niet leuk.",
-);
-$a->strings["and"] = "en";
-$a->strings[", and %d other people"] = array(
- 0 => ", en %d ander persoon",
- 1 => ", en %d andere personen",
-);
-$a->strings["%s like this."] = "%s vinden dit leuk.";
-$a->strings["%s don't like this."] = "%s vinden dit niet leuk.";
-$a->strings["Visible to <strong>everybody</strong>"] = "Voor <strong>iedereen</strong> zichtbaar";
-$a->strings["Please enter a link URL:"] = "Vul een internetadres/URL in:";
-$a->strings["Please enter a video link/URL:"] = "Vul een videolink/URL in:";
-$a->strings["Please enter an audio link/URL:"] = "Vul een audiolink/URL in:";
-$a->strings["Tag term:"] = "Tag:";
-$a->strings["Save to Folder:"] = "Bewaar in map: ";
-$a->strings["Where are you right now?"] = "Waar bevind je je op dit moment?";
-$a->strings["Expires YYYY-MM-DD HH:MM"] = "Verloopt op DD-MM-YYYY om HH:MM";
-$a->strings["Share"] = "Delen";
-$a->strings["Page link title"] = "Titel van paginalink";
-$a->strings["Post as"] = "Bericht plaatsen als";
-$a->strings["Bold"] = "Vet";
-$a->strings["Italic"] = "Cursief";
-$a->strings["Underline"] = "Onderstrepen";
-$a->strings["Quote"] = "Citeren";
-$a->strings["Code"] = "Broncode";
-$a->strings["Upload photo"] = "Foto uploaden";
-$a->strings["upload photo"] = "foto uploaden";
-$a->strings["Attach file"] = "Bestand toevoegen";
-$a->strings["attach file"] = "bestand toevoegen";
-$a->strings["Insert web link"] = "Weblink invoegen";
-$a->strings["web link"] = "Weblink";
-$a->strings["Insert video link"] = "Videolink invoegen";
-$a->strings["video link"] = "videolink";
-$a->strings["Insert audio link"] = "Audiolink invoegen";
-$a->strings["audio link"] = "audiolink";
-$a->strings["Set your location"] = "Locatie instellen";
-$a->strings["set location"] = "locatie instellen";
-$a->strings["Toggle voting"] = "Stemmen in- of uitschakelen";
-$a->strings["Clear browser location"] = "Locatie van webbrowser wissen";
-$a->strings["clear location"] = "locatie wissen";
-$a->strings["Title (optional)"] = "Titel (optioneel)";
-$a->strings["Categories (optional, comma-separated list)"] = "Categorieën (optioneel, door komma's gescheiden lijst)";
-$a->strings["Permission settings"] = "Permissies";
-$a->strings["permissions"] = "permissies";
-$a->strings["Public post"] = "Openbaar bericht";
-$a->strings["Example: bob@example.com, mary@example.com"] = "Voorbeeld: bob@voorbeeld.nl, mary@voorbeeld.be";
-$a->strings["Set expiration date"] = "Verloopdatum instellen";
-$a->strings["Encrypt text"] = "Tekst versleutelen";
-$a->strings["OK"] = "OK";
-$a->strings["Cancel"] = "Annuleren";
-$a->strings["Discover"] = "Ontdekken";
-$a->strings["Imported public streams"] = "Openbare streams importeren";
-$a->strings["Commented Order"] = "Nieuwe reacties bovenaan";
-$a->strings["Sort by Comment Date"] = "Berichten met nieuwe reacties bovenaan";
-$a->strings["Posted Order"] = "Nieuwe berichten bovenaan";
-$a->strings["Sort by Post Date"] = "Nieuwe berichten bovenaan";
-$a->strings["Posts that mention or involve you"] = "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent";
-$a->strings["New"] = "Nieuw";
-$a->strings["Activity Stream - by date"] = "Activiteitenstroom - volgens datum";
-$a->strings["Starred"] = "Met ster";
-$a->strings["Favourite Posts"] = "Favoriete berichten";
-$a->strings["Spam"] = "Spam";
-$a->strings["Posts flagged as SPAM"] = "Berichten gemarkeerd als SPAM";
-$a->strings["Channel"] = "Kanaal";
-$a->strings["Status Messages and Posts"] = "Berichten in dit kanaal";
-$a->strings["About"] = "Over";
-$a->strings["Profile Details"] = "Profiel";
-$a->strings["Photos"] = "Foto's";
-$a->strings["Photo Albums"] = "Fotoalbums";
-$a->strings["Files"] = "Bestanden";
-$a->strings["Files and Storage"] = "Bestanden en opslagruimte";
-$a->strings["Chatrooms"] = "Chatkanalen";
-$a->strings["Bookmarks"] = "Bladwijzers";
-$a->strings["Saved Bookmarks"] = "Opgeslagen bladwijzers";
-$a->strings["Webpages"] = "Webpagina's";
-$a->strings["Manage Webpages"] = "Webpagina's beheren";
-$a->strings["View all"] = "Toon alles";
-$a->strings["__ctx:noun__ Dislike"] = array(
- 0 => "vindt dit niet leuk",
- 1 => "vinden dit niet leuk",
-);
-$a->strings["__ctx:noun__ Attending"] = array(
- 0 => "aanwezig",
- 1 => "aanwezig",
-);
-$a->strings["__ctx:noun__ Not Attending"] = array(
- 0 => "niet aanwezig",
- 1 => "niet aanwezig",
-);
-$a->strings["__ctx:noun__ Undecided"] = array(
- 0 => "nog niet beslist",
- 1 => "nog niet beslist",
-);
-$a->strings["__ctx:noun__ Agree"] = array(
- 0 => "eens",
- 1 => "eens",
-);
-$a->strings["__ctx:noun__ Disagree"] = array(
- 0 => "oneens",
- 1 => "oneens",
-);
-$a->strings["__ctx:noun__ Abstain"] = array(
- 0 => "onthouding",
- 1 => "onthoudingen",
-);
-$a->strings["Permission denied."] = "Toegang geweigerd";
-$a->strings["Item was not found."] = "Item niet gevonden";
-$a->strings["No source file."] = "Geen bronbestand.";
-$a->strings["Cannot locate file to replace"] = "Kan het te vervangen bestand niet vinden";
-$a->strings["Cannot locate file to revise/update"] = "Kan het bestand wat aangepast moet worden niet vinden";
-$a->strings["File exceeds size limit of %d"] = "Bestand is groter dan de toegelaten %d";
-$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt.";
-$a->strings["File upload failed. Possible system limit or action terminated."] = "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken.";
-$a->strings["Stored file could not be verified. Upload failed."] = "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt.";
-$a->strings["Path not available."] = "Pad niet beschikbaar.";
-$a->strings["Empty pathname"] = "Padnaam leeg";
-$a->strings["duplicate filename or path"] = "dubbele bestandsnaam of pad";
-$a->strings["Path not found."] = "Pad niet gevonden";
-$a->strings["mkdir failed."] = "directory aanmaken (mkdir) mislukt.";
-$a->strings["database storage failed."] = "opslag in database mislukt.";
$a->strings["Not a valid email address"] = "Geen geldig e-mailadres";
$a->strings["Your email domain is not among those allowed on this site"] = "Jouw e-maildomein is op deze RedMatrix-hub niet toegestaan";
$a->strings["Your email address is already registered at this site."] = "Jouw e-mailadres is al op deze RedMatrix-hub geregistreerd.";
@@ -341,6 +37,53 @@ $a->strings["Account verified. Please login."] = "Account is geverifieerd. Je ka
$a->strings["Click here to upgrade."] = "Klik hier om te upgraden.";
$a->strings["This action exceeds the limits set by your subscription plan."] = "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden.";
$a->strings["This action is not available under your subscription plan."] = "Deze handeling is niet mogelijk met jouw abonnement.";
+$a->strings["Miscellaneous"] = "Diversen";
+$a->strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-DD of MM-DD";
+$a->strings["Required"] = "Vereist";
+$a->strings["never"] = "nooit";
+$a->strings["less than a second ago"] = "minder dan een seconde geleden";
+$a->strings["year"] = "jaar";
+$a->strings["years"] = "jaren";
+$a->strings["month"] = "maand";
+$a->strings["months"] = "maanden";
+$a->strings["week"] = "week";
+$a->strings["weeks"] = "weken";
+$a->strings["day"] = "dag";
+$a->strings["days"] = "dagen";
+$a->strings["hour"] = "uur";
+$a->strings["hours"] = "uren";
+$a->strings["minute"] = "minuut";
+$a->strings["minutes"] = "minuten";
+$a->strings["second"] = "seconde";
+$a->strings["seconds"] = "seconden";
+$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s geleden";
+$a->strings["%1\$s's birthday"] = "Verjaardag van %1\$s";
+$a->strings["Happy Birthday %1\$s"] = "Gefeliciteerd met je verjaardag %1\$s";
+$a->strings["New Page"] = "Nieuwe pagina";
+$a->strings["Edit"] = "Bewerken";
+$a->strings["View"] = "Weergeven";
+$a->strings["Preview"] = "Voorvertoning";
+$a->strings["Actions"] = "Acties";
+$a->strings["Page Link"] = "Paginalink";
+$a->strings["Title"] = "Titel";
+$a->strings["Created"] = "Aangemaakt";
+$a->strings["Edited"] = "Bewerkt";
+$a->strings["Public Timeline"] = "Openbare tijdlijn";
+$a->strings["Default"] = "Standaard";
+$a->strings["Directory Options"] = "Opties kanalengids";
+$a->strings["Alphabetic"] = "Alfabetisch";
+$a->strings["Reverse Alphabetic"] = "Omgekeerd alfabetisch";
+$a->strings["Newest to Oldest"] = "Nieuw naar oud";
+$a->strings["Oldest to Newest"] = "Oud naar nieuw";
+$a->strings["Sort"] = "Sorteren";
+$a->strings["Safe Mode"] = "Veilig zoeken";
+$a->strings["Public Forums Only"] = "Alleen openbare forums";
+$a->strings["This Website Only"] = "Alleen deze hub";
+$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
+$a->strings["Starts:"] = "Start:";
+$a->strings["Finishes:"] = "Einde:";
+$a->strings["Location:"] = "Plaats:";
+$a->strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd.";
$a->strings["Delete this item?"] = "Dit item verwijderen?";
$a->strings["Comment"] = "Reactie";
$a->strings["[+] show all"] = "[+] alle";
@@ -360,6 +103,7 @@ $a->strings["Rating"] = "Beoordeling";
$a->strings["Describe (optional)"] = "Omschrijving (optioneel)";
$a->strings["Submit"] = "Opslaan";
$a->strings["Please enter a link URL"] = "Vul een internetadres/URL in:";
+$a->strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Niet opgeslagen wijzigingen. Ben je er zeker van dat je deze pagina wil verlaten?";
$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
$a->strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
$a->strings["ago"] = "geleden";
@@ -384,8 +128,10 @@ $a->strings["Addressbook"] = "Adresboek";
$a->strings["Calendar"] = "Agenda";
$a->strings["Schedule Inbox"] = "Planning-postvak IN";
$a->strings["Schedule Outbox"] = "Planning-postvak UIT";
+$a->strings["Unknown"] = "Onbekend";
$a->strings["%1\$s used"] = "%1\$s gebruikt";
$a->strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "%1\$s van %2\$s gebruikt (%3\$s&#37;)";
+$a->strings["Files"] = "Bestanden";
$a->strings["Total"] = "Totaal";
$a->strings["Shared"] = "Gedeeld";
$a->strings["Create"] = "Aanmaken";
@@ -394,10 +140,11 @@ $a->strings["Name"] = "Naam";
$a->strings["Type"] = "Type";
$a->strings["Size"] = "Grootte";
$a->strings["Last Modified"] = "Laatst gewijzigd";
+$a->strings["Delete"] = "Verwijderen";
$a->strings["Create new folder"] = "Nieuwe map aanmaken";
$a->strings["Upload file"] = "Bestand uploaden";
$a->strings["%1\$s's bookmarks"] = "Bladwijzers van %1\$s";
-$a->strings["Default"] = "Standaard";
+$a->strings["view full size"] = "volledige grootte tonen";
$a->strings["General Features"] = "Algemene functies";
$a->strings["Content Expiration"] = "Inhoud laten verlopen";
$a->strings["Remove posts/comments and/or private messages at a future time"] = "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen";
@@ -415,8 +162,6 @@ $a->strings["Navigation Channel Select"] = "Kanaal kiezen in navigatiemenu";
$a->strings["Change channels directly from within the navigation dropdown menu"] = "Kies een ander kanaal direct vanuit het dropdown-menu op de navigatiebalk";
$a->strings["Photo Location"] = "Fotolocatie";
$a->strings["If location data is available on uploaded photos, link this to a map."] = "Wanneer in de geüploade foto's locatiegegevens aanwezig zijn, link dit dan aan een kaart.";
-$a->strings["Extended Identity Sharing"] = "Uitgebreid identiteit delen";
-$a->strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Deel jouw RedMatrix-identiteit met alle websites op het internet. Wanneer dit is uitgeschakeld wordt je identiteit alleen binnen het RedMatrix-netwerk gedeeld. Schakel dit alleen als je weet wat je doet.";
$a->strings["Expert Mode"] = "Expertmodus";
$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Schakel de expertmodus in voor geavanceerde instellingen";
$a->strings["Premium Channel"] = "Premiumkanaal";
@@ -426,18 +171,18 @@ $a->strings["Use Markdown"] = "Markdown gebruiken";
$a->strings["Allow use of \"Markdown\" to format posts"] = "Sta het gebruik van \"markdown\" toe om berichten mee op te maken.";
$a->strings["Large Photos"] = "Grote foto's";
$a->strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "Toon grote (640px) voorbeeldfoto's in berichten. Standaard worden kleine voorbeeldfoto's (320px) getoond. ";
+$a->strings["Channel Sources"] = "Kanaalbronnen";
$a->strings["Automatically import channel content from other channels or feeds"] = "Automatisch inhoud uit andere kanalen of feeds importeren.";
$a->strings["Even More Encryption"] = "Extra encryptie";
$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Sta toe dat inhoud extra end-to-end wordt versleuteld met een gedeelde geheime sleutel.";
$a->strings["Enable voting tools"] = "Stemmen inschakelen";
$a->strings["Provide a class of post which others can vote on"] = "Creëert een berichtenoptie zodat anderen op jouw vraag kunnen stemmen.";
-$a->strings["Flag Adult Photos"] = "Markeer foto's als voor volwassenen";
-$a->strings["Provide photo edit option to hide adult photos from default album view"] = "Zorgt voor een optie om foto's met inhoud voor volwassenen in de standaard albumweergave te verbergen";
$a->strings["Network and Stream Filtering"] = "Netwerk- en streamfilter";
$a->strings["Search by Date"] = "Zoek op datum";
$a->strings["Ability to select posts by date ranges"] = "Mogelijkheid om berichten op datum te filteren ";
$a->strings["Collections Filter"] = "Filter op collecties";
$a->strings["Enable widget to display Network posts only from selected collections"] = "Sta de widget toe om netwerkberichten te tonen van bepaalde collecties";
+$a->strings["Saved Searches"] = "Opgeslagen zoekopdrachten";
$a->strings["Save search terms for re-use"] = "Sla zoekopdrachten op voor hergebruik";
$a->strings["Network Personal Tab"] = "Persoonlijke netwerktab";
$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Sta het toe dat de tab netwerkberichten toont waarmee je interactie had";
@@ -452,6 +197,7 @@ $a->strings["Tagging"] = "Taggen";
$a->strings["Ability to tag existing posts"] = "Mogelijkheid om bestaande berichten te taggen";
$a->strings["Post Categories"] = "Categorieën berichten";
$a->strings["Add categories to your posts"] = "Voeg categorieën toe aan je berichten";
+$a->strings["Saved Folders"] = "Bewaarde mappen";
$a->strings["Ability to file posts under folders"] = "Mogelijkheid om berichten in mappen op te slaan";
$a->strings["Dislike Posts"] = "Vind berichten niet leuk";
$a->strings["Ability to dislike posts/comments"] = "Mogelijkheid om berichten en reacties niet leuk te vinden";
@@ -459,6 +205,91 @@ $a->strings["Star Posts"] = "Geef berichten een ster";
$a->strings["Ability to mark special posts with a star indicator"] = "Mogelijkheid om speciale berichten met een ster te markeren";
$a->strings["Tag Cloud"] = "Tagwolk";
$a->strings["Provide a personal tag cloud on your channel page"] = "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina";
+$a->strings["Categories"] = "Categorieën";
+$a->strings["Apps"] = "Apps";
+$a->strings["System"] = "Systeem";
+$a->strings["Personal"] = "Persoonlijk";
+$a->strings["Create Personal App"] = "Persoonlijke app maken";
+$a->strings["Edit Personal App"] = "Persoonlijke app bewerken";
+$a->strings["Connect"] = "Verbinden";
+$a->strings["Ignore/Hide"] = "Negeren/Verbergen";
+$a->strings["Suggestions"] = "Voorgestelde kanalen";
+$a->strings["See more..."] = "Meer...";
+$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties.";
+$a->strings["Add New Connection"] = "Nieuwe connectie toevoegen";
+$a->strings["Enter the channel address"] = "Vul het adres van het nieuwe kanaal in";
+$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Voorbeeld: bob@example.com, http://example.com/barbara";
+$a->strings["Notes"] = "Aantekeningen";
+$a->strings["Save"] = "Opslaan";
+$a->strings["Remove term"] = "Verwijder zoekterm";
+$a->strings["Everything"] = "Alles";
+$a->strings["Archives"] = "Archieven";
+$a->strings["Me"] = "Ik";
+$a->strings["Family"] = "Familie";
+$a->strings["Friends"] = "Vrienden";
+$a->strings["Acquaintances"] = "Kennissen";
+$a->strings["All"] = "Alles";
+$a->strings["Refresh"] = "Vernieuwen";
+$a->strings["Account settings"] = "Account";
+$a->strings["Channel settings"] = "Kanaal";
+$a->strings["Additional features"] = "Extra functies";
+$a->strings["Feature/Addon settings"] = "Extra functie- en plugin-instellingen";
+$a->strings["Display settings"] = "Weergave";
+$a->strings["Connected apps"] = "Verbonden applicaties";
+$a->strings["Export channel"] = "Kanaal exporteren";
+$a->strings["Connection Default Permissions"] = "Standaard permissies voor connecties";
+$a->strings["Premium Channel Settings"] = "Instellingen premiumkanaal";
+$a->strings["Settings"] = "Instellingen";
+$a->strings["Messages"] = "Berichten";
+$a->strings["Check Mail"] = "Controleer op nieuwe berichten";
+$a->strings["New Message"] = "Nieuw bericht";
+$a->strings["Chat Rooms"] = "Chatkanalen";
+$a->strings["Bookmarked Chatrooms"] = "Bladwijzers van chatkanalen";
+$a->strings["Suggested Chatrooms"] = "Voorgestelde chatkanalen";
+$a->strings["photo/image"] = "foto/afbeelding";
+$a->strings["Rate Me"] = "Beoordeel mij";
+$a->strings["View Ratings"] = "Bekijk beoordelingen";
+$a->strings["Public Hubs"] = "Openbare hubs";
+$a->strings["Red Matrix Notification"] = "RedMatrix-notificatie";
+$a->strings["redmatrix"] = "RedMatrix";
+$a->strings["Thank You,"] = "Bedankt,";
+$a->strings["%s Administrator"] = "Beheerder %s";
+$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
+$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Notificatie] Nieuw privébericht ontvangen op %s";
+$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s zond jou een nieuw privébericht om %3\$s.";
+$a->strings["%1\$s sent you %2\$s."] = "%1\$s zond jou %2\$s.";
+$a->strings["a private message"] = "een privébericht";
+$a->strings["Please visit %s to view and/or reply to your private messages."] = "Bezoek %s om je privéberichten te bekijken en/of er op te reageren.";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]een %4\$s[/zrl]";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]een %5\$s van %4\$s[/zrl]";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]jouw %4\$s[/zrl]";
+$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Notificatie] Reactie op conversatie #%1\$d door %2\$s";
+$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s gaf een reactie op een bericht/conversatie die jij volgt.";
+$a->strings["Please visit %s to view and/or reply to the conversation."] = "Bezoek %s om de conversatie te bekijken en/of er op te reageren.";
+$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Notificatie] %s heeft een bericht op jouw kanaal geplaatst";
+$a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s heeft om %3\$s een bericht op jouw kanaal geplaatst";
+$a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s heeft een bericht op [zrl=%3\$s]jouw kanaal[/zrl] geplaatst";
+$a->strings["[Red:Notify] %s tagged you"] = "[Red:Notificatie] %s heeft je genoemd";
+$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s noemde jou op %3\$s";
+$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]noemde jou[/zrl].";
+$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Notificatie] %1\$s heeft je aangestoten";
+$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s heeft je aangestoten op %3\$s";
+$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]heeft je aangestoten[/zrl].";
+$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Notificatie] %s heeft jouw bericht getagd";
+$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s heeft jouw bericht om %3\$s getagd";
+$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s heeft [zrl=%3\$s]jouw bericht[/zrl] getagd";
+$a->strings["[Red:Notify] Introduction received"] = "[Red:Notificatie] Connectieverzoek ontvangen";
+$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, je hebt een nieuw connectieverzoek ontvangen van '%2\$s' op %3\$s";
+$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, je hebt een [zrl=%2\$s]nieuw connectieverzoek[/zrl] ontvangen van %3\$s.";
+$a->strings["You may visit their profile at %s"] = "Je kan het profiel bekijken op %s";
+$a->strings["Please visit %s to approve or reject the connection request."] = "Bezoek %s om het connectieverzoek te accepteren of af te wijzen.";
+$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Notificatie] Kanaalvoorstel ontvangen";
+$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, je hebt een kanaalvoorstel ontvangen van '%2\$s' om %3\$s";
+$a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, je hebt [zrl=%2\$s]een kanaalvoorstel[/zrl] ontvangen voor %3\$s van %4\$s.";
+$a->strings["Name:"] = "Naam:";
+$a->strings["Photo:"] = "Foto:";
+$a->strings["Please visit %s to approve or reject the suggestion."] = "Bezoek %s om het voorstel te accepteren of af te wijzen.";
+$a->strings["[Red:Notify]"] = "[Red:Notificatie]";
$a->strings["Frequently"] = "Regelmatig";
$a->strings["Hourly"] = "Elk uur";
$a->strings["Twice daily"] = "Twee keer per dag";
@@ -487,6 +318,8 @@ $a->strings["Protocol disabled."] = "Protocol uitgeschakeld.";
$a->strings["Channel discovery failed."] = "Kanaal ontdekken mislukt.";
$a->strings["local account not found."] = "lokale account niet gevonden.";
$a->strings["Cannot connect to yourself."] = "Kan niet met jezelf verbinden";
+$a->strings["Private Message"] = "Privébericht";
+$a->strings["Select"] = "Kies";
$a->strings["Save to Folder"] = "In map opslaan";
$a->strings["I will attend"] = "Aanwezig";
$a->strings["I will not attend"] = "Niet aanwezig";
@@ -494,10 +327,21 @@ $a->strings["I might attend"] = "Mogelijk aanwezig";
$a->strings["I agree"] = "Eens";
$a->strings["I disagree"] = "Oneens";
$a->strings["I abstain"] = "Onthouding";
+$a->strings["View all"] = "Toon alles";
+$a->strings["__ctx:noun__ Like"] = array(
+ 0 => "vindt dit leuk",
+ 1 => "vinden dit leuk",
+);
+$a->strings["__ctx:noun__ Dislike"] = array(
+ 0 => "vindt dit niet leuk",
+ 1 => "vinden dit niet leuk",
+);
$a->strings["Add Star"] = "Ster toevoegen";
$a->strings["Remove Star"] = "Ster verwijderen";
$a->strings["Toggle Star Status"] = "Ster toevoegen of verwijderen";
$a->strings["starred"] = "met ster";
+$a->strings["Message signature validated"] = "Berichtkenmerk gevalideerd";
+$a->strings["Message signature incorrect"] = "Berichtkenmerk onjuist";
$a->strings["Add Tag"] = "Tag toevoegen";
$a->strings["I like this (toggle)"] = "Vind ik leuk";
$a->strings["like"] = "vind dit leuk";
@@ -514,75 +358,135 @@ $a->strings["to"] = "aan";
$a->strings["via"] = "via";
$a->strings["Wall-to-Wall"] = "Kanaal-naar-kanaal";
$a->strings["via Wall-To-Wall:"] = "via kanaal-naar-kanaal";
+$a->strings["from %s"] = "van %s";
+$a->strings["last edited: %s"] = "laatst bewerkt: %s";
+$a->strings["Expires: %s"] = "Verloopt: %s";
$a->strings["Save Bookmarks"] = "Bladwijzers opslaan";
$a->strings["Add to Calendar"] = "Aan agenda toevoegen";
$a->strings["Mark all seen"] = "Markeer alles als bekeken";
$a->strings["__ctx:noun__ Likes"] = "vinden dit leuk";
$a->strings["__ctx:noun__ Dislikes"] = "vinden dit niet leuk";
$a->strings["Close"] = "Sluiten";
+$a->strings["Please wait"] = "Even wachten";
$a->strings["This is you"] = "Dit ben jij";
+$a->strings["Bold"] = "Vet";
+$a->strings["Italic"] = "Cursief";
+$a->strings["Underline"] = "Onderstrepen";
+$a->strings["Quote"] = "Citeren";
+$a->strings["Code"] = "Broncode";
$a->strings["Image"] = "Afbeelding";
$a->strings["Insert Link"] = "Link invoegen";
$a->strings["Video"] = "Video";
-$a->strings["Miscellaneous"] = "Diversen";
-$a->strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-DD of MM-DD";
-$a->strings["Required"] = "Vereist";
-$a->strings["never"] = "nooit";
-$a->strings["less than a second ago"] = "minder dan een seconde geleden";
-$a->strings["year"] = "jaar";
-$a->strings["years"] = "jaren";
-$a->strings["month"] = "maand";
-$a->strings["months"] = "maanden";
-$a->strings["week"] = "week";
-$a->strings["weeks"] = "weken";
-$a->strings["day"] = "dag";
-$a->strings["days"] = "dagen";
-$a->strings["hour"] = "uur";
-$a->strings["hours"] = "uren";
-$a->strings["minute"] = "minuut";
-$a->strings["minutes"] = "minuten";
-$a->strings["second"] = "seconde";
-$a->strings["seconds"] = "seconden";
-$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s geleden";
-$a->strings["%1\$s's birthday"] = "Verjaardag van %1\$s";
-$a->strings["Happy Birthday %1\$s"] = "Gefeliciteerd met je verjaardag %1\$s";
+$a->strings["Encrypt text"] = "Tekst versleutelen";
$a->strings["New window"] = "Nieuw venster";
$a->strings["Open the selected location in a different window or browser tab"] = "Open de geselecteerde locatie in een ander venster of tab";
$a->strings["User '%s' deleted"] = "Account '%s' verwijderd";
$a->strings["Attachments:"] = "Bijlagen:";
-$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
$a->strings["Redmatrix event notification:"] = "Notificatie RedMatrix-gebeurtenis:";
-$a->strings["Starts:"] = "Start:";
-$a->strings["Finishes:"] = "Einde:";
-$a->strings["Permission denied"] = "Toegang geweigerd";
-$a->strings["(Unknown)"] = "(Onbekend)";
-$a->strings["Visible to anybody on the internet."] = "Voor iedereen op het internet zichtbaar.";
-$a->strings["Visible to you only."] = "Alleen voor jou zichtbaar.";
-$a->strings["Visible to anybody in this network."] = "Voor iedereen in dit netwerk zichtbaar.";
-$a->strings["Visible to anybody authenticated."] = "Voor iedereen die geauthenticeerd is zichtbaar.";
-$a->strings["Visible to anybody on %s."] = "Voor iedereen op %s zichtbaar.";
-$a->strings["Visible to all connections."] = "Voor alle connecties zichtbaar.";
-$a->strings["Visible to approved connections."] = "Voor alle goedgekeurde connecties zichtbaar.";
-$a->strings["Visible to specific connections."] = "Voor specifieke connecties zichtbaar.";
-$a->strings["Item not found."] = "Item niet gevonden.";
-$a->strings["Collection not found."] = "Collectie niet gevonden.";
-$a->strings["Collection is empty."] = "Collectie is leeg";
-$a->strings["Collection: %s"] = "Collectie: %s";
-$a->strings["Connection: %s"] = "Connectie: %s";
-$a->strings["Connection not found."] = "Connectie niet gevonden.";
+$a->strings["prev"] = "vorige";
+$a->strings["first"] = "eerste";
+$a->strings["last"] = "laatste";
+$a->strings["next"] = "volgende";
+$a->strings["older"] = "ouder";
+$a->strings["newer"] = "nieuwer";
+$a->strings["No connections"] = "Geen connecties";
+$a->strings["%d Connection"] = array(
+ 0 => "%d connectie",
+ 1 => "%d connecties",
+);
+$a->strings["View Connections"] = "Connecties weergeven";
+$a->strings["Search"] = "Zoeken";
+$a->strings["poke"] = "aanstoten";
+$a->strings["poked"] = "aangestoten";
+$a->strings["ping"] = "ping";
+$a->strings["pinged"] = "gepingd";
+$a->strings["prod"] = "por";
+$a->strings["prodded"] = "gepord";
+$a->strings["slap"] = "slaan";
+$a->strings["slapped"] = "sloeg";
+$a->strings["finger"] = "finger";
+$a->strings["fingered"] = "gefingerd";
+$a->strings["rebuff"] = "afpoeieren";
+$a->strings["rebuffed"] = "afgepoeierd";
+$a->strings["happy"] = "gelukkig";
+$a->strings["sad"] = "bedroefd";
+$a->strings["mellow"] = "mellow";
+$a->strings["tired"] = "moe";
+$a->strings["perky"] = "parmantig";
+$a->strings["angry"] = "boos";
+$a->strings["stupified"] = "beteuterd";
+$a->strings["puzzled"] = "verward";
+$a->strings["interested"] = "geïnteresseerd";
+$a->strings["bitter"] = "verbitterd";
+$a->strings["cheerful"] = "vrolijk";
+$a->strings["alive"] = "levendig";
+$a->strings["annoyed"] = "geërgerd";
+$a->strings["anxious"] = "bezorgd";
+$a->strings["cranky"] = "humeurig";
+$a->strings["disturbed"] = "verontrust";
+$a->strings["frustrated"] = "gefrustreerd ";
+$a->strings["depressed"] = "gedeprimeerd";
+$a->strings["motivated"] = "gemotiveerd";
+$a->strings["relaxed"] = "ontspannen";
+$a->strings["surprised"] = "verrast";
+$a->strings["Monday"] = "maandag";
+$a->strings["Tuesday"] = "dinsdag";
+$a->strings["Wednesday"] = "woensdag";
+$a->strings["Thursday"] = "donderdag";
+$a->strings["Friday"] = "vrijdag";
+$a->strings["Saturday"] = "zaterdag";
+$a->strings["Sunday"] = "zondag";
+$a->strings["January"] = "januari";
+$a->strings["February"] = "februari";
+$a->strings["March"] = "maart";
+$a->strings["April"] = "april";
+$a->strings["May"] = "mei";
+$a->strings["June"] = "juni";
+$a->strings["July"] = "juli";
+$a->strings["August"] = "augustus";
+$a->strings["September"] = "september";
+$a->strings["October"] = "oktober";
+$a->strings["November"] = "november";
+$a->strings["December"] = "december";
+$a->strings["unknown.???"] = "onbekend.???";
+$a->strings["bytes"] = "bytes";
+$a->strings["remove category"] = "categorie verwijderen";
+$a->strings["remove from file"] = "uit map verwijderen";
+$a->strings["Click to open/close"] = "Klik om te openen of te sluiten";
+$a->strings["Link to Source"] = "Originele locatie";
+$a->strings["default"] = "standaard";
+$a->strings["Page layout"] = "Lay-out pagina";
+$a->strings["You can create your own with the layouts tool"] = "Je kan jouw eigen lay-out ontwerpen onder lay-outs";
+$a->strings["Page content type"] = "Opmaaktype pagina";
+$a->strings["Select an alternate language"] = "Kies een andere taal";
+$a->strings["photo"] = "foto";
+$a->strings["event"] = "gebeurtenis";
+$a->strings["status"] = "bericht";
+$a->strings["comment"] = "reactie";
+$a->strings["activity"] = "activiteit";
+$a->strings["Design Tools"] = "Ontwerp-hulpmiddelen";
+$a->strings["Blocks"] = "Blokken";
+$a->strings["Menus"] = "Menu's";
+$a->strings["Layouts"] = "Lay-outs";
+$a->strings["Pages"] = "Pagina's";
$a->strings["Logout"] = "Uitloggen";
$a->strings["End this session"] = "Beëindig deze sessie";
$a->strings["Home"] = "Home";
$a->strings["Your posts and conversations"] = "Jouw berichten en conversaties";
+$a->strings["View Profile"] = "Profiel weergeven";
$a->strings["Your profile page"] = "Jouw profielpagina";
$a->strings["Edit Profiles"] = "Bewerk profielen";
$a->strings["Manage/Edit profiles"] = "Beheer/wijzig profielen";
+$a->strings["Edit Profile"] = "Profiel bewerken";
$a->strings["Edit your profile"] = "Jouw profiel bewerken";
+$a->strings["Photos"] = "Foto's";
$a->strings["Your photos"] = "Jouw foto's";
$a->strings["Your files"] = "Jouw bestanden";
$a->strings["Chat"] = "Chatten";
$a->strings["Your chatrooms"] = "Jouw chatkanalen";
+$a->strings["Bookmarks"] = "Bladwijzers";
$a->strings["Your bookmarks"] = "Jouw bladwijzers";
+$a->strings["Webpages"] = "Webpagina's";
$a->strings["Your webpages"] = "Jouw webpagina's";
$a->strings["Login"] = "Inloggen";
$a->strings["Sign in"] = "Inloggen";
@@ -595,7 +499,6 @@ $a->strings["Create an account"] = "Maak een account aan";
$a->strings["Help"] = "Hulp";
$a->strings["Help and documentation"] = "Hulp en documentatie";
$a->strings["Applications, utilities, links, games"] = "Apps";
-$a->strings["Search"] = "Zoeken";
$a->strings["Search site content"] = "Inhoud van deze RedMatrix-hub doorzoeken";
$a->strings["Directory"] = "Kanalengids";
$a->strings["Channel Directory"] = "Kanalengids";
@@ -625,6 +528,7 @@ $a->strings["Manage Your Channels"] = "Beheer je kanalen";
$a->strings["Account/Channel Settings"] = "Account-/kanaal-instellingen";
$a->strings["Admin"] = "Beheer";
$a->strings["Site Setup and Configuration"] = "Hub instellen en beheren";
+$a->strings["Loading..."] = "Aan het laden...";
$a->strings["@name, #tag, content"] = "@kanaal, #label, inhoud";
$a->strings["Please wait..."] = "Wachten aub...";
$a->strings["Tags"] = "Tags";
@@ -640,65 +544,204 @@ $a->strings["public profile"] = "openbaar profiel";
$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s veranderde %2\$s naar &ldquo;%3\$s&rdquo;";
$a->strings["Visit %1\$s's %2\$s"] = "Bezoek het %2\$s van %1\$s";
$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s heeft een aangepaste %2\$s, %3\$s veranderd.";
-$a->strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd.";
-$a->strings["Public Timeline"] = "Openbare tijdlijn";
-$a->strings["Directory Options"] = "Opties kanalengids";
-$a->strings["Alphabetic"] = "Alfabetisch";
-$a->strings["Reverse Alphabetic"] = "Omgekeerd alfabetisch";
-$a->strings["Newest to Oldest"] = "Nieuw naar oud";
-$a->strings["Oldest to Newest"] = "Oud naar nieuw";
-$a->strings["Sort"] = "Sorteren";
-$a->strings["Safe Mode"] = "Veilig zoeken";
-$a->strings["Public Forums Only"] = "Alleen openbare forums";
-$a->strings["This Website Only"] = "Alleen deze hub";
-$a->strings["Embedded content"] = "Ingesloten inhoud";
-$a->strings["Embedding disabled"] = "Insluiten uitgeschakeld";
+$a->strings["Image/photo"] = "Afbeelding/foto";
+$a->strings["Encrypted content"] = "Versleutelde inhoud";
+$a->strings["Install design element: "] = "Installeer ontwerpelement: ";
+$a->strings["QR code"] = "QR-code";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schreef het volgende %2\$s %3\$s";
+$a->strings["post"] = "bericht";
+$a->strings["Different viewers will see this text differently"] = "Deze tekst wordt per persoon anders weergeven.";
+$a->strings["$1 spoiler"] = "$1 spoiler";
+$a->strings["$1 wrote:"] = "$1 schreef:";
+$a->strings["Permission denied"] = "Toegang geweigerd";
+$a->strings["(Unknown)"] = "(Onbekend)";
+$a->strings["Visible to anybody on the internet."] = "Voor iedereen op het internet zichtbaar.";
+$a->strings["Visible to you only."] = "Alleen voor jou zichtbaar.";
+$a->strings["Visible to anybody in this network."] = "Voor iedereen in dit netwerk zichtbaar.";
+$a->strings["Visible to anybody authenticated."] = "Voor iedereen die geauthenticeerd is zichtbaar.";
+$a->strings["Visible to anybody on %s."] = "Voor iedereen op %s zichtbaar.";
+$a->strings["Visible to all connections."] = "Voor alle connecties zichtbaar.";
+$a->strings["Visible to approved connections."] = "Voor alle goedgekeurde connecties zichtbaar.";
+$a->strings["Visible to specific connections."] = "Voor specifieke connecties zichtbaar.";
+$a->strings["Item not found."] = "Item niet gevonden.";
+$a->strings["Permission denied."] = "Toegang geweigerd";
+$a->strings["Collection not found."] = "Collectie niet gevonden.";
+$a->strings["Collection is empty."] = "Collectie is leeg";
+$a->strings["Collection: %s"] = "Collectie: %s";
+$a->strings["Connection: %s"] = "Connectie: %s";
+$a->strings["Connection not found."] = "Connectie niet gevonden.";
+$a->strings["Can view my normal stream and posts"] = "Kan mijn normale kanaalstream en berichten bekijken";
+$a->strings["Can view my default channel profile"] = "Kan mijn standaard kanaalprofiel bekijken";
+$a->strings["Can view my photo albums"] = "Kan mijn fotoalbums bekijken";
+$a->strings["Can view my connections"] = "Kan een lijst met mijn connecties bekijken";
+$a->strings["Can view my file storage"] = "Kan mijn bestanden bekijken";
+$a->strings["Can view my webpages"] = "Kan mijn pagina's bekijken";
+$a->strings["Can send me their channel stream and posts"] = "Kan mij de inhoud van hun kanaal en berichten sturen";
+$a->strings["Can post on my channel page (\"wall\")"] = "Kan een bericht in mijn kanaal plaatsen";
+$a->strings["Can comment on or like my posts"] = "Kan op mijn berichten reageren of deze (niet) leuk vinden";
+$a->strings["Can send me private mail messages"] = "Kan mij privéberichten sturen";
+$a->strings["Can post photos to my photo albums"] = "Kan foto's aan mijn fotoalbums toevoegen";
+$a->strings["Can like/dislike stuff"] = "Kan dingen leuk of niet leuk vinden";
+$a->strings["Profiles and things other than posts/comments"] = "Profielen en dingen, buiten berichten en reacties";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+";
+$a->strings["Advanced - useful for creating group forum channels"] = "Geavanceerd - nuttig voor groepforums";
+$a->strings["Can chat with me (when available)"] = "Kan met mij chatten (wanneer beschikbaar)";
+$a->strings["Can write to my file storage"] = "Kan bestanden aan mijn bestandsopslag toevoegen";
+$a->strings["Can edit my webpages"] = "Kan mijn pagina's bewerken";
+$a->strings["Can source my public posts in derived channels"] = "Kan mijn openbare berichten als bron voor andere kanalen gebruiken";
+$a->strings["Somewhat advanced - very useful in open communities"] = "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)";
+$a->strings["Can administer my channel resources"] = "Kan mijn kanaal beheren";
+$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet.";
+$a->strings["Social Networking"] = "Sociaal netwerk";
+$a->strings["Mostly Public"] = "Vrijwel alles openbaar";
+$a->strings["Restricted"] = "Beperkt zichtbaar";
+$a->strings["Private"] = "Verborgen kanaal";
+$a->strings["Community Forum"] = "Groepsforum";
+$a->strings["Feed Republish"] = "Feed herpubliceren";
+$a->strings["Special Purpose"] = "Speciaal doel";
+$a->strings["Celebrity/Soapbox"] = "Beroemdheid/alleen volgen";
+$a->strings["Group Repository"] = "Groepsopslag";
+$a->strings["Other"] = "Anders";
+$a->strings["Custom/Expert Mode"] = "Expertmodus/handmatig aanpassen";
+$a->strings["channel"] = "kanaal";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s leuk";
+$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s niet leuk";
+$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s is nu met %2\$s verbonden";
+$a->strings["%1\$s poked %2\$s"] = "%1\$s heeft %2\$s aangestoten";
+$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s is %2\$s";
+$a->strings["__ctx:title__ Likes"] = "vinden dit leuk";
+$a->strings["__ctx:title__ Dislikes"] = "vinden dit niet leuk";
+$a->strings["__ctx:title__ Agree"] = "eens";
+$a->strings["__ctx:title__ Disagree"] = "oneens";
+$a->strings["__ctx:title__ Abstain"] = "onthoudingen";
+$a->strings["__ctx:title__ Attending"] = "aanwezig";
+$a->strings["__ctx:title__ Not attending"] = "niet aanwezig";
+$a->strings["__ctx:title__ Might attend"] = "mogelijk aanwezig";
+$a->strings["View %s's profile @ %s"] = "Bekijk het profiel van %s @ %s";
+$a->strings["Categories:"] = "Categorieën:";
+$a->strings["Filed under:"] = "Bewaard onder:";
+$a->strings["View in context"] = "In context bekijken";
+$a->strings["remove"] = "verwijderen";
+$a->strings["Delete Selected Items"] = "Verwijder de geselecteerde items";
+$a->strings["View Source"] = "Bron weergeven";
+$a->strings["Follow Thread"] = "Conversatie volgen";
+$a->strings["View Status"] = "Status weergeven";
+$a->strings["View Photos"] = "Foto's weergeven";
+$a->strings["Matrix Activity"] = "Activiteit in de RedMatrix";
+$a->strings["Edit Contact"] = "Contact bewerken";
+$a->strings["Send PM"] = "Privébericht verzenden";
+$a->strings["Poke"] = "Aanstoten";
+$a->strings["%s likes this."] = "%s vindt dit leuk.";
+$a->strings["%s doesn't like this."] = "%s vindt dit niet leuk.";
+$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "<span %1\$s>%2\$d persoon</span> vindt dit leuk.",
+ 1 => "<span %1\$s>%2\$d personen</span> vinden dit leuk.",
+);
+$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "<span %1\$s>%2\$d persoon</span> vindt dit niet leuk.",
+ 1 => "<span %1\$s>%2\$d personen</span> vinden dit niet leuk.",
+);
+$a->strings["and"] = "en";
+$a->strings[", and %d other people"] = array(
+ 0 => ", en %d ander persoon",
+ 1 => ", en %d andere personen",
+);
+$a->strings["%s like this."] = "%s vinden dit leuk.";
+$a->strings["%s don't like this."] = "%s vinden dit niet leuk.";
+$a->strings["Visible to <strong>everybody</strong>"] = "Voor <strong>iedereen</strong> zichtbaar";
+$a->strings["Please enter a link URL:"] = "Vul een internetadres/URL in:";
+$a->strings["Please enter a video link/URL:"] = "Vul een videolink/URL in:";
+$a->strings["Please enter an audio link/URL:"] = "Vul een audiolink/URL in:";
+$a->strings["Tag term:"] = "Tag:";
+$a->strings["Save to Folder:"] = "Bewaar in map: ";
+$a->strings["Where are you right now?"] = "Waar bevind je je op dit moment?";
+$a->strings["Expires YYYY-MM-DD HH:MM"] = "Verloopt op DD-MM-YYYY om HH:MM";
+$a->strings["Share"] = "Delen";
+$a->strings["Page link name"] = "Linknaam pagina";
+$a->strings["Post as"] = "Bericht plaatsen als";
+$a->strings["Upload photo"] = "Foto uploaden";
+$a->strings["upload photo"] = "foto uploaden";
+$a->strings["Attach file"] = "Bestand toevoegen";
+$a->strings["attach file"] = "bestand toevoegen";
+$a->strings["Insert web link"] = "Weblink invoegen";
+$a->strings["web link"] = "Weblink";
+$a->strings["Insert video link"] = "Videolink invoegen";
+$a->strings["video link"] = "videolink";
+$a->strings["Insert audio link"] = "Audiolink invoegen";
+$a->strings["audio link"] = "audiolink";
+$a->strings["Set your location"] = "Locatie instellen";
+$a->strings["set location"] = "locatie instellen";
+$a->strings["Toggle voting"] = "Stemmen in- of uitschakelen";
+$a->strings["Clear browser location"] = "Locatie van webbrowser wissen";
+$a->strings["clear location"] = "locatie wissen";
+$a->strings["Title (optional)"] = "Titel (optioneel)";
+$a->strings["Categories (optional, comma-separated list)"] = "Categorieën (optioneel, door komma's gescheiden lijst)";
+$a->strings["Permission settings"] = "Permissies";
+$a->strings["permissions"] = "permissies";
+$a->strings["Public post"] = "Openbaar bericht";
+$a->strings["Example: bob@example.com, mary@example.com"] = "Voorbeeld: bob@voorbeeld.nl, mary@voorbeeld.be";
+$a->strings["Set expiration date"] = "Verloopdatum instellen";
+$a->strings["OK"] = "OK";
+$a->strings["Cancel"] = "Annuleren";
+$a->strings["Discover"] = "Ontdekken";
+$a->strings["Imported public streams"] = "Openbare streams importeren";
+$a->strings["Commented Order"] = "Nieuwe reacties bovenaan";
+$a->strings["Sort by Comment Date"] = "Berichten met nieuwe reacties bovenaan";
+$a->strings["Posted Order"] = "Nieuwe berichten bovenaan";
+$a->strings["Sort by Post Date"] = "Nieuwe berichten bovenaan";
+$a->strings["Posts that mention or involve you"] = "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent";
+$a->strings["New"] = "Nieuw";
+$a->strings["Activity Stream - by date"] = "Activiteitenstroom - volgens datum";
+$a->strings["Starred"] = "Met ster";
+$a->strings["Favourite Posts"] = "Favoriete berichten";
+$a->strings["Spam"] = "Spam";
+$a->strings["Posts flagged as SPAM"] = "Berichten gemarkeerd als SPAM";
+$a->strings["Channel"] = "Kanaal";
+$a->strings["Status Messages and Posts"] = "Berichten in dit kanaal";
+$a->strings["About"] = "Over";
+$a->strings["Profile Details"] = "Profiel";
+$a->strings["Photo Albums"] = "Fotoalbums";
+$a->strings["Files and Storage"] = "Bestanden en opslagruimte";
+$a->strings["Chatrooms"] = "Chatkanalen";
+$a->strings["Saved Bookmarks"] = "Opgeslagen bladwijzers";
+$a->strings["Manage Webpages"] = "Webpagina's beheren";
+$a->strings["__ctx:noun__ Attending"] = array(
+ 0 => "aanwezig",
+ 1 => "aanwezig",
+);
+$a->strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "niet aanwezig",
+ 1 => "niet aanwezig",
+);
+$a->strings["__ctx:noun__ Undecided"] = array(
+ 0 => "nog niet beslist",
+ 1 => "nog niet beslist",
+);
+$a->strings["__ctx:noun__ Agree"] = array(
+ 0 => "eens",
+ 1 => "eens",
+);
+$a->strings["__ctx:noun__ Disagree"] = array(
+ 0 => "oneens",
+ 1 => "oneens",
+);
+$a->strings["__ctx:noun__ Abstain"] = array(
+ 0 => "onthouding",
+ 1 => "onthoudingen",
+);
+$a->strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes";
+$a->strings["Image file is empty."] = "Afbeeldingsbestand is leeg";
+$a->strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden";
+$a->strings["Photo storage failed."] = "Foto kan niet worden opgeslagen";
+$a->strings["Upload New Photos"] = "Nieuwe foto's uploaden";
$a->strings["Invalid data packet"] = "Datapakket ongeldig";
$a->strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. ";
$a->strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd";
+$a->strings["Embedded content"] = "Ingesloten inhoud";
+$a->strings["Embedding disabled"] = "Insluiten uitgeschakeld";
$a->strings["Logged out."] = "Uitgelogd.";
$a->strings["Failed authentication"] = "Mislukte authenticatie";
$a->strings["Login failed."] = "Inloggen mislukt.";
-$a->strings["Red Matrix Notification"] = "RedMatrix-notificatie";
-$a->strings["redmatrix"] = "RedMatrix";
-$a->strings["Thank You,"] = "Bedankt,";
-$a->strings["%s Administrator"] = "Beheerder %s";
-$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
-$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Notificatie] Nieuw privébericht ontvangen op %s";
-$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s zond jou een nieuw privébericht om %3\$s.";
-$a->strings["%1\$s sent you %2\$s."] = "%1\$s zond jou %2\$s.";
-$a->strings["a private message"] = "een privébericht";
-$a->strings["Please visit %s to view and/or reply to your private messages."] = "Bezoek %s om je privéberichten te bekijken en/of er op te reageren.";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]een %4\$s[/zrl]";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]een %5\$s van %4\$s[/zrl]";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]jouw %4\$s[/zrl]";
-$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Notificatie] Reactie op conversatie #%1\$d door %2\$s";
-$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s gaf een reactie op een bericht/conversatie die jij volgt.";
-$a->strings["Please visit %s to view and/or reply to the conversation."] = "Bezoek %s om de conversatie te bekijken en/of er op te reageren.";
-$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Notificatie] %s heeft een bericht op jouw kanaal geplaatst";
-$a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s heeft om %3\$s een bericht op jouw kanaal geplaatst";
-$a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s heeft een bericht op [zrl=%3\$s]jouw kanaal[/zrl] geplaatst";
-$a->strings["[Red:Notify] %s tagged you"] = "[Red:Notificatie] %s heeft je genoemd";
-$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s noemde jou op %3\$s";
-$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]noemde jou[/zrl].";
-$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Notificatie] %1\$s heeft je aangestoten";
-$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s heeft je aangestoten op %3\$s";
-$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]heeft je aangestoten[/zrl].";
-$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Notificatie] %s heeft jouw bericht getagd";
-$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s heeft jouw bericht om %3\$s getagd";
-$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s heeft [zrl=%3\$s]jouw bericht[/zrl] getagd";
-$a->strings["[Red:Notify] Introduction received"] = "[Red:Notificatie] Connectieverzoek ontvangen";
-$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, je hebt een nieuw connectieverzoek ontvangen van '%2\$s' op %3\$s";
-$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, je hebt een [zrl=%2\$s]nieuw connectieverzoek[/zrl] ontvangen van %3\$s.";
-$a->strings["You may visit their profile at %s"] = "Je kan het profiel bekijken op %s";
-$a->strings["Please visit %s to approve or reject the connection request."] = "Bezoek %s om het connectieverzoek te accepteren of af te wijzen.";
-$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Notificatie] Kanaalvoorstel ontvangen";
-$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, je hebt een kanaalvoorstel ontvangen van '%2\$s' om %3\$s";
-$a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, je hebt [zrl=%2\$s]een kanaalvoorstel[/zrl] ontvangen voor %3\$s van %4\$s.";
-$a->strings["Name:"] = "Naam:";
-$a->strings["Photo:"] = "Foto:";
-$a->strings["Please visit %s to approve or reject the suggestion."] = "Bezoek %s om het voorstel te accepteren of af te wijzen.";
-$a->strings["[Red:Notify]"] = "[Red:Notificatie]";
$a->strings["%d invitation available"] = array(
0 => "%d uitnodiging beschikbaar",
1 => "%d uitnodigingen beschikbaar",
@@ -722,11 +765,77 @@ $a->strings["Visible to your default audience"] = "Voor iedereen zichtbaar, mits
$a->strings["Show"] = "Tonen";
$a->strings["Don't show"] = "Niet tonen";
$a->strings["Permissions"] = "Permissies";
-$a->strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes";
-$a->strings["Image file is empty."] = "Afbeeldingsbestand is leeg";
-$a->strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden";
-$a->strings["Photo storage failed."] = "Foto kan niet worden opgeslagen";
-$a->strings["Upload New Photos"] = "Nieuwe foto's uploaden";
+$a->strings["Item was not found."] = "Item niet gevonden";
+$a->strings["No source file."] = "Geen bronbestand.";
+$a->strings["Cannot locate file to replace"] = "Kan het te vervangen bestand niet vinden";
+$a->strings["Cannot locate file to revise/update"] = "Kan het bestand wat aangepast moet worden niet vinden";
+$a->strings["File exceeds size limit of %d"] = "Bestand is groter dan de toegelaten %d";
+$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt.";
+$a->strings["File upload failed. Possible system limit or action terminated."] = "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken.";
+$a->strings["Stored file could not be verified. Upload failed."] = "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt.";
+$a->strings["Path not available."] = "Pad niet beschikbaar.";
+$a->strings["Empty pathname"] = "Padnaam leeg";
+$a->strings["duplicate filename or path"] = "dubbele bestandsnaam of pad";
+$a->strings["Path not found."] = "Pad niet gevonden";
+$a->strings["mkdir failed."] = "directory aanmaken (mkdir) mislukt.";
+$a->strings["database storage failed."] = "opslag in database mislukt.";
+$a->strings["Unable to obtain identity information from database"] = "Niet in staat om identiteitsinformatie uit de database te verkrijgen";
+$a->strings["Empty name"] = "Ontbrekende naam";
+$a->strings["Name too long"] = "Naam te lang";
+$a->strings["No account identifier"] = "Geen account-identificator";
+$a->strings["Nickname is required."] = "Bijnaam is verplicht";
+$a->strings["Reserved nickname. Please choose another."] = "Deze naam is gereserveerd. Kies een andere.";
+$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik.";
+$a->strings["Unable to retrieve created identity"] = "Niet in staat om aangemaakte identiteit te vinden";
+$a->strings["Default Profile"] = "Standaardprofiel";
+$a->strings["Requested channel is not available."] = "Opgevraagd kanaal is niet beschikbaar.";
+$a->strings["Requested profile is not available."] = "Opgevraagd profiel is niet beschikbaar";
+$a->strings["Change profile photo"] = "Profielfoto veranderen";
+$a->strings["Profiles"] = "Profielen";
+$a->strings["Manage/edit profiles"] = "Profielen beheren/bewerken";
+$a->strings["Create New Profile"] = "Nieuw profiel aanmaken";
+$a->strings["Profile Image"] = "Profielfoto";
+$a->strings["visible to everybody"] = "Voor iedereen zichtbaar";
+$a->strings["Edit visibility"] = "Zichtbaarheid bewerken";
+$a->strings["Gender:"] = "Geslacht:";
+$a->strings["Status:"] = "Status:";
+$a->strings["Homepage:"] = "Homepagina:";
+$a->strings["Online Now"] = "Nu online";
+$a->strings["g A l F d"] = "G:i, l d F";
+$a->strings["F d"] = "d F";
+$a->strings["[today]"] = "[vandaag]";
+$a->strings["Birthday Reminders"] = "Verjaardagsherinneringen";
+$a->strings["Birthdays this week:"] = "Verjaardagen deze week:";
+$a->strings["[No description]"] = "[Geen omschrijving]";
+$a->strings["Event Reminders"] = "Herinneringen";
+$a->strings["Events this week:"] = "Gebeurtenissen deze week:";
+$a->strings["Profile"] = "Profiel";
+$a->strings["Full Name:"] = "Volledige naam:";
+$a->strings["Like this channel"] = "Vind dit kanaal leuk";
+$a->strings["j F, Y"] = "F j Y";
+$a->strings["j F"] = "F j";
+$a->strings["Birthday:"] = "Geboortedatum:";
+$a->strings["Age:"] = "Leeftijd:";
+$a->strings["for %1\$d %2\$s"] = "voor %1\$d %2\$s";
+$a->strings["Sexual Preference:"] = "Seksuele voorkeur:";
+$a->strings["Hometown:"] = "Oorspronkelijk uit:";
+$a->strings["Tags:"] = "Tags:";
+$a->strings["Political Views:"] = "Politieke overtuigingen:";
+$a->strings["Religion:"] = "Religie:";
+$a->strings["About:"] = "Over:";
+$a->strings["Hobbies/Interests:"] = "Hobby's/interesses:";
+$a->strings["Likes:"] = "Houdt van:";
+$a->strings["Dislikes:"] = "Houdt niet van:";
+$a->strings["Contact information and Social Networks:"] = "Contactinformatie en sociale netwerken:";
+$a->strings["My other channels:"] = "Mijn andere kanalen";
+$a->strings["Musical interests:"] = "Muzikale interesses:";
+$a->strings["Books, literature:"] = "Boeken, literatuur:";
+$a->strings["Television:"] = "Televisie:";
+$a->strings["Film/dance/culture/entertainment:"] = "Films/dansen/cultuur/vermaak:";
+$a->strings["Love/Romance:"] = "Liefde/romantiek:";
+$a->strings["Work/employment:"] = "Werk/beroep:";
+$a->strings["School/education:"] = "School/opleiding:";
+$a->strings["Like this thing"] = "Vind dit ding leuk";
$a->strings["Male"] = "Man";
$a->strings["Female"] = "Vrouw";
$a->strings["Currently Male"] = "Momenteel man";
@@ -739,7 +848,6 @@ $a->strings["Transsexual"] = "Transseksueel";
$a->strings["Hermaphrodite"] = "Hermafrodiet";
$a->strings["Neuter"] = "Genderneutraal";
$a->strings["Non-specific"] = "Niet gespecificeerd";
-$a->strings["Other"] = "Anders";
$a->strings["Undecided"] = "Nog niet beslist";
$a->strings["Males"] = "Mannen";
$a->strings["Females"] = "Vrouwen";
@@ -798,123 +906,11 @@ $a->strings["Profile Photo"] = "Profielfoto";
$a->strings["Update"] = "Bijwerken";
$a->strings["Install"] = "Installeren";
$a->strings["Purchase"] = "Aanschaffen";
-$a->strings["prev"] = "vorige";
-$a->strings["first"] = "eerste";
-$a->strings["last"] = "laatste";
-$a->strings["next"] = "volgende";
-$a->strings["older"] = "ouder";
-$a->strings["newer"] = "nieuwer";
-$a->strings["No connections"] = "Geen connecties";
-$a->strings["%d Connection"] = array(
- 0 => "%d connectie",
- 1 => "%d connecties",
-);
-$a->strings["View Connections"] = "Connecties weergeven";
-$a->strings["poke"] = "aanstoten";
-$a->strings["ping"] = "ping";
-$a->strings["pinged"] = "gepingd";
-$a->strings["prod"] = "por";
-$a->strings["prodded"] = "gepord";
-$a->strings["slap"] = "slaan";
-$a->strings["slapped"] = "sloeg";
-$a->strings["finger"] = "finger";
-$a->strings["fingered"] = "gefingerd";
-$a->strings["rebuff"] = "afpoeieren";
-$a->strings["rebuffed"] = "afgepoeierd";
-$a->strings["happy"] = "gelukkig";
-$a->strings["sad"] = "bedroefd";
-$a->strings["mellow"] = "mellow";
-$a->strings["tired"] = "moe";
-$a->strings["perky"] = "parmantig";
-$a->strings["angry"] = "boos";
-$a->strings["stupified"] = "beteuterd";
-$a->strings["puzzled"] = "verward";
-$a->strings["interested"] = "geïnteresseerd";
-$a->strings["bitter"] = "verbitterd";
-$a->strings["cheerful"] = "vrolijk";
-$a->strings["alive"] = "levendig";
-$a->strings["annoyed"] = "geërgerd";
-$a->strings["anxious"] = "bezorgd";
-$a->strings["cranky"] = "humeurig";
-$a->strings["disturbed"] = "verontrust";
-$a->strings["frustrated"] = "gefrustreerd ";
-$a->strings["depressed"] = "gedeprimeerd";
-$a->strings["motivated"] = "gemotiveerd";
-$a->strings["relaxed"] = "ontspannen";
-$a->strings["surprised"] = "verrast";
-$a->strings["Monday"] = "maandag";
-$a->strings["Tuesday"] = "dinsdag";
-$a->strings["Wednesday"] = "woensdag";
-$a->strings["Thursday"] = "donderdag";
-$a->strings["Friday"] = "vrijdag";
-$a->strings["Saturday"] = "zaterdag";
-$a->strings["Sunday"] = "zondag";
-$a->strings["January"] = "januari";
-$a->strings["February"] = "februari";
-$a->strings["March"] = "maart";
-$a->strings["April"] = "april";
-$a->strings["May"] = "mei";
-$a->strings["June"] = "juni";
-$a->strings["July"] = "juli";
-$a->strings["August"] = "augustus";
-$a->strings["September"] = "september";
-$a->strings["October"] = "oktober";
-$a->strings["November"] = "november";
-$a->strings["December"] = "december";
-$a->strings["unknown.???"] = "onbekend.???";
-$a->strings["bytes"] = "bytes";
-$a->strings["remove category"] = "categorie verwijderen";
-$a->strings["remove from file"] = "uit map verwijderen";
-$a->strings["Click to open/close"] = "Klik om te openen of te sluiten";
-$a->strings["Link to Source"] = "Originele locatie";
-$a->strings["Select a page layout: "] = "Kies een paginalay-out: ";
-$a->strings["default"] = "standaard";
-$a->strings["Page content type: "] = "Opmaakcode pagina";
-$a->strings["Select an alternate language"] = "Kies een andere taal";
-$a->strings["activity"] = "activiteit";
-$a->strings["Design"] = "Ontwerp";
-$a->strings["Blocks"] = "Blokken";
-$a->strings["Menus"] = "Menu's";
-$a->strings["Layouts"] = "Lay-outs";
-$a->strings["Pages"] = "Pagina's";
$a->strings["Missing room name"] = "Naam chatkanaal ontbreekt";
$a->strings["Duplicate room name"] = "Naam chatkanaal bestaat al";
$a->strings["Invalid room specifier."] = "Ongeldige omschrijving chatkanaal";
$a->strings["Room not found."] = "Chatkanaal niet gevonden";
$a->strings["Room is full"] = "Chatkanaal is vol";
-$a->strings["Can view my normal stream and posts"] = "Kan mijn normale kanaalstream en berichten bekijken";
-$a->strings["Can view my default channel profile"] = "Kan mijn standaard kanaalprofiel bekijken";
-$a->strings["Can view my photo albums"] = "Kan mijn fotoalbums bekijken";
-$a->strings["Can view my connections"] = "Kan een lijst met mijn connecties bekijken";
-$a->strings["Can view my file storage"] = "Kan mijn bestanden bekijken";
-$a->strings["Can view my webpages"] = "Kan mijn pagina's bekijken";
-$a->strings["Can send me their channel stream and posts"] = "Kan mij de inhoud van hun kanaal en berichten sturen";
-$a->strings["Can post on my channel page (\"wall\")"] = "Kan een bericht in mijn kanaal plaatsen";
-$a->strings["Can comment on or like my posts"] = "Kan op mijn berichten reageren of deze (niet) leuk vinden";
-$a->strings["Can send me private mail messages"] = "Kan mij privéberichten sturen";
-$a->strings["Can post photos to my photo albums"] = "Kan foto's aan mijn fotoalbums toevoegen";
-$a->strings["Can like/dislike stuff"] = "Kan dingen leuk of niet leuk vinden";
-$a->strings["Profiles and things other than posts/comments"] = "Profielen en dingen, buiten berichten en reacties";
-$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+";
-$a->strings["Advanced - useful for creating group forum channels"] = "Geavanceerd - nuttig voor groepforums";
-$a->strings["Can chat with me (when available)"] = "Kan met mij chatten (wanneer beschikbaar)";
-$a->strings["Can write to my file storage"] = "Kan bestanden aan mijn bestandsopslag toevoegen";
-$a->strings["Can edit my webpages"] = "Kan mijn pagina's bewerken";
-$a->strings["Can source my public posts in derived channels"] = "Kan mijn openbare berichten als bron voor andere kanalen gebruiken";
-$a->strings["Somewhat advanced - very useful in open communities"] = "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)";
-$a->strings["Can administer my channel resources"] = "Kan mijn kanaal beheren";
-$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet.";
-$a->strings["Social Networking"] = "Sociaal netwerk";
-$a->strings["Mostly Public"] = "Vrijwel alles openbaar";
-$a->strings["Restricted"] = "Beperkt zichtbaar";
-$a->strings["Private"] = "Verborgen kanaal";
-$a->strings["Community Forum"] = "Groepsforum";
-$a->strings["Feed Republish"] = "Feed herpubliceren";
-$a->strings["Special Purpose"] = "Speciaal doel";
-$a->strings["Celebrity/Soapbox"] = "Beroemdheid/alleen volgen";
-$a->strings["Group Repository"] = "Groepsopslag";
-$a->strings["Custom/Expert Mode"] = "Expertmodus/handmatig aanpassen";
-$a->strings["view full size"] = "volledige grootte tonen";
$a->strings["Some blurb about what to do when you're new here"] = "Welkom op de RedMatrix. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook onze <a href=\"directory\">apps</a>, waar je vrijwel alles van de RedMatrix kan vinden. Voor <a href=\"directory\">hulp</a> met de RedMatrix klik je op het vraagteken of als je meer vragen hebt stel je die in het <a href=\"https://zothost.me/channel/support\">supportkanaal</a> (liefst in het Engels).";
$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt.";
$a->strings["Create a new channel"] = "Nieuw kanaal aanmaken";
@@ -1075,7 +1071,6 @@ $a->strings["Authorize application connection"] = "Geef toestemming voor applica
$a->strings["Return to your app and insert this Securty Code:"] = "Ga terug naar je app en voeg deze beveiligingscode in:";
$a->strings["Please login to continue."] = "Inloggen om verder te kunnen gaan.";
$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?";
-$a->strings["Block Name"] = "Bloknaam";
$a->strings["Channel added."] = "Kanaal toegevoegd.";
$a->strings["Tag removed"] = "Tag verwijderd";
$a->strings["Remove Item Tag"] = "Verwijder item-tag";
@@ -1090,10 +1085,20 @@ $a->strings["Potential connections will then see the following text before proce
$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina.";
$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) ";
$a->strings["Restricted or Premium Channel"] = "Beperkt of premiumkanaal";
-$a->strings["Profile Match"] = "Profielovereenkomst";
-$a->strings["No keywords to match. Please add keywords to your default profile."] = "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe.";
-$a->strings["is interested in:"] = "is geïnteresseerd in:";
-$a->strings["No matches"] = "Geen overeenkomsten";
+$a->strings["Thing updated"] = "Ding bijgewerkt";
+$a->strings["Object store: failed"] = "Opslaan van ding mislukt";
+$a->strings["Thing added"] = "Ding toegevoegd";
+$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+$a->strings["Show Thing"] = "Ding weergeven";
+$a->strings["item not found."] = "Item niet gevonden";
+$a->strings["Edit Thing"] = "Ding bewerken";
+$a->strings["Select a profile"] = "Kies een profiel";
+$a->strings["Post an activity"] = "Plaats een bericht";
+$a->strings["Only sends to viewers of the applicable profile"] = "Toont dit alleen aan diegene die het gekozen profiel mogen zien.";
+$a->strings["Name of thing e.g. something"] = "Naam van ding";
+$a->strings["URL of thing (optional)"] = "URL van ding (optioneel)";
+$a->strings["URL for photo of thing (optional)"] = "URL van foto van ding (optioneel)";
+$a->strings["Add Thing to your Profile"] = "Ding aan je profiel toevoegen";
$a->strings["Item not available."] = "Item is niet aanwezig.";
$a->strings["Fetching URL returns error: %1\$s"] = "Ophalen URL gaf een foutmelding terug: %1\$s";
$a->strings["Red Matrix - &quot;The Network&quot;"] = "RedMatrix - &quot;The Network&quot;";
@@ -1168,85 +1173,7 @@ $a->strings["Location"] = "Locatie";
$a->strings["View hub ratings"] = "Bekijk hubbeoordelingen";
$a->strings["Rate"] = "Beoordeel";
$a->strings["View ratings"] = "Bekijk beoordelingen";
-$a->strings["Could not access contact record."] = "Kon geen toegang krijgen tot de connectie-gegevens.";
-$a->strings["Could not locate selected profile."] = "Kon het gekozen profiel niet vinden.";
-$a->strings["Connection updated."] = "Connectie bijgewerkt.";
-$a->strings["Failed to update connection record."] = "Bijwerken van connectie-gegevens mislukt.";
-$a->strings["is now connected to"] = "is nu verbonden met";
-$a->strings["Could not access address book record."] = "Kon geen toegang krijgen tot de record van de connectie.";
-$a->strings["Refresh failed - channel is currently unavailable."] = "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar";
-$a->strings["Channel has been unblocked"] = "Kanaal is gedeblokkeerd";
-$a->strings["Channel has been blocked"] = "Kanaal is geblokkeerd";
-$a->strings["Unable to set address book parameters."] = "Niet in staat om de parameters van connecties in te stellen.";
-$a->strings["Channel has been unignored"] = "Kanaal wordt niet meer genegeerd";
-$a->strings["Channel has been ignored"] = "Kanaal wordt genegeerd";
-$a->strings["Channel has been unarchived"] = "Kanaal is niet meer gearchiveerd";
-$a->strings["Channel has been archived"] = "Kanaal is gearchiveerd";
-$a->strings["Channel has been unhidden"] = "Kanaal is niet meer verborgen";
-$a->strings["Channel has been hidden"] = "Kanaal is verborgen";
-$a->strings["Channel has been approved"] = "Connectie/kanaal is geaccepteerd";
-$a->strings["Channel has been unapproved"] = "Connectie/kanaal is afgewezen";
-$a->strings["Connection has been removed."] = "Connectie is verwijderd";
-$a->strings["View %s's profile"] = "Profiel van %s weergeven";
-$a->strings["Refresh Permissions"] = "Permissies vernieuwen";
-$a->strings["Fetch updated permissions"] = "Aangepaste permissies ophalen";
-$a->strings["Recent Activity"] = "Recente activiteit";
-$a->strings["View recent posts and comments"] = "Recente berichten en reacties weergeven";
-$a->strings["Unblock"] = "Deblokkeren";
-$a->strings["Block"] = "Blokkeren";
-$a->strings["Block (or Unblock) all communications with this connection"] = "Blokkeer (of deblokkeer) alle communicatie met deze connectie";
-$a->strings["Unignore"] = "Niet meer negeren";
-$a->strings["Ignore"] = "Negeren";
-$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie";
-$a->strings["Unarchive"] = "Niet meer archiveren";
-$a->strings["Archive"] = "Archiveren";
-$a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archiveer (of dearchiveer) deze connectie - markeer het kanaal als dood, maar bewaar de inhoud";
-$a->strings["Unhide"] = "Niet meer verbergen";
-$a->strings["Hide"] = "Verbergen";
-$a->strings["Hide or Unhide this connection from your other connections"] = "Deze connectie verbergen (of niet meer verbergen) voor jouw andere connecties";
-$a->strings["Delete this connection"] = "Deze connectie verwijderen";
-$a->strings["Approve this connection"] = "Deze connectie accepteren";
-$a->strings["Accept connection to allow communication"] = "Keur deze connectie goed om communicatie toe te staan";
-$a->strings["Connections: settings for %s"] = "Connecties: instellingen voor %s";
-$a->strings["Apply these permissions automatically"] = "Deze permissies automatisch toepassen";
-$a->strings["Apply the permissions indicated on this page to all new connections."] = "Permissies die op deze pagina staan vermeldt op alle nieuwe connecties toepassen.";
-$a->strings["Slide to adjust your degree of friendship"] = "Schuif om te bepalen hoe goed je iemand kent en/of mag";
-$a->strings["Rating (this information is public)"] = "Beoordeling (deze informatie is openbaar)";
-$a->strings["Optionally explain your rating (this information is public)"] = "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)";
-$a->strings["Default permissions for your channel type have (just) been applied. They have not yet been submitted. Please review the permissions on this page and make any desired changes at this time. This new connection may <em>not</em> be able to communicate with you until you submit this page, which will install and apply the selected permissions."] = "Voor jouw kanaaltype geldende standaard permissies zijn (zonet) toegepast. Ze zijn echter nog niet opgeslagen. Controleer de permissies op deze pagina en verander ze eventueel. Deze nieuwe connectie kan mogelijk nog <em>niet</em> met jou communiceren totdat je deze pagina opslaat, wat ervoor zorgt dat de gekozen permissies actief worden.";
-$a->strings["inherited"] = "geërfd";
-$a->strings["Connection has no individual permissions!"] = "Connectie heeft geen individuele permissies!";
-$a->strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "Dit is mogelijk voldoende, wanneer er naar jouw <a href=\"settings\">privacy-instellingen</a> wordt gekeken. Hoewel je wellicht de geavanceerde rechten wil nagaan.";
-$a->strings["Profile Visibility"] = "Zichtbaarheid profiel";
-$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken.";
-$a->strings["Contact Information / Notes"] = "Informatie/aantekeningen over connectie";
-$a->strings["Edit contact notes"] = "Bewerk aantekeningen over contact";
-$a->strings["Their Settings"] = "Hun instellingen";
-$a->strings["My Settings"] = "Mijn instellingen";
-$a->strings["Default permissions for this channel type have (just) been applied. They have <em>not</em> been saved and there are currently no stored default permissions. Please review/edit the applied settings and click [Submit] to finalize."] = "Voor dit kanaaltype geldende standaard permissies zijn (zonet) toegepast. Ze zijn echter nog <em>niet</em> opgeslagen en er zijn momenteel geen standaard permissies aanwezig. Controleer/verander de permissies op deze pagina en klik op [Opslaan] om deze te activeren.";
-$a->strings["Clear/Disable Automatic Permissions"] = "Verwijderen/uitschakelen automatische permissies";
-$a->strings["Forum Members"] = "Forumleden";
-$a->strings["Soapbox"] = "Zeepkist";
-$a->strings["Full Sharing (typical social network permissions)"] = "Voluit delen (vergelijkbaar met die van sociale netwerken)";
-$a->strings["Cautious Sharing "] = "Voorzichtig delen";
-$a->strings["Follow Only"] = "Alleen volgen";
-$a->strings["Individual Permissions"] = "Individuele permissies";
-$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "Sommige permissies kunnen worden overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal. Wanneer je deze geërfde instellingen op deze pagina veranderd heeft dat geen effect.";
-$a->strings["Advanced Permissions"] = "Geavanceerde permissies";
-$a->strings["Simple Permissions (select one and submit)"] = "Eenvoudige permissies (selecteer er één en opslaan)";
-$a->strings["Visit %s's profile - %s"] = "Profiel van %s bezoeken - %s";
-$a->strings["Block/Unblock contact"] = "Connectie blokkeren/deblokkeren";
-$a->strings["Ignore contact"] = "Connectie negeren";
-$a->strings["Repair URL settings"] = "URL-instellingen repareren";
-$a->strings["View conversations"] = "Conversaties weergeven";
-$a->strings["Delete contact"] = "Connectie verwijderen";
-$a->strings["Last update:"] = "Laatste wijziging:";
-$a->strings["Update public posts"] = "Openbare berichten updaten";
-$a->strings["Update now"] = "Nu updaten";
-$a->strings["Currently blocked"] = "Momenteel geblokkeerd";
-$a->strings["Currently ignored"] = "Momenteel genegeerd";
-$a->strings["Currently archived"] = "Momenteel gearchiveerd";
-$a->strings["Currently pending"] = "Moeten nog geaccepteerd of afgewezen worden";
+$a->strings["Edit post"] = "Bericht bewerken";
$a->strings["RedMatrix channel"] = "RedMatrix-kanaal";
$a->strings["Collection created."] = "Collectie aangemaakt";
$a->strings["Could not create collection."] = "Collectie kon niet aangemaakt worden";
@@ -1356,28 +1283,15 @@ $a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for t
$a->strings["No channel."] = "Geen kanaal.";
$a->strings["Common connections"] = "Veel voorkomende connecties";
$a->strings["No connections in common."] = "Geen gemeenschappelijke connecties.";
-$a->strings["First Name"] = "Voornaam";
-$a->strings["Last Name"] = "Achternaam";
-$a->strings["Nickname"] = "Bijnaam";
-$a->strings["Full Name"] = "Volledige naam";
-$a->strings["Profile Photo 16px"] = "Profielfoto 16px";
-$a->strings["Profile Photo 32px"] = "Profielfoto 32px";
-$a->strings["Profile Photo 48px"] = "Profielfoto 48px";
-$a->strings["Profile Photo 64px"] = "Profielfoto 64px";
-$a->strings["Profile Photo 80px"] = "Profielfoto 80px";
-$a->strings["Profile Photo 128px"] = "Profielfoto 128px";
-$a->strings["Timezone"] = "Tijdzone";
-$a->strings["Homepage URL"] = "URL homepagina";
-$a->strings["Birth Year"] = "Geboortejaar";
-$a->strings["Birth Month"] = "Geboortemaand";
-$a->strings["Birth Day"] = "Geboortedag";
-$a->strings["Birthdate"] = "Geboortedatum";
-$a->strings["Gender"] = "Geslacht";
+$a->strings["This site is not a directory server"] = "Deze hub is geen kanalengidshub (directoryserver)";
+$a->strings["Could not access contact record."] = "Kon geen toegang krijgen tot de connectie-gegevens.";
+$a->strings["Could not locate selected profile."] = "Kon het gekozen profiel niet vinden.";
+$a->strings["Connection updated."] = "Connectie bijgewerkt.";
+$a->strings["Failed to update connection record."] = "Bijwerken van connectie-gegevens mislukt.";
$a->strings["Blocked"] = "Geblokkeerd";
$a->strings["Ignored"] = "Genegeerd";
$a->strings["Hidden"] = "Verborgen";
$a->strings["Archived"] = "Gearchiveerd";
-$a->strings["All"] = "Alles";
$a->strings["Suggest new connections"] = "Nieuwe kanalen voorstellen";
$a->strings["New Connections"] = "Nieuwe connecties";
$a->strings["Show pending (new) connections"] = "Nog te accepteren (nieuwe) connecties weergeven";
@@ -1399,28 +1313,45 @@ $a->strings["layout"] = "lay-out";
$a->strings["%s element installed"] = "%s onderdeel geïnstalleerd";
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s heeft het %3\$s van %2\$s getagd met %4\$s";
$a->strings["RedMatrix - Guests: Username: {your email address}, Password: +++"] = "RedMatrix - gasttoegang: Toegangsnaam: {jouw e-mailadres}, wachtwoord: +++";
-$a->strings["Unable to locate original post."] = "Niet in staat om de originele locatie van het bericht te vinden. ";
-$a->strings["Empty post discarded."] = "Leeg bericht geannuleerd";
-$a->strings["Executable content type not permitted to this channel."] = "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal.";
-$a->strings["System error. Post not saved."] = "Systeemfout. Bericht niet opgeslagen.";
-$a->strings["Unable to obtain post information from database."] = "Niet in staat om informatie over dit bericht uit de database te verkrijgen.";
-$a->strings["You have reached your limit of %1$.0f top level posts."] = "Je hebt jouw limiet van %1$.0f berichten bereikt.";
-$a->strings["You have reached your limit of %1$.0f webpages."] = "Je hebt jouw limiet van %1$.0f webpagina's bereikt.";
+$a->strings["Page owner information could not be retrieved."] = "Informatie over de pagina-eigenaar werd niet ontvangen.";
+$a->strings["Album not found."] = "Album niet gevonden.";
+$a->strings["Delete Album"] = "Verwijder album";
+$a->strings["Delete Photo"] = "Verwijder foto";
$a->strings["Public access denied."] = "Openbare toegang geweigerd.";
-$a->strings["Thing updated"] = "Ding bijgewerkt";
-$a->strings["Object store: failed"] = "Opslaan van ding mislukt";
-$a->strings["Thing added"] = "Ding toegevoegd";
-$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-$a->strings["Show Thing"] = "Ding weergeven";
-$a->strings["item not found."] = "Item niet gevonden";
-$a->strings["Edit Thing"] = "Ding bewerken";
-$a->strings["Select a profile"] = "Kies een profiel";
-$a->strings["Post an activity"] = "Plaats een bericht";
-$a->strings["Only sends to viewers of the applicable profile"] = "Toont dit alleen aan diegene die het gekozen profiel mogen zien.";
-$a->strings["Name of thing e.g. something"] = "Naam van ding";
-$a->strings["URL of thing (optional)"] = "URL van ding (optioneel)";
-$a->strings["URL for photo of thing (optional)"] = "URL van foto van ding (optioneel)";
-$a->strings["Add Thing to your Profile"] = "Ding aan je profiel toevoegen";
+$a->strings["No photos selected"] = "Geen foto's geselecteerd";
+$a->strings["Access to this item is restricted."] = "Toegang tot dit item is beperkt.";
+$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB van %2$.2f MB aan foto-opslag gebruikt.";
+$a->strings["%1$.2f MB photo storage used."] = "%1$.2f MB aan foto-opslag gebruikt.";
+$a->strings["Upload Photos"] = "Foto's uploaden";
+$a->strings["Enter a new album name"] = "Vul een nieuwe albumnaam in";
+$a->strings["or select an existing one (doubleclick)"] = "of kies een bestaand album (dubbelklikken)";
+$a->strings["Create a status post for this upload"] = "Plaats een bericht voor deze upload.";
+$a->strings["Album name could not be decoded"] = "Albumnaam kon niet gedecodeerd worden";
+$a->strings["Contact Photos"] = "Connectiefoto's";
+$a->strings["Show Newest First"] = "Nieuwste eerst weergeven";
+$a->strings["Show Oldest First"] = "Oudste eerst weergeven";
+$a->strings["View Photo"] = "Foto weergeven";
+$a->strings["Edit Album"] = "Album bewerken";
+$a->strings["Permission denied. Access to this item may be restricted."] = "Toegang geweigerd. Toegang tot dit item kan zijn beperkt.";
+$a->strings["Photo not available"] = "Foto niet aanwezig";
+$a->strings["Use as profile photo"] = "Als profielfoto gebruiken";
+$a->strings["Private Photo"] = "Privéfoto";
+$a->strings["View Full Size"] = "Volledige grootte weergeven";
+$a->strings["Edit photo"] = "Foto bewerken";
+$a->strings["Rotate CW (right)"] = "Draai met de klok mee (naar rechts)";
+$a->strings["Rotate CCW (left)"] = "Draai tegen de klok in (naar links)";
+$a->strings["Caption"] = "Bijschrift";
+$a->strings["Add a Tag"] = "Tag toevoegen";
+$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl";
+$a->strings["Flag as adult in album view"] = "Markeer als voor volwassenen in albumweergave";
+$a->strings["In This Photo:"] = "Op deze foto:";
+$a->strings["Map"] = "Kaart";
+$a->strings["View Album"] = "Album weergeven";
+$a->strings["Recent Photos"] = "Recente foto's";
+$a->strings["Profile Match"] = "Profielovereenkomst";
+$a->strings["No keywords to match. Please add keywords to your default profile."] = "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe.";
+$a->strings["is interested in:"] = "is geïnteresseerd in:";
+$a->strings["No matches"] = "Geen overeenkomsten";
$a->strings["Away"] = "Afwezig";
$a->strings["Online"] = "Online";
$a->strings["Select a bookmark folder"] = "Kies een bladwijzermap";
@@ -1475,10 +1406,9 @@ $a->strings["Bookmark this room"] = "Chatkanaal aan bladwijzers toevoegen";
$a->strings["New Chatroom"] = "Nieuw chatkanaal";
$a->strings["Chatroom Name"] = "Naam chatkanaal";
$a->strings["%1\$s's Chatrooms"] = "Chatkanalen van %1\$s";
-$a->strings["Edit Webpage"] = "Webpagina bewerken";
$a->strings["Delete webpage?"] = "Webpagina verwijderen?";
-$a->strings["Delete Webpage"] = "Webpagina verwijderen";
-$a->strings["This site is not a directory server"] = "Deze hub is geen kanalengidshub (directoryserver)";
+$a->strings["Page link title"] = "Titel van paginalink";
+$a->strings["Edit Webpage"] = "Webpagina bewerken";
$a->strings["This directory server requires an access token"] = "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig";
$a->strings["No valid account found."] = "Geen geldige account gevonden.";
$a->strings["Password reset request issued. Check your email."] = "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail.";
@@ -1498,8 +1428,9 @@ $a->strings["Email Address"] = "E-mailadres";
$a->strings["Reset"] = "Opnieuw instellen";
$a->strings["Website:"] = "Website:";
$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Kanaal op afstand [%s] (nog niet op deze hub bekend)";
+$a->strings["Rating (this information is public)"] = "Beoordeling (deze informatie is openbaar)";
+$a->strings["Optionally explain your rating (this information is public)"] = "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)";
$a->strings["Item is not editable"] = "Item is niet te bewerken";
-$a->strings["Edit post"] = "Bericht bewerken";
$a->strings["Delete item?"] = "Item verwijderen?";
$a->strings["Total invitation limit exceeded."] = "Limiet voor aantal uitnodigingen overschreden.";
$a->strings["%s : Not a valid email address."] = "%s : Geen geldig e-mailadres.";
@@ -1542,29 +1473,29 @@ $a->strings["Edit Source"] = "Bron bewerken";
$a->strings["Delete Source"] = "Bron verwijderen";
$a->strings["Source removed"] = "Bron verwijderd";
$a->strings["Unable to remove source."] = "Verwijderen bron mislukt.";
-$a->strings["Menu updated."] = "Menu aangepast. ";
$a->strings["Unable to update menu."] = "Niet in staat om menu aan te passen";
-$a->strings["Menu created."] = "Menu aangemaakt.";
$a->strings["Unable to create menu."] = "Niet in staat om menu aan te maken.";
-$a->strings["Manage Menus"] = "Menu's beheren";
+$a->strings["Menu Name"] = "Naam menu";
+$a->strings["Unique name (not visible on webpage) - required"] = "Unieke naam vereist (niet zichtbaar op webpagina)";
+$a->strings["Menu Title"] = "Titel menu";
+$a->strings["Visible on webpage - leave empty for no title"] = "Zichtbaar op webpagina (leeg laten voor geen titel)";
+$a->strings["Allow Bookmarks"] = "Bladwijzers toestaan";
+$a->strings["Menu may be used to store saved bookmarks"] = "Menu kan gebruikt worden om bladwijzers in op te slaan";
+$a->strings["Submit and proceed"] = "Opslaan en doorgaan";
$a->strings["Drop"] = "Verwijderen";
$a->strings["Bookmarks allowed"] = "Bladwijzers toegestaan";
-$a->strings["Create a new menu"] = "Een nieuwe menu aanmaken";
$a->strings["Delete this menu"] = "Menu verwijderen";
$a->strings["Edit menu contents"] = "Bewerk de inhoud van het menu";
$a->strings["Edit this menu"] = "Dit menu bewerken";
-$a->strings["New Menu"] = "Nieuw menu";
+$a->strings["Menu could not be deleted."] = "Menu kon niet verwijderd worden.";
+$a->strings["Menu not found."] = "Menu niet gevonden.";
+$a->strings["Edit Menu"] = "Menu bewerken";
+$a->strings["Add or remove entries to this menu"] = "Items aan dit menu toevoegen of verwijder";
$a->strings["Menu name"] = "Naam van menu";
$a->strings["Must be unique, only seen by you"] = "Moet uniek zijn en is alleen zichtbaar voor jou.";
$a->strings["Menu title"] = "Titel van menu";
$a->strings["Menu title as seen by others"] = "Titel van menu zoals anderen dat zien.";
$a->strings["Allow bookmarks"] = "Bladwijzers toestaan";
-$a->strings["Menu may be used to store saved bookmarks"] = "Menu kan gebruikt worden om bladwijzers in op te slaan";
-$a->strings["Menu not found."] = "Menu niet gevonden.";
-$a->strings["Menu deleted."] = "Menu verwijderd.";
-$a->strings["Menu could not be deleted."] = "Menu kon niet verwijderd worden.";
-$a->strings["Edit Menu"] = "Menu bewerken";
-$a->strings["Add or remove entries to this menu"] = "Items aan dit menu toevoegen of verwijder";
$a->strings["Modify"] = "Wijzigen";
$a->strings["Permission Denied."] = "Toegang geweigerd";
$a->strings["File not found."] = "Bestand niet gevonden.";
@@ -1574,9 +1505,9 @@ $a->strings["Include all files and sub folders"] = "Toepassen op alle bestanden
$a->strings["Return to file list"] = "Terugkeren naar bestandlijst ";
$a->strings["Copy/paste this code to attach file to a post"] = "Kopieer/plak deze code om het bestand aan een bericht te koppelen";
$a->strings["Copy/paste this URL to link file from a web page"] = "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen";
-$a->strings["Attach this file to a new post"] = "Dit bestand als bijlage aan nieuw bericht toevoegen";
+$a->strings["Share this file"] = "Dit bestand delen";
$a->strings["Show URL to this file"] = "Toon URL van dit bestand";
-$a->strings["Do not show in shared with me folder of your connections"] = "Toon niet in de map 'gedeeld' van jouw connecties";
+$a->strings["Notify your contacts about this file"] = "Jouw connecties over dit bestand berichten";
$a->strings["Contact not found."] = "Contact niet gevonden";
$a->strings["Friend suggestion sent."] = "Kanaalvoorstel verzonden.";
$a->strings["Suggest Friends"] = "Kanalen voorstellen";
@@ -1591,8 +1522,7 @@ $a->strings["Invalid profile identifier."] = "Ongeldige profiel-identificator";
$a->strings["Profile Visibility Editor"] = "Zichtbaarheid profiel ";
$a->strings["Click on a contact to add or remove."] = "Klik op een connectie om deze toe te voegen of te verwijderen";
$a->strings["Visible To"] = "Zichtbaar voor";
-$a->strings["Remote privacy information not available."] = "Privacy-informatie op afstand niet beschikbaar.";
-$a->strings["Visible to:"] = "Zichtbaar voor:";
+$a->strings["Page Title"] = "Titel pagina";
$a->strings["Profile not found."] = "Profiel niet gevonden.";
$a->strings["Profile deleted."] = "Profiel verwijderd.";
$a->strings["Profile-"] = "Profiel-";
@@ -1607,6 +1537,7 @@ $a->strings["Dislikes"] = "Houdt niet van";
$a->strings["Work/Employment"] = "Werk/arbeid";
$a->strings["Religion"] = "Religie";
$a->strings["Political Views"] = "Politieke overtuigingen";
+$a->strings["Gender"] = "Geslacht";
$a->strings["Sexual Preference"] = "Seksuele voorkeur";
$a->strings["Homepage"] = "Homepage";
$a->strings["Interests"] = "Interesses";
@@ -1661,6 +1592,34 @@ $a->strings["Ratings"] = "Waarderingen";
$a->strings["Rating: "] = "Waardering: ";
$a->strings["Website: "] = "Website: ";
$a->strings["Description: "] = "Omschrijving: ";
+$a->strings["Source of Item"] = "Bron van item";
+$a->strings["Unable to create element."] = "Niet in staat om onderdeel aan te maken.";
+$a->strings["Unable to update menu element."] = "Menu-onderdeel kan niet worden geüpdatet.";
+$a->strings["Unable to add menu element."] = "Menu-onderdeel kan niet worden toegevoegd.";
+$a->strings["Menu Item Permissions"] = "Permissies menu-item";
+$a->strings["Link Name"] = "Linknaam";
+$a->strings["Link Target"] = "Linkdoel";
+$a->strings["Use RedMatrix magic-auth if available"] = "Gebruik RedMatrix' magic-auth wanneer beschikbaar";
+$a->strings["Open link in new window"] = "Open link in nieuw venster";
+$a->strings["Order in list"] = "Volgorde in lijst";
+$a->strings["Higher numbers will sink to bottom of listing"] = "Hogere nummers komen onderaan de lijst terecht";
+$a->strings["Submit and finish"] = "Opslaan en afsluiten";
+$a->strings["Submit and continue"] = "Opslaan en doorgaan";
+$a->strings["Menu:"] = "Menu:";
+$a->strings["Edit menu"] = "Menu bewerken";
+$a->strings["Edit element"] = "Onderdeel bewerken";
+$a->strings["Drop element"] = "Onderdeel verwijderen";
+$a->strings["New element"] = "Nieuw element";
+$a->strings["Edit this menu container"] = "Deze menu-container bewerken";
+$a->strings["Add menu element"] = "Menu-element toevoegen";
+$a->strings["Delete this menu item"] = "Dit menu-item verwijderen";
+$a->strings["Edit this menu item"] = "Dit menu-item bewerken";
+$a->strings["Menu item not found."] = "Menu-item niet gevonden.";
+$a->strings["Menu item deleted."] = "Menu-item verwijderd.";
+$a->strings["Menu item could not be deleted."] = "Menu-item kon niet worden verwijderd.";
+$a->strings["Edit Menu Element"] = "Menu-element bewerken";
+$a->strings["Link text"] = "Linktekst";
+$a->strings["URL of link"] = "URL of link";
$a->strings["OpenID protocol error. No ID returned."] = "OpenID-protocolfout. Geen ID terugontvangen.";
$a->strings["Welcome %s. Remote authentication successful."] = "Welkom %s. Authenticatie op afstand geslaagd.";
$a->strings["%d rating"] = array(
@@ -1674,6 +1633,7 @@ $a->strings["Hometown: "] = "Oorspronkelijk uit: ";
$a->strings["About: "] = "Over: ";
$a->strings["Public Forum:"] = "Openbaar forum:";
$a->strings["Keywords: "] = "Trefwoorden: ";
+$a->strings["Common connections: %s"] = "Gemeenschappelijke connecties: %s";
$a->strings["Finding:"] = "Gezocht naar:";
$a->strings["next page"] = "volgende pagina";
$a->strings["previous page"] = "vorige pagina";
@@ -1812,6 +1772,8 @@ $a->strings["Request date"] = "Tijd/datum verzoek";
$a->strings["No registrations."] = "Geen verzoeken.";
$a->strings["Approve"] = "Goedkeuren";
$a->strings["Deny"] = "Afkeuren";
+$a->strings["Block"] = "Blokkeren";
+$a->strings["Unblock"] = "Deblokkeren";
$a->strings["Register date"] = "Geregistreerd";
$a->strings["Last login"] = "Laatste keer ingelogd";
$a->strings["Expires"] = "Verloopt";
@@ -1866,7 +1828,6 @@ $a->strings["Unable to find your hub."] = "Niet in staat om je hub te vinden";
$a->strings["Post successful."] = "Verzenden bericht geslaagd.";
$a->strings["Edit Block"] = "Blok bewerken";
$a->strings["Delete block?"] = "Blok verwijderen";
-$a->strings["Delete Block"] = "Blok verwijderen";
$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximum toegestane dagelijkse registraties op deze RedMatrix-hub bereikt. Probeer het morgen (UTC) nogmaals.";
$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden.";
$a->strings["Passwords do not match."] = "Wachtwoorden komen niet met elkaar overeen.";
@@ -1892,71 +1853,40 @@ $a->strings["This action is permanent and can not be undone!"] = "Deze handeling
$a->strings["Please enter your password for verification:"] = "Vul je wachtwoord in ter verificatie:";
$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Dit account, al zijn kanalen en alle klonen van zijn kanalen uit het RedMatrix-netwerk verwijderen";
$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het RedMatrix-netwerk verwijderd.";
+$a->strings["Unable to locate original post."] = "Niet in staat om de originele locatie van het bericht te vinden. ";
+$a->strings["Empty post discarded."] = "Leeg bericht geannuleerd";
+$a->strings["Executable content type not permitted to this channel."] = "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal.";
+$a->strings["System error. Post not saved."] = "Systeemfout. Bericht niet opgeslagen.";
+$a->strings["Unable to obtain post information from database."] = "Niet in staat om informatie over dit bericht uit de database te verkrijgen.";
+$a->strings["You have reached your limit of %1$.0f top level posts."] = "Je hebt jouw limiet van %1$.0f berichten bereikt.";
+$a->strings["You have reached your limit of %1$.0f webpages."] = "Je hebt jouw limiet van %1$.0f webpagina's bereikt.";
$a->strings["[Embedded content - reload page to view]"] = "[Ingesloten inhoud - ververs pagina om te bekijken] ";
-$a->strings["Page owner information could not be retrieved."] = "Informatie over de pagina-eigenaar werd niet ontvangen.";
-$a->strings["Album not found."] = "Album niet gevonden.";
-$a->strings["Delete Album"] = "Verwijder album";
-$a->strings["Delete Photo"] = "Verwijder foto";
-$a->strings["No photos selected"] = "Geen foto's geselecteerd";
-$a->strings["Access to this item is restricted."] = "Toegang tot dit item is beperkt.";
-$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB van %2$.2f MB aan foto-opslag gebruikt.";
-$a->strings["%1$.2f MB photo storage used."] = "%1$.2f MB aan foto-opslag gebruikt.";
-$a->strings["Upload Photos"] = "Foto's uploaden";
-$a->strings["Enter a new album name"] = "Vul een nieuwe albumnaam in";
-$a->strings["or select an existing one (doubleclick)"] = "of kies een bestaand album (dubbelklikken)";
-$a->strings["Create a status post for this upload"] = "Plaats een bericht voor deze upload.";
-$a->strings["Album name could not be decoded"] = "Albumnaam kon niet gedecodeerd worden";
-$a->strings["Contact Photos"] = "Connectiefoto's";
-$a->strings["Show Newest First"] = "Nieuwste eerst weergeven";
-$a->strings["Show Oldest First"] = "Oudste eerst weergeven";
-$a->strings["View Photo"] = "Foto weergeven";
-$a->strings["Edit Album"] = "Album bewerken";
-$a->strings["Permission denied. Access to this item may be restricted."] = "Toegang geweigerd. Toegang tot dit item kan zijn beperkt.";
-$a->strings["Photo not available"] = "Foto niet aanwezig";
-$a->strings["Use as profile photo"] = "Als profielfoto gebruiken";
-$a->strings["Private Photo"] = "Privéfoto";
-$a->strings["View Full Size"] = "Volledige grootte weergeven";
-$a->strings["Edit photo"] = "Foto bewerken";
-$a->strings["Rotate CW (right)"] = "Draai met de klok mee (naar rechts)";
-$a->strings["Rotate CCW (left)"] = "Draai tegen de klok in (naar links)";
-$a->strings["Caption"] = "Bijschrift";
-$a->strings["Add a Tag"] = "Tag toevoegen";
-$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl";
-$a->strings["Flag as adult in album view"] = "Markeer als voor volwassenen in albumweergave";
-$a->strings["In This Photo:"] = "Op deze foto:";
-$a->strings["Map"] = "Kaart";
-$a->strings["View Album"] = "Album weergeven";
-$a->strings["Recent Photos"] = "Recente foto's";
-$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen.";
+$a->strings["Remote privacy information not available."] = "Privacy-informatie op afstand niet beschikbaar.";
+$a->strings["Visible to:"] = "Zichtbaar voor:";
+$a->strings["Block Name"] = "Bloknaam";
+$a->strings["First Name"] = "Voornaam";
+$a->strings["Last Name"] = "Achternaam";
+$a->strings["Nickname"] = "Bijnaam";
+$a->strings["Full Name"] = "Volledige naam";
+$a->strings["Profile Photo 16px"] = "Profielfoto 16px";
+$a->strings["Profile Photo 32px"] = "Profielfoto 32px";
+$a->strings["Profile Photo 48px"] = "Profielfoto 48px";
+$a->strings["Profile Photo 64px"] = "Profielfoto 64px";
+$a->strings["Profile Photo 80px"] = "Profielfoto 80px";
+$a->strings["Profile Photo 128px"] = "Profielfoto 128px";
+$a->strings["Timezone"] = "Tijdzone";
+$a->strings["Homepage URL"] = "URL homepagina";
+$a->strings["Birth Year"] = "Geboortejaar";
+$a->strings["Birth Month"] = "Geboortemaand";
+$a->strings["Birth Day"] = "Geboortedag";
+$a->strings["Birthdate"] = "Geboortedatum";
$a->strings["Conversation removed."] = "Conversatie verwijderd";
$a->strings["No messages."] = "Geen berichten";
$a->strings["Delete conversation"] = "Verwijder conversatie";
$a->strings["D, d M Y - g:i A"] = "D, j M Y - G:i";
-$a->strings["Menu element updated."] = "Menu-onderdeel geüpdatet.";
-$a->strings["Unable to update menu element."] = "Menu-onderdeel kan niet worden geüpdatet.";
-$a->strings["Menu element added."] = "Menu-onderdeel toegevoegd";
-$a->strings["Unable to add menu element."] = "Menu-onderdeel kan niet worden toegevoegd.";
-$a->strings["Manage Menu Elements"] = "Menu-onderdelen beheren";
-$a->strings["Edit menu"] = "Menu bewerken";
-$a->strings["Edit element"] = "Onderdeel bewerken";
-$a->strings["Drop element"] = "Onderdeel verwijderen";
-$a->strings["New element"] = "Nieuw element";
-$a->strings["Edit this menu container"] = "Deze menu-container bewerken";
-$a->strings["Add menu element"] = "Menu-element toevoegen";
-$a->strings["Delete this menu item"] = "Dit menu-item verwijderen";
-$a->strings["Edit this menu item"] = "Dit menu-item bewerken";
-$a->strings["New Menu Element"] = "Nieuw menu-element";
-$a->strings["Menu Item Permissions"] = "Permissies menu-item";
-$a->strings["Link text"] = "Linktekst";
-$a->strings["URL of link"] = "URL of link";
-$a->strings["Use RedMatrix magic-auth if available"] = "Gebruik RedMatrix' magic-auth wanneer beschikbaar";
-$a->strings["Open link in new window"] = "Open link in nieuw venster";
-$a->strings["Order in list"] = "Volgorde in lijst";
-$a->strings["Higher numbers will sink to bottom of listing"] = "Hogere nummers komen onderaan de lijst terecht";
-$a->strings["Menu item not found."] = "Menu-item niet gevonden.";
-$a->strings["Menu item deleted."] = "Menu-item verwijderd.";
-$a->strings["Menu item could not be deleted."] = "Menu-item kon niet worden verwijderd.";
-$a->strings["Edit Menu Element"] = "Menu-element bewerken";
+$a->strings["Help with this feature"] = "Hulp voor dit onderdeel";
+$a->strings["Layout Name"] = "Naam lay-out";
+$a->strings["Comanche page description language help"] = "Hulp met de paginabeschrijvingstaal Comanche";
$a->strings["Set your current mood and tell your friends"] = "Noteer je huidige stemming en toon het aan je connecties";
$a->strings["Total votes"] = "Totaal aantal stemmen";
$a->strings["Average Rating"] = "Gemiddelde waardering";
@@ -1965,8 +1895,77 @@ $a->strings["Remove This Channel"] = "Verwijder dit kanaal";
$a->strings["This channel will be completely removed from the network. "] = "Dit kanaal wordt volledig uit het RedMatrix-netwerk verwijderd.";
$a->strings["Remove this channel and all its clones from the network"] = "Dit kanaal en alle klonen hiervan uit het RedMatrix-netwerk verwijderen";
$a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Standaard wordt alleen het kanaal dat zich op deze hub bevindt uit het RedMatrix-netwerk verwijderd.";
-$a->strings["Help with this feature"] = "Hulp voor dit onderdeel";
-$a->strings["Layout Name"] = "Naam lay-out";
+$a->strings["is now connected to"] = "is nu verbonden met";
+$a->strings["Could not access address book record."] = "Kon geen toegang krijgen tot de record van de connectie.";
+$a->strings["Refresh failed - channel is currently unavailable."] = "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar";
+$a->strings["Channel has been unblocked"] = "Kanaal is gedeblokkeerd";
+$a->strings["Channel has been blocked"] = "Kanaal is geblokkeerd";
+$a->strings["Unable to set address book parameters."] = "Niet in staat om de parameters van connecties in te stellen.";
+$a->strings["Channel has been unignored"] = "Kanaal wordt niet meer genegeerd";
+$a->strings["Channel has been ignored"] = "Kanaal wordt genegeerd";
+$a->strings["Channel has been unarchived"] = "Kanaal is niet meer gearchiveerd";
+$a->strings["Channel has been archived"] = "Kanaal is gearchiveerd";
+$a->strings["Channel has been unhidden"] = "Kanaal is niet meer verborgen";
+$a->strings["Channel has been hidden"] = "Kanaal is verborgen";
+$a->strings["Channel has been approved"] = "Connectie/kanaal is geaccepteerd";
+$a->strings["Channel has been unapproved"] = "Connectie/kanaal is afgewezen";
+$a->strings["Connection has been removed."] = "Connectie is verwijderd";
+$a->strings["View %s's profile"] = "Profiel van %s weergeven";
+$a->strings["Refresh Permissions"] = "Permissies vernieuwen";
+$a->strings["Fetch updated permissions"] = "Aangepaste permissies ophalen";
+$a->strings["Recent Activity"] = "Recente activiteit";
+$a->strings["View recent posts and comments"] = "Recente berichten en reacties weergeven";
+$a->strings["Block (or Unblock) all communications with this connection"] = "Blokkeer (of deblokkeer) alle communicatie met deze connectie";
+$a->strings["Unignore"] = "Niet meer negeren";
+$a->strings["Ignore"] = "Negeren";
+$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie";
+$a->strings["Unarchive"] = "Niet meer archiveren";
+$a->strings["Archive"] = "Archiveren";
+$a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archiveer (of dearchiveer) deze connectie - markeer het kanaal als dood, maar bewaar de inhoud";
+$a->strings["Unhide"] = "Niet meer verbergen";
+$a->strings["Hide"] = "Verbergen";
+$a->strings["Hide or Unhide this connection from your other connections"] = "Deze connectie verbergen (of niet meer verbergen) voor jouw andere connecties";
+$a->strings["Delete this connection"] = "Deze connectie verwijderen";
+$a->strings["Approve this connection"] = "Deze connectie accepteren";
+$a->strings["Accept connection to allow communication"] = "Keur deze connectie goed om communicatie toe te staan";
+$a->strings["Connections: settings for %s"] = "Connecties: instellingen voor %s";
+$a->strings["Apply these permissions automatically"] = "Deze permissies automatisch toepassen";
+$a->strings["Apply the permissions indicated on this page to all new connections."] = "Permissies die op deze pagina staan vermeldt op alle nieuwe connecties toepassen.";
+$a->strings["Slide to adjust your degree of friendship"] = "Schuif om te bepalen hoe goed je iemand kent en/of mag";
+$a->strings["Default permissions for your channel type have (just) been applied. They have not yet been submitted. Please review the permissions on this page and make any desired changes at this time. This new connection may <em>not</em> be able to communicate with you until you submit this page, which will install and apply the selected permissions."] = "Voor jouw kanaaltype geldende standaard permissies zijn (zonet) toegepast. Ze zijn echter nog niet opgeslagen. Controleer de permissies op deze pagina en verander ze eventueel. Deze nieuwe connectie kan mogelijk nog <em>niet</em> met jou communiceren totdat je deze pagina opslaat, wat ervoor zorgt dat de gekozen permissies actief worden.";
+$a->strings["inherited"] = "geërfd";
+$a->strings["Connection has no individual permissions!"] = "Connectie heeft geen individuele permissies!";
+$a->strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "Dit is mogelijk voldoende, wanneer er naar jouw <a href=\"settings\">privacy-instellingen</a> wordt gekeken. Hoewel je wellicht de geavanceerde rechten wil nagaan.";
+$a->strings["Profile Visibility"] = "Zichtbaarheid profiel";
+$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken.";
+$a->strings["Contact Information / Notes"] = "Informatie/aantekeningen over connectie";
+$a->strings["Edit contact notes"] = "Bewerk aantekeningen over contact";
+$a->strings["Their Settings"] = "Hun instellingen";
+$a->strings["My Settings"] = "Mijn instellingen";
+$a->strings["Default permissions for this channel type have (just) been applied. They have <em>not</em> been saved and there are currently no stored default permissions. Please review/edit the applied settings and click [Submit] to finalize."] = "Voor dit kanaaltype geldende standaard permissies zijn (zonet) toegepast. Ze zijn echter nog <em>niet</em> opgeslagen en er zijn momenteel geen standaard permissies aanwezig. Controleer/verander de permissies op deze pagina en klik op [Opslaan] om deze te activeren.";
+$a->strings["Clear/Disable Automatic Permissions"] = "Verwijderen/uitschakelen automatische permissies";
+$a->strings["Forum Members"] = "Forumleden";
+$a->strings["Soapbox"] = "Zeepkist";
+$a->strings["Full Sharing (typical social network permissions)"] = "Voluit delen (vergelijkbaar met die van sociale netwerken)";
+$a->strings["Cautious Sharing "] = "Voorzichtig delen";
+$a->strings["Follow Only"] = "Alleen volgen";
+$a->strings["Individual Permissions"] = "Individuele permissies";
+$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "Sommige permissies kunnen worden overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal. Wanneer je deze geërfde instellingen op deze pagina veranderd heeft dat geen effect.";
+$a->strings["Advanced Permissions"] = "Geavanceerde permissies";
+$a->strings["Simple Permissions (select one and submit)"] = "Eenvoudige permissies (selecteer er één en opslaan)";
+$a->strings["Visit %s's profile - %s"] = "Profiel van %s bezoeken - %s";
+$a->strings["Block/Unblock contact"] = "Connectie blokkeren/deblokkeren";
+$a->strings["Ignore contact"] = "Connectie negeren";
+$a->strings["Repair URL settings"] = "URL-instellingen repareren";
+$a->strings["View conversations"] = "Conversaties weergeven";
+$a->strings["Delete contact"] = "Connectie verwijderen";
+$a->strings["Last update:"] = "Laatste wijziging:";
+$a->strings["Update public posts"] = "Openbare berichten updaten";
+$a->strings["Update now"] = "Nu updaten";
+$a->strings["Currently blocked"] = "Momenteel geblokkeerd";
+$a->strings["Currently ignored"] = "Momenteel genegeerd";
+$a->strings["Currently archived"] = "Momenteel gearchiveerd";
+$a->strings["Currently pending"] = "Moeten nog geaccepteerd of afgewezen worden";
$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "We hebben een probleem ontdekt tijdens het inloggen met de OpenID die je hebt verstrekt. Controleer de ID op typefouten.";
$a->strings["The error message was:"] = "Het foutbericht was:";
$a->strings["Authentication failed."] = "Authenticatie mislukt.";
@@ -1993,11 +1992,12 @@ $a->strings["Send Reply"] = "Antwoord versturen";
$a->strings["Invalid request identifier."] = "Ongeldige verzoek identificator (request identifier)";
$a->strings["Discard"] = "Annuleren";
$a->strings["Please login."] = "Inloggen.";
+$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen.";
$a->strings["Add a Channel"] = "Kanaal toevoegen";
-$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Een kanaal is jouw eigen verzameling aan gerelateerde berichten. Een kanaal kan gebruikt worden voor een sociaal netwerk, weblog, forum, en voor veel meer. Je kan net zoveel kanalen aanmaken als dat de eigenaar/beheerder van jouw hub toestaat.";
+$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Naast een account moet je tenminste één kanaal aanmaken. Een kanaal is een persoonlijke verzameling (gerelateerde) berichten en media, zoals je misschien gewend bent van sociale netwerken. Een kanaal kan gebruikt worden voor social media, een blog, forum, en voor veel meer. Je kan net zoveel kanalen aanmaken als dat de eigenaar/beheerder van jouw hub toestaat.";
$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Jouw naam of een andere relevante naam. Voorbeelden: \"Jan Pietersen\", \"Willems weblog\", \"Familieforum\"";
-$a->strings["Choose a short nickname"] = "Kies een bijnaam";
-$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Deze bijnaam wordt gebruikt om een makkelijk te onthouden kanaaladres (zoals een e-mailadres) aan te maken, die je dan met anderen kan delen. Voorbeeld: janp (wordt <em>janp@jouw_hub</em>)";
+$a->strings["Choose a short nickname"] = "Korte bijnaam";
+$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Deze bijnaam (geen spaties) wordt gebruikt om een makkelijk te onthouden kanaaladres (zoals een e-mailadres) en het internetadres (URL) van jouw kanaal aan te maken, die je dan met anderen kunt delen. Voorbeeld: <b>janp</b> wordt <em>janp@jouw_hub.nl</em> en <em>https://jouw_hub.nl/channel/janp</em>.";
$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Of <a href=\"import\">importeer een bestaand kanaal</a> vanaf een andere locatie.";
$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Kies een kanaaltype en het door jouw gewenste privacy-niveau, zodat automatisch de beste permissies kunnen worden ingesteld. Dit kan later, indien gewenst, worden veranderd.";
$a->strings["Channel Type"] = "Kanaaltype";
@@ -2024,6 +2024,7 @@ $a->strings["Collection is empty"] = "Collectie is leeg";
$a->strings["Collection: "] = "Collectie: ";
$a->strings["Connection: "] = "Connectie: ";
$a->strings["Invalid connection."] = "Ongeldige connectie.";
+$a->strings["Ipsum Lorem"] = "Lorem ipsum";
$a->strings["Bookmark added"] = "Bladwijzer toegevoegd";
$a->strings["My Bookmarks"] = "Mijn bladwijzers";
$a->strings["My Connections Bookmarks"] = "Bladwijzers van mijn connecties";
@@ -2103,19 +2104,6 @@ $a->strings["Center page content"] = "Inhoud centreren";
$a->strings["Set minimum opacity of nav bar - to hide it"] = "Minimale ondoorzichtigheid navigatiebalk (- om te verbergen)";
$a->strings["Set size of conversation author photo"] = "Grootte profielfoto's van berichten instellen";
$a->strings["Set size of followup author photos"] = "Grootte profielfoto's van reacties instellen";
-$a->strings["You're welcome."] = "Je bent van harte welkom.";
-$a->strings["Ah shucks..."] = "Hé verdorie...";
-$a->strings["Don't mention it."] = "Graag gedaan.";
-$a->strings["&lt;blush&gt;"] = "&lt;bloos&gt;";
-$a->strings["Post to WordPress"] = "Op WordPress plaatsen";
-$a->strings["Enable WordPress Post Plugin"] = "WordPress-crosspost-plugin inschakelen";
-$a->strings["WordPress username"] = "Gebruikersnaam WordPress";
-$a->strings["WordPress password"] = "Wachtwoord WordPress";
-$a->strings["WordPress API URL"] = "API-URL WordPress";
-$a->strings["Post to WordPress by default"] = "Standaard op WordPress plaatsen";
-$a->strings["Forward comments (requires post_to_red plugin)"] = "Reacties doorsturen (WordPress-plugin 'post_to_red' vereist)";
-$a->strings["WordPress Post Settings"] = "Instellingen WordPress-crosspost";
-$a->strings["Wordpress Settings saved."] = "WordPress-crosspost opgeslagen.";
$a->strings["Update %s failed. See error logs."] = "Update %s mislukt. Zie foutenlogboek.";
$a->strings["Update Error at %s"] = "Update-fout op %s";
$a->strings["Create an account to access services and applications within the Red Matrix"] = "Maak een account aan om toegang te krijgen tot diensten en toepassingen van de RedMatrix";
diff --git a/view/pdl/mod_editblock.pdl b/view/pdl/mod_editblock.pdl
new file mode 100644
index 000000000..cef69f194
--- /dev/null
+++ b/view/pdl/mod_editblock.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=design_tools][/widget]
+[/region] \ No newline at end of file
diff --git a/view/pdl/mod_editlayout.pdl b/view/pdl/mod_editlayout.pdl
new file mode 100644
index 000000000..cef69f194
--- /dev/null
+++ b/view/pdl/mod_editlayout.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=design_tools][/widget]
+[/region] \ No newline at end of file
diff --git a/view/pdl/mod_editwebpage.pdl b/view/pdl/mod_editwebpage.pdl
new file mode 100644
index 000000000..cef69f194
--- /dev/null
+++ b/view/pdl/mod_editwebpage.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=design_tools][/widget]
+[/region] \ No newline at end of file
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index 15bf85e4a..a5e5dffdb 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -623,16 +623,6 @@ footer {
}
-.pmenu {
- border-bottom: 1px solid #eec;
- padding: 8px;
- margin-top: 5px;
- -moz-border-radius: $radiuspx;
- -webkit-border-radius: $radiuspx;
- border-radius: $radiuspx;
-
-}
-
.pmenu.horizontal {
padding: 0 0 0 0;
border-bottom: none;
@@ -1112,8 +1102,6 @@ nav .acpopup {
.required {
color: #ff0000;
- font-size: 1.8rem;
- margin-left: 5px;
}
@@ -1521,7 +1509,7 @@ margin-right: 50px;
}
a .drop-icons {
- color: $toolicon_colour;;
+ color: $toolicon_colour;
font-size: 1.2em;
text-decoration: none;
}
@@ -1530,6 +1518,10 @@ a .drop-icons:hover {
color: #FF0000;
}
+.lockview {
+ cursor: pointer;
+}
+
.permission-inherited {
float: left;
margin-right: 10px;
@@ -1552,18 +1544,6 @@ a .drop-icons:hover {
font-size: 1.8em;
}
-.design-tools ul {
- list-style-type: none;
-}
-
-.design-icons {
- margin-right: 10px;
-}
-
-.design-icons:hover {
-text-decoration: none;
-}
-
#menulist {
list-style-type: none;
}
@@ -1608,11 +1588,14 @@ img.mail-list-sender-photo {
font-weight: bold;
}
-.jothidden >input, .jothidden >input {
- border: 1px solid #fff;
+.jothidden > input {
+ border: 1px solid $bgcolour;
+ background-color: $bgcolour;
}
-.jothidden >input:hover, .jothidden >input:focus {
+.jothidden > input:hover,
+.jothidden > input:focus {
border: 1px solid #cccccc;
+ background-color: #fff;
}
#profile-jot-text {
@@ -1745,7 +1728,8 @@ img.mail-list-sender-photo {
font-size: 0.833em;
}
-.wall-item-content {
+.wall-item-content,
+.page-body {
font-size: $font_size;
clear: both;
}
@@ -1877,6 +1861,10 @@ nav .dropdown-menu {
color: $nav_active_icon_colour;
}
+.page-title {
+ margin: 7px 0px;
+}
+
.section-title-wrapper {
padding: 7px 10px;
background-color: $item_colour;
@@ -1948,6 +1936,14 @@ nav .dropdown-menu {
background-color: $item_colour;
}
+[id^="webpage-list-item-"]:hover td,
+[id^="block-list-item-"]:hover td,
+[id^="layout-list-item-"]:hover td,
+[id^="menu-list-item-"]:hover td,
+[id^="mitem-list-item-"]:hover td {
+ background-color: $item_colour;
+}
+
nav ul li .undefined,
nav ul li .notify-seen,
nav ul li .notify-unseen
@@ -2211,6 +2207,12 @@ aside .nav > li > a:hover, aside .nav > li > a:focus {
border: 3px solid red !important;
}
+.bb_rm-logo {
+ height: 1.3em;
+ width: auto;
+ margin-top:-3px;
+}
+
.bootstrap-tagsinput .tag:before {
/* Copied from icon-asterisk, is there a better way to do it? */
font-family: FontAwesome;
@@ -2222,8 +2224,8 @@ aside .nav > li > a:hover, aside .nav > li > a:focus {
/* Modified original CSS to match input in Redbasic */
.jothidden .bootstrap-tagsinput {
- border-color:#fff;
- background-color: #fff;
+ border-color: $bgcolour;
+ background-color: $bgcolour;
box-shadow: none;
display: inline-block;
border-radius: $radiuspx;
@@ -2237,7 +2239,8 @@ aside .nav > li > a:hover, aside .nav > li > a:focus {
}
.jothidden .bootstrap-tagsinput:hover, .jothidden .bootstrap-tagsinput:focus {
- border: 1px solid #cccccc;
+ border: 1px solid #ccc;
+ background-color: #fff;
}
/* Abusing theme-green is less work than makeing a new new one */
diff --git a/view/theme/redbasic/php/style.php b/view/theme/redbasic/php/style.php
index 2d17e6d08..2133331c6 100644
--- a/view/theme/redbasic/php/style.php
+++ b/view/theme/redbasic/php/style.php
@@ -311,8 +311,9 @@ echo str_replace(array_keys($options), array_values($options), $x);
if($narrow_navbar && file_exists('view/theme/redbasic/css/narrow_navbar.css')) {
echo file_get_contents('view/theme/redbasic/css/narrow_navbar.css');
}
+
if($converse_center && file_exists('view/theme/redbasic/css/converse_center.css')) {
- echo str_replace(array_keys($options), array_values($options), $x);
+ echo file_get_contents('view/theme/redbasic/css/converse_center.css');
}
if($schemecss) {
diff --git a/view/tpl/attach_edit.tpl b/view/tpl/attach_edit.tpl
index 4a438e8fd..44d230ae0 100644
--- a/view/tpl/attach_edit.tpl
+++ b/view/tpl/attach_edit.tpl
@@ -3,42 +3,26 @@
<input type="hidden" name="filehash" value="{{$file.hash}}" />
<input type="hidden" name="uid" value="{{$uid}}" />
<input type="hidden" name="fileid" value="{{$file.id}}" />
-
+ {{if !$isadir}}{{include file="field_checkbox.tpl" field=$notify}}{{/if}}
+ {{if $isadir}}{{include file="field_checkbox.tpl" field=$recurse}}{{/if}}
<div id="attach-edit-tools-share" class="btn-group form-group">
{{if !$isadir}}
- <a href="/rpost?body=[attachment]{{$file.hash}},{{$file.revision}}[/attachment]" id="attach-btn" class="btn btn-default btn-xs" title="{{$attach_btn_title}}">
- <i class="icon-paperclip jot-icons"></i>
+ <a href="/rpost?attachment=[attachment]{{$file.hash}},{{$file.revision}}[/attachment]" id="attach-btn" class="btn btn-default btn-xs" title="{{$attach_btn_title}}">
+ <i class="icon-share jot-icons"></i>
</a>
{{/if}}
<button id="link-btn" class="btn btn-default btn-xs" type="button" onclick="openClose('link-code');" title="{{$link_btn_title}}">
- <i class="icon-share jot-icons"></i>
+ <i class="icon-link jot-icons"></i>
</button>
</div>
- <div id="attach-edit-tools-perms" class="form-group pull-right btn-group">
- {{if $isadir}}
- <div id="attach-edit-perms-recurse" class="btn-group" data-toggle="buttons">
- <label class="btn btn-default btn-xs" title="{{$recurse}}">
- <input type="checkbox" autocomplete="off" name="recurse" value="1"><i class="icon-level-down jot-icons"></i>
- </label>
- </div>
- {{/if}}
- {{if !$isadir}}
- <div id="attach-edit-activity" class="btn-group" data-toggle="buttons">
- <label class="btn btn-default btn-xs" title="{{$activity_btn_title}}">
- <input type="checkbox" autocomplete="off" name="no_activity" value="1"><i class="icon-ban-circle jot-icons"></i>
- </label>
- </div>
- {{/if}}
- <div id="attach-edit-perms" class="btn-group">
- <button id="dbtn-acl" class="btn btn-default btn-xs" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" onclick="return false;">
- <i id="jot-perms-icon" class="icon-{{$lockstate}} jot-icons"></i>
- </button>
- <button id="dbtn-submit" class="btn btn-primary btn-xs" type="submit" name="submit">
- {{$submit}}
- </button>
- </div>
+ <div id="attach-edit-perms" class="btn-group pull-right">
+ <button id="dbtn-acl" class="btn btn-default btn-xs" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" onclick="return false;">
+ <i id="jot-perms-icon" class="icon-{{$lockstate}} jot-icons"></i>
+ </button>
+ <button id="dbtn-submit" class="btn btn-primary btn-xs" type="submit" name="submit">
+ {{$submit}}
+ </button>
</div>
-
{{$aclselect}}
<div id="link-code" class="form-group">
diff --git a/view/tpl/blocklist.tpl b/view/tpl/blocklist.tpl
index 4068375cb..85e4865ea 100644
--- a/view/tpl/blocklist.tpl
+++ b/view/tpl/blocklist.tpl
@@ -1,18 +1,67 @@
+<div class="section-title-wrapper">
+ {{if $editor}}
+ <div class="pull-right">
+ <button id="webpage-create-btn" class="btn btn-xs btn-success" onclick="openClose('block-editor');"><i class="icon-edit"></i>&nbsp;{{$create}}</button>
+ </div>
+ {{/if}}
+ <h2>{{$title}}</h2>
+ <div class="clear"></div>
+</div>
+{{if $editor}}
+<div id="block-editor" class="section-content-tools-wrapper">
+ {{$editor}}
+</div>
+{{/if}}
{{if $pages}}
-
- <div id="pagelist-content-wrapper" class="generic-content-wrapper">
+<div id="pagelist-content-wrapper" class="section-content-wrapper-np">
+ <table id="block-list-table">
+ <tr>
+ <th width="1%">{{$name}}</th>
+ <th width="94%">{{$blocktitle}}</th>
+ <th width="1%"></th>
+ <th width="1%"></th>
+ <th width="1%"></th>
+ <th width="1%" class="hidden-xs">{{$created}}</th>
+ <th width="1%" class="hidden-xs">{{$edited}}</th>
+ </tr>
{{foreach $pages as $key => $items}}
- {{foreach $items as $item}}
- <div class="page-list-item">
- {{if $edit}}<a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil design-icons design-edit-icon btn btn-default"></i></a> {{/if}}
- {{if $view}}<a href="block/{{$channel}}/{{$item.title}}" title="{{$view}}"><i class="icon-external-link design-icons design-view-icon btn btn-default"></i></a> {{/if}}
- {{*if $preview}}<a href="block/{{$channel}}/{{$item.title}}?iframe=true&width=80%&height=80%" title="{{$preview}}" class="webpage-preview" ><i class="icon-eye-open design-icons design-preview-icon btn-btn-default"></i></a> {{/if*}}
- {{$item.title}}
- </div>
- {{/foreach}}
+ {{foreach $items as $item}}
+ <tr id="block-list-item-{{$item.url}}">
+ <td>
+ {{if $view}}
+ <a href="block/{{$channel}}/{{$item.name}}" title="{{$view}}">{{$item.name}}</a>
+ {{else}}
+ {{$item.name}}
+ {{/if}}
+ </td>
+ <td>
+ {{$item.title}}
+ </td>
+ <td class="webpage-list-tool">
+ {{if $edit}}
+ <a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil"></i></a>
+ {{/if}}
+ </td>
+ <td class="webpage-list-tool">
+ {{if $item.bb_element}}
+ <a href="rpost?attachment={{$item.bb_element}}" title="{{$share}}"><i class="icon-share"></i></a>
+ {{/if}}
+ </td>
+ <td class="webpage-list-tool">
+ {{if $edit}}
+ <a href="#" title="{{$delete}}" onclick="dropItem('item/drop/{{$item.url}}', '#block-list-item-{{$item.url}}'); return false;"><i class="icon-trash drop-icons"></i></a>
+ {{/if}}
+ </td>
+ <td class="hidden-xs">
+ {{$item.created}}
+ </td>
+ <td class="hidden-xs">
+ {{$item.edited}}
+ </td>
+ </tr>
+ {{/foreach}}
{{/foreach}}
- </div>
-
- <div class="clear"></div>
-
+ </table>
+</div>
+<div class="clear"></div>
{{/if}}
diff --git a/view/tpl/cloud_directory.tpl b/view/tpl/cloud_directory.tpl
index 77d861224..c1d03da83 100644
--- a/view/tpl/cloud_directory.tpl
+++ b/view/tpl/cloud_directory.tpl
@@ -26,7 +26,7 @@
<td class="cloud-index-tool">{{$item.attachIcon}}</td>
<td id="file-edit-{{$item.attachId}}" class="cloud-index-tool"></td>
<td class="cloud-index-tool"><i class="fakelink icon-pencil" onclick="filestorage(event, '{{$nick}}', {{$item.attachId}});"></i></td>
- <td class="cloud-index-tool"><a href="{{$item.fileStorageUrl}}/{{$item.attachId}}/delete" title="{{$delete}}" onclick="return confirmDelete();"><i class="icon-trash drop-icons"></i></a></td>
+ <td class="cloud-index-tool"><a href="#" title="{{$delete}}" onclick="dropItem('{{$item.fileStorageUrl}}/{{$item.attachId}}/delete', '#cloud-index-{{$item.attachId}},#cloud-tools-{{$item.attachId}}'); return false;"><i class="icon-trash drop-icons"></i></a></td>
{{else}}
<td></td><td></td><td></td><td></td>
@@ -35,7 +35,7 @@
<td class="hidden-xs">{{$item.sizeFormatted}}</td>
<td class="hidden-xs">{{$item.lastmodified}}</td>
</tr>
- <tr>
+ <tr id="cloud-tools-{{$item.attachId}}">
<td id="perms-panel-{{$item.attachId}}" colspan="9"></td>
</tr>
{{/foreach}}
diff --git a/view/tpl/contact_slider.tpl b/view/tpl/contact_slider.tpl
index 09a79edd8..5c15e1c2c 100755
--- a/view/tpl/contact_slider.tpl
+++ b/view/tpl/contact_slider.tpl
@@ -1,4 +1,4 @@
<div id="contact-slider" class="slider" style="height: 32px; position: relative; left: 5%; width: 90%;"><input id="contact-range" type="text" name="fake-closeness" value="{{$val}}" /></div>
<script>
- $("#contact-range").jRange({ from: {{$min|default:'0'}}, to: 99, step: 1, scale: ['{{$me}}', '|', '{{$intimate}}', '|', '{{$friends}}', '|', '{{$oldfriends}}', '|', '{{$acquaintances}}', '|', '{{$world}}' ], width:'100%', showLabels: false, onstatechange: function(v) { $("#contact-closeness-mirror").val(v); } });
+ $("#contact-range").jRange({ from: {{$min|default:'0'}}, to: 99, step: 1, scale: [{{$labels}}], width:'100%', showLabels: false, onstatechange: function(v) { $("#contact-closeness-mirror").val(v); } });
</script>
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index a575df554..e0acc25ae 100755
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -21,7 +21,7 @@
{{/if}}
{{if $item.lock}}
<div class="wall-item-lock dropdown">
- <i class="icon-lock lockview dropdown-toggle" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul>&nbsp;
+ <i class="icon-lock lockview dropdown-toggle" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul>&nbsp;
</div>
{{/if}}
<div class="wall-item-author">
@@ -117,14 +117,13 @@
{{if $item.star}}
<li role="presentation"><a role="menuitem" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="icon-star {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></i> {{$item.star.toggle}}</a></li>
{{/if}}
+ {{if $item.drop.dropping}}
+ <li role="presentation"><a role="menuitem" href="#" onclick="dropItem('item/drop/{{$item.id}}', '#thread-wrapper-{{$item.id}}'); return false;" title="{{$item.drop.delete}}" ><i class="icon-trash"></i> {{$item.drop.delete}}</a></li>
+ {{/if}}
{{if $item.item_photo_menu}}
<li role="presentation" class="divider"></li>
{{$item.item_photo_menu}}
{{/if}}
- {{if $item.drop.dropping}}
- <li role="presentation" class="divider"></li>
- <li role="presentation"><a role="menuitem" href="item/drop/{{$item.id}}" onclick="return confirmDelete();" title="{{$item.drop.delete}}" ><i class="icon-trash"></i> {{$item.drop.delete}}</a></li>
- {{/if}}
</ul>
</div>
<div id="like-rotator-{{$item.id}}" class="like-rotator"></div>
diff --git a/view/tpl/conv_list.tpl b/view/tpl/conv_list.tpl
index 818517c46..85425b4e2 100755
--- a/view/tpl/conv_list.tpl
+++ b/view/tpl/conv_list.tpl
@@ -21,7 +21,7 @@
{{/if}}
{{if $item.lock}}
<div class="wall-item-lock dropdown">
- <i class="icon-lock lockview dropdown-toggle" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul>&nbsp;
+ <i class="icon-lock lockview dropdown-toggle" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul>&nbsp;
</div>
{{/if}}
<div class="wall-item-author">
@@ -118,14 +118,14 @@
{{if $item.star}}
<li role="presentation"><a role="menuitem" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="icon-star {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></i> {{$item.star.toggle}}</a></li>
{{/if}}
+ {{if $item.drop.dropping}}
+ <li role="presentation"><a role="menuitem" href="#" onclick="dropItem('item/drop/{{$item.id}}', '#thread-wrapper-{{$item.id}}'); return false;" title="{{$item.drop.delete}}" ><i class="icon-trash"></i> {{$item.drop.delete}}</a></li>
+ {{/if}}
{{if $item.item_photo_menu}}
<li role="presentation" class="divider"></li>
{{$item.item_photo_menu}}
{{/if}}
- {{if $item.drop.dropping}}
- <li role="presentation" class="divider"></li>
- <li role="presentation"><a role="menuitem" href="item/drop/{{$item.id}}" onclick="return confirmDelete();" title="{{$item.drop.delete}}" ><i class="icon-trash"></i> {{$item.drop.delete}}</a></li>
- {{/if}}
+
</ul>
</div>
<div id="like-rotator-{{$item.id}}" class="like-rotator"></div>
diff --git a/view/tpl/design_tools.tpl b/view/tpl/design_tools.tpl
index 53d90be74..dffeeafa0 100644
--- a/view/tpl/design_tools.tpl
+++ b/view/tpl/design_tools.tpl
@@ -1,6 +1,6 @@
<div id="design-tools" class="widget design-tools">
<h3>{{$title}}</h3>
-<ul>
+<ul class="nav nav-pills nav-stacked">
<li><a href="blocks/{{$who}}">{{$blocks}}</a></li>
<li><a href="menu{{if $sys}}?f=&sys=1{{/if}}">{{$menus}}</a></li>
<li><a href="layouts/{{$who}}">{{$layout}}</a></li>
diff --git a/view/tpl/direntry.tpl b/view/tpl/direntry.tpl
index db098baa1..0608bca0a 100755
--- a/view/tpl/direntry.tpl
+++ b/view/tpl/direntry.tpl
@@ -20,6 +20,9 @@
{{if $entry.canrate}}<button class="btn btn-default" onclick="doRatings('{{$entry.hash}}'); return false;" ><i class="icon-pencil"></i></button><span class="required" id="edited-{{$entry.hash}}" style="display: none;" >*</span>{{/if}}
</div>
{{/if}}
+{{if $entry.common_friends}}
+<div id="dir-common">{{$entry.common_txt}}</div>
+{{/if}}
{{if $entry.public_forum}}
<div class="contact-forum">
{{$entry.forum_label}} @{{$entry.nickname}}+
diff --git a/view/tpl/edpost_head.tpl b/view/tpl/edpost_head.tpl
index 890b746bf..20e597909 100755
--- a/view/tpl/edpost_head.tpl
+++ b/view/tpl/edpost_head.tpl
@@ -1 +1,12 @@
-<h2>{{$title}}</h2>
+<div class="section-title-wrapper">
+ {{if $delete}}
+ <div class="pull-right">
+ <a href="item/drop/{{$id}}" id="delete-btn" class="btn btn-xs btn-danger" onclick="return confirmDelete();"><i class="icon-trash"></i>&nbsp;{{$delete}}</a>
+ </div>
+ {{/if}}
+ <h2>{{$title}}</h2>
+ <div class="clear"></div>
+</div>
+<div id="webpage-editor" class="section-content-tools-wrapper">
+ {{$editor}}
+</div>
diff --git a/view/tpl/event_form.tpl b/view/tpl/event_form.tpl
index 986a93a16..d2562f080 100755
--- a/view/tpl/event_form.tpl
+++ b/view/tpl/event_form.tpl
@@ -152,8 +152,10 @@
<br />
+
<div class="clear event-form-location-end"></div>
+{{if ! $eid}}
<div class='field checkbox'>
<label class="mainlabel" for='id_share'>{{$sh_text}}</label>
@@ -170,6 +172,8 @@
<button id="event-permissions-button" class="btn btn-default btn-xs" data-toggle="modal" data-target="#aclModal" onclick="return false;">{{$permissions}}</button>
{{$acl}}
+{{/if}}
+
<div class="clear"></div>
<button id="event-edit-preview-btn" class="btn btn-default" title="{{$preview}}" onclick="doEventPreview(); return false;"><i class="icon-eye-open" ></i></button>
diff --git a/view/tpl/field_input.tpl b/view/tpl/field_input.tpl
index 4dfa83699..128bbfbe1 100755
--- a/view/tpl/field_input.tpl
+++ b/view/tpl/field_input.tpl
@@ -1,6 +1,6 @@
<div class='form-group field input'>
- <label for='id_{{$field.0}}' id='label_{{$field.0}}'>{{$field.1}}</label>
- <input class="form-control" name='{{$field.0}}' id='id_{{$field.0}}' type="text" value="{{$field.2}}"{{if $field.5}} {{$field.5}}{{/if}}>{{if $field.4}} <span class="required">{{$field.4}}</span> {{/if}}
+ <label for='id_{{$field.0}}' id='label_{{$field.0}}'>{{$field.1}}{{if $field.4}}<span class="required"> {{$field.4}}</span>{{/if}}</label>
+ <input class="form-control" name='{{$field.0}}' id='id_{{$field.0}}' type="text" value="{{$field.2}}"{{if $field.5}} {{$field.5}}{{/if}}>
<span id='help_{{$field.0}}' class='help-block'>{{$field.3}}</span>
<div class="clear"></div>
</div>
diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl
index 0ffed7163..4121882b7 100755
--- a/view/tpl/jot-header.tpl
+++ b/view/tpl/jot-header.tpl
@@ -107,6 +107,7 @@ function enableOnUser(){
/* enable tinymce on focus and click */
$("#profile-jot-text").focus(enableOnUser);
$("#profile-jot-text").click(enableOnUser);
+
var upload_title = $('#wall-image-upload').attr('title');
var attach_title = $('#wall-file-upload').attr('title');
try {
diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl
index ed1d1e35f..2fcd4d59b 100755
--- a/view/tpl/jot.tpl
+++ b/view/tpl/jot.tpl
@@ -10,7 +10,8 @@
<input type="hidden" name="coord" id="jot-coord" value="" />
<input type="hidden" name="post_id" value="{{$post_id}}" />
<input type="hidden" name="webpage" value="{{$webpage}}" />
- <input type="hidden" name="preview" id="jot-preview" value="0" /> <input type="hidden" id="jot-consensus" name="consensus" value="{{if $consensus}}{{$consensus}}{{else}}0{{/if}}" />
+ <input type="hidden" name="preview" id="jot-preview" value="0" />
+ <input type="hidden" id="jot-consensus" name="consensus" value="{{if $consensus}}{{$consensus}}{{else}}0{{/if}}" />
{{if $showacl}}{{$acl}}{{/if}}
{{$mimeselect}}
{{$layoutselect}}
@@ -19,22 +20,27 @@
<span class="channel-id-select-desc">{{$id_seltext}}</span> {{$id_select}}
</div>
{{/if}}
- <div id="jot-title-wrap" class="jothidden" style="display:none">
+ {{if $webpage}}
+ <div id="jot-pagetitle-wrap" class="jothidden">
+ <input name="pagetitle" id="jot-pagetitle" type="text" placeholder="{{$placeholdpagetitle}}" value="{{$pagetitle}}">
+ </div>
+ {{/if}}
+ <div id="jot-title-wrap" class="jothidden">
<input name="title" id="jot-title" type="text" placeholder="{{$placeholdertitle}}" tabindex=1 value="{{$title}}">
</div>
{{if $catsenabled}}
- <div id="jot-category-wrap" class="jothidden" style="display:none">
+ <div id="jot-category-wrap" class="jothidden">
<input name="category" id="jot-category" type="text" placeholder="{{$placeholdercategory}}" value="{{$category}}" data-role="cat-tagsinput">
</div>
{{/if}}
- {{if $webpage}}
- <div id="jot-pagetitle-wrap" class="jothidden" style="display:none">
- <input name="pagetitle" id="jot-pagetitle" type="text" placeholder="{{$placeholdpagetitle}}" value="{{$pagetitle}}">
- </div>
- {{/if}}
<div id="jot-text-wrap">
<textarea class="profile-jot-text" id="profile-jot-text" name="body" tabindex=2 placeholder="{{$share}}">{{$content}}</textarea>
</div>
+ {{if $attachment}}
+ <div id="jot-attachment-wrap">
+ <input class="jot-attachment" name="attachment" id="jot-attachment" type="text" value="{{$attachment}}" readonly="readonly" onclick="this.select();">
+ </div>
+ {{/if}}
<div id="profile-jot-submit-wrapper" class="jothidden">
<div id="profile-jot-submit-left" class="btn-toolbar pull-left">
<div class="btn-group">
@@ -170,20 +176,7 @@
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
-<script type="text/javascript">
- $(function() {
- $('#datetimepicker1').datetimepicker({
- language: 'us',
- icons: {
- time: "icon-time",
- date: "icon-calendar",
- up: "icon-arrow-up",
- down: "icon-arrow-down"
- }
- });
- });
-</script>
-{{if $content}}
+{{if $content || $attachment || $expanded}}
<script>initEditor();</script>
{{/if}}
diff --git a/view/tpl/js_strings.tpl b/view/tpl/js_strings.tpl
index c557b535d..2e7e85604 100755
--- a/view/tpl/js_strings.tpl
+++ b/view/tpl/js_strings.tpl
@@ -21,6 +21,7 @@
'rating_text' : "{{$rating_text}}",
'submit' : "{{$submit}}",
'linkurl' : "{{$linkurl}}",
+ 'leavethispage' : "{{$leavethispage}}",
't01' : "{{$t01}}",
't02' : "{{$t02}}",
diff --git a/view/tpl/layoutlist.tpl b/view/tpl/layoutlist.tpl
index 0a0085497..ab7408eae 100644
--- a/view/tpl/layoutlist.tpl
+++ b/view/tpl/layoutlist.tpl
@@ -1,19 +1,69 @@
-{{if $pages}}
+<div class="section-title-wrapper">
+ {{if $editor}}
+ <div class="pull-right">
+ <button id="webpage-create-btn" class="btn btn-xs btn-success" onclick="openClose('layout-editor');"><i class="icon-edit"></i>&nbsp;{{$create}}</button>
+ <a href="{{$help.url}}" target="_blank" class="btn btn-xs btn-warning" title="{{$help.title}}"><i class="icon-info"></i>&nbsp;{{$help.text}}</a>
+ </div>
+ {{/if}}
+ <h2>{{$title}}</h2>
+ <div class="clear"></div>
+</div>
+{{if $editor}}
+<div id="layout-editor" class="section-content-tools-wrapper">
+ {{$editor}}
+</div>
+{{/if}}
- <div id="pagelist-content-wrapper" class="generic-content-wrapper">
+{{if $pages}}
+<div id="pagelist-content-wrapper" class="section-content-wrapper-np">
+ <table id="layout-list-table">
+ <tr>
+ <th width="1%">{{$name}}</th>
+ <th width="94%">{{$descr}}</th>
+ <th width="1%"></th>
+ <th width="1%"></th>
+ <th width="1%"></th>
+ <th width="1%" class="hidden-xs">{{$created}}</th>
+ <th width="1%" class="hidden-xs">{{$edited}}</th>
+ </tr>
{{foreach $pages as $key => $items}}
- {{foreach $items as $item}}
- <div class="page-list-item">
- {{if $edit}}<a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil design-icons design-edit-icon btn btn-default"></i></a> {{/if}}
- {{if $view}}<a href="page/{{$channel}}/{{$item.title}}" title="{{$view}}"><i class="icon-external-link design-icons design-view-icon btn btn-default"></i></a> {{/if}}
- {{if $share}}<a href="layouts/{{$channel}}/share/{{$item.mid}}" title="{{$share}}"><i class="icon-share design-icons btn btn-default"></i></a> {{/if}}
- {{*if $preview}}<a href="page/{{$channel}}/{{$item.title}}?iframe=true&width=80%&height=80%" title="{{$preview}}" class="webpage-preview" ><i class="icon-eye-open design-icons design-preview-icon"></i></a> {{/if*}}
- {{$item.title}}
- </div>
- {{/foreach}}
+ {{foreach $items as $item}}
+ <tr id="layout-list-item-{{$item.url}}">
+ <td>
+ {{if $view}}
+ <a href="page/{{$channel}}/{{$item.title}}" title="{{$view}}">{{$item.title}}</a>
+ {{else}}
+ {{$item.title}}
+ {{/if}}
+ </td>
+ <td>
+ {{$item.descr}}
+ </td>
+ <td class="webpage-list-tool">
+ {{if $edit}}
+ <a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil"></i></a>
+ {{/if}}
+ </td>
+ <td class="webpage-list-tool">
+ {{if $item.bb_element}}
+ <a href="rpost?attachment={{$item.bb_element}}" title="{{$share}}"><i class="icon-share"></i></a>
+ {{/if}}
+ </td>
+ <td class="webpage-list-tool">
+ {{if $edit}}
+ <a href="#" title="{{$delete}}" onclick="dropItem('item/drop/{{$item.url}}', '#layout-list-item-{{$item.url}}'); return false;"><i class="icon-trash drop-icons"></i></a>
+ {{/if}}
+ </td>
+ <td class="hidden-xs">
+ {{$item.created}}
+ </td>
+ <td class="hidden-xs">
+ {{$item.edited}}
+ </td>
+ </tr>
{{/foreach}}
- </div>
-
- <div class="clear"></div>
-
+ {{/foreach}}
+ </table>
+</div>
+<div class="clear"></div>
{{/if}}
diff --git a/view/tpl/main_slider.tpl b/view/tpl/main_slider.tpl
index d423e6691..d88bc1370 100755
--- a/view/tpl/main_slider.tpl
+++ b/view/tpl/main_slider.tpl
@@ -2,7 +2,7 @@
<script>
var old_cmin = 0;
var old_cmax = 99;
- $("#main-range").jRange({ isRange: true, from: 0, to: 99, step: 1, scale: ['{{$me}}', '|', '{{$intimate}}', '|', '{{$friends}}', '|', '{{$oldfriends}}', '|', '{{$acquaintances}}', '|', '{{$world}}' ], width:'100%', showLabels: false, onstatechange: function(v) {
+ $("#main-range").jRange({ isRange: true, from: 0, to: 99, step: 1, scale: [{{$labels}}], width:'100%', showLabels: false, onstatechange: function(v) {
var carr = v.split(",");
if(carr[0] != bParam_cmin) {
old_cmin = bParam_cmin;
diff --git a/view/tpl/menuedit.tpl b/view/tpl/menuedit.tpl
index 1ccfb3d68..b3704e86e 100644
--- a/view/tpl/menuedit.tpl
+++ b/view/tpl/menuedit.tpl
@@ -1,25 +1,28 @@
-
-<h2>{{$header}}</h2>
-
-{{if $menu_id}}
-<a href="mitem/{{$menu_id}}" title="{{$hintedit}}">{{$editcontents}}</a>
-{{/if}}
-
-<form id="menuedit" action="menu{{if $menu_id}}/{{$menu_id}}{{/if}}" method="post" >
-
-{{if $menu_id}}
-<input type="hidden" name="menu_id" value="{{$menu_id}}" />
-{{/if}}
-{{if $menu_system}}
-<input type="hidden" name="menu_system" value="{{$menu_system}}" />
+{{if $header}}
+<div class="section-title-wrapper">
+ {{if $menu_id}}
+ <div class="pull-right">
+ <a href="mitem/{{$menu_id}}" title="{{$hintedit}}" class="btn btn-xs btn-success"><i class="icon-edit"></i>&nbsp;{{$editcontents}}</a>
+ </div>
+ {{/if}}
+ <h2>{{$header}}</h2>
+ <div class="clear"></div>
+</div>
{{/if}}
-
-
-{{include file="field_input.tpl" field=$menu_name}}
-{{include file="field_input.tpl" field=$menu_desc}}
-{{include file="field_checkbox.tpl" field=$menu_bookmark}}
-<div class="menuedit-submit-wrapper" >
-<input type="submit" name="submit" class="menuedit-submit" value="{{$submit}}" />
+<div id="menu-creator" class="section-content-tools-wrapper" style="display: {{$display}};">
+ <form id="menuedit" action="menu{{if $menu_id}}/{{$menu_id}}{{/if}}{{if $sys}}?f=&sys=1{{/if}}" method="post" >
+ {{if $menu_id}}
+ <input type="hidden" name="menu_id" value="{{$menu_id}}" />
+ {{/if}}
+ {{if $menu_system}}
+ <input type="hidden" name="menu_system" value="{{$menu_system}}" />
+ {{/if}}
+ {{include file="field_input.tpl" field=$menu_name}}
+ {{include file="field_input.tpl" field=$menu_desc}}
+ {{include file="field_checkbox.tpl" field=$menu_bookmark}}
+ <div class="menuedit-submit-wrapper form-group pull-right" >
+ <button type="submit" name="submit" class="btn btn-primary">{{$submit}}</button>
+ </div>
+ <div class="clear"></div>
+ </form>
</div>
-
-</form>
diff --git a/view/tpl/menulist.tpl b/view/tpl/menulist.tpl
index 35ad91937..1d3d70757 100644
--- a/view/tpl/menulist.tpl
+++ b/view/tpl/menulist.tpl
@@ -1,17 +1,32 @@
-<div class="generic-content-wrapper-styled">
-
-<h1>{{$title}}</h1>
-
-<a href="menu/new" title="{{$hintnew}}">{{$hintnew}}</a>
+<div class="section-title-wrapper">
+ <div class="pull-right">
+ <button id="webpage-create-btn" class="btn btn-xs btn-success" onclick="openClose('menu-creator');"><i class="icon-edit"></i>&nbsp;{{$hintnew}}</button>
+ </div>
+ <h2>{{$title}}</h2>
+ <div class="clear"></div>
+</div>
-<br />
+{{$create}}
{{if $menus }}
-<ul id="menulist">
-{{foreach $menus as $m }}
-<li><a href="menu/{{$m.menu_id}}" title="{{$hintedit}}"><i class="icon-pencil design-icons design-edit-icon btn btn-default"></i></a> <a href="menu/{{$m.menu_id}}/drop" title="{{$hintdrop}}"><i class="icon-trash drop-icons design-icons design-remove-icon btn btn-default"></i></a>&nbsp;&nbsp;&nbsp;&nbsp;{{if $m.bookmark}}<i class="icon-bookmark" title="{{$bmark}}" ></i>&nbsp;{{/if}}<a href="mitem/{{$m.menu_id}}/new" title="{{$hintcontent}}">{{$m.menu_name}}</a></li>
-{{/foreach}}
-</ul>
-{{/if}}
-
+<div id="menulist-content-wrapper" class="section-content-wrapper-np">
+ <table id="menu-list-table">
+ <tr>
+ <th width="1%"></th>
+ <th width="1%">{{$nametitle}}</th>
+ <th width="96%">{{$desctitle}}</th>
+ <th width="1%"></th>
+ <th width="1%"></th>
+ </tr>
+ {{foreach $menus as $m }}
+ <tr id="menu-list-item-{{$m.menu_id}}">
+ <td width="1%">{{if $m.bookmark}}<i class="icon-bookmark menu-list-tool" title="{{$bmark}}" ></i>{{/if}}</td>
+ <td width="1%"><a href="mitem/{{$m.menu_id}}{{if $sys}}?f=&sys=1{{/if}}" title="{{$hintcontent}}">{{$m.menu_name}}</a></td>
+ <td width="96%">{{$m.menu_desc}}</td>
+ <td width="1%" class="menu-list-tool"><a href="menu/{{$m.menu_id}}{{if $sys}}?f=&sys=1{{/if}}" title="{{$hintedit}}"><i class="icon-pencil"></i></a></td>
+ <td width="1%" class="menu-list-tool"><a href="#" title="{{$hintdrop}}" onclick="dropItem('menu/{{$m.menu_id}}/drop{{if $sys}}?f=&sys=1{{/if}}', '#menu-list-item-{{$m.menu_id}}'); return false;"><i class="icon-trash drop-icons"></i></a></td>
+ </tr>
+ {{/foreach}}
+ </table>
</div>
+{{/if}}
diff --git a/view/tpl/mitemedit.tpl b/view/tpl/mitemedit.tpl
index a18fbb0ef..3200766ca 100644
--- a/view/tpl/mitemedit.tpl
+++ b/view/tpl/mitemedit.tpl
@@ -1,32 +1,30 @@
-
-<h2>{{$header}}</h2>
-
-<form id="mitemedit" action="mitem/{{$menu_id}}{{if $mitem_id}}/{{$mitem_id}}{{/if}}" method="post" >
-
-<input type="hidden" name="menu_id" value="{{$menu_id}}" />
-
-{{if $mitem_id}}
-<input type="hidden" name="mitem_id" value="{{$mitem_id}}" />
-{{/if}}
-
-{{include file="field_input.tpl" field=$mitem_desc}}
-{{include file="field_input.tpl" field=$mitem_link}}
-{{include file="field_input.tpl" field=$mitem_order}}
-{{include file="field_checkbox.tpl" field=$usezid}}
-{{include file="field_checkbox.tpl" field=$newwin}}
-
-<div id="settings-default-perms" class="settings-default-perms" >
- <button class="btn btn-default btn-xs" data-toggle="modal" data-target="#aclModal" onclick="return false;">{{$permissions}}</button>
- {{$aclselect}}
- <div id="settings-default-perms-menu-end"></div>
+{{if $header}}
+<div class="section-title-wrapper">
+ <h2>{{$header}}</h2>
</div>
-<br/>
-<div id="settings-default-perms-end"></div>
-
-
-
-<div class="mitemedit-submit-wrapper" >
-<input id="dbtn-submit" type="submit" name="submit" class="mitemedit-submit" value="{{$submit}}" />
+{{/if}}
+<div id="menu-element-creator" class="section-content-tools-wrapper" style="display: {{$display}};">
+ <form id="mitemedit" action="mitem/{{$menu_id}}{{if $mitem_id}}/{{$mitem_id}}{{/if}}" method="post" >
+ <input type="hidden" name="menu_id" value="{{$menu_id}}" />
+ {{if $mitem_id}}
+ <input type="hidden" name="mitem_id" value="{{$mitem_id}}" />
+ {{/if}}
+ {{include file="field_input.tpl" field=$mitem_desc}}
+ {{include file="field_input.tpl" field=$mitem_link}}
+ {{include file="field_input.tpl" field=$mitem_order}}
+ {{include file="field_checkbox.tpl" field=$usezid}}
+ {{include file="field_checkbox.tpl" field=$newwin}}
+ <div class="pull-right btn-group form-group">
+ <div class="btn-group">
+ <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" onclick="return false;">
+ <i id="jot-perms-icon" class="icon-{{$lockstate}}"></i>
+ </button>
+ {{if $submit_more}}
+ <button class="btn btn-primary btn-sm" type="submit" name="submit-more" value="{{$submit_more}}">{{$submit_more}}&nbsp;<i id="jot-perms-icon" class="icon-caret-right"></i></button>
+ {{/if}}
+ <button class="btn btn-primary btn-sm" type="submit" name="submit" value="{{$submit}}">{{$submit}}</button>
+ </div>
+ {{$aclselect}}
+ </div>
+ </form>
</div>
-
-</form>
diff --git a/view/tpl/mitemlist.tpl b/view/tpl/mitemlist.tpl
index dc5b0e9f9..4e606654f 100644
--- a/view/tpl/mitemlist.tpl
+++ b/view/tpl/mitemlist.tpl
@@ -1,18 +1,34 @@
-<h1>{{$title}}</h1>
-<h2>{{$menudesc}} ({{$menuname}})</h2>
+<div class="section-title-wrapper">
+ <div class="pull-right">
+ <button id="webpage-create-btn" class="btn btn-xs btn-success" onclick="openClose('menu-element-creator');"><i class="icon-edit"></i>&nbsp;{{$hintnew}}</button>
+ </div>
+ <h2>{{$title}} {{if $menudesc}}{{$menudesc}}{{else}}{{$menuname}}{{/if}}</h2>
+ <div class="clear"></div>
+</div>
-<a href="menu/{{$menu_id}}" title="{{$hintmenu}}">{{$edmenu}}</a><br />
-<a href="mitem/{{$menu_id}}/new" title="{{$hintnew}}">{{$hintnew}}</a>
-
-<br />
-<br />
+{{$create}}
{{if $mlist }}
-<ul id="mitemlist" class="menu-item-list">
-{{foreach $mlist as $m }}
-<li><a href="mitem/{{$menu_id}}/{{$m.mitem_id}}" title="{{$hintedit}}"><i class="icon-pencil mitem-edit btn btn-default"></i></a><a href="mitem/{{$menu_id}}/{{$m.mitem_id}}/drop" title={{$hintdrop}}><i class="icon-trash btn btn-default"></i></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="mitem/{{$menu_id}}/{{$m.mitem_id}}" title="{{$hintcontent}}">{{$m.mitem_desc}}</a> ({{$m.mitem_link}})</li>
-{{/foreach}}
-</ul>
+<div id="mitemlist-content-wrapper" class="section-content-wrapper-np">
+ <table id="mitem-list-table">
+ <tr>
+ <th width="1%">{{$nametitle}}</th>
+ <th width="96%">{{$targettitle}}</th>
+ <th width="1%"></th>
+ <th width="1%"></th>
+ <th width="1%"></th>
+ </tr>
+ {{foreach $mlist as $m }}
+ <tr id="mitem-list-item-{{$m.mitem_id}}">
+ <td width="1%">{{$m.mitem_desc}}</td>
+ <td width="96%"><a href="{{$m.mitem_link}}">{{$m.mitem_link}}</a></td>
+ <td width="1%" class="mitem-list-tool dropdown">{{if $m.allow_cid || $m.allow_gid || $m.deny_cid || $m.deny_gid}}<i class="icon-lock dropdown-toggle lockview" data-toggle="dropdown" onclick="lockview('menu_item',{{$m.mitem_id}});" ></i><ul id="panel-{{$m.mitem_id}}" class="lockview-panel dropdown-menu"></ul>{{/if}}</td>
+ <td width="1%" class="mitem-list-tool"><a href="mitem/{{$menu_id}}/{{$m.mitem_id}}" title="{{$hintedit}}"><i class="icon-pencil"></i></a></td>
+ <td width="1%" class="mitem-list-tool"><a href="#" title="{{$hintdrop}}" onclick="dropItem('mitem/{{$menu_id}}/{{$m.mitem_id}}/drop', '#mitem-list-item-{{$m.mitem_id}}, #pmenu-item-{{$m.mitem_id}}'); return false;"><i class="icon-trash drop-icons"></i></a></td>
+ </tr>
+ {{/foreach}}
+ </table>
+</div>
{{/if}}
diff --git a/view/tpl/page_display.tpl b/view/tpl/page_display.tpl
index d8175bdd2..5328648b9 100755
--- a/view/tpl/page_display.tpl
+++ b/view/tpl/page_display.tpl
@@ -1,8 +1,8 @@
<div class="page">
<div class="generic-content-wrapper" id="page-content-wrapper" >
- <h3 class="page-title">{{$title}}</h3>
- <div class="page-author"><a class=="page-author-link" href="{{$auth_url}}">{{$author}}</a></div>
+ {{if $title}}<h2 class="page-title">{{$title}}</h2>{{/if}}
+ <div class="page-author"><a class="page-author-link" href="{{$auth_url}}">{{$author}}</a></div>
<div class="page-date">{{$date}}</div>
<div class="page-body">{{$body}}</div>
</div>
diff --git a/view/tpl/peoplefind.tpl b/view/tpl/peoplefind.tpl
index ba71c1e80..5d68cb2d8 100755
--- a/view/tpl/peoplefind.tpl
+++ b/view/tpl/peoplefind.tpl
@@ -1,6 +1,7 @@
<div id="peoplefind-sidebar" class="widget">
<h3>{{$findpeople}}</h3>
<form action="directory" method="post" />
+ <input type="hidden" name="navsearch" value="1" />
<div class="form-group">
<div class="input-group">
<input class="widget-input" type="text" name="search" title="{{$hint}}{{if $advanced_search}}{{$advanced_hint}}{{/if}}" placeholder="{{$desc}}" />
diff --git a/view/tpl/photo_view.tpl b/view/tpl/photo_view.tpl
index 52ef161ba..49181b018 100755
--- a/view/tpl/photo_view.tpl
+++ b/view/tpl/photo_view.tpl
@@ -18,7 +18,7 @@
<i class="icon-pencil btn btn-default btn-xs" title="{{$edit.edit}}" onclick="openClose('photo-edit');"></i>
{{/if}}
{{if $lock}}
- <i id="lockview" class="icon-lock btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown" title="{{$lock}}" onclick="lockview(event,{{$id}});" ></i><ul id="panel-{{$id}}" class="lockview-panel dropdown-menu"></ul>
+ <i id="lockview" class="icon-lock btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown" title="{{$lock}}" onclick="lockview('item',{{$id}});" ></i><ul id="panel-{{$id}}" class="lockview-panel dropdown-menu"></ul>
{{/if}}
</div>
<div class="btn-group btn-group">
diff --git a/view/tpl/photosajax.tpl b/view/tpl/photosajax.tpl
index 632aab2b3..705cb6c75 100755
--- a/view/tpl/photosajax.tpl
+++ b/view/tpl/photosajax.tpl
@@ -1,4 +1,4 @@
{{foreach $photos as $photo}}
- {{include file="photo_top.tpl"}}
+{{include file="photo_top.tpl"}}
{{/foreach}}
<script>justifyPhotosAjax()</script>
diff --git a/view/tpl/search_item.tpl b/view/tpl/search_item.tpl
index 014cf4192..d5a608c82 100755
--- a/view/tpl/search_item.tpl
+++ b/view/tpl/search_item.tpl
@@ -13,7 +13,7 @@
{{/if}}
{{if $item.lock}}
<div class="wall-item-lock dropdown">
- <i class="icon-lock lockview dropdown-toggle" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul>&nbsp;
+ <i class="icon-lock lockview dropdown-toggle" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul>&nbsp;
</div>
{{/if}}
<div class="wall-item-author">
diff --git a/view/tpl/sharedwithme.tpl b/view/tpl/sharedwithme.tpl
index 4502df276..cb365ed05 100644
--- a/view/tpl/sharedwithme.tpl
+++ b/view/tpl/sharedwithme.tpl
@@ -15,7 +15,7 @@
<tr id="cloud-index-{{$item.id}}">
<td><i class="{{$item.objfiletypeclass}}" title="{{$item.objfiletype}}"></i></td>
<td><a href="{{$item.objurl}}">{{$item.objfilename}}</a>{{if $item.unseen}}&nbsp;<span class="label label-success">{{$label_new}}</span>{{/if}}</td>
- <td class="cloud-index-tool"><a href="/sharedwithme/{{$item.id}}/drop" title="{{$drop}}" onclick="return confirmDelete();"><i class="icon-trash drop-icons"></i></a></td>
+ <td class="cloud-index-tool"><a href="#" title="{{$drop}}" onclick="dropItem('/sharedwithme/{{$item.id}}/drop', '#cloud-index-{{$item.id}}'); return false;"><i class="icon-trash drop-icons"></i></a></td>
<td class="hidden-xs">{{$item.objfilesize}}</td>
<td class="hidden-xs">{{$item.objedited}}</td>
</tr>
diff --git a/view/tpl/usermenu.tpl b/view/tpl/usermenu.tpl
index a5c6faa99..57caf25fc 100644
--- a/view/tpl/usermenu.tpl
+++ b/view/tpl/usermenu.tpl
@@ -1,16 +1,13 @@
-<div class="pmenu{{if $class}} {{$class}}{{/if}}">
-{{if $menu.menu_desc}}
- <h3 class="pmenu-title">{{$menu.menu_desc}}</h3>
-{{/if}}
-{{if $edit}}
-<a href="mitem/{{$menu.menu_id}}" title="{{$edit}}"><i class="icon-pencil fakelink" title="{{$edit}}"></i></a>
-{{/if}}
-{{if $items }}
-<ul class="pmenu-body">
-{{foreach $items as $mitem }}
-<li class="pmenu-item"><a href="{{$mitem.mitem_link}}" {{if $mitem.newwin}}target="_blank"{{/if}}>{{$mitem.mitem_desc}}</a></li>
-{{/foreach }}
-</ul>
-{{/if}}
-<div class="pmenu-end"></div>
+<div id="pmenu-{{$id}}" class="pmenu{{if !$class}} widget{{else}} {{$class}}{{/if}}">
+ {{if $menu.menu_desc}}
+ <h3 class="pmenu-title">{{$menu.menu_desc}}{{if $edit}} <a href="mitem/{{$menu.menu_id}}" title="{{$edit}}"><i class="icon-pencil fakelink" title="{{$edit}}"></i></a>{{/if}}</h3>
+ {{/if}}
+ {{if $items }}
+ <ul class="pmenu-body{{if !$class}} nav nav-pills nav-stacked{{/if}}">
+ {{foreach $items as $mitem }}
+ <li id="pmenu-item-{{$mitem.mitem_id}}" class="pmenu-item"><a href="{{$mitem.mitem_link}}" {{if $mitem.newwin}}target="_blank"{{/if}}>{{$mitem.mitem_desc}}</a></li>
+ {{/foreach }}
+ </ul>
+ {{/if}}
+ <div class="pmenu-end"></div>
</div>
diff --git a/view/tpl/viewcontact_template.tpl b/view/tpl/viewcontact_template.tpl
index cde24525c..83cd80959 100755
--- a/view/tpl/viewcontact_template.tpl
+++ b/view/tpl/viewcontact_template.tpl
@@ -1,10 +1,15 @@
<div class="generic-content-wrapper generic-content-wrapper-styled">
<h3>{{$title}}</h3>
+
+<div id="connections-wrapper">
{{foreach $contacts as $contact}}
{{include file="contact_template.tpl"}}
{{/foreach}}
-
+<div id="page-end"></div>
+</div>
<div id="view-contact-end"></div>
{{$paginate}}
</div>
+<script>$(document).ready(function() { loadingPage = false;});</script>
+<div id="page-spinner"></div>
diff --git a/view/tpl/viewcontactsajax.tpl b/view/tpl/viewcontactsajax.tpl
new file mode 100644
index 000000000..68be228be
--- /dev/null
+++ b/view/tpl/viewcontactsajax.tpl
@@ -0,0 +1,3 @@
+{{foreach $contacts as $contact}}
+{{include file="contact_template.tpl"}}
+{{/foreach}}
diff --git a/view/tpl/webpagelist.tpl b/view/tpl/webpagelist.tpl
index 8335ebd62..77fb09492 100644
--- a/view/tpl/webpagelist.tpl
+++ b/view/tpl/webpagelist.tpl
@@ -1,38 +1,74 @@
-{{$listtitle}}
+<div class="section-title-wrapper">
+ {{if $editor}}
+ <div class="pull-right">
+ <button id="webpage-create-btn" class="btn btn-xs btn-success" onclick="openClose('webpage-editor');"><i class="icon-edit"></i>&nbsp;{{$create}}</button>
+ </div>
+ {{/if}}
+ <h2>{{$listtitle}}</h2>
+ <div class="clear"></div>
+</div>
+{{if $editor}}
+<div id="webpage-editor" class="section-content-tools-wrapper">
+ {{$editor}}
+</div>
+{{/if}}
{{if $pages}}
-
- <div id="pagelist-content-wrapper" class="generic-content-wrapper-styled">
- <table class="webpage-list-table">
- <tr><td>{{$actions_txt}}</td><td>{{$pagelink_txt}}</td><td>{{$title_txt}}</td><td>{{$created_txt}}</td><td>{{$edited_txt}}</td></tr>
+<div id="pagelist-content-wrapper" class="section-content-wrapper-np">
+ <table id="webpage-list-table">
+ <tr>
+ <th width="1%">{{$pagelink_txt}}</th>
+ <th width="95%">{{$title_txt}}</th>
+ <th width="1%"></th>
+ <th width="1%"></th>
+ <th width="1%"></th>
+ <th width="1%"></th>
+ <th width="1%" class="hidden-xs">{{$created_txt}}</th>
+ <th width="1%" class="hidden-xs">{{$edited_txt}}</th>
+ </tr>
{{foreach $pages as $key => $items}}
- {{foreach $items as $item}}
- <tr>
- <td>
- {{if $edit}}<a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil design-icons design-edit-icon btn btn-default"></i></a> {{/if}}
- {{if $view}}<a href="page/{{$channel}}/{{$item.pagetitle}}" title="{{$view}}"><i class="icon-external-link design-icons design-view-icon btn btn-default"></i></a> {{/if}}
- {{if $preview}}<a href="page/{{$channel}}/{{$item.pagetitle}}" title="{{$preview}}" class="webpage-preview" ><i class="icon-eye-open design-icons design-preview-icon btn btn-default"></i></a> {{/if}}
- </td>
- <td>
- {{if $view}}<a href="page/{{$channel}}/{{$item.pagetitle}}" title="{{$view}}">{{$item.pagetitle}}</a>
- {{else}}{{$item.pagetitle}}
- {{/if}}
- </td>
- <td>
- {{$item.title}}
- </td>
- <td>
- {{$item.created}}
- </td>
- <td>
- {{$item.edited}}
- </td>
- </tr>
- {{/foreach}}
+ {{foreach $items as $item}}
+ <tr id="webpage-list-item-{{$item.url}}">
+ <td>
+ {{if $view}}
+ <a href="page/{{$channel}}/{{$item.pagetitle}}" title="{{$view}}">{{$item.pagetitle}}</a>
+ {{else}}
+ {{$item.pagetitle}}
+ {{/if}}
+ </td>
+ <td>
+ {{$item.title}}
+ </td>
+ <td class="webpage-list-tool dropdown">
+ {{if $item.lockstate=='lock'}}
+ <i class="icon-lock dropdown-toggle lockview" data-toggle="dropdown" onclick="lockview('item',{{$item.url}});" ></i>
+ <ul id="panel-{{$item.url}}" class="lockview-panel dropdown-menu"></ul>
+ {{/if}}
+ </td>
+ <td class="webpage-list-tool">
+ {{if $edit}}
+ <a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil"></i></a>
+ {{/if}}
+ </td>
+ <td class="webpage-list-tool">
+ {{if $item.bb_element}}
+ <a href="rpost?attachment={{$item.bb_element}}" title="{{$share}}"><i class="icon-share"></i></a>
+ {{/if}}
+ </td>
+ <td class="webpage-list-tool">
+ {{if $edit}}
+ <a href="#" title="{{$delete}}" onclick="dropItem('item/drop/{{$item.url}}', '#webpage-list-item-{{$item.url}}'); return false;"><i class="icon-trash drop-icons"></i></a>
+ {{/if}}
+ </td>
+ <td class="hidden-xs">
+ {{$item.created}}
+ </td>
+ <td class="hidden-xs">
+ {{$item.edited}}
+ </td>
+ </tr>
+ {{/foreach}}
{{/foreach}}
-
- </table>
- </div>
-
- <div class="clear"></div>
-
+ </table>
+</div>
+<div class="clear"></div>
{{/if}}