]> git.mxchange.org Git - friendica.git/commitdiff
Merge pull request #1 from friendica/develop
authorrebeka-catalina <rebeka-catalina@users.noreply.github.com>
Sat, 19 Dec 2015 13:28:28 +0000 (14:28 +0100)
committerrebeka-catalina <rebeka-catalina@users.noreply.github.com>
Sat, 19 Dec 2015 13:28:28 +0000 (14:28 +0100)
Develop

245 files changed:
Vagrantfile
boot.php
database.sql
doc/Accesskeys.md
doc/Chats.md
doc/Developers-Intro.md
doc/FAQ.md
doc/Home.md
doc/Install.md
doc/Plugins.md
doc/SSL.md
doc/Settings.md
doc/Vagrant.md
doc/api.md
doc/de/Chats.md
doc/de/Developers.md
doc/de/FAQ.md
doc/de/Home.md
doc/de/SSL.md
doc/events.md
doc/htconfig.md
doc/html/index.php [new file with mode: 0644]
doc/install-ejabberd.md [new file with mode: 0644]
doc/readme.md
include/Contact.php
include/Scrape.php
include/acl_selectors.php
include/api.php
include/auth_ejabberd.php
include/bb2diaspora.php
include/bbcode.php
include/contact_selectors.php
include/contact_widgets.php
include/conversation.php
include/cron.php
include/datetime.php
include/dbstructure.php
include/delivery.php
include/diaspora.php
include/discover_poco.php
include/event.php
include/features.php
include/feed.php
include/forums.php [new file with mode: 0644]
include/friendica_smarty.php
include/group.php
include/html2bbcode.php
include/identity.php
include/items.php
include/nav.php
include/network.php
include/notifier.php
include/onepoll.php
include/ostatus.php
include/pgettext.php
include/plaintext.php
include/plugin.php
include/poller.php
include/pubsubpublish.php
include/salmon.php
include/socgraph.php
include/text.php
include/threads.php
include/update_gcontact.php [new file with mode: 0644]
include/user.php
index.php
js/filebrowser.js
js/fk.autocomplete.js
js/main.js
mod/admin.php
mod/allfriends.php
mod/common.php
mod/contacts.php
mod/credits.php [new file with mode: 0644]
mod/crepair.php
mod/dfrn_poll.php
mod/dfrn_request.php
mod/directory.php
mod/dirfind.php
mod/editpost.php
mod/events.php
mod/fbrowser.php
mod/follow.php
mod/group.php
mod/install.php
mod/item.php
mod/manage.php
mod/match.php
mod/message.php
mod/navigation.php
mod/network.php
mod/nodeinfo.php
mod/nogroup.php
mod/noscrape.php
mod/parse_url.php
mod/photos.php
mod/ping.php
mod/poco.php
mod/poke.php
mod/profile.php
mod/profile_photo.php
mod/profiles.php
mod/register.php
mod/search.php
mod/settings.php
mod/statistics_json.php
mod/suggest.php
mod/uimport.php
mod/videos.php
mod/viewcontacts.php
mod/wall_attach.php
mod/wall_upload.php
object/Item.php
update.php
util/Doxyfile [new file with mode: 0644]
util/Doxygen.footer [new file with mode: 0644]
util/credits.txt [new file with mode: 0644]
util/htconfig.vagrant.php
util/make_credits.py [new file with mode: 0755]
util/messages.po
util/php2po.php
util/run_xgettext.sh
util/vagrant_provision.sh
view/de/messages.po
view/de/strings.php
view/fonts/README.md [new file with mode: 0644]
view/fonts/friendica_shashape.ttf [new file with mode: 0644]
view/fonts/shashape.css [new file with mode: 0644]
view/fonts/shashape.jpg [new file with mode: 0644]
view/global.css
view/install/green.png [new file with mode: 0644]
view/install/info.png [new file with mode: 0644]
view/install/red.png [new file with mode: 0644]
view/install/style.css [new file with mode: 0644]
view/install/yellow.png [new file with mode: 0644]
view/nl/messages.po
view/nl/strings.php
view/sv/messages.po [new file with mode: 0644]
view/templates/admin_plugins.tpl
view/templates/admin_site.tpl
view/templates/auto_request.tpl
view/templates/common_friends.tpl [deleted file]
view/templates/contact_edit.tpl
view/templates/contact_template.tpl
view/templates/contacts-template.tpl
view/templates/contacts-widget-sidebar.tpl
view/templates/credits.tpl [new file with mode: 0644]
view/templates/crepair.tpl
view/templates/dfrn_request.tpl
view/templates/directory_header.tpl
view/templates/directory_item.tpl
view/templates/event_form.tpl
view/templates/event_head.tpl
view/templates/field_checkbox.tpl
view/templates/group_side.tpl
view/templates/groupeditor.tpl
view/templates/install.tpl
view/templates/install_checks.tpl
view/templates/install_db.tpl
view/templates/install_settings.tpl
view/templates/jot-header.tpl
view/templates/lang_selector.tpl [deleted file]
view/templates/manage.tpl
view/templates/match.tpl [deleted file]
view/templates/message_side.tpl
view/templates/photo_albums.tpl
view/templates/poke_content.tpl
view/templates/poke_head.tpl [new file with mode: 0644]
view/templates/profile_advanced.tpl
view/templates/profile_edit.tpl
view/templates/profile_vcard.tpl
view/templates/section_title.tpl
view/templates/settings.tpl
view/templates/suggest_friends.tpl [deleted file]
view/templates/vcard-widget.tpl
view/templates/viewcontact_template.tpl
view/templates/widget_forumlist.tpl [new file with mode: 0644]
view/theme/decaf-mobile/style.css
view/theme/decaf-mobile/templates/lang_selector.tpl [deleted file]
view/theme/decaf-mobile/templates/settings.tpl
view/theme/dispy/dark/style.css
view/theme/dispy/dark/style.less
view/theme/dispy/light/style.css
view/theme/dispy/light/style.less
view/theme/dispy/templates/lang_selector.tpl [deleted file]
view/theme/duepuntozero/deriv/darkzero.css
view/theme/duepuntozero/deriv/easterbunny.css
view/theme/duepuntozero/deriv/greenzero.css
view/theme/duepuntozero/deriv/purplezero.css
view/theme/duepuntozero/style.css
view/theme/duepuntozero/templates/lang_selector.tpl [deleted file]
view/theme/duepuntozero/templates/profile_vcard.tpl
view/theme/facepark/style.css
view/theme/frost-mobile/style.css
view/theme/frost-mobile/templates/contact_template.tpl
view/theme/frost-mobile/templates/contacts-template.tpl
view/theme/frost-mobile/templates/lang_selector.tpl [deleted file]
view/theme/frost-mobile/templates/profile_vcard.tpl
view/theme/frost-mobile/templates/settings.tpl
view/theme/frost-mobile/templates/suggest_friends.tpl [deleted file]
view/theme/frost-mobile/templates/wall_thread.tpl
view/theme/frost/style.css
view/theme/frost/templates/contact_template.tpl
view/theme/frost/templates/lang_selector.tpl [deleted file]
view/theme/frost/templates/profile_vcard.tpl
view/theme/frost/templates/suggest_friends.tpl [deleted file]
view/theme/frost/templates/wall_thread.tpl
view/theme/quattro/dark/style.css
view/theme/quattro/green/style.css
view/theme/quattro/icons/connect-bg.png [new file with mode: 0644]
view/theme/quattro/icons/rss-bg.png [new file with mode: 0644]
view/theme/quattro/js/quattro.js [new file with mode: 0644]
view/theme/quattro/lilac/style.css
view/theme/quattro/quattro.less
view/theme/quattro/templates/contact_template.tpl
view/theme/quattro/templates/event_form.tpl [new file with mode: 0644]
view/theme/quattro/templates/events-js.tpl [new file with mode: 0644]
view/theme/quattro/templates/events.tpl [new file with mode: 0644]
view/theme/quattro/templates/generic_links_widget.tpl
view/theme/quattro/templates/group_side.tpl
view/theme/quattro/templates/jot.tpl
view/theme/quattro/templates/profile_vcard.tpl
view/theme/quattro/templates/widget_forumlist.tpl [new file with mode: 0644]
view/theme/quattro/theme.php
view/theme/smoothly/style.css
view/theme/smoothly/templates/lang_selector.tpl [deleted file]
view/theme/testbubble/style.css
view/theme/vier/breathe.css
view/theme/vier/dark.css
view/theme/vier/flat.css
view/theme/vier/mobile.css [new file with mode: 0644]
view/theme/vier/netcolour.css
view/theme/vier/plus.css
view/theme/vier/style.css
view/theme/vier/templates/contact_template.tpl
view/theme/vier/templates/event_form.tpl [new file with mode: 0644]
view/theme/vier/templates/nav.tpl
view/theme/vier/templates/profile_edit.tpl
view/theme/vier/templates/profile_vcard.tpl
view/theme/vier/templates/search_item.tpl
view/theme/vier/templates/wall_item_tag.tpl
view/theme/vier/templates/wall_thread.tpl
view/theme/vier/templates/widget_forumlist_right.tpl [new file with mode: 0644]
view/theme/vier/theme.php
view/theme/vier/wide.css

index 48af4ae518dad0a8ae1f5d76ca8ee5c718d0cc7d..4f1181b8222fd1df6d448585a1af49e2c592e3e9 100644 (file)
@@ -1,16 +1,19 @@
 
-server_ip             = "192.168.22.10"
-server_memory         = "384" # MB
-server_timezone       = "UTC"
+server_ip = "192.168.22.10"
+server_memory = "384" # MB
+server_timezone = "UTC"
 
-public_folder         = "/vagrant" 
+public_folder = "/vagrant"
 
-Vagrant.configure("2") do |config|
+Vagrant.configure(2) do |config|
 
-  # Set server to Ubuntu 12.04
-  config.vm.box = "precise64"
+  # Set server to Ubuntu 14.04
+  config.vm.box = "ubuntu/trusty64"
 
-  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
+  # Disable automatic box update checking. If you disable this, then
+  # boxes will only be checked for updates when the user runs
+  # `vagrant box outdated`. This is not recommended.
+  # config.vm.box_check_update = false
 
   # Create a hostname, don't forget to put it to the `hosts` file
   # This will point to the server's default virtual host
@@ -20,40 +23,21 @@ Vagrant.configure("2") do |config|
   # Create a static IP
   config.vm.network :private_network, ip: server_ip
 
-  # If using VirtualBox
-  config.vm.provider :virtualbox do |vb|
-
-    # Set server memory
-    vb.customize ["modifyvm", :id, "--memory", server_memory]
-
-    # Set the timesync threshold to 10 seconds, instead of the default 20 minutes.
-    # If the clock gets more than 15 minutes out of sync (due to your laptop going
-    # to sleep for instance, then some 3rd party services will reject requests.
-    vb.customize ["guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 10000]
-
-    # Prevent VMs running on Ubuntu to lose internet connection
-    vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
-    vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
-
+  # Share a folder between host and guest
+  config.vm.synced_folder "./", "/vagrant/", owner: "www-data", group: "vagrant"
+
+  # Provider-specific configuration so you can fine-tune various
+  # backing providers for Vagrant. These expose provider-specific options.
+  config.vm.provider "virtualbox" do |vb|
+  #   # Display the VirtualBox GUI when booting the machine
+  #   vb.gui = true
+  #
+  #   # Customize the amount of memory on the VM:
+      vb.memory = server_memory
   end
 
-  # If using VMWare Fusion
-  config.vm.provider "vmware_fusion" do |vb, override|
-    override.vm.box_url = "http://files.vagrantup.com/precise64_vmware.box"
-    
-    # Set server memory
-    vb.vmx["memsize"] = server_memory
-
-  end
-
-  
-  ####
-  # Local Scripts
-  # Any local scripts you may want to run post-provisioning.
-  # Add these to the same directory as the Vagrantfile.
-  ##########
-
-  config.vm.synced_folder "./", "/vagrant/", :owner=> 'www-data', :group=>'vagrant', :mount_options => ['dmode=775', 'fmode=775']
-  config.vm.provision "shell", path: "./util/vagrant_provision.sh" 
-
+  # Enable provisioning with a shell script. 
+  config.vm.provision "shell", path: "./util/vagrant_provision.sh"
+    # run: "always"
+    # run: "once"
 end
index 20c243c2406bdbf19646e7a11cc71ed7c1ae8fc1..19cfd71a8aad7343b499983c1bb0b39064de9fa1 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -17,9 +17,9 @@ require_once('include/dbstructure.php');
 
 define ( 'FRIENDICA_PLATFORM',     'Friendica');
 define ( 'FRIENDICA_CODENAME',     'Lily of the valley');
-define ( 'FRIENDICA_VERSION',      '3.4.2' );
+define ( 'FRIENDICA_VERSION',      '3.4.3-dev' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.23'    );
-define ( 'DB_UPDATE_VERSION',      1189      );
+define ( 'DB_UPDATE_VERSION',      1191      );
 define ( 'EOL',                    "<br />\r\n"     );
 define ( 'ATOM_TIME',              'Y-m-d\TH:i:s\Z' );
 
@@ -163,7 +163,8 @@ define ( 'NETWORK_TWITTER',          'twit');    // Twitter
 define ( 'NETWORK_DIASPORA2',        'dspc');    // Diaspora connector
 define ( 'NETWORK_STATUSNET',        'stac');    // Statusnet connector
 define ( 'NETWORK_APPNET',           'apdn');    // app.net
-
+define ( 'NETWORK_NEWS',             'nntp');    // Network News Transfer Protocol
+define ( 'NETWORK_ICALENDAR',        'ical');    // iCalendar
 define ( 'NETWORK_PHANTOM',          'unkn');    // Place holder
 
 /**
@@ -189,7 +190,9 @@ $netgroup_ids = array(
        NETWORK_TWITTER  => (-14),
        NETWORK_DIASPORA2 => (-15),
        NETWORK_STATUSNET => (-16),
-       NETWORK_APPNET => (-17),
+       NETWORK_APPNET    => (-17),
+       NETWORK_NEWS      => (-18),
+       NETWORK_ICALENDAR => (-19),
 
        NETWORK_PHANTOM  => (-127),
 );
@@ -731,10 +734,22 @@ if(! class_exists('App')) {
 
                function init_pagehead() {
                        $interval = ((local_user()) ? get_pconfig(local_user(),'system','update_interval') : 40000);
+
+                       // If the update is "deactivated" set it to the highest integer number (~24 days)
+                       if ($interval < 0)
+                               $interval = 2147483647;
+
                        if($interval < 10000)
                                $interval = 40000;
 
-                       $this->page['title'] = $this->config['sitename'];
+                       // compose the page title from the sitename and the
+                       // current module called
+                       if (!$this->module=='')
+                       {
+                           $this->page['title'] = $this->config['sitename'].' ('.$this->module.')';
+                       } else {
+                           $this->page['title'] = $this->config['sitename'];
+                       }
 
                        /* put the head template at the beginning of page['htmlhead']
                         * since the code added by the modules frequently depends on it
index a6eb71ef3bdb922b5967d0f4350d9a26004ed5a2..e3768c1efb67432fed9159ef1bfaee5a3b5176dc 100644 (file)
@@ -1,6 +1,6 @@
 -- ------------------------------------------
--- Friendica 3.4.1 (Lily of the valley)
--- DB_UPDATE_VERSION 1189
+-- Friendica 3.4.2 (Lily of the valley)
+-- DB_UPDATE_VERSION 1190
 -- ------------------------------------------
 
 
@@ -317,6 +317,7 @@ CREATE TABLE IF NOT EXISTS `gcontact` (
        `gender` varchar(32) NOT NULL DEFAULT '',
        `community` tinyint(1) NOT NULL DEFAULT 0,
        `network` varchar(255) NOT NULL DEFAULT '',
+       `addr` varchar(255) NOT NULL DEFAULT '',
        `generation` tinyint(3) NOT NULL DEFAULT 0,
        `server_url` varchar(255) NOT NULL DEFAULT '',
         INDEX `nurl` (`nurl`),
index 0c00c25476f55c617375ede6d0ba80fe989d7ace..c49e79c0ab635b91bd4d31082591b6149943e9a1 100644 (file)
@@ -19,6 +19,7 @@ General
 * v: Videos
 * e: Events and Calendar
 * t: Personal Notes
+* k: View Contacts
 
 /contacts (contact list)
 ---------
@@ -32,6 +33,10 @@ General
 
 /contacts (single contact view)
 -------------------------------
+* m: Status messages
+* o: Profile
+* t: Contacts
+* d: Common friends
 * b: Toggle Blocked status
 * i: Toggle Ignored status
 * v: Toggle Archive status
index 77b21833a50981cf42bf4df1e6882139245ef67f..3698ad15dad373b744fa66d23074906f1ed2fc4f 100644 (file)
@@ -23,7 +23,7 @@ The following window shows some text while connecting.
 This text isn't importend for you, just wait for the next window.
 The first line shows your name and your current IP address.
 The right part of the window shows all users.
-The lower part of the window contains an input field. 
+The lower part of the window contains an input field.
 
 Jappix Mini
 ---
@@ -41,7 +41,7 @@ You can use several servers to create an account:
 
 At first you have to get the current version. You can either pull it from [Github](https://github.com) like so:
 
-       $> cd /var/www/virtual/YOURSPACE/html/addon; git pull
+    $> cd /var/www/virtual/YOURSPACE/html/addon; git pull
 
 Or you can download a tar archive here: [jappixmini.tgz](https://github.com/friendica/friendica-addons/blob/master/jappixmini.tgz) (click at â€žview raw“).
 
@@ -63,9 +63,10 @@ At first you have to activate the addon.
 
 Now add your Jabber/XMPP name, the domain/server (without "http"; just "jappix.com").
 For â€žJabber BOSH Host“ you could use "https://bind.jappix.com/".
+Note that you need another BOSH server if you do not use jappix.com for your XMPP account.
 You can find further information in the â€žConfiguration Help“-section below this fields.
 At last you have enter your password (there are some more optional options, you can choose).
-Finish these steps with "send" to save the entries. 
+Finish these steps with "send" to save the entries.
 Now, you should find the chatbox at the lower right corner of your browser window.
 
-If you want to add contacts manually, you can click "add contact". 
+If you want to add contacts manually, you can click "add contact".
index ff8c3c54c27038499dcf7286d09e9586a6dfd9da..7e5caae2b3274975d3340a55dbb8a114859dc950 100644 (file)
@@ -54,6 +54,8 @@ Have a look at our [issue tracker](https://github.com/friendica/friendica) on gi
  * Try to reproduce a bug that needs more inquries and write down what you find out.
  * If a bug looks fixed, ask the bug reporters for feedback to find out if the bug can be closed.
  * Fix a bug if you can. Please make the pull request against the *develop* branch of the repository.
+ * There is a *Junior Job* label for issues we think might be a good point to start with.
+   But you don't have to limit yourself to those issues.
 
 ###Web interface
 
index 9197c068c5c124ef681d327034be2ae14d4c409a..0343833a2503c6b0666cf52da40d08cde801df8c 100644 (file)
@@ -87,8 +87,8 @@ However their conversations with your friends will still be visible in your stre
 If you remove a contact completely, they can send you another friend request.
 Blocked contacts cannot do this. They cannot communicate with you directly, only through friends.
 
-**Ignored contacts** are included in delivery - they will receive your posts.
-However we do not import their posts to you.
+**Ignored contacts** are included in delivery - they will receive your posts and private messages.
+However we do not import their posts or private messages to you.
 Like blocking, you will still see this person's comments to posts made by your friends.
 
 A plugin called "blockem" can be installed to collapse/hide all posts from a particular person in your stream if you desire complete blocking of an individual, including his/her conversations with your other friends.
index 1a219c6efc4330e6db7c3d12eff4611075acf744..b37c76417c8553446b2095853b1ec1843b8c90c8 100644 (file)
@@ -30,6 +30,7 @@ Friendica Documentation and Resources
 * [Install](help/Install)
 * [Settings](help/Settings)
 * [Installing Connectors (Twitter/GNU Social)](help/Installing-Connectors)
+* [Install an ejabberd server (XMPP chat) with synchronized credentials](help/install-ejabberd)
 * [Message Flow](help/Message-Flow)
 * [Using SSL with Friendica](help/SSL)
 * [Twitter/GNU Social API Functions](help/api)
@@ -45,6 +46,7 @@ Friendica Documentation and Resources
 * [Plugin Development](help/Plugins)
 * [Theme Development](help/themes)
 * [Smarty 3 Templates](help/smarty3-templates)
+* [Code - Reference(Doxygen generated - sets cookies)](doc/html/)
 
 **External Resources**
 
@@ -54,4 +56,5 @@ Friendica Documentation and Resources
 **About**
 
 * [Site/Version Info](friendica)
+* [Friendica Credits](credits)
 
index bd15f10b5aa97b5733f657802928cb3d1085b81d..5afd5a22c1be9c56428cc7a28dc6c7a74e179768 100644 (file)
@@ -10,9 +10,11 @@ Not every PHP/MySQL hosting provider will be able to support Friendica.
 Many will.
 But **please** review the requirements and confirm these with your hosting provider prior to installation.
 
-Also if you encounter installation issues, please let us know via the [helper]() or the [developer]() forum or [file an issue](https://github.com/friendica/friendica/issues).
+Also if you encounter installation issues, please let us know via the [helper](http://helpers.pyxis.uberspace.de/profile/helpers) or the [developer](https://friendika.openmindspace.org/profile/friendicadevelopers) forum or [file an issue](https://github.com/friendica/friendica/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 in existence we may have only limited ability to debug your PHP installation or acquire any missing modules - but we will do our best to solve any general code issues.   
+Due to the large variety of operating systems and PHP platforms in existence we may have only limited ability to debug your PHP installation or acquire any missing modules - but we will do our best to solve any general code issues.
+If you do not have a Friendica account yet, you can register a temporary one at [tryfriendica.de](https://tryfriendica.de) and join the forums mentioned above from there.
+The account will expire after 7 days, but you can ask the server admin to keep your account longer, should the problem not be resolved after that.
 
 Before you begin: Choose a domain name or subdomain name for your server.
 Put some thought into this. Changing it after installation is currently not supported.
@@ -29,7 +31,7 @@ Requirements
 * curl, gd, mysql, hash and openssl extensions
 * some form of email server or email gateway such that PHP mail() works
 * mcrypt (optional; used for server-to-server message encryption)
-* Mysql 5.x
+* Mysql 5.x or an equivalant alternative for MySQL (MariaDB etc.)
 * the ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows) (Note: other options are presented in Section 7 of this document.)
 * Installation into a top-level domain or sub-domain (without a directory/path component in the URL) is preferred. Directory paths will not be as convenient to use and have not been thoroughly tested.
 * If your hosting provider doesn't allow Unix shell access, you might have trouble getting everything to work.
@@ -42,23 +44,23 @@ Installation procedure
 Unpack the Friendica files into the root of your web server document area.
 If you are able to do so, we recommend using git to clone the source repository rather than to use a packaged tar or zip file.
 This makes the software much easier to update.
-The Linux command to clone the repository into a directory "mywebsite" would be 
+The Linux command to clone the repository into a directory "mywebsite" would be
+
+    git clone https://github.com/friendica/friendica.git mywebsite
 
-       git clone https://github.com/friendica/friendica.git mywebsite
-        
 Make sure the folder *view/smarty3* exists and is writable by the webserver user
-        
-       mkdir view/smarty3
-       chmod 777 view/smarty3
-    
+
+    mkdir view/smarty3
+    chmod 777 view/smarty3
+
 Get the addons by going into your website folder.
-        
-       cd mywebsite
-            
+
+    cd mywebsite
+
 Clone the addon repository (separately):
-        
-       git clone https://github.com/friendica/friendica-addons.git addon
-            
+
+    git clone https://github.com/friendica/friendica-addons.git addon
+
 If you copy the directory tree to your webserver, make sure that you also copy .htaccess - as "dot" files are often hidden and aren't normally copied.
 
 ###Create a database
@@ -87,14 +89,14 @@ You might wish to move/rename .htconfig.php to another name and empty (called 'd
 Set up a cron job or scheduled task to run the poller once every 5-10 minutes in order to perform background processing.
 Example:
 
-       cd /base/directory; /path/to/php include/poller.php
+    cd /base/directory; /path/to/php include/poller.php
 
 Change "/base/directory", and "/path/to/php" as appropriate for your situation.
 
 If you are using a Linux server, run "crontab -e" and add a line like the
 one shown, substituting for your unique paths and settings:
 
-       */10 * * * * cd /home/myname/mywebsite; /usr/bin/php include/poller.php
+    */10 * * * * cd /home/myname/mywebsite; /usr/bin/php include/poller.php
 
 You can generally find the location of PHP by executing "which php".
 If you run into trouble with this section please contact your hosting provider for assistance.
@@ -104,25 +106,31 @@ Alternative: You may be able to use the 'poormancron' plugin to perform this ste
 To do this, edit the file ".htconfig.php" and look for a line describing your plugins.
 On a fresh installation, it will look like this:
 
-       $a->config['system']['addon'] = 'js_upload';
+    $a->config['system']['addon'] = 'js_upload';
 
 It indicates the "js_upload" addon module is enabled.
 You may add additional addons/plugins using this same line in the configuration file.
 Change it to read
 
-       $a->config['system']['addon'] = 'js_upload,poormancron';
+    $a->config['system']['addon'] = 'js_upload,poormancron';
+
+and save your changes.
 
-and save your changes.    
+Once you have installed Friendica and created an admin account as part of the process, you can access the admin panel of your installation and do most of the server wide configuration from there
 
 Updating your installation with git
 ---
 
 You can get the latest changes at any time with
 
-       cd mywebsite
-       git pull
+    cd mywebsite
+    git pull
+
+The default branch to use it the ``master`` branch, which is the stable version of Friendica.
+If you want to use and test bleeding edge code please checkout the ``develop`` branch.
+The new features and fixes will be merged from ``develop`` into ``master`` when they are stable approx four times a year.
 
 The addon tree has to be updated separately like so:
-        
-       cd mywebsite/addon
-       git pull
+
+    cd mywebsite/addon
+    git pull
index dcd6e3b052e76ae3e78c858f0188bf40c4c69444..24d403e1f6f57514070fbc528a0bc81fd4bfc4e7 100644 (file)
@@ -3,7 +3,7 @@ Friendica Addon/Plugin development
 
 Please see the sample addon 'randplace' for a working example of using some of these features.
 Addons work by intercepting event hooks - which must be registered.
-Modules work by intercepting specific page requests (by URL path). 
+Modules work by intercepting specific page requests (by URL path).
 
 Plugin names cannot contain spaces or other punctuation and are used as filenames and function names.
 You may supply a "friendly" name within the comment block.
@@ -12,12 +12,12 @@ For instance "plugin1name_install()".
 These two functions take no arguments and are usually responsible for registering (and unregistering) event hooks that your plugin will require.
 The install and uninstall functions will also be called (i.e. re-installed) if the plugin changes after installation.
 Therefore your uninstall should not destroy data and install should consider that data may already exist.
-Future extensions may provide for "setup" amd "remove". 
+Future extensions may provide for "setup" amd "remove".
 
-Plugins should contain a comment block with the four following parameters: 
+Plugins should contain a comment block with the four following parameters:
 
        /*
-       * Name: My Great Plugin 
+       * Name: My Great Plugin
        * Description: This is what my plugin does. It's really cool
        * Version: 1.0
        * Author: John Q. Public <john@myfriendicasite.com>
@@ -52,7 +52,7 @@ It contains a wealth of information about the current state of Friendica:
 * which module has been called,
 * configuration information,
 * the page contents at the point the hook was invoked,
-* profile and user information, etc. 
+* profile and user information, etc.
 
 It is recommeded you call this '$a' to match its usage elsewhere.
 
@@ -77,7 +77,7 @@ This will include:
 
 Your module functions will often contain the function plugin_name_content(&$a), which defines and returns the page body content.
 They may also contain plugin_name_post(&$a) which is called before the _content function and typically handles the results of POST forms.
-You may also have plugin_name_init(&$a) which is called very early on and often does module initialisation. 
+You may also have plugin_name_init(&$a) which is called very early on and often does module initialisation.
 
 Templates
 ----------
@@ -89,11 +89,11 @@ Put your tpl files in the *templates/* subfolder of your plugin.
 
 In your code, like in the function plugin_name_content(), load the template file and execute it passing needed values:
 
-    # load template file. first argument is the template name, 
+    # load template file. first argument is the template name,
     # second is the plugin path relative to friendica top folder
     $tpl = get_markup_template('mytemplate.tpl', 'addon/plugin_name/');
 
-    # apply template. first argument is the loaded template, 
+    # apply template. first argument is the loaded template,
     # second an array of 'name'=>'values' to pass to template
     $output = replace_macros($tpl,array(
         'title' => 'My beautiful plugin',
@@ -271,6 +271,16 @@ $b is an array, params to mail()
 is called after the navigational menu is build in include/nav.php.
 $b is an array containing $nav from nav.php.
 
+###'template_vars'
+is called before vars are passed to the template engine to render the page.
+The registered function can add,change or remove variables passed to template.
+$b is an array with:
+
+    'template' => filename of template
+    'vars' => array of vars passed to template
+
+
+
 Complete list of hook callbacks
 ---
 
@@ -298,7 +308,7 @@ include/text.php:   call_hooks('contact_block_end', $arr);
 
 include/text.php:      call_hooks('smilie', $s);
 
-include/text.php:      call_hooks('prepare_body_init', $item); 
+include/text.php:      call_hooks('prepare_body_init', $item);
 
 include/text.php:      call_hooks('prepare_body', $prep_arr);
 
@@ -310,7 +320,7 @@ include/auth.php:           call_hooks('authenticate', $addon_auth);
 
 include/bbcode.php:    call_hooks('bbcode',$Text);
 
-include/oauth.php:             call_hooks('logged_in', $a->user);              
+include/oauth.php:             call_hooks('logged_in', $a->user);
 
 include/acl_selectors.php:     call_hooks($a->module . '_pre_' . $selname, $arr);
 
@@ -396,7 +406,7 @@ mod/photos.php:     call_hooks('photo_post_end',intval($item_id));
 
 mod/photos.php:                call_hooks('photo_upload_form',$ret);
 
-mod/friendica.php:     call_hooks('about_hook', $o);   
+mod/friendica.php:     call_hooks('about_hook', $o);
 
 mod/editpost.php:      call_hooks('jot_tool', $jotplugins);
 
index 0067206e5f173ab5dc716a5149c2ac36574d9bd6..a72eec2a16c6796bfdcf781218729d3e8a1653b3 100644 (file)
@@ -3,166 +3,104 @@ Using SSL with Friendica
 
 * [Home](help)
 
-If you are running your own Friendica site, you may want to use SSL (https) to encrypt communication between yourself and your server (communication between servers is encrypted anyway).
+Disclaimer
+---
+**This document has been updated in November 2015.
+SSL encryption is relevant for security.
+This means that recommended settings change fast.
+Keep your setup up to date and do not rely on this document being updated as fast as technologies change!**
 
-To do that on a domain of your own, you have to obtain a certificate from a trusted organization (so-called self-signed certificates that are popular among geeks don’t work very well with Friendica, because they can cause disturbances in other people's browsers).
+Intro
+---
+If you are running your own Friendica site, you may want to use SSL (https) to encrypt communication between servers and between yourself and your server.
 
-If you are reading this document before actually installing Friendica, you might want to consider a very simple option: Go for a shared hosting account without your own domain name. That way, your address will be something like yourname.yourprovidersname.com, which isn't very fancy compared to yourname.com. But it will still be your very own site, and you will usually be able to hitch a lift on your provider's SSL certificate. That means that you won't need to configure SSL at all - it will simply work out of the box when people type https instead of http.
+There are basically two sorts of SSL certificates: Self-signed certificates and certificates signed by a certificate authority (CA).
+Technically, both provide the same valid encryption.
+There is a problem with self-signed certificates though:
+They are neither installed in browsers nor on other servers.
+That is why they provoke warnings about "mistrusted certificates".
+This is confusing and disturbing.
 
-If that isn't your idea of doing things, read on...
+For this reason, we recommend to get a certificate signed by a CA.
+Normally, you have to pay for them - and they are valid for a limited period of time (e.g. a year or two).
 
-**Shared hosts**
+There are ways to get a trusted certificate for free.
 
-If you are using a shared host on a domain of your own, your provider may well offer to obtain and install the certificate for you. You will then only need to apply and pay for it â€“ and everything will be set up. If that is the case for you, the rest of this document need not concern you at all. Just make sure the certificate is for the address that Friendica uses: e.g. myownfriendica.com or friendica.myserver.com.
+Chose your domain name
+---
 
-The above ought to be the most common scenario for Friendica sites, making the rest of this article superfluous for most people.
+Your SSL certificate will be valid for a domain or even only for a subdomain.
+Make your final decision about your domain resp. subdomain *before* ordering the certificate.
+Once you have it, changing the domain name means getting a new certificate.
 
-**Obtaining a certificate yourself**
+Shared hosts
+---
 
-Alternatively, a few shared hosting providers may ask you to obtain and upload the certificate yourself.
+If your Friendica instance is running on a shared hosting platform, you should first check with your hosting provider.
+They have instructions for you on how to do it there.
+You can always order a paid certificate with your provider.
+They will either install it for you or provide an easy way to upload the certificate and the key via a web interface.
 
-The next section describes the process of acquiring a certificate from StartSSL. The good thing about StartSSL is that you can get an entry-level, but perfectly sufficient certificate for free. That’s not the case with most other certificate issuers - so we will be concentrating on StartSSL in this document If you want to use a certificate from a different source, you will have to follow the instructions given by that organization. We can't cover every possibility here.
 
-Installing your certificate - once you have obtained it - depends on your provider’s way of doing things. But for shared hosts, there will usually be an easy web tool for this.
+It might be worth asking if your provider would install a certificate you provide yourself, to save money.
+If so, read on.
 
-Note: Your certificate is usually restricted to one subdomain. When you apply for the certificate, make sure it’s for the domain and subdomain Friendica uses: e.g. myownfriendica.com or friendica.myserver.com.
+Getting a free StartSSL certificate
+---
+StartSSL is a certificate authority that issues certificates for free.
+They are valid for a year and are sufficient for our purposes.
 
-**Getting a free StartSSL certificate**
+### Step 1: Create a client certificate
 
-StartSSL’s website attempts to guide you through the process of obtaining a free certificate, but some people end up frustrated. We really recommend working your way through the steps on the site very slowly and carefully. Don't take things for granted - read every word before proceeding and don't close the browser window until everything is working. That said, there are three main stumbling blocks that can confuse users:
+When you initially sign up with StartSSL, you receive a certificate that is installed in your browser.
+You need it for the login on startssl.com, also when coming back to the site later.
+It has nothing to do with the SSL certificate for your server.
 
-When you initially sign up with StartSSL, the first certificate you receive is simply installed in your browser (though you should also store it somewhere safe, so that you can reinstall it in any other browser at a later date, for instance when you need to renew something). This authentication certificate is only used for logging on to the StartSSL website â€“ it has nothing to do with the certificate you will need for your server. As a first-timer with StartSSL, start here: https://www.startssl.com/?app=12 and choose the Express Lane option to get that browser authentication certificate. Then seamlessly continue to the process of acquiring the desired certificate for your server (the one you actually came for). You can change the website’s language if that makes things easier for you.
+### Step 2: Validate your email address and your domain
 
-When you are first prompted for a domain to certify, you need to enter your top-level domain â€“ not the subdomain Friendica uses. In the next step, you will be able to specify that subdomain. So if you have friendica.yourname.com on your server, you first enter yourname.com â€“ and specify the subdomain friendica later.
+To continue you have to prove that you own the email address you specified and the domain that you want a certificate for.
+Specify your email address, request a validation link via email from the "validations wizard".
+Same procedure for the domain validation.
 
-Don’t quit too fast when you have received your personal web server certificate at the end of the procedure. Depending on your server software, you will also require one or two generic files for use with this free StartSSL certificate. These are sub.class1.server.ca.pem and ca.pem. If you have already overlooked this step, you can download those files here: http://www.startssl.com/?app=21 But once again, the very best way of doing things is not to quit the StartSSL site until you are completely done and your https certificate is up and working.
+### Step 3: Request the certificate
 
-**Virtual private and dedicated servers (using StartSSL free)**
+Go to the "certificates wizard".
+Choose the target web server.
+When you are first prompted for a domain to certify, you need to enter your main domain, e.g. example.com.
+In the next step, you will be able to specify a subdomain for Friendica, if needed.
+Example: If you have friendica.example.com, you first enter example.com, then specify the subdomain friendica later.
 
-The rest of this document is slightly more complicated, but it’s only for people running Friendica on a virtual private or dedicated server. Everyone else can stop reading at this point.
+If you know how to generate an openssl key and a certificate signing request (csr) yourself, do so.
+Paste the csr into your browser to get it signed by StartSSL.
 
-Follow the instructions here ( http://www.startssl.com/?app=20 ) to configure the web server you are using (e.g. Apache) for your certificate.
+If you do not know how to generate a key and a csr, accept StartSSL's offer to generate it for you.
+This means: StartSSL has the key to your encryption but it is better than no certificate at all.
+Download your certificate from the website.
+(Or in the second case: Download your certificate and your key.)
 
-To illustrate the necessary changes, we will now assume you are running Apache. In essence, you can simply create a second httpd.conf entry for Friendica.
+To install your certificate on a server, you need one or two extra files: sub.class1.server.ca.pem and ca.pem, delivered by startssl.com
+Go to the "Tool box" section and download "Class 1 Intermediate Server CA" and "StartCom Root CA (PEM encoded)".
 
-To do this, you copy the existing one and change the end of the first line to read :443> instead of :80>, then add the following lines to that entry, as also shown in StartSSL’s instructions:
+If you want to send your certificate to your hosting provider, they need the certificate, the key and probably at least the intermediate server CA.
+To be sure, send those three and the ca.pem file.
+**You should send them to your provider via an encrypted channel!**
 
-       SSLEngine on
-       SSLProtocol all -SSLv2
-       SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
+If you run your own server, upload the files and check out the Mozilla wiki link below.
 
-       SSLCertificateFile /usr/local/apache/conf/ssl.crt
-       SSLCertificateKeyFile /usr/local/apache/conf/ssl.key
-       SSLCertificateChainFile /usr/local/apache/conf/sub.class1.server.ca.pem
-       SSLCACertificateFile /usr/local/apache/conf/ca.pem
-       SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
-       CustomLog /usr/local/apache/logs/ssl_request_log \ 
-       "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+Let's encrypt
+---
 
-(Note that the directory /usr/local/apache/conf/ may not exist on your machine. For Debian, for instance, the directory might be /etc/apache2/ - in which you can create an ssl subdirectory if it doesn’t already exist. Then you have /etc/apache2/ssl/… instead of /usr/local/apache/conf/…)
+If you run your own server and you control your name server, the "Let's encrypt" initiative might become an interesting alternative.
+Their offer is not ready, yet.
+Check out [their website](https://letsencrypt.org/) for status updates.
 
-You thus end up with two entries for your Friendica site - one for simple http and one for https.
+Web server settings
+---
 
-Note to those who want to force SSL: Don't redirect to SSL in your Apache settings. Friendica's own admin panel has a special setting for SSL policy. Please use this facility instead.
+Visit the [Mozilla's wiki](https://wiki.mozilla.org/Security/Server_Side_TLS) for instructions on how to configure a secure webserver.
+They provide recommendations for [different web servers](https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_Server_Configurations).
 
-**Mixing certificates on Apache â€“ StartSSL and others (self-signed)**
+Test your SSL settings
+---
 
-Many people using a virtual private or dedicated server will be running more than Friendica on it. They will probably want to use SSL for other sites they run on the server, too. To achieve this, they may wish to employ more than one certificate with a single IP â€“ for instance, a trusted one for Friendica and a self-signed certificate for personal stuff (possibly a wildcard certificate covering arbitrary subdomains).
-
-For this to work, Apache offers a NameVirtualHost directive. You can see how to use it in httpd.conf in the following pattern. Note that wildcards (*) in httpd.conf break the NameVirtualHost method â€“ you can’t use them in this new configuration. In other words, no more *80> or *443>. And you really must specify the IP, too, even if you only have one. Also note that you will soon be needing two additional NameVirtualHost lines at the top of the file to cater for IPv6.
-
-       NameVirtualHost 12.123.456.1:443
-       NameVirtualHost 12.123.456.1:80
-
-       <VirtualHost www.anywhere.net:80>
-       DocumentRoot /var/www/anywhere
-       Servername www.anywhere.net
-       </VirtualHost>
-
-       <VirtualHost www.anywhere.net:443>
-       DocumentRoot /var/www/anywhere
-       Servername www.anywhere.net 
-       SSLEngine On
-       <pointers to a an eligible cert>
-       <more ssl stuff >
-       <other stuff>
-       </VirtualHost>
-
-       <VirtualHost www.somewhere-else.net:80>
-       DocumentRoot /var/www/somewhere-else
-       Servername www.somewhere-else.net
-       </VirtualHost>
-
-       <VirtualHost www.somewhere-else:443>
-       DocumentRoot /var/www/somewhere-else
-       Servername www.somewhere-else.net
-       SSLEngine On
-       <pointers to another eligible cert>
-       <more ssl stuff >
-       <other stuff>
-       </VirtualHost>
-
-Of course, you may optionally be using other places like the sites-available directory to configure Apache, in which case only some of this information need be in httpd.conf or ports.conf - specifically, the NameVirtualHost lines must be there. But if you're savvy about alternatives like that, you will probably be able to figure out the details yourself.
-
-Just restart Apache when you're done, whichever way you decide to do it.
-
-**StartSSL on Nginx**
-
-First, update to the latest Friendica code. Then follow the above instructions to get your free certificate. But instead of following the Apache installation instructions, do this:
-
-Upload your certificate. It doesn't matter where to, as long as Nginx can find it. Some people use /home/randomlettersandnumbers to keep it in out of paranoia, but you can put it anywhere, so we'll call it /foo/bar.
-
-You can remove the password if you like. This is probably bad practice, but if you don't, you'll have to enter the password every time you restart nginx. To remove it:
-
-       openssl rsa -in ssl.key-pass -out ssl.key
-
-Now, grab the helper certificate:
-
-       wget http://www.startssl.com/certs/sub.class1.server.ca.pem
-
-Now you need to merge the files:
-
-       cat ssl.crt sub.class1.server.ca.pem > ssl.crt
-
-In some configurations there is a bug, and this doesn't quite work properly. You may now need to edit ssl.crt, so:
-
-       nano /foo/bar/ssl.crt
-
-You'll see two certificates in the same file. Halfway down, you may see:
-
-       -----END CERTIFICATE----------BEGIN CERTIFICATE-----
-
-This is bad. You need to see:
-
-       -----END CERTIFICATE-----
-       -----BEGIN CERTIFICATE-----
-
-You can enter the carriage return manually if the bug is present on your system. Note there is a single carriage return for -----BEGIN CERTIFICATE----- to start on a new line. There is no empty line.
-
-Now you need to tell Nginx about the certs.
-
-In /etc/nginx/sites-available/foo.com.conf you need something like:
-
-       server {
-       
-       listen 80;
-       
-       listen 443 ssl;
-
-       listen [::]:80;
-
-       listen [::]:443 ipv6only=on ssl;
-
-       ssl_certificate /foo/bar/ssl.crt;
-
-       ssl_certificate_key /foo/bar/ssl.key;
-
-       ...
-
-Now, restart nginx:
-
-       /etc/init.d/nginx restart
-
-And that's it.
-
-For multiple domains, we have it easier than Apache users: Just repeat the above for each certificate, and keep it in it's own {server...} section.
\ No newline at end of file
+When you are done, visit the test site [SSL Labs](https://www.ssllabs.com/ssltest/) to have them check if you succeeded.
index 60fff847a0f69cf370b1005f5d74188bc0e2121b..ae7d916078c8017a2d7243ebbf1ab097a88e335d 100644 (file)
@@ -198,7 +198,7 @@ Config:
 
 This configures the URL to update the global directory, and is supplied in the default configuration.
 The undocumented part is that if this is not set, the global directory is completely unavailable to the application.
-This allows a private community to be completely isolated from the global mistpark network. 
+This allows a private community to be completely isolated from the global network. 
 
        $a->config['system']['directory'] = 'http://dir.friendi.ca';
 
index 1d23ace13458470cc9c849ee8bd3ddcbcefeea4d..4bc9e6c54d985ba3f57a0dd6711eed42afb8e64c 100644 (file)
@@ -8,10 +8,12 @@ Getting started
 
 [Vagrant](https://www.vagrantup.com/) is a virtualization solution for developers.
 No need to setup up a webserver, database etc. before actually starting.
-Vagrant creates a virtual machine (an Ubuntu 12.04) for you that you can just run inside VirtualBox and start to work directly on Friendica.
+Vagrant creates a virtual machine (an Ubuntu 14.04) for you that you can just run inside VirtualBox and start to work directly on Friendica.
+
 What you need to do:
 
 1. Install VirtualBox and vagrant.
+Please use an up-to-date vagrant version from https://www.vagrantup.com/downloads.html.
 2. Git clone your Friendica repository.
 Inside, you'll find a "Vagrantfile" and some scripts in the utils folder.
 3. Run "vagrant up" from inside the friendica clone.
@@ -20,8 +22,10 @@ Be patient: When it runs for the first time, it downloads an Ubuntu Server image
 5. Open 192.168.22.10 in a browser.
 The mysql database is called "friendica", the mysql user and password both are "root".
 6. Work on Friendica's code in your git clone on your machine (not in the VM).
+Your local working directory is set up as a shared directory with the VM (/vagrant).
 7. Check the changes in your browser in the VM.
 Debug via the "vagrant ssh" login.
+Find the Friendica log file /vagrant/logfile.out.
 8. Commit and push your changes directly back to Github.
 
 If you want to stop vagrant after finishing your work, run the following command
@@ -40,3 +44,10 @@ You will then have the following accounts to login:
   * friendica2 and friendica3 are conntected. friendica4 and friendica5 are connected. 
 
 For further documentation of vagrant, please see [the vagrant*docs*](https://docs.vagrantup.com/v2/).
+
+**Important notice:**
+If you already had an Ubuntu 12.04 Vagrant VM, please run 
+
+       $> vagrant destroy
+
+before starting the new 14.04 machine.
index 147c8b7513c8c980619b1dd13e3c2491979c90c0..391d6c9eb9a16c7719042b772d429552f243822c 100644 (file)
@@ -346,6 +346,79 @@ Friendica doesn't allow showing followers of other users.
 \r
 Friendica doesn't allow showing friends of other users.\r
 \r
+\r
+## Implemented API calls (not compatible with other APIs)\r
+\r
+### friendica/group_show\r
+Return all or a specified group of the user with the containing contacts as array.\r
+\r
+#### Parameters\r
+* gid: optional, if not given, API returns all groups of the user\r
+\r
+#### Return values\r
+Array of:\r
+* name: name of the group\r
+* gid: id of the group\r
+* user: array of group members (return from api_get_user() function for each member)\r
+\r
+\r
+### friendica/group_delete\r
+delete the specified group of contacts; API call need to include the correct gid AND name of the group to be deleted.\r
+\r
+### Parameters\r
+* gid: id of the group to be deleted\r
+* name: name of the group to be deleted \r
+\r
+#### Return values\r
+Array of:\r
+* success: true if successfully deleted\r
+* gid: gid of the deleted group\r
+* name: name of the deleted group\r
+* status: â€ždeleted“ if successfully deleted\r
+* wrong users: empty array\r
+\r
+\r
+### friendica/group_create\r
+Create the group with the posted array of contacts as members. \r
+#### Parameters\r
+* name: name of the group to be created\r
+\r
+#### POST data\r
+JSON data as Array like the result of â€žusers/group_show“:\r
+* gid\r
+* name\r
+* array of users\r
+\r
+#### Return values\r
+Array of:\r
+* success: true if successfully created or reactivated\r
+* gid: gid of the created group\r
+* name: name of the created group\r
+* status: â€žmissing user“ | â€žreactivated“ | â€žok“\r
+* wrong users: array of users, which were not available in the contact table \r
+\r
+\r
+### friendica/group_update\r
+Update the group with the posted array of contacts as members (post all members of the group to the call; function will remove members not posted). \r
+#### Parameters\r
+* gid: id of the group to be changed\r
+* name: name of the group to be changed\r
+\r
+#### POST data\r
+JSON data as array like the result of â€žusers/group_show“:\r
+* gid\r
+* name\r
+* array of users\r
+\r
+#### Return values\r
+Array of:\r
+* success: true if successfully updated\r
+* gid: gid of the changed group\r
+* name: name of the changed group\r
+* status: â€žmissing user“ | â€žok“\r
+* wrong users: array of users, which were not available in the contact table \r
+\r
+\r
 ## Not Implemented API calls\r
 The following API calls are implemented in GNU Social but not in Friendica: (incomplete)\r
 \r
index a2d06f3c4ee440aa0c73be5ac88a4456f9f10f87..ae239a675beba6dd997305fa0834631a406433a4 100644 (file)
@@ -3,33 +3,33 @@ Chats
 
 * [Zur Startseite der Hilfe](help)
 
-Du hast derzeit zwei Möglichkeiten, einen Chat auf Deiner Friendica-Seite zu betreiben 
+Du hast derzeit zwei Möglichkeiten, einen Chat auf Deiner Friendica-Seite zu betreiben
 
 * IRC - Internet Relay Chat
 * Jappix
 
 ##IRC Plugin
 
-Sobald das Plugin aktiviert ist, kannst Du den Chat unter [deineSeite.de/irc](../irc) finden. 
-Beachte aber, dass dieser Chat auch ohne Anmeldung auf Deiner Seite zugänglich ist und somit auch Fremde diesen Chat mitnutzen können. 
+Sobald das Plugin aktiviert ist, kannst Du den Chat unter [deineSeite.de/irc](../irc) finden.
+Beachte aber, dass dieser Chat auch ohne Anmeldung auf Deiner Seite zugänglich ist und somit auch Fremde diesen Chat mitnutzen können.
 
-Wenn Du dem Link folgst, dann kommst Du zum Anmeldefenster des IR-Chats. 
-Wähle nun einen Spitznamen (Nickname) und wähle einen Raum aus, in dem Du chatten willst. 
-Hier kannst Du jeden Namen eingeben. 
-Es kann also auch #tollerChatdessenNamenurichkenne sein. 
+Wenn Du dem Link folgst, dann kommst Du zum Anmeldefenster des IR-Chats.
+Wähle nun einen Spitznamen (Nickname) und wähle einen Raum aus, in dem Du chatten willst.
+Hier kannst Du jeden Namen eingeben.
+Es kann also auch #tollerChatdessenNamenurichkenne sein.
 Gib als nächstes noch die Captchas ein, um zu zeigen, dass es sich bei Dir um einen Menschen handelt und klicke auf "Connect".
 
-Im nächsten Fenster siehst Du zunächst viel Text beim Verbindungsaufbau, der allerdings für Dich nicht weiter von Bedeutung ist. 
-Anschließend Ã¶ffnet sich das Chat-Fenster. 
-In den ersten Zeilen wird Dir Dein Name und Deine aktuelle IP-Adresse angezeigt. 
-Rechts im Fenster siehst Du alle Teilnehmer des Chats. 
+Im nächsten Fenster siehst Du zunächst viel Text beim Verbindungsaufbau, der allerdings für Dich nicht weiter von Bedeutung ist.
+Anschließend Ã¶ffnet sich das Chat-Fenster.
+In den ersten Zeilen wird Dir Dein Name und Deine aktuelle IP-Adresse angezeigt.
+Rechts im Fenster siehst Du alle Teilnehmer des Chats.
 Unten hast Du ein Eingabefeld, um Beiträge zu schreiben.
 
 Weiter Informationen zu IRC findest Du zum Beispiel auf <a href="http://wiki.ubuntuusers.de/IRC" target="_blank">ubuntuusers.de</a>, in <a href="https://de.wikipedia.org/wiki/Internet_Relay_Chat" target="_blank">Wikipedia</a> oder bei <a href="http://www.irchelp.org/" target="_blank">icrhelp.org</a> (in Englisch).
 
 ##Jappix Mini
 
-Das Jappix Mini Plugin erlaubt das Erstellen einer Chatbox für Jabber/XMPP-Kontakte. 
+Das Jappix Mini Plugin erlaubt das Erstellen einer Chatbox für Jabber/XMPP-Kontakte.
 Ein Jabber/XMPP Account sollte vor der Installation bereits vorhanden sein.
 Die ausführliche Anleitung dazu und eine Kontrolle, ob Du nicht sogar schon Ã¼ber Deinen E-Mail Anbieter einen Jabber-Account hast, findest Du unter <a href="http://einfachjabber.de" target="_blank">einfachjabber.de</a>.
 
@@ -53,29 +53,29 @@ oder als normaler Download von hier: https://github.com/friendica/friendica-addo
 
 Entpacke diese Datei (ggf. den entpackten Ordner in â€žjappixmini“ umbenennen) und lade sowohl den entpackten Ordner komplett als auch die .tgz Datei in den Addon Ordner Deiner Friendica Installation hoch.
 
-Nach dem Upload gehts in den Friendica Adminbereich und dort zu den Plugins. 
+Nach dem Upload gehts in den Friendica Adminbereich und dort zu den Plugins.
 Aktiviere das Jappixmini Addon und gehe anschließend Ã¼ber die Plugins Seitenleiste (dort wo auch die Twitter-, Impressums-, GNU Social-, usw. Einstellungen gemacht werden) zu den Jappix Grundeinstellungen.
 
-Setze hier den Haken zur Aktivierung des BOSH Proxys. 
+Setze hier den Haken zur Aktivierung des BOSH Proxys.
 Weiter gehts in den Einstellungen Deines Friendica Accounts.
 
 2. Einstellungen
 
-Gehe bitte zu den Plugin-Einstellungen in Deinen Konto-Einstellungen (Account Settings). 
+Gehe bitte zu den Plugin-Einstellungen in Deinen Konto-Einstellungen (Account Settings).
 Scrolle ein Stück hinunter bis zu den Jappix Mini Addon settings.
 
 Aktiviere hier zuerst das Addon.
 
-Trage nun Deinen Jabber/XMPP Namen ein, ebenfalls die entsprechende Domain bzw. den Server (ohne http, also zb einfach so: jappix.com). 
+Trage nun Deinen Jabber/XMPP Namen ein, ebenfalls die entsprechende Domain bzw. den Server (ohne http, also zb einfach so: jappix.com).
 Um das JavaScript Applet zum Chatten im Browser verwenden zu können, benötigst du einen BOSH Proxy.
 Entweder betreibst du deinen eigenen (s. Dokumentation deines XMPP Servers) oder du verwendest einen Ã¶ffentlichen BOSH Proxy.
 Beachte aber, dass der Betreiber dieses Proxies den kompletten Datenverkehr Ã¼ber den Proxy mitlesen kann.
-Siehe dazu auch die â€žConfiguration Help“ weiter unten. 
-Gebe danach noch Dein Passwort an, und damit ist eigentlich schon fast alles geschafft. 
-Die weiteren Einstellmöglichkeiten bleiben Dir Ã¼berlassen, sind also optional. 
+Siehe dazu auch die â€žConfiguration Help“ unter den Eingabefeldern.
+Gebe danach noch Dein Passwort an, und damit ist eigentlich schon fast alles geschafft.
+Die weiteren Einstellmöglichkeiten bleiben Dir Ã¼berlassen, sind also optional.
 Jetzt noch auf â€žsenden“ klicken und fertig.
 
-Deine Chatbox sollte jetzt irgendwo unten rechts im Browserfenster â€žkleben“. 
-Falls Du manuell Kontakte hinzufügen möchtest, einfach den â€žAdd Contact“-Knopf nutzen. 
+Deine Chatbox sollte jetzt irgendwo unten rechts im Browserfenster â€žkleben“.
+Falls Du manuell Kontakte hinzufügen möchtest, einfach den â€žAdd Contact“-Knopf nutzen.
 
-Viel Spass beim Chatten! 
+Viel Spass beim Chatten!
index b1d118fd591f8463b1f9ae753546e11ecac0225b..2b44e405ff7b3357e72054166445a4b0308ab36b 100644 (file)
@@ -7,18 +7,23 @@ Hier erfährst Du, wie Du bei uns mitmachen kannst:
 
 Zunächst erstelle Dir per 'git clone https://github.com/friendica/friendica.git' ein funktionierendes Git-Paket auf Deinem System, auf dem Du die Entwicklung durchführst, und einen eigenen Github-Account.
 
-Erstelle Deine eigene Kopie (fork) der Ursprungsdaten auf Github, an der Du dann entspannt arbeiten kannst. 
+Erstelle Deine eigene Kopie (fork) der Ursprungsdaten auf Github, an der Du dann entspannt arbeiten kannst.
 Deine Arbeiten sollten mit einem neuen Arbeitszweig (branch) beginnen, den du vom develop Zweig des Repositories beginnst.
 Die Anleitung unter [http://help.github.com/fork-a-repo/](http://help.github.com/fork-a-repo/) erklärt Dir genau, wie Du das tun musst.
 
 Gehe dann nach getaner Arbeit zu Deiner Github-Seite und erstelle eine "Pull request", um Deine Ã„nderungen in das Hauptprojekt einzugliedern (merge).
 
+Solltest du keine Idee haben, an welcher Stelle du einsteigen könntest.
+Wir haben einige Aufgaben auf github mit dem Schlagwort *Junior Job* versehen.
+Bei diesen Aufgaben gehen wir davon aus, dass sie geeignete Einstiegsstellen sind.
+Du musst dich aber natürlich nicht mit diesen Aufgaben beschäftigen um den Friendica Code zu verbeesern.
+
 **Wichtig**
 
-Bitte hole Dir alle Ã„nderungen aus dem Projektverzeichnis und führe sie mit Deiner Arbeit zusammen, **bevor** Du Deine "pull request" erstellst. Wir behalten es uns vor, Patches abzulehnen, die eine große Anzahl an Fehlern hervorrufen. 
+Bitte hole Dir alle Ã„nderungen aus dem Projektverzeichnis und führe sie mit Deiner Arbeit zusammen, **bevor** Du Deine "pull request" erstellst. Wir behalten es uns vor, Patches abzulehnen, die eine große Anzahl an Fehlern hervorrufen.
 Dies gilt vor allem für Ãœbersetzungen, da wir hier möglicherweise nicht alle feinen Unterschiede in konfliktären Versionen erkennen können.
 
-Außerdem: **teste Deine Ã„nderungen!** Vergiss nicht, dass eine simple Fehlerlösung einen anderen Fehler auslösen kann. 
+Außerdem: **teste Deine Ã„nderungen!** Vergiss nicht, dass eine simple Fehlerlösung einen anderen Fehler auslösen kann.
 Lass Deine Ã„nderungen von einem erfahrenen Friendica-Entwickler gegenprüfen.
 
 Eine ausführliche Anleitung zu Git findest Du unter <a href="https://git-scm.com/book/de/v1" target="_blank">https://git-scm.com/book/de/v1</a>.
index d5aa19e6c70b6f47a23c910884c189cf1d588b23..52d56dce8a9c5c823523bc320c49f5dec042a16f 100644 (file)
@@ -100,9 +100,9 @@ Wenn Du einen Kontakt komplett löschst, können sie Dir eine neue Freundschafts
 Blockierte Kontakte können das nicht machen. 
 Sie können nicht mit Dir direkt kommunizieren, nur Ã¼ber Freunde. 
 
-Ignorierte Kontakte können weiterhin Beiträge von Dir erhalten. 
-Deren Beiträge werden allerdings nicht importiert. W
-ie bei blockierten Beiträgen siehst Du auch hier weiterhin die Kommentare dieser Person zu anderen Beiträgen Deiner Freunde. 
+Ignorierte Kontakte können weiterhin Beiträge und private Nachrichten von Dir erhalten. 
+Deren Beiträge und private Nachrichten werden allerdings nicht importiert. 
+Wie bei blockierten Beiträgen siehst Du auch hier weiterhin die Kommentare dieser Person zu anderen Beiträgen Deiner Freunde. 
 
 [Ein Plugin namens "blockem" kann installiert werden, um alle Beiträge einer bestimmten Person in Deinem Stream zu verstecken bzw. zu verkürzen. 
 Dabei werden auch Kommentare dieser Person in Beiträgen Deiner Freunde blockiert.]
index a101b5f734d9fb0f704acd284f3f1504965e6800..44ebfc02852d3b10057983fea61e0a3590aa41eb 100644 (file)
@@ -32,6 +32,7 @@ Friendica - Dokumentation und Ressourcen
 * [Konfigurationen](help/Settings)
 * [Plugins](help/Plugins)
 * [Konnektoren (Connectors) installieren (Twitter/GNU Social)](help/Installing-Connectors)
+* [Installation eines ejabberd Servers (XMPP-Chat) mit synchronisierten Anmeldedaten](help/install-ejabberd) (EN)
 * [Nachrichtenfluss](help/Message-Flow)
 * [Betreibe deine Seite mit einem SSL-Zertifikat](help/SSL)
 * [Entwickler](help/Developers)
@@ -49,6 +50,7 @@ Friendica - Dokumentation und Ressourcen
 * [Plugin Development](help/Plugins)
 * [Theme Development](help/themes)
 * [Smarty 3 Templates](help/smarty3-templates)
+* [Code-Referenz (mit doxygen generiert - setzt Cookies)](doc/html/)
 
 **Externe Ressourcen**
 
@@ -59,4 +61,5 @@ Friendica - Dokumentation und Ressourcen
 **Ãœber diese Seite**
 
 * [Seite/Friendica-Version](friendica)
+* [Mitwirkenden bei Friendica](credits)
 
index dd9b42676e4360fa7c41ecda93fa65bbbe610a6c..e9deb21b7bc4bda33baefcaa2ca4e18332214dd4 100644 (file)
@@ -3,216 +3,124 @@ Friendica mit SSL nutzen
 
 * [Zur Startseite der Hilfe](help)
 
-Wenn du deine eigene Friendica-Seite betreibst, willst du vielleicht SSL (https) nutzen, um die Kommunikation zwischen dir und deinem Server zu verschlüsseln (die Kommunikation zwischen den Servern ist bereits verschlüsselt).
+Disclaimer
+---
+**Dieses Dokument wurde im November 2015 aktualisiert.
+SSL-Verschlüsselung ist sicherheitskritisch.
+Das bedeutet, dass sich die empfohlenen Einstellungen schnell verändern.
+Halte deine Installation auf dem aktuellen Stand und verlasse dich nicht darauf, dass dieses Dokument genau so schnell aktualisiert wird, wie sich Technologien verändern!**
 
-Wenn du das auf deiner eigenen Domain machen willst, musst du ein Zertifikat von einer anerkannten Organisation beschaffen (sogenannte selbst-signierte Zertifikate, die unter Computerfreaks beliebt sind, arbeiten nicht sehr gut mit Friendica, weil sie Warnungen im Browser hervorrufen können).
+Einleitung
+---
 
-Wenn du dieses Dokument liest, bevor du Friendica installierst, kannst du eine sehr einfache Option in Betracht ziehen: suche dir ein geteiltes Hosting-Angebot (shared hosting) ohne eigene Domain. 
-Dadurch wirst du eine Adresse in der Form deinName.deinAnbietername.de erhalten, was nicht so schön wie deinName.de ist. 
-Aber es wird trotzdem deine ganz persönliche Seite sein und du wirst unter Umständen die Möglichkeit haben, das SSL-Zertifikat deines Anbieters mitzubenutzen. 
-Das bedeutet, dass du SSL Ã¼berhaupt nicht konfigurieren musst - es wird einfach sofort funktionieren, wenn die Besucher deiner Seite https statt http eingeben. 
+Wenn du deine eigene Friendica-Seite betreibst, willst du vielleicht SSL (https) nutzen, um die Kommunikation zwischen den Servern und zwischen dir und deinem Server zu verschlüsseln.
 
-Wenn dir diese Lösung nicht gefällt, lies weiter...
+Dafür gibt es grundsätzlich zwei Arten von SSL-Zertifikaten: Selbst-signierte Zertifikate und Zertifikate, die von einer Zertifizierungsstelle (CA) unterschrieben sind.
+Technisch gesehen sorgen beide für valide Verschlüsselung.
+Mit selbst-signierten Zertifikaten gibt es jedoch ein Problem:
+Sie sind weder in Browsern noch auf anderen Servern installiert.
+Deshalb führen sie zu Warnungen Ã¼ber "nicht vertrauenswürdige Zertifikate".
+Das ist verwirrend und stört sehr.
 
-**Geteilte Hosting-Angebote/Shared hosts**
+Aus diesem Grund empfehlen wir, dass du dir ein von einer CA unterschriebenes Zertifikat besorgst.
+Normalerweise kosten sie Geld - und sind nur für eine begrenzte Zeit gültig (z.B. ein Jahr oder zwei).
 
-Wenn du ein geteiltes Hosting-Angebot mit einer eigenen Domain nutzt, dann wird dir dein Anbieter ggf. anbieten, dir das Zertifikat zu besorgen und zu installieren. 
-Du musst es nur beantragen und bezahlen und alles wird eingerichtet. 
-Wenn das die Lösung für dich ist, musst du das weitere Dokument nicht lesen. 
-Gehe nur sicher, dass das Zertifikat auch für die Domain gilt, die du für Friendica nutzt: z.B. meinfriendica.de oder friendica.meinserver.de.
+Es gibt aber Möglichkeiten, ein vertrauenswürdiges Zertifikat umsonst zu bekommen.
 
-Das Vorangehende wird die häufigste Art sein, eine Friendica-Seite zu betreiben, so dass der Rest des Artikels für die meisten Leute nicht von Bedeutung ist.
+Wähle deinen Domainnamen
+---
 
-**Beschaffe dir das Zertifikat selbst**
+Dein SSL-Zertifikat wird für eine bestimmte Domain gültig sein oder sogar nur für eine Subdomain.
+Entscheide dich endgültig für einen Domainnamen, *bevor* du ein Zertifikat bestellst.
+Wenn du das Zertifikat hast, brauchst du ein neues, wenn du den Domainnamen Ã¤ndern möchtest.
 
-Alternativ kannst du dir auch selbst ein Zertifikat besorgen und hochladen, falls dein Anbieter das unterstützt.
+Gehosteter Webspace
+---
 
-Der nächste Abschnitt beschreibt den Ablauf, um ein Zertifikat von StartSSL zu erhalten. 
-Das Gute an StartSSL ist, dass du kostenlos ein einfaches, aber perfekt ausreichendes Zertifikat erhältst. 
-Das ist bei vielen anderen Anbietern nicht so, weshalb wir uns in diesem Dokument auf StartSSL konzentrieren werden. 
-Wenn du ein Zertifikat eines anderen Anbieters nutzen willst, musst du die Vorgaben dieser Organisation befolgen. 
-Wir können hier nicht jede Möglichkeit abdecken. 
+Wenn deine Friendica-Instanz auf einem gehosteten Webspace läuft, solltest du dich bei deinem Hosting-Provider informieren.
+Dort bekommst du Instruktionen, wie es dort läuft.
+Du kannst bei deinem Provider immer ein kostenpflichtiges Zertifikat bestellen.
+Sie installieren es für dich oder haben in der Weboberfläche eine einfache Upload-Möglichkeit für Zertifikat und Schlüssel.
 
-Die Installation deines erhaltenen Zertifikats hängt von den Vorgaben deines Anbieters ab. 
-Aber generell nutzen solche Anbieter ein einfaches Web-Tool, um die Einrichtung zu unterstützen.
+Um Geld zu sparen, kann es sich lohnen, dort auch nachzufragen, ob sie ein anderes Zertifikat, das du selbst beschaffst, für dich installieren würden.
+Wenn ja, dann lies weiter.
 
-Beachte: dein Zertifikat gilt gewöhnlich nur für eine Subdomain. 
-Wenn du dein Zertifikat beantragst, sorge dafür, dass es für die Domain und die Subdomain gilt, die du für Friendica nutzt: z.B. meinfriendica.de oder friendica.meinserver.de.
+Ein kostenloses StartSSL-Zertifikat besorgen
+---
 
-**Erhalte ein kostenloses StartSSL-Zertifikat**
+StartSSL ist eine Zertifizierungsstelle, die kostenlose Zertifikate ausstellt.
+Sie sind für ein Jahr gültig und genügen für unsere Zwecke.
 
-Die Webseite von StartSSL führt dich durch den Erstellungsprozess, aber manche Leute haben hier trotzdem Probleme. 
-Wir empfehlen dir ausdrücklich, die Installationsanleitung Schritt für Schritt langsam und sorgfältig zu befolgen. 
-Lese dir jedes Wort durch und schließe deinen Browser erst, wenn alles läuft. 
-Es heißt, dass es drei Schritte gibt, die den Nutzer verwirren können:
+### Schritt 1: Client-Zertifikat erstellen
 
-Wenn du dich erstmals bei StartSSL anmeldest, erhältst du ein erstes Zertifikat, dass sich einfach in deinem Browser installiert. 
-Dieses Zertifikat solltest du zur Sicherheit irgendwo speichern, so dass du es für einen neuen Browser neu installieren kannst, wenn du z.B. etwas erneuern musst. 
-Dieses Authentifizierungszertifikat wird nur für das Login benötigt und hat nichts mit dem Zertifikat zu tun, dass du später für deinen Server benötigst. 
-Als Anfänger mit StartSSL kannst du [hier starten](https://www.startssl.com/?lang=de) und die "Express Lane" nutzen, um dein Browser-Zertifikiat zu erhalten. 
-Im nächsten Schritt kannst du die Einrichtung deines Zertifikats fortsetzen.
+Wenn du dich erstmalig bei StartSSL anmeldest, erhältst du ein Zertifikat, das in deinem Browser installiert wird.
+Du brauchst es, um dich bei StartSSL einzuloggen, auch wenn du später wiederkommst.
+Dieses Client-Zertifikat hat nichts mit dem SSL-Zertifikat für deinen Server zu tun.
 
-Wenn du zuerst nach einer Domain für dein Zertifikat gefragt wirst, musst du die Top-Level-Domain angeben, nicht die Subdomain, die Friendica nutzt. 
-Im nächsten Schritt kannst du dann die Subdomain spezifizieren. 
-Wenn du also friendica.deinName.de auf deinem Server hast, musst du zuerst deinName.de angeben. 
+### Schritt 2: Email-Adresse und Domain validieren
 
-Höre nicht zu früh auf, wenn du am Ende der Einrichtung dein persönliches Server-Zertifikat erhalten hast. 
-Abhängig von deiner Server-Software benötigst du ein oder zwei generische Dateien, die du mit deinem kostenlosen StartSSL-Zertifikat nutzen musst. 
-Diese Dateien sind sub.class1.server.ca.pem und ca.pem. 
-Wenn du diesen Schritt bereits Ã¼bersprungen hast, kannst du die Dateien hier finden: [http://www.startssl.com/?app=21](http://www.startssl.com/?app=21). 
-Aber am besten funktioniert es, wenn du StartSSL nicht beendest, bevor du den Vorgang komplett abgeschlossen hast und dein https-Zertifikat hochgeladen ist und funktioniert. 
+Um fortzufahren musst du beweisen, dass du die Email-Adresse, die du angegeben hast, und die Domain, für die du das Zertifikat möchtest, besitzt.
+Gehe in den "Validation wizard" und fordere einen Bestätigungslink per Mail an.
+Dasselbe machst du auch für die Validierung der Domain.
 
-**Virtuelle private und dedizierte Server (mit StartSSL free)**
+### Schritt 3: Das Zertifikat bestellen
 
-Der Rest dieses Dokuments ist etwas komplizierter, aber es ist auch nur für Personen, die Friendica auf einem virtuellen oder dedizierten Server nutzen. 
-Jeder andere kann an dieser Stelle mit dem Lesen aufhören.
+Gehe in den "Certificate wizard".
+Wähle das Target Webserver.
+Bei der ersten Abfrage der Domain gibst du deine Hauptdomain an.
+Im nächsten Schritt kannst du eine Subdomain hinzufügen.
+Ein Beispiel: Wenn die Adresse der Friendica-Instanz friendica.beispiel.net lautet, gibst du zuerst beispiel.net an und danach friendica.
 
-Folge den weiteren Anleitungen [hier](http://www.startssl.com/?app=20), um den Webserver, den du benutzt (z.B. Apache), für dein Zertifikat einzurichten.
+Wenn du weißt, wie man einen openssl-Schlüssel und einen Certificate Signing Request (CSR) erstellt, tu das.
+Kopiere den CSR in den Browser, um ihn von StartSSL signiert zu bekommen.
 
-Um die nötigen Schritte zu verdeutlichen, setzen wir nun voraus, dass Apache aktiv ist. 
-Im Wesentlichen kannst du einfach einen zweiten httpd.conf-Eintrag für Friendica erstellen. 
+Wenn du nicht weißt, wie man Schlüssel und CSR erzeugt, nimm das Angebot von StartSSL an, beides für dich zu generieren.
+Das bedeutet: StartSSL hat den Schlüssel zu deiner SSL-Verschlüsselung, aber das ist immer noch besser als gar kein Zertifikat.
+Lade dein Zertifikat von der Website herunter.
+(Oder im zweiten Fall: Lade Zertifikat und Schlüssel herunter.)
 
-Um das zu machen, kopiere den existierenden Eintrag und Ã¤ndere das Ende der ersten Zeile auf "lesen" :443> anstelle von :80> und trage dann die folgenden Zeilen ein, wie du es auch in der Anleitung von StartSSL finden kannst:
+Um dein Zertifikat auf einem Webserver zu installieren, brauchst du noch ein oder zwei andere Dateien: sub.class1.server.ca.pem und ca.pem, auch von StartSSL.
+Gehe in die Rubrik "Tool box" und lade "Class 1 Intermediate Server CA" und "StartCom Root CA (PEM encoded)" herunter.
 
-       SSLEngine on
-       SSLProtocol all -SSLv2
-       SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
+Wenn du dein Zertifikat zu deinem Hosting-Provider schicken möchtest, brauchen Sie mindestens Zertifikat und Schlüssel.
+Schick zur Sicherheit alle vier Dateien hin.
+**Du solltest sie auf einem verschlüsselten Weg hinschicken!**
 
-       SSLCertificateFile /usr/local/apache/conf/ssl.crt
-       SSLCertificateKeyFile /usr/local/apache/conf/ssl.key
-       SSLCertificateChainFile /usr/local/apache/conf/sub.class1.server.ca.pem
-       SSLCACertificateFile /usr/local/apache/conf/ca.pem
-       SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
-       CustomLog /usr/local/apache/logs/ssl_request_log \ 
-       "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+Wenn du deinen eigenen Server betreibst, lade die Dateien hoch und besuche das Mozilla-Wiki (Link unten).
 
-(Beachte, dass das Verzeichnis /usr/local/apache/conf/ möglicherweise nicht in deinem System existiert. 
-In Debian ist der Pfad bspw. /etc/apache2/, in dem du ein SSL-Unterverzeichnis erstellen kannst, wenn dieses noch nicht vorhanden ist. 
-Dann hast du /etc/apache2/ssl/… statt /usr/local/apache/conf/…)
+Let's encrypt
+---
 
-Du solltest nun zwei Einträgen für deine Friendica-Seite haben - einen für einfaches http und eines für https.
+Wenn du einen eigenen Server betreibst und den Nameserver kontrollierst, könnte auch die Initiative "Let's encrypt" interessant für dich werden.
+Momentan ist deren Angebot noch nicht fertig.
+Auf der [Website](https://letsencrypt.org/) kannst du dich Ã¼ber den Stand informieren.
 
-Ein Hinweis für diejenigen, die SSL steuern wollen: setze keine Weiterleitung deines SSL in deine Apache-Einstellung. Friendicas Admin-Panel hat eine spezielle Einstellung für die SSL-Methode. 
-Bitte nutze diese Einstellungen. 
+Webserver-Einstellungen
+---
 
-**Vermische Zertifikate in Apache â€“ StartSSL und andere (selbst-signierte)**
+Im [Wiki von Mozilla](https://wiki.mozilla.org/Security/Server_Side_TLS) gibt es Anleitungen für die Konfiguration sicherer Webserver.
+Dort findest du Empfehlungen, die auf [verschiedene Webserver](https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_Server_Configurations) zugeschnitten sind.
 
-Viele Leute nutzen einen virtuellen privaten oder einen dedizierten Server, um mehr als Friendica darauf laufen zu lassen. 
-Sie wollen möglicherweise SSL auch für andere Seiten nutzen, die auf dem Server liegen. 
-Um das zu erreichen, wollen sie mehrere Zertifikate für eine IP nutzen, z.B. ein Zertifikat eines anerkannten Anbieters für Friendica und ein selbst-signiertes für eine persönliche Inhalte (möglw. ein Wildcard-Zertifikat für mehrere Subdomains).
+Teste deine SSL-Einstellungen
+---
 
-Um das zum Laufen zu bringen, bietet Apache eine NameVirtualHost-Direktive. 
-Du findest Informationen zur Nutzung in httpd.conf in den folgenden Ausschnitten. 
-Beachte, dass Wildcards (*) in httpd.conf dazu führen, dass die NameVirtualHost-Methode nicht funktioniert; du kannst diese in dieser neuen Konfiguration nicht nutzen. 
-Das bedeutet, dass *80> oder *443> nicht funktionieren. 
-Und du musst unbedingt die IP definieren, selbst wenn du nur eine hast. 
-Beachte außerdem, dass du bald zwei Zeilen zu Beginn der Datei hinzufügen musst, um NameVirtualHost für IPv6 vorzubereiten.
+Wenn du fertig bist, kannst du auf der Testseite [SSL-Labs](https://www.ssllabs.com/ssltest/) prüfen lassen, ob Du alles richtig gemacht hast.
 
-       NameVirtualHost 12.123.456.1:443
-       NameVirtualHost 12.123.456.1:80
 
-       <VirtualHost www.anywhere.net:80>
-       DocumentRoot /var/www/anywhere
-       Servername www.anywhere.net
-       </VirtualHost>
 
-       <VirtualHost www.anywhere.net:443>
-       DocumentRoot /var/www/anywhere
-       Servername www.anywhere.net 
-       SSLEngine On
-       <pointers to a an eligible cert>
-       <more ssl stuff >
-       <other stuff>
-       </VirtualHost>
 
-       <VirtualHost www.somewhere-else.net:80>
-       DocumentRoot /var/www/somewhere-else
-       Servername www.somewhere-else.net
-       </VirtualHost>
 
-       <VirtualHost www.somewhere-else:443>
-       DocumentRoot /var/www/somewhere-else
-       Servername www.somewhere-else.net
-       SSLEngine On
-       <pointers to another eligible cert>
-       <more ssl stuff >
-       <other stuff>
-       </VirtualHost>
 
-Natürlich kannst du auch andere Verzeichnisse auf deinem Server nutzen, um Apache zu konfigurieren. 
-In diesem Fall müssen nur einige Zeilen in httpd.conf oder ports.conf angepasst werden - vor allem die NameVirtualHost-Zeilen. 
-Aber wenn du sicher im Umgang mit solchen Alternativen bist, wirst du sicherlich die nötigen Anpassungen herausfinden.
 
-Starte dein Apache abschließend neu. 
 
-**StartSSL auf Nginx**
 
-Führe zunächst ein Update auf den neuesten Friendica-Code durch. 
-Folge dann der Anleitung oben, um dein kostenloses Zertifikat zu erhalten. 
-Aber statt der Apache-Installationsanleitung zu folgen, mache das Folgende:
 
-Lade dein Zertifikat hoch. 
-Es ist nicht wichtig, wohin du es lädst, solange Nginx es finden kann. 
-Einige Leute nutzen /home/verschiedeneNummernundBuchstaben, du kannst aber auch z.B. etwas wie /foo/bar nutzen.
 
-Du kannst das Passwort entfernen, wenn du willst. 
-Es ist zwar möglicherweise nicht die beste Wahl, aber wenn du es nicht machst, wirst du das Passwort immer wieder eingeben müssen, wenn du Ngingx neustartest. 
-Um es zu entfernen, gebe Folgendes ein: 
 
-       openssl rsa -in ssl.key-pass -out ssl.key
 
-Nun hole dir das Hifs-Zertifikat:
 
-       wget http://www.startssl.com/certs/sub.class1.server.ca.pem
 
-Nun vereinige die Dateien:
 
-       cat ssl.crt sub.class1.server.ca.pem > ssl.crt
 
-In manchen Konfigurationen ist ein Bug enthalten, weshalb diese Schritte nicht ordentlich arbeiten. 
-Du musst daher ggf. ssl.crt bearbeiten:
 
-       nano /foo/bar/ssl.crt
 
-Du wirst zwei Zertifikate in der gleichen Date sehen. In der Mitte findest du:
-
-       -----END CERTIFICATE----------BEGIN CERTIFICATE-----
-
-Das ist schlecht. Du brauchst die folgenden Einträge:
-
-       -----END CERTIFICATE-----
-       -----BEGIN CERTIFICATE-----
-
-
-Du kannst den Zeilenumbruch manuell eingeben, falls dein System vom Bug betroffen ist. 
-Beachte, dass nach -----BEGIN CERTIFICATE----- nur ein Zeilenumbruch ist. 
-Es gibt keine leere Zeile zwischen beiden Einträgen.
-
-Nun musst du Nginx Ã¼ber die Zertifikate informieren.
-
-In /etc/nginx/sites-available/foo.com.conf benötigst du etwas wie:
-
-       server {
-       
-       listen 80;
-       
-       listen 443 ssl;
-
-       listen [::]:80;
-
-       listen [::]:443 ipv6only=on ssl;
-
-       ssl_certificate /foo/bar/ssl.crt;
-
-       ssl_certificate_key /foo/bar/ssl.key;
-
-       ...
-
-Nun starte Nginx neu:
-
-       /etc/init.d/nginx restart
-
-Und das war es schon. 
-
-Für multiple Domains ist es mit Nginx einfacher als mit Apache. 
-Du musst du oben genannten Schritte nur für jedes Zertifikat wiederholen und die spezifischen Informationen im eigenen {server...}-Bereich spezifizieren.
index abb457687173834e6f2b59327ade57786e3ee810..0aca7a902b626d09426fdf3202bacd26a10308c9 100644 (file)
@@ -53,9 +53,21 @@ In the descirption and location field you can use BBCode to format the text.
 When you *Share* the event it will be posted to your wall with the access permissions you've selected.
 But before you do, you can also *preview* the event in a pop-up box.
 
+### Interaction with Events
+
+When you publish an event, you can choose who shall receive it, as with a regular new posting.
+The recipients will see the posting about the event in their network-stream.
+Additionally it will be added to their calendar and thus be shown in their events overview page.
+
+Recipients of the event-posting can comment or dis-/like the event, as with a regular posting, but also announce that they will attend, not attend or may-be attend the event with a single click.
+
 ### Addons
 
 #### OpenStreetMap
 
 If this addon is activated on you friendica node, the content of the location field will be mathced with the identification service of OSM when you submit the event.
 Should OSM find anything matching, a map for the location will be embedded automatically at the end of the events view.
+
+#### Calendar Export
+
+If this addon is activated the public events you have created will be published in ical or csv file. The URL of the published file is ``example.com/cal/nickname/export/format`` (where format is either ical of csv).
\ No newline at end of file
index d46abb3a0bd3a64b99f3da732865d15cdff5f497..4764c287c8977c9d2efbbfcbcfb6a2afccf1f92b 100644 (file)
@@ -44,6 +44,8 @@ line to your .htconfig.php:
 * ostatus_poll_timeframe - Defines how old an item can be to try to complete the conversation with it.
 * paranoia (Boolean) - Log out users if their IP address changed.
 * permit_crawling (Boolean) - Restricts the search for not logged in users to one search per minute.
+* free_crawls - Number of "free" searches when "permit_crawling" is activated (Default value is 10)
+* crawl_permit_period - Period in seconds between allowed searches when the number of free searches is reached and "permit_crawling" is activated (Default value is 60)
 * png_quality - Default value is 8.
 * proc_windows (Boolean) - Should be enabled if Friendica is running under Windows.
 * proxy_cache_time - Time after which the cache is cleared. Default value is one day.
diff --git a/doc/html/index.php b/doc/html/index.php
new file mode 100644 (file)
index 0000000..2e1b427
--- /dev/null
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+       <title>$Projectname Doxygen API Documentation</title>
+</head>
+<body>
+<h1>$Projectname Doxygen API Documentation not rendered</h1>
+
+To get the Doxygen API Documentation you must render it with the program <a href="http://www.doxygen.org">Doxygen</a> (included in most distributions).
+<pre>
+$ doxygen util/Doxyfile
+</pre>
+<br>
+<a href="javascript:history.back()">back</a>
+</body>
+</html>
diff --git a/doc/install-ejabberd.md b/doc/install-ejabberd.md
new file mode 100644 (file)
index 0000000..c99a845
--- /dev/null
@@ -0,0 +1,45 @@
+Install an ejabberd with synchronized credentials
+=================================================
+
+* [Home](help)
+
+[Ejabberd](https://www.ejabberd.im/) is a chat server that uses XMPP as messaging protocol that you can use with a large amount of clients. In conjunction 
+with the "xmpp" addon it can be used for a web based chat solution for your users.
+
+Installation
+------------
+
+- Change it's owner to whichever user is running the server, ie. ejabberd
+
+        $ chown ejabberd:ejabberd /path/to/friendica/include/auth_ejabberd.php
+
+- Change the access mode so it is readable only to the user ejabberd and has exec
+
+        $ chmod 700 /path/to/friendica/include/auth_ejabberd.php
+
+- Edit your ejabberd.cfg file, comment out your auth_method and add:
+
+        {auth_method, external}.
+        {extauth_program, "/path/to/friendica/include/auth_ejabberd.php"}.
+
+- Disable the module "mod_register" and disable the registration:
+
+        {access, register, [{deny, all}]}.
+
+- Enable BOSH:
+  - Enable the module "mod_http_bind"
+  - Edit this line:
+
+        {5280, ejabberd_http,    [captcha, http_poll, http_bind]}
+
+  - In your apache configuration for your site add this line:
+
+        ProxyPass /http-bind http://127.0.0.1:5280/http-bind retry=0
+
+- Restart your ejabberd service, you should be able to login with your friendica credentials
+
+Other hints
+-----------
+- if a user has a space or a @ in the nickname, the user has to replace these characters:
+  - " " (space) is replaced with "%20"
+  - "@" is replaced with "(a)"
index a5eeb54511942bb1d5daeb007a3a6ab84bbb1ad1..068d0c9c5c4f42c62de8118eaf34ab69735139a4 100644 (file)
@@ -30,6 +30,7 @@ Friendica Documentation and Resources
 * [Settings](help/Settings)
 * [Plugins](help/Plugins)
 * [Installing Connectors (Twitter/GNU Social)](help/Installing-Connectors)
+* [Install an ejabberd server (XMPP chat) with synchronized credentials](help/install-ejabberd)
 * [Message Flow](help/Message-Flow)
 * [Using SSL with Friendica](help/SSL)
 * [Developers](help/Developers)
index e6ec8daade967cfa5dbb798e42e38144f27a1e4f..6673e6911d693c5f6ee793453881357c143ca9e7 100644 (file)
@@ -144,7 +144,7 @@ function terminate_friendship($user,$self,$contact) {
 // and we won't waste any more time trying to communicate with them.
 // This provides for the possibility that their database is temporarily messed
 // up or some other transient event and that there's a possibility we could recover from it.
+
 if(! function_exists('mark_for_death')) {
 function mark_for_death($contact) {
 
@@ -166,7 +166,7 @@ function mark_for_death($contact) {
                $expiry = $contact['term-date'] . ' + 32 days ';
                if(datetime_convert() > datetime_convert('UTC','UTC',$expiry)) {
 
-                       // relationship is really truly dead. 
+                       // relationship is really truly dead.
                        // archive them rather than delete
                        // though if the owner tries to unarchive them we'll start the whole process over again
 
@@ -191,8 +191,102 @@ function unmark_for_death($contact) {
        );
 }}
 
+function get_contact_details_by_url($url, $uid = -1) {
+       require_once("mod/proxy.php");
+       require_once("include/bbcode.php");
+
+       if ($uid == -1)
+               $uid = local_user();
+
+       $r = q("SELECT `id` AS `gid`, `url`, `name`, `nick`, `addr`, `photo`, `location`, `about`, `keywords`, `gender`, `community`, `network` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
+               dbesc(normalise_link($url)));
+
+       if ($r) {
+               $profile = $r[0];
+
+               if ((($profile["addr"] == "") OR ($profile["name"] == "")) AND
+                       in_array($profile["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
+                       proc_run('php',"include/update_gcontact.php", $profile["gid"]);
+
+       } else {
+               $r = q("SELECT `url`, `name`, `nick`, `avatar` AS `photo`, `location`, `about` FROM `unique_contacts` WHERE `url` = '%s'",
+                       dbesc(normalise_link($url)));
+
+               if (count($r)) {
+                       $profile = $r[0];
+                       $profile["keywords"] = "";
+                       $profile["gender"] = "";
+                       $profile["community"] = false;
+                       $profile["network"] = "";
+                       $profile["addr"] = "";
+               }
+       }
+
+       // Fetching further contact data from the contact table
+       $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `network` = '%s'",
+               dbesc(normalise_link($url)), intval($uid), dbesc($profile["network"]));
+
+       if (!count($r))
+               $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
+                       dbesc(normalise_link($url)), intval($uid));
+
+       if (!count($r))
+               $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = 0",
+                       dbesc(normalise_link($url)));
+
+       if ($r) {
+               if (isset($r[0]["url"]) AND $r[0]["url"])
+                       $profile["url"] = $r[0]["url"];
+               if (isset($r[0]["name"]) AND $r[0]["name"])
+                       $profile["name"] = $r[0]["name"];
+               if (isset($r[0]["nick"]) AND $r[0]["nick"] AND ($profile["nick"] == ""))
+                       $profile["nick"] = $r[0]["nick"];
+               if (isset($r[0]["addr"]) AND $r[0]["addr"] AND ($profile["addr"] == ""))
+                       $profile["addr"] = $r[0]["addr"];
+               if (isset($r[0]["photo"]) AND $r[0]["photo"])
+                       $profile["photo"] = $r[0]["photo"];
+               if (isset($r[0]["location"]) AND $r[0]["location"])
+                       $profile["location"] = $r[0]["location"];
+               if (isset($r[0]["about"]) AND $r[0]["about"])
+                       $profile["about"] = $r[0]["about"];
+               if (isset($r[0]["keywords"]) AND $r[0]["keywords"])
+                       $profile["keywords"] = $r[0]["keywords"];
+               if (isset($r[0]["gender"]) AND $r[0]["gender"])
+                       $profile["gender"] = $r[0]["gender"];
+               if (isset($r[0]["forum"]) OR isset($r[0]["prv"]))
+                       $profile["community"] = ($r[0]["forum"] OR $r[0]["prv"]);
+               if (isset($r[0]["network"]) AND $r[0]["network"])
+                       $profile["network"] = $r[0]["network"];
+               if (isset($r[0]["addr"]) AND $r[0]["addr"])
+                       $profile["addr"] = $r[0]["addr"];
+               if (isset($r[0]["bd"]) AND $r[0]["bd"])
+                       $profile["bd"] = $r[0]["bd"];
+               if ($r[0]["uid"] == 0)
+                       $profile["cid"] = 0;
+               else
+                       $profile["cid"] = $r[0]["id"];
+       } else
+               $profile["cid"] = 0;
+
+       if (isset($profile["photo"]))
+               $profile["photo"] = proxy_url($profile["photo"], false, PROXY_SIZE_SMALL);
+
+       if (isset($profile["location"]))
+               $profile["location"] = bbcode($profile["location"]);
+
+       if (isset($profile["about"]))
+               $profile["about"] = bbcode($profile["about"]);
+
+       if (($profile["cid"] == 0) AND ($profile["network"] == NETWORK_DIASPORA)) {
+               $profile["location"] = "";
+               $profile["about"] = "";
+       }
+
+       return($profile);
+}
+
 if(! function_exists('contact_photo_menu')){
-function contact_photo_menu($contact) {
+function contact_photo_menu($contact, $uid = 0) {
 
        $a = get_app();
 
@@ -204,6 +298,33 @@ function contact_photo_menu($contact) {
        $contact_drop_link = "";
        $poke_link="";
 
+       if ($uid == 0)
+               $uid = local_user();
+
+       if ($contact["uid"] != $uid) {
+               if ($uid == 0) {
+                       $profile_link = zrl($contact['url']);
+                       $menu = Array('profile' => array(t("View Profile"), $profile_link, true));
+
+                       return $menu;
+               }
+
+               $r = q("SELECT * FROM `contact` WHERE `nurl` = '%s' AND `network` = '%s' AND `uid` = %d",
+                       dbesc($contact["nurl"]), dbesc($contact["network"]), intval($uid));
+               if ($r)
+                       return contact_photo_menu($r[0], $uid);
+               else {
+                       $profile_link = zrl($contact['url']);
+                       $connlnk = 'follow/?url='.$contact['url'];
+                       $menu = Array(
+                               'profile' => array(t("View Profile"), $profile_link, true),
+                               'follow' => array(t("Connect/Follow"), $connlnk, true)
+                               );
+
+                       return $menu;
+               }
+       }
+
        $sparkle = false;
        if($contact['network'] === NETWORK_DFRN) {
                $sparkle = true;
@@ -228,19 +349,23 @@ function contact_photo_menu($contact) {
                $poke_link = $a->get_baseurl() . '/poke/?f=&c=' . $contact['id'];
 
        $contact_url = $a->get_baseurl() . '/contacts/' . $contact['id'];
-       $posts_link = $a->get_baseurl() . '/network/0?nets=all&cid=' . $contact['id'];
+       $posts_link = $a->get_baseurl() . "/contacts/" . $contact['id'] . '/posts';
        $contact_drop_link = $a->get_baseurl() . "/contacts/" . $contact['id'] . '/drop?confirm=1';
 
 
+       /**
+        * menu array:
+        * "name" => [ "Label", "link", (bool)Should the link opened in a new tab? ]
+        */
        $menu = Array(
-               'status' => array(t("View Status"), $status_link),
-               'profile' => array(t("View Profile"), $profile_link),
-               'photos' => array(t("View Photos"), $photos_link),
-               'network' => array(t("Network Posts"), $posts_link),
-               'edit' => array(t("Edit Contact"), $contact_url),
-               'drop' => array(t("Drop Contact"), $contact_drop_link),
-               'pm' => array(t("Send PM"), $pm_url),
-               'poke' => array(t("Poke"), $poke_link),
+               'status' => array(t("View Status"), $status_link, true),
+               'profile' => array(t("View Profile"), $profile_link, true),
+               'photos' => array(t("View Photos"), $photos_link,true),
+               'network' => array(t("Network Posts"), $posts_link,false),
+               'edit' => array(t("Edit Contact"), $contact_url, false),
+               'drop' => array(t("Drop Contact"), $contact_drop_link, false),
+               'pm' => array(t("Send PM"), $pm_url, false),
+               'poke' => array(t("Poke"), $poke_link, false),
        );
 
 
@@ -248,31 +373,11 @@ function contact_photo_menu($contact) {
 
        call_hooks('contact_photo_menu', $args);
 
-/*     $o = "";
-       foreach($menu as $k=>$v){
-               if ($v!="") {
-                       if(($k !== t("Network Posts")) && ($k !== t("Send PM")) && ($k !== t('Edit Contact')))
-                               $o .= "<li><a target=\"redir\" href=\"$v\">$k</a></li>\n";
-                       else
-                               $o .= "<li><a href=\"$v\">$k</a></li>\n";
-               }
-       }
-       return $o;*/
-
-       foreach($menu as $k=>$v){
-               if ($v[1]!="") {
-                       if(($v[0] !== t("Network Posts")) && ($v[0] !== t("Send PM")) && ($v[0] !== t('Edit Contact')))
-                               $menu[$k][2] = 1;
-                       else
-                               $menu[$k][2] = 0;
-               }
-       }
-
        $menucondensed = array();
 
-       foreach ($menu AS $menuitem)
+       foreach ($menu AS $menuname=>$menuitem)
                if ($menuitem[1] != "")
-                       $menucondensed[] = $menuitem;
+                       $menucondensed[$menuname] = $menuitem;
 
        return $menucondensed;
 }}
index 0169f55fd5d93db839d0dfa77250a8fc81fac0be..6ee3dabfca88c11c42576e2a5c75c5194a96283e 100644 (file)
@@ -4,7 +4,7 @@ require_once('library/HTML5/Parser.php');
 require_once('include/crypto.php');
 
 if(! function_exists('scrape_dfrn')) {
-function scrape_dfrn($url) {
+function scrape_dfrn($url, $dont_probe = false) {
 
        $a = get_app();
 
@@ -17,6 +17,13 @@ function scrape_dfrn($url) {
        if(! $s)
                return $ret;
 
+       if (!$dont_probe) {
+               $probe = probe_url($url);
+
+               if (isset($probe["addr"]))
+                       $ret["addr"] = $probe["addr"];
+       }
+
        $headers = $a->get_curl_headers();
        logger('scrape_dfrn: headers=' . $headers, LOGGER_DEBUG);
 
@@ -320,7 +327,7 @@ function scrape_feed($url) {
  * PROBE_DIASPORA has a bias towards returning Diaspora information
  * while PROBE_NORMAL has a bias towards dfrn/zot - in the case where
  * an address (such as a Friendica address) supports more than one type
- * of network. 
+ * of network.
  *
  */
 
@@ -407,7 +414,7 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) {
                                                $pubkey = $diaspora_key;
                                        $diaspora = true;
                                }
-                               if($link['@attributes']['rel'] === 'http://ostatus.org/schema/1.0/subscribe') {
+                               if(($link['@attributes']['rel'] === 'http://ostatus.org/schema/1.0/subscribe') AND ($mode == PROBE_NORMAL)) {
                                        $diaspora = false;
                                }
                        }
@@ -524,7 +531,7 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) {
 
 
                if(strlen($dfrn)) {
-                       $ret = scrape_dfrn(($hcard) ? $hcard : $dfrn);
+                       $ret = scrape_dfrn(($hcard) ? $hcard : $dfrn, true);
                        if(is_array($ret) && x($ret,'dfrn-request')) {
                                $network = NETWORK_DFRN;
                                $request = $ret['dfrn-request'];
@@ -719,6 +726,45 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) {
                                }
                        }
 
+                       // Workaround for misconfigured Friendica servers
+                       if (($network == "") AND (strstr($url, "/profile/"))) {
+                               $noscrape = str_replace("/profile/", "/noscrape/", $url);
+                               $noscrapejson = fetch_url($noscrape);
+                               if ($noscrapejson) {
+
+                                       $network = NETWORK_DFRN;
+
+                                       $poco = str_replace("/profile/", "/poco/", $url);
+
+                                       $noscrapedata = json_decode($noscrapejson, true);
+
+                                       if (isset($noscrapedata["addr"]))
+                                               $addr = $noscrapedata["addr"];
+
+                                       if (isset($noscrapedata["fn"]))
+                                               $vcard["fn"] = $noscrapedata["fn"];
+
+                                       if (isset($noscrapedata["key"]))
+                                               $pubkey = $noscrapedata["key"];
+
+                                       if (isset($noscrapedata["photo"]))
+                                               $vcard["photo"] = $noscrapedata["photo"];
+
+                                       if (isset($noscrapedata["dfrn-request"]))
+                                               $request = $noscrapedata["dfrn-request"];
+
+                                       if (isset($noscrapedata["dfrn-confirm"]))
+                                               $confirm = $noscrapedata["dfrn-confirm"];
+
+                                       if (isset($noscrapedata["dfrn-notify"]))
+                                               $notify = $noscrapedata["dfrn-notify"];
+
+                                       if (isset($noscrapedata["dfrn-poll"]))
+                                               $poll = $noscrapedata["dfrn-poll"];
+
+                               }
+                       }
+
                        if((! $vcard['photo']) && strlen($email))
                                $vcard['photo'] = avatar_img($email);
                        if($poll === $profile)
@@ -779,6 +825,9 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) {
 
        $baseurl = rtrim($baseurl, "/");
 
+       if(strpos($url,'@') AND ($addr == "") AND ($network == NETWORK_DFRN))
+               $addr = str_replace('acct:', '', $url);
+
        $vcard['fn'] = notags($vcard['fn']);
        $vcard['nick'] = str_replace(' ','',notags($vcard['nick']));
 
@@ -821,7 +870,7 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) {
        }
 
        // Only store into the cache if the value seems to be valid
-       if ($result['network'] != NETWORK_FEED)
+       if ($result['network'] != NETWORK_PHANTOM)
                Cache::set("probe_url:".$mode.":".$url,serialize($result), CACHE_DAY);
 
        return $result;
index a1154399a713035c43a8f83751006cdcd8228989..4ef3d05ea3959fb9ba46070436f7c33e2b034612 100644 (file)
@@ -1,6 +1,7 @@
 <?php
 
 require_once("include/contact_selectors.php");
+require_once("include/contact_widgets.php");
 require_once("include/features.php");
 require_once("mod/proxy.php");
 
@@ -425,6 +426,8 @@ function acl_lookup(&$a, $out_type = 'json') {
                $group_count = 0;
        }
 
+       $sql_extra2 .= " ".unavailable_networks();
+
        if ($type=='' || $type=='c'){
                $r = q("SELECT COUNT(*) AS c FROM `contact`
                                WHERE `uid` = %d AND `self` = 0
index 2fd7d6d45a0999a32b7aa8130a152c61653f4247..ff8127829b167e55977d074e65262783ba2e4820 100644 (file)
@@ -2,6 +2,27 @@
 /* To-Do:
  - Automatically detect if incoming data is HTML or BBCode
 */
+
+/* Contact details:
+       Gerhard Seeber          Mail: gerhard@seeber.at         Friendica: http://mozartweg.dyndns.org/friendica/gerhard
+
+ */
+
+
+/*
+ * Change history:
+       Gerhard Seeber          2015-NOV-25     Add API call /friendica/group_show to return all or a single group
+                                               with the containing contacts (necessary for Windows 10 Universal app)
+       Gerhard Seeber          2015-NOV-27     Add API call /friendica/group_delete to delete the specified group id
+                                               (necessary for Windows 10 Universal app)
+       Gerhard Seeber          2015-DEC-01     Add API call /friendica/group_create to create a group with the specified 
+                                               name and the given list of contacts (necessary for Windows 10 Universal
+                                               app)
+       Gerhard Seeber          2015-DEC-07     Add API call /friendica/group_update to update a group with the given 
+                                               list of contacts (necessary for Windows 10 Universal app)
+ *
+ */
+
        require_once("include/bbcode.php");
        require_once("include/datetime.php");
        require_once("include/conversation.php");
@@ -16,6 +37,7 @@
        require_once('mod/wall_upload.php');
        require_once("mod/proxy.php");
        require_once("include/message.php");
+       require_once("include/group.php");
 
 
        /*
         * Unique contact to contact url.
         */
        function api_unique_id_to_url($id){
-               $r = q("SELECT url FROM unique_contacts WHERE id=%d LIMIT 1",
+               $r = q("SELECT `url` FROM `unique_contacts` WHERE `id`=%d LIMIT 1",
                        intval($id));
                if ($r)
                        return ($r[0]["url"]);
                        $r = array();
 
                        if ($url != "")
-                               $r = q("SELECT * FROM unique_contacts WHERE url='%s' LIMIT 1", $url);
+                               $r = q("SELECT * FROM `unique_contacts` WHERE `url`='%s' LIMIT 1", $url);
                        elseif ($nick != "")
-                               $r = q("SELECT * FROM unique_contacts WHERE nick='%s' LIMIT 1", $nick);
+                               $r = q("SELECT * FROM `unique_contacts` WHERE `nick`='%s' LIMIT 1", $nick);
 
                        if ($r) {
                                // If no nick where given, extract it from the address
                }
 
                // Fetching unique id
-               $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", dbesc(normalise_link($uinfo[0]['url'])));
+               $r = q("SELECT id FROM `unique_contacts` WHERE `url`='%s' LIMIT 1", dbesc(normalise_link($uinfo[0]['url'])));
 
                // If not there, then add it
                if (count($r) == 0) {
-                       q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')",
+                       q("INSERT INTO `unique_contacts` (`url`, `name`, `nick`, `avatar`) VALUES ('%s', '%s', '%s', '%s')",
                                dbesc(normalise_link($uinfo[0]['url'])), dbesc($uinfo[0]['name']),dbesc($uinfo[0]['nick']), dbesc($uinfo[0]['micro']));
 
-                       $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", dbesc(normalise_link($uinfo[0]['url'])));
+                       $r = q("SELECT `id` FROM `unique_contacts` WHERE `url`='%s' LIMIT 1", dbesc(normalise_link($uinfo[0]['url'])));
                }
 
                $network_name = network_to_name($uinfo[0]['network'], $uinfo[0]['url']);
                        'verified' => true,
                        'statusnet_blocking' => false,
                        'notifications' => false,
-                       'statusnet_profile_url' => $a->get_baseurl()."/contacts/".$uinfo[0]['cid'],
+                       //'statusnet_profile_url' => $a->get_baseurl()."/contacts/".$uinfo[0]['cid'],
+                       'statusnet_profile_url' => $uinfo[0]['url'],
                        'uid' => intval($uinfo[0]['uid']),
                        'cid' => intval($uinfo[0]['cid']),
                        'self' => $uinfo[0]['self'],
 
        function api_item_get_user(&$a, $item) {
 
-               $author = q("SELECT * FROM unique_contacts WHERE url='%s' LIMIT 1",
+               $author = q("SELECT * FROM `unique_contacts` WHERE `url`='%s' LIMIT 1",
                        dbesc(normalise_link($item['author-link'])));
 
                if (count($author) == 0) {
-                       q("INSERT INTO unique_contacts (url, name, avatar) VALUES ('%s', '%s', '%s')",
-                       dbesc(normalise_link($item["author-link"])), dbesc($item["author-name"]), dbesc($item["author-avatar"]));
+                       q("INSERT INTO `unique_contacts` (`url`, `name`, `avatar`) VALUES ('%s', '%s', '%s')",
+                               dbesc(normalise_link($item["author-link"])), dbesc($item["author-name"]), dbesc($item["author-avatar"]));
 
-                       $author = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1",
+                       $author = q("SELECT `id` FROM `unique_contacts` WHERE `url`='%s' LIMIT 1",
                                dbesc(normalise_link($item['author-link'])));
                } else if ($item["author-link"].$item["author-name"] != $author[0]["url"].$author[0]["name"]) {
-                       q("UPDATE unique_contacts SET name = '%s', avatar = '%s' WHERE url = '%s'",
-                       dbesc($item["author-name"]), dbesc($item["author-avatar"]), dbesc(normalise_link($item["author-link"])));
+                       $r = q("SELECT `id` FROM `unique_contacts` WHERE `name` = '%s' AND `avatar` = '%s' AND url = '%s'",
+                               dbesc($item["author-name"]), dbesc($item["author-avatar"]),
+                               dbesc(normalise_link($item["author-link"])));
+
+                       if (!$r)
+                               q("UPDATE `unique_contacts` SET `name` = '%s', `avatar` = '%s' WHERE `url` = '%s'",
+                                       dbesc($item["author-name"]), dbesc($item["author-avatar"]),
+                                       dbesc(normalise_link($item["author-link"])));
                }
 
-               $owner = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1",
+               $owner = q("SELECT `id` FROM `unique_contacts` WHERE `url`='%s' LIMIT 1",
                        dbesc(normalise_link($item['owner-link'])));
 
                if (count($owner) == 0) {
-                       q("INSERT INTO unique_contacts (url, name, avatar) VALUES ('%s', '%s', '%s')",
-                       dbesc(normalise_link($item["owner-link"])), dbesc($item["owner-name"]), dbesc($item["owner-avatar"]));
+                       q("INSERT INTO `unique_contacts` (`url`, `name`, `avatar`) VALUES ('%s', '%s', '%s')",
+                               dbesc(normalise_link($item["owner-link"])), dbesc($item["owner-name"]), dbesc($item["owner-avatar"]));
 
-                       $owner = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1",
+                       $owner = q("SELECT `id` FROM `unique_contacts` WHERE `url`='%s' LIMIT 1",
                                dbesc(normalise_link($item['owner-link'])));
                } else if ($item["owner-link"].$item["owner-name"] != $owner[0]["url"].$owner[0]["name"]) {
-                       q("UPDATE unique_contacts SET name = '%s', avatar = '%s' WHERE url = '%s'",
-                       dbesc($item["owner-name"]), dbesc($item["owner-avatar"]), dbesc(normalise_link($item["owner-link"])));
+                       $r = q("SELECT `id` FROM `unique_contacts` WHERE `name` = '%s' AND `avatar` = '%s' AND url = '%s'",
+                               dbesc($item["owner-name"]), dbesc($item["owner-avatar"]),
+                               dbesc(normalise_link($item["owner-link"])));
+
+                       if (!$r)
+                               q("UPDATE `unique_contacts` SET `name` = '%s', `avatar` = '%s' WHERE `url` = '%s'",
+                                       dbesc($item["owner-name"]), dbesc($item["owner-avatar"]),
+                                       dbesc(normalise_link($item["owner-link"])));
                }
 
                // Comments in threads may appear as wall-to-wall postings.
 
                logger('api_status_show: user_info: '.print_r($user_info, true), LOGGER_DEBUG);
 
+               if ($type == "raw")
+                       $privacy_sql = "AND `item`.`allow_cid`='' AND `item`.`allow_gid`='' AND `item`.`deny_cid`='' AND `item`.`deny_gid`=''";
+               else
+                       $privacy_sql = "";
+
                // get last public wall message
                $lastwall = q("SELECT `item`.*, `i`.`contact-id` as `reply_uid`, `i`.`author-link` AS `item-author`
                                FROM `item`, `item` as `i`
                                WHERE `item`.`contact-id` = %d AND `item`.`uid` = %d
                                        AND ((`item`.`author-link` IN ('%s', '%s')) OR (`item`.`owner-link` IN ('%s', '%s')))
                                        AND `i`.`id` = `item`.`parent`
-                                       AND `item`.`type`!='activity'
-                                       AND `item`.`allow_cid`='' AND `item`.`allow_gid`='' AND `item`.`deny_cid`='' AND `item`.`deny_gid`=''
+                                       AND `item`.`type`!='activity' $privacy_sql
                                ORDER BY `item`.`created` DESC
                                LIMIT 1",
                                intval($user_info['cid']),
                                $in_reply_to_status_id= intval($lastwall['parent']);
                                $in_reply_to_status_id_str = (string) intval($lastwall['parent']);
 
-                               $r = q("SELECT * FROM unique_contacts WHERE `url` = '%s'", dbesc(normalise_link($lastwall['item-author'])));
+                               $r = q("SELECT * FROM `unique_contacts` WHERE `url` = '%s'", dbesc(normalise_link($lastwall['item-author'])));
                                if ($r) {
                                        if ($r[0]['nick'] == "")
                                                $r[0]['nick'] = api_get_nick($r[0]["url"]);
                                $in_reply_to_screen_name = NULL;
                        }
 
-                       $converted = api_convert_item($item);
+                       $converted = api_convert_item($lastwall);
 
                        $status_info = array(
                                'created_at' => api_date($lastwall['created']),
                        unset($status_info["user"]["self"]);
                }
 
+               logger('status_info: '.print_r($status_info, true), LOGGER_DEBUG);
+
                if ($type == "raw")
                        return($status_info);
 
                                        $in_reply_to_status_id = intval($lastwall['parent']);
                                        $in_reply_to_status_id_str = (string) intval($lastwall['parent']);
 
-                                       $r = q("SELECT * FROM unique_contacts WHERE `url` = '%s'", dbesc(normalise_link($reply[0]['item-author'])));
+                                       $r = q("SELECT * FROM `unique_contacts` WHERE `url` = '%s'", dbesc(normalise_link($reply[0]['item-author'])));
                                        if ($r) {
                                                if ($r[0]['nick'] == "")
                                                        $r[0]['nick'] = api_get_nick($r[0]["url"]);
                                }
                        }
 
-                       $converted = api_convert_item($item);
+                       $converted = api_convert_item($lastwall);
 
                        $user_info['status'] = array(
                                'text' => $converted["text"],
                $userlist = array();
 
                if (isset($_GET["q"])) {
-                       $r = q("SELECT id FROM unique_contacts WHERE name='%s'", dbesc($_GET["q"]));
+                       $r = q("SELECT id FROM `unique_contacts` WHERE `name`='%s'", dbesc($_GET["q"]));
                        if (!count($r))
-                               $r = q("SELECT id FROM unique_contacts WHERE nick='%s'", dbesc($_GET["q"]));
+                               $r = q("SELECT `id` FROM `unique_contacts` WHERE `nick`='%s'", dbesc($_GET["q"]));
 
                        if (count($r)) {
                                foreach ($r AS $user) {
                                        intval(api_user()),
                                        intval($in_reply_to_status_id));
                                if ($r) {
-                                       $r = q("SELECT * FROM unique_contacts WHERE `url` = '%s'", dbesc(normalise_link($r[0]['author-link'])));
+                                       $r = q("SELECT * FROM `unique_contacts` WHERE `url` = '%s'", dbesc(normalise_link($r[0]['author-link'])));
 
                                        if ($r) {
                                                if ($r[0]['nick'] == "")
 
                $stringify_ids = (x($_REQUEST,'stringify_ids')?$_REQUEST['stringify_ids']:false);
 
-               $r = q("SELECT unique_contacts.id FROM contact, unique_contacts WHERE contact.nurl = unique_contacts.url AND `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 $sql_extra",
+               $r = q("SELECT `unique_contact`.`id` FROM contact, `unique_contacts` WHERE contact.nurl = unique_contacts.url AND `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 $sql_extra",
                        intval(api_user())
                );
 
@@ -2831,15 +2872,29 @@ function api_share_as_retweet(&$item) {
 
 function api_get_nick($profile) {
 /* To-Do:
- - remove trailing jung from profile url
+ - remove trailing junk from profile url
  - pump.io check has to check the website
 */
 
        $nick = "";
 
-       $friendica = preg_replace("=https?://(.*)/profile/(.*)=ism", "$2", $profile);
-       if ($friendica != $profile)
-               $nick = $friendica;
+       $r = q("SELECT `nick` FROM `gcontact` WHERE `nurl` = '%s'",
+               dbesc(normalise_link($profile)));
+       if ($r)
+               $nick = $r[0]["nick"];
+
+       if (!$nick == "") {
+               $r = q("SELECT `nick` FROM `contact` WHERE `uid` = 0 AND `nurl` = '%s'",
+                       dbesc(normalise_link($profile)));
+               if ($r)
+                       $nick = $r[0]["nick"];
+       }
+
+       if (!$nick == "") {
+               $friendica = preg_replace("=https?://(.*)/profile/(.*)=ism", "$2", $profile);
+               if ($friendica != $profile)
+                       $nick = $friendica;
+       }
 
        if (!$nick == "") {
                $diaspora = preg_replace("=https?://(.*)/u/(.*)=ism", "$2", $profile);
@@ -2877,8 +2932,8 @@ function api_get_nick($profile) {
        //}
 
        if ($nick != "") {
-               q("UPDATE unique_contacts SET nick = '%s' WHERE url = '%s'",
-                       dbesc($nick), dbesc(normalise_link($profile)));
+               q("UPDATE `unique_contacts` SET `nick` = '%s' WHERE `nick` != '%s' AND url = '%s'",
+                       dbesc($nick), dbesc($nick), dbesc(normalise_link($profile)));
                return($nick);
        }
 
@@ -2979,6 +3034,205 @@ function api_best_nickname(&$contacts) {
                $contacts = array($contacts[0]);
 }
 
+       // return all or a specified group of the user with the containing contacts
+       function api_friendica_group_show(&$a, $type) {
+               if (api_user()===false) return false;           
+
+               // params
+               $user_info = api_get_user($a);
+               $gid = (x($_REQUEST,'gid') ? $_REQUEST['gid'] : 0);
+               $uid = $user_info['uid'];
+       
+               // get data of the specified group id or all groups if not specified
+               if ($gid != 0) {
+                       $r = q("SELECT * FROM `group` WHERE `deleted` = 0 AND `uid` = %d AND `id` = %d",
+                               intval($uid), 
+                               intval($gid));
+                       // error message if specified gid is not in database
+                       if (count($r) == 0) 
+                               die(api_error($a, $type, 'gid not available'));
+               }
+               else 
+                       $r = q("SELECT * FROM `group` WHERE `deleted` = 0 AND `uid` = %d",
+                               intval($uid));
+               
+               // loop through all groups and retrieve all members for adding data in the user array
+               foreach ($r as $rr) {
+                       $members = group_get_members($rr['id']);
+                       $users = array();
+                       foreach ($members as $member) {
+                               $user = api_get_user($a, $member['nurl']);
+                               $users[] = $user;
+                       }
+                       $grps[] = array('name' => $rr['name'], 'gid' => $rr['id'], 'user' => $users);
+               }
+               return api_apply_template("group_show", $type, array('$groups' => $grps));
+       }
+       api_register_func('api/friendica/group_show', 'api_friendica_group_show', true);
+
+
+       // delete the specified group of the user
+       function api_friendica_group_delete(&$a, $type) {
+               if (api_user()===false) return false;           
+
+               // params
+               $user_info = api_get_user($a);
+               $gid = (x($_REQUEST,'gid') ? $_REQUEST['gid'] : 0);
+               $name = (x($_REQUEST, 'name') ? $_REQUEST['name'] : "");
+               $uid = $user_info['uid'];
+       
+               // error if no gid specified
+               if ($gid == 0 || $name == "")
+                       die(api_error($a, $type, 'gid or name not specified'));
+
+               // get data of the specified group id
+               $r = q("SELECT * FROM `group` WHERE `uid` = %d AND `id` = %d",
+                       intval($uid), 
+                       intval($gid));
+               // error message if specified gid is not in database
+               if (count($r) == 0) 
+                       die(api_error($a, $type, 'gid not available'));
+
+               // get data of the specified group id and group name
+               $rname = q("SELECT * FROM `group` WHERE `uid` = %d AND `id` = %d AND `name` = '%s'",
+                       intval($uid), 
+                       intval($gid),
+                       dbesc($name));
+               // error message if specified gid is not in database
+               if (count($rname) == 0) 
+                       die(api_error($a, $type, 'wrong group name'));
+
+               // delete group
+               $ret = group_rmv($uid, $name);
+               if ($ret) {
+                       // return success
+                       $success = array('success' => $ret, 'gid' => $gid, 'name' => $name, 'status' => 'deleted', 'wrong users' => array());
+                       return api_apply_template("group_delete", $type, array('$result' => $success));
+               }
+               else
+                       die(api_error($a, $type, 'other API error'));
+       }
+       api_register_func('api/friendica/group_delete', 'api_friendica_group_delete', true);
+
+
+       // create the specified group with the posted array of contacts 
+       function api_friendica_group_create(&$a, $type) {
+               if (api_user()===false) return false;           
+
+               // params
+               $user_info = api_get_user($a);
+               $name = (x($_REQUEST, 'name') ? $_REQUEST['name'] : "");
+               $uid = $user_info['uid'];
+               $json = json_decode($_POST['json'], true);
+               $users = $json['user'];
+
+               // error if no name specified
+               if ($name == "")
+                       die(api_error($a, $type, 'group name not specified'));
+
+               // get data of the specified group name
+               $rname = q("SELECT * FROM `group` WHERE `uid` = %d AND `name` = '%s' AND `deleted` = 0",
+                       intval($uid), 
+                       dbesc($name));
+               // error message if specified group name already exists
+               if (count($rname) != 0) 
+                       die(api_error($a, $type, 'group name already exists'));
+
+               // check if specified group name is a deleted group
+               $rname = q("SELECT * FROM `group` WHERE `uid` = %d AND `name` = '%s' AND `deleted` = 1",
+                       intval($uid), 
+                       dbesc($name));
+               // error message if specified group name already exists
+               if (count($rname) != 0) 
+                       $reactivate_group = true;
+
+               // create group
+               $ret = group_add($uid, $name);
+               if ($ret) 
+                       $gid = group_byname($uid, $name);
+               else
+                       die(api_error($a, $type, 'other API error'));
+               
+               // add members
+               $erroraddinguser = false;
+               $errorusers = array();
+               foreach ($users as $user) {
+                       $cid = $user['cid'];
+                       // check if user really exists as contact
+                       $contact = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d", 
+                               intval($cid),
+                               intval($uid));
+                       if (count($contact))
+                               $result = group_add_member($uid, $name, $cid, $gid);
+                       else {
+                               $erroraddinguser = true;
+                               $errorusers[] = $cid;
+                       }
+               }
+
+               // return success message incl. missing users in array
+               $status = ($erroraddinguser ? "missing user" : ($reactivate_group ? "reactivated" : "ok"));
+               $success = array('success' => true, 'gid' => $gid, 'name' => $name, 'status' => $status, 'wrong users' => $errorusers);
+               return api_apply_template("group_create", $type, array('result' => $success));          
+       }
+       api_register_func('api/friendica/group_create', 'api_friendica_group_create', true);
+
+
+       // update the specified group with the posted array of contacts 
+       function api_friendica_group_update(&$a, $type) {
+               if (api_user()===false) return false;           
+
+               // params
+               $user_info = api_get_user($a);
+               $uid = $user_info['uid'];
+               $gid = (x($_REQUEST, 'gid') ? $_REQUEST['gid'] : 0);
+               $name = (x($_REQUEST, 'name') ? $_REQUEST['name'] : "");
+               $json = json_decode($_POST['json'], true);
+               $users = $json['user'];
+
+               // error if no name specified
+               if ($name == "")
+                       die(api_error($a, $type, 'group name not specified'));
+
+               // error if no gid specified
+               if ($gid == "")
+                       die(api_error($a, $type, 'gid not specified'));
+
+               // remove members
+               $members = group_get_members($gid);
+               foreach ($members as $member) {
+                       $cid = $member['id'];
+                       foreach ($users as $user) {
+                               $found = ($user['cid'] == $cid ? true : false);
+                       }
+                       if (!$found) {
+                               $ret = group_rmv_member($uid, $name, $cid);
+                       }
+               }
+
+               // add members
+               $erroraddinguser = false;
+               $errorusers = array();
+               foreach ($users as $user) {
+                       $cid = $user['cid'];
+                       // check if user really exists as contact
+                       $contact = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d", 
+                               intval($cid),
+                               intval($uid));
+                       if (count($contact))
+                               $result = group_add_member($uid, $name, $cid, $gid);
+                       else {
+                               $erroraddinguser = true;
+                               $errorusers[] = $cid;
+                       }
+               }
+               
+               // return success message incl. missing users in array
+               $status = ($erroraddinguser ? "missing user" : "ok");
+               $success = array('success' => true, 'gid' => $gid, 'name' => $name, 'status' => $status, 'wrong users' => $errorusers);
+               return api_apply_template("group_update", $type, array('result' => $success));          
+       }
+       api_register_func('api/friendica/group_update', 'api_friendica_group_update', true);
 
 /*
 To.Do:
index 8b18a02c58df0381afcbf318160a0fafe38dee30..9a9d9accad83ef002b3f398f701b4e95ac3508da 100755 (executable)
@@ -108,7 +108,7 @@ class exAuth
                                                                // ovdje provjeri je li korisnik OK
                                                                $sUser = str_replace(array("%20", "(a)"), array(" ", "@"), $aCommand[1]);
                                                                $this->writeDebugLog("[debug] checking isuser for ". $sUser);
-                                                               $sQuery = "select * from user where nickname='". $db->escape($sUser) ."'";
+                                                               $sQuery = "SELECT `uid` FROM `user` WHERE `nickname`='". $db->escape($sUser) ."'";
                                                                $this->writeDebugLog("[debug] using query ". $sQuery);
                                                                if ($oResult = q($sQuery)){
                                                                        if ($oResult) {
@@ -120,7 +120,7 @@ class exAuth
                                                                                $this->writeLog("[exAuth] invalid user: ". $sUser);
                                                                                fwrite(STDOUT, pack("nn", 2, 0));
                                                                        }
-                                                                       $oResult->close();
+                                                                       //$oResult->close();
                                                                } else {
                                                                        $this->writeLog("[MySQL] invalid query: ". $sQuery);
                                                                        fwrite(STDOUT, pack("nn", 2, 0));
@@ -136,10 +136,14 @@ class exAuth
                                                                // ovdje provjeri prijavu
                                                                $sUser = str_replace(array("%20", "(a)"), array(" ", "@"), $aCommand[1]);
                                                                $this->writeDebugLog("[debug] doing auth for ". $sUser);
-                                                               $sQuery = "select * from user where password='".hash('whirlpool',$aCommand[3])."' and nickname='". $db->escape($sUser) ."'";
+                                                               //$sQuery = "SELECT `uid`, `password` FROM `user` WHERE `password`='".hash('whirlpool',$aCommand[3])."' AND `nickname`='". $db->escape($sUser) ."'";
+                                                               $sQuery = "SELECT `uid`, `password` FROM `user` WHERE `nickname`='". $db->escape($sUser) ."'";
                                                                $this->writeDebugLog("[debug] using query ". $sQuery);
                                                                if ($oResult = q($sQuery)){
-                                                                       if ($oResult) {
+                                                                       $uid = $oResult[0]["uid"];
+                                                                       $Error = ($oResult[0]["password"] != hash('whirlpool',$aCommand[3]));
+/*
+                                                                       if ($oResult[0]["password"] == hash('whirlpool',$aCommand[3])) {
                                                                                // korisnik OK
                                                                                $this->writeLog("[exAuth] authentificated user ". $sUser ."@". $aCommand[2]);
                                                                                fwrite(STDOUT, pack("nn", 2, 1));
@@ -149,9 +153,24 @@ class exAuth
                                                                                fwrite(STDOUT, pack("nn", 2, 0));
                                                                        }
                                                                        $oResult->close();
+*/
                                                                } else {
                                                                        $this->writeLog("[MySQL] invalid query: ". $sQuery);
+                                                                       $Error = true;
+                                                                       $uid = -1;
+                                                               }
+                                                               if ($Error) {
+                                                                       $oConfig = q("SELECT `v` FROM `pconfig` WHERE `uid`=%d AND `cat` = 'xmpp' AND `k`='password' LIMIT 1;", intval($uid));
+                                                                       $this->writeLog("[exAuth] got password ".$oConfig[0]["v"]);
+                                                                       $Error = ($aCommand[3] != $oConfig[0]["v"]);
+                                                               }
+
+                                                               if ($Error) {
+                                                                       $this->writeLog("[exAuth] authentification failed for user ". $sUser ."@". $aCommand[2]);
                                                                        fwrite(STDOUT, pack("nn", 2, 0));
+                                                               } else {
+                                                                       $this->writeLog("[exAuth] authentificated user ". $sUser ."@". $aCommand[2]);
+                                                                       fwrite(STDOUT, pack("nn", 2, 1));
                                                                }
                                                        }
                                                break;
index fc05e720f4f7b1c7a16896532d7e534d315cc7d1..a8b39f741ac84a2d066066e129176cf0dff82b9a 100644 (file)
@@ -83,7 +83,6 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
                'return \'#\'. str_replace(\' \', \'_\', $match[2]);'
        ), $Text);
 
-
        // Converting images with size parameters to simple images. Markdown doesn't know it.
        $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '[img]$3[/img]', $Text);
 
@@ -94,11 +93,12 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
                // Add all tags that maybe were removed
                if (preg_match_all("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",$OriginalText, $tags)) {
                        $tagline = "";
-                       foreach($tags[2] as $tag)
-                               if (!strpos($Text, "#".$tag))
+                       foreach($tags[2] as $tag) {
+                               $tag = html_entity_decode($tag, ENT_QUOTES, 'UTF-8');
+                               if (!strpos(html_entity_decode($Text, ENT_QUOTES, 'UTF-8'), "#".$tag))
                                        $tagline .= "#".$tag." ";
-
-                       $Text = $Text."<br />".$tagline;
+                       }
+                       $Text = $Text." ".$tagline;
                }
 
        } else
index 2fcf6c3247a572a8404b78c97716799465427fc9..100c3b93061c9515f13df2c5a060cc31278b1512 100644 (file)
@@ -99,10 +99,19 @@ function bb_attachment($Text, $simplehtml = false, $tryoembed = true) {
                                $image = "";
                        }
 
-                       if ($simplehtml == 7)
-                               $text = sprintf('<a href="%s" title="%s" class="attachment thumbnail" rel="nofollow external">%s</a>',
-                                               $url, $title, $title);
-                       elseif (($simplehtml != 4) AND ($simplehtml != 0))
+                       if ($simplehtml == 7) {
+                               $title2 = $title;
+
+                               $test1 = trim(html_entity_decode($match[1],ENT_QUOTES,'UTF-8'));
+                               $test2 = trim(html_entity_decode($title,ENT_QUOTES,'UTF-8'));
+
+                               // If the link description is similar to the text above then don't add the link description
+                               if (($title != "") AND ((strpos($test1,$test2) !== false) OR
+                                       (similar_text($test1,$test2) / strlen($title)) > 0.9))
+                                       $title2 = $url;
+                               $text = sprintf('<a href="%s" title="%s" class="attachment thumbnail" rel="nofollow external">%s</a><br />',
+                                               $url, $title, $title2);
+                       } elseif (($simplehtml != 4) AND ($simplehtml != 0))
                                $text = sprintf('<a href="%s" target="_blank">%s</a><br>', $url, $title);
                        else {
                                $text = sprintf('<span class="type-%s">', $type);
@@ -950,12 +959,14 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
        $Text = preg_replace_callback("&\[url=/posts/([^\[\]]*)\](.*)\[\/url\]&Usi", 'bb_DiasporaLinks', $Text);
 
        // if the HTML is used to generate plain text, then don't do this search, but replace all URL of that kind to text
-       if (!$forplaintext)
-               $Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1<a href="$2" target="_blank">$2</a>', $Text);
-       else {
-               $Text = preg_replace("(\[url\]([$URLSearchString]*)\[\/url\])ism"," $1 ",$Text);
-               $Text = preg_replace_callback("&\[url=([^\[\]]*)\]\[img\](.*)\[\/img\]\[\/url\]&Usi", 'bb_RemovePictureLinks', $Text);
-       }
+//     if ($simplehtml != 7) {
+               if (!$forplaintext)
+                       $Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1<a href="$2" target="_blank">$2</a>', $Text);
+               else {
+                       $Text = preg_replace("(\[url\]([$URLSearchString]*)\[\/url\])ism"," $1 ",$Text);
+                       $Text = preg_replace_callback("&\[url=([^\[\]]*)\]\[img\](.*)\[\/img\]\[\/url\]&Usi", 'bb_RemovePictureLinks', $Text);
+               }
+//     }
 
        if ($tryoembed)
                $Text = preg_replace_callback("/\[url\]([$URLSearchString]*)\[\/url\]/ism",'tryoembed',$Text);
@@ -1210,7 +1221,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
        // start which is always required). Allow desc with a missing summary for compatibility.
 
        if((x($ev,'desc') || x($ev,'summary')) && x($ev,'start')) {
-               $sub = format_event_html($ev);
+               $sub = format_event_html($ev, $simplehtml);
 
                $Text = preg_replace("/\[event\-summary\](.*?)\[\/event\-summary\]/ism",'',$Text);
                $Text = preg_replace("/\[event\-description\](.*?)\[\/event\-description\]/ism",'',$Text);
index f0ac87a09f32b4f3e7759cec13acc5c5568137c0..f104866232d4326f36cc3669636986682770b67f 100644 (file)
@@ -88,7 +88,7 @@ function network_to_name($s, $profile = "") {
                NETWORK_PUMPIO   => t('pump.io'),
                NETWORK_TWITTER  => t('Twitter'),
                NETWORK_DIASPORA2 => t('Diaspora Connector'),
-               NETWORK_STATUSNET => t('Statusnet'),
+               NETWORK_STATUSNET => t('GNU Social'),
                NETWORK_APPNET => t('App.net')
        );
 
index 810671a91cceee3e4ce78a646b56b7ef443a79d3..bbbd941b5609df3ae7321bc708599e17c6de4ccc 100644 (file)
@@ -20,12 +20,12 @@ function findpeople_widget() {
        if(get_config('system','invitation_only')) {
                $x = get_pconfig(local_user(),'system','invites_remaining');
                if($x || is_site_admin()) {
-                       $a->page['aside'] .= '<div class="side-link" id="side-invite-remain">' 
-                       . sprintf( tt('%d invitation available','%d invitations available',$x), $x) 
+                       $a->page['aside'] .= '<div class="side-link" id="side-invite-remain">'
+                       . sprintf( tt('%d invitation available','%d invitations available',$x), $x)
                        . '</div>' . $inv;
                }
        }
+
        return replace_macros(get_markup_template('peoplefind.tpl'),array(
                '$findpeople' => t('Find People'),
                '$desc' => t('Enter name or interest'),
@@ -40,18 +40,55 @@ function findpeople_widget() {
 
 }
 
+function unavailable_networks() {
+       $network_filter = "";
+
+       $networks = array();
+
+       if (!plugin_enabled("appnet"))
+               $networks[] = NETWORK_APPNET;
+
+       if (!plugin_enabled("fbpost") AND !plugin_enabled("facebook"))
+               $networks[] = NETWORK_FACEBOOK;
+
+       if (!plugin_enabled("statusnet"))
+               $networks[] = NETWORK_STATUSNET;
+
+       if (!plugin_enabled("pumpio"))
+               $networks[] = NETWORK_PUMPIO;
+
+       if (!plugin_enabled("twitter"))
+               $networks[] = NETWORK_TWITTER;
+
+       if (get_config("system","ostatus_disabled"))
+               $networks[] = NETWORK_OSTATUS;
+
+       if (!get_config("system","diaspora_enabled"))
+               $networks[] = NETWORK_DIASPORA;
+
+       if (!sizeof($networks))
+               return "";
+
+       $network_filter = implode("','", $networks);
+
+       $network_filter = "AND `network` NOT IN ('$network_filter')";
+
+       return $network_filter;
+}
 
 function networks_widget($baseurl,$selected = '') {
 
        $a = get_app();
 
-       if(! local_user())
+       if(!local_user())
                return '';
 
-       if(! feature_enabled(local_user(),'networks'))
+       if(!feature_enabled(local_user(),'networks'))
                return '';
 
-       $r = q("SELECT DISTINCT(`network`) FROM `contact` WHERE `uid` = %d AND `self` = 0 ORDER BY `network`",
+       $extra_sql = unavailable_networks();
+
+       $r = q("SELECT DISTINCT(`network`) FROM `contact` WHERE `uid` = %d AND NOT `self` $extra_sql ORDER BY `network`",
                intval(local_user())
        );
 
@@ -180,7 +217,7 @@ function common_friends_visitor_widget($profile_uid) {
        }
 
        if($cid == 0 && $zcid == 0)
-               return; 
+               return;
 
        require_once('include/socgraph.php');
 
@@ -204,6 +241,6 @@ function common_friends_visitor_widget($profile_uid) {
                '$linkmore' => (($t > 5) ? 'true' : ''),
                '$more' => t('show more'),
                '$items' => $r
-       )); 
+       ));
 
 };
index 0907b5dce23cfe2ac0b569a3a9e5453c44dbe4c7..476ae80bea1b0276228b1bd386045a7c45a71b6c 100644 (file)
@@ -100,7 +100,7 @@ function localize_item(&$item){
                $item['body'] = item_redir_and_replace_images($extracted['body'], $extracted['images'], $item['contact-id']);
 
        $xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
-       if (activity_match($item['verb'],ACTIVITY_LIKE) 
+       if (activity_match($item['verb'],ACTIVITY_LIKE)
                || activity_match($item['verb'],ACTIVITY_DISLIKE)
                || activity_match($item['verb'],ACTIVITY_ATTEND)
                || activity_match($item['verb'],ACTIVITY_ATTENDNO)
@@ -891,7 +891,7 @@ function item_photo_menu($item){
        if(($cid) && (! $item['self'])) {
                $poke_link = $a->get_baseurl($ssl_state) . '/poke/?f=&c=' . $cid;
                $contact_url = $a->get_baseurl($ssl_state) . '/contacts/' . $cid;
-               $posts_link = $a->get_baseurl($ssl_state) . '/network/0?nets=all&cid=' . $cid;
+               $posts_link = $a->get_baseurl($ssl_state) . '/contacts/' . $cid . '/posts';
 
                $clean_url = normalise_link($item['author-link']);
 
@@ -984,15 +984,15 @@ function builtin_activity_puller($item, &$conv_responses) {
                                $url = z_root(true) . '/redir/' . $item['contact-id'];
                                $sparkle = ' class="sparkle" ';
                        }
-                       else 
+                       else
                                $url = zrl($url);
-                       
+
                        $url = '<a href="'. $url . '"'. $sparkle .'>' . htmlentities($item['author-name']) . '</a>';
 
                        if(! $item['thr-parent'])
                                $item['thr-parent'] = $item['parent-uri'];
 
-                       if(! ((isset($conv_responses[$mode][$item['thr-parent'] . '-l'])) 
+                       if(! ((isset($conv_responses[$mode][$item['thr-parent'] . '-l']))
                                && (is_array($conv_responses[$mode][$item['thr-parent'] . '-l']))))
                                $conv_responses[$mode][$item['thr-parent'] . '-l'] = array();
 
@@ -1025,10 +1025,31 @@ function format_like($cnt,$arr,$type,$id) {
        $o = '';
        $expanded = '';
 
-       if($cnt == 1)
+       if($cnt == 1) {
                $likers = $arr[0];
 
-       else {
+               // Phrase if there is only one liker. In other cases it will be uses for the expanded
+               // list which show all likers
+               switch($type) {
+                       case 'like' :
+                               $phrase = sprintf( t('%s likes this.'), $likers);
+                               break;
+                       case 'dislike' :
+                               $phrase = sprintf( t('%s doesn\'t like this.'), $likers);
+                               break;
+                       case 'attendyes' :
+                               $phrase = sprintf( t('%s attends.'), $likers);
+                               break;
+                       case 'attendno' :
+                               $phrase = sprintf( t('%s doesn\'t attend.'), $likers);
+                               break;
+                       case 'attendmaybe' :
+                               $phrase = sprintf( t('%s attends maybe.'), $likers);
+                               break;
+               }
+       }
+
+       if($cnt > 1) {
                $total = count($arr);
                if($total >= MAX_LIKERS)
                        $arr = array_slice($arr, 0, MAX_LIKERS - 1);
@@ -1043,55 +1064,33 @@ function format_like($cnt,$arr,$type,$id) {
                }
 
                $likers = $str;
-       }
 
-       // Phrase if there is only one liker. In other cases it will be uses for the expanded
-       // list which show all likers
-       switch($type) {
-               case 'like' :
-                       $phrase = sprintf( t('%s likes this.'), $likers);
-                       break;
-               case 'dislike' :
-                       $phrase = sprintf( t('%s doesn\'t like this.'), $likers);
-                       break;
-               case 'attendyes' :
-                       $phrase = sprintf( t('%s attends.'), $likers);
-                       break;
-               case 'attendno' :
-                       $phrase = sprintf( t('%s doesn\'t attend.'), $likers);
-                       break;
-               case 'attendmaybe' :
-                       $phrase = sprintf( t('%s attends maybe.'), $likers);
-                       break;
-       }
-
-       if($cnt > 1) {
                $spanatts = "class=\"fakelink\" onclick=\"openClose('{$type}list-$id');\"";
-               $expanded .= "\t" . '<div class="wall-item-' . $type . '-expanded" id="' . $type . 'list-' . $id . '" style="display: none;" >' . $phrase . EOL . '</div>';
+
                switch($type) {
                        case 'like':
                                $phrase = sprintf( t('<span  %1$s>%2$d people</span> like this'), $spanatts, $cnt);
+                               $explikers = sprintf( t('%s like this.'), $likers);
                                break;
                        case 'dislike':
                                $phrase = sprintf( t('<span  %1$s>%2$d people</span> don\'t like this'), $spanatts, $cnt);
+                               $explikers = sprintf( t('%s don\'t like this.'), $likers);
                                break;
                        case 'attendyes':
                                $phrase = sprintf( t('<span  %1$s>%2$d people</span> attend'), $spanatts, $cnt);
+                               $explikers = sprintf( t('%s attend.'), $likers);
                                break;
                        case 'attendno':
                                $phrase = sprintf( t('<span  %1$s>%2$d people</span> don\'t attend'), $spanatts, $cnt);
+                               $explikers = sprintf( t('%s don\'t attend.'), $likers);
                                break;
                        case 'attendmaybe':
                                $phrase = sprintf( t('<span  %1$s>%2$d people</span> anttend maybe'), $spanatts, $cnt);
-                       case 'agree':
-                               $phrase = sprintf( t('<span  %1$s>%2$d people</span> agree'), $spanatts, $cnt);
+                               $explikers = sprintf( t('%s anttend maybe.'), $likers);
                                break;
-                       case 'disagree':
-                               $phrase = sprintf( t('<span  %1$s>%2$d people</span> don\'t agree'), $spanatts, $cnt);
-                               break;
-                       case 'abstain':
-                               $phrase = sprintf( t('<span  %1$s>%2$d people</span> abstains'), $spanatts, $cnt);
                }
+
+               $expanded .= "\t" . '<div class="wall-item-' . $type . '-expanded" id="' . $type . 'list-' . $id . '" style="display: none;" >' . $explikers . EOL . '</div>';
        }
 
        $phrase .= EOL ;
@@ -1292,6 +1291,15 @@ function conv_sort($arr,$order) {
 
        $parents = array();
        $children = array();
+       $newarr = array();
+
+       // This is a preparation for having two different items with the same uri in one thread
+       // This will otherwise lead to an endless loop.
+       foreach($arr as $x)
+               if (!isset($newarr[$x['uri']]))
+                       $newarr[$x['uri']] = $x;
+
+       $arr = $newarr;
 
        foreach($arr as $x)
                if($x['id'] == $x['parent'])
index 46067d76da05f88c10b4173c212466abee82c7e0..d95d8bc601bfa7b19d7a5d89eaaa977c0c9e780a 100644 (file)
@@ -151,9 +151,10 @@ function cron_run(&$argv, &$argc){
 
                update_contact_birthdays();
 
-               update_suggestions();
+               proc_run('php',"include/discover_poco.php", "suggestions");
 
                set_config('system','last_expire_day',$d2);
+
                proc_run('php','include/expire.php');
        }
 
@@ -188,6 +189,27 @@ function cron_run(&$argv, &$argc){
                        q('DELETE FROM `photo` WHERE `uid` = 0 AND `resource-id` LIKE "pic:%%" AND `created` < NOW() - INTERVAL %d SECOND', $cachetime);
                }
 
+               // maximum table size in megabyte
+               $max_tablesize = intval(get_config('system','optimize_max_tablesize')) * 1000000;
+               if ($max_tablesize == 0)
+                       $max_tablesize = 100 * 1000000; // Default are 100 MB
+
+               // Optimize some tables that need to be optimized
+               $r = q("SHOW TABLE STATUS");
+               foreach($r as $table) {
+
+                       // Don't optimize tables that needn't to be optimized
+                       if ($table["Data_free"] == 0)
+                               continue;
+
+                       // Don't optimize tables that are too large
+                       if ($table["Data_length"] > $max_tablesize)
+                               continue;
+
+                       // So optimize it
+                       q("OPTIMIZE TABLE `%s`", dbesc($table["Name"]));
+               }
+
                set_config('system','cache_last_cleared', time());
        }
 
index 6461298ba2f155cc24db192554d6120c5e1dd2f9..79964ef404525e5074d226f836040aa1894a5298 100644 (file)
@@ -43,18 +43,18 @@ function select_timezone($current = 'America/Los_Angeles') {
                        if($continent != t('Miscellaneous')) {
                                $o .= '</optgroup>';
                                $continent = t('Miscellaneous');
-                               $o .= '<optgroup label="' . t($continent) . '">';       
+                               $o .= '<optgroup label="' . t($continent) . '">';
                        }
                }
                $city = str_replace('_', ' ',  t($city));
                $selected = (($value == $current) ? " selected=\"selected\" " : "");
                $o .= "<option value=\"$value\" $selected >$city</option>";
-       }    
+       }
        $o .= '</optgroup></select>';
        return $o;
 }}
 
-// return a select using 'field_select_raw' template, with timezones 
+// return a select using 'field_select_raw' template, with timezones
 // groupped (primarily) by continent
 // arguments follow convetion as other field_* template array:
 // 'name', 'label', $value, 'help'
@@ -63,12 +63,12 @@ function field_timezone($name='timezone', $label='', $current = 'America/Los_Ang
        $options = select_timezone($current);
        $options = str_replace('<select id="timezone_select" name="timezone">','', $options);
        $options = str_replace('</select>','', $options);
-       
+
        $tpl = get_markup_template('field_select_raw.tpl');
        return replace_macros($tpl, array(
                '$field' => array($name, $label, $current, $help, $options),
        ));
-       
+
 }}
 
 // General purpose date parse/convert function.
@@ -92,8 +92,8 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d
 
        // Slight hackish adjustment so that 'zero' datetime actually returns what is intended
        // otherwise we end up with -0001-11-30 ...
-       // add 32 days so that we at least get year 00, and then hack around the fact that 
-       // months and days always start with 1. 
+       // add 32 days so that we at least get year 00, and then hack around the fact that
+       // months and days always start with 1.
 
        if(substr($s,0,10) == '0000-00-00') {
                $d = new DateTime($s . ' + 32 days', new DateTimeZone('UTC'));
@@ -203,13 +203,25 @@ function timesel($format, $h, $m, $id='timepicker') {
  *  set maximum date from picker with id $maxfrom (none by default)
  * @param boolean $required default false
  * @return string Parsed HTML output.
- * 
+ *
  * @todo Once browser support is better this could probably be replaced with
  * native HTML5 date picker.
  */
 if(! function_exists('datetimesel')) {
 function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pickdate = true, $picktime = true, $minfrom = '', $maxfrom = '', $required = false) {
 
+       $a = get_app();
+
+       // First day of the week (0 = Sunday)
+       $firstDay = get_pconfig(local_user(),'system','first_day_of_week');
+       if ($firstDay === false) $firstDay=0;
+
+       $lang = substr(get_browser_language(), 0, 2);
+
+       // Check if the detected language is supported by the picker
+       if (!in_array($lang, array("ar", "ro", "id", "bg", "fa", "ru", "uk", "en", "el", "de", "nl", "tr", "fr", "es", "th", "pl", "pt", "ch", "se", "kr", "it", "da", "no", "ja", "vi", "sl", "cs", "hu")))
+               $lang = ((isset($a->config['system']['language'])) ? $a->config['system']['language'] : 'en');
+
        $o = '';
        $dateformat = '';
        if($pickdate) $dateformat .= 'Y-m-d';
@@ -217,16 +229,17 @@ function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pic
        if($picktime) $dateformat .= 'H:i';
        $minjs = $min ? ",minDate: new Date({$min->getTimestamp()}*1000), yearStart: " . $min->format('Y') : '';
        $maxjs = $max ? ",maxDate: new Date({$max->getTimestamp()}*1000), yearEnd: " . $max->format('Y') : '';
-       
+
        $input_text = $default ? 'value="' . date($dateformat, $default->getTimestamp()) . '"' : '';
        $defaultdatejs = $default ? ",defaultDate: new Date({$default->getTimestamp()}*1000)" : '';
        $pickers = '';
        if(!$pickdate) $pickers .= ',datepicker: false';
        if(!$picktime) $pickers .= ',timepicker: false';
        $extra_js = '';
-       if($minfrom != '') 
+       $pickers .= ",dayOfWeekStart: ".$firstDay.",lang:'".$lang."'";
+       if($minfrom != '')
                $extra_js .= "\$('#$minfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#$id').data('xdsoft_datetimepicker').setOptions({minDate: currentDateTime})}})";
-       if($maxfrom != '') 
+       if($maxfrom != '')
                $extra_js .= "\$('#$maxfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#$id').data('xdsoft_datetimepicker').setOptions({maxDate: currentDateTime})}})";
        $readable_format = $dateformat;
        $readable_format = str_replace('Y','yyyy',$readable_format);
@@ -236,7 +249,9 @@ function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pic
        $readable_format = str_replace('i','MM',$readable_format);
        $o .= "<div class='date'><input type='text' placeholder='$readable_format' name='$id' id='$id' $input_text />";
        $o .= '</div>';
-       $o .= "<script type='text/javascript'>\$(function () {var picker = \$('#$id').datetimepicker({step:5,format:'$dateformat' $minjs $maxjs $pickers $defaultdatejs}); $extra_js})</script>";
+       $o .= "<script type='text/javascript'>";
+       $o .= "\$(function () {var picker = \$('#$id').datetimepicker({step:5,format:'$dateformat' $minjs $maxjs $pickers $defaultdatejs}); $extra_js})";
+       $o .= "</script>";
        return $o;
 }}
 
@@ -248,27 +263,27 @@ function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pic
 if(! function_exists('relative_date')) {
 function relative_date($posted_date,$format = null) {
 
-       $localtime = datetime_convert('UTC',date_default_timezone_get(),$posted_date); 
+       $localtime = datetime_convert('UTC',date_default_timezone_get(),$posted_date);
 
        $abs = strtotime($localtime);
-    
-    if (is_null($posted_date) || $posted_date === '0000-00-00 00:00:00' || $abs === False) {
+
+       if (is_null($posted_date) || $posted_date === '0000-00-00 00:00:00' || $abs === False) {
                 return t('never');
        }
 
        $etime = time() - $abs;
-    
+
        if ($etime < 1) {
                return t('less than a second ago');
        }
-    
+
        /*
        $time_append = '';
        if ($etime >= 86400) {
                $time_append = ' ('.$localtime.')';
        }
        */
-       
+
        $a = array( 12 * 30 * 24 * 60 * 60  =>  array( t('year'),   t('years')),
                                30 * 24 * 60 * 60       =>  array( t('month'),  t('months')),
                                7  * 24 * 60 * 60       =>  array( t('week'),   t('weeks')),
@@ -277,7 +292,7 @@ function relative_date($posted_date,$format = null) {
                                60                      =>  array( t('minute'), t('minutes')),
                                1                       =>  array( t('second'), t('seconds'))
        );
-    
+
        foreach ($a as $secs => $str) {
                $d = $etime / $secs;
                if ($d >= 1) {
@@ -295,13 +310,13 @@ function relative_date($posted_date,$format = null) {
 // Returns age in years, given a date of birth,
 // the timezone of the person whose date of birth is provided,
 // and the timezone of the person viewing the result.
-// Why? Bear with me. Let's say I live in Mittagong, Australia, and my 
+// Why? Bear with me. Let's say I live in Mittagong, Australia, and my
 // birthday is on New Year's. You live in San Bruno, California.
 // When exactly are you going to see my age increase?
-// A: 5:00 AM Dec 31 San Bruno time. That's precisely when I start 
-// celebrating and become a year older. If you wish me happy birthday 
-// on January 1 (San Bruno time), you'll be a day late. 
-   
+// A: 5:00 AM Dec 31 San Bruno time. That's precisely when I start
+// celebrating and become a year older. If you wish me happy birthday
+// on January 1 (San Bruno time), you'll be a day late.
+
 function age($dob,$owner_tz = '',$viewer_tz = '') {
        if(! intval($dob))
                return 0;
@@ -357,7 +372,7 @@ function get_first_dim($y,$m) {
 
 // output a calendar for the given month, year.
 // if $links are provided (array), e.g. $links[12] => 'http://mylink' , 
-// date 12 will be linked appropriately. Today's date is also noted by 
+// date 12 will be linked appropriately. Today's date is also noted by
 // altering td class.
 // Months count from 1.
 
@@ -376,7 +391,7 @@ function cal($y = 0,$m = 0, $links = false, $class='') {
          'April','May','June',
          'July','August','September',
          'October','November','December'
-       ); 
+       );
 
        $thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
        $thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m');
@@ -427,8 +442,8 @@ function cal($y = 0,$m = 0, $links = false, $class='') {
   if($dow)
     for($a = $dow; $a < 7; $a ++)
        $o .= '<td>&nbsp;</td>';
-  $o .= '</tr></table>'."\r\n";  
-  
+  $o .= '</tr></table>'."\r\n";
+
   return $o;
 }}
 
@@ -452,10 +467,10 @@ function update_contact_birthdays() {
                         *
                         * $bdtext is just a readable placeholder in case the event is shared
                         * with others. We will replace it during presentation to our $importer
-                        * to contain a sparkle link and perhaps a photo. 
+                        * to contain a sparkle link and perhaps a photo.
                         *
                         */
-                        
+
                        $bdtext = sprintf( t('%s\'s birthday'), $rr['name']);
                        $bdtext2 = sprintf( t('Happy Birthday %s'), ' [url=' . $rr['url'] . ']' . $rr['name'] . '[/url]') ;
 
index deb6ddf5330639acab34f8fe11f1eb6ebb0a4d4c..2078c208a2a03183234d08c0763eac002b37506b 100644 (file)
@@ -62,7 +62,6 @@ function update_fail($update_id, $error_message){
        */
        //try the logger
        logger("CRITICAL: Database structure update failed: ".$retval);
-       break;
 }
 
 
@@ -642,6 +641,7 @@ function db_definition() {
                                        "gender" => array("type" => "varchar(32)", "not null" => "1", "default" => ""),
                                        "community" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
                                        "network" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
+                                       "addr" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "generation" => array("type" => "tinyint(3)", "not null" => "1", "default" => "0"),
                                        "server_url" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        ),
index 659add2ad61af1f6b05653a04e39c1da8409074f..dc02faaba8e03d1957797861a6cd4a0ee9defa59 100644 (file)
@@ -2,6 +2,7 @@
 require_once("boot.php");
 require_once('include/queue_fn.php');
 require_once('include/html2plain.php');
+require_once("include/ostatus.php");
 
 function delivery_run(&$argv, &$argc){
        global $a, $db;
@@ -340,9 +341,9 @@ function delivery_run(&$argv, &$argc){
                                                $ssl_policy = get_config('system','ssl_policy');
                                                fix_contact_ssl_policy($x[0],$ssl_policy);
 
-                                               // If we are setup as a soapbox we aren't accepting input from this person
+                                               // If we are setup as a soapbox we aren't accepting top level posts from this person
 
-                                               if($x[0]['page-flags'] == PAGE_SOAPBOX)
+                                               if (($x[0]['page-flags'] == PAGE_SOAPBOX) AND $top_level)
                                                        break;
 
                                                require_once('library/simplepie/simplepie.inc');
@@ -391,7 +392,8 @@ function delivery_run(&$argv, &$argc){
                                                        continue;
 
                                                if(($top_level) && ($public_message) && ($item['author-link'] === $item['owner-link']) && (! $expire))
-                                                       $slaps[] = atom_entry($item,'html',null,$owner,true);
+                                                       $slaps[] = ostatus_salmon($item,$owner);
+                                                       //$slaps[] = atom_entry($item,'html',null,$owner,true);
                                        }
 
                                        logger('notifier: slapdelivery: ' . $contact['name']);
index 757cf1a6bade158c8a827da9f1a5ed72a7e5f340..e0eaf065d6956907b921e9b40b0a0fa8e327bb97 100644 (file)
@@ -1386,11 +1386,6 @@ function diaspora_asphoto($importer,$xml,$msg) {
 
 }
 
-
-
-
-
-
 function diaspora_comment($importer,$xml,$msg) {
 
        $a = get_app();
@@ -1510,16 +1505,27 @@ function diaspora_comment($importer,$xml,$msg) {
                }
        }
 
+       // Fetch the contact id - if we know this contact
+       $r = q("SELECT `id`, `network` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d LIMIT 1",
+               dbesc(normalise_link($person['url'])), intval($importer['uid']));
+       if ($r) {
+               $cid = $r[0]['id'];
+               $network = $r[0]['network'];
+       } else {
+               $cid = $contact['id'];
+               $network = NETWORK_DIASPORA;
+       }
+
        $body = diaspora2bb($text);
        $message_id = $diaspora_handle . ':' . $guid;
 
        $datarray = array();
 
        $datarray['uid'] = $importer['uid'];
-       $datarray['contact-id'] = $contact['id'];
+       $datarray['contact-id'] = $cid;
        $datarray['type'] = 'remote-comment';
        $datarray['wall'] = $parent_item['wall'];
-       $datarray['network']  = NETWORK_DIASPORA;
+       $datarray['network']  = $network;
        $datarray['verb'] = ACTIVITY_POST;
        $datarray['gravity'] = GRAVITY_COMMENT;
        $datarray['guid'] = $guid;
@@ -2155,13 +2161,24 @@ function diaspora_like($importer,$xml,$msg) {
 EOT;
        $bodyverb = t('%1$s likes %2$s\'s %3$s');
 
+       // Fetch the contact id - if we know this contact
+       $r = q("SELECT `id`, `network` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d LIMIT 1",
+               dbesc(normalise_link($person['url'])), intval($importer['uid']));
+       if ($r) {
+               $cid = $r[0]['id'];
+               $network = $r[0]['network'];
+       } else {
+               $cid = $contact['id'];
+               $network = NETWORK_DIASPORA;
+       }
+
        $arr = array();
 
        $arr['uri'] = $uri;
        $arr['uid'] = $importer['uid'];
        $arr['guid'] = $guid;
-       $arr['network']  = NETWORK_DIASPORA;
-       $arr['contact-id'] = $contact['id'];
+       $arr['network']  = $network;
+       $arr['contact-id'] = $cid;
        $arr['type'] = 'activity';
        $arr['wall'] = $parent_item['wall'];
        $arr['gravity'] = GRAVITY_LIKE;
@@ -2237,8 +2254,23 @@ function diaspora_retraction($importer,$xml) {
        if($type === 'Person') {
                require_once('include/Contact.php');
                contact_remove($contact['id']);
-       }
-       elseif($type === 'Post') {
+       } elseif($type === 'StatusMessage') {
+               $guid = notags(unxmlify($xml->post_guid));
+
+               $r = q("SELECT * FROM `item` WHERE `guid` = '%s' AND `uid` = %d AND NOT `file` LIKE '%%[%%' LIMIT 1",
+                       dbesc($guid),
+                       intval($importer['uid'])
+               );
+               if(count($r)) {
+                       if(link_compare($r[0]['author-link'],$contact['url'])) {
+                               q("UPDATE `item` SET `deleted` = 1, `changed` = '%s' WHERE `id` = %d",
+                                       dbesc(datetime_convert()),
+                                       intval($r[0]['id'])
+                               );
+                               delete_thread($r[0]['id'], $r[0]['parent-uri']);
+                       }
+               }
+       } elseif($type === 'Post') {
                $r = q("select * from item where guid = '%s' and uid = %d and not file like '%%[%%' limit 1",
                        dbesc('guid'),
                        intval($importer['uid'])
@@ -2421,7 +2453,8 @@ function diaspora_profile($importer,$xml,$msg) {
 
        $birthday = str_replace('1000','1901',$birthday);
 
-       $birthday = datetime_convert('UTC','UTC',$birthday,'Y-m-d');
+       if ($birthday != "")
+               $birthday = datetime_convert('UTC','UTC',$birthday,'Y-m-d');
 
        // this is to prevent multiple birthday notifications in a single year
        // if we already have a stored birthday and the 'm-d' part hasn't changed, preserve the entry, which will preserve the notify year
index 79958a8849a4235b7a53156cc5c2fdddd26de046..a8e7ec64d04743a44e8ddd68bfe6858756ad2a6d 100644 (file)
@@ -41,6 +41,8 @@ function discover_poco_run(&$argv, &$argc){
                $mode = 1;
        } elseif(($argc == 2) && ($argv[1] == "checkcontact")) {
                $mode = 2;
+       } elseif(($argc == 2) && ($argv[1] == "suggestions")) {
+               $mode = 3;
        } elseif ($argc == 1) {
                $search = "";
                $mode = 0;
@@ -69,7 +71,9 @@ function discover_poco_run(&$argv, &$argc){
 
        logger('start '.$search);
 
-       if (($mode == 2) AND get_config('system','poco_completion'))
+       if ($mode==3)
+               update_suggestions();
+       elseif (($mode == 2) AND get_config('system','poco_completion'))
                discover_users();
        elseif (($mode == 1) AND ($search != "") and get_config('system','poco_local_search'))
                discover_directory($search);
index fedbe24468ab67a4085422375974013e279bd77e..c4111dc0b174869be3fff15d6b58599a10d06bcd 100644 (file)
@@ -3,7 +3,7 @@
 require_once('include/bbcode.php');
 require_once('include/map.php');
 
-function format_event_html($ev) {
+function format_event_html($ev, $simple = false) {
 
 
 
@@ -12,6 +12,32 @@ function format_event_html($ev) {
 
        $bd_format = t('l F d, Y \@ g:i A') ; // Friday January 18, 2011 @ 8 AM
 
+       $event_start = (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(),
+                       $ev['start'] , $bd_format ))
+                       :  day_translate(datetime_convert('UTC', 'UTC',
+                       $ev['start'] , $bd_format)));
+
+       $event_end = (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(),
+                               $ev['finish'] , $bd_format ))
+                               :  day_translate(datetime_convert('UTC', 'UTC',
+                               $ev['finish'] , $bd_format )));
+
+       if ($simple) {
+               $o = "<h3>".bbcode($ev['summary'])."</h3>";
+
+               $o .= "<p>".bbcode($ev['desc'])."</p>";
+
+               $o .= "<h4>".t('Starts:')."</h4><p>".$event_start."</p>";
+
+               if(! $ev['nofinish'])
+                       $o .= "<h4>".t('Finishes:')."</h4><p>".$event_end."</p>";
+
+               if(strlen($ev['location']))
+                       $o .= "<h4>".t('Location:')."</h4><p>".$ev['location']."</p>";
+
+               return $o;
+       }
+
        $o = '<div class="vevent">' . "\r\n";
 
 
@@ -21,33 +47,25 @@ function format_event_html($ev) {
 
        $o .= '<p class="event-start">' . t('Starts:') . ' <abbr class="dtstart" title="'
                . datetime_convert('UTC','UTC',$ev['start'], (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
-               . '" >' 
-               . (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), 
-                       $ev['start'] , $bd_format ))
-                       :  day_translate(datetime_convert('UTC', 'UTC', 
-                       $ev['start'] , $bd_format)))
+               . '" >'.$event_start
                . '</abbr></p>' . "\r\n";
 
        if(! $ev['nofinish'])
                $o .= '<p class="event-end" >' . t('Finishes:') . ' <abbr class="dtend" title="'
                        . datetime_convert('UTC','UTC',$ev['finish'], (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
-                       . '" >' 
-                       . (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), 
-                               $ev['finish'] , $bd_format ))
-                               :  day_translate(datetime_convert('UTC', 'UTC', 
-                               $ev['finish'] , $bd_format )))
+                       . '" >'.$event_end
                        . '</abbr></p>'  . "\r\n";
 
        if(strlen($ev['location'])){
-               $o .= '<p class="event-location"> ' . t('Location:') . ' <span class="location">' 
-                       . bbcode($ev['location']) 
+               $o .= '<p class="event-location"> ' . t('Location:') . ' <span class="location">'
+                       . bbcode($ev['location'])
                        . '</span></p>' . "\r\n";
-               
+
                if (strpos($ev['location'], "[map")===False) {
                        $map = generate_named_map($ev['location']);
                        if ($map!==$ev['location']) $o.=$map;
                }
-               
+
        }
 
        $o .= '</div>' . "\r\n";
@@ -137,7 +155,7 @@ function format_event_bbcode($ev) {
 
        if(($ev['finish']) && (! $ev['nofinish']))
                $o .= '[event-finish]' . $ev['finish'] . '[/event-finish]';
+
        if($ev['location'])
                $o .= '[event-location]' . $ev['location'] . '[/event-location]';
 
@@ -200,11 +218,17 @@ function ev_compare($a,$b) {
 
        if($date_a === $date_b)
                return strcasecmp($a['desc'],$b['desc']);
-       
+
        return strcmp($date_a,$date_b);
 }
 
+function event_delete($event_id) {
+       if ($event_id == 0)
+               return;
 
+       q("DELETE FROM `event` WHERE `id` = %d", intval($event_id));
+       logger("Deleted event ".$event_id, LOGGER_DEBUG);
+}
 
 function event_store($arr) {
 
@@ -324,7 +348,7 @@ function event_store($arr) {
        }
        else {
 
-               // New event. Store it. 
+               // New event. Store it.
 
                $r = q("INSERT INTO `event` ( `uid`,`cid`,`uri`,`created`,`edited`,`start`,`finish`,`summary`, `desc`,`location`,`type`,
                        `adjust`,`nofinish`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`)
@@ -362,6 +386,7 @@ function event_store($arr) {
                $item_arr['contact-id']    = $arr['cid'];
                $item_arr['uri']           = $arr['uri'];
                $item_arr['parent-uri']    = $arr['uri'];
+               $item_arr['guid']          = $arr['guid'];
                $item_arr['type']          = 'activity';
                $item_arr['wall']          = (($arr['cid']) ? 0 : 1);
                $item_arr['contact-id']    = $contact['id'];
index 1307132a64fce66236e08c5f599833f0ea144db0..2639604576cf5951f956fa3abfdad55d0e951b01 100644 (file)
@@ -1,19 +1,54 @@
 <?php
 
-/*
- * Features management
+/**
+ * @file include/features.php * 
+ * @brief Features management
  */
 
-
+/**
+ * @brief check if feature is enabled
+ * 
+ * return boolean
+ */
 function feature_enabled($uid,$feature) {
        //return true;
 
        $x = get_pconfig($uid,'feature',$feature);
+       if($x === false) {
+               $x = get_config('feature',$feature);
+               if($x === false)
+                       $x = get_feature_default($feature);
+       }
        $arr = array('uid' => $uid, 'feature' => $feature, 'enabled' => $x);
        call_hooks('feature_enabled',$arr);
        return($arr['enabled']);
 }
 
+/**
+ * @brief check if feature is enabled or disabled by default
+ * 
+ * @param string $feature
+ * @return boolean
+ */
+function get_feature_default($feature) {
+       $f = get_features();
+       foreach($f as $cat) {
+               foreach($cat as $feat) {
+                       if(is_array($feat) && $feat[0] === $feature)
+                               return $feat[3];
+               }
+       }
+       return false;
+}
+
+/**
+ * @ brief get a list of all available features
+ * The array includes the setting group, the setting name,
+ * explainations for the setting and if it's enabled or disabled
+ * by default
+ * 
+ * @return array
+ */
 function get_features() {
 
        $arr = array(
@@ -22,46 +57,53 @@ function get_features() {
                'general' => array(
                        t('General Features'),
                        //array('expire',         t('Content Expiration'),              t('Remove old posts/comments after a period of time')),
-                       array('multi_profiles', t('Multiple Profiles'),                 t('Ability to create multiple profiles')),
+                       array('multi_profiles', t('Multiple Profiles'),                 t('Ability to create multiple profiles'),false),
                        array('photo_location', t('Photo Location'),                    t('Photo metadata is normally stripped. This extracts the location (if present) prior to stripping metadata and links it to a map.'),false),
                ),
 
                // Post composition
                'composition' => array(
                        t('Post Composition Features'),
-                       array('richtext',       t('Richtext Editor'),                   t('Enable richtext editor')),
-                       array('preview',        t('Post Preview'),                      t('Allow previewing posts and comments before publishing them')),
-                       array('aclautomention', t('Auto-mention Forums'),               t('Add/remove mention when a fourm page is selected/deselected in ACL window.')),
+                       array('richtext',       t('Richtext Editor'),                   t('Enable richtext editor'),false),
+                       array('preview',        t('Post Preview'),                      t('Allow previewing posts and comments before publishing them'),false),
+                       array('aclautomention', t('Auto-mention Forums'),               t('Add/remove mention when a fourm page is selected/deselected in ACL window.'),false),
                ),
 
                // Network sidebar widgets
                'widgets' => array(
                        t('Network Sidebar Widgets'),
-                       array('archives',       t('Search by Date'),                    t('Ability to select posts by date ranges')),
-                       array('groups',                 t('Group Filter'),                              t('Enable widget to display Network posts only from selected group')),
-                       array('networks',               t('Network Filter'),                    t('Enable widget to display Network posts only from selected network')),
-                       array('savedsearch',    t('Saved Searches'),                    t('Save search terms for re-use')),
+                       array('archives',       t('Search by Date'),                    t('Ability to select posts by date ranges'),false),
+                       array('forumlist_widget', t('List Forums'),                     t('Enable widget to display the forums your are connected with'),true),
+                       array('groups',         t('Group Filter'),                      t('Enable widget to display Network posts only from selected group'),false),
+                       array('networks',       t('Network Filter'),                    t('Enable widget to display Network posts only from selected network'),false),
+                       array('savedsearch',    t('Saved Searches'),                    t('Save search terms for re-use'),false),
                ),
 
                // Network tabs
                'net_tabs' => array(
                        t('Network Tabs'),
-                       array('personal_tab',   t('Network Personal Tab'),              t('Enable tab to display only Network posts that you\'ve interacted on')),
-                       array('new_tab',                t('Network New Tab'),                   t('Enable tab to display only new Network posts (from the last 12 hours)')),
-                       array('link_tab',       t('Network Shared Links Tab'),  t('Enable tab to display only Network posts with links in them')),
+                       array('personal_tab',   t('Network Personal Tab'),              t('Enable tab to display only Network posts that you\'ve interacted on'),false),
+                       array('new_tab',        t('Network New Tab'),                   t('Enable tab to display only new Network posts (from the last 12 hours)'),false),
+                       array('link_tab',       t('Network Shared Links Tab'),          t('Enable tab to display only Network posts with links in them'),false),
                ),
 
                // Item tools
                'tools' => array(
                        t('Post/Comment Tools'),
-                       array('multi_delete',   t('Multiple Deletion'),                 t('Select and delete multiple posts/comments at once')),
-                       array('edit_posts',     t('Edit Sent Posts'),                   t('Edit and correct posts and comments after sending')),
-                       array('commtag',        t('Tagging'),                                   t('Ability to tag existing posts')),
-                       array('categories',     t('Post Categories'),                   t('Add categories to your posts')),
-                       array('filing',         t('Saved Folders'),                             t('Ability to file posts under folders')),
-                       array('dislike',        t('Dislike Posts'),                             t('Ability to dislike posts/comments')),
-                       array('star_posts',     t('Star Posts'),                                t('Ability to mark special posts with a star indicator')),
-                       array('ignore_posts',   t('Mute Post Notifications'),                   t('Ability to mute notifications for a thread')),
+                       array('multi_delete',   t('Multiple Deletion'),                 t('Select and delete multiple posts/comments at once'),false),
+                       array('edit_posts',     t('Edit Sent Posts'),                   t('Edit and correct posts and comments after sending'),false),
+                       array('commtag',        t('Tagging'),                           t('Ability to tag existing posts'),false),
+                       array('categories',     t('Post Categories'),                   t('Add categories to your posts'),false),
+                       array('filing',         t('Saved Folders'),                     t('Ability to file posts under folders'),false),
+                       array('dislike',        t('Dislike Posts'),                     t('Ability to dislike posts/comments')),
+                       array('star_posts',     t('Star Posts'),                        t('Ability to mark special posts with a star indicator'),false),
+                       array('ignore_posts',   t('Mute Post Notifications'),           t('Ability to mute notifications for a thread'),false),
+               ),
+
+               // Advanced Profile Settings
+               'advanced_profile' => array(
+                       t('Advanced Profile Settings'),
+                       array('forumlist_profile', t('List Forums'),                    t('Show visitors public community forums at the Advanced Profile Page'),false),
                ),
        );
 
index e66f279a9ba742e264b4f5e94cb437eba2fda98a..d7bbb24cbfcd5a6bcb35222defcfe5713eb37276 100644 (file)
@@ -203,8 +203,8 @@ function feed_import($xml,$importer,&$contact, &$hub) {
 
                //$item["object"] = $xml;
 
-               $r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `network` = '%s'",
-                       intval($importer["uid"]), dbesc($item["uri"]), dbesc(NETWORK_FEED));
+               $r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `network` IN ('%s', '%s')",
+                       intval($importer["uid"]), dbesc($item["uri"]), dbesc(NETWORK_FEED), dbesc(NETWORK_DFRN));
                if ($r) {
                        logger("Item with uri ".$item["uri"]." for user ".$importer["uid"]." already existed under id ".$r[0]["id"], LOGGER_DEBUG);
                        continue;
diff --git a/include/forums.php b/include/forums.php
new file mode 100644 (file)
index 0000000..995a29c
--- /dev/null
@@ -0,0 +1,182 @@
+<?php
+
+/**
+ * @file include/forums.php
+ * @brief Functions related to forum functionality *
+ */
+
+
+/**
+ * @brief Function to list all forums a user is connected with
+ *
+ * @param int $uid of the profile owner
+ * @param boolean $showhidden
+ *     Show frorums which are not hidden
+ * @param boolean $lastitem
+ *     Sort by lastitem
+ * @param boolean $showprivate
+ *     Show private groups
+ *
+ * @returns array
+ *     'url'   => forum url
+ *     'name'  => forum name
+ *     'id'    => number of the key from the array
+ *     'micro' => contact photo in format micro
+ */
+function get_forumlist($uid, $showhidden = true, $lastitem, $showprivate = false) {
+
+       $forumlist = array();
+
+       $order = (($showhidden) ? '' : ' AND NOT `hidden` ');
+       $order .= (($lastitem) ? ' ORDER BY `last-item` DESC ' : ' ORDER BY `name` ASC ');
+       $select = '`forum` ';
+       if ($showprivate) {
+               $select = '(`forum` OR `prv`)';
+       }
+
+       $contacts = q("SELECT `contact`.`id`, `contact`.`url`, `contact`.`name`, `contact`.`micro` FROM `contact`
+                       WHERE `network`= 'dfrn' AND $select AND `uid` = %d
+                       AND NOT `blocked` AND NOT `hidden` AND NOT `pending` AND NOT `archive`
+                       AND `success_update` > `failure_update`
+                       $order ",
+                       intval($uid)
+       );
+
+       foreach($contacts as $contact) {
+               $forumlist[] = array(
+                       'url'   => $contact['url'],
+                       'name'  => $contact['name'],
+                       'id'    => $contact['id'],
+                       'micro' => $contact['micro'],
+               );
+       }
+       return($forumlist);
+}
+
+
+/**
+ * @brief Forumlist widget
+ *
+ * Sidebar widget to show subcribed friendica forums. If activated
+ * in the settings, it appears at the notwork page sidebar
+ *
+ * @param int $uid
+ * @param int $cid
+ *     The contact id which is used to mark a forum as "selected"
+ * @return string
+ */
+function widget_forumlist($uid,$cid = 0) {
+
+       if(! intval(feature_enabled(local_user(),'forumlist_widget')))
+               return;
+
+       $o = '';
+
+       //sort by last updated item
+       $lastitem = true;
+
+       $contacts = get_forumlist($uid,true,$lastitem, true);
+       $total = count($contacts);
+       $visible_forums = 10;
+
+       if(count($contacts)) {
+
+               $id = 0;
+
+               foreach($contacts as $contact) {
+
+                       $selected = (($cid == $contact['id']) ? ' forum-selected' : '');
+
+                       $entry = array(
+                               'url' => z_root() . '/network?f=&cid=' . $contact['id'],
+                               'external_url' => z_root() . '/redir/' . $contact['id'],
+                               'name' => $contact['name'],
+                               'cid' => $contact['id'],
+                               'selected'      => $selected,
+                               'micro' => proxy_url($contact['micro'], false, PROXY_SIZE_MICRO),
+                               'id' => ++$id,
+                       );
+                       $entries[] = $entry;
+               }
+
+               $tpl = get_markup_template('widget_forumlist.tpl');
+
+               $o .= replace_macros($tpl,array(
+                       '$title'        => t('Forums'),
+                       '$forums'       => $entries,
+                       '$link_desc'    => t('External link to forum'),
+                       '$total'        => $total,
+                       '$visible_forums' => $visible_forums,
+                       '$showmore'     => t('show more'),
+               ));
+       }
+
+       return $o;
+}
+
+/**
+ * @brief Format forumlist as contact block
+ *
+ * This function is used to show the forumlist in
+ * the advanced profile.
+ *
+ * @param int $uid
+ * @return string
+ *
+ */
+function forumlist_profile_advanced($uid) {
+
+       $profile = intval(feature_enabled($uid,'forumlist_profile'));
+       if(! $profile)
+               return;
+
+       $o = '';
+
+       // place holder in case somebody wants configurability
+       $show_total = 9999;
+
+       //don't sort by last updated item
+       $lastitem = false;
+
+       $contacts = get_forumlist($uid,false,$lastitem,false);
+
+       $total_shown = 0;
+
+       foreach($contacts as $contact) {
+               $forumlist .= micropro($contact,false,'forumlist-profile-advanced');
+               $total_shown ++;
+               if($total_shown == $show_total)
+                       break;
+       }
+
+       if(count($contacts) > 0)
+               $o .= $forumlist;
+               return $o;
+}
+
+/**
+ * @brief count unread forum items
+ *
+ * Count unread items of connected forums and private groups
+ *
+ * @return array
+ *     'id' => contact id
+ *     'name' => contact/forum name
+ *     'count' => counted unseen forum items
+ *
+ */
+
+function forums_count_unseen() {
+       $r = q("SELECT `contact`.`id`, `contact`.`name`, COUNT(*) AS `count` FROM `item`
+                       INNER JOIN `contact` ON `item`.`contact-id` = `contact`.`id`
+                       WHERE `item`.`uid` = %d AND `item`.`visible` AND NOT `item`.`deleted` AND `item`.`unseen`
+                       AND `contact`.`network`= 'dfrn' AND (`contact`.`forum` OR `contact`.`prv`)
+                       AND NOT `contact`.`blocked` AND NOT `contact`.`hidden`
+                       AND NOT `contact`.`pending` AND NOT `contact`.`archive`
+                       AND `contact`.`success_update` > `failure_update`
+                       GROUP BY `contact`.`id` ",
+               intval(local_user())
+       );
+
+       return $r;
+}
index b5169267545b9f53ca3dc300e5ad850e4c57bea9..99dc12bf8d9a27c96d6a2b79bed01e9939ad2aa0 100644 (file)
@@ -2,6 +2,7 @@
 
 require_once "object/TemplateEngine.php";
 require_once("library/Smarty/libs/Smarty.class.php");
+require_once "include/plugin.php";
 
 define('SMARTY3_TEMPLATE_FOLDER','templates');
 
@@ -39,19 +40,19 @@ class FriendicaSmarty extends Smarty {
                }
                return $this->fetch('file:' . $this->filename);
        }
-       
+
 
 }
 
 class FriendicaSmartyEngine implements ITemplateEngine {
        static $name ="smarty3";
-       
+
     public function __construct(){
                if(!is_writable('view/smarty3/')){
                        echo "<b>ERROR:</b> folder <tt>view/smarty3/</tt> must be writable by webserver."; killme();
                }
-       } 
-    
+       }
+
        // ITemplateEngine interface
        public function replace_macros($s, $r) {
                $template = '';
@@ -59,15 +60,24 @@ class FriendicaSmartyEngine implements ITemplateEngine {
                        $template = $s;
                        $s = new FriendicaSmarty();
                }
+
+               // "middleware": inject variables into templates
+               $arr = array(
+                       "template"=> basename($s->filename),
+                       "vars" => $r
+               );
+               call_hooks("template_vars", $arr);
+               $r = $arr['vars'];
+
                foreach($r as $key=>$value) {
                        if($key[0] === '$') {
                                $key = substr($key, 1);
                        }
                        $s->assign($key, $value);
                }
-               return $s->parsed($template);           
+               return $s->parsed($template);
        }
-       
+
        public function get_template_file($file, $root=''){
                $a = get_app();
                $template_file = get_template_file($a, SMARTY3_TEMPLATE_FOLDER.'/'.$file, $root);
index b7e1963bf37901cb2d6d77a3ca6d8ae224752c6b..fd1c97dfde47d1af8c665b03eac51370428a7940 100644 (file)
@@ -156,9 +156,11 @@ function group_add_member($uid,$name,$member,$gid = 0) {
 function group_get_members($gid) {
        $ret = array();
        if(intval($gid)) {
-               $r = q("SELECT `group_member`.`contact-id`, `contact`.* FROM `group_member` 
-                       INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id` 
-                       WHERE `gid` = %d AND `group_member`.`uid` = %d ORDER BY `contact`.`name` ASC ",
+               $r = q("SELECT `group_member`.`contact-id`, `contact`.* FROM `group_member`
+                       INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id`
+                       WHERE `gid` = %d AND `group_member`.`uid` = %d AND
+                               NOT `contact`.`self` AND NOT `contact`.`blocked` AND NOT `contact`.`pending`
+                               ORDER BY `contact`.`name` ASC ",
                        intval($gid),
                        intval(local_user())
                );
@@ -171,14 +173,14 @@ function group_get_members($gid) {
 function group_public_members($gid) {
        $ret = 0;
        if(intval($gid)) {
-               $r = q("SELECT `contact`.`id` AS `contact-id` FROM `group_member` 
-                       INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id` 
-                       WHERE `gid` = %d AND `group_member`.`uid` = %d 
+               $r = q("SELECT `contact`.`id` AS `contact-id` FROM `group_member`
+                       INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id`
+                       WHERE `gid` = %d AND `group_member`.`uid` = %d
                        AND  `contact`.`network` = '%s' AND `contact`.`notify` != '' ",
                        intval($gid),
                        intval(local_user()),
                        dbesc(NETWORK_OSTATUS)
-               );              
+               );
                if(count($r))
                        $ret = count($r);
        }
@@ -187,7 +189,7 @@ function group_public_members($gid) {
 
 
 function mini_group_select($uid,$gid = 0) {
-       
+
        $grps = array();
        $o = '';
 
@@ -205,15 +207,26 @@ function mini_group_select($uid,$gid = 0) {
 
        $o = replace_macros(get_markup_template('group_selection.tpl'), array(
                '$label' => t('Default privacy group for new contacts'),
-               '$groups' => $grps 
+               '$groups' => $grps
        ));
        return $o;
 }
 
 
-
-
-function group_side($every="contacts",$each="group",$edit = false, $group_id = 0, $cid = 0) {
+/**
+ * @brief Create group sidebar widget
+ * 
+ * @param string $every
+ * @param string $each
+ * @param string $editmode
+ *     'standard' => include link 'Edit groups'
+ *     'extended' => include link 'Create new group'
+ *     'full' => include link 'Create new group' and provide for each group a link to edit this group
+ * @param int $group_id
+ * @param int $cid
+ * @return string
+ */
+function group_side($every="contacts",$each="group",$editmode = "standard", $group_id = 0, $cid = 0) {
 
        $o = '';
 
@@ -237,13 +250,13 @@ function group_side($every="contacts",$each="group",$edit = false, $group_id = 0
        $member_of = array();
        if($cid) {
                $member_of = groups_containing(local_user(),$cid);
-       } 
+       }
 
        if(count($r)) {
                foreach($r as $rr) {
                        $selected = (($group_id == $rr['id']) ? ' group-selected' : '');
                        
-                       if ($edit) {
+                       if ($editmode == "full") {
                                $groupedit = array(
                                        'href' => "group/".$rr['id'],
                                        'title' => t('edit'),
@@ -267,14 +280,17 @@ function group_side($every="contacts",$each="group",$edit = false, $group_id = 0
 
        $tpl = get_markup_template("group_side.tpl");
        $o = replace_macros($tpl, array(
-               '$title'                => t('Groups'),
+               '$title'        => t('Groups'),
+               'newgroup'      => (($editmode == "extended") || ($editmode == "full") ? 1 : ''),
+               '$editgroupstext' => t('Edit groups'),
+               'grouppage'     => "group/",
                '$edittext'     => t('Edit group'),
                '$createtext'   => t('Create a new group'),
-    '$creategroup' => t('Group Name: '),
-    '$form_security_token' => get_form_security_token("group_edit"),
+               '$creategroup'  => t('Group Name: '),
+               '$form_security_token' => get_form_security_token("group_edit"),
                '$ungrouped'    => (($every === 'contacts') ? t('Contacts not in any group') : ''),
-               '$groups'               => $groups,
-               '$add'                  => t('add'),
+               '$groups'       => $groups,
+               '$add'          => t('add'),
        ));
 
 
@@ -324,3 +340,30 @@ function groups_containing($uid,$c) {
 
        return $ret;
 }
+/**
+ * @brief count unread group items
+ *
+ * Count unread items of each groups
+ *
+ * @return array
+ *     'id' => group id
+ *     'name' => group name
+ *     'count' => counted unseen group items
+ *
+ */
+function groups_count_unseen() {
+
+       $r = q("SELECT `group`.`id`, `group`.`name`, COUNT(`item`.`id`) AS `count` FROM `group`, `group_member`, `item`
+                       WHERE `group`.`uid` = %d
+                       AND `item`.`uid` = %d
+                       AND `item`.`unseen` AND `item`.`visible`
+                       AND NOT `item`.`deleted`
+                       AND `item`.`contact-id` = `group_member`.`contact-id`
+                       AND `group_member`.`gid` = `group`.`id`
+                       GROUP BY `group`.`id` ",
+               intval(local_user()),
+               intval(local_user())
+       );
+
+       return $r;
+}
\ No newline at end of file
index 10a2fd13e5e24eb6be995d5fb7fbc92965e234da..28e251aee4e82425a0fd0c88574558c43f701dd7 100644 (file)
@@ -85,14 +85,16 @@ function deletenode(&$doc, $node)
                $child->parentNode->removeChild($child);
 }}
 
+function _replace_code_cb($m){
+       return "<code>".str_replace("\n","<br>\n",$m[1]). "</code>";
+}
+
 function html2bbcode($message)
 {
 
        $message = str_replace("\r", "", $message);
 
-       $message = preg_replace_callback("|<pre><code>([^<]*)</code></pre>|ism", function($m) {
-               return "<code>".str_replace("\n","<br>\n",$m[1]). "</code>";
-       }, $message);
+       $message = preg_replace_callback("|<pre><code>([^<]*)</code></pre>|ism", "_replace_code_cb", $message);
 
        $message = str_replace(array(
                                        "<li><p>",
index 6faddffd3c0027276b645019de241a1d43cb297c..2230d98a42f66385948fbf8d6efafd15bda3ecc3 100644 (file)
@@ -1,4 +1,9 @@
 <?php
+/**
+ * @file include/identity.php
+ */
+
+require_once('include/forums.php');
 
 
 /**
@@ -40,39 +45,9 @@ if(! function_exists('profile_load')) {
                        return;
                }
 
-               if(remote_user() && count($_SESSION['remote'])) {
-                       foreach($_SESSION['remote'] as $visitor) {
-                               if($visitor['uid'] == $user[0]['uid']) {
-                                       $r = q("SELECT `profile-id` FROM `contact` WHERE `id` = %d LIMIT 1",
-                                               intval($visitor['cid'])
-                                       );
-                                       if(count($r))
-                                               $profile = $r[0]['profile-id'];
-                                       break;
-                               }
-                       }
-               }
-
-               $r = null;
+               $pdata = get_profiledata_by_nick($nickname, $user[0]['uid'], $profile);
 
-               if($profile) {
-                       $profile_int = intval($profile);
-                       $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `user`.* FROM `profile`
-                                       INNER JOIN `contact` on `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
-                                       WHERE `user`.`nickname` = '%s' AND `profile`.`id` = %d and `contact`.`self` = 1 LIMIT 1",
-                                       dbesc($nickname),
-                                       intval($profile_int)
-                       );
-               }
-               if((!$r) && (!count($r))) {
-                       $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `user`.* FROM `profile`
-                                       INNER JOIN `contact` on `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
-                                       WHERE `user`.`nickname` = '%s' AND `profile`.`is-default` = 1 and `contact`.`self` = 1 LIMIT 1",
-                                       dbesc($nickname)
-                       );
-               }
-
-               if(($r === false) || (!count($r)) && !count($profiledata)) {
+               if(($pdata === false) || (!count($pdata)) && !count($profiledata)) {
                        logger('profile error: ' . $a->query_string, LOGGER_DEBUG);
                        notice( t('Requested profile is not available.') . EOL );
                        $a->error = 404;
@@ -81,16 +56,16 @@ if(! function_exists('profile_load')) {
 
                // fetch user tags if this isn't the default profile
 
-               if(!$r[0]['is-default']) {
-                       $x = q("select `pub_keywords` from `profile` where uid = %d and `is-default` = 1 limit 1",
-                                       intval($r[0]['profile_uid'])
+               if(!$pdata['is-default']) {
+                       $x = q("SELECT `pub_keywords` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1",
+                                       intval($pdata['profile_uid'])
                        );
                        if($x && count($x))
-                               $r[0]['pub_keywords'] = $x[0]['pub_keywords'];
+                               $pdata['pub_keywords'] = $x[0]['pub_keywords'];
                }
 
-               $a->profile = $r[0];
-               $a->profile_uid = $r[0]['profile_uid'];
+               $a->profile = $pdata;
+               $a->profile_uid = $pdata['profile_uid'];
 
                $a->profile['mobile-theme'] = get_pconfig($a->profile['profile_uid'], 'system', 'mobile_theme');
                $a->profile['network'] = NETWORK_DFRN;
@@ -142,6 +117,58 @@ if(! function_exists('profile_load')) {
 }
 
 
+/**
+ * @brief Get all profil data of a local user
+ *     If the viewer is an authenticated remote viewer, the profile displayed is the
+ *     one that has been configured for his/her viewing in the Contact manager.
+ *     Passing a non-zero profile ID can also allow a preview of a selected profile
+ *     by the owner
+ * 
+ * @param string $nickname
+ * @param int $uid
+ * @param int $profile
+ *     ID of the profile
+ * @returns array
+ *     Includes all available profile data
+ */
+function get_profiledata_by_nick($nickname, $uid = 0, $profile = 0) {
+       if(remote_user() && count($_SESSION['remote'])) {
+                       foreach($_SESSION['remote'] as $visitor) {
+                               if($visitor['uid'] == $uid) {
+                                       $r = q("SELECT `profile-id` FROM `contact` WHERE `id` = %d LIMIT 1",
+                                               intval($visitor['cid'])
+                                       );
+                                       if(count($r))
+                                               $profile = $r[0]['profile-id'];
+                                       break;
+                               }
+                       }
+               }
+
+       $r = null;
+
+       if($profile) {
+               $profile_int = intval($profile);
+               $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.* FROM `profile`
+                               INNER JOIN `contact` on `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
+                               WHERE `user`.`nickname` = '%s' AND `profile`.`id` = %d AND `contact`.`self` = 1 LIMIT 1",
+                               dbesc($nickname),
+                               intval($profile_int)
+               );
+       }
+       if((!$r) && (!count($r))) {
+               $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.* FROM `profile`
+                               INNER JOIN `contact` ON `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
+                               WHERE `user`.`nickname` = '%s' AND `profile`.`is-default` = 1 AND `contact`.`self` = 1 LIMIT 1",
+                               dbesc($nickname)
+               );
+       }
+
+       return $r[0];
+
+}
+
+
 /**
  *
  * Function: profile_sidebar
@@ -156,8 +183,6 @@ if(! function_exists('profile_load')) {
  * Exceptions: Returns empty string if passed $profile is wrong type or not populated
  *
  */
-
-
 if(! function_exists('profile_sidebar')) {
        function profile_sidebar($profile, $block = 0) {
                $a = get_app();
@@ -165,7 +190,7 @@ if(! function_exists('profile_sidebar')) {
                $o = '';
                $location = false;
                $address = false;
-               $pdesc = true;
+//             $pdesc = true;
 
                if((! is_array($profile)) && (! count($profile)))
                        return $o;
@@ -173,12 +198,8 @@ if(! function_exists('profile_sidebar')) {
                $profile['picdate'] = urlencode($profile['picdate']);
 
                if (($profile['network'] != "") AND ($profile['network'] != NETWORK_DFRN)) {
-                       require_once('include/contact_selectors.php');
-                       if ($profile['url'] != "")
-                               $profile['network_name'] = '<a href="'.$profile['url'].'">'.network_to_name($profile['network'], $profile['url'])."</a>";
-                       else
-                               $profile['network_name'] = network_to_name($profile['network']);
-               } else
+                       $profile['network_name'] = format_network_name($profile['network'],$profile['url']);
+               } else 
                        $profile['network_name'] = "";
 
                call_hooks('profile_sidebar_enter', $profile);
@@ -211,12 +232,17 @@ if(! function_exists('profile_sidebar')) {
                }
 
                if ($connect AND ($profile['network'] != NETWORK_DFRN) AND !isset($profile['remoteconnect']))
-                               $connect = false;
+                       $connect = false;
 
                if (isset($profile['remoteconnect']))
                        $remoteconnect = $profile['remoteconnect'];
 
-               if( get_my_url() && $profile['unkmail'] && ($profile['uid'] != local_user()) )
+               if ($connect AND ($profile['network'] == NETWORK_DFRN) AND !isset($remoteconnect))
+                       $subscribe_feed = t("Atom feed");
+               else
+                       $subscribe_feed = false;
+
+               if(get_my_url() && $profile['unkmail'] && ($profile['uid'] != local_user()))
                        $wallmessage = t('Message');
                else
                        $wallmessage = false;
@@ -260,6 +286,16 @@ if(! function_exists('profile_sidebar')) {
                        );
                }
 
+               // check if profile is a forum
+               if((x($profile['page-flags']) == 2)
+                               || (x($profile['page-flags']) == 5)
+                               || (x($profile['forum']))
+                               || (x($profile['prv']))
+                               || (x($profile['community'])))
+                       $account_type = t('Forum');
+               else
+                       $account_type = "";
+
                if((x($profile,'address') == 1)
                                || (x($profile,'locality') == 1)
                                || (x($profile,'region') == 1)
@@ -306,7 +342,7 @@ if(! function_exists('profile_sidebar')) {
                                if(count($r))
                                        $updated =  date("c", strtotime($r[0]['updated']));
 
-                               $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 AND `hidden` = 0 AND `archive` = 0
+                               $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0
                                                AND `network` IN ('%s', '%s', '%s', '')",
                                        intval($profile['uid']),
                                        dbesc(NETWORK_DFRN),
@@ -332,10 +368,12 @@ if(! function_exists('profile_sidebar')) {
                        '$profile' => $p,
                        '$connect'  => $connect,
                        '$remoteconnect'  => $remoteconnect,
+                       '$subscribe_feed' => $subscribe_feed,
                        '$wallmessage' => $wallmessage,
+                       '$account_type' => $account_type,
                        '$location' => $location,
                        '$gender'   => $gender,
-                       '$pdesc'        => $pdesc,
+//                     '$pdesc'        => $pdesc,
                        '$marital'  => $marital,
                        '$homepage' => $homepage,
                        '$about' => $about,
@@ -525,8 +563,9 @@ if(! function_exists('get_events')) {
 function advanced_profile(&$a) {
 
        $o = '';
+       $uid = $a->profile['uid'];
 
-       $o .= replace_macros(get_markup_template("section_title.tpl"),array(
+       $o .= replace_macros(get_markup_template('section_title.tpl'),array(
                '$title' => t('Profile')
        ));
 
@@ -603,6 +642,11 @@ function advanced_profile(&$a) {
                if($txt = prepare_text($a->profile['work'])) $profile['work'] = array( t('Work/employment:'), $txt);
 
                if($txt = prepare_text($a->profile['education'])) $profile['education'] = array( t('School/education:'), $txt );
+       
+               //show subcribed forum if it is enabled in the usersettings
+               if (feature_enabled($uid,'forumlist_profile')) {
+                       $profile['forumlist'] = array( t('Forums:'), forumlist_profile_advanced($uid));
+               }
 
                if ($a->profile['uid'] == local_user())
                        $profile['edit'] = array($a->get_baseurl(). '/profiles/'.$a->profile['id'], t('Edit profile'),"", t('Edit profile'));
@@ -683,6 +727,16 @@ if(! function_exists('profile_tabs')){
                        );
                }
 
+               if ((! $is_owner) && ((count($a->profile)) || (! $a->profile['hide-friends']))) {
+                       $tabs[] = array(
+                               'label' => t('Contacts'),
+                               'url'   => $a->get_baseurl() . '/viewcontacts/' . $nickname,
+                               'sel'   => ((!isset($tab)&&$a->argv[0]=='viewcontacts')?'active':''),
+                               'title' => t('Contacts'),
+                               'id' => 'viewcontacts-tab',
+                               'accesskey' => 'k',
+                       );
+               }
 
                $arr = array('is_owner' => $is_owner, 'nickname' => $nickname, 'tab' => (($tab) ? $tab : false), 'tabs' => $tabs);
                call_hooks('profile_tabs', $arr);
index 4e86a5200af6d3a74e2e1939c624d0bca07555da..2ac494ba275ce4569838ecd548fd1a1746beff8f 100644 (file)
@@ -1196,6 +1196,24 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
                }
        }
 
+       // Do we already have this item?
+       // We have to check several networks since Friendica posts could be repeated via OStatus (maybe Diasporsa as well)
+       if (in_array(trim($arr['network']), array(NETWORK_DIASPORA, NETWORK_DFRN, NETWORK_OSTATUS, ""))) {
+               $r = q("SELECT `id`, `network` FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `network` IN ('%s', '%s', '%s')  LIMIT 1",
+                               dbesc(trim($arr['uri'])),
+                               intval($uid),
+                               dbesc(NETWORK_DIASPORA),
+                               dbesc(NETWORK_DFRN),
+                               dbesc(NETWORK_OSTATUS)
+                       );
+               if ($r) {
+                       // We only log the entries with a different user id than 0. Otherwise we would have too many false positives
+                       if ($uid != 0)
+                               logger("Item with uri ".$arr['uri']." already existed for user ".$uid." with id ".$r[0]["id"]." target network ".$r[0]["network"]." - new network: ".$arr['network']);
+                       return($r[0]["id"]);
+               }
+       }
+
        // If there is no guid then take the same guid that was taken before for the same uri
        if ((trim($arr['guid']) == "") AND (trim($arr['uri']) != "") AND (trim($arr['network']) != "")) {
                logger('item_store: checking for an existing guid for uri '.$arr['uri'], LOGGER_DEBUG);
@@ -1232,8 +1250,10 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
 
        if ($notify)
                $guid_prefix = "";
-       else
-               $guid_prefix = $arr['network'];
+       else {
+               $parsed = parse_url($arr["author-link"]);
+               $guid_prefix = hash("crc32", $parsed["host"]);
+       }
 
        $arr['wall']          = ((x($arr,'wall'))          ? intval($arr['wall'])                : 0);
        $arr['guid']          = ((x($arr,'guid'))          ? notags(trim($arr['guid']))          : get_guid(32, $guid_prefix));
@@ -1425,9 +1445,10 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
                }
        }
 
-       $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `network` = '%s' AND `uid` = %d LIMIT 1",
+       $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `network` IN ('%s', '%s') AND `uid` = %d LIMIT 1",
                dbesc($arr['uri']),
                dbesc($arr['network']),
+               dbesc(NETWORK_DFRN),
                intval($arr['uid'])
        );
        if($r && count($r)) {
@@ -1488,14 +1509,24 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
        // And restore it
        $arr = $unescaped;
 
-       // find the item we just created
-       $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `network` = '%s' ORDER BY `id` ASC ",
+       // find the item that we just created
+       $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `network` = '%s' ORDER BY `id` ASC",
                dbesc($arr['uri']),
                intval($arr['uid']),
                dbesc($arr['network'])
        );
 
-       if(count($r)) {
+       if(count($r) > 1) {
+               // There are duplicates. Keep the oldest one, delete the others
+               logger('item_store: duplicated post occurred. Removing newer duplicates. uri = '.$arr['uri'].' uid = '.$arr['uid']);
+               q("DELETE FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `network` = '%s' AND `id` > %d",
+                       dbesc($arr['uri']),
+                       intval($arr['uid']),
+                       dbesc($arr['network']),
+                       intval($r[0]["id"])
+               );
+               return 0;
+       } elseif(count($r)) {
 
                // Store the guid and other relevant data
                add_guid($arr);
@@ -1528,14 +1559,6 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
                logger('item_store: could not locate created item');
                return 0;
        }
-       if(count($r) > 1) {
-               logger('item_store: duplicated post occurred. Removing duplicates. uri = '.$arr['uri'].' uid = '.$arr['uid']);
-               q("DELETE FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `id` != %d ",
-                       dbesc($arr['uri']),
-                       intval($arr['uid']),
-                       intval($current_post)
-               );
-       }
 
        if((! $parent_id) || ($arr['parent-uri'] === $arr['uri']))
                $parent_id = $current_post;
@@ -2299,6 +2322,9 @@ function edited_timestamp_is_newer($existing, $update) {
 function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0) {
        if ($contact['network'] === NETWORK_OSTATUS) {
                if ($pass < 2) {
+                       // Test - remove before flight
+                       //$tempfile = tempnam(get_temppath(), "ostatus2");
+                       //file_put_contents($tempfile, $xml);
                        logger("Consume OStatus messages ", LOGGER_DEBUG);
                        ostatus_import($xml,$importer,$contact, $hub);
                }
@@ -2381,85 +2407,45 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
                $contact_updated = $photo_timestamp;
 
                require_once("include/Photo.php");
-               $photo_failure = false;
-               $have_photo = false;
+               $photos = import_profile_photo($photo_url,$contact['uid'],$contact['id']);
 
-               $r = q("SELECT `resource-id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d LIMIT 1",
-                       intval($contact['id']),
-                       intval($contact['uid'])
+               q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s'
+                       WHERE `uid` = %d AND `id` = %d AND NOT `self`",
+                       dbesc(datetime_convert()),
+                       dbesc($photos[0]),
+                       dbesc($photos[1]),
+                       dbesc($photos[2]),
+                       intval($contact['uid']),
+                       intval($contact['id'])
                );
-               if(count($r)) {
-                       $resource_id = $r[0]['resource-id'];
-                       $have_photo = true;
-               }
-               else {
-                       $resource_id = photo_new_resource();
-               }
-
-               $img_str = fetch_url($photo_url,true);
-               // guess mimetype from headers or filename
-               $type = guess_image_type($photo_url,true);
-
-
-               $img = new Photo($img_str, $type);
-               if($img->is_valid()) {
-                       if($have_photo) {
-                               q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `contact-id` = %d AND `uid` = %d",
-                                       dbesc($resource_id),
-                                       intval($contact['id']),
-                                       intval($contact['uid'])
-                               );
-                       }
-
-                       $img->scaleImageSquare(175);
-
-                       $hash = $resource_id;
-                       $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), 'Contact Photos', 4);
-
-                       $img->scaleImage(80);
-                       $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), 'Contact Photos', 5);
-
-                       $img->scaleImage(48);
-                       $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), 'Contact Photos', 6);
-
-                       $a = get_app();
-
-                       q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s'
-                               WHERE `uid` = %d AND `id` = %d",
-                               dbesc(datetime_convert()),
-                               dbesc($a->get_baseurl() . '/photo/' . $hash . '-4.'.$img->getExt()),
-                               dbesc($a->get_baseurl() . '/photo/' . $hash . '-5.'.$img->getExt()),
-                               dbesc($a->get_baseurl() . '/photo/' . $hash . '-6.'.$img->getExt()),
-                               intval($contact['uid']),
-                               intval($contact['id'])
-                       );
-               }
        }
 
        if((is_array($contact)) && ($name_updated) && (strlen($new_name)) && ($name_updated > $contact['name-date'])) {
                if ($name_updated > $contact_updated)
                        $contact_updated = $name_updated;
 
-               $r = q("select * from contact where uid = %d and id = %d limit 1",
+               $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `id` = %d LIMIT 1",
                        intval($contact['uid']),
                        intval($contact['id'])
                );
 
-               $x = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d",
+               $x = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d AND `name` != '%s' AND NOT `self`",
                        dbesc(notags(trim($new_name))),
                        dbesc(datetime_convert()),
                        intval($contact['uid']),
-                       intval($contact['id'])
+                       intval($contact['id']),
+                       dbesc(notags(trim($new_name)))
                );
 
                // do our best to update the name on content items
 
-               if(count($r)) {
-                       q("update item set `author-name` = '%s' where `author-name` = '%s' and `author-link` = '%s' and uid = %d",
+               if(count($r) AND (notags(trim($new_name)) != $r[0]['name'])) {
+                       q("UPDATE `item` SET `author-name` = '%s' WHERE `author-name` = '%s' AND `author-link` = '%s' AND `uid` = %d AND `author-name` != '%s'",
                                dbesc(notags(trim($new_name))),
                                dbesc($r[0]['name']),
                                dbesc($r[0]['url']),
-                               intval($contact['uid'])
+                               intval($contact['uid']),
+                               dbesc(notags(trim($new_name)))
                        );
                }
        }
@@ -2558,6 +2544,11 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
                                        if(! $item['deleted'])
                                                logger('consume_feed: deleting item ' . $item['id'] . ' uri=' . $item['uri'], LOGGER_DEBUG);
 
+                                       if($item['object-type'] === ACTIVITY_OBJ_EVENT) {
+                                               logger("Deleting event ".$item['event-id'], LOGGER_DEBUG);
+                                               event_delete($item['event-id']);
+                                       }
+
                                        if(($item['verb'] === ACTIVITY_TAG) && ($item['object-type'] === ACTIVITY_OBJ_TAGTERM)) {
                                                $xo = parse_xml_string($item['object'],false);
                                                $xt = parse_xml_string($item['target'],false);
@@ -2849,11 +2840,12 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
 
                                if((x($datarray,'object-type')) && ($datarray['object-type'] === ACTIVITY_OBJ_EVENT)) {
                                        $ev = bbtoevent($datarray['body']);
-                                       if(x($ev,'desc') && x($ev,'start')) {
+                                       if((x($ev,'desc') || x($ev,'summary')) && x($ev,'start')) {
                                                $ev['uid'] = $importer['uid'];
                                                $ev['uri'] = $item_id;
                                                $ev['edited'] = $datarray['edited'];
                                                $ev['private'] = $datarray['private'];
+                                               $ev['guid'] = $datarray['guid'];
 
                                                if(is_array($contact))
                                                        $ev['cid'] = $contact['id'];
@@ -3113,85 +3105,46 @@ function local_delivery($importer,$data) {
 
                logger('local_delivery: Updating photo for ' . $importer['name']);
                require_once("include/Photo.php");
-               $photo_failure = false;
-               $have_photo = false;
-
-               $r = q("SELECT `resource-id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d LIMIT 1",
-                       intval($importer['id']),
-                       intval($importer['importer_uid'])
-               );
-               if(count($r)) {
-                       $resource_id = $r[0]['resource-id'];
-                       $have_photo = true;
-               }
-               else {
-                       $resource_id = photo_new_resource();
-               }
-
-               $img_str = fetch_url($photo_url,true);
-               // guess mimetype from headers or filename
-               $type = guess_image_type($photo_url,true);
-
-
-               $img = new Photo($img_str, $type);
-               if($img->is_valid()) {
-                       if($have_photo) {
-                               q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `contact-id` = %d AND `uid` = %d",
-                                       dbesc($resource_id),
-                                       intval($importer['id']),
-                                       intval($importer['importer_uid'])
-                               );
-                       }
-
-                       $img->scaleImageSquare(175);
-
-                       $hash = $resource_id;
-                       $r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 4);
 
-                       $img->scaleImage(80);
-                       $r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 5);
+               $photos = import_profile_photo($photo_url,$importer['importer_uid'],$importer['id']);
 
-                       $img->scaleImage(48);
-                       $r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 6);
-
-                       $a = get_app();
-
-                       q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s'
-                               WHERE `uid` = %d AND `id` = %d",
-                               dbesc(datetime_convert()),
-                               dbesc($a->get_baseurl() . '/photo/' . $hash . '-4.'.$img->getExt()),
-                               dbesc($a->get_baseurl() . '/photo/' . $hash . '-5.'.$img->getExt()),
-                               dbesc($a->get_baseurl() . '/photo/' . $hash . '-6.'.$img->getExt()),
-                               intval($importer['importer_uid']),
-                               intval($importer['id'])
-                       );
-               }
+               q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s'
+                       WHERE `uid` = %d AND `id` = %d AND NOT `self`",
+                       dbesc(datetime_convert()),
+                       dbesc($photos[0]),
+                       dbesc($photos[1]),
+                       dbesc($photos[2]),
+                       intval($importer['importer_uid']),
+                       intval($importer['id'])
+               );
        }
 
        if(($name_updated) && (strlen($new_name)) && ($name_updated > $importer['name-date'])) {
                if ($name_updated > $contact_updated)
                        $contact_updated = $name_updated;
 
-               $r = q("select * from contact where uid = %d and id = %d limit 1",
+               $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `id` = %d LIMIT 1",
                        intval($importer['importer_uid']),
                        intval($importer['id'])
                );
 
-               $x = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d",
+               $x = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d AND `name` != '%s' AND NOT `self`",
                        dbesc(notags(trim($new_name))),
                        dbesc(datetime_convert()),
                        intval($importer['importer_uid']),
-                       intval($importer['id'])
+                       intval($importer['id']),
+                       dbesc(notags(trim($new_name)))
                );
 
                // do our best to update the name on content items
 
-               if(count($r)) {
-                       q("update item set `author-name` = '%s' where `author-name` = '%s' and `author-link` = '%s' and uid = %d",
+               if(count($r) AND (notags(trim($new_name)) != $r[0]['name'])) {
+                       q("UPDATE `item` SET `author-name` = '%s' WHERE `author-name` = '%s' AND `author-link` = '%s' AND `uid` = %d AND `author-name` != '%s'",
                                dbesc(notags(trim($new_name))),
                                dbesc($r[0]['name']),
                                dbesc($r[0]['url']),
-                               intval($importer['importer_uid'])
+                               intval($importer['importer_uid']),
+                               dbesc(notags(trim($new_name)))
                        );
                }
        }
@@ -3543,6 +3496,11 @@ function local_delivery($importer,$data) {
 
                                        logger('local_delivery: deleting item ' . $item['id'] . ' uri=' . $item['uri'], LOGGER_DEBUG);
 
+                                       if($item['object-type'] === ACTIVITY_OBJ_EVENT) {
+                                               logger("Deleting event ".$item['event-id'], LOGGER_DEBUG);
+                                               event_delete($item['event-id']);
+                                       }
+
                                        if(($item['verb'] === ACTIVITY_TAG) && ($item['object-type'] === ACTIVITY_OBJ_TAGTERM)) {
                                                $xo = parse_xml_string($item['object'],false);
                                                $xt = parse_xml_string($item['target'],false);
@@ -4073,12 +4031,13 @@ function local_delivery($importer,$data) {
 
                        if((x($datarray,'object-type')) && ($datarray['object-type'] === ACTIVITY_OBJ_EVENT)) {
                                $ev = bbtoevent($datarray['body']);
-                               if(x($ev,'desc') && x($ev,'start')) {
+                               if((x($ev,'desc') || x($ev,'summary')) && x($ev,'start')) {
                                        $ev['cid'] = $importer['id'];
                                        $ev['uid'] = $importer['uid'];
                                        $ev['uri'] = $item_id;
                                        $ev['edited'] = $datarray['edited'];
                                        $ev['private'] = $datarray['private'];
+                                       $ev['guid'] = $datarray['guid'];
 
                                        $r = q("SELECT * FROM `event` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
                                                dbesc($item_id),
@@ -4238,14 +4197,13 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) {
                        );
                }
                // send email notification to owner?
-       }
-       else {
+       } else {
 
                // create contact record
 
-               $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `name`, `nick`, `photo`, `network`, `rel`,
-                       `blocked`, `readonly`, `pending`, `writable` )
-                       VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, 0, 0, 1, 1 ) ",
+               $r = q("INSERT INTO `contact` (`uid`, `created`, `url`, `nurl`, `name`, `nick`, `photo`, `network`, `rel`,
+                       `blocked`, `readonly`, `pending`, `writable`)
+                       VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, 0, 0, 1, 1)",
                        intval($importer['uid']),
                        dbesc(datetime_convert()),
                        dbesc($url),
@@ -4260,27 +4218,38 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) {
                                intval($importer['uid']),
                                dbesc($url)
                );
-               if(count($r))
+               if(count($r)) {
                                $contact_record = $r[0];
 
-               // create notification
-               $hash = random_string();
+                               $photos = import_profile_photo($photo,$importer["uid"],$contact_record["id"]);
 
-               if(is_array($contact_record)) {
-                       $ret = q("INSERT INTO `intro` ( `uid`, `contact-id`, `blocked`, `knowyou`, `hash`, `datetime`)
-                               VALUES ( %d, %d, 0, 0, '%s', '%s' )",
-                               intval($importer['uid']),
-                               intval($contact_record['id']),
-                               dbesc($hash),
-                               dbesc(datetime_convert())
-                       );
+                               q("UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s' WHERE `id` = %d",
+                                       dbesc($photos[0]),
+                                       dbesc($photos[1]),
+                                       dbesc($photos[2]),
+                                       intval($contact_record["id"])
+                               );
                }
 
+
                $r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
                        intval($importer['uid'])
                );
                $a = get_app();
-               if(count($r)) {
+               if(count($r) AND !in_array($r[0]['page-flags'], array(PAGE_SOAPBOX, PAGE_FREELOVE))) {
+
+                       // create notification
+                       $hash = random_string();
+
+                       if(is_array($contact_record)) {
+                               $ret = q("INSERT INTO `intro` ( `uid`, `contact-id`, `blocked`, `knowyou`, `hash`, `datetime`)
+                                       VALUES ( %d, %d, 0, 0, '%s', '%s' )",
+                                       intval($importer['uid']),
+                                       intval($contact_record['id']),
+                                       dbesc($hash),
+                                       dbesc(datetime_convert())
+                               );
+                       }
 
                        if(intval($r[0]['def_gid'])) {
                                require_once('include/group.php');
@@ -4288,7 +4257,7 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) {
                        }
 
                        if(($r[0]['notify-flags'] & NOTIFY_INTRO) &&
-                               in_array($r[0]['page-flags'], array(PAGE_NORMAL, PAGE_SOAPBOX, PAGE_FREELOVE))) {
+                               in_array($r[0]['page-flags'], array(PAGE_NORMAL))) {
 
                                notification(array(
                                        'type'         => NOTIFY_INTRO,
@@ -4306,7 +4275,13 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) {
                                ));
 
                        }
+               } elseif (count($r) AND in_array($r[0]['page-flags'], array(PAGE_SOAPBOX, PAGE_FREELOVE))) {
+                       $r = q("UPDATE `contact` SET `pending` = 0 WHERE `uid` = %d AND `url` = '%s' AND `pending` LIMIT 1",
+                                       intval($importer['uid']),
+                                       dbesc($url)
+                       );
                }
+
        }
 }
 
@@ -4380,7 +4355,7 @@ function subscribe_to_hub($url,$importer,$contact,$hubmode = 'subscribe') {
 }
 
 
-function atom_author($tag,$name,$uri,$h,$w,$photo) {
+function atom_author($tag,$name,$uri,$h,$w,$photo,$geo) {
        $o = '';
        if(! $tag)
                return $o;
@@ -4398,6 +4373,10 @@ function atom_author($tag,$name,$uri,$h,$w,$photo) {
        $o .= "\t".'<link rel="avatar" type="image/jpeg" media:width="' . $w . '" media:height="' . $h . '" href="' . $photo . '" />' . "\r\n";
 
        if ($tag == "author") {
+
+               if($geo)
+                       $o .= '<georss:point>'.xmlify($geo).'</georss:point>'."\r\n";
+
                $r = q("SELECT `profile`.`locality`, `profile`.`region`, `profile`.`country-name`,
                                `profile`.`name`, `profile`.`pub_keywords`, `profile`.`about`,
                                `profile`.`homepage`,`contact`.`nick` FROM `profile`
@@ -4461,11 +4440,11 @@ function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) {
        $o = "\r\n\r\n<entry>\r\n";
 
        if(is_array($author))
-               $o .= atom_author('author',$author['name'],$author['url'],80,80,$author['thumb']);
+               $o .= atom_author('author',$author['name'],$author['url'],80,80,$author['thumb'], $item['coord']);
        else
-               $o .= atom_author('author',(($item['author-name']) ? $item['author-name'] : $item['name']),(($item['author-link']) ? $item['author-link'] : $item['url']),80,80,(($item['author-avatar']) ? $item['author-avatar'] : $item['thumb']));
+               $o .= atom_author('author',(($item['author-name']) ? $item['author-name'] : $item['name']),(($item['author-link']) ? $item['author-link'] : $item['url']),80,80,(($item['author-avatar']) ? $item['author-avatar'] : $item['thumb']), $item['coord']);
        if(strlen($item['owner-name']))
-               $o .= atom_author('dfrn:owner',$item['owner-name'],$item['owner-link'],80,80,$item['owner-avatar']);
+               $o .= atom_author('dfrn:owner',$item['owner-name'],$item['owner-link'],80,80,$item['owner-avatar'], $item['coord']);
 
        if(($item['parent'] != $item['id']) || ($item['parent-uri'] !== $item['uri']) || (($item['thr-parent'] !== '') && ($item['thr-parent'] !== $item['uri']))) {
                $parent = q("SELECT `guid` FROM `item` WHERE `id` = %d", intval($item["parent"]));
@@ -4542,7 +4521,8 @@ function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) {
        //$o .= "\t".'<link rel="self" type="application/atom+xml" href="'.xmlify($a->get_baseurl().'/api/statuses/show/'.$item['id'].'.atom').'"/>'."\r\n";
        //$o .= "\t".'<link rel="edit" type="application/atom+xml" href="'.xmlify($a->get_baseurl().'/api/statuses/show/'.$item['id'].'.atom').'"/>'."\r\n";
 
-       $o .= item_get_attachment($item);
+       // Deactivated since it was meant only for OStatus
+       //$o .= item_get_attachment($item);
 
        $o .= item_getfeedattach($item);
 
@@ -4707,7 +4687,7 @@ function item_getfeedtags($item) {
        if($cnt) {
                for($x = 0; $x < $cnt; $x ++) {
                        if($matches[1][$x])
-                               $ret[] = array('#',$matches[1][$x], $matches[2][$x]);
+                               $ret[$matches[2][$x]] = array('#',$matches[1][$x], $matches[2][$x]);
                }
        }
        $matches = false;
index 7fa9754ef15f0e4a8e4b000c6a5ae0b4bfd1d442..6512d35609f25e031674a1a673434b748211cb23 100644 (file)
@@ -27,7 +27,6 @@ function nav(&$a) {
 
        $a->page['nav'] .= replace_macros($tpl, array(
                '$baseurl' => $a->get_baseurl(),
-               '$langselector' => lang_selector(),
                '$sitelocation' => $nav_info['sitelocation'],
                '$nav' => $nav_info['nav'],
                '$banner' =>  $nav_info['banner'],
@@ -48,7 +47,7 @@ function nav_info(&$a) {
 
        /**
         *
-        * Our network is distributed, and as you visit friends some of the 
+        * Our network is distributed, and as you visit friends some of the
         * sites look exactly the same - it isn't always easy to know where you are.
         * Display the current site location as a navigation aid.
         *
@@ -207,7 +206,7 @@ function nav_info(&$a) {
 
        $banner = get_config('system','banner');
 
-       if($banner === false) 
+       if($banner === false)
                $banner .= '<a href="http://friendica.com"><img id="logo-img" src="images/friendica-32.png" alt="logo" /></a><span id="logo-text"><a href="http://friendica.com">Friendica</a></span>';
 
        call_hooks('nav_info', $nav);
@@ -224,7 +223,7 @@ function nav_info(&$a) {
 
 /*
  * Set a menu item in navbar as selected
- * 
+ *
  */
 function nav_set_selected($item){
        $a = get_app();
index 2815e1ab851e7a4f094e966b13332cfe0f8241ad..d0217e2a084fb45019788a7f49f6c89d991bc11d 100644 (file)
@@ -86,10 +86,9 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
        if(x($opts,'nobody')){
                @curl_setopt($ch, CURLOPT_NOBODY, $opts['nobody']);
        }
-       if(intval($timeout)) {
-               @curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
-       }
-       else {
+       if(x($opts,'timeout')){
+               @curl_setopt($ch, CURLOPT_TIMEOUT, $opts['timeout']);
+       } else {
                $curl_time = intval(get_config('system','curl_timeout'));
                @curl_setopt($ch, CURLOPT_TIMEOUT, (($curl_time !== false) ? $curl_time : 60));
        }
index 0f9cc804646928ad70dd1ef813b5088243949334..ec2b666bede9109304020a3bc3993c66abe7ea03 100644 (file)
@@ -4,6 +4,7 @@ require_once('include/queue_fn.php');
 require_once('include/html2plain.php');
 require_once("include/Scrape.php");
 require_once('include/diaspora.php');
+require_once("include/ostatus.php");
 
 /*
  * This file was at one time responsible for doing all deliveries, but this caused
@@ -529,7 +530,8 @@ function notifier_run(&$argv, &$argc){
                unset($photos);
        } else {
 
-               $slap = atom_entry($target_item,'html',null,$owner,false);
+               $slap = ostatus_salmon($target_item,$owner);
+               //$slap = atom_entry($target_item,'html',null,$owner,false);
 
                if($followup) {
                        foreach($items as $item) {  // there is only one item
@@ -569,7 +571,8 @@ function notifier_run(&$argv, &$argc){
                                        $atom .= atom_entry($item,'text',null,$owner,true);
 
                                if(($top_level) && ($public_message) && ($item['author-link'] === $item['owner-link']) && (! $expire))
-                                       $slaps[] = atom_entry($item,'html',null,$owner,true);
+                                       $slaps[] = ostatus_salmon($item,$owner);
+                                       //$slaps[] = atom_entry($item,'html',null,$owner,true);
                        }
                }
        }
@@ -734,9 +737,9 @@ function notifier_run(&$argv, &$argc){
                                                        $ssl_policy = get_config('system','ssl_policy');
                                                        fix_contact_ssl_policy($x[0],$ssl_policy);
 
-                                                       // If we are setup as a soapbox we aren't accepting input from this person
+                                                       // If we are setup as a soapbox we aren't accepting top level posts from this person
 
-                                                       if($x[0]['page-flags'] == PAGE_SOAPBOX)
+                                                       if (($x[0]['page-flags'] == PAGE_SOAPBOX) AND $top_level)
                                                                break;
 
                                                        require_once('library/simplepie/simplepie.inc');
index 0e58a776ca2d1c47a801561cfc18c9d71dea5135..6ff7eae422e35063b1746d334cccc836a8fbeb76 100644 (file)
@@ -18,10 +18,10 @@ function onepoll_run(&$argv, &$argc){
        }
 
        if(is_null($db)) {
-           @include(".htconfig.php");
-       require_once("include/dba.php");
-           $db = new dba($db_host, $db_user, $db_pass, $db_data);
-       unset($db_host, $db_user, $db_pass, $db_data);
+               @include(".htconfig.php");
+               require_once("include/dba.php");
+               $db = new dba($db_host, $db_user, $db_pass, $db_data);
+               unset($db_host, $db_user, $db_pass, $db_data);
        };
 
 
@@ -679,6 +679,6 @@ function onepoll_run(&$argv, &$argc){
 }
 
 if (array_search(__file__,get_included_files())===0){
-  onepoll_run($_SERVER["argv"],$_SERVER["argc"]);
-  killme();
+       onepoll_run($_SERVER["argv"],$_SERVER["argc"]);
+       killme();
 }
index d39059eb6f88c0ebdb9f8c9082e1e5be974e455a..932fc1fa9a7ea142fe06518c14e50fab657e16e9 100644 (file)
@@ -9,11 +9,21 @@ require_once("include/socgraph.php");
 require_once("include/Photo.php");
 require_once("include/Scrape.php");
 require_once("include/follow.php");
+require_once("mod/proxy.php");
 
 define('OSTATUS_DEFAULT_POLL_INTERVAL', 30); // given in minutes
 define('OSTATUS_DEFAULT_POLL_TIMEFRAME', 1440); // given in minutes
 define('OSTATUS_DEFAULT_POLL_TIMEFRAME_MENTIONS', 14400); // given in minutes
 
+define("NS_ATOM", "http://www.w3.org/2005/Atom");
+define("NS_THR", "http://purl.org/syndication/thread/1.0");
+define("NS_GEORSS", "http://www.georss.org/georss");
+define("NS_ACTIVITY", "http://activitystrea.ms/spec/1.0/");
+define("NS_MEDIA", "http://purl.org/syndication/atommedia");
+define("NS_POCO", "http://portablecontacts.net/spec/1.0");
+define("NS_OSTATUS", "http://ostatus.org/schema/1.0");
+define("NS_STATUSNET", "http://status.net/schema/api/1/");
+
 function ostatus_check_follow_friends() {
        $r = q("SELECT `uid`,`v` FROM `pconfig` WHERE `cat`='system' AND `k`='ostatus_legacy_contact' AND `v` != ''");
 
@@ -48,7 +58,7 @@ function ostatus_follow_friends($uid, $url) {
                $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND
                        (`nurl` = '%s' OR `alias` = '%s' OR `alias` = '%s') AND
                        `network` != '%s' LIMIT 1",
-                       intval($uid), dbesc(normalise_link($url)),
+                       intval($uid), dbesc(normalise_link($url)),
                        dbesc(normalise_link($url)), dbesc($url), dbesc(NETWORK_STATUSNET));
                if (!$r) {
                        $data = probe_url($friend->statusnet_profile_url);
@@ -137,9 +147,9 @@ function ostatus_fetchauthor($xpath, $context, $importer, &$contact, $onlyfetch)
                        if ($value != "")
                                $contact["location"] = $value;
 
-                       q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `about` = '%s', `location` = '%s', `name-date` = '%s' WHERE `id` = %d",
+                       q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `about` = '%s', `location` = '%s', `name-date` = '%s' WHERE `id` = %d AND `network` = '%s'",
                                dbesc($contact["name"]), dbesc($contact["nick"]), dbesc($contact["about"]), dbesc($contact["location"]),
-                               dbesc(datetime_convert()), intval($contact["id"]));
+                               dbesc(datetime_convert()), intval($contact["id"]), dbesc(NETWORK_OSTATUS));
 
                        poco_check($contact["url"], $contact["name"], $contact["network"], $author["author-avatar"], $contact["about"], $contact["location"],
                                        "", "", "", datetime_convert(), 2, $contact["id"], $contact["uid"]);
@@ -152,9 +162,9 @@ function ostatus_fetchauthor($xpath, $context, $importer, &$contact, $onlyfetch)
 
                        $photos = import_profile_photo($author["author-avatar"], $importer["uid"], $contact["id"]);
 
-                       q("UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' WHERE `id` = %d",
+                       q("UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' WHERE `id` = %d AND `network` = '%s'",
                                dbesc($photos[0]), dbesc($photos[1]), dbesc($photos[2]),
-                               dbesc(datetime_convert()), intval($contact["id"]));
+                               dbesc(datetime_convert()), intval($contact["id"]), dbesc(NETWORK_OSTATUS));
                }
        }
 
@@ -315,7 +325,7 @@ function ostatus_import($xml,$importer,&$contact, &$hub) {
                        $orig_uri = $xpath->query("activity:object/atom:id", $entry)->item(0)->nodeValue;
                        logger("Favorite ".$orig_uri." ".print_r($item, true));
 
-                       $item["verb"] = ACTIVITY_LIKE;
+                       $item["verb"] = ACTIVITY_LIKE;
                        $item["parent-uri"] = $orig_uri;
                        $item["gravity"] = GRAVITY_LIKE;
                }
@@ -702,9 +712,13 @@ function ostatus_completion($conversation_url, $uid, $item = array()) {
                $conv_as = str_replace(',"statusnet:notice_info":', ',"statusnet_notice_info":', $conv_as);
                $conv_as = json_decode($conv_as);
 
+               $no_of_items = sizeof($items);
+
                if (@is_array($conv_as->items))
-                       $items = array_merge($items, $conv_as->items);
-               else
+                       foreach ($conv_as->items AS $single_item)
+                               $items[$single_item->id] = $single_item;
+
+               if ($no_of_items == sizeof($items))
                        break;
 
                $pageno++;
@@ -1063,4 +1077,428 @@ function ostatus_store_conversation($itemid, $conversation_url) {
                logger('Storing conversation url '.$conversation_url.' for id '.$itemid);
        }
 }
+
+function xml_add_element($doc, $parent, $element, $value = "", $attributes = array()) {
+       $element = $doc->createElement($element, xmlify($value));
+
+       foreach ($attributes AS $key => $value) {
+               $attribute = $doc->createAttribute($key);
+               $attribute->value = xmlify($value);
+               $element->appendChild($attribute);
+       }
+
+       $parent->appendChild($element);
+}
+
+function ostatus_format_picture_post($body) {
+       $siteinfo = get_attached_data($body);
+
+       if (($siteinfo["type"] == "photo")) {
+               if (isset($siteinfo["preview"]))
+                       $preview = $siteinfo["preview"];
+               else
+                       $preview = $siteinfo["image"];
+
+               // Is it a remote picture? Then make a smaller preview here
+               $preview = proxy_url($preview, false, PROXY_SIZE_SMALL);
+
+               // Is it a local picture? Then make it smaller here
+               $preview = str_replace(array("-0.jpg", "-0.png"), array("-2.jpg", "-2.png"), $preview);
+               $preview = str_replace(array("-1.jpg", "-1.png"), array("-2.jpg", "-2.png"), $preview);
+
+               if (isset($siteinfo["url"]))
+                       $url = $siteinfo["url"];
+               else
+                       $url = $siteinfo["image"];
+
+               $body = trim($siteinfo["text"])." [url]".$url."[/url]\n[img]".$preview."[/img]";
+       }
+
+       return $body;
+}
+
+function ostatus_add_header($doc, $owner) {
+       $a = get_app();
+
+       $r = q("SELECT * FROM `profile` WHERE `uid` = %d AND `is-default`",
+               intval($owner["uid"]));
+       if (!$r)
+               return;
+
+       $profile = $r[0];
+
+       $root = $doc->createElementNS(NS_ATOM, 'feed');
+       $doc->appendChild($root);
+
+       $root->setAttribute("xmlns:thr", NS_THR);
+       $root->setAttribute("xmlns:georss", NS_GEORSS);
+       $root->setAttribute("xmlns:activity", NS_ACTIVITY);
+       $root->setAttribute("xmlns:media", NS_MEDIA);
+       $root->setAttribute("xmlns:poco", NS_POCO);
+       $root->setAttribute("xmlns:ostatus", NS_OSTATUS);
+       $root->setAttribute("xmlns:statusnet", NS_STATUSNET);
+
+       $attributes = array("uri" => "https://friendi.ca", "version" => FRIENDICA_VERSION."-".DB_UPDATE_VERSION);
+       xml_add_element($doc, $root, "generator", FRIENDICA_PLATFORM, $attributes);
+       xml_add_element($doc, $root, "id", $a->get_baseurl()."/profile/".$owner["nick"]);
+       xml_add_element($doc, $root, "title", sprintf("%s timeline", $profile["name"]));
+       xml_add_element($doc, $root, "subtitle", sprintf("Updates from %s on %s", $profile["name"], $a->config["sitename"]));
+       xml_add_element($doc, $root, "logo", $profile["photo"]);
+       xml_add_element($doc, $root, "updated", datetime_convert("UTC", "UTC", "now", ATOM_TIME));
+
+       $author = ostatus_add_author($doc, $owner, $profile);
+       $root->appendChild($author);
+
+       $attributes = array("href" => $owner["url"], "rel" => "alternate", "type" => "text/html");
+       xml_add_element($doc, $root, "link", "", $attributes);
+
+       // To-Do: We have to find out what this is
+       //$attributes = array("href" => $a->get_baseurl()."/sup",
+       //              "rel" => "http://api.friendfeed.com/2008/03#sup",
+       //              "type" => "application/json");
+       //xml_add_element($doc, $root, "link", "", $attributes);
+
+       ostatus_hublinks($doc, $root);
+
+       $attributes = array("href" => $a->get_baseurl()."/salmon/".$owner["nick"], "rel" => "salmon");
+       xml_add_element($doc, $root, "link", "", $attributes);
+
+       $attributes = array("href" => $a->get_baseurl()."/salmon/".$owner["nick"], "rel" => "http://salmon-protocol.org/ns/salmon-replies");
+       xml_add_element($doc, $root, "link", "", $attributes);
+
+       $attributes = array("href" => $a->get_baseurl()."/salmon/".$owner["nick"], "rel" => "http://salmon-protocol.org/ns/salmon-mention");
+       xml_add_element($doc, $root, "link", "", $attributes);
+
+       $attributes = array("href" => $a->get_baseurl()."/api/statuses/user_timeline/".$owner["nick"].".atom",
+                       "rel" => "self", "type" => "application/atom+xml");
+       xml_add_element($doc, $root, "link", "", $attributes);
+
+       return $root;
+}
+
+function ostatus_hublinks($doc, $root) {
+       $a = get_app();
+       $hub = get_config('system','huburl');
+
+       $hubxml = '';
+       if(strlen($hub)) {
+               $hubs = explode(',', $hub);
+               if(count($hubs)) {
+                       foreach($hubs as $h) {
+                               $h = trim($h);
+                               if(! strlen($h))
+                                       continue;
+                               if ($h === '[internal]')
+                                       $h = $a->get_baseurl() . '/pubsubhubbub';
+                               xml_add_element($doc, $root, "link", "", array("href" => $h, "rel" => "hub"));
+                       }
+               }
+       }
+}
+
+function ostatus_get_attachment($doc, $root, $item) {
+       $o = "";
+       $siteinfo = get_attached_data($item["body"]);
+
+       switch($siteinfo["type"]) {
+               case 'link':
+                       $attributes = array("rel" => "enclosure",
+                                       "href" => $siteinfo["url"],
+                                       "type" => "text/html; charset=UTF-8",
+                                       "length" => "",
+                                       "title" => $siteinfo["title"]);
+                       xml_add_element($doc, $root, "link", "", $attributes);
+                       break;
+               case 'photo':
+                       $imgdata = get_photo_info($siteinfo["image"]);
+                       $attributes = array("rel" => "enclosure",
+                                       "href" => $siteinfo["image"],
+                                       "type" => $imgdata["mime"],
+                                       "length" => intval($imgdata["size"]));
+                       xml_add_element($doc, $root, "link", "", $attributes);
+                       break;
+               case 'video':
+                       $attributes = array("rel" => "enclosure",
+                                       "href" => $siteinfo["url"],
+                                       "type" => "text/html; charset=UTF-8",
+                                       "length" => "",
+                                       "title" => $siteinfo["title"]);
+                       xml_add_element($doc, $root, "link", "", $attributes);
+                       break;
+               default:
+                       break;
+       }
+
+       if (($siteinfo["type"] != "photo") AND isset($siteinfo["image"])) {
+               $photodata = get_photo_info($siteinfo["image"]);
+
+               $attributes = array("rel" => "preview", "href" => $siteinfo["image"], "media:width" => $photodata[0], "media:height" => $photodata[1]);
+               xml_add_element($doc, $root, "link", "", $attributes);
+       }
+
+
+       $arr = explode('[/attach],',$item['attach']);
+       if(count($arr)) {
+               foreach($arr as $r) {
+                       $matches = false;
+                       $cnt = preg_match('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"|',$r,$matches);
+                       if($cnt) {
+                               $attributes = array("rel" => "enclosure",
+                                               "href" => $matches[1],
+                                               "type" => $matches[3]);
+
+                               if(intval($matches[2]))
+                                       $attributes["length"] = intval($matches[2]);
+
+                               if(trim($matches[4]) != "")
+                                       $attributes["title"] = trim($matches[4]);
+
+                               xml_add_element($doc, $root, "link", "", $attributes);
+                       }
+               }
+       }
+}
+
+function ostatus_add_author($doc, $owner, $profile) {
+       $a = get_app();
+
+       $author = $doc->createElement("author");
+       xml_add_element($doc, $author, "activity:object-type", ACTIVITY_OBJ_PERSON);
+       xml_add_element($doc, $author, "uri", $owner["url"]);
+       xml_add_element($doc, $author, "name", $profile["name"]);
+
+       $attributes = array("rel" => "alternate", "type" => "text/html", "href" => $owner["url"]);
+       xml_add_element($doc, $author, "link", "", $attributes);
+
+       $attributes = array(
+                       "rel" => "avatar",
+                       "type" => "image/jpeg", // To-Do?
+                       "media:width" => 175,
+                       "media:height" => 175,
+                       "href" => $profile["photo"]);
+       xml_add_element($doc, $author, "link", "", $attributes);
+
+       $attributes = array(
+                       "rel" => "avatar",
+                       "type" => "image/jpeg", // To-Do?
+                       "media:width" => 80,
+                       "media:height" => 80,
+                       "href" => $profile["thumb"]);
+       xml_add_element($doc, $author, "link", "", $attributes);
+
+       xml_add_element($doc, $author, "poco:preferredUsername", $owner["nick"]);
+       xml_add_element($doc, $author, "poco:displayName", $profile["name"]);
+       xml_add_element($doc, $author, "poco:note", $profile["about"]);
+
+       if (trim($owner["location"]) != "") {
+               $element = $doc->createElement("poco:address");
+               xml_add_element($doc, $element, "poco:formatted", $owner["location"]);
+               $author->appendChild($element);
+       }
+
+       if (trim($profile["homepage"]) != "") {
+               $urls = $doc->createElement("poco:urls");
+               xml_add_element($doc, $urls, "poco:type", "homepage");
+               xml_add_element($doc, $urls, "poco:value", $profile["homepage"]);
+               xml_add_element($doc, $urls, "poco:primary", "true");
+               $author->appendChild($urls);
+       }
+
+       xml_add_element($doc, $author, "followers", "", array("url" => $a->get_baseurl()."/viewcontacts/".$owner["nick"]));
+       xml_add_element($doc, $author, "statusnet:profile_info", "", array("local_id" => $owner["uid"]));
+
+       return $author;
+}
+
+/*
+To-Do: Picture attachments should look like this:
+
+<a href="https://status.pirati.ca/attachment/572819" title="https://status.pirati.ca/file/heluecht-20151202T222602-rd3u49p.gif"
+class="attachment thumbnail" id="attachment-572819" rel="nofollow external">https://status.pirati.ca/attachment/572819</a>
+
+*/
+
+function ostatus_entry($doc, $item, $owner, $toplevel = false) {
+       $a = get_app();
+
+       if (!$toplevel) {
+               $entry = $doc->createElement("entry");
+               $title = sprintf("New note by %s", $owner["nick"]);
+       } else {
+               $entry = $doc->createElementNS(NS_ATOM, "entry");
+
+               $entry->setAttribute("xmlns:thr", NS_THR);
+               $entry->setAttribute("xmlns:georss", NS_GEORSS);
+               $entry->setAttribute("xmlns:activity", NS_ACTIVITY);
+               $entry->setAttribute("xmlns:media", NS_MEDIA);
+               $entry->setAttribute("xmlns:poco", NS_POCO);
+               $entry->setAttribute("xmlns:ostatus", NS_OSTATUS);
+               $entry->setAttribute("xmlns:statusnet", NS_STATUSNET);
+
+               $r = q("SELECT * FROM `profile` WHERE `uid` = %d AND `is-default`",
+                       intval($owner["uid"]));
+               if (!$r)
+                       return;
+
+               $profile = $r[0];
+
+               $author = ostatus_add_author($doc, $owner, $profile);
+               $entry->appendChild($author);
+
+               $title = sprintf("New comment by %s", $owner["nick"]);
+       }
+
+       // To use the object-type "bookmark" we have to implement these elements:
+       //
+       // <activity:object-type>http://activitystrea.ms/schema/1.0/bookmark</activity:object-type>
+       // <title>Historic Rocket Landing</title>
+       // <summary>Nur ein Testbeitrag.</summary>
+       // <link rel="related" href="https://www.youtube.com/watch?v=9pillaOxGCo"/>
+       // <link rel="preview" href="https://pirati.cc/file/thumb-4526-450x338-b48c8055f0c2fed0c3f67adc234c4b99484a90c42ed3cac73dc1081a4d0a7bc1.jpg.jpg" media:width="450" media:height="338"/>
+       //
+       // But: it seems as if it doesn't federate well between the GS servers
+       // So we just set it to "note" to be sure that it reaches their target systems
+
+       xml_add_element($doc, $entry, "activity:object-type", ACTIVITY_OBJ_NOTE);
+       xml_add_element($doc, $entry, "id", $item["uri"]);
+       xml_add_element($doc, $entry, "title", $title);
+
+       if($item['allow_cid'] || $item['allow_gid'] || $item['deny_cid'] || $item['deny_gid'])
+               $body = fix_private_photos($item['body'],$owner['uid'],$item, 0);
+       else
+               $body = $item['body'];
+
+       $body = ostatus_format_picture_post($body);
+
+       if ($item['title'] != "")
+               $body = "[b]".$item['title']."[/b]\n\n".$body;
+
+       //$body = bb_remove_share_information($body);
+       $body = bbcode($body, false, false, 7);
+
+       xml_add_element($doc, $entry, "content", $body, array("type" => "html"));
+
+       xml_add_element($doc, $entry, "link", "", array("rel" => "alternate", "type" => "text/html",
+                                                       "href" => $a->get_baseurl()."/display/".$item["guid"]));
+
+       xml_add_element($doc, $entry, "status_net", "", array("notice_id" => $item["id"]));
+       xml_add_element($doc, $entry, "activity:verb", construct_verb($item));
+       xml_add_element($doc, $entry, "published", datetime_convert("UTC","UTC",$item["created"]."+00:00",ATOM_TIME));
+       xml_add_element($doc, $entry, "updated", datetime_convert("UTC","UTC",$item["edited"]."+00:00",ATOM_TIME));
+
+       if (($item['parent'] != $item['id']) || ($item['parent-uri'] !== $item['uri']) || (($item['thr-parent'] !== '') && ($item['thr-parent'] !== $item['uri']))) {
+               $parent = q("SELECT `guid` FROM `item` WHERE `id` = %d", intval($item["parent"]));
+               $parent_item = (($item['thr-parent']) ? $item['thr-parent'] : $item['parent-uri']);
+
+               $attributes = array(
+                               "ref" => $parent_item,
+                               "type" => "text/html",
+                               "href" => $a->get_baseurl()."/display/".$parent[0]["guid"]);
+               xml_add_element($doc, $entry, "thr:in-reply-to", "", $attributes);
+
+               $attributes = array(
+                               "rel" => "related",
+                               "href" => $a->get_baseurl()."/display/".$parent[0]["guid"]);
+               xml_add_element($doc, $entry, "link", "", $attributes);
+        }
+
+       xml_add_element($doc, $entry, "link", "", array("rel" => "ostatus:conversation",
+                                                       "href" => $a->get_baseurl()."/display/".$owner["nick"]."/".$item["parent"]));
+       xml_add_element($doc, $entry, "ostatus:conversation", $a->get_baseurl()."/display/".$owner["nick"]."/".$item["parent"]);
+
+       $tags = item_getfeedtags($item);
+
+       if(count($tags))
+               foreach($tags as $t)
+                       if ($t[0] == "@")
+                               xml_add_element($doc, $entry, "link", "", array("rel" => "mentioned",
+                                                                               "ostatus:object-type" => ACTIVITY_OBJ_PERSON,
+                                                                               "href" => $t[1]));
+
+       if (!$item["private"])
+               xml_add_element($doc, $entry, "link", "", array("rel" => "mentioned",
+                                                               "ostatus:object-type" => "http://activitystrea.ms/schema/1.0/collection",
+                                                               "href" => "http://activityschema.org/collection/public"));
+
+       if(count($tags))
+               foreach($tags as $t)
+                       if ($t[0] != "@")
+                               xml_add_element($doc, $entry, "category", "", array("term" => $t[2]));
+
+       ostatus_get_attachment($doc, $entry, $item);
+
+       // To-Do:
+       // The API call has yet to be implemented
+       //$attributes = array("href" => $a->get_baseurl()."/api/statuses/show/".$item["id"].".atom",
+       //              "rel" => "self", "type" => "application/atom+xml");
+       //xml_add_element($doc, $entry, "link", "", $attributes);
+
+       //$attributes = array("href" => $a->get_baseurl()."/api/statuses/show/".$item["id"].".atom",
+       //              "rel" => "edit", "type" => "application/atom+xml");
+       //xml_add_element($doc, $entry, "link", "", $attributes);
+
+       $app = $item["app"];
+       if ($app == "")
+               $app = "web";
+
+       xml_add_element($doc, $entry, "statusnet:notice_info", "", array("local_id" => $item["id"], "source" => $app));
+
+       return $entry;
+}
+
+function ostatus_feed(&$a, $owner_nick, $last_update) {
+
+       $r = q("SELECT `contact`.*, `user`.`nickname`, `user`.`timezone`, `user`.`page-flags`
+                       FROM `contact` INNER JOIN `user` ON `user`.`uid` = `contact`.`uid`
+                       WHERE `contact`.`self` AND `user`.`nickname` = '%s' LIMIT 1",
+                       dbesc($owner_nick));
+       if (!$r)
+               return;
+
+       $owner = $r[0];
+
+       if(!strlen($last_update))
+               $last_update = 'now -30 days';
+
+       $check_date = datetime_convert('UTC','UTC',$last_update,'Y-m-d H:i:s');
+
+       $items = q("SELECT STRAIGHT_JOIN `item`.*, `item`.`id` AS `item_id` FROM `item`
+                       INNER JOIN `thread` ON `thread`.`iid` = `item`.`parent`
+                       LEFT JOIN `item` AS `thritem` ON `thritem`.`uri`=`item`.`thr-parent` AND `thritem`.`uid`=`item`.`uid`
+                       WHERE `item`.`uid` = %d AND `item`.`received` > '%s' AND NOT `item`.`private` AND NOT `item`.`deleted`
+                               AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid`  = '' AND `item`.`deny_gid`  = ''
+                               AND ((`item`.`wall` AND (`item`.`parent` = `item`.`id`))
+                                       OR (`item`.`network` = '%s' AND ((`thread`.`network`='%s') OR (`thritem`.`network` = '%s'))) AND `thread`.`mention`)
+                               AND (`item`.`owner-link` IN ('%s', '%s'))
+                       ORDER BY `item`.`received` DESC
+                       LIMIT 0, 300",
+                       intval($owner["uid"]), dbesc($check_date),
+                       dbesc(NETWORK_DFRN), dbesc(NETWORK_OSTATUS), dbesc(NETWORK_OSTATUS),
+                       dbesc($owner["nurl"]), dbesc(str_replace("http://", "https://", $owner["nurl"]))
+               );
+
+       $doc = new DOMDocument('1.0', 'utf-8');
+       $doc->formatOutput = true;
+
+       $root = ostatus_add_header($doc, $owner);
+
+       foreach ($items AS $item) {
+               $entry = ostatus_entry($doc, $item, $owner);
+               $root->appendChild($entry);
+       }
+
+       return(trim($doc->saveXML()));
+}
+
+function ostatus_salmon($item,$owner) {
+
+       $doc = new DOMDocument('1.0', 'utf-8');
+       $doc->formatOutput = true;
+
+       $entry = ostatus_entry($doc, $item, $owner, true);
+
+       $doc->appendChild($entry);
+
+       return(trim($doc->saveXML()));
+}
 ?>
index 4f8db43d471b12ea828004d433194fcba90e99a5..f72cbb08a71c707151434380cf9e4c886bb365a1 100644 (file)
@@ -11,7 +11,7 @@ require_once("include/dba.php");
  *
  * Get the language setting directly from system variables, bypassing get_config()
  * as database may not yet be configured.
- * 
+ *
  * If possible, we use the value from the browser.
  *
  */
@@ -21,22 +21,22 @@ if(! function_exists('get_browser_language')) {
 function get_browser_language() {
 
        if (x($_SERVER,'HTTP_ACCEPT_LANGUAGE')) {
-           // break up string into pieces (languages and q factors)
-       preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i', 
+               // break up string into pieces (languages and q factors)
+               preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i',
                        $_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang_parse);
 
-       if (count($lang_parse[1])) {
-               // create a list like "en" => 0.8
-               $langs = array_combine($lang_parse[1], $lang_parse[4]);
-       
-               // set default to 1 for any without q factor
-               foreach ($langs as $lang => $val) {
-               if ($val === '') $langs[$lang] = 1;
-               }
-
-               // sort list based on value     
-               arsort($langs, SORT_NUMERIC);
-       }
+               if (count($lang_parse[1])) {
+                       // create a list like "en" => 0.8
+                       $langs = array_combine($lang_parse[1], $lang_parse[4]);
+
+                       // set default to 1 for any without q factor
+                       foreach ($langs as $lang => $val) {
+                               if ($val === '') $langs[$lang] = 1;
+                       }
+
+                       // sort list based on value
+                       arsort($langs, SORT_NUMERIC);
+               }
        }
 
        if(isset($langs) && count($langs)) {
@@ -94,7 +94,7 @@ if(! function_exists('load_translation_table')) {
  * load string translation table for alternate language
  *
  * first plugin strings are loaded, then globals
- * 
+ *
  * @param string $lang language code to load
  */
 function load_translation_table($lang) {
@@ -111,7 +111,7 @@ function load_translation_table($lang) {
                        }
                }
        }
-       
+
        if(file_exists("view/$lang/strings.php")) {
                include("view/$lang/strings.php");
        }
@@ -145,7 +145,7 @@ function tt($singular, $plural, $count){
                $k = $f($count);
                return is_array($t)?$t[$k]:$t;
        }
-       
+
        if ($count!=1){
                return $plural;
        } else {
@@ -153,11 +153,34 @@ function tt($singular, $plural, $count){
        }
 }}
 
-// provide a fallback which will not collide with 
-// a function defined in any language file 
+// provide a fallback which will not collide with
+// a function defined in any language file
 
 if(! function_exists('string_plural_select_default')) {
 function string_plural_select_default($n) {
        return ($n != 1);
 }}
 
+
+/**
+ * Return installed languages as associative array
+ * [
+ *             lang => lang,
+ *             ...
+ * ]
+ */
+function get_avaiable_languages() {
+       $lang_choices = array();
+       $langs = glob('view/*/strings.php'); /**/
+
+       if(is_array($langs) && count($langs)) {
+               if(! in_array('view/en/strings.php',$langs))
+                       $langs[] = 'view/en/';
+               asort($langs);
+               foreach($langs as $l) {
+                       $t = explode("/",$l);
+                       $lang_choices[$t[1]] = $t[1];
+               }
+       }
+       return $lang_choices;
+}
index 4f435fc6a29339a55453eae7ea24cec03641dac3..204feb137f00bf05dba1731977069d6ffc9aa781 100644 (file)
@@ -55,9 +55,10 @@ function get_attached_data($body) {
                                $data = parseurl_getsiteinfo_cached($pictures[0][1], true);
                                if ($data["type"] == "photo") {
                                        $post["type"] = "photo";
-                                       if (isset($data["images"][0]))
+                                       if (isset($data["images"][0])) {
                                                $post["image"] = $data["images"][0]["src"];
-                                       else
+                                               $post["url"] = $data["url"];
+                                       } else
                                                $post["image"] = $data["url"];
 
                                        $post["preview"] = $pictures[0][2];
index 5a4755c319bd6d06f7014b9e4bc7844523602d1a..965b823b02283e32493e191386caab924a2bb312 100644 (file)
@@ -1,7 +1,17 @@
 <?php
+/**
+ * @file include/identity.php
+ * 
+ * @brief Some functions to handle addons and themes.
+ */
 
 
-// install and uninstall plugin
+/**
+ * @brief uninstalls an addon.
+ *
+ * @param string $plugin name of the addon
+ * @return boolean
+ */
 if (! function_exists('uninstall_plugin')){
 function uninstall_plugin($plugin){
        logger("Addons: uninstalling " . $plugin);
@@ -16,6 +26,12 @@ function uninstall_plugin($plugin){
        }
 }}
 
+/**
+ * @brief installs an addon.
+ *
+ * @param string $plugin name of the addon
+ * @return bool
+ */
 if (! function_exists('install_plugin')){
 function install_plugin($plugin) {
        // silently fail if plugin was removed
@@ -42,7 +58,7 @@ function install_plugin($plugin) {
                // This way the system won't fall over dead during the update.
 
                if(file_exists('addon/' . $plugin . '/.hidden')) {
-                       q("update addon set hidden = 1 where name = '%s'",
+                       q("UPDATE `addon` SET `hidden` = 1 WHERE `name` = '%s'",
                                dbesc($plugin)
                        );
                }
@@ -105,10 +121,27 @@ function reload_plugins() {
 
 }}
 
+/**
+ * @brief check if addon is enabled
+ *
+ * @param string $plugin
+ * @return boolean
+ */
+function plugin_enabled($plugin) {
+       $r = q("SELECT * FROM `addon` WHERE `installed` = 1 AND `name` = '%s'", $plugin);
+       return((bool)(count($r) > 0));
+}
 
 
-
-
+/**
+ * @brief registers a hook.
+ *
+ * @param string $hook the name of the hook
+ * @param string $file the name of the file that hooks into
+ * @param string $function the name of the function that the hook will call
+ * @param int $priority A priority (defaults to 0)
+ * @return mixed|bool
+ */
 if(! function_exists('register_hook')) {
 function register_hook($hook,$file,$function,$priority=0) {
 
@@ -129,6 +162,14 @@ function register_hook($hook,$file,$function,$priority=0) {
        return $r;
 }}
 
+/**
+ * @brief unregisters a hook.
+ * 
+ * @param string $hook the name of the hook
+ * @param string $file the name of the file that hooks into
+ * @param string $function the name of the function that the hook called
+ * @return array
+ */
 if(! function_exists('unregister_hook')) {
 function unregister_hook($hook,$file,$function) {
 
@@ -155,7 +196,15 @@ function load_hooks() {
        }
 }}
 
-
+/**
+ * @brief Calls a hook.
+ *
+ * Use this function when you want to be able to allow a hook to manipulate
+ * the provided data.
+ *
+ * @param string $name of the hook to call
+ * @param string|array &$data to transmit to the callback handler
+ */
 if(! function_exists('call_hooks')) {
 function call_hooks($name, &$data = null) {
        $stamp1 = microtime(true);
@@ -178,7 +227,7 @@ function call_hooks($name, &$data = null) {
                        }
                        else {
                                // remove orphan hooks
-                               q("delete from hook where hook = '%s' and file = '%s' and function = '%s'",
+                               q("DELETE FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s'",
                                        dbesc($name),
                                        dbesc($hook[0]),
                                        dbesc($hook[1])
@@ -204,16 +253,20 @@ function plugin_is_app($name) {
        return false;
 }}
 
-/*
- * parse plugin comment in search of plugin infos.
- * like
+/**
+ * @brief Parse plugin comment in search of plugin infos.
  *
- *      * Name: Plugin
+ * like
+ * \code
+ *...* Name: Plugin
  *   * Description: A plugin which plugs in
- *      * Version: 1.2.3
+ * . * Version: 1.2.3
  *   * Author: John <profile url>
  *   * Author: Jane <email>
  *   *
+ *  *\endcode
+ * @param string $plugin the name of the plugin
+ * @return array with the plugin information
  */
 
 if (! function_exists('get_plugin_info')){
@@ -265,16 +318,20 @@ function get_plugin_info($plugin){
 }}
 
 
-/*
- * parse theme comment in search of theme infos.
+/**
+ * @brief Parse theme comment in search of theme infos.
+ * 
  * like
- *
- *      * Name: My Theme
+ * \code
+ * ..* Name: My Theme
  *   * Description: My Cool Theme
- *      * Version: 1.2.3
+ * . * Version: 1.2.3
  *   * Author: John <profile url>
  *   * Maintainer: Jane <profile url>
  *   *
+ * \endcode
+ * @param string $theme the name of the theme
+ * @return array
  */
 
 if (! function_exists('get_theme_info')){
@@ -340,7 +397,14 @@ function get_theme_info($theme){
        return $info;
 }}
 
-
+/**
+ * @brief Returns the theme's screenshot.
+ *
+ * The screenshot is expected as view/theme/$theme/screenshot.[png|jpg].
+ *
+ * @param sring $theme The name of the theme
+ * @return string
+ */
 function get_theme_screenshot($theme) {
        $a = get_app();
        $exts = array('.png','.jpg');
@@ -402,7 +466,7 @@ function service_class_allows($uid,$property,$usage = false) {
                $service_class = $a->user['service_class'];
        }
        else {
-               $r = q("select service_class from user where uid = %d limit 1",
+               $r = q("SELECT `service_class` FROM `user` WHERE `uid` = %d LIMIT 1",
                        intval($uid)
                );
                if($r !== false and count($r)) {
@@ -432,7 +496,7 @@ function service_class_fetch($uid,$property) {
                $service_class = $a->user['service_class'];
        }
        else {
-               $r = q("select service_class from user where uid = %d limit 1",
+               $r = q("SELECT `service_class` FROM `user` WHERE `uid` = %d LIMIT 1",
                        intval($uid)
                );
                if($r !== false and count($r)) {
index 45740dab62c3ba04975a08f41b112096968c4c53..8c102a66b99bd6066010c5df7f2761362d6833ed 100644 (file)
@@ -38,6 +38,10 @@ function poller_run(&$argv, &$argc){
                }
        }
 
+       // Checking the number of workers
+       if (poller_too_much_workers(1))
+               return;
+
        if(($argc <= 1) OR ($argv[1] != "no_cron")) {
                // Run the cron job that calls all other jobs
                proc_run("php","include/cron.php");
@@ -57,11 +61,11 @@ function poller_run(&$argv, &$argc){
                        }
 
        } else
-               // Sleep two seconds before checking for running processes to avoid having too many workers
+               // Sleep four seconds before checking for running processes again to avoid having too many workers
                sleep(4);
 
        // Checking number of workers
-       if (poller_too_much_workers())
+       if (poller_too_much_workers(2))
                return;
 
        $starttime = time();
@@ -100,10 +104,10 @@ function poller_run(&$argv, &$argc){
                $funcname=str_replace(".php", "", basename($argv[0]))."_run";
 
                if (function_exists($funcname)) {
-                       logger("Process ".getmypid().": ".$funcname." ".$r[0]["parameter"]);
+                       logger("Process ".getmypid()." - ID ".$r[0]["id"].": ".$funcname." ".$r[0]["parameter"]);
                        $funcname($argv, $argc);
 
-                       logger("Process ".getmypid().": ".$funcname." - done");
+                       logger("Process ".getmypid()." - ID ".$r[0]["id"].": ".$funcname." - done");
 
                        q("DELETE FROM `workerqueue` WHERE `id` = %d", intval($r[0]["id"]));
                } else
@@ -114,13 +118,13 @@ function poller_run(&$argv, &$argc){
                        return;
 
                // Count active workers and compare them with a maximum value that depends on the load
-               if (poller_too_much_workers())
+               if (poller_too_much_workers(3))
                        return;
        }
 
 }
 
-function poller_too_much_workers() {
+function poller_too_much_workers($stage) {
 
        $queues = get_config("system", "worker_queues");
 
@@ -144,7 +148,7 @@ function poller_too_much_workers() {
                $slope = $maxworkers / pow($maxsysload, $exponent);
                $queues = ceil($slope * pow(max(0, $maxsysload - $load), $exponent));
 
-               logger("Current load: ".$load." - maximum: ".$maxsysload." - current queues: ".$active." - maximum: ".$queues, LOGGER_DEBUG);
+               logger("Current load stage ".$stage.": ".$load." - maximum: ".$maxsysload." - current queues: ".$active." - maximum: ".$queues, LOGGER_DEBUG);
 
        }
 
index bc81fd78680c16cf0b429abeb557aa6b59727c87..d27beea3d5ea7683a771afd319b54fac3abd571a 100644 (file)
@@ -1,5 +1,6 @@
 <?php
 require_once("boot.php");
+require_once("include/ostatus.php");
 
 function handle_pubsubhubbub() {
        global $a, $db;
@@ -12,17 +13,17 @@ function handle_pubsubhubbub() {
        $r = q("SELECT * FROM `push_subscriber` WHERE `push` > 0");
 
        foreach($r as $rr) {
-               $params = get_feed_for($a, '', $rr['nickname'], $rr['last_update'], 0, true);
+               //$params = get_feed_for($a, '', $rr['nickname'], $rr['last_update'], 0, true);
+               $params = ostatus_feed($a, $rr['nickname'], $rr['last_update']);
                $hmac_sig = hash_hmac("sha1", $params, $rr['secret']);
 
                $headers = array("Content-type: application/atom+xml",
-                                               sprintf("Link: <%s>;rel=hub," .
-                                                               "<%s>;rel=self",
-                                                               $a->get_baseurl() . '/pubsubhubbub',
-                                                               $rr['topic']),
-                                               "X-Hub-Signature: sha1=" . $hmac_sig);
+                               sprintf("Link: <%s>;rel=hub,<%s>;rel=self",
+                                       $a->get_baseurl().'/pubsubhubbub',
+                                       $rr['topic']),
+                               "X-Hub-Signature: sha1=".$hmac_sig);
 
-               logger('POST '. print_r($headers, true)."\n".$params, LOGGER_DEBUG);
+               logger('POST '.print_r($headers, true)."\n".$params, LOGGER_DEBUG);
 
                post_url($rr['callback_url'], $params, $headers);
                $ret = $a->get_curl_code();
index 7574374907eabf3f4cca2789b5be712dfebadee5..a254fe7e97086953d4a8b1c607ad0e1feefd6b39 100644 (file)
@@ -66,8 +66,6 @@ function get_salmon_key($uri,$keyhash) {
 
 function slapper($owner,$url,$slap) {
 
-       logger('slapper called for '.$url.'. Data: ' . $slap);
-
        // does contact have a salmon endpoint?
 
        if(! strlen($url))
@@ -97,6 +95,8 @@ EOT;
 
        $slap = str_replace('<entry>',$namespaces,$slap);
 
+       logger('slapper called for '.$url.'. Data: ' . $slap);
+
        // create a magic envelope
 
        $data      = base64url_encode($slap);
index b0f0c8672ff6ddf34da14fa22a4d18ab9cd122b5..559b1832b2f8da8ade9882bc94477890fc2470ae 100644 (file)
@@ -225,15 +225,17 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
                $created = $x[0]["created"];
                $server_url = $x[0]["server_url"];
                $nick = $x[0]["nick"];
+               $addr = $x[0]["addr"];
        } else {
                $created = "0000-00-00 00:00:00";
                $server_url = "";
 
                $urlparts = parse_url($profile_url);
                $nick = end(explode("/", $urlparts["path"]));
+               $addr = "";
        }
 
-       if ((($network == "") OR ($name == "") OR ($profile_photo == "") OR ($server_url == "") OR $alternate)
+       if ((($network == "") OR ($name == "") OR ($addr == "") OR ($profile_photo == "") OR ($server_url == "") OR $alternate)
                AND poco_reachable($profile_url, $server_url, $network, false)) {
                $data = probe_url($profile_url);
 
@@ -242,6 +244,7 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
                $network = $data["network"];
                $name = $data["name"];
                $nick = $data["nick"];
+               $addr = $data["addr"];
                $profile_url = $data["url"];
                $profile_photo = $data["photo"];
                $server_url = $data["baseurl"];
@@ -294,14 +297,18 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
                if (($keywords == "") AND ($x[0]['keywords'] != ""))
                        $keywords = $x[0]['keywords'];
 
+               if (($addr == "") AND ($x[0]['addr'] != ""))
+                       $addr = $x[0]['addr'];
+
                if (($generation == 0) AND ($x[0]['generation'] > 0))
                        $generation = $x[0]['generation'];
 
                if($x[0]['name'] != $name || $x[0]['photo'] != $profile_photo || $x[0]['updated'] < $updated) {
-                       q("UPDATE `gcontact` SET `name` = '%s', `network` = '%s', `photo` = '%s', `connect` = '%s', `url` = '%s', `server_url` = '%s',
+                       q("UPDATE `gcontact` SET `name` = '%s', `addr` = '%s', `network` = '%s', `photo` = '%s', `connect` = '%s', `url` = '%s', `server_url` = '%s',
                                `updated` = '%s', `location` = '%s', `about` = '%s', `keywords` = '%s', `gender` = '%s', `generation` = %d
                                WHERE (`generation` >= %d OR `generation` = 0) AND `nurl` = '%s'",
                                dbesc($name),
+                               dbesc($addr),
                                dbesc($network),
                                dbesc($profile_photo),
                                dbesc($connect_url),
@@ -318,10 +325,11 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
                        );
                }
        } else {
-               q("INSERT INTO `gcontact` (`name`, `nick`, `network`, `url`, `nurl`, `photo`, `connect`, `server_url`, `created`, `updated`, `location`, `about`, `keywords`, `gender`, `generation`)
-                       VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)",
+               q("INSERT INTO `gcontact` (`name`, `nick`, `addr`, `network`, `url`, `nurl`, `photo`, `connect`, `server_url`, `created`, `updated`, `location`, `about`, `keywords`, `gender`, `generation`)
+                       VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)",
                        dbesc($name),
                        dbesc($nick),
+                       dbesc($addr),
                        dbesc($network),
                        dbesc($profile_url),
                        dbesc(normalise_link($profile_url)),
@@ -748,8 +756,11 @@ function poco_check_server($server_url, $network = "", $force = false) {
        }
 
        if (!$serverret["success"] OR ($serverret["body"] == "") OR (sizeof($xmlobj) == 0) OR !is_object($xmlobj)) {
-               $last_failure = datetime_convert();
-               $failure = true;
+               // Workaround for bad configured servers (known nginx problem)
+               if ($serverret["debug"]["http_code"] != "403") {
+                       $last_failure = datetime_convert();
+                       $failure = true;
+               }
        } elseif ($network == NETWORK_DIASPORA)
                $last_contact = datetime_convert();
 
@@ -1036,15 +1047,16 @@ function count_common_friends($uid,$cid) {
 
        $r = q("SELECT count(*) as `total`
                FROM `glink` INNER JOIN `gcontact` on `glink`.`gcid` = `gcontact`.`id`
-               where `glink`.`cid` = %d and `glink`.`uid` = %d
-               and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 and id != %d ) ",
+               WHERE `glink`.`cid` = %d AND `glink`.`uid` = %d AND
+               ((`gcontact`.`last_contact` >= `gcontact`.`last_failure`) OR (`gcontact`.`updated` >= `gcontact`.`last_failure`))
+               AND `gcontact`.`nurl` IN (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 and id != %d ) ",
                intval($cid),
                intval($uid),
                intval($uid),
                intval($cid)
        );
 
-//     logger("count_common_friends: $uid $cid {$r[0]['total']}"); 
+//     logger("count_common_friends: $uid $cid {$r[0]['total']}");
        if(count($r))
                return $r[0]['total'];
        return 0;
@@ -1059,11 +1071,15 @@ function common_friends($uid,$cid,$start = 0,$limit=9999,$shuffle = false) {
        else
                $sql_extra = " order by `gcontact`.`name` asc ";
 
-       $r = q("SELECT `gcontact`.*
-               FROM `glink` INNER JOIN `gcontact` on `glink`.`gcid` = `gcontact`.`id`
-               where `glink`.`cid` = %d and `glink`.`uid` = %d
-               and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 and id != %d ) 
-               $sql_extra limit %d, %d",
+       $r = q("SELECT `gcontact`.*, `contact`.`id` AS `cid`
+               FROM `glink`
+               INNER JOIN `gcontact` ON `glink`.`gcid` = `gcontact`.`id`
+               INNER JOIN `contact` ON `gcontact`.`nurl` = `contact`.`nurl`
+               WHERE `glink`.`cid` = %d and `glink`.`uid` = %d
+                       AND `contact`.`uid` = %d AND `contact`.`self` = 0 AND `contact`.`blocked` = 0
+                       AND `contact`.`hidden` = 0 AND `contact`.`id` != %d
+                       AND ((`gcontact`.`last_contact` >= `gcontact`.`last_failure`) OR (`gcontact`.`updated` >= `gcontact`.`last_failure`))
+                       $sql_extra LIMIT %d, %d",
                intval($cid),
                intval($uid),
                intval($uid),
@@ -1120,7 +1136,8 @@ function count_all_friends($uid,$cid) {
 
        $r = q("SELECT count(*) as `total`
                FROM `glink` INNER JOIN `gcontact` on `glink`.`gcid` = `gcontact`.`id`
-               where `glink`.`cid` = %d and `glink`.`uid` = %d ",
+               where `glink`.`cid` = %d and `glink`.`uid` = %d AND
+               ((`gcontact`.`last_contact` >= `gcontact`.`last_failure`) OR (`gcontact`.`updated` >= `gcontact`.`last_failure`))",
                intval($cid),
                intval($uid)
        );
@@ -1134,10 +1151,14 @@ function count_all_friends($uid,$cid) {
 
 function all_friends($uid,$cid,$start = 0, $limit = 80) {
 
-       $r = q("SELECT `gcontact`.*
-               FROM `glink` INNER JOIN `gcontact` on `glink`.`gcid` = `gcontact`.`id`
-               where `glink`.`cid` = %d and `glink`.`uid` = %d
-               order by `gcontact`.`name` asc LIMIT %d, %d ",
+       $r = q("SELECT `gcontact`.*, `contact`.`id` AS `cid`
+               FROM `glink`
+               INNER JOIN `gcontact` on `glink`.`gcid` = `gcontact`.`id`
+               LEFT JOIN `contact` ON `contact`.`nurl` = `gcontact`.`nurl` AND `contact`.`uid` = %d
+               WHERE `glink`.`cid` = %d AND `glink`.`uid` = %d AND
+               ((`gcontact`.`last_contact` >= `gcontact`.`last_failure`) OR (`gcontact`.`updated` >= `gcontact`.`last_failure`))
+               ORDER BY `gcontact`.`name` ASC LIMIT %d, %d ",
+               intval($uid),
                intval($cid),
                intval($uid),
                intval($start),
@@ -1167,14 +1188,14 @@ function suggestion_query($uid, $start = 0, $limit = 80) {
        $sql_network = "'".$sql_network."'";
 
        $r = q("SELECT count(glink.gcid) as `total`, gcontact.* from gcontact
-               INNER JOIN glink on glink.gcid = gcontact.id
+               INNER JOIN `glink` ON `glink`.`gcid` = `gcontact`.`id`
                where uid = %d and not gcontact.nurl in ( select nurl from contact where uid = %d )
-               and not gcontact.name in ( select name from contact where uid = %d )
-               and not gcontact.id in ( select gcid from gcign where uid = %d )
+               AND NOT `gcontact`.`name` IN (SELECT `name` FROM `contact` WHERE `uid` = %d)
+               AND NOT `gcontact`.`id` IN (SELECT `gcid` FROM `gcign` WHERE `uid` = %d)
                AND `gcontact`.`updated` != '0000-00-00 00:00:00'
                AND `gcontact`.`last_contact` >= `gcontact`.`last_failure`
                AND `gcontact`.`network` IN (%s)
-               group by glink.gcid order by gcontact.updated desc,total desc limit %d, %d ",
+               GROUP BY `glink`.`gcid` ORDER BY `gcontact`.`updated` DESC,`total` DESC LIMIT %d, %d",
                intval($uid),
                intval($uid),
                intval($uid),
@@ -1187,14 +1208,15 @@ function suggestion_query($uid, $start = 0, $limit = 80) {
        if(count($r) && count($r) >= ($limit -1))
                return $r;
 
-       $r2 = q("SELECT gcontact.* from gcontact
-               INNER JOIN glink on glink.gcid = gcontact.id
-               where glink.uid = 0 and glink.cid = 0 and glink.zcid = 0 and not gcontact.nurl in ( select nurl from contact where uid = %d )
-               and not gcontact.name in ( select name from contact where uid = %d )
-               and not gcontact.id in ( select gcid from gcign where uid = %d )
+       $r2 = q("SELECT gcontact.* FROM gcontact
+               INNER JOIN `glink` ON `glink`.`gcid` = `gcontact`.`id`
+               WHERE `glink`.`uid` = 0 AND `glink`.`cid` = 0 AND `glink`.`zcid` = 0 AND NOT `gcontact`.`nurl` IN (SELECT `nurl` FROM `contact` WHERE `uid` = %d)
+               AND NOT `gcontact`.`name` IN (SELECT `name` FROM `contact` WHERE `uid` = %d)
+               AND NOT `gcontact`.`id` IN (SELECT `gcid` FROM `gcign` WHERE `uid` = %d)
                AND `gcontact`.`updated` != '0000-00-00 00:00:00'
+               AND `gcontact`.`last_contact` >= `gcontact`.`last_failure`
                AND `gcontact`.`network` IN (%s)
-               order by rand() limit %d, %d ",
+               ORDER BY rand() LIMIT %d, %d",
                intval($uid),
                intval($uid),
                intval($uid),
@@ -1210,6 +1232,9 @@ function suggestion_query($uid, $start = 0, $limit = 80) {
        foreach ($r AS $suggestion)
                $list[$suggestion["nurl"]] = $suggestion;
 
+       while (sizeof($list) > ($limit))
+               array_pop($list);
+
        return $list;
 }
 
index 4ce634b603438bab43c76dfdb0c284c7e5f71861..1b03c39d26775b08fc4c30231bbab7bb956c7d59 100644 (file)
@@ -20,6 +20,10 @@ function replace_macros($s,$r) {
        $stamp1 = microtime(true);
 
        $a = get_app();
+       
+       // pass $baseurl to all templates
+       $r['$baseurl'] = z_root();
+       
 
        $t = $a->template_engine();
        try {
@@ -138,31 +142,31 @@ function autoname($len) {
                                'kh', 'kl','kr','mn','pl','pr','rh','tr','qu','wh');
 
        $start = mt_rand(0,2);
-       if($start == 0)
-               $table = $vowels;
-       else
-               $table = $cons;
+       if($start == 0)
+               $table = $vowels;
+       else
+               $table = $cons;
 
        $word = '';
 
        for ($x = 0; $x < $len; $x ++) {
-               $r = mt_rand(0,count($table) - 1);
-               $word .= $table[$r];
+               $r = mt_rand(0,count($table) - 1);
+               $word .= $table[$r];
 
-               if($table == $vowels)
-                       $table = array_merge($cons,$midcons);
-               else
-                       $table = $vowels;
+               if($table == $vowels)
+                       $table = array_merge($cons,$midcons);
+               else
+                       $table = $vowels;
 
        }
 
        $word = substr($word,0,$len);
 
        foreach($noend as $noe) {
-               if((strlen($word) > 2) && (substr($word,-2) == $noe)) {
-                       $word = substr($word,0,-1);
-                       break;
-               }
+               if((strlen($word) > 2) && (substr($word,-2) == $noe)) {
+                       $word = substr($word,0,-1);
+                       break;
+               }
        }
        if(substr($word,-1) == 'q')
                $word = substr($word,0,-1);
@@ -281,7 +285,7 @@ function paginate_data(&$a, $count=null) {
        if (($a->page_offset != "") AND !preg_match('/[?&].offset=/', $stripped))
                $stripped .= "&offset=".urlencode($a->page_offset);
 
-       $url = $a->get_baseurl() . '/' . $stripped;
+       $url = z_root() . '/' . $stripped;
 
        $data = array();
        function _l(&$d, $name, $url, $text, $class="") {
@@ -939,13 +943,16 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) {
        if($class)
                $class = ' ' . $class;
 
+       if ($contact["addr"] == "")
+               $contact["addr"] = $contact["url"];
+
        $url = $contact['url'];
        $sparkle = '';
        $redir = false;
 
        if($redirect) {
                $a = get_app();
-               $redirect_url = $a->get_baseurl() . '/redir/' . $contact['id'];
+               $redirect_url = z_root() . '/redir/' . $contact['id'];
                if(local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === NETWORK_DFRN)) {
                        $redir = true;
                        $url = $redirect_url;
@@ -962,7 +969,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) {
                        . (($click) ? ' fakelink' : '') . '" '
                        . (($redir) ? ' target="redir" ' : '')
                        . (($url) ? ' href="' . $url . '"' : '') . $click
-                       . '" title="' . $contact['name'] . ' [' . $contact['url'] . ']" alt="' . $contact['name']
+                       . '" title="' . $contact['name'] . ' [' . $contact['addr'] . ']" alt="' . $contact['name']
                        . '" >'. $contact['name'] . '</a></div>' . "\r\n";
        }
        else {
@@ -970,7 +977,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) {
                        . (($click) ? ' fakelink' : '') . '" '
                        . (($redir) ? ' target="redir" ' : '')
                        . (($url) ? ' href="' . $url . '"' : '') . $click . ' ><img class="contact-block-img' . $class . $sparkle . '" src="'
-                       . proxy_url($contact['micro'], false, PROXY_SIZE_THUMB) . '" title="' . $contact['name'] . ' [' . $contact['url'] . ']" alt="' . $contact['name']
+                       . proxy_url($contact['micro'], false, PROXY_SIZE_THUMB) . '" title="' . $contact['name'] . ' [' . $contact['addr'] . ']" alt="' . $contact['name']
                        . '" /></a></div>' . "\r\n";
        }
 }}
@@ -1008,7 +1015,7 @@ function search($s,$id='search-box',$url='/search',$save = false, $aside = true)
                        $values['$searchoption'][] = t("Forums");
        }
 
-        return replace_macros(get_markup_template('searchbox.tpl'), $values);
+       return replace_macros(get_markup_template('searchbox.tpl'), $values);
 }}
 
 if(! function_exists('valid_email')) {
@@ -1020,8 +1027,9 @@ if(! function_exists('valid_email')) {
  */
 function valid_email($x){
 
-       if(get_config('system','disable_email_validation'))
-               return true;
+       // Removed because Fabio told me so.
+       //if(get_config('system','disable_email_validation'))
+       //      return true;
 
        if(preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x))
                return true;
@@ -1162,48 +1170,48 @@ function smilies($s, $sample = false) {
                ':facepalm',
                ':like',
                ':dislike',
-                '~friendica',
-                'red#',
+               '~friendica',
+               'red#',
                'red#matrix'
 
        );
 
        $icons = array(
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-heart.gif" alt="&lt;3" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-brokenheart.gif" alt="&lt;/3" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-brokenheart.gif" alt="&lt;\\3" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-smile.gif" alt=":-)" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-wink.gif" alt=";-)" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-frown.gif" alt=":-(" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-tongue-out.gif" alt=":-P" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-tongue-out.gif" alt=":-p" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-kiss.gif" alt=":-\"" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-kiss.gif" alt=":-\"" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-kiss.gif" alt=":-x" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-kiss.gif" alt=":-X" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-laughing.gif" alt=":-D" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-surprised.gif" alt="8-|" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-surprised.gif" alt="8-O" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-surprised.gif" alt=":-O" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-thumbsup.gif" alt="\\o/" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="o.O" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="O.o" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="o_O" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-Oo.gif" alt="O_o" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-cry.gif" alt=":\'(" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-foot-in-mouth.gif" alt=":-!" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-undecided.gif" alt=":-/" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-embarassed.gif" alt=":-[" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-cool.gif" alt="8-)" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/beer_mug.gif" alt=":beer" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/beer_mug.gif" alt=":homebrew" />',
-               '<img class="smiley" src="' . $a->get_baseurl() . '/images/coffee.gif" alt=":coffee" />',
-               '<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://friendica.com">~friendica <img class="smiley" src="' . $a->get_baseurl() . '/images/friendica-16.png" alt="~friendica" /></a>',
-               '<a href="http://redmatrix.me/">red<img class="smiley" src="' . $a->get_baseurl() . '/images/rm-16.png" alt="red" />matrix</a>',
-               '<a href="http://redmatrix.me/">red<img class="smiley" src="' . $a->get_baseurl() . '/images/rm-16.png" alt="red" />matrix</a>'
+               '<img class="smiley" src="' . z_root() . '/images/smiley-heart.gif" alt="&lt;3" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-brokenheart.gif" alt="&lt;/3" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-brokenheart.gif" alt="&lt;\\3" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-smile.gif" alt=":-)" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-wink.gif" alt=";-)" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-frown.gif" alt=":-(" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-tongue-out.gif" alt=":-P" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-tongue-out.gif" alt=":-p" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-kiss.gif" alt=":-\"" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-kiss.gif" alt=":-\"" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-kiss.gif" alt=":-x" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-kiss.gif" alt=":-X" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-laughing.gif" alt=":-D" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-surprised.gif" alt="8-|" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-surprised.gif" alt="8-O" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-surprised.gif" alt=":-O" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-thumbsup.gif" alt="\\o/" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-Oo.gif" alt="o.O" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-Oo.gif" alt="O.o" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-Oo.gif" alt="o_O" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-Oo.gif" alt="O_o" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-cry.gif" alt=":\'(" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-foot-in-mouth.gif" alt=":-!" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-undecided.gif" alt=":-/" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-embarassed.gif" alt=":-[" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-cool.gif" alt="8-)" />',
+               '<img class="smiley" src="' . z_root() . '/images/beer_mug.gif" alt=":beer" />',
+               '<img class="smiley" src="' . z_root() . '/images/beer_mug.gif" alt=":homebrew" />',
+               '<img class="smiley" src="' . z_root() . '/images/coffee.gif" alt=":coffee" />',
+               '<img class="smiley" src="' . z_root() . '/images/smiley-facepalm.gif" alt=":facepalm" />',
+               '<img class="smiley" src="' . z_root() . '/images/like.gif" alt=":like" />',
+               '<img class="smiley" src="' . z_root() . '/images/dislike.gif" alt=":dislike" />',
+               '<a href="http://friendica.com">~friendica <img class="smiley" src="' . z_root() . '/images/friendica-16.png" alt="~friendica" /></a>',
+               '<a href="http://redmatrix.me/">red<img class="smiley" src="' . z_root() . '/images/rm-16.png" alt="red" />matrix</a>',
+               '<a href="http://redmatrix.me/">red<img class="smiley" src="' . z_root() . '/images/rm-16.png" alt="red" />matrix</a>'
        );
 
        $params = array('texts' => $texts, 'icons' => $icons, 'string' => $s);
@@ -1248,7 +1256,7 @@ function preg_heart($x) {
                return $x[0];
        $t = '';
        for($cnt = 0; $cnt < strlen($x[1]); $cnt ++)
-               $t .= '<img class="smiley" src="' . $a->get_baseurl() . '/images/smiley-heart.gif" alt="&lt;3" />';
+               $t .= '<img class="smiley" src="' . z_root() . '/images/smiley-heart.gif" alt="&lt;3" />';
        $r =  str_replace($x[0],$t,$x[0]);
        return $r;
 }
@@ -1326,7 +1334,7 @@ function redir_private_images($a, &$item) {
 
                        if((local_user() == $item['uid']) && ($item['private'] != 0) && ($item['contact-id'] != $a->contact['id']) && ($item['network'] == NETWORK_DFRN)) {
                                //logger("redir_private_images: redir");
-                               $img_url = $a->get_baseurl() . '/redir?f=1&quiet=1&url=' . $mtch[1] . '&conurl=' . $item['author-link'];
+                               $img_url = z_root() . '/redir?f=1&quiet=1&url=' . $mtch[1] . '&conurl=' . $item['author-link'];
                                $item['body'] = str_replace($mtch[0], "[img]".$img_url."[/img]", $item['body']);
                        }
                }
@@ -1377,7 +1385,7 @@ function prepare_body(&$item,$attach = false, $preview = false) {
        $a = get_app();
        call_hooks('prepare_body_init', $item);
 
-       $searchpath = $a->get_baseurl()."/search?tag=";
+       $searchpath = z_root()."/search?tag=";
 
        $tags=array();
        $hashtags = array();
@@ -1435,7 +1443,7 @@ function prepare_body(&$item,$attach = false, $preview = false) {
                                        $mime = $mtch[3];
 
                                        if((local_user() == $item['uid']) && ($item['contact-id'] != $a->contact['id']) && ($item['network'] == NETWORK_DFRN))
-                                               $the_url = $a->get_baseurl() . '/redir/' . $item['contact-id'] . '?f=1&url=' . $mtch[1];
+                                               $the_url = z_root() . '/redir/' . $item['contact-id'] . '?f=1&url=' . $mtch[1];
                                        else
                                                $the_url = $mtch[1];
 
@@ -1443,10 +1451,10 @@ function prepare_body(&$item,$attach = false, $preview = false) {
                                                if(!$vhead) {
                                                        $vhead = true;
                                                        $a->page['htmlhead'] .= replace_macros(get_markup_template('videos_head.tpl'), array(
-                                                               '$baseurl' => $a->get_baseurl(),
+                                                               '$baseurl' => z_root(),
                                                        ));
                                                        $a->page['end'] .= replace_macros(get_markup_template('videos_end.tpl'), array(
-                                                               '$baseurl' => $a->get_baseurl(),
+                                                               '$baseurl' => z_root(),
                                                        ));
                                                }
 
@@ -1502,7 +1510,7 @@ function prepare_body(&$item,$attach = false, $preview = false) {
                if($x) {
                        $s = preg_replace('/\<div class\=\"map\"\>/','$0' . $x,$s);
                }
-       }               
+       }
 
 
        // Look for spoiler
@@ -1519,7 +1527,7 @@ function prepare_body(&$item,$attach = false, $preview = false) {
                $pos = strpos($s, $spoilersearch);
                $rnd = random_string(8);
                $spoilerreplace = '<br /> <span id="spoiler-wrap-'.$rnd.'" style="white-space:nowrap;" class="fakelink" onclick="openClose(\'spoiler-'.$rnd.'\');">'.sprintf(t('Click to open/close')).'</span>'.
-                                       '<blockquote class="spoiler" id="spoiler-'.$rnd.'" style="display: none;">';
+                                       '<blockquote class="spoiler" id="spoiler-'.$rnd.'" style="display: none;">';
                $s = substr($s, 0, $pos).$spoilerreplace.substr($s, $pos+strlen($spoilersearch));
        }
 
@@ -1531,16 +1539,16 @@ function prepare_body(&$item,$attach = false, $preview = false) {
                $pos = strpos($s, $authorsearch);
                $rnd = random_string(8);
                $authorreplace = '<br /> <span id="author-wrap-'.$rnd.'" style="white-space:nowrap;" class="fakelink" onclick="openClose(\'author-'.$rnd.'\');">'.sprintf(t('Click to open/close')).'</span>'.
-                                       '<blockquote class="author" id="author-'.$rnd.'" style="display: block;">';
+                                       '<blockquote class="author" id="author-'.$rnd.'" style="display: block;">';
                $s = substr($s, 0, $pos).$authorreplace.substr($s, $pos+strlen($authorsearch));
        }
 
-    // replace friendica image url size with theme preference
-    if (x($a->theme_info,'item_image_size')){
-        $ps = $a->theme_info['item_image_size'];
+       // replace friendica image url size with theme preference
+       if (x($a->theme_info,'item_image_size')){
+           $ps = $a->theme_info['item_image_size'];
 
-        $s = preg_replace('|(<img[^>]+src="[^"]+/photo/[0-9a-f]+)-[0-9]|',"$1-".$ps, $s);
-    }
+           $s = preg_replace('|(<img[^>]+src="[^"]+/photo/[0-9a-f]+)-[0-9]|',"$1-".$ps, $s);
+       }
 
        $prep_arr = array('item' => $item, 'html' => $s);
        call_hooks('prepare_body_final', $prep_arr);
@@ -1599,47 +1607,47 @@ function prepare_text($text) {
  */
 function get_cats_and_terms($item) {
 
-    $a = get_app();
-    $categories = array();
-    $folders = array();
-
-    $matches = false; $first = true;
-    $cnt = preg_match_all('/<(.*?)>/',$item['file'],$matches,PREG_SET_ORDER);
-    if($cnt) {
-        foreach($matches as $mtch) {
-            $categories[] = array(
-                'name' => xmlify(file_tag_decode($mtch[1])),
-                'url' =>  "#",
-                'removeurl' => ((local_user() == $item['uid'])?$a->get_baseurl() . '/filerm/' . $item['id'] . '?f=&cat=' . xmlify(file_tag_decode($mtch[1])):""),
-                'first' => $first,
-                'last' => false
-            );
-            $first = false;
-        }
-    }
-    if (count($categories)) $categories[count($categories)-1]['last'] = true;
+       $a = get_app();
+       $categories = array();
+       $folders = array();
+
+       $matches = false; $first = true;
+       $cnt = preg_match_all('/<(.*?)>/',$item['file'],$matches,PREG_SET_ORDER);
+       if($cnt) {
+               foreach($matches as $mtch) {
+                       $categories[] = array(
+                               'name' => xmlify(file_tag_decode($mtch[1])),
+                               'url' =>  "#",
+                               'removeurl' => ((local_user() == $item['uid'])?z_root() . '/filerm/' . $item['id'] . '?f=&cat=' . xmlify(file_tag_decode($mtch[1])):""),
+                               'first' => $first,
+                               'last' => false
+                       );
+                       $first = false;
+               }
+       }
+       if (count($categories)) $categories[count($categories)-1]['last'] = true;
 
 
        if(local_user() == $item['uid']) {
-           $matches = false; $first = true;
-       $cnt = preg_match_all('/\[(.*?)\]/',$item['file'],$matches,PREG_SET_ORDER);
-           if($cnt) {
-           foreach($matches as $mtch) {
-                   $folders[] = array(
-                   'name' => xmlify(file_tag_decode($mtch[1])),
-                        'url' =>  "#",
-                       'removeurl' => ((local_user() == $item['uid'])?$a->get_baseurl() . '/filerm/' . $item['id'] . '?f=&term=' . xmlify(file_tag_decode($mtch[1])):""),
-                   'first' => $first,
-                       'last' => false
-               );
-                   $first = false;
+               $matches = false; $first = true;
+               $cnt = preg_match_all('/\[(.*?)\]/',$item['file'],$matches,PREG_SET_ORDER);
+               if($cnt) {
+                       foreach($matches as $mtch) {
+                               $folders[] = array(
+                                       'name' => xmlify(file_tag_decode($mtch[1])),
+                                       'url' =>  "#",
+                                       'removeurl' => ((local_user() == $item['uid'])?z_root() . '/filerm/' . $item['id'] . '?f=&term=' . xmlify(file_tag_decode($mtch[1])):""),
+                                       'first' => $first,
+                                       'last' => false
+                               );
+                               $first = false;
                        }
-        }
-    }
+               }
+       }
 
-    if (count($folders)) $folders[count($folders)-1]['last'] = true;
+       if (count($folders)) $folders[count($folders)-1]['last'] = true;
 
-    return array($categories, $folders);
+       return array($categories, $folders);
 }
 
 
@@ -1662,7 +1670,7 @@ function feed_hublinks() {
                                if(! strlen($h))
                                        continue;
                                if ($h === '[internal]')
-                                       $h = $a->get_baseurl() . '/pubsubhubbub';
+                                       $h = z_root() . '/pubsubhubbub';
                                $hubxml .= '<link rel="hub" href="' . xmlify($h) . '" />' . "\n" ;
                        }
                }
@@ -1681,12 +1689,12 @@ function feed_salmonlinks($nick) {
 
        $a = get_app();
 
-       $salmon  = '<link rel="salmon" href="' . xmlify($a->get_baseurl() . '/salmon/' . $nick) . '" />' . "\n" ;
+       $salmon  = '<link rel="salmon" href="' . xmlify(z_root() . '/salmon/' . $nick) . '" />' . "\n" ;
 
        // old style links that status.net still needed as of 12/2010
 
-       $salmon .= '  <link rel="http://salmon-protocol.org/ns/salmon-replies" href="' . xmlify($a->get_baseurl() . '/salmon/' . $nick) . '" />' . "\n" ;
-       $salmon .= '  <link rel="http://salmon-protocol.org/ns/salmon-mention" href="' . xmlify($a->get_baseurl() . '/salmon/' . $nick) . '" />' . "\n" ;
+       $salmon .= '  <link rel="http://salmon-protocol.org/ns/salmon-replies" href="' . xmlify(z_root() . '/salmon/' . $nick) . '" />' . "\n" ;
+       $salmon .= '  <link rel="http://salmon-protocol.org/ns/salmon-mention" href="' . xmlify(z_root() . '/salmon/' . $nick) . '" />' . "\n" ;
        return $salmon;
 }}
 
@@ -1701,9 +1709,9 @@ function get_plink($item) {
 
        if ($a->user['nickname'] != "") {
                $ret = array(
-                               //'href' => $a->get_baseurl()."/display/".$a->user['nickname']."/".$item['id'],
-                               'href' => $a->get_baseurl()."/display/".$item['guid'],
-                               'orig' => $a->get_baseurl()."/display/".$item['guid'],
+                               //'href' => z_root()."/display/".$a->user['nickname']."/".$item['id'],
+                               'href' => z_root()."/display/".$item['guid'],
+                               'orig' => z_root()."/display/".$item['guid'],
                                'title' => t('View on separate page'),
                                'orig_title' => t('view on separate page'),
                        );
@@ -1738,50 +1746,6 @@ function unamp($s) {
 }}
 
 
-
-
-if(! function_exists('lang_selector')) {
-/**
- * get html for language selector
- * @global string $lang
- * @return string
- * @template lang_selector.tpl
- */
-function lang_selector() {
-       global $lang;
-
-       $langs = glob('view/*/strings.php');
-
-       $lang_options = array();
-       $selected = "";
-
-       if(is_array($langs) && count($langs)) {
-               $langs[] = '';
-               if(! in_array('view/en/strings.php',$langs))
-                       $langs[] = 'view/en/';
-               asort($langs);
-               foreach($langs as $l) {
-                       if($l == '') {
-                               $lang_options[""] = t('default');
-                               continue;
-                       }
-                       $ll = substr($l,5);
-                       $ll = substr($ll,0,strrpos($ll,'/'));
-                       $selected = (($ll === $lang && (x($_SESSION, 'language'))) ? $ll : $selected);
-                       $lang_options[$ll]=$ll;
-               }
-       }
-
-       $tpl = get_markup_template("lang_selector.tpl");
-       $o = replace_macros($tpl, array(
-               '$title' => t('Select an alternate language'),
-               '$langs' => array($lang_options, $selected),
-
-       ));
-       return $o;
-}}
-
-
 if(! function_exists('return_bytes')) {
 /**
  * return number of bytes in size (K, M, G)
@@ -1789,13 +1753,12 @@ if(! function_exists('return_bytes')) {
  * @return number
  */
 function return_bytes ($size_str) {
-    switch (substr ($size_str, -1))
-    {
-        case 'M': case 'm': return (int)$size_str * 1048576;
-        case 'K': case 'k': return (int)$size_str * 1024;
-        case 'G': case 'g': return (int)$size_str * 1073741824;
-        default: return $size_str;
-    }
+       switch (substr ($size_str, -1)) {
+               case 'M': case 'm': return (int)$size_str * 1048576;
+               case 'K': case 'k': return (int)$size_str * 1024;
+               case 'G': case 'g': return (int)$size_str * 1073741824;
+               default: return $size_str;
+       }
 }}
 
 /**
@@ -1872,60 +1835,60 @@ if (!function_exists('str_getcsv')) {
         * @param string $eol
         * @return boolean|array False on error, otherwise array[row][column]
         */
-    function str_getcsv($input, $delimiter = ',', $enclosure = '"', $escape = '\\', $eol = '\n') {
-        if (is_string($input) && !empty($input)) {
-            $output = array();
-            $tmp    = preg_split("/".$eol."/",$input);
-            if (is_array($tmp) && !empty($tmp)) {
-                while (list($line_num, $line) = each($tmp)) {
-                    if (preg_match("/".$escape.$enclosure."/",$line)) {
-                        while ($strlen = strlen($line)) {
-                            $pos_delimiter       = strpos($line,$delimiter);
-                            $pos_enclosure_start = strpos($line,$enclosure);
-                            if (
-                                is_int($pos_delimiter) && is_int($pos_enclosure_start)
-                                && ($pos_enclosure_start < $pos_delimiter)
-                                ) {
-                                $enclosed_str = substr($line,1);
-                                $pos_enclosure_end = strpos($enclosed_str,$enclosure);
-                                $enclosed_str = substr($enclosed_str,0,$pos_enclosure_end);
-                                $output[$line_num][] = $enclosed_str;
-                                $offset = $pos_enclosure_end+3;
-                            } else {
-                                if (empty($pos_delimiter) && empty($pos_enclosure_start)) {
-                                    $output[$line_num][] = substr($line,0);
-                                    $offset = strlen($line);
-                                } else {
-                                    $output[$line_num][] = substr($line,0,$pos_delimiter);
-                                    $offset = (
-                                                !empty($pos_enclosure_start)
-                                                && ($pos_enclosure_start < $pos_delimiter)
-                                                )
-                                                ?$pos_enclosure_start
-                                                :$pos_delimiter+1;
-                                }
-                            }
-                            $line = substr($line,$offset);
-                        }
-                    } else {
-                        $line = preg_split("/".$delimiter."/",$line);
-
-                        /*
-                         * Validating against pesky extra line breaks creating false rows.
-                         */
-                        if (is_array($line) && !empty($line[0])) {
-                            $output[$line_num] = $line;
-                        }
-                    }
-                }
-                return $output;
-            } else {
-                return false;
-            }
-        } else {
-            return false;
-        }
-    }
+function str_getcsv($input, $delimiter = ',', $enclosure = '"', $escape = '\\', $eol = '\n') {
+       if (is_string($input) && !empty($input)) {
+               $output = array();
+               $tmp    = preg_split("/".$eol."/",$input);
+               if (is_array($tmp) && !empty($tmp)) {
+                       while (list($line_num, $line) = each($tmp)) {
+                               if (preg_match("/".$escape.$enclosure."/",$line)) {
+                                       while ($strlen = strlen($line)) {
+                                               $pos_delimiter       = strpos($line,$delimiter);
+                                               $pos_enclosure_start = strpos($line,$enclosure);
+                                               if (
+                                                       is_int($pos_delimiter) && is_int($pos_enclosure_start)
+                                                       && ($pos_enclosure_start < $pos_delimiter)
+                                                       ) {
+                                                       $enclosed_str = substr($line,1);
+                                                       $pos_enclosure_end = strpos($enclosed_str,$enclosure);
+                                                       $enclosed_str = substr($enclosed_str,0,$pos_enclosure_end);
+                                                       $output[$line_num][] = $enclosed_str;
+                                                       $offset = $pos_enclosure_end+3;
+                                               } else {
+                                                       if (empty($pos_delimiter) && empty($pos_enclosure_start)) {
+                                                               $output[$line_num][] = substr($line,0);
+                                                               $offset = strlen($line);
+                                                       } else {
+                                                               $output[$line_num][] = substr($line,0,$pos_delimiter);
+                                                               $offset = (
+                                                                       !empty($pos_enclosure_start)
+                                                                       && ($pos_enclosure_start < $pos_delimiter)
+                                                                       )
+                                                                       ?$pos_enclosure_start
+                                                                       :$pos_delimiter+1;
+                                                       }
+                                               }
+                                               $line = substr($line,$offset);
+                                       }
+                               } else {
+                                       $line = preg_split("/".$delimiter."/",$line);
+
+                                       /*
+                                        * Validating against pesky extra line breaks creating false rows.
+                                        */
+                                       if (is_array($line) && !empty($line[0])) {
+                                               $output[$line_num] = $line;
+                               }
+                               }
+                       }
+                       return $output;
+               } else {
+               return false;
+               }
+       } else {
+               return false;
+       }
+}
 }
 
 /**
@@ -1986,36 +1949,35 @@ function array_xmlify($val){
  * @param string $base base url
  * @return string
  */
-function reltoabs($text, $base)
-{
-  if (empty($base))
-    return $text;
+function reltoabs($text, $base) {
+       if (empty($base))
+           return $text;
 
-  $base = rtrim($base,'/');
+       $base = rtrim($base,'/');
 
-  $base2 = $base . "/";
+       $base2 = $base . "/";
 
-  // Replace links
-  $pattern = "/<a([^>]*) href=\"(?!http|https|\/)([^\"]*)\"/";
-  $replace = "<a\${1} href=\"" . $base2 . "\${2}\"";
-  $text = preg_replace($pattern, $replace, $text);
+       // Replace links
+       $pattern = "/<a([^>]*) href=\"(?!http|https|\/)([^\"]*)\"/";
+       $replace = "<a\${1} href=\"" . $base2 . "\${2}\"";
+       $text = preg_replace($pattern, $replace, $text);
 
-  $pattern = "/<a([^>]*) href=\"(?!http|https)([^\"]*)\"/";
-  $replace = "<a\${1} href=\"" . $base . "\${2}\"";
-  $text = preg_replace($pattern, $replace, $text);
+       $pattern = "/<a([^>]*) href=\"(?!http|https)([^\"]*)\"/";
+       $replace = "<a\${1} href=\"" . $base . "\${2}\"";
+       $text = preg_replace($pattern, $replace, $text);
 
-  // Replace images
-  $pattern = "/<img([^>]*) src=\"(?!http|https|\/)([^\"]*)\"/";
-  $replace = "<img\${1} src=\"" . $base2 . "\${2}\"";
-  $text = preg_replace($pattern, $replace, $text);
+       // Replace images
+       $pattern = "/<img([^>]*) src=\"(?!http|https|\/)([^\"]*)\"/";
+       $replace = "<img\${1} src=\"" . $base2 . "\${2}\"";
+       $text = preg_replace($pattern, $replace, $text);
 
-  $pattern = "/<img([^>]*) src=\"(?!http|https)([^\"]*)\"/";
-  $replace = "<img\${1} src=\"" . $base . "\${2}\"";
-  $text = preg_replace($pattern, $replace, $text);
+       $pattern = "/<img([^>]*) src=\"(?!http|https)([^\"]*)\"/";
+       $replace = "<img\${1} src=\"" . $base . "\${2}\"";
+       $text = preg_replace($pattern, $replace, $text);
 
 
-  // Done
-  return $text;
+       // Done
+       return $text;
 }
 
 /**
@@ -2060,36 +2022,36 @@ function file_tag_file_query($table,$s,$type = 'file') {
 
 // ex. given music,video return <music><video> or [music][video]
 function file_tag_list_to_file($list,$type = 'file') {
-        $tag_list = '';
-        if(strlen($list)) {
-                $list_array = explode(",",$list);
-                if($type == 'file') {
-                       $lbracket = '[';
-                       $rbracket = ']';
-               }
-                else {
-                       $lbracket = '<';
-                       $rbracket = '>';
-               }
-
-                foreach($list_array as $item) {
+       $tag_list = '';
+       if(strlen($list)) {
+               $list_array = explode(",",$list);
+               if($type == 'file') {
+                       $lbracket = '[';
+                       $rbracket = ']';
+               }
+               else {
+                       $lbracket = '<';
+                       $rbracket = '>';
+               }
+
+               foreach($list_array as $item) {
                  if(strlen($item)) {
-                               $tag_list .= $lbracket . file_tag_encode(trim($item))  . $rbracket;
+                               $tag_list .= $lbracket . file_tag_encode(trim($item))  . $rbracket;
                        }
-                }
+               }
        }
-        return $tag_list;
+       return $tag_list;
 }
 
 // ex. given <music><video>[friends], return music,video or friends
 function file_tag_file_to_list($file,$type = 'file') {
-        $matches = false;
-        $list = '';
-        if($type == 'file') {
-                $cnt = preg_match_all('/\[(.*?)\]/',$file,$matches,PREG_SET_ORDER);
+       $matches = false;
+       $list = '';
+       if($type == 'file') {
+               $cnt = preg_match_all('/\[(.*?)\]/',$file,$matches,PREG_SET_ORDER);
        }
-        else {
-                $cnt = preg_match_all('/<(.*?)>/',$file,$matches,PREG_SET_ORDER);
+       else {
+               $cnt = preg_match_all('/<(.*?)>/',$file,$matches,PREG_SET_ORDER);
        }
        if($cnt) {
                foreach($matches as $mtch) {
@@ -2099,55 +2061,55 @@ function file_tag_file_to_list($file,$type = 'file') {
                }
        }
 
-        return $list;
+       return $list;
 }
 
 function file_tag_update_pconfig($uid,$file_old,$file_new,$type = 'file') {
-        // $file_old - categories previously associated with an item
-        // $file_new - new list of categories for an item
+       // $file_old - categories previously associated with an item
+       // $file_new - new list of categories for an item
 
        if(! intval($uid))
                return false;
 
-        if($file_old == $file_new)
-               return true;
+       if($file_old == $file_new)
+               return true;
 
        $saved = get_pconfig($uid,'system','filetags');
-        if(strlen($saved)) {
-                if($type == 'file') {
-                       $lbracket = '[';
-                       $rbracket = ']';
+       if(strlen($saved)) {
+               if($type == 'file') {
+                       $lbracket = '[';
+                       $rbracket = ']';
                        $termtype = TERM_FILE;
-               }
-                else {
-                       $lbracket = '<';
-                       $rbracket = '>';
+               }
+               else {
+                       $lbracket = '<';
+                       $rbracket = '>';
                        $termtype = TERM_CATEGORY;
-               }
+               }
 
-                $filetags_updated = $saved;
+               $filetags_updated = $saved;
 
                // check for new tags to be added as filetags in pconfig
-                $new_tags = array();
-                $check_new_tags = explode(",",file_tag_file_to_list($file_new,$type));
+               $new_tags = array();
+               $check_new_tags = explode(",",file_tag_file_to_list($file_new,$type));
 
-               foreach($check_new_tags as $tag) {
-                       if(! stristr($saved,$lbracket . file_tag_encode($tag) . $rbracket))
-                               $new_tags[] = $tag;
-               }
+               foreach($check_new_tags as $tag) {
+                       if(! stristr($saved,$lbracket . file_tag_encode($tag) . $rbracket))
+                               $new_tags[] = $tag;
+               }
 
                $filetags_updated .= file_tag_list_to_file(implode(",",$new_tags),$type);
 
                // check for deleted tags to be removed from filetags in pconfig
-                $deleted_tags = array();
-                $check_deleted_tags = explode(",",file_tag_file_to_list($file_old,$type));
+               $deleted_tags = array();
+               $check_deleted_tags = explode(",",file_tag_file_to_list($file_old,$type));
 
-               foreach($check_deleted_tags as $tag) {
-                       if(! stristr($file_new,$lbracket . file_tag_encode($tag) . $rbracket))
-                               $deleted_tags[] = $tag;
-               }
+               foreach($check_deleted_tags as $tag) {
+                       if(! stristr($file_new,$lbracket . file_tag_encode($tag) . $rbracket))
+                               $deleted_tags[] = $tag;
+               }
 
-                foreach($deleted_tags as $key => $tag) {
+               foreach($deleted_tags as $key => $tag) {
                        $r = q("SELECT `oid` FROM `term` WHERE `term` = '%s' AND `otype` = %d AND `type` = %d AND `uid` = %d",
                                dbesc($tag),
                                intval(TERM_OBJ_POST),
@@ -2158,23 +2120,23 @@ function file_tag_update_pconfig($uid,$file_old,$file_new,$type = 'file') {
                        //      intval($uid)
                        //);
 
-                       if(count($r)) {
-                               unset($deleted_tags[$key]);
-                       }
+                       if(count($r)) {
+                               unset($deleted_tags[$key]);
+                       }
                        else {
-                               $filetags_updated = str_replace($lbracket . file_tag_encode($tag) . $rbracket,'',$filetags_updated);
+                               $filetags_updated = str_replace($lbracket . file_tag_encode($tag) . $rbracket,'',$filetags_updated);
                        }
                }
 
-                if($saved != $filetags_updated) {
-                       set_pconfig($uid,'system','filetags', $filetags_updated);
-                }
+               if($saved != $filetags_updated) {
+                       set_pconfig($uid,'system','filetags', $filetags_updated);
+               }
                return true;
        }
-        else
-                if(strlen($file_new)) {
-                       set_pconfig($uid,'system','filetags', $file_new);
-                }
+       else
+               if(strlen($file_new)) {
+                       set_pconfig($uid,'system','filetags', $file_new);
+               }
                return true;
 }
 
@@ -2184,13 +2146,13 @@ function file_tag_save_file($uid,$item,$file) {
        $result = false;
        if(! intval($uid))
                return false;
-       $r = q("select file from item where id = %d and uid = %d limit 1",
+       $r = q("SELECT `file` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                intval($item),
                intval($uid)
        );
        if(count($r)) {
                if(! stristr($r[0]['file'],'[' . file_tag_encode($file) . ']'))
-                       q("update item set file = '%s' where id = %d and uid = %d",
+                       q("UPDATE `item` SET `file` = '%s' WHERE `id` = %d AND `uid` = %d",
                                dbesc($r[0]['file'] . '[' . file_tag_encode($file) . ']'),
                                intval($item),
                                intval($uid)
@@ -2222,14 +2184,14 @@ function file_tag_unsave_file($uid,$item,$file,$cat = false) {
        }
 
 
-       $r = q("select file from item where id = %d and uid = %d limit 1",
+       $r = q("SELECT `file` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                intval($item),
                intval($uid)
        );
        if(! count($r))
                return false;
 
-       q("update item set file = '%s' where id = %d and uid = %d",
+       q("UPDATE `item` SET `file` = '%s' WHERE `id` = %d AND `uid` = %d",
                dbesc(str_replace($pattern,'',$r[0]['file'])),
                intval($item),
                intval($uid)
@@ -2314,14 +2276,36 @@ function deindent($text, $chr="[\t ]", $count=NULL) {
        return implode("\n", $lines);
 }
 
-function formatBytes($bytes, $precision = 2) { 
-        $units = array('B', 'KB', 'MB', 'GB', 'TB'); 
+function formatBytes($bytes, $precision = 2) {
+        $units = array('B', 'KB', 'MB', 'GB', 'TB');
 
-       $bytes = max($bytes, 0); 
-       $pow = floor(($bytes ? log($bytes) : 0) / log(1024)); 
-       $pow = min($pow, count($units) - 1); 
+       $bytes = max($bytes, 0);
+       $pow = floor(($bytes ? log($bytes) : 0) / log(1024));
+       $pow = min($pow, count($units) - 1);
 
        $bytes /= pow(1024, $pow);
 
-       return round($bytes, $precision) . ' ' . $units[$pow]; 
-} 
+       return round($bytes, $precision) . ' ' . $units[$pow];
+}
+
+/**
+ * @brief translate and format the networkname of a contact
+ * 
+ * @param string $network
+ *     Networkname of the contact (e.g. dfrn, rss and so on)
+ * @param sting $url
+ *     The contact url
+ * @return string
+ */
+function format_network_name($network, $url = 0) {
+       if ($network != "") {
+               require_once('include/contact_selectors.php');
+               if ($url != "")
+                       $network_name = '<a href="'.$url.'">'.network_to_name($network, $url)."</a>";
+               else
+                       $network_name = network_to_name($network);
+
+               return $network_name;
+       }
+
+}
index 3cfa02564036b4d38577da017a31ee48f1b243a7..c12f43bb81154c62256b9fac99a823d8ee144e84 100644 (file)
@@ -87,7 +87,6 @@ function add_shadow_entry($item) {
 
        // Is there already a shadow entry?
        $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = 0 LIMIT 1", dbesc($item['uri']));
-
        if (count($r))
                return;
 
diff --git a/include/update_gcontact.php b/include/update_gcontact.php
new file mode 100644 (file)
index 0000000..b5ea30a
--- /dev/null
@@ -0,0 +1,113 @@
+<?php
+
+require_once("boot.php");
+
+function update_gcontact_run(&$argv, &$argc){
+       global $a, $db;
+
+       if(is_null($a)) {
+               $a = new App;
+       }
+
+       if(is_null($db)) {
+               @include(".htconfig.php");
+               require_once("include/dba.php");
+               $db = new dba($db_host, $db_user, $db_pass, $db_data);
+               unset($db_host, $db_user, $db_pass, $db_data);
+       };
+
+       require_once('include/pidfile.php');
+       require_once('include/Scrape.php');
+       require_once("include/socgraph.php");
+
+       load_config('config');
+       load_config('system');
+
+       $a->set_baseurl(get_config('system','url'));
+
+       load_hooks();
+
+       logger('update_gcontact: start');
+
+       if(($argc > 1) && (intval($argv[1])))
+               $contact_id = intval($argv[1]);
+
+       if(!$contact_id) {
+               logger('update_gcontact: no contact');
+               return;
+       }
+
+       $lockpath = get_lockpath();
+       if ($lockpath != '') {
+               $pidfile = new pidfile($lockpath, 'update_gcontact'.$contact_id);
+               if ($pidfile->is_already_running()) {
+                       logger("update_gcontact: Already running for contact ".$contact_id);
+                       if ($pidfile->running_time() > 9*60) {
+                               $pidfile->kill();
+                               logger("killed stale process");
+                       }
+                       exit;
+               }
+       }
+
+       $r = q("SELECT * FROM `gcontact` WHERE `id` = %d", intval($contact_id));
+
+       if (!$r)
+               return;
+
+       if (!in_array($r[0]["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
+               return;
+
+       $data = probe_url($r[0]["url"]);
+
+       if (!in_array($data["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) {
+               if ($r[0]["server_url"] != "")
+                       poco_check_server($r[0]["server_url"], $r[0]["network"]);
+
+               q("UPDATE `gcontact` SET `last_failure` = '%s' WHERE `id` = %d",
+                       dbesc(datetime_convert()), intval($contact_id));
+               return;
+       }
+
+       if (($data["name"] == "") AND ($r[0]['name'] != ""))
+               $data["name"] = $r[0]['name'];
+
+       if (($data["nick"] == "") AND ($r[0]['nick'] != ""))
+               $data["nick"] = $r[0]['nick'];
+
+       if (($data["addr"] == "") AND ($r[0]['addr'] != ""))
+               $data["addr"] = $r[0]['addr'];
+
+       if (($data["photo"] == "") AND ($r[0]['photo'] != ""))
+               $data["photo"] = $r[0]['photo'];
+
+
+       q("UPDATE `gcontact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `photo` = '%s'
+                               WHERE `id` = %d",
+                               dbesc($data["name"]),
+                               dbesc($data["nick"]),
+                               dbesc($data["addr"]),
+                               dbesc($data["photo"]),
+                               intval($contact_id)
+                       );
+
+       q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `photo` = '%s'
+                               WHERE `uid` = 0 AND `addr` = '' AND `nurl` = '%s'",
+                               dbesc($data["name"]),
+                               dbesc($data["nick"]),
+                               dbesc($data["addr"]),
+                               dbesc($data["photo"]),
+                               dbesc(normalise_link($data["url"]))
+                       );
+
+       q("UPDATE `contact` SET `addr` = '%s'
+                               WHERE `uid` != 0 AND `addr` = '' AND `nurl` = '%s'",
+                               dbesc($data["addr"]),
+                               dbesc(normalise_link($data["url"]))
+                       );
+}
+
+if (array_search(__file__,get_included_files())===0){
+       update_gcontact_run($_SERVER["argv"],$_SERVER["argc"]);
+       killme();
+}
index d989664acd72999f16ec1432765124cd23c39f01..3997a8a61f12584da6469808d767fb93c53c2db6 100644 (file)
@@ -48,7 +48,7 @@ function create_user($arr) {
                        $result['message'] .= t('An invitation is required.') . EOL;
                        return $result;
                }
-               $r = q("select * from register where `hash` = '%s' limit 1", dbesc($invite_id));
+               $r = q("SELECT * FROM `register` WHERE `hash` = '%s' LIMIT 1", dbesc($invite_id));
                if(! results($r)) {
                        $result['message'] .= t('Invitation could not be verified.') . EOL;
                        return $result;
@@ -66,7 +66,7 @@ function create_user($arr) {
                        require_once('library/openid.php');
                        $openid = new LightOpenID;
                        $openid->identity = $openid_url;
-                       $openid->returnUrl = $a->get_baseurl() . '/openid';
+                       $openid->returnUrl = z_root() . '/openid';
                        $openid->required = array('namePerson/friendly', 'contact/email', 'namePerson');
                        $openid->optional = array('namePerson/first','media/image/aspect11','media/image/default');
                        try {
@@ -138,9 +138,10 @@ function create_user($arr) {
 
        if(! preg_match("/^[a-z0-9][a-z0-9\_]*$/",$nickname))
                $result['message'] .= t('Your "nickname" can only contain "a-z", "0-9" and "_".') . EOL;
+
        $r = q("SELECT `uid` FROM `user`
-                       WHERE `nickname` = '%s' LIMIT 1",
-                       dbesc($nickname)
+               WHERE `nickname` = '%s' LIMIT 1",
+               dbesc($nickname)
        );
        if(count($r))
                $result['message'] .= t('Nickname is already registered. Please choose another.') . EOL;
@@ -149,8 +150,8 @@ function create_user($arr) {
        // but could be a security issue for federated platforms.
 
        $r = q("SELECT * FROM `userd`
-                       WHERE `username` = '%s' LIMIT 1",
-                       dbesc($nickname)
+               WHERE `username` = '%s' LIMIT 1",
+               dbesc($nickname)
        );
        if(count($r))
                $result['message'] .= t('Nickname was once registered here and may not be re-used. Please choose another.') . EOL;
@@ -237,8 +238,8 @@ function create_user($arr) {
         */
 
        $r = q("SELECT `uid` FROM `user`
-                       WHERE `nickname` = '%s' ",
-                       dbesc($nickname)
+               WHERE `nickname` = '%s' ",
+               dbesc($nickname)
        );
        if((count($r) > 1) && $newuid) {
                $result['message'] .= t('Nickname is already registered. Please choose another.') . EOL;
@@ -255,8 +256,8 @@ function create_user($arr) {
                        t('default'),
                        1,
                        dbesc($username),
-                       dbesc($a->get_baseurl() . "/photo/profile/{$newuid}.jpg"),
-                       dbesc($a->get_baseurl() . "/photo/avatar/{$newuid}.jpg"),
+                       dbesc(z_root() . "/photo/profile/{$newuid}.jpg"),
+                       dbesc(z_root() . "/photo/avatar/{$newuid}.jpg"),
                        intval($publish),
                        intval($netpublish)
 
@@ -269,22 +270,23 @@ function create_user($arr) {
                        return $result;
                }
                $r = q("INSERT INTO `contact` ( `uid`, `created`, `self`, `name`, `nick`, `photo`, `thumb`, `micro`, `blocked`, `pending`, `url`, `nurl`,
-                       `request`, `notify`, `poll`, `confirm`, `poco`, `name-date`, `uri-date`, `avatar-date`, `closeness` )
-                       VALUES ( %d, '%s', 1, '%s', '%s', '%s', '%s', '%s', 0, 0, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', 0 ) ",
+                       `addr`, `request`, `notify`, `poll`, `confirm`, `poco`, `name-date`, `uri-date`, `avatar-date`, `closeness` )
+                       VALUES ( %d, '%s', 1, '%s', '%s', '%s', '%s', '%s', 0, 0, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', 0 ) ",
                        intval($newuid),
                        datetime_convert(),
                        dbesc($username),
                        dbesc($nickname),
-                       dbesc($a->get_baseurl() . "/photo/profile/{$newuid}.jpg"),
-                       dbesc($a->get_baseurl() . "/photo/avatar/{$newuid}.jpg"),
-                       dbesc($a->get_baseurl() . "/photo/micro/{$newuid}.jpg"),
-                       dbesc($a->get_baseurl() . "/profile/$nickname"),
-                       dbesc(normalise_link($a->get_baseurl() . "/profile/$nickname")),
-                       dbesc($a->get_baseurl() . "/dfrn_request/$nickname"),
-                       dbesc($a->get_baseurl() . "/dfrn_notify/$nickname"),
-                       dbesc($a->get_baseurl() . "/dfrn_poll/$nickname"),
-                       dbesc($a->get_baseurl() . "/dfrn_confirm/$nickname"),
-                       dbesc($a->get_baseurl() . "/poco/$nickname"),
+                       dbesc(z_root() . "/photo/profile/{$newuid}.jpg"),
+                       dbesc(z_root() . "/photo/avatar/{$newuid}.jpg"),
+                       dbesc(z_root() . "/photo/micro/{$newuid}.jpg"),
+                       dbesc(z_root() . "/profile/$nickname"),
+                       dbesc(normalise_link(z_root() . "/profile/$nickname")),
+                       dbesc($nickname . '@' . substr(z_root(), strpos(z_root(),'://') + 3 )),
+                       dbesc(z_root() . "/dfrn_request/$nickname"),
+                       dbesc(z_root() . "/dfrn_notify/$nickname"),
+                       dbesc(z_root() . "/dfrn_poll/$nickname"),
+                       dbesc(z_root() . "/dfrn_confirm/$nickname"),
+                       dbesc(z_root() . "/poco/$nickname"),
                        dbesc(datetime_convert()),
                        dbesc(datetime_convert()),
                        dbesc(datetime_convert())
@@ -296,23 +298,23 @@ function create_user($arr) {
                require_once('include/group.php');
                group_add($newuid, t('Friends'));
 
-               $r = q("SELECT id FROM `group` WHERE uid = %d AND name = '%s'",
+               $r = q("SELECT `id` FROM `group` WHERE `uid` = %d AND `name` = '%s'",
                        intval($newuid),
                        dbesc(t('Friends'))
                );
                if($r && count($r)) {
                        $def_gid = $r[0]['id'];
 
-                       q("UPDATE user SET def_gid = %d WHERE uid = %d",
+                       q("UPDATE `user` SET `def_gid` = %d WHERE `uid` = %d",
                                intval($r[0]['id']),
                                intval($newuid)
                        );
                }
 
                if(get_config('system', 'newuser_private') && $def_gid) {
-                       q("UPDATE user SET allow_gid = '%s' WHERE uid = %d",
-                          dbesc("<" . $def_gid . ">"),
-                          intval($newuid)
+                       q("UPDATE `user` SET `allow_gid` = '%s' WHERE `uid` = %d",
+                               dbesc("<" . $def_gid . ">"),
+                               intval($newuid)
                        );
                }
 
index 02316e1e952b4362a627356f6d71525884168e2a..9fe248e8e2b5329f3b67503a75c74e9a2bc6ef3b 100644 (file)
--- a/index.php
+++ b/index.php
@@ -102,13 +102,13 @@ session_start();
  * Language was set earlier, but we can over-ride it in the session.
  * We have to do it here because the session was just now opened.
  */
-
-if(array_key_exists('system_language',$_POST)) {
-       if(strlen($_POST['system_language']))
-               $_SESSION['language'] = $_POST['system_language'];
-       else
-               unset($_SESSION['language']);
+if (x($_SESSION,'authenticated') && !x($_SESSION,'language')) {
+       // we didn't loaded user data yet, but we need user language
+       $r = q("SELECT language FROM user WHERE uid=%d", intval($_SESSION['uid']));
+       $_SESSION['language'] = $lang;
+       if (count($r)>0) $_SESSION['language'] = $r[0]['language'];
 }
+
 if((x($_SESSION,'language')) && ($_SESSION['language'] !== $lang)) {
        $lang = $_SESSION['language'];
        load_translation_table($lang);
index 66db2833c3071b0e8d27cb5bc06579babc30db05..78cee0e77ed8f7349d4ca434ea60a338cc4e859e 100644 (file)
@@ -1,7 +1,7 @@
 /**\r
  * Filebrowser - Friendica Communications Server\r
  *\r
- * Copyright (c) 2010-2013 the Friendica Project\r
+ * Copyright (c) 2010-2015 the Friendica Project\r
  *\r
  * This program is free software: you can redistribute it and/or modify\r
  * it under the terms of the GNU Affero General Public License as published by\r
  *\r
  * To load filebrowser in colorbox, call\r
  *\r
- *     $.colorbox({href: ulr, iframe:true,innerWidth:'500px',innerHeight:'400px'})\r
+ *      Dialog.doImageBrowser(eventname, id);\r
  *\r
- * where url is:\r
+ * or\r
  *\r
- *             <baseurl>/fbrowser/<type>/?mode=minimal[#<eventname>-<id>]\r
+ *      Dialog.doFileBrowser(eventname, id);\r
+ *\r
+ * where:\r
  *\r
- *             baseurl: baseurl from friendica\r
- *             type: one of "image", "file"\r
  *             eventname: event name to catch return value\r
  *             id: id returned to event handler\r
  *\r
- *     When user select an item, an event in fired in parent page, on body element\r
- *     The event is named\r
+ * When user select an item, an event in fired in parent page, on body element\r
+ * The event is named\r
  *\r
  *             fbrowser.<type>.[<eventname>]\r
  *\r
- *     with params:\r
+ * <type> will be one of "image" or "file", and the event handler will\r
+ * get the following params:\r
  *\r
  *             filemane: filename of item choosed by user\r
  *             embed: bbcode to embed element into posts\r
- *             id: id from url\r
+ *             id: id from caller code\r
  *\r
- *  example:\r
+ * example:\r
  *\r
- *     // open dialog for select an image for a textarea with id "myeditor"\r
- *             var id="myeditor";\r
- *             $.colorbox({href: baseurl + "/fbrowser/image/?mode=minimal#example-"+id, iframe:true,innerWidth:'500px',innerHeight:'400px'})\r
+ *             // open dialog for select an image for a textarea with id "myeditor"\r
+ *             var id="myeditor";\r
+ *             Dialog.doImageBrowser("example", id);\r
  *\r
  *             // setup event handler to get user selection\r
  *             $("body").on("fbrowser.image.example", function(event, filename, bbcode, id) {\r
index cf6fd25cbc71a25210576892ecf0b2a3ca8c9d23..6010578ab7b01697ee1b5dd178b7556962991e41 100644 (file)
@@ -3,9 +3,9 @@
  *
  * require jQuery, jquery.textareas
  */
-               
-               
+
+
+
 function ACPopup(elm,backend_url){
        this.idsel=-1;
        this.element = elm;
@@ -23,18 +23,19 @@ function ACPopup(elm,backend_url){
        var h = 130;
 
 
-       if(typeof elm.editorId == "undefined") {        
+       if(tinyMCE.activeEditor == null) {
                style = $(elm).offset();
                w = $(elm).width();
                h = $(elm).height();
        }
        else {
-               var container = elm.getContainer();
-               if(typeof container != "undefined") {
-                       style = $(container).offset();
-                       w = $(container).width();
-               h = $(container).height();
-               }
+               // I can't find an "official" way to get the element who get all
+               // this fraking thing that is tinyMCE.
+               // This code will broke again at some point...
+               var container = $(tinyMCE.activeEditor.getContainer()).find("table");
+               style = $(container).offset();
+               w = $(container).width();
+               h = $(container).height();
        }
 
        style.top=style.top+h;
@@ -43,15 +44,15 @@ function ACPopup(elm,backend_url){
        /*      style['max-height'] = '150px';
                style.border = '1px solid red';
                style.background = '#cccccc';
-       
+
                style.overflow = 'auto';
                style['z-index'] = '100000';
        */
        style.display = 'none';
-       
+
        this.cont = $("<div class='acpopup'></div>");
        this.cont.css(style);
-       
+
        $("body").append(this.cont);
 }
 ACPopup.prototype.close = function(){
@@ -64,7 +65,7 @@ ACPopup.prototype.search = function(text){
        if (this.kp_timer) clearTimeout(this.kp_timer);
        this.kp_timer = setTimeout( function(){that._search();}, 500);
 }
-ACPopup.prototype._search = function(){        
+ACPopup.prototype._search = function(){
        console.log("_search");
        var that = this;
        var postdata = {
@@ -74,7 +75,7 @@ ACPopup.prototype._search = function(){
                type:'c',
                conversation: this.conversation_id,
        }
-       
+
        $.ajax({
                type:'POST',
                url: this.url,
@@ -87,15 +88,15 @@ ACPopup.prototype._search = function(){
                                $(data.items).each(function(){
                                        var html = "<img src='{0}' height='16px' width='16px'>{1} ({2})".format(this.photo, this.name, this.nick);
                                        var nick = this.nick.replace(' ','');
-                                       if (this.id!=='')  nick += '+' + this.id; 
+                                       if (this.id!=='')  nick += '+' + this.id;
                                        that.add(html, nick + ' - ' + this.link);
-                               });                     
+                               });
                        } else {
                                that.cont.hide();
                        }
                }
        });
-       
+
 }
 ACPopup.prototype.add = function(label, value){
        var that=this;
@@ -141,12 +142,12 @@ ACPopup.prototype.onkey = function(event){
                if (this.idsel>cmax) this.idsel=0;
                event.preventDefault();
        }
-       
+
        if (event.keyCode == '38' || event.keyCode == '40' || event.keyCode == '9') {
                this.cont.children().removeClass('selected');
                $(this.cont.children()[this.idsel]).addClass('selected');
        }
-       
+
        if (event.keyCode == '27') { //ESC
                this.close();
        }
@@ -156,14 +157,14 @@ function ContactAutocomplete(element,backend_url){
        this.pattern=/@([^ \n]+)$/;
        this.popup=null;
        var that = this;
-       
+
        $(element).unbind('keydown');
        $(element).unbind('keyup');
-       
+
        $(element).keydown(function(event){
                if (that.popup!==null) that.popup.onkey(event);
        });
-       
+
        $(element).keyup(function(event){
                cpos = $(this).getSelection();
                if (cpos.start==cpos.end){
@@ -174,15 +175,15 @@ function ContactAutocomplete(element,backend_url){
                                }
                                if (that.popup.ready && match[1]!==that.popup.searchText) that.popup.search(match[1]);
                                if (!that.popup.ready) that.popup=null;
-                               
+
                        } else {
                                if (that.popup!==null) {that.popup.close(); that.popup=null;}
                        }
-                       
-                       
+
+
                }
-       });             
-       
+       });
+
 }
 
 
@@ -199,4 +200,4 @@ function ContactAutocomplete(element,backend_url){
 
 
 
-               
+
index e1e852cbaf655935fce69142f87ca02c642e5c86..f67d7183cedabb5e476e094459c386592a070ff9 100644 (file)
@@ -4,20 +4,20 @@
   }
 
   function openClose(theID) {
-    if(document.getElementById(theID).style.display == "block") { 
-      document.getElementById(theID).style.display = "none" 
+    if(document.getElementById(theID).style.display == "block") {
+      document.getElementById(theID).style.display = "none"
+    }
+    else {
+      document.getElementById(theID).style.display = "block"
     }
-    else { 
-      document.getElementById(theID).style.display = "block" 
-    } 
   }
 
   function openMenu(theID) {
-      document.getElementById(theID).style.display = "block" 
+      document.getElementById(theID).style.display = "block"
   }
 
   function closeMenu(theID) {
-      document.getElementById(theID).style.display = "none" 
+      document.getElementById(theID).style.display = "none"
   }
 
 
                        if (e.hasClass("ttright")) pos="right";
                        e.tipTip({defaultPosition: pos, edgeOffset: 8});
                });*/
-               
+
                /* setup comment textarea buttons */
                /* comment textarea buttons needs some "data-*" attributes to work:
                 *              data-role="insert-formatting" : to mark the element as a formatting button
                 *              data-comment="<string>" : string for "Comment", used by insertFormatting() function
                 *              data-bbcode="<string>" : name of the bbcode element to insert. insertFormatting() will insert it as "[name][/name]"
                 *              data-id="<string>" : id of the comment, used to find other comment-related element, like the textarea
-                * */           
+                * */
                $('body').on('click','[data-role="insert-formatting"]', function(e) {
                        e.preventDefault();
                        var o = $(this);
                        var bbcode  = o.data('bbcode');
                        var id = o.data('id');
                        if (bbcode=="img") {
-                               $.colorbox({href: baseurl + "/fbrowser/image/?mode=minimal#comment-"+id, iframe:true,innerWidth:'500px',innerHeight:'400px'})
-                               return; 
+                               Dialog.doImageBrowser("comment", id);
+                               return;
                        }
-                       
                        insertFormatting(comment, bbcode, id);
                });
 
                        var end = textarea.selectionEnd;
                        textarea.value = textarea.value.substring(0, start) + bbcode + textarea.value.substring(end, textarea.value.length);
                });
-       
-               
-               
+
+
+
                /* setup onoff widgets */
                $(".onoff input").each(function(){
                        val = $(this).val();
                        id = $(this).attr("id");
                        $("#"+id+"_onoff ."+ (val==0?"on":"off")).addClass("hidden");
-                       
+
                });
                $(".onoff > a").click(function(event){
-                       event.preventDefault(); 
+                       event.preventDefault();
                        var input = $(this).siblings("input");
                        var val = 1-input.val();
                        var id = input.attr("id");
                        input.val(val);
                        //console.log(id);
                });
-               
+
                /* setup field_richtext */
                setupFieldRichtext();
 
                $('html').click(function() {
                        close_last_popup_menu();
                });
-               
+
                // fancyboxes
                $("a.popupbox").colorbox({
                        'inline' : true,
                        'transition' : 'elastic'
                });
-               
+
 
                /* notifications template */
                var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html());
                var notifications_all = unescape($('<div>').append( $("#nav-notifications-see-all").clone() ).html()); //outerHtml hack
                var notifications_mark = unescape($('<div>').append( $("#nav-notifications-mark-all").clone() ).html()); //outerHtml hack
                var notifications_empty = unescape($("#nav-notifications-menu").html());
-               
+
                /* nav update event  */
-               $('nav').bind('nav-update', function(e,data){;
+               $('nav').bind('nav-update', function(e,data){
                        var invalid = $(data).find('invalid').text();
                        if(invalid == 1) { window.location.href=window.location.href }
 
                        var home = $(data).find('home').text();
                        if(home == 0) { home = '';  $('#home-update').removeClass('show') } else { $('#home-update').addClass('show') }
                        $('#home-update').html(home);
-                       
+
                        var intro = $(data).find('intro').text();
                        if(intro == 0) { intro = '';  $('#intro-update').removeClass('show') } else { $('#intro-update').addClass('show') }
                        $('#intro-update').html(intro);
                        var mail = $(data).find('mail').text();
                        if(mail == 0) { mail = '';  $('#mail-update').removeClass('show') } else { $('#mail-update').addClass('show') }
                        $('#mail-update').html(mail);
-                       
+
                        var intro = $(data).find('intro').text();
                        if(intro == 0) { intro = '';  $('#intro-update-li').removeClass('show') } else { $('#intro-update-li').addClass('show') }
                        $('#intro-update-li').html(intro);
                        var birthdaystoday = $(data).find('birthdays-today').text();
                        if(birthdaystoday == 0) { $('#birthdays-update').removeClass('notif-birthdays-today') } else { $('#birthdays-update').addClass('notif-birthdays-today') }
 
+                       $(".sidebar-group-li .notify").removeClass("show");
+                       $(data).find("group").each(function() {
+                               var gid = this.id;
+                               var gcount = this.innerHTML;
+                               $(".group-"+gid+" .notify").addClass("show").text(gcount);
+                       });
+
+                       $(".forum-widget-entry .notify").removeClass("show");
+                       $(data).find("forum").each(function() {
+                               var fid = this.id;
+                               var fcount = this.innerHTML;
+                               $(".forum-"+fid+" .notify").addClass("show").text(fcount);
+                       });
+
 
                        var eNotif = $(data).find('notif')
-                       
+
                        if (eNotif.children("note").length==0){
                                $("#nav-notifications-menu").html(notifications_empty);
                        } else {
                                                        });
                                                }
                                        }
-                                       
+
                                });
                                notification_lastitem = notification_id;
                                localStorage.setItem("notification-lastitem", notification_lastitem)
                        }
                        if(notif == 0) { notif = ''; $('#notify-update').removeClass('show') } else { $('#notify-update').addClass('show') }
                        $('#notify-update').html(notif);
-                       
+
                        var eSysmsg = $(data).find('sysmsgs');
                        eSysmsg.children("notice").each(function(){
                                text = $(this).text();
                                text = $(this).text();
                                $.jGrowl(text, { sticky: false, theme: 'info', life: 5000 });
                        });
-                       
+
                });
 
-               NavUpdate(); 
+               NavUpdate();
                // Allow folks to stop the ajax page updates with the pause/break key
                $(document).keydown(function(event) {
                        if(event.keyCode == '8') {
                                }
                        }
                });
-               
-               
+
+
        });
 
        function NavUpdate() {
                                $(data).find('result').each(function() {
                                        // send nav-update event
                                        $('nav').trigger('nav-update', this);
-                                       
-                                       
+
+
                                        // start live update
 
                                        if($('#live-network').length)   { src = 'network'; liveUpdate(); }
 /*                                     if($('#live-display').length) {
                                                if(liking) {
                                                        liking = 0;
-                                                       window.location.href=window.location.href 
+                                                       window.location.href=window.location.href
                                                }
                                        }*/
-                                       if($('#live-photos').length) { 
+                                       if($('#live-photos').length) {
                                                if(liking) {
                                                        liking = 0;
-                                                       window.location.href=window.location.href 
+                                                       window.location.href=window.location.href
                                                }
                                        }
 
-                                       
-                                       
-                                       
+
+
+
                                });
                        }) ;
                }
                                                });
                                                $('#' + prev).after($(this));
                                }
-                               else { 
-                                       $('#' + ident + ' ' + '.wall-item-ago').replaceWith($(this).find('.wall-item-ago')); 
+                               else {
+                                       $('#' + ident + ' ' + '.wall-item-ago').replaceWith($(this).find('.wall-item-ago'));
                                        if($('#' + ident + ' ' + '.comment-edit-text-empty').length)
                                                $('#' + ident + ' ' + '.wall-item-comment-wrapper').replaceWith($(this).find('.wall-item-comment-wrapper'));
                                        $('#' + ident + ' ' + '.hide-comments-total').replaceWith($(this).find('.hide-comments-total'));
                                                $(this).attr('src',$(this).attr('dst'));
                                        });
                                }
-                               prev = ident; 
+                               prev = ident;
                        });
                        */
                        $('.like-rotator').hide();
                $(node).removeClass("drop").addClass("drophide");
        }
 
-       // Since our ajax calls are asynchronous, we will give a few 
-       // seconds for the first ajax call (setting like/dislike), then 
+       // Since our ajax calls are asynchronous, we will give a few
+       // seconds for the first ajax call (setting like/dislike), then
        // run the updater to pick up any changes and display on the page.
-       // The updater will turn any rotators off when it's done. 
+       // The updater will turn any rotators off when it's done.
        // This function will have returned long before any of these
        // events have completed and therefore there won't be any
        // visible feedback that anything changed without all this
                commentBusy = true;
                $('body').css('cursor', 'wait');
                $("#comment-preview-inp-" + id).val("0");
-               $.post(  
-             "item",  
-             $("#comment-edit-form-" + id).serialize(),
+               $.post(
+                       "item",
+                       $("#comment-edit-form-" + id).serialize(),
                        function(data) {
                                if(data.success) {
                                        $("#comment-edit-wrapper-" + id).hide();
                                        $("#comment-edit-text-" + id).val('');
-                               var tarea = document.getElementById("comment-edit-text-" + id);
+                                       var tarea = document.getElementById("comment-edit-text-" + id);
                                        if(tarea)
                                                commentClose(tarea,id);
                                        if(timer) clearTimeout(timer);
                                        window.location.href=data.reload;
                                }
                        },
-                       "json"  
-         );  
-         return false;  
+                       "json"
+               );
+               return false;
        }
 
 
        function preview_comment(id) {
                $("#comment-preview-inp-" + id).val("1");
                $("#comment-edit-preview-" + id).show();
-               $.post(  
-             "item",  
-             $("#comment-edit-form-" + id).serialize(),
+               $.post(
+                       "item",
+                       $("#comment-edit-form-" + id).serialize(),
                        function(data) {
                                if(data.preview) {
-                                               
                                        $("#comment-edit-preview-" + id).html(data.preview);
                                        $("#comment-edit-preview-" + id + " a").click(function() { return false; });
                                }
                        },
-                       "json"  
-         );  
-         return true;  
+                       "json"
+               );
+               return true;
        }
 
 
                $("#jot-preview").val("1");
                $("#jot-preview-content").show();
                tinyMCE.triggerSave();
-               $.post(  
-                       "item",  
+               $.post(
+                       "item",
                        $("#profile-jot-form").serialize(),
                        function(data) {
-                               if(data.preview) {                      
+                               if(data.preview) {
                                        $("#jot-preview-content").html(data.preview);
                                        $("#jot-preview-content" + " a").click(function() { return false; });
                                }
                        },
-                       "json"  
-               );  
+                       "json"
+               );
                $("#jot-preview").val("0");
-               return true;  
+               return true;
        }
 
 
                // unpause auto reloads if they are currently stopped
                totStopped = false;
                stopped = false;
-           $('#pause').html('');
+               $('#pause').html('');
        }
-               
-
-    function bin2hex(s){  
-        // Converts the binary representation of data to hex    
-        //   
-        // version: 812.316  
-        // discuss at: http://phpjs.org/functions/bin2hex  
-        // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)  
-        // +   bugfixed by: Onno Marsman  
-        // +   bugfixed by: Linuxworld  
-        // *     example 1: bin2hex('Kev');  
-        // *     returns 1: '4b6576'  
-        // *     example 2: bin2hex(String.fromCharCode(0x00));  
-        // *     returns 2: '00'  
-        var v,i, f = 0, a = [];  
-        s += '';  
-        f = s.length;  
-          
-        for (i = 0; i<f; i++) {  
-            a[i] = s.charCodeAt(i).toString(16).replace(/^([\da-f])$/,"0$1");  
-        }  
-          
-        return a.join('');  
-    }  
+
+
+    function bin2hex(s){
+        // Converts the binary representation of data to hex
+        //
+        // version: 812.316
+        // discuss at: http://phpjs.org/functions/bin2hex
+        // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
+        // +   bugfixed by: Onno Marsman
+        // +   bugfixed by: Linuxworld
+        // *     example 1: bin2hex('Kev');
+        // *     returns 1: '4b6576'
+        // *     example 2: bin2hex(String.fromCharCode(0x00));
+        // *     returns 2: '00'
+        var v,i, f = 0, a = [];
+        s += '';
+        f = s.length;
+
+        for (i = 0; i<f; i++) {
+            a[i] = s.charCodeAt(i).toString(16).replace(/^([\da-f])$/,"0$1");
+        }
+
+        return a.join('');
+    }
 
        function groupChangeMember(gid, cid, sec_token) {
                $('body .fakelink').css('cursor', 'wait');
                $.get('group/' + gid + '/' + cid + "?t=" + sec_token, function(data) {
                                $('#group-update-wrapper').html(data);
-                               $('body .fakelink').css('cursor', 'auto');                              
+                               $('body .fakelink').css('cursor', 'auto');
                });
        }
 
                $('body .fakelink').css('cursor', 'wait');
                $.get('profperm/' + gid + '/' + cid, function(data) {
                                $('#prof-update-wrapper').html(data);
-                               $('body .fakelink').css('cursor', 'auto');                              
+                               $('body .fakelink').css('cursor', 'auto');
                });
        }
 
@@ -784,9 +796,9 @@ function setupFieldRichtext(){
 }
 
 
-/** 
- * sprintf in javascript 
- *     "{0} and {1}".format('zero','uno'); 
+/**
+ * sprintf in javascript
+ *     "{0} and {1}".format('zero','uno');
  **/
 String.prototype.format = function() {
     var formatted = this;
@@ -826,3 +838,68 @@ function getNotificationPermission() {
         return Notification.permission;
     }
 }
+
+/**
+ * Show a dialog loaded from an url
+ * By defaults this load the url in an iframe in colorbox
+ * Themes can overwrite `show()` function to personalize it
+ */
+var Dialog = {
+       /**
+        * Show the dialog
+        *
+        * @param string url
+        * @return object colorbox
+        */
+       show : function (url) {
+               var size = Dialog._get_size();
+               return $.colorbox({href: url, iframe:true,innerWidth: size.width+'px',innerHeight: size.height+'px'})
+       },
+
+       /**
+        * Show the Image browser dialog
+        *
+        * @param string name
+        * @param string id (optional)
+        * @return object
+        *
+        * The name will be used to build the event name
+        * fired by image browser dialog when the user select
+        * an image. The optional id will be passed as argument
+        * to the event handler
+        */
+       doImageBrowser : function (name, id) {
+               var url = Dialog._get_url("image",name,id);
+               return Dialog.show(url);
+       },
+
+       /**
+        * Show the File browser dialog
+        *
+        * @param string name
+        * @param string id (optional)
+        * @return object
+        *
+        * The name will be used to build the event name
+        * fired by file browser dialog when the user select
+        * a file. The optional id will be passed as argument
+        * to the event handler
+        */
+       doFileBrowser : function (name, id) {
+               var url = Dialog._get_url("file",name,id);
+               return Dialog.show(url);
+       },
+
+       _get_url : function(type, name, id) {
+               var hash = name;
+               if (id !== undefined) hash = hash + "-" + id;
+               return baseurl + "/fbrowser/"+type+"/?mode=minimal#"+hash;
+       },
+
+       _get_size: function() {
+               return {
+                       width: window.innerWidth-50,
+                       height: window.innerHeight-100
+               };
+       }
+}
index 878508a23fe7be1c8b5480bdaeb7e3a65e7c1338..8d2a7688f8f500e2b7cbcb5905cb43dfdce6d080 100644 (file)
@@ -47,12 +47,35 @@ function admin_post(&$a){
                                return; // NOTREACHED
                                break;
                        case 'themes':
+                               if ($a->argc < 2) {
+                                       if(is_ajax()) return;
+                                       goaway($a->get_baseurl(true) . '/admin/' );
+                                       return;
+                               }
+
                                $theme = $a->argv[2];
                                if (is_file("view/theme/$theme/config.php")){
-                                       require_once("view/theme/$theme/config.php");
-                                       if (function_exists("theme_admin_post")){
-                                               theme_admin_post($a);
+                                       function __call_theme_admin_post(&$a, $theme) {
+                                               $orig_theme = $a->theme;
+                                               $orig_page = $a->page;
+                                               $orig_session_theme = $_SESSION['theme'];
+                                               require_once("view/theme/$theme/theme.php");
+                                               require_once("view/theme/$theme/config.php");
+                                               $_SESSION['theme'] = $theme;
+
+
+                                               $init = $theme."_init";
+                                               if(function_exists($init)) $init($a);
+                                               if(function_exists("theme_admin_post")){
+                                                       $admin_form = theme_admin_post($a);
+                                               }
+
+                                               $_SESSION['theme'] = $orig_session_theme;
+                                               $a->theme = $orig_theme;
+                                               $a->page = $orig_page;
+                                               return $admin_form;
                                        }
+                                       __call_theme_admin_post($a, $theme);
                                }
                                info(t('Theme settings updated.'));
                                if(is_ajax()) return;
@@ -112,7 +135,7 @@ function admin_content(&$a) {
 
        /* get plugins admin page */
 
-       $r = q("SELECT name FROM `addon` WHERE `plugin_admin`=1");
+       $r = q("SELECT `name` FROM `addon` WHERE `plugin_admin`=1 ORDER BY `name`");
        $aside['plugins_admin']=Array();
        foreach ($r as $h){
                $plugin =$h['name'];
@@ -386,6 +409,7 @@ function admin_page_site_post(&$a){
        $poll_interval          =       ((x($_POST,'poll_interval'))            ? intval(trim($_POST['poll_interval']))         : 0);
        $maxloadavg             =       ((x($_POST,'maxloadavg'))               ? intval(trim($_POST['maxloadavg']))            : 50);
        $maxloadavg_frontend    =       ((x($_POST,'maxloadavg_frontend'))      ? intval(trim($_POST['maxloadavg_frontend']))   : 50);
+       $optimize_max_tablesize =       ((x($_POST,'optimize_max_tablesize'))   ? intval(trim($_POST['optimize_max_tablesize'])): 100);
        $poco_completion        =       ((x($_POST,'poco_completion'))          ? intval(trim($_POST['poco_completion']))       : false);
        $poco_requery_days      =       ((x($_POST,'poco_requery_days'))        ? intval(trim($_POST['poco_requery_days']))     : 7);
        $poco_discovery         =       ((x($_POST,'poco_discovery'))           ? intval(trim($_POST['poco_discovery']))        : 0);
@@ -416,6 +440,11 @@ function admin_page_site_post(&$a){
        $rino                   =       ((x($_POST,'rino'))                             ? intval($_POST['rino'])                                : 0);
        $embedly                =       ((x($_POST,'embedly'))                  ? notags(trim($_POST['embedly']))               : '');
 
+       if ($a->get_path() != "")
+               $diaspora_enabled = false;
+
+       if (!$thread_allow)
+               $ostatus_disabled = true;
 
        if($ssl_policy != intval(get_config('system','ssl_policy'))) {
                if($ssl_policy == SSL_POLICY_FULL) {
@@ -462,6 +491,7 @@ function admin_page_site_post(&$a){
        set_config('system','poll_interval',$poll_interval);
        set_config('system','maxloadavg',$maxloadavg);
        set_config('system','maxloadavg_frontend',$maxloadavg_frontend);
+       set_config('system','optimize_max_tablesize',$optimize_max_tablesize);
        set_config('system','poco_completion',$poco_completion);
        set_config('system','poco_requery_days',$poco_requery_days);
        set_config('system','poco_discovery',$poco_discovery);
@@ -535,6 +565,7 @@ function admin_page_site_post(&$a){
        set_config('system','ostatus_disabled', $ostatus_disabled);
        set_config('system','ostatus_poll_interval', $ostatus_poll_interval);
        set_config('system','diaspora_enabled', $diaspora_enabled);
+
        set_config('config','private_addons', $private_addons);
 
        set_config('system','force_ssl', $force_ssl);
@@ -551,10 +582,10 @@ function admin_page_site_post(&$a){
        set_config('system','old_pager', $old_pager);
        set_config('system','only_tag_search', $only_tag_search);
 
-       
+
        if ($rino==2 and !function_exists('mcrypt_create_iv')){
-               notice(t("RINO2 needs mcrypt php extension to work."));         
-       } else {        
+               notice(t("RINO2 needs mcrypt php extension to work."));
+       } else {
                set_config('system','rino_encrypt', $rino);
        }
 
@@ -574,18 +605,7 @@ function admin_page_site_post(&$a){
 function admin_page_site(&$a) {
 
        /* Installed langs */
-       $lang_choices = array();
-       $langs = glob('view/*/strings.php'); /**/
-
-       if(is_array($langs) && count($langs)) {
-               if(! in_array('view/en/strings.php',$langs))
-                       $langs[] = 'view/en/';
-               asort($langs);
-               foreach($langs as $l) {
-                       $t = explode("/",$l);
-                       $lang_choices[$t[1]] = $t[1];
-               }
-       }
+       $lang_choices = get_avaiable_languages();
 
        if (strlen(get_config('system','directory_submit_url')) AND
                !strlen(get_config('system','directory'))) {
@@ -597,58 +617,60 @@ function admin_page_site(&$a) {
        $theme_choices = array();
        $theme_choices_mobile = array();
        $theme_choices_mobile["---"] = t("No special theme for mobile devices");
-       $files = glob('view/theme/*');
+       $files = glob('view/theme/*'); /**/
        if($files) {
                foreach($files as $file) {
+                       if (intval(file_exists($file . '/unsupported')))
+                               continue;
+
                        $f = basename($file);
                        $theme_name = ((file_exists($file . '/experimental')) ?  sprintf("%s - \x28Experimental\x29", $f) : $f);
                        if (file_exists($file . '/mobile')) {
                                $theme_choices_mobile[$f] = $theme_name;
-                       }
-               else {
+                       } else {
                                $theme_choices[$f] = $theme_name;
                        }
                }
-               }
+       }
 
-               /* Community page style */
-               $community_page_style_choices = array(
-                       CP_NO_COMMUNITY_PAGE => t("No community page"),
-                       CP_USERS_ON_SERVER => t("Public postings from users of this site"),
-                       CP_GLOBAL_COMMUNITY => t("Global community page")
-                       );
+       /* Community page style */
+       $community_page_style_choices = array(
+               CP_NO_COMMUNITY_PAGE => t("No community page"),
+               CP_USERS_ON_SERVER => t("Public postings from users of this site"),
+               CP_GLOBAL_COMMUNITY => t("Global community page")
+               );
 
-               /* OStatus conversation poll choices */
-               $ostatus_poll_choices = array(
-                       "-2" => t("Never"),
-                       "-1" => t("At post arrival"),
-                       "0" => t("Frequently"),
-                       "60" => t("Hourly"),
-                       "720" => t("Twice daily"),
-                       "1440" => t("Daily")
-                       );
+       /* OStatus conversation poll choices */
+       $ostatus_poll_choices = array(
+               "-2" => t("Never"),
+               "-1" => t("At post arrival"),
+               "0" => t("Frequently"),
+               "60" => t("Hourly"),
+               "720" => t("Twice daily"),
+               "1440" => t("Daily")
+               );
 
-               $poco_discovery_choices = array(
-                       "0" => t("Disabled"),
-                       "1" => t("Users"),
-                       "2" => t("Users, Global Contacts"),
-                       "3" => t("Users, Global Contacts/fallback"),
-                       );
+       $poco_discovery_choices = array(
+               "0" => t("Disabled"),
+               "1" => t("Users"),
+               "2" => t("Users, Global Contacts"),
+               "3" => t("Users, Global Contacts/fallback"),
+               );
 
-               $poco_discovery_since_choices = array(
-                       "30" => t("One month"),
-                       "91" => t("Three months"),
-                       "182" => t("Half a year"),
-                       "365" => t("One year"),
-                       );
+       $poco_discovery_since_choices = array(
+               "30" => t("One month"),
+               "91" => t("Three months"),
+               "182" => t("Half a year"),
+               "365" => t("One year"),
+               );
 
-               /* get user names to make the install a personal install of X */
-               $user_names = array();
-               $user_names['---'] = t('Multi user instance');
-               $users = q("SELECT username, nickname FROM `user`");
-               foreach ($users as $user) {
-                       $user_names[$user['nickname']] = $user['username'];
-               }
+       /* get user names to make the install a personal install of X */
+       $user_names = array();
+       $user_names['---'] = t('Multi user instance');
+       $users = q("SELECT username, nickname FROM `user`");
+       foreach ($users as $user) {
+               $user_names[$user['nickname']] = $user['username'];
+       }
 
        /* Banner */
        $banner = get_config('system','banner');
@@ -681,6 +703,8 @@ function admin_page_site(&$a) {
        if ($a->config['hostname'] == "")
                $a->config['hostname'] = $a->get_hostname();
 
+       $diaspora_able = ($a->get_path() == "");
+
        $t = get_markup_template("admin_site.tpl");
        return replace_macros($t, array(
                '$title' => t('Administration'),
@@ -737,6 +761,9 @@ function admin_page_site(&$a) {
                '$max_author_posts_community_page' => array('max_author_posts_community_page', t("Posts per user on community page"), get_config('system','max_author_posts_community_page'), t("The maximum number of posts per user on the community page. (Not valid for 'Global Community')")),
                '$ostatus_disabled'     => array('ostatus_disabled', t("Enable OStatus support"), !get_config('system','ostatus_disabled'), t("Provide built-in OStatus \x28StatusNet, GNU Social etc.\x29 compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed.")),
                '$ostatus_poll_interval'        => array('ostatus_poll_interval', t("OStatus conversation completion interval"), (string) intval(get_config('system','ostatus_poll_interval')), t("How often shall the poller check for new entries in OStatus conversations? This can be a very ressource task."), $ostatus_poll_choices),
+               '$ostatus_not_able'     => t("OStatus support can only be enabled if threading is enabled."),
+               '$diaspora_able'        => $diaspora_able,
+               '$diaspora_not_able'    => t("Diaspora support can't be enabled because Friendica was installed into a sub directory."),
                '$diaspora_enabled'     => array('diaspora_enabled', t("Enable Diaspora support"), get_config('system','diaspora_enabled'), t("Provide built-in Diaspora network compatibility.")),
                '$dfrn_only'            => array('dfrn_only', t('Only allow Friendica contacts'), get_config('system','dfrn_only'), t("All contacts must use Friendica protocols. All other built-in communication protocols disabled.")),
                '$verifyssl'            => array('verifyssl', t("Verify SSL"), get_config('system','verifyssl'), t("If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites.")),
@@ -747,6 +774,7 @@ function admin_page_site(&$a) {
                '$poll_interval'        => array('poll_interval', t("Poll interval"), (x(get_config('system','poll_interval'))?get_config('system','poll_interval'):2), t("Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval.")),
                '$maxloadavg'           => array('maxloadavg', t("Maximum Load Average"), ((intval(get_config('system','maxloadavg')) > 0)?get_config('system','maxloadavg'):50), t("Maximum system load before delivery and poll processes are deferred - default 50.")),
                '$maxloadavg_frontend'  => array('maxloadavg_frontend', t("Maximum Load Average (Frontend)"), ((intval(get_config('system','maxloadavg_frontend')) > 0)?get_config('system','maxloadavg_frontend'):50), t("Maximum system load before the frontend quits service - default 50.")),
+               '$optimize_max_tablesize'=> array('optimize_max_tablesize', t("Maximum table size for optimization"), ((intval(get_config('system','optimize_max_tablesize')) > 0)?get_config('system','optimize_max_tablesize'):100), t("Maximum table size (in MB) for the automatic optimization - default 100 MB. Enter -1 to disable it.")),
 
                '$poco_completion'      => array('poco_completion', t("Periodical check of global contacts"), get_config('system','poco_completion'), t("If enabled, the global contacts are checked periodically for missing or outdated data and the vitality of the contacts and servers.")),
                '$poco_requery_days'    => array('poco_requery_days', t("Days between requery"), get_config('system','poco_requery_days'), t("Number of days after which a server is requeried for his contacts.")),
@@ -1206,7 +1234,7 @@ function admin_page_plugins(&$a){
         * List plugins
         */
 
-    if (x($_GET,"a") && $_GET['a']=="r"){
+       if (x($_GET,"a") && $_GET['a']=="r"){
                check_form_security_token_redirectOnErr($a->get_baseurl().'/admin/plugins', 'admin_themes', 't');
                reload_plugins();
                info("Plugins reloaded");
@@ -1241,6 +1269,7 @@ function admin_page_plugins(&$a){
                '$title' => t('Administration'),
                '$page' => t('Plugins'),
                '$submit' => t('Save Settings'),
+               '$reload' => t('Reload active plugins'),
                '$baseurl' => $a->get_baseurl(true),
                '$function' => 'plugins',
                '$plugins' => $plugins,
@@ -1393,11 +1422,27 @@ function admin_page_themes(&$a){
 
                $admin_form="";
                if (is_file("view/theme/$theme/config.php")){
-                       require_once("view/theme/$theme/config.php");
-                       if(function_exists("theme_admin")){
-                               $admin_form = theme_admin($a);
-                       }
+                       function __get_theme_admin_form(&$a, $theme) {
+                               $orig_theme = $a->theme;
+                               $orig_page = $a->page;
+                               $orig_session_theme = $_SESSION['theme'];
+                               require_once("view/theme/$theme/theme.php");
+                               require_once("view/theme/$theme/config.php");
+                               $_SESSION['theme'] = $theme;
+
+
+                               $init = $theme."_init";
+                               if(function_exists($init)) $init($a);
+                               if(function_exists("theme_admin")){
+                                       $admin_form = theme_admin($a);
+                               }
 
+                               $_SESSION['theme'] = $orig_session_theme;
+                               $a->theme = $orig_theme;
+                               $a->page = $orig_page;
+                               return $admin_form;
+                       }
+                       $admin_form = __get_theme_admin_form($a, $theme);
                }
 
                $screenshot = array( get_theme_screenshot($theme), t('Screenshot'));
@@ -1427,6 +1472,22 @@ function admin_page_themes(&$a){
                ));
        }
 
+
+       // reload active themes
+       if (x($_GET,"a") && $_GET['a']=="r"){
+               check_form_security_token_redirectOnErr($a->get_baseurl().'/admin/themes', 'admin_themes', 't');
+               if ($themes) {
+                       foreach($themes as $th) {
+                               if ($th['allowed']) {
+                                       uninstall_theme($th['name']);
+                                       install_theme($th['name']);
+                               }
+                       }
+               }
+               info("Themes reloaded");
+               goaway($a->get_baseurl().'/admin/themes');
+       }
+
        /**
         * List themes
         */
@@ -1438,11 +1499,13 @@ function admin_page_themes(&$a){
                }
        }
 
+
        $t = get_markup_template("admin_plugins.tpl");
        return replace_macros($t, array(
                '$title' => t('Administration'),
                '$page' => t('Themes'),
                '$submit' => t('Save Settings'),
+               '$reload' => t('Reload active themes'),
                '$baseurl' => $a->get_baseurl(true),
                '$function' => 'themes',
                '$plugins' => $xthemes,
index 784dfb87711d6053386034d3482e2388dbc06e3e..49879c7a03dbcab8613032318a0f17b2a4ddc178 100644 (file)
@@ -1,6 +1,9 @@
 <?php
 
 require_once('include/socgraph.php');
+require_once('include/Contact.php');
+require_once('include/contact_selectors.php');
+require_once('mod/contacts.php');
 
 function allfriends_content(&$a) {
 
@@ -12,31 +15,22 @@ function allfriends_content(&$a) {
 
        if($a->argc > 1)
                $cid = intval($a->argv[1]);
+
        if(! $cid)
                return;
 
-       $c = q("select name, url, photo from contact where id = %d and uid = %d limit 1",
+       $uid = $a->user[uid];
+
+       $c = q("SELECT `name`, `url`, `photo` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                intval($cid),
                intval(local_user())
        );
 
-       $vcard_widget .= replace_macros(get_markup_template("vcard-widget.tpl"),array(
-               '$name'  => htmlentities($c[0]['name']),
-               '$photo' => $c[0]['photo'],
-               'url'    => z_root() . '/contacts/' . $cid
-       ));
-
-       if(! x($a->page,'aside'))
-               $a->page['aside'] = '';
-       $a->page['aside'] .= $vcard_widget;
-
        if(! count($c))
                return;
 
-       $o .= replace_macros(get_markup_template("section_title.tpl"),array(
-               '$title' => sprintf( t('Friends of %s'), htmlentities($c[0]['name']))
-       ));
-
+       $a->page['aside'] = "";
+       profile_load($a, "", 0, get_contact_details_by_url($c[0]["url"]));
 
        $r = all_friends(local_user(),$cid);
 
@@ -45,19 +39,56 @@ function allfriends_content(&$a) {
                return $o;
        }
 
-       $tpl = get_markup_template('common_friends.tpl');
+       $id = 0;
 
        foreach($r as $rr) {
 
-               $o .= replace_macros($tpl,array(
-                       '$url' => $rr['url'],
-                       '$name' => htmlentities($rr['name']),
-                       '$photo' => $rr['photo'],
-                       '$tags' => ''
-               ));
+               //get further details of the contact
+               $contact_details = get_contact_details_by_url($rr['url'], $uid);
+
+               $photo_menu = '';
+
+               // $rr[cid] is only available for common contacts. So if the contact is a common one, use contact_photo_menu to generate the photo_menu
+               // If the contact is not common to the user, Connect/Follow' will be added to the photo menu
+               if ($rr[cid]) {
+                       $rr[id] = $rr[cid];
+                       $photo_menu = contact_photo_menu ($rr);
+               }
+               else {
+                       $connlnk = $a->get_baseurl() . '/follow/?url=' . $rr['url'];
+                       $photo_menu = array(array(t("View Profile"), zrl($rr['url'])));
+                       $photo_menu[] = array(t("Connect/Follow"), $connlnk);
+               }
+
+               $entry = array(
+                       'url'           => $rr['url'],
+                       'itemurl'       => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
+                       'name'          => htmlentities($rr['name']),
+                       'thumb'         => proxy_url($rr['photo'], false, PROXY_SIZE_THUMB),
+                       'img_hover'     => htmlentities($rr['name']),
+                       'details'       => $contact_details['location'],
+                       'tags'          => $contact_details['keywords'],
+                       'about'         => $contact_details['about'],
+                       'account_type'  => (($contact_details['community']) ? t('Forum') : ''),
+                       'network'       => network_to_name($contact_details['network'], $contact_details['url']),
+                       'photo_menu'    => $photo_menu,
+                       'conntxt'       => t('Connect'),
+                       'connlnk'       => $connlnk,
+                       'id'            => ++$id,
+               );
+               $entries[] = $entry;
        }
 
-       $o .= cleardiv();
+       $tab_str = contacts_tab($a, $cid, 3);
+
+       $tpl = get_markup_template('viewcontact_template.tpl');
+
+       $o .= replace_macros($tpl,array(
+               //'$title' => sprintf( t('Friends of %s'), htmlentities($c[0]['name'])),
+               '$tab_str' => $tab_str,
+               '$contacts' => $entries,
+       ));
+
 //     $o .= paginate($a);
        return $o;
 }
index 1e65137ac693c74dcc125b1e9af213a70bcb2ac3..7c12dd39bbf0b0c472adc5249a1d7f72a2700b09 100644 (file)
@@ -1,6 +1,9 @@
 <?php
 
 require_once('include/socgraph.php');
+require_once('include/Contact.php');
+require_once('include/contact_selectors.php');
+require_once('mod/contacts.php');
 
 function common_content(&$a) {
 
@@ -11,51 +14,53 @@ function common_content(&$a) {
        $cid = intval($a->argv[3]);
        $zcid = 0;
 
+       if (! local_user()) {
+               notice( t('Permission denied.') . EOL);
+               return;
+       }
+
        if($cmd !== 'loc' && $cmd != 'rem')
                return;
+
        if(! $uid)
                return;
 
        if($cmd === 'loc' && $cid) {
-               $c = q("select name, url, photo from contact where id = %d and uid = %d limit 1",
+               $c = q("SELECT `name`, `url`, `photo` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                        intval($cid),
                        intval($uid)
                );
-       }
-       else {
-               $c = q("select name, url, photo from contact where self = 1 and uid = %d limit 1",
+               $a->page['aside'] = "";
+               profile_load($a, "", 0, get_contact_details_by_url($c[0]["url"]));
+       } else {
+               $c = q("SELECT `name`, `url`, `photo` FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1",
                        intval($uid)
                );
-       }
 
-       $vcard_widget .= replace_macros(get_markup_template("vcard-widget.tpl"),array(
-               '$name' => htmlentities($c[0]['name']),
-               '$photo' => $c[0]['photo'],
-               'url' => z_root() . '/contacts/' . $cid
-       ));
+               $vcard_widget .= replace_macros(get_markup_template("vcard-widget.tpl"),array(
+                       '$name' => htmlentities($c[0]['name']),
+                       '$photo' => $c[0]['photo'],
+                       'url' => z_root() . '/contacts/' . $cid
+               ));
 
-       if(! x($a->page,'aside'))
-               $a->page['aside'] = '';
-       $a->page['aside'] .= $vcard_widget;
+               if(! x($a->page,'aside'))
+                       $a->page['aside'] = '';
+               $a->page['aside'] .= $vcard_widget;
+       }
 
        if(! count($c))
                return;
 
-       $o .= replace_macros(get_markup_template("section_title.tpl"),array(
-               '$title' => t('Common Friends')
-       ));
-
-
        if(! $cid) {
                if(get_my_url()) {
-                       $r = q("select id from contact where nurl = '%s' and uid = %d limit 1",
+                       $r = q("SELECT `id` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d LIMIT 1",
                                dbesc(normalise_link(get_my_url())),
                                intval($profile_uid)
                        );
                        if(count($r))
                                $cid = $r[0]['id'];
                        else {
-                               $r = q("select id from gcontact where nurl = '%s' limit 1",
+                               $r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
                                        dbesc(normalise_link(get_my_url()))
                                );
                                if(count($r))
@@ -67,7 +72,7 @@ function common_content(&$a) {
 
 
        if($cid == 0 && $zcid == 0)
-               return; 
+               return;
 
 
        if($cid)
@@ -94,19 +99,49 @@ function common_content(&$a) {
                return $o;
        }
 
-       $tpl = get_markup_template('common_friends.tpl');
+       $id = 0;
 
        foreach($r as $rr) {
 
-               $o .= replace_macros($tpl,array(
-                       '$url' => $rr['url'],
-                       '$name' => htmlentities($rr['name']),
-                       '$photo' => $rr['photo'],
-                       '$tags' => ''
-               ));
+               //get further details of the contact
+               $contact_details = get_contact_details_by_url($rr['url'], $uid);
+
+               // $rr[id] is needed to use contact_photo_menu()
+               $rr[id] = $rr[cid];
+
+               $photo_menu = '';
+               $photo_menu = contact_photo_menu ($rr);
+
+               $entry = array(
+                       'url'           => $rr['url'],
+                       'itemurl'       => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
+                       'name'          => $rr['name'],
+                       'thumb'         => proxy_url($rr['photo'], false, PROXY_SIZE_THUMB),
+                       'img_hover'     => htmlentities($rr['name']),
+                       'details'       => $contact_details['location'],
+                       'tags'          => $contact_details['keywords'],
+                       'about'         => $contact_details['about'],
+                       'account_type'  => (($contact_details['community']) ? t('Forum') : ''),
+                       'network'       => network_to_name($contact_details['network'], $contact_details['url']),
+                       'photo_menu'    => $photo_menu,
+                       'id'            => ++$id,
+               );
+               $entries[] = $entry;
        }
 
-       $o .= cleardiv();
+       if($cmd === 'loc' && $cid && $uid == local_user()) {
+               $tab_str = contacts_tab($a, $cid, 4);
+       } else
+               $title = t('Common Friends');
+
+       $tpl = get_markup_template('viewcontact_template.tpl');
+
+       $o .= replace_macros($tpl,array(
+               '$title' => $title,
+               '$tab_str' => $tab_str,
+               '$contacts' => $entries,
+       ));
+
 //     $o .= paginate($a);
        return $o;
 }
index c562c9822da0f0664476ab42567e11b222666986..cff68abc65facc03a799495c024c3a3f5cc96060 100644 (file)
@@ -13,7 +13,7 @@ function contacts_init(&$a) {
 
        $contact_id = 0;
 
-       if(($a->argc == 2) && intval($a->argv[1])) {
+       if((($a->argc == 2) && intval($a->argv[1])) OR (($a->argc == 3) && intval($a->argv[1]) && ($a->argv[2] == "posts"))) {
                $contact_id = intval($a->argv[1]);
                $r = q("SELECT * FROM `contact` WHERE `uid` = %d and `id` = %d LIMIT 1",
                        intval(local_user()),
@@ -27,41 +27,55 @@ function contacts_init(&$a) {
        require_once('include/group.php');
        require_once('include/contact_widgets.php');
 
+       if ($_GET['nets'] == "all")
+       $_GET['nets'] = "";
+
        if(! x($a->page,'aside'))
                $a->page['aside'] = '';
 
        if($contact_id) {
                        $a->data['contact'] = $r[0];
+
+                       if (($a->data['contact']['network'] != "") AND ($a->data['contact']['network'] != NETWORK_DFRN)) {
+                               $networkname = format_network_name($a->data['contact']['network'],$a->data['contact']['url']);
+                       } else 
+                               $networkname = '';
+
                        $vcard_widget = replace_macros(get_markup_template("vcard-widget.tpl"),array(
                                '$name' => htmlentities($a->data['contact']['name']),
                                '$photo' => $a->data['contact']['photo'],
-                               '$url' => ($a->data['contact']['network'] == NETWORK_DFRN) ? $a->get_baseurl()."/redir/".$a->data['contact']['id'] : $a->data['contact']['url']
+                               '$url' => ($a->data['contact']['network'] == NETWORK_DFRN) ? z_root()."/redir/".$a->data['contact']['id'] : $a->data['contact']['url'],
+                               '$addr' => (($a->data['contact']['addr'] != "") ? ($a->data['contact']['addr']) : ""),
+                               '$network_name' => $networkname,
+                               '$network' => t('Network:'),
+                               'account_type' => (($a->data['contact']['forum'] || $a->data['contact']['prv']) ? t('Forum') : '')
                        ));
+                       $finpeople_widget = '';
                        $follow_widget = '';
+                       $networks_widget = '';
        }
        else {
                $vcard_widget = '';
+               $networks_widget .= networks_widget('contacts',$_GET['nets']);
                if (isset($_GET['add']))
                        $follow_widget = follow_widget($_GET['add']);
                else
                        $follow_widget = follow_widget();
+
+               $findpeople_widget .= findpeople_widget();
        }
 
-       if ($_GET['nets'] == "all")
-               $_GET['nets'] = "";
+       $groups_widget .= group_side('contacts','group','full',0,$contact_id);
 
-       $groups_widget .= group_side('contacts','group',false,0,$contact_id);
-       $findpeople_widget .= findpeople_widget();
-       $networks_widget .= networks_widget('contacts',$_GET['nets']);
        $a->page['aside'] .= replace_macros(get_markup_template("contacts-widget-sidebar.tpl"),array(
                '$vcard_widget' => $vcard_widget,
+               '$findpeople_widget' => $findpeople_widget,
                '$follow_widget' => $follow_widget,
                '$groups_widget' => $groups_widget,
-               '$findpeople_widget' => $findpeople_widget,
                '$networks_widget' => $networks_widget
        ));
 
-       $base = $a->get_baseurl();
+       $base = z_root();
        $tpl = get_markup_template("contacts-head.tpl");
        $a->page['htmlhead'] .= replace_macros($tpl,array(
                '$baseurl' => $a->get_baseurl(true),
@@ -460,6 +474,9 @@ function contacts_content(&$a) {
                                goaway($a->get_baseurl(true) . '/contacts');
                        return; // NOTREACHED
                }
+               if($cmd === 'posts') {
+                       return contact_posts($a, $contact_id);
+               }
        }
 
 
@@ -535,48 +552,16 @@ function contacts_content(&$a) {
 
                $nettype = sprintf( t('Network type: %s'),network_to_name($contact['network'], $contact["url"]));
 
-               $common = count_common_friends(local_user(),$contact['id']);
-               $common_text = (($common) ? sprintf( tt('%d contact in common','%d contacts in common', $common),$common) : '');
+               //$common = count_common_friends(local_user(),$contact['id']);
+               //$common_text = (($common) ? sprintf( tt('%d contact in common','%d contacts in common', $common),$common) : '');
 
                $polling = (($contact['network'] === NETWORK_MAIL | $contact['network'] === NETWORK_FEED) ? 'polling' : '');
 
-               $x = count_all_friends(local_user(), $contact['id']);
-               $all_friends = (($x) ? t('View all contacts') : '');
+               //$x = count_all_friends(local_user(), $contact['id']);
+               //$all_friends = (($x) ? t('View all contacts') : '');
 
                // tabs
-               $tabs = array(
-                       array(
-                               'label' => (($contact['blocked']) ? t('Unblock') : t('Block') ),
-                               'url'   => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/block',
-                               'sel'   => '',
-                               'title' => t('Toggle Blocked status'),
-                               'accesskey' => 'b',
-                       ),
-                       array(
-                               'label' => (($contact['readonly']) ? t('Unignore') : t('Ignore') ),
-                               'url'   => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/ignore',
-                               'sel'   => '',
-                               'title' => t('Toggle Ignored status'),
-                               'accesskey' => 'i',
-                       ),
-
-                       array(
-                               'label' => (($contact['archive']) ? t('Unarchive') : t('Archive') ),
-                               'url'   => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/archive',
-                               'sel'   => '',
-                               'title' => t('Toggle Archive status'),
-                               'accesskey' => 'v',
-                       ),
-                       array(
-                               'label' => t('Repair'),
-                               'url'   => $a->get_baseurl(true) . '/crepair/' . $contact_id,
-                               'sel'   => '',
-                               'title' => t('Advanced Contact Settings'),
-                               'accesskey' => 'r',
-                       )
-               );
-               $tab_tpl = get_markup_template('common_tabs.tpl');
-               $tab_str = replace_macros($tab_tpl, array('$tabs' => $tabs));
+               $tab_str = contacts_tab($a, $contact_id, 2);
 
                $lost_contact = (($contact['archive'] && $contact['term-date'] != '0000-00-00 00:00:00' && $contact['term-date'] < datetime_convert('','','now')) ? t('Communications lost with this contact!') : '');
 
@@ -594,8 +579,9 @@ function contacts_content(&$a) {
                        ($contact['rel'] == CONTACT_IS_FOLLOWER))
                        $follow = $a->get_baseurl(true)."/follow?url=".urlencode($contact["url"]);
 
+
                $o .= replace_macros($tpl, array(
-                       '$header' => t('Contact Editor'),
+                       //'$header' => t('Contact Editor'),
                        '$tab_str' => $tab_str,
                        '$submit' => t('Submit'),
                        '$lbl_vis1' => t('Profile Visibility'),
@@ -645,6 +631,12 @@ function contacts_content(&$a) {
                        '$url' => $url,
                        '$profileurllabel' => t('Profile URL'),
                        '$profileurl' => $contact['url'],
+                       '$location' => bbcode($contact["location"]),
+                       '$location_label' => t("Location:"),
+                       '$about' => bbcode($contact["about"], false, false),
+                       '$about_label' => t("About:"),
+                       '$keywords' => $contact["keywords"],
+                       '$keywords_label' => t("Tags:")
 
                ));
 
@@ -693,6 +685,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/suggest',
                        'sel'   => '',
                        'title' => t('Suggest potential friends'),
+                       'id'    => 'suggestions-tab',
                        'accesskey' => 'g',
                ),
                array(
@@ -700,6 +693,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/contacts/all',
                        'sel'   => ($all) ? 'active' : '',
                        'title' => t('Show all contacts'),
+                       'id'    => 'showall-tab',
                        'accesskey' => 'l',
                ),
                array(
@@ -707,6 +701,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/contacts',
                        'sel'   => ((! $all) && (! $blocked) && (! $hidden) && (! $search) && (! $nets) && (! $ignored) && (! $archived)) ? 'active' : '',
                        'title' => t('Only show unblocked contacts'),
+                       'id'    => 'showunblocked-tab',
                        'accesskey' => 'o',
                ),
 
@@ -715,6 +710,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/contacts/blocked',
                        'sel'   => ($blocked) ? 'active' : '',
                        'title' => t('Only show blocked contacts'),
+                       'id'    => 'showblocked-tab',
                        'accesskey' => 'b',
                ),
 
@@ -723,6 +719,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/contacts/ignored',
                        'sel'   => ($ignored) ? 'active' : '',
                        'title' => t('Only show ignored contacts'),
+                       'id'    => 'showignored-tab',
                        'accesskey' => 'i',
                ),
 
@@ -731,6 +728,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/contacts/archived',
                        'sel'   => ($archived) ? 'active' : '',
                        'title' => t('Only show archived contacts'),
+                       'id'    => 'showarchived-tab',
                        'accesskey' => 'y',
                ),
 
@@ -739,6 +737,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/contacts/hidden',
                        'sel'   => ($hidden) ? 'active' : '',
                        'title' => t('Only show hidden contacts'),
+                       'id'    => 'showhidden-tab',
                        'accesskey' => 'h',
                ),
 
@@ -771,8 +770,9 @@ function contacts_content(&$a) {
                $total = $r[0]['total'];
        }
 
+       $sql_extra3 = unavailable_networks();
 
-       $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra $sql_extra2 ORDER BY `name` ASC LIMIT %d , %d ",
+       $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra $sql_extra2 $sql_extra3 ORDER BY `name` ASC LIMIT %d , %d ",
                intval($_SESSION['uid']),
                intval($a->pager['start']),
                intval($a->pager['itemspage'])
@@ -788,7 +788,7 @@ function contacts_content(&$a) {
 
        $tpl = get_markup_template("contacts-template.tpl");
        $o .= replace_macros($tpl, array(
-               '$baseurl' => $a->get_baseurl(),
+               '$baseurl' => z_root(),
                '$header' => t('Contacts') . (($nets) ? ' - ' . network_to_name($nets) : ''),
                '$tabs' => $t,
                '$total' => $total,
@@ -799,6 +799,7 @@ function contacts_content(&$a) {
                '$cmd' => $a->cmd,
                '$contacts' => $contacts,
                '$contact_drop_confirm' => t('Do you really want to delete this contact?'),
+               'multiselect' => 1,
                '$batch_actions' => array(
                        'contacts_batch_update' => t('Update'),
                        'contacts_batch_block' => t('Block')."/".t("Unblock"),
@@ -813,7 +814,135 @@ function contacts_content(&$a) {
        return $o;
 }
 
+function contacts_tab($a, $contact_id, $active_tab) {
+       // tabs
+       $tabs = array(
+               array(
+                       'label'=>t('Status'),
+                       'url' => "contacts/".$contact_id."/posts",
+                       'sel' => (($active_tab == 1)?'active':''),
+                       'title' => t('Status Messages and Posts'),
+                       'id' => 'status-tab',
+                       'accesskey' => 'm',
+               ),
+               array(
+                       'label'=>t('Profile'),
+                       'url' => "contacts/".$contact_id,
+                       'sel' => (($active_tab == 2)?'active':''),
+                       'title' => t('Profile Details'),
+                       'id' => 'status-tab',
+                       'accesskey' => 'o',
+               )
+       );
+
+       $x = count_all_friends(local_user(), $contact_id);
+       if ($x)
+               $tabs[] = array('label'=>t('Contacts'),
+                               'url' => "allfriends/".$contact_id,
+                               'sel' => (($active_tab == 3)?'active':''),
+                               'title' => t('View all contacts'),
+                               'id' => 'allfriends-tab',
+                               'accesskey' => 't');
+
+       $common = count_common_friends(local_user(),$contact_id);
+       if ($common)
+               $tabs[] = array('label'=>t('Common Friends'),
+                               'url' => "common/loc/".local_user()."/".$contact_id,
+                               'sel' => (($active_tab == 4)?'active':''),
+                               'title' => t('View all common friends'),
+                               'id' => 'common-loc-tab',
+                               'accesskey' => 'd');
+
+       $tabs[] = array('label' => t('Repair'),
+                       'url'   => $a->get_baseurl(true) . '/crepair/' . $contact_id,
+                       'sel' => (($active_tab == 5)?'active':''),
+                       'title' => t('Advanced Contact Settings'),
+                       'id'    => 'repair-tab',
+                       'accesskey' => 'r');
+
+
+       $tabs[] = array('label' => (($contact['blocked']) ? t('Unblock') : t('Block') ),
+                       'url'   => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/block',
+                       'sel'   => '',
+                       'title' => t('Toggle Blocked status'),
+                       'id'    => 'toggle-block-tab',
+                       'accesskey' => 'b');
+
+       $tabs[] = array('label' => (($contact['readonly']) ? t('Unignore') : t('Ignore') ),
+                       'url'   => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/ignore',
+                       'sel'   => '',
+                       'title' => t('Toggle Ignored status'),
+                       'id'    => 'toggle-ignore-tab',
+                       'accesskey' => 'i');
+
+       $tabs[] = array('label' => (($contact['archive']) ? t('Unarchive') : t('Archive') ),
+                       'url'   => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/archive',
+                       'sel'   => '',
+                       'title' => t('Toggle Archive status'),
+                       'id'    => 'toggle-archive-tab',
+                       'accesskey' => 'v');
+
+       $tab_tpl = get_markup_template('common_tabs.tpl');
+       $tab_str = replace_macros($tab_tpl, array('$tabs' => $tabs));
+
+       return $tab_str;
+}
+
+function contact_posts($a, $contact_id) {
+
+       require_once('include/conversation.php');
+
+       $r = q("SELECT * FROM `contact` WHERE `id` = %d", intval($contact_id));
+       if ($r) {
+               $contact = $r[0];
+               $a->page['aside'] = "";
+               profile_load($a, "", 0, get_contact_details_by_url($contact["url"]));
+       }
+
+       if(get_config('system', 'old_pager')) {
+               $r = q("SELECT COUNT(*) AS `total` FROM `item`
+                       WHERE `item`.`uid` = %d AND `author-link` IN ('%s', '%s')",
+                       intval(local_user()),
+                       dbesc(normalise_link($contact["url"])),
+                       dbesc(str_replace("http://", "https://", $contact["url"])));
+
+               $a->set_pager_total($r[0]['total']);
+       }
+
+       $r = q("SELECT `item`.`uri`, `item`.*, `item`.`id` AS `item_id`,
+                       `author-name` AS `name`, `owner-avatar` AS `photo`,
+                       `owner-link` AS `url`, `owner-avatar` AS `thumb`
+               FROM `item` FORCE INDEX (uid_contactid_created)
+               WHERE `item`.`uid` = %d AND `contact-id` = %d
+                       AND `author-link` IN ('%s', '%s')
+               ORDER BY `item`.`created` DESC LIMIT %d, %d",
+               intval(local_user()),
+               intval($contact_id),
+               dbesc(normalise_link($contact["url"])),
+               dbesc(str_replace("http://", "https://", $contact["url"])),
+               intval($a->pager['start']),
+               intval($a->pager['itemspage'])
+       );
+
+       $tab_str = contacts_tab($a, $contact_id, 1);
+
+       $o .= $tab_str;
+
+       $o .= conversation($a,$r,'community',false);
+
+       if(!get_config('system', 'old_pager')) {
+               $o .= alt_pager($a,count($r));
+       } else {
+               $o .= paginate($a);
+       }
+
+       return $o;
+}
+
 function _contact_detail_for_template($rr){
+
+       $community = '';
+
        switch($rr['rel']) {
                case CONTACT_IS_FRIEND:
                        $dir_icon = 'images/lrarrow.gif';
@@ -839,6 +968,10 @@ function _contact_detail_for_template($rr){
                $sparkle = '';
        }
 
+       //test if contact is a forum page
+       if (isset($rr['forum']) OR isset($rr['prv']))
+                               $community = ($rr['forum'] OR $rr['prv']);
+
 
        return array(
                'img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']),
@@ -850,8 +983,9 @@ function _contact_detail_for_template($rr){
                'thumb' => proxy_url($rr['thumb'], false, PROXY_SIZE_THUMB),
                'name' => htmlentities($rr['name']),
                'username' => htmlentities($rr['name']),
+               'account_type' => ($community ? t('Forum') : ''),
                'sparkle' => $sparkle,
-               'itemurl' => $rr['url'],
+               'itemurl' => (($rr['addr'] != "") ? $rr['addr'] : $rr['url']),
                'url' => $url,
                'network' => network_to_name($rr['network'], $rr['url']),
        );
diff --git a/mod/credits.php b/mod/credits.php
new file mode 100644 (file)
index 0000000..f8cfb03
--- /dev/null
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Show a credits page for all the developers who helped with the project
+ * (only contributors to the git repositories for friendica core and the
+ * addons repository will be listed though ATM)
+ */
+
+function credits_content (&$a) {
+    /* fill the page with credits */
+    $f = fopen('util/credits.txt','r');
+    $names = fread($f, filesize('util/credits.txt'));
+    $arr = explode("\n", htmlspecialchars($names));
+    fclose($f);
+    $tpl = get_markup_template('credits.tpl');
+    return replace_macros( $tpl, array(
+       '$title'                => t('Credits'),
+       '$thanks'               => t('Friendica is a community project, that would not be possible without the help of many people. Here is a list of those who have contributed to the code or the translation of Friendica. Thank you all!'),
+       '$names'         => $arr,
+    ));
+}
index 686be3948f26ac2ffcbe55fdc9859dd54e47bff7..6f951bdf6eade2dcd2321e63f250455892fe152c 100644 (file)
@@ -1,4 +1,6 @@
 <?php
+require_once("include/contact_selectors.php");
+require_once("mod/contacts.php");
 
 function crepair_init(&$a) {
        if(! local_user())
@@ -21,14 +23,9 @@ function crepair_init(&$a) {
                $a->page['aside'] = '';
 
        if($contact_id) {
-                       $a->data['contact'] = $r[0];
-                        $tpl = get_markup_template("vcard-widget.tpl");
-                        $vcard_widget .= replace_macros($tpl, array(
-                                '$name' => htmlentities($a->data['contact']['name']),
-                                '$photo' => $a->data['contact']['photo']
-                        ));
-                       $a->page['aside'] .= $vcard_widget;
-
+               $a->data['contact'] = $r[0];
+                $contact = $r[0];
+               profile_load($a, "", 0, get_contact_details_by_url($contact["url"]));
        }
 }
 
@@ -137,16 +134,10 @@ function crepair_content(&$a) {
 
        $contact = $r[0];
 
-       $msg1 = t('Repair Contact Settings');
-
-       $msg2 = t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.');
-       $msg3 = t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.');
-
-       $o .= '<h2>' . $msg1 . '</h2>';
+       $warning = t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.');
+       $info = t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.');
 
-       $o .= '<div class="error-message">' . $msg2 . EOL . EOL. $msg3 . '</div>';
-
-       $o .= EOL . '<a href="contacts/' . $cid . '">' . t('Return to contact editor') . '</a>' . EOL;
+       $returnaddr = "contacts/$cid";
 
        $allow_remote_self = get_config('system','allow_users_remote_self');
 
@@ -163,8 +154,17 @@ function crepair_content(&$a) {
 
        $update_profile = in_array($contact['network'], array(NETWORK_DFRN, NETWORK_DSPR, NETWORK_OSTATUS));
 
+       $tab_str = contacts_tab($a, $contact['id'], 5);
+
+
        $tpl = get_markup_template('crepair.tpl');
        $o .= replace_macros($tpl, array(
+               //'$title'      => t('Repair Contact Settings'),
+               '$tab_str'      => $tab_str,
+               '$warning'      => $warning,
+               '$info'         => $info,
+               '$returnaddr'   => $returnaddr,
+               '$return'       => t('Return to contact editor'),
                '$update_profile' => update_profile,
                '$udprofilenow' => t('Refetch contact data'),
                '$label_name' => t('Name'),
@@ -178,7 +178,12 @@ function crepair_content(&$a) {
                '$label_photo' => t('New photo from this URL'),
                '$label_remote_self' => t('Remote Self'),
                '$allow_remote_self' => $allow_remote_self,
-               '$remote_self' => array('remote_self', t('Mirror postings from this contact'), $contact['remote_self'], t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'), $remote_self_options),
+               '$remote_self' => array('remote_self',
+                                       t('Mirror postings from this contact'),
+                                       $contact['remote_self'],
+                                       t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'),
+                                       $remote_self_options
+                               ),
                '$contact_name' => htmlentities($contact['name']),
                '$contact_nick' => htmlentities($contact['nick']),
                '$contact_id'   => $contact['id'],
@@ -189,7 +194,7 @@ function crepair_content(&$a) {
                '$poll'         => $contact['poll'],
                '$contact_attag'  => $contact['attag'],
                '$lbl_submit'   => t('Submit')
-           ));
+       ));
 
        return $o;
 
index b5f60a0397e39020cd77253b925e2386136e0277..d6a07186aca299e007e7a14ba9d436b42fa1affd 100644 (file)
@@ -476,8 +476,8 @@ function dfrn_poll_content(&$a) {
                        // URL reply
 
                        if($dfrn_version < 2.2) {
-                               $s = fetch_url($r[0]['poll'] 
-                                       . '?dfrn_id=' . $encrypted_id 
+                               $s = fetch_url($r[0]['poll']
+                                       . '?dfrn_id=' . $encrypted_id
                                        . '&type=profile-check'
                                        . '&dfrn_version=' . DFRN_PROTOCOL_VERSION
                                        . '&challenge=' . $challenge
@@ -493,7 +493,7 @@ function dfrn_poll_content(&$a) {
                                        'sec' => $sec
                                ));
                        }
-                       
+
                        $profile = ((count($r) && $r[0]['nickname']) ? $r[0]['nickname'] : $nickname);
 
                        switch($destination_url) {
@@ -506,7 +506,7 @@ function dfrn_poll_content(&$a) {
                                case 'status':
                                case '':
                                        $dest = $a->get_baseurl() . '/profile/' . $profile;
-                                       break;          
+                                       break;
                                default:
                                        $dest = $destination_url . '?f=&redir=1';
                                        break;
@@ -564,5 +564,3 @@ function dfrn_poll_content(&$a) {
                }
        }
 }
-
-
index 7e5b67b7c2b1ff2024c7a5ceb0cd760097bd25ce..b0ad2d4a0f741190c5af8cced8d05651f3bc4d4c 100644 (file)
@@ -136,7 +136,7 @@ function dfrn_request_post(&$a) {
 
                                        $dfrn_request = $parms['dfrn-request'];
 
-                    /********* Escape the entire array ********/
+                                       /********* Escape the entire array ********/
 
                                        dbesc_array($parms);
 
@@ -146,13 +146,14 @@ function dfrn_request_post(&$a) {
                                         * Create a contact record on our site for the other person
                                         */
 
-                                       $r = q("INSERT INTO `contact` ( `uid`, `created`,`url`, `nurl`, `name`, `nick`, `photo`, `site-pubkey`,
+                                       $r = q("INSERT INTO `contact` ( `uid`, `created`,`url`, `nurl`, `addr`, `name`, `nick`, `photo`, `site-pubkey`,
                                                `request`, `confirm`, `notify`, `poll`, `poco`, `network`, `aes_allow`, `hidden`)
-                                               VALUES ( %d, '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d)",
+                                               VALUES ( %d, '%s', '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d)",
                                                intval(local_user()),
                                                datetime_convert(),
                                                dbesc($dfrn_url),
                                                dbesc(normalise_link($dfrn_url)),
+                                               $parms['addr'],
                                                $parms['fn'],
                                                $parms['nick'],
                                                $parms['photo'],
@@ -539,13 +540,14 @@ function dfrn_request_post(&$a) {
 
 
                                dbesc_array($parms);
-                               $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`,`name`, `nick`, `issued-id`, `photo`, `site-pubkey`,
+                               $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `addr`, `name`, `nick`, `issued-id`, `photo`, `site-pubkey`,
                                        `request`, `confirm`, `notify`, `poll`, `poco`, `network` )
-                                       VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
+                                       VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
                                        intval($uid),
                                        dbesc(datetime_convert()),
                                        $parms['url'],
                                        dbesc(normalise_link($parms['url'])),
+                                       $parms['addr'],
                                        $parms['fn'],
                                        $parms['nick'],
                                        $parms['issued-id'],
index 6fd99256f0a80c06586c0f80b583ed150494526a..cb233db8983df5ae8f98b68354ed2d359d384bdd 100644 (file)
@@ -8,6 +8,8 @@ function directory_init(&$a) {
 
                $a->page['aside'] .= findpeople_widget();
 
+               $a->page['aside'] .= follow_widget();
+
        }
        else {
                unset($_SESSION['theme']);
@@ -31,7 +33,7 @@ function directory_content(&$a) {
        require_once("mod/proxy.php");
 
        if((get_config('system','block_public')) && (! local_user()) && (! remote_user()) || 
-                (get_config('system','block_local_dir')) && (! local_user()) && (! remote_user())) {
+               (get_config('system','block_local_dir')) && (! local_user()) && (! remote_user())) {
                notice( t('Public access denied.') . EOL);
                return;
        }
@@ -44,27 +46,12 @@ function directory_content(&$a) {
        else
                $search = ((x($_GET,'search')) ? notags(trim(rawurldecode($_GET['search']))) : '');
 
-       $tpl = get_markup_template('directory_header.tpl');
-
-       $globaldir = '';
-       $gdirpath = get_config('system','directory');
-       if(strlen($gdirpath)) {
-               $globaldir = '<ul><li><div id="global-directory-link"><a href="'
-               . zrl($gdirpath,true) . '">' . t('Global Directory') . '</a></div></li></ul>';
+       $gdirpath = '';
+       $dirurl = get_config('system','directory');
+       if(strlen($dirurl)) {
+               $gdirpath = zrl($dirurl,true);
        }
 
-       $admin = '';
-
-       $o .= replace_macros($tpl, array(
-               '$search' => $search,
-               '$globaldir' => $globaldir,
-               '$desc' => t('Find on this site'),
-               '$admin' => $admin,
-               '$finding' => (strlen($search) ? '<h4>' . t('Finding: ') . "'" . $search . "'" . '</h4>' : ""),
-               '$sitedir' => t('Site Directory'),
-               '$submit' => t('Find')
-       ));
-
        if($search) {
                $search = dbesc($search);
 
@@ -88,7 +75,9 @@ function directory_content(&$a) {
        $publish = ((get_config('system','publish_all')) ? '' : " AND `publish` = 1 " );
 
 
-       $r = $db->q("SELECT COUNT(*) AS `total` FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 $sql_extra ");
+       $r = $db->q("SELECT COUNT(*) AS `total` FROM `profile`
+                       LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid`
+                       WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 $sql_extra ");
        if(count($r))
                $a->set_pager_total($r[0]['total']);
 
@@ -96,7 +85,11 @@ function directory_content(&$a) {
 
        $limit = intval($a->pager['start']).",".intval($a->pager['itemspage']);
 
-       $r = $db->q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname`, `user`.`timezone` , `user`.`page-flags` FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 $sql_extra $order LIMIT ".$limit);
+       $r = $db->q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname`, `user`.`timezone` , `user`.`page-flags`,
+                       `contact`.`addr`, `contact`.`url` AS profile_url FROM `profile`
+                       LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid`
+                       LEFT JOIN `contact` ON `contact`.`uid` = `user`.`uid`
+                       WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 AND `contact`.`self` $sql_extra $order LIMIT ".$limit);
        if(count($r)) {
 
                if(in_array('small', $a->argv))
@@ -106,8 +99,12 @@ function directory_content(&$a) {
 
                foreach($r as $rr) {
 
+                       $community = '';
+                       $itemurl= '';
+
+                       $itemurl = (($rr['addr'] != "") ? $rr['addr'] : $rr['profile_url']);
 
-                       $profile_link = $a->get_baseurl() . '/profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']);
+                       $profile_link = z_root() . '/profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']);
 
                        $pdesc = (($rr['pdesc']) ? $rr['pdesc'] . '<br />' : '');
 
@@ -124,23 +121,19 @@ function directory_content(&$a) {
                                        $details .= ', ';
                                $details .= $rr['country-name'];
                        }
-                       if(strlen($rr['dob'])) {
-                               if(($years = age($rr['dob'],$rr['timezone'],'')) != 0)
-                                       $details .= '<br />' . t('Age: ') . $years ; 
-                       }
-                       if(strlen($rr['gender']))
-                               $details .= '<br />' . t('Gender: ') . $rr['gender'];
-
-                       if($rr['page-flags'] == PAGE_NORMAL)
-                               $page_type = "Personal Profile";
-                       if($rr['page-flags'] == PAGE_SOAPBOX)
-                               $page_type = "Fan Page";
-                       if($rr['page-flags'] == PAGE_COMMUNITY)
-                               $page_type = "Community Forum";
-                       if($rr['page-flags'] == PAGE_FREELOVE)
-                               $page_type = "Open Forum";
-                       if($rr['page-flags'] == PAGE_PRVGROUP)
-                               $page_type = "Private Group";
+//                     if(strlen($rr['dob'])) {
+//                             if(($years = age($rr['dob'],$rr['timezone'],'')) != 0)
+//                                     $details .= '<br />' . t('Age: ') . $years ; 
+//                     }
+//                     if(strlen($rr['gender']))
+//                             $details .= '<br />' . t('Gender: ') . $rr['gender'];
+
+
+                       // show if account is a community account
+                       // ToDo the other should be also respected, but first we need a good translatiion
+                       // and systemwide consistency for displaying the page type
+                       if((intval($rr['page-flags']) == PAGE_COMMUNITY) OR (intval($rr['page-flags']) == PAGE_PRVGROUP))
+                               $community = true;
 
                        $profile = $rr;
 
@@ -159,32 +152,35 @@ function directory_content(&$a) {
 
                        $about = ((x($profile,'about') == 1) ?  t('About:') : False);
 
-                       $tpl = get_markup_template('directory_item.tpl');
-
                        if($a->theme['template_engine'] === 'internal') {
                                $location_e = template_escape($location);
                        }
                        else {
                                $location_e = $location;
                        }
-
-                       $entry = replace_macros($tpl,array(
-                               '$id' => $rr['id'],
-                               '$profile_link' => $profile_link,
-                               '$photo' => proxy_url($a->get_cached_avatar_image($rr[$photo]), false, PROXY_SIZE_THUMB),
-                               '$alt_text' => $rr['name'],
-                               '$name' => $rr['name'],
-                               '$details' => $pdesc . $details,
-                               '$page_type' => $page_type,
-                               '$profile' => $profile,
-                               '$location' => $location_e,
-                               '$gender'   => $gender,
-                               '$pdesc'        => $pdesc,
-                               '$marital'  => $marital,
-                               '$homepage' => $homepage,
-                               '$about' => $about,
-
-                       ));
+                       
+                       $photo_menu = array(array(t("View Profile"), zrl($profile_link)));
+
+                       $entry = array(
+                               'id' => $rr['id'],
+                               'url' => $profile_link,
+                               'itemurl' => $itemurl,
+                               'thumb' => proxy_url($a->get_cached_avatar_image($rr[$photo]), false, PROXY_SIZE_THUMB),
+                               'img_hover' => $rr['name'],
+                               'name' => $rr['name'],
+                               'details' => $details,
+                               'account_type' => ($community ? t('Forum') : ''),
+                               'profile' => $profile,
+                               'location' => $location_e,
+                               'tags' => $rr['pub_keywords'],
+                               'gender'   => $gender,
+                               'pdesc' => $pdesc,
+                               'marital'  => $marital,
+                               'homepage' => $homepage,
+                               'about' => $about,
+                               'photo_menu' => $photo_menu,
+
+                       );
 
                        $arr = array('contact' => $rr, 'entry' => $entry);
 
@@ -193,12 +189,27 @@ function directory_content(&$a) {
                        unset($profile);
                        unset($location);
 
-                       $o .= $entry;
+                       if(! $arr['entry'])
+                               continue;
+
+                       $entries[] = $arr['entry'];
 
                }
 
-               $o .= "<div class=\"directory-end\" ></div>\r\n";
-               $o .= paginate($a);
+               $tpl = get_markup_template('directory_header.tpl');
+
+               $o .= replace_macros($tpl, array(
+                       '$search' => $search,
+                       '$globaldir' => t('Global Directory'),
+                       '$gdirpath' => $gdirpath,
+                       '$desc' => t('Find on this site'),
+                       '$contacts' => $entries,
+                       '$finding' => t('Finding:'),
+                       '$findterm' => (strlen($search) ? $search : ""),
+                       '$title' => t('Site Directory'),
+                       '$submit' => t('Find'),
+                       '$paginate' => paginate($a),
+               ));
 
        }
        else
index 95f9bf53a8890052a264ae701d911dca765cee57..3f9c82576a3bf02845082e266ba1dfb0e66095cf 100644 (file)
@@ -2,6 +2,8 @@
 require_once('include/contact_widgets.php');
 require_once('include/socgraph.php');
 require_once('include/Contact.php');
+require_once('include/contact_selectors.php');
+require_once('mod/contacts.php');
 
 function dirfind_init(&$a) {
 
@@ -13,9 +15,9 @@ function dirfind_init(&$a) {
        if(! x($a->page,'aside'))
                $a->page['aside'] = '';
 
-       $a->page['aside'] .= follow_widget();
-
        $a->page['aside'] .= findpeople_widget();
+
+       $a->page['aside'] .= follow_widget();
 }
 
 
@@ -23,13 +25,20 @@ function dirfind_init(&$a) {
 function dirfind_content(&$a, $prefix = "") {
 
        $community = false;
+       $discover_user = false;
 
        $local = get_config('system','poco_local_search');
 
        $search = $prefix.notags(trim($_REQUEST['search']));
 
-       if(strpos($search,'@') === 0)
+       if(strpos($search,'@') === 0) {
                $search = substr($search,1);
+               if ((valid_email($search) AND validate_email($search)) OR
+                       (substr(normalise_link($search), 0, 7) == "http://")) {
+                       $user_data = probe_url($search);
+                       $discover_user = (in_array($user_data["network"], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA)));
+               }
+       }
 
        if(strpos($search,'!') === 0) {
                $search = substr($search,1);
@@ -38,13 +47,34 @@ function dirfind_content(&$a, $prefix = "") {
 
        $o = '';
 
-       $o .= replace_macros(get_markup_template("section_title.tpl"),array(
-               '$title' => sprintf( t('People Search - %s'), $search)
-       ));
-
        if($search) {
 
-               if ($local) {
+               if ($discover_user) {
+                       $j = new stdClass();
+                       $j->total = 1;
+                       $j->items_page = 1;
+                       $j->page = $a->pager['page'];
+
+                       $objresult = new stdClass();
+                       $objresult->cid = 0;
+                       $objresult->name = $user_data["name"];
+                       $objresult->addr = $user_data["addr"];
+                       $objresult->url = $user_data["url"];
+                       $objresult->photo = $user_data["photo"];
+                       $objresult->tags = "";
+                       $objresult->network = $user_data["network"];
+
+                       $contact = q("SELECT `id` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d LIMIT 1",
+                                       dbesc(normalise_link($user_data["url"])), intval(local_user()));
+                       if ($contact)
+                               $objresult->cid = $contact[0]["id"];
+
+
+                       $j->results[] = $objresult;
+
+                       poco_check($user_data["url"], $user_data["name"], $user_data["network"], $user_data["photo"],
+                               "", "", "", "", "", datetime_convert(), 0);
+               } elseif ($local) {
 
                        if ($community)
                                $extra_sql = " AND `community`";
@@ -54,14 +84,24 @@ function dirfind_content(&$a, $prefix = "") {
                        $perpage = 80;
                        $startrec = (($a->pager['page']) * $perpage) - $perpage;
 
+                       if (get_config('system','diaspora_enabled'))
+                               $diaspora = NETWORK_DIASPORA;
+                       else
+                               $diaspora = NETWORK_DFRN;
+
+                       if (!get_config('system','ostatus_disabled'))
+                               $ostatus = NETWORK_OSTATUS;
+                       else
+                               $ostatus = NETWORK_DFRN;
+
                        $count = q("SELECT count(*) AS `total` FROM `gcontact` WHERE `network` IN ('%s', '%s', '%s') AND
                                        (`url` REGEXP '%s' OR `name` REGEXP '%s' OR `location` REGEXP '%s' OR
                                                `about` REGEXP '%s' OR `keywords` REGEXP '%s')".$extra_sql,
-                                       dbesc(NETWORK_DFRN), dbesc(NETWORK_OSTATUS), dbesc(NETWORK_DIASPORA),
+                                       dbesc(NETWORK_DFRN), dbesc($ostatus), dbesc($diaspora),
                                        dbesc(escape_tags($search)), dbesc(escape_tags($search)), dbesc(escape_tags($search)),
                                        dbesc(escape_tags($search)), dbesc(escape_tags($search)));
 
-                       $results = q("SELECT `contact`.`id` AS `cid`, `gcontact`.`url`, `gcontact`.`name`, `gcontact`.`photo`, `gcontact`.`keywords`
+                       $results = q("SELECT `contact`.`id` AS `cid`, `gcontact`.`url`, `gcontact`.`name`, `gcontact`.`photo`, `gcontact`.`network`, `gcontact`.`keywords`, `gcontact`.`addr`
                                        FROM `gcontact`
                                        LEFT JOIN `contact` ON `contact`.`nurl` = `gcontact`.`nurl`
                                                AND `contact`.`uid` = %d AND NOT `contact`.`blocked`
@@ -73,7 +113,7 @@ function dirfind_content(&$a, $prefix = "") {
                                                GROUP BY `gcontact`.`nurl`
                                                ORDER BY `gcontact`.`updated` DESC LIMIT %d, %d",
                                        intval(local_user()), dbesc(CONTACT_IS_SHARING), dbesc(CONTACT_IS_FRIEND),
-                                       dbesc(NETWORK_DFRN), dbesc(NETWORK_OSTATUS), dbesc(NETWORK_DIASPORA),
+                                       dbesc(NETWORK_DFRN), dbesc($ostatus), dbesc($diaspora),
                                        dbesc(escape_tags($search)), dbesc(escape_tags($search)), dbesc(escape_tags($search)),
                                        dbesc(escape_tags($search)), dbesc(escape_tags($search)),
                                        intval($startrec), intval($perpage));
@@ -93,9 +133,11 @@ function dirfind_content(&$a, $prefix = "") {
                                $objresult = new stdClass();
                                $objresult->cid = $result["cid"];
                                $objresult->name = $result["name"];
+                               $objresult->addr = $result["addr"];
                                $objresult->url = $result["url"];
                                $objresult->photo = $result["photo"];
                                $objresult->tags = $result["keywords"];
+                               $objresult->network = $result["network"];
 
                                $j->results[] = $objresult;
                        }
@@ -121,18 +163,25 @@ function dirfind_content(&$a, $prefix = "") {
 
                        $id = 0;
 
-                       $tpl = get_markup_template('match.tpl');
                        foreach($j->results as $jj) {
 
+                               $alt_text = "";
+
+                               $contact_details = get_contact_details_by_url($jj->url, local_user());
+
+                               $itemurl = (($contact_details["addr"] != "") ? $contact_details["addr"] : $jj->url);
+
                                // If We already know this contact then don't show the "connect" button
                                if ($jj->cid > 0) {
                                        $connlnk = "";
                                        $conntxt = "";
                                        $contact = q("SELECT * FROM `contact` WHERE `id` = %d",
                                                        intval($jj->cid));
-                                       if ($contact)
+                                       if ($contact) {
                                                $photo_menu = contact_photo_menu($contact[0]);
-                                       else
+                                               $details = _contact_detail_for_template($contact[0]);
+                                               $alt_text = $details['alt_text'];
+                                       } else
                                                $photo_menu = array();
                                } else {
                                        $connlnk = $a->get_baseurl().'/follow/?url='.(($jj->connect) ? $jj->connect : $jj->url);
@@ -143,17 +192,34 @@ function dirfind_content(&$a, $prefix = "") {
 
                                $jj->photo = str_replace("http:///photo/", get_server()."/photo/", $jj->photo);
 
-                               $o .= replace_macros($tpl,array(
-                                       '$url' => zrl($jj->url),
-                                       '$name' => htmlentities($jj->name),
-                                       '$photo' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB),
-                                       '$tags' => $jj->tags,
-                                       '$conntxt' => $conntxt,
-                                       '$connlnk' => $connlnk,
-                                       '$photo_menu' => $photo_menu,
-                                       '$id' => ++$id,
-                               ));
+                               $entry = array(
+                                       'alt_text' => $alt_text,
+                                       'url' => zrl($jj->url),
+                                       'itemurl' => $itemurl,
+                                       'name' => htmlentities($jj->name),
+                                       'thumb' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB),
+                                       'img_hover' => $jj->tags,
+                                       'conntxt' => $conntxt,
+                                       'connlnk' => $connlnk,
+                                       'photo_menu' => $photo_menu,
+                                       'details'       => $contact_details['location'],
+                                       'tags'          => $contact_details['keywords'],
+                                       'about'         => $contact_details['about'],
+                                       'account_type'  => (($contact_details['community']) ? t('Forum') : ''),
+                                       'network' => network_to_name($jj->network, $jj->url),
+                                       'id' => ++$id,
+                               );
+                               $entries[] = $entry;
                        }
+
+               $tpl = get_markup_template('viewcontact_template.tpl');
+
+               $o .= replace_macros($tpl,array(
+                       'title' => sprintf( t('People Search - %s'), $search),
+                       '$contacts' => $entries,
+                       '$paginate' => paginate($a),
+               ));
+
                }
                else {
                        info( t('No matches') . EOL);
@@ -161,7 +227,5 @@ function dirfind_content(&$a, $prefix = "") {
 
        }
 
-       $o .= '<div class="clear"></div>';
-       $o .= paginate($a);
        return $o;
 }
index 0cf6d0d4cf7320f7b1812036f99de0d4d8740879..9a80d0b2f4ba622badbaac42f617e973eeed926a 100644 (file)
@@ -60,7 +60,7 @@ function editpost_content(&$a) {
 
 
        $tpl = get_markup_template("jot.tpl");
-               
+
        if(($group) || (is_array($a->user) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid'])))))
                $lockstate = 'lock';
        else
@@ -99,10 +99,11 @@ function editpost_content(&$a) {
        call_hooks('jot_tool', $jotplugins);
        //call_hooks('jot_networks', $jotnets);
 
-       
+
        //$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
 
        $o .= replace_macros($tpl,array(
+               '$is_edit' => true,
                '$return_path' => $_SESSION['return_url'],
                '$action' => 'item',
                '$share' => t('Save'),
index bf53286c2032173488da80cab4900a404c488bed..653ae489b8f97c8022fe68fcd6f7513e4b5fe009 100644 (file)
@@ -154,6 +154,7 @@ function events_post(&$a) {
        if(! $cid)
                proc_run('php',"include/notifier.php","event","$item_id");
 
+       goaway($_SESSION['return_url']);
 }
 
 
@@ -165,6 +166,9 @@ function events_content(&$a) {
                return;
        }
 
+       if($a->argc == 1)
+               $_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd;
+
        if(($a->argc > 2) && ($a->argv[1] === 'ignore') && intval($a->argv[2])) {
                $r = q("update event set ignore = 1 where id = %d and uid = %d",
                        intval($a->argv[2]),
@@ -505,7 +509,7 @@ function events_content(&$a) {
                else
                        $sh_checked = (($orig_event['allow_cid'] === '<' . local_user() . '>' && (! $orig_event['allow_gid']) && (! $orig_event['deny_cid']) && (! $orig_event['deny_gid'])) ? '' : ' checked="checked" ' );
 
-               if($cid)
+               if($cid OR ($mode !== 'new'))
                        $sh_checked .= ' disabled="disabled" ';
 
 
@@ -536,6 +540,9 @@ function events_content(&$a) {
 
                require_once('include/acl_selectors.php');
 
+               if ($mode === 'new')
+                       $acl = (($cid) ? '' : populate_acl(((x($orig_event)) ? $orig_event : $a->user)));
+
                $tpl = get_markup_template('event_form.tpl');
 
                $o .= replace_macros($tpl,array(
@@ -563,7 +570,7 @@ function events_content(&$a) {
                        '$sh_text' => t('Share this event'),
                        '$sh_checked' => $sh_checked,
                        '$preview' => t('Preview'),
-                       '$acl' => (($cid) ? '' : populate_acl(((x($orig_event)) ? $orig_event : $a->user))),
+                       '$acl' => $acl,
                        '$submit' => t('Submit')
 
                ));
index e7f4b76d48a585869caae6c68e4234baa027cdfe..0a2a7dead52048cf3dfd1860b11da789921d47fd 100644 (file)
@@ -35,12 +35,14 @@ function fbrowser_content($a){
                        $sql_extra2 = " ORDER BY created DESC LIMIT 0, 10";
 
                        if ($a->argc==2){
-                               $albums = q("SELECT distinct(`album`) AS `album` FROM `photo` WHERE `uid` = %d ",
-                                       intval(local_user())
+                               $albums = q("SELECT distinct(`album`) AS `album` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s' ",
+                                       intval(local_user()),
+                                       dbesc('Contact Photos'),
+                                       dbesc( t('Contact Photos'))
                                );
-                               // anon functions only from 5.3.0... meglio tardi che mai..
-                               $folder1 = function($el) use ($mode) {return array(bin2hex($el['album']),$el['album']);};
-                               $albums = array_map( $folder1 , $albums);
+
+                               function _map_folder1($el){return array(bin2hex($el['album']),$el['album']);};
+                               $albums = array_map( "_map_folder1" , $albums);
 
                        }
 
@@ -53,12 +55,14 @@ function fbrowser_content($a){
                        }
 
                        $r = q("SELECT `resource-id`, `id`, `filename`, type, min(`scale`) AS `hiq`,max(`scale`) AS `loq`, `desc`
-                                       FROM `photo` WHERE `uid` = %d  $sql_extra
+                                       FROM `photo` WHERE `uid` = %d $sql_extra AND `album` != '%s' AND `album` != '%s'
                                        GROUP BY `resource-id` $sql_extra2",
-                               intval(local_user())
+                               intval(local_user()),
+                               dbesc('Contact Photos'),
+                               dbesc( t('Contact Photos'))
                        );
 
-                       function files1($rr){
+                       function _map_files1($rr){
                                global $a;
                                $types = Photo::supportedTypes();
                                $ext = $types[$rr['type']];
@@ -71,12 +75,12 @@ function fbrowser_content($a){
                                }
 
                                return array(
-                                       $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '.' .$ext,
+                                       $a->get_baseurl() . '/photos/' . $a->user['nickname'] . '/image/' . $rr['resource-id'],
                                        $filename_e,
                                        $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $rr['loq'] . '.'. $ext
                                );
                        }
-                       $files = array_map("files1", $r);
+                       $files = array_map("_map_files1", $r);
 
                        $tpl = get_markup_template($template_file);
 
@@ -94,11 +98,11 @@ function fbrowser_content($a){
                        break;
                case "file":
                        if ($a->argc==2){
-                               $files = q("SELECT id, filename, filetype FROM `attach` WHERE `uid` = %d ",
+                               $files = q("SELECT `id`, `filename`, `filetype` FROM `attach` WHERE `uid` = %d ",
                                        intval(local_user())
                                );
 
-                               function files2($rr){ global $a;
+                               function _map_files2($rr){ global $a;
                                        list($m1,$m2) = explode("/",$rr['filetype']);
                                        $filetype = ( (file_exists("images/icons/$m1.png"))?$m1:"zip");
 
@@ -111,8 +115,7 @@ function fbrowser_content($a){
 
                                        return array( $a->get_baseurl() . '/attach/' . $rr['id'], $filename_e, $a->get_baseurl() . '/images/icons/16/' . $filetype . '.png');
                                }
-                               $files = array_map("files2", $files);
-                               //echo "<pre>"; var_dump($files); killme();
+                               $files = array_map("_map_files2", $files);
 
 
                                $tpl = get_markup_template($template_file);
index 54c20e5093ac4924f7891b4dd37a54785c14cc3f..cc08831285e74fb69ed6aef54deafce7c5f67543 100644 (file)
@@ -15,6 +15,8 @@ function follow_content(&$a) {
        $uid = local_user();
        $url = notags(trim($_REQUEST['url']));
 
+       $submit = t('Submit Request');
+
        // There is a current issue. It seems as if you can't start following a Friendica that is following you
        // With Diaspora this works - but Friendica is special, it seems ...
        $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND ((`rel` != %d) OR (`network` = '%s')) AND
@@ -25,15 +27,31 @@ function follow_content(&$a) {
 
        if ($r) {
                notice(t('You already added this contact.').EOL);
-               goaway($_SESSION['return_url']);
+               $submit = "";
+               //goaway($_SESSION['return_url']);
                // NOTREACHED
        }
 
        $ret = probe_url($url);
 
+       if (($ret["network"] == NETWORK_DIASPORA) AND !get_config('system','diaspora_enabled')) {
+               notice( t("Diaspora support isn't enabled. Contact can't be added.") . EOL);
+               $submit = "";
+               //goaway($_SESSION['return_url']);
+               // NOTREACHED
+       }
+
+       if (($ret["network"] == NETWORK_OSTATUS) AND get_config('system','ostatus_disabled')) {
+               notice( t("OStatus support is disabled. Contact can't be added.") . EOL);
+               $submit = "";
+               //goaway($_SESSION['return_url']);
+               // NOTREACHED
+       }
+
        if ($ret["network"] == NETWORK_PHANTOM) {
                notice( t("The network type couldn't be detected. Contact can't be added.") . EOL);
-               goaway($_SESSION['return_url']);
+               $submit = "";
+               //goaway($_SESSION['return_url']);
                // NOTREACHED
        }
 
@@ -94,7 +112,7 @@ function follow_content(&$a) {
                        '$your_address' => t('Your Identity Address:'),
                        '$invite_desc' => "",
                        '$emailnet' => "",
-                       '$submit' => t('Submit Request'),
+                       '$submit' => $submit,
                        '$cancel' => t('Cancel'),
                        '$nickname' => "",
                        '$name' => $ret["name"],
index 4a447713dc055d5c9ea5f7a0f5322cb40088159f..5b28784f5663cc1b7056125b26619416e9e76b6d 100644 (file)
@@ -7,7 +7,7 @@ function validate_members(&$item) {
 function group_init(&$a) {
        if(local_user()) {
                require_once('include/group.php');
-               $a->page['aside'] = group_side('contacts','group',false,(($a->argc > 1) ? intval($a->argv[1]) : 0));
+               $a->page['aside'] = group_side('contacts','group','extended',(($a->argc > 1) ? intval($a->argv[1]) : 0));
        }
 }
 
@@ -62,12 +62,12 @@ function group_post(&$a) {
 
                $a->page['aside'] = group_side();
        }
-       return; 
+       return;
 }
 
 function group_content(&$a) {
        $change = false;
-       
+
        if(! local_user()) {
                notice( t('Permission denied') . EOL);
                return;
@@ -172,7 +172,7 @@ function group_content(&$a) {
                        '$form_security_token' => get_form_security_token("group_drop"),
                ));
 
-               
+
                $context = $context + array(
                        '$title' => t('Group Editor'),
                        '$gname' => array('groupname',t('Group Name: '),$group['name'], ''),
@@ -190,9 +190,10 @@ function group_content(&$a) {
                'label_members' => t('Members'),
                'members' => array(),
                'label_contacts' => t('All Contacts'),
+               'group_is_empty' => t('Group is empty'),
                'contacts' => array(),
        );
-               
+
        $sec_token = addslashes(get_form_security_token('group_member_change'));
        $textmode = (($switchtotext && (count($members) > $switchtotext)) ? true : false);
        foreach($members as $member) {
@@ -204,7 +205,7 @@ function group_content(&$a) {
                        group_rmv_member(local_user(),$group['name'],$member['id']);
        }
 
-       $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0 ORDER BY `name` ASC",
+       $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND NOT `blocked` AND NOT `pending` AND NOT `self` ORDER BY `name` ASC",
                intval(local_user())
        );
 
@@ -226,8 +227,7 @@ function group_content(&$a) {
                echo replace_macros($tpl, $context);
                killme();
        }
-       
+
        return replace_macros($tpl, $context);
 
 }
-
index 182495d258cb7c74b53c517c6eee2e31b65fc47b..8434b38e387f21e7953bc68b9c2163750284cd34 100755 (executable)
@@ -1,4 +1,5 @@
 <?php
+require_once "include/Photo.php";
 
 $install_wizard_pass=1;
 
@@ -10,6 +11,14 @@ function install_init(&$a){
                echo "ok";
                killme();
        }
+       
+       // We overwrite current theme css, because during install we could not have a working mod_rewrite
+       // so we could not have a css at all. Here we set a static css file for the install procedure pages
+       $a->config['system']['theme'] = "../install";
+       $a->theme['stylesheet'] = $a->get_baseurl()."/view/install/style.css";
+       
+       
+       
        global $install_wizard_pass;
        if (x($_POST,'pass'))
                $install_wizard_pass = intval($_POST['pass']);
@@ -84,15 +93,15 @@ function install_post(&$a) {
                                '$phpath' => $phpath,
                                '$adminmail' => $adminmail
                        ));
-                       
+
 
                        $result = file_put_contents('.htconfig.php', $txt);
                        if(! $result) {
                                $a->data['txt'] = $txt;
                        }
-                       
+
                        $errors = load_database($db);
-                       
+
 
                        if($errors)
                                $a->data['db_failed'] = $errors;
@@ -177,6 +186,8 @@ function install_content(&$a) {
 
                        check_funcs($checks);
 
+                       check_imagik($checks);
+
                        check_htconfig($checks);
 
                        check_smarty3($checks);
@@ -321,7 +332,7 @@ function check_php(&$phpath, &$checks) {
        $help = "";
        if(!$passed) {
                $help .= t('Could not find a command line version of PHP in the web server PATH.'). EOL;
-               $help .= t("If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>") . EOL ;
+               $help .= t("If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See <a href='https://github.com/friendica/friendica/blob/master/doc/Install.md#set-up-the-poller'>'Setup the poller'</a>") . EOL ;
                $help .= EOL . EOL ;
                $tpl = get_markup_template('field_input.tpl');
                $help .= replace_macros($tpl, array(
@@ -428,10 +439,21 @@ function check_funcs(&$checks) {
                $ck_funcs[5]['help']= t('Error: mcrypt PHP module required but not installed.');
        }
 
-       
-       
        $checks = array_merge($checks, $ck_funcs);
 
+       // check for 'mcrypt_create_iv()', needed for RINO2
+       if ($ck_funcs[5]['status']) {
+               if (function_exists('mcrypt_create_iv')) {
+                       $__status = true;
+                       $__help = "If you are using php_cli, please make sure that mcrypt module is enabled in its config file";
+               } else {
+                       $__status = false;
+                       $__help = t('Function mcrypt_create_iv() is not defined. This is needed to enable RINO2 encryption layer.');
+               }
+               check_add($checks, t('mcrypt_create_iv() function'), $__status, false, $__help);
+       }
+
+
        /*if((x($_SESSION,'sysmsg')) && is_array($_SESSION['sysmsg']) && count($_SESSION['sysmsg']))
                notice( t('Please see the file "INSTALL.txt".') . EOL);*/
 }
@@ -490,6 +512,24 @@ function check_htaccess(&$checks) {
        }
 }
 
+function check_imagik(&$checks) {
+       $imagick = false;
+       $gif = false;
+
+       if (class_exists('Imagick')) {
+               $imagick = true;
+               $supported = Photo::supportedTypes();
+               if (array_key_exists('image/gif', $supported)) {
+                       $gif = true;
+               }
+       }
+       check_add($checks, t('ImageMagick PHP extension is installed'), $imagick, false, "");
+       if ($imagick) {
+               check_add($checks, t('ImageMagick supports GIF'), $gif, false, "");
+       }
+}
+
+
 
 function manual_config(&$a) {
        $data = htmlentities($a->data['txt'],ENT_COMPAT,'UTF-8');
index 91a94974e9a232cd0b7c1e2a55893fe0ee69c41b..a2b88a8e305f00474a3adecb034adb5a6ed71ddf 100644 (file)
@@ -362,8 +362,7 @@ function item_post(&$a) {
        if((local_user()) && (local_user() == $profile_uid)) {
                $self = true;
                $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
-                       intval($_SESSION['uid'])
-               );
+                       intval($_SESSION['uid']));
        }
        elseif(remote_user()) {
                if(is_array($_SESSION['remote'])) {
index 5513ebe08d70b1c48475bb4d643833d1f9d085bf..adcc3d787aac0d58563cbd5d38e82e50384498d2 100644 (file)
@@ -97,9 +97,42 @@ function manage_content(&$a) {
                return;
        }
 
+       if ($_GET['identity']) {
+               $_POST['identity'] = $_GET['identity'];
+               manage_post($a);
+               return;
+       }
+
        $identities = $a->identities;
-       foreach($identities as $key=>$id) {
-               $identities[$key]['selected'] = (($id['nickname'] === $a->user['nickname']) ? ' selected="selected" ' : '');
+
+       //getting additinal information for each identity
+       foreach ($identities as $key=>$id) {
+               $thumb = q("SELECT `thumb` FROM `contact` WHERE `uid` = '%s' AND `self` = 1",
+                       dbesc($id['uid'])
+               );
+
+               $identities[$key][thumb] = $thumb[0][thumb];
+
+               $identities[$key]['selected'] = (($id['nickname'] === $a->user['nickname']) ? true : false);
+
+               $notifications = 0;
+
+               $r = q("SELECT DISTINCT(`parent`) FROM `notify` WHERE `uid` = %d AND NOT `seen` AND NOT (`type` IN (%d, %d))",
+                       intval($id['uid']), intval(NOTIFY_INTRO), intval(NOTIFY_MAIL));
+               if ($r)
+                       $notifications = sizeof($r);
+
+               $r = q("SELECT DISTINCT(`convid`) FROM `mail` WHERE `uid` = %d AND NOT `seen`",
+                       intval($id['uid']));
+               if ($r)
+                       $notifications = $notifications + sizeof($r);
+
+               $r = q("SELECT COUNT(*) AS `introductions` FROM `intro` WHERE NOT `blocked` AND NOT `ignore` AND `uid` = %d",
+                       intval($id['uid']));
+               if ($r)
+                       $notifications = $notifications + $r[0]["introductions"];
+
+               $identities[$key]['notifications'] = $notifications;
        }
 
        $o = replace_macros(get_markup_template('manage.tpl'), array(
index f31b0f67a44fd82cc2a1140a2581ce443a16aae7..3b0367b4290e1efd02ccbd945eca34fb4e79bb4d 100644 (file)
@@ -4,21 +4,26 @@ require_once('include/socgraph.php');
 require_once('include/contact_widgets.php');
 require_once('mod/proxy.php');
 
+/**
+ * @brief Controller for /match.
+ *
+ * It takes keywords from your profile and queries the directory server for
+ * matching keywords from other profiles.
+ *
+ * @param App &$a
+ * @return void|string
+ */
 function match_content(&$a) {
 
        $o = '';
        if(! local_user())
                return;
 
-       $a->page['aside'] .= follow_widget();
        $a->page['aside'] .= findpeople_widget();
+       $a->page['aside'] .= follow_widget();
 
        $_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd;
 
-       $o .= replace_macros(get_markup_template("section_title.tpl"),array(
-               '$title' => t('Profile Match')
-       ));
-
        $r = q("SELECT `pub_keywords`, `prv_keywords` FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1",
                intval(local_user())
        );
@@ -27,7 +32,6 @@ function match_content(&$a) {
        if(! $r[0]['pub_keywords'] && (! $r[0]['prv_keywords'])) {
                notice( t('No keywords to match. Please add keywords to your default profile.') . EOL);
                return;
-
        }
 
        $params = array();
@@ -52,35 +56,56 @@ function match_content(&$a) {
 
                if(count($j->results)) {
 
+                       $id = 0;
 
-
-                       $tpl = get_markup_template('match.tpl');
                        foreach($j->results as $jj) {
                                $match_nurl = normalise_link($jj->url);
                                $match = q("SELECT `nurl` FROM `contact` WHERE `uid` = '%d' AND nurl='%s' LIMIT 1",
                                        intval(local_user()),
                                        dbesc($match_nurl));
+
                                if (!count($match)) {
                                        $jj->photo = str_replace("http:///photo/", get_server()."/photo/", $jj->photo);
                                        $connlnk = $a->get_baseurl() . '/follow/?url=' . $jj->url;
-                                       $o .= replace_macros($tpl,array(
-                                               '$url' => zrl($jj->url),
-                                               '$name' => $jj->name,
-                                               '$photo' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB),
-                                               '$inttxt' => ' ' . t('is interested in:'),
-                                               '$conntxt' => t('Connect'),
-                                               '$connlnk' => $connlnk,
-                                               '$tags' => $jj->tags
-                                       ));
+                                       $photo_menu = array(array(t("View Profile"), zrl($jj->url)));
+                                       $photo_menu[] = array(t("Connect/Follow"), $connlnk);
+
+                                       $contact_details = get_contact_details_by_url($jj->url, local_user());
+
+                                       $entry = array(
+                                               'url' => zrl($jj->url),
+                                               'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $jj->url),
+                                               'name' => $jj->name,
+                                               'details'       => $contact_details['location'],
+                                               'tags'          => $contact_details['keywords'],
+                                               'about'         => $contact_details['about'],
+                                               'account_type'  => (($contact_details['community']) ? t('Forum') : ''),
+                                               'thumb' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB),
+                                               'inttxt' => ' ' . t('is interested in:'),
+                                               'conntxt' => t('Connect'),
+                                               'connlnk' => $connlnk,
+                                               'img_hover' => $jj->tags,
+                                               'photo_menu' => $photo_menu,
+                                               'id' => ++$id,
+                                       );
+                                       $entries[] = $entry;
                                }
                        }
-               } else {
+
+               $tpl = get_markup_template('viewcontact_template.tpl');
+
+               $o .= replace_macros($tpl,array(
+                       '$title' => t('Profile Match'),
+                       '$contacts' => $entries,
+                       '$paginate' => paginate($a),
+               ));
+
+               }
+               else {
                        info( t('No matches') . EOL);
                }
 
        }
 
-       $o .= cleardiv();
-       $o .= paginate($a);
        return $o;
 }
index 1331ce7fb5f36167219d6a12aa5b051dcbcb9675..0ed2b98841a4dcc9b1aab912ed369234955aac12 100644 (file)
@@ -4,7 +4,13 @@ require_once('include/acl_selectors.php');
 require_once('include/message.php');
 
 function message_init(&$a) {
-       $tabs = array();
+
+       $tabs = '';
+
+       if ($a->argc >1 && is_numeric($a->argv[1])) {
+        $tabs = render_messages(get_messages(local_user(),0,5), 'mail_list.tpl');
+       }
+
        $new = array(
                'label' => t('New Message'),
                'url' => $a->get_baseurl(true) . '/message/new',
@@ -55,7 +61,7 @@ function message_post(&$a) {
        if(! $plaintext) {
                $body = fix_mce_lf($body);
        }
-       
+
        $ret = send_message($recipient, $body, $subject, $replyto);
        $norecip = false;
 
@@ -246,8 +252,8 @@ function message_content(&$a) {
 
                                // remove diaspora conversation pointer
                                // Actually if we do this, we can never receive another reply to that conversation,
-                               // as we will never again have the info we need to re-create it. 
-                               // We'll just have to orphan it. 
+                               // as we will never again have the info we need to re-create it.
+                               // We'll just have to orphan it.
 
                                //if($convid) {
                                //      q("delete from conv where id = %d limit 1",
@@ -344,75 +350,29 @@ function message_content(&$a) {
 
        if($a->argc == 1) {
 
-               // list messages
+               // List messages
 
                $o .= $header;
 
-
                $r = q("SELECT count(*) AS `total` FROM `mail`
                        WHERE `mail`.`uid` = %d GROUP BY `parent-uri` ORDER BY `created` DESC",
                        intval(local_user()),
                        dbesc($myprofile)
                );
-               if(count($r))
-                       $a->set_pager_total($r[0]['total']);
 
-               $r = q("SELECT max(`mail`.`created`) AS `mailcreated`, min(`mail`.`seen`) AS `mailseen`,
-                       `mail`.* , `contact`.`name`, `contact`.`url`, `contact`.`thumb` , `contact`.`network`,
-                       count( * ) as count
-                       FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id`
-                       WHERE `mail`.`uid` = %d GROUP BY `parent-uri` ORDER BY `mailcreated` DESC  LIMIT %d , %d ",
-                       intval(local_user()),
-                       //
-                       intval($a->pager['start']),
-                       intval($a->pager['itemspage'])
-               );
+               if(count($r)) $a->set_pager_total($r[0]['total']);
+
+               $r = get_messages(local_user(), $a->pager['start'], $a->pager['itemspage']);
 
                if(! count($r)) {
                        info( t('No messages.') . EOL);
                        return $o;
                }
 
-               $tpl = get_markup_template('mail_list.tpl');
-               foreach($r as $rr) {
-                       if($rr['unknown']) {
-                               $partecipants = sprintf( t("Unknown sender - %s"),$rr['from-name']);
-                       }
-                       elseif (link_compare($rr['from-url'],$myprofile)){
-                               $partecipants = sprintf( t("You and %s"), $rr['name']);
-                       }
-                       else {
-                               $partecipants = sprintf( t("%s and You"), $rr['from-name']);
-                       }
-
-                       if($a->theme['template_engine'] === 'internal') {
-                               $subject_e = template_escape((($rr['mailseen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>'));
-                               $body_e = template_escape($rr['body']);
-                               $to_name_e = template_escape($rr['name']);
-                       }
-                       else {
-                               $subject_e = (($rr['mailseen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>');
-                               $body_e = $rr['body'];
-                               $to_name_e = $rr['name'];
-                       }
+               $o .= render_messages($r, 'mail_list.tpl');
 
-                       $o .= replace_macros($tpl, array(
-                               '$id' => $rr['id'],
-                               '$from_name' => $partecipants,
-                               '$from_url' => (($rr['network'] === NETWORK_DFRN) ? $a->get_baseurl(true) . '/redir/' . $rr['contact-id'] : $rr['url']),
-                               '$sparkle' => ' sparkle',
-                               '$from_photo' => (($rr['thumb']) ? $rr['thumb'] : $rr['from-photo']),
-                               '$subject' => $subject_e,
-                               '$delete' => t('Delete conversation'),
-                               '$body' => $body_e,
-                               '$to_name' => $to_name_e,
-                               '$date' => datetime_convert('UTC',date_default_timezone_get(),$rr['mailcreated'], t('D, d M Y - g:i A')),
-                                '$ago' => relative_date($rr['mailcreated']),
-                               '$seen' => $rr['mailseen'],
-                               '$count' => sprintf( tt('%d message', '%d messages', $rr['count']), $rr['count']),
-                       ));
-               }
                $o .= paginate($a);
+
                return $o;
        }
 
@@ -569,5 +529,65 @@ function message_content(&$a) {
 
                return $o;
        }
+}
+
+function get_messages($user, $lstart, $lend) {
+
+       return q("SELECT max(`mail`.`created`) AS `mailcreated`, min(`mail`.`seen`) AS `mailseen`,
+               `mail`.* , `contact`.`name`, `contact`.`url`, `contact`.`thumb` , `contact`.`network`,
+               count( * ) as count
+               FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id`
+               WHERE `mail`.`uid` = %d GROUP BY `parent-uri` ORDER BY `mailcreated` DESC  LIMIT %d , %d ",
+               intval($user), intval($lstart), intval($lend)
+       );
+}
+
+function render_messages($msg, $t) {
+
+       $a = get_app();
+
+       $tpl = get_markup_template($t);
+       $rslt = '';
+
+       foreach($msg as $rr) {
+
+               if($rr['unknown']) {
+                       $participants = sprintf( t("Unknown sender - %s"),$rr['from-name']);
+               }
+               elseif (link_compare($rr['from-url'], $myprofile)){
+                       $participants = sprintf( t("You and %s"), $rr['name']);
+               }
+               else {
+                       $participants = sprintf( t("%s and You"), $rr['from-name']);
+               }
+
+               if($a->theme['template_engine'] === 'internal') {
+                       $subject_e = template_escape((($rr['mailseen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>'));
+                       $body_e = template_escape($rr['body']);
+                       $to_name_e = template_escape($rr['name']);
+               }
+               else {
+                       $subject_e = (($rr['mailseen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>');
+                       $body_e = $rr['body'];
+                       $to_name_e = $rr['name'];
+               }
+
+               $rslt .= replace_macros($tpl, array(
+                       '$id' => $rr['id'],
+                       '$from_name' => $participants,
+                       '$from_url' => (($rr['network'] === NETWORK_DFRN) ? $a->get_baseurl(true) . '/redir/' . $rr['contact-id'] : $rr['url']),
+                       '$sparkle' => ' sparkle',
+                       '$from_photo' => (($rr['thumb']) ? $rr['thumb'] : $rr['from-photo']),
+                       '$subject' => $subject_e,
+                       '$delete' => t('Delete conversation'),
+                       '$body' => $body_e,
+                       '$to_name' => $to_name_e,
+                       '$date' => datetime_convert('UTC',date_default_timezone_get(),$rr['mailcreated'], t('D, d M Y - g:i A')),
+                                                                                                                       '$ago' => relative_date($rr['mailcreated']),
+                       '$seen' => $rr['mailseen'],
+                       '$count' => sprintf( tt('%d message', '%d messages', $rr['count']), $rr['count']),
+               ));
+       }
 
+       return $rslt;
 }
index c14902c5f4c5ec69d85a525354ad0ee5e513544d..5db69b171eed52f67fea8f65bd21ccb5df55c3ce 100644 (file)
@@ -12,8 +12,7 @@ function navigation_content(&$a) {
 
        $tpl = get_markup_template('navigation.tpl');
        return replace_macros($tpl, array(
-        '$baseurl' => $a->get_baseurl(),
-               '$langselector' => lang_selector(),
+               '$baseurl' => $a->get_baseurl(),
                '$sitelocation' => $nav_info['sitelocation'],
                '$nav' => $nav_info['nav'],
                '$banner' =>  $nav_info['banner'],
index dfd7c013007fbdb39618ee681764652df3252f29..8e7a2b8e1ea1174b9bd0069924d5fcd1881be0e8 100644 (file)
@@ -6,6 +6,8 @@ function network_init(&$a) {
        }
 
        $is_a_date_query = false;
+       if(x($_GET['cid']) && intval($_GET['cid']) != 0)
+               $cid = $_GET['cid'];
 
        if($a->argc > 1) {
                for($x = 1; $x < $a->argc; $x ++) {
@@ -112,6 +114,7 @@ function network_init(&$a) {
        require_once('include/group.php');
        require_once('include/contact_widgets.php');
        require_once('include/items.php');
+       require_once('include/forums.php');
 
        if(! x($a->page,'aside'))
                $a->page['aside'] = '';
@@ -119,19 +122,19 @@ function network_init(&$a) {
        $search = ((x($_GET,'search')) ? escape_tags($_GET['search']) : '');
 
        if(x($_GET,'save')) {
-               $r = q("select * from `search` where `uid` = %d and `term` = '%s' limit 1",
+               $r = q("SELECT * FROM `search` WHERE `uid` = %d AND `term` = '%s' LIMIT 1",
                        intval(local_user()),
                        dbesc($search)
                );
                if(! count($r)) {
-                       q("insert into `search` ( `uid`,`term` ) values ( %d, '%s') ",
+                       q("INSERT INTO `search` ( `uid`,`term` ) VALUES ( %d, '%s') ",
                                intval(local_user()),
                                dbesc($search)
                        );
                }
        }
        if(x($_GET,'remove')) {
-               q("delete from `search` where `uid` = %d and `term` = '%s'",
+               q("DELETE FROM `search` WHERE `uid` = %d AND `term` = '%s'",
                        intval(local_user()),
                        dbesc($search)
                );
@@ -144,7 +147,8 @@ function network_init(&$a) {
                ));
        }
 
-       $a->page['aside'] .= (feature_enabled(local_user(),'groups') ? group_side('network/0','network',true,$group_id) : '');
+       $a->page['aside'] .= (feature_enabled(local_user(),'groups') ? group_side('network/0','network','standard',$group_id) : '');
+       $a->page['aside'] .= (feature_enabled(local_user(),'forumlist_widget') ? widget_forumlist(local_user(),$cid) : '');
        $a->page['aside'] .= posted_date_widget($a->get_baseurl() . '/network',local_user(),false);
        $a->page['aside'] .= networks_widget($a->get_baseurl(true) . '/network',(x($_GET, 'nets') ? $_GET['nets'] : ''));
        $a->page['aside'] .= saved_searches($search);
@@ -172,7 +176,7 @@ function saved_searches($search) {
 
        $o = '';
 
-       $r = q("select `id`,`term` from `search` WHERE `uid` = %d",
+       $r = q("SELECT `id`,`term` FROM `search` WHERE `uid` = %d",
                intval(local_user())
        );
 
@@ -355,57 +359,63 @@ function network_content(&$a, $update = 0) {
        // tabs
        $tabs = array(
                array(
-                       'label' => t('Commented Order'),
-                       'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=comment' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
-                       'sel'=>$all_active,
-                       'title'=> t('Sort by Comment Date'),
+                       'label' => t('Commented Order'),
+                       'url'   => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=comment' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
+                       'sel'   => $all_active,
+                       'title' => t('Sort by Comment Date'),
+                       'id'    => 'commented-order-tab',
                        'accesskey' => "e",
                ),
                array(
-                       'label' => t('Posted Order'),
-                       'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=post' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
-                       'sel'=>$postord_active,
-                       'title' => t('Sort by Post Date'),
+                       'label' => t('Posted Order'),
+                       'url'   => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=post' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
+                       'sel'   => $postord_active,
+                       'title' => t('Sort by Post Date'),
+                       'id'    => 'posted-order-tab',
                        'accesskey' => "t",
                ),
        );
 
        if(feature_enabled(local_user(),'personal_tab')) {
                $tabs[] = array(
-                       'label' => t('Personal'),
-                       'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&conv=1',
-                       'sel' => $conv_active,
-                       'title' => t('Posts that mention or involve you'),
+                       'label' => t('Personal'),
+                       'url'   => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&conv=1',
+                       'sel'   => $conv_active,
+                       'title' => t('Posts that mention or involve you'),
+                       'id'    => 'personal-tab',
                        'accesskey' => "r",
                );
        }
 
        if(feature_enabled(local_user(),'new_tab')) {
                $tabs[] = array(
-                       'label' => t('New'),
-                       'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
-                       'sel' => $new_active,
-                       'title' => t('Activity Stream - by date'),
+                       'label' => t('New'),
+                       'url'   => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
+                       'sel'   => $new_active,
+                       'title' => t('Activity Stream - by date'),
+                       'id'    => 'activitiy-by-date-tab',
                        'accesskey' => "w",
                );
        }
 
        if(feature_enabled(local_user(),'link_tab')) {
                $tabs[] = array(
-                       'label' => t('Shared Links'),
-                       'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&bmark=1',
-                       'sel'=>$bookmarked_active,
-                       'title'=> t('Interesting Links'),
+                       'label' => t('Shared Links'),
+                       'url'   => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&bmark=1',
+                       'sel'   => $bookmarked_active,
+                       'title' => t('Interesting Links'),
+                       'id'    => 'shared-links-tab',
                        'accesskey' => "b",
                );
        }
 
        if(feature_enabled(local_user(),'star_posts')) {
                $tabs[] = array(
-                       'label' => t('Starred'),
-                       'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&star=1',
-                       'sel'=>$starred_active,
-                       'title' => t('Favourite Posts'),
+                       'label' => t('Starred'),
+                       'url'   => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&star=1',
+                       'sel'   => $starred_active,
+                       'title' => t('Favourite Posts'),
+                       'id'    => 'starred-posts-tab',
                        'accesskey' => "m",
                );
        }
@@ -446,7 +456,7 @@ function network_content(&$a, $update = 0) {
                $def_acl = array('allow_cid' => '<' . intval($cid) . '>');
 
        if($nets) {
-               $r = q("select id from contact where uid = %d and network = '%s' and self = 0",
+               $r = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND network = '%s' AND `self` = 0",
                        intval(local_user()),
                        dbesc($nets)
                );
@@ -475,7 +485,11 @@ function network_content(&$a, $update = 0) {
                $content = "";
 
                if ($cid) {
-                       $contact = q("SELECT `nick` FROM `contact` WHERE `id` = %d AND `uid` = %d AND `forum`", intval($cid), intval(local_user()));
+                       // If $cid belongs to a communitity forum or a privat goup,.add a mention to the status editor
+                       $contact = q("SELECT `nick` FROM `contact` WHERE `id` = %d AND `uid` = %d AND (`forum` OR `prv`) ",
+                               intval($cid),
+                               intval(local_user())
+                       );
                        if ($contact)
                                $content = "@".$contact[0]["nick"]."+".$cid;
                }
@@ -552,9 +566,9 @@ function network_content(&$a, $update = 0) {
                //$sql_post_table = " INNER JOIN (SELECT DISTINCT(`parent`) FROM `item` WHERE (`contact-id` IN ($contact_str) OR `allow_gid` like '".protect_sprintf('%<'.intval($group).'>%')."') and deleted = 0 ORDER BY `created` DESC) AS `temp1` ON $sql_table.$sql_parent = `temp1`.`parent` ";
 
                $sql_extra3 .= " AND `contact-id` IN ($contact_str$contact_str_self) ";
-               $sql_extra3 .= " AND EXISTS (SELECT id FROM `item` WHERE (`contact-id` IN ($contact_str)
-                               OR `allow_gid` like '".protect_sprintf('%<'.intval($group).'>%')."') and deleted = 0
-                               AND parent = $sql_table.$sql_parent) ";
+               $sql_extra3 .= " AND EXISTS (SELECT `id` FROM `item` WHERE (`contact-id` IN ($contact_str)
+                               OR `allow_gid` LIKE '".protect_sprintf('%<'.intval($group).'>%')."') AND `deleted` = 0
+                               AND `parent` = $sql_table.$sql_parent) ";
 
                $o = replace_macros(get_markup_template("section_title.tpl"),array(
                        '$title' => sprintf( t('Group: %s'), $r[0]['name'])
@@ -563,19 +577,29 @@ function network_content(&$a, $update = 0) {
        }
        elseif($cid) {
 
-               $r = q("SELECT `id`,`name`,`network`,`writable`,`nurl` FROM `contact` WHERE `id` = %d
+               $r = q("SELECT `id`,`name`,`network`,`writable`,`nurl`, `forum`, `prv`, `addr`, `thumb`, `location` FROM `contact` WHERE `id` = %d
                                AND `blocked` = 0 AND `pending` = 0 LIMIT 1",
                        intval($cid)
                );
                if(count($r)) {
                        $sql_post_table = " INNER JOIN (SELECT DISTINCT(`parent`) FROM `item`
-                                           WHERE 1 $sql_options AND `contact-id` = ".intval($cid)." and deleted = 0
+                                           WHERE 1 $sql_options AND `contact-id` = ".intval($cid)." AND `deleted` = 0
                                            ORDER BY `item`.`received` DESC) AS `temp1`
                                            ON $sql_table.$sql_parent = `temp1`.`parent` ";
                        $sql_extra = "";
 
-                       $o = replace_macros(get_markup_template("section_title.tpl"),array(
-                               '$title' => sprintf( t('Contact: %s'), htmlentities($r[0]['name']))
+                       $entries[0] = array(
+                               'id' => 'network',
+                               'name' => htmlentities($r[0]['name']),
+                               'itemurl' => (($r[0]['addr']) ? ($r[0]['addr']) : ($r[0]['nurl'])),
+                               'thumb' => proxy_url($r[0]['thumb'], false, PROXY_SIZE_THUMB),
+                               'account_type' => (($r[0]['forum']) || ($r[0]['prv']) ? t('Forum') : ''),
+                               'details' => $r[0]['location'],
+                       );
+
+                       $o = replace_macros(get_markup_template("viewcontact_template.tpl"),array(
+                               'contacts' => $entries,
+                               'id' => 'network',
                        )) . $o;
 
                        if($r[0]['network'] === NETWORK_OSTATUS && $r[0]['writable'] && (! get_pconfig(local_user(),'system','nowarn_insecure'))) {
@@ -654,29 +678,30 @@ function network_content(&$a, $update = 0) {
        }
        else {
                if(get_config('system', 'old_pager')) {
-                       $r = q("SELECT COUNT(*) AS `total`
-                               FROM $sql_table $sql_post_table INNER JOIN `contact` ON `contact`.`id` = $sql_table.`contact-id`
-                               AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
-                               WHERE $sql_table.`uid` = %d AND $sql_table.`visible` = 1 AND $sql_table.`deleted` = 0
-                               $sql_extra2 $sql_extra3
-                               $sql_extra $sql_nets ",
-                               intval($_SESSION['uid'])
-                       );
-
-                       if(count($r)) {
-                               $a->set_pager_total($r[0]['total']);
-                       }
+                       $r = q("SELECT COUNT(*) AS `total`
+                               FROM $sql_table $sql_post_table INNER JOIN `contact` ON `contact`.`id` = $sql_table.`contact-id`
+                               AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+                               WHERE $sql_table.`uid` = %d AND $sql_table.`visible` = 1 AND $sql_table.`deleted` = 0
+                               $sql_extra2 $sql_extra3
+                               $sql_extra $sql_nets ",
+                               intval($_SESSION['uid'])
+                       );
+
+                       if(count($r)) {
+                               $a->set_pager_total($r[0]['total']);
+                       }
                }
 
                //  check if we serve a mobile device and get the user settings
                //  accordingly
                if ($a->is_mobile) {
-                   $itemspage_network = get_pconfig(local_user(),'system','itemspage_mobile_network');
-                   $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 20);
+                       $itemspage_network = get_pconfig(local_user(),'system','itemspage_mobile_network');
+                       $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 20);
                } else {
-                   $itemspage_network = get_pconfig(local_user(),'system','itemspage_network');
-                   $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 40);
+                       $itemspage_network = get_pconfig(local_user(),'system','itemspage_network');
+                       $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 40);
                }
+
                //  now that we have the user settings, see if the theme forces
                //  a maximum item number which is lower then the user choice
                if(($a->force_max_items > 0) && ($a->force_max_items < $itemspage_network))
@@ -687,7 +712,7 @@ function network_content(&$a, $update = 0) {
        }
 
        if($nouveau) {
-               $simple_update = (($update) ? " and `item`.`unseen` = 1 " : '');
+               $simple_update = (($update) ? " AND `item`.`unseen` = 1 " : '');
 
                if ($sql_order == "")
                        $sql_order = "`item`.`received`";
@@ -700,7 +725,7 @@ function network_content(&$a, $update = 0) {
                        FROM $sql_table $sql_post_table INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
                        AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
                        WHERE `item`.`uid` = %d AND `item`.`visible` = 1
-                       AND `item`.`deleted` = 0 and `item`.`moderated` = 0
+                       AND `item`.`deleted` = 0 AND `item`.`moderated` = 0
                        $simple_update
                        $sql_extra $sql_nets
                        ORDER BY $sql_order DESC $pager_sql ",
index f013c9084ff9c813ae18a91d0edf239451f890fd..ba310a10514151c6cac11a507709164a6b4046c6 100644 (file)
@@ -1,6 +1,8 @@
 <?php
-/*
-Documentation: http://nodeinfo.diaspora.software/schema.html
+/**
+ * @file mod/nodeinfo.php
+ * 
+ * Documentation: http://nodeinfo.diaspora.software/schema.html
 */
 
 require_once("include/plugin.php");
@@ -67,48 +69,48 @@ function nodeinfo_init(&$a){
 
        $nodeinfo["metadata"] = array("nodeName" => $a->config["sitename"]);
 
-       if (nodeinfo_plugin_enabled("appnet"))
+       if (plugin_enabled("appnet"))
                $nodeinfo["services"]["inbound"][] = "appnet";
 
-       if (nodeinfo_plugin_enabled("appnet") OR nodeinfo_plugin_enabled("buffer"))
+       if (plugin_enabled("appnet") OR plugin_enabled("buffer"))
                $nodeinfo["services"]["outbound"][] = "appnet";
 
-       if (nodeinfo_plugin_enabled("blogger"))
+       if (plugin_enabled("blogger"))
                $nodeinfo["services"]["outbound"][] = "blogger";
 
-       if (nodeinfo_plugin_enabled("dwpost"))
+       if (plugin_enabled("dwpost"))
                $nodeinfo["services"]["outbound"][] = "dreamwidth";
 
-       if (nodeinfo_plugin_enabled("fbpost") OR nodeinfo_plugin_enabled("buffer"))
+       if (plugin_enabled("fbpost") OR plugin_enabled("buffer"))
                $nodeinfo["services"]["outbound"][] = "facebook";
 
-       if (nodeinfo_plugin_enabled("statusnet")) {
+       if (plugin_enabled("statusnet")) {
                $nodeinfo["services"]["inbound"][] = "gnusocial";
                $nodeinfo["services"]["outbound"][] = "gnusocial";
        }
 
-       if (nodeinfo_plugin_enabled("gpluspost") OR nodeinfo_plugin_enabled("buffer"))
+       if (plugin_enabled("gpluspost") OR plugin_enabled("buffer"))
                $nodeinfo["services"]["outbound"][] = "google";
 
-       if (nodeinfo_plugin_enabled("ijpost"))
+       if (plugin_enabled("ijpost"))
                $nodeinfo["services"]["outbound"][] = "insanejournal";
 
-       if (nodeinfo_plugin_enabled("libertree"))
+       if (plugin_enabled("libertree"))
                $nodeinfo["services"]["outbound"][] = "libertree";
 
-       if (nodeinfo_plugin_enabled("buffer"))
+       if (plugin_enabled("buffer"))
                $nodeinfo["services"]["outbound"][] = "linkedin";
 
-       if (nodeinfo_plugin_enabled("ljpost"))
+       if (plugin_enabled("ljpost"))
                $nodeinfo["services"]["outbound"][] = "livejournal";
 
-       if (nodeinfo_plugin_enabled("buffer"))
+       if (plugin_enabled("buffer"))
                $nodeinfo["services"]["outbound"][] = "pinterest";
 
-       if (nodeinfo_plugin_enabled("posterous"))
+       if (plugin_enabled("posterous"))
                $nodeinfo["services"]["outbound"][] = "posterous";
 
-       if (nodeinfo_plugin_enabled("pumpio")) {
+       if (plugin_enabled("pumpio")) {
                $nodeinfo["services"]["inbound"][] = "pumpio";
                $nodeinfo["services"]["outbound"][] = "pumpio";
        }
@@ -118,13 +120,13 @@ function nodeinfo_init(&$a){
        if ($smtp)
                $nodeinfo["services"]["outbound"][] = "smtp";
 
-       if (nodeinfo_plugin_enabled("tumblr"))
+       if (plugin_enabled("tumblr"))
                $nodeinfo["services"]["outbound"][] = "tumblr";
 
-       if (nodeinfo_plugin_enabled("twitter") OR nodeinfo_plugin_enabled("buffer"))
+       if (plugin_enabled("twitter") OR plugin_enabled("buffer"))
                $nodeinfo["services"]["outbound"][] = "twitter";
 
-       if (nodeinfo_plugin_enabled("wppost"))
+       if (plugin_enabled("wppost"))
                $nodeinfo["services"]["outbound"][] = "wordpress";
 
        $nodeinfo["metadata"]["protocols"] = $nodeinfo["protocols"];
@@ -134,7 +136,7 @@ function nodeinfo_init(&$a){
 
        $nodeinfo["metadata"]["services"] = $nodeinfo["services"];
 
-       if (nodeinfo_plugin_enabled("twitter"))
+       if (plugin_enabled("twitter"))
                $nodeinfo["metadata"]["services"]["inbound"][] = "twitter";
 
        header('Content-type: application/json; charset=utf-8');
@@ -142,17 +144,14 @@ function nodeinfo_init(&$a){
        exit;
 }
 
-function nodeinfo_plugin_enabled($plugin) {
-       $r = q("SELECT * FROM `addon` WHERE `installed` = 1 AND `name` = '%s'", $plugin);
-       return((bool)(count($r) > 0));
-}
+
 
 function nodeinfo_cron() {
 
        $a = get_app();
 
        // If the plugin "statistics_json" is enabled then disable it and actrivate nodeinfo.
-       if (nodeinfo_plugin_enabled("statistics_json")) {
+       if (plugin_enabled("statistics_json")) {
                set_config("system", "nodeinfo", true);
 
                $plugin = "statistics_json";
index adbcfcb5154d37cbcadd23e1e1c48ede9a0b022b..9f6e9784331851b702434245f24256313612d6e4 100644 (file)
@@ -15,7 +15,7 @@ function nogroup_init(&$a) {
        if(! x($a->page,'aside'))
                $a->page['aside'] = '';
 
-       $a->page['aside'] .= group_side('contacts','group',false,0,$contact_id);
+       $a->page['aside'] .= group_side('contacts','group','extended',0,$contact_id);
 }
 
 
@@ -35,6 +35,7 @@ function nogroup_content(&$a) {
        if(count($r)) {
                foreach($r as $rr) {
 
+                       $contact_details = get_contact_details_by_url($rr['url'], local_user());
 
                        $contacts[] = array(
                                'img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']),
@@ -46,8 +47,11 @@ function nogroup_content(&$a) {
                                'thumb' => $rr['thumb'],
                                'name' => $rr['name'],
                                'username' => $rr['name'],
+                               'details'       => $contact_details['location'],
+                               'tags'          => $contact_details['keywords'],
+                               'about'         => $contact_details['about'],
                                'sparkle' => $sparkle,
-                               'itemurl' => $rr['url'],
+                               'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
                                'url' => $url,
                                'network' => network_to_name($rr['network'], $url),
                        );
index 34d5254fc0efe24eac3f31b25ffcbd324116762c..51bd7234cf283a6b63e1d55d5af7e814ec6a589d 100644 (file)
@@ -24,6 +24,7 @@ function noscrape_init(&$a) {
 
        $json_info = array(
                'fn' => $a->profile['name'],
+               'addr' => $a->profile['addr'],
                'key' => $a->profile['pubkey'],
                'homepage' => $a->get_baseurl()."/profile/{$which}",
                'comm' => (x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY),
index 97eebb89ab630ae2b9aa5a8417733baaa5fb4d43..ef051d9f6b433c0e8152c39168c0debd8cfbee0a 100644 (file)
@@ -280,7 +280,8 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
        if (isset($keywords)) {
                $siteinfo["keywords"] = array();
                foreach ($keywords as $keyword)
-                       $siteinfo["keywords"][] = trim($keyword);
+                       if (!in_array(trim($keyword), $siteinfo["keywords"]))
+                               $siteinfo["keywords"][] = trim($keyword);
        }
 
        //$list = $xpath->query("head/meta[@property]");
index 5ca973d16637d4db92434c2d43fbb6a1313827f9..6b97d7d4fb42bbb2231a91dbed4a0aa92b197e43 100644 (file)
@@ -24,24 +24,32 @@ function photos_init(&$a) {
 
        if($a->argc > 1) {
                $nick = $a->argv[1];
-               $r = q("SELECT * FROM `user` WHERE `nickname` = '%s' AND `blocked` = 0 LIMIT 1",
+               $user = q("SELECT * FROM `user` WHERE `nickname` = '%s' AND `blocked` = 0 LIMIT 1",
                        dbesc($nick)
                );
 
-               if(! count($r))
+               if(! count($user))
                        return;
 
-               $a->data['user'] = $r[0];
-               $a->profile_uid = $r[0]['uid'];
+               $a->data['user'] = $user[0];
+               $a->profile_uid = $user[0]['uid'];
                $is_owner = (local_user() && (local_user() == $a->profile_uid));
 
-               $profilephoto = $a->get_cached_avatar_image($a->get_baseurl() . '/photo/profile/' . $a->data['user']['uid'] . '.jpg');
+               $profile = get_profiledata_by_nick($nick, $a->profile_uid);
+
+               if((x($profile['page-flags']) == 2) || (x($profile['page-flags']) == 5))
+                       $account_type = t('Forum');
+               else
+                       $account_type = "";
 
                $tpl = get_markup_template("vcard-widget.tpl");
 
                $vcard_widget .= replace_macros($tpl, array(
-                       '$name' => $a->data['user']['username'],
-                       '$photo' => $profilephoto
+                       '$name' => $profile['name'],
+                       '$photo' => $profile['photo'],
+                       '$addr' => (($profile['addr'] != "") ? $profile['addr'] : ""),
+                       '$account_type' => $account_type,
+                       '$pdesc' => (($profile['pdesc'] != "") ? $profile['pdesc'] : ""),
                ));
 
 
@@ -89,7 +97,7 @@ function photos_init(&$a) {
                        $photo_albums_widget = replace_macros(get_markup_template('photo_albums.tpl'),array(
                                '$nick'     => $a->data['user']['nickname'],
                                '$title'    => t('Photo Albums'),
-                               'recent'    => t('Recent Photos'),
+                               '$recent'    => t('Recent Photos'),
                                '$albums'   => $albums['albums'],
                                '$baseurl'  => z_root(),
                                '$upload'   => array( t('Upload New Photos'), $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/upload'),
index 791ceed3519a6dc12d588a270f395431f5fb55fb..57728d32949ef64aab036fbd6f8ffd10531366f3 100644 (file)
@@ -1,6 +1,8 @@
 <?php
 require_once("include/datetime.php");
 require_once('include/bbcode.php');
+require_once('include/forums.php');
+require_once('include/group.php');
 require_once("mod/proxy.php");
 
 function ping_init(&$a) {
@@ -33,6 +35,8 @@ function ping_init(&$a) {
 
                $home = 0;
                $network = 0;
+               $groups_unseen = array();
+               $forums_unseen = array();
 
                $r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`wall`, `item`.`author-name`,
                                `item`.`contact-id`, `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object`,
@@ -40,8 +44,9 @@ function ping_init(&$a) {
                                FROM `item` INNER JOIN `item` as `pitem` ON  `pitem`.`id`=`item`.`parent`
                                WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND
                                 `item`.`deleted` = 0 AND `item`.`uid` = %d AND `pitem`.`parent` != 0
+                               AND `item`.`contact-id` != %d
                                ORDER BY `item`.`created` DESC",
-                       intval(local_user())
+                       intval(local_user()), intval(local_user())
                );
 
                if(count($r)) {
@@ -84,6 +89,17 @@ function ping_init(&$a) {
                        }
                }
 
+               if($network) {
+                       if(intval(feature_enabled(local_user(),'groups'))) {
+                               // Find out how unseen network posts are spread across groups
+                               $groups_unseen = groups_count_unseen();
+                       }
+
+                       if(intval(feature_enabled(local_user(),'forumlist_widget'))) {
+                               $forums_unseen = forums_count_unseen();
+                       }
+               }
+
                $intros1 = q("SELECT  `intro`.`id`, `intro`.`datetime`,
                        `fcontact`.`name`, `fcontact`.`url`, `fcontact`.`photo`
                        FROM `intro` LEFT JOIN `fcontact` ON `intro`.`fid` = `fcontact`.`id`
@@ -186,8 +202,8 @@ function ping_init(&$a) {
                        if ($a->is_friendica_app() OR !$regularnotifications)
                                $n['message'] = str_replace("{0}", $n['name'], $n['message']);
 
-                       $local_time = datetime_convert('UTC',date_default_timezone_get(),$n['date']); 
-                               
+                       $local_time = datetime_convert('UTC',date_default_timezone_get(),$n['date']);
+
                        call_hooks('ping_xmlize', $n);
                        $notsxml = '<note href="%s" name="%s" url="%s" photo="%s" date="%s" seen="%s" timestamp="%s" >%s</note>'."\n";
                        return sprintf ( $notsxml,
@@ -203,6 +219,22 @@ function ping_init(&$a) {
                                <home>$home</home>\r\n";
                if ($register!=0) echo "<register>$register</register>";
 
+               if ( count($groups_unseen) ) {
+                       echo '<groups>';
+                       foreach ($groups_unseen as $it) {
+                               echo '<group id="' . $it['id'] . '">' . $it['count'] . "</group>";
+                       }
+                       echo "</groups>";
+               }
+
+               if ( count($forums_unseen) ) {
+                       echo '<forums>';
+                       foreach ($forums_unseen as $it) {
+                               echo '<forum id="' . $it['id'] . '">' . $it['count'] . "</forum>";
+                       }
+                       echo "</forums>";
+               }
+
                echo "<all-events>$all_events</all-events>
                        <all-events-today>$all_events_today</all-events-today>
                        <events>$events</events>
@@ -226,41 +258,41 @@ function ping_init(&$a) {
                                $n = array(
                                        'href' => $a->get_baseurl().'/notifications/intros/'.$i['id'],
                                        'name' => $i['name'],
-                                       'url' => $i['url'], 
+                                       'url' => $i['url'],
                                        'photo' => $i['photo'],
                                        'date' => $i['datetime'],
                                        'seen' => false,
-                                       'message' => t("{0} wants to be your friend"),                          
+                                       'message' => t("{0} wants to be your friend"),
                                );
                                $notifs[] = $n;
                        }
                }
-               
+
                if ($mail>0){
                        foreach ($mails as $i) {
                                $n = array(
                                        'href' => $a->get_baseurl().'/message/'.$i['id'],
                                        'name' => $i['from-name'],
-                                       'url' => $i['from-url'], 
+                                       'url' => $i['from-url'],
                                        'photo' => $i['from-photo'],
                                        'date' => $i['created'],
                                        'seen' => false,
-                                       'message' => t("{0} sent you a message"),                               
+                                       'message' => t("{0} sent you a message"),
                                );
                                $notifs[] = $n;
                        }
                }
-               
+
                if ($register>0){
                        foreach ($regs as $i) {
                                $n = array(
                                        'href' => $a->get_baseurl().'/admin/users/',
                                        'name' => $i['name'],
-                                       'url' => $i['url'], 
+                                       'url' => $i['url'],
                                        'photo' => $i['micro'],
                                        'date' => $i['created'],
                                        'seen' => false,
-                                       'message' => t("{0} requested registration"),                           
+                                       'message' => t("{0} requested registration"),
                                );
                                $notifs[] = $n;
                        }
@@ -339,7 +371,7 @@ function ping_get_notifications($uid) {
                        $quit = true;
                else
                        $offset += 50;
-                       
+
 
                foreach ($r AS $notification) {
                        if (is_null($notification["visible"]))
@@ -362,7 +394,7 @@ function ping_get_notifications($uid) {
                                $notification["message"] = substr_replace($notification["message"],"{0}",$pos,strlen($notification["name"]));
 
                        $notification['href'] = $a->get_baseurl() . '/notify/view/' . $notification['id'];
-                               
+
                        if ($notification["visible"] AND !$notification["spam"] AND
                                !$notification["deleted"] AND !is_array($result[$notification["parent"]])) {
                                $result[$notification["parent"]] = $notification;
@@ -371,6 +403,6 @@ function ping_get_notifications($uid) {
 
        } while ((count($result) < 50) AND !$quit);
 
-       
+
        return($result);
 }
index 4d16c6ed29933eca2313942e0fc1d956d24f53aa..ae03aef2cdba27e352834301bde64db12b1149dc 100644 (file)
@@ -69,14 +69,8 @@ function poco_init(&$a) {
                        dbesc(NETWORK_OSTATUS)
                );
        } elseif($system_mode) {
-               $r = q("SELECT count(*) AS `total` FROM `contact` WHERE `self` = 1 AND `network` IN ('%s', '%s', '%s', '%s')
-                       AND (`success_update` >= `failure_update` OR `last-item` >= `failure_update`)
-                       AND `uid` IN (SELECT `uid` FROM `pconfig` WHERE `cat` = 'system' AND `k` = 'suggestme' AND `v` = 1) ",
-                       dbesc(NETWORK_DFRN),
-                       dbesc(NETWORK_DIASPORA),
-                       dbesc(NETWORK_OSTATUS),
-                       dbesc(NETWORK_STATUSNET)
-                       );
+               $r = q("SELECT count(*) AS `total` FROM `contact` WHERE `self` = 1
+                       AND `uid` IN (SELECT `uid` FROM `pconfig` WHERE `cat` = 'system' AND `k` = 'suggestme' AND `v` = 1) ");
        } else {
                $r = q("SELECT count(*) AS `total` FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0
                        AND (`success_update` >= `failure_update` OR `last-item` >= `failure_update`)
@@ -115,13 +109,8 @@ function poco_init(&$a) {
                $r = q("SELECT `contact`.*, `profile`.`about` AS `pabout`, `profile`.`locality` AS `plocation`, `profile`.`pub_keywords`, `profile`.`gender` AS `pgender`,
                        `profile`.`address` AS `paddress`, `profile`.`region` AS `pregion`, `profile`.`postal-code` AS `ppostalcode`, `profile`.`country-name` AS `pcountry`
                        FROM `contact` INNER JOIN `profile` ON `profile`.`uid` = `contact`.`uid`
-                       WHERE `self` = 1 AND `network` IN ('%s', '%s', '%s', '%s') AND `profile`.`is-default`
-                       AND ((`contact`.`success_update` >= `contact`.`failure_update`) OR (`contact`.`last-item` >= `contact`.`failure_update`))
+                       WHERE `self` = 1 AND `profile`.`is-default`
                        AND `contact`.`uid` IN (SELECT `uid` FROM `pconfig` WHERE `cat` = 'system' AND `k` = 'suggestme' AND `v` = 1) LIMIT %d, %d",
-                       dbesc(NETWORK_DFRN),
-                       dbesc(NETWORK_DIASPORA),
-                       dbesc(NETWORK_OSTATUS),
-                       dbesc(NETWORK_STATUSNET),
                        intval($startIndex),
                        intval($itemsPerPage)
                );
index db1c94963618f8acbe5f84e64d8b4a2acc8d4872..45a577cda6bfd3764e9ac2d723112eea76df74f2 100644 (file)
@@ -1,4 +1,18 @@
-<?php
+<?php /** @file */
+
+/**
+ *
+ * Poke, prod, finger, or otherwise do unspeakable things to somebody - who must be a connection in your address book
+ * This function can be invoked with the required arguments (verb and cid and private and possibly parent) silently via ajax or
+ * other web request. You must be logged in and connected to a profile. 
+ * If the required arguments aren't present, we'll display a simple form to choose a recipient and a verb.
+ * parent is a special argument which let's you attach this activity as a comment to an existing conversation, which
+ * may have started with somebody else poking (etc.) somebody, but this isn't necessary. This can be used in the more pokes
+ * plugin version to have entire conversations where Alice poked Bob, Bob fingered Alice, Alice hugged Bob, etc.  
+ *
+ * private creates a private conversation with the recipient. Otherwise your profile's default post privacy is used.
+ *
+ */
 
 require_once('include/security.php');
 require_once('include/bbcode.php');
@@ -33,7 +47,7 @@ function poke_init(&$a) {
        logger('poke: verb ' . $verb . ' contact ' . $contact_id, LOGGER_DEBUG);
 
 
-       $r = q("SELECT * FROM `contact` WHERE `id` = %d and  `uid` = %d LIMIT 1",
+       $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                intval($contact_id),
                intval($uid)
        );
@@ -46,8 +60,8 @@ function poke_init(&$a) {
        $target = $r[0];
 
        if($parent) {
-               $r = q("select uri, private, allow_cid, allow_gid, deny_cid, deny_gid
-                       from item where id = %d and parent = %d and uid = %d limit 1",
+               $r = q("SELECT `uri`, `private`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`
+                       FROM `item` WHERE `id` = %d AND `parent` = %d AND `uid` = %d LIMIT 1",
                        intval($parent),
                        intval($parent),
                        intval($uid)
@@ -140,7 +154,7 @@ function poke_content(&$a) {
        $id = '';
 
        if(intval($_GET['c'])) {
-               $r = q("select id,name from contact where id = %d and uid = %d limit 1",
+               $r = q("SELECT `id`,`name` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                        intval($_GET['c']),
                        intval(local_user())
                );
@@ -153,31 +167,16 @@ function poke_content(&$a) {
 
        $base = $a->get_baseurl();
 
-       $a->page['htmlhead'] .= '<script src="' . $a->get_baseurl(true) . '/library/jquery_ac/friendica.complete.js" ></script>';
-       $a->page['htmlhead'] .= <<< EOT
-
-<script>$(document).ready(function() {
-       var a;
-       a = $("#poke-recip").autocomplete({
-               serviceUrl: '$base/acl',
-               minChars: 2,
-               width: 350,
-               onSelect: function(value,data) {
-                       $("#poke-recip-complete").val(data);
-               }
-       });
-       a.setOptions({ params: { type: 'a' }});
-
-
-});
+       $head_tpl = get_markup_template('poke_head.tpl');
+       $a->page['htmlhead'] .= replace_macros($head_tpl,array(
+               '$baseurl' => $a->get_baseurl(true),
+               '$base' => $base
+       ));
 
-</script>
-EOT;
 
        $parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : '0');
 
 
-
        $verbs = get_poke_verbs();
 
        $shortlist = array();
index b7b76cbb5bbe60c30003096513a370142f2d5e41..26bd395230b8d937df35ceb1c5fcb10891116227 100644 (file)
@@ -268,10 +268,10 @@ function profile_content(&$a, $update = 0) {
                //  accordingly
                if ($a->is_mobile) {
                    $itemspage_network = get_pconfig(local_user(),'system','itemspage_mobile_network');
-                   $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 20);
+                   $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 10);
                } else {
                    $itemspage_network = get_pconfig(local_user(),'system','itemspage_network');
-                   $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 40);
+                   $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 20);
                }
                //  now that we have the user settings, see if the theme forces
                //  a maximum item number which is lower then the user choice
index aa880905976f4e5ecf2ee12ce2d2c82be2e27343..4e8d279a972b7ce7ec54b03ee12416a8ec627659 100644 (file)
@@ -79,7 +79,7 @@ function profile_photo_post(&$a) {
                                $im->scaleImage(80);
 
                                $r = $im->store(local_user(), 0, $base_image['resource-id'],$base_image['filename'], t('Profile Photos'), 5, $is_default_profile);
-                       
+
                                if($r === false)
                                        notice( sprintf(t('Image size reduction [%s] failed.'),"80") . EOL );
 
@@ -97,11 +97,17 @@ function profile_photo_post(&$a) {
                                                dbesc($base_image['resource-id']),
                                                intval(local_user())
                                        );
-                               }
-                               else {
+
+                                       $r = q("UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s'  WHERE `self` AND `uid` = %d",
+                                               dbesc($a->get_baseurl() . '/photo/' . $base_image['resource-id'] . '-4.' . $im->getExt()),
+                                               dbesc($a->get_baseurl() . '/photo/' . $base_image['resource-id'] . '-5.' . $im->getExt()),
+                                               dbesc($a->get_baseurl() . '/photo/' . $base_image['resource-id'] . '-6.' . $im->getExt()),
+                                               intval(local_user())
+                                       );
+                               } else {
                                        $r = q("update profile set photo = '%s', thumb = '%s' where id = %d and uid = %d",
-                                               dbesc($a->get_baseurl() . '/photo/' . $base_image['resource-id'] . '-4'),
-                                               dbesc($a->get_baseurl() . '/photo/' . $base_image['resource-id'] . '-5'),
+                                               dbesc($a->get_baseurl() . '/photo/' . $base_image['resource-id'] . '-4.' . $im->getExt()),
+                                               dbesc($a->get_baseurl() . '/photo/' . $base_image['resource-id'] . '-5.' . $im->getExt()),
                                                intval($_REQUEST['profile']),
                                                intval(local_user())
                                        );
index 6c1a82c7bbfb91dff327bdbfcdd84de5619af004..3ba57c8831962c92df38d197c67267ab535df777 100644 (file)
@@ -206,7 +206,7 @@ function profiles_post(&$a) {
                        if($ignore_year)
                                $dob = '0000-' . $dob;
                }
-                
+
                $name = notags(trim($_POST['name']));
 
                if(! strlen($name)) {
@@ -327,7 +327,7 @@ function profiles_post(&$a) {
 
                $hide_friends = (($_POST['hide-friends'] == 1) ? 1: 0);
 
-
+               set_pconfig(local_user(),'system','detailled_profile', (($_POST['detailled_profile'] == 1) ? 1: 0));
 
                $changes = array();
                $value = '';
@@ -540,7 +540,7 @@ function profile_activity($changed, $value) {
                return;
 
        $arr = array();
-       $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), local_user()); 
+       $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), local_user());
        $arr['uid'] = local_user();
        $arr['contact-id'] = $self[0]['id'];
        $arr['wall'] = 1;
@@ -552,7 +552,7 @@ function profile_activity($changed, $value) {
        $arr['author-avatar'] = $arr['owner-avatar'] = $self[0]['thumb'];
        $arr['verb'] = ACTIVITY_UPDATE;
        $arr['object-type'] = ACTIVITY_OBJ_PROFILE;
-                               
+
        $A = '[url=' . $self[0]['url'] . ']' . $self[0]['name'] . '[/url]';
 
 
@@ -570,7 +570,7 @@ function profile_activity($changed, $value) {
                $changes .= $ch;
        }
 
-       $prof = '[url=' . $self[0]['url'] . '?tab=profile' . ']' . t('public profile') . '[/url]';      
+       $prof = '[url=' . $self[0]['url'] . '?tab=profile' . ']' . t('public profile') . '[/url]';
 
        if($t == 1 && strlen($value)) {
                $message = sprintf( t('%1$s changed %2$s to &ldquo;%3$s&rdquo;'), $A, $changes, $value);
@@ -578,9 +578,9 @@ function profile_activity($changed, $value) {
        }
        else
                $message =      sprintf( t('%1$s has an updated %2$s, changing %3$s.'), $A, $prof, $changes);
 
-       $arr['body'] = $message;  
+
+       $arr['body'] = $message;
 
        $arr['object'] = '<object><type>' . ACTIVITY_OBJ_PROFILE . '</type><title>' . $self[0]['name'] . '</title>'
        . '<id>' . $self[0]['url'] . '/' . $self[0]['name'] . '</id>';
@@ -664,8 +664,10 @@ function profiles_content(&$a) {
                        '$no_selected' => (($r[0]['hide-friends'] == 0) ? " checked=\"checked\" " : "")
                ));
 
+               $personal_account = !(in_array($a->user["page-flags"],
+                                       array(PAGE_COMMUNITY, PAGE_PRVGROUP)));
 
-
+               $detailled_profile = (get_pconfig(local_user(),'system','detailled_profile') AND $personal_account);
 
                $f = get_config('system','birthday_input_format');
                if(! $f)
@@ -674,6 +676,17 @@ function profiles_content(&$a) {
                $is_default = (($r[0]['is-default']) ? 1 : 0);
                $tpl = get_markup_template("profile_edit.tpl");
                $o .= replace_macros($tpl,array(
+                       '$personal_account' => $personal_account,
+                       '$detailled_profile' => $detailled_profile,
+
+                       '$details' => array(
+                                'detailled_profile', //Name
+                                t('Show more profile fields:'), //Label
+                                $detailled_profile, //Value
+                                '', //Help string
+                                array(t('No'),t('Yes')) //Off - On strings
+                        ),
+
                        '$multi_profiles' => feature_enabled(local_user(),'multi_profiles'),
                        '$form_security_token' => get_form_security_token("profile_edit"),
                        '$form_security_token_photo' => get_form_security_token("profile_photo"),
@@ -775,10 +788,10 @@ function profiles_content(&$a) {
 
                return $o;
        }
-       
+
        //Profiles list.
        else {
-               
+
                //If we don't support multi profiles, don't display this list.
                if(!feature_enabled(local_user(),'multi_profiles')){
                        $r = q(
@@ -790,11 +803,11 @@ function profiles_content(&$a) {
                                goaway($a->get_baseurl(true) . '/profiles/'.$r[0]['id']);
                        }
                }
-               
+
                $r = q("SELECT * FROM `profile` WHERE `uid` = %d",
                        local_user());
                if(count($r)) {
-                       
+
                        $tpl_header = get_markup_template('profile_listing_header.tpl');
                        $o .= replace_macros($tpl_header,array(
                                '$header' => t('Edit/Manage Profiles'),
@@ -802,17 +815,17 @@ function profiles_content(&$a) {
                                '$cr_new' => t('Create New Profile'),
                                '$cr_new_link' => 'profiles/new?t=' . get_form_security_token("profile_new")
                        ));
-                       
-                       
+
+
                        $tpl = get_markup_template('profile_entry.tpl');
-                       
+
                        foreach($r as $rr) {
                                $o .= replace_macros($tpl, array(
                                        '$photo' => $a->get_cached_avatar_image($rr['thumb']),
                                        '$id' => $rr['id'],
                                        '$alt' => t('Profile Image'),
                                        '$profile_name' => $rr['profile-name'],
-                                       '$visible' => (($rr['is-default']) ? '<strong>' . t('visible to everybody') . '</strong>' 
+                                       '$visible' => (($rr['is-default']) ? '<strong>' . t('visible to everybody') . '</strong>'
                                                : '<a href="' . $a->get_baseurl(true) . '/profperm/' . $rr['id'] . '" />' . t('Edit visibility') . '</a>')
                                ));
                        }
index 1963bd7a6023c8b6c67196f95a0d1f7271f8211d..4c4fcc2af12e7b980bcc3a7b4ec6c658ab87c7f1 100644 (file)
@@ -100,6 +100,9 @@ function register_post(&$a) {
                                                 ). EOL
                                );
                        }
+               } else {
+                       info( t('Registration successful.') . EOL ) ;
+                       goaway(z_root());
                }
        }
        elseif($a->config['register_policy'] == REGISTER_APPROVE) {
@@ -265,7 +268,7 @@ function register_content(&$a) {
                '$fillext'   => $fillext,
                '$oidlabel'  => $oidlabel,
                '$openid'    => $openid_url,
-               '$namelabel' => t('Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': '),
+               '$namelabel' => t('Your Full Name ' . "\x28" . 'e.g. Joe Smith, real or real-looking' . "\x29" . ': '),
                '$addrlabel' => t('Your Email Address: '),
                '$passwords' => $passwords,
                '$password1' => array('password1', t('New Password:'), '', t('Leave empty for an auto generated password.')),
index c15dfae3fea8d981cf74efe685f9fef59078413f..7c78339c70b1638c271f90dcef86caccfbc0bd3b 100644 (file)
@@ -104,20 +104,30 @@ function search_content(&$a) {
        }
 
        if (get_config('system','permit_crawling') AND !local_user()) {
-               // To-Do:
-               // - 10 requests are "free", after the 11th only a call per minute is allowed
+               // Default values:
+               // 10 requests are "free", after the 11th only a call per minute is allowed
+
+               $free_crawls = intval(get_config('system','free_crawls'));
+               if ($free_crawls == 0)
+                       $free_crawls = 10;
+
+               $crawl_permit_period = intval(get_config('system','crawl_permit_period'));
+               if ($crawl_permit_period == 0)
+                       $crawl_permit_period = 10;
 
                $remote = $_SERVER["REMOTE_ADDR"];
                $result = Cache::get("remote_search:".$remote);
                if (!is_null($result)) {
-                       if ($result > (time() - 60)) {
+                       $resultdata = json_decode($result);
+                       if (($resultdata->time > (time() - $crawl_permit_period)) AND ($resultdata->accesses > $free_crawls)) {
                                http_status_exit(429,
                                                array("title" => t("Too Many Requests"),
                                                        "description" => t("Only one search per minute is permitted for not logged in users.")));
                                killme();
                        }
-               }
-               Cache::set("remote_search:".$remote, time(), CACHE_HOUR);
+                       Cache::set("remote_search:".$remote, json_encode(array("time" => time(), "accesses" => $resultdata->accesses + 1)), CACHE_HOUR);
+               } else
+                       Cache::set("remote_search:".$remote, json_encode(array("time" => time(), "accesses" => 1)), CACHE_HOUR);
        }
 
        nav_set_selected('search');
index 6601858ee41b2bc8e234a1d0a9359b1818cd11c8..02a6955a00ff9dcf59eeeaf917d4dae25a1d45c7 100644 (file)
@@ -289,9 +289,11 @@ function settings_post(&$a) {
                $infinite_scroll = ((x($_POST,'infinite_scroll')) ? intval($_POST['infinite_scroll'])  : 0);
                $no_auto_update = ((x($_POST,'no_auto_update')) ? intval($_POST['no_auto_update'])  : 0);
                $browser_update   = ((x($_POST,'browser_update')) ? intval($_POST['browser_update']) : 0);
-               $browser_update   = $browser_update * 1000;
-               if($browser_update < 10000)
-                       $browser_update = 10000;
+               if ($browser_update != -1) {
+                       $browser_update   = $browser_update * 1000;
+                       if ($browser_update < 10000)
+                               $browser_update = 10000;
+               }
 
                $itemspage_network   = ((x($_POST,'itemspage_network')) ? intval($_POST['itemspage_network']) : 40);
                if($itemspage_network > 100)
@@ -386,6 +388,8 @@ function settings_post(&$a) {
        $username         = ((x($_POST,'username'))   ? notags(trim($_POST['username']))     : '');
        $email            = ((x($_POST,'email'))      ? notags(trim($_POST['email']))        : '');
        $timezone         = ((x($_POST,'timezone'))   ? notags(trim($_POST['timezone']))     : '');
+       $language         = ((x($_POST,'language'))   ? notags(trim($_POST['language']))     : '');
+
        $defloc           = ((x($_POST,'defloc'))     ? notags(trim($_POST['defloc']))       : '');
        $openid           = ((x($_POST,'openid_url')) ? notags(trim($_POST['openid_url']))   : '');
        $maxreq           = ((x($_POST,'maxreq'))     ? intval($_POST['maxreq'])             : 0);
@@ -532,7 +536,15 @@ function settings_post(&$a) {
                }
        }
 
-       $r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s',  `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `maxreq` = %d, `expire` = %d, `openidserver` = '%s', `def_gid` = %d, `blockwall` = %d, `hidewall` = %d, `blocktags` = %d, `unkmail` = %d, `cntunkmail` = %d  WHERE `uid` = %d",
+
+       $r = q("UPDATE `user` SET `username` = '%s', `email` = '%s',
+                               `openid` = '%s', `timezone` = '%s',
+                               `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s',
+                               `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s',
+                               `allow_location` = %d, `maxreq` = %d, `expire` = %d, `openidserver` = '%s',
+                               `def_gid` = %d, `blockwall` = %d, `hidewall` = %d, `blocktags` = %d,
+                               `unkmail` = %d, `cntunkmail` = %d, `language` = '%s'
+                       WHERE `uid` = %d",
                        dbesc($username),
                        dbesc($email),
                        dbesc($openid),
@@ -554,11 +566,15 @@ function settings_post(&$a) {
                        intval($blocktags),
                        intval($unkmail),
                        intval($cntunkmail),
+                       dbesc($language),
                        intval(local_user())
        );
        if($r)
                info( t('Settings updated.') . EOL);
 
+       // clear session language
+       unset($_SESSION['language']);
+
        $r = q("UPDATE `profile`
                SET `publish` = %d,
                `name` = '%s',
@@ -907,7 +923,8 @@ function settings_content(&$a) {
                $mobile_theme_selected = (!x($_SESSION,'mobile-theme')? $default_mobile_theme : $_SESSION['mobile-theme']);
 
                $browser_update = intval(get_pconfig(local_user(), 'system','update_interval'));
-               $browser_update = (($browser_update == 0) ? 40 : $browser_update / 1000); // default if not set: 40 seconds
+               if (intval($browser_update) != -1)
+                       $browser_update = (($browser_update == 0) ? 40 : $browser_update / 1000); // default if not set: 40 seconds
 
                $itemspage_network = intval(get_pconfig(local_user(), 'system','itemspage_network'));
                $itemspage_network = (($itemspage_network > 0 && $itemspage_network < 101) ? $itemspage_network : 40); // default if not set: 40 items
@@ -946,7 +963,7 @@ function settings_content(&$a) {
 
                        '$theme'        => array('theme', t('Display Theme:'), $theme_selected, '', $themes, true),
                        '$mobile_theme' => array('mobile_theme', t('Mobile Theme:'), $mobile_theme_selected, '', $mobile_themes, false),
-                       '$ajaxint'   => array('browser_update',  t("Update browser every xx seconds"), $browser_update, t('Minimum of 10 seconds, no maximum')),
+                       '$ajaxint'   => array('browser_update',  t("Update browser every xx seconds"), $browser_update, t('Minimum of 10 seconds. Enter -1 to disable it.')),
                        '$itemspage_network'   => array('itemspage_network',  t("Number of items to display per page:"), $itemspage_network, t('Maximum of 100 items')),
                        '$itemspage_mobile_network'   => array('itemspage_mobile_network',  t("Number of items to display per page when viewed from mobile device:"), $itemspage_mobile_network, t('Maximum of 100 items')),
                        '$nosmile'      => array('nosmile', t("Don't show emoticons"), $nosmile, ''),
@@ -985,6 +1002,7 @@ function settings_content(&$a) {
        $email      = $a->user['email'];
        $nickname   = $a->user['nickname'];
        $timezone   = $a->user['timezone'];
+       $language   = $a->user['language'];
        $notify     = $a->user['notify-flags'];
        $defloc     = $a->user['default-location'];
        $openid     = $a->user['openid'];
@@ -1168,6 +1186,8 @@ function settings_content(&$a) {
        else
                $public_post_link = '&public=1';
 
+       /* Installed langs */
+       $lang_choices = get_avaiable_languages();
 
        $o .= replace_macros($stpl, array(
                '$ptitle'       => t('Account Settings'),
@@ -1190,6 +1210,7 @@ function settings_content(&$a) {
                '$username' => array('username',  t('Full Name:'), $username,''),
                '$email'        => array('email', t('Email Address:'), $email, '', '', '', 'email'),
                '$timezone' => array('timezone_select' , t('Your Timezone:'), select_timezone($timezone), ''),
+               '$language' => array('language', t('Your Language:'), $language, t('Set the language we use to show you friendica interface and to send you emails'), $lang_choices),
                '$defloc'       => array('defloc', t('Default Post Location:'), $defloc, ''),
                '$allowloc' => array('allow_location', t('Use Browser Location:'), ($a->user['allow_location'] == 1), ''),
 
@@ -1245,7 +1266,7 @@ function settings_content(&$a) {
                '$notify8'  => array('notify8', t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, ''),
 
         '$desktop_notifications' => array('desktop_notifications', t('Activate desktop notifications') , false, t('Show desktop popup on new notifications')),
-                
+
                '$email_textonly' => array('email_textonly', t('Text-only notification emails'),
                                                                        get_pconfig(local_user(),'system','email_textonly'),
                                                                        t('Send text only notification emails, without the html part')),
index 9f97d6ac743f334f24f07f8665d615b11da8557b..21a9a0521c63d395267bfbe60f0431936ab3e071 100644 (file)
@@ -1,5 +1,9 @@
 <?php
-require_once("mod/nodeinfo.php");
+/**
+ * @file mod/statistics_json.php
+ */
+
+require_once("include/plugin.php");
 
 function statistics_json_init(&$a) {
 
@@ -20,19 +24,19 @@ function statistics_json_init(&$a) {
                        );
 
        $statistics["services"] = array();
-       $statistics["services"]["appnet"] = nodeinfo_plugin_enabled("appnet");
-       $statistics["services"]["blogger"] = nodeinfo_plugin_enabled("blogger");
-       $statistics["services"]["buffer"] = nodeinfo_plugin_enabled("buffer");
-       $statistics["services"]["dreamwidth"] = nodeinfo_plugin_enabled("dwpost");
-       $statistics["services"]["facebook"] = nodeinfo_plugin_enabled("fbpost");
-       $statistics["services"]["gnusocial"] = nodeinfo_plugin_enabled("statusnet");
-       $statistics["services"]["googleplus"] = nodeinfo_plugin_enabled("gpluspost");
-       $statistics["services"]["libertree"] = nodeinfo_plugin_enabled("libertree");
-       $statistics["services"]["livejournal"] = nodeinfo_plugin_enabled("ljpost");
-       $statistics["services"]["pumpio"] = nodeinfo_plugin_enabled("pumpio");
-       $statistics["services"]["twitter"] = nodeinfo_plugin_enabled("twitter");
-       $statistics["services"]["tumblr"] = nodeinfo_plugin_enabled("tumblr");
-       $statistics["services"]["wordpress"] = nodeinfo_plugin_enabled("wppost");
+       $statistics["services"]["appnet"] = plugin_enabled("appnet");
+       $statistics["services"]["blogger"] = plugin_enabled("blogger");
+       $statistics["services"]["buffer"] = plugin_enabled("buffer");
+       $statistics["services"]["dreamwidth"] = plugin_enabled("dwpost");
+       $statistics["services"]["facebook"] = plugin_enabled("fbpost");
+       $statistics["services"]["gnusocial"] = plugin_enabled("statusnet");
+       $statistics["services"]["googleplus"] = plugin_enabled("gpluspost");
+       $statistics["services"]["libertree"] = plugin_enabled("libertree");
+       $statistics["services"]["livejournal"] = plugin_enabled("ljpost");
+       $statistics["services"]["pumpio"] = plugin_enabled("pumpio");
+       $statistics["services"]["twitter"] = plugin_enabled("twitter");
+       $statistics["services"]["tumblr"] = plugin_enabled("tumblr");
+       $statistics["services"]["wordpress"] = plugin_enabled("wppost");
 
        $statistics["appnet"] = $statistics["services"]["appnet"];
        $statistics["blogger"] = $statistics["services"]["blogger"];
index 8bf31ca8e591bf449d489064ad5ec84fa33c0d28..b73c2cd1b61eef34a248ff9e507d92b4182f419b 100644 (file)
@@ -36,7 +36,7 @@ function suggest_init(&$a) {
                }
                // Now check how the user responded to the confirmation query
                if(!$_REQUEST['canceled']) {
-                       q("insert into gcign ( uid, gcid ) values ( %d, %d ) ",
+                       q("INSERT INTO `gcign` ( `uid`, `gcid` ) VALUES ( %d, %d ) ",
                                intval(local_user()),
                                intval($_GET['ignore'])
                        );
@@ -61,13 +61,8 @@ function suggest_content(&$a) {
 
        $_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd;
 
-       $a->page['aside'] .= follow_widget();
        $a->page['aside'] .= findpeople_widget();
-
-
-       $o .= replace_macros(get_markup_template("section_title.tpl"),array(
-               '$title' => t('Friend Suggestions')
-       ));
+       $a->page['aside'] .= follow_widget();
 
 
        $r = suggestion_query(local_user());
@@ -77,25 +72,46 @@ function suggest_content(&$a) {
                return $o;
        }
 
-       $tpl = get_markup_template('suggest_friends.tpl');
+       require_once 'include/contact_selectors.php';
 
        foreach($r as $rr) {
 
                $connlnk = $a->get_baseurl() . '/follow/?url=' . (($rr['connect']) ? $rr['connect'] : $rr['url']);
-
-               $o .= replace_macros($tpl,array(
-                       '$url' => zrl($rr['url']),
-                       '$name' => $rr['name'],
-                       '$photo' => proxy_url($rr['photo'], false, PROXY_SIZE_THUMB),
-                       '$ignlnk' => $a->get_baseurl() . '/suggest?ignore=' . $rr['id'],
-                       '$ignid' => $rr['id'],
-                       '$conntxt' => t('Connect'),
-                       '$connlnk' => $connlnk,
-                       '$ignore' => t('Ignore/Hide')
-               ));
+               $ignlnk = $a->get_baseurl() . '/suggest?ignore=' . $rr['id'];
+               $photo_menu = array(array(t("View Profile"), zrl($rr["url"])));
+               $photo_menu[] = array(t("Connect/Follow"), $connlnk);
+               $photo_menu[] = array(t('Ignore/Hide'), $ignlnk);
+               $contact_details = get_contact_details_by_url($rr["url"], local_user());
+
+               $entry = array(
+                       'url' => zrl($rr['url']),
+                       'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
+                       'img_hover' => $rr['url'],
+                       'name' => $rr['name'],
+                       'thumb' => proxy_url($rr['photo'], false, PROXY_SIZE_THUMB),
+                       'details'       => $contact_details['location'],
+                       'tags'          => $contact_details['keywords'],
+                       'about'         => $contact_details['about'],
+                       'account_type'  => (($contact_details['community']) ? t('Forum') : ''),
+                       'ignlnk' => $ignlnk,
+                       'ignid' => $rr['id'],
+                       'conntxt' => t('Connect'),
+                       'connlnk' => $connlnk,
+                       'photo_menu' => $photo_menu,
+                       'ignore' => t('Ignore/Hide'),
+                       'network' => network_to_name($rr['network'], $rr['url']),
+                       'id' => ++$id,
+               );
+               $entries[] = $entry;
        }
 
-       $o .= cleardiv();
-//     $o .= paginate($a);
+       $tpl = get_markup_template('viewcontact_template.tpl');
+
+       $o .= replace_macros($tpl,array(
+               '$title' => t('Friend Suggestions'),
+               '$contacts' => $entries,
+               
+       ));
+
        return $o;
 }
index f61eab0a1bf0920cd87d4b0f3414b2d2e3dd9302..ffa4f3ed72ca865d63a81c3fca47eff4a81de60e 100644 (file)
@@ -57,8 +57,8 @@ function uimport_content(&$a) {
                unset($_SESSION['theme']);\r
        if(x($_SESSION,'mobile-theme'))\r
                unset($_SESSION['mobile-theme']);\r
-       \r
-       \r
+\r
+\r
     $tpl = get_markup_template("uimport.tpl");\r
     return replace_macros($tpl, array(\r
         '$regbutt' => t('Import'),\r
@@ -66,8 +66,8 @@ function uimport_content(&$a) {
             'title' => t("Move account"),\r
                        'intro' => t("You can import an account from another Friendica server."),\r
                        'instruct' => t("You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here."),\r
-                       'warn' => t("This feature is experimental. We can't import contacts from the OStatus network (statusnet/identi.ca) or from Diaspora"),\r
+                       'warn' => t("This feature is experimental. We can't import contacts from the OStatus network (GNU Social/Statusnet) or from Diaspora"),\r
             'field' => array('accountfile', t('Account file'),'<input id="id_accountfile" name="accountfile" type="file">', t('To export your account, go to "Settings->Export your personal data" and select "Export account"')),\r
-        ),  \r
+        ),\r
     ));\r
 }\r
index a7d48cb751200fc47dac47e1f75fa71733f535b6..7ea09d6a93d419475341a305b978f712b88d6391 100644 (file)
@@ -21,23 +21,31 @@ function videos_init(&$a) {
 
        if($a->argc > 1) {
                $nick = $a->argv[1];
-               $r = q("SELECT * FROM `user` WHERE `nickname` = '%s' AND `blocked` = 0 LIMIT 1",
+               $user = q("SELECT * FROM `user` WHERE `nickname` = '%s' AND `blocked` = 0 LIMIT 1",
                        dbesc($nick)
                );
 
-               if(! count($r))
+               if(! count($user))
                        return;
 
-               $a->data['user'] = $r[0];
-               $a->profile_uid = $r[0]['uid'];
+               $a->data['user'] = $user[0];
+               $a->profile_uid = $user[0]['uid'];
 
-               $profilephoto = $a->get_cached_avatar_image($a->get_baseurl() . '/photo/profile/' . $a->data['user']['uid'] . '.jpg');
+               $profile = get_profiledata_by_nick($nick, $a->profile_uid);
+
+               if((x($profile['page-flags']) == 2) || (x($profile['page-flags']) == 5))
+                       $account_type = t('Forum');
+               else
+                       $account_type = "";
 
                $tpl = get_markup_template("vcard-widget.tpl");
 
-               $vcard_widget = replace_macros($tpl, array(
-                       '$name' => $a->data['user']['username'],
-                       '$photo' => $profilephoto
+               $vcard_widget .= replace_macros($tpl, array(
+                       '$name' => $profile['name'],
+                       '$photo' => $profile['photo'],
+                       '$addr' => (($profile['addr'] != "") ? $profile['addr'] : ""),
+                       '$account_type' => $account_type,
+                       '$pdesc' => (($profile['pdesc'] != "") ? $profile['pdesc'] : ""),
                ));
 
 
@@ -53,7 +61,7 @@ function videos_init(&$a) {
                        $albums_visible = ((intval($a->data['user']['hidewall']) && (! local_user()) && (! remote_user())) ? false : true);
 
                        if($albums_visible) {
-                               $o .= '<div id="side-bar-photos-albums" class="widget">';
+                               $o .= '<div id="sidebar-photos-albums" class="widget">';
                                $o .= '<h3>' . '<a href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '">' . t('Photo Albums') . '</a></h3>';
 
                                $o .= '<ul>';
@@ -113,10 +121,10 @@ function videos_post(&$a) {
                        $a->page['content'] = replace_macros(get_markup_template('confirm.tpl'), array(
                                '$method' => 'post',
                                '$message' => t('Do you really want to delete this video?'),
-                               '$extra_inputs' => [
-                                       ['name'=>'id', 'value'=> $_POST['id']],
-                                       ['name'=>'delete', 'value'=>'x']
-                               ],
+                               '$extra_inputs' => array(
+                                       array('name'=>'id', 'value'=> $_POST['id']),
+                                       array('name'=>'delete', 'value'=>'x')
+                               ),
                                '$confirm' => t('Delete Video'),
                                '$confirm_url' => $drop_url,
                                '$confirm_name' => 'confirm', // Needed so that confirmation will bring us back into this if statement
index a6bf74b2885df20042a8de26186029a12db00917..04520e0d9309cc163ffe86c165625ef0e96233cd 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+require_once('include/Contact.php');
 require_once('include/contact_selectors.php');
 
 function viewcontacts_init(&$a) {
@@ -7,12 +8,27 @@ function viewcontacts_init(&$a) {
                return;
        }
 
-       profile_load($a,$a->argv[1]);
+       nav_set_selected('home');
+
+       if($a->argc > 1) {
+               $nick = $a->argv[1];
+               $r = q("SELECT * FROM `user` WHERE `nickname` = '%s' AND `blocked` = 0 LIMIT 1",
+                       dbesc($nick)
+               );
+
+               if(! count($r))
+                       return;
+
+               $a->data['user'] = $r[0];
+               $a->profile_uid = $r[0]['uid'];
+               $is_owner = (local_user() && (local_user() == $a->profile_uid));
+
+               profile_load($a,$a->argv[1]);
+       }
 }
 
 
 function viewcontacts_content(&$a) {
-
        require_once("mod/proxy.php");
 
        if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
@@ -25,20 +41,35 @@ function viewcontacts_content(&$a) {
                return;
        }
 
+       $o = "";
+
+       // tabs
+       $o .= profile_tabs($a,$is_owner, $a->data['user']['nickname']);
 
-       $r = q("SELECT COUNT(*) as `total` FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 ",
-               intval($a->profile['uid'])
+       $r = q("SELECT COUNT(*) AS `total` FROM `contact`
+               WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0
+                       AND `network` IN ('%s', '%s', '%s')",
+               intval($a->profile['uid']),
+               dbesc(NETWORK_DFRN),
+               dbesc(NETWORK_DIASPORA),
+               dbesc(NETWORK_OSTATUS)
        );
        if(count($r))
                $a->set_pager_total($r[0]['total']);
 
-       $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 ORDER BY `name` ASC LIMIT %d , %d ",
+       $r = q("SELECT * FROM `contact`
+               WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0
+                       AND `network` IN ('%s', '%s', '%s')
+               ORDER BY `name` ASC LIMIT %d, %d",
                intval($a->profile['uid']),
+               dbesc(NETWORK_DFRN),
+               dbesc(NETWORK_DIASPORA),
+               dbesc(NETWORK_OSTATUS),
                intval($a->pager['start']),
                intval($a->pager['itemspage'])
        );
-       if(! count($r)) {
-               info( t('No contacts.') . EOL );
+       if(!count($r)) {
+               info(t('No contacts.').EOL);
                return $o;
        }
 
@@ -48,7 +79,7 @@ function viewcontacts_content(&$a) {
                if($rr['self'])
                        continue;
 
-           $url = $rr['url'];
+               $url = $rr['url'];
 
                // route DFRN profiles through the redirect
 
@@ -59,15 +90,22 @@ function viewcontacts_content(&$a) {
                else
                        $url = zrl($url);
 
+               $contact_details = get_contact_details_by_url($rr['url'], $a->profile['uid']);
+
                $contacts[] = array(
                        'id' => $rr['id'],
                        'img_hover' => sprintf( t('Visit %s\'s profile [%s]'), $rr['name'], $rr['url']),
+                       'photo_menu' => contact_photo_menu($rr),
                        'thumb' => proxy_url($rr['thumb'], false, PROXY_SIZE_THUMB),
                        'name' => htmlentities(substr($rr['name'],0,20)),
                        'username' => htmlentities($rr['name']),
+                       'details'       => $contact_details['location'],
+                       'tags'          => $contact_details['keywords'],
+                       'about'         => $contact_details['about'],
+                       'account_type'  => (($contact_details['community']) ? t('Forum') : ''),
                        'url' => $url,
                        'sparkle' => '',
-                       'itemurl' => $rr['url'],
+                       'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
                        'network' => network_to_name($rr['network'], $rr['url']),
                );
        }
@@ -75,7 +113,7 @@ function viewcontacts_content(&$a) {
 
        $tpl = get_markup_template("viewcontact_template.tpl");
        $o .= replace_macros($tpl, array(
-               '$title' => t('View Contacts'),
+               '$title' => t('Contacts'),
                '$contacts' => $contacts,
                '$paginate' => paginate($a),
        ));
index e11d749a3d7b3200f45e12a619db7660966db9d9..68752a0e1f659082e51ec6df90add56663d5ba1d 100644 (file)
@@ -13,12 +13,18 @@ function wall_attach_post(&$a) {
                        dbesc($nick)
                );
                if(! count($r)){
-                       if ($r_json) { echo json_encode(['error'=>t('Invalid request.')]); killme(); }
+                       if ($r_json) {
+                            echo json_encode(array('error'=>t('Invalid request.')));
+                            killme();
+                        }
                        return;
         }
 
        } else {
-               if ($r_json) { echo json_encode(['error'=>t('Invalid request.')]); killme(); }
+               if ($r_json) {
+                    echo json_encode(array('error'=>t('Invalid request.')));
+                    killme();
+                }
                return;
     }
 
@@ -57,13 +63,18 @@ function wall_attach_post(&$a) {
                }
        }
        if(! $can_post) {
-               if ($r_json) { echo json_encode(['error'=>t('Permission denied.')]); killme(); }
+               if ($r_json) {
+                    echo json_encode(array('error'=>t('Permission denied.')));
+                    killme();
+                }
                notice( t('Permission denied.') . EOL );
                killme();
        }
 
        if(! x($_FILES,'userfile')) {
-               if ($r_json) { echo json_encode(['error'=>t('Invalid request.')]); killme(); }
+               if ($r_json) {
+                    echo json_encode(array('error'=>t('Invalid request.')));
+                }
                killme();
        }
 
@@ -82,7 +93,7 @@ function wall_attach_post(&$a) {
        if($filesize <=0) {
                $msg = t('Sorry, maybe your upload is bigger than the PHP configuration allows') . EOL .(t('Or - did you try to upload an empty file?'));
                if ($r_json) {
-                       echo json_encode(['error'=>$msg]);
+                       echo json_encode(array('error'=>$msg));
                } else {
                        notice( $msg. EOL );
                }
@@ -93,7 +104,7 @@ function wall_attach_post(&$a) {
        if(($maxfilesize) && ($filesize > $maxfilesize)) {
                $msg = sprintf(t('File exceeds size limit of %s'), formatBytes($maxfilesize));
                if ($r_json) {
-                       echo json_encode(['error'=>$msg]);
+                       echo json_encode(array('error'=>$msg));
                } else {
                        echo  $msg. EOL ;
                }
@@ -110,7 +121,7 @@ function wall_attach_post(&$a) {
        if(($limit !== false) && (($r[0]['total'] + strlen($imagedata)) > $limit)) {
                $msg = upgrade_message(true);
                if ($r_json) {
-                       echo json_encode(['error'=>$msg]);
+                       echo json_encode(array('error'=>$msg));
                } else {
                        echo  $msg. EOL ;
                }
@@ -144,7 +155,7 @@ function wall_attach_post(&$a) {
        if(! $r) {
                $msg =  t('File upload failed.');
                if ($r_json) {
-                       echo json_encode(['error'=>$msg]);
+                       echo json_encode(array('error'=>$msg));
                } else {
                        echo  $msg. EOL ;
                }
@@ -160,14 +171,17 @@ function wall_attach_post(&$a) {
        if(! count($r)) {
                $msg = t('File upload failed.');
                if ($r_json) {
-                       echo json_encode(['error'=>$msg]);
+                       echo json_encode(array('error'=>$msg));
                } else {
                        echo  $msg. EOL ;
                }
                killme();
        }
 
-       if ($r_json) { echo json_encode(['ok'=>true]); killme(); }
+       if ($r_json) {
+            echo json_encode(array('ok'=>true));
+            killme();
+        }
 
        $lf = "\n";
 
index fce28c47d428b7d418a3e426dd1fcfd6ccfb2ea5..8bf471d3d2ee70f17877c49ab6a38e7990650d7f 100644 (file)
@@ -16,7 +16,10 @@ function wall_upload_post(&$a, $desktopmode = true) {
                        );
 
                        if(! count($r)){
-                               if ($r_json) { echo json_encode(['error'=>t('Invalid request.')]); killme(); }
+                               if ($r_json) {
+                                   echo json_encode(array('error'=>t('Invalid request.')));
+                                   killme();
+                               }
                                return;
                        }
                } else {
@@ -26,7 +29,10 @@ function wall_upload_post(&$a, $desktopmode = true) {
                        );
                }
        } else {
-               if ($r_json) { echo json_encode(['error'=>t('Invalid request.')]); killme(); }
+               if ($r_json) {
+                   echo json_encode(array('error'=>t('Invalid request.')));
+                   killme();
+               }
                return;
        }
 
@@ -67,13 +73,18 @@ function wall_upload_post(&$a, $desktopmode = true) {
 
 
        if(! $can_post) {
-               if ($r_json) { echo json_encode(['error'=>t('Permission denied.')]); killme(); }
+               if ($r_json) {
+                   echo json_encode(array('error'=>t('Permission denied.')));
+                   killme();
+               }
                notice( t('Permission denied.') . EOL );
                killme();
        }
 
        if(! x($_FILES,'userfile') && ! x($_FILES,'media')){
-               if ($r_json) { echo json_encode(['error'=>t('Invalid request.')]); killme(); }
+               if ($r_json) {
+                   echo json_encode(array('error'=>t('Invalid request.')));
+               }
                killme();
        }
 
@@ -107,7 +118,10 @@ function wall_upload_post(&$a, $desktopmode = true) {
        }
 
        if ($src=="") {
-               if ($r_json) { echo json_encode(['error'=>t('Invalid request.')]); killme(); }
+               if ($r_json) {
+                   echo json_encode(array('error'=>t('Invalid request.')));
+                   killme();
+               }
                notice(t('Invalid request.').EOL);
                killme();
        }
@@ -136,7 +150,7 @@ function wall_upload_post(&$a, $desktopmode = true) {
        if(($maximagesize) && ($filesize > $maximagesize)) {
                $msg = sprintf( t('Image exceeds size limit of %s'), formatBytes($maximagesize));
                if ($r_json) {
-                       echo json_encode(['error'=>$msg]);
+                       echo json_encode(array('error'=>$msg));
                } else {
                        echo  $msg. EOL;
                }
@@ -153,7 +167,7 @@ function wall_upload_post(&$a, $desktopmode = true) {
        if(($limit !== false) && (($r[0]['total'] + strlen($imagedata)) > $limit)) {
                $msg = upgrade_message(true);
                if ($r_json) {
-                       echo json_encode(['error'=>$msg]);
+                       echo json_encode(array('error'=>$msg));
                } else {
                        echo  $msg. EOL;
                }
@@ -168,7 +182,7 @@ function wall_upload_post(&$a, $desktopmode = true) {
        if(! $ph->is_valid()) {
                $msg = t('Unable to process image.');
                if ($r_json) {
-                       echo json_encode(['error'=>$msg]);
+                       echo json_encode(array('error'=>$msg));
                } else {
                        echo  $msg. EOL;
                }
@@ -201,7 +215,7 @@ function wall_upload_post(&$a, $desktopmode = true) {
        if(! $r) {
                $msg = t('Image upload failed.');
                if ($r_json) {
-                       echo json_encode(['error'=>$msg]);
+                       echo json_encode(array('error'=>$msg));
                } else {
                        echo  $msg. EOL;
                }
@@ -228,7 +242,10 @@ function wall_upload_post(&$a, $desktopmode = true) {
 
                $r = q("SELECT `id`, `datasize`, `width`, `height`, `type` FROM `photo` WHERE `resource-id` = '%s' ORDER BY `width` DESC LIMIT 1", $hash);
                if (!$r){
-                       if ($r_json) { echo json_encode(['error'=>'']); killme(); }
+                       if ($r_json) {
+                           echo json_encode(array('error'=>''));
+                           killme();
+                       }
                        return false;
                }
                $picture = array();
@@ -242,11 +259,17 @@ function wall_upload_post(&$a, $desktopmode = true) {
                $picture["picture"] = $a->get_baseurl()."/photo/{$hash}-0.".$ph->getExt();
                $picture["preview"] = $a->get_baseurl()."/photo/{$hash}-{$smallest}.".$ph->getExt();
 
-               if ($r_json) { echo json_encode(['picture'=>$picture]); killme(); }
+               if ($r_json) {
+                   echo json_encode(array('picture'=>$picture));
+                   killme();
+               }
                return $picture;
        }
 
-       if ($r_json) { echo json_encode(['ok'=>true]); killme(); }
+       if ($r_json) {
+           echo json_encode(array('ok'=>true));
+           killme();
+       }
 
 /* mod Waitman Gobble NO WARRANTY */
 
index 3050365f921fd23ad463ccf354a3cdae9bbab71e..04c1a707e3a6e3eb6fef18ac4006dbe3252200c2 100644 (file)
@@ -117,9 +117,12 @@ class Item extends BaseObject {
                        ? t('Private Message')
                        : false);
                $shareable = ((($conv->get_profile_owner() == local_user()) && ($item['private'] != 1)) ? true : false);
-               if(local_user() && link_compare($a->contact['url'],$item['author-link']))
-                       $edpost = array($a->get_baseurl($ssl_state)."/editpost/".$item['id'], t("Edit"));
-               else
+               if(local_user() && link_compare($a->contact['url'],$item['author-link'])) {
+                       if ($item["event-id"] != 0)
+                               $edpost = array($a->get_baseurl($ssl_state)."/events/event/".$item['event-id'], t("Edit"));
+                       else
+                               $edpost = array($a->get_baseurl($ssl_state)."/editpost/".$item['id'], t("Edit"));
+               } else
                        $edpost = false;
                if(($this->get_data_value('uid') == local_user()) || $this->is_visiting())
                        $dropping = true;
index 06aab577a35609f5dccc38f5c6f845bac1e52fcf..caa167617cd7abf9a2f9c3cf8808484c69880f54 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-define( 'UPDATE_VERSION' , 1189 );
+define( 'UPDATE_VERSION' , 1191 );
 
 /**
  *
@@ -1648,3 +1648,78 @@ function update_1180() {
 
        return UPDATE_SUCCESS;
 }
+
+function update_1188() {
+
+       if (strlen(get_config('system','directory_submit_url')) AND
+               !strlen(get_config('system','directory'))) {
+               set_config('system','directory', dirname(get_config('system','directory_submit_url')));
+               del_config('system','directory_submit_url');
+       }
+
+       return UPDATE_SUCCESS;
+}
+
+function update_1190() {
+
+       require_once('include/plugin.php');
+
+       set_config('system', 'maintenance', 1);
+
+       if (plugin_enabled('forumlist')) {
+               $plugin = 'forumlist';
+               $plugins = get_config('system','addon');
+               $plugins_arr = array();
+
+               if($plugins) {
+                       $plugins_arr = explode(",",str_replace(" ", "",$plugins));
+
+                       $idx = array_search($plugin, $plugins_arr);
+                       if ($idx !== false){
+                               unset($plugins_arr[$idx]);
+                               //delete forumlist manually from addon and hook table 
+                               // since uninstall_plugin() don't work here
+                               q("DELETE FROM `addon` WHERE `name` = 'forumlist' ");
+                               q("DELETE FROM `hook` WHERE `file` = 'addon/forumlist/forumlist.php' ");
+                               set_config('system','addon', implode(", ",$plugins_arr));
+                       }
+               }
+       }
+
+       // select old formlist addon entries
+       $r = q("SELECT `uid`, `cat`, `k`, `v` FROM `pconfig` WHERE `cat` = '%s' ",
+               dbesc('forumlist')
+       );
+
+       // convert old forumlist addon entries in new config entries
+       if (count($r)) {
+               foreach ($r as $rr) {
+                       $uid = $rr['uid'];
+                       $family = $rr['cat'];
+                       $key = $rr['k'];
+                       $value = $rr['v'];
+
+                       if ($key === 'randomise')
+                               del_pconfig($uid,$family,$key);
+
+                       if ($key === 'show_on_profile') {
+                               if ($value)
+                                       set_pconfig($uid,feature,forumlist_profile,$value);
+
+                               del_pconfig($uid,$family,$key);
+                       }
+
+                       if ($key === 'show_on_network') {
+                               if ($value)
+                                       set_pconfig($uid,feature,forumlist_widget,$value);
+
+                               del_pconfig($uid,$family,$key);
+                       }
+               }
+       }
+
+       set_config('system', 'maintenance', 0);
+
+       return UPDATE_SUCCESS;
+
+}
diff --git a/util/Doxyfile b/util/Doxyfile
new file mode 100644 (file)
index 0000000..4527c4c
--- /dev/null
@@ -0,0 +1,23 @@
+INPUT = README.md index.php boot.php testargs.php update.php mod/ object/ include/ js/ util/ view/ version.inc
+RECURSIVE = YES
+PROJECT_NAME = "Friendica"
+PROJECT_LOGO = images/friendica-64.jpg
+EXCLUDE = .htconfig.php library/ doc/ .git/ log/ util/zotsh/easywebdav/ addon/ report/ privacy_image_cache/ photo/ proxy/ local/
+EXCLUDE_PATTERNS = *smarty3* *strings.php*.log *.out *test* 
+OUTPUT_DIRECTORY = doc
+GENERATE_HTML = YES
+HTML_OUTPUT = html/
+HTML_FILE_EXTENSION = .html
+GENERATE_LATEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+GENERATE_TODOLIST = YES
+USE_MDFILE_AS_MAINPAGE = README.md
+REFERENCED_BY_RELATION = YES
+GENERATE_TREEVIEW = YES
+HTML_FOOTER = util/Doxygen.footer
+ALIASES += "license=@par License:\n"
+ALIASES += "fixme=\xrefitem fixme \"Fixme\" \"Fixme List\""
+ALIASES += "FIXME=\fixme"
+ALIASES += "TODO=\todo"
+ALIASES += "BUG=\bug"
diff --git a/util/Doxygen.footer b/util/Doxygen.footer
new file mode 100644 (file)
index 0000000..fd40910
--- /dev/null
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/util/credits.txt b/util/credits.txt
new file mode 100644 (file)
index 0000000..a0890ef
--- /dev/null
@@ -0,0 +1,167 @@
+23n
+Abinoam P. Marques Jr.
+Abrax
+Adam Jurkiewicz
+Alex
+Alexander Kampmann
+AlfredSK
+Andi Stadler
+Andreas H.
+André Lohan
+Anthronaut
+Arian - Cazare Muncitori
+aweiher
+axelt
+balderino
+Beanow
+bufalo1973
+Calango Jr
+Carlos Solís
+Carsten Pfeiffer
+Cat Gray
+Chris Case
+Christian M. Grube
+Christian Vogeley
+Cohan Robinson
+Cyboulette
+Cyryl Sochacki
+czarnystokrotek
+Damien Goutte-Gattat
+Daniel Dupriest
+Daria PoczÄ…tek
+David
+David Martín Miranda
+Devlon Duthie
+Diego Souza
+Domovoy
+Doru  DEACONU
+Dylan Thiedeke
+Développeur Ã©garé
+eddy2508
+effex7
+Elena
+emilia.krawczyk
+Eric Côté
+erik
+Erkan Yilmaz
+Fabian Dost
+Fabio Comuni
+felixgilles
+Filip Bugaj
+FlxAlbroscheit
+foss
+Francesco Apruzzese
+Frank Dieckmann
+Frederico Gonçalves Guimarães
+gerhard6380
+Gert Cauwenberg
+greeneyedred
+Gregory Smith
+Haakon Meland Eriksen
+Hans Meine
+hauke
+Hauke Altmann
+Hauke Zühl
+Hubert KoÅ›ciaÅ„ski
+Jak
+Jakob
+jensp
+jeroenpraat
+Johannes Schwab
+John Brazil
+Josef Moravek
+juanman
+julia.domagalska
+Karel Vandecandelaere
+Karolina
+Keith Fernie
+Klaus Weidenbach
+Lea1995polish
+Leberwurscht
+Leonard Lausen
+Lionel Triay
+Ludovic Grossard
+maase2
+Magdalena Gazda
+Mai Anh Nguyen
+Manuel Pérez Monís
+Marcin Klessa
+Mariusz Pisz
+marmor
+Marquis_de_Carabas
+Martin Schmitt
+Mateusz Mikos
+Mats Sjöberg
+Matthew Exon
+Matthias
+Matthias Moritz
+Max Weller
+mhnxo
+Michael Johnston
+Michael Vogel
+Michal Å upler
+Michalina
+Mike Macgirvin
+Nicola Spanti
+Olaf Conradi
+Oliver
+Olivier
+Olivier Migeot
+Pavel Morozov
+peturisfeld
+Piotr Blonkowski
+pokerazor
+Rabuzarus
+Radek
+Rafael
+Rainulf Pineda
+Ralph
+rcmaniac
+rebeka-catalina
+repat
+Ricardo Pereira
+Rui Andrada
+Sam
+Sandro Santilli
+Sebastian Egbers
+sella
+Sennewood
+Seth
+Silke Meyer
+Simon L'nu
+Simó Albert i Beltran
+Stanislav N.
+StefOfficiel
+Sveinn Ã­ Felli
+Sven Anders
+Sylvain Lagacé
+szymon.filip
+Sérgio Lima
+Taekus
+Tazman DeVille
+Thomas
+Thomas Willingham
+thorsten23
+Tino
+Tobias Diekershoff
+Tobias Hößl
+tomamplius
+tomtom84
+Tony Baldwin
+TORminator
+tschlotfeldt
+Tubuntu
+tupambae
+tuscanhobbit
+U-SOUND\mike
+ufic
+Vasudev Kamath
+Vasya Novikov
+vislav
+Yasen Pramatarov
+ylms
+Zach Prezkuta
+Zered
+zottel
+Zvi ben Yaakov (a.k.a rdc)
+Михаил
\ No newline at end of file
index 4665e68c0a0bc17a16590da7ca406992b548a241..71e9d673fbb34cdffc9ac1106a74cffadf126566 100644 (file)
@@ -70,3 +70,9 @@ $a->config['system']['no_regfullname'] = true;
 
 // Location of the global directory
 $a->config['system']['directory'] = 'http://dir.friendi.ca';
+
+// turn on friendica's log
+$a->config['system']['debugging'] = true;
+$a->config['system']['logfile'] = 'logfile.out';
+$a->config['system']['loglevel'] = LOGGER_DEBUG;
+
diff --git a/util/make_credits.py b/util/make_credits.py
new file mode 100755 (executable)
index 0000000..404b059
--- /dev/null
@@ -0,0 +1,104 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+"""
+This script will collect the contributors to friendica and its translations from
+  * the git log of the friendica core and addons repositories
+  * the translated messages.po from core and the addons.
+The collected names will be saved in /util/credits.txt which is also parsed from
+yourfriendica.tld/credits.
+
+The output is not perfect, so remember to open a fresh (re)created credits.txt file
+in your fav editor to check for obvious mistakes and doubled entries.
+
+Initially written by Tobias Diekershoff for the Friendica Project. Released under
+the terms of the AGPL version 3 or later, same as Friendica.
+"""
+
+from sys import argv
+import os, glob, subprocess
+
+#  a list of names to not include, those people get into the list by other names
+#  but they use different names on different systems and automatical mapping does
+#  not work in some cases.
+dontinclude = ['root', 'friendica', 'bavatar', 'tony baldwin', 'Taek', 'silke m',
+               'leberwurscht', 'abinoam', 'fabrixxm', 'FULL NAME', 'Hauke Zuehl',
+               'Michal Supler', 'michal_s', 'Manuel Pérez']
+
+
+#  this script is in the /util sub-directory of the friendica installation
+#  so the friendica path is the 0th argument of calling this script but we
+#  need to remove the name of the file and the name of the directory
+path = os.path.abspath(argv[0].split('util/make_credits.py')[0])
+print('> base directory is assumed to be: '+path)
+#  a place to store contributors
+contributors = ['Andi Stadler']
+#  get the contributors
+print('> getting contributors to the friendica core repository')
+p = subprocess.Popen(['git', 'shortlog', '--no-merges', '-s'],
+                         stdout=subprocess.PIPE,
+                         stderr=subprocess.STDOUT)
+c = iter(p.stdout.readline, b'')
+for i in c:
+    name = i.decode().split('\t')[1].split('\n')[0]
+    if not name in contributors and name not in dontinclude:
+        contributors.append(name)
+n1 = len(contributors)
+print('  > found %d contributors' % n1)
+#  get the contributors to the addons
+os.chdir(path+'/addon')
+#  get the contributors
+print('> getting contributors to the addons')
+p = subprocess.Popen(['git', 'shortlog', '--no-merges', '-s'],
+                         stdout=subprocess.PIPE,
+                         stderr=subprocess.STDOUT)
+c = iter(p.stdout.readline, b'')
+for i in c:
+    name = i.decode().split('\t')[1].split('\n')[0]
+    if not name in contributors and name not in dontinclude:
+        contributors.append(name)
+n2 = len(contributors)
+print('  > found %d new contributors' % (n2-n1))
+print('> total of %d contributors to the repositories of friendica' % n2)
+os.chdir(path)
+#  get the translators
+print('> getting translators')
+intrans = False
+for f in glob.glob(path+'/view/*/messages.po'):
+    i = open(f, 'r')
+    l = i.readlines()
+    i.close()
+    for ll in l:
+        if intrans and ll.strip()=='':
+            intrans = False;
+        if intrans and ll[0]=='#':
+            name = ll.split('# ')[1].split(',')[0].split(' <')[0]
+            if not name in contributors and name not in dontinclude:
+                contributors.append(name)
+        if "# Translators:" in ll:
+            intrans = True
+#  get the translators from the addons
+for f in glob.glob(path+'/addon/*/lang/*/messages.po'):
+    i = open(f, 'r')
+    l = i.readlines()
+    i.close()
+    for ll in l:
+        if intrans and ll.strip()=='':
+            intrans = False;
+        if intrans and ll[0]=='#':
+            name = ll.split('# ')[1].split(',')[0].split(' <')[0]
+            if not name in contributors and name not in dontinclude:
+                contributors.append(name)
+        if "# Translators:" in ll:
+            intrans = True
+#  done with the translators
+
+n3 = len(contributors)
+print('  > found %d translators' % (n3-n2))
+print('> found a total of %d contributors and translators' % n3)
+contributors.sort(key=str.lower)
+
+f = open(path+'/util/credits.txt', 'w')
+f.write("\n".join(contributors))
+f.close()
+print('> list saved to util/credits.txt')
index 81e5b5f9ad31115f33f83b900cfa5d1f81ee8454..9dd02bbeb16aae1d8539b271c201731fd7ebfa89 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: 3.4.2\n"
+"Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-10-12 15:14+0200\n"
+"POT-Creation-Date: 2015-12-14 07:48+0100\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"
@@ -18,400 +18,388 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 
-#: mod/contacts.php:114
+#: mod/contacts.php:50 include/identity.php:380
+msgid "Network:"
+msgstr ""
+
+#: mod/contacts.php:51 mod/contacts.php:986 mod/videos.php:37
+#: mod/viewcontacts.php:105 mod/dirfind.php:208 mod/network.php:596
+#: mod/allfriends.php:72 mod/match.php:82 mod/directory.php:172
+#: mod/common.php:124 mod/suggest.php:95 mod/photos.php:41
+#: include/identity.php:295
+msgid "Forum"
+msgstr ""
+
+#: mod/contacts.php:128
 #, php-format
 msgid "%d contact edited."
 msgid_plural "%d contacts edited"
 msgstr[0] ""
 msgstr[1] ""
 
-#: mod/contacts.php:145 mod/contacts.php:368
+#: mod/contacts.php:159 mod/contacts.php:382
 msgid "Could not access contact record."
 msgstr ""
 
-#: mod/contacts.php:159
+#: mod/contacts.php:173
 msgid "Could not locate selected profile."
 msgstr ""
 
-#: mod/contacts.php:192
+#: mod/contacts.php:206
 msgid "Contact updated."
 msgstr ""
 
-#: mod/contacts.php:194 mod/dfrn_request.php:576
+#: mod/contacts.php:208 mod/dfrn_request.php:578
 msgid "Failed to update contact record."
 msgstr ""
 
-#: mod/contacts.php:350 mod/manage.php:96 mod/display.php:496
-#: mod/profile_photo.php:19 mod/profile_photo.php:169 mod/profile_photo.php:180
-#: mod/profile_photo.php:193 mod/ostatus_subscribe.php:9 mod/follow.php:10
-#: mod/follow.php:54 mod/follow.php:119 mod/item.php:169 mod/item.php:185
+#: mod/contacts.php:364 mod/manage.php:96 mod/display.php:496
+#: mod/profile_photo.php:19 mod/profile_photo.php:175 mod/profile_photo.php:186
+#: mod/profile_photo.php:199 mod/ostatus_subscribe.php:9 mod/follow.php:10
+#: mod/follow.php:72 mod/follow.php:137 mod/item.php:169 mod/item.php:185
 #: mod/group.php:19 mod/dfrn_confirm.php:55 mod/fsuggest.php:78
-#: mod/wall_upload.php:70 mod/wall_upload.php:71 mod/viewcontacts.php:24
-#: mod/notifications.php:69 mod/message.php:39 mod/message.php:175
-#: mod/crepair.php:120 mod/dirfind.php:9 mod/nogroup.php:25 mod/network.php:4
-#: mod/allfriends.php:9 mod/events.php:164 mod/wallmessage.php:9
+#: mod/wall_upload.php:77 mod/wall_upload.php:80 mod/viewcontacts.php:40
+#: mod/notifications.php:69 mod/message.php:45 mod/message.php:181
+#: mod/crepair.php:117 mod/dirfind.php:11 mod/nogroup.php:25 mod/network.php:4
+#: mod/allfriends.php:12 mod/events.php:165 mod/wallmessage.php:9
 #: mod/wallmessage.php:33 mod/wallmessage.php:79 mod/wallmessage.php:103
-#: mod/wall_attach.php:60 mod/wall_attach.php:61 mod/settings.php:20
-#: mod/settings.php:116 mod/settings.php:621 mod/register.php:42
-#: mod/delegate.php:12 mod/mood.php:114 mod/suggest.php:58 mod/profiles.php:165
-#: mod/profiles.php:615 mod/editpost.php:10 mod/api.php:26 mod/api.php:31
-#: mod/notes.php:22 mod/poke.php:135 mod/repair_ostatus.php:9 mod/invite.php:15
-#: mod/invite.php:101 mod/photos.php:163 mod/photos.php:1097 mod/regmod.php:110
-#: mod/uimport.php:23 mod/attach.php:33 include/items.php:5087 index.php:382
+#: mod/wall_attach.php:67 mod/wall_attach.php:70 mod/settings.php:20
+#: mod/settings.php:116 mod/settings.php:637 mod/register.php:42
+#: mod/delegate.php:12 mod/common.php:18 mod/mood.php:114 mod/suggest.php:58
+#: mod/profiles.php:165 mod/profiles.php:615 mod/editpost.php:10 mod/api.php:26
+#: mod/api.php:31 mod/notes.php:22 mod/poke.php:149 mod/repair_ostatus.php:9
+#: mod/invite.php:15 mod/invite.php:101 mod/photos.php:171 mod/photos.php:1105
+#: mod/regmod.php:110 mod/uimport.php:23 mod/attach.php:33
+#: include/items.php:5067 index.php:382
 msgid "Permission denied."
 msgstr ""
 
-#: mod/contacts.php:389
+#: mod/contacts.php:403
 msgid "Contact has been blocked"
 msgstr ""
 
-#: mod/contacts.php:389
+#: mod/contacts.php:403
 msgid "Contact has been unblocked"
 msgstr ""
 
-#: mod/contacts.php:400
+#: mod/contacts.php:414
 msgid "Contact has been ignored"
 msgstr ""
 
-#: mod/contacts.php:400
+#: mod/contacts.php:414
 msgid "Contact has been unignored"
 msgstr ""
 
-#: mod/contacts.php:412
+#: mod/contacts.php:426
 msgid "Contact has been archived"
 msgstr ""
 
-#: mod/contacts.php:412
+#: mod/contacts.php:426
 msgid "Contact has been unarchived"
 msgstr ""
 
-#: mod/contacts.php:439 mod/contacts.php:801
+#: mod/contacts.php:453 mod/contacts.php:801
 msgid "Do you really want to delete this contact?"
 msgstr ""
 
-#: mod/contacts.php:441 mod/follow.php:87 mod/message.php:210
-#: mod/settings.php:1076 mod/settings.php:1082 mod/settings.php:1090
-#: mod/settings.php:1094 mod/settings.php:1099 mod/settings.php:1105
-#: mod/settings.php:1111 mod/settings.php:1117 mod/settings.php:1143
-#: mod/settings.php:1144 mod/settings.php:1145 mod/settings.php:1146
-#: mod/settings.php:1147 mod/dfrn_request.php:848 mod/register.php:235
-#: mod/suggest.php:29 mod/profiles.php:658 mod/profiles.php:661 mod/api.php:105
-#: include/items.php:4919
+#: mod/contacts.php:455 mod/follow.php:105 mod/message.php:216
+#: mod/settings.php:1094 mod/settings.php:1100 mod/settings.php:1108
+#: mod/settings.php:1112 mod/settings.php:1117 mod/settings.php:1123
+#: mod/settings.php:1129 mod/settings.php:1135 mod/settings.php:1161
+#: mod/settings.php:1162 mod/settings.php:1163 mod/settings.php:1164
+#: mod/settings.php:1165 mod/dfrn_request.php:850 mod/register.php:238
+#: mod/suggest.php:29 mod/profiles.php:658 mod/profiles.php:661
+#: mod/profiles.php:687 mod/api.php:105 include/items.php:4899
 msgid "Yes"
 msgstr ""
 
-#: mod/contacts.php:444 mod/tagrm.php:11 mod/tagrm.php:94 mod/follow.php:98
-#: mod/videos.php:123 mod/message.php:213 mod/fbrowser.php:89
-#: mod/fbrowser.php:125 mod/settings.php:635 mod/settings.php:661
-#: mod/dfrn_request.php:862 mod/suggest.php:32 mod/editpost.php:147
-#: mod/photos.php:239 mod/photos.php:328 include/conversation.php:1222
-#: include/items.php:4922
+#: mod/contacts.php:458 mod/tagrm.php:11 mod/tagrm.php:94 mod/follow.php:116
+#: mod/videos.php:131 mod/message.php:219 mod/fbrowser.php:93
+#: mod/fbrowser.php:128 mod/settings.php:651 mod/settings.php:677
+#: mod/dfrn_request.php:864 mod/suggest.php:32 mod/editpost.php:148
+#: mod/photos.php:247 mod/photos.php:336 include/conversation.php:1221
+#: include/items.php:4902
 msgid "Cancel"
 msgstr ""
 
-#: mod/contacts.php:456
+#: mod/contacts.php:470
 msgid "Contact has been removed."
 msgstr ""
 
-#: mod/contacts.php:494
+#: mod/contacts.php:511
 #, php-format
 msgid "You are mutual friends with %s"
 msgstr ""
 
-#: mod/contacts.php:498
+#: mod/contacts.php:515
 #, php-format
 msgid "You are sharing with %s"
 msgstr ""
 
-#: mod/contacts.php:503
+#: mod/contacts.php:520
 #, php-format
 msgid "%s is sharing with you"
 msgstr ""
 
-#: mod/contacts.php:523
+#: mod/contacts.php:540
 msgid "Private communications are not available for this contact."
 msgstr ""
 
-#: mod/contacts.php:526 mod/admin.php:623
+#: mod/contacts.php:543 mod/admin.php:645
 msgid "Never"
 msgstr ""
 
-#: mod/contacts.php:530
+#: mod/contacts.php:547
 msgid "(Update was successful)"
 msgstr ""
 
-#: mod/contacts.php:530
+#: mod/contacts.php:547
 msgid "(Update was not successful)"
 msgstr ""
 
-#: mod/contacts.php:532
+#: mod/contacts.php:549
 msgid "Suggest friends"
 msgstr ""
 
-#: mod/contacts.php:536
+#: mod/contacts.php:553
 #, php-format
 msgid "Network type: %s"
 msgstr ""
 
-#: mod/contacts.php:539 include/contact_widgets.php:200
-#, php-format
-msgid "%d contact in common"
-msgid_plural "%d contacts in common"
-msgstr[0] ""
-msgstr[1] ""
-
-#: mod/contacts.php:544
-msgid "View all contacts"
-msgstr ""
-
-#: mod/contacts.php:549 mod/contacts.php:628 mod/contacts.php:804
-#: mod/admin.php:1089
-msgid "Unblock"
-msgstr ""
-
-#: mod/contacts.php:549 mod/contacts.php:628 mod/contacts.php:804
-#: mod/admin.php:1088
-msgid "Block"
-msgstr ""
-
-#: mod/contacts.php:552
-msgid "Toggle Blocked status"
-msgstr ""
-
-#: mod/contacts.php:556 mod/contacts.php:629 mod/contacts.php:805
-msgid "Unignore"
-msgstr ""
-
-#: mod/contacts.php:556 mod/contacts.php:629 mod/contacts.php:805
-#: mod/notifications.php:54 mod/notifications.php:179 mod/notifications.php:259
-msgid "Ignore"
-msgstr ""
-
-#: mod/contacts.php:559
-msgid "Toggle Ignored status"
-msgstr ""
-
-#: mod/contacts.php:564 mod/contacts.php:806
-msgid "Unarchive"
-msgstr ""
-
-#: mod/contacts.php:564 mod/contacts.php:806
-msgid "Archive"
-msgstr ""
-
-#: mod/contacts.php:567
-msgid "Toggle Archive status"
-msgstr ""
-
-#: mod/contacts.php:571
-msgid "Repair"
-msgstr ""
-
-#: mod/contacts.php:574
-msgid "Advanced Contact Settings"
-msgstr ""
-
-#: mod/contacts.php:581
+#: mod/contacts.php:566
 msgid "Communications lost with this contact!"
 msgstr ""
 
-#: mod/contacts.php:584
+#: mod/contacts.php:569
 msgid "Fetch further information for feeds"
 msgstr ""
 
-#: mod/contacts.php:585 mod/admin.php:632
+#: mod/contacts.php:570 mod/admin.php:654
 msgid "Disabled"
 msgstr ""
 
-#: mod/contacts.php:585
+#: mod/contacts.php:570
 msgid "Fetch information"
 msgstr ""
 
-#: mod/contacts.php:585
+#: mod/contacts.php:570
 msgid "Fetch information and keywords"
 msgstr ""
 
-#: mod/contacts.php:598
-msgid "Contact Editor"
-msgstr ""
-
-#: mod/contacts.php:600 mod/manage.php:110 mod/fsuggest.php:107
-#: mod/message.php:336 mod/message.php:565 mod/crepair.php:191
-#: mod/events.php:566 mod/content.php:712 mod/install.php:250
-#: mod/install.php:288 mod/mood.php:137 mod/profiles.php:683
-#: mod/localtime.php:45 mod/poke.php:199 mod/invite.php:140 mod/photos.php:1129
-#: mod/photos.php:1253 mod/photos.php:1571 mod/photos.php:1622
-#: mod/photos.php:1670 mod/photos.php:1758 object/Item.php:707
+#: mod/contacts.php:586 mod/manage.php:143 mod/fsuggest.php:107
+#: mod/message.php:342 mod/message.php:525 mod/crepair.php:196
+#: mod/events.php:574 mod/content.php:712 mod/install.php:261
+#: mod/install.php:299 mod/mood.php:137 mod/profiles.php:696
+#: mod/localtime.php:45 mod/poke.php:198 mod/invite.php:140 mod/photos.php:1137
+#: mod/photos.php:1261 mod/photos.php:1579 mod/photos.php:1630
+#: mod/photos.php:1678 mod/photos.php:1766 object/Item.php:710
 #: view/theme/cleanzero/config.php:80 view/theme/dispy/config.php:70
 #: view/theme/quattro/config.php:64 view/theme/diabook/config.php:148
-#: view/theme/diabook/theme.php:633 view/theme/vier/config.php:107
-#: view/theme/duepuntozero/config.php:59
+#: view/theme/diabook/theme.php:633 view/theme/clean/config.php:83
+#: view/theme/vier/config.php:107 view/theme/duepuntozero/config.php:59
 msgid "Submit"
 msgstr ""
 
-#: mod/contacts.php:601
+#: mod/contacts.php:587
 msgid "Profile Visibility"
 msgstr ""
 
-#: mod/contacts.php:602
+#: mod/contacts.php:588
 #, php-format
 msgid ""
 "Please choose the profile you would like to display to %s when viewing your "
 "profile securely."
 msgstr ""
 
-#: mod/contacts.php:603
+#: mod/contacts.php:589
 msgid "Contact Information / Notes"
 msgstr ""
 
-#: mod/contacts.php:604
+#: mod/contacts.php:590
 msgid "Edit contact notes"
 msgstr ""
 
-#: mod/contacts.php:609 mod/contacts.php:844 mod/viewcontacts.php:64
-#: mod/nogroup.php:40
+#: mod/contacts.php:595 mod/contacts.php:977 mod/viewcontacts.php:97
+#: mod/nogroup.php:41
 #, php-format
 msgid "Visit %s's profile [%s]"
 msgstr ""
 
-#: mod/contacts.php:610
+#: mod/contacts.php:596
 msgid "Block/Unblock contact"
 msgstr ""
 
-#: mod/contacts.php:611
+#: mod/contacts.php:597
 msgid "Ignore contact"
 msgstr ""
 
-#: mod/contacts.php:612
+#: mod/contacts.php:598
 msgid "Repair URL settings"
 msgstr ""
 
-#: mod/contacts.php:613
+#: mod/contacts.php:599
 msgid "View conversations"
 msgstr ""
 
-#: mod/contacts.php:615
+#: mod/contacts.php:601
 msgid "Delete contact"
 msgstr ""
 
-#: mod/contacts.php:619
+#: mod/contacts.php:605
 msgid "Last update:"
 msgstr ""
 
-#: mod/contacts.php:621
+#: mod/contacts.php:607
 msgid "Update public posts"
 msgstr ""
 
-#: mod/contacts.php:623 mod/admin.php:1590
+#: mod/contacts.php:609 mod/admin.php:1653
 msgid "Update now"
 msgstr ""
 
-#: mod/contacts.php:625 mod/dirfind.php:141 include/contact_widgets.php:32
-#: include/conversation.php:924
+#: mod/contacts.php:611 mod/dirfind.php:190 mod/allfriends.php:60
+#: mod/match.php:71 mod/suggest.php:82 include/contact_widgets.php:32
+#: include/Contact.php:321 include/conversation.php:924
 msgid "Connect/Follow"
 msgstr ""
 
-#: mod/contacts.php:632
+#: mod/contacts.php:614 mod/contacts.php:805 mod/contacts.php:864
+#: mod/admin.php:1117
+msgid "Unblock"
+msgstr ""
+
+#: mod/contacts.php:614 mod/contacts.php:805 mod/contacts.php:864
+#: mod/admin.php:1116
+msgid "Block"
+msgstr ""
+
+#: mod/contacts.php:615 mod/contacts.php:806 mod/contacts.php:871
+msgid "Unignore"
+msgstr ""
+
+#: mod/contacts.php:615 mod/contacts.php:806 mod/contacts.php:871
+#: mod/notifications.php:54 mod/notifications.php:179 mod/notifications.php:259
+msgid "Ignore"
+msgstr ""
+
+#: mod/contacts.php:618
 msgid "Currently blocked"
 msgstr ""
 
-#: mod/contacts.php:633
+#: mod/contacts.php:619
 msgid "Currently ignored"
 msgstr ""
 
-#: mod/contacts.php:634
+#: mod/contacts.php:620
 msgid "Currently archived"
 msgstr ""
 
-#: mod/contacts.php:635 mod/notifications.php:172 mod/notifications.php:251
+#: mod/contacts.php:621 mod/notifications.php:172 mod/notifications.php:251
 msgid "Hide this contact from others"
 msgstr ""
 
-#: mod/contacts.php:635
+#: mod/contacts.php:621
 msgid ""
 "Replies/likes to your public posts <strong>may</strong> still be visible"
 msgstr ""
 
-#: mod/contacts.php:636
+#: mod/contacts.php:622
 msgid "Notification for new posts"
 msgstr ""
 
-#: mod/contacts.php:636
+#: mod/contacts.php:622
 msgid "Send a notification of every new post of this contact"
 msgstr ""
 
-#: mod/contacts.php:639
+#: mod/contacts.php:625
 msgid "Blacklisted keywords"
 msgstr ""
 
-#: mod/contacts.php:639
+#: mod/contacts.php:625
 msgid ""
 "Comma separated list of keywords that should not be converted to hashtags, "
 "when \"Fetch information and keywords\" is selected"
 msgstr ""
 
-#: mod/contacts.php:646 mod/follow.php:103 mod/notifications.php:255
+#: mod/contacts.php:632 mod/follow.php:121 mod/notifications.php:255
 msgid "Profile URL"
 msgstr ""
 
-#: mod/contacts.php:692
+#: mod/contacts.php:635 mod/follow.php:125 mod/notifications.php:244
+#: mod/events.php:566 mod/directory.php:145 include/identity.php:304
+#: include/bb2diaspora.php:170 include/event.php:36 include/event.php:60
+msgid "Location:"
+msgstr ""
+
+#: mod/contacts.php:637 mod/follow.php:127 mod/notifications.php:246
+#: mod/directory.php:153 include/identity.php:313 include/identity.php:621
+msgid "About:"
+msgstr ""
+
+#: mod/contacts.php:639 mod/follow.php:129 mod/notifications.php:248
+#: include/identity.php:615
+msgid "Tags:"
+msgstr ""
+
+#: mod/contacts.php:684
 msgid "Suggestions"
 msgstr ""
 
-#: mod/contacts.php:695
+#: mod/contacts.php:687
 msgid "Suggest potential friends"
 msgstr ""
 
-#: mod/contacts.php:699 mod/group.php:192
+#: mod/contacts.php:692 mod/group.php:192
 msgid "All Contacts"
 msgstr ""
 
-#: mod/contacts.php:702
+#: mod/contacts.php:695
 msgid "Show all contacts"
 msgstr ""
 
-#: mod/contacts.php:706
+#: mod/contacts.php:700
 msgid "Unblocked"
 msgstr ""
 
-#: mod/contacts.php:709
+#: mod/contacts.php:703
 msgid "Only show unblocked contacts"
 msgstr ""
 
-#: mod/contacts.php:714
+#: mod/contacts.php:709
 msgid "Blocked"
 msgstr ""
 
-#: mod/contacts.php:717
+#: mod/contacts.php:712
 msgid "Only show blocked contacts"
 msgstr ""
 
-#: mod/contacts.php:722
+#: mod/contacts.php:718
 msgid "Ignored"
 msgstr ""
 
-#: mod/contacts.php:725
+#: mod/contacts.php:721
 msgid "Only show ignored contacts"
 msgstr ""
 
-#: mod/contacts.php:730
+#: mod/contacts.php:727
 msgid "Archived"
 msgstr ""
 
-#: mod/contacts.php:733
+#: mod/contacts.php:730
 msgid "Only show archived contacts"
 msgstr ""
 
-#: mod/contacts.php:738
+#: mod/contacts.php:736
 msgid "Hidden"
 msgstr ""
 
-#: mod/contacts.php:741
+#: mod/contacts.php:739
 msgid "Only show hidden contacts"
 msgstr ""
 
-#: mod/contacts.php:792 include/text.php:1005 include/nav.php:124
-#: include/nav.php:188 view/theme/diabook/theme.php:125
+#: mod/contacts.php:792 mod/contacts.php:840 mod/viewcontacts.php:116
+#: include/identity.php:732 include/identity.php:735 include/text.php:1012
+#: include/nav.php:123 include/nav.php:187 view/theme/diabook/theme.php:125
 msgid "Contacts"
 msgstr ""
 
@@ -419,37 +407,95 @@ msgstr ""
 msgid "Search your contacts"
 msgstr ""
 
-#: mod/contacts.php:797 mod/directory.php:63
+#: mod/contacts.php:797
 msgid "Finding: "
 msgstr ""
 
-#: mod/contacts.php:798 mod/directory.php:65 include/contact_widgets.php:34
+#: mod/contacts.php:798 mod/directory.php:210 include/contact_widgets.php:34
 msgid "Find"
 msgstr ""
 
-#: mod/contacts.php:803 mod/settings.php:146 mod/settings.php:660
+#: mod/contacts.php:804 mod/settings.php:146 mod/settings.php:676
 msgid "Update"
 msgstr ""
 
-#: mod/contacts.php:807 mod/group.php:171 mod/admin.php:1087
-#: mod/content.php:440 mod/content.php:743 mod/settings.php:697
-#: mod/photos.php:1715 object/Item.php:131 include/conversation.php:635
+#: mod/contacts.php:807 mod/contacts.php:878
+msgid "Archive"
+msgstr ""
+
+#: mod/contacts.php:807 mod/contacts.php:878
+msgid "Unarchive"
+msgstr ""
+
+#: mod/contacts.php:808 mod/group.php:171 mod/admin.php:1115
+#: mod/content.php:440 mod/content.php:743 mod/settings.php:713
+#: mod/photos.php:1723 object/Item.php:134 include/conversation.php:635
 msgid "Delete"
 msgstr ""
 
-#: mod/contacts.php:820
+#: mod/contacts.php:821 include/identity.php:677 include/nav.php:75
+msgid "Status"
+msgstr ""
+
+#: mod/contacts.php:824 include/identity.php:680
+msgid "Status Messages and Posts"
+msgstr ""
+
+#: mod/contacts.php:829 mod/profperm.php:104 mod/newmember.php:32
+#: include/identity.php:569 include/identity.php:655 include/identity.php:685
+#: include/nav.php:76 view/theme/diabook/theme.php:124
+msgid "Profile"
+msgstr ""
+
+#: mod/contacts.php:832 include/identity.php:688
+msgid "Profile Details"
+msgstr ""
+
+#: mod/contacts.php:843
+msgid "View all contacts"
+msgstr ""
+
+#: mod/contacts.php:849 mod/common.php:135
+msgid "Common Friends"
+msgstr ""
+
+#: mod/contacts.php:852
+msgid "View all common friends"
+msgstr ""
+
+#: mod/contacts.php:856
+msgid "Repair"
+msgstr ""
+
+#: mod/contacts.php:859
+msgid "Advanced Contact Settings"
+msgstr ""
+
+#: mod/contacts.php:867
+msgid "Toggle Blocked status"
+msgstr ""
+
+#: mod/contacts.php:874
+msgid "Toggle Ignored status"
+msgstr ""
+
+#: mod/contacts.php:881
+msgid "Toggle Archive status"
+msgstr ""
+
+#: mod/contacts.php:949
 msgid "Mutual Friendship"
 msgstr ""
 
-#: mod/contacts.php:824
+#: mod/contacts.php:953
 msgid "is a fan of yours"
 msgstr ""
 
-#: mod/contacts.php:828
+#: mod/contacts.php:957
 msgid "you are a fan of"
 msgstr ""
 
-#: mod/contacts.php:845 mod/nogroup.php:41
+#: mod/contacts.php:978 mod/nogroup.php:42
 msgid "Edit contact"
 msgstr ""
 
@@ -457,17 +503,17 @@ msgstr ""
 msgid "No profile"
 msgstr ""
 
-#: mod/manage.php:106
+#: mod/manage.php:139
 msgid "Manage Identities and/or Pages"
 msgstr ""
 
-#: mod/manage.php:107
+#: mod/manage.php:140
 msgid ""
 "Toggle between different identities or community/group pages which share "
 "your account details or which you have been granted \"manage\" permissions"
 msgstr ""
 
-#: mod/manage.php:108
+#: mod/manage.php:141
 msgid "Select an identity to manage: "
 msgstr ""
 
@@ -487,13 +533,7 @@ msgstr ""
 msgid "Profile Visibility Editor"
 msgstr ""
 
-#: mod/profperm.php:104 mod/newmember.php:32 include/identity.php:530
-#: include/identity.php:611 include/identity.php:641 include/nav.php:77
-#: view/theme/diabook/theme.php:124
-msgid "Profile"
-msgstr ""
-
-#: mod/profperm.php:106 mod/group.php:222
+#: mod/profperm.php:106 mod/group.php:223
 msgid "Click on a contact to add or remove."
 msgstr ""
 
@@ -506,14 +546,14 @@ msgid "All Contacts (with secure profile access)"
 msgstr ""
 
 #: mod/display.php:82 mod/display.php:283 mod/display.php:500
-#: mod/viewsrc.php:15 mod/admin.php:173 mod/admin.php:1132 mod/admin.php:1352
-#: mod/notice.php:15 include/items.php:4878
+#: mod/viewsrc.php:15 mod/admin.php:196 mod/admin.php:1160 mod/admin.php:1381
+#: mod/notice.php:15 include/items.php:4858
 msgid "Item not found."
 msgstr ""
 
-#: mod/display.php:211 mod/videos.php:189 mod/viewcontacts.php:19
-#: mod/community.php:18 mod/dfrn_request.php:777 mod/search.php:93
-#: mod/search.php:99 mod/directory.php:35 mod/photos.php:968
+#: mod/display.php:211 mod/videos.php:197 mod/viewcontacts.php:35
+#: mod/community.php:18 mod/dfrn_request.php:779 mod/search.php:93
+#: mod/search.php:99 mod/directory.php:37 mod/photos.php:976
 msgid "Public access denied."
 msgstr ""
 
@@ -556,8 +596,8 @@ msgid ""
 "join."
 msgstr ""
 
-#: mod/newmember.php:22 mod/admin.php:1184 mod/admin.php:1412
-#: mod/settings.php:99 include/nav.php:183 view/theme/diabook/theme.php:544
+#: mod/newmember.php:22 mod/admin.php:1212 mod/admin.php:1457
+#: mod/settings.php:99 include/nav.php:182 view/theme/diabook/theme.php:544
 #: view/theme/diabook/theme.php:648
 msgid "Settings"
 msgstr ""
@@ -581,7 +621,7 @@ msgid ""
 "potential friends know exactly how to find you."
 msgstr ""
 
-#: mod/newmember.php:36 mod/profile_photo.php:244 mod/profiles.php:696
+#: mod/newmember.php:36 mod/profile_photo.php:250 mod/profiles.php:709
 msgid "Upload Profile Photo"
 msgstr ""
 
@@ -680,7 +720,7 @@ msgid ""
 "hours."
 msgstr ""
 
-#: mod/newmember.php:66 include/group.php:270
+#: mod/newmember.php:66 include/group.php:283
 msgid "Groups"
 msgstr ""
 
@@ -738,86 +778,86 @@ msgid "Image uploaded but image cropping failed."
 msgstr ""
 
 #: mod/profile_photo.php:74 mod/profile_photo.php:81 mod/profile_photo.php:88
-#: mod/profile_photo.php:204 mod/profile_photo.php:296
-#: mod/profile_photo.php:305 mod/photos.php:70 mod/photos.php:184
-#: mod/photos.php:767 mod/photos.php:1237 mod/photos.php:1260
-#: mod/photos.php:1854 include/user.php:343 include/user.php:350
-#: include/user.php:357 view/theme/diabook/theme.php:500
+#: mod/profile_photo.php:210 mod/profile_photo.php:302
+#: mod/profile_photo.php:311 mod/photos.php:78 mod/photos.php:192
+#: mod/photos.php:775 mod/photos.php:1245 mod/photos.php:1268
+#: mod/photos.php:1862 include/user.php:345 include/user.php:352
+#: include/user.php:359 view/theme/diabook/theme.php:500
 msgid "Profile Photos"
 msgstr ""
 
 #: mod/profile_photo.php:77 mod/profile_photo.php:84 mod/profile_photo.php:91
-#: mod/profile_photo.php:308
+#: mod/profile_photo.php:314
 #, php-format
 msgid "Image size reduction [%s] failed."
 msgstr ""
 
-#: mod/profile_photo.php:118
+#: mod/profile_photo.php:124
 msgid ""
 "Shift-reload the page or clear browser cache if the new photo does not "
 "display immediately."
 msgstr ""
 
-#: mod/profile_photo.php:128
+#: mod/profile_photo.php:134
 msgid "Unable to process image"
 msgstr ""
 
-#: mod/profile_photo.php:144 mod/wall_upload.php:137 mod/photos.php:803
+#: mod/profile_photo.php:150 mod/wall_upload.php:151 mod/photos.php:811
 #, php-format
 msgid "Image exceeds size limit of %s"
 msgstr ""
 
-#: mod/profile_photo.php:153 mod/wall_upload.php:169 mod/photos.php:843
+#: mod/profile_photo.php:159 mod/wall_upload.php:183 mod/photos.php:851
 msgid "Unable to process image."
 msgstr ""
 
-#: mod/profile_photo.php:242
+#: mod/profile_photo.php:248
 msgid "Upload File:"
 msgstr ""
 
-#: mod/profile_photo.php:243
+#: mod/profile_photo.php:249
 msgid "Select a profile:"
 msgstr ""
 
-#: mod/profile_photo.php:245
+#: mod/profile_photo.php:251
 msgid "Upload"
 msgstr ""
 
-#: mod/profile_photo.php:248
+#: mod/profile_photo.php:254
 msgid "or"
 msgstr ""
 
-#: mod/profile_photo.php:248
+#: mod/profile_photo.php:254
 msgid "skip this step"
 msgstr ""
 
-#: mod/profile_photo.php:248
+#: mod/profile_photo.php:254
 msgid "select a photo from your photo albums"
 msgstr ""
 
-#: mod/profile_photo.php:262
+#: mod/profile_photo.php:268
 msgid "Crop Image"
 msgstr ""
 
-#: mod/profile_photo.php:263
+#: mod/profile_photo.php:269
 msgid "Please adjust the image cropping for optimum viewing."
 msgstr ""
 
-#: mod/profile_photo.php:265
+#: mod/profile_photo.php:271
 msgid "Done Editing"
 msgstr ""
 
-#: mod/profile_photo.php:299
+#: mod/profile_photo.php:305
 msgid "Image uploaded successfully."
 msgstr ""
 
-#: mod/profile_photo.php:301 mod/wall_upload.php:202 mod/photos.php:870
+#: mod/profile_photo.php:307 mod/wall_upload.php:216 mod/photos.php:878
 msgid "Image upload failed."
 msgstr ""
 
 #: mod/subthread.php:87 mod/tagger.php:62 mod/like.php:168
 #: include/conversation.php:130 include/conversation.php:266
-#: include/text.php:2031 include/diaspora.php:2140
+#: include/text.php:1993 include/diaspora.php:2146
 #: view/theme/diabook/theme.php:471
 msgid "photo"
 msgstr ""
@@ -825,7 +865,7 @@ msgstr ""
 #: mod/subthread.php:87 mod/tagger.php:62 mod/like.php:168 mod/like.php:346
 #: include/conversation.php:125 include/conversation.php:134
 #: include/conversation.php:261 include/conversation.php:270
-#: include/diaspora.php:2140 view/theme/diabook/theme.php:466
+#: include/diaspora.php:2146 view/theme/diabook/theme.php:466
 #: view/theme/diabook/theme.php:475
 msgid "status"
 msgstr ""
@@ -879,7 +919,7 @@ msgstr ""
 msgid "failed"
 msgstr ""
 
-#: mod/ostatus_subscribe.php:69 object/Item.php:232
+#: mod/ostatus_subscribe.php:69 object/Item.php:235
 msgid "ignored"
 msgstr ""
 
@@ -887,7 +927,7 @@ msgstr ""
 msgid "Keep this window open until done."
 msgstr ""
 
-#: mod/filer.php:30 include/conversation.php:1134 include/conversation.php:1152
+#: mod/filer.php:30 include/conversation.php:1133 include/conversation.php:1151
 msgid "Save to Folder:"
 msgstr ""
 
@@ -895,65 +935,58 @@ msgstr ""
 msgid "- select -"
 msgstr ""
 
-#: mod/filer.php:31 mod/editpost.php:108 mod/notes.php:61 include/text.php:997
+#: mod/filer.php:31 mod/editpost.php:109 mod/notes.php:61 include/text.php:1004
 msgid "Save"
 msgstr ""
 
-#: mod/follow.php:27
+#: mod/follow.php:18 mod/dfrn_request.php:863
+msgid "Submit Request"
+msgstr ""
+
+#: mod/follow.php:29
 msgid "You already added this contact."
 msgstr ""
 
-#: mod/follow.php:35
+#: mod/follow.php:38
+msgid "Diaspora support isn't enabled. Contact can't be added."
+msgstr ""
+
+#: mod/follow.php:45
+msgid "OStatus support is disabled. Contact can't be added."
+msgstr ""
+
+#: mod/follow.php:52
 msgid "The network type couldn't be detected. Contact can't be added."
 msgstr ""
 
-#: mod/follow.php:86 mod/dfrn_request.php:847
+#: mod/follow.php:104 mod/dfrn_request.php:849
 msgid "Please answer the following:"
 msgstr ""
 
-#: mod/follow.php:87 mod/dfrn_request.php:848
+#: mod/follow.php:105 mod/dfrn_request.php:850
 #, php-format
 msgid "Does %s know you?"
 msgstr ""
 
-#: mod/follow.php:87 mod/settings.php:1076 mod/settings.php:1082
-#: mod/settings.php:1090 mod/settings.php:1094 mod/settings.php:1099
-#: mod/settings.php:1105 mod/settings.php:1111 mod/settings.php:1117
-#: mod/settings.php:1143 mod/settings.php:1144 mod/settings.php:1145
-#: mod/settings.php:1146 mod/settings.php:1147 mod/dfrn_request.php:848
-#: mod/register.php:236 mod/profiles.php:658 mod/profiles.php:662
-#: mod/api.php:106
+#: mod/follow.php:105 mod/settings.php:1094 mod/settings.php:1100
+#: mod/settings.php:1108 mod/settings.php:1112 mod/settings.php:1117
+#: mod/settings.php:1123 mod/settings.php:1129 mod/settings.php:1135
+#: mod/settings.php:1161 mod/settings.php:1162 mod/settings.php:1163
+#: mod/settings.php:1164 mod/settings.php:1165 mod/dfrn_request.php:850
+#: mod/register.php:239 mod/profiles.php:658 mod/profiles.php:662
+#: mod/profiles.php:687 mod/api.php:106
 msgid "No"
 msgstr ""
 
-#: mod/follow.php:88 mod/dfrn_request.php:852
+#: mod/follow.php:106 mod/dfrn_request.php:854
 msgid "Add a personal note:"
 msgstr ""
 
-#: mod/follow.php:94 mod/dfrn_request.php:858
+#: mod/follow.php:112 mod/dfrn_request.php:860
 msgid "Your Identity Address:"
 msgstr ""
 
-#: mod/follow.php:97 mod/dfrn_request.php:861
-msgid "Submit Request"
-msgstr ""
-
-#: mod/follow.php:107 mod/notifications.php:244 mod/events.php:558
-#: mod/directory.php:152 include/identity.php:268 include/bb2diaspora.php:170
-#: include/event.php:42
-msgid "Location:"
-msgstr ""
-
-#: mod/follow.php:109 mod/notifications.php:246 mod/directory.php:160
-#: include/identity.php:277 include/identity.php:582
-msgid "About:"
-msgstr ""
-
-#: mod/follow.php:111 mod/notifications.php:248 include/identity.php:576
-msgid "Tags:"
-msgstr ""
-
-#: mod/follow.php:144
+#: mod/follow.php:162
 msgid "Contact added"
 msgstr ""
 
@@ -965,34 +998,34 @@ msgstr ""
 msgid "Empty post discarded."
 msgstr ""
 
-#: mod/item.php:461 mod/wall_upload.php:199 mod/wall_upload.php:213
-#: mod/wall_upload.php:220 include/Photo.php:954 include/Photo.php:969
+#: mod/item.php:460 mod/wall_upload.php:213 mod/wall_upload.php:227
+#: mod/wall_upload.php:234 include/Photo.php:954 include/Photo.php:969
 #: include/Photo.php:976 include/Photo.php:998 include/message.php:145
 msgid "Wall Photos"
 msgstr ""
 
-#: mod/item.php:835
+#: mod/item.php:834
 msgid "System error. Post not saved."
 msgstr ""
 
-#: mod/item.php:964
+#: mod/item.php:963
 #, php-format
 msgid ""
 "This message was sent to you by %s, a member of the Friendica social network."
 msgstr ""
 
-#: mod/item.php:966
+#: mod/item.php:965
 #, php-format
 msgid "You may visit them online at %s"
 msgstr ""
 
-#: mod/item.php:967
+#: mod/item.php:966
 msgid ""
 "Please contact the sender by replying to this post if you do not wish to "
 "receive these messages."
 msgstr ""
 
-#: mod/item.php:971
+#: mod/item.php:970
 #, php-format
 msgid "%s posted an update."
 msgstr ""
@@ -1021,7 +1054,7 @@ msgstr ""
 msgid "Create a group of contacts/friends."
 msgstr ""
 
-#: mod/group.php:94 mod/group.php:178 include/group.php:273
+#: mod/group.php:94 mod/group.php:178 include/group.php:289
 msgid "Group Name: "
 msgstr ""
 
@@ -1041,6 +1074,10 @@ msgstr ""
 msgid "Members"
 msgstr ""
 
+#: mod/group.php:193 mod/network.php:563 mod/content.php:130
+msgid "Group is empty"
+msgstr ""
+
 #: mod/apps.php:7 index.php:225
 msgid "You must be logged in to use addons. "
 msgstr ""
@@ -1059,7 +1096,7 @@ msgid "Profile not found."
 msgstr ""
 
 #: mod/dfrn_confirm.php:120 mod/fsuggest.php:20 mod/fsuggest.php:92
-#: mod/crepair.php:134
+#: mod/crepair.php:131
 msgid "Contact not found."
 msgstr ""
 
@@ -1139,7 +1176,7 @@ msgstr ""
 msgid "Unable to update your contact profile details on our system"
 msgstr ""
 
-#: mod/dfrn_confirm.php:753 mod/dfrn_request.php:732 include/items.php:4301
+#: mod/dfrn_confirm.php:753 mod/dfrn_request.php:734 include/items.php:4270
 msgid "[Name Withheld]"
 msgstr ""
 
@@ -1148,7 +1185,7 @@ msgstr ""
 msgid "%1$s has joined %2$s"
 msgstr ""
 
-#: mod/profile.php:21 include/identity.php:77
+#: mod/profile.php:21 include/identity.php:52
 msgid "Requested profile is not available."
 msgstr ""
 
@@ -1156,35 +1193,35 @@ msgstr ""
 msgid "Tips for New Members"
 msgstr ""
 
-#: mod/videos.php:115
+#: mod/videos.php:123
 msgid "Do you really want to delete this video?"
 msgstr ""
 
-#: mod/videos.php:120
+#: mod/videos.php:128
 msgid "Delete Video"
 msgstr ""
 
-#: mod/videos.php:199
+#: mod/videos.php:207
 msgid "No videos selected"
 msgstr ""
 
-#: mod/videos.php:300 mod/photos.php:1079
+#: mod/videos.php:308 mod/photos.php:1087
 msgid "Access to this item is restricted."
 msgstr ""
 
-#: mod/videos.php:375 include/text.php:1457
+#: mod/videos.php:383 include/text.php:1465
 msgid "View Video"
 msgstr ""
 
-#: mod/videos.php:382 mod/photos.php:1882
+#: mod/videos.php:390 mod/photos.php:1890
 msgid "View Album"
 msgstr ""
 
-#: mod/videos.php:391
+#: mod/videos.php:399
 msgid "Recent Videos"
 msgstr ""
 
-#: mod/videos.php:393
+#: mod/videos.php:401
 msgid "Upload New Videos"
 msgstr ""
 
@@ -1206,9 +1243,9 @@ msgstr ""
 msgid "Suggest a friend for %s"
 msgstr ""
 
-#: mod/wall_upload.php:19 mod/wall_upload.php:29 mod/wall_upload.php:76
-#: mod/wall_upload.php:110 mod/wall_upload.php:111 mod/wall_attach.php:16
-#: mod/wall_attach.php:21 mod/wall_attach.php:66 include/api.php:1692
+#: mod/wall_upload.php:20 mod/wall_upload.php:33 mod/wall_upload.php:86
+#: mod/wall_upload.php:122 mod/wall_upload.php:125 mod/wall_attach.php:17
+#: mod/wall_attach.php:25 mod/wall_attach.php:76 include/api.php:1733
 msgid "Invalid request."
 msgstr ""
 
@@ -1266,7 +1303,7 @@ msgid ""
 "Password reset failed."
 msgstr ""
 
-#: mod/lostpass.php:109 boot.php:1292
+#: mod/lostpass.php:109 boot.php:1307
 msgid "Password Reset"
 msgstr ""
 
@@ -1343,11 +1380,11 @@ msgid "Reset"
 msgstr ""
 
 #: mod/like.php:170 include/conversation.php:122 include/conversation.php:258
-#: include/text.php:2029 view/theme/diabook/theme.php:463
+#: include/text.php:1991 view/theme/diabook/theme.php:463
 msgid "event"
 msgstr ""
 
-#: mod/like.php:187 include/conversation.php:141 include/diaspora.php:2156
+#: mod/like.php:187 include/conversation.php:141 include/diaspora.php:2162
 #: view/theme/diabook/theme.php:480
 #, php-format
 msgid "%1$s likes %2$s's %3$s"
@@ -1373,26 +1410,22 @@ msgstr ""
 msgid "%1$s may attend %2$s's %3$s"
 msgstr ""
 
-#: mod/ping.php:233
+#: mod/ping.php:265
 msgid "{0} wants to be your friend"
 msgstr ""
 
-#: mod/ping.php:248
+#: mod/ping.php:280
 msgid "{0} sent you a message"
 msgstr ""
 
-#: mod/ping.php:263
+#: mod/ping.php:295
 msgid "{0} requested registration"
 msgstr ""
 
-#: mod/viewcontacts.php:41
+#: mod/viewcontacts.php:72
 msgid "No contacts."
 msgstr ""
 
-#: mod/viewcontacts.php:78 include/text.php:917
-msgid "View Contacts"
-msgstr ""
-
 #: mod/notifications.php:29
 msgid "Invalid request identifier."
 msgstr ""
@@ -1405,20 +1438,20 @@ msgstr ""
 msgid "System"
 msgstr ""
 
-#: mod/notifications.php:87 mod/admin.php:205 include/nav.php:155
+#: mod/notifications.php:87 mod/admin.php:228 include/nav.php:154
 msgid "Network"
 msgstr ""
 
-#: mod/notifications.php:93 mod/network.php:375
+#: mod/notifications.php:93 mod/network.php:381
 msgid "Personal"
 msgstr ""
 
-#: mod/notifications.php:99 include/nav.php:105 include/nav.php:158
+#: mod/notifications.php:99 include/nav.php:104 include/nav.php:157
 #: view/theme/diabook/theme.php:123
 msgid "Home"
 msgstr ""
 
-#: mod/notifications.php:105 include/nav.php:163
+#: mod/notifications.php:105 include/nav.php:162
 msgid "Introductions"
 msgstr ""
 
@@ -1451,7 +1484,7 @@ msgstr ""
 msgid "if applicable"
 msgstr ""
 
-#: mod/notifications.php:176 mod/notifications.php:257 mod/admin.php:1085
+#: mod/notifications.php:176 mod/notifications.php:257 mod/admin.php:1113
 msgid "Approve"
 msgstr ""
 
@@ -1501,8 +1534,8 @@ msgstr ""
 msgid "New Follower"
 msgstr ""
 
-#: mod/notifications.php:250 mod/directory.php:154 include/identity.php:270
-#: include/identity.php:541
+#: mod/notifications.php:250 mod/directory.php:147 include/identity.php:306
+#: include/identity.php:580
 msgid "Gender:"
 msgstr ""
 
@@ -1510,7 +1543,7 @@ msgstr ""
 msgid "No introductions."
 msgstr ""
 
-#: mod/notifications.php:269 include/nav.php:166
+#: mod/notifications.php:269 include/nav.php:165
 msgid "Notifications"
 msgstr ""
 
@@ -1623,197 +1656,193 @@ msgstr ""
 msgid "diaspora2bb: "
 msgstr ""
 
-#: mod/navigation.php:20 include/nav.php:34
+#: mod/navigation.php:19 include/nav.php:33
 msgid "Nothing new here"
 msgstr ""
 
-#: mod/navigation.php:24 include/nav.php:38
+#: mod/navigation.php:23 include/nav.php:37
 msgid "Clear notifications"
 msgstr ""
 
-#: mod/message.php:9 include/nav.php:175
+#: mod/message.php:15 include/nav.php:174
 msgid "New Message"
 msgstr ""
 
-#: mod/message.php:64 mod/wallmessage.php:56
+#: mod/message.php:70 mod/wallmessage.php:56
 msgid "No recipient selected."
 msgstr ""
 
-#: mod/message.php:68
+#: mod/message.php:74
 msgid "Unable to locate contact information."
 msgstr ""
 
-#: mod/message.php:71 mod/wallmessage.php:62
+#: mod/message.php:77 mod/wallmessage.php:62
 msgid "Message could not be sent."
 msgstr ""
 
-#: mod/message.php:74 mod/wallmessage.php:65
+#: mod/message.php:80 mod/wallmessage.php:65
 msgid "Message collection failure."
 msgstr ""
 
-#: mod/message.php:77 mod/wallmessage.php:68
+#: mod/message.php:83 mod/wallmessage.php:68
 msgid "Message sent."
 msgstr ""
 
-#: mod/message.php:183 include/nav.php:172
+#: mod/message.php:189 include/nav.php:171
 msgid "Messages"
 msgstr ""
 
-#: mod/message.php:208
+#: mod/message.php:214
 msgid "Do you really want to delete this message?"
 msgstr ""
 
-#: mod/message.php:228
+#: mod/message.php:234
 msgid "Message deleted."
 msgstr ""
 
-#: mod/message.php:259
+#: mod/message.php:265
 msgid "Conversation removed."
 msgstr ""
 
-#: mod/message.php:284 mod/message.php:292 mod/message.php:467
-#: mod/message.php:475 mod/wallmessage.php:127 mod/wallmessage.php:135
-#: include/conversation.php:1130 include/conversation.php:1148
+#: mod/message.php:290 mod/message.php:298 mod/message.php:427
+#: mod/message.php:435 mod/wallmessage.php:127 mod/wallmessage.php:135
+#: include/conversation.php:1129 include/conversation.php:1147
 msgid "Please enter a link URL:"
 msgstr ""
 
-#: mod/message.php:320 mod/wallmessage.php:142
+#: mod/message.php:326 mod/wallmessage.php:142
 msgid "Send Private Message"
 msgstr ""
 
-#: mod/message.php:321 mod/message.php:554 mod/wallmessage.php:144
+#: mod/message.php:327 mod/message.php:514 mod/wallmessage.php:144
 msgid "To:"
 msgstr ""
 
-#: mod/message.php:326 mod/message.php:556 mod/wallmessage.php:145
+#: mod/message.php:332 mod/message.php:516 mod/wallmessage.php:145
 msgid "Subject:"
 msgstr ""
 
-#: mod/message.php:330 mod/message.php:559 mod/wallmessage.php:151
+#: mod/message.php:336 mod/message.php:519 mod/wallmessage.php:151
 #: mod/invite.php:134
 msgid "Your message:"
 msgstr ""
 
-#: mod/message.php:333 mod/message.php:563 mod/wallmessage.php:154
-#: mod/editpost.php:109 include/conversation.php:1185
+#: mod/message.php:339 mod/message.php:523 mod/wallmessage.php:154
+#: mod/editpost.php:110 include/conversation.php:1184
 msgid "Upload photo"
 msgstr ""
 
-#: mod/message.php:334 mod/message.php:564 mod/wallmessage.php:155
-#: mod/editpost.php:113 include/conversation.php:1189
+#: mod/message.php:340 mod/message.php:524 mod/wallmessage.php:155
+#: mod/editpost.php:114 include/conversation.php:1188
 msgid "Insert web link"
 msgstr ""
 
-#: mod/message.php:335 mod/message.php:566 mod/content.php:501
-#: mod/content.php:885 mod/wallmessage.php:156 mod/editpost.php:123
-#: mod/photos.php:1602 object/Item.php:393 include/conversation.php:713
-#: include/conversation.php:1203
+#: mod/message.php:341 mod/message.php:526 mod/content.php:501
+#: mod/content.php:885 mod/wallmessage.php:156 mod/editpost.php:124
+#: mod/photos.php:1610 object/Item.php:396 include/conversation.php:713
+#: include/conversation.php:1202
 msgid "Please wait"
 msgstr ""
 
-#: mod/message.php:372
+#: mod/message.php:368
 msgid "No messages."
 msgstr ""
 
-#: mod/message.php:379
+#: mod/message.php:411
+msgid "Message not available."
+msgstr ""
+
+#: mod/message.php:481
+msgid "Delete message"
+msgstr ""
+
+#: mod/message.php:507 mod/message.php:582
+msgid "Delete conversation"
+msgstr ""
+
+#: mod/message.php:509
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr ""
+
+#: mod/message.php:513
+msgid "Send Reply"
+msgstr ""
+
+#: mod/message.php:555
 #, php-format
 msgid "Unknown sender - %s"
 msgstr ""
 
-#: mod/message.php:382
+#: mod/message.php:558
 #, php-format
 msgid "You and %s"
 msgstr ""
 
-#: mod/message.php:385
+#: mod/message.php:561
 #, php-format
 msgid "%s and You"
 msgstr ""
 
-#: mod/message.php:406 mod/message.php:547
-msgid "Delete conversation"
-msgstr ""
-
-#: mod/message.php:409
+#: mod/message.php:585
 msgid "D, d M Y - g:i A"
 msgstr ""
 
-#: mod/message.php:412
+#: mod/message.php:588
 #, php-format
 msgid "%d message"
 msgid_plural "%d messages"
 msgstr[0] ""
 msgstr[1] ""
 
-#: mod/message.php:451
-msgid "Message not available."
-msgstr ""
-
-#: mod/message.php:521
-msgid "Delete message"
-msgstr ""
-
-#: mod/message.php:549
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr ""
-
-#: mod/message.php:553
-msgid "Send Reply"
-msgstr ""
-
 #: mod/update_display.php:22 mod/update_community.php:18
 #: mod/update_notes.php:37 mod/update_profile.php:41 mod/update_network.php:25
 msgid "[Embedded content - reload page to view]"
 msgstr ""
 
-#: mod/crepair.php:107
+#: mod/crepair.php:104
 msgid "Contact settings applied."
 msgstr ""
 
-#: mod/crepair.php:109
+#: mod/crepair.php:106
 msgid "Contact update failed."
 msgstr ""
 
-#: mod/crepair.php:140
-msgid "Repair Contact Settings"
-msgstr ""
-
-#: mod/crepair.php:142
+#: mod/crepair.php:137
 msgid ""
 "<strong>WARNING: This is highly advanced</strong> and if you enter incorrect "
 "information your communications with this contact may stop working."
 msgstr ""
 
-#: mod/crepair.php:143
+#: mod/crepair.php:138
 msgid ""
 "Please use your browser 'Back' button <strong>now</strong> if you are "
 "uncertain what to do on this page."
 msgstr ""
 
-#: mod/crepair.php:149
-msgid "Return to contact editor"
-msgstr ""
-
-#: mod/crepair.php:160 mod/crepair.php:162
+#: mod/crepair.php:151 mod/crepair.php:153
 msgid "No mirroring"
 msgstr ""
 
-#: mod/crepair.php:160
+#: mod/crepair.php:151
 msgid "Mirror as forwarded posting"
 msgstr ""
 
-#: mod/crepair.php:160 mod/crepair.php:162
+#: mod/crepair.php:151 mod/crepair.php:153
 msgid "Mirror as my own posting"
 msgstr ""
 
+#: mod/crepair.php:167
+msgid "Return to contact editor"
+msgstr ""
+
 #: mod/crepair.php:169
 msgid "Refetch contact data"
 msgstr ""
 
-#: mod/crepair.php:170 mod/admin.php:1083 mod/admin.php:1095 mod/admin.php:1096
-#: mod/admin.php:1109 mod/settings.php:636 mod/settings.php:662
+#: mod/crepair.php:170 mod/admin.php:1111 mod/admin.php:1123 mod/admin.php:1124
+#: mod/admin.php:1137 mod/settings.php:652 mod/settings.php:678
 msgid "Name"
 msgstr ""
 
@@ -1853,17 +1882,17 @@ msgstr ""
 msgid "Remote Self"
 msgstr ""
 
-#: mod/crepair.php:181
+#: mod/crepair.php:182
 msgid "Mirror postings from this contact"
 msgstr ""
 
-#: mod/crepair.php:181
+#: mod/crepair.php:184
 msgid ""
 "Mark this contact as remote_self, this will cause friendica to repost new "
 "entries from this contact."
 msgstr ""
 
-#: mod/bookmarklet.php:12 boot.php:1278 include/nav.php:92
+#: mod/bookmarklet.php:12 boot.php:1293 include/nav.php:91
 msgid "Login"
 msgstr ""
 
@@ -1875,778 +1904,806 @@ msgstr ""
 msgid "Access denied."
 msgstr ""
 
-#: mod/dirfind.php:42
-#, php-format
-msgid "People Search - %s"
-msgstr ""
-
-#: mod/dirfind.php:139 mod/match.php:71 mod/suggest.php:92
-#: include/contact_widgets.php:10 include/identity.php:188
+#: mod/dirfind.php:188 mod/allfriends.php:75 mod/match.php:85
+#: mod/suggest.php:98 include/contact_widgets.php:10 include/identity.php:209
 msgid "Connect"
 msgstr ""
 
-#: mod/dirfind.php:140 include/Contact.php:237 include/conversation.php:912
+#: mod/dirfind.php:189 mod/allfriends.php:59 mod/match.php:70
+#: mod/directory.php:162 mod/suggest.php:81 include/Contact.php:307
+#: include/Contact.php:320 include/Contact.php:362 include/conversation.php:912
 #: include/conversation.php:926
 msgid "View Profile"
 msgstr ""
 
-#: mod/dirfind.php:159 mod/match.php:78
+#: mod/dirfind.php:218
+#, php-format
+msgid "People Search - %s"
+msgstr ""
+
+#: mod/dirfind.php:225 mod/match.php:105
 msgid "No matches"
 msgstr ""
 
-#: mod/fbrowser.php:32 include/identity.php:649 include/nav.php:78
+#: mod/fbrowser.php:32 include/identity.php:693 include/nav.php:77
 #: view/theme/diabook/theme.php:126
 msgid "Photos"
 msgstr ""
 
-#: mod/fbrowser.php:122
+#: mod/fbrowser.php:41 mod/fbrowser.php:62 mod/photos.php:62 mod/photos.php:192
+#: mod/photos.php:1119 mod/photos.php:1245 mod/photos.php:1268
+#: mod/photos.php:1838 mod/photos.php:1850 view/theme/diabook/theme.php:499
+msgid "Contact Photos"
+msgstr ""
+
+#: mod/fbrowser.php:125
 msgid "Files"
 msgstr ""
 
-#: mod/nogroup.php:59
+#: mod/nogroup.php:63
 msgid "Contacts who are not members of a group"
 msgstr ""
 
-#: mod/admin.php:57
+#: mod/admin.php:80
 msgid "Theme settings updated."
 msgstr ""
 
-#: mod/admin.php:104 mod/admin.php:687
+#: mod/admin.php:127 mod/admin.php:711
 msgid "Site"
 msgstr ""
 
-#: mod/admin.php:105 mod/admin.php:633 mod/admin.php:1078 mod/admin.php:1093
+#: mod/admin.php:128 mod/admin.php:655 mod/admin.php:1106 mod/admin.php:1121
 msgid "Users"
 msgstr ""
 
-#: mod/admin.php:106 mod/admin.php:1182 mod/admin.php:1242 mod/settings.php:66
+#: mod/admin.php:129 mod/admin.php:1210 mod/admin.php:1270 mod/settings.php:66
 msgid "Plugins"
 msgstr ""
 
-#: mod/admin.php:107 mod/admin.php:1410 mod/admin.php:1444
+#: mod/admin.php:130 mod/admin.php:1455 mod/admin.php:1506
 msgid "Themes"
 msgstr ""
 
-#: mod/admin.php:108
+#: mod/admin.php:131
 msgid "DB updates"
 msgstr ""
 
-#: mod/admin.php:109 mod/admin.php:200
+#: mod/admin.php:132 mod/admin.php:223
 msgid "Inspect Queue"
 msgstr ""
 
-#: mod/admin.php:124 mod/admin.php:133 mod/admin.php:1531
+#: mod/admin.php:147 mod/admin.php:156 mod/admin.php:1594
 msgid "Logs"
 msgstr ""
 
-#: mod/admin.php:125
+#: mod/admin.php:148
 msgid "probe address"
 msgstr ""
 
-#: mod/admin.php:126
+#: mod/admin.php:149
 msgid "check webfinger"
 msgstr ""
 
-#: mod/admin.php:131 include/nav.php:195
+#: mod/admin.php:154 include/nav.php:194
 msgid "Admin"
 msgstr ""
 
-#: mod/admin.php:132
+#: mod/admin.php:155
 msgid "Plugin Features"
 msgstr ""
 
-#: mod/admin.php:134
+#: mod/admin.php:157
 msgid "diagnostics"
 msgstr ""
 
-#: mod/admin.php:135
+#: mod/admin.php:158
 msgid "User registrations waiting for confirmation"
 msgstr ""
 
-#: mod/admin.php:199 mod/admin.php:249 mod/admin.php:686 mod/admin.php:1077
-#: mod/admin.php:1181 mod/admin.php:1241 mod/admin.php:1409 mod/admin.php:1443
-#: mod/admin.php:1530
+#: mod/admin.php:222 mod/admin.php:272 mod/admin.php:710 mod/admin.php:1105
+#: mod/admin.php:1209 mod/admin.php:1269 mod/admin.php:1454 mod/admin.php:1505
+#: mod/admin.php:1593
 msgid "Administration"
 msgstr ""
 
-#: mod/admin.php:202
+#: mod/admin.php:225
 msgid "ID"
 msgstr ""
 
-#: mod/admin.php:203
+#: mod/admin.php:226
 msgid "Recipient Name"
 msgstr ""
 
-#: mod/admin.php:204
+#: mod/admin.php:227
 msgid "Recipient Profile"
 msgstr ""
 
-#: mod/admin.php:206
+#: mod/admin.php:229
 msgid "Created"
 msgstr ""
 
-#: mod/admin.php:207
+#: mod/admin.php:230
 msgid "Last Tried"
 msgstr ""
 
-#: mod/admin.php:208
+#: mod/admin.php:231
 msgid ""
 "This page lists the content of the queue for outgoing postings. These are "
 "postings the initial delivery failed for. They will be resend later and "
 "eventually deleted if the delivery fails permanently."
 msgstr ""
 
-#: mod/admin.php:220 mod/admin.php:1031
+#: mod/admin.php:243 mod/admin.php:1059
 msgid "Normal Account"
 msgstr ""
 
-#: mod/admin.php:221 mod/admin.php:1032
+#: mod/admin.php:244 mod/admin.php:1060
 msgid "Soapbox Account"
 msgstr ""
 
-#: mod/admin.php:222 mod/admin.php:1033
+#: mod/admin.php:245 mod/admin.php:1061
 msgid "Community/Celebrity Account"
 msgstr ""
 
-#: mod/admin.php:223 mod/admin.php:1034
+#: mod/admin.php:246 mod/admin.php:1062
 msgid "Automatic Friend Account"
 msgstr ""
 
-#: mod/admin.php:224
+#: mod/admin.php:247
 msgid "Blog Account"
 msgstr ""
 
-#: mod/admin.php:225
+#: mod/admin.php:248
 msgid "Private Forum"
 msgstr ""
 
-#: mod/admin.php:244
+#: mod/admin.php:267
 msgid "Message queues"
 msgstr ""
 
-#: mod/admin.php:250
+#: mod/admin.php:273
 msgid "Summary"
 msgstr ""
 
-#: mod/admin.php:252
+#: mod/admin.php:275
 msgid "Registered users"
 msgstr ""
 
-#: mod/admin.php:254
+#: mod/admin.php:277
 msgid "Pending registrations"
 msgstr ""
 
-#: mod/admin.php:255
+#: mod/admin.php:278
 msgid "Version"
 msgstr ""
 
-#: mod/admin.php:260
+#: mod/admin.php:283
 msgid "Active plugins"
 msgstr ""
 
-#: mod/admin.php:283
+#: mod/admin.php:306
 msgid "Can not parse base url. Must have at least <scheme>://<domain>"
 msgstr ""
 
-#: mod/admin.php:556
+#: mod/admin.php:587
 msgid "RINO2 needs mcrypt php extension to work."
 msgstr ""
 
-#: mod/admin.php:564
+#: mod/admin.php:595
 msgid "Site settings updated."
 msgstr ""
 
-#: mod/admin.php:599 mod/settings.php:887
+#: mod/admin.php:619 mod/settings.php:903
 msgid "No special theme for mobile devices"
 msgstr ""
 
-#: mod/admin.php:616
+#: mod/admin.php:638
 msgid "No community page"
 msgstr ""
 
-#: mod/admin.php:617
+#: mod/admin.php:639
 msgid "Public postings from users of this site"
 msgstr ""
 
-#: mod/admin.php:618
+#: mod/admin.php:640
 msgid "Global community page"
 msgstr ""
 
-#: mod/admin.php:624
+#: mod/admin.php:646
 msgid "At post arrival"
 msgstr ""
 
-#: mod/admin.php:625 include/contact_selectors.php:56
+#: mod/admin.php:647 include/contact_selectors.php:56
 msgid "Frequently"
 msgstr ""
 
-#: mod/admin.php:626 include/contact_selectors.php:57
+#: mod/admin.php:648 include/contact_selectors.php:57
 msgid "Hourly"
 msgstr ""
 
-#: mod/admin.php:627 include/contact_selectors.php:58
+#: mod/admin.php:649 include/contact_selectors.php:58
 msgid "Twice daily"
 msgstr ""
 
-#: mod/admin.php:628 include/contact_selectors.php:59
+#: mod/admin.php:650 include/contact_selectors.php:59
 msgid "Daily"
 msgstr ""
 
-#: mod/admin.php:634
+#: mod/admin.php:656
 msgid "Users, Global Contacts"
 msgstr ""
 
-#: mod/admin.php:635
+#: mod/admin.php:657
 msgid "Users, Global Contacts/fallback"
 msgstr ""
 
-#: mod/admin.php:639
+#: mod/admin.php:661
 msgid "One month"
 msgstr ""
 
-#: mod/admin.php:640
+#: mod/admin.php:662
 msgid "Three months"
 msgstr ""
 
-#: mod/admin.php:641
+#: mod/admin.php:663
 msgid "Half a year"
 msgstr ""
 
-#: mod/admin.php:642
+#: mod/admin.php:664
 msgid "One year"
 msgstr ""
 
-#: mod/admin.php:647
+#: mod/admin.php:669
 msgid "Multi user instance"
 msgstr ""
 
-#: mod/admin.php:670
+#: mod/admin.php:692
 msgid "Closed"
 msgstr ""
 
-#: mod/admin.php:671
+#: mod/admin.php:693
 msgid "Requires approval"
 msgstr ""
 
-#: mod/admin.php:672
+#: mod/admin.php:694
 msgid "Open"
 msgstr ""
 
-#: mod/admin.php:676
+#: mod/admin.php:698
 msgid "No SSL policy, links will track page SSL state"
 msgstr ""
 
-#: mod/admin.php:677
+#: mod/admin.php:699
 msgid "Force all links to use SSL"
 msgstr ""
 
-#: mod/admin.php:678
+#: mod/admin.php:700
 msgid "Self-signed certificate, use SSL for local links only (discouraged)"
 msgstr ""
 
-#: mod/admin.php:688 mod/admin.php:1243 mod/admin.php:1445 mod/admin.php:1532
-#: mod/settings.php:634 mod/settings.php:744 mod/settings.php:788
-#: mod/settings.php:857 mod/settings.php:943 mod/settings.php:1175
+#: mod/admin.php:712 mod/admin.php:1271 mod/admin.php:1507 mod/admin.php:1595
+#: mod/settings.php:650 mod/settings.php:760 mod/settings.php:804
+#: mod/settings.php:873 mod/settings.php:960 mod/settings.php:1195
 msgid "Save Settings"
 msgstr ""
 
-#: mod/admin.php:689 mod/register.php:260
+#: mod/admin.php:713 mod/register.php:263
 msgid "Registration"
 msgstr ""
 
-#: mod/admin.php:690
+#: mod/admin.php:714
 msgid "File upload"
 msgstr ""
 
-#: mod/admin.php:691
+#: mod/admin.php:715
 msgid "Policies"
 msgstr ""
 
-#: mod/admin.php:692
+#: mod/admin.php:716
 msgid "Advanced"
 msgstr ""
 
-#: mod/admin.php:693
+#: mod/admin.php:717
 msgid "Auto Discovered Contact Directory"
 msgstr ""
 
-#: mod/admin.php:694
+#: mod/admin.php:718
 msgid "Performance"
 msgstr ""
 
-#: mod/admin.php:695
+#: mod/admin.php:719
 msgid ""
 "Relocate - WARNING: advanced function. Could make this server unreachable."
 msgstr ""
 
-#: mod/admin.php:698
+#: mod/admin.php:722
 msgid "Site name"
 msgstr ""
 
-#: mod/admin.php:699
+#: mod/admin.php:723
 msgid "Host name"
 msgstr ""
 
-#: mod/admin.php:700
+#: mod/admin.php:724
 msgid "Sender Email"
 msgstr ""
 
-#: mod/admin.php:700
+#: mod/admin.php:724
 msgid ""
 "The email address your server shall use to send notification emails from."
 msgstr ""
 
-#: mod/admin.php:701
+#: mod/admin.php:725
 msgid "Banner/Logo"
 msgstr ""
 
-#: mod/admin.php:702
+#: mod/admin.php:726
 msgid "Shortcut icon"
 msgstr ""
 
-#: mod/admin.php:702
+#: mod/admin.php:726
 msgid "Link to an icon that will be used for browsers."
 msgstr ""
 
-#: mod/admin.php:703
+#: mod/admin.php:727
 msgid "Touch icon"
 msgstr ""
 
-#: mod/admin.php:703
+#: mod/admin.php:727
 msgid "Link to an icon that will be used for tablets and mobiles."
 msgstr ""
 
-#: mod/admin.php:704
+#: mod/admin.php:728
 msgid "Additional Info"
 msgstr ""
 
-#: mod/admin.php:704
+#: mod/admin.php:728
 #, php-format
 msgid ""
 "For public servers: you can add additional information here that will be "
 "listed at %s/siteinfo."
 msgstr ""
 
-#: mod/admin.php:705
+#: mod/admin.php:729
 msgid "System language"
 msgstr ""
 
-#: mod/admin.php:706
+#: mod/admin.php:730
 msgid "System theme"
 msgstr ""
 
-#: mod/admin.php:706
+#: mod/admin.php:730
 msgid ""
 "Default system theme - may be over-ridden by user profiles - <a href='#' "
 "id='cnftheme'>change theme settings</a>"
 msgstr ""
 
-#: mod/admin.php:707
+#: mod/admin.php:731
 msgid "Mobile system theme"
 msgstr ""
 
-#: mod/admin.php:707
+#: mod/admin.php:731
 msgid "Theme for mobile devices"
 msgstr ""
 
-#: mod/admin.php:708
+#: mod/admin.php:732
 msgid "SSL link policy"
 msgstr ""
 
-#: mod/admin.php:708
+#: mod/admin.php:732
 msgid "Determines whether generated links should be forced to use SSL"
 msgstr ""
 
-#: mod/admin.php:709
+#: mod/admin.php:733
 msgid "Force SSL"
 msgstr ""
 
-#: mod/admin.php:709
+#: mod/admin.php:733
 msgid ""
 "Force all Non-SSL requests to SSL - Attention: on some systems it could lead "
 "to endless loops."
 msgstr ""
 
-#: mod/admin.php:710
+#: mod/admin.php:734
 msgid "Old style 'Share'"
 msgstr ""
 
-#: mod/admin.php:710
+#: mod/admin.php:734
 msgid "Deactivates the bbcode element 'share' for repeating items."
 msgstr ""
 
-#: mod/admin.php:711
+#: mod/admin.php:735
 msgid "Hide help entry from navigation menu"
 msgstr ""
 
-#: mod/admin.php:711
+#: mod/admin.php:735
 msgid ""
 "Hides the menu entry for the Help pages from the navigation menu. You can "
 "still access it calling /help directly."
 msgstr ""
 
-#: mod/admin.php:712
+#: mod/admin.php:736
 msgid "Single user instance"
 msgstr ""
 
-#: mod/admin.php:712
+#: mod/admin.php:736
 msgid "Make this instance multi-user or single-user for the named user"
 msgstr ""
 
-#: mod/admin.php:713
+#: mod/admin.php:737
 msgid "Maximum image size"
 msgstr ""
 
-#: mod/admin.php:713
+#: mod/admin.php:737
 msgid ""
 "Maximum size in bytes of uploaded images. Default is 0, which means no "
 "limits."
 msgstr ""
 
-#: mod/admin.php:714
+#: mod/admin.php:738
 msgid "Maximum image length"
 msgstr ""
 
-#: mod/admin.php:714
+#: mod/admin.php:738
 msgid ""
 "Maximum length in pixels of the longest side of uploaded images. Default is "
 "-1, which means no limits."
 msgstr ""
 
-#: mod/admin.php:715
+#: mod/admin.php:739
 msgid "JPEG image quality"
 msgstr ""
 
-#: mod/admin.php:715
+#: mod/admin.php:739
 msgid ""
 "Uploaded JPEGS will be saved at this quality setting [0-100]. Default is "
 "100, which is full quality."
 msgstr ""
 
-#: mod/admin.php:717
+#: mod/admin.php:741
 msgid "Register policy"
 msgstr ""
 
-#: mod/admin.php:718
+#: mod/admin.php:742
 msgid "Maximum Daily Registrations"
 msgstr ""
 
-#: mod/admin.php:718
+#: mod/admin.php:742
 msgid ""
 "If registration is permitted above, this sets the maximum number of new user "
 "registrations to accept per day.  If register is set to closed, this setting "
 "has no effect."
 msgstr ""
 
-#: mod/admin.php:719
+#: mod/admin.php:743
 msgid "Register text"
 msgstr ""
 
-#: mod/admin.php:719
+#: mod/admin.php:743
 msgid "Will be displayed prominently on the registration page."
 msgstr ""
 
-#: mod/admin.php:720
+#: mod/admin.php:744
 msgid "Accounts abandoned after x days"
 msgstr ""
 
-#: mod/admin.php:720
+#: mod/admin.php:744
 msgid ""
 "Will not waste system resources polling external sites for abandonded "
 "accounts. Enter 0 for no time limit."
 msgstr ""
 
-#: mod/admin.php:721
+#: mod/admin.php:745
 msgid "Allowed friend domains"
 msgstr ""
 
-#: mod/admin.php:721
+#: mod/admin.php:745
 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:722
+#: mod/admin.php:746
 msgid "Allowed email domains"
 msgstr ""
 
-#: mod/admin.php:722
+#: mod/admin.php:746
 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:723
+#: mod/admin.php:747
 msgid "Block public"
 msgstr ""
 
-#: mod/admin.php:723
+#: mod/admin.php:747
 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:724
+#: mod/admin.php:748
 msgid "Force publish"
 msgstr ""
 
-#: mod/admin.php:724
+#: mod/admin.php:748
 msgid ""
 "Check to force all profiles on this site to be listed in the site directory."
 msgstr ""
 
-#: mod/admin.php:725
+#: mod/admin.php:749
 msgid "Global directory URL"
 msgstr ""
 
-#: mod/admin.php:725
+#: mod/admin.php:749
 msgid ""
 "URL to the global directory. If this is not set, the global directory is "
 "completely unavailable to the application."
 msgstr ""
 
-#: mod/admin.php:726
+#: mod/admin.php:750
 msgid "Allow threaded items"
 msgstr ""
 
-#: mod/admin.php:726
+#: mod/admin.php:750
 msgid "Allow infinite level threading for items on this site."
 msgstr ""
 
-#: mod/admin.php:727
+#: mod/admin.php:751
 msgid "Private posts by default for new users"
 msgstr ""
 
-#: mod/admin.php:727
+#: mod/admin.php:751
 msgid ""
 "Set default post permissions for all new members to the default privacy "
 "group rather than public."
 msgstr ""
 
-#: mod/admin.php:728
+#: mod/admin.php:752
 msgid "Don't include post content in email notifications"
 msgstr ""
 
-#: mod/admin.php:728
+#: mod/admin.php:752
 msgid ""
 "Don't include the content of a post/comment/private message/etc. in the "
 "email notifications that are sent out from this site, as a privacy measure."
 msgstr ""
 
-#: mod/admin.php:729
+#: mod/admin.php:753
 msgid "Disallow public access to addons listed in the apps menu."
 msgstr ""
 
-#: mod/admin.php:729
+#: mod/admin.php:753
 msgid ""
 "Checking this box will restrict addons listed in the apps menu to members "
 "only."
 msgstr ""
 
-#: mod/admin.php:730
+#: mod/admin.php:754
 msgid "Don't embed private images in posts"
 msgstr ""
 
-#: mod/admin.php:730
+#: mod/admin.php:754
 msgid ""
 "Don't replace locally-hosted private photos in posts with an embedded copy "
 "of the image. This means that contacts who receive posts containing private "
 "photos will have to authenticate and load each image, which may take a while."
 msgstr ""
 
-#: mod/admin.php:731
+#: mod/admin.php:755
 msgid "Allow Users to set remote_self"
 msgstr ""
 
-#: mod/admin.php:731
+#: mod/admin.php:755
 msgid ""
 "With checking this, every user is allowed to mark every contact as a "
 "remote_self in the repair contact dialog. Setting this flag on a contact "
 "causes mirroring every posting of that contact in the users stream."
 msgstr ""
 
-#: mod/admin.php:732
+#: mod/admin.php:756
 msgid "Block multiple registrations"
 msgstr ""
 
-#: mod/admin.php:732
+#: mod/admin.php:756
 msgid "Disallow users to register additional accounts for use as pages."
 msgstr ""
 
-#: mod/admin.php:733
+#: mod/admin.php:757
 msgid "OpenID support"
 msgstr ""
 
-#: mod/admin.php:733
+#: mod/admin.php:757
 msgid "OpenID support for registration and logins."
 msgstr ""
 
-#: mod/admin.php:734
+#: mod/admin.php:758
 msgid "Fullname check"
 msgstr ""
 
-#: mod/admin.php:734
+#: mod/admin.php:758
 msgid ""
 "Force users to register with a space between firstname and lastname in Full "
 "name, as an antispam measure"
 msgstr ""
 
-#: mod/admin.php:735
+#: mod/admin.php:759
 msgid "UTF-8 Regular expressions"
 msgstr ""
 
-#: mod/admin.php:735
+#: mod/admin.php:759
 msgid "Use PHP UTF8 regular expressions"
 msgstr ""
 
-#: mod/admin.php:736
+#: mod/admin.php:760
 msgid "Community Page Style"
 msgstr ""
 
-#: mod/admin.php:736
+#: mod/admin.php:760
 msgid ""
 "Type of community page to show. 'Global community' shows every public "
 "posting from an open distributed network that arrived on this server."
 msgstr ""
 
-#: mod/admin.php:737
+#: mod/admin.php:761
 msgid "Posts per user on community page"
 msgstr ""
 
-#: mod/admin.php:737
+#: mod/admin.php:761
 msgid ""
 "The maximum number of posts per user on the community page. (Not valid for "
 "'Global Community')"
 msgstr ""
 
-#: mod/admin.php:738
+#: mod/admin.php:762
 msgid "Enable OStatus support"
 msgstr ""
 
-#: mod/admin.php:738
+#: mod/admin.php:762
 msgid ""
 "Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All "
 "communications in OStatus are public, so privacy warnings will be "
 "occasionally displayed."
 msgstr ""
 
-#: mod/admin.php:739
+#: mod/admin.php:763
 msgid "OStatus conversation completion interval"
 msgstr ""
 
-#: mod/admin.php:739
+#: mod/admin.php:763
+msgid ""
+"How often shall the poller check for new entries in OStatus conversations? "
+"This can be a very ressource task."
+msgstr ""
+
+#: mod/admin.php:764
+msgid "OStatus support can only be enabled if threading is enabled."
+msgstr ""
+
+#: mod/admin.php:766
 msgid ""
-"How often shall the poller check for new entries in OStatus conversations? "
-"This can be a very ressource task."
+"Diaspora support can't be enabled because Friendica was installed into a sub "
+"directory."
 msgstr ""
 
-#: mod/admin.php:740
+#: mod/admin.php:767
 msgid "Enable Diaspora support"
 msgstr ""
 
-#: mod/admin.php:740
+#: mod/admin.php:767
 msgid "Provide built-in Diaspora network compatibility."
 msgstr ""
 
-#: mod/admin.php:741
+#: mod/admin.php:768
 msgid "Only allow Friendica contacts"
 msgstr ""
 
-#: mod/admin.php:741
+#: mod/admin.php:768
 msgid ""
 "All contacts must use Friendica protocols. All other built-in communication "
 "protocols disabled."
 msgstr ""
 
-#: mod/admin.php:742
+#: mod/admin.php:769
 msgid "Verify SSL"
 msgstr ""
 
-#: mod/admin.php:742
+#: mod/admin.php:769
 msgid ""
 "If you wish, you can turn on strict certificate checking. This will mean you "
 "cannot connect (at all) to self-signed SSL sites."
 msgstr ""
 
-#: mod/admin.php:743
+#: mod/admin.php:770
 msgid "Proxy user"
 msgstr ""
 
-#: mod/admin.php:744
+#: mod/admin.php:771
 msgid "Proxy URL"
 msgstr ""
 
-#: mod/admin.php:745
+#: mod/admin.php:772
 msgid "Network timeout"
 msgstr ""
 
-#: mod/admin.php:745
+#: mod/admin.php:772
 msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
 msgstr ""
 
-#: mod/admin.php:746
+#: mod/admin.php:773
 msgid "Delivery interval"
 msgstr ""
 
-#: mod/admin.php:746
+#: mod/admin.php:773
 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:747
+#: mod/admin.php:774
 msgid "Poll interval"
 msgstr ""
 
-#: mod/admin.php:747
+#: mod/admin.php:774
 msgid ""
 "Delay background polling processes by this many seconds to reduce system "
 "load. If 0, use delivery interval."
 msgstr ""
 
-#: mod/admin.php:748
+#: mod/admin.php:775
 msgid "Maximum Load Average"
 msgstr ""
 
-#: mod/admin.php:748
+#: mod/admin.php:775
 msgid ""
 "Maximum system load before delivery and poll processes are deferred - "
 "default 50."
 msgstr ""
 
-#: mod/admin.php:749
+#: mod/admin.php:776
 msgid "Maximum Load Average (Frontend)"
 msgstr ""
 
-#: mod/admin.php:749
+#: mod/admin.php:776
 msgid "Maximum system load before the frontend quits service - default 50."
 msgstr ""
 
-#: mod/admin.php:751
+#: mod/admin.php:777
+msgid "Maximum table size for optimization"
+msgstr ""
+
+#: mod/admin.php:777
+msgid ""
+"Maximum table size (in MB) for the automatic optimization - default 100 MB. "
+"Enter -1 to disable it."
+msgstr ""
+
+#: mod/admin.php:779
 msgid "Periodical check of global contacts"
 msgstr ""
 
-#: mod/admin.php:751
+#: mod/admin.php:779
 msgid ""
 "If enabled, the global contacts are checked periodically for missing or "
 "outdated data and the vitality of the contacts and servers."
 msgstr ""
 
-#: mod/admin.php:752
+#: mod/admin.php:780
 msgid "Days between requery"
 msgstr ""
 
-#: mod/admin.php:752
+#: mod/admin.php:780
 msgid "Number of days after which a server is requeried for his contacts."
 msgstr ""
 
-#: mod/admin.php:753
+#: mod/admin.php:781
 msgid "Discover contacts from other servers"
 msgstr ""
 
-#: mod/admin.php:753
+#: mod/admin.php:781
 msgid ""
 "Periodically query other servers for contacts. You can choose between "
 "'users': the users on the remote system, 'Global Contacts': active contacts "
@@ -2656,32 +2713,32 @@ msgid ""
 "Global Contacts'."
 msgstr ""
 
-#: mod/admin.php:754
+#: mod/admin.php:782
 msgid "Timeframe for fetching global contacts"
 msgstr ""
 
-#: mod/admin.php:754
+#: mod/admin.php:782
 msgid ""
 "When the discovery is activated, this value defines the timeframe for the "
 "activity of the global contacts that are fetched from other servers."
 msgstr ""
 
-#: mod/admin.php:755
+#: mod/admin.php:783
 msgid "Search the local directory"
 msgstr ""
 
-#: mod/admin.php:755
+#: mod/admin.php:783
 msgid ""
 "Search the local directory instead of the global directory. When searching "
 "locally, every search will be executed on the global directory in the "
 "background. This improves the search results when the search is repeated."
 msgstr ""
 
-#: mod/admin.php:757
+#: mod/admin.php:785
 msgid "Publish server information"
 msgstr ""
 
-#: mod/admin.php:757
+#: mod/admin.php:785
 msgid ""
 "If enabled, general server and usage data will be published. The data "
 "contains the name and version of the server, number of users with public "
@@ -2689,204 +2746,204 @@ msgid ""
 "href='http://the-federation.info/'>the-federation.info</a> for details."
 msgstr ""
 
-#: mod/admin.php:759
+#: mod/admin.php:787
 msgid "Use MySQL full text engine"
 msgstr ""
 
-#: mod/admin.php:759
+#: mod/admin.php:787
 msgid ""
 "Activates the full text engine. Speeds up search - but can only search for "
 "four and more characters."
 msgstr ""
 
-#: mod/admin.php:760
+#: mod/admin.php:788
 msgid "Suppress Language"
 msgstr ""
 
-#: mod/admin.php:760
+#: mod/admin.php:788
 msgid "Suppress language information in meta information about a posting."
 msgstr ""
 
-#: mod/admin.php:761
+#: mod/admin.php:789
 msgid "Suppress Tags"
 msgstr ""
 
-#: mod/admin.php:761
+#: mod/admin.php:789
 msgid "Suppress showing a list of hashtags at the end of the posting."
 msgstr ""
 
-#: mod/admin.php:762
+#: mod/admin.php:790
 msgid "Path to item cache"
 msgstr ""
 
-#: mod/admin.php:762
+#: mod/admin.php:790
 msgid "The item caches buffers generated bbcode and external images."
 msgstr ""
 
-#: mod/admin.php:763
+#: mod/admin.php:791
 msgid "Cache duration in seconds"
 msgstr ""
 
-#: mod/admin.php:763
+#: mod/admin.php:791
 msgid ""
 "How long should the cache files be hold? Default value is 86400 seconds (One "
 "day). To disable the item cache, set the value to -1."
 msgstr ""
 
-#: mod/admin.php:764
+#: mod/admin.php:792
 msgid "Maximum numbers of comments per post"
 msgstr ""
 
-#: mod/admin.php:764
+#: mod/admin.php:792
 msgid "How much comments should be shown for each post? Default value is 100."
 msgstr ""
 
-#: mod/admin.php:765
+#: mod/admin.php:793
 msgid "Path for lock file"
 msgstr ""
 
-#: mod/admin.php:765
+#: mod/admin.php:793
 msgid ""
 "The lock file is used to avoid multiple pollers at one time. Only define a "
 "folder here."
 msgstr ""
 
-#: mod/admin.php:766
+#: mod/admin.php:794
 msgid "Temp path"
 msgstr ""
 
-#: mod/admin.php:766
+#: mod/admin.php:794
 msgid ""
 "If you have a restricted system where the webserver can't access the system "
 "temp path, enter another path here."
 msgstr ""
 
-#: mod/admin.php:767
+#: mod/admin.php:795
 msgid "Base path to installation"
 msgstr ""
 
-#: mod/admin.php:767
+#: mod/admin.php:795
 msgid ""
 "If the system cannot detect the correct path to your installation, enter the "
 "correct path here. This setting should only be set if you are using a "
 "restricted system and symbolic links to your webroot."
 msgstr ""
 
-#: mod/admin.php:768
+#: mod/admin.php:796
 msgid "Disable picture proxy"
 msgstr ""
 
-#: mod/admin.php:768
+#: mod/admin.php:796
 msgid ""
 "The picture proxy increases performance and privacy. It shouldn't be used on "
 "systems with very low bandwith."
 msgstr ""
 
-#: mod/admin.php:769
+#: mod/admin.php:797
 msgid "Enable old style pager"
 msgstr ""
 
-#: mod/admin.php:769
+#: mod/admin.php:797
 msgid ""
 "The old style pager has page numbers but slows down massively the page speed."
 msgstr ""
 
-#: mod/admin.php:770
+#: mod/admin.php:798
 msgid "Only search in tags"
 msgstr ""
 
-#: mod/admin.php:770
+#: mod/admin.php:798
 msgid "On large systems the text search can slow down the system extremely."
 msgstr ""
 
-#: mod/admin.php:772
+#: mod/admin.php:800
 msgid "New base url"
 msgstr ""
 
-#: mod/admin.php:772
+#: mod/admin.php:800
 msgid ""
 "Change base url for this server. Sends relocate message to all DFRN contacts "
 "of all users."
 msgstr ""
 
-#: mod/admin.php:774
+#: mod/admin.php:802
 msgid "RINO Encryption"
 msgstr ""
 
-#: mod/admin.php:774
+#: mod/admin.php:802
 msgid "Encryption layer between nodes."
 msgstr ""
 
-#: mod/admin.php:775
+#: mod/admin.php:803
 msgid "Embedly API key"
 msgstr ""
 
-#: mod/admin.php:775
+#: mod/admin.php:803
 msgid ""
 "<a href='http://embed.ly'>Embedly</a> is used to fetch additional data for "
 "web pages. This is an optional parameter."
 msgstr ""
 
-#: mod/admin.php:793
+#: mod/admin.php:821
 msgid "Update has been marked successful"
 msgstr ""
 
-#: mod/admin.php:801
+#: mod/admin.php:829
 #, php-format
 msgid "Database structure update %s was successfully applied."
 msgstr ""
 
-#: mod/admin.php:804
+#: mod/admin.php:832
 #, php-format
 msgid "Executing of database structure update %s failed with error: %s"
 msgstr ""
 
-#: mod/admin.php:816
+#: mod/admin.php:844
 #, php-format
 msgid "Executing %s failed with error: %s"
 msgstr ""
 
-#: mod/admin.php:819
+#: mod/admin.php:847
 #, php-format
 msgid "Update %s was successfully applied."
 msgstr ""
 
-#: mod/admin.php:823
+#: mod/admin.php:851
 #, php-format
 msgid "Update %s did not return a status. Unknown if it succeeded."
 msgstr ""
 
-#: mod/admin.php:825
+#: mod/admin.php:853
 #, php-format
 msgid "There was no additional update function %s that needed to be called."
 msgstr ""
 
-#: mod/admin.php:844
+#: mod/admin.php:872
 msgid "No failed updates."
 msgstr ""
 
-#: mod/admin.php:845
+#: mod/admin.php:873
 msgid "Check database structure"
 msgstr ""
 
-#: mod/admin.php:850
+#: mod/admin.php:878
 msgid "Failed Updates"
 msgstr ""
 
-#: mod/admin.php:851
+#: mod/admin.php:879
 msgid ""
 "This does not include updates prior to 1139, which did not return a status."
 msgstr ""
 
-#: mod/admin.php:852
+#: mod/admin.php:880
 msgid "Mark success (if update was manually applied)"
 msgstr ""
 
-#: mod/admin.php:853
+#: mod/admin.php:881
 msgid "Attempt to execute this update step automatically"
 msgstr ""
 
-#: mod/admin.php:885
+#: mod/admin.php:913
 #, php-format
 msgid ""
 "\n"
@@ -2894,7 +2951,7 @@ msgid ""
 "\t\t\t\tthe administrator of %2$s has set up an account for you."
 msgstr ""
 
-#: mod/admin.php:888
+#: mod/admin.php:916
 #, php-format
 msgid ""
 "\n"
@@ -2930,287 +2987,296 @@ msgid ""
 "\t\t\tThank you and welcome to %4$s."
 msgstr ""
 
-#: mod/admin.php:920 include/user.php:421
+#: mod/admin.php:948 include/user.php:423
 #, php-format
 msgid "Registration details for %s"
 msgstr ""
 
-#: mod/admin.php:932
+#: mod/admin.php:960
 #, php-format
 msgid "%s user blocked/unblocked"
 msgid_plural "%s users blocked/unblocked"
 msgstr[0] ""
 msgstr[1] ""
 
-#: mod/admin.php:939
+#: mod/admin.php:967
 #, php-format
 msgid "%s user deleted"
 msgid_plural "%s users deleted"
 msgstr[0] ""
 msgstr[1] ""
 
-#: mod/admin.php:978
+#: mod/admin.php:1006
 #, php-format
 msgid "User '%s' deleted"
 msgstr ""
 
-#: mod/admin.php:986
+#: mod/admin.php:1014
 #, php-format
 msgid "User '%s' unblocked"
 msgstr ""
 
-#: mod/admin.php:986
+#: mod/admin.php:1014
 #, php-format
 msgid "User '%s' blocked"
 msgstr ""
 
-#: mod/admin.php:1079
+#: mod/admin.php:1107
 msgid "Add User"
 msgstr ""
 
-#: mod/admin.php:1080
+#: mod/admin.php:1108
 msgid "select all"
 msgstr ""
 
-#: mod/admin.php:1081
+#: mod/admin.php:1109
 msgid "User registrations waiting for confirm"
 msgstr ""
 
-#: mod/admin.php:1082
+#: mod/admin.php:1110
 msgid "User waiting for permanent deletion"
 msgstr ""
 
-#: mod/admin.php:1083
+#: mod/admin.php:1111
 msgid "Request date"
 msgstr ""
 
-#: mod/admin.php:1083 mod/admin.php:1095 mod/admin.php:1096 mod/admin.php:1111
+#: mod/admin.php:1111 mod/admin.php:1123 mod/admin.php:1124 mod/admin.php:1139
 #: include/contact_selectors.php:79 include/contact_selectors.php:86
 msgid "Email"
 msgstr ""
 
-#: mod/admin.php:1084
+#: mod/admin.php:1112
 msgid "No registrations."
 msgstr ""
 
-#: mod/admin.php:1086
+#: mod/admin.php:1114
 msgid "Deny"
 msgstr ""
 
-#: mod/admin.php:1090
+#: mod/admin.php:1118
 msgid "Site admin"
 msgstr ""
 
-#: mod/admin.php:1091
+#: mod/admin.php:1119
 msgid "Account expired"
 msgstr ""
 
-#: mod/admin.php:1094
+#: mod/admin.php:1122
 msgid "New User"
 msgstr ""
 
-#: mod/admin.php:1095 mod/admin.php:1096
+#: mod/admin.php:1123 mod/admin.php:1124
 msgid "Register date"
 msgstr ""
 
-#: mod/admin.php:1095 mod/admin.php:1096
+#: mod/admin.php:1123 mod/admin.php:1124
 msgid "Last login"
 msgstr ""
 
-#: mod/admin.php:1095 mod/admin.php:1096
+#: mod/admin.php:1123 mod/admin.php:1124
 msgid "Last item"
 msgstr ""
 
-#: mod/admin.php:1095
+#: mod/admin.php:1123
 msgid "Deleted since"
 msgstr ""
 
-#: mod/admin.php:1096 mod/settings.php:41
+#: mod/admin.php:1124 mod/settings.php:41
 msgid "Account"
 msgstr ""
 
-#: mod/admin.php:1098
+#: mod/admin.php:1126
 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:1099
+#: mod/admin.php:1127
 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:1109
+#: mod/admin.php:1137
 msgid "Name of the new user."
 msgstr ""
 
-#: mod/admin.php:1110
+#: mod/admin.php:1138
 msgid "Nickname"
 msgstr ""
 
-#: mod/admin.php:1110
+#: mod/admin.php:1138
 msgid "Nickname of the new user."
 msgstr ""
 
-#: mod/admin.php:1111
+#: mod/admin.php:1139
 msgid "Email address of the new user."
 msgstr ""
 
-#: mod/admin.php:1144
+#: mod/admin.php:1172
 #, php-format
 msgid "Plugin %s disabled."
 msgstr ""
 
-#: mod/admin.php:1148
+#: mod/admin.php:1176
 #, php-format
 msgid "Plugin %s enabled."
 msgstr ""
 
-#: mod/admin.php:1158 mod/admin.php:1381
+#: mod/admin.php:1186 mod/admin.php:1410
 msgid "Disable"
 msgstr ""
 
-#: mod/admin.php:1160 mod/admin.php:1383
+#: mod/admin.php:1188 mod/admin.php:1412
 msgid "Enable"
 msgstr ""
 
-#: mod/admin.php:1183 mod/admin.php:1411
+#: mod/admin.php:1211 mod/admin.php:1456
 msgid "Toggle"
 msgstr ""
 
-#: mod/admin.php:1191 mod/admin.php:1421
+#: mod/admin.php:1219 mod/admin.php:1466
 msgid "Author: "
 msgstr ""
 
-#: mod/admin.php:1192 mod/admin.php:1422
+#: mod/admin.php:1220 mod/admin.php:1467
 msgid "Maintainer: "
 msgstr ""
 
-#: mod/admin.php:1341
+#: mod/admin.php:1272
+#: view/smarty3/compiled/f835364006028b1061f37be121c9bd9db5fa50a9.file.admin_plugins.tpl.php:42
+msgid "Reload active plugins"
+msgstr ""
+
+#: mod/admin.php:1370
 msgid "No themes found."
 msgstr ""
 
-#: mod/admin.php:1403
+#: mod/admin.php:1448
 msgid "Screenshot"
 msgstr ""
 
-#: mod/admin.php:1449
+#: mod/admin.php:1508
+msgid "Reload active themes"
+msgstr ""
+
+#: mod/admin.php:1512
 msgid "[Experimental]"
 msgstr ""
 
-#: mod/admin.php:1450
+#: mod/admin.php:1513
 msgid "[Unsupported]"
 msgstr ""
 
-#: mod/admin.php:1477
+#: mod/admin.php:1540
 msgid "Log settings updated."
 msgstr ""
 
-#: mod/admin.php:1533
+#: mod/admin.php:1596
 msgid "Clear"
 msgstr ""
 
-#: mod/admin.php:1539
+#: mod/admin.php:1602
 msgid "Enable Debugging"
 msgstr ""
 
-#: mod/admin.php:1540
+#: mod/admin.php:1603
 msgid "Log file"
 msgstr ""
 
-#: mod/admin.php:1540
+#: mod/admin.php:1603
 msgid ""
 "Must be writable by web server. Relative to your Friendica top-level "
 "directory."
 msgstr ""
 
-#: mod/admin.php:1541
+#: mod/admin.php:1604
 msgid "Log level"
 msgstr ""
 
-#: mod/admin.php:1591 include/acl_selectors.php:347
+#: mod/admin.php:1654 include/acl_selectors.php:348
 msgid "Close"
 msgstr ""
 
-#: mod/admin.php:1597
+#: mod/admin.php:1660
 msgid "FTP Host"
 msgstr ""
 
-#: mod/admin.php:1598
+#: mod/admin.php:1661
 msgid "FTP Path"
 msgstr ""
 
-#: mod/admin.php:1599
+#: mod/admin.php:1662
 msgid "FTP User"
 msgstr ""
 
-#: mod/admin.php:1600
+#: mod/admin.php:1663
 msgid "FTP Password"
 msgstr ""
 
-#: mod/network.php:143
+#: mod/network.php:146
 #, php-format
 msgid "Search Results For: %s"
 msgstr ""
 
-#: mod/network.php:187 mod/search.php:25
+#: mod/network.php:191 mod/search.php:25
 msgid "Remove term"
 msgstr ""
 
-#: mod/network.php:196 mod/search.php:34 include/features.php:43
+#: mod/network.php:200 mod/search.php:34 include/features.php:79
 msgid "Saved Searches"
 msgstr ""
 
-#: mod/network.php:197 include/group.php:277
+#: mod/network.php:201 include/group.php:293
 msgid "add"
 msgstr ""
 
-#: mod/network.php:358
+#: mod/network.php:362
 msgid "Commented Order"
 msgstr ""
 
-#: mod/network.php:361
+#: mod/network.php:365
 msgid "Sort by Comment Date"
 msgstr ""
 
-#: mod/network.php:365
+#: mod/network.php:370
 msgid "Posted Order"
 msgstr ""
 
-#: mod/network.php:368
+#: mod/network.php:373
 msgid "Sort by Post Date"
 msgstr ""
 
-#: mod/network.php:378
+#: mod/network.php:384
 msgid "Posts that mention or involve you"
 msgstr ""
 
-#: mod/network.php:385
+#: mod/network.php:392
 msgid "New"
 msgstr ""
 
-#: mod/network.php:388
+#: mod/network.php:395
 msgid "Activity Stream - by date"
 msgstr ""
 
-#: mod/network.php:395
+#: mod/network.php:403
 msgid "Shared Links"
 msgstr ""
 
-#: mod/network.php:398
+#: mod/network.php:406
 msgid "Interesting Links"
 msgstr ""
 
-#: mod/network.php:405
+#: mod/network.php:414
 msgid "Starred"
 msgstr ""
 
-#: mod/network.php:408
+#: mod/network.php:417
 msgid "Favourite Posts"
 msgstr ""
 
-#: mod/network.php:466
+#: mod/network.php:476
 #, php-format
 msgid "Warning: This group contains %s member from an insecure network."
 msgid_plural ""
@@ -3218,42 +3284,28 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: mod/network.php:469
+#: mod/network.php:479
 msgid "Private messages to this group are at risk of public disclosure."
 msgstr ""
 
-#: mod/network.php:532 mod/content.php:119
+#: mod/network.php:546 mod/content.php:119
 msgid "No such group"
 msgstr ""
 
-#: mod/network.php:549 mod/content.php:130
-msgid "Group is empty"
-msgstr ""
-
-#: mod/network.php:560 mod/content.php:135
+#: mod/network.php:574 mod/content.php:135
 #, php-format
 msgid "Group: %s"
 msgstr ""
 
-#: mod/network.php:578
-#, php-format
-msgid "Contact: %s"
-msgstr ""
-
-#: mod/network.php:582
+#: mod/network.php:606
 msgid "Private messages to this person are at risk of public disclosure."
 msgstr ""
 
-#: mod/network.php:587
+#: mod/network.php:611
 msgid "Invalid contact."
 msgstr ""
 
-#: mod/allfriends.php:37
-#, php-format
-msgid "Friends of %s"
-msgstr ""
-
-#: mod/allfriends.php:44
+#: mod/allfriends.php:38
 msgid "No friends to display."
 msgstr ""
 
@@ -3265,257 +3317,268 @@ msgstr ""
 msgid "Event title and start time are required."
 msgstr ""
 
-#: mod/events.php:196
+#: mod/events.php:201
 msgid "Sun"
 msgstr ""
 
-#: mod/events.php:197
+#: mod/events.php:202
 msgid "Mon"
 msgstr ""
 
-#: mod/events.php:198
+#: mod/events.php:203
 msgid "Tue"
 msgstr ""
 
-#: mod/events.php:199
+#: mod/events.php:204
 msgid "Wed"
 msgstr ""
 
-#: mod/events.php:200
+#: mod/events.php:205
 msgid "Thu"
 msgstr ""
 
-#: mod/events.php:201
+#: mod/events.php:206
 msgid "Fri"
 msgstr ""
 
-#: mod/events.php:202
+#: mod/events.php:207
 msgid "Sat"
 msgstr ""
 
-#: mod/events.php:203 mod/settings.php:922 include/text.php:1266
+#: mod/events.php:208 mod/settings.php:939 include/text.php:1274
 msgid "Sunday"
 msgstr ""
 
-#: mod/events.php:204 mod/settings.php:922 include/text.php:1266
+#: mod/events.php:209 mod/settings.php:939 include/text.php:1274
 msgid "Monday"
 msgstr ""
 
-#: mod/events.php:205 include/text.php:1266
+#: mod/events.php:210 include/text.php:1274
 msgid "Tuesday"
 msgstr ""
 
-#: mod/events.php:206 include/text.php:1266
+#: mod/events.php:211 include/text.php:1274
 msgid "Wednesday"
 msgstr ""
 
-#: mod/events.php:207 include/text.php:1266
+#: mod/events.php:212 include/text.php:1274
 msgid "Thursday"
 msgstr ""
 
-#: mod/events.php:208 include/text.php:1266
+#: mod/events.php:213 include/text.php:1274
 msgid "Friday"
 msgstr ""
 
-#: mod/events.php:209 include/text.php:1266
+#: mod/events.php:214 include/text.php:1274
 msgid "Saturday"
 msgstr ""
 
-#: mod/events.php:210
+#: mod/events.php:215
 msgid "Jan"
 msgstr ""
 
-#: mod/events.php:211
+#: mod/events.php:216
 msgid "Feb"
 msgstr ""
 
-#: mod/events.php:212
+#: mod/events.php:217
 msgid "Mar"
 msgstr ""
 
-#: mod/events.php:213
+#: mod/events.php:218
 msgid "Apr"
 msgstr ""
 
-#: mod/events.php:214 mod/events.php:226 include/text.php:1270
+#: mod/events.php:219 mod/events.php:231 include/text.php:1278
 msgid "May"
 msgstr ""
 
-#: mod/events.php:215
+#: mod/events.php:220
 msgid "Jun"
 msgstr ""
 
-#: mod/events.php:216
+#: mod/events.php:221
 msgid "Jul"
 msgstr ""
 
-#: mod/events.php:217
+#: mod/events.php:222
 msgid "Aug"
 msgstr ""
 
-#: mod/events.php:218
+#: mod/events.php:223
 msgid "Sept"
 msgstr ""
 
-#: mod/events.php:219
+#: mod/events.php:224
 msgid "Oct"
 msgstr ""
 
-#: mod/events.php:220
+#: mod/events.php:225
 msgid "Nov"
 msgstr ""
 
-#: mod/events.php:221
+#: mod/events.php:226
 msgid "Dec"
 msgstr ""
 
-#: mod/events.php:222 include/text.php:1270
+#: mod/events.php:227 include/text.php:1278
 msgid "January"
 msgstr ""
 
-#: mod/events.php:223 include/text.php:1270
+#: mod/events.php:228 include/text.php:1278
 msgid "February"
 msgstr ""
 
-#: mod/events.php:224 include/text.php:1270
+#: mod/events.php:229 include/text.php:1278
 msgid "March"
 msgstr ""
 
-#: mod/events.php:225 include/text.php:1270
+#: mod/events.php:230 include/text.php:1278
 msgid "April"
 msgstr ""
 
-#: mod/events.php:227 include/text.php:1270
+#: mod/events.php:232 include/text.php:1278
 msgid "June"
 msgstr ""
 
-#: mod/events.php:228 include/text.php:1270
+#: mod/events.php:233 include/text.php:1278
 msgid "July"
 msgstr ""
 
-#: mod/events.php:229 include/text.php:1270
+#: mod/events.php:234 include/text.php:1278
 msgid "August"
 msgstr ""
 
-#: mod/events.php:230 include/text.php:1270
+#: mod/events.php:235 include/text.php:1278
 msgid "September"
 msgstr ""
 
-#: mod/events.php:231 include/text.php:1270
+#: mod/events.php:236 include/text.php:1278
 msgid "October"
 msgstr ""
 
-#: mod/events.php:232 include/text.php:1270
+#: mod/events.php:237 include/text.php:1278
 msgid "November"
 msgstr ""
 
-#: mod/events.php:233 include/text.php:1270
+#: mod/events.php:238 include/text.php:1278
 msgid "December"
 msgstr ""
 
-#: mod/events.php:234
+#: mod/events.php:239
 msgid "today"
 msgstr ""
 
-#: mod/events.php:235 include/datetime.php:273
+#: mod/events.php:240 include/datetime.php:288
 msgid "month"
 msgstr ""
 
-#: mod/events.php:236 include/datetime.php:274
+#: mod/events.php:241 include/datetime.php:289
 msgid "week"
 msgstr ""
 
-#: mod/events.php:237 include/datetime.php:275
+#: mod/events.php:242 include/datetime.php:290
 msgid "day"
 msgstr ""
 
-#: mod/events.php:372
+#: mod/events.php:377
 msgid "l, F j"
 msgstr ""
 
-#: mod/events.php:394
+#: mod/events.php:399
 msgid "Edit event"
 msgstr ""
 
-#: mod/events.php:416 include/text.php:1713 include/text.php:1720
+#: mod/events.php:421 include/text.php:1721 include/text.php:1728
 msgid "link to source"
 msgstr ""
 
-#: mod/events.php:451 include/identity.php:669 include/nav.php:80
-#: include/nav.php:141 view/theme/diabook/theme.php:127
+#: mod/events.php:456 include/identity.php:713 include/nav.php:79
+#: include/nav.php:140 view/theme/diabook/theme.php:127
 msgid "Events"
 msgstr ""
 
-#: mod/events.php:452
+#: mod/events.php:457
 msgid "Create New Event"
 msgstr ""
 
-#: mod/events.php:453
+#: mod/events.php:458
 msgid "Previous"
 msgstr ""
 
-#: mod/events.php:454 mod/install.php:209
+#: mod/events.php:459 mod/install.php:220
 msgid "Next"
 msgstr ""
 
-#: mod/events.php:546
+#: mod/events.php:554
 msgid "Event details"
 msgstr ""
 
-#: mod/events.php:547
+#: mod/events.php:555
 msgid "Starting date and Title are required."
 msgstr ""
 
-#: mod/events.php:548
+#: mod/events.php:556
 msgid "Event Starts:"
 msgstr ""
 
-#: mod/events.php:548 mod/events.php:560
+#: mod/events.php:556 mod/events.php:568
 msgid "Required"
 msgstr ""
 
-#: mod/events.php:550
+#: mod/events.php:558
 msgid "Finish date/time is not known or not relevant"
 msgstr ""
 
-#: mod/events.php:552
+#: mod/events.php:560
 msgid "Event Finishes:"
 msgstr ""
 
-#: mod/events.php:554
+#: mod/events.php:562
 msgid "Adjust for viewer timezone"
 msgstr ""
 
-#: mod/events.php:556
+#: mod/events.php:564
 msgid "Description:"
 msgstr ""
 
-#: mod/events.php:560
+#: mod/events.php:568
 msgid "Title:"
 msgstr ""
 
-#: mod/events.php:562
+#: mod/events.php:570
 msgid "Share this event"
 msgstr ""
 
-#: mod/events.php:564 mod/content.php:721 mod/editpost.php:144
-#: mod/photos.php:1623 mod/photos.php:1671 mod/photos.php:1759
-#: object/Item.php:716 include/conversation.php:1218
+#: mod/events.php:572 mod/content.php:721 mod/editpost.php:145
+#: mod/photos.php:1631 mod/photos.php:1679 mod/photos.php:1767
+#: object/Item.php:719 include/conversation.php:1217
 msgid "Preview"
 msgstr ""
 
-#: mod/content.php:439 mod/content.php:742 mod/photos.php:1714
-#: object/Item.php:130 include/conversation.php:634
+#: mod/credits.php:16
+msgid "Credits"
+msgstr ""
+
+#: mod/credits.php:17
+msgid ""
+"Friendica is a community project, that would not be possible without the "
+"help of many people. Here is a list of those who have contributed to the "
+"code or the translation of Friendica. Thank you all!"
+msgstr ""
+
+#: mod/content.php:439 mod/content.php:742 mod/photos.php:1722
+#: object/Item.php:133 include/conversation.php:634
 msgid "Select"
 msgstr ""
 
 #: mod/content.php:473 mod/content.php:854 mod/content.php:855
-#: object/Item.php:354 object/Item.php:355 include/conversation.php:675
+#: object/Item.php:357 object/Item.php:358 include/conversation.php:675
 #, php-format
 msgid "View %s's profile @ %s"
 msgstr ""
 
-#: mod/content.php:483 mod/content.php:866 object/Item.php:368
+#: mod/content.php:483 mod/content.php:866 object/Item.php:371
 #: include/conversation.php:695
 #, php-format
 msgid "%s from %s"
@@ -3525,132 +3588,134 @@ msgstr ""
 msgid "View in context"
 msgstr ""
 
-#: mod/content.php:605 object/Item.php:416
+#: mod/content.php:605 object/Item.php:419
 #, php-format
 msgid "%d comment"
 msgid_plural "%d comments"
 msgstr[0] ""
 msgstr[1] ""
 
-#: mod/content.php:607 object/Item.php:418 object/Item.php:431
-#: include/text.php:2035
+#: mod/content.php:607 object/Item.php:421 object/Item.php:434
+#: include/text.php:1997
 msgid "comment"
 msgid_plural "comments"
 msgstr[0] ""
 msgstr[1] ""
 
-#: mod/content.php:608 boot.php:770 object/Item.php:419
-#: include/contact_widgets.php:205 include/items.php:5198
+#: mod/content.php:608 boot.php:785 object/Item.php:422
+#: include/contact_widgets.php:242 include/forums.php:110
+#: include/items.php:5178 view/theme/vier/theme.php:264
 msgid "show more"
 msgstr ""
 
-#: mod/content.php:622 mod/photos.php:1410 object/Item.php:117
+#: mod/content.php:622 mod/photos.php:1418 object/Item.php:117
 msgid "Private Message"
 msgstr ""
 
-#: mod/content.php:686 mod/photos.php:1599 object/Item.php:250
+#: mod/content.php:686 mod/photos.php:1607 object/Item.php:253
 msgid "I like this (toggle)"
 msgstr ""
 
-#: mod/content.php:686 object/Item.php:250
+#: mod/content.php:686 object/Item.php:253
 msgid "like"
 msgstr ""
 
-#: mod/content.php:687 mod/photos.php:1600 object/Item.php:251
+#: mod/content.php:687 mod/photos.php:1608 object/Item.php:254
 msgid "I don't like this (toggle)"
 msgstr ""
 
-#: mod/content.php:687 object/Item.php:251
+#: mod/content.php:687 object/Item.php:254
 msgid "dislike"
 msgstr ""
 
-#: mod/content.php:689 object/Item.php:253
+#: mod/content.php:689 object/Item.php:256
 msgid "Share this"
 msgstr ""
 
-#: mod/content.php:689 object/Item.php:253
+#: mod/content.php:689 object/Item.php:256
 msgid "share"
 msgstr ""
 
-#: mod/content.php:709 mod/photos.php:1619 mod/photos.php:1667
-#: mod/photos.php:1755 object/Item.php:704
+#: mod/content.php:709 mod/photos.php:1627 mod/photos.php:1675
+#: mod/photos.php:1763 object/Item.php:707
 msgid "This is you"
 msgstr ""
 
-#: mod/content.php:711 mod/photos.php:1621 mod/photos.php:1669
-#: mod/photos.php:1757 boot.php:769 object/Item.php:390 object/Item.php:706
+#: mod/content.php:711 mod/photos.php:1629 mod/photos.php:1677
+#: mod/photos.php:1765 boot.php:784 object/Item.php:393 object/Item.php:709
 msgid "Comment"
 msgstr ""
 
-#: mod/content.php:713 object/Item.php:708
+#: mod/content.php:713 object/Item.php:711
 msgid "Bold"
 msgstr ""
 
-#: mod/content.php:714 object/Item.php:709
+#: mod/content.php:714 object/Item.php:712
 msgid "Italic"
 msgstr ""
 
-#: mod/content.php:715 object/Item.php:710
+#: mod/content.php:715 object/Item.php:713
 msgid "Underline"
 msgstr ""
 
-#: mod/content.php:716 object/Item.php:711
+#: mod/content.php:716 object/Item.php:714
 msgid "Quote"
 msgstr ""
 
-#: mod/content.php:717 object/Item.php:712
+#: mod/content.php:717 object/Item.php:715
 msgid "Code"
 msgstr ""
 
-#: mod/content.php:718 object/Item.php:713
+#: mod/content.php:718 object/Item.php:716
 msgid "Image"
 msgstr ""
 
-#: mod/content.php:719 object/Item.php:714
+#: mod/content.php:719 object/Item.php:717
 msgid "Link"
 msgstr ""
 
-#: mod/content.php:720 object/Item.php:715
+#: mod/content.php:720 object/Item.php:718
 msgid "Video"
 msgstr ""
 
-#: mod/content.php:730 mod/settings.php:696 object/Item.php:121
+#: mod/content.php:730 mod/settings.php:712 object/Item.php:122
+#: object/Item.php:124
 msgid "Edit"
 msgstr ""
 
-#: mod/content.php:755 object/Item.php:214
+#: mod/content.php:755 object/Item.php:217
 msgid "add star"
 msgstr ""
 
-#: mod/content.php:756 object/Item.php:215
+#: mod/content.php:756 object/Item.php:218
 msgid "remove star"
 msgstr ""
 
-#: mod/content.php:757 object/Item.php:216
+#: mod/content.php:757 object/Item.php:219
 msgid "toggle star status"
 msgstr ""
 
-#: mod/content.php:760 object/Item.php:219
+#: mod/content.php:760 object/Item.php:222
 msgid "starred"
 msgstr ""
 
-#: mod/content.php:761 object/Item.php:239
+#: mod/content.php:761 object/Item.php:242
 msgid "add tag"
 msgstr ""
 
-#: mod/content.php:765 object/Item.php:134
+#: mod/content.php:765 object/Item.php:137
 msgid "save to folder"
 msgstr ""
 
-#: mod/content.php:856 object/Item.php:356
+#: mod/content.php:856 object/Item.php:359
 msgid "to"
 msgstr ""
 
-#: mod/content.php:857 object/Item.php:358
+#: mod/content.php:857 object/Item.php:361
 msgid "Wall-to-Wall"
 msgstr ""
 
-#: mod/content.php:858 object/Item.php:359
+#: mod/content.php:858 object/Item.php:362
 msgid "via Wall-To-Wall:"
 msgstr ""
 
@@ -3668,303 +3733,322 @@ msgstr ""
 msgid "Please enter your password for verification:"
 msgstr ""
 
-#: mod/install.php:119
+#: mod/install.php:128
 msgid "Friendica Communications Server - Setup"
 msgstr ""
 
-#: mod/install.php:125
+#: mod/install.php:134
 msgid "Could not connect to database."
 msgstr ""
 
-#: mod/install.php:129
+#: mod/install.php:138
 msgid "Could not create table."
 msgstr ""
 
-#: mod/install.php:135
+#: mod/install.php:144
 msgid "Your Friendica site database has been installed."
 msgstr ""
 
-#: mod/install.php:140
+#: mod/install.php:149
 msgid ""
 "You may need to import the file \"database.sql\" manually using phpmyadmin "
 "or mysql."
 msgstr ""
 
-#: mod/install.php:141 mod/install.php:208 mod/install.php:537
+#: mod/install.php:150 mod/install.php:219 mod/install.php:577
 msgid "Please see the file \"INSTALL.txt\"."
 msgstr ""
 
-#: mod/install.php:153
+#: mod/install.php:162
 msgid "Database already in use."
 msgstr ""
 
-#: mod/install.php:205
+#: mod/install.php:216
 msgid "System check"
 msgstr ""
 
-#: mod/install.php:210
+#: mod/install.php:221
 msgid "Check again"
 msgstr ""
 
-#: mod/install.php:229
+#: mod/install.php:240
 msgid "Database connection"
 msgstr ""
 
-#: mod/install.php:230
+#: mod/install.php:241
 msgid ""
 "In order to install Friendica we need to know how to connect to your "
 "database."
 msgstr ""
 
-#: mod/install.php:231
+#: mod/install.php:242
 msgid ""
 "Please contact your hosting provider or site administrator if you have "
 "questions about these settings."
 msgstr ""
 
-#: mod/install.php:232
+#: mod/install.php:243
 msgid ""
 "The database you specify below should already exist. If it does not, please "
 "create it before continuing."
 msgstr ""
 
-#: mod/install.php:236
+#: mod/install.php:247
 msgid "Database Server Name"
 msgstr ""
 
-#: mod/install.php:237
+#: mod/install.php:248
 msgid "Database Login Name"
 msgstr ""
 
-#: mod/install.php:238
+#: mod/install.php:249
 msgid "Database Login Password"
 msgstr ""
 
-#: mod/install.php:239
+#: mod/install.php:250
 msgid "Database Name"
 msgstr ""
 
-#: mod/install.php:240 mod/install.php:279
+#: mod/install.php:251 mod/install.php:290
 msgid "Site administrator email address"
 msgstr ""
 
-#: mod/install.php:240 mod/install.php:279
+#: mod/install.php:251 mod/install.php:290
 msgid ""
 "Your account email address must match this in order to use the web admin "
 "panel."
 msgstr ""
 
-#: mod/install.php:244 mod/install.php:282
+#: mod/install.php:255 mod/install.php:293
 msgid "Please select a default timezone for your website"
 msgstr ""
 
-#: mod/install.php:269
+#: mod/install.php:280
 msgid "Site settings"
 msgstr ""
 
-#: mod/install.php:323
+#: mod/install.php:334
 msgid "Could not find a command line version of PHP in the web server PATH."
 msgstr ""
 
-#: mod/install.php:324
+#: mod/install.php:335
 msgid ""
 "If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron. See <a href='http://"
-"friendica.com/node/27'>'Activating scheduled tasks'</a>"
+"will not be able to run background polling via cron. See <a href='https://"
+"github.com/friendica/friendica/blob/master/doc/Install.md#set-up-the-"
+"poller'>'Setup the poller'</a>"
 msgstr ""
 
-#: mod/install.php:328
+#: mod/install.php:339
 msgid "PHP executable path"
 msgstr ""
 
-#: mod/install.php:328
+#: mod/install.php:339
 msgid ""
 "Enter full path to php executable. You can leave this blank to continue the "
 "installation."
 msgstr ""
 
-#: mod/install.php:333
+#: mod/install.php:344
 msgid "Command line PHP"
 msgstr ""
 
-#: mod/install.php:342
+#: mod/install.php:353
 msgid "PHP executable is not the php cli binary (could be cgi-fgci version)"
 msgstr ""
 
-#: mod/install.php:343
+#: mod/install.php:354
 msgid "Found PHP version: "
 msgstr ""
 
-#: mod/install.php:345
+#: mod/install.php:356
 msgid "PHP cli binary"
 msgstr ""
 
-#: mod/install.php:356
+#: mod/install.php:367
 msgid ""
 "The command line version of PHP on your system does not have "
 "\"register_argc_argv\" enabled."
 msgstr ""
 
-#: mod/install.php:357
+#: mod/install.php:368
 msgid "This is required for message delivery to work."
 msgstr ""
 
-#: mod/install.php:359
+#: mod/install.php:370
 msgid "PHP register_argc_argv"
 msgstr ""
 
-#: mod/install.php:380
+#: mod/install.php:391
 msgid ""
 "Error: the \"openssl_pkey_new\" function on this system is not able to "
 "generate encryption keys"
 msgstr ""
 
-#: mod/install.php:381
+#: mod/install.php:392
 msgid ""
 "If running under Windows, please see \"http://www.php.net/manual/en/openssl."
 "installation.php\"."
 msgstr ""
 
-#: mod/install.php:383
+#: mod/install.php:394
 msgid "Generate encryption keys"
 msgstr ""
 
-#: mod/install.php:390
+#: mod/install.php:401
 msgid "libCurl PHP module"
 msgstr ""
 
-#: mod/install.php:391
+#: mod/install.php:402
 msgid "GD graphics PHP module"
 msgstr ""
 
-#: mod/install.php:392
+#: mod/install.php:403
 msgid "OpenSSL PHP module"
 msgstr ""
 
-#: mod/install.php:393
+#: mod/install.php:404
 msgid "mysqli PHP module"
 msgstr ""
 
-#: mod/install.php:394
+#: mod/install.php:405
 msgid "mb_string PHP module"
 msgstr ""
 
-#: mod/install.php:395
+#: mod/install.php:406
 msgid "mcrypt PHP module"
 msgstr ""
 
-#: mod/install.php:400 mod/install.php:402
+#: mod/install.php:411 mod/install.php:413
 msgid "Apache mod_rewrite module"
 msgstr ""
 
-#: mod/install.php:400
+#: mod/install.php:411
 msgid ""
 "Error: Apache webserver mod-rewrite module is required but not installed."
 msgstr ""
 
-#: mod/install.php:408
+#: mod/install.php:419
 msgid "Error: libCURL PHP module required but not installed."
 msgstr ""
 
-#: mod/install.php:412
+#: mod/install.php:423
 msgid ""
 "Error: GD graphics PHP module with JPEG support required but not installed."
 msgstr ""
 
-#: mod/install.php:416
+#: mod/install.php:427
 msgid "Error: openssl PHP module required but not installed."
 msgstr ""
 
-#: mod/install.php:420
+#: mod/install.php:431
 msgid "Error: mysqli PHP module required but not installed."
 msgstr ""
 
-#: mod/install.php:424
+#: mod/install.php:435
 msgid "Error: mb_string PHP module required but not installed."
 msgstr ""
 
-#: mod/install.php:428
+#: mod/install.php:439
 msgid "Error: mcrypt PHP module required but not installed."
 msgstr ""
 
-#: mod/install.php:447
+#: mod/install.php:451
+msgid ""
+"Function mcrypt_create_iv() is not defined. This is needed to enable RINO2 "
+"encryption layer."
+msgstr ""
+
+#: mod/install.php:453
+msgid "mcrypt_create_iv() function"
+msgstr ""
+
+#: mod/install.php:469
 msgid ""
 "The web installer needs to be able to create a file called \".htconfig.php\" "
 "in the top folder of your web server and it is unable to do so."
 msgstr ""
 
-#: mod/install.php:448
+#: mod/install.php:470
 msgid ""
 "This is most often a permission setting, as the web server may not be able "
 "to write files in your folder - even if you can."
 msgstr ""
 
-#: mod/install.php:449
+#: mod/install.php:471
 msgid ""
 "At the end of this procedure, we will give you a text to save in a file "
 "named .htconfig.php in your Friendica top folder."
 msgstr ""
 
-#: mod/install.php:450
+#: mod/install.php:472
 msgid ""
 "You can alternatively skip this procedure and perform a manual installation. "
 "Please see the file \"INSTALL.txt\" for instructions."
 msgstr ""
 
-#: mod/install.php:453
+#: mod/install.php:475
 msgid ".htconfig.php is writable"
 msgstr ""
 
-#: mod/install.php:463
+#: mod/install.php:485
 msgid ""
 "Friendica uses the Smarty3 template engine to render its web views. Smarty3 "
 "compiles templates to PHP to speed up rendering."
 msgstr ""
 
-#: mod/install.php:464
+#: mod/install.php:486
 msgid ""
 "In order to store these compiled templates, the web server needs to have "
 "write access to the directory view/smarty3/ under the Friendica top level "
 "folder."
 msgstr ""
 
-#: mod/install.php:465
+#: mod/install.php:487
 msgid ""
 "Please ensure that the user that your web server runs as (e.g. www-data) has "
 "write access to this folder."
 msgstr ""
 
-#: mod/install.php:466
+#: mod/install.php:488
 msgid ""
 "Note: as a security measure, you should give the web server write access to "
 "view/smarty3/ only--not the template files (.tpl) that it contains."
 msgstr ""
 
-#: mod/install.php:469
+#: mod/install.php:491
 msgid "view/smarty3 is writable"
 msgstr ""
 
-#: mod/install.php:485
+#: mod/install.php:507
 msgid ""
 "Url rewrite in .htaccess is not working. Check your server configuration."
 msgstr ""
 
-#: mod/install.php:487
+#: mod/install.php:509
 msgid "Url rewrite is working"
 msgstr ""
 
-#: mod/install.php:496
+#: mod/install.php:526
+msgid "ImageMagick PHP extension is installed"
+msgstr ""
+
+#: mod/install.php:528
+msgid "ImageMagick supports GIF"
+msgstr ""
+
+#: mod/install.php:536
 msgid ""
 "The database configuration file \".htconfig.php\" could not be written. "
 "Please use the enclosed text to create a configuration file in your web "
 "server root."
 msgstr ""
 
-#: mod/install.php:535
+#: mod/install.php:575
 msgid "<h1>What next</h1>"
 msgstr ""
 
-#: mod/install.php:536
+#: mod/install.php:576
 msgid ""
 "IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
 msgstr ""
@@ -3993,7 +4077,7 @@ msgstr ""
 msgid "Help:"
 msgstr ""
 
-#: mod/help.php:36 include/nav.php:114 view/theme/vier/theme.php:259
+#: mod/help.php:36 include/nav.php:113 view/theme/vier/theme.php:302
 msgid "Help"
 msgstr ""
 
@@ -4015,35 +4099,35 @@ msgstr ""
 msgid "Welcome to %s"
 msgstr ""
 
-#: mod/wall_attach.php:83
+#: mod/wall_attach.php:94
 msgid "Sorry, maybe your upload is bigger than the PHP configuration allows"
 msgstr ""
 
-#: mod/wall_attach.php:83
+#: mod/wall_attach.php:94
 msgid "Or - did you try to upload an empty file?"
 msgstr ""
 
-#: mod/wall_attach.php:94
+#: mod/wall_attach.php:105
 #, php-format
 msgid "File exceeds size limit of %s"
 msgstr ""
 
-#: mod/wall_attach.php:145 mod/wall_attach.php:161
+#: mod/wall_attach.php:156 mod/wall_attach.php:172
 msgid "File upload failed."
 msgstr ""
 
-#: mod/match.php:19
-msgid "Profile Match"
-msgstr ""
-
-#: mod/match.php:28
+#: mod/match.php:33
 msgid "No keywords to match. Please add keywords to your default profile."
 msgstr ""
 
-#: mod/match.php:70
+#: mod/match.php:84
 msgid "is interested in:"
 msgstr ""
 
+#: mod/match.php:98
+msgid "Profile Match"
+msgstr ""
+
 #: mod/share.php:38
 msgid "link"
 msgstr ""
@@ -4052,16 +4136,16 @@ msgstr ""
 msgid "Not available."
 msgstr ""
 
-#: mod/community.php:32 include/nav.php:137 include/nav.php:139
+#: mod/community.php:32 include/nav.php:136 include/nav.php:138
 #: view/theme/diabook/theme.php:129
 msgid "Community"
 msgstr ""
 
-#: mod/community.php:62 mod/community.php:71 mod/search.php:218
+#: mod/community.php:62 mod/community.php:71 mod/search.php:228
 msgid "No results."
 msgstr ""
 
-#: mod/settings.php:34 mod/photos.php:109
+#: mod/settings.php:34 mod/photos.php:117
 msgid "everybody"
 msgstr ""
 
@@ -4073,11 +4157,11 @@ msgstr ""
 msgid "Display"
 msgstr ""
 
-#: mod/settings.php:60 mod/settings.php:839
+#: mod/settings.php:60 mod/settings.php:855
 msgid "Social Networks"
 msgstr ""
 
-#: mod/settings.php:72 include/nav.php:181
+#: mod/settings.php:72 include/nav.php:180
 msgid "Delegations"
 msgstr ""
 
@@ -4109,644 +4193,654 @@ msgstr ""
 msgid "Features updated"
 msgstr ""
 
-#: mod/settings.php:341
+#: mod/settings.php:343
 msgid "Relocate message has been send to your contacts"
 msgstr ""
 
-#: mod/settings.php:355 include/user.php:39
+#: mod/settings.php:357 include/user.php:39
 msgid "Passwords do not match. Password unchanged."
 msgstr ""
 
-#: mod/settings.php:360
+#: mod/settings.php:362
 msgid "Empty passwords are not allowed. Password unchanged."
 msgstr ""
 
-#: mod/settings.php:368
+#: mod/settings.php:370
 msgid "Wrong password."
 msgstr ""
 
-#: mod/settings.php:379
+#: mod/settings.php:381
 msgid "Password changed."
 msgstr ""
 
-#: mod/settings.php:381
+#: mod/settings.php:383
 msgid "Password update failed. Please try again."
 msgstr ""
 
-#: mod/settings.php:448
+#: mod/settings.php:452
 msgid " Please use a shorter name."
 msgstr ""
 
-#: mod/settings.php:450
+#: mod/settings.php:454
 msgid " Name too short."
 msgstr ""
 
-#: mod/settings.php:459
+#: mod/settings.php:463
 msgid "Wrong Password"
 msgstr ""
 
-#: mod/settings.php:464
+#: mod/settings.php:468
 msgid " Not valid email."
 msgstr ""
 
-#: mod/settings.php:470
+#: mod/settings.php:474
 msgid " Cannot change to that email."
 msgstr ""
 
-#: mod/settings.php:526
+#: mod/settings.php:530
 msgid "Private forum has no privacy permissions. Using default privacy group."
 msgstr ""
 
-#: mod/settings.php:530
+#: mod/settings.php:534
 msgid "Private forum has no privacy permissions and no default privacy group."
 msgstr ""
 
-#: mod/settings.php:560
+#: mod/settings.php:573
 msgid "Settings updated."
 msgstr ""
 
-#: mod/settings.php:633 mod/settings.php:659 mod/settings.php:695
+#: mod/settings.php:649 mod/settings.php:675 mod/settings.php:711
 msgid "Add application"
 msgstr ""
 
-#: mod/settings.php:637 mod/settings.php:663
+#: mod/settings.php:653 mod/settings.php:679
 msgid "Consumer Key"
 msgstr ""
 
-#: mod/settings.php:638 mod/settings.php:664
+#: mod/settings.php:654 mod/settings.php:680
 msgid "Consumer Secret"
 msgstr ""
 
-#: mod/settings.php:639 mod/settings.php:665
+#: mod/settings.php:655 mod/settings.php:681
 msgid "Redirect"
 msgstr ""
 
-#: mod/settings.php:640 mod/settings.php:666
+#: mod/settings.php:656 mod/settings.php:682
 msgid "Icon url"
 msgstr ""
 
-#: mod/settings.php:651
+#: mod/settings.php:667
 msgid "You can't edit this application."
 msgstr ""
 
-#: mod/settings.php:694
+#: mod/settings.php:710
 msgid "Connected Apps"
 msgstr ""
 
-#: mod/settings.php:698
+#: mod/settings.php:714
 msgid "Client key starts with"
 msgstr ""
 
-#: mod/settings.php:699
+#: mod/settings.php:715
 msgid "No name"
 msgstr ""
 
-#: mod/settings.php:700
+#: mod/settings.php:716
 msgid "Remove authorization"
 msgstr ""
 
-#: mod/settings.php:712
+#: mod/settings.php:728
 msgid "No Plugin settings configured"
 msgstr ""
 
-#: mod/settings.php:720
+#: mod/settings.php:736
 msgid "Plugin Settings"
 msgstr ""
 
-#: mod/settings.php:734
+#: mod/settings.php:750
 msgid "Off"
 msgstr ""
 
-#: mod/settings.php:734
+#: mod/settings.php:750
 msgid "On"
 msgstr ""
 
-#: mod/settings.php:742
+#: mod/settings.php:758
 msgid "Additional Features"
 msgstr ""
 
-#: mod/settings.php:752 mod/settings.php:756
+#: mod/settings.php:768 mod/settings.php:772
 msgid "General Social Media Settings"
 msgstr ""
 
-#: mod/settings.php:762
+#: mod/settings.php:778
 msgid "Disable intelligent shortening"
 msgstr ""
 
-#: mod/settings.php:764
+#: mod/settings.php:780
 msgid ""
 "Normally the system tries to find the best link to add to shortened posts. "
 "If this option is enabled then every shortened post will always point to the "
 "original friendica post."
 msgstr ""
 
-#: mod/settings.php:770
+#: mod/settings.php:786
 msgid "Automatically follow any GNU Social (OStatus) followers/mentioners"
 msgstr ""
 
-#: mod/settings.php:772
+#: mod/settings.php:788
 msgid ""
 "If you receive a message from an unknown OStatus user, this option decides "
 "what to do. If it is checked, a new contact will be created for every "
 "unknown user."
 msgstr ""
 
-#: mod/settings.php:781
+#: mod/settings.php:797
 msgid "Your legacy GNU Social account"
 msgstr ""
 
-#: mod/settings.php:783
+#: mod/settings.php:799
 msgid ""
 "If you enter your old GNU Social/Statusnet account name here (in the format "
 "user@domain.tld), your contacts will be added automatically. The field will "
 "be emptied when done."
 msgstr ""
 
-#: mod/settings.php:786
+#: mod/settings.php:802
 msgid "Repair OStatus subscriptions"
 msgstr ""
 
-#: mod/settings.php:795 mod/settings.php:796
+#: mod/settings.php:811 mod/settings.php:812
 #, php-format
 msgid "Built-in support for %s connectivity is %s"
 msgstr ""
 
-#: mod/settings.php:795 mod/dfrn_request.php:856
+#: mod/settings.php:811 mod/dfrn_request.php:858
 #: include/contact_selectors.php:80
 msgid "Diaspora"
 msgstr ""
 
-#: mod/settings.php:795 mod/settings.php:796
+#: mod/settings.php:811 mod/settings.php:812
 msgid "enabled"
 msgstr ""
 
-#: mod/settings.php:795 mod/settings.php:796
+#: mod/settings.php:811 mod/settings.php:812
 msgid "disabled"
 msgstr ""
 
-#: mod/settings.php:796
+#: mod/settings.php:812
 msgid "GNU Social (OStatus)"
 msgstr ""
 
-#: mod/settings.php:832
+#: mod/settings.php:848
 msgid "Email access is disabled on this site."
 msgstr ""
 
-#: mod/settings.php:844
+#: mod/settings.php:860
 msgid "Email/Mailbox Setup"
 msgstr ""
 
-#: mod/settings.php:845
+#: mod/settings.php:861
 msgid ""
 "If you wish to communicate with email contacts using this service "
 "(optional), please specify how to connect to your mailbox."
 msgstr ""
 
-#: mod/settings.php:846
+#: mod/settings.php:862
 msgid "Last successful email check:"
 msgstr ""
 
-#: mod/settings.php:848
+#: mod/settings.php:864
 msgid "IMAP server name:"
 msgstr ""
 
-#: mod/settings.php:849
+#: mod/settings.php:865
 msgid "IMAP port:"
 msgstr ""
 
-#: mod/settings.php:850
+#: mod/settings.php:866
 msgid "Security:"
 msgstr ""
 
-#: mod/settings.php:850 mod/settings.php:855
+#: mod/settings.php:866 mod/settings.php:871
 msgid "None"
 msgstr ""
 
-#: mod/settings.php:851
+#: mod/settings.php:867
 msgid "Email login name:"
 msgstr ""
 
-#: mod/settings.php:852
+#: mod/settings.php:868
 msgid "Email password:"
 msgstr ""
 
-#: mod/settings.php:853
+#: mod/settings.php:869
 msgid "Reply-to address:"
 msgstr ""
 
-#: mod/settings.php:854
+#: mod/settings.php:870
 msgid "Send public posts to all email contacts:"
 msgstr ""
 
-#: mod/settings.php:855
+#: mod/settings.php:871
 msgid "Action after import:"
 msgstr ""
 
-#: mod/settings.php:855
+#: mod/settings.php:871
 msgid "Mark as seen"
 msgstr ""
 
-#: mod/settings.php:855
+#: mod/settings.php:871
 msgid "Move to folder"
 msgstr ""
 
-#: mod/settings.php:856
+#: mod/settings.php:872
 msgid "Move to folder:"
 msgstr ""
 
-#: mod/settings.php:941
+#: mod/settings.php:958
 msgid "Display Settings"
 msgstr ""
 
-#: mod/settings.php:947 mod/settings.php:965
+#: mod/settings.php:964 mod/settings.php:982
 msgid "Display Theme:"
 msgstr ""
 
-#: mod/settings.php:948
+#: mod/settings.php:965
 msgid "Mobile Theme:"
 msgstr ""
 
-#: mod/settings.php:949
+#: mod/settings.php:966
 msgid "Update browser every xx seconds"
 msgstr ""
 
-#: mod/settings.php:949
-msgid "Minimum of 10 seconds, no maximum"
+#: mod/settings.php:966
+msgid "Minimum of 10 seconds. Enter -1 to disable it."
 msgstr ""
 
-#: mod/settings.php:950
+#: mod/settings.php:967
 msgid "Number of items to display per page:"
 msgstr ""
 
-#: mod/settings.php:950 mod/settings.php:951
+#: mod/settings.php:967 mod/settings.php:968
 msgid "Maximum of 100 items"
 msgstr ""
 
-#: mod/settings.php:951
+#: mod/settings.php:968
 msgid "Number of items to display per page when viewed from mobile device:"
 msgstr ""
 
-#: mod/settings.php:952
+#: mod/settings.php:969
 msgid "Don't show emoticons"
 msgstr ""
 
-#: mod/settings.php:953
+#: mod/settings.php:970
 msgid "Calendar"
 msgstr ""
 
-#: mod/settings.php:954
+#: mod/settings.php:971
 msgid "Beginning of week:"
 msgstr ""
 
-#: mod/settings.php:955
+#: mod/settings.php:972
 msgid "Don't show notices"
 msgstr ""
 
-#: mod/settings.php:956
+#: mod/settings.php:973
 msgid "Infinite scroll"
 msgstr ""
 
-#: mod/settings.php:957
+#: mod/settings.php:974
 msgid "Automatic updates only at the top of the network page"
 msgstr ""
 
-#: mod/settings.php:959 view/theme/cleanzero/config.php:82
+#: mod/settings.php:976 view/theme/cleanzero/config.php:82
 #: view/theme/dispy/config.php:72 view/theme/quattro/config.php:66
-#: view/theme/diabook/config.php:150 view/theme/vier/config.php:109
-#: view/theme/duepuntozero/config.php:61
+#: view/theme/diabook/config.php:150 view/theme/clean/config.php:85
+#: view/theme/vier/config.php:109 view/theme/duepuntozero/config.php:61
 msgid "Theme settings"
 msgstr ""
 
-#: mod/settings.php:1035
+#: mod/settings.php:1053
 msgid "User Types"
 msgstr ""
 
-#: mod/settings.php:1036
+#: mod/settings.php:1054
 msgid "Community Types"
 msgstr ""
 
-#: mod/settings.php:1037
+#: mod/settings.php:1055
 msgid "Normal Account Page"
 msgstr ""
 
-#: mod/settings.php:1038
+#: mod/settings.php:1056
 msgid "This account is a normal personal profile"
 msgstr ""
 
-#: mod/settings.php:1041
+#: mod/settings.php:1059
 msgid "Soapbox Page"
 msgstr ""
 
-#: mod/settings.php:1042
+#: mod/settings.php:1060
 msgid "Automatically approve all connection/friend requests as read-only fans"
 msgstr ""
 
-#: mod/settings.php:1045
+#: mod/settings.php:1063
 msgid "Community Forum/Celebrity Account"
 msgstr ""
 
-#: mod/settings.php:1046
+#: mod/settings.php:1064
 msgid "Automatically approve all connection/friend requests as read-write fans"
 msgstr ""
 
-#: mod/settings.php:1049
+#: mod/settings.php:1067
 msgid "Automatic Friend Page"
 msgstr ""
 
-#: mod/settings.php:1050
+#: mod/settings.php:1068
 msgid "Automatically approve all connection/friend requests as friends"
 msgstr ""
 
-#: mod/settings.php:1053
+#: mod/settings.php:1071
 msgid "Private Forum [Experimental]"
 msgstr ""
 
-#: mod/settings.php:1054
+#: mod/settings.php:1072
 msgid "Private forum - approved members only"
 msgstr ""
 
-#: mod/settings.php:1066
+#: mod/settings.php:1084
 msgid "OpenID:"
 msgstr ""
 
-#: mod/settings.php:1066
+#: mod/settings.php:1084
 msgid "(Optional) Allow this OpenID to login to this account."
 msgstr ""
 
-#: mod/settings.php:1076
+#: mod/settings.php:1094
 msgid "Publish your default profile in your local site directory?"
 msgstr ""
 
-#: mod/settings.php:1082
+#: mod/settings.php:1100
 msgid "Publish your default profile in the global social directory?"
 msgstr ""
 
-#: mod/settings.php:1090
+#: mod/settings.php:1108
 msgid "Hide your contact/friend list from viewers of your default profile?"
 msgstr ""
 
-#: mod/settings.php:1094 include/acl_selectors.php:330
+#: mod/settings.php:1112 include/acl_selectors.php:331
 msgid "Hide your profile details from unknown viewers?"
 msgstr ""
 
-#: mod/settings.php:1094
+#: mod/settings.php:1112
 msgid ""
 "If enabled, posting public messages to Diaspora and other networks isn't "
 "possible."
 msgstr ""
 
-#: mod/settings.php:1099
+#: mod/settings.php:1117
 msgid "Allow friends to post to your profile page?"
 msgstr ""
 
-#: mod/settings.php:1105
+#: mod/settings.php:1123
 msgid "Allow friends to tag your posts?"
 msgstr ""
 
-#: mod/settings.php:1111
+#: mod/settings.php:1129
 msgid "Allow us to suggest you as a potential friend to new members?"
 msgstr ""
 
-#: mod/settings.php:1117
+#: mod/settings.php:1135
 msgid "Permit unknown people to send you private mail?"
 msgstr ""
 
-#: mod/settings.php:1125
+#: mod/settings.php:1143
 msgid "Profile is <strong>not published</strong>."
 msgstr ""
 
-#: mod/settings.php:1133
+#: mod/settings.php:1151
 #, php-format
 msgid "Your Identity Address is <strong>'%s'</strong> or '%s'."
 msgstr ""
 
-#: mod/settings.php:1140
+#: mod/settings.php:1158
 msgid "Automatically expire posts after this many days:"
 msgstr ""
 
-#: mod/settings.php:1140
+#: mod/settings.php:1158
 msgid "If empty, posts will not expire. Expired posts will be deleted"
 msgstr ""
 
-#: mod/settings.php:1141
+#: mod/settings.php:1159
 msgid "Advanced expiration settings"
 msgstr ""
 
-#: mod/settings.php:1142
+#: mod/settings.php:1160
 msgid "Advanced Expiration"
 msgstr ""
 
-#: mod/settings.php:1143
+#: mod/settings.php:1161
 msgid "Expire posts:"
 msgstr ""
 
-#: mod/settings.php:1144
+#: mod/settings.php:1162
 msgid "Expire personal notes:"
 msgstr ""
 
-#: mod/settings.php:1145
+#: mod/settings.php:1163
 msgid "Expire starred posts:"
 msgstr ""
 
-#: mod/settings.php:1146
+#: mod/settings.php:1164
 msgid "Expire photos:"
 msgstr ""
 
-#: mod/settings.php:1147
+#: mod/settings.php:1165
 msgid "Only expire posts by others:"
 msgstr ""
 
-#: mod/settings.php:1173
+#: mod/settings.php:1193
 msgid "Account Settings"
 msgstr ""
 
-#: mod/settings.php:1181
+#: mod/settings.php:1201
 msgid "Password Settings"
 msgstr ""
 
-#: mod/settings.php:1182 mod/register.php:271
+#: mod/settings.php:1202 mod/register.php:274
 msgid "New Password:"
 msgstr ""
 
-#: mod/settings.php:1183 mod/register.php:272
+#: mod/settings.php:1203 mod/register.php:275
 msgid "Confirm:"
 msgstr ""
 
-#: mod/settings.php:1183
+#: mod/settings.php:1203
 msgid "Leave password fields blank unless changing"
 msgstr ""
 
-#: mod/settings.php:1184
+#: mod/settings.php:1204
 msgid "Current Password:"
 msgstr ""
 
-#: mod/settings.php:1184 mod/settings.php:1185
+#: mod/settings.php:1204 mod/settings.php:1205
 msgid "Your current password to confirm the changes"
 msgstr ""
 
-#: mod/settings.php:1185
+#: mod/settings.php:1205
 msgid "Password:"
 msgstr ""
 
-#: mod/settings.php:1189
+#: mod/settings.php:1209
 msgid "Basic Settings"
 msgstr ""
 
-#: mod/settings.php:1190 include/identity.php:539
+#: mod/settings.php:1210 include/identity.php:578
 msgid "Full Name:"
 msgstr ""
 
-#: mod/settings.php:1191
+#: mod/settings.php:1211
 msgid "Email Address:"
 msgstr ""
 
-#: mod/settings.php:1192
+#: mod/settings.php:1212
 msgid "Your Timezone:"
 msgstr ""
 
-#: mod/settings.php:1193
+#: mod/settings.php:1213
+msgid "Your Language:"
+msgstr ""
+
+#: mod/settings.php:1213
+msgid ""
+"Set the language we use to show you friendica interface and to send you "
+"emails"
+msgstr ""
+
+#: mod/settings.php:1214
 msgid "Default Post Location:"
 msgstr ""
 
-#: mod/settings.php:1194
+#: mod/settings.php:1215
 msgid "Use Browser Location:"
 msgstr ""
 
-#: mod/settings.php:1197
+#: mod/settings.php:1218
 msgid "Security and Privacy Settings"
 msgstr ""
 
-#: mod/settings.php:1199
+#: mod/settings.php:1220
 msgid "Maximum Friend Requests/Day:"
 msgstr ""
 
-#: mod/settings.php:1199 mod/settings.php:1229
+#: mod/settings.php:1220 mod/settings.php:1250
 msgid "(to prevent spam abuse)"
 msgstr ""
 
-#: mod/settings.php:1200
+#: mod/settings.php:1221
 msgid "Default Post Permissions"
 msgstr ""
 
-#: mod/settings.php:1201
+#: mod/settings.php:1222
 msgid "(click to open/close)"
 msgstr ""
 
-#: mod/settings.php:1210 mod/photos.php:1191 mod/photos.php:1576
+#: mod/settings.php:1231 mod/photos.php:1199 mod/photos.php:1584
 msgid "Show to Groups"
 msgstr ""
 
-#: mod/settings.php:1211 mod/photos.php:1192 mod/photos.php:1577
+#: mod/settings.php:1232 mod/photos.php:1200 mod/photos.php:1585
 msgid "Show to Contacts"
 msgstr ""
 
-#: mod/settings.php:1212
+#: mod/settings.php:1233
 msgid "Default Private Post"
 msgstr ""
 
-#: mod/settings.php:1213
+#: mod/settings.php:1234
 msgid "Default Public Post"
 msgstr ""
 
-#: mod/settings.php:1217
+#: mod/settings.php:1238
 msgid "Default Permissions for New Posts"
 msgstr ""
 
-#: mod/settings.php:1229
+#: mod/settings.php:1250
 msgid "Maximum private messages per day from unknown people:"
 msgstr ""
 
-#: mod/settings.php:1232
+#: mod/settings.php:1253
 msgid "Notification Settings"
 msgstr ""
 
-#: mod/settings.php:1233
+#: mod/settings.php:1254
 msgid "By default post a status message when:"
 msgstr ""
 
-#: mod/settings.php:1234
+#: mod/settings.php:1255
 msgid "accepting a friend request"
 msgstr ""
 
-#: mod/settings.php:1235
+#: mod/settings.php:1256
 msgid "joining a forum/community"
 msgstr ""
 
-#: mod/settings.php:1236
+#: mod/settings.php:1257
 msgid "making an <em>interesting</em> profile change"
 msgstr ""
 
-#: mod/settings.php:1237
+#: mod/settings.php:1258
 msgid "Send a notification email when:"
 msgstr ""
 
-#: mod/settings.php:1238
+#: mod/settings.php:1259
 msgid "You receive an introduction"
 msgstr ""
 
-#: mod/settings.php:1239
+#: mod/settings.php:1260
 msgid "Your introductions are confirmed"
 msgstr ""
 
-#: mod/settings.php:1240
+#: mod/settings.php:1261
 msgid "Someone writes on your profile wall"
 msgstr ""
 
-#: mod/settings.php:1241
+#: mod/settings.php:1262
 msgid "Someone writes a followup comment"
 msgstr ""
 
-#: mod/settings.php:1242
+#: mod/settings.php:1263
 msgid "You receive a private message"
 msgstr ""
 
-#: mod/settings.php:1243
+#: mod/settings.php:1264
 msgid "You receive a friend suggestion"
 msgstr ""
 
-#: mod/settings.php:1244
+#: mod/settings.php:1265
 msgid "You are tagged in a post"
 msgstr ""
 
-#: mod/settings.php:1245
+#: mod/settings.php:1266
 msgid "You are poked/prodded/etc. in a post"
 msgstr ""
 
-#: mod/settings.php:1247
+#: mod/settings.php:1268
 msgid "Activate desktop notifications"
 msgstr ""
 
-#: mod/settings.php:1247
+#: mod/settings.php:1268
 msgid "Show desktop popup on new notifications"
 msgstr ""
 
-#: mod/settings.php:1249
+#: mod/settings.php:1270
 msgid "Text-only notification emails"
 msgstr ""
 
-#: mod/settings.php:1251
+#: mod/settings.php:1272
 msgid "Send text only notification emails, without the html part"
 msgstr ""
 
-#: mod/settings.php:1253
+#: mod/settings.php:1274
 msgid "Advanced Account/Page Type Settings"
 msgstr ""
 
-#: mod/settings.php:1254
+#: mod/settings.php:1275
 msgid "Change the behaviour of this account for special situations"
 msgstr ""
 
-#: mod/settings.php:1257
+#: mod/settings.php:1278
 msgid "Relocate"
 msgstr ""
 
-#: mod/settings.php:1258
+#: mod/settings.php:1279
 msgid ""
 "If you have moved this profile from another server, and some of your "
 "contacts don't receive your updates, try pushing this button."
 msgstr ""
 
-#: mod/settings.php:1259
+#: mod/settings.php:1280
 msgid "Resend relocate message to contacts"
 msgstr ""
 
@@ -4754,147 +4848,147 @@ msgstr ""
 msgid "This introduction has already been accepted."
 msgstr ""
 
-#: mod/dfrn_request.php:120 mod/dfrn_request.php:518
+#: mod/dfrn_request.php:120 mod/dfrn_request.php:519
 msgid "Profile location is not valid or does not contain profile information."
 msgstr ""
 
-#: mod/dfrn_request.php:125 mod/dfrn_request.php:523
+#: mod/dfrn_request.php:125 mod/dfrn_request.php:524
 msgid "Warning: profile location has no identifiable owner name."
 msgstr ""
 
-#: mod/dfrn_request.php:127 mod/dfrn_request.php:525
+#: mod/dfrn_request.php:127 mod/dfrn_request.php:526
 msgid "Warning: profile location has no profile photo."
 msgstr ""
 
-#: mod/dfrn_request.php:130 mod/dfrn_request.php:528
+#: mod/dfrn_request.php:130 mod/dfrn_request.php:529
 #, php-format
 msgid "%d required parameter was not found at the given location"
 msgid_plural "%d required parameters were not found at the given location"
 msgstr[0] ""
 msgstr[1] ""
 
-#: mod/dfrn_request.php:172
+#: mod/dfrn_request.php:173
 msgid "Introduction complete."
 msgstr ""
 
-#: mod/dfrn_request.php:214
+#: mod/dfrn_request.php:215
 msgid "Unrecoverable protocol error."
 msgstr ""
 
-#: mod/dfrn_request.php:242
+#: mod/dfrn_request.php:243
 msgid "Profile unavailable."
 msgstr ""
 
-#: mod/dfrn_request.php:267
+#: mod/dfrn_request.php:268
 #, php-format
 msgid "%s has received too many connection requests today."
 msgstr ""
 
-#: mod/dfrn_request.php:268
+#: mod/dfrn_request.php:269
 msgid "Spam protection measures have been invoked."
 msgstr ""
 
-#: mod/dfrn_request.php:269
+#: mod/dfrn_request.php:270
 msgid "Friends are advised to please try again in 24 hours."
 msgstr ""
 
-#: mod/dfrn_request.php:331
+#: mod/dfrn_request.php:332
 msgid "Invalid locator"
 msgstr ""
 
-#: mod/dfrn_request.php:340
+#: mod/dfrn_request.php:341
 msgid "Invalid email address."
 msgstr ""
 
-#: mod/dfrn_request.php:367
+#: mod/dfrn_request.php:368
 msgid "This account has not been configured for email. Request failed."
 msgstr ""
 
-#: mod/dfrn_request.php:463
+#: mod/dfrn_request.php:464
 msgid "Unable to resolve your name at the provided location."
 msgstr ""
 
-#: mod/dfrn_request.php:476
+#: mod/dfrn_request.php:477
 msgid "You have already introduced yourself here."
 msgstr ""
 
-#: mod/dfrn_request.php:480
+#: mod/dfrn_request.php:481
 #, php-format
 msgid "Apparently you are already friends with %s."
 msgstr ""
 
-#: mod/dfrn_request.php:501
+#: mod/dfrn_request.php:502
 msgid "Invalid profile URL."
 msgstr ""
 
-#: mod/dfrn_request.php:507 include/follow.php:72
+#: mod/dfrn_request.php:508 include/follow.php:72
 msgid "Disallowed profile URL."
 msgstr ""
 
-#: mod/dfrn_request.php:597
+#: mod/dfrn_request.php:599
 msgid "Your introduction has been sent."
 msgstr ""
 
-#: mod/dfrn_request.php:650
+#: mod/dfrn_request.php:652
 msgid "Please login to confirm introduction."
 msgstr ""
 
-#: mod/dfrn_request.php:660
+#: mod/dfrn_request.php:662
 msgid ""
 "Incorrect identity currently logged in. Please login to <strong>this</"
 "strong> profile."
 msgstr ""
 
-#: mod/dfrn_request.php:674 mod/dfrn_request.php:691
+#: mod/dfrn_request.php:676 mod/dfrn_request.php:693
 msgid "Confirm"
 msgstr ""
 
-#: mod/dfrn_request.php:686
+#: mod/dfrn_request.php:688
 msgid "Hide this contact"
 msgstr ""
 
-#: mod/dfrn_request.php:689
+#: mod/dfrn_request.php:691
 #, php-format
 msgid "Welcome home %s."
 msgstr ""
 
-#: mod/dfrn_request.php:690
+#: mod/dfrn_request.php:692
 #, php-format
 msgid "Please confirm your introduction/connection request to %s."
 msgstr ""
 
-#: mod/dfrn_request.php:819
+#: mod/dfrn_request.php:821
 msgid ""
 "Please enter your 'Identity Address' from one of the following supported "
 "communications networks:"
 msgstr ""
 
-#: mod/dfrn_request.php:840
+#: mod/dfrn_request.php:842
 #, php-format
 msgid ""
 "If you are not yet a member of the free social web, <a href=\"%s/siteinfo"
 "\">follow this link to find a public Friendica site and join us today</a>."
 msgstr ""
 
-#: mod/dfrn_request.php:845
+#: mod/dfrn_request.php:847
 msgid "Friend/Connection Request"
 msgstr ""
 
-#: mod/dfrn_request.php:846
+#: mod/dfrn_request.php:848
 msgid ""
 "Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
 "testuser@identi.ca"
 msgstr ""
 
-#: mod/dfrn_request.php:854 include/contact_selectors.php:76
+#: mod/dfrn_request.php:856 include/contact_selectors.php:76
 msgid "Friendica"
 msgstr ""
 
-#: mod/dfrn_request.php:855
+#: mod/dfrn_request.php:857
 msgid "StatusNet/Federated Social Web"
 msgstr ""
 
-#: mod/dfrn_request.php:857
+#: mod/dfrn_request.php:859
 #, php-format
 msgid ""
 " - please do not use this form.  Instead, enter %s into your Diaspora search "
@@ -4913,80 +5007,84 @@ msgid ""
 "password: %s<br><br>You can change your password after login."
 msgstr ""
 
-#: mod/register.php:107
+#: mod/register.php:104
+msgid "Registration successful."
+msgstr ""
+
+#: mod/register.php:110
 msgid "Your registration can not be processed."
 msgstr ""
 
-#: mod/register.php:150
+#: mod/register.php:153
 msgid "Your registration is pending approval by the site owner."
 msgstr ""
 
-#: mod/register.php:188 mod/uimport.php:50
+#: mod/register.php:191 mod/uimport.php:50
 msgid ""
 "This site has exceeded the number of allowed daily account registrations. "
 "Please try again tomorrow."
 msgstr ""
 
-#: mod/register.php:216
+#: mod/register.php:219
 msgid ""
 "You may (optionally) fill in this form via OpenID by supplying your OpenID "
 "and clicking 'Register'."
 msgstr ""
 
-#: mod/register.php:217
+#: mod/register.php:220
 msgid ""
 "If you are not familiar with OpenID, please leave that field blank and fill "
 "in the rest of the items."
 msgstr ""
 
-#: mod/register.php:218
+#: mod/register.php:221
 msgid "Your OpenID (optional): "
 msgstr ""
 
-#: mod/register.php:232
+#: mod/register.php:235
 msgid "Include your profile in member directory?"
 msgstr ""
 
-#: mod/register.php:256
+#: mod/register.php:259
 msgid "Membership on this site is by invitation only."
 msgstr ""
 
-#: mod/register.php:257
+#: mod/register.php:260
 msgid "Your invitation ID: "
 msgstr ""
 
-#: mod/register.php:268
-msgid "Your Full Name (e.g. Joe Smith): "
+#: mod/register.php:271
+msgid "Your Full Name (e.g. Joe Smith, real or real-looking): "
 msgstr ""
 
-#: mod/register.php:269
+#: mod/register.php:272
 msgid "Your Email Address: "
 msgstr ""
 
-#: mod/register.php:271
+#: mod/register.php:274
 msgid "Leave empty for an auto generated password."
 msgstr ""
 
-#: mod/register.php:273
+#: mod/register.php:276
 msgid ""
 "Choose a profile nickname. This must begin with a text character. Your "
 "profile address on this site will then be '<strong>nickname@$sitename</"
 "strong>'."
 msgstr ""
 
-#: mod/register.php:274
+#: mod/register.php:277
 msgid "Choose a nickname: "
 msgstr ""
 
-#: mod/register.php:277 boot.php:1253 include/nav.php:109
+#: mod/register.php:280 boot.php:1268 include/nav.php:108
 msgid "Register"
 msgstr ""
 
-#: mod/register.php:283 mod/uimport.php:64
+#: mod/register.php:286 mod/uimport.php:64
 msgid "Import"
 msgstr ""
 
-#: mod/register.php:284
+#: mod/register.php:287
 msgid "Import your profile to this friendica instance"
 msgstr ""
 
@@ -4998,58 +5096,54 @@ msgstr ""
 msgid "Only logged in users are permitted to perform a search."
 msgstr ""
 
-#: mod/search.php:115
+#: mod/search.php:124
 msgid "Too Many Requests"
 msgstr ""
 
-#: mod/search.php:116
+#: mod/search.php:125
 msgid "Only one search per minute is permitted for not logged in users."
 msgstr ""
 
-#: mod/search.php:126 include/text.php:996 include/nav.php:119
+#: mod/search.php:136 include/text.php:1003 include/nav.php:118
 msgid "Search"
 msgstr ""
 
-#: mod/search.php:224
+#: mod/search.php:234
 #, php-format
 msgid "Items tagged with: %s"
 msgstr ""
 
-#: mod/search.php:226
+#: mod/search.php:236
 #, php-format
 msgid "Search results for: %s"
 msgstr ""
 
-#: mod/directory.php:53 view/theme/diabook/theme.php:525
-#: view/theme/vier/theme.php:177
-msgid "Global Directory"
-msgstr ""
-
-#: mod/directory.php:61
-msgid "Find on this site"
+#: mod/directory.php:149 include/identity.php:309 include/identity.php:600
+msgid "Status:"
 msgstr ""
 
-#: mod/directory.php:64
-msgid "Site Directory"
+#: mod/directory.php:151 include/identity.php:311 include/identity.php:611
+msgid "Homepage:"
 msgstr ""
 
-#: mod/directory.php:129 mod/profiles.php:747
-msgid "Age: "
+#: mod/directory.php:203 view/theme/diabook/theme.php:525
+#: view/theme/vier/theme.php:205
+msgid "Global Directory"
 msgstr ""
 
-#: mod/directory.php:132
-msgid "Gender: "
+#: mod/directory.php:205
+msgid "Find on this site"
 msgstr ""
 
-#: mod/directory.php:156 include/identity.php:273 include/identity.php:561
-msgid "Status:"
+#: mod/directory.php:207
+msgid "Finding:"
 msgstr ""
 
-#: mod/directory.php:158 include/identity.php:275 include/identity.php:572
-msgid "Homepage:"
+#: mod/directory.php:209
+msgid "Site Directory"
 msgstr ""
 
-#: mod/directory.php:205
+#: mod/directory.php:216
 msgid "No entries (some entries may be hidden)."
 msgstr ""
 
@@ -5057,7 +5151,7 @@ msgstr ""
 msgid "No potential page delegates located."
 msgstr ""
 
-#: mod/delegate.php:130 include/nav.php:181
+#: mod/delegate.php:130 include/nav.php:180
 msgid "Delegate Page Management"
 msgstr ""
 
@@ -5088,11 +5182,7 @@ msgstr ""
 msgid "No entries."
 msgstr ""
 
-#: mod/common.php:45
-msgid "Common Friends"
-msgstr ""
-
-#: mod/common.php:82
+#: mod/common.php:87
 msgid "No contacts in common."
 msgstr ""
 
@@ -5134,21 +5224,21 @@ msgstr ""
 msgid "Do you really want to delete this suggestion?"
 msgstr ""
 
-#: mod/suggest.php:69 include/contact_widgets.php:35
-#: view/theme/diabook/theme.php:527 view/theme/vier/theme.php:179
-msgid "Friend Suggestions"
-msgstr ""
-
-#: mod/suggest.php:76
+#: mod/suggest.php:71
 msgid ""
 "No suggestions available. If this is a new site, please try again in 24 "
 "hours."
 msgstr ""
 
-#: mod/suggest.php:94
+#: mod/suggest.php:83 mod/suggest.php:101
 msgid "Ignore/Hide"
 msgstr ""
 
+#: mod/suggest.php:111 include/contact_widgets.php:35
+#: view/theme/diabook/theme.php:527 view/theme/vier/theme.php:207
+msgid "Friend Suggestions"
+msgstr ""
+
 #: mod/profiles.php:37
 msgid "Profile deleted."
 msgstr ""
@@ -5177,11 +5267,11 @@ msgstr ""
 msgid "Romantic Partner"
 msgstr ""
 
-#: mod/profiles.php:344 mod/photos.php:1639 include/conversation.php:508
+#: mod/profiles.php:344 mod/photos.php:1647 include/conversation.php:508
 msgid "Likes"
 msgstr ""
 
-#: mod/profiles.php:348 mod/photos.php:1639 include/conversation.php:508
+#: mod/profiles.php:348 mod/photos.php:1647 include/conversation.php:508
 msgid "Dislikes"
 msgstr ""
 
@@ -5209,7 +5299,7 @@ msgstr ""
 msgid "Homepage"
 msgstr ""
 
-#: mod/profiles.php:375 mod/profiles.php:695
+#: mod/profiles.php:375 mod/profiles.php:708
 msgid "Interests"
 msgstr ""
 
@@ -5217,7 +5307,7 @@ msgstr ""
 msgid "Address"
 msgstr ""
 
-#: mod/profiles.php:386 mod/profiles.php:691
+#: mod/profiles.php:386 mod/profiles.php:704
 msgid "Location"
 msgstr ""
 
@@ -5256,221 +5346,229 @@ msgstr ""
 msgid "Hide your contact/friend list from viewers of this profile?"
 msgstr ""
 
-#: mod/profiles.php:682
+#: mod/profiles.php:684
+msgid "Show more profile fields:"
+msgstr ""
+
+#: mod/profiles.php:695
 msgid "Edit Profile Details"
 msgstr ""
 
-#: mod/profiles.php:684
+#: mod/profiles.php:697
 msgid "Change Profile Photo"
 msgstr ""
 
-#: mod/profiles.php:685
+#: mod/profiles.php:698
 msgid "View this profile"
 msgstr ""
 
-#: mod/profiles.php:686
+#: mod/profiles.php:699
 msgid "Create a new profile using these settings"
 msgstr ""
 
-#: mod/profiles.php:687
+#: mod/profiles.php:700
 msgid "Clone this profile"
 msgstr ""
 
-#: mod/profiles.php:688
+#: mod/profiles.php:701
 msgid "Delete this profile"
 msgstr ""
 
-#: mod/profiles.php:689
+#: mod/profiles.php:702
 msgid "Basic information"
 msgstr ""
 
-#: mod/profiles.php:690
+#: mod/profiles.php:703
 msgid "Profile picture"
 msgstr ""
 
-#: mod/profiles.php:692
+#: mod/profiles.php:705
 msgid "Preferences"
 msgstr ""
 
-#: mod/profiles.php:693
+#: mod/profiles.php:706
 msgid "Status information"
 msgstr ""
 
-#: mod/profiles.php:694
+#: mod/profiles.php:707
 msgid "Additional information"
 msgstr ""
 
-#: mod/profiles.php:697
+#: mod/profiles.php:710
 msgid "Profile Name:"
 msgstr ""
 
-#: mod/profiles.php:698
+#: mod/profiles.php:711
 msgid "Your Full Name:"
 msgstr ""
 
-#: mod/profiles.php:699
+#: mod/profiles.php:712
 msgid "Title/Description:"
 msgstr ""
 
-#: mod/profiles.php:700
+#: mod/profiles.php:713
 msgid "Your Gender:"
 msgstr ""
 
-#: mod/profiles.php:701
+#: mod/profiles.php:714
 msgid "Birthday :"
 msgstr ""
 
-#: mod/profiles.php:702
+#: mod/profiles.php:715
 msgid "Street Address:"
 msgstr ""
 
-#: mod/profiles.php:703
+#: mod/profiles.php:716
 msgid "Locality/City:"
 msgstr ""
 
-#: mod/profiles.php:704
+#: mod/profiles.php:717
 msgid "Postal/Zip Code:"
 msgstr ""
 
-#: mod/profiles.php:705
+#: mod/profiles.php:718
 msgid "Country:"
 msgstr ""
 
-#: mod/profiles.php:706
+#: mod/profiles.php:719
 msgid "Region/State:"
 msgstr ""
 
-#: mod/profiles.php:707
+#: mod/profiles.php:720
 msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
 msgstr ""
 
-#: mod/profiles.php:708
+#: mod/profiles.php:721
 msgid "Who: (if applicable)"
 msgstr ""
 
-#: mod/profiles.php:709
+#: mod/profiles.php:722
 msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
 msgstr ""
 
-#: mod/profiles.php:710
+#: mod/profiles.php:723
 msgid "Since [date]:"
 msgstr ""
 
-#: mod/profiles.php:711 include/identity.php:570
+#: mod/profiles.php:724 include/identity.php:609
 msgid "Sexual Preference:"
 msgstr ""
 
-#: mod/profiles.php:712
+#: mod/profiles.php:725
 msgid "Homepage URL:"
 msgstr ""
 
-#: mod/profiles.php:713 include/identity.php:574
+#: mod/profiles.php:726 include/identity.php:613
 msgid "Hometown:"
 msgstr ""
 
-#: mod/profiles.php:714 include/identity.php:578
+#: mod/profiles.php:727 include/identity.php:617
 msgid "Political Views:"
 msgstr ""
 
-#: mod/profiles.php:715
+#: mod/profiles.php:728
 msgid "Religious Views:"
 msgstr ""
 
-#: mod/profiles.php:716
+#: mod/profiles.php:729
 msgid "Public Keywords:"
 msgstr ""
 
-#: mod/profiles.php:717
+#: mod/profiles.php:730
 msgid "Private Keywords:"
 msgstr ""
 
-#: mod/profiles.php:718 include/identity.php:586
+#: mod/profiles.php:731 include/identity.php:625
 msgid "Likes:"
 msgstr ""
 
-#: mod/profiles.php:719 include/identity.php:588
+#: mod/profiles.php:732 include/identity.php:627
 msgid "Dislikes:"
 msgstr ""
 
-#: mod/profiles.php:720
+#: mod/profiles.php:733
 msgid "Example: fishing photography software"
 msgstr ""
 
-#: mod/profiles.php:721
+#: mod/profiles.php:734
 msgid "(Used for suggesting potential friends, can be seen by others)"
 msgstr ""
 
-#: mod/profiles.php:722
+#: mod/profiles.php:735
 msgid "(Used for searching profiles, never shown to others)"
 msgstr ""
 
-#: mod/profiles.php:723
+#: mod/profiles.php:736
 msgid "Tell us about yourself..."
 msgstr ""
 
-#: mod/profiles.php:724
+#: mod/profiles.php:737
 msgid "Hobbies/Interests"
 msgstr ""
 
-#: mod/profiles.php:725
+#: mod/profiles.php:738
 msgid "Contact information and Social Networks"
 msgstr ""
 
-#: mod/profiles.php:726
+#: mod/profiles.php:739
 msgid "Musical interests"
 msgstr ""
 
-#: mod/profiles.php:727
+#: mod/profiles.php:740
 msgid "Books, literature"
 msgstr ""
 
-#: mod/profiles.php:728
+#: mod/profiles.php:741
 msgid "Television"
 msgstr ""
 
-#: mod/profiles.php:729
+#: mod/profiles.php:742
 msgid "Film/dance/culture/entertainment"
 msgstr ""
 
-#: mod/profiles.php:730
+#: mod/profiles.php:743
 msgid "Love/romance"
 msgstr ""
 
-#: mod/profiles.php:731
+#: mod/profiles.php:744
 msgid "Work/employment"
 msgstr ""
 
-#: mod/profiles.php:732
+#: mod/profiles.php:745
 msgid "School/education"
 msgstr ""
 
-#: mod/profiles.php:737
+#: mod/profiles.php:750
 msgid ""
 "This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
 "be visible to anybody using the internet."
 msgstr ""
 
-#: mod/profiles.php:800
+#: mod/profiles.php:760
+msgid "Age: "
+msgstr ""
+
+#: mod/profiles.php:813
 msgid "Edit/Manage Profiles"
 msgstr ""
 
-#: mod/profiles.php:801 include/identity.php:231 include/identity.php:257
+#: mod/profiles.php:814 include/identity.php:257 include/identity.php:283
 msgid "Change profile photo"
 msgstr ""
 
-#: mod/profiles.php:802 include/identity.php:232
+#: mod/profiles.php:815 include/identity.php:258
 msgid "Create New Profile"
 msgstr ""
 
-#: mod/profiles.php:813 include/identity.php:242
+#: mod/profiles.php:826 include/identity.php:268
 msgid "Profile Image"
 msgstr ""
 
-#: mod/profiles.php:815 include/identity.php:245
+#: mod/profiles.php:828 include/identity.php:271
 msgid "visible to everybody"
 msgstr ""
 
-#: mod/profiles.php:816 include/identity.php:246
+#: mod/profiles.php:829 include/identity.php:272
 msgid "Edit visibility"
 msgstr ""
 
@@ -5482,75 +5580,75 @@ msgstr ""
 msgid "Edit post"
 msgstr ""
 
-#: mod/editpost.php:110 include/conversation.php:1186
+#: mod/editpost.php:111 include/conversation.php:1185
 msgid "upload photo"
 msgstr ""
 
-#: mod/editpost.php:111 include/conversation.php:1187
+#: mod/editpost.php:112 include/conversation.php:1186
 msgid "Attach file"
 msgstr ""
 
-#: mod/editpost.php:112 include/conversation.php:1188
+#: mod/editpost.php:113 include/conversation.php:1187
 msgid "attach file"
 msgstr ""
 
-#: mod/editpost.php:114 include/conversation.php:1190
+#: mod/editpost.php:115 include/conversation.php:1189
 msgid "web link"
 msgstr ""
 
-#: mod/editpost.php:115 include/conversation.php:1191
+#: mod/editpost.php:116 include/conversation.php:1190
 msgid "Insert video link"
 msgstr ""
 
-#: mod/editpost.php:116 include/conversation.php:1192
+#: mod/editpost.php:117 include/conversation.php:1191
 msgid "video link"
 msgstr ""
 
-#: mod/editpost.php:117 include/conversation.php:1193
+#: mod/editpost.php:118 include/conversation.php:1192
 msgid "Insert audio link"
 msgstr ""
 
-#: mod/editpost.php:118 include/conversation.php:1194
+#: mod/editpost.php:119 include/conversation.php:1193
 msgid "audio link"
 msgstr ""
 
-#: mod/editpost.php:119 include/conversation.php:1195
+#: mod/editpost.php:120 include/conversation.php:1194
 msgid "Set your location"
 msgstr ""
 
-#: mod/editpost.php:120 include/conversation.php:1196
+#: mod/editpost.php:121 include/conversation.php:1195
 msgid "set location"
 msgstr ""
 
-#: mod/editpost.php:121 include/conversation.php:1197
+#: mod/editpost.php:122 include/conversation.php:1196
 msgid "Clear browser location"
 msgstr ""
 
-#: mod/editpost.php:122 include/conversation.php:1198
+#: mod/editpost.php:123 include/conversation.php:1197
 msgid "clear location"
 msgstr ""
 
-#: mod/editpost.php:124 include/conversation.php:1204
+#: mod/editpost.php:125 include/conversation.php:1203
 msgid "Permission settings"
 msgstr ""
 
-#: mod/editpost.php:132 include/acl_selectors.php:343
+#: mod/editpost.php:133 include/acl_selectors.php:344
 msgid "CC: email addresses"
 msgstr ""
 
-#: mod/editpost.php:133 include/conversation.php:1213
+#: mod/editpost.php:134 include/conversation.php:1212
 msgid "Public post"
 msgstr ""
 
-#: mod/editpost.php:136 include/conversation.php:1200
+#: mod/editpost.php:137 include/conversation.php:1199
 msgid "Set title"
 msgstr ""
 
-#: mod/editpost.php:138 include/conversation.php:1202
+#: mod/editpost.php:139 include/conversation.php:1201
 msgid "Categories (comma-separated list)"
 msgstr ""
 
-#: mod/editpost.php:139 include/acl_selectors.php:344
+#: mod/editpost.php:140 include/acl_selectors.php:345
 msgid "Example: bob@example.com, mary@example.com"
 msgstr ""
 
@@ -5616,7 +5714,7 @@ msgstr ""
 msgid "Visible to:"
 msgstr ""
 
-#: mod/notes.php:46 include/identity.php:677
+#: mod/notes.php:46 include/identity.php:721
 msgid "Personal Notes"
 msgstr ""
 
@@ -5653,23 +5751,23 @@ msgstr ""
 msgid "Please select your timezone:"
 msgstr ""
 
-#: mod/poke.php:192
+#: mod/poke.php:191
 msgid "Poke/Prod"
 msgstr ""
 
-#: mod/poke.php:193
+#: mod/poke.php:192
 msgid "poke, prod or do other things to somebody"
 msgstr ""
 
-#: mod/poke.php:194
+#: mod/poke.php:193
 msgid "Recipient"
 msgstr ""
 
-#: mod/poke.php:195
+#: mod/poke.php:194
 msgid "Choose what you wish to do to recipient"
 msgstr ""
 
-#: mod/poke.php:198
+#: mod/poke.php:197
 msgid "Make this post private"
 msgstr ""
 
@@ -5773,202 +5871,196 @@ msgid ""
 "important, please visit http://friendica.com"
 msgstr ""
 
-#: mod/photos.php:54 mod/photos.php:184 mod/photos.php:1111 mod/photos.php:1237
-#: mod/photos.php:1260 mod/photos.php:1830 mod/photos.php:1842
-#: view/theme/diabook/theme.php:499
-msgid "Contact Photos"
-msgstr ""
-
-#: mod/photos.php:91 include/identity.php:652
+#: mod/photos.php:99 include/identity.php:696
 msgid "Photo Albums"
 msgstr ""
 
-#: mod/photos.php:92 mod/photos.php:1891
+#: mod/photos.php:100 mod/photos.php:1899
 msgid "Recent Photos"
 msgstr ""
 
-#: mod/photos.php:95 mod/photos.php:1312 mod/photos.php:1893
+#: mod/photos.php:103 mod/photos.php:1320 mod/photos.php:1901
 msgid "Upload New Photos"
 msgstr ""
 
-#: mod/photos.php:173
+#: mod/photos.php:181
 msgid "Contact information unavailable"
 msgstr ""
 
-#: mod/photos.php:194
+#: mod/photos.php:202
 msgid "Album not found."
 msgstr ""
 
-#: mod/photos.php:224 mod/photos.php:236 mod/photos.php:1254
+#: mod/photos.php:232 mod/photos.php:244 mod/photos.php:1262
 msgid "Delete Album"
 msgstr ""
 
-#: mod/photos.php:234
+#: mod/photos.php:242
 msgid "Do you really want to delete this photo album and all its photos?"
 msgstr ""
 
-#: mod/photos.php:314 mod/photos.php:325 mod/photos.php:1572
+#: mod/photos.php:322 mod/photos.php:333 mod/photos.php:1580
 msgid "Delete Photo"
 msgstr ""
 
-#: mod/photos.php:323
+#: mod/photos.php:331
 msgid "Do you really want to delete this photo?"
 msgstr ""
 
-#: mod/photos.php:698
+#: mod/photos.php:706
 #, php-format
 msgid "%1$s was tagged in %2$s by %3$s"
 msgstr ""
 
-#: mod/photos.php:698
+#: mod/photos.php:706
 msgid "a photo"
 msgstr ""
 
-#: mod/photos.php:811
+#: mod/photos.php:819
 msgid "Image file is empty."
 msgstr ""
 
-#: mod/photos.php:978
+#: mod/photos.php:986
 msgid "No photos selected"
 msgstr ""
 
-#: mod/photos.php:1139
+#: mod/photos.php:1147
 #, php-format
 msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
 msgstr ""
 
-#: mod/photos.php:1174
+#: mod/photos.php:1182
 msgid "Upload Photos"
 msgstr ""
 
-#: mod/photos.php:1178 mod/photos.php:1249
+#: mod/photos.php:1186 mod/photos.php:1257
 msgid "New album name: "
 msgstr ""
 
-#: mod/photos.php:1179
+#: mod/photos.php:1187
 msgid "or existing album name: "
 msgstr ""
 
-#: mod/photos.php:1180
+#: mod/photos.php:1188
 msgid "Do not show a status post for this upload"
 msgstr ""
 
-#: mod/photos.php:1182 mod/photos.php:1567 include/acl_selectors.php:346
+#: mod/photos.php:1190 mod/photos.php:1575 include/acl_selectors.php:347
 msgid "Permissions"
 msgstr ""
 
-#: mod/photos.php:1193
+#: mod/photos.php:1201
 msgid "Private Photo"
 msgstr ""
 
-#: mod/photos.php:1194
+#: mod/photos.php:1202
 msgid "Public Photo"
 msgstr ""
 
-#: mod/photos.php:1262
+#: mod/photos.php:1270
 msgid "Edit Album"
 msgstr ""
 
-#: mod/photos.php:1268
+#: mod/photos.php:1276
 msgid "Show Newest First"
 msgstr ""
 
-#: mod/photos.php:1270
+#: mod/photos.php:1278
 msgid "Show Oldest First"
 msgstr ""
 
-#: mod/photos.php:1298 mod/photos.php:1876
+#: mod/photos.php:1306 mod/photos.php:1884
 msgid "View Photo"
 msgstr ""
 
-#: mod/photos.php:1345
+#: mod/photos.php:1353
 msgid "Permission denied. Access to this item may be restricted."
 msgstr ""
 
-#: mod/photos.php:1347
+#: mod/photos.php:1355
 msgid "Photo not available"
 msgstr ""
 
-#: mod/photos.php:1403
+#: mod/photos.php:1411
 msgid "View photo"
 msgstr ""
 
-#: mod/photos.php:1403
+#: mod/photos.php:1411
 msgid "Edit photo"
 msgstr ""
 
-#: mod/photos.php:1404
+#: mod/photos.php:1412
 msgid "Use as profile photo"
 msgstr ""
 
-#: mod/photos.php:1429
+#: mod/photos.php:1437
 msgid "View Full Size"
 msgstr ""
 
-#: mod/photos.php:1515
+#: mod/photos.php:1523
 msgid "Tags: "
 msgstr ""
 
-#: mod/photos.php:1518
+#: mod/photos.php:1526
 msgid "[Remove any tag]"
 msgstr ""
 
-#: mod/photos.php:1558
+#: mod/photos.php:1566
 msgid "New album name"
 msgstr ""
 
-#: mod/photos.php:1559
+#: mod/photos.php:1567
 msgid "Caption"
 msgstr ""
 
-#: mod/photos.php:1560
+#: mod/photos.php:1568
 msgid "Add a Tag"
 msgstr ""
 
-#: mod/photos.php:1560
+#: mod/photos.php:1568
 msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
 msgstr ""
 
-#: mod/photos.php:1561
+#: mod/photos.php:1569
 msgid "Do not rotate"
 msgstr ""
 
-#: mod/photos.php:1562
+#: mod/photos.php:1570
 msgid "Rotate CW (right)"
 msgstr ""
 
-#: mod/photos.php:1563
+#: mod/photos.php:1571
 msgid "Rotate CCW (left)"
 msgstr ""
 
-#: mod/photos.php:1578
+#: mod/photos.php:1586
 msgid "Private photo"
 msgstr ""
 
-#: mod/photos.php:1579
+#: mod/photos.php:1587
 msgid "Public photo"
 msgstr ""
 
-#: mod/photos.php:1601 include/conversation.php:1184
+#: mod/photos.php:1609 include/conversation.php:1183
 msgid "Share"
 msgstr ""
 
-#: mod/photos.php:1640 include/conversation.php:509
-#: include/conversation.php:1406
+#: mod/photos.php:1648 include/conversation.php:509
+#: include/conversation.php:1414
 msgid "Attending"
 msgid_plural "Attending"
 msgstr[0] ""
 msgstr[1] ""
 
-#: mod/photos.php:1640 include/conversation.php:509
+#: mod/photos.php:1648 include/conversation.php:509
 msgid "Not attending"
 msgstr ""
 
-#: mod/photos.php:1640 include/conversation.php:509
+#: mod/photos.php:1648 include/conversation.php:509
 msgid "Might attend"
 msgstr ""
 
-#: mod/photos.php:1805
+#: mod/photos.php:1813
 msgid "Map"
 msgstr ""
 
@@ -6007,7 +6099,7 @@ msgstr ""
 #: mod/uimport.php:69
 msgid ""
 "This feature is experimental. We can't import contacts from the OStatus "
-"network (statusnet/identi.ca) or from Diaspora"
+"network (GNU Social/Statusnet) or from Diaspora"
 msgstr ""
 
 #: mod/uimport.php:70
@@ -6028,60 +6120,60 @@ msgstr ""
 msgid "Item was not found."
 msgstr ""
 
-#: boot.php:768
+#: boot.php:783
 msgid "Delete this item?"
 msgstr ""
 
-#: boot.php:771
+#: boot.php:786
 msgid "show fewer"
 msgstr ""
 
-#: boot.php:1145
+#: boot.php:1160
 #, php-format
 msgid "Update %s failed. See error logs."
 msgstr ""
 
-#: boot.php:1252
+#: boot.php:1267
 msgid "Create a New Account"
 msgstr ""
 
-#: boot.php:1277 include/nav.php:73
+#: boot.php:1292 include/nav.php:72
 msgid "Logout"
 msgstr ""
 
-#: boot.php:1280
+#: boot.php:1295
 msgid "Nickname or Email address: "
 msgstr ""
 
-#: boot.php:1281
+#: boot.php:1296
 msgid "Password: "
 msgstr ""
 
-#: boot.php:1282
+#: boot.php:1297
 msgid "Remember me"
 msgstr ""
 
-#: boot.php:1285
+#: boot.php:1300
 msgid "Or login using OpenID: "
 msgstr ""
 
-#: boot.php:1291
+#: boot.php:1306
 msgid "Forgot your password?"
 msgstr ""
 
-#: boot.php:1294
+#: boot.php:1309
 msgid "Website Terms of Service"
 msgstr ""
 
-#: boot.php:1295
+#: boot.php:1310
 msgid "terms of service"
 msgstr ""
 
-#: boot.php:1297
+#: boot.php:1312
 msgid "Website Privacy Policy"
 msgstr ""
 
-#: boot.php:1298
+#: boot.php:1313
 msgid "privacy policy"
 msgstr ""
 
@@ -6089,39 +6181,39 @@ msgstr ""
 msgid "This entry was edited"
 msgstr ""
 
-#: object/Item.php:188
+#: object/Item.php:191
 msgid "I will attend"
 msgstr ""
 
-#: object/Item.php:188
+#: object/Item.php:191
 msgid "I will not attend"
 msgstr ""
 
-#: object/Item.php:188
+#: object/Item.php:191
 msgid "I might attend"
 msgstr ""
 
-#: object/Item.php:227
+#: object/Item.php:230
 msgid "ignore thread"
 msgstr ""
 
-#: object/Item.php:228
+#: object/Item.php:231
 msgid "unignore thread"
 msgstr ""
 
-#: object/Item.php:229
+#: object/Item.php:232
 msgid "toggle ignore status"
 msgstr ""
 
-#: object/Item.php:342 include/conversation.php:687
+#: object/Item.php:345 include/conversation.php:687
 msgid "Categories:"
 msgstr ""
 
-#: object/Item.php:343 include/conversation.php:688
+#: object/Item.php:346 include/conversation.php:688
 msgid "Filed under:"
 msgstr ""
 
-#: object/Item.php:357
+#: object/Item.php:360
 msgid "via"
 msgstr ""
 
@@ -6143,11 +6235,11 @@ msgid ""
 "[pre]%s[/pre]"
 msgstr ""
 
-#: include/dbstructure.php:152
+#: include/dbstructure.php:151
 msgid "Errors encountered creating database tables."
 msgstr ""
 
-#: include/dbstructure.php:210
+#: include/dbstructure.php:209
 msgid "Errors encountered performing database changes."
 msgstr ""
 
@@ -6197,7 +6289,7 @@ msgid "Examples: Robert Morgenstein, Fishing"
 msgstr ""
 
 #: include/contact_widgets.php:36 view/theme/diabook/theme.php:526
-#: view/theme/vier/theme.php:178
+#: view/theme/vier/theme.php:206
 msgid "Similar Interests"
 msgstr ""
 
@@ -6206,205 +6298,228 @@ msgid "Random Profile"
 msgstr ""
 
 #: include/contact_widgets.php:38 view/theme/diabook/theme.php:528
-#: view/theme/vier/theme.php:180
+#: view/theme/vier/theme.php:208
 msgid "Invite Friends"
 msgstr ""
 
-#: include/contact_widgets.php:71
+#: include/contact_widgets.php:108
 msgid "Networks"
 msgstr ""
 
-#: include/contact_widgets.php:74
+#: include/contact_widgets.php:111
 msgid "All Networks"
 msgstr ""
 
-#: include/contact_widgets.php:104 include/features.php:61
+#: include/contact_widgets.php:141 include/features.php:97
 msgid "Saved Folders"
 msgstr ""
 
-#: include/contact_widgets.php:107 include/contact_widgets.php:139
+#: include/contact_widgets.php:144 include/contact_widgets.php:176
 msgid "Everything"
 msgstr ""
 
-#: include/contact_widgets.php:136
+#: include/contact_widgets.php:173
 msgid "Categories"
 msgstr ""
 
-#: include/features.php:23
+#: include/contact_widgets.php:237
+#, php-format
+msgid "%d contact in common"
+msgid_plural "%d contacts in common"
+msgstr[0] ""
+msgstr[1] ""
+
+#: include/features.php:58
 msgid "General Features"
 msgstr ""
 
-#: include/features.php:25
+#: include/features.php:60
 msgid "Multiple Profiles"
 msgstr ""
 
-#: include/features.php:25
+#: include/features.php:60
 msgid "Ability to create multiple profiles"
 msgstr ""
 
-#: include/features.php:26
+#: include/features.php:61
 msgid "Photo Location"
 msgstr ""
 
-#: include/features.php:26
+#: include/features.php:61
 msgid ""
 "Photo metadata is normally stripped. This extracts the location (if present) "
 "prior to stripping metadata and links it to a map."
 msgstr ""
 
-#: include/features.php:31
+#: include/features.php:66
 msgid "Post Composition Features"
 msgstr ""
 
-#: include/features.php:32
+#: include/features.php:67
 msgid "Richtext Editor"
 msgstr ""
 
-#: include/features.php:32
+#: include/features.php:67
 msgid "Enable richtext editor"
 msgstr ""
 
-#: include/features.php:33
+#: include/features.php:68
 msgid "Post Preview"
 msgstr ""
 
-#: include/features.php:33
+#: include/features.php:68
 msgid "Allow previewing posts and comments before publishing them"
 msgstr ""
 
-#: include/features.php:34
+#: include/features.php:69
 msgid "Auto-mention Forums"
 msgstr ""
 
-#: include/features.php:34
+#: include/features.php:69
 msgid ""
 "Add/remove mention when a fourm page is selected/deselected in ACL window."
 msgstr ""
 
-#: include/features.php:39
+#: include/features.php:74
 msgid "Network Sidebar Widgets"
 msgstr ""
 
-#: include/features.php:40
+#: include/features.php:75
 msgid "Search by Date"
 msgstr ""
 
-#: include/features.php:40
+#: include/features.php:75
 msgid "Ability to select posts by date ranges"
 msgstr ""
 
-#: include/features.php:41
+#: include/features.php:76 include/features.php:106
+msgid "List Forums"
+msgstr ""
+
+#: include/features.php:76
+msgid "Enable widget to display the forums your are connected with"
+msgstr ""
+
+#: include/features.php:77
 msgid "Group Filter"
 msgstr ""
 
-#: include/features.php:41
+#: include/features.php:77
 msgid "Enable widget to display Network posts only from selected group"
 msgstr ""
 
-#: include/features.php:42
+#: include/features.php:78
 msgid "Network Filter"
 msgstr ""
 
-#: include/features.php:42
+#: include/features.php:78
 msgid "Enable widget to display Network posts only from selected network"
 msgstr ""
 
-#: include/features.php:43
+#: include/features.php:79
 msgid "Save search terms for re-use"
 msgstr ""
 
-#: include/features.php:48
+#: include/features.php:84
 msgid "Network Tabs"
 msgstr ""
 
-#: include/features.php:49
+#: include/features.php:85
 msgid "Network Personal Tab"
 msgstr ""
 
-#: include/features.php:49
+#: include/features.php:85
 msgid "Enable tab to display only Network posts that you've interacted on"
 msgstr ""
 
-#: include/features.php:50
+#: include/features.php:86
 msgid "Network New Tab"
 msgstr ""
 
-#: include/features.php:50
+#: include/features.php:86
 msgid "Enable tab to display only new Network posts (from the last 12 hours)"
 msgstr ""
 
-#: include/features.php:51
+#: include/features.php:87
 msgid "Network Shared Links Tab"
 msgstr ""
 
-#: include/features.php:51
+#: include/features.php:87
 msgid "Enable tab to display only Network posts with links in them"
 msgstr ""
 
-#: include/features.php:56
+#: include/features.php:92
 msgid "Post/Comment Tools"
 msgstr ""
 
-#: include/features.php:57
+#: include/features.php:93
 msgid "Multiple Deletion"
 msgstr ""
 
-#: include/features.php:57
+#: include/features.php:93
 msgid "Select and delete multiple posts/comments at once"
 msgstr ""
 
-#: include/features.php:58
+#: include/features.php:94
 msgid "Edit Sent Posts"
 msgstr ""
 
-#: include/features.php:58
+#: include/features.php:94
 msgid "Edit and correct posts and comments after sending"
 msgstr ""
 
-#: include/features.php:59
+#: include/features.php:95
 msgid "Tagging"
 msgstr ""
 
-#: include/features.php:59
+#: include/features.php:95
 msgid "Ability to tag existing posts"
 msgstr ""
 
-#: include/features.php:60
+#: include/features.php:96
 msgid "Post Categories"
 msgstr ""
 
-#: include/features.php:60
+#: include/features.php:96
 msgid "Add categories to your posts"
 msgstr ""
 
-#: include/features.php:61
+#: include/features.php:97
 msgid "Ability to file posts under folders"
 msgstr ""
 
-#: include/features.php:62
+#: include/features.php:98
 msgid "Dislike Posts"
 msgstr ""
 
-#: include/features.php:62
+#: include/features.php:98
 msgid "Ability to dislike posts/comments"
 msgstr ""
 
-#: include/features.php:63
+#: include/features.php:99
 msgid "Star Posts"
 msgstr ""
 
-#: include/features.php:63
+#: include/features.php:99
 msgid "Ability to mark special posts with a star indicator"
 msgstr ""
 
-#: include/features.php:64
+#: include/features.php:100
 msgid "Mute Post Notifications"
 msgstr ""
 
-#: include/features.php:64
+#: include/features.php:100
 msgid "Ability to mute notifications for a thread"
 msgstr ""
 
+#: include/features.php:105
+msgid "Advanced Profile Settings"
+msgstr ""
+
+#: include/features.php:106
+msgid "Show visitors public community forums at the Advanced Profile Page"
+msgstr ""
+
 #: include/follow.php:77
 msgid "Connect URL missing."
 msgstr ""
@@ -6467,27 +6582,31 @@ msgid ""
 "not what you intended, please create another group with a different name."
 msgstr ""
 
-#: include/group.php:207
+#: include/group.php:209
 msgid "Default privacy group for new contacts"
 msgstr ""
 
-#: include/group.php:226
+#: include/group.php:239
 msgid "Everybody"
 msgstr ""
 
-#: include/group.php:249
+#: include/group.php:262
 msgid "edit"
 msgstr ""
 
-#: include/group.php:271
+#: include/group.php:285
+msgid "Edit groups"
+msgstr ""
+
+#: include/group.php:287
 msgid "Edit group"
 msgstr ""
 
-#: include/group.php:272
+#: include/group.php:288
 msgid "Create a new group"
 msgstr ""
 
-#: include/group.php:275
+#: include/group.php:291
 msgid "Contacts not in any group"
 msgstr ""
 
@@ -6499,233 +6618,225 @@ msgstr ""
 msgid "YYYY-MM-DD or MM-DD"
 msgstr ""
 
-#: include/datetime.php:256
+#: include/datetime.php:271
 msgid "never"
 msgstr ""
 
-#: include/datetime.php:262
+#: include/datetime.php:277
 msgid "less than a second ago"
 msgstr ""
 
-#: include/datetime.php:272
+#: include/datetime.php:287
 msgid "year"
 msgstr ""
 
-#: include/datetime.php:272
+#: include/datetime.php:287
 msgid "years"
 msgstr ""
 
-#: include/datetime.php:273
+#: include/datetime.php:288
 msgid "months"
 msgstr ""
 
-#: include/datetime.php:274
+#: include/datetime.php:289
 msgid "weeks"
 msgstr ""
 
-#: include/datetime.php:275
+#: include/datetime.php:290
 msgid "days"
 msgstr ""
 
-#: include/datetime.php:276
+#: include/datetime.php:291
 msgid "hour"
 msgstr ""
 
-#: include/datetime.php:276
+#: include/datetime.php:291
 msgid "hours"
 msgstr ""
 
-#: include/datetime.php:277
+#: include/datetime.php:292
 msgid "minute"
 msgstr ""
 
-#: include/datetime.php:277
+#: include/datetime.php:292
 msgid "minutes"
 msgstr ""
 
-#: include/datetime.php:278
+#: include/datetime.php:293
 msgid "second"
 msgstr ""
 
-#: include/datetime.php:278
+#: include/datetime.php:293
 msgid "seconds"
 msgstr ""
 
-#: include/datetime.php:287
+#: include/datetime.php:302
 #, php-format
 msgid "%1$d %2$s ago"
 msgstr ""
 
-#: include/datetime.php:459 include/items.php:2484
+#: include/datetime.php:474 include/items.php:2470
 #, php-format
 msgid "%s's birthday"
 msgstr ""
 
-#: include/datetime.php:460 include/items.php:2485
+#: include/datetime.php:475 include/items.php:2471
 #, php-format
 msgid "Happy Birthday %s"
 msgstr ""
 
-#: include/identity.php:38
+#: include/identity.php:43
 msgid "Requested account is not available."
 msgstr ""
 
-#: include/identity.php:121 include/identity.php:255 include/identity.php:608
+#: include/identity.php:96 include/identity.php:281 include/identity.php:652
 msgid "Edit profile"
 msgstr ""
 
-#: include/identity.php:220
+#: include/identity.php:241
+msgid "Atom feed"
+msgstr ""
+
+#: include/identity.php:246
 msgid "Message"
 msgstr ""
 
-#: include/identity.php:226 include/nav.php:186
+#: include/identity.php:252 include/nav.php:185
 msgid "Profiles"
 msgstr ""
 
-#: include/identity.php:226
+#: include/identity.php:252
 msgid "Manage/edit profiles"
 msgstr ""
 
-#: include/identity.php:342
-msgid "Network:"
-msgstr ""
-
-#: include/identity.php:374 include/identity.php:460
+#: include/identity.php:412 include/identity.php:498
 msgid "g A l F d"
 msgstr ""
 
-#: include/identity.php:375 include/identity.php:461
+#: include/identity.php:413 include/identity.php:499
 msgid "F d"
 msgstr ""
 
-#: include/identity.php:420 include/identity.php:507
+#: include/identity.php:458 include/identity.php:545
 msgid "[today]"
 msgstr ""
 
-#: include/identity.php:432
+#: include/identity.php:470
 msgid "Birthday Reminders"
 msgstr ""
 
-#: include/identity.php:433
+#: include/identity.php:471
 msgid "Birthdays this week:"
 msgstr ""
 
-#: include/identity.php:494
+#: include/identity.php:532
 msgid "[No description]"
 msgstr ""
 
-#: include/identity.php:518
+#: include/identity.php:556
 msgid "Event Reminders"
 msgstr ""
 
-#: include/identity.php:519
+#: include/identity.php:557
 msgid "Events this week:"
 msgstr ""
 
-#: include/identity.php:546
+#: include/identity.php:585
 msgid "j F, Y"
 msgstr ""
 
-#: include/identity.php:547
+#: include/identity.php:586
 msgid "j F"
 msgstr ""
 
-#: include/identity.php:554
+#: include/identity.php:593
 msgid "Birthday:"
 msgstr ""
 
-#: include/identity.php:558
+#: include/identity.php:597
 msgid "Age:"
 msgstr ""
 
-#: include/identity.php:567
+#: include/identity.php:606
 #, php-format
 msgid "for %1$d %2$s"
 msgstr ""
 
-#: include/identity.php:580
+#: include/identity.php:619
 msgid "Religion:"
 msgstr ""
 
-#: include/identity.php:584
+#: include/identity.php:623
 msgid "Hobbies/Interests:"
 msgstr ""
 
-#: include/identity.php:591
+#: include/identity.php:630
 msgid "Contact information and Social Networks:"
 msgstr ""
 
-#: include/identity.php:593
+#: include/identity.php:632
 msgid "Musical interests:"
 msgstr ""
 
-#: include/identity.php:595
+#: include/identity.php:634
 msgid "Books, literature:"
 msgstr ""
 
-#: include/identity.php:597
+#: include/identity.php:636
 msgid "Television:"
 msgstr ""
 
-#: include/identity.php:599
+#: include/identity.php:638
 msgid "Film/dance/culture/entertainment:"
 msgstr ""
 
-#: include/identity.php:601
+#: include/identity.php:640
 msgid "Love/Romance:"
 msgstr ""
 
-#: include/identity.php:603
+#: include/identity.php:642
 msgid "Work/employment:"
 msgstr ""
 
-#: include/identity.php:605
+#: include/identity.php:644
 msgid "School/education:"
 msgstr ""
 
-#: include/identity.php:633 include/nav.php:76
-msgid "Status"
-msgstr ""
-
-#: include/identity.php:636
-msgid "Status Messages and Posts"
-msgstr ""
-
-#: include/identity.php:644
-msgid "Profile Details"
+#: include/identity.php:648
+msgid "Forums:"
 msgstr ""
 
-#: include/identity.php:657 include/identity.php:660 include/nav.php:79
+#: include/identity.php:701 include/identity.php:704 include/nav.php:78
 msgid "Videos"
 msgstr ""
 
-#: include/identity.php:672 include/nav.php:141
+#: include/identity.php:716 include/nav.php:140
 msgid "Events and Calendar"
 msgstr ""
 
-#: include/identity.php:680
+#: include/identity.php:724
 msgid "Only You Can See This"
 msgstr ""
 
-#: include/acl_selectors.php:324
+#: include/acl_selectors.php:325
 msgid "Post to Email"
 msgstr ""
 
-#: include/acl_selectors.php:329
+#: include/acl_selectors.php:330
 #, php-format
 msgid "Connectors disabled, since \"%s\" is enabled."
 msgstr ""
 
-#: include/acl_selectors.php:335
+#: include/acl_selectors.php:336
 msgid "Visible to everybody"
 msgstr ""
 
-#: include/acl_selectors.php:336 view/theme/diabook/config.php:142
+#: include/acl_selectors.php:337 view/theme/diabook/config.php:142
 #: view/theme/diabook/theme.php:621 view/theme/vier/config.php:103
 msgid "show"
 msgstr ""
 
-#: include/acl_selectors.php:337 view/theme/diabook/config.php:142
+#: include/acl_selectors.php:338 view/theme/diabook/config.php:142
 #: view/theme/diabook/theme.php:621 view/theme/vier/config.php:103
 msgid "don't show"
 msgstr ""
@@ -6738,31 +6849,31 @@ msgstr ""
 msgid "stopped following"
 msgstr ""
 
-#: include/Contact.php:236 include/conversation.php:911
+#: include/Contact.php:361 include/conversation.php:911
 msgid "View Status"
 msgstr ""
 
-#: include/Contact.php:238 include/conversation.php:913
+#: include/Contact.php:363 include/conversation.php:913
 msgid "View Photos"
 msgstr ""
 
-#: include/Contact.php:239 include/Contact.php:264 include/conversation.php:914
+#: include/Contact.php:364 include/conversation.php:914
 msgid "Network Posts"
 msgstr ""
 
-#: include/Contact.php:240 include/Contact.php:264 include/conversation.php:915
+#: include/Contact.php:365 include/conversation.php:915
 msgid "Edit Contact"
 msgstr ""
 
-#: include/Contact.php:241
+#: include/Contact.php:366
 msgid "Drop Contact"
 msgstr ""
 
-#: include/Contact.php:242 include/Contact.php:264 include/conversation.php:916
+#: include/Contact.php:367 include/conversation.php:916
 msgid "Send PM"
 msgstr ""
 
-#: include/Contact.php:243 include/conversation.php:920
+#: include/Contact.php:368 include/conversation.php:920
 msgid "Poke"
 msgstr ""
 
@@ -6825,401 +6936,411 @@ msgstr ""
 msgid "Follow Thread"
 msgstr ""
 
-#: include/conversation.php:1036
-msgid "and"
-msgstr ""
-
-#: include/conversation.php:1042
-#, php-format
-msgid ", and %d other people"
-msgstr ""
-
-#: include/conversation.php:1052
+#: include/conversation.php:1035
 #, php-format
 msgid "%s likes this."
 msgstr ""
 
-#: include/conversation.php:1055
+#: include/conversation.php:1038
 #, php-format
 msgid "%s doesn't like this."
 msgstr ""
 
-#: include/conversation.php:1058
+#: include/conversation.php:1041
 #, php-format
 msgid "%s attends."
 msgstr ""
 
-#: include/conversation.php:1061
+#: include/conversation.php:1044
 #, php-format
 msgid "%s doesn't attend."
 msgstr ""
 
-#: include/conversation.php:1064
+#: include/conversation.php:1047
 #, php-format
 msgid "%s attends maybe."
 msgstr ""
 
-#: include/conversation.php:1073
+#: include/conversation.php:1057
+msgid "and"
+msgstr ""
+
+#: include/conversation.php:1063
+#, php-format
+msgid ", and %d other people"
+msgstr ""
+
+#: include/conversation.php:1072
 #, php-format
 msgid "<span  %1$s>%2$d people</span> like this"
 msgstr ""
 
+#: include/conversation.php:1073
+#, php-format
+msgid "%s like this."
+msgstr ""
+
 #: include/conversation.php:1076
 #, php-format
 msgid "<span  %1$s>%2$d people</span> don't like this"
 msgstr ""
 
-#: include/conversation.php:1079
+#: include/conversation.php:1077
+#, php-format
+msgid "%s don't like this."
+msgstr ""
+
+#: include/conversation.php:1080
 #, php-format
 msgid "<span  %1$s>%2$d people</span> attend"
 msgstr ""
 
-#: include/conversation.php:1082
+#: include/conversation.php:1081
 #, php-format
-msgid "<span  %1$s>%2$d people</span> don't attend"
+msgid "%s attend."
 msgstr ""
 
-#: include/conversation.php:1085
+#: include/conversation.php:1084
 #, php-format
-msgid "<span  %1$s>%2$d people</span> anttend maybe"
+msgid "<span  %1$s>%2$d people</span> don't attend"
 msgstr ""
 
-#: include/conversation.php:1087
+#: include/conversation.php:1085
 #, php-format
-msgid "<span  %1$s>%2$d people</span> agree"
+msgid "%s don't attend."
 msgstr ""
 
-#: include/conversation.php:1090
+#: include/conversation.php:1088
 #, php-format
-msgid "<span  %1$s>%2$d people</span> don't agree"
+msgid "<span  %1$s>%2$d people</span> anttend maybe"
 msgstr ""
 
-#: include/conversation.php:1093
+#: include/conversation.php:1089
 #, php-format
-msgid "<span  %1$s>%2$d people</span> abstains"
+msgid "%s anttend maybe."
 msgstr ""
 
-#: include/conversation.php:1129 include/conversation.php:1147
+#: include/conversation.php:1128 include/conversation.php:1146
 msgid "Visible to <strong>everybody</strong>"
 msgstr ""
 
-#: include/conversation.php:1131 include/conversation.php:1149
+#: include/conversation.php:1130 include/conversation.php:1148
 msgid "Please enter a video link/URL:"
 msgstr ""
 
-#: include/conversation.php:1132 include/conversation.php:1150
+#: include/conversation.php:1131 include/conversation.php:1149
 msgid "Please enter an audio link/URL:"
 msgstr ""
 
-#: include/conversation.php:1133 include/conversation.php:1151
+#: include/conversation.php:1132 include/conversation.php:1150
 msgid "Tag term:"
 msgstr ""
 
-#: include/conversation.php:1135 include/conversation.php:1153
+#: include/conversation.php:1134 include/conversation.php:1152
 msgid "Where are you right now?"
 msgstr ""
 
-#: include/conversation.php:1136
+#: include/conversation.php:1135
 msgid "Delete item(s)?"
 msgstr ""
 
-#: include/conversation.php:1205
+#: include/conversation.php:1204
 msgid "permissions"
 msgstr ""
 
-#: include/conversation.php:1228
+#: include/conversation.php:1227
 msgid "Post to Groups"
 msgstr ""
 
-#: include/conversation.php:1229
+#: include/conversation.php:1228
 msgid "Post to Contacts"
 msgstr ""
 
-#: include/conversation.php:1230
+#: include/conversation.php:1229
 msgid "Private post"
 msgstr ""
 
-#: include/conversation.php:1378
+#: include/conversation.php:1386
 msgid "View all"
 msgstr ""
 
-#: include/conversation.php:1400
+#: include/conversation.php:1408
 msgid "Like"
 msgid_plural "Likes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: include/conversation.php:1403
+#: include/conversation.php:1411
 msgid "Dislike"
 msgid_plural "Dislikes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: include/conversation.php:1409
+#: include/conversation.php:1417
 msgid "Not Attending"
 msgid_plural "Not Attending"
 msgstr[0] ""
 msgstr[1] ""
 
-#: include/conversation.php:1412 include/profile_selectors.php:6
+#: include/conversation.php:1420 include/profile_selectors.php:6
 msgid "Undecided"
 msgid_plural "Undecided"
 msgstr[0] ""
 msgstr[1] ""
 
-#: include/network.php:968
+#: include/forums.php:105 include/text.php:1015 include/nav.php:126
+#: view/theme/vier/theme.php:259
+msgid "Forums"
+msgstr ""
+
+#: include/forums.php:107 view/theme/vier/theme.php:261
+msgid "External link to forum"
+msgstr ""
+
+#: include/network.php:967
 msgid "view full size"
 msgstr ""
 
-#: include/text.php:299
+#: include/text.php:303
 msgid "newer"
 msgstr ""
 
-#: include/text.php:301
+#: include/text.php:305
 msgid "older"
 msgstr ""
 
-#: include/text.php:306
+#: include/text.php:310
 msgid "prev"
 msgstr ""
 
-#: include/text.php:308
+#: include/text.php:312
 msgid "first"
 msgstr ""
 
-#: include/text.php:340
+#: include/text.php:344
 msgid "last"
 msgstr ""
 
-#: include/text.php:343
+#: include/text.php:347
 msgid "next"
 msgstr ""
 
-#: include/text.php:398
+#: include/text.php:402
 msgid "Loading more entries..."
 msgstr ""
 
-#: include/text.php:399
+#: include/text.php:403
 msgid "The end"
 msgstr ""
 
-#: include/text.php:890
+#: include/text.php:894
 msgid "No contacts"
 msgstr ""
 
-#: include/text.php:905
+#: include/text.php:909
 #, php-format
 msgid "%d Contact"
 msgid_plural "%d Contacts"
 msgstr[0] ""
 msgstr[1] ""
 
-#: include/text.php:1003 include/nav.php:122
-msgid "Full Text"
+#: include/text.php:921
+msgid "View Contacts"
 msgstr ""
 
-#: include/text.php:1004 include/nav.php:123
-msgid "Tags"
+#: include/text.php:1010 include/nav.php:121
+msgid "Full Text"
 msgstr ""
 
-#: include/text.php:1008 include/nav.php:127
-msgid "Forums"
+#: include/text.php:1011 include/nav.php:122
+msgid "Tags"
 msgstr ""
 
-#: include/text.php:1058
+#: include/text.php:1066
 msgid "poke"
 msgstr ""
 
-#: include/text.php:1058
+#: include/text.php:1066
 msgid "poked"
 msgstr ""
 
-#: include/text.php:1059
+#: include/text.php:1067
 msgid "ping"
 msgstr ""
 
-#: include/text.php:1059
+#: include/text.php:1067
 msgid "pinged"
 msgstr ""
 
-#: include/text.php:1060
+#: include/text.php:1068
 msgid "prod"
 msgstr ""
 
-#: include/text.php:1060
+#: include/text.php:1068
 msgid "prodded"
 msgstr ""
 
-#: include/text.php:1061
+#: include/text.php:1069
 msgid "slap"
 msgstr ""
 
-#: include/text.php:1061
+#: include/text.php:1069
 msgid "slapped"
 msgstr ""
 
-#: include/text.php:1062
+#: include/text.php:1070
 msgid "finger"
 msgstr ""
 
-#: include/text.php:1062
+#: include/text.php:1070
 msgid "fingered"
 msgstr ""
 
-#: include/text.php:1063
+#: include/text.php:1071
 msgid "rebuff"
 msgstr ""
 
-#: include/text.php:1063
+#: include/text.php:1071
 msgid "rebuffed"
 msgstr ""
 
-#: include/text.php:1077
+#: include/text.php:1085
 msgid "happy"
 msgstr ""
 
-#: include/text.php:1078
+#: include/text.php:1086
 msgid "sad"
 msgstr ""
 
-#: include/text.php:1079
+#: include/text.php:1087
 msgid "mellow"
 msgstr ""
 
-#: include/text.php:1080
+#: include/text.php:1088
 msgid "tired"
 msgstr ""
 
-#: include/text.php:1081
+#: include/text.php:1089
 msgid "perky"
 msgstr ""
 
-#: include/text.php:1082
+#: include/text.php:1090
 msgid "angry"
 msgstr ""
 
-#: include/text.php:1083
+#: include/text.php:1091
 msgid "stupified"
 msgstr ""
 
-#: include/text.php:1084
+#: include/text.php:1092
 msgid "puzzled"
 msgstr ""
 
-#: include/text.php:1085
+#: include/text.php:1093
 msgid "interested"
 msgstr ""
 
-#: include/text.php:1086
+#: include/text.php:1094
 msgid "bitter"
 msgstr ""
 
-#: include/text.php:1087
+#: include/text.php:1095
 msgid "cheerful"
 msgstr ""
 
-#: include/text.php:1088
+#: include/text.php:1096
 msgid "alive"
 msgstr ""
 
-#: include/text.php:1089
+#: include/text.php:1097
 msgid "annoyed"
 msgstr ""
 
-#: include/text.php:1090
+#: include/text.php:1098
 msgid "anxious"
 msgstr ""
 
-#: include/text.php:1091
+#: include/text.php:1099
 msgid "cranky"
 msgstr ""
 
-#: include/text.php:1092
+#: include/text.php:1100
 msgid "disturbed"
 msgstr ""
 
-#: include/text.php:1093
+#: include/text.php:1101
 msgid "frustrated"
 msgstr ""
 
-#: include/text.php:1094
+#: include/text.php:1102
 msgid "motivated"
 msgstr ""
 
-#: include/text.php:1095
+#: include/text.php:1103
 msgid "relaxed"
 msgstr ""
 
-#: include/text.php:1096
+#: include/text.php:1104
 msgid "surprised"
 msgstr ""
 
-#: include/text.php:1489
+#: include/text.php:1497
 msgid "bytes"
 msgstr ""
 
-#: include/text.php:1521 include/text.php:1533
+#: include/text.php:1529 include/text.php:1541
 msgid "Click to open/close"
 msgstr ""
 
-#: include/text.php:1707
+#: include/text.php:1715
 msgid "View on separate page"
 msgstr ""
 
-#: include/text.php:1708
+#: include/text.php:1716
 msgid "view on separate page"
 msgstr ""
 
-#: include/text.php:1765 include/user.php:255
-#: view/theme/duepuntozero/config.php:44
-msgid "default"
-msgstr ""
-
-#: include/text.php:1777
-msgid "Select an alternate language"
-msgstr ""
-
-#: include/text.php:2033
+#: include/text.php:1995
 msgid "activity"
 msgstr ""
 
-#: include/text.php:2036
+#: include/text.php:1998
 msgid "post"
 msgstr ""
 
-#: include/text.php:2204
+#: include/text.php:2166
 msgid "Item filed"
 msgstr ""
 
-#: include/bbcode.php:474 include/bbcode.php:1132 include/bbcode.php:1133
+#: include/bbcode.php:483 include/bbcode.php:1143 include/bbcode.php:1144
 msgid "Image/photo"
 msgstr ""
 
-#: include/bbcode.php:572
+#: include/bbcode.php:581
 #, php-format
 msgid "<a href=\"%1$s\" target=\"_blank\">%2$s</a> %3$s"
 msgstr ""
 
-#: include/bbcode.php:606
+#: include/bbcode.php:615
 #, php-format
 msgid ""
 "<span><a href=\"%s\" target=\"_blank\">%s</a> wrote the following <a href="
 "\"%s\" target=\"_blank\">post</a>"
 msgstr ""
 
-#: include/bbcode.php:1092 include/bbcode.php:1112
+#: include/bbcode.php:1103 include/bbcode.php:1123
 msgid "$1 wrote:"
 msgstr ""
 
-#: include/bbcode.php:1141 include/bbcode.php:1142
+#: include/bbcode.php:1152 include/bbcode.php:1153
 msgid "Encrypted content"
 msgstr ""
 
-#: include/notifier.php:840 include/delivery.php:456
+#: include/notifier.php:843 include/delivery.php:458
 msgid "(no subject)"
 msgstr ""
 
-#: include/notifier.php:850 include/delivery.php:467 include/enotify.php:37
+#: include/notifier.php:853 include/delivery.php:469 include/enotify.php:37
 msgid "noreply"
 msgstr ""
 
@@ -7301,7 +7422,7 @@ msgid "Diaspora Connector"
 msgstr ""
 
 #: include/contact_selectors.php:91
-msgid "Statusnet"
+msgid "GNU Social"
 msgstr ""
 
 #: include/contact_selectors.php:92
@@ -7312,219 +7433,219 @@ msgstr ""
 msgid "Redmatrix"
 msgstr ""
 
-#: include/Scrape.php:603
+#: include/Scrape.php:610
 msgid " on Last.fm"
 msgstr ""
 
-#: include/bb2diaspora.php:154 include/event.php:22
+#: include/bb2diaspora.php:154 include/event.php:30 include/event.php:48
 msgid "Starts:"
 msgstr ""
 
-#: include/bb2diaspora.php:162 include/event.php:32
+#: include/bb2diaspora.php:162 include/event.php:33 include/event.php:54
 msgid "Finishes:"
 msgstr ""
 
-#: include/plugin.php:458 include/plugin.php:460
+#: include/plugin.php:522 include/plugin.php:524
 msgid "Click here to upgrade."
 msgstr ""
 
-#: include/plugin.php:466
+#: include/plugin.php:530
 msgid "This action exceeds the limits set by your subscription plan."
 msgstr ""
 
-#: include/plugin.php:471
+#: include/plugin.php:535
 msgid "This action is not available under your subscription plan."
 msgstr ""
 
-#: include/nav.php:73
+#: include/nav.php:72
 msgid "End this session"
 msgstr ""
 
-#: include/nav.php:76 include/nav.php:158 view/theme/diabook/theme.php:123
+#: include/nav.php:75 include/nav.php:157 view/theme/diabook/theme.php:123
 msgid "Your posts and conversations"
 msgstr ""
 
-#: include/nav.php:77 view/theme/diabook/theme.php:124
+#: include/nav.php:76 view/theme/diabook/theme.php:124
 msgid "Your profile page"
 msgstr ""
 
-#: include/nav.php:78 view/theme/diabook/theme.php:126
+#: include/nav.php:77 view/theme/diabook/theme.php:126
 msgid "Your photos"
 msgstr ""
 
-#: include/nav.php:79
+#: include/nav.php:78
 msgid "Your videos"
 msgstr ""
 
-#: include/nav.php:80 view/theme/diabook/theme.php:127
+#: include/nav.php:79 view/theme/diabook/theme.php:127
 msgid "Your events"
 msgstr ""
 
-#: include/nav.php:81 view/theme/diabook/theme.php:128
+#: include/nav.php:80 view/theme/diabook/theme.php:128
 msgid "Personal notes"
 msgstr ""
 
-#: include/nav.php:81
+#: include/nav.php:80
 msgid "Your personal notes"
 msgstr ""
 
-#: include/nav.php:92
+#: include/nav.php:91
 msgid "Sign in"
 msgstr ""
 
-#: include/nav.php:105
+#: include/nav.php:104
 msgid "Home Page"
 msgstr ""
 
-#: include/nav.php:109
+#: include/nav.php:108
 msgid "Create an account"
 msgstr ""
 
-#: include/nav.php:114
+#: include/nav.php:113
 msgid "Help and documentation"
 msgstr ""
 
-#: include/nav.php:117
+#: include/nav.php:116
 msgid "Apps"
 msgstr ""
 
-#: include/nav.php:117
+#: include/nav.php:116
 msgid "Addon applications, utilities, games"
 msgstr ""
 
-#: include/nav.php:119
+#: include/nav.php:118
 msgid "Search site content"
 msgstr ""
 
-#: include/nav.php:137
+#: include/nav.php:136
 msgid "Conversations on this site"
 msgstr ""
 
-#: include/nav.php:139
+#: include/nav.php:138
 msgid "Conversations on the network"
 msgstr ""
 
-#: include/nav.php:143
+#: include/nav.php:142
 msgid "Directory"
 msgstr ""
 
-#: include/nav.php:143
+#: include/nav.php:142
 msgid "People directory"
 msgstr ""
 
-#: include/nav.php:145
+#: include/nav.php:144
 msgid "Information"
 msgstr ""
 
-#: include/nav.php:145
+#: include/nav.php:144
 msgid "Information about this friendica instance"
 msgstr ""
 
-#: include/nav.php:155
+#: include/nav.php:154
 msgid "Conversations from your friends"
 msgstr ""
 
-#: include/nav.php:156
+#: include/nav.php:155
 msgid "Network Reset"
 msgstr ""
 
-#: include/nav.php:156
+#: include/nav.php:155
 msgid "Load Network page with no filters"
 msgstr ""
 
-#: include/nav.php:163
+#: include/nav.php:162
 msgid "Friend Requests"
 msgstr ""
 
-#: include/nav.php:167
+#: include/nav.php:166
 msgid "See all notifications"
 msgstr ""
 
-#: include/nav.php:168
+#: include/nav.php:167
 msgid "Mark all system notifications seen"
 msgstr ""
 
-#: include/nav.php:172
+#: include/nav.php:171
 msgid "Private mail"
 msgstr ""
 
-#: include/nav.php:173
+#: include/nav.php:172
 msgid "Inbox"
 msgstr ""
 
-#: include/nav.php:174
+#: include/nav.php:173
 msgid "Outbox"
 msgstr ""
 
-#: include/nav.php:178
+#: include/nav.php:177
 msgid "Manage"
 msgstr ""
 
-#: include/nav.php:178
+#: include/nav.php:177
 msgid "Manage other pages"
 msgstr ""
 
-#: include/nav.php:183
+#: include/nav.php:182
 msgid "Account settings"
 msgstr ""
 
-#: include/nav.php:186
+#: include/nav.php:185
 msgid "Manage/Edit Profiles"
 msgstr ""
 
-#: include/nav.php:188
+#: include/nav.php:187
 msgid "Manage/edit friends and contacts"
 msgstr ""
 
-#: include/nav.php:195
+#: include/nav.php:194
 msgid "Site setup and configuration"
 msgstr ""
 
-#: include/nav.php:199
+#: include/nav.php:198
 msgid "Navigation"
 msgstr ""
 
-#: include/nav.php:199
+#: include/nav.php:198
 msgid "Site map"
 msgstr ""
 
-#: include/api.php:321 include/api.php:332 include/api.php:441
-#: include/api.php:1141 include/api.php:1143
+#: include/api.php:343 include/api.php:354 include/api.php:463
+#: include/api.php:1182 include/api.php:1184
 msgid "User not found."
 msgstr ""
 
-#: include/api.php:795
+#: include/api.php:830
 #, php-format
 msgid "Daily posting limit of %d posts reached. The post was rejected."
 msgstr ""
 
-#: include/api.php:814
+#: include/api.php:849
 #, php-format
 msgid "Weekly posting limit of %d posts reached. The post was rejected."
 msgstr ""
 
-#: include/api.php:833
+#: include/api.php:868
 #, php-format
 msgid "Monthly posting limit of %d posts reached. The post was rejected."
 msgstr ""
 
-#: include/api.php:1350
+#: include/api.php:1391
 msgid "There is no status with this id."
 msgstr ""
 
-#: include/api.php:1424
+#: include/api.php:1465
 msgid "There is no conversation with this id."
 msgstr ""
 
-#: include/api.php:1703
+#: include/api.php:1744
 msgid "Invalid item."
 msgstr ""
 
-#: include/api.php:1713
+#: include/api.php:1754
 msgid "Invalid action. "
 msgstr ""
 
-#: include/api.php:1721
+#: include/api.php:1762
 msgid "DB error"
 msgstr ""
 
@@ -7572,33 +7693,38 @@ msgstr ""
 msgid "Your \"nickname\" can only contain \"a-z\", \"0-9\" and \"_\"."
 msgstr ""
 
-#: include/user.php:146 include/user.php:244
+#: include/user.php:147 include/user.php:245
 msgid "Nickname is already registered. Please choose another."
 msgstr ""
 
-#: include/user.php:156
+#: include/user.php:157
 msgid ""
 "Nickname was once registered here and may not be re-used. Please choose "
 "another."
 msgstr ""
 
-#: include/user.php:172
+#: include/user.php:173
 msgid "SERIOUS ERROR: Generation of security keys failed."
 msgstr ""
 
-#: include/user.php:230
+#: include/user.php:231
 msgid "An error occurred during registration. Please try again."
 msgstr ""
 
-#: include/user.php:265
+#: include/user.php:256 view/theme/clean/config.php:56
+#: view/theme/duepuntozero/config.php:44
+msgid "default"
+msgstr ""
+
+#: include/user.php:266
 msgid "An error occurred creating your default profile. Please try again."
 msgstr ""
 
-#: include/user.php:297 include/user.php:301 include/profile_selectors.php:42
+#: include/user.php:299 include/user.php:303 include/profile_selectors.php:42
 msgid "Friends"
 msgstr ""
 
-#: include/user.php:385
+#: include/user.php:387
 #, php-format
 msgid ""
 "\n"
@@ -7607,7 +7733,7 @@ msgid ""
 "\t"
 msgstr ""
 
-#: include/user.php:389
+#: include/user.php:391
 #, php-format
 msgid ""
 "\n"
@@ -7646,15 +7772,15 @@ msgstr ""
 msgid "Sharing notification from Diaspora network"
 msgstr ""
 
-#: include/diaspora.php:2573
+#: include/diaspora.php:2606
 msgid "Attachments:"
 msgstr ""
 
-#: include/items.php:4917
+#: include/items.php:4897
 msgid "Do you really want to delete this item?"
 msgstr ""
 
-#: include/items.php:5192
+#: include/items.php:5172
 msgid "Archives"
 msgstr ""
 
@@ -8232,6 +8358,7 @@ msgid "Set theme width"
 msgstr ""
 
 #: view/theme/cleanzero/config.php:86 view/theme/quattro/config.php:68
+#: view/theme/clean/config.php:88
 msgid "Color scheme"
 msgstr ""
 
@@ -8285,7 +8412,7 @@ msgstr ""
 
 #: view/theme/diabook/config.php:158 view/theme/diabook/theme.php:130
 #: view/theme/diabook/theme.php:544 view/theme/diabook/theme.php:624
-#: view/theme/vier/config.php:111 view/theme/vier/theme.php:216
+#: view/theme/vier/config.php:111
 msgid "Community Pages"
 msgstr ""
 
@@ -8296,7 +8423,7 @@ msgstr ""
 
 #: view/theme/diabook/config.php:160 view/theme/diabook/theme.php:391
 #: view/theme/diabook/theme.php:626 view/theme/vier/config.php:112
-#: view/theme/vier/theme.php:128
+#: view/theme/vier/theme.php:156
 msgid "Community Profiles"
 msgstr ""
 
@@ -8307,19 +8434,19 @@ msgstr ""
 
 #: view/theme/diabook/config.php:162 view/theme/diabook/theme.php:606
 #: view/theme/diabook/theme.php:628 view/theme/vier/config.php:114
-#: view/theme/vier/theme.php:334
+#: view/theme/vier/theme.php:377
 msgid "Connect Services"
 msgstr ""
 
 #: view/theme/diabook/config.php:163 view/theme/diabook/theme.php:523
 #: view/theme/diabook/theme.php:629 view/theme/vier/config.php:115
-#: view/theme/vier/theme.php:175
+#: view/theme/vier/theme.php:203
 msgid "Find Friends"
 msgstr ""
 
 #: view/theme/diabook/config.php:164 view/theme/diabook/theme.php:412
 #: view/theme/diabook/theme.php:630 view/theme/vier/config.php:116
-#: view/theme/vier/theme.php:157
+#: view/theme/vier/theme.php:185
 msgid "Last users"
 msgstr ""
 
@@ -8341,7 +8468,7 @@ msgstr ""
 msgid "Your personal photos"
 msgstr ""
 
-#: view/theme/diabook/theme.php:524 view/theme/vier/theme.php:176
+#: view/theme/diabook/theme.php:524 view/theme/vier/theme.php:204
 msgid "Local Directory"
 msgstr ""
 
@@ -8353,6 +8480,56 @@ msgstr ""
 msgid "Show/hide boxes at right-hand column:"
 msgstr ""
 
+#: view/theme/clean/config.php:57
+msgid "Midnight"
+msgstr ""
+
+#: view/theme/clean/config.php:58
+msgid "Zenburn"
+msgstr ""
+
+#: view/theme/clean/config.php:59
+msgid "Bootstrap"
+msgstr ""
+
+#: view/theme/clean/config.php:60
+msgid "Shades of Pink"
+msgstr ""
+
+#: view/theme/clean/config.php:61
+msgid "Lime and Orange"
+msgstr ""
+
+#: view/theme/clean/config.php:62
+msgid "GeoCities Retro"
+msgstr ""
+
+#: view/theme/clean/config.php:86
+msgid "Background Image"
+msgstr ""
+
+#: view/theme/clean/config.php:86
+msgid ""
+"The URL to a picture (e.g. from your photo album) that should be used as "
+"background image."
+msgstr ""
+
+#: view/theme/clean/config.php:87
+msgid "Background Color"
+msgstr ""
+
+#: view/theme/clean/config.php:87
+msgid "HEX value for the background color. Don't include the #"
+msgstr ""
+
+#: view/theme/clean/config.php:89
+msgid "font size"
+msgstr ""
+
+#: view/theme/clean/config.php:89
+msgid "base font size for your interface"
+msgstr ""
+
 #: view/theme/vier/config.php:64
 msgid "Comma separated list of helper forums"
 msgstr ""
@@ -8361,11 +8538,7 @@ msgstr ""
 msgid "Set style"
 msgstr ""
 
-#: view/theme/vier/theme.php:220
-msgid "External link to forum"
-msgstr ""
-
-#: view/theme/vier/theme.php:252
+#: view/theme/vier/theme.php:295
 msgid "Quick Start"
 msgstr ""
 
index d3ce0a5af54a680ebaafab988f5598df90fa4e1d..2e888008c2e6169f2835233299cf7f3e9edef397 100644 (file)
@@ -1,5 +1,15 @@
 <?php
-
+       /**
+        * Read strings.php file and create messages.po
+        *
+        * php utils/php2po.php <path/to/strings.php>
+        * 
+        * Output to <path/to/messages.po>
+        */
+        
+       DEFINE("NORM_REGEXP", "|[\\\]|");
+       
+       
        if(! class_exists('App')) {
                class TmpA {
                        public $strings = Array();
                $a = new TmpA();
        }
 
-       if ($argc!=2) {
-               print "Usage: ".$argv[0]." <strings.php>\n\n";
+       if ($argc<2 || in_array('-h', $argv) || in_array('--h', $argv)) {
+               print "Usage: ".$argv[0]." [-p <n>] <strings.php>\n\n";
+               print "Options:\n";
+               print "p\tNumber of plural forms. Default: 2\n";
+               print "\n";
                return;
        }
-       
+
        $phpfile = $argv[1];
        $pofile = dirname($phpfile)."/messages.po";
 
                return;
        }
 
+       // utility functions
+       function startsWith($haystack, $needle) {
+               // search backwards starting from haystack length characters from the end
+               return $needle === "" || strrpos($haystack, $needle, -strlen($haystack)) !== FALSE;
+       }
+
+
+       // start !
        include_once($phpfile);
 
-       print "Out to '$pofile'\n";
+       $out  = '';
+       $out .= "# FRIENDICA Distributed Social Network\n";
+       $out .= "# Copyright (C) 2010, 2011, 2012, 2013 the Friendica Project\n";
+       $out .= "# This file is distributed under the same license as the Friendica package.\n";
+       $out .= "# \n";
+       $out .= 'msgid ""' ."\n";
+       $out .= 'msgstr ""' ."\n";
+       $out .= '"Project-Id-Version: friendica\n"' ."\n";
+       $out .= '"Report-Msgid-Bugs-To: \n"' ."\n";
+       $out .= '"POT-Creation-Date: '. date("Y-m-d H:i:sO").'\n"' ."\n";
+       $out .= '"MIME-Version: 1.0\n"' ."\n";
+       $out .= '"Content-Type: text/plain; charset=UTF-8\n"' ."\n";
+       $out .= '"Content-Transfer-Encoding: 8bit\n"' ."\n";
        
-       $out = "";      
-       $infile = file($pofile);
-       $k="";
-       $ink = False;
-       foreach ($infile as $l) {
+       // search for plural info
+       $lang = "";
+       $lang_logic = "";
+       $lang_pnum = 2;
+       
+       $_idx = array_search('-p', $argv);
+       if ($_idx !== false) {
+               $lang_pnum = $argv[$_idx+1];
+       }
        
-               if ($k!="" && substr($l,0,7)=="msgstr "){
-                       $ink = False;
-                       $v = '""';
-                       //echo "DBG: k:'$k'\n";
-                       if (isset($a->strings[$k])) {
-                               $v= '"'.$a->strings[$k].'"';
-                               //echo "DBG\n";
-                               //var_dump($k, $v, $a->strings[$k], $v);
-                               //echo "/DBG\n";
-                               
+       $infile = file($phpfile);
+       foreach($infile as $l) {
+               $l = trim($l);
+               if  (startsWith($l, 'function string_plural_select_')) {
+                       $lang = str_replace( 'function string_plural_select_' , '', str_replace( '($n){','', $l) );
+               }
+               if (startsWith($l, 'return')) {
+                       $lang_logic = str_replace( '$', '', trim( str_replace( 'return ' , '',  $l) , ';') );
+                       break;
+               }
+       }
+       
+       echo "Language: $lang\n";
+       echo "Plural forms: $lang_pnum\n";
+       echo "Plural logic: $lang_logic;\n";
+               
+       $out .= sprintf('"Language: %s\n"', $lang) ."\n";
+       $out .= sprintf('"Plural-Forms: nplurals=%s; plural=%s;\n"', $lang_pnum, $lang_logic)  ."\n";
+       $out .= "\n";
+
+       print "\nLoading base message.po...";
+       
+       // load base messages.po and extract msgids
+       $base_msgids = array();
+       $norm_base_msgids = array();
+       $base_f = file("util/messages.po") or die("No base messages.po\n");
+       $_f = 0; $_mid = ""; $_mids = array();
+       foreach( $base_f as $l) {
+               $l = trim($l);
+               //~ print $l."\n";
+               
+               if (startsWith($l, 'msgstr')) {
+                       if ($_mid != '""') {
+                               $base_msgids[$_mid] =  $_mids;
+                               $norm_base_msgids[preg_replace(NORM_REGEXP, "", $_mid)] = $_mid;
+                               //~ print "\t\t\t".$_mid. print_r($base_msgids[$_mid], true);
                        }
-                       //echo "DBG: v:'$v'\n";
-                       $l = "msgstr ".$v."\n";
+                       
+                       $_f = 0;
+                       $_mid = "";
+                       $_mids = array();
+                       
+               }
+               
+               if (startsWith($l, '"') && $_f==2) {
+                       $_mids[count($_mids)-1] .= "\n".$l;
+                       //~ print "\t\t+mids: ".print_t($_mids, true);
+               }
+               if (startsWith($l, 'msgid_plural ')) {
+                       $_f = 2;
+                       $_mids[] = str_replace('msgid_plural ', '' , $l);
+                       //~ print "\t\t mids: ".print_r($_mids, true);
+               }
+               
+               if (startsWith($l, '"') && $_f==1) {
+                       $_mid .= "\n".$l;
+                       $_mids[count($_mids)-1] .= "\n".$l;
+                       //~ print "\t+mid: $_mid \n";
+               }
+               if (startsWith($l, 'msgid ')) {
+                       $_f = 1;
+                       $_mid = str_replace('msgid ', '' , $l);
+                               $_mids = array($_mid);
+                       //~ print "\t mid: $_mid \n";
                }
+               //~ print "\t\t\t\t$_f\n\n";
+       }
+       
+       print " done\n";
+       print "Creating '$pofile'...";
+       // create msgid and msgstr 
        
-               if (substr($l,0,6)=="msgid_" || substr($l,0,7)=="msgstr[" )$ink = False;;
+       /**
+        * Get a string and retun a message.po ready text
+        * - replace " with \"
+        * - replace tab char with \t
+        * - manage multiline strings
+        */
+       function massage_string($str) {
+               $str = str_replace('\\','\\\\',$str);
+               $str = str_replace('"','\"',$str);
+               $str = str_replace("\t",'\t',$str);
+               $str = str_replace("\n",'\n"'."\n".'"',$str);
+               if (strpos($str, "\n")!==false  && $str[0]!=='"') $str = '"'."\n".$str;
+               $str = preg_replace("|\n([^\"])|", "\n\"$1", $str);
+               return sprintf('"%s"', $str);
+       }
        
-               if ($ink) {
-                       $k .= trim($l,"\"\r\n");
-                       $k = str_replace('\"','"',$k); 
+       function find_original_msgid($str) {
+               global $norm_base_msgids;
+               $norm_str = preg_replace(NORM_REGEXP, "", $str);
+               if (array_key_exists($norm_str, $norm_base_msgids)) {
+                       return $norm_base_msgids[$norm_str];
                }
+               return $str;
+       }
+       
+       $warnings = "";
+       foreach($a->strings as $key=>$str) {
+               $msgid = massage_string($key);
                
-               if (substr($l,0,6)=="msgid "){
-                       $arr=False;
-                       $k = str_replace("msgid ","",$l);
-                       if ($k != '""' ) {
-                               $k = trim($k,"\"\r\n");
-                               $k = str_replace('\"','"',$k);
+               if (preg_match("|%[sd0-9](\$[sn])*|", $msgid)) {
+                       $out .= "#, php-format\n";
+               }
+               $msgid = find_original_msgid($msgid);
+               $out .= 'msgid '. $msgid . "\n";
+               
+               if (is_array($str)) {
+                       if (array_key_exists($msgid, $base_msgids) && isset($base_msgids[$msgid][1]))  {
+                               $out .= 'msgid_plural '. $base_msgids[$msgid][1] . "\n";
                        } else {
-                               $k = "";
+                               $out .= 'msgid_plural '. $msgid . "\n";
+                               $warnings .= "[W] No source plural form for msgid:\n". str_replace("\n","\n\t", $msgid) . "\n\n";
+                       }
+                       foreach ( $str as $n => $msgstr) {
+                               $out .= 'msgstr['.$n.'] '. massage_string($msgstr) . "\n";
                        }
-                       $ink = True;
+               } else {
+                       $out .= 'msgstr '. massage_string($str) . "\n";
                }
                
-               $out .= $l;
+               $out .= "\n";
+       
        }
-       //echo $out;
+
        file_put_contents($pofile, $out);
-?>
\ No newline at end of file
+       
+       print " done\n";
+       
+       if ($warnings=="") {
+               print "No warnings.\n";
+       } else {
+               print $warnings;
+       }
+       
index 8ecfec9446d70df9f6f83a1e848a5f307da5f431..78c1bae5f1451d34fa35c0e42c8828a5044fe10d 100755 (executable)
@@ -48,7 +48,7 @@ case "$MODE" in
                OUTFILE="$FULLPATH/messages.po"
                FINDSTARTDIR="."
                # skip addon folder
-               FINDOPTS="( -wholename */addon -or -wholename */smarty3 ) -prune -o"
+               FINDOPTS="( -wholename */addon -or -wholename */addons-extra -or -wholename */smarty3 ) -prune -o"
                
                F9KVERSION=$(sed -n "s/.*'FRIENDICA_VERSION'.*'\([0-9.]*\)'.*/\1/p" ./boot.php);
                echo "Friendica version $F9KVERSION"
index ac24659662496b1fffbda3c6360bce52fe04e2cd..12e792c040cbc837703849c3e14578ccada4c6f5 100644 (file)
@@ -21,18 +21,13 @@ organizationalUnitName=
 emailAddress=
 "
 sudo mkdir -p "$SSL_DIR"
-sudo openssl genrsa -out "$SSL_DIR/xip.io.key" 1024
+sudo openssl genrsa -out "$SSL_DIR/xip.io.key" 4096
 sudo openssl req -new -subj "$(echo -n "$SUBJ" | tr "\n" "/")" -key "$SSL_DIR/xip.io.key" -out "$SSL_DIR/xip.io.csr" -passin pass:$PASSPHRASE
 sudo openssl x509 -req -days 365 -in "$SSL_DIR/xip.io.csr" -signkey "$SSL_DIR/xip.io.key" -out "$SSL_DIR/xip.io.crt"
 
 
 #Install apache2
 echo ">>> Installing Apache2 webserver"
-# The package python-software-properties provides add-apt-repository on Ubuntu Precise Server
-sudo apt-get install python-software-properties
-sudo add-apt-repository -y ppa:ondrej/apache2
-sudo apt-key update
-sudo apt-get update
 sudo apt-get install -y apache2
 sudo a2enmod rewrite actions ssl
 sudo cp /vagrant/util/vagrant_vhost.sh /usr/local/bin/vhost
@@ -44,8 +39,11 @@ sudo service apache2 restart
 #Install php
 echo ">>> Installing PHP5"
 sudo apt-get install -y php5 libapache2-mod-php5 php5-cli php5-mysql php5-curl php5-gd
+sudo apt-get install -y imagemagick
+sudo apt-get install -y php5-imagick
 sudo service apache2 restart
 
+
 #Install mysql
 echo ">>> Installing Mysql"
 sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password root"
index dc1756fee61f701e93739f9e6dca90e1d6181109..5f5b92e292545f759daa0c8034880ba4053d63fe 100644 (file)
@@ -3,7 +3,8 @@
 # This file is distributed under the same license as the Friendica package.
 # 
 # Translators:
-# Abrax <webmaster@a-zwenkau.de>, 2015
+# Andreas H., 2015
+# Andreas H., 2015
 # bavatar <tobias.diekershoff@gmx.net>, 2011
 # Erkan Yilmaz <erkan77@gmail.com>, 2011
 # Fabian Dost <friends@dostmusik.de>, 2012
@@ -31,9 +32,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: friendica\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-10-12 15:14+0200\n"
-"PO-Revision-Date: 2015-10-13 15:29+0000\n"
-"Last-Translator: bavatar <tobias.diekershoff@gmx.net>\n"
+"POT-Creation-Date: 2015-11-30 13:14+0100\n"
+"PO-Revision-Date: 2015-12-01 09:46+0000\n"
+"Last-Translator: Andreas H.\n"
 "Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -41,441 +42,443 @@ msgstr ""
 "Language: de\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: mod/contacts.php:114
+#: mod/contacts.php:118
 #, php-format
 msgid "%d contact edited."
 msgid_plural "%d contacts edited"
 msgstr[0] "%d Kontakt bearbeitet."
 msgstr[1] "%d Kontakte bearbeitet"
 
-#: mod/contacts.php:145 mod/contacts.php:368
+#: mod/contacts.php:149 mod/contacts.php:372
 msgid "Could not access contact record."
 msgstr "Konnte nicht auf die Kontaktdaten zugreifen."
 
-#: mod/contacts.php:159
+#: mod/contacts.php:163
 msgid "Could not locate selected profile."
 msgstr "Konnte das ausgewählte Profil nicht finden."
 
-#: mod/contacts.php:192
+#: mod/contacts.php:196
 msgid "Contact updated."
 msgstr "Kontakt aktualisiert."
 
-#: mod/contacts.php:194 mod/dfrn_request.php:576
+#: mod/contacts.php:198 mod/dfrn_request.php:578
 msgid "Failed to update contact record."
 msgstr "Aktualisierung der Kontaktdaten fehlgeschlagen."
 
-#: mod/contacts.php:350 mod/manage.php:96 mod/display.php:496
-#: mod/profile_photo.php:19 mod/profile_photo.php:169
-#: mod/profile_photo.php:180 mod/profile_photo.php:193
-#: mod/ostatus_subscribe.php:9 mod/follow.php:10 mod/follow.php:54
-#: mod/follow.php:119 mod/item.php:169 mod/item.php:185 mod/group.php:19
-#: mod/dfrn_confirm.php:55 mod/fsuggest.php:78 mod/wall_upload.php:70
-#: mod/wall_upload.php:71 mod/viewcontacts.php:24 mod/notifications.php:69
-#: mod/message.php:39 mod/message.php:175 mod/crepair.php:120
-#: mod/dirfind.php:9 mod/nogroup.php:25 mod/network.php:4 mod/allfriends.php:9
-#: mod/events.php:164 mod/wallmessage.php:9 mod/wallmessage.php:33
-#: mod/wallmessage.php:79 mod/wallmessage.php:103 mod/wall_attach.php:60
-#: mod/wall_attach.php:61 mod/settings.php:20 mod/settings.php:116
-#: mod/settings.php:621 mod/register.php:42 mod/delegate.php:12
-#: mod/mood.php:114 mod/suggest.php:58 mod/profiles.php:165
-#: mod/profiles.php:615 mod/editpost.php:10 mod/api.php:26 mod/api.php:31
-#: mod/notes.php:22 mod/poke.php:135 mod/repair_ostatus.php:9
-#: mod/invite.php:15 mod/invite.php:101 mod/photos.php:163 mod/photos.php:1097
-#: mod/regmod.php:110 mod/uimport.php:23 mod/attach.php:33
-#: include/items.php:5087 index.php:382
+#: mod/contacts.php:354 mod/manage.php:96 mod/display.php:496
+#: mod/profile_photo.php:19 mod/profile_photo.php:175
+#: mod/profile_photo.php:186 mod/profile_photo.php:199
+#: mod/ostatus_subscribe.php:9 mod/follow.php:10 mod/follow.php:72
+#: mod/follow.php:137 mod/item.php:169 mod/item.php:185 mod/group.php:19
+#: mod/dfrn_confirm.php:55 mod/fsuggest.php:78 mod/wall_upload.php:77
+#: mod/wall_upload.php:80 mod/viewcontacts.php:24 mod/notifications.php:69
+#: mod/message.php:45 mod/message.php:181 mod/crepair.php:120
+#: mod/dirfind.php:11 mod/nogroup.php:25 mod/network.php:4
+#: mod/allfriends.php:11 mod/events.php:165 mod/wallmessage.php:9
+#: mod/wallmessage.php:33 mod/wallmessage.php:79 mod/wallmessage.php:103
+#: mod/wall_attach.php:67 mod/wall_attach.php:70 mod/settings.php:20
+#: mod/settings.php:116 mod/settings.php:635 mod/register.php:42
+#: mod/delegate.php:12 mod/common.php:17 mod/mood.php:114 mod/suggest.php:58
+#: mod/profiles.php:165 mod/profiles.php:615 mod/editpost.php:10
+#: mod/api.php:26 mod/api.php:31 mod/notes.php:22 mod/poke.php:149
+#: mod/repair_ostatus.php:9 mod/invite.php:15 mod/invite.php:101
+#: mod/photos.php:163 mod/photos.php:1097 mod/regmod.php:110
+#: mod/uimport.php:23 mod/attach.php:33 include/items.php:5041 index.php:382
 msgid "Permission denied."
 msgstr "Zugriff verweigert."
 
-#: mod/contacts.php:389
+#: mod/contacts.php:393
 msgid "Contact has been blocked"
 msgstr "Kontakt wurde blockiert"
 
-#: mod/contacts.php:389
+#: mod/contacts.php:393
 msgid "Contact has been unblocked"
 msgstr "Kontakt wurde wieder freigegeben"
 
-#: mod/contacts.php:400
+#: mod/contacts.php:404
 msgid "Contact has been ignored"
 msgstr "Kontakt wurde ignoriert"
 
-#: mod/contacts.php:400
+#: mod/contacts.php:404
 msgid "Contact has been unignored"
 msgstr "Kontakt wird nicht mehr ignoriert"
 
-#: mod/contacts.php:412
+#: mod/contacts.php:416
 msgid "Contact has been archived"
 msgstr "Kontakt wurde archiviert"
 
-#: mod/contacts.php:412
+#: mod/contacts.php:416
 msgid "Contact has been unarchived"
 msgstr "Kontakt wurde aus dem Archiv geholt"
 
-#: mod/contacts.php:439 mod/contacts.php:801
+#: mod/contacts.php:443 mod/contacts.php:817
 msgid "Do you really want to delete this contact?"
 msgstr "Möchtest Du wirklich diesen Kontakt löschen?"
 
-#: mod/contacts.php:441 mod/follow.php:87 mod/message.php:210
-#: mod/settings.php:1076 mod/settings.php:1082 mod/settings.php:1090
-#: mod/settings.php:1094 mod/settings.php:1099 mod/settings.php:1105
-#: mod/settings.php:1111 mod/settings.php:1117 mod/settings.php:1143
-#: mod/settings.php:1144 mod/settings.php:1145 mod/settings.php:1146
-#: mod/settings.php:1147 mod/dfrn_request.php:848 mod/register.php:235
+#: mod/contacts.php:445 mod/follow.php:105 mod/message.php:216
+#: mod/settings.php:1091 mod/settings.php:1097 mod/settings.php:1105
+#: mod/settings.php:1109 mod/settings.php:1114 mod/settings.php:1120
+#: mod/settings.php:1126 mod/settings.php:1132 mod/settings.php:1158
+#: mod/settings.php:1159 mod/settings.php:1160 mod/settings.php:1161
+#: mod/settings.php:1162 mod/dfrn_request.php:850 mod/register.php:238
 #: mod/suggest.php:29 mod/profiles.php:658 mod/profiles.php:661
-#: mod/api.php:105 include/items.php:4919
+#: mod/profiles.php:687 mod/api.php:105 include/items.php:4873
 msgid "Yes"
 msgstr "Ja"
 
-#: mod/contacts.php:444 mod/tagrm.php:11 mod/tagrm.php:94 mod/follow.php:98
-#: mod/videos.php:123 mod/message.php:213 mod/fbrowser.php:89
-#: mod/fbrowser.php:125 mod/settings.php:635 mod/settings.php:661
-#: mod/dfrn_request.php:862 mod/suggest.php:32 mod/editpost.php:147
-#: mod/photos.php:239 mod/photos.php:328 include/conversation.php:1222
-#: include/items.php:4922
+#: mod/contacts.php:448 mod/tagrm.php:11 mod/tagrm.php:94 mod/follow.php:116
+#: mod/videos.php:123 mod/message.php:219 mod/fbrowser.php:93
+#: mod/fbrowser.php:128 mod/settings.php:649 mod/settings.php:675
+#: mod/dfrn_request.php:864 mod/suggest.php:32 mod/editpost.php:147
+#: mod/photos.php:239 mod/photos.php:328 include/conversation.php:1221
+#: include/items.php:4876
 msgid "Cancel"
 msgstr "Abbrechen"
 
-#: mod/contacts.php:456
+#: mod/contacts.php:460
 msgid "Contact has been removed."
 msgstr "Kontakt wurde entfernt."
 
-#: mod/contacts.php:494
+#: mod/contacts.php:498
 #, php-format
 msgid "You are mutual friends with %s"
 msgstr "Du hast mit %s eine beidseitige Freundschaft"
 
-#: mod/contacts.php:498
+#: mod/contacts.php:502
 #, php-format
 msgid "You are sharing with %s"
 msgstr "Du teilst mit %s"
 
-#: mod/contacts.php:503
+#: mod/contacts.php:507
 #, php-format
 msgid "%s is sharing with you"
 msgstr "%s teilt mit Dir"
 
-#: mod/contacts.php:523
+#: mod/contacts.php:527
 msgid "Private communications are not available for this contact."
 msgstr "Private Kommunikation ist für diesen Kontakt nicht verfügbar."
 
-#: mod/contacts.php:526 mod/admin.php:623
+#: mod/contacts.php:530 mod/admin.php:645
 msgid "Never"
 msgstr "Niemals"
 
-#: mod/contacts.php:530
+#: mod/contacts.php:534
 msgid "(Update was successful)"
 msgstr "(Aktualisierung war erfolgreich)"
 
-#: mod/contacts.php:530
+#: mod/contacts.php:534
 msgid "(Update was not successful)"
 msgstr "(Aktualisierung war nicht erfolgreich)"
 
-#: mod/contacts.php:532
+#: mod/contacts.php:536
 msgid "Suggest friends"
 msgstr "Kontakte vorschlagen"
 
-#: mod/contacts.php:536
+#: mod/contacts.php:540
 #, php-format
 msgid "Network type: %s"
 msgstr "Netzwerktyp: %s"
 
-#: mod/contacts.php:539 include/contact_widgets.php:200
+#: mod/contacts.php:543 include/contact_widgets.php:237
 #, php-format
 msgid "%d contact in common"
 msgid_plural "%d contacts in common"
 msgstr[0] "%d gemeinsamer Kontakt"
 msgstr[1] "%d gemeinsame Kontakte"
 
-#: mod/contacts.php:544
+#: mod/contacts.php:548
 msgid "View all contacts"
 msgstr "Alle Kontakte anzeigen"
 
-#: mod/contacts.php:549 mod/contacts.php:628 mod/contacts.php:804
-#: mod/admin.php:1089
+#: mod/contacts.php:553 mod/contacts.php:636 mod/contacts.php:821
+#: mod/admin.php:1117
 msgid "Unblock"
 msgstr "Entsperren"
 
-#: mod/contacts.php:549 mod/contacts.php:628 mod/contacts.php:804
-#: mod/admin.php:1088
+#: mod/contacts.php:553 mod/contacts.php:636 mod/contacts.php:821
+#: mod/admin.php:1116
 msgid "Block"
 msgstr "Sperren"
 
-#: mod/contacts.php:552
+#: mod/contacts.php:556
 msgid "Toggle Blocked status"
 msgstr "Geblockt-Status ein-/ausschalten"
 
-#: mod/contacts.php:556 mod/contacts.php:629 mod/contacts.php:805
+#: mod/contacts.php:561 mod/contacts.php:637 mod/contacts.php:822
 msgid "Unignore"
 msgstr "Ignorieren aufheben"
 
-#: mod/contacts.php:556 mod/contacts.php:629 mod/contacts.php:805
+#: mod/contacts.php:561 mod/contacts.php:637 mod/contacts.php:822
 #: mod/notifications.php:54 mod/notifications.php:179
 #: mod/notifications.php:259
 msgid "Ignore"
 msgstr "Ignorieren"
 
-#: mod/contacts.php:559
+#: mod/contacts.php:564
 msgid "Toggle Ignored status"
 msgstr "Ignoriert-Status ein-/ausschalten"
 
-#: mod/contacts.php:564 mod/contacts.php:806
+#: mod/contacts.php:570 mod/contacts.php:823
 msgid "Unarchive"
 msgstr "Aus Archiv zurückholen"
 
-#: mod/contacts.php:564 mod/contacts.php:806
+#: mod/contacts.php:570 mod/contacts.php:823
 msgid "Archive"
 msgstr "Archivieren"
 
-#: mod/contacts.php:567
+#: mod/contacts.php:573
 msgid "Toggle Archive status"
 msgstr "Archiviert-Status ein-/ausschalten"
 
-#: mod/contacts.php:571
+#: mod/contacts.php:578
 msgid "Repair"
 msgstr "Reparieren"
 
-#: mod/contacts.php:574
+#: mod/contacts.php:581
 msgid "Advanced Contact Settings"
 msgstr "Fortgeschrittene Kontakteinstellungen"
 
-#: mod/contacts.php:581
+#: mod/contacts.php:589
 msgid "Communications lost with this contact!"
 msgstr "Verbindungen mit diesem Kontakt verloren!"
 
-#: mod/contacts.php:584
+#: mod/contacts.php:592
 msgid "Fetch further information for feeds"
 msgstr "Weitere Informationen zu Feeds holen"
 
-#: mod/contacts.php:585 mod/admin.php:632
+#: mod/contacts.php:593 mod/admin.php:654
 msgid "Disabled"
 msgstr "Deaktiviert"
 
-#: mod/contacts.php:585
+#: mod/contacts.php:593
 msgid "Fetch information"
 msgstr "Beziehe Information"
 
-#: mod/contacts.php:585
+#: mod/contacts.php:593
 msgid "Fetch information and keywords"
 msgstr "Beziehe Information und Schlüsselworte"
 
-#: mod/contacts.php:598
+#: mod/contacts.php:606
 msgid "Contact Editor"
 msgstr "Kontakt Editor"
 
-#: mod/contacts.php:600 mod/manage.php:110 mod/fsuggest.php:107
-#: mod/message.php:336 mod/message.php:565 mod/crepair.php:191
-#: mod/events.php:566 mod/content.php:712 mod/install.php:250
-#: mod/install.php:288 mod/mood.php:137 mod/profiles.php:683
-#: mod/localtime.php:45 mod/poke.php:199 mod/invite.php:140
+#: mod/contacts.php:608 mod/manage.php:143 mod/fsuggest.php:107
+#: mod/message.php:342 mod/message.php:525 mod/crepair.php:195
+#: mod/events.php:574 mod/content.php:712 mod/install.php:261
+#: mod/install.php:299 mod/mood.php:137 mod/profiles.php:696
+#: mod/localtime.php:45 mod/poke.php:198 mod/invite.php:140
 #: mod/photos.php:1129 mod/photos.php:1253 mod/photos.php:1571
 #: mod/photos.php:1622 mod/photos.php:1670 mod/photos.php:1758
-#: object/Item.php:707 view/theme/cleanzero/config.php:80
+#: object/Item.php:710 view/theme/cleanzero/config.php:80
 #: view/theme/dispy/config.php:70 view/theme/quattro/config.php:64
 #: view/theme/diabook/config.php:148 view/theme/diabook/theme.php:633
-#: view/theme/vier/config.php:107 view/theme/duepuntozero/config.php:59
+#: view/theme/clean/config.php:83 view/theme/vier/config.php:107
+#: view/theme/duepuntozero/config.php:59
 msgid "Submit"
 msgstr "Senden"
 
-#: mod/contacts.php:601
+#: mod/contacts.php:609
 msgid "Profile Visibility"
 msgstr "Profil-Sichtbarkeit"
 
-#: mod/contacts.php:602
+#: mod/contacts.php:610
 #, php-format
 msgid ""
 "Please choose the profile you would like to display to %s when viewing your "
 "profile securely."
 msgstr "Bitte wähle eines Deiner Profile das angezeigt werden soll, wenn %s Dein Profil aufruft."
 
-#: mod/contacts.php:603
+#: mod/contacts.php:611
 msgid "Contact Information / Notes"
 msgstr "Kontakt Informationen / Notizen"
 
-#: mod/contacts.php:604
+#: mod/contacts.php:612
 msgid "Edit contact notes"
 msgstr "Notizen zum Kontakt bearbeiten"
 
-#: mod/contacts.php:609 mod/contacts.php:844 mod/viewcontacts.php:64
-#: mod/nogroup.php:40
+#: mod/contacts.php:617 mod/contacts.php:861 mod/viewcontacts.php:77
+#: mod/nogroup.php:41
 #, php-format
 msgid "Visit %s's profile [%s]"
 msgstr "Besuche %ss Profil [%s]"
 
-#: mod/contacts.php:610
+#: mod/contacts.php:618
 msgid "Block/Unblock contact"
 msgstr "Kontakt blockieren/freischalten"
 
-#: mod/contacts.php:611
+#: mod/contacts.php:619
 msgid "Ignore contact"
 msgstr "Ignoriere den Kontakt"
 
-#: mod/contacts.php:612
+#: mod/contacts.php:620
 msgid "Repair URL settings"
 msgstr "URL Einstellungen reparieren"
 
-#: mod/contacts.php:613
+#: mod/contacts.php:621
 msgid "View conversations"
 msgstr "Unterhaltungen anzeigen"
 
-#: mod/contacts.php:615
+#: mod/contacts.php:623
 msgid "Delete contact"
 msgstr "Lösche den Kontakt"
 
-#: mod/contacts.php:619
+#: mod/contacts.php:627
 msgid "Last update:"
 msgstr "Letzte Aktualisierung: "
 
-#: mod/contacts.php:621
+#: mod/contacts.php:629
 msgid "Update public posts"
 msgstr "Öffentliche Beiträge aktualisieren"
 
-#: mod/contacts.php:623 mod/admin.php:1590
+#: mod/contacts.php:631 mod/admin.php:1653
 msgid "Update now"
 msgstr "Jetzt aktualisieren"
 
-#: mod/contacts.php:625 mod/dirfind.php:141 include/contact_widgets.php:32
-#: include/conversation.php:924
+#: mod/contacts.php:633 mod/dirfind.php:190 mod/allfriends.php:67
+#: mod/match.php:71 mod/suggest.php:82 include/contact_widgets.php:32
+#: include/Contact.php:321 include/conversation.php:924
 msgid "Connect/Follow"
 msgstr "Verbinden/Folgen"
 
-#: mod/contacts.php:632
+#: mod/contacts.php:640
 msgid "Currently blocked"
 msgstr "Derzeit geblockt"
 
-#: mod/contacts.php:633
+#: mod/contacts.php:641
 msgid "Currently ignored"
 msgstr "Derzeit ignoriert"
 
-#: mod/contacts.php:634
+#: mod/contacts.php:642
 msgid "Currently archived"
 msgstr "Momentan archiviert"
 
-#: mod/contacts.php:635 mod/notifications.php:172 mod/notifications.php:251
+#: mod/contacts.php:643 mod/notifications.php:172 mod/notifications.php:251
 msgid "Hide this contact from others"
 msgstr "Verbirg diesen Kontakt vor andere"
 
-#: mod/contacts.php:635
+#: mod/contacts.php:643
 msgid ""
 "Replies/likes to your public posts <strong>may</strong> still be visible"
 msgstr "Antworten/Likes auf deine Ã¶ffentlichen Beiträge <strong>könnten</strong> weiterhin sichtbar sein"
 
-#: mod/contacts.php:636
+#: mod/contacts.php:644
 msgid "Notification for new posts"
 msgstr "Benachrichtigung bei neuen Beiträgen"
 
-#: mod/contacts.php:636
+#: mod/contacts.php:644
 msgid "Send a notification of every new post of this contact"
 msgstr "Sende eine Benachrichtigung, wann immer dieser Kontakt einen neuen Beitrag schreibt."
 
-#: mod/contacts.php:639
+#: mod/contacts.php:647
 msgid "Blacklisted keywords"
 msgstr "Blacklistete Schlüsselworte "
 
-#: mod/contacts.php:639
+#: mod/contacts.php:647
 msgid ""
 "Comma separated list of keywords that should not be converted to hashtags, "
 "when \"Fetch information and keywords\" is selected"
 msgstr "Komma-Separierte Liste mit Schlüsselworten, die nicht in Hashtags konvertiert werden, wenn \"Beziehe Information und Schlüsselworte\" aktiviert wurde"
 
-#: mod/contacts.php:646 mod/follow.php:103 mod/notifications.php:255
+#: mod/contacts.php:654 mod/follow.php:121 mod/notifications.php:255
 msgid "Profile URL"
 msgstr "Profil URL"
 
-#: mod/contacts.php:692
+#: mod/contacts.php:700
 msgid "Suggestions"
 msgstr "Kontaktvorschläge"
 
-#: mod/contacts.php:695
+#: mod/contacts.php:703
 msgid "Suggest potential friends"
 msgstr "Freunde vorschlagen"
 
-#: mod/contacts.php:699 mod/group.php:192
+#: mod/contacts.php:708 mod/group.php:192
 msgid "All Contacts"
 msgstr "Alle Kontakte"
 
-#: mod/contacts.php:702
+#: mod/contacts.php:711
 msgid "Show all contacts"
 msgstr "Alle Kontakte anzeigen"
 
-#: mod/contacts.php:706
+#: mod/contacts.php:716
 msgid "Unblocked"
 msgstr "Ungeblockt"
 
-#: mod/contacts.php:709
+#: mod/contacts.php:719
 msgid "Only show unblocked contacts"
 msgstr "Nur nicht-blockierte Kontakte anzeigen"
 
-#: mod/contacts.php:714
+#: mod/contacts.php:725
 msgid "Blocked"
 msgstr "Geblockt"
 
-#: mod/contacts.php:717
+#: mod/contacts.php:728
 msgid "Only show blocked contacts"
 msgstr "Nur blockierte Kontakte anzeigen"
 
-#: mod/contacts.php:722
+#: mod/contacts.php:734
 msgid "Ignored"
 msgstr "Ignoriert"
 
-#: mod/contacts.php:725
+#: mod/contacts.php:737
 msgid "Only show ignored contacts"
 msgstr "Nur ignorierte Kontakte anzeigen"
 
-#: mod/contacts.php:730
+#: mod/contacts.php:743
 msgid "Archived"
 msgstr "Archiviert"
 
-#: mod/contacts.php:733
+#: mod/contacts.php:746
 msgid "Only show archived contacts"
 msgstr "Nur archivierte Kontakte anzeigen"
 
-#: mod/contacts.php:738
+#: mod/contacts.php:752
 msgid "Hidden"
 msgstr "Verborgen"
 
-#: mod/contacts.php:741
+#: mod/contacts.php:755
 msgid "Only show hidden contacts"
 msgstr "Nur verborgene Kontakte anzeigen"
 
-#: mod/contacts.php:792 include/text.php:1005 include/nav.php:124
-#: include/nav.php:188 view/theme/diabook/theme.php:125
+#: mod/contacts.php:808 include/text.php:1012 include/nav.php:123
+#: include/nav.php:187 view/theme/diabook/theme.php:125
 msgid "Contacts"
 msgstr "Kontakte"
 
-#: mod/contacts.php:796
+#: mod/contacts.php:812
 msgid "Search your contacts"
 msgstr "Suche in deinen Kontakten"
 
-#: mod/contacts.php:797 mod/directory.php:63
+#: mod/contacts.php:813
 msgid "Finding: "
 msgstr "Funde: "
 
-#: mod/contacts.php:798 mod/directory.php:65 include/contact_widgets.php:34
+#: mod/contacts.php:814 mod/directory.php:202 include/contact_widgets.php:34
 msgid "Find"
 msgstr "Finde"
 
-#: mod/contacts.php:803 mod/settings.php:146 mod/settings.php:660
+#: mod/contacts.php:820 mod/settings.php:146 mod/settings.php:674
 msgid "Update"
 msgstr "Aktualisierungen"
 
-#: mod/contacts.php:807 mod/group.php:171 mod/admin.php:1087
-#: mod/content.php:440 mod/content.php:743 mod/settings.php:697
-#: mod/photos.php:1715 object/Item.php:131 include/conversation.php:635
+#: mod/contacts.php:824 mod/group.php:171 mod/admin.php:1115
+#: mod/content.php:440 mod/content.php:743 mod/settings.php:711
+#: mod/photos.php:1715 object/Item.php:134 include/conversation.php:635
 msgid "Delete"
 msgstr "Löschen"
 
-#: mod/contacts.php:820
+#: mod/contacts.php:837
 msgid "Mutual Friendship"
 msgstr "Beidseitige Freundschaft"
 
-#: mod/contacts.php:824
+#: mod/contacts.php:841
 msgid "is a fan of yours"
 msgstr "ist ein Fan von dir"
 
-#: mod/contacts.php:828
+#: mod/contacts.php:845
 msgid "you are a fan of"
 msgstr "Du bist Fan von"
 
-#: mod/contacts.php:845 mod/nogroup.php:41
+#: mod/contacts.php:862 mod/nogroup.php:42
 msgid "Edit contact"
 msgstr "Kontakt bearbeiten"
 
@@ -483,17 +486,17 @@ msgstr "Kontakt bearbeiten"
 msgid "No profile"
 msgstr "Kein Profil"
 
-#: mod/manage.php:106
+#: mod/manage.php:139
 msgid "Manage Identities and/or Pages"
 msgstr "Verwalte Identitäten und/oder Seiten"
 
-#: mod/manage.php:107
+#: mod/manage.php:140
 msgid ""
 "Toggle between different identities or community/group pages which share "
 "your account details or which you have been granted \"manage\" permissions"
 msgstr "Zwischen verschiedenen Identitäten oder Gemeinschafts-/Gruppenseiten wechseln, die Deine Kontoinformationen teilen oder zu denen Du â€žVerwalten“-Befugnisse bekommen hast."
 
-#: mod/manage.php:108
+#: mod/manage.php:141
 msgid "Select an identity to manage: "
 msgstr "Wähle eine Identität zum Verwalten aus: "
 
@@ -513,8 +516,8 @@ msgstr "Ungültiger Profil-Bezeichner."
 msgid "Profile Visibility Editor"
 msgstr "Editor für die Profil-Sichtbarkeit"
 
-#: mod/profperm.php:104 mod/newmember.php:32 include/identity.php:530
-#: include/identity.php:611 include/identity.php:641 include/nav.php:77
+#: mod/profperm.php:104 mod/newmember.php:32 include/identity.php:542
+#: include/identity.php:628 include/identity.php:658 include/nav.php:76
 #: view/theme/diabook/theme.php:124
 msgid "Profile"
 msgstr "Profil"
@@ -532,14 +535,14 @@ msgid "All Contacts (with secure profile access)"
 msgstr "Alle Kontakte (mit gesichertem Profilzugriff)"
 
 #: mod/display.php:82 mod/display.php:283 mod/display.php:500
-#: mod/viewsrc.php:15 mod/admin.php:173 mod/admin.php:1132 mod/admin.php:1352
-#: mod/notice.php:15 include/items.php:4878
+#: mod/viewsrc.php:15 mod/admin.php:196 mod/admin.php:1160 mod/admin.php:1381
+#: mod/notice.php:15 include/items.php:4832
 msgid "Item not found."
 msgstr "Beitrag nicht gefunden."
 
 #: mod/display.php:211 mod/videos.php:189 mod/viewcontacts.php:19
-#: mod/community.php:18 mod/dfrn_request.php:777 mod/search.php:93
-#: mod/search.php:99 mod/directory.php:35 mod/photos.php:968
+#: mod/community.php:18 mod/dfrn_request.php:779 mod/search.php:93
+#: mod/search.php:99 mod/directory.php:37 mod/photos.php:968
 msgid "Public access denied."
 msgstr "Öffentlicher Zugriff verweigert."
 
@@ -582,8 +585,8 @@ msgid ""
 " join."
 msgstr "Auf der <em>Quick Start</em> Seite findest Du eine kurze Einleitung in die einzelnen Funktionen Deines Profils und die Netzwerk-Reiter, wo Du interessante Foren findest und neue Kontakte knüpfst."
 
-#: mod/newmember.php:22 mod/admin.php:1184 mod/admin.php:1412
-#: mod/settings.php:99 include/nav.php:183 view/theme/diabook/theme.php:544
+#: mod/newmember.php:22 mod/admin.php:1212 mod/admin.php:1457
+#: mod/settings.php:99 include/nav.php:182 view/theme/diabook/theme.php:544
 #: view/theme/diabook/theme.php:648
 msgid "Settings"
 msgstr "Einstellungen"
@@ -607,7 +610,7 @@ msgid ""
 "potential friends know exactly how to find you."
 msgstr "Ãœberprüfe die restlichen Einstellungen, insbesondere die Einstellungen zur Privatsphäre. Wenn Du Dein Profil nicht veröffentlichst, ist das als wenn Du Deine Telefonnummer nicht ins Telefonbuch einträgst. Im Allgemeinen solltest Du es veröffentlichen - außer all Deine Freunde und potentiellen Freunde wissen genau, wie sie Dich finden können."
 
-#: mod/newmember.php:36 mod/profile_photo.php:244 mod/profiles.php:696
+#: mod/newmember.php:36 mod/profile_photo.php:250 mod/profiles.php:709
 msgid "Upload Profile Photo"
 msgstr "Profilbild hochladen"
 
@@ -706,7 +709,7 @@ msgid ""
 "hours."
 msgstr "Im seitlichen Bedienfeld der Kontakteseite gibt es diverse Werkzeuge, um neue Freunde zu finden. Wir können Menschen mit den gleichen Interessen finden, anhand von Namen oder Interessen suchen oder aber aufgrund vorhandener Kontakte neue Freunde vorschlagen.\nAuf einer brandneuen - soeben erstellten - Seite starten die Kontaktvorschläge innerhalb von 24 Stunden."
 
-#: mod/newmember.php:66 include/group.php:270
+#: mod/newmember.php:66 include/group.php:283
 msgid "Groups"
 msgstr "Gruppen"
 
@@ -764,86 +767,86 @@ msgid "Image uploaded but image cropping failed."
 msgstr "Bild hochgeladen, aber das Zuschneiden schlug fehl."
 
 #: mod/profile_photo.php:74 mod/profile_photo.php:81 mod/profile_photo.php:88
-#: mod/profile_photo.php:204 mod/profile_photo.php:296
-#: mod/profile_photo.php:305 mod/photos.php:70 mod/photos.php:184
+#: mod/profile_photo.php:210 mod/profile_photo.php:302
+#: mod/profile_photo.php:311 mod/photos.php:70 mod/photos.php:184
 #: mod/photos.php:767 mod/photos.php:1237 mod/photos.php:1260
-#: mod/photos.php:1854 include/user.php:343 include/user.php:350
-#: include/user.php:357 view/theme/diabook/theme.php:500
+#: mod/photos.php:1854 include/user.php:345 include/user.php:352
+#: include/user.php:359 view/theme/diabook/theme.php:500
 msgid "Profile Photos"
 msgstr "Profilbilder"
 
 #: mod/profile_photo.php:77 mod/profile_photo.php:84 mod/profile_photo.php:91
-#: mod/profile_photo.php:308
+#: mod/profile_photo.php:314
 #, php-format
 msgid "Image size reduction [%s] failed."
 msgstr "Verkleinern der Bildgröße von [%s] scheiterte."
 
-#: mod/profile_photo.php:118
+#: mod/profile_photo.php:124
 msgid ""
 "Shift-reload the page or clear browser cache if the new photo does not "
 "display immediately."
 msgstr "Drücke Umschalt+Neu Laden oder leere den Browser-Cache, falls das neue Foto nicht gleich angezeigt wird."
 
-#: mod/profile_photo.php:128
+#: mod/profile_photo.php:134
 msgid "Unable to process image"
 msgstr "Bild konnte nicht verarbeitet werden"
 
-#: mod/profile_photo.php:144 mod/wall_upload.php:137 mod/photos.php:803
+#: mod/profile_photo.php:150 mod/wall_upload.php:151 mod/photos.php:803
 #, php-format
 msgid "Image exceeds size limit of %s"
 msgstr "Bildgröße Ã¼berschreitet das Limit von %s"
 
-#: mod/profile_photo.php:153 mod/wall_upload.php:169 mod/photos.php:843
+#: mod/profile_photo.php:159 mod/wall_upload.php:183 mod/photos.php:843
 msgid "Unable to process image."
 msgstr "Konnte das Bild nicht bearbeiten."
 
-#: mod/profile_photo.php:242
+#: mod/profile_photo.php:248
 msgid "Upload File:"
 msgstr "Datei hochladen:"
 
-#: mod/profile_photo.php:243
+#: mod/profile_photo.php:249
 msgid "Select a profile:"
 msgstr "Profil auswählen:"
 
-#: mod/profile_photo.php:245
+#: mod/profile_photo.php:251
 msgid "Upload"
 msgstr "Hochladen"
 
-#: mod/profile_photo.php:248
+#: mod/profile_photo.php:254
 msgid "or"
 msgstr "oder"
 
-#: mod/profile_photo.php:248
+#: mod/profile_photo.php:254
 msgid "skip this step"
 msgstr "diesen Schritt Ã¼berspringen"
 
-#: mod/profile_photo.php:248
+#: mod/profile_photo.php:254
 msgid "select a photo from your photo albums"
 msgstr "wähle ein Foto aus deinen Fotoalben"
 
-#: mod/profile_photo.php:262
+#: mod/profile_photo.php:268
 msgid "Crop Image"
 msgstr "Bild zurechtschneiden"
 
-#: mod/profile_photo.php:263
+#: mod/profile_photo.php:269
 msgid "Please adjust the image cropping for optimum viewing."
 msgstr "Passe bitte den Bildausschnitt an, damit das Bild optimal dargestellt werden kann."
 
-#: mod/profile_photo.php:265
+#: mod/profile_photo.php:271
 msgid "Done Editing"
 msgstr "Bearbeitung abgeschlossen"
 
-#: mod/profile_photo.php:299
+#: mod/profile_photo.php:305
 msgid "Image uploaded successfully."
 msgstr "Bild erfolgreich hochgeladen."
 
-#: mod/profile_photo.php:301 mod/wall_upload.php:202 mod/photos.php:870
+#: mod/profile_photo.php:307 mod/wall_upload.php:216 mod/photos.php:870
 msgid "Image upload failed."
 msgstr "Hochladen des Bildes gescheitert."
 
 #: mod/subthread.php:87 mod/tagger.php:62 mod/like.php:168
 #: include/conversation.php:130 include/conversation.php:266
-#: include/text.php:2031 include/diaspora.php:2140
+#: include/text.php:1995 include/diaspora.php:2140
 #: view/theme/diabook/theme.php:471
 msgid "photo"
 msgstr "Foto"
@@ -905,7 +908,7 @@ msgstr "Erfolg"
 msgid "failed"
 msgstr "Fehlgeschlagen"
 
-#: mod/ostatus_subscribe.php:69 object/Item.php:232
+#: mod/ostatus_subscribe.php:69 object/Item.php:235
 msgid "ignored"
 msgstr "Ignoriert"
 
@@ -913,8 +916,8 @@ msgstr "Ignoriert"
 msgid "Keep this window open until done."
 msgstr "Lasse dieses Fenster offen, bis der Vorgang abgeschlossen ist."
 
-#: mod/filer.php:30 include/conversation.php:1134
-#: include/conversation.php:1152
+#: mod/filer.php:30 include/conversation.php:1133
+#: include/conversation.php:1151
 msgid "Save to Folder:"
 msgstr "In diesem Ordner speichern:"
 
@@ -922,65 +925,74 @@ msgstr "In diesem Ordner speichern:"
 msgid "- select -"
 msgstr "- auswählen -"
 
-#: mod/filer.php:31 mod/editpost.php:108 mod/notes.php:61 include/text.php:997
+#: mod/filer.php:31 mod/editpost.php:108 mod/notes.php:61
+#: include/text.php:1004
 msgid "Save"
 msgstr "Speichern"
 
-#: mod/follow.php:27
+#: mod/follow.php:18 mod/dfrn_request.php:863
+msgid "Submit Request"
+msgstr "Anfrage abschicken"
+
+#: mod/follow.php:29
 msgid "You already added this contact."
 msgstr "Du hast den Kontakt bereits hinzugefügt."
 
-#: mod/follow.php:35
+#: mod/follow.php:38
+msgid "Diaspora support isn't enabled. Contact can't be added."
+msgstr "Diaspora Unterstützung ist nicht aktiviert. Der Kontakt kann nicht zugefügt werden."
+
+#: mod/follow.php:45
+msgid "OStatus support is disabled. Contact can't be added."
+msgstr "OStatus Unterstützung ist nicht aktiviert. Der Kontakt kann nicht zugefügt werden."
+
+#: mod/follow.php:52
 msgid "The network type couldn't be detected. Contact can't be added."
 msgstr "Der Netzwerktype wurde nicht erkannt. Der Kontakt kann nicht hinzugefügt werden."
 
-#: mod/follow.php:86 mod/dfrn_request.php:847
+#: mod/follow.php:104 mod/dfrn_request.php:849
 msgid "Please answer the following:"
 msgstr "Bitte beantworte folgendes:"
 
-#: mod/follow.php:87 mod/dfrn_request.php:848
+#: mod/follow.php:105 mod/dfrn_request.php:850
 #, php-format
 msgid "Does %s know you?"
 msgstr "Kennt %s Dich?"
 
-#: mod/follow.php:87 mod/settings.php:1076 mod/settings.php:1082
-#: mod/settings.php:1090 mod/settings.php:1094 mod/settings.php:1099
-#: mod/settings.php:1105 mod/settings.php:1111 mod/settings.php:1117
-#: mod/settings.php:1143 mod/settings.php:1144 mod/settings.php:1145
-#: mod/settings.php:1146 mod/settings.php:1147 mod/dfrn_request.php:848
-#: mod/register.php:236 mod/profiles.php:658 mod/profiles.php:662
-#: mod/api.php:106
+#: mod/follow.php:105 mod/settings.php:1091 mod/settings.php:1097
+#: mod/settings.php:1105 mod/settings.php:1109 mod/settings.php:1114
+#: mod/settings.php:1120 mod/settings.php:1126 mod/settings.php:1132
+#: mod/settings.php:1158 mod/settings.php:1159 mod/settings.php:1160
+#: mod/settings.php:1161 mod/settings.php:1162 mod/dfrn_request.php:850
+#: mod/register.php:239 mod/profiles.php:658 mod/profiles.php:662
+#: mod/profiles.php:687 mod/api.php:106
 msgid "No"
 msgstr "Nein"
 
-#: mod/follow.php:88 mod/dfrn_request.php:852
+#: mod/follow.php:106 mod/dfrn_request.php:854
 msgid "Add a personal note:"
 msgstr "Eine persönliche Notiz beifügen:"
 
-#: mod/follow.php:94 mod/dfrn_request.php:858
+#: mod/follow.php:112 mod/dfrn_request.php:860
 msgid "Your Identity Address:"
 msgstr "Adresse Deines Profils:"
 
-#: mod/follow.php:97 mod/dfrn_request.php:861
-msgid "Submit Request"
-msgstr "Anfrage abschicken"
-
-#: mod/follow.php:107 mod/notifications.php:244 mod/events.php:558
-#: mod/directory.php:152 include/identity.php:268 include/bb2diaspora.php:170
-#: include/event.php:42
+#: mod/follow.php:125 mod/notifications.php:244 mod/events.php:566
+#: mod/directory.php:139 include/identity.php:278 include/bb2diaspora.php:170
+#: include/event.php:36 include/event.php:60
 msgid "Location:"
 msgstr "Ort:"
 
-#: mod/follow.php:109 mod/notifications.php:246 mod/directory.php:160
-#: include/identity.php:277 include/identity.php:582
+#: mod/follow.php:127 mod/notifications.php:246 mod/directory.php:147
+#: include/identity.php:287 include/identity.php:594
 msgid "About:"
 msgstr "Ãœber:"
 
-#: mod/follow.php:111 mod/notifications.php:248 include/identity.php:576
+#: mod/follow.php:129 mod/notifications.php:248 include/identity.php:588
 msgid "Tags:"
 msgstr "Tags"
 
-#: mod/follow.php:144
+#: mod/follow.php:162
 msgid "Contact added"
 msgstr "Kontakt hinzugefügt"
 
@@ -992,35 +1004,35 @@ msgstr "Konnte den Originalbeitrag nicht finden."
 msgid "Empty post discarded."
 msgstr "Leerer Beitrag wurde verworfen."
 
-#: mod/item.php:461 mod/wall_upload.php:199 mod/wall_upload.php:213
-#: mod/wall_upload.php:220 include/Photo.php:954 include/Photo.php:969
+#: mod/item.php:460 mod/wall_upload.php:213 mod/wall_upload.php:227
+#: mod/wall_upload.php:234 include/Photo.php:954 include/Photo.php:969
 #: include/Photo.php:976 include/Photo.php:998 include/message.php:145
 msgid "Wall Photos"
 msgstr "Pinnwand-Bilder"
 
-#: mod/item.php:835
+#: mod/item.php:834
 msgid "System error. Post not saved."
 msgstr "Systemfehler. Beitrag konnte nicht gespeichert werden."
 
-#: mod/item.php:964
+#: mod/item.php:963
 #, php-format
 msgid ""
 "This message was sent to you by %s, a member of the Friendica social "
 "network."
 msgstr "Diese Nachricht wurde dir von %s geschickt, einem Mitglied des Sozialen Netzwerks Friendica."
 
-#: mod/item.php:966
+#: mod/item.php:965
 #, php-format
 msgid "You may visit them online at %s"
 msgstr "Du kannst sie online unter %s besuchen"
 
-#: mod/item.php:967
+#: mod/item.php:966
 msgid ""
 "Please contact the sender by replying to this post if you do not wish to "
 "receive these messages."
 msgstr "Falls Du diese Beiträge nicht erhalten möchtest, kontaktiere bitte den Autor, indem Du auf diese Nachricht antwortest."
 
-#: mod/item.php:971
+#: mod/item.php:970
 #, php-format
 msgid "%s posted an update."
 msgstr "%s hat ein Update veröffentlicht."
@@ -1049,7 +1061,7 @@ msgstr "Gruppe speichern"
 msgid "Create a group of contacts/friends."
 msgstr "Eine Gruppe von Kontakten/Freunden anlegen."
 
-#: mod/group.php:94 mod/group.php:178 include/group.php:273
+#: mod/group.php:94 mod/group.php:178 include/group.php:289
 msgid "Group Name: "
 msgstr "Gruppenname:"
 
@@ -1167,7 +1179,7 @@ msgstr "Deine Kontaktreferenzen konnten nicht in unserem System gespeichert werd
 msgid "Unable to update your contact profile details on our system"
 msgstr "Die Updates für Dein Profil konnten nicht gespeichert werden"
 
-#: mod/dfrn_confirm.php:753 mod/dfrn_request.php:732 include/items.php:4301
+#: mod/dfrn_confirm.php:753 mod/dfrn_request.php:734 include/items.php:4244
 msgid "[Name Withheld]"
 msgstr "[Name unterdrückt]"
 
@@ -1176,7 +1188,7 @@ msgstr "[Name unterdrückt]"
 msgid "%1$s has joined %2$s"
 msgstr "%1$s ist %2$s beigetreten"
 
-#: mod/profile.php:21 include/identity.php:77
+#: mod/profile.php:21 include/identity.php:82
 msgid "Requested profile is not available."
 msgstr "Das angefragte Profil ist nicht vorhanden."
 
@@ -1200,7 +1212,7 @@ msgstr "Keine Videos  ausgewählt"
 msgid "Access to this item is restricted."
 msgstr "Zugriff zu diesem Eintrag wurde eingeschränkt."
 
-#: mod/videos.php:375 include/text.php:1457
+#: mod/videos.php:375 include/text.php:1465
 msgid "View Video"
 msgstr "Video ansehen"
 
@@ -1234,9 +1246,9 @@ msgstr "Kontakte vorschlagen"
 msgid "Suggest a friend for %s"
 msgstr "Schlage %s einen Kontakt vor"
 
-#: mod/wall_upload.php:19 mod/wall_upload.php:29 mod/wall_upload.php:76
-#: mod/wall_upload.php:110 mod/wall_upload.php:111 mod/wall_attach.php:16
-#: mod/wall_attach.php:21 mod/wall_attach.php:66 include/api.php:1692
+#: mod/wall_upload.php:20 mod/wall_upload.php:33 mod/wall_upload.php:86
+#: mod/wall_upload.php:122 mod/wall_upload.php:125 mod/wall_attach.php:17
+#: mod/wall_attach.php:25 mod/wall_attach.php:76 include/api.php:1711
 msgid "Invalid request."
 msgstr "Ungültige Anfrage"
 
@@ -1292,7 +1304,7 @@ msgid ""
 "Password reset failed."
 msgstr "Anfrage konnte nicht verifiziert werden. (Eventuell hast Du bereits eine Ã¤hnliche Anfrage gestellt.) Zurücksetzen des Passworts gescheitert."
 
-#: mod/lostpass.php:109 boot.php:1292
+#: mod/lostpass.php:109 boot.php:1295
 msgid "Password Reset"
 msgstr "Passwort zurücksetzen"
 
@@ -1367,9 +1379,9 @@ msgid "Reset"
 msgstr "Zurücksetzen"
 
 #: mod/like.php:170 include/conversation.php:122 include/conversation.php:258
-#: include/text.php:2029 view/theme/diabook/theme.php:463
+#: include/text.php:1993 view/theme/diabook/theme.php:463
 msgid "event"
-msgstr "Veranstaltung"
+msgstr "Event"
 
 #: mod/like.php:187 include/conversation.php:141 include/diaspora.php:2156
 #: view/theme/diabook/theme.php:480
@@ -1397,23 +1409,29 @@ msgstr "%1$s nimmt nicht an %2$ss %3$s teil."
 msgid "%1$s may attend %2$s's %3$s"
 msgstr "%1$s nimmt eventuell an %2$ss %3$s teil."
 
-#: mod/ping.php:233
+#: mod/ping.php:273
 msgid "{0} wants to be your friend"
 msgstr "{0} möchte mit Dir in Kontakt treten"
 
-#: mod/ping.php:248
+#: mod/ping.php:288
 msgid "{0} sent you a message"
 msgstr "{0} schickte Dir eine Nachricht"
 
-#: mod/ping.php:263
+#: mod/ping.php:303
 msgid "{0} requested registration"
 msgstr "{0} möchte sich registrieren"
 
-#: mod/viewcontacts.php:41
+#: mod/viewcontacts.php:52
 msgid "No contacts."
 msgstr "Keine Kontakte."
 
-#: mod/viewcontacts.php:78 include/text.php:917
+#: mod/viewcontacts.php:85 mod/dirfind.php:208 mod/network.php:596
+#: mod/allfriends.php:79 mod/match.php:82 mod/common.php:122
+#: mod/suggest.php:95
+msgid "Forum"
+msgstr "Forum"
+
+#: mod/viewcontacts.php:96 include/text.php:921
 msgid "View Contacts"
 msgstr "Kontakte anzeigen"
 
@@ -1430,20 +1448,20 @@ msgstr "Verwerfen"
 msgid "System"
 msgstr "System"
 
-#: mod/notifications.php:87 mod/admin.php:205 include/nav.php:155
+#: mod/notifications.php:87 mod/admin.php:228 include/nav.php:154
 msgid "Network"
 msgstr "Netzwerk"
 
-#: mod/notifications.php:93 mod/network.php:375
+#: mod/notifications.php:93 mod/network.php:381
 msgid "Personal"
 msgstr "Persönlich"
 
-#: mod/notifications.php:99 include/nav.php:105 include/nav.php:158
+#: mod/notifications.php:99 include/nav.php:104 include/nav.php:157
 #: view/theme/diabook/theme.php:123
 msgid "Home"
 msgstr "Pinnwand"
 
-#: mod/notifications.php:105 include/nav.php:163
+#: mod/notifications.php:105 include/nav.php:162
 msgid "Introductions"
 msgstr "Kontaktanfragen"
 
@@ -1476,7 +1494,7 @@ msgstr "Neue-Kontakt Nachricht senden"
 msgid "if applicable"
 msgstr "falls anwendbar"
 
-#: mod/notifications.php:176 mod/notifications.php:257 mod/admin.php:1085
+#: mod/notifications.php:176 mod/notifications.php:257 mod/admin.php:1113
 msgid "Approve"
 msgstr "Genehmigen"
 
@@ -1526,8 +1544,8 @@ msgstr "Kontakt-/Freundschaftsanfrage"
 msgid "New Follower"
 msgstr "Neuer Bewunderer"
 
-#: mod/notifications.php:250 mod/directory.php:154 include/identity.php:270
-#: include/identity.php:541
+#: mod/notifications.php:250 mod/directory.php:141 include/identity.php:280
+#: include/identity.php:553
 msgid "Gender:"
 msgstr "Geschlecht:"
 
@@ -1535,7 +1553,7 @@ msgstr "Geschlecht:"
 msgid "No introductions."
 msgstr "Keine Kontaktanfragen."
 
-#: mod/notifications.php:269 include/nav.php:166
+#: mod/notifications.php:269 include/nav.php:165
 msgid "Notifications"
 msgstr "Benachrichtigungen"
 
@@ -1648,146 +1666,146 @@ msgstr "Originaltext (Diaspora Format): "
 msgid "diaspora2bb: "
 msgstr "diaspora2bb: "
 
-#: mod/navigation.php:20 include/nav.php:34
+#: mod/navigation.php:19 include/nav.php:33
 msgid "Nothing new here"
 msgstr "Keine Neuigkeiten"
 
-#: mod/navigation.php:24 include/nav.php:38
+#: mod/navigation.php:23 include/nav.php:37
 msgid "Clear notifications"
 msgstr "Bereinige Benachrichtigungen"
 
-#: mod/message.php:9 include/nav.php:175
+#: mod/message.php:15 include/nav.php:174
 msgid "New Message"
 msgstr "Neue Nachricht"
 
-#: mod/message.php:64 mod/wallmessage.php:56
+#: mod/message.php:70 mod/wallmessage.php:56
 msgid "No recipient selected."
 msgstr "Kein Empfänger gewählt."
 
-#: mod/message.php:68
+#: mod/message.php:74
 msgid "Unable to locate contact information."
 msgstr "Konnte die Kontaktinformationen nicht finden."
 
-#: mod/message.php:71 mod/wallmessage.php:62
+#: mod/message.php:77 mod/wallmessage.php:62
 msgid "Message could not be sent."
 msgstr "Nachricht konnte nicht gesendet werden."
 
-#: mod/message.php:74 mod/wallmessage.php:65
+#: mod/message.php:80 mod/wallmessage.php:65
 msgid "Message collection failure."
 msgstr "Konnte Nachrichten nicht abrufen."
 
-#: mod/message.php:77 mod/wallmessage.php:68
+#: mod/message.php:83 mod/wallmessage.php:68
 msgid "Message sent."
 msgstr "Nachricht gesendet."
 
-#: mod/message.php:183 include/nav.php:172
+#: mod/message.php:189 include/nav.php:171
 msgid "Messages"
 msgstr "Nachrichten"
 
-#: mod/message.php:208
+#: mod/message.php:214
 msgid "Do you really want to delete this message?"
 msgstr "Möchtest Du wirklich diese Nachricht löschen?"
 
-#: mod/message.php:228
+#: mod/message.php:234
 msgid "Message deleted."
 msgstr "Nachricht gelöscht."
 
-#: mod/message.php:259
+#: mod/message.php:265
 msgid "Conversation removed."
 msgstr "Unterhaltung gelöscht."
 
-#: mod/message.php:284 mod/message.php:292 mod/message.php:467
-#: mod/message.php:475 mod/wallmessage.php:127 mod/wallmessage.php:135
-#: include/conversation.php:1130 include/conversation.php:1148
+#: mod/message.php:290 mod/message.php:298 mod/message.php:427
+#: mod/message.php:435 mod/wallmessage.php:127 mod/wallmessage.php:135
+#: include/conversation.php:1129 include/conversation.php:1147
 msgid "Please enter a link URL:"
 msgstr "Bitte gib die URL des Links ein:"
 
-#: mod/message.php:320 mod/wallmessage.php:142
+#: mod/message.php:326 mod/wallmessage.php:142
 msgid "Send Private Message"
 msgstr "Private Nachricht senden"
 
-#: mod/message.php:321 mod/message.php:554 mod/wallmessage.php:144
+#: mod/message.php:327 mod/message.php:514 mod/wallmessage.php:144
 msgid "To:"
 msgstr "An:"
 
-#: mod/message.php:326 mod/message.php:556 mod/wallmessage.php:145
+#: mod/message.php:332 mod/message.php:516 mod/wallmessage.php:145
 msgid "Subject:"
 msgstr "Betreff:"
 
-#: mod/message.php:330 mod/message.php:559 mod/wallmessage.php:151
+#: mod/message.php:336 mod/message.php:519 mod/wallmessage.php:151
 #: mod/invite.php:134
 msgid "Your message:"
 msgstr "Deine Nachricht:"
 
-#: mod/message.php:333 mod/message.php:563 mod/wallmessage.php:154
-#: mod/editpost.php:109 include/conversation.php:1185
+#: mod/message.php:339 mod/message.php:523 mod/wallmessage.php:154
+#: mod/editpost.php:109 include/conversation.php:1184
 msgid "Upload photo"
 msgstr "Foto hochladen"
 
-#: mod/message.php:334 mod/message.php:564 mod/wallmessage.php:155
-#: mod/editpost.php:113 include/conversation.php:1189
+#: mod/message.php:340 mod/message.php:524 mod/wallmessage.php:155
+#: mod/editpost.php:113 include/conversation.php:1188
 msgid "Insert web link"
 msgstr "Einen Link einfügen"
 
-#: mod/message.php:335 mod/message.php:566 mod/content.php:501
+#: mod/message.php:341 mod/message.php:526 mod/content.php:501
 #: mod/content.php:885 mod/wallmessage.php:156 mod/editpost.php:123
-#: mod/photos.php:1602 object/Item.php:393 include/conversation.php:713
-#: include/conversation.php:1203
+#: mod/photos.php:1602 object/Item.php:396 include/conversation.php:713
+#: include/conversation.php:1202
 msgid "Please wait"
 msgstr "Bitte warten"
 
-#: mod/message.php:372
+#: mod/message.php:368
 msgid "No messages."
 msgstr "Keine Nachrichten."
 
-#: mod/message.php:379
+#: mod/message.php:411
+msgid "Message not available."
+msgstr "Nachricht nicht verfügbar."
+
+#: mod/message.php:481
+msgid "Delete message"
+msgstr "Nachricht löschen"
+
+#: mod/message.php:507 mod/message.php:582
+msgid "Delete conversation"
+msgstr "Unterhaltung löschen"
+
+#: mod/message.php:509
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Sichere Kommunikation ist nicht verfügbar. <strong>Eventuell</strong> kannst Du auf der Profilseite des Absenders antworten."
+
+#: mod/message.php:513
+msgid "Send Reply"
+msgstr "Antwort senden"
+
+#: mod/message.php:555
 #, php-format
 msgid "Unknown sender - %s"
 msgstr "'Unbekannter Absender - %s"
 
-#: mod/message.php:382
+#: mod/message.php:558
 #, php-format
 msgid "You and %s"
 msgstr "Du und %s"
 
-#: mod/message.php:385
+#: mod/message.php:561
 #, php-format
 msgid "%s and You"
 msgstr "%s und Du"
 
-#: mod/message.php:406 mod/message.php:547
-msgid "Delete conversation"
-msgstr "Unterhaltung löschen"
-
-#: mod/message.php:409
+#: mod/message.php:585
 msgid "D, d M Y - g:i A"
 msgstr "D, d. M Y - g:i A"
 
-#: mod/message.php:412
+#: mod/message.php:588
 #, php-format
 msgid "%d message"
 msgid_plural "%d messages"
 msgstr[0] "%d Nachricht"
 msgstr[1] "%d Nachrichten"
 
-#: mod/message.php:451
-msgid "Message not available."
-msgstr "Nachricht nicht verfügbar."
-
-#: mod/message.php:521
-msgid "Delete message"
-msgstr "Nachricht löschen"
-
-#: mod/message.php:549
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Sichere Kommunikation ist nicht verfügbar. <strong>Eventuell</strong> kannst Du auf der Profilseite des Absenders antworten."
-
-#: mod/message.php:553
-msgid "Send Reply"
-msgstr "Antwort senden"
-
 #: mod/update_display.php:22 mod/update_community.php:18
 #: mod/update_notes.php:37 mod/update_profile.php:41 mod/update_network.php:25
 msgid "[Embedded content - reload page to view]"
@@ -1802,80 +1820,80 @@ msgid "Contact update failed."
 msgstr "Konnte den Kontakt nicht aktualisieren."
 
 #: mod/crepair.php:140
-msgid "Repair Contact Settings"
-msgstr "Kontakteinstellungen reparieren"
-
-#: mod/crepair.php:142
 msgid ""
 "<strong>WARNING: This is highly advanced</strong> and if you enter incorrect"
 " information your communications with this contact may stop working."
 msgstr "<strong>ACHTUNG: Das sind Experten-Einstellungen!</strong> Wenn Du etwas Falsches eingibst, funktioniert die Kommunikation mit diesem Kontakt evtl. nicht mehr."
 
-#: mod/crepair.php:143
+#: mod/crepair.php:141
 msgid ""
 "Please use your browser 'Back' button <strong>now</strong> if you are "
 "uncertain what to do on this page."
 msgstr "Bitte nutze den Zurück-Button Deines Browsers <strong>jetzt</strong>, wenn Du Dir unsicher bist, was Du tun willst."
 
-#: mod/crepair.php:149
-msgid "Return to contact editor"
-msgstr "Zurück zum Kontakteditor"
-
-#: mod/crepair.php:160 mod/crepair.php:162
+#: mod/crepair.php:154 mod/crepair.php:156
 msgid "No mirroring"
 msgstr "Kein Spiegeln"
 
-#: mod/crepair.php:160
+#: mod/crepair.php:154
 msgid "Mirror as forwarded posting"
 msgstr "Spiegeln als weitergeleitete Beiträge"
 
-#: mod/crepair.php:160 mod/crepair.php:162
+#: mod/crepair.php:154 mod/crepair.php:156
 msgid "Mirror as my own posting"
 msgstr "Spiegeln als meine eigenen Beiträge"
 
-#: mod/crepair.php:169
+#: mod/crepair.php:162
+msgid "Repair Contact Settings"
+msgstr "Kontakteinstellungen reparieren"
+
+#: mod/crepair.php:166
+msgid "Return to contact editor"
+msgstr "Zurück zum Kontakteditor"
+
+#: mod/crepair.php:168
 msgid "Refetch contact data"
 msgstr "Kontaktdaten neu laden"
 
-#: mod/crepair.php:170 mod/admin.php:1083 mod/admin.php:1095
-#: mod/admin.php:1096 mod/admin.php:1109 mod/settings.php:636
-#: mod/settings.php:662
+#: mod/crepair.php:169 mod/admin.php:1111 mod/admin.php:1123
+#: mod/admin.php:1124 mod/admin.php:1137 mod/settings.php:650
+#: mod/settings.php:676
 msgid "Name"
 msgstr "Name"
 
-#: mod/crepair.php:171
+#: mod/crepair.php:170
 msgid "Account Nickname"
 msgstr "Konto-Spitzname"
 
-#: mod/crepair.php:172
+#: mod/crepair.php:171
 msgid "@Tagname - overrides Name/Nickname"
 msgstr "@Tagname - Ã¼berschreibt Name/Spitzname"
 
-#: mod/crepair.php:173
+#: mod/crepair.php:172
 msgid "Account URL"
 msgstr "Konto-URL"
 
-#: mod/crepair.php:174
+#: mod/crepair.php:173
 msgid "Friend Request URL"
 msgstr "URL für Freundschaftsanfragen"
 
-#: mod/crepair.php:175
+#: mod/crepair.php:174
 msgid "Friend Confirm URL"
 msgstr "URL für Bestätigungen von Freundschaftsanfragen"
 
-#: mod/crepair.php:176
+#: mod/crepair.php:175
 msgid "Notification Endpoint URL"
 msgstr "URL-Endpunkt für Benachrichtigungen"
 
-#: mod/crepair.php:177
+#: mod/crepair.php:176
 msgid "Poll/Feed URL"
 msgstr "Pull/Feed-URL"
 
-#: mod/crepair.php:178
+#: mod/crepair.php:177
 msgid "New photo from this URL"
 msgstr "Neues Foto von dieser URL"
 
-#: mod/crepair.php:179
+#: mod/crepair.php:178
 msgid "Remote Self"
 msgstr "Entfernte Konten"
 
@@ -1883,13 +1901,13 @@ msgstr "Entfernte Konten"
 msgid "Mirror postings from this contact"
 msgstr "Spiegle Beiträge dieses Kontakts"
 
-#: mod/crepair.php:181
+#: mod/crepair.php:183
 msgid ""
 "Mark this contact as remote_self, this will cause friendica to repost new "
 "entries from this contact."
 msgstr "Markiere diesen Kontakt als remote_self (entferntes Konto), dies veranlasst Friendica alle Top-Level Beiträge dieses Kontakts an all Deine Kontakte zu senden."
 
-#: mod/bookmarklet.php:12 boot.php:1278 include/nav.php:92
+#: mod/bookmarklet.php:12 boot.php:1281 include/nav.php:91
 msgid "Login"
 msgstr "Anmeldung"
 
@@ -1901,580 +1919,589 @@ msgstr "Der Beitrag wurde angelegt"
 msgid "Access denied."
 msgstr "Zugriff verweigert."
 
-#: mod/dirfind.php:42
-#, php-format
-msgid "People Search - %s"
-msgstr "Personensuche - %s"
-
-#: mod/dirfind.php:139 mod/match.php:71 mod/suggest.php:92
-#: include/contact_widgets.php:10 include/identity.php:188
+#: mod/dirfind.php:188 mod/allfriends.php:82 mod/match.php:85
+#: mod/suggest.php:98 include/contact_widgets.php:10 include/identity.php:193
 msgid "Connect"
 msgstr "Verbinden"
 
-#: mod/dirfind.php:140 include/Contact.php:237 include/conversation.php:912
-#: include/conversation.php:926
+#: mod/dirfind.php:189 mod/allfriends.php:66 mod/match.php:70
+#: mod/directory.php:156 mod/suggest.php:81 include/Contact.php:307
+#: include/Contact.php:320 include/Contact.php:362
+#: include/conversation.php:912 include/conversation.php:926
 msgid "View Profile"
 msgstr "Profil anschauen"
 
-#: mod/dirfind.php:159 mod/match.php:78
+#: mod/dirfind.php:218
+#, php-format
+msgid "People Search - %s"
+msgstr "Personensuche - %s"
+
+#: mod/dirfind.php:225 mod/match.php:105
 msgid "No matches"
 msgstr "Keine Ãœbereinstimmungen"
 
-#: mod/fbrowser.php:32 include/identity.php:649 include/nav.php:78
+#: mod/fbrowser.php:32 include/identity.php:666 include/nav.php:77
 #: view/theme/diabook/theme.php:126
 msgid "Photos"
 msgstr "Bilder"
 
-#: mod/fbrowser.php:122
+#: mod/fbrowser.php:41 mod/fbrowser.php:62 mod/photos.php:54
+#: mod/photos.php:184 mod/photos.php:1111 mod/photos.php:1237
+#: mod/photos.php:1260 mod/photos.php:1830 mod/photos.php:1842
+#: view/theme/diabook/theme.php:499
+msgid "Contact Photos"
+msgstr "Kontaktbilder"
+
+#: mod/fbrowser.php:125
 msgid "Files"
 msgstr "Dateien"
 
-#: mod/nogroup.php:59
+#: mod/nogroup.php:63
 msgid "Contacts who are not members of a group"
 msgstr "Kontakte, die keiner Gruppe zugewiesen sind"
 
-#: mod/admin.php:57
+#: mod/admin.php:80
 msgid "Theme settings updated."
 msgstr "Themeneinstellungen aktualisiert."
 
-#: mod/admin.php:104 mod/admin.php:687
+#: mod/admin.php:127 mod/admin.php:711
 msgid "Site"
 msgstr "Seite"
 
-#: mod/admin.php:105 mod/admin.php:633 mod/admin.php:1078 mod/admin.php:1093
+#: mod/admin.php:128 mod/admin.php:655 mod/admin.php:1106 mod/admin.php:1121
 msgid "Users"
 msgstr "Nutzer"
 
-#: mod/admin.php:106 mod/admin.php:1182 mod/admin.php:1242 mod/settings.php:66
+#: mod/admin.php:129 mod/admin.php:1210 mod/admin.php:1270 mod/settings.php:66
 msgid "Plugins"
 msgstr "Plugins"
 
-#: mod/admin.php:107 mod/admin.php:1410 mod/admin.php:1444
+#: mod/admin.php:130 mod/admin.php:1455 mod/admin.php:1506
 msgid "Themes"
 msgstr "Themen"
 
-#: mod/admin.php:108
+#: mod/admin.php:131
 msgid "DB updates"
 msgstr "DB Updates"
 
-#: mod/admin.php:109 mod/admin.php:200
+#: mod/admin.php:132 mod/admin.php:223
 msgid "Inspect Queue"
 msgstr "Warteschlange Inspizieren"
 
-#: mod/admin.php:124 mod/admin.php:133 mod/admin.php:1531
+#: mod/admin.php:147 mod/admin.php:156 mod/admin.php:1594
 msgid "Logs"
 msgstr "Protokolle"
 
-#: mod/admin.php:125
+#: mod/admin.php:148
 msgid "probe address"
 msgstr "Adresse untersuchen"
 
-#: mod/admin.php:126
+#: mod/admin.php:149
 msgid "check webfinger"
 msgstr "Webfinger Ã¼berprüfen"
 
-#: mod/admin.php:131 include/nav.php:195
+#: mod/admin.php:154 include/nav.php:194
 msgid "Admin"
 msgstr "Administration"
 
-#: mod/admin.php:132
+#: mod/admin.php:155
 msgid "Plugin Features"
 msgstr "Plugin Features"
 
-#: mod/admin.php:134
+#: mod/admin.php:157
 msgid "diagnostics"
 msgstr "Diagnose"
 
-#: mod/admin.php:135
+#: mod/admin.php:158
 msgid "User registrations waiting for confirmation"
 msgstr "Nutzeranmeldungen die auf Bestätigung warten"
 
-#: mod/admin.php:199 mod/admin.php:249 mod/admin.php:686 mod/admin.php:1077
-#: mod/admin.php:1181 mod/admin.php:1241 mod/admin.php:1409 mod/admin.php:1443
-#: mod/admin.php:1530
+#: mod/admin.php:222 mod/admin.php:272 mod/admin.php:710 mod/admin.php:1105
+#: mod/admin.php:1209 mod/admin.php:1269 mod/admin.php:1454 mod/admin.php:1505
+#: mod/admin.php:1593
 msgid "Administration"
 msgstr "Administration"
 
-#: mod/admin.php:202
+#: mod/admin.php:225
 msgid "ID"
 msgstr "ID"
 
-#: mod/admin.php:203
+#: mod/admin.php:226
 msgid "Recipient Name"
 msgstr "Empfänger Name"
 
-#: mod/admin.php:204
+#: mod/admin.php:227
 msgid "Recipient Profile"
 msgstr "Empfänger Profil"
 
-#: mod/admin.php:206
+#: mod/admin.php:229
 msgid "Created"
 msgstr "Erstellt"
 
-#: mod/admin.php:207
+#: mod/admin.php:230
 msgid "Last Tried"
 msgstr "Zuletzt versucht"
 
-#: mod/admin.php:208
+#: mod/admin.php:231
 msgid ""
 "This page lists the content of the queue for outgoing postings. These are "
 "postings the initial delivery failed for. They will be resend later and "
 "eventually deleted if the delivery fails permanently."
 msgstr "Auf dieser Seite werden die in der Warteschlange eingereihten Beiträge aufgelistet. Bei diesen Beiträgen schlug die erste Zustellung fehl. Es wird später wiederholt versucht die Beiträge zuzustellen, bis sie schließlich gelöscht werden."
 
-#: mod/admin.php:220 mod/admin.php:1031
+#: mod/admin.php:243 mod/admin.php:1059
 msgid "Normal Account"
 msgstr "Normales Konto"
 
-#: mod/admin.php:221 mod/admin.php:1032
+#: mod/admin.php:244 mod/admin.php:1060
 msgid "Soapbox Account"
 msgstr "Marktschreier-Konto"
 
-#: mod/admin.php:222 mod/admin.php:1033
+#: mod/admin.php:245 mod/admin.php:1061
 msgid "Community/Celebrity Account"
 msgstr "Forum/Promi-Konto"
 
-#: mod/admin.php:223 mod/admin.php:1034
+#: mod/admin.php:246 mod/admin.php:1062
 msgid "Automatic Friend Account"
 msgstr "Automatisches Freundekonto"
 
-#: mod/admin.php:224
+#: mod/admin.php:247
 msgid "Blog Account"
 msgstr "Blog-Konto"
 
-#: mod/admin.php:225
+#: mod/admin.php:248
 msgid "Private Forum"
 msgstr "Privates Forum"
 
-#: mod/admin.php:244
+#: mod/admin.php:267
 msgid "Message queues"
 msgstr "Nachrichten-Warteschlangen"
 
-#: mod/admin.php:250
+#: mod/admin.php:273
 msgid "Summary"
 msgstr "Zusammenfassung"
 
-#: mod/admin.php:252
+#: mod/admin.php:275
 msgid "Registered users"
 msgstr "Registrierte Nutzer"
 
-#: mod/admin.php:254
+#: mod/admin.php:277
 msgid "Pending registrations"
 msgstr "Anstehende Anmeldungen"
 
-#: mod/admin.php:255
+#: mod/admin.php:278
 msgid "Version"
 msgstr "Version"
 
-#: mod/admin.php:260
+#: mod/admin.php:283
 msgid "Active plugins"
 msgstr "Aktive Plugins"
 
-#: mod/admin.php:283
+#: mod/admin.php:306
 msgid "Can not parse base url. Must have at least <scheme>://<domain>"
 msgstr "Die Basis-URL konnte nicht analysiert werden. Sie muss mindestens aus <protokoll>://<domain> bestehen"
 
-#: mod/admin.php:556
+#: mod/admin.php:587
 msgid "RINO2 needs mcrypt php extension to work."
 msgstr "RINO2 benötigt die PHP Extension mcrypt."
 
-#: mod/admin.php:564
+#: mod/admin.php:595
 msgid "Site settings updated."
 msgstr "Seiteneinstellungen aktualisiert."
 
-#: mod/admin.php:599 mod/settings.php:887
+#: mod/admin.php:619 mod/settings.php:901
 msgid "No special theme for mobile devices"
 msgstr "Kein spezielles Theme für mobile Geräte verwenden."
 
-#: mod/admin.php:616
+#: mod/admin.php:638
 msgid "No community page"
 msgstr "Keine Gemeinschaftsseite"
 
-#: mod/admin.php:617
+#: mod/admin.php:639
 msgid "Public postings from users of this site"
 msgstr "Öffentliche Beiträge von Nutzer_innen dieser Seite"
 
-#: mod/admin.php:618
+#: mod/admin.php:640
 msgid "Global community page"
 msgstr "Globale Gemeinschaftsseite"
 
-#: mod/admin.php:624
+#: mod/admin.php:646
 msgid "At post arrival"
 msgstr "Beim Empfang von Nachrichten"
 
-#: mod/admin.php:625 include/contact_selectors.php:56
+#: mod/admin.php:647 include/contact_selectors.php:56
 msgid "Frequently"
 msgstr "immer wieder"
 
-#: mod/admin.php:626 include/contact_selectors.php:57
+#: mod/admin.php:648 include/contact_selectors.php:57
 msgid "Hourly"
 msgstr "Stündlich"
 
-#: mod/admin.php:627 include/contact_selectors.php:58
+#: mod/admin.php:649 include/contact_selectors.php:58
 msgid "Twice daily"
 msgstr "Zweimal täglich"
 
-#: mod/admin.php:628 include/contact_selectors.php:59
+#: mod/admin.php:650 include/contact_selectors.php:59
 msgid "Daily"
 msgstr "Täglich"
 
-#: mod/admin.php:634
+#: mod/admin.php:656
 msgid "Users, Global Contacts"
 msgstr "Nutzer, globale Kontakte"
 
-#: mod/admin.php:635
+#: mod/admin.php:657
 msgid "Users, Global Contacts/fallback"
 msgstr "Nutzer, globale Kontakte / Fallback"
 
-#: mod/admin.php:639
+#: mod/admin.php:661
 msgid "One month"
 msgstr "ein Monat"
 
-#: mod/admin.php:640
+#: mod/admin.php:662
 msgid "Three months"
 msgstr "drei Monate"
 
-#: mod/admin.php:641
+#: mod/admin.php:663
 msgid "Half a year"
 msgstr "ein halbes Jahr"
 
-#: mod/admin.php:642
+#: mod/admin.php:664
 msgid "One year"
 msgstr "ein Jahr"
 
-#: mod/admin.php:647
+#: mod/admin.php:669
 msgid "Multi user instance"
 msgstr "Mehrbenutzer Instanz"
 
-#: mod/admin.php:670
+#: mod/admin.php:692
 msgid "Closed"
 msgstr "Geschlossen"
 
-#: mod/admin.php:671
+#: mod/admin.php:693
 msgid "Requires approval"
 msgstr "Bedarf der Zustimmung"
 
-#: mod/admin.php:672
+#: mod/admin.php:694
 msgid "Open"
 msgstr "Offen"
 
-#: mod/admin.php:676
+#: mod/admin.php:698
 msgid "No SSL policy, links will track page SSL state"
 msgstr "Keine SSL Richtlinie, Links werden das verwendete Protokoll beibehalten"
 
-#: mod/admin.php:677
+#: mod/admin.php:699
 msgid "Force all links to use SSL"
 msgstr "SSL für alle Links erzwingen"
 
-#: mod/admin.php:678
+#: mod/admin.php:700
 msgid "Self-signed certificate, use SSL for local links only (discouraged)"
 msgstr "Selbst-unterzeichnetes Zertifikat, SSL nur für lokale Links verwenden (nicht empfohlen)"
 
-#: mod/admin.php:688 mod/admin.php:1243 mod/admin.php:1445 mod/admin.php:1532
-#: mod/settings.php:634 mod/settings.php:744 mod/settings.php:788
-#: mod/settings.php:857 mod/settings.php:943 mod/settings.php:1175
+#: mod/admin.php:712 mod/admin.php:1271 mod/admin.php:1507 mod/admin.php:1595
+#: mod/settings.php:648 mod/settings.php:758 mod/settings.php:802
+#: mod/settings.php:871 mod/settings.php:957 mod/settings.php:1192
 msgid "Save Settings"
 msgstr "Einstellungen speichern"
 
-#: mod/admin.php:689 mod/register.php:260
+#: mod/admin.php:713 mod/register.php:263
 msgid "Registration"
 msgstr "Registrierung"
 
-#: mod/admin.php:690
+#: mod/admin.php:714
 msgid "File upload"
 msgstr "Datei hochladen"
 
-#: mod/admin.php:691
+#: mod/admin.php:715
 msgid "Policies"
 msgstr "Regeln"
 
-#: mod/admin.php:692
+#: mod/admin.php:716
 msgid "Advanced"
 msgstr "Erweitert"
 
-#: mod/admin.php:693
+#: mod/admin.php:717
 msgid "Auto Discovered Contact Directory"
 msgstr "Automatisch ein Kontaktverzeichnis erstellen"
 
-#: mod/admin.php:694
+#: mod/admin.php:718
 msgid "Performance"
 msgstr "Performance"
 
-#: mod/admin.php:695
+#: mod/admin.php:719
 msgid ""
 "Relocate - WARNING: advanced function. Could make this server unreachable."
 msgstr "Umsiedeln - WARNUNG: Könnte diesen Server unerreichbar machen."
 
-#: mod/admin.php:698
+#: mod/admin.php:722
 msgid "Site name"
 msgstr "Seitenname"
 
-#: mod/admin.php:699
+#: mod/admin.php:723
 msgid "Host name"
 msgstr "Host Name"
 
-#: mod/admin.php:700
+#: mod/admin.php:724
 msgid "Sender Email"
 msgstr "Absender für Emails"
 
-#: mod/admin.php:700
+#: mod/admin.php:724
 msgid ""
 "The email address your server shall use to send notification emails from."
 msgstr "Die E-Mail Adresse die dein Server zum Versenden von Benachrichtigungen verwenden soll."
 
-#: mod/admin.php:701
+#: mod/admin.php:725
 msgid "Banner/Logo"
 msgstr "Banner/Logo"
 
-#: mod/admin.php:702
+#: mod/admin.php:726
 msgid "Shortcut icon"
 msgstr "Shortcut Icon"
 
-#: mod/admin.php:702
+#: mod/admin.php:726
 msgid "Link to an icon that will be used for browsers."
 msgstr "Link zu einem Icon, das Browser verwenden werden."
 
-#: mod/admin.php:703
+#: mod/admin.php:727
 msgid "Touch icon"
 msgstr "Touch Icon"
 
-#: mod/admin.php:703
+#: mod/admin.php:727
 msgid "Link to an icon that will be used for tablets and mobiles."
 msgstr "Link zu einem Icon das Tablets und Handies verwenden sollen."
 
-#: mod/admin.php:704
+#: mod/admin.php:728
 msgid "Additional Info"
 msgstr "Zusätzliche Informationen"
 
-#: mod/admin.php:704
+#: mod/admin.php:728
 #, php-format
 msgid ""
 "For public servers: you can add additional information here that will be "
 "listed at %s/siteinfo."
 msgstr "Für Ã¶ffentliche Server kannst Du hier zusätzliche Informationen angeben, die dann auf %s/siteinfo angezeigt werden."
 
-#: mod/admin.php:705
+#: mod/admin.php:729
 msgid "System language"
 msgstr "Systemsprache"
 
-#: mod/admin.php:706
+#: mod/admin.php:730
 msgid "System theme"
 msgstr "Systemweites Theme"
 
-#: mod/admin.php:706
+#: mod/admin.php:730
 msgid ""
 "Default system theme - may be over-ridden by user profiles - <a href='#' "
 "id='cnftheme'>change theme settings</a>"
 msgstr "Vorgabe für das System-Theme - kann von Benutzerprofilen Ã¼berschrieben werden - <a href='#' id='cnftheme'>Theme-Einstellungen Ã¤ndern</a>"
 
-#: mod/admin.php:707
+#: mod/admin.php:731
 msgid "Mobile system theme"
 msgstr "Systemweites mobiles Theme"
 
-#: mod/admin.php:707
+#: mod/admin.php:731
 msgid "Theme for mobile devices"
 msgstr "Thema für mobile Geräte"
 
-#: mod/admin.php:708
+#: mod/admin.php:732
 msgid "SSL link policy"
 msgstr "Regeln für SSL Links"
 
-#: mod/admin.php:708
+#: mod/admin.php:732
 msgid "Determines whether generated links should be forced to use SSL"
 msgstr "Bestimmt, ob generierte Links SSL verwenden müssen"
 
-#: mod/admin.php:709
+#: mod/admin.php:733
 msgid "Force SSL"
 msgstr "Erzwinge SSL"
 
-#: mod/admin.php:709
+#: mod/admin.php:733
 msgid ""
 "Force all Non-SSL requests to SSL - Attention: on some systems it could lead"
 " to endless loops."
 msgstr "Erzinge alle Nicht-SSL Anfragen auf SSL - Achtung: auf manchen Systemen verursacht dies eine Endlosschleife."
 
-#: mod/admin.php:710
+#: mod/admin.php:734
 msgid "Old style 'Share'"
 msgstr "Altes \"Teilen\" Element"
 
-#: mod/admin.php:710
+#: mod/admin.php:734
 msgid "Deactivates the bbcode element 'share' for repeating items."
 msgstr "Deaktiviert das BBCode Element \"share\" beim Wiederholen von Beiträgen."
 
-#: mod/admin.php:711
+#: mod/admin.php:735
 msgid "Hide help entry from navigation menu"
 msgstr "Verberge den Menüeintrag für die Hilfe im Navigationsmenü"
 
-#: mod/admin.php:711
+#: mod/admin.php:735
 msgid ""
 "Hides the menu entry for the Help pages from the navigation menu. You can "
 "still access it calling /help directly."
 msgstr "Verbirgt den Menüeintrag für die Hilfe-Seiten im Navigationsmenü. Die Seiten können weiterhin Ã¼ber /help aufgerufen werden."
 
-#: mod/admin.php:712
+#: mod/admin.php:736
 msgid "Single user instance"
 msgstr "Ein-Nutzer Instanz"
 
-#: mod/admin.php:712
+#: mod/admin.php:736
 msgid "Make this instance multi-user or single-user for the named user"
 msgstr "Regelt ob es sich bei dieser Instanz um eine ein Personen Installation oder eine Installation mit mehr als einem Nutzer handelt."
 
-#: mod/admin.php:713
+#: mod/admin.php:737
 msgid "Maximum image size"
 msgstr "Maximale Bildgröße"
 
-#: mod/admin.php:713
+#: mod/admin.php:737
 msgid ""
 "Maximum size in bytes of uploaded images. Default is 0, which means no "
 "limits."
 msgstr "Maximale Uploadgröße von Bildern in Bytes. Standard ist 0, d.h. ohne Limit."
 
-#: mod/admin.php:714
+#: mod/admin.php:738
 msgid "Maximum image length"
 msgstr "Maximale Bildlänge"
 
-#: mod/admin.php:714
+#: mod/admin.php:738
 msgid ""
 "Maximum length in pixels of the longest side of uploaded images. Default is "
 "-1, which means no limits."
 msgstr "Maximale Länge in Pixeln der längsten Seite eines hoch geladenen Bildes. Grundeinstellung ist -1 was keine Einschränkung bedeutet."
 
-#: mod/admin.php:715
+#: mod/admin.php:739
 msgid "JPEG image quality"
 msgstr "Qualität des JPEG Bildes"
 
-#: mod/admin.php:715
+#: mod/admin.php:739
 msgid ""
 "Uploaded JPEGS will be saved at this quality setting [0-100]. Default is "
 "100, which is full quality."
 msgstr "Hoch geladene JPEG Bilder werden mit dieser Qualität [0-100] gespeichert. Grundeinstellung ist 100, kein Qualitätsverlust."
 
-#: mod/admin.php:717
+#: mod/admin.php:741
 msgid "Register policy"
 msgstr "Registrierungsmethode"
 
-#: mod/admin.php:718
+#: mod/admin.php:742
 msgid "Maximum Daily Registrations"
 msgstr "Maximum täglicher Registrierungen"
 
-#: mod/admin.php:718
+#: mod/admin.php:742
 msgid ""
 "If registration is permitted above, this sets the maximum number of new user"
 " registrations to accept per day.  If register is set to closed, this "
 "setting has no effect."
 msgstr "Wenn die Registrierung weiter oben erlaubt ist, regelt dies die maximale Anzahl von Neuanmeldungen pro Tag. Wenn die Registrierung geschlossen ist, hat diese Einstellung keinen Effekt."
 
-#: mod/admin.php:719
+#: mod/admin.php:743
 msgid "Register text"
 msgstr "Registrierungstext"
 
-#: mod/admin.php:719
+#: mod/admin.php:743
 msgid "Will be displayed prominently on the registration page."
 msgstr "Wird gut sichtbar auf der Registrierungsseite angezeigt."
 
-#: mod/admin.php:720
+#: mod/admin.php:744
 msgid "Accounts abandoned after x days"
 msgstr "Nutzerkonten gelten nach x Tagen als unbenutzt"
 
-#: mod/admin.php:720
+#: mod/admin.php:744
 msgid ""
 "Will not waste system resources polling external sites for abandonded "
 "accounts. Enter 0 for no time limit."
 msgstr "Verschwende keine System-Ressourcen auf das Pollen externer Seiten, wenn Konten nicht mehr benutzt werden. 0 eingeben für kein Limit."
 
-#: mod/admin.php:721
+#: mod/admin.php:745
 msgid "Allowed friend domains"
 msgstr "Erlaubte Domains für Kontakte"
 
-#: mod/admin.php:721
+#: mod/admin.php:745
 msgid ""
 "Comma separated list of domains which are allowed to establish friendships "
 "with this site. Wildcards are accepted. Empty to allow any domains"
 msgstr "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
 
-#: mod/admin.php:722
+#: mod/admin.php:746
 msgid "Allowed email domains"
 msgstr "Erlaubte Domains für E-Mails"
 
-#: mod/admin.php:722
+#: mod/admin.php:746
 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 "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
 
-#: mod/admin.php:723
+#: mod/admin.php:747
 msgid "Block public"
 msgstr "Öffentlichen Zugriff blockieren"
 
-#: mod/admin.php:723
+#: mod/admin.php:747
 msgid ""
 "Check to block public access to all otherwise public personal pages on this "
 "site unless you are currently logged in."
 msgstr "Klicken, um Ã¶ffentlichen Zugriff auf sonst Ã¶ffentliche Profile zu blockieren, wenn man nicht eingeloggt ist."
 
-#: mod/admin.php:724
+#: mod/admin.php:748
 msgid "Force publish"
 msgstr "Erzwinge Veröffentlichung"
 
-#: mod/admin.php:724
+#: mod/admin.php:748
 msgid ""
 "Check to force all profiles on this site to be listed in the site directory."
 msgstr "Klicken, um Anzeige aller Profile dieses Servers im Verzeichnis zu erzwingen."
 
-#: mod/admin.php:725
+#: mod/admin.php:749
 msgid "Global directory URL"
 msgstr "URL des weltweiten Verzeichnisses"
 
-#: mod/admin.php:725
+#: mod/admin.php:749
 msgid ""
 "URL to the global directory. If this is not set, the global directory is "
 "completely unavailable to the application."
 msgstr "URL des weltweiten Verzeichnisses. Wenn diese nicht gesetzt ist, ist das Verzeichnis für die Applikation nicht erreichbar."
 
-#: mod/admin.php:726
+#: mod/admin.php:750
 msgid "Allow threaded items"
 msgstr "Erlaube Threads in Diskussionen"
 
-#: mod/admin.php:726
+#: mod/admin.php:750
 msgid "Allow infinite level threading for items on this site."
 msgstr "Erlaube ein unendliches Level für Threads auf dieser Seite."
 
-#: mod/admin.php:727
+#: mod/admin.php:751
 msgid "Private posts by default for new users"
 msgstr "Private Beiträge als Standard für neue Nutzer"
 
-#: mod/admin.php:727
+#: mod/admin.php:751
 msgid ""
 "Set default post permissions for all new members to the default privacy "
 "group rather than public."
 msgstr "Die Standard-Zugriffsrechte für neue Nutzer werden so gesetzt, dass als Voreinstellung in die private Gruppe gepostet wird anstelle von Ã¶ffentlichen Beiträgen."
 
-#: mod/admin.php:728
+#: mod/admin.php:752
 msgid "Don't include post content in email notifications"
 msgstr "Inhalte von Beiträgen nicht in E-Mail-Benachrichtigungen versenden"
 
-#: mod/admin.php:728
+#: mod/admin.php:752
 msgid ""
 "Don't include the content of a post/comment/private message/etc. in the "
 "email notifications that are sent out from this site, as a privacy measure."
 msgstr "Inhalte von Beiträgen/Kommentaren/privaten Nachrichten/usw., zum Datenschutz nicht in E-Mail-Benachrichtigungen einbinden."
 
-#: mod/admin.php:729
+#: mod/admin.php:753
 msgid "Disallow public access to addons listed in the apps menu."
 msgstr "Öffentlichen Zugriff auf Addons im Apps Menü verbieten."
 
-#: mod/admin.php:729
+#: mod/admin.php:753
 msgid ""
 "Checking this box will restrict addons listed in the apps menu to members "
 "only."
 msgstr "Wenn ausgewählt werden die im Apps Menü aufgeführten Addons nur angemeldeten Nutzern der Seite zur Verfügung gestellt."
 
-#: mod/admin.php:730
+#: mod/admin.php:754
 msgid "Don't embed private images in posts"
 msgstr "Private Bilder nicht in Beiträgen einbetten."
 
-#: mod/admin.php:730
+#: mod/admin.php:754
 msgid ""
 "Don't replace locally-hosted private photos in posts with an embedded copy "
 "of the image. This means that contacts who receive posts containing private "
@@ -2482,198 +2509,218 @@ msgid ""
 "while."
 msgstr "Ersetze lokal gehostete private Fotos in Beiträgen nicht mit einer eingebetteten Kopie des Bildes. Dies bedeutet, dass Kontakte, die Beiträge mit privaten Fotos erhalten sich zunächst auf den jeweiligen Servern authentifizieren müssen bevor die Bilder geladen und angezeigt werden, was eine gewisse Zeit dauert."
 
-#: mod/admin.php:731
+#: mod/admin.php:755
 msgid "Allow Users to set remote_self"
 msgstr "Nutzern erlauben das remote_self Flag zu setzen"
 
-#: mod/admin.php:731
+#: mod/admin.php:755
 msgid ""
 "With checking this, every user is allowed to mark every contact as a "
 "remote_self in the repair contact dialog. Setting this flag on a contact "
 "causes mirroring every posting of that contact in the users stream."
 msgstr "Ist dies ausgewählt kann jeder Nutzer jeden seiner Kontakte als remote_self (entferntes Konto) im Kontakt reparieren Dialog markieren. Nach dem setzten dieses Flags werden alle Top-Level Beiträge dieser Kontakte automatisch in den Stream dieses Nutzers gepostet."
 
-#: mod/admin.php:732
+#: mod/admin.php:756
 msgid "Block multiple registrations"
 msgstr "Unterbinde Mehrfachregistrierung"
 
-#: mod/admin.php:732
+#: mod/admin.php:756
 msgid "Disallow users to register additional accounts for use as pages."
 msgstr "Benutzern nicht erlauben, weitere Konten als zusätzliche Profile anzulegen."
 
-#: mod/admin.php:733
+#: mod/admin.php:757
 msgid "OpenID support"
 msgstr "OpenID Unterstützung"
 
-#: mod/admin.php:733
+#: mod/admin.php:757
 msgid "OpenID support for registration and logins."
 msgstr "OpenID-Unterstützung für Registrierung und Login."
 
-#: mod/admin.php:734
+#: mod/admin.php:758
 msgid "Fullname check"
 msgstr "Namen auf Vollständigkeit Ã¼berprüfen"
 
-#: mod/admin.php:734
+#: mod/admin.php:758
 msgid ""
 "Force users to register with a space between firstname and lastname in Full "
 "name, as an antispam measure"
 msgstr "Leerzeichen zwischen Vor- und Nachname im vollständigen Namen erzwingen, um SPAM zu vermeiden."
 
-#: mod/admin.php:735
+#: mod/admin.php:759
 msgid "UTF-8 Regular expressions"
 msgstr "UTF-8 Reguläre Ausdrücke"
 
-#: mod/admin.php:735
+#: mod/admin.php:759
 msgid "Use PHP UTF8 regular expressions"
 msgstr "PHP UTF8 Ausdrücke verwenden"
 
-#: mod/admin.php:736
+#: mod/admin.php:760
 msgid "Community Page Style"
 msgstr "Art der Gemeinschaftsseite"
 
-#: mod/admin.php:736
+#: mod/admin.php:760
 msgid ""
 "Type of community page to show. 'Global community' shows every public "
 "posting from an open distributed network that arrived on this server."
 msgstr "Welche Art der Gemeinschaftsseite soll verwendet werden? Globale Gemeinschaftsseite zeigt alle Ã¶ffentlichen Beiträge eines offenen dezentralen Netzwerks an die auf diesem Server eintreffen."
 
-#: mod/admin.php:737
+#: mod/admin.php:761
 msgid "Posts per user on community page"
 msgstr "Anzahl der Beiträge pro Benutzer auf der Gemeinschaftsseite"
 
-#: mod/admin.php:737
+#: mod/admin.php:761
 msgid ""
 "The maximum number of posts per user on the community page. (Not valid for "
 "'Global Community')"
 msgstr "Die Anzahl der Beiträge die von jedem Nutzer maximal auf der Gemeinschaftsseite angezeigt werden sollen. Dieser Parameter wird nicht für die Globale Gemeinschaftsseite genutzt."
 
-#: mod/admin.php:738
+#: mod/admin.php:762
 msgid "Enable OStatus support"
 msgstr "OStatus Unterstützung aktivieren"
 
-#: mod/admin.php:738
+#: mod/admin.php:762
 msgid ""
 "Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All "
 "communications in OStatus are public, so privacy warnings will be "
 "occasionally displayed."
 msgstr "Biete die eingebaute OStatus (iStatusNet, GNU Social, etc.) Unterstützung an. Jede Kommunikation in OStatus ist Ã¶ffentlich, Privatsphäre Warnungen werden nur bei Bedarf angezeigt."
 
-#: mod/admin.php:739
+#: mod/admin.php:763
 msgid "OStatus conversation completion interval"
 msgstr "Intervall zum Vervollständigen von OStatus Unterhaltungen"
 
-#: mod/admin.php:739
+#: mod/admin.php:763
 msgid ""
 "How often shall the poller check for new entries in OStatus conversations? "
 "This can be a very ressource task."
 msgstr "Wie oft soll der Poller checken ob es neue Nachrichten in OStatus Unterhaltungen gibt die geladen werden müssen. Je nach Anzahl der OStatus Kontakte könnte dies ein sehr Ressourcen lastiger Job sein."
 
-#: mod/admin.php:740
+#: mod/admin.php:764
+msgid "OStatus support can only be enabled if threading is enabled."
+msgstr "OStatus Unterstützung kann nur aktiviert werden wenn \"Threading\" aktiviert ist. "
+
+#: mod/admin.php:766
+msgid ""
+"Diaspora support can't be enabled because Friendica was installed into a sub"
+" directory."
+msgstr "Diaspora Unterstützung kann nicht aktiviert werden da Friendica in ein Unterverzeichnis installiert ist."
+
+#: mod/admin.php:767
 msgid "Enable Diaspora support"
 msgstr "Diaspora Unterstützung aktivieren"
 
-#: mod/admin.php:740
+#: mod/admin.php:767
 msgid "Provide built-in Diaspora network compatibility."
 msgstr "Verwende die eingebaute Diaspora-Verknüpfung."
 
-#: mod/admin.php:741
+#: mod/admin.php:768
 msgid "Only allow Friendica contacts"
 msgstr "Nur Friendica-Kontakte erlauben"
 
-#: mod/admin.php:741
+#: mod/admin.php:768
 msgid ""
 "All contacts must use Friendica protocols. All other built-in communication "
 "protocols disabled."
 msgstr "Alle Kontakte müssen das Friendica Protokoll nutzen. Alle anderen Kommunikationsprotokolle werden deaktiviert."
 
-#: mod/admin.php:742
+#: mod/admin.php:769
 msgid "Verify SSL"
 msgstr "SSL Ãœberprüfen"
 
-#: mod/admin.php:742
+#: mod/admin.php:769
 msgid ""
 "If you wish, you can turn on strict certificate checking. This will mean you"
 " cannot connect (at all) to self-signed SSL sites."
 msgstr "Wenn gewollt, kann man hier eine strenge Zertifikatkontrolle einstellen. Das bedeutet, dass man zu keinen Seiten mit selbst unterzeichnetem SSL eine Verbindung herstellen kann."
 
-#: mod/admin.php:743
+#: mod/admin.php:770
 msgid "Proxy user"
 msgstr "Proxy Nutzer"
 
-#: mod/admin.php:744
+#: mod/admin.php:771
 msgid "Proxy URL"
 msgstr "Proxy URL"
 
-#: mod/admin.php:745
+#: mod/admin.php:772
 msgid "Network timeout"
 msgstr "Netzwerk Wartezeit"
 
-#: mod/admin.php:745
+#: mod/admin.php:772
 msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
 msgstr "Der Wert ist in Sekunden. Setze 0 für unbegrenzt (nicht empfohlen)."
 
-#: mod/admin.php:746
+#: mod/admin.php:773
 msgid "Delivery interval"
 msgstr "Zustellungsintervall"
 
-#: mod/admin.php:746
+#: mod/admin.php:773
 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 "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl an Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared-Hosts, 2-3 für VPS, 0-1 für große dedizierte Server."
 
-#: mod/admin.php:747
+#: mod/admin.php:774
 msgid "Poll interval"
 msgstr "Abfrageintervall"
 
-#: mod/admin.php:747
+#: mod/admin.php:774
 msgid ""
 "Delay background polling processes by this many seconds to reduce system "
 "load. If 0, use delivery interval."
 msgstr "Verzögere Hintergrundprozesse um diese Anzahl an Sekunden, um die Systemlast zu reduzieren. Bei 0 Sekunden wird das Auslieferungsintervall verwendet."
 
-#: mod/admin.php:748
+#: mod/admin.php:775
 msgid "Maximum Load Average"
 msgstr "Maximum Load Average"
 
-#: mod/admin.php:748
+#: mod/admin.php:775
 msgid ""
 "Maximum system load before delivery and poll processes are deferred - "
 "default 50."
 msgstr "Maximale Systemlast bevor Verteil- und Empfangsprozesse verschoben werden - Standard 50"
 
-#: mod/admin.php:749
+#: mod/admin.php:776
 msgid "Maximum Load Average (Frontend)"
 msgstr "Maximum Load Average (Frontend)"
 
-#: mod/admin.php:749
+#: mod/admin.php:776
 msgid "Maximum system load before the frontend quits service - default 50."
 msgstr "Maximale Systemlast bevor Vordergrundprozesse pausiert werden - Standard 50."
 
-#: mod/admin.php:751
+#: mod/admin.php:777
+msgid "Maximum table size for optimization"
+msgstr "Maximale Tabellengröße zur Optimierung"
+
+#: mod/admin.php:777
+msgid ""
+"Maximum table size (in MB) for the automatic optimization - default 100 MB. "
+"Enter -1 to disable it."
+msgstr "Maximale Tabellengröße (in MB) für die automatische Optimierung - Standard 100 MB. Gib -1 für Deaktivierung ein."
+
+#: mod/admin.php:779
 msgid "Periodical check of global contacts"
 msgstr "Regelmäßig globale Kontakte Ã¼berprüfen"
 
-#: mod/admin.php:751
+#: mod/admin.php:779
 msgid ""
 "If enabled, the global contacts are checked periodically for missing or "
 "outdated data and the vitality of the contacts and servers."
 msgstr "Wenn diese Option aktiviert ist, werden die globalen Kontakte regelmäßig auf fehlende oder veraltete Daten sowie auf Erreichbarkeit des Kontakts und des Servers Ã¼berprüft."
 
-#: mod/admin.php:752
+#: mod/admin.php:780
 msgid "Days between requery"
 msgstr "Tage zwischen erneuten Abfragen"
 
-#: mod/admin.php:752
+#: mod/admin.php:780
 msgid "Number of days after which a server is requeried for his contacts."
 msgstr "Legt das Abfrageintervall fest, nachdem ein Server erneut nach Kontakten abgefragt werden soll."
 
-#: mod/admin.php:753
+#: mod/admin.php:781
 msgid "Discover contacts from other servers"
 msgstr "Neue Kontakte auf anderen Servern entdecken"
 
-#: mod/admin.php:753
+#: mod/admin.php:781
 msgid ""
 "Periodically query other servers for contacts. You can choose between "
 "'users': the users on the remote system, 'Global Contacts': active contacts "
@@ -2681,34 +2728,34 @@ msgid ""
 "and older friendica servers, where global contacts weren't available. The "
 "fallback increases the server load, so the recommened setting is 'Users, "
 "Global Contacts'."
-msgstr "Regelmäßig andere Server nach potentiellen Kontakten absuchen. Du kannst zwischen 'Nutzern', den tatsächlichen Nutzern des anderen Systems und 'globalen Kontakten', aktiven Kontakten die auf dem System bekannt sind, wählen. Der Fallback-Mechanismus ist für aältere Friendica und Redmatrix Server gedacht, bei denen globale Kontakte noch nicht verfügbar sind. Durch den Fallbackmodus entsteht auf deinem Server eine wesentlich höhere Last, empfohlen wird der Modus 'Nutzer, globale Kontakte'."
+msgstr "Regelmäßig andere Server nach potentiellen Kontakten absuchen. Du kannst zwischen 'Nutzern', den tatsächlichen Nutzern des anderen Systems und 'globalen Kontakten', aktiven Kontakten die auf dem System bekannt sind, wählen. Der Fallback-Mechanismus ist für Ã¤ltere Friendica und Redmatrix Server gedacht, bei denen globale Kontakte noch nicht verfügbar sind. Durch den Fallbackmodus entsteht auf deinem Server eine wesentlich höhere Last, empfohlen wird der Modus 'Nutzer, globale Kontakte'."
 
-#: mod/admin.php:754
+#: mod/admin.php:782
 msgid "Timeframe for fetching global contacts"
 msgstr "Zeitfenster für globale Kontakte"
 
-#: mod/admin.php:754
+#: mod/admin.php:782
 msgid ""
 "When the discovery is activated, this value defines the timeframe for the "
 "activity of the global contacts that are fetched from other servers."
 msgstr "Wenn die Entdeckung neuer Kontakte aktiv ist, definiert dieses Zeitfenster den Zeitraum in dem globale Kontakte als aktiv gelten und von anderen Servern importiert werden."
 
-#: mod/admin.php:755
+#: mod/admin.php:783
 msgid "Search the local directory"
 msgstr "Lokales Verzeichnis durchsuchen"
 
-#: mod/admin.php:755
+#: mod/admin.php:783
 msgid ""
 "Search the local directory instead of the global directory. When searching "
 "locally, every search will be executed on the global directory in the "
 "background. This improves the search results when the search is repeated."
 msgstr "Suche im lokalen Verzeichnis anstelle des globalen Verzeichnisses durchführen. Jede Suche wird im Hintergrund auch im globalen Verzeichnis durchgeführt umd die Suchresultate zu verbessern, wenn diese Suche wiederholt wird."
 
-#: mod/admin.php:757
+#: mod/admin.php:785
 msgid "Publish server information"
 msgstr "Server Informationen veröffentlichen"
 
-#: mod/admin.php:757
+#: mod/admin.php:785
 msgid ""
 "If enabled, general server and usage data will be published. The data "
 "contains the name and version of the server, number of users with public "
@@ -2716,205 +2763,205 @@ msgid ""
 " href='http://the-federation.info/'>the-federation.info</a> for details."
 msgstr "Wenn aktiviert, werden allgemeine Informationen Ã¼ber den Server und Nutzungsdaten veröffentlicht. Die Daten beinhalten den Namen sowie die Version des Servers, die Anzahl der Nutzer_innen mit Ã¶ffentlichen Profilen, die Anzahl der Beiträge sowie aktivierte Protokolle und Connectoren. Für Details bitte <a href='http://the-federation.info/'>the-federation.info</a> aufrufen."
 
-#: mod/admin.php:759
+#: mod/admin.php:787
 msgid "Use MySQL full text engine"
 msgstr "Nutze MySQL full text engine"
 
-#: mod/admin.php:759
+#: mod/admin.php:787
 msgid ""
 "Activates the full text engine. Speeds up search - but can only search for "
 "four and more characters."
 msgstr "Aktiviert die 'full text engine'. Beschleunigt die Suche - aber es kann nur nach vier oder mehr Zeichen gesucht werden."
 
-#: mod/admin.php:760
+#: mod/admin.php:788
 msgid "Suppress Language"
 msgstr "Sprachinformation unterdrücken"
 
-#: mod/admin.php:760
+#: mod/admin.php:788
 msgid "Suppress language information in meta information about a posting."
 msgstr "Verhindert das Erzeugen der Meta-Information zur Spracherkennung eines Beitrags."
 
-#: mod/admin.php:761
+#: mod/admin.php:789
 msgid "Suppress Tags"
 msgstr "Tags Unterdrücken"
 
-#: mod/admin.php:761
+#: mod/admin.php:789
 msgid "Suppress showing a list of hashtags at the end of the posting."
 msgstr "Unterdrückt die Anzeige von Tags am Ende eines Beitrags."
 
-#: mod/admin.php:762
+#: mod/admin.php:790
 msgid "Path to item cache"
 msgstr "Pfad zum Eintrag Cache"
 
-#: mod/admin.php:762
+#: mod/admin.php:790
 msgid "The item caches buffers generated bbcode and external images."
 msgstr "Im Item-Cache werden externe Bilder und geparster BBCode zwischen gespeichert."
 
-#: mod/admin.php:763
+#: mod/admin.php:791
 msgid "Cache duration in seconds"
 msgstr "Cache-Dauer in Sekunden"
 
-#: mod/admin.php:763
+#: mod/admin.php:791
 msgid ""
 "How long should the cache files be hold? Default value is 86400 seconds (One"
 " day). To disable the item cache, set the value to -1."
 msgstr "Wie lange sollen die gecachedten Dateien vorgehalten werden? Grundeinstellung sind 86400 Sekunden (ein Tag). Um den Item Cache zu deaktivieren, setze diesen Wert auf -1."
 
-#: mod/admin.php:764
+#: mod/admin.php:792
 msgid "Maximum numbers of comments per post"
 msgstr "Maximale Anzahl von Kommentaren pro Beitrag"
 
-#: mod/admin.php:764
+#: mod/admin.php:792
 msgid "How much comments should be shown for each post? Default value is 100."
 msgstr "Wie viele Kommentare sollen pro Beitrag angezeigt werden? Standardwert sind 100."
 
-#: mod/admin.php:765
+#: mod/admin.php:793
 msgid "Path for lock file"
 msgstr "Pfad für die Sperrdatei"
 
-#: mod/admin.php:765
+#: mod/admin.php:793
 msgid ""
 "The lock file is used to avoid multiple pollers at one time. Only define a "
 "folder here."
 msgstr "Die lock-Datei wird benutzt, damit nicht mehrere poller auf einmal laufen. Definiere hier einen Dateiverzeichnis."
 
-#: mod/admin.php:766
+#: mod/admin.php:794
 msgid "Temp path"
 msgstr "Temp Pfad"
 
-#: mod/admin.php:766
+#: mod/admin.php:794
 msgid ""
 "If you have a restricted system where the webserver can't access the system "
 "temp path, enter another path here."
 msgstr "Solltest du ein eingeschränktes System haben, auf dem der Webserver nicht auf das temp Verzeichnis des Systems zugreifen kann, setze hier einen anderen Pfad."
 
-#: mod/admin.php:767
+#: mod/admin.php:795
 msgid "Base path to installation"
 msgstr "Basis-Pfad zur Installation"
 
-#: mod/admin.php:767
+#: mod/admin.php:795
 msgid ""
 "If the system cannot detect the correct path to your installation, enter the"
 " correct path here. This setting should only be set if you are using a "
 "restricted system and symbolic links to your webroot."
 msgstr "Falls das System nicht den korrekten Pfad zu deiner Installation gefunden hat, gib den richtigen Pfad bitte hier ein. Du solltest hier den Pfad nur auf einem eingeschränkten System angeben müssen, bei dem du mit symbolischen Links auf dein Webverzeichnis verweist."
 
-#: mod/admin.php:768
+#: mod/admin.php:796
 msgid "Disable picture proxy"
 msgstr "Bilder Proxy deaktivieren"
 
-#: mod/admin.php:768
+#: mod/admin.php:796
 msgid ""
 "The picture proxy increases performance and privacy. It shouldn't be used on"
 " systems with very low bandwith."
 msgstr "Der Proxy für Bilder verbessert die Leistung und Privatsphäre der Nutzer. Er sollte nicht auf Systemen verwendet werden, die nur Ã¼ber begrenzte Bandbreite verfügen."
 
-#: mod/admin.php:769
+#: mod/admin.php:797
 msgid "Enable old style pager"
 msgstr "Den Old-Style Pager aktiviren"
 
-#: mod/admin.php:769
+#: mod/admin.php:797
 msgid ""
 "The old style pager has page numbers but slows down massively the page "
 "speed."
 msgstr "Der Old-Style Pager zeigt Seitennummern an, verlangsamt aber auch drastisch das Laden einer Seite."
 
-#: mod/admin.php:770
+#: mod/admin.php:798
 msgid "Only search in tags"
 msgstr "Nur in Tags suchen"
 
-#: mod/admin.php:770
+#: mod/admin.php:798
 msgid "On large systems the text search can slow down the system extremely."
 msgstr "Auf großen Knoten kann die Volltext-Suche das System ausbremsen."
 
-#: mod/admin.php:772
+#: mod/admin.php:800
 msgid "New base url"
 msgstr "Neue Basis-URL"
 
-#: mod/admin.php:772
+#: mod/admin.php:800
 msgid ""
 "Change base url for this server. Sends relocate message to all DFRN contacts"
 " of all users."
 msgstr "Ändert die Basis-URL dieses Servers und sendet eine Umzugsmitteilung an alle DFRN Kontakte deiner Nutzer_innen."
 
-#: mod/admin.php:774
+#: mod/admin.php:802
 msgid "RINO Encryption"
 msgstr "RINO Verschlüsselung"
 
-#: mod/admin.php:774
+#: mod/admin.php:802
 msgid "Encryption layer between nodes."
 msgstr "Verschlüsselung zwischen Friendica Instanzen"
 
-#: mod/admin.php:775
+#: mod/admin.php:803
 msgid "Embedly API key"
 msgstr "Embedly  API Schlüssel"
 
-#: mod/admin.php:775
+#: mod/admin.php:803
 msgid ""
 "<a href='http://embed.ly'>Embedly</a> is used to fetch additional data for "
 "web pages. This is an optional parameter."
 msgstr "<a href='http://embed.ly'>Embedly</a> wird verwendet um zusätzliche Informationen von Webseiten zu laden. Dies ist ein optionaler Parameter."
 
-#: mod/admin.php:793
+#: mod/admin.php:821
 msgid "Update has been marked successful"
 msgstr "Update wurde als erfolgreich markiert"
 
-#: mod/admin.php:801
+#: mod/admin.php:829
 #, php-format
 msgid "Database structure update %s was successfully applied."
 msgstr "Das Update %s der Struktur der Datenbank wurde erfolgreich angewandt."
 
-#: mod/admin.php:804
+#: mod/admin.php:832
 #, php-format
 msgid "Executing of database structure update %s failed with error: %s"
 msgstr "Das Update %s der Struktur der Datenbank schlug mit folgender Fehlermeldung fehl: %s"
 
-#: mod/admin.php:816
+#: mod/admin.php:844
 #, php-format
 msgid "Executing %s failed with error: %s"
 msgstr "Die Ausführung von %s schlug fehl. Fehlermeldung: %s"
 
-#: mod/admin.php:819
+#: mod/admin.php:847
 #, php-format
 msgid "Update %s was successfully applied."
 msgstr "Update %s war erfolgreich."
 
-#: mod/admin.php:823
+#: mod/admin.php:851
 #, php-format
 msgid "Update %s did not return a status. Unknown if it succeeded."
 msgstr "Update %s hat keinen Status zurückgegeben. Unbekannter Status."
 
-#: mod/admin.php:825
+#: mod/admin.php:853
 #, php-format
 msgid "There was no additional update function %s that needed to be called."
 msgstr "Es gab keine weitere Update-Funktion, die von %s ausgeführt werden musste."
 
-#: mod/admin.php:844
+#: mod/admin.php:872
 msgid "No failed updates."
 msgstr "Keine fehlgeschlagenen Updates."
 
-#: mod/admin.php:845
+#: mod/admin.php:873
 msgid "Check database structure"
 msgstr "Datenbank Struktur Ã¼berprüfen"
 
-#: mod/admin.php:850
+#: mod/admin.php:878
 msgid "Failed Updates"
 msgstr "Fehlgeschlagene Updates"
 
-#: mod/admin.php:851
+#: mod/admin.php:879
 msgid ""
 "This does not include updates prior to 1139, which did not return a status."
 msgstr "Ohne Updates vor 1139, da diese keinen Status zurückgegeben haben."
 
-#: mod/admin.php:852
+#: mod/admin.php:880
 msgid "Mark success (if update was manually applied)"
 msgstr "Als erfolgreich markieren (falls das Update manuell installiert wurde)"
 
-#: mod/admin.php:853
+#: mod/admin.php:881
 msgid "Attempt to execute this update step automatically"
 msgstr "Versuchen, diesen Schritt automatisch auszuführen"
 
-#: mod/admin.php:885
+#: mod/admin.php:913
 #, php-format
 msgid ""
 "\n"
@@ -2922,7 +2969,7 @@ msgid ""
 "\t\t\t\tthe administrator of %2$s has set up an account for you."
 msgstr "\nHallo %1$s,\n\nauf %2$s wurde ein Account für Dich angelegt."
 
-#: mod/admin.php:888
+#: mod/admin.php:916
 #, php-format
 msgid ""
 "\n"
@@ -2952,287 +2999,295 @@ msgid ""
 "\t\t\tThank you and welcome to %4$s."
 msgstr "\nNachfolgend die Anmelde-Details:\n\tAdresse der Seite:\t%1$s\n\tBenutzername:\t%2$s\n\tPasswort:\t%3$s\n\nDu kannst Dein Passwort unter \"Einstellungen\" Ã¤ndern, sobald Du Dich\nangemeldet hast.\n\nBitte nimm Dir ein paar Minuten um die anderen Einstellungen auf dieser\nSeite zu kontrollieren.\n\nEventuell magst Du ja auch einige Informationen Ã¼ber Dich in Deinem\nProfil veröffentlichen, damit andere Leute Dich einfacher finden können.\nBearbeite hierfür einfach Dein Standard-Profil (über die Profil-Seite).\n\nWir empfehlen Dir, Deinen kompletten Namen anzugeben und ein zu Dir\npassendes Profilbild zu wählen, damit Dich alte Bekannte wieder finden.\nAußerdem ist es nützlich, wenn Du auf Deinem Profil Schlüsselwörter\nangibst. Das erleichtert es, Leute zu finden, die Deine Interessen teilen.\n\nWir respektieren Deine Privatsphäre - keine dieser Angaben ist nötig.\nWenn Du neu im Netzwerk bist und noch niemanden kennst, dann können sie\nallerdings dabei helfen, neue und interessante Kontakte zu knüpfen.\n\nNun viel Spaß, gute Begegnungen und willkommen auf %4$s."
 
-#: mod/admin.php:920 include/user.php:421
+#: mod/admin.php:948 include/user.php:423
 #, php-format
 msgid "Registration details for %s"
 msgstr "Details der Registration von %s"
 
-#: mod/admin.php:932
+#: mod/admin.php:960
 #, php-format
 msgid "%s user blocked/unblocked"
 msgid_plural "%s users blocked/unblocked"
 msgstr[0] "%s Benutzer geblockt/freigegeben"
 msgstr[1] "%s Benutzer geblockt/freigegeben"
 
-#: mod/admin.php:939
+#: mod/admin.php:967
 #, php-format
 msgid "%s user deleted"
 msgid_plural "%s users deleted"
 msgstr[0] "%s Nutzer gelöscht"
 msgstr[1] "%s Nutzer gelöscht"
 
-#: mod/admin.php:978
+#: mod/admin.php:1006
 #, php-format
 msgid "User '%s' deleted"
 msgstr "Nutzer '%s' gelöscht"
 
-#: mod/admin.php:986
+#: mod/admin.php:1014
 #, php-format
 msgid "User '%s' unblocked"
 msgstr "Nutzer '%s' entsperrt"
 
-#: mod/admin.php:986
+#: mod/admin.php:1014
 #, php-format
 msgid "User '%s' blocked"
 msgstr "Nutzer '%s' gesperrt"
 
-#: mod/admin.php:1079
+#: mod/admin.php:1107
 msgid "Add User"
 msgstr "Nutzer hinzufügen"
 
-#: mod/admin.php:1080
+#: mod/admin.php:1108
 msgid "select all"
 msgstr "Alle auswählen"
 
-#: mod/admin.php:1081
+#: mod/admin.php:1109
 msgid "User registrations waiting for confirm"
 msgstr "Neuanmeldungen, die auf Deine Bestätigung warten"
 
-#: mod/admin.php:1082
+#: mod/admin.php:1110
 msgid "User waiting for permanent deletion"
 msgstr "Nutzer wartet auf permanente Löschung"
 
-#: mod/admin.php:1083
+#: mod/admin.php:1111
 msgid "Request date"
 msgstr "Anfragedatum"
 
-#: mod/admin.php:1083 mod/admin.php:1095 mod/admin.php:1096 mod/admin.php:1111
+#: mod/admin.php:1111 mod/admin.php:1123 mod/admin.php:1124 mod/admin.php:1139
 #: include/contact_selectors.php:79 include/contact_selectors.php:86
 msgid "Email"
 msgstr "E-Mail"
 
-#: mod/admin.php:1084
+#: mod/admin.php:1112
 msgid "No registrations."
 msgstr "Keine Neuanmeldungen."
 
-#: mod/admin.php:1086
+#: mod/admin.php:1114
 msgid "Deny"
 msgstr "Verwehren"
 
-#: mod/admin.php:1090
+#: mod/admin.php:1118
 msgid "Site admin"
 msgstr "Seitenadministrator"
 
-#: mod/admin.php:1091
+#: mod/admin.php:1119
 msgid "Account expired"
 msgstr "Account ist abgelaufen"
 
-#: mod/admin.php:1094
+#: mod/admin.php:1122
 msgid "New User"
 msgstr "Neuer Nutzer"
 
-#: mod/admin.php:1095 mod/admin.php:1096
+#: mod/admin.php:1123 mod/admin.php:1124
 msgid "Register date"
 msgstr "Anmeldedatum"
 
-#: mod/admin.php:1095 mod/admin.php:1096
+#: mod/admin.php:1123 mod/admin.php:1124
 msgid "Last login"
 msgstr "Letzte Anmeldung"
 
-#: mod/admin.php:1095 mod/admin.php:1096
+#: mod/admin.php:1123 mod/admin.php:1124
 msgid "Last item"
 msgstr "Letzter Beitrag"
 
-#: mod/admin.php:1095
+#: mod/admin.php:1123
 msgid "Deleted since"
 msgstr "Gelöscht seit"
 
-#: mod/admin.php:1096 mod/settings.php:41
+#: mod/admin.php:1124 mod/settings.php:41
 msgid "Account"
 msgstr "Nutzerkonto"
 
-#: mod/admin.php:1098
+#: mod/admin.php:1126
 msgid ""
 "Selected users will be deleted!\\n\\nEverything these users had posted on "
 "this site will be permanently deleted!\\n\\nAre you sure?"
 msgstr "Die markierten Nutzer werden gelöscht!\\n\\nAlle Beiträge, die diese Nutzer auf dieser Seite veröffentlicht haben, werden permanent gelöscht!\\n\\nBist Du sicher?"
 
-#: mod/admin.php:1099
+#: mod/admin.php:1127
 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 "Der Nutzer {0} wird gelöscht!\\n\\nAlles was dieser Nutzer auf dieser Seite veröffentlicht hat, wird permanent gelöscht!\\n\\nBist Du sicher?"
 
-#: mod/admin.php:1109
+#: mod/admin.php:1137
 msgid "Name of the new user."
 msgstr "Name des neuen Nutzers"
 
-#: mod/admin.php:1110
+#: mod/admin.php:1138
 msgid "Nickname"
 msgstr "Spitzname"
 
-#: mod/admin.php:1110
+#: mod/admin.php:1138
 msgid "Nickname of the new user."
 msgstr "Spitznamen für den neuen Nutzer"
 
-#: mod/admin.php:1111
+#: mod/admin.php:1139
 msgid "Email address of the new user."
 msgstr "Email Adresse des neuen Nutzers"
 
-#: mod/admin.php:1144
+#: mod/admin.php:1172
 #, php-format
 msgid "Plugin %s disabled."
 msgstr "Plugin %s deaktiviert."
 
-#: mod/admin.php:1148
+#: mod/admin.php:1176
 #, php-format
 msgid "Plugin %s enabled."
 msgstr "Plugin %s aktiviert."
 
-#: mod/admin.php:1158 mod/admin.php:1381
+#: mod/admin.php:1186 mod/admin.php:1410
 msgid "Disable"
 msgstr "Ausschalten"
 
-#: mod/admin.php:1160 mod/admin.php:1383
+#: mod/admin.php:1188 mod/admin.php:1412
 msgid "Enable"
 msgstr "Einschalten"
 
-#: mod/admin.php:1183 mod/admin.php:1411
+#: mod/admin.php:1211 mod/admin.php:1456
 msgid "Toggle"
 msgstr "Umschalten"
 
-#: mod/admin.php:1191 mod/admin.php:1421
+#: mod/admin.php:1219 mod/admin.php:1466
 msgid "Author: "
 msgstr "Autor:"
 
-#: mod/admin.php:1192 mod/admin.php:1422
+#: mod/admin.php:1220 mod/admin.php:1467
 msgid "Maintainer: "
 msgstr "Betreuer:"
 
-#: mod/admin.php:1341
+#: mod/admin.php:1272
+msgid "Reload active plugins"
+msgstr "Aktive Plugins neu laden"
+
+#: mod/admin.php:1370
 msgid "No themes found."
 msgstr "Keine Themen gefunden."
 
-#: mod/admin.php:1403
+#: mod/admin.php:1448
 msgid "Screenshot"
 msgstr "Bildschirmfoto"
 
-#: mod/admin.php:1449
+#: mod/admin.php:1508
+msgid "Reload active themes"
+msgstr "Aktives Theme neu laden"
+
+#: mod/admin.php:1512
 msgid "[Experimental]"
 msgstr "[Experimentell]"
 
-#: mod/admin.php:1450
+#: mod/admin.php:1513
 msgid "[Unsupported]"
 msgstr "[Nicht unterstützt]"
 
-#: mod/admin.php:1477
+#: mod/admin.php:1540
 msgid "Log settings updated."
 msgstr "Protokolleinstellungen aktualisiert."
 
-#: mod/admin.php:1533
+#: mod/admin.php:1596
 msgid "Clear"
 msgstr "löschen"
 
-#: mod/admin.php:1539
+#: mod/admin.php:1602
 msgid "Enable Debugging"
 msgstr "Protokoll führen"
 
-#: mod/admin.php:1540
+#: mod/admin.php:1603
 msgid "Log file"
 msgstr "Protokolldatei"
 
-#: mod/admin.php:1540
+#: mod/admin.php:1603
 msgid ""
 "Must be writable by web server. Relative to your Friendica top-level "
 "directory."
 msgstr "Webserver muss Schreibrechte besitzen. Abhängig vom Friendica-Installationsverzeichnis."
 
-#: mod/admin.php:1541
+#: mod/admin.php:1604
 msgid "Log level"
 msgstr "Protokoll-Level"
 
-#: mod/admin.php:1591 include/acl_selectors.php:347
+#: mod/admin.php:1654 include/acl_selectors.php:348
 msgid "Close"
 msgstr "Schließen"
 
-#: mod/admin.php:1597
+#: mod/admin.php:1660
 msgid "FTP Host"
 msgstr "FTP Host"
 
-#: mod/admin.php:1598
+#: mod/admin.php:1661
 msgid "FTP Path"
 msgstr "FTP Pfad"
 
-#: mod/admin.php:1599
+#: mod/admin.php:1662
 msgid "FTP User"
 msgstr "FTP Nutzername"
 
-#: mod/admin.php:1600
+#: mod/admin.php:1663
 msgid "FTP Password"
 msgstr "FTP Passwort"
 
-#: mod/network.php:143
+#: mod/network.php:146
 #, php-format
 msgid "Search Results For: %s"
 msgstr "Suchergebnisse für: %s"
 
-#: mod/network.php:187 mod/search.php:25
+#: mod/network.php:191 mod/search.php:25
 msgid "Remove term"
 msgstr "Begriff entfernen"
 
-#: mod/network.php:196 mod/search.php:34 include/features.php:43
+#: mod/network.php:200 mod/search.php:34 include/features.php:79
 msgid "Saved Searches"
 msgstr "Gespeicherte Suchen"
 
-#: mod/network.php:197 include/group.php:277
+#: mod/network.php:201 include/group.php:293
 msgid "add"
 msgstr "hinzufügen"
 
-#: mod/network.php:358
+#: mod/network.php:362
 msgid "Commented Order"
 msgstr "Neueste Kommentare"
 
-#: mod/network.php:361
+#: mod/network.php:365
 msgid "Sort by Comment Date"
 msgstr "Nach Kommentardatum sortieren"
 
-#: mod/network.php:365
+#: mod/network.php:370
 msgid "Posted Order"
 msgstr "Neueste Beiträge"
 
-#: mod/network.php:368
+#: mod/network.php:373
 msgid "Sort by Post Date"
 msgstr "Nach Beitragsdatum sortieren"
 
-#: mod/network.php:378
+#: mod/network.php:384
 msgid "Posts that mention or involve you"
 msgstr "Beiträge, in denen es um Dich geht"
 
-#: mod/network.php:385
+#: mod/network.php:392
 msgid "New"
 msgstr "Neue"
 
-#: mod/network.php:388
+#: mod/network.php:395
 msgid "Activity Stream - by date"
 msgstr "Aktivitäten-Stream - nach Datum"
 
-#: mod/network.php:395
+#: mod/network.php:403
 msgid "Shared Links"
 msgstr "Geteilte Links"
 
-#: mod/network.php:398
+#: mod/network.php:406
 msgid "Interesting Links"
 msgstr "Interessante Links"
 
-#: mod/network.php:405
+#: mod/network.php:414
 msgid "Starred"
 msgstr "Markierte"
 
-#: mod/network.php:408
+#: mod/network.php:417
 msgid "Favourite Posts"
 msgstr "Favorisierte Beiträge"
 
-#: mod/network.php:466
+#: mod/network.php:476
 #, php-format
 msgid "Warning: This group contains %s member from an insecure network."
 msgid_plural ""
@@ -3240,45 +3295,40 @@ msgid_plural ""
 msgstr[0] "Warnung: Diese Gruppe beinhaltet %s Person aus einem unsicheren Netzwerk."
 msgstr[1] "Warnung: Diese Gruppe beinhaltet %s Personen aus unsicheren Netzwerken."
 
-#: mod/network.php:469
+#: mod/network.php:479
 msgid "Private messages to this group are at risk of public disclosure."
 msgstr "Private Nachrichten an diese Gruppe könnten an die Ã–ffentlichkeit geraten."
 
-#: mod/network.php:532 mod/content.php:119
+#: mod/network.php:546 mod/content.php:119
 msgid "No such group"
 msgstr "Es gibt keine solche Gruppe"
 
-#: mod/network.php:549 mod/content.php:130
+#: mod/network.php:563 mod/content.php:130
 msgid "Group is empty"
 msgstr "Gruppe ist leer"
 
-#: mod/network.php:560 mod/content.php:135
+#: mod/network.php:574 mod/content.php:135
 #, php-format
 msgid "Group: %s"
 msgstr "Gruppe: %s"
 
-#: mod/network.php:578
-#, php-format
-msgid "Contact: %s"
-msgstr "Kontakt: %s"
-
-#: mod/network.php:582
+#: mod/network.php:606
 msgid "Private messages to this person are at risk of public disclosure."
 msgstr "Private Nachrichten an diese Person könnten an die Ã–ffentlichkeit gelangen."
 
-#: mod/network.php:587
+#: mod/network.php:611
 msgid "Invalid contact."
 msgstr "Ungültiger Kontakt."
 
-#: mod/allfriends.php:37
+#: mod/allfriends.php:45
+msgid "No friends to display."
+msgstr "Keine Freunde zum Anzeigen."
+
+#: mod/allfriends.php:92
 #, php-format
 msgid "Friends of %s"
 msgstr "Freunde von %s"
 
-#: mod/allfriends.php:44
-msgid "No friends to display."
-msgstr "Keine Freunde zum Anzeigen."
-
 #: mod/events.php:71 mod/events.php:73
 msgid "Event can not end before it has started."
 msgstr "Die Veranstaltung kann nicht enden bevor sie beginnt."
@@ -3287,257 +3337,268 @@ msgstr "Die Veranstaltung kann nicht enden bevor sie beginnt."
 msgid "Event title and start time are required."
 msgstr "Der Veranstaltungstitel und die Anfangszeit müssen angegeben werden."
 
-#: mod/events.php:196
+#: mod/events.php:201
 msgid "Sun"
 msgstr "So"
 
-#: mod/events.php:197
+#: mod/events.php:202
 msgid "Mon"
 msgstr "Mo"
 
-#: mod/events.php:198
+#: mod/events.php:203
 msgid "Tue"
 msgstr "Di"
 
-#: mod/events.php:199
+#: mod/events.php:204
 msgid "Wed"
 msgstr "Mi"
 
-#: mod/events.php:200
+#: mod/events.php:205
 msgid "Thu"
 msgstr "Do"
 
-#: mod/events.php:201
+#: mod/events.php:206
 msgid "Fri"
 msgstr "Fr"
 
-#: mod/events.php:202
+#: mod/events.php:207
 msgid "Sat"
 msgstr "Sa"
 
-#: mod/events.php:203 mod/settings.php:922 include/text.php:1266
+#: mod/events.php:208 mod/settings.php:936 include/text.php:1274
 msgid "Sunday"
 msgstr "Sonntag"
 
-#: mod/events.php:204 mod/settings.php:922 include/text.php:1266
+#: mod/events.php:209 mod/settings.php:936 include/text.php:1274
 msgid "Monday"
 msgstr "Montag"
 
-#: mod/events.php:205 include/text.php:1266
+#: mod/events.php:210 include/text.php:1274
 msgid "Tuesday"
 msgstr "Dienstag"
 
-#: mod/events.php:206 include/text.php:1266
+#: mod/events.php:211 include/text.php:1274
 msgid "Wednesday"
 msgstr "Mittwoch"
 
-#: mod/events.php:207 include/text.php:1266
+#: mod/events.php:212 include/text.php:1274
 msgid "Thursday"
 msgstr "Donnerstag"
 
-#: mod/events.php:208 include/text.php:1266
+#: mod/events.php:213 include/text.php:1274
 msgid "Friday"
 msgstr "Freitag"
 
-#: mod/events.php:209 include/text.php:1266
+#: mod/events.php:214 include/text.php:1274
 msgid "Saturday"
 msgstr "Samstag"
 
-#: mod/events.php:210
+#: mod/events.php:215
 msgid "Jan"
 msgstr "Jan"
 
-#: mod/events.php:211
+#: mod/events.php:216
 msgid "Feb"
 msgstr "Feb"
 
-#: mod/events.php:212
+#: mod/events.php:217
 msgid "Mar"
 msgstr "März"
 
-#: mod/events.php:213
+#: mod/events.php:218
 msgid "Apr"
 msgstr "Apr"
 
-#: mod/events.php:214 mod/events.php:226 include/text.php:1270
+#: mod/events.php:219 mod/events.php:231 include/text.php:1278
 msgid "May"
 msgstr "Mai"
 
-#: mod/events.php:215
+#: mod/events.php:220
 msgid "Jun"
 msgstr "Jun"
 
-#: mod/events.php:216
+#: mod/events.php:221
 msgid "Jul"
 msgstr "Juli"
 
-#: mod/events.php:217
+#: mod/events.php:222
 msgid "Aug"
 msgstr "Aug"
 
-#: mod/events.php:218
+#: mod/events.php:223
 msgid "Sept"
 msgstr "Sep"
 
-#: mod/events.php:219
+#: mod/events.php:224
 msgid "Oct"
 msgstr "Okt"
 
-#: mod/events.php:220
+#: mod/events.php:225
 msgid "Nov"
 msgstr "Nov"
 
-#: mod/events.php:221
+#: mod/events.php:226
 msgid "Dec"
 msgstr "Dez"
 
-#: mod/events.php:222 include/text.php:1270
+#: mod/events.php:227 include/text.php:1278
 msgid "January"
 msgstr "Januar"
 
-#: mod/events.php:223 include/text.php:1270
+#: mod/events.php:228 include/text.php:1278
 msgid "February"
 msgstr "Februar"
 
-#: mod/events.php:224 include/text.php:1270
+#: mod/events.php:229 include/text.php:1278
 msgid "March"
 msgstr "März"
 
-#: mod/events.php:225 include/text.php:1270
+#: mod/events.php:230 include/text.php:1278
 msgid "April"
 msgstr "April"
 
-#: mod/events.php:227 include/text.php:1270
+#: mod/events.php:232 include/text.php:1278
 msgid "June"
 msgstr "Juni"
 
-#: mod/events.php:228 include/text.php:1270
+#: mod/events.php:233 include/text.php:1278
 msgid "July"
 msgstr "Juli"
 
-#: mod/events.php:229 include/text.php:1270
+#: mod/events.php:234 include/text.php:1278
 msgid "August"
 msgstr "August"
 
-#: mod/events.php:230 include/text.php:1270
+#: mod/events.php:235 include/text.php:1278
 msgid "September"
 msgstr "September"
 
-#: mod/events.php:231 include/text.php:1270
+#: mod/events.php:236 include/text.php:1278
 msgid "October"
 msgstr "Oktober"
 
-#: mod/events.php:232 include/text.php:1270
+#: mod/events.php:237 include/text.php:1278
 msgid "November"
 msgstr "November"
 
-#: mod/events.php:233 include/text.php:1270
+#: mod/events.php:238 include/text.php:1278
 msgid "December"
 msgstr "Dezember"
 
-#: mod/events.php:234
+#: mod/events.php:239
 msgid "today"
 msgstr "Heute"
 
-#: mod/events.php:235 include/datetime.php:273
+#: mod/events.php:240 include/datetime.php:288
 msgid "month"
 msgstr "Monat"
 
-#: mod/events.php:236 include/datetime.php:274
+#: mod/events.php:241 include/datetime.php:289
 msgid "week"
 msgstr "Woche"
 
-#: mod/events.php:237 include/datetime.php:275
+#: mod/events.php:242 include/datetime.php:290
 msgid "day"
 msgstr "Tag"
 
-#: mod/events.php:372
+#: mod/events.php:377
 msgid "l, F j"
 msgstr "l, F j"
 
-#: mod/events.php:394
+#: mod/events.php:399
 msgid "Edit event"
 msgstr "Veranstaltung bearbeiten"
 
-#: mod/events.php:416 include/text.php:1713 include/text.php:1720
+#: mod/events.php:421 include/text.php:1721 include/text.php:1728
 msgid "link to source"
 msgstr "Link zum Originalbeitrag"
 
-#: mod/events.php:451 include/identity.php:669 include/nav.php:80
-#: include/nav.php:141 view/theme/diabook/theme.php:127
+#: mod/events.php:456 include/identity.php:686 include/nav.php:79
+#: include/nav.php:140 view/theme/diabook/theme.php:127
 msgid "Events"
 msgstr "Veranstaltungen"
 
-#: mod/events.php:452
+#: mod/events.php:457
 msgid "Create New Event"
 msgstr "Neue Veranstaltung erstellen"
 
-#: mod/events.php:453
+#: mod/events.php:458
 msgid "Previous"
 msgstr "Vorherige"
 
-#: mod/events.php:454 mod/install.php:209
+#: mod/events.php:459 mod/install.php:220
 msgid "Next"
 msgstr "Nächste"
 
-#: mod/events.php:546
+#: mod/events.php:554
 msgid "Event details"
 msgstr "Veranstaltungsdetails"
 
-#: mod/events.php:547
+#: mod/events.php:555
 msgid "Starting date and Title are required."
 msgstr "Anfangszeitpunkt und Titel werden benötigt"
 
-#: mod/events.php:548
+#: mod/events.php:556
 msgid "Event Starts:"
 msgstr "Veranstaltungsbeginn:"
 
-#: mod/events.php:548 mod/events.php:560
+#: mod/events.php:556 mod/events.php:568
 msgid "Required"
 msgstr "Benötigt"
 
-#: mod/events.php:550
+#: mod/events.php:558
 msgid "Finish date/time is not known or not relevant"
 msgstr "Enddatum/-zeit ist nicht bekannt oder nicht relevant"
 
-#: mod/events.php:552
+#: mod/events.php:560
 msgid "Event Finishes:"
 msgstr "Veranstaltungsende:"
 
-#: mod/events.php:554
+#: mod/events.php:562
 msgid "Adjust for viewer timezone"
 msgstr "An Zeitzone des Betrachters anpassen"
 
-#: mod/events.php:556
+#: mod/events.php:564
 msgid "Description:"
 msgstr "Beschreibung"
 
-#: mod/events.php:560
+#: mod/events.php:568
 msgid "Title:"
 msgstr "Titel:"
 
-#: mod/events.php:562
+#: mod/events.php:570
 msgid "Share this event"
 msgstr "Veranstaltung teilen"
 
-#: mod/events.php:564 mod/content.php:721 mod/editpost.php:144
+#: mod/events.php:572 mod/content.php:721 mod/editpost.php:144
 #: mod/photos.php:1623 mod/photos.php:1671 mod/photos.php:1759
-#: object/Item.php:716 include/conversation.php:1218
+#: object/Item.php:719 include/conversation.php:1217
 msgid "Preview"
 msgstr "Vorschau"
 
+#: mod/credits.php:16
+msgid "Credits"
+msgstr "Credits"
+
+#: mod/credits.php:17
+msgid ""
+"Friendica is a community project, that would not be possible without the "
+"help of many people. Here is a list of those who have contributed to the "
+"code or the translation of Friendica. Thank you all!"
+msgstr "Friendica ist ein Gemeinschaftsprojekt, das nicht ohne die Hilfe vieler Personen möglich wäre. Hier ist eine Aufzählung der Personen, die zum Code oder der Ãœbersetzung beigetragen haben. Dank an alle !"
+
 #: mod/content.php:439 mod/content.php:742 mod/photos.php:1714
-#: object/Item.php:130 include/conversation.php:634
+#: object/Item.php:133 include/conversation.php:634
 msgid "Select"
 msgstr "Auswählen"
 
 #: mod/content.php:473 mod/content.php:854 mod/content.php:855
-#: object/Item.php:354 object/Item.php:355 include/conversation.php:675
+#: object/Item.php:357 object/Item.php:358 include/conversation.php:675
 #, php-format
 msgid "View %s's profile @ %s"
 msgstr "Das Profil von %s auf %s betrachten."
 
-#: mod/content.php:483 mod/content.php:866 object/Item.php:368
+#: mod/content.php:483 mod/content.php:866 object/Item.php:371
 #: include/conversation.php:695
 #, php-format
 msgid "%s from %s"
@@ -3547,22 +3608,23 @@ msgstr "%s von %s"
 msgid "View in context"
 msgstr "Im Zusammenhang betrachten"
 
-#: mod/content.php:605 object/Item.php:416
+#: mod/content.php:605 object/Item.php:419
 #, php-format
 msgid "%d comment"
 msgid_plural "%d comments"
 msgstr[0] "%d Kommentar"
 msgstr[1] "%d Kommentare"
 
-#: mod/content.php:607 object/Item.php:418 object/Item.php:431
-#: include/text.php:2035
+#: mod/content.php:607 object/Item.php:421 object/Item.php:434
+#: include/text.php:1999
 msgid "comment"
 msgid_plural "comments"
 msgstr[0] "Kommentar"
 msgstr[1] "Kommentare"
 
-#: mod/content.php:608 boot.php:770 object/Item.php:419
-#: include/contact_widgets.php:205 include/items.php:5198
+#: mod/content.php:608 boot.php:773 object/Item.php:422
+#: include/contact_widgets.php:242 include/forums.php:110
+#: include/items.php:5152 view/theme/vier/theme.php:264
 msgid "show more"
 msgstr "mehr anzeigen"
 
@@ -3570,109 +3632,110 @@ msgstr "mehr anzeigen"
 msgid "Private Message"
 msgstr "Private Nachricht"
 
-#: mod/content.php:686 mod/photos.php:1599 object/Item.php:250
+#: mod/content.php:686 mod/photos.php:1599 object/Item.php:253
 msgid "I like this (toggle)"
 msgstr "Ich mag das (toggle)"
 
-#: mod/content.php:686 object/Item.php:250
+#: mod/content.php:686 object/Item.php:253
 msgid "like"
 msgstr "mag ich"
 
-#: mod/content.php:687 mod/photos.php:1600 object/Item.php:251
+#: mod/content.php:687 mod/photos.php:1600 object/Item.php:254
 msgid "I don't like this (toggle)"
 msgstr "Ich mag das nicht (toggle)"
 
-#: mod/content.php:687 object/Item.php:251
+#: mod/content.php:687 object/Item.php:254
 msgid "dislike"
 msgstr "mag ich nicht"
 
-#: mod/content.php:689 object/Item.php:253
+#: mod/content.php:689 object/Item.php:256
 msgid "Share this"
 msgstr "Weitersagen"
 
-#: mod/content.php:689 object/Item.php:253
+#: mod/content.php:689 object/Item.php:256
 msgid "share"
 msgstr "Teilen"
 
 #: mod/content.php:709 mod/photos.php:1619 mod/photos.php:1667
-#: mod/photos.php:1755 object/Item.php:704
+#: mod/photos.php:1755 object/Item.php:707
 msgid "This is you"
 msgstr "Das bist Du"
 
 #: mod/content.php:711 mod/photos.php:1621 mod/photos.php:1669
-#: mod/photos.php:1757 boot.php:769 object/Item.php:390 object/Item.php:706
+#: mod/photos.php:1757 boot.php:772 object/Item.php:393 object/Item.php:709
 msgid "Comment"
 msgstr "Kommentar"
 
-#: mod/content.php:713 object/Item.php:708
+#: mod/content.php:713 object/Item.php:711
 msgid "Bold"
 msgstr "Fett"
 
-#: mod/content.php:714 object/Item.php:709
+#: mod/content.php:714 object/Item.php:712
 msgid "Italic"
 msgstr "Kursiv"
 
-#: mod/content.php:715 object/Item.php:710
+#: mod/content.php:715 object/Item.php:713
 msgid "Underline"
 msgstr "Unterstrichen"
 
-#: mod/content.php:716 object/Item.php:711
+#: mod/content.php:716 object/Item.php:714
 msgid "Quote"
 msgstr "Zitat"
 
-#: mod/content.php:717 object/Item.php:712
+#: mod/content.php:717 object/Item.php:715
 msgid "Code"
 msgstr "Code"
 
-#: mod/content.php:718 object/Item.php:713
+#: mod/content.php:718 object/Item.php:716
 msgid "Image"
 msgstr "Bild"
 
-#: mod/content.php:719 object/Item.php:714
+#: mod/content.php:719 object/Item.php:717
 msgid "Link"
 msgstr "Link"
 
-#: mod/content.php:720 object/Item.php:715
+#: mod/content.php:720 object/Item.php:718
 msgid "Video"
 msgstr "Video"
 
-#: mod/content.php:730 mod/settings.php:696 object/Item.php:121
+#: mod/content.php:730 mod/settings.php:710 object/Item.php:122
+#: object/Item.php:124
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: mod/content.php:755 object/Item.php:214
+#: mod/content.php:755 object/Item.php:217
 msgid "add star"
 msgstr "markieren"
 
-#: mod/content.php:756 object/Item.php:215
+#: mod/content.php:756 object/Item.php:218
 msgid "remove star"
 msgstr "Markierung entfernen"
 
-#: mod/content.php:757 object/Item.php:216
+#: mod/content.php:757 object/Item.php:219
 msgid "toggle star status"
 msgstr "Markierung umschalten"
 
-#: mod/content.php:760 object/Item.php:219
+#: mod/content.php:760 object/Item.php:222
 msgid "starred"
 msgstr "markiert"
 
-#: mod/content.php:761 object/Item.php:239
+#: mod/content.php:761 object/Item.php:242
 msgid "add tag"
 msgstr "Tag hinzufügen"
 
-#: mod/content.php:765 object/Item.php:134
+#: mod/content.php:765 object/Item.php:137
 msgid "save to folder"
 msgstr "In Ordner speichern"
 
-#: mod/content.php:856 object/Item.php:356
+#: mod/content.php:856 object/Item.php:359
 msgid "to"
 msgstr "zu"
 
-#: mod/content.php:857 object/Item.php:358
+#: mod/content.php:857 object/Item.php:361
 msgid "Wall-to-Wall"
 msgstr "Wall-to-Wall"
 
-#: mod/content.php:858 object/Item.php:359
+#: mod/content.php:858 object/Item.php:362
 msgid "via Wall-To-Wall:"
 msgstr "via Wall-To-Wall:"
 
@@ -3690,303 +3753,322 @@ msgstr "Dein Konto wird endgültig gelöscht. Es gibt keine Möglichkeit, es wie
 msgid "Please enter your password for verification:"
 msgstr "Bitte gib Dein Passwort zur Verifikation ein:"
 
-#: mod/install.php:119
+#: mod/install.php:128
 msgid "Friendica Communications Server - Setup"
 msgstr "Friendica-Server für soziale Netzwerke â€“ Setup"
 
-#: mod/install.php:125
+#: mod/install.php:134
 msgid "Could not connect to database."
 msgstr "Verbindung zur Datenbank gescheitert."
 
-#: mod/install.php:129
+#: mod/install.php:138
 msgid "Could not create table."
 msgstr "Tabelle konnte nicht angelegt werden."
 
-#: mod/install.php:135
+#: mod/install.php:144
 msgid "Your Friendica site database has been installed."
 msgstr "Die Datenbank Deiner Friendicaseite wurde installiert."
 
-#: mod/install.php:140
+#: mod/install.php:149
 msgid ""
 "You may need to import the file \"database.sql\" manually using phpmyadmin "
 "or mysql."
 msgstr "Möglicherweise musst Du die Datei \"database.sql\" manuell mit phpmyadmin oder mysql importieren."
 
-#: mod/install.php:141 mod/install.php:208 mod/install.php:537
+#: mod/install.php:150 mod/install.php:219 mod/install.php:577
 msgid "Please see the file \"INSTALL.txt\"."
 msgstr "Lies bitte die \"INSTALL.txt\"."
 
-#: mod/install.php:153
+#: mod/install.php:162
 msgid "Database already in use."
 msgstr "Die Datenbank wird bereits verwendet."
 
-#: mod/install.php:205
+#: mod/install.php:216
 msgid "System check"
 msgstr "Systemtest"
 
-#: mod/install.php:210
+#: mod/install.php:221
 msgid "Check again"
 msgstr "Noch einmal testen"
 
-#: mod/install.php:229
+#: mod/install.php:240
 msgid "Database connection"
 msgstr "Datenbankverbindung"
 
-#: mod/install.php:230
+#: mod/install.php:241
 msgid ""
 "In order to install Friendica we need to know how to connect to your "
 "database."
 msgstr "Um Friendica installieren zu können, müssen wir wissen, wie wir mit Deiner Datenbank Kontakt aufnehmen können."
 
-#: mod/install.php:231
+#: mod/install.php:242
 msgid ""
 "Please contact your hosting provider or site administrator if you have "
 "questions about these settings."
 msgstr "Bitte kontaktiere den Hosting Provider oder den Administrator der Seite, falls Du Fragen zu diesen Einstellungen haben solltest."
 
-#: mod/install.php:232
+#: mod/install.php:243
 msgid ""
 "The database you specify below should already exist. If it does not, please "
 "create it before continuing."
 msgstr "Die Datenbank, die Du unten angibst, sollte bereits existieren. Ist dies noch nicht der Fall, erzeuge sie bitte bevor Du mit der Installation fortfährst."
 
-#: mod/install.php:236
+#: mod/install.php:247
 msgid "Database Server Name"
 msgstr "Datenbank-Server"
 
-#: mod/install.php:237
+#: mod/install.php:248
 msgid "Database Login Name"
 msgstr "Datenbank-Nutzer"
 
-#: mod/install.php:238
+#: mod/install.php:249
 msgid "Database Login Password"
 msgstr "Datenbank-Passwort"
 
-#: mod/install.php:239
+#: mod/install.php:250
 msgid "Database Name"
 msgstr "Datenbank-Name"
 
-#: mod/install.php:240 mod/install.php:279
+#: mod/install.php:251 mod/install.php:290
 msgid "Site administrator email address"
 msgstr "E-Mail-Adresse des Administrators"
 
-#: mod/install.php:240 mod/install.php:279
+#: mod/install.php:251 mod/install.php:290
 msgid ""
 "Your account email address must match this in order to use the web admin "
 "panel."
 msgstr "Die E-Mail-Adresse, die in Deinem Friendica-Account eingetragen ist, muss mit dieser Adresse Ã¼bereinstimmen, damit Du das Admin-Panel benutzen kannst."
 
-#: mod/install.php:244 mod/install.php:282
+#: mod/install.php:255 mod/install.php:293
 msgid "Please select a default timezone for your website"
 msgstr "Bitte wähle die Standardzeitzone Deiner Webseite"
 
-#: mod/install.php:269
+#: mod/install.php:280
 msgid "Site settings"
 msgstr "Server-Einstellungen"
 
-#: mod/install.php:323
+#: mod/install.php:334
 msgid "Could not find a command line version of PHP in the web server PATH."
 msgstr "Konnte keine Kommandozeilenversion von PHP im PATH des Servers finden."
 
-#: mod/install.php:324
+#: mod/install.php:335
 msgid ""
 "If you don't have a command line version of PHP installed on server, you "
 "will not be able to run background polling via cron. See <a "
-"href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"
-msgstr "Wenn Du keine Kommandozeilen Version von PHP auf Deinem Server installiert hast, kannst Du keine Hintergrundprozesse via cron starten. Siehe <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"
+"href='https://github.com/friendica/friendica/blob/master/doc/Install.md#set-"
+"up-the-poller'>'Setup the poller'</a>"
+msgstr "Wenn Du keine Kommandozeilen-Version von PHP auf Deinem Server installiert hast, kannst Du keine Hintergrundprozesse via cron starten. Siehe <a href='https://github.com/friendica/friendica/blob/master/doc/Install.md#set-up-the-poller'>'Setup the poller'</a>"
 
-#: mod/install.php:328
+#: mod/install.php:339
 msgid "PHP executable path"
 msgstr "Pfad zu PHP"
 
-#: mod/install.php:328
+#: mod/install.php:339
 msgid ""
 "Enter full path to php executable. You can leave this blank to continue the "
 "installation."
 msgstr "Gib den kompletten Pfad zur ausführbaren Datei von PHP an. Du kannst dieses Feld auch frei lassen und mit der Installation fortfahren."
 
-#: mod/install.php:333
+#: mod/install.php:344
 msgid "Command line PHP"
 msgstr "Kommandozeilen-PHP"
 
-#: mod/install.php:342
+#: mod/install.php:353
 msgid "PHP executable is not the php cli binary (could be cgi-fgci version)"
 msgstr "Die ausführbare Datei von PHP stimmt nicht mit der PHP cli Version Ã¼berein (es könnte sich um die cgi-fgci Version handeln)"
 
-#: mod/install.php:343
+#: mod/install.php:354
 msgid "Found PHP version: "
 msgstr "Gefundene PHP Version:"
 
-#: mod/install.php:345
+#: mod/install.php:356
 msgid "PHP cli binary"
 msgstr "PHP CLI Binary"
 
-#: mod/install.php:356
+#: mod/install.php:367
 msgid ""
 "The command line version of PHP on your system does not have "
 "\"register_argc_argv\" enabled."
 msgstr "Die Kommandozeilenversion von PHP auf Deinem System hat \"register_argc_argv\" nicht aktiviert."
 
-#: mod/install.php:357
+#: mod/install.php:368
 msgid "This is required for message delivery to work."
 msgstr "Dies wird für die Auslieferung von Nachrichten benötigt."
 
-#: mod/install.php:359
+#: mod/install.php:370
 msgid "PHP register_argc_argv"
 msgstr "PHP register_argc_argv"
 
-#: mod/install.php:380
+#: mod/install.php:391
 msgid ""
 "Error: the \"openssl_pkey_new\" function on this system is not able to "
 "generate encryption keys"
 msgstr "Fehler: Die Funktion \"openssl_pkey_new\" auf diesem System ist nicht in der Lage, Verschlüsselungsschlüssel zu erzeugen"
 
-#: mod/install.php:381
+#: mod/install.php:392
 msgid ""
 "If running under Windows, please see "
 "\"http://www.php.net/manual/en/openssl.installation.php\"."
 msgstr "Wenn der Server unter Windows läuft, schau Dir bitte \"http://www.php.net/manual/en/openssl.installation.php\" an."
 
-#: mod/install.php:383
+#: mod/install.php:394
 msgid "Generate encryption keys"
 msgstr "Schlüssel erzeugen"
 
-#: mod/install.php:390
+#: mod/install.php:401
 msgid "libCurl PHP module"
 msgstr "PHP: libCurl-Modul"
 
-#: mod/install.php:391
+#: mod/install.php:402
 msgid "GD graphics PHP module"
 msgstr "PHP: GD-Grafikmodul"
 
-#: mod/install.php:392
+#: mod/install.php:403
 msgid "OpenSSL PHP module"
 msgstr "PHP: OpenSSL-Modul"
 
-#: mod/install.php:393
+#: mod/install.php:404
 msgid "mysqli PHP module"
 msgstr "PHP: mysqli-Modul"
 
-#: mod/install.php:394
+#: mod/install.php:405
 msgid "mb_string PHP module"
 msgstr "PHP: mb_string-Modul"
 
-#: mod/install.php:395
+#: mod/install.php:406
 msgid "mcrypt PHP module"
 msgstr "PHP mcrypt Modul"
 
-#: mod/install.php:400 mod/install.php:402
+#: mod/install.php:411 mod/install.php:413
 msgid "Apache mod_rewrite module"
 msgstr "Apache mod_rewrite module"
 
-#: mod/install.php:400
+#: mod/install.php:411
 msgid ""
 "Error: Apache webserver mod-rewrite module is required but not installed."
 msgstr "Fehler: Das Apache-Modul mod-rewrite wird benötigt, es ist allerdings nicht installiert."
 
-#: mod/install.php:408
+#: mod/install.php:419
 msgid "Error: libCURL PHP module required but not installed."
 msgstr "Fehler: Das libCURL PHP Modul wird benötigt, ist aber nicht installiert."
 
-#: mod/install.php:412
+#: mod/install.php:423
 msgid ""
 "Error: GD graphics PHP module with JPEG support required but not installed."
 msgstr "Fehler: Das GD-Graphikmodul für PHP mit JPEG-Unterstützung ist nicht installiert."
 
-#: mod/install.php:416
+#: mod/install.php:427
 msgid "Error: openssl PHP module required but not installed."
 msgstr "Fehler: Das openssl-Modul von PHP ist nicht installiert."
 
-#: mod/install.php:420
+#: mod/install.php:431
 msgid "Error: mysqli PHP module required but not installed."
 msgstr "Fehler: Das mysqli-Modul von PHP ist nicht installiert."
 
-#: mod/install.php:424
+#: mod/install.php:435
 msgid "Error: mb_string PHP module required but not installed."
 msgstr "Fehler: mb_string PHP Module wird benötigt ist aber nicht installiert."
 
-#: mod/install.php:428
+#: mod/install.php:439
 msgid "Error: mcrypt PHP module required but not installed."
 msgstr "Fehler: Das mcrypt Modul von PHP ist nicht installiert"
 
-#: mod/install.php:447
+#: mod/install.php:451
+msgid ""
+"Function mcrypt_create_iv() is not defined. This is needed to enable RINO2 "
+"encryption layer."
+msgstr "Die Funktion mcrypt_create_iv() ist nicht festgelegt. Dies ist notwendig um den RINO2-Encryption-Layer zu aktivieren."
+
+#: mod/install.php:453
+msgid "mcrypt_create_iv() function"
+msgstr "mcrypt_create_iv() function"
+
+#: mod/install.php:469
 msgid ""
 "The web installer needs to be able to create a file called \".htconfig.php\""
 " in the top folder of your web server and it is unable to do so."
 msgstr "Der Installationswizard muss in der Lage sein, eine Datei im Stammverzeichnis Deines Webservers anzulegen, ist allerdings derzeit nicht in der Lage, dies zu tun."
 
-#: mod/install.php:448
+#: mod/install.php:470
 msgid ""
 "This is most often a permission setting, as the web server may not be able "
 "to write files in your folder - even if you can."
 msgstr "In den meisten Fällen ist dies ein Problem mit den Schreibrechten. Der Webserver könnte keine Schreiberlaubnis haben, selbst wenn Du sie hast."
 
-#: mod/install.php:449
+#: mod/install.php:471
 msgid ""
 "At the end of this procedure, we will give you a text to save in a file "
 "named .htconfig.php in your Friendica top folder."
 msgstr "Nachdem Du alles ausgefüllt hast, erhältst Du einen Text, den Du in eine Datei namens .htconfig.php in Deinem Friendica-Wurzelverzeichnis kopieren musst."
 
-#: mod/install.php:450
+#: mod/install.php:472
 msgid ""
 "You can alternatively skip this procedure and perform a manual installation."
 " Please see the file \"INSTALL.txt\" for instructions."
 msgstr "Alternativ kannst Du diesen Schritt aber auch Ã¼berspringen und die Installation manuell durchführen. Eine Anleitung dazu (Englisch) findest Du in der Datei INSTALL.txt."
 
-#: mod/install.php:453
+#: mod/install.php:475
 msgid ".htconfig.php is writable"
 msgstr "Schreibrechte auf .htconfig.php"
 
-#: mod/install.php:463
+#: mod/install.php:485
 msgid ""
 "Friendica uses the Smarty3 template engine to render its web views. Smarty3 "
 "compiles templates to PHP to speed up rendering."
 msgstr "Friendica nutzt die Smarty3 Template Engine um die Webansichten zu rendern. Smarty3 kompiliert Templates zu PHP um das Rendern zu beschleunigen."
 
-#: mod/install.php:464
+#: mod/install.php:486
 msgid ""
 "In order to store these compiled templates, the web server needs to have "
 "write access to the directory view/smarty3/ under the Friendica top level "
 "folder."
 msgstr "Um diese kompilierten Templates zu speichern benötigt der Webserver Schreibrechte zum Verzeichnis view/smarty3/ im obersten Ordner von Friendica."
 
-#: mod/install.php:465
+#: mod/install.php:487
 msgid ""
 "Please ensure that the user that your web server runs as (e.g. www-data) has"
 " write access to this folder."
 msgstr "Bitte stelle sicher, dass der Nutzer unter dem der Webserver läuft (z.B. www-data) Schreibrechte zu diesem Verzeichnis hat."
 
-#: mod/install.php:466
+#: mod/install.php:488
 msgid ""
 "Note: as a security measure, you should give the web server write access to "
 "view/smarty3/ only--not the template files (.tpl) that it contains."
 msgstr "Hinweis: aus Sicherheitsgründen solltest Du dem Webserver nur Schreibrechte für view/smarty3/ geben -- Nicht den Templatedateien (.tpl) die sie enthalten."
 
-#: mod/install.php:469
+#: mod/install.php:491
 msgid "view/smarty3 is writable"
 msgstr "view/smarty3 ist schreibbar"
 
-#: mod/install.php:485
+#: mod/install.php:507
 msgid ""
 "Url rewrite in .htaccess is not working. Check your server configuration."
 msgstr "Umschreiben der URLs in der .htaccess funktioniert nicht. Ãœberprüfe die Konfiguration des Servers."
 
-#: mod/install.php:487
+#: mod/install.php:509
 msgid "Url rewrite is working"
 msgstr "URL rewrite funktioniert"
 
-#: mod/install.php:496
+#: mod/install.php:526
+msgid "ImageMagick PHP extension is installed"
+msgstr "ImageMagick PHP Erweiterung ist installiert"
+
+#: mod/install.php:528
+msgid "ImageMagick supports GIF"
+msgstr "ImageMagick unterstützt GIF"
+
+#: mod/install.php:536
 msgid ""
 "The database configuration file \".htconfig.php\" could not be written. "
 "Please use the enclosed text to create a configuration file in your web "
 "server root."
 msgstr "Die Konfigurationsdatei \".htconfig.php\" konnte nicht angelegt werden. Bitte verwende den angefügten Text, um die Datei im Stammverzeichnis Deiner Friendica-Installation zu erzeugen."
 
-#: mod/install.php:535
+#: mod/install.php:575
 msgid "<h1>What next</h1>"
 msgstr "<h1>Wie geht es weiter?</h1>"
 
-#: mod/install.php:536
+#: mod/install.php:576
 msgid ""
 "IMPORTANT: You will need to [manually] setup a scheduled task for the "
 "poller."
@@ -4016,7 +4098,7 @@ msgstr "Wenn Du möchtest, dass %s Dir antworten kann, Ã¼berprüfe Deine Privats
 msgid "Help:"
 msgstr "Hilfe:"
 
-#: mod/help.php:36 include/nav.php:114 view/theme/vier/theme.php:259
+#: mod/help.php:36 include/nav.php:113 view/theme/vier/theme.php:302
 msgid "Help"
 msgstr "Hilfe"
 
@@ -4038,35 +4120,35 @@ msgstr "%1$s heißt %2$s herzlich willkommen"
 msgid "Welcome to %s"
 msgstr "Willkommen zu %s"
 
-#: mod/wall_attach.php:83
+#: mod/wall_attach.php:94
 msgid "Sorry, maybe your upload is bigger than the PHP configuration allows"
 msgstr "Entschuldige, die Datei scheint größer zu sein als es die PHP Konfiguration erlaubt."
 
-#: mod/wall_attach.php:83
+#: mod/wall_attach.php:94
 msgid "Or - did you try to upload an empty file?"
 msgstr "Oder - hast Du versucht, eine leere Datei hochzuladen?"
 
-#: mod/wall_attach.php:94
+#: mod/wall_attach.php:105
 #, php-format
 msgid "File exceeds size limit of %s"
 msgstr "Die Datei ist größer als das erlaubte Limit von %s"
 
-#: mod/wall_attach.php:145 mod/wall_attach.php:161
+#: mod/wall_attach.php:156 mod/wall_attach.php:172
 msgid "File upload failed."
 msgstr "Hochladen der Datei fehlgeschlagen."
 
-#: mod/match.php:19
-msgid "Profile Match"
-msgstr "Profilübereinstimmungen"
-
-#: mod/match.php:28
+#: mod/match.php:33
 msgid "No keywords to match. Please add keywords to your default profile."
 msgstr "Keine Schlüsselwörter zum Abgleichen gefunden. Bitte füge einige Schlüsselwörter zu Deinem Standardprofil hinzu."
 
-#: mod/match.php:70
+#: mod/match.php:84
 msgid "is interested in:"
 msgstr "ist interessiert an:"
 
+#: mod/match.php:98
+msgid "Profile Match"
+msgstr "Profilübereinstimmungen"
+
 #: mod/share.php:38
 msgid "link"
 msgstr "Link"
@@ -4075,7 +4157,7 @@ msgstr "Link"
 msgid "Not available."
 msgstr "Nicht verfügbar."
 
-#: mod/community.php:32 include/nav.php:137 include/nav.php:139
+#: mod/community.php:32 include/nav.php:136 include/nav.php:138
 #: view/theme/diabook/theme.php:129
 msgid "Community"
 msgstr "Gemeinschaft"
@@ -4096,11 +4178,11 @@ msgstr "Zusätzliche Features"
 msgid "Display"
 msgstr "Anzeige"
 
-#: mod/settings.php:60 mod/settings.php:839
+#: mod/settings.php:60 mod/settings.php:853
 msgid "Social Networks"
 msgstr "Soziale Netzwerke"
 
-#: mod/settings.php:72 include/nav.php:181
+#: mod/settings.php:72 include/nav.php:180
 msgid "Delegations"
 msgstr "Delegationen"
 
@@ -4156,621 +4238,631 @@ msgstr "Passwort geändert."
 msgid "Password update failed. Please try again."
 msgstr "Aktualisierung des Passworts gescheitert, bitte versuche es noch einmal."
 
-#: mod/settings.php:448
+#: mod/settings.php:450
 msgid " Please use a shorter name."
 msgstr " Bitte verwende einen kürzeren Namen."
 
-#: mod/settings.php:450
+#: mod/settings.php:452
 msgid " Name too short."
 msgstr " Name ist zu kurz."
 
-#: mod/settings.php:459
+#: mod/settings.php:461
 msgid "Wrong Password"
 msgstr "Falsches Passwort"
 
-#: mod/settings.php:464
+#: mod/settings.php:466
 msgid " Not valid email."
 msgstr " Keine gültige E-Mail."
 
-#: mod/settings.php:470
+#: mod/settings.php:472
 msgid " Cannot change to that email."
 msgstr "Ändern der E-Mail nicht möglich. "
 
-#: mod/settings.php:526
+#: mod/settings.php:528
 msgid "Private forum has no privacy permissions. Using default privacy group."
 msgstr "Für das private Forum sind keine Zugriffsrechte eingestellt. Die voreingestellte Gruppe für neue Kontakte wird benutzt."
 
-#: mod/settings.php:530
+#: mod/settings.php:532
 msgid "Private forum has no privacy permissions and no default privacy group."
 msgstr "Für das private Forum sind keine Zugriffsrechte eingestellt, und es gibt keine voreingestellte Gruppe für neue Kontakte."
 
-#: mod/settings.php:560
+#: mod/settings.php:571
 msgid "Settings updated."
 msgstr "Einstellungen aktualisiert."
 
-#: mod/settings.php:633 mod/settings.php:659 mod/settings.php:695
+#: mod/settings.php:647 mod/settings.php:673 mod/settings.php:709
 msgid "Add application"
 msgstr "Programm hinzufügen"
 
-#: mod/settings.php:637 mod/settings.php:663
+#: mod/settings.php:651 mod/settings.php:677
 msgid "Consumer Key"
 msgstr "Consumer Key"
 
-#: mod/settings.php:638 mod/settings.php:664
+#: mod/settings.php:652 mod/settings.php:678
 msgid "Consumer Secret"
 msgstr "Consumer Secret"
 
-#: mod/settings.php:639 mod/settings.php:665
+#: mod/settings.php:653 mod/settings.php:679
 msgid "Redirect"
 msgstr "Umleiten"
 
-#: mod/settings.php:640 mod/settings.php:666
+#: mod/settings.php:654 mod/settings.php:680
 msgid "Icon url"
 msgstr "Icon URL"
 
-#: mod/settings.php:651
+#: mod/settings.php:665
 msgid "You can't edit this application."
 msgstr "Du kannst dieses Programm nicht bearbeiten."
 
-#: mod/settings.php:694
+#: mod/settings.php:708
 msgid "Connected Apps"
 msgstr "Verbundene Programme"
 
-#: mod/settings.php:698
+#: mod/settings.php:712
 msgid "Client key starts with"
 msgstr "Anwenderschlüssel beginnt mit"
 
-#: mod/settings.php:699
+#: mod/settings.php:713
 msgid "No name"
 msgstr "Kein Name"
 
-#: mod/settings.php:700
+#: mod/settings.php:714
 msgid "Remove authorization"
 msgstr "Autorisierung entziehen"
 
-#: mod/settings.php:712
+#: mod/settings.php:726
 msgid "No Plugin settings configured"
 msgstr "Keine Plugin-Einstellungen konfiguriert"
 
-#: mod/settings.php:720
+#: mod/settings.php:734
 msgid "Plugin Settings"
 msgstr "Plugin-Einstellungen"
 
-#: mod/settings.php:734
+#: mod/settings.php:748
 msgid "Off"
 msgstr "Aus"
 
-#: mod/settings.php:734
+#: mod/settings.php:748
 msgid "On"
 msgstr "An"
 
-#: mod/settings.php:742
+#: mod/settings.php:756
 msgid "Additional Features"
 msgstr "Zusätzliche Features"
 
-#: mod/settings.php:752 mod/settings.php:756
+#: mod/settings.php:766 mod/settings.php:770
 msgid "General Social Media Settings"
 msgstr "Allgemeine Einstellungen zu Sozialen Medien"
 
-#: mod/settings.php:762
+#: mod/settings.php:776
 msgid "Disable intelligent shortening"
 msgstr "Intelligentes Link kürzen ausschalten"
 
-#: mod/settings.php:764
+#: mod/settings.php:778
 msgid ""
 "Normally the system tries to find the best link to add to shortened posts. "
 "If this option is enabled then every shortened post will always point to the"
 " original friendica post."
 msgstr "Normalerweise versucht das System den besten Link zu finden um ihn zu gekürzten Postings hinzu zu fügen. Wird diese Option ausgewählt wird stets ein Link auf die originale Friendica Nachricht beigefügt."
 
-#: mod/settings.php:770
+#: mod/settings.php:784
 msgid "Automatically follow any GNU Social (OStatus) followers/mentioners"
 msgstr "Automatisch allen GNU Social (OStatus) Followern/Erwähnern folgen"
 
-#: mod/settings.php:772
+#: mod/settings.php:786
 msgid ""
 "If you receive a message from an unknown OStatus user, this option decides "
 "what to do. If it is checked, a new contact will be created for every "
 "unknown user."
 msgstr "Wenn du eine Nachricht eines unbekannten OStatus Nutzers bekommst, entscheidet diese Option wie diese behandelt werden soll. Ist die Option aktiviert, wird ein neuer Kontakt für den Verfasser erstellt,."
 
-#: mod/settings.php:781
+#: mod/settings.php:795
 msgid "Your legacy GNU Social account"
 msgstr "Dein alter GNU Social Account"
 
-#: mod/settings.php:783
+#: mod/settings.php:797
 msgid ""
 "If you enter your old GNU Social/Statusnet account name here (in the format "
 "user@domain.tld), your contacts will be added automatically. The field will "
 "be emptied when done."
 msgstr "Wenn du deinen alten GNU Socual/Statusnet Accountnamen hier angibst (Format name@domain.tld) werden deine Kontakte automatisch hinzugefügt. Dieses Feld wird geleert, wenn die Kontakte hinzugefügt wurden."
 
-#: mod/settings.php:786
+#: mod/settings.php:800
 msgid "Repair OStatus subscriptions"
 msgstr "OStatus Abonnements reparieren"
 
-#: mod/settings.php:795 mod/settings.php:796
+#: mod/settings.php:809 mod/settings.php:810
 #, php-format
 msgid "Built-in support for %s connectivity is %s"
 msgstr "Eingebaute Unterstützung für Verbindungen zu %s ist %s"
 
-#: mod/settings.php:795 mod/dfrn_request.php:856
+#: mod/settings.php:809 mod/dfrn_request.php:858
 #: include/contact_selectors.php:80
 msgid "Diaspora"
 msgstr "Diaspora"
 
-#: mod/settings.php:795 mod/settings.php:796
+#: mod/settings.php:809 mod/settings.php:810
 msgid "enabled"
 msgstr "eingeschaltet"
 
-#: mod/settings.php:795 mod/settings.php:796
+#: mod/settings.php:809 mod/settings.php:810
 msgid "disabled"
 msgstr "ausgeschaltet"
 
-#: mod/settings.php:796
+#: mod/settings.php:810
 msgid "GNU Social (OStatus)"
 msgstr "GNU Social (OStatus)"
 
-#: mod/settings.php:832
+#: mod/settings.php:846
 msgid "Email access is disabled on this site."
 msgstr "Zugriff auf E-Mails für diese Seite deaktiviert."
 
-#: mod/settings.php:844
+#: mod/settings.php:858
 msgid "Email/Mailbox Setup"
 msgstr "E-Mail/Postfach-Einstellungen"
 
-#: mod/settings.php:845
+#: mod/settings.php:859
 msgid ""
 "If you wish to communicate with email contacts using this service "
 "(optional), please specify how to connect to your mailbox."
 msgstr "Wenn Du mit E-Mail-Kontakten Ã¼ber diesen Service kommunizieren möchtest (optional), gib bitte die Einstellungen für Dein Postfach an."
 
-#: mod/settings.php:846
+#: mod/settings.php:860
 msgid "Last successful email check:"
 msgstr "Letzter erfolgreicher E-Mail Check"
 
-#: mod/settings.php:848
+#: mod/settings.php:862
 msgid "IMAP server name:"
 msgstr "IMAP-Server-Name:"
 
-#: mod/settings.php:849
+#: mod/settings.php:863
 msgid "IMAP port:"
 msgstr "IMAP-Port:"
 
-#: mod/settings.php:850
+#: mod/settings.php:864
 msgid "Security:"
 msgstr "Sicherheit:"
 
-#: mod/settings.php:850 mod/settings.php:855
+#: mod/settings.php:864 mod/settings.php:869
 msgid "None"
 msgstr "Keine"
 
-#: mod/settings.php:851
+#: mod/settings.php:865
 msgid "Email login name:"
 msgstr "E-Mail-Login-Name:"
 
-#: mod/settings.php:852
+#: mod/settings.php:866
 msgid "Email password:"
 msgstr "E-Mail-Passwort:"
 
-#: mod/settings.php:853
+#: mod/settings.php:867
 msgid "Reply-to address:"
 msgstr "Reply-to Adresse:"
 
-#: mod/settings.php:854
+#: mod/settings.php:868
 msgid "Send public posts to all email contacts:"
 msgstr "Sende Ã¶ffentliche Beiträge an alle E-Mail-Kontakte:"
 
-#: mod/settings.php:855
+#: mod/settings.php:869
 msgid "Action after import:"
 msgstr "Aktion nach Import:"
 
-#: mod/settings.php:855
+#: mod/settings.php:869
 msgid "Mark as seen"
 msgstr "Als gelesen markieren"
 
-#: mod/settings.php:855
+#: mod/settings.php:869
 msgid "Move to folder"
 msgstr "In einen Ordner verschieben"
 
-#: mod/settings.php:856
+#: mod/settings.php:870
 msgid "Move to folder:"
 msgstr "In diesen Ordner verschieben:"
 
-#: mod/settings.php:941
+#: mod/settings.php:955
 msgid "Display Settings"
 msgstr "Anzeige-Einstellungen"
 
-#: mod/settings.php:947 mod/settings.php:965
+#: mod/settings.php:961 mod/settings.php:979
 msgid "Display Theme:"
 msgstr "Theme:"
 
-#: mod/settings.php:948
+#: mod/settings.php:962
 msgid "Mobile Theme:"
 msgstr "Mobiles Theme"
 
-#: mod/settings.php:949
+#: mod/settings.php:963
 msgid "Update browser every xx seconds"
 msgstr "Browser alle xx Sekunden aktualisieren"
 
-#: mod/settings.php:949
+#: mod/settings.php:963
 msgid "Minimum of 10 seconds, no maximum"
 msgstr "Minimal 10 Sekunden, kein Maximum"
 
-#: mod/settings.php:950
+#: mod/settings.php:964
 msgid "Number of items to display per page:"
 msgstr "Zahl der Beiträge, die pro Netzwerkseite angezeigt werden sollen: "
 
-#: mod/settings.php:950 mod/settings.php:951
+#: mod/settings.php:964 mod/settings.php:965
 msgid "Maximum of 100 items"
 msgstr "Maximal 100 Beiträge"
 
-#: mod/settings.php:951
+#: mod/settings.php:965
 msgid "Number of items to display per page when viewed from mobile device:"
 msgstr "Zahl der Beiträge, die pro Netzwerkseite auf mobilen Geräten angezeigt werden sollen:"
 
-#: mod/settings.php:952
+#: mod/settings.php:966
 msgid "Don't show emoticons"
 msgstr "Keine Smilies anzeigen"
 
-#: mod/settings.php:953
+#: mod/settings.php:967
 msgid "Calendar"
 msgstr "Kalender"
 
-#: mod/settings.php:954
+#: mod/settings.php:968
 msgid "Beginning of week:"
 msgstr "Wochenbeginn:"
 
-#: mod/settings.php:955
+#: mod/settings.php:969
 msgid "Don't show notices"
 msgstr "Info-Popups nicht anzeigen"
 
-#: mod/settings.php:956
+#: mod/settings.php:970
 msgid "Infinite scroll"
 msgstr "Endloses Scrollen"
 
-#: mod/settings.php:957
+#: mod/settings.php:971
 msgid "Automatic updates only at the top of the network page"
 msgstr "Automatische Updates nur, wenn Du oben auf der Netzwerkseite bist."
 
-#: mod/settings.php:959 view/theme/cleanzero/config.php:82
+#: mod/settings.php:973 view/theme/cleanzero/config.php:82
 #: view/theme/dispy/config.php:72 view/theme/quattro/config.php:66
-#: view/theme/diabook/config.php:150 view/theme/vier/config.php:109
-#: view/theme/duepuntozero/config.php:61
+#: view/theme/diabook/config.php:150 view/theme/clean/config.php:85
+#: view/theme/vier/config.php:109 view/theme/duepuntozero/config.php:61
 msgid "Theme settings"
 msgstr "Themeneinstellungen"
 
-#: mod/settings.php:1035
+#: mod/settings.php:1050
 msgid "User Types"
 msgstr "Nutzer Art"
 
-#: mod/settings.php:1036
+#: mod/settings.php:1051
 msgid "Community Types"
 msgstr "Gemeinschafts Art"
 
-#: mod/settings.php:1037
+#: mod/settings.php:1052
 msgid "Normal Account Page"
 msgstr "Normales Konto"
 
-#: mod/settings.php:1038
+#: mod/settings.php:1053
 msgid "This account is a normal personal profile"
 msgstr "Dieses Konto ist ein normales persönliches Profil"
 
-#: mod/settings.php:1041
+#: mod/settings.php:1056
 msgid "Soapbox Page"
 msgstr "Marktschreier-Konto"
 
-#: mod/settings.php:1042
+#: mod/settings.php:1057
 msgid "Automatically approve all connection/friend requests as read-only fans"
 msgstr "Kontaktanfragen werden automatisch als Nurlese-Fans akzeptiert"
 
-#: mod/settings.php:1045
+#: mod/settings.php:1060
 msgid "Community Forum/Celebrity Account"
 msgstr "Forum/Promi-Konto"
 
-#: mod/settings.php:1046
+#: mod/settings.php:1061
 msgid ""
 "Automatically approve all connection/friend requests as read-write fans"
 msgstr "Kontaktanfragen werden automatisch als Lese-und-Schreib-Fans akzeptiert"
 
-#: mod/settings.php:1049
+#: mod/settings.php:1064
 msgid "Automatic Friend Page"
 msgstr "Automatische Freunde Seite"
 
-#: mod/settings.php:1050
+#: mod/settings.php:1065
 msgid "Automatically approve all connection/friend requests as friends"
 msgstr "Kontaktanfragen werden automatisch als Freund akzeptiert"
 
-#: mod/settings.php:1053
+#: mod/settings.php:1068
 msgid "Private Forum [Experimental]"
 msgstr "Privates Forum [Versuchsstadium]"
 
-#: mod/settings.php:1054
+#: mod/settings.php:1069
 msgid "Private forum - approved members only"
 msgstr "Privates Forum, nur für Mitglieder"
 
-#: mod/settings.php:1066
+#: mod/settings.php:1081
 msgid "OpenID:"
 msgstr "OpenID:"
 
-#: mod/settings.php:1066
+#: mod/settings.php:1081
 msgid "(Optional) Allow this OpenID to login to this account."
 msgstr "(Optional) Erlaube die Anmeldung für dieses Konto mit dieser OpenID."
 
-#: mod/settings.php:1076
+#: mod/settings.php:1091
 msgid "Publish your default profile in your local site directory?"
 msgstr "Darf Dein Standardprofil im Verzeichnis dieses Servers veröffentlicht werden?"
 
-#: mod/settings.php:1082
+#: mod/settings.php:1097
 msgid "Publish your default profile in the global social directory?"
 msgstr "Darf Dein Standardprofil im weltweiten Verzeichnis veröffentlicht werden?"
 
-#: mod/settings.php:1090
+#: mod/settings.php:1105
 msgid "Hide your contact/friend list from viewers of your default profile?"
 msgstr "Liste der Kontakte vor Betrachtern des Standardprofils verbergen?"
 
-#: mod/settings.php:1094 include/acl_selectors.php:330
+#: mod/settings.php:1109 include/acl_selectors.php:331
 msgid "Hide your profile details from unknown viewers?"
 msgstr "Profil-Details vor unbekannten Betrachtern verbergen?"
 
-#: mod/settings.php:1094
+#: mod/settings.php:1109
 msgid ""
 "If enabled, posting public messages to Diaspora and other networks isn't "
 "possible."
 msgstr "Wenn aktiviert, ist das senden Ã¶ffentliche Nachrichten zu Diaspora und anderen Netzwerken nicht möglich"
 
-#: mod/settings.php:1099
+#: mod/settings.php:1114
 msgid "Allow friends to post to your profile page?"
 msgstr "Dürfen Deine Kontakte auf Deine Pinnwand schreiben?"
 
-#: mod/settings.php:1105
+#: mod/settings.php:1120
 msgid "Allow friends to tag your posts?"
 msgstr "Dürfen Deine Kontakte Deine Beiträge mit Schlagwörtern versehen?"
 
-#: mod/settings.php:1111
+#: mod/settings.php:1126
 msgid "Allow us to suggest you as a potential friend to new members?"
 msgstr "Dürfen wir Dich neuen Mitgliedern als potentiellen Kontakt vorschlagen?"
 
-#: mod/settings.php:1117
+#: mod/settings.php:1132
 msgid "Permit unknown people to send you private mail?"
 msgstr "Dürfen Dir Unbekannte private Nachrichten schicken?"
 
-#: mod/settings.php:1125
+#: mod/settings.php:1140
 msgid "Profile is <strong>not published</strong>."
 msgstr "Profil ist <strong>nicht veröffentlicht</strong>."
 
-#: mod/settings.php:1133
+#: mod/settings.php:1148
 #, php-format
 msgid "Your Identity Address is <strong>'%s'</strong> or '%s'."
 msgstr "Die Adresse deines Profils lautet <strong>'%s'</strong> oder '%s'."
 
-#: mod/settings.php:1140
+#: mod/settings.php:1155
 msgid "Automatically expire posts after this many days:"
 msgstr "Beiträge verfallen automatisch nach dieser Anzahl von Tagen:"
 
-#: mod/settings.php:1140
+#: mod/settings.php:1155
 msgid "If empty, posts will not expire. Expired posts will be deleted"
 msgstr "Wenn leer verfallen Beiträge nie automatisch. Verfallene Beiträge werden gelöscht."
 
-#: mod/settings.php:1141
+#: mod/settings.php:1156
 msgid "Advanced expiration settings"
 msgstr "Erweiterte Verfallseinstellungen"
 
-#: mod/settings.php:1142
+#: mod/settings.php:1157
 msgid "Advanced Expiration"
 msgstr "Erweitertes Verfallen"
 
-#: mod/settings.php:1143
+#: mod/settings.php:1158
 msgid "Expire posts:"
 msgstr "Beiträge verfallen lassen:"
 
-#: mod/settings.php:1144
+#: mod/settings.php:1159
 msgid "Expire personal notes:"
 msgstr "Persönliche Notizen verfallen lassen:"
 
-#: mod/settings.php:1145
+#: mod/settings.php:1160
 msgid "Expire starred posts:"
 msgstr "Markierte Beiträge verfallen lassen:"
 
-#: mod/settings.php:1146
+#: mod/settings.php:1161
 msgid "Expire photos:"
 msgstr "Fotos verfallen lassen:"
 
-#: mod/settings.php:1147
+#: mod/settings.php:1162
 msgid "Only expire posts by others:"
 msgstr "Nur Beiträge anderer verfallen:"
 
-#: mod/settings.php:1173
+#: mod/settings.php:1190
 msgid "Account Settings"
 msgstr "Kontoeinstellungen"
 
-#: mod/settings.php:1181
+#: mod/settings.php:1198
 msgid "Password Settings"
 msgstr "Passwort-Einstellungen"
 
-#: mod/settings.php:1182 mod/register.php:271
+#: mod/settings.php:1199 mod/register.php:274
 msgid "New Password:"
 msgstr "Neues Passwort:"
 
-#: mod/settings.php:1183 mod/register.php:272
+#: mod/settings.php:1200 mod/register.php:275
 msgid "Confirm:"
 msgstr "Bestätigen:"
 
-#: mod/settings.php:1183
+#: mod/settings.php:1200
 msgid "Leave password fields blank unless changing"
 msgstr "Lass die Passwort-Felder leer, außer Du willst das Passwort Ã¤ndern"
 
-#: mod/settings.php:1184
+#: mod/settings.php:1201
 msgid "Current Password:"
 msgstr "Aktuelles Passwort:"
 
-#: mod/settings.php:1184 mod/settings.php:1185
+#: mod/settings.php:1201 mod/settings.php:1202
 msgid "Your current password to confirm the changes"
 msgstr "Dein aktuelles Passwort um die Ã„nderungen zu bestätigen"
 
-#: mod/settings.php:1185
+#: mod/settings.php:1202
 msgid "Password:"
 msgstr "Passwort:"
 
-#: mod/settings.php:1189
+#: mod/settings.php:1206
 msgid "Basic Settings"
 msgstr "Grundeinstellungen"
 
-#: mod/settings.php:1190 include/identity.php:539
+#: mod/settings.php:1207 include/identity.php:551
 msgid "Full Name:"
 msgstr "Kompletter Name:"
 
-#: mod/settings.php:1191
+#: mod/settings.php:1208
 msgid "Email Address:"
 msgstr "E-Mail-Adresse:"
 
-#: mod/settings.php:1192
+#: mod/settings.php:1209
 msgid "Your Timezone:"
 msgstr "Deine Zeitzone:"
 
-#: mod/settings.php:1193
+#: mod/settings.php:1210
+msgid "Your Language:"
+msgstr "Deine Sprache:"
+
+#: mod/settings.php:1210
+msgid ""
+"Set the language we use to show you friendica interface and to send you "
+"emails"
+msgstr "Wähle die Sprache, in der wir Dir die Friendica-Oberfläche präsentieren sollen und Dir E-Mail schicken"
+
+#: mod/settings.php:1211
 msgid "Default Post Location:"
 msgstr "Standardstandort:"
 
-#: mod/settings.php:1194
+#: mod/settings.php:1212
 msgid "Use Browser Location:"
 msgstr "Standort des Browsers verwenden:"
 
-#: mod/settings.php:1197
+#: mod/settings.php:1215
 msgid "Security and Privacy Settings"
 msgstr "Sicherheits- und Privatsphäre-Einstellungen"
 
-#: mod/settings.php:1199
+#: mod/settings.php:1217
 msgid "Maximum Friend Requests/Day:"
 msgstr "Maximale Anzahl von Freundschaftsanfragen/Tag:"
 
-#: mod/settings.php:1199 mod/settings.php:1229
+#: mod/settings.php:1217 mod/settings.php:1247
 msgid "(to prevent spam abuse)"
 msgstr "(um SPAM zu vermeiden)"
 
-#: mod/settings.php:1200
+#: mod/settings.php:1218
 msgid "Default Post Permissions"
 msgstr "Standard-Zugriffsrechte für Beiträge"
 
-#: mod/settings.php:1201
+#: mod/settings.php:1219
 msgid "(click to open/close)"
 msgstr "(klicke zum Ã¶ffnen/schließen)"
 
-#: mod/settings.php:1210 mod/photos.php:1191 mod/photos.php:1576
+#: mod/settings.php:1228 mod/photos.php:1191 mod/photos.php:1576
 msgid "Show to Groups"
 msgstr "Zeige den Gruppen"
 
-#: mod/settings.php:1211 mod/photos.php:1192 mod/photos.php:1577
+#: mod/settings.php:1229 mod/photos.php:1192 mod/photos.php:1577
 msgid "Show to Contacts"
 msgstr "Zeige den Kontakten"
 
-#: mod/settings.php:1212
+#: mod/settings.php:1230
 msgid "Default Private Post"
 msgstr "Privater Standardbeitrag"
 
-#: mod/settings.php:1213
+#: mod/settings.php:1231
 msgid "Default Public Post"
 msgstr "Öffentlicher Standardbeitrag"
 
-#: mod/settings.php:1217
+#: mod/settings.php:1235
 msgid "Default Permissions for New Posts"
 msgstr "Standardberechtigungen für neue Beiträge"
 
-#: mod/settings.php:1229
+#: mod/settings.php:1247
 msgid "Maximum private messages per day from unknown people:"
 msgstr "Maximale Anzahl privater Nachrichten von Unbekannten pro Tag:"
 
-#: mod/settings.php:1232
+#: mod/settings.php:1250
 msgid "Notification Settings"
 msgstr "Benachrichtigungseinstellungen"
 
-#: mod/settings.php:1233
+#: mod/settings.php:1251
 msgid "By default post a status message when:"
 msgstr "Standardmäßig eine Statusnachricht posten, wenn:"
 
-#: mod/settings.php:1234
+#: mod/settings.php:1252
 msgid "accepting a friend request"
 msgstr "– Du eine Kontaktanfrage akzeptierst"
 
-#: mod/settings.php:1235
+#: mod/settings.php:1253
 msgid "joining a forum/community"
 msgstr "– Du einem Forum/einer Gemeinschaftsseite beitrittst"
 
-#: mod/settings.php:1236
+#: mod/settings.php:1254
 msgid "making an <em>interesting</em> profile change"
 msgstr "– Du eine <em>interessante</em> Ã„nderung an Deinem Profil durchführst"
 
-#: mod/settings.php:1237
+#: mod/settings.php:1255
 msgid "Send a notification email when:"
 msgstr "Benachrichtigungs-E-Mail senden wenn:"
 
-#: mod/settings.php:1238
+#: mod/settings.php:1256
 msgid "You receive an introduction"
 msgstr "– Du eine Kontaktanfrage erhältst"
 
-#: mod/settings.php:1239
+#: mod/settings.php:1257
 msgid "Your introductions are confirmed"
 msgstr "– eine Deiner Kontaktanfragen akzeptiert wurde"
 
-#: mod/settings.php:1240
+#: mod/settings.php:1258
 msgid "Someone writes on your profile wall"
 msgstr "– jemand etwas auf Deine Pinnwand schreibt"
 
-#: mod/settings.php:1241
+#: mod/settings.php:1259
 msgid "Someone writes a followup comment"
 msgstr "– jemand auch einen Kommentar verfasst"
 
-#: mod/settings.php:1242
+#: mod/settings.php:1260
 msgid "You receive a private message"
 msgstr "– Du eine private Nachricht erhältst"
 
-#: mod/settings.php:1243
+#: mod/settings.php:1261
 msgid "You receive a friend suggestion"
 msgstr "– Du eine Empfehlung erhältst"
 
-#: mod/settings.php:1244
+#: mod/settings.php:1262
 msgid "You are tagged in a post"
 msgstr "– Du in einem Beitrag erwähnt wirst"
 
-#: mod/settings.php:1245
+#: mod/settings.php:1263
 msgid "You are poked/prodded/etc. in a post"
 msgstr "– Du von jemandem angestupst oder sonstwie behandelt wirst"
 
-#: mod/settings.php:1247
+#: mod/settings.php:1265
 msgid "Activate desktop notifications"
 msgstr "Desktop Benachrichtigungen einschalten"
 
-#: mod/settings.php:1247
+#: mod/settings.php:1265
 msgid "Show desktop popup on new notifications"
 msgstr "Desktop Benachrichtigungen einschalten"
 
-#: mod/settings.php:1249
+#: mod/settings.php:1267
 msgid "Text-only notification emails"
 msgstr "Benachrichtigungs E-Mail als Rein-Text."
 
-#: mod/settings.php:1251
+#: mod/settings.php:1269
 msgid "Send text only notification emails, without the html part"
 msgstr "Sende Benachrichtigungs E-Mail als Rein-Text - ohne HTML-Teil"
 
-#: mod/settings.php:1253
+#: mod/settings.php:1271
 msgid "Advanced Account/Page Type Settings"
 msgstr "Erweiterte Konto-/Seitentyp-Einstellungen"
 
-#: mod/settings.php:1254
+#: mod/settings.php:1272
 msgid "Change the behaviour of this account for special situations"
 msgstr "Verhalten dieses Kontos in bestimmten Situationen:"
 
-#: mod/settings.php:1257
+#: mod/settings.php:1275
 msgid "Relocate"
 msgstr "Umziehen"
 
-#: mod/settings.php:1258
+#: mod/settings.php:1276
 msgid ""
 "If you have moved this profile from another server, and some of your "
 "contacts don't receive your updates, try pushing this button."
 msgstr "Wenn Du Dein Profil von einem anderen Server umgezogen hast und einige Deiner Kontakte Deine Beiträge nicht erhalten, verwende diesen Button."
 
-#: mod/settings.php:1259
+#: mod/settings.php:1277
 msgid "Resend relocate message to contacts"
 msgstr "Umzugsbenachrichtigung erneut an Kontakte senden"
 
@@ -4778,122 +4870,122 @@ msgstr "Umzugsbenachrichtigung erneut an Kontakte senden"
 msgid "This introduction has already been accepted."
 msgstr "Diese Kontaktanfrage wurde bereits akzeptiert."
 
-#: mod/dfrn_request.php:120 mod/dfrn_request.php:518
+#: mod/dfrn_request.php:120 mod/dfrn_request.php:519
 msgid "Profile location is not valid or does not contain profile information."
 msgstr "Profiladresse ist ungültig oder stellt keine Profildaten zur Verfügung."
 
-#: mod/dfrn_request.php:125 mod/dfrn_request.php:523
+#: mod/dfrn_request.php:125 mod/dfrn_request.php:524
 msgid "Warning: profile location has no identifiable owner name."
 msgstr "Warnung: Es konnte kein Name des Besitzers von der angegebenen Profiladresse gefunden werden."
 
-#: mod/dfrn_request.php:127 mod/dfrn_request.php:525
+#: mod/dfrn_request.php:127 mod/dfrn_request.php:526
 msgid "Warning: profile location has no profile photo."
 msgstr "Warnung: Es gibt kein Profilbild bei der angegebenen Profiladresse."
 
-#: mod/dfrn_request.php:130 mod/dfrn_request.php:528
+#: mod/dfrn_request.php:130 mod/dfrn_request.php:529
 #, php-format
 msgid "%d required parameter was not found at the given location"
 msgid_plural "%d required parameters were not found at the given location"
 msgstr[0] "%d benötigter Parameter wurde an der angegebenen Stelle nicht gefunden"
 msgstr[1] "%d benötigte Parameter wurden an der angegebenen Stelle nicht gefunden"
 
-#: mod/dfrn_request.php:172
+#: mod/dfrn_request.php:173
 msgid "Introduction complete."
 msgstr "Kontaktanfrage abgeschlossen."
 
-#: mod/dfrn_request.php:214
+#: mod/dfrn_request.php:215
 msgid "Unrecoverable protocol error."
 msgstr "Nicht behebbarer Protokollfehler."
 
-#: mod/dfrn_request.php:242
+#: mod/dfrn_request.php:243
 msgid "Profile unavailable."
 msgstr "Profil nicht verfügbar."
 
-#: mod/dfrn_request.php:267
+#: mod/dfrn_request.php:268
 #, php-format
 msgid "%s has received too many connection requests today."
 msgstr "%s hat heute zu viele Freundschaftsanfragen erhalten."
 
-#: mod/dfrn_request.php:268
+#: mod/dfrn_request.php:269
 msgid "Spam protection measures have been invoked."
 msgstr "Maßnahmen zum Spamschutz wurden ergriffen."
 
-#: mod/dfrn_request.php:269
+#: mod/dfrn_request.php:270
 msgid "Friends are advised to please try again in 24 hours."
 msgstr "Freunde sind angehalten, es in 24 Stunden erneut zu versuchen."
 
-#: mod/dfrn_request.php:331
+#: mod/dfrn_request.php:332
 msgid "Invalid locator"
 msgstr "Ungültiger Locator"
 
-#: mod/dfrn_request.php:340
+#: mod/dfrn_request.php:341
 msgid "Invalid email address."
 msgstr "Ungültige E-Mail-Adresse."
 
-#: mod/dfrn_request.php:367
+#: mod/dfrn_request.php:368
 msgid "This account has not been configured for email. Request failed."
 msgstr "Dieses Konto ist nicht für E-Mail konfiguriert. Anfrage fehlgeschlagen."
 
-#: mod/dfrn_request.php:463
+#: mod/dfrn_request.php:464
 msgid "Unable to resolve your name at the provided location."
 msgstr "Konnte Deinen Namen an der angegebenen Stelle nicht finden."
 
-#: mod/dfrn_request.php:476
+#: mod/dfrn_request.php:477
 msgid "You have already introduced yourself here."
 msgstr "Du hast Dich hier bereits vorgestellt."
 
-#: mod/dfrn_request.php:480
+#: mod/dfrn_request.php:481
 #, php-format
 msgid "Apparently you are already friends with %s."
 msgstr "Es scheint so, als ob Du bereits mit %s befreundet bist."
 
-#: mod/dfrn_request.php:501
+#: mod/dfrn_request.php:502
 msgid "Invalid profile URL."
 msgstr "Ungültige Profil-URL."
 
-#: mod/dfrn_request.php:507 include/follow.php:72
+#: mod/dfrn_request.php:508 include/follow.php:72
 msgid "Disallowed profile URL."
 msgstr "Nicht erlaubte Profil-URL."
 
-#: mod/dfrn_request.php:597
+#: mod/dfrn_request.php:599
 msgid "Your introduction has been sent."
 msgstr "Deine Kontaktanfrage wurde gesendet."
 
-#: mod/dfrn_request.php:650
+#: mod/dfrn_request.php:652
 msgid "Please login to confirm introduction."
 msgstr "Bitte melde Dich an, um die Kontaktanfrage zu bestätigen."
 
-#: mod/dfrn_request.php:660
+#: mod/dfrn_request.php:662
 msgid ""
 "Incorrect identity currently logged in. Please login to "
 "<strong>this</strong> profile."
 msgstr "Momentan bist Du mit einer anderen Identität angemeldet. Bitte melde Dich mit <strong>diesem</strong> Profil an."
 
-#: mod/dfrn_request.php:674 mod/dfrn_request.php:691
+#: mod/dfrn_request.php:676 mod/dfrn_request.php:693
 msgid "Confirm"
 msgstr "Bestätigen"
 
-#: mod/dfrn_request.php:686
+#: mod/dfrn_request.php:688
 msgid "Hide this contact"
 msgstr "Verberge diesen Kontakt"
 
-#: mod/dfrn_request.php:689
+#: mod/dfrn_request.php:691
 #, php-format
 msgid "Welcome home %s."
 msgstr "Willkommen zurück %s."
 
-#: mod/dfrn_request.php:690
+#: mod/dfrn_request.php:692
 #, php-format
 msgid "Please confirm your introduction/connection request to %s."
 msgstr "Bitte bestätige Deine Kontaktanfrage bei %s."
 
-#: mod/dfrn_request.php:819
+#: mod/dfrn_request.php:821
 msgid ""
 "Please enter your 'Identity Address' from one of the following supported "
 "communications networks:"
 msgstr "Bitte gib die Adresse Deines Profils in einem der unterstützten sozialen Netzwerke an:"
 
-#: mod/dfrn_request.php:840
+#: mod/dfrn_request.php:842
 #, php-format
 msgid ""
 "If you are not yet a member of the free social web, <a "
@@ -4901,25 +4993,25 @@ msgid ""
 "join us today</a>."
 msgstr "Wenn du noch kein Mitglied dieses freien sozialen Netzwerks bist, <a href=\"%s/siteinfo\">folge diesem Link</a> um einen Ã¶ffentlichen Friendica-Server zu finden und beizutreten."
 
-#: mod/dfrn_request.php:845
+#: mod/dfrn_request.php:847
 msgid "Friend/Connection Request"
 msgstr "Freundschafts-/Kontaktanfrage"
 
-#: mod/dfrn_request.php:846
+#: mod/dfrn_request.php:848
 msgid ""
 "Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
 "testuser@identi.ca"
 msgstr "Beispiele: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"
 
-#: mod/dfrn_request.php:854 include/contact_selectors.php:76
+#: mod/dfrn_request.php:856 include/contact_selectors.php:76
 msgid "Friendica"
 msgstr "Friendica"
 
-#: mod/dfrn_request.php:855
+#: mod/dfrn_request.php:857
 msgid "StatusNet/Federated Social Web"
 msgstr "StatusNet/Federated Social Web"
 
-#: mod/dfrn_request.php:857
+#: mod/dfrn_request.php:859
 #, php-format
 msgid ""
 " - please do not use this form.  Instead, enter %s into your Diaspora search"
@@ -4938,80 +5030,84 @@ msgid ""
 "password: %s<br><br>You can change your password after login."
 msgstr "Versenden der E-Mail fehlgeschlagen. Hier sind Deine Account Details:\n\nLogin: %s\nPasswort: %s\n\nDu kannst das Passwort nach dem Anmelden Ã¤ndern."
 
-#: mod/register.php:107
+#: mod/register.php:104
+msgid "Registration successful."
+msgstr "Registrierung erfolgreich."
+
+#: mod/register.php:110
 msgid "Your registration can not be processed."
 msgstr "Deine Registrierung konnte nicht verarbeitet werden."
 
-#: mod/register.php:150
+#: mod/register.php:153
 msgid "Your registration is pending approval by the site owner."
 msgstr "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden."
 
-#: mod/register.php:188 mod/uimport.php:50
+#: mod/register.php:191 mod/uimport.php:50
 msgid ""
 "This site has exceeded the number of allowed daily account registrations. "
 "Please try again tomorrow."
 msgstr "Die maximale Anzahl täglicher Registrierungen auf dieser Seite wurde Ã¼berschritten. Bitte versuche es morgen noch einmal."
 
-#: mod/register.php:216
+#: mod/register.php:219
 msgid ""
 "You may (optionally) fill in this form via OpenID by supplying your OpenID "
 "and clicking 'Register'."
 msgstr "Du kannst dieses Formular auch (optional) mit Deiner OpenID ausfüllen, indem Du Deine OpenID angibst und 'Registrieren' klickst."
 
-#: mod/register.php:217
+#: mod/register.php:220
 msgid ""
 "If you are not familiar with OpenID, please leave that field blank and fill "
 "in the rest of the items."
 msgstr "Wenn Du nicht mit OpenID vertraut bist, lass dieses Feld bitte leer und fülle die restlichen Felder aus."
 
-#: mod/register.php:218
+#: mod/register.php:221
 msgid "Your OpenID (optional): "
 msgstr "Deine OpenID (optional): "
 
-#: mod/register.php:232
+#: mod/register.php:235
 msgid "Include your profile in member directory?"
 msgstr "Soll Dein Profil im Nutzerverzeichnis angezeigt werden?"
 
-#: mod/register.php:256
+#: mod/register.php:259
 msgid "Membership on this site is by invitation only."
 msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich."
 
-#: mod/register.php:257
+#: mod/register.php:260
 msgid "Your invitation ID: "
 msgstr "ID Deiner Einladung: "
 
-#: mod/register.php:268
-msgid "Your Full Name (e.g. Joe Smith): "
-msgstr "Vollständiger Name (z.B. Max Mustermann): "
+#: mod/register.php:271
+msgid "Your Full Name (e.g. Joe Smith, real or real-looking): "
+msgstr "Dein vollständiger Name (z.B. Hans Mustermann, echt oder echt erscheinend):"
 
-#: mod/register.php:269
+#: mod/register.php:272
 msgid "Your Email Address: "
 msgstr "Deine E-Mail-Adresse: "
 
-#: mod/register.php:271
+#: mod/register.php:274
 msgid "Leave empty for an auto generated password."
 msgstr "Leer lassen um das Passwort automatisch zu generieren."
 
-#: mod/register.php:273
+#: mod/register.php:276
 msgid ""
 "Choose a profile nickname. This must begin with a text character. Your "
 "profile address on this site will then be "
 "'<strong>nickname@$sitename</strong>'."
 msgstr "Wähle einen Spitznamen für Dein Profil. Dieser muss mit einem Buchstaben beginnen. Die Adresse Deines Profils auf dieser Seite wird '<strong>spitzname@$sitename</strong>' sein."
 
-#: mod/register.php:274
+#: mod/register.php:277
 msgid "Choose a nickname: "
 msgstr "Spitznamen wählen: "
 
-#: mod/register.php:277 boot.php:1253 include/nav.php:109
+#: mod/register.php:280 boot.php:1256 include/nav.php:108
 msgid "Register"
 msgstr "Registrieren"
 
-#: mod/register.php:283 mod/uimport.php:64
+#: mod/register.php:286 mod/uimport.php:64
 msgid "Import"
 msgstr "Import"
 
-#: mod/register.php:284
+#: mod/register.php:287
 msgid "Import your profile to this friendica instance"
 msgstr "Importiere Dein Profil auf diese Friendica Instanz"
 
@@ -5031,7 +5127,7 @@ msgstr "Zu viele Abfragen"
 msgid "Only one search per minute is permitted for not logged in users."
 msgstr "Es ist nur eine Suchanfrage pro Minute für nicht eingeloggte Benutzer gestattet."
 
-#: mod/search.php:126 include/text.php:996 include/nav.php:119
+#: mod/search.php:126 include/text.php:1003 include/nav.php:118
 msgid "Search"
 msgstr "Suche"
 
@@ -5045,36 +5141,40 @@ msgstr "Beiträge markiert mit: %s"
 msgid "Search results for: %s"
 msgstr "Suchergebnisse für: %s"
 
-#: mod/directory.php:53 view/theme/diabook/theme.php:525
-#: view/theme/vier/theme.php:177
-msgid "Global Directory"
-msgstr "Weltweites Verzeichnis"
-
-#: mod/directory.php:61
-msgid "Find on this site"
-msgstr "Auf diesem Server suchen"
-
-#: mod/directory.php:64
-msgid "Site Directory"
-msgstr "Verzeichnis"
-
-#: mod/directory.php:129 mod/profiles.php:747
+#: mod/directory.php:116 mod/profiles.php:760
 msgid "Age: "
 msgstr "Alter: "
 
-#: mod/directory.php:132
+#: mod/directory.php:119
 msgid "Gender: "
 msgstr "Geschlecht:"
 
-#: mod/directory.php:156 include/identity.php:273 include/identity.php:561
+#: mod/directory.php:143 include/identity.php:283 include/identity.php:573
 msgid "Status:"
 msgstr "Status:"
 
-#: mod/directory.php:158 include/identity.php:275 include/identity.php:572
+#: mod/directory.php:145 include/identity.php:285 include/identity.php:584
 msgid "Homepage:"
 msgstr "Homepage:"
 
-#: mod/directory.php:205
+#: mod/directory.php:195 view/theme/diabook/theme.php:525
+#: view/theme/vier/theme.php:205
+msgid "Global Directory"
+msgstr "Weltweites Verzeichnis"
+
+#: mod/directory.php:197
+msgid "Find on this site"
+msgstr "Auf diesem Server suchen"
+
+#: mod/directory.php:199
+msgid "Finding:"
+msgstr "Funde:"
+
+#: mod/directory.php:201
+msgid "Site Directory"
+msgstr "Verzeichnis"
+
+#: mod/directory.php:208
 msgid "No entries (some entries may be hidden)."
 msgstr "Keine Einträge (einige Einträge könnten versteckt sein)."
 
@@ -5082,7 +5182,7 @@ msgstr "Keine Einträge (einige Einträge könnten versteckt sein)."
 msgid "No potential page delegates located."
 msgstr "Keine potentiellen Bevollmächtigten für die Seite gefunden."
 
-#: mod/delegate.php:130 include/nav.php:181
+#: mod/delegate.php:130 include/nav.php:180
 msgid "Delegate Page Management"
 msgstr "Delegiere das Management für die Seite"
 
@@ -5113,14 +5213,14 @@ msgstr "Hinzufügen"
 msgid "No entries."
 msgstr "Keine Einträge."
 
-#: mod/common.php:45
-msgid "Common Friends"
-msgstr "Gemeinsame Freunde"
-
-#: mod/common.php:82
+#: mod/common.php:85
 msgid "No contacts in common."
 msgstr "Keine gemeinsamen Kontakte."
 
+#: mod/common.php:133
+msgid "Common Friends"
+msgstr "Gemeinsame Freunde"
+
 #: mod/uexport.php:77
 msgid "Export account"
 msgstr "Account exportieren"
@@ -5159,21 +5259,21 @@ msgstr "Wähle Deine aktuelle Stimmung und erzähle sie Deinen Freunden"
 msgid "Do you really want to delete this suggestion?"
 msgstr "Möchtest Du wirklich diese Empfehlung löschen?"
 
-#: mod/suggest.php:69 include/contact_widgets.php:35
-#: view/theme/diabook/theme.php:527 view/theme/vier/theme.php:179
-msgid "Friend Suggestions"
-msgstr "Kontaktvorschläge"
-
-#: mod/suggest.php:76
+#: mod/suggest.php:71
 msgid ""
 "No suggestions available. If this is a new site, please try again in 24 "
 "hours."
 msgstr "Keine Vorschläge verfügbar. Falls der Server frisch aufgesetzt wurde, versuche es bitte in 24 Stunden noch einmal."
 
-#: mod/suggest.php:94
+#: mod/suggest.php:83 mod/suggest.php:101
 msgid "Ignore/Hide"
 msgstr "Ignorieren/Verbergen"
 
+#: mod/suggest.php:111 include/contact_widgets.php:35
+#: view/theme/diabook/theme.php:527 view/theme/vier/theme.php:207
+msgid "Friend Suggestions"
+msgstr "Kontaktvorschläge"
+
 #: mod/profiles.php:37
 msgid "Profile deleted."
 msgstr "Profil gelöscht."
@@ -5234,7 +5334,7 @@ msgstr "Sexuelle Vorlieben"
 msgid "Homepage"
 msgstr "Webseite"
 
-#: mod/profiles.php:375 mod/profiles.php:695
+#: mod/profiles.php:375 mod/profiles.php:708
 msgid "Interests"
 msgstr "Interessen"
 
@@ -5242,7 +5342,7 @@ msgstr "Interessen"
 msgid "Address"
 msgstr "Adresse"
 
-#: mod/profiles.php:386 mod/profiles.php:691
+#: mod/profiles.php:386 mod/profiles.php:704
 msgid "Location"
 msgstr "Wohnort"
 
@@ -5281,221 +5381,225 @@ msgstr "Kontakte und Freunde verbergen"
 msgid "Hide your contact/friend list from viewers of this profile?"
 msgstr "Liste der Kontakte vor Betrachtern dieses Profils verbergen?"
 
-#: mod/profiles.php:682
+#: mod/profiles.php:684
+msgid "Show more profile fields:"
+msgstr "Zeige mehr Profil-Felder:"
+
+#: mod/profiles.php:695
 msgid "Edit Profile Details"
 msgstr "Profil bearbeiten"
 
-#: mod/profiles.php:684
+#: mod/profiles.php:697
 msgid "Change Profile Photo"
 msgstr "Profilbild Ã¤ndern"
 
-#: mod/profiles.php:685
+#: mod/profiles.php:698
 msgid "View this profile"
 msgstr "Dieses Profil anzeigen"
 
-#: mod/profiles.php:686
+#: mod/profiles.php:699
 msgid "Create a new profile using these settings"
 msgstr "Neues Profil anlegen und diese Einstellungen verwenden"
 
-#: mod/profiles.php:687
+#: mod/profiles.php:700
 msgid "Clone this profile"
 msgstr "Dieses Profil duplizieren"
 
-#: mod/profiles.php:688
+#: mod/profiles.php:701
 msgid "Delete this profile"
 msgstr "Dieses Profil löschen"
 
-#: mod/profiles.php:689
+#: mod/profiles.php:702
 msgid "Basic information"
 msgstr "Grundinformationen"
 
-#: mod/profiles.php:690
+#: mod/profiles.php:703
 msgid "Profile picture"
 msgstr "Profilbild"
 
-#: mod/profiles.php:692
+#: mod/profiles.php:705
 msgid "Preferences"
 msgstr "Vorlieben"
 
-#: mod/profiles.php:693
+#: mod/profiles.php:706
 msgid "Status information"
 msgstr "Status Informationen"
 
-#: mod/profiles.php:694
+#: mod/profiles.php:707
 msgid "Additional information"
 msgstr "Zusätzliche Informationen"
 
-#: mod/profiles.php:697
+#: mod/profiles.php:710
 msgid "Profile Name:"
 msgstr "Profilname:"
 
-#: mod/profiles.php:698
+#: mod/profiles.php:711
 msgid "Your Full Name:"
 msgstr "Dein kompletter Name:"
 
-#: mod/profiles.php:699
+#: mod/profiles.php:712
 msgid "Title/Description:"
 msgstr "Titel/Beschreibung:"
 
-#: mod/profiles.php:700
+#: mod/profiles.php:713
 msgid "Your Gender:"
 msgstr "Dein Geschlecht:"
 
-#: mod/profiles.php:701
+#: mod/profiles.php:714
 msgid "Birthday :"
 msgstr "Geburtstag :"
 
-#: mod/profiles.php:702
+#: mod/profiles.php:715
 msgid "Street Address:"
 msgstr "Adresse:"
 
-#: mod/profiles.php:703
+#: mod/profiles.php:716
 msgid "Locality/City:"
 msgstr "Wohnort:"
 
-#: mod/profiles.php:704
+#: mod/profiles.php:717
 msgid "Postal/Zip Code:"
 msgstr "Postleitzahl:"
 
-#: mod/profiles.php:705
+#: mod/profiles.php:718
 msgid "Country:"
 msgstr "Land:"
 
-#: mod/profiles.php:706
+#: mod/profiles.php:719
 msgid "Region/State:"
 msgstr "Region/Bundesstaat:"
 
-#: mod/profiles.php:707
+#: mod/profiles.php:720
 msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
 msgstr "<span class=\"heart\">&hearts;</span> Beziehungsstatus:"
 
-#: mod/profiles.php:708
+#: mod/profiles.php:721
 msgid "Who: (if applicable)"
 msgstr "Wer: (falls anwendbar)"
 
-#: mod/profiles.php:709
+#: mod/profiles.php:722
 msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
 msgstr "Beispiele: cathy123, Cathy Williams, cathy@example.com"
 
-#: mod/profiles.php:710
+#: mod/profiles.php:723
 msgid "Since [date]:"
 msgstr "Seit [Datum]:"
 
-#: mod/profiles.php:711 include/identity.php:570
+#: mod/profiles.php:724 include/identity.php:582
 msgid "Sexual Preference:"
 msgstr "Sexuelle Vorlieben:"
 
-#: mod/profiles.php:712
+#: mod/profiles.php:725
 msgid "Homepage URL:"
 msgstr "Adresse der Homepage:"
 
-#: mod/profiles.php:713 include/identity.php:574
+#: mod/profiles.php:726 include/identity.php:586
 msgid "Hometown:"
 msgstr "Heimatort:"
 
-#: mod/profiles.php:714 include/identity.php:578
+#: mod/profiles.php:727 include/identity.php:590
 msgid "Political Views:"
 msgstr "Politische Ansichten:"
 
-#: mod/profiles.php:715
+#: mod/profiles.php:728
 msgid "Religious Views:"
 msgstr "Religiöse Ansichten:"
 
-#: mod/profiles.php:716
+#: mod/profiles.php:729
 msgid "Public Keywords:"
 msgstr "Öffentliche Schlüsselwörter:"
 
-#: mod/profiles.php:717
+#: mod/profiles.php:730
 msgid "Private Keywords:"
 msgstr "Private Schlüsselwörter:"
 
-#: mod/profiles.php:718 include/identity.php:586
+#: mod/profiles.php:731 include/identity.php:598
 msgid "Likes:"
 msgstr "Likes:"
 
-#: mod/profiles.php:719 include/identity.php:588
+#: mod/profiles.php:732 include/identity.php:600
 msgid "Dislikes:"
 msgstr "Dislikes:"
 
-#: mod/profiles.php:720
+#: mod/profiles.php:733
 msgid "Example: fishing photography software"
 msgstr "Beispiel: Fischen Fotografie Software"
 
-#: mod/profiles.php:721
+#: mod/profiles.php:734
 msgid "(Used for suggesting potential friends, can be seen by others)"
 msgstr "(Wird verwendet, um potentielle Freunde zu finden, kann von Fremden eingesehen werden)"
 
-#: mod/profiles.php:722
+#: mod/profiles.php:735
 msgid "(Used for searching profiles, never shown to others)"
 msgstr "(Wird für die Suche nach Profilen verwendet und niemals veröffentlicht)"
 
-#: mod/profiles.php:723
+#: mod/profiles.php:736
 msgid "Tell us about yourself..."
 msgstr "Erzähle uns ein bisschen von Dir â€¦"
 
-#: mod/profiles.php:724
+#: mod/profiles.php:737
 msgid "Hobbies/Interests"
 msgstr "Hobbies/Interessen"
 
-#: mod/profiles.php:725
+#: mod/profiles.php:738
 msgid "Contact information and Social Networks"
 msgstr "Kontaktinformationen und Soziale Netzwerke"
 
-#: mod/profiles.php:726
+#: mod/profiles.php:739
 msgid "Musical interests"
 msgstr "Musikalische Interessen"
 
-#: mod/profiles.php:727
+#: mod/profiles.php:740
 msgid "Books, literature"
 msgstr "Bücher, Literatur"
 
-#: mod/profiles.php:728
+#: mod/profiles.php:741
 msgid "Television"
 msgstr "Fernsehen"
 
-#: mod/profiles.php:729
+#: mod/profiles.php:742
 msgid "Film/dance/culture/entertainment"
 msgstr "Filme/Tänze/Kultur/Unterhaltung"
 
-#: mod/profiles.php:730
+#: mod/profiles.php:743
 msgid "Love/romance"
 msgstr "Liebe/Romantik"
 
-#: mod/profiles.php:731
+#: mod/profiles.php:744
 msgid "Work/employment"
 msgstr "Arbeit/Anstellung"
 
-#: mod/profiles.php:732
+#: mod/profiles.php:745
 msgid "School/education"
 msgstr "Schule/Ausbildung"
 
-#: mod/profiles.php:737
+#: mod/profiles.php:750
 msgid ""
 "This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
 "be visible to anybody using the internet."
 msgstr "Dies ist Dein <strong>öffentliches</strong> Profil.<br />Es <strong>könnte</strong> für jeden Nutzer des Internets sichtbar sein."
 
-#: mod/profiles.php:800
+#: mod/profiles.php:813
 msgid "Edit/Manage Profiles"
 msgstr "Bearbeite/Verwalte Profile"
 
-#: mod/profiles.php:801 include/identity.php:231 include/identity.php:257
+#: mod/profiles.php:814 include/identity.php:241 include/identity.php:267
 msgid "Change profile photo"
 msgstr "Profilbild Ã¤ndern"
 
-#: mod/profiles.php:802 include/identity.php:232
+#: mod/profiles.php:815 include/identity.php:242
 msgid "Create New Profile"
 msgstr "Neues Profil anlegen"
 
-#: mod/profiles.php:813 include/identity.php:242
+#: mod/profiles.php:826 include/identity.php:252
 msgid "Profile Image"
 msgstr "Profilbild"
 
-#: mod/profiles.php:815 include/identity.php:245
+#: mod/profiles.php:828 include/identity.php:255
 msgid "visible to everybody"
 msgstr "sichtbar für jeden"
 
-#: mod/profiles.php:816 include/identity.php:246
+#: mod/profiles.php:829 include/identity.php:256
 msgid "Edit visibility"
 msgstr "Sichtbarkeit bearbeiten"
 
@@ -5507,75 +5611,75 @@ msgstr "Beitrag nicht gefunden"
 msgid "Edit post"
 msgstr "Beitrag bearbeiten"
 
-#: mod/editpost.php:110 include/conversation.php:1186
+#: mod/editpost.php:110 include/conversation.php:1185
 msgid "upload photo"
 msgstr "Bild hochladen"
 
-#: mod/editpost.php:111 include/conversation.php:1187
+#: mod/editpost.php:111 include/conversation.php:1186
 msgid "Attach file"
 msgstr "Datei anhängen"
 
-#: mod/editpost.php:112 include/conversation.php:1188
+#: mod/editpost.php:112 include/conversation.php:1187
 msgid "attach file"
 msgstr "Datei anhängen"
 
-#: mod/editpost.php:114 include/conversation.php:1190
+#: mod/editpost.php:114 include/conversation.php:1189
 msgid "web link"
 msgstr "Weblink"
 
-#: mod/editpost.php:115 include/conversation.php:1191
+#: mod/editpost.php:115 include/conversation.php:1190
 msgid "Insert video link"
 msgstr "Video-Adresse einfügen"
 
-#: mod/editpost.php:116 include/conversation.php:1192
+#: mod/editpost.php:116 include/conversation.php:1191
 msgid "video link"
 msgstr "Video-Link"
 
-#: mod/editpost.php:117 include/conversation.php:1193
+#: mod/editpost.php:117 include/conversation.php:1192
 msgid "Insert audio link"
 msgstr "Audio-Adresse einfügen"
 
-#: mod/editpost.php:118 include/conversation.php:1194
+#: mod/editpost.php:118 include/conversation.php:1193
 msgid "audio link"
 msgstr "Audio-Link"
 
-#: mod/editpost.php:119 include/conversation.php:1195
+#: mod/editpost.php:119 include/conversation.php:1194
 msgid "Set your location"
 msgstr "Deinen Standort festlegen"
 
-#: mod/editpost.php:120 include/conversation.php:1196
+#: mod/editpost.php:120 include/conversation.php:1195
 msgid "set location"
 msgstr "Ort setzen"
 
-#: mod/editpost.php:121 include/conversation.php:1197
+#: mod/editpost.php:121 include/conversation.php:1196
 msgid "Clear browser location"
 msgstr "Browser-Standort leeren"
 
-#: mod/editpost.php:122 include/conversation.php:1198
+#: mod/editpost.php:122 include/conversation.php:1197
 msgid "clear location"
 msgstr "Ort löschen"
 
-#: mod/editpost.php:124 include/conversation.php:1204
+#: mod/editpost.php:124 include/conversation.php:1203
 msgid "Permission settings"
 msgstr "Berechtigungseinstellungen"
 
-#: mod/editpost.php:132 include/acl_selectors.php:343
+#: mod/editpost.php:132 include/acl_selectors.php:344
 msgid "CC: email addresses"
 msgstr "Cc: E-Mail-Addressen"
 
-#: mod/editpost.php:133 include/conversation.php:1213
+#: mod/editpost.php:133 include/conversation.php:1212
 msgid "Public post"
 msgstr "Öffentlicher Beitrag"
 
-#: mod/editpost.php:136 include/conversation.php:1200
+#: mod/editpost.php:136 include/conversation.php:1199
 msgid "Set title"
 msgstr "Titel setzen"
 
-#: mod/editpost.php:138 include/conversation.php:1202
+#: mod/editpost.php:138 include/conversation.php:1201
 msgid "Categories (comma-separated list)"
 msgstr "Kategorien (kommasepariert)"
 
-#: mod/editpost.php:139 include/acl_selectors.php:344
+#: mod/editpost.php:139 include/acl_selectors.php:345
 msgid "Example: bob@example.com, mary@example.com"
 msgstr "Z.B.: bob@example.com, mary@example.com"
 
@@ -5641,7 +5745,7 @@ msgstr "Entfernte Privatsphäreneinstellungen nicht verfügbar."
 msgid "Visible to:"
 msgstr "Sichtbar für:"
 
-#: mod/notes.php:46 include/identity.php:677
+#: mod/notes.php:46 include/identity.php:694
 msgid "Personal Notes"
 msgstr "Persönliche Notizen"
 
@@ -5678,23 +5782,23 @@ msgstr "Umgerechnete lokale Zeit: %s"
 msgid "Please select your timezone:"
 msgstr "Bitte wähle Deine Zeitzone:"
 
-#: mod/poke.php:192
+#: mod/poke.php:191
 msgid "Poke/Prod"
 msgstr "Anstupsen"
 
-#: mod/poke.php:193
+#: mod/poke.php:192
 msgid "poke, prod or do other things to somebody"
 msgstr "Stupse Leute an oder mache anderes mit ihnen"
 
-#: mod/poke.php:194
+#: mod/poke.php:193
 msgid "Recipient"
 msgstr "Empfänger"
 
-#: mod/poke.php:195
+#: mod/poke.php:194
 msgid "Choose what you wish to do to recipient"
 msgstr "Was willst Du mit dem Empfänger machen:"
 
-#: mod/poke.php:198
+#: mod/poke.php:197
 msgid "Make this post private"
 msgstr "Diesen Beitrag privat machen"
 
@@ -5798,13 +5902,7 @@ msgid ""
 "important, please visit http://friendica.com"
 msgstr "Für weitere Informationen Ã¼ber das Friendica Projekt und warum wir es für ein wichtiges Projekt halten, besuche bitte http://friendica.com"
 
-#: mod/photos.php:54 mod/photos.php:184 mod/photos.php:1111
-#: mod/photos.php:1237 mod/photos.php:1260 mod/photos.php:1830
-#: mod/photos.php:1842 view/theme/diabook/theme.php:499
-msgid "Contact Photos"
-msgstr "Kontaktbilder"
-
-#: mod/photos.php:91 include/identity.php:652
+#: mod/photos.php:91 include/identity.php:669
 msgid "Photo Albums"
 msgstr "Fotoalben"
 
@@ -5878,7 +5976,7 @@ msgstr "oder existierender Albumname: "
 msgid "Do not show a status post for this upload"
 msgstr "Keine Status-Mitteilung für diesen Beitrag anzeigen"
 
-#: mod/photos.php:1182 mod/photos.php:1567 include/acl_selectors.php:346
+#: mod/photos.php:1182 mod/photos.php:1567 include/acl_selectors.php:347
 msgid "Permissions"
 msgstr "Berechtigungen"
 
@@ -5975,12 +6073,12 @@ msgstr "Privates Foto"
 msgid "Public photo"
 msgstr "Öffentliches Foto"
 
-#: mod/photos.php:1601 include/conversation.php:1184
+#: mod/photos.php:1601 include/conversation.php:1183
 msgid "Share"
 msgstr "Teilen"
 
 #: mod/photos.php:1640 include/conversation.php:509
-#: include/conversation.php:1406
+#: include/conversation.php:1414
 msgid "Attending"
 msgid_plural "Attending"
 msgstr[0] "Teilnehmend"
@@ -6033,8 +6131,8 @@ msgstr "Du musst Deinen Account vom alten Server exportieren und hier hochladen.
 #: mod/uimport.php:69
 msgid ""
 "This feature is experimental. We can't import contacts from the OStatus "
-"network (statusnet/identi.ca) or from Diaspora"
-msgstr "Dieses Feature ist experimentell. Wir können keine Kontakte vom OStatus Netzwerk (statusnet/identi.ca) oder von Diaspora importieren"
+"network (GNU Social/Statusnet) or from Diaspora"
+msgstr "Dieses Feature ist experimentell. Wir können keine Kontakte vom OStatus Netzwerk (GNU Social/Statusnet) oder von Diaspora importieren"
 
 #: mod/uimport.php:70
 msgid "Account file"
@@ -6054,60 +6152,60 @@ msgstr "Beitrag nicht verfügbar."
 msgid "Item was not found."
 msgstr "Beitrag konnte nicht gefunden werden."
 
-#: boot.php:768
+#: boot.php:771
 msgid "Delete this item?"
 msgstr "Diesen Beitrag löschen?"
 
-#: boot.php:771
+#: boot.php:774
 msgid "show fewer"
 msgstr "weniger anzeigen"
 
-#: boot.php:1145
+#: boot.php:1148
 #, php-format
 msgid "Update %s failed. See error logs."
 msgstr "Update %s fehlgeschlagen. Bitte Fehlerprotokoll Ã¼berprüfen."
 
-#: boot.php:1252
+#: boot.php:1255
 msgid "Create a New Account"
 msgstr "Neues Konto erstellen"
 
-#: boot.php:1277 include/nav.php:73
+#: boot.php:1280 include/nav.php:72
 msgid "Logout"
 msgstr "Abmelden"
 
-#: boot.php:1280
+#: boot.php:1283
 msgid "Nickname or Email address: "
 msgstr "Spitzname oder E-Mail-Adresse: "
 
-#: boot.php:1281
+#: boot.php:1284
 msgid "Password: "
 msgstr "Passwort: "
 
-#: boot.php:1282
+#: boot.php:1285
 msgid "Remember me"
 msgstr "Anmeldedaten merken"
 
-#: boot.php:1285
+#: boot.php:1288
 msgid "Or login using OpenID: "
 msgstr "Oder melde Dich mit Deiner OpenID an: "
 
-#: boot.php:1291
+#: boot.php:1294
 msgid "Forgot your password?"
 msgstr "Passwort vergessen?"
 
-#: boot.php:1294
+#: boot.php:1297
 msgid "Website Terms of Service"
 msgstr "Website Nutzungsbedingungen"
 
-#: boot.php:1295
+#: boot.php:1298
 msgid "terms of service"
 msgstr "Nutzungsbedingungen"
 
-#: boot.php:1297
+#: boot.php:1300
 msgid "Website Privacy Policy"
 msgstr "Website Datenschutzerklärung"
 
-#: boot.php:1298
+#: boot.php:1301
 msgid "privacy policy"
 msgstr "Datenschutzerklärung"
 
@@ -6115,39 +6213,39 @@ msgstr "Datenschutzerklärung"
 msgid "This entry was edited"
 msgstr "Dieser Beitrag wurde bearbeitet."
 
-#: object/Item.php:188
+#: object/Item.php:191
 msgid "I will attend"
 msgstr "Ich werde teilnehmen"
 
-#: object/Item.php:188
+#: object/Item.php:191
 msgid "I will not attend"
 msgstr "Ich werde nicht teilnehmen"
 
-#: object/Item.php:188
+#: object/Item.php:191
 msgid "I might attend"
 msgstr "Ich werde eventuell teilnehmen"
 
-#: object/Item.php:227
+#: object/Item.php:230
 msgid "ignore thread"
 msgstr "Thread ignorieren"
 
-#: object/Item.php:228
+#: object/Item.php:231
 msgid "unignore thread"
 msgstr "Thread nicht mehr ignorieren"
 
-#: object/Item.php:229
+#: object/Item.php:232
 msgid "toggle ignore status"
 msgstr "Ignoriert-Status ein-/ausschalten"
 
-#: object/Item.php:342 include/conversation.php:687
+#: object/Item.php:345 include/conversation.php:687
 msgid "Categories:"
 msgstr "Kategorien:"
 
-#: object/Item.php:343 include/conversation.php:688
+#: object/Item.php:346 include/conversation.php:688
 msgid "Filed under:"
 msgstr "Abgelegt unter:"
 
-#: object/Item.php:357
+#: object/Item.php:360
 msgid "via"
 msgstr "via"
 
@@ -6222,7 +6320,7 @@ msgid "Examples: Robert Morgenstein, Fishing"
 msgstr "Beispiel: Robert Morgenstein, Angeln"
 
 #: include/contact_widgets.php:36 view/theme/diabook/theme.php:526
-#: view/theme/vier/theme.php:178
+#: view/theme/vier/theme.php:206
 msgid "Similar Interests"
 msgstr "Ähnliche Interessen"
 
@@ -6231,205 +6329,221 @@ msgid "Random Profile"
 msgstr "Zufälliges Profil"
 
 #: include/contact_widgets.php:38 view/theme/diabook/theme.php:528
-#: view/theme/vier/theme.php:180
+#: view/theme/vier/theme.php:208
 msgid "Invite Friends"
 msgstr "Freunde einladen"
 
-#: include/contact_widgets.php:71
+#: include/contact_widgets.php:108
 msgid "Networks"
 msgstr "Netzwerke"
 
-#: include/contact_widgets.php:74
+#: include/contact_widgets.php:111
 msgid "All Networks"
 msgstr "Alle Netzwerke"
 
-#: include/contact_widgets.php:104 include/features.php:61
+#: include/contact_widgets.php:141 include/features.php:97
 msgid "Saved Folders"
 msgstr "Gespeicherte Ordner"
 
-#: include/contact_widgets.php:107 include/contact_widgets.php:139
+#: include/contact_widgets.php:144 include/contact_widgets.php:176
 msgid "Everything"
 msgstr "Alles"
 
-#: include/contact_widgets.php:136
+#: include/contact_widgets.php:173
 msgid "Categories"
 msgstr "Kategorien"
 
-#: include/features.php:23
+#: include/features.php:58
 msgid "General Features"
 msgstr "Allgemeine Features"
 
-#: include/features.php:25
+#: include/features.php:60
 msgid "Multiple Profiles"
 msgstr "Mehrere Profile"
 
-#: include/features.php:25
+#: include/features.php:60
 msgid "Ability to create multiple profiles"
 msgstr "Möglichkeit mehrere Profile zu erstellen"
 
-#: include/features.php:26
+#: include/features.php:61
 msgid "Photo Location"
 msgstr "Aufnahmeort"
 
-#: include/features.php:26
+#: include/features.php:61
 msgid ""
 "Photo metadata is normally stripped. This extracts the location (if present)"
 " prior to stripping metadata and links it to a map."
 msgstr "Die Foto-Metadaten werden ausgelesen. Dadurch kann der Aufnahmeort (wenn vorhanden) in einer Karte angezeigt werden."
 
-#: include/features.php:31
+#: include/features.php:66
 msgid "Post Composition Features"
 msgstr "Beitragserstellung Features"
 
-#: include/features.php:32
+#: include/features.php:67
 msgid "Richtext Editor"
 msgstr "Web-Editor"
 
-#: include/features.php:32
+#: include/features.php:67
 msgid "Enable richtext editor"
 msgstr "Den Web-Editor für neue Beiträge aktivieren"
 
-#: include/features.php:33
+#: include/features.php:68
 msgid "Post Preview"
 msgstr "Beitragsvorschau"
 
-#: include/features.php:33
+#: include/features.php:68
 msgid "Allow previewing posts and comments before publishing them"
 msgstr "Die Vorschau von Beiträgen und Kommentaren vor dem absenden erlauben."
 
-#: include/features.php:34
+#: include/features.php:69
 msgid "Auto-mention Forums"
 msgstr "Foren automatisch erwähnen"
 
-#: include/features.php:34
+#: include/features.php:69
 msgid ""
 "Add/remove mention when a fourm page is selected/deselected in ACL window."
 msgstr "Automatisch eine @-Erwähnung eines Forums einfügen/entfehrnen, wenn dieses im ACL Fenster de-/markiert  wurde."
 
-#: include/features.php:39
+#: include/features.php:74
 msgid "Network Sidebar Widgets"
 msgstr "Widgets für Netzwerk und Seitenleiste"
 
-#: include/features.php:40
+#: include/features.php:75
 msgid "Search by Date"
 msgstr "Archiv"
 
-#: include/features.php:40
+#: include/features.php:75
 msgid "Ability to select posts by date ranges"
 msgstr "Möglichkeit die Beiträge nach Datumsbereichen zu sortieren"
 
-#: include/features.php:41
+#: include/features.php:76 include/features.php:106
+msgid "List Forums"
+msgstr "Zeige Foren"
+
+#: include/features.php:76
+msgid "Enable widget to display the forums your are connected with"
+msgstr "Aktiviere Widget, um die Foren mit denen du verbunden bist anzuzeigen"
+
+#: include/features.php:77
 msgid "Group Filter"
 msgstr "Gruppen Filter"
 
-#: include/features.php:41
+#: include/features.php:77
 msgid "Enable widget to display Network posts only from selected group"
 msgstr "Widget zur Darstellung der Beiträge nach Kontaktgruppen sortiert aktivieren."
 
-#: include/features.php:42
+#: include/features.php:78
 msgid "Network Filter"
 msgstr "Netzwerk Filter"
 
-#: include/features.php:42
+#: include/features.php:78
 msgid "Enable widget to display Network posts only from selected network"
 msgstr "Widget zum filtern der Beiträge in Abhängigkeit des Netzwerks aus dem der Ersteller sendet aktivieren."
 
-#: include/features.php:43
+#: include/features.php:79
 msgid "Save search terms for re-use"
 msgstr "Speichere Suchanfragen für spätere Wiederholung."
 
-#: include/features.php:48
+#: include/features.php:84
 msgid "Network Tabs"
 msgstr "Netzwerk Reiter"
 
-#: include/features.php:49
+#: include/features.php:85
 msgid "Network Personal Tab"
 msgstr "Netzwerk-Reiter: Persönlich"
 
-#: include/features.php:49
+#: include/features.php:85
 msgid "Enable tab to display only Network posts that you've interacted on"
 msgstr "Aktiviert einen Netzwerk-Reiter in dem Nachrichten angezeigt werden mit denen Du interagiert hast"
 
-#: include/features.php:50
+#: include/features.php:86
 msgid "Network New Tab"
 msgstr "Netzwerk-Reiter: Neue"
 
-#: include/features.php:50
+#: include/features.php:86
 msgid "Enable tab to display only new Network posts (from the last 12 hours)"
 msgstr "Aktiviert einen Netzwerk-Reiter in dem ausschließlich neue Beiträge (der letzten 12 Stunden) angezeigt werden"
 
-#: include/features.php:51
+#: include/features.php:87
 msgid "Network Shared Links Tab"
 msgstr "Netzwerk-Reiter: Geteilte Links"
 
-#: include/features.php:51
+#: include/features.php:87
 msgid "Enable tab to display only Network posts with links in them"
 msgstr "Aktiviert einen Netzwerk-Reiter der ausschließlich Nachrichten mit Links enthält"
 
-#: include/features.php:56
+#: include/features.php:92
 msgid "Post/Comment Tools"
 msgstr "Werkzeuge für Beiträge und Kommentare"
 
-#: include/features.php:57
+#: include/features.php:93
 msgid "Multiple Deletion"
 msgstr "Mehrere Beiträge löschen"
 
-#: include/features.php:57
+#: include/features.php:93
 msgid "Select and delete multiple posts/comments at once"
 msgstr "Mehrere Beiträge/Kommentare markieren und gleichzeitig löschen"
 
-#: include/features.php:58
+#: include/features.php:94
 msgid "Edit Sent Posts"
 msgstr "Gesendete Beiträge editieren"
 
-#: include/features.php:58
+#: include/features.php:94
 msgid "Edit and correct posts and comments after sending"
 msgstr "Erlaubt es Beiträge und Kommentare nach dem Senden zu editieren bzw.zu  korrigieren."
 
-#: include/features.php:59
+#: include/features.php:95
 msgid "Tagging"
 msgstr "Tagging"
 
-#: include/features.php:59
+#: include/features.php:95
 msgid "Ability to tag existing posts"
 msgstr "Möglichkeit bereits existierende Beiträge nachträglich mit Tags zu versehen."
 
-#: include/features.php:60
+#: include/features.php:96
 msgid "Post Categories"
 msgstr "Beitragskategorien"
 
-#: include/features.php:60
+#: include/features.php:96
 msgid "Add categories to your posts"
 msgstr "Eigene Beiträge mit Kategorien versehen"
 
-#: include/features.php:61
+#: include/features.php:97
 msgid "Ability to file posts under folders"
 msgstr "Beiträge in Ordnern speichern aktivieren"
 
-#: include/features.php:62
+#: include/features.php:98
 msgid "Dislike Posts"
 msgstr "Beiträge 'nicht mögen'"
 
-#: include/features.php:62
+#: include/features.php:98
 msgid "Ability to dislike posts/comments"
 msgstr "Ermöglicht es Beiträge mit einem Klick 'nicht zu mögen'"
 
-#: include/features.php:63
+#: include/features.php:99
 msgid "Star Posts"
 msgstr "Beiträge Markieren"
 
-#: include/features.php:63
+#: include/features.php:99
 msgid "Ability to mark special posts with a star indicator"
 msgstr "Erlaubt es Beiträge mit einem Stern-Indikator zu  markieren"
 
-#: include/features.php:64
+#: include/features.php:100
 msgid "Mute Post Notifications"
 msgstr "Benachrichtigungen für Beiträge Stumm schalten"
 
-#: include/features.php:64
+#: include/features.php:100
 msgid "Ability to mute notifications for a thread"
 msgstr "Möglichkeit Benachrichtigungen für einen Thread abbestellen zu können"
 
+#: include/features.php:105
+msgid "Advanced Profile Settings"
+msgstr "Erweiterte Profil-Einstellungen"
+
+#: include/features.php:106
+msgid "Show visitors public community forums at the Advanced Profile Page"
+msgstr "Zeige Besuchern Ã¶ffentliche Gemeinschafts-Foren auf der Erweiterten Profil-Seite"
+
 #: include/follow.php:77
 msgid "Connect URL missing."
 msgstr "Connect-URL fehlt"
@@ -6492,27 +6606,31 @@ msgid ""
 "not what you intended, please create another group with a different name."
 msgstr "Eine gelöschte Gruppe mit diesem Namen wurde wiederbelebt. Bestehende Berechtigungseinstellungen <strong>könnten</strong> auf diese Gruppe oder zukünftige Mitglieder angewandt werden. Falls Du dies nicht möchtest, erstelle bitte eine andere Gruppe mit einem anderen Namen."
 
-#: include/group.php:207
+#: include/group.php:209
 msgid "Default privacy group for new contacts"
 msgstr "Voreingestellte Gruppe für neue Kontakte"
 
-#: include/group.php:226
+#: include/group.php:239
 msgid "Everybody"
 msgstr "Alle Kontakte"
 
-#: include/group.php:249
+#: include/group.php:262
 msgid "edit"
 msgstr "bearbeiten"
 
-#: include/group.php:271
+#: include/group.php:285
+msgid "Edit groups"
+msgstr "Gruppen bearbeiten"
+
+#: include/group.php:287
 msgid "Edit group"
 msgstr "Gruppe bearbeiten"
 
-#: include/group.php:272
+#: include/group.php:288
 msgid "Create a new group"
 msgstr "Neue Gruppe erstellen"
 
-#: include/group.php:275
+#: include/group.php:291
 msgid "Contacts not in any group"
 msgstr "Kontakte in keiner Gruppe"
 
@@ -6524,233 +6642,241 @@ msgstr "Verschiedenes"
 msgid "YYYY-MM-DD or MM-DD"
 msgstr "YYYY-MM-DD oder MM-DD"
 
-#: include/datetime.php:256
+#: include/datetime.php:271
 msgid "never"
 msgstr "nie"
 
-#: include/datetime.php:262
+#: include/datetime.php:277
 msgid "less than a second ago"
 msgstr "vor weniger als einer Sekunde"
 
-#: include/datetime.php:272
+#: include/datetime.php:287
 msgid "year"
 msgstr "Jahr"
 
-#: include/datetime.php:272
+#: include/datetime.php:287
 msgid "years"
 msgstr "Jahre"
 
-#: include/datetime.php:273
+#: include/datetime.php:288
 msgid "months"
 msgstr "Monate"
 
-#: include/datetime.php:274
+#: include/datetime.php:289
 msgid "weeks"
 msgstr "Wochen"
 
-#: include/datetime.php:275
+#: include/datetime.php:290
 msgid "days"
 msgstr "Tage"
 
-#: include/datetime.php:276
+#: include/datetime.php:291
 msgid "hour"
 msgstr "Stunde"
 
-#: include/datetime.php:276
+#: include/datetime.php:291
 msgid "hours"
 msgstr "Stunden"
 
-#: include/datetime.php:277
+#: include/datetime.php:292
 msgid "minute"
 msgstr "Minute"
 
-#: include/datetime.php:277
+#: include/datetime.php:292
 msgid "minutes"
 msgstr "Minuten"
 
-#: include/datetime.php:278
+#: include/datetime.php:293
 msgid "second"
 msgstr "Sekunde"
 
-#: include/datetime.php:278
+#: include/datetime.php:293
 msgid "seconds"
 msgstr "Sekunden"
 
-#: include/datetime.php:287
+#: include/datetime.php:302
 #, php-format
 msgid "%1$d %2$s ago"
 msgstr "%1$d %2$s her"
 
-#: include/datetime.php:459 include/items.php:2484
+#: include/datetime.php:474 include/items.php:2444
 #, php-format
 msgid "%s's birthday"
 msgstr "%ss Geburtstag"
 
-#: include/datetime.php:460 include/items.php:2485
+#: include/datetime.php:475 include/items.php:2445
 #, php-format
 msgid "Happy Birthday %s"
 msgstr "Herzlichen Glückwunsch %s"
 
-#: include/identity.php:38
+#: include/identity.php:43
 msgid "Requested account is not available."
 msgstr "Das angefragte Profil ist nicht vorhanden."
 
-#: include/identity.php:121 include/identity.php:255 include/identity.php:608
+#: include/identity.php:126 include/identity.php:265 include/identity.php:625
 msgid "Edit profile"
 msgstr "Profil bearbeiten"
 
-#: include/identity.php:220
+#: include/identity.php:225
+msgid "Atom feed"
+msgstr "Atom-Feed"
+
+#: include/identity.php:230
 msgid "Message"
 msgstr "Nachricht"
 
-#: include/identity.php:226 include/nav.php:186
+#: include/identity.php:236 include/nav.php:185
 msgid "Profiles"
 msgstr "Profile"
 
-#: include/identity.php:226
+#: include/identity.php:236
 msgid "Manage/edit profiles"
 msgstr "Profile verwalten/editieren"
 
-#: include/identity.php:342
+#: include/identity.php:353
 msgid "Network:"
 msgstr "Netzwerk"
 
-#: include/identity.php:374 include/identity.php:460
+#: include/identity.php:385 include/identity.php:471
 msgid "g A l F d"
 msgstr "l, d. F G \\U\\h\\r"
 
-#: include/identity.php:375 include/identity.php:461
+#: include/identity.php:386 include/identity.php:472
 msgid "F d"
 msgstr "d. F"
 
-#: include/identity.php:420 include/identity.php:507
+#: include/identity.php:431 include/identity.php:518
 msgid "[today]"
 msgstr "[heute]"
 
-#: include/identity.php:432
+#: include/identity.php:443
 msgid "Birthday Reminders"
 msgstr "Geburtstagserinnerungen"
 
-#: include/identity.php:433
+#: include/identity.php:444
 msgid "Birthdays this week:"
 msgstr "Geburtstage diese Woche:"
 
-#: include/identity.php:494
+#: include/identity.php:505
 msgid "[No description]"
 msgstr "[keine Beschreibung]"
 
-#: include/identity.php:518
+#: include/identity.php:529
 msgid "Event Reminders"
 msgstr "Veranstaltungserinnerungen"
 
-#: include/identity.php:519
+#: include/identity.php:530
 msgid "Events this week:"
 msgstr "Veranstaltungen diese Woche"
 
-#: include/identity.php:546
+#: include/identity.php:558
 msgid "j F, Y"
 msgstr "j F, Y"
 
-#: include/identity.php:547
+#: include/identity.php:559
 msgid "j F"
 msgstr "j F"
 
-#: include/identity.php:554
+#: include/identity.php:566
 msgid "Birthday:"
 msgstr "Geburtstag:"
 
-#: include/identity.php:558
+#: include/identity.php:570
 msgid "Age:"
 msgstr "Alter:"
 
-#: include/identity.php:567
+#: include/identity.php:579
 #, php-format
 msgid "for %1$d %2$s"
 msgstr "für %1$d %2$s"
 
-#: include/identity.php:580
+#: include/identity.php:592
 msgid "Religion:"
 msgstr "Religion:"
 
-#: include/identity.php:584
+#: include/identity.php:596
 msgid "Hobbies/Interests:"
 msgstr "Hobbies/Interessen:"
 
-#: include/identity.php:591
+#: include/identity.php:603
 msgid "Contact information and Social Networks:"
 msgstr "Kontaktinformationen und Soziale Netzwerke:"
 
-#: include/identity.php:593
+#: include/identity.php:605
 msgid "Musical interests:"
 msgstr "Musikalische Interessen:"
 
-#: include/identity.php:595
+#: include/identity.php:607
 msgid "Books, literature:"
 msgstr "Literatur/Bücher:"
 
-#: include/identity.php:597
+#: include/identity.php:609
 msgid "Television:"
 msgstr "Fernsehen:"
 
-#: include/identity.php:599
+#: include/identity.php:611
 msgid "Film/dance/culture/entertainment:"
 msgstr "Filme/Tänze/Kultur/Unterhaltung:"
 
-#: include/identity.php:601
+#: include/identity.php:613
 msgid "Love/Romance:"
 msgstr "Liebesleben:"
 
-#: include/identity.php:603
+#: include/identity.php:615
 msgid "Work/employment:"
 msgstr "Arbeit/Beschäftigung:"
 
-#: include/identity.php:605
+#: include/identity.php:617
 msgid "School/education:"
 msgstr "Schule/Ausbildung:"
 
-#: include/identity.php:633 include/nav.php:76
+#: include/identity.php:621
+msgid "Forums:"
+msgstr "Foren:"
+
+#: include/identity.php:650 include/nav.php:75
 msgid "Status"
 msgstr "Status"
 
-#: include/identity.php:636
+#: include/identity.php:653
 msgid "Status Messages and Posts"
 msgstr "Statusnachrichten und Beiträge"
 
-#: include/identity.php:644
+#: include/identity.php:661
 msgid "Profile Details"
 msgstr "Profildetails"
 
-#: include/identity.php:657 include/identity.php:660 include/nav.php:79
+#: include/identity.php:674 include/identity.php:677 include/nav.php:78
 msgid "Videos"
 msgstr "Videos"
 
-#: include/identity.php:672 include/nav.php:141
+#: include/identity.php:689 include/nav.php:140
 msgid "Events and Calendar"
 msgstr "Ereignisse und Kalender"
 
-#: include/identity.php:680
+#: include/identity.php:697
 msgid "Only You Can See This"
 msgstr "Nur Du kannst das sehen"
 
-#: include/acl_selectors.php:324
+#: include/acl_selectors.php:325
 msgid "Post to Email"
 msgstr "An E-Mail senden"
 
-#: include/acl_selectors.php:329
+#: include/acl_selectors.php:330
 #, php-format
 msgid "Connectors disabled, since \"%s\" is enabled."
 msgstr "Konnektoren sind nicht verfügbar, da \"%s\" aktiv ist."
 
-#: include/acl_selectors.php:335
+#: include/acl_selectors.php:336
 msgid "Visible to everybody"
 msgstr "Für jeden sichtbar"
 
-#: include/acl_selectors.php:336 view/theme/diabook/config.php:142
+#: include/acl_selectors.php:337 view/theme/diabook/config.php:142
 #: view/theme/diabook/theme.php:621 view/theme/vier/config.php:103
 msgid "show"
 msgstr "zeigen"
 
-#: include/acl_selectors.php:337 view/theme/diabook/config.php:142
+#: include/acl_selectors.php:338 view/theme/diabook/config.php:142
 #: view/theme/diabook/theme.php:621 view/theme/vier/config.php:103
 msgid "don't show"
 msgstr "nicht zeigen"
@@ -6763,34 +6889,31 @@ msgstr "[kein Betreff]"
 msgid "stopped following"
 msgstr "wird nicht mehr gefolgt"
 
-#: include/Contact.php:236 include/conversation.php:911
+#: include/Contact.php:361 include/conversation.php:911
 msgid "View Status"
 msgstr "Pinnwand anschauen"
 
-#: include/Contact.php:238 include/conversation.php:913
+#: include/Contact.php:363 include/conversation.php:913
 msgid "View Photos"
 msgstr "Bilder anschauen"
 
-#: include/Contact.php:239 include/Contact.php:264
-#: include/conversation.php:914
+#: include/Contact.php:364 include/conversation.php:914
 msgid "Network Posts"
 msgstr "Netzwerkbeiträge"
 
-#: include/Contact.php:240 include/Contact.php:264
-#: include/conversation.php:915
+#: include/Contact.php:365 include/conversation.php:915
 msgid "Edit Contact"
 msgstr "Kontakt bearbeiten"
 
-#: include/Contact.php:241
+#: include/Contact.php:366
 msgid "Drop Contact"
 msgstr "Kontakt löschen"
 
-#: include/Contact.php:242 include/Contact.php:264
-#: include/conversation.php:916
+#: include/Contact.php:367 include/conversation.php:916
 msgid "Send PM"
 msgstr "Private Nachricht senden"
 
-#: include/Contact.php:243 include/conversation.php:920
+#: include/Contact.php:368 include/conversation.php:920
 msgid "Poke"
 msgstr "Anstupsen"
 
@@ -6853,401 +6976,407 @@ msgstr "Lösche die markierten Beiträge"
 msgid "Follow Thread"
 msgstr "Folge der Unterhaltung"
 
-#: include/conversation.php:1036
-msgid "and"
-msgstr "und"
-
-#: include/conversation.php:1042
-#, php-format
-msgid ", and %d other people"
-msgstr " und %d andere"
-
-#: include/conversation.php:1052
+#: include/conversation.php:1035
 #, php-format
 msgid "%s likes this."
 msgstr "%s mag das."
 
-#: include/conversation.php:1055
+#: include/conversation.php:1038
 #, php-format
 msgid "%s doesn't like this."
 msgstr "%s mag das nicht."
 
-#: include/conversation.php:1058
+#: include/conversation.php:1041
 #, php-format
 msgid "%s attends."
 msgstr "%s nimmt teil."
 
-#: include/conversation.php:1061
+#: include/conversation.php:1044
 #, php-format
 msgid "%s doesn't attend."
 msgstr "%s nimmt nicht teil."
 
-#: include/conversation.php:1064
+#: include/conversation.php:1047
 #, php-format
 msgid "%s attends maybe."
 msgstr "%s nimmt eventuell teil."
 
-#: include/conversation.php:1073
+#: include/conversation.php:1057
+msgid "and"
+msgstr "und"
+
+#: include/conversation.php:1063
+#, php-format
+msgid ", and %d other people"
+msgstr " und %d andere"
+
+#: include/conversation.php:1072
 #, php-format
 msgid "<span  %1$s>%2$d people</span> like this"
 msgstr "<span  %1$s>%2$d Personen</span> mögen das"
 
+#: include/conversation.php:1073
+#, php-format
+msgid "%s like this."
+msgstr "%s mögen das."
+
 #: include/conversation.php:1076
 #, php-format
 msgid "<span  %1$s>%2$d people</span> don't like this"
 msgstr "<span  %1$s>%2$d Personen</span> mögen das nicht"
 
-#: include/conversation.php:1079
+#: include/conversation.php:1077
+#, php-format
+msgid "%s don't like this."
+msgstr "%s mögen dies nicht."
+
+#: include/conversation.php:1080
 #, php-format
 msgid "<span  %1$s>%2$d people</span> attend"
 msgstr "<span %1$s>%2$d Personen</span> nehmen teil"
 
-#: include/conversation.php:1082
+#: include/conversation.php:1081
+#, php-format
+msgid "%s attend."
+msgstr "%s nehmen teil."
+
+#: include/conversation.php:1084
 #, php-format
 msgid "<span  %1$s>%2$d people</span> don't attend"
 msgstr "<span %1$s>%2$d Personen</span> nehmen nicht teil"
 
 #: include/conversation.php:1085
 #, php-format
-msgid "<span  %1$s>%2$d people</span> anttend maybe"
-msgstr "<span %1$s>%2$d Personen</span> nehmen eventuell teil"
-
-#: include/conversation.php:1087
-#, php-format
-msgid "<span  %1$s>%2$d people</span> agree"
-msgstr "<span %1$s>%2$d Personen</span> sind einverstanden"
+msgid "%s don't attend."
+msgstr "%s nehmen nicht teil."
 
-#: include/conversation.php:1090
+#: include/conversation.php:1088
 #, php-format
-msgid "<span  %1$s>%2$d people</span> don't agree"
-msgstr "<span %1$s>%2$d Personen</span> sind nicht einverstanden"
+msgid "<span  %1$s>%2$d people</span> anttend maybe"
+msgstr "<span %1$s>%2$d Personen</span> nehmen eventuell teil"
 
-#: include/conversation.php:1093
+#: include/conversation.php:1089
 #, php-format
-msgid "<span  %1$s>%2$d people</span> abstains"
-msgstr "<span %1$s>%2$d Personen</span> enthalten sich"
+msgid "%s anttend maybe."
+msgstr "%s  nehmen vielleicht teil."
 
-#: include/conversation.php:1129 include/conversation.php:1147
+#: include/conversation.php:1128 include/conversation.php:1146
 msgid "Visible to <strong>everybody</strong>"
 msgstr "Für <strong>jedermann</strong> sichtbar"
 
-#: include/conversation.php:1131 include/conversation.php:1149
+#: include/conversation.php:1130 include/conversation.php:1148
 msgid "Please enter a video link/URL:"
 msgstr "Bitte Link/URL zum Video einfügen:"
 
-#: include/conversation.php:1132 include/conversation.php:1150
+#: include/conversation.php:1131 include/conversation.php:1149
 msgid "Please enter an audio link/URL:"
 msgstr "Bitte Link/URL zum Audio einfügen:"
 
-#: include/conversation.php:1133 include/conversation.php:1151
+#: include/conversation.php:1132 include/conversation.php:1150
 msgid "Tag term:"
 msgstr "Tag:"
 
-#: include/conversation.php:1135 include/conversation.php:1153
+#: include/conversation.php:1134 include/conversation.php:1152
 msgid "Where are you right now?"
 msgstr "Wo hältst Du Dich jetzt gerade auf?"
 
-#: include/conversation.php:1136
+#: include/conversation.php:1135
 msgid "Delete item(s)?"
 msgstr "Einträge löschen?"
 
-#: include/conversation.php:1205
+#: include/conversation.php:1204
 msgid "permissions"
 msgstr "Zugriffsrechte"
 
-#: include/conversation.php:1228
+#: include/conversation.php:1227
 msgid "Post to Groups"
 msgstr "Poste an Gruppe"
 
-#: include/conversation.php:1229
+#: include/conversation.php:1228
 msgid "Post to Contacts"
 msgstr "Poste an Kontakte"
 
-#: include/conversation.php:1230
+#: include/conversation.php:1229
 msgid "Private post"
 msgstr "Privater Beitrag"
 
-#: include/conversation.php:1378
+#: include/conversation.php:1386
 msgid "View all"
 msgstr "Zeige alle"
 
-#: include/conversation.php:1400
+#: include/conversation.php:1408
 msgid "Like"
 msgid_plural "Likes"
 msgstr[0] "mag ich"
 msgstr[1] "Mag ich"
 
-#: include/conversation.php:1403
+#: include/conversation.php:1411
 msgid "Dislike"
 msgid_plural "Dislikes"
 msgstr[0] "mag ich nicht"
 msgstr[1] "Mag ich nicht"
 
-#: include/conversation.php:1409
+#: include/conversation.php:1417
 msgid "Not Attending"
 msgid_plural "Not Attending"
 msgstr[0] "Nicht teilnehmend "
 msgstr[1] "Nicht teilnehmend"
 
-#: include/conversation.php:1412 include/profile_selectors.php:6
+#: include/conversation.php:1420 include/profile_selectors.php:6
 msgid "Undecided"
 msgid_plural "Undecided"
 msgstr[0] "Unentschieden"
 msgstr[1] "Unentschieden"
 
-#: include/network.php:968
+#: include/forums.php:105 include/text.php:1015 include/nav.php:126
+#: view/theme/vier/theme.php:259
+msgid "Forums"
+msgstr "Foren"
+
+#: include/forums.php:107 view/theme/vier/theme.php:261
+msgid "External link to forum"
+msgstr "Externer Link zum Forum"
+
+#: include/network.php:967
 msgid "view full size"
 msgstr "Volle Größe anzeigen"
 
-#: include/text.php:299
+#: include/text.php:303
 msgid "newer"
 msgstr "neuer"
 
-#: include/text.php:301
+#: include/text.php:305
 msgid "older"
 msgstr "älter"
 
-#: include/text.php:306
+#: include/text.php:310
 msgid "prev"
 msgstr "vorige"
 
-#: include/text.php:308
+#: include/text.php:312
 msgid "first"
 msgstr "erste"
 
-#: include/text.php:340
+#: include/text.php:344
 msgid "last"
 msgstr "letzte"
 
-#: include/text.php:343
+#: include/text.php:347
 msgid "next"
 msgstr "nächste"
 
-#: include/text.php:398
+#: include/text.php:402
 msgid "Loading more entries..."
 msgstr "lade weitere Einträge..."
 
-#: include/text.php:399
+#: include/text.php:403
 msgid "The end"
 msgstr "Das Ende"
 
-#: include/text.php:890
+#: include/text.php:894
 msgid "No contacts"
 msgstr "Keine Kontakte"
 
-#: include/text.php:905
+#: include/text.php:909
 #, php-format
 msgid "%d Contact"
 msgid_plural "%d Contacts"
 msgstr[0] "%d Kontakt"
 msgstr[1] "%d Kontakte"
 
-#: include/text.php:1003 include/nav.php:122
+#: include/text.php:1010 include/nav.php:121
 msgid "Full Text"
 msgstr "Volltext"
 
-#: include/text.php:1004 include/nav.php:123
+#: include/text.php:1011 include/nav.php:122
 msgid "Tags"
 msgstr "Tags"
 
-#: include/text.php:1008 include/nav.php:127
-msgid "Forums"
-msgstr "Foren"
-
-#: include/text.php:1058
+#: include/text.php:1066
 msgid "poke"
 msgstr "anstupsen"
 
-#: include/text.php:1058
+#: include/text.php:1066
 msgid "poked"
 msgstr "stupste"
 
-#: include/text.php:1059
+#: include/text.php:1067
 msgid "ping"
 msgstr "anpingen"
 
-#: include/text.php:1059
+#: include/text.php:1067
 msgid "pinged"
 msgstr "pingte"
 
-#: include/text.php:1060
+#: include/text.php:1068
 msgid "prod"
 msgstr "knuffen"
 
-#: include/text.php:1060
+#: include/text.php:1068
 msgid "prodded"
 msgstr "knuffte"
 
-#: include/text.php:1061
+#: include/text.php:1069
 msgid "slap"
 msgstr "ohrfeigen"
 
-#: include/text.php:1061
+#: include/text.php:1069
 msgid "slapped"
 msgstr "ohrfeigte"
 
-#: include/text.php:1062
+#: include/text.php:1070
 msgid "finger"
 msgstr "befummeln"
 
-#: include/text.php:1062
+#: include/text.php:1070
 msgid "fingered"
 msgstr "befummelte"
 
-#: include/text.php:1063
+#: include/text.php:1071
 msgid "rebuff"
 msgstr "eine Abfuhr erteilen"
 
-#: include/text.php:1063
+#: include/text.php:1071
 msgid "rebuffed"
 msgstr "abfuhrerteilte"
 
-#: include/text.php:1077
+#: include/text.php:1085
 msgid "happy"
 msgstr "glücklich"
 
-#: include/text.php:1078
+#: include/text.php:1086
 msgid "sad"
 msgstr "traurig"
 
-#: include/text.php:1079
+#: include/text.php:1087
 msgid "mellow"
 msgstr "sanft"
 
-#: include/text.php:1080
+#: include/text.php:1088
 msgid "tired"
 msgstr "müde"
 
-#: include/text.php:1081
+#: include/text.php:1089
 msgid "perky"
 msgstr "frech"
 
-#: include/text.php:1082
+#: include/text.php:1090
 msgid "angry"
 msgstr "sauer"
 
-#: include/text.php:1083
+#: include/text.php:1091
 msgid "stupified"
 msgstr "verblüfft"
 
-#: include/text.php:1084
+#: include/text.php:1092
 msgid "puzzled"
 msgstr "verwirrt"
 
-#: include/text.php:1085
+#: include/text.php:1093
 msgid "interested"
 msgstr "interessiert"
 
-#: include/text.php:1086
+#: include/text.php:1094
 msgid "bitter"
 msgstr "verbittert"
 
-#: include/text.php:1087
+#: include/text.php:1095
 msgid "cheerful"
 msgstr "fröhlich"
 
-#: include/text.php:1088
+#: include/text.php:1096
 msgid "alive"
 msgstr "lebendig"
 
-#: include/text.php:1089
+#: include/text.php:1097
 msgid "annoyed"
 msgstr "verärgert"
 
-#: include/text.php:1090
+#: include/text.php:1098
 msgid "anxious"
 msgstr "unruhig"
 
-#: include/text.php:1091
+#: include/text.php:1099
 msgid "cranky"
 msgstr "schrullig"
 
-#: include/text.php:1092
+#: include/text.php:1100
 msgid "disturbed"
 msgstr "verstört"
 
-#: include/text.php:1093
+#: include/text.php:1101
 msgid "frustrated"
 msgstr "frustriert"
 
-#: include/text.php:1094
+#: include/text.php:1102
 msgid "motivated"
 msgstr "motiviert"
 
-#: include/text.php:1095
+#: include/text.php:1103
 msgid "relaxed"
 msgstr "entspannt"
 
-#: include/text.php:1096
+#: include/text.php:1104
 msgid "surprised"
 msgstr "überrascht"
 
-#: include/text.php:1489
+#: include/text.php:1497
 msgid "bytes"
 msgstr "Byte"
 
-#: include/text.php:1521 include/text.php:1533
+#: include/text.php:1529 include/text.php:1541
 msgid "Click to open/close"
 msgstr "Zum Ã¶ffnen/schließen klicken"
 
-#: include/text.php:1707
+#: include/text.php:1715
 msgid "View on separate page"
 msgstr "Auf separater Seite ansehen"
 
-#: include/text.php:1708
+#: include/text.php:1716
 msgid "view on separate page"
 msgstr "auf separater Seite ansehen"
 
-#: include/text.php:1765 include/user.php:255
-#: view/theme/duepuntozero/config.php:44
-msgid "default"
-msgstr "Standard"
-
-#: include/text.php:1777
-msgid "Select an alternate language"
-msgstr "Alternative Sprache auswählen"
-
-#: include/text.php:2033
+#: include/text.php:1997
 msgid "activity"
 msgstr "Aktivität"
 
-#: include/text.php:2036
+#: include/text.php:2000
 msgid "post"
 msgstr "Beitrag"
 
-#: include/text.php:2204
+#: include/text.php:2168
 msgid "Item filed"
 msgstr "Beitrag abgelegt"
 
-#: include/bbcode.php:474 include/bbcode.php:1132 include/bbcode.php:1133
+#: include/bbcode.php:483 include/bbcode.php:1143 include/bbcode.php:1144
 msgid "Image/photo"
 msgstr "Bild/Foto"
 
-#: include/bbcode.php:572
+#: include/bbcode.php:581
 #, php-format
 msgid "<a href=\"%1$s\" target=\"_blank\">%2$s</a> %3$s"
 msgstr "<a href=\"%1$s\" target=\"_blank\">%2$s</a> %3$s"
 
-#: include/bbcode.php:606
+#: include/bbcode.php:615
 #, php-format
 msgid ""
 "<span><a href=\"%s\" target=\"_blank\">%s</a> wrote the following <a "
 "href=\"%s\" target=\"_blank\">post</a>"
 msgstr "<span><a href=\"%s\" target=\"_blank\">%s</a> schrieb den folgenden <a href=\"%s\" target=\"_blank\">Beitrag</a>"
 
-#: include/bbcode.php:1092 include/bbcode.php:1112
+#: include/bbcode.php:1103 include/bbcode.php:1123
 msgid "$1 wrote:"
 msgstr "$1 hat geschrieben:"
 
-#: include/bbcode.php:1141 include/bbcode.php:1142
+#: include/bbcode.php:1152 include/bbcode.php:1153
 msgid "Encrypted content"
 msgstr "Verschlüsselter Inhalt"
 
-#: include/notifier.php:840 include/delivery.php:456
+#: include/notifier.php:843 include/delivery.php:458
 msgid "(no subject)"
 msgstr "(kein Betreff)"
 
-#: include/notifier.php:850 include/delivery.php:467 include/enotify.php:37
+#: include/notifier.php:853 include/delivery.php:469 include/enotify.php:37
 msgid "noreply"
 msgstr "noreply"
 
@@ -7329,8 +7458,8 @@ msgid "Diaspora Connector"
 msgstr "Diaspora"
 
 #: include/contact_selectors.php:91
-msgid "Statusnet"
-msgstr "StatusNet"
+msgid "GNU Social"
+msgstr "GNU Social"
 
 #: include/contact_selectors.php:92
 msgid "App.net"
@@ -7340,219 +7469,219 @@ msgstr "App.net"
 msgid "Redmatrix"
 msgstr "Redmatrix"
 
-#: include/Scrape.php:603
+#: include/Scrape.php:610
 msgid " on Last.fm"
 msgstr " bei Last.fm"
 
-#: include/bb2diaspora.php:154 include/event.php:22
+#: include/bb2diaspora.php:154 include/event.php:30 include/event.php:48
 msgid "Starts:"
 msgstr "Beginnt:"
 
-#: include/bb2diaspora.php:162 include/event.php:32
+#: include/bb2diaspora.php:162 include/event.php:33 include/event.php:54
 msgid "Finishes:"
 msgstr "Endet:"
 
-#: include/plugin.php:458 include/plugin.php:460
+#: include/plugin.php:522 include/plugin.php:524
 msgid "Click here to upgrade."
 msgstr "Zum Upgraden hier klicken."
 
-#: include/plugin.php:466
+#: include/plugin.php:530
 msgid "This action exceeds the limits set by your subscription plan."
 msgstr "Diese Aktion Ã¼berschreitet die Obergrenze Deines Abonnements."
 
-#: include/plugin.php:471
+#: include/plugin.php:535
 msgid "This action is not available under your subscription plan."
 msgstr "Diese Aktion ist in Deinem Abonnement nicht verfügbar."
 
-#: include/nav.php:73
+#: include/nav.php:72
 msgid "End this session"
 msgstr "Diese Sitzung beenden"
 
-#: include/nav.php:76 include/nav.php:158 view/theme/diabook/theme.php:123
+#: include/nav.php:75 include/nav.php:157 view/theme/diabook/theme.php:123
 msgid "Your posts and conversations"
 msgstr "Deine Beiträge und Unterhaltungen"
 
-#: include/nav.php:77 view/theme/diabook/theme.php:124
+#: include/nav.php:76 view/theme/diabook/theme.php:124
 msgid "Your profile page"
 msgstr "Deine Profilseite"
 
-#: include/nav.php:78 view/theme/diabook/theme.php:126
+#: include/nav.php:77 view/theme/diabook/theme.php:126
 msgid "Your photos"
 msgstr "Deine Fotos"
 
-#: include/nav.php:79
+#: include/nav.php:78
 msgid "Your videos"
 msgstr "Deine Videos"
 
-#: include/nav.php:80 view/theme/diabook/theme.php:127
+#: include/nav.php:79 view/theme/diabook/theme.php:127
 msgid "Your events"
 msgstr "Deine Ereignisse"
 
-#: include/nav.php:81 view/theme/diabook/theme.php:128
+#: include/nav.php:80 view/theme/diabook/theme.php:128
 msgid "Personal notes"
 msgstr "Persönliche Notizen"
 
-#: include/nav.php:81
+#: include/nav.php:80
 msgid "Your personal notes"
 msgstr "Deine persönlichen Notizen"
 
-#: include/nav.php:92
+#: include/nav.php:91
 msgid "Sign in"
 msgstr "Anmelden"
 
-#: include/nav.php:105
+#: include/nav.php:104
 msgid "Home Page"
 msgstr "Homepage"
 
-#: include/nav.php:109
+#: include/nav.php:108
 msgid "Create an account"
 msgstr "Nutzerkonto erstellen"
 
-#: include/nav.php:114
+#: include/nav.php:113
 msgid "Help and documentation"
 msgstr "Hilfe und Dokumentation"
 
-#: include/nav.php:117
+#: include/nav.php:116
 msgid "Apps"
 msgstr "Apps"
 
-#: include/nav.php:117
+#: include/nav.php:116
 msgid "Addon applications, utilities, games"
 msgstr "Addon Anwendungen, Dienstprogramme, Spiele"
 
-#: include/nav.php:119
+#: include/nav.php:118
 msgid "Search site content"
 msgstr "Inhalt der Seite durchsuchen"
 
-#: include/nav.php:137
+#: include/nav.php:136
 msgid "Conversations on this site"
 msgstr "Unterhaltungen auf dieser Seite"
 
-#: include/nav.php:139
+#: include/nav.php:138
 msgid "Conversations on the network"
 msgstr "Unterhaltungen im Netzwerk"
 
-#: include/nav.php:143
+#: include/nav.php:142
 msgid "Directory"
 msgstr "Verzeichnis"
 
-#: include/nav.php:143
+#: include/nav.php:142
 msgid "People directory"
 msgstr "Nutzerverzeichnis"
 
-#: include/nav.php:145
+#: include/nav.php:144
 msgid "Information"
 msgstr "Information"
 
-#: include/nav.php:145
+#: include/nav.php:144
 msgid "Information about this friendica instance"
 msgstr "Informationen zu dieser Friendica Instanz"
 
-#: include/nav.php:155
+#: include/nav.php:154
 msgid "Conversations from your friends"
 msgstr "Unterhaltungen Deiner Kontakte"
 
-#: include/nav.php:156
+#: include/nav.php:155
 msgid "Network Reset"
 msgstr "Netzwerk zurücksetzen"
 
-#: include/nav.php:156
+#: include/nav.php:155
 msgid "Load Network page with no filters"
 msgstr "Netzwerk-Seite ohne Filter laden"
 
-#: include/nav.php:163
+#: include/nav.php:162
 msgid "Friend Requests"
 msgstr "Kontaktanfragen"
 
-#: include/nav.php:167
+#: include/nav.php:166
 msgid "See all notifications"
 msgstr "Alle Benachrichtigungen anzeigen"
 
-#: include/nav.php:168
+#: include/nav.php:167
 msgid "Mark all system notifications seen"
 msgstr "Markiere alle Systembenachrichtigungen als gelesen"
 
-#: include/nav.php:172
+#: include/nav.php:171
 msgid "Private mail"
 msgstr "Private E-Mail"
 
-#: include/nav.php:173
+#: include/nav.php:172
 msgid "Inbox"
 msgstr "Eingang"
 
-#: include/nav.php:174
+#: include/nav.php:173
 msgid "Outbox"
 msgstr "Ausgang"
 
-#: include/nav.php:178
+#: include/nav.php:177
 msgid "Manage"
 msgstr "Verwalten"
 
-#: include/nav.php:178
+#: include/nav.php:177
 msgid "Manage other pages"
 msgstr "Andere Seiten verwalten"
 
-#: include/nav.php:183
+#: include/nav.php:182
 msgid "Account settings"
 msgstr "Kontoeinstellungen"
 
-#: include/nav.php:186
+#: include/nav.php:185
 msgid "Manage/Edit Profiles"
 msgstr "Profile Verwalten/Editieren"
 
-#: include/nav.php:188
+#: include/nav.php:187
 msgid "Manage/edit friends and contacts"
 msgstr "Freunde und Kontakte verwalten/editieren"
 
-#: include/nav.php:195
+#: include/nav.php:194
 msgid "Site setup and configuration"
 msgstr "Einstellungen der Seite und Konfiguration"
 
-#: include/nav.php:199
+#: include/nav.php:198
 msgid "Navigation"
 msgstr "Navigation"
 
-#: include/nav.php:199
+#: include/nav.php:198
 msgid "Site map"
 msgstr "Sitemap"
 
 #: include/api.php:321 include/api.php:332 include/api.php:441
-#: include/api.php:1141 include/api.php:1143
+#: include/api.php:1160 include/api.php:1162
 msgid "User not found."
 msgstr "Nutzer nicht gefunden."
 
-#: include/api.php:795
+#: include/api.php:808
 #, php-format
 msgid "Daily posting limit of %d posts reached. The post was rejected."
 msgstr "Das tägliche Nachrichtenlimit von %d Nachrichten wurde erreicht. Die Nachtricht wurde verworfen."
 
-#: include/api.php:814
+#: include/api.php:827
 #, php-format
 msgid "Weekly posting limit of %d posts reached. The post was rejected."
 msgstr "Das wöchentliche Nachrichtenlimit von %d Nachrichten wurde erreicht. Die Nachtricht wurde verworfen."
 
-#: include/api.php:833
+#: include/api.php:846
 #, php-format
 msgid "Monthly posting limit of %d posts reached. The post was rejected."
 msgstr "Das monatliche Nachrichtenlimit von %d Nachrichten wurde erreicht. Die Nachtricht wurde verworfen."
 
-#: include/api.php:1350
+#: include/api.php:1369
 msgid "There is no status with this id."
 msgstr "Es gibt keinen Status mit dieser ID."
 
-#: include/api.php:1424
+#: include/api.php:1443
 msgid "There is no conversation with this id."
 msgstr "Es existiert keine Unterhaltung mit dieser ID."
 
-#: include/api.php:1703
+#: include/api.php:1722
 msgid "Invalid item."
 msgstr "Ungültiges Objekt"
 
-#: include/api.php:1713
+#: include/api.php:1732
 msgid "Invalid action. "
 msgstr "Ungültige Aktion"
 
-#: include/api.php:1721
+#: include/api.php:1740
 msgid "DB error"
 msgstr "DB Error"
 
@@ -7600,33 +7729,38 @@ msgstr "Konnte diese E-Mail-Adresse nicht verwenden."
 msgid "Your \"nickname\" can only contain \"a-z\", \"0-9\" and \"_\"."
 msgstr "Dein Spitzname darf nur aus Buchstaben und Zahlen (\"a-z\",\"0-9\" und \"_\") bestehen."
 
-#: include/user.php:146 include/user.php:244
+#: include/user.php:147 include/user.php:245
 msgid "Nickname is already registered. Please choose another."
 msgstr "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen."
 
-#: include/user.php:156
+#: include/user.php:157
 msgid ""
 "Nickname was once registered here and may not be re-used. Please choose "
 "another."
 msgstr "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen."
 
-#: include/user.php:172
+#: include/user.php:173
 msgid "SERIOUS ERROR: Generation of security keys failed."
 msgstr "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden."
 
-#: include/user.php:230
+#: include/user.php:231
 msgid "An error occurred during registration. Please try again."
 msgstr "Während der Anmeldung ist ein Fehler aufgetreten. Bitte versuche es noch einmal."
 
-#: include/user.php:265
+#: include/user.php:256 view/theme/clean/config.php:56
+#: view/theme/duepuntozero/config.php:44
+msgid "default"
+msgstr "Standard"
+
+#: include/user.php:266
 msgid "An error occurred creating your default profile. Please try again."
 msgstr "Bei der Erstellung des Standardprofils ist ein Fehler aufgetreten. Bitte versuche es noch einmal."
 
-#: include/user.php:297 include/user.php:301 include/profile_selectors.php:42
+#: include/user.php:299 include/user.php:303 include/profile_selectors.php:42
 msgid "Friends"
 msgstr "Freunde"
 
-#: include/user.php:385
+#: include/user.php:387
 #, php-format
 msgid ""
 "\n"
@@ -7635,7 +7769,7 @@ msgid ""
 "\t"
 msgstr "\nHallo %1$s,\n\ndanke für Deine Registrierung auf %2$s. Dein Account wurde eingerichtet."
 
-#: include/user.php:389
+#: include/user.php:391
 #, php-format
 msgid ""
 "\n"
@@ -7669,15 +7803,15 @@ msgstr "\nDie Anmelde-Details sind die folgenden:\n\tAdresse der Seite:\t%3$s\n\
 msgid "Sharing notification from Diaspora network"
 msgstr "Freigabe-Benachrichtigung von Diaspora"
 
-#: include/diaspora.php:2573
+#: include/diaspora.php:2574
 msgid "Attachments:"
 msgstr "Anhänge:"
 
-#: include/items.php:4917
+#: include/items.php:4871
 msgid "Do you really want to delete this item?"
 msgstr "Möchtest Du wirklich dieses Item löschen?"
 
-#: include/items.php:5192
+#: include/items.php:5146
 msgid "Archives"
 msgstr "Archiv"
 
@@ -8255,6 +8389,7 @@ msgid "Set theme width"
 msgstr "Theme Breite festlegen"
 
 #: view/theme/cleanzero/config.php:86 view/theme/quattro/config.php:68
+#: view/theme/clean/config.php:88
 msgid "Color scheme"
 msgstr "Farbschema"
 
@@ -8308,7 +8443,7 @@ msgstr "Latitude (Y) der Earth Layer"
 
 #: view/theme/diabook/config.php:158 view/theme/diabook/theme.php:130
 #: view/theme/diabook/theme.php:544 view/theme/diabook/theme.php:624
-#: view/theme/vier/config.php:111 view/theme/vier/theme.php:216
+#: view/theme/vier/config.php:111
 msgid "Community Pages"
 msgstr "Foren"
 
@@ -8319,7 +8454,7 @@ msgstr "Earth Layers"
 
 #: view/theme/diabook/config.php:160 view/theme/diabook/theme.php:391
 #: view/theme/diabook/theme.php:626 view/theme/vier/config.php:112
-#: view/theme/vier/theme.php:128
+#: view/theme/vier/theme.php:156
 msgid "Community Profiles"
 msgstr "Community-Profile"
 
@@ -8330,19 +8465,19 @@ msgstr "Hilfe oder @NewHere"
 
 #: view/theme/diabook/config.php:162 view/theme/diabook/theme.php:606
 #: view/theme/diabook/theme.php:628 view/theme/vier/config.php:114
-#: view/theme/vier/theme.php:334
+#: view/theme/vier/theme.php:377
 msgid "Connect Services"
 msgstr "Verbinde Dienste"
 
 #: view/theme/diabook/config.php:163 view/theme/diabook/theme.php:523
 #: view/theme/diabook/theme.php:629 view/theme/vier/config.php:115
-#: view/theme/vier/theme.php:175
+#: view/theme/vier/theme.php:203
 msgid "Find Friends"
 msgstr "Freunde finden"
 
 #: view/theme/diabook/config.php:164 view/theme/diabook/theme.php:412
 #: view/theme/diabook/theme.php:630 view/theme/vier/config.php:116
-#: view/theme/vier/theme.php:157
+#: view/theme/vier/theme.php:185
 msgid "Last users"
 msgstr "Letzte Nutzer"
 
@@ -8364,7 +8499,7 @@ msgstr "Deine Kontakte"
 msgid "Your personal photos"
 msgstr "Deine privaten Fotos"
 
-#: view/theme/diabook/theme.php:524 view/theme/vier/theme.php:176
+#: view/theme/diabook/theme.php:524 view/theme/vier/theme.php:204
 msgid "Local Directory"
 msgstr "Lokales Verzeichnis"
 
@@ -8376,6 +8511,56 @@ msgstr "Zoomfaktor der Earth Layer"
 msgid "Show/hide boxes at right-hand column:"
 msgstr "Rahmen auf der rechten Seite anzeigen/verbergen"
 
+#: view/theme/clean/config.php:57
+msgid "Midnight"
+msgstr "Mitternacht"
+
+#: view/theme/clean/config.php:58
+msgid "Zenburn"
+msgstr "Zenburn"
+
+#: view/theme/clean/config.php:59
+msgid "Bootstrap"
+msgstr "Bootstrap"
+
+#: view/theme/clean/config.php:60
+msgid "Shades of Pink"
+msgstr "Shades of Pink"
+
+#: view/theme/clean/config.php:61
+msgid "Lime and Orange"
+msgstr "Lime and Orange"
+
+#: view/theme/clean/config.php:62
+msgid "GeoCities Retro"
+msgstr "GeoCities Retro"
+
+#: view/theme/clean/config.php:86
+msgid "Background Image"
+msgstr "Hintergrundbild"
+
+#: view/theme/clean/config.php:86
+msgid ""
+"The URL to a picture (e.g. from your photo album) that should be used as "
+"background image."
+msgstr "Die URL eines Bildes (z.B. aus deinem Fotoalbum), das als Hintergrundbild verwendet werden soll."
+
+#: view/theme/clean/config.php:87
+msgid "Background Color"
+msgstr "Hintergrundfarbe"
+
+#: view/theme/clean/config.php:87
+msgid "HEX value for the background color. Don't include the #"
+msgstr "HEX Wert der Hintergrundfarbe. Gib die # nicht mit an."
+
+#: view/theme/clean/config.php:89
+msgid "font size"
+msgstr "Schriftgröße"
+
+#: view/theme/clean/config.php:89
+msgid "base font size for your interface"
+msgstr "Basis-Schriftgröße für dein Interface."
+
 #: view/theme/vier/config.php:64
 msgid "Comma separated list of helper forums"
 msgstr "Komma-Separierte Liste der Helfer-Foren"
@@ -8384,11 +8569,7 @@ msgstr "Komma-Separierte Liste der Helfer-Foren"
 msgid "Set style"
 msgstr "Stil auswählen"
 
-#: view/theme/vier/theme.php:220
-msgid "External link to forum"
-msgstr "Externer Link zum Forum"
-
-#: view/theme/vier/theme.php:252
+#: view/theme/vier/theme.php:295
 msgid "Quick Start"
 msgstr "Schnell-Start"
 
index dce2bc65d6c6b37a89ed3e1a0550d7de022b5618..cfb5df6fed1a526a069b189b6d8ea7055b79b87f 100644 (file)
@@ -196,14 +196,16 @@ $a->strings["Keep this window open until done."] = "Lasse dieses Fenster offen,
 $a->strings["Save to Folder:"] = "In diesem Ordner speichern:";
 $a->strings["- select -"] = "- auswählen -";
 $a->strings["Save"] = "Speichern";
+$a->strings["Submit Request"] = "Anfrage abschicken";
 $a->strings["You already added this contact."] = "Du hast den Kontakt bereits hinzugefügt.";
+$a->strings["Diaspora support isn't enabled. Contact can't be added."] = "Diaspora Unterstützung ist nicht aktiviert. Der Kontakt kann nicht zugefügt werden.";
+$a->strings["OStatus support is disabled. Contact can't be added."] = "OStatus Unterstützung ist nicht aktiviert. Der Kontakt kann nicht zugefügt werden.";
 $a->strings["The network type couldn't be detected. Contact can't be added."] = "Der Netzwerktype wurde nicht erkannt. Der Kontakt kann nicht hinzugefügt werden.";
 $a->strings["Please answer the following:"] = "Bitte beantworte folgendes:";
 $a->strings["Does %s know you?"] = "Kennt %s Dich?";
 $a->strings["No"] = "Nein";
 $a->strings["Add a personal note:"] = "Eine persönliche Notiz beifügen:";
 $a->strings["Your Identity Address:"] = "Adresse Deines Profils:";
-$a->strings["Submit Request"] = "Anfrage abschicken";
 $a->strings["Location:"] = "Ort:";
 $a->strings["About:"] = "Ãœber:";
 $a->strings["Tags:"] = "Tags";
@@ -285,7 +287,7 @@ $a->strings["Forgot your Password?"] = "Hast Du Dein Passwort vergessen?";
 $a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Gib Deine E-Mail-Adresse an und fordere ein neues Passwort an. Es werden Dir dann weitere Informationen per Mail zugesendet.";
 $a->strings["Nickname or Email: "] = "Spitzname oder E-Mail:";
 $a->strings["Reset"] = "Zurücksetzen";
-$a->strings["event"] = "Veranstaltung";
+$a->strings["event"] = "Event";
 $a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s mag %2\$ss %3\$s";
 $a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s mag %2\$ss %3\$s nicht";
 $a->strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s nimmt an %2\$ss %3\$s teil.";
@@ -295,6 +297,7 @@ $a->strings["{0} wants to be your friend"] = "{0} möchte mit Dir in Kontakt tre
 $a->strings["{0} sent you a message"] = "{0} schickte Dir eine Nachricht";
 $a->strings["{0} requested registration"] = "{0} möchte sich registrieren";
 $a->strings["No contacts."] = "Keine Kontakte.";
+$a->strings["Forum"] = "Forum";
 $a->strings["View Contacts"] = "Kontakte anzeigen";
 $a->strings["Invalid request identifier."] = "Invalid request identifier.";
 $a->strings["Discard"] = "Verwerfen";
@@ -370,29 +373,29 @@ $a->strings["Upload photo"] = "Foto hochladen";
 $a->strings["Insert web link"] = "Einen Link einfügen";
 $a->strings["Please wait"] = "Bitte warten";
 $a->strings["No messages."] = "Keine Nachrichten.";
+$a->strings["Message not available."] = "Nachricht nicht verfügbar.";
+$a->strings["Delete message"] = "Nachricht löschen";
+$a->strings["Delete conversation"] = "Unterhaltung löschen";
+$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Sichere Kommunikation ist nicht verfügbar. <strong>Eventuell</strong> kannst Du auf der Profilseite des Absenders antworten.";
+$a->strings["Send Reply"] = "Antwort senden";
 $a->strings["Unknown sender - %s"] = "'Unbekannter Absender - %s";
 $a->strings["You and %s"] = "Du und %s";
 $a->strings["%s and You"] = "%s und Du";
-$a->strings["Delete conversation"] = "Unterhaltung löschen";
 $a->strings["D, d M Y - g:i A"] = "D, d. M Y - g:i A";
 $a->strings["%d message"] = array(
        0 => "%d Nachricht",
        1 => "%d Nachrichten",
 );
-$a->strings["Message not available."] = "Nachricht nicht verfügbar.";
-$a->strings["Delete message"] = "Nachricht löschen";
-$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Sichere Kommunikation ist nicht verfügbar. <strong>Eventuell</strong> kannst Du auf der Profilseite des Absenders antworten.";
-$a->strings["Send Reply"] = "Antwort senden";
 $a->strings["[Embedded content - reload page to view]"] = "[Eingebetteter Inhalt - Seite neu laden zum Betrachten]";
 $a->strings["Contact settings applied."] = "Einstellungen zum Kontakt angewandt.";
 $a->strings["Contact update failed."] = "Konnte den Kontakt nicht aktualisieren.";
-$a->strings["Repair Contact Settings"] = "Kontakteinstellungen reparieren";
 $a->strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working."] = "<strong>ACHTUNG: Das sind Experten-Einstellungen!</strong> Wenn Du etwas Falsches eingibst, funktioniert die Kommunikation mit diesem Kontakt evtl. nicht mehr.";
 $a->strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "Bitte nutze den Zurück-Button Deines Browsers <strong>jetzt</strong>, wenn Du Dir unsicher bist, was Du tun willst.";
-$a->strings["Return to contact editor"] = "Zurück zum Kontakteditor";
 $a->strings["No mirroring"] = "Kein Spiegeln";
 $a->strings["Mirror as forwarded posting"] = "Spiegeln als weitergeleitete Beiträge";
 $a->strings["Mirror as my own posting"] = "Spiegeln als meine eigenen Beiträge";
+$a->strings["Repair Contact Settings"] = "Kontakteinstellungen reparieren";
+$a->strings["Return to contact editor"] = "Zurück zum Kontakteditor";
 $a->strings["Refetch contact data"] = "Kontaktdaten neu laden";
 $a->strings["Name"] = "Name";
 $a->strings["Account Nickname"] = "Konto-Spitzname";
@@ -409,11 +412,12 @@ $a->strings["Mark this contact as remote_self, this will cause friendica to repo
 $a->strings["Login"] = "Anmeldung";
 $a->strings["The post was created"] = "Der Beitrag wurde angelegt";
 $a->strings["Access denied."] = "Zugriff verweigert.";
-$a->strings["People Search - %s"] = "Personensuche - %s";
 $a->strings["Connect"] = "Verbinden";
 $a->strings["View Profile"] = "Profil anschauen";
+$a->strings["People Search - %s"] = "Personensuche - %s";
 $a->strings["No matches"] = "Keine Ãœbereinstimmungen";
 $a->strings["Photos"] = "Bilder";
+$a->strings["Contact Photos"] = "Kontaktbilder";
 $a->strings["Files"] = "Dateien";
 $a->strings["Contacts who are not members of a group"] = "Kontakte, die keiner Gruppe zugewiesen sind";
 $a->strings["Theme settings updated."] = "Themeneinstellungen aktualisiert.";
@@ -559,6 +563,8 @@ $a->strings["Enable OStatus support"] = "OStatus Unterstützung aktivieren";
 $a->strings["Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed."] = "Biete die eingebaute OStatus (iStatusNet, GNU Social, etc.) Unterstützung an. Jede Kommunikation in OStatus ist Ã¶ffentlich, Privatsphäre Warnungen werden nur bei Bedarf angezeigt.";
 $a->strings["OStatus conversation completion interval"] = "Intervall zum Vervollständigen von OStatus Unterhaltungen";
 $a->strings["How often shall the poller check for new entries in OStatus conversations? This can be a very ressource task."] = "Wie oft soll der Poller checken ob es neue Nachrichten in OStatus Unterhaltungen gibt die geladen werden müssen. Je nach Anzahl der OStatus Kontakte könnte dies ein sehr Ressourcen lastiger Job sein.";
+$a->strings["OStatus support can only be enabled if threading is enabled."] = "OStatus Unterstützung kann nur aktiviert werden wenn \"Threading\" aktiviert ist. ";
+$a->strings["Diaspora support can't be enabled because Friendica was installed into a sub directory."] = "Diaspora Unterstützung kann nicht aktiviert werden da Friendica in ein Unterverzeichnis installiert ist.";
 $a->strings["Enable Diaspora support"] = "Diaspora Unterstützung aktivieren";
 $a->strings["Provide built-in Diaspora network compatibility."] = "Verwende die eingebaute Diaspora-Verknüpfung.";
 $a->strings["Only allow Friendica contacts"] = "Nur Friendica-Kontakte erlauben";
@@ -577,12 +583,14 @@ $a->strings["Maximum Load Average"] = "Maximum Load Average";
 $a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale Systemlast bevor Verteil- und Empfangsprozesse verschoben werden - Standard 50";
 $a->strings["Maximum Load Average (Frontend)"] = "Maximum Load Average (Frontend)";
 $a->strings["Maximum system load before the frontend quits service - default 50."] = "Maximale Systemlast bevor Vordergrundprozesse pausiert werden - Standard 50.";
+$a->strings["Maximum table size for optimization"] = "Maximale Tabellengröße zur Optimierung";
+$a->strings["Maximum table size (in MB) for the automatic optimization - default 100 MB. Enter -1 to disable it."] = "Maximale Tabellengröße (in MB) für die automatische Optimierung - Standard 100 MB. Gib -1 für Deaktivierung ein.";
 $a->strings["Periodical check of global contacts"] = "Regelmäßig globale Kontakte Ã¼berprüfen";
 $a->strings["If enabled, the global contacts are checked periodically for missing or outdated data and the vitality of the contacts and servers."] = "Wenn diese Option aktiviert ist, werden die globalen Kontakte regelmäßig auf fehlende oder veraltete Daten sowie auf Erreichbarkeit des Kontakts und des Servers Ã¼berprüft.";
 $a->strings["Days between requery"] = "Tage zwischen erneuten Abfragen";
 $a->strings["Number of days after which a server is requeried for his contacts."] = "Legt das Abfrageintervall fest, nachdem ein Server erneut nach Kontakten abgefragt werden soll.";
 $a->strings["Discover contacts from other servers"] = "Neue Kontakte auf anderen Servern entdecken";
-$a->strings["Periodically query other servers for contacts. You can choose between 'users': the users on the remote system, 'Global Contacts': active contacts that are known on the system. The fallback is meant for Redmatrix servers and older friendica servers, where global contacts weren't available. The fallback increases the server load, so the recommened setting is 'Users, Global Contacts'."] = "Regelmäßig andere Server nach potentiellen Kontakten absuchen. Du kannst zwischen 'Nutzern', den tatsächlichen Nutzern des anderen Systems und 'globalen Kontakten', aktiven Kontakten die auf dem System bekannt sind, wählen. Der Fallback-Mechanismus ist für aältere Friendica und Redmatrix Server gedacht, bei denen globale Kontakte noch nicht verfügbar sind. Durch den Fallbackmodus entsteht auf deinem Server eine wesentlich höhere Last, empfohlen wird der Modus 'Nutzer, globale Kontakte'.";
+$a->strings["Periodically query other servers for contacts. You can choose between 'users': the users on the remote system, 'Global Contacts': active contacts that are known on the system. The fallback is meant for Redmatrix servers and older friendica servers, where global contacts weren't available. The fallback increases the server load, so the recommened setting is 'Users, Global Contacts'."] = "Regelmäßig andere Server nach potentiellen Kontakten absuchen. Du kannst zwischen 'Nutzern', den tatsächlichen Nutzern des anderen Systems und 'globalen Kontakten', aktiven Kontakten die auf dem System bekannt sind, wählen. Der Fallback-Mechanismus ist für Ã¤ltere Friendica und Redmatrix Server gedacht, bei denen globale Kontakte noch nicht verfügbar sind. Durch den Fallbackmodus entsteht auf deinem Server eine wesentlich höhere Last, empfohlen wird der Modus 'Nutzer, globale Kontakte'.";
 $a->strings["Timeframe for fetching global contacts"] = "Zeitfenster für globale Kontakte";
 $a->strings["When the discovery is activated, this value defines the timeframe for the activity of the global contacts that are fetched from other servers."] = "Wenn die Entdeckung neuer Kontakte aktiv ist, definiert dieses Zeitfenster den Zeitraum in dem globale Kontakte als aktiv gelten und von anderen Servern importiert werden.";
 $a->strings["Search the local directory"] = "Lokales Verzeichnis durchsuchen";
@@ -675,8 +683,10 @@ $a->strings["Enable"] = "Einschalten";
 $a->strings["Toggle"] = "Umschalten";
 $a->strings["Author: "] = "Autor:";
 $a->strings["Maintainer: "] = "Betreuer:";
+$a->strings["Reload active plugins"] = "Aktive Plugins neu laden";
 $a->strings["No themes found."] = "Keine Themen gefunden.";
 $a->strings["Screenshot"] = "Bildschirmfoto";
+$a->strings["Reload active themes"] = "Aktives Theme neu laden";
 $a->strings["[Experimental]"] = "[Experimentell]";
 $a->strings["[Unsupported]"] = "[Nicht unterstützt]";
 $a->strings["Log settings updated."] = "Protokolleinstellungen aktualisiert.";
@@ -713,11 +723,10 @@ $a->strings["Private messages to this group are at risk of public disclosure."]
 $a->strings["No such group"] = "Es gibt keine solche Gruppe";
 $a->strings["Group is empty"] = "Gruppe ist leer";
 $a->strings["Group: %s"] = "Gruppe: %s";
-$a->strings["Contact: %s"] = "Kontakt: %s";
 $a->strings["Private messages to this person are at risk of public disclosure."] = "Private Nachrichten an diese Person könnten an die Ã–ffentlichkeit gelangen.";
 $a->strings["Invalid contact."] = "Ungültiger Kontakt.";
-$a->strings["Friends of %s"] = "Freunde von %s";
 $a->strings["No friends to display."] = "Keine Freunde zum Anzeigen.";
+$a->strings["Friends of %s"] = "Freunde von %s";
 $a->strings["Event can not end before it has started."] = "Die Veranstaltung kann nicht enden bevor sie beginnt.";
 $a->strings["Event title and start time are required."] = "Der Veranstaltungstitel und die Anfangszeit müssen angegeben werden.";
 $a->strings["Sun"] = "So";
@@ -779,6 +788,8 @@ $a->strings["Description:"] = "Beschreibung";
 $a->strings["Title:"] = "Titel:";
 $a->strings["Share this event"] = "Veranstaltung teilen";
 $a->strings["Preview"] = "Vorschau";
+$a->strings["Credits"] = "Credits";
+$a->strings["Friendica is a community project, that would not be possible without the help of many people. Here is a list of those who have contributed to the code or the translation of Friendica. Thank you all!"] = "Friendica ist ein Gemeinschaftsprojekt, das nicht ohne die Hilfe vieler Personen möglich wäre. Hier ist eine Aufzählung der Personen, die zum Code oder der Ãœbersetzung beigetragen haben. Dank an alle !";
 $a->strings["Select"] = "Auswählen";
 $a->strings["View %s's profile @ %s"] = "Das Profil von %s auf %s betrachten.";
 $a->strings["%s from %s"] = "%s von %s";
@@ -844,7 +855,7 @@ $a->strings["Your account email address must match this in order to use the web
 $a->strings["Please select a default timezone for your website"] = "Bitte wähle die Standardzeitzone Deiner Webseite";
 $a->strings["Site settings"] = "Server-Einstellungen";
 $a->strings["Could not find a command line version of PHP in the web server PATH."] = "Konnte keine Kommandozeilenversion von PHP im PATH des Servers finden.";
-$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"] = "Wenn Du keine Kommandozeilen Version von PHP auf Deinem Server installiert hast, kannst Du keine Hintergrundprozesse via cron starten. Siehe <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See <a href='https://github.com/friendica/friendica/blob/master/doc/Install.md#set-up-the-poller'>'Setup the poller'</a>"] = "Wenn Du keine Kommandozeilen-Version von PHP auf Deinem Server installiert hast, kannst Du keine Hintergrundprozesse via cron starten. Siehe <a href='https://github.com/friendica/friendica/blob/master/doc/Install.md#set-up-the-poller'>'Setup the poller'</a>";
 $a->strings["PHP executable path"] = "Pfad zu PHP";
 $a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Gib den kompletten Pfad zur ausführbaren Datei von PHP an. Du kannst dieses Feld auch frei lassen und mit der Installation fortfahren.";
 $a->strings["Command line PHP"] = "Kommandozeilen-PHP";
@@ -871,6 +882,8 @@ $a->strings["Error: openssl PHP module required but not installed."] = "Fehler:
 $a->strings["Error: mysqli PHP module required but not installed."] = "Fehler: Das mysqli-Modul von PHP ist nicht installiert.";
 $a->strings["Error: mb_string PHP module required but not installed."] = "Fehler: mb_string PHP Module wird benötigt ist aber nicht installiert.";
 $a->strings["Error: mcrypt PHP module required but not installed."] = "Fehler: Das mcrypt Modul von PHP ist nicht installiert";
+$a->strings["Function mcrypt_create_iv() is not defined. This is needed to enable RINO2 encryption layer."] = "Die Funktion mcrypt_create_iv() ist nicht festgelegt. Dies ist notwendig um den RINO2-Encryption-Layer zu aktivieren.";
+$a->strings["mcrypt_create_iv() function"] = "mcrypt_create_iv() function";
 $a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "Der Installationswizard muss in der Lage sein, eine Datei im Stammverzeichnis Deines Webservers anzulegen, ist allerdings derzeit nicht in der Lage, dies zu tun.";
 $a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "In den meisten Fällen ist dies ein Problem mit den Schreibrechten. Der Webserver könnte keine Schreiberlaubnis haben, selbst wenn Du sie hast.";
 $a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Friendica top folder."] = "Nachdem Du alles ausgefüllt hast, erhältst Du einen Text, den Du in eine Datei namens .htconfig.php in Deinem Friendica-Wurzelverzeichnis kopieren musst.";
@@ -883,6 +896,8 @@ $a->strings["Note: as a security measure, you should give the web server write a
 $a->strings["view/smarty3 is writable"] = "view/smarty3 ist schreibbar";
 $a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "Umschreiben der URLs in der .htaccess funktioniert nicht. Ãœberprüfe die Konfiguration des Servers.";
 $a->strings["Url rewrite is working"] = "URL rewrite funktioniert";
+$a->strings["ImageMagick PHP extension is installed"] = "ImageMagick PHP Erweiterung ist installiert";
+$a->strings["ImageMagick supports GIF"] = "ImageMagick unterstützt GIF";
 $a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Die Konfigurationsdatei \".htconfig.php\" konnte nicht angelegt werden. Bitte verwende den angefügten Text, um die Datei im Stammverzeichnis Deiner Friendica-Installation zu erzeugen.";
 $a->strings["<h1>What next</h1>"] = "<h1>Wie geht es weiter?</h1>";
 $a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WICHTIG: Du musst [manuell] einen Cronjob (o.ä.) für den Poller einrichten.";
@@ -900,9 +915,9 @@ $a->strings["Sorry, maybe your upload is bigger than the PHP configuration allow
 $a->strings["Or - did you try to upload an empty file?"] = "Oder - hast Du versucht, eine leere Datei hochzuladen?";
 $a->strings["File exceeds size limit of %s"] = "Die Datei ist größer als das erlaubte Limit von %s";
 $a->strings["File upload failed."] = "Hochladen der Datei fehlgeschlagen.";
-$a->strings["Profile Match"] = "Profilübereinstimmungen";
 $a->strings["No keywords to match. Please add keywords to your default profile."] = "Keine Schlüsselwörter zum Abgleichen gefunden. Bitte füge einige Schlüsselwörter zu Deinem Standardprofil hinzu.";
 $a->strings["is interested in:"] = "ist interessiert an:";
+$a->strings["Profile Match"] = "Profilübereinstimmungen";
 $a->strings["link"] = "Link";
 $a->strings["Not available."] = "Nicht verfügbar.";
 $a->strings["Community"] = "Gemeinschaft";
@@ -1038,6 +1053,8 @@ $a->strings["Basic Settings"] = "Grundeinstellungen";
 $a->strings["Full Name:"] = "Kompletter Name:";
 $a->strings["Email Address:"] = "E-Mail-Adresse:";
 $a->strings["Your Timezone:"] = "Deine Zeitzone:";
+$a->strings["Your Language:"] = "Deine Sprache:";
+$a->strings["Set the language we use to show you friendica interface and to send you emails"] = "Wähle die Sprache, in der wir Dir die Friendica-Oberfläche präsentieren sollen und Dir E-Mail schicken";
 $a->strings["Default Post Location:"] = "Standardstandort:";
 $a->strings["Use Browser Location:"] = "Standort des Browsers verwenden:";
 $a->strings["Security and Privacy Settings"] = "Sicherheits- und Privatsphäre-Einstellungen";
@@ -1112,6 +1129,7 @@ $a->strings["StatusNet/Federated Social Web"] = "StatusNet/Federated Social Web"
 $a->strings[" - please do not use this form.  Instead, enter %s into your Diaspora search bar."] = " - bitte verwende dieses Formular nicht. Stattdessen suche nach %s in Deiner Diaspora Suchleiste.";
 $a->strings["Registration successful. Please check your email for further instructions."] = "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet.";
 $a->strings["Failed to send email message. Here your accout details:<br> login: %s<br> password: %s<br><br>You can change your password after login."] = "Versenden der E-Mail fehlgeschlagen. Hier sind Deine Account Details:\n\nLogin: %s\nPasswort: %s\n\nDu kannst das Passwort nach dem Anmelden Ã¤ndern.";
+$a->strings["Registration successful."] = "Registrierung erfolgreich.";
 $a->strings["Your registration can not be processed."] = "Deine Registrierung konnte nicht verarbeitet werden.";
 $a->strings["Your registration is pending approval by the site owner."] = "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden.";
 $a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Die maximale Anzahl täglicher Registrierungen auf dieser Seite wurde Ã¼berschritten. Bitte versuche es morgen noch einmal.";
@@ -1121,7 +1139,7 @@ $a->strings["Your OpenID (optional): "] = "Deine OpenID (optional): ";
 $a->strings["Include your profile in member directory?"] = "Soll Dein Profil im Nutzerverzeichnis angezeigt werden?";
 $a->strings["Membership on this site is by invitation only."] = "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich.";
 $a->strings["Your invitation ID: "] = "ID Deiner Einladung: ";
-$a->strings["Your Full Name (e.g. Joe Smith): "] = "Vollständiger Name (z.B. Max Mustermann): ";
+$a->strings["Your Full Name (e.g. Joe Smith, real or real-looking): "] = "Dein vollständiger Name (z.B. Hans Mustermann, echt oder echt erscheinend):";
 $a->strings["Your Email Address: "] = "Deine E-Mail-Adresse: ";
 $a->strings["Leave empty for an auto generated password."] = "Leer lassen um das Passwort automatisch zu generieren.";
 $a->strings["Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be '<strong>nickname@\$sitename</strong>'."] = "Wähle einen Spitznamen für Dein Profil. Dieser muss mit einem Buchstaben beginnen. Die Adresse Deines Profils auf dieser Seite wird '<strong>spitzname@\$sitename</strong>' sein.";
@@ -1136,13 +1154,14 @@ $a->strings["Only one search per minute is permitted for not logged in users."]
 $a->strings["Search"] = "Suche";
 $a->strings["Items tagged with: %s"] = "Beiträge markiert mit: %s";
 $a->strings["Search results for: %s"] = "Suchergebnisse für: %s";
-$a->strings["Global Directory"] = "Weltweites Verzeichnis";
-$a->strings["Find on this site"] = "Auf diesem Server suchen";
-$a->strings["Site Directory"] = "Verzeichnis";
 $a->strings["Age: "] = "Alter: ";
 $a->strings["Gender: "] = "Geschlecht:";
 $a->strings["Status:"] = "Status:";
 $a->strings["Homepage:"] = "Homepage:";
+$a->strings["Global Directory"] = "Weltweites Verzeichnis";
+$a->strings["Find on this site"] = "Auf diesem Server suchen";
+$a->strings["Finding:"] = "Funde:";
+$a->strings["Site Directory"] = "Verzeichnis";
 $a->strings["No entries (some entries may be hidden)."] = "Keine Einträge (einige Einträge könnten versteckt sein).";
 $a->strings["No potential page delegates located."] = "Keine potentiellen Bevollmächtigten für die Seite gefunden.";
 $a->strings["Delegate Page Management"] = "Delegiere das Management für die Seite";
@@ -1152,8 +1171,8 @@ $a->strings["Existing Page Delegates"] = "Vorhandene Bevollmächtigte für die S
 $a->strings["Potential Delegates"] = "Potentielle Bevollmächtigte";
 $a->strings["Add"] = "Hinzufügen";
 $a->strings["No entries."] = "Keine Einträge.";
-$a->strings["Common Friends"] = "Gemeinsame Freunde";
 $a->strings["No contacts in common."] = "Keine gemeinsamen Kontakte.";
+$a->strings["Common Friends"] = "Gemeinsame Freunde";
 $a->strings["Export account"] = "Account exportieren";
 $a->strings["Export your account info and contacts. Use this to make a backup of your account and/or to move it to another server."] = "Exportiere Deine Accountinformationen und Kontakte. Verwende dies um ein Backup Deines Accounts anzulegen und/oder damit auf einen anderen Server umzuziehen.";
 $a->strings["Export all"] = "Alles exportieren";
@@ -1162,9 +1181,9 @@ $a->strings["%1\$s is currently %2\$s"] = "%1\$s ist momentan %2\$s";
 $a->strings["Mood"] = "Stimmung";
 $a->strings["Set your current mood and tell your friends"] = "Wähle Deine aktuelle Stimmung und erzähle sie Deinen Freunden";
 $a->strings["Do you really want to delete this suggestion?"] = "Möchtest Du wirklich diese Empfehlung löschen?";
-$a->strings["Friend Suggestions"] = "Kontaktvorschläge";
 $a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Keine Vorschläge verfügbar. Falls der Server frisch aufgesetzt wurde, versuche es bitte in 24 Stunden noch einmal.";
 $a->strings["Ignore/Hide"] = "Ignorieren/Verbergen";
+$a->strings["Friend Suggestions"] = "Kontaktvorschläge";
 $a->strings["Profile deleted."] = "Profil gelöscht.";
 $a->strings["Profile-"] = "Profil-";
 $a->strings["New profile created."] = "Neues Profil angelegt.";
@@ -1191,6 +1210,7 @@ $a->strings[" - Visit %1\$s's %2\$s"] = " â€“ %1\$ss %2\$s besuchen";
 $a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s hat folgendes aktualisiert %2\$s, verändert wurde %3\$s.";
 $a->strings["Hide contacts and friends:"] = "Kontakte und Freunde verbergen";
 $a->strings["Hide your contact/friend list from viewers of this profile?"] = "Liste der Kontakte vor Betrachtern dieses Profils verbergen?";
+$a->strings["Show more profile fields:"] = "Zeige mehr Profil-Felder:";
 $a->strings["Edit Profile Details"] = "Profil bearbeiten";
 $a->strings["Change Profile Photo"] = "Profilbild Ã¤ndern";
 $a->strings["View this profile"] = "Dieses Profil anzeigen";
@@ -1314,7 +1334,6 @@ $a->strings["You are cordially invited to join me and other close friends on Fri
 $a->strings["You will need to supply this invitation code: \$invite_code"] = "Du benötigst den folgenden Einladungscode: \$invite_code";
 $a->strings["Once you have registered, please connect with me via my profile page at:"] = "Sobald Du registriert bist, kontaktiere mich bitte auf meiner Profilseite:";
 $a->strings["For more information about the Friendica project and why we feel it is important, please visit http://friendica.com"] = "Für weitere Informationen Ã¼ber das Friendica Projekt und warum wir es für ein wichtiges Projekt halten, besuche bitte http://friendica.com";
-$a->strings["Contact Photos"] = "Kontaktbilder";
 $a->strings["Photo Albums"] = "Fotoalben";
 $a->strings["Recent Photos"] = "Neueste Fotos";
 $a->strings["Upload New Photos"] = "Neue Fotos hochladen";
@@ -1372,7 +1391,7 @@ $a->strings["Please login."] = "Bitte melde Dich an.";
 $a->strings["Move account"] = "Account umziehen";
 $a->strings["You can import an account from another Friendica server."] = "Du kannst einen Account von einem anderen Friendica Server importieren.";
 $a->strings["You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here."] = "Du musst Deinen Account vom alten Server exportieren und hier hochladen. Wir stellen Deinen alten Account mit all Deinen Kontakten wieder her. Wir werden auch versuchen all Deine Freunde darüber zu informieren, dass Du hierher umgezogen bist.";
-$a->strings["This feature is experimental. We can't import contacts from the OStatus network (statusnet/identi.ca) or from Diaspora"] = "Dieses Feature ist experimentell. Wir können keine Kontakte vom OStatus Netzwerk (statusnet/identi.ca) oder von Diaspora importieren";
+$a->strings["This feature is experimental. We can't import contacts from the OStatus network (GNU Social/Statusnet) or from Diaspora"] = "Dieses Feature ist experimentell. Wir können keine Kontakte vom OStatus Netzwerk (GNU Social/Statusnet) oder von Diaspora importieren";
 $a->strings["Account file"] = "Account Datei";
 $a->strings["To export your account, go to \"Settings->Export your personal data\" and select \"Export account\""] = "Um Deinen Account zu exportieren, rufe \"Einstellungen -> Persönliche Daten exportieren\" auf und wähle \"Account exportieren\"";
 $a->strings["Item not available."] = "Beitrag nicht verfügbar.";
@@ -1441,6 +1460,8 @@ $a->strings["Add/remove mention when a fourm page is selected/deselected in ACL
 $a->strings["Network Sidebar Widgets"] = "Widgets für Netzwerk und Seitenleiste";
 $a->strings["Search by Date"] = "Archiv";
 $a->strings["Ability to select posts by date ranges"] = "Möglichkeit die Beiträge nach Datumsbereichen zu sortieren";
+$a->strings["List Forums"] = "Zeige Foren";
+$a->strings["Enable widget to display the forums your are connected with"] = "Aktiviere Widget, um die Foren mit denen du verbunden bist anzuzeigen";
 $a->strings["Group Filter"] = "Gruppen Filter";
 $a->strings["Enable widget to display Network posts only from selected group"] = "Widget zur Darstellung der Beiträge nach Kontaktgruppen sortiert aktivieren.";
 $a->strings["Network Filter"] = "Netzwerk Filter";
@@ -1469,6 +1490,8 @@ $a->strings["Star Posts"] = "Beiträge Markieren";
 $a->strings["Ability to mark special posts with a star indicator"] = "Erlaubt es Beiträge mit einem Stern-Indikator zu  markieren";
 $a->strings["Mute Post Notifications"] = "Benachrichtigungen für Beiträge Stumm schalten";
 $a->strings["Ability to mute notifications for a thread"] = "Möglichkeit Benachrichtigungen für einen Thread abbestellen zu können";
+$a->strings["Advanced Profile Settings"] = "Erweiterte Profil-Einstellungen";
+$a->strings["Show visitors public community forums at the Advanced Profile Page"] = "Zeige Besuchern Ã¶ffentliche Gemeinschafts-Foren auf der Erweiterten Profil-Seite";
 $a->strings["Connect URL missing."] = "Connect-URL fehlt";
 $a->strings["This site is not configured to allow communications with other networks."] = "Diese Seite ist so konfiguriert, dass keine Kommunikation mit anderen Netzwerken erfolgen kann.";
 $a->strings["No compatible communication protocols or feeds were discovered."] = "Es wurden keine kompatiblen Kommunikationsprotokolle oder Feeds gefunden.";
@@ -1485,6 +1508,7 @@ $a->strings["A deleted group with this name was revived. Existing item permissio
 $a->strings["Default privacy group for new contacts"] = "Voreingestellte Gruppe für neue Kontakte";
 $a->strings["Everybody"] = "Alle Kontakte";
 $a->strings["edit"] = "bearbeiten";
+$a->strings["Edit groups"] = "Gruppen bearbeiten";
 $a->strings["Edit group"] = "Gruppe bearbeiten";
 $a->strings["Create a new group"] = "Neue Gruppe erstellen";
 $a->strings["Contacts not in any group"] = "Kontakte in keiner Gruppe";
@@ -1508,6 +1532,7 @@ $a->strings["%s's birthday"] = "%ss Geburtstag";
 $a->strings["Happy Birthday %s"] = "Herzlichen Glückwunsch %s";
 $a->strings["Requested account is not available."] = "Das angefragte Profil ist nicht vorhanden.";
 $a->strings["Edit profile"] = "Profil bearbeiten";
+$a->strings["Atom feed"] = "Atom-Feed";
 $a->strings["Message"] = "Nachricht";
 $a->strings["Profiles"] = "Profile";
 $a->strings["Manage/edit profiles"] = "Profile verwalten/editieren";
@@ -1535,6 +1560,7 @@ $a->strings["Film/dance/culture/entertainment:"] = "Filme/Tänze/Kultur/Unterhal
 $a->strings["Love/Romance:"] = "Liebesleben:";
 $a->strings["Work/employment:"] = "Arbeit/Beschäftigung:";
 $a->strings["School/education:"] = "Schule/Ausbildung:";
+$a->strings["Forums:"] = "Foren:";
 $a->strings["Status"] = "Status";
 $a->strings["Status Messages and Posts"] = "Statusnachrichten und Beiträge";
 $a->strings["Profile Details"] = "Profildetails";
@@ -1568,21 +1594,23 @@ $a->strings["%1\$s marked %2\$s's %3\$s as favorite"] = "%1\$s hat %2\$s\\s %3\$
 $a->strings["remove"] = "löschen";
 $a->strings["Delete Selected Items"] = "Lösche die markierten Beiträge";
 $a->strings["Follow Thread"] = "Folge der Unterhaltung";
-$a->strings["and"] = "und";
-$a->strings[", and %d other people"] = " und %d andere";
 $a->strings["%s likes this."] = "%s mag das.";
 $a->strings["%s doesn't like this."] = "%s mag das nicht.";
 $a->strings["%s attends."] = "%s nimmt teil.";
 $a->strings["%s doesn't attend."] = "%s nimmt nicht teil.";
 $a->strings["%s attends maybe."] = "%s nimmt eventuell teil.";
+$a->strings["and"] = "und";
+$a->strings[", and %d other people"] = " und %d andere";
 $a->strings["<span  %1\$s>%2\$d people</span> like this"] = "<span  %1\$s>%2\$d Personen</span> mögen das";
+$a->strings["%s like this."] = "%s mögen das.";
 $a->strings["<span  %1\$s>%2\$d people</span> don't like this"] = "<span  %1\$s>%2\$d Personen</span> mögen das nicht";
+$a->strings["%s don't like this."] = "%s mögen dies nicht.";
 $a->strings["<span  %1\$s>%2\$d people</span> attend"] = "<span %1\$s>%2\$d Personen</span> nehmen teil";
+$a->strings["%s attend."] = "%s nehmen teil.";
 $a->strings["<span  %1\$s>%2\$d people</span> don't attend"] = "<span %1\$s>%2\$d Personen</span> nehmen nicht teil";
+$a->strings["%s don't attend."] = "%s nehmen nicht teil.";
 $a->strings["<span  %1\$s>%2\$d people</span> anttend maybe"] = "<span %1\$s>%2\$d Personen</span> nehmen eventuell teil";
-$a->strings["<span  %1\$s>%2\$d people</span> agree"] = "<span %1\$s>%2\$d Personen</span> sind einverstanden";
-$a->strings["<span  %1\$s>%2\$d people</span> don't agree"] = "<span %1\$s>%2\$d Personen</span> sind nicht einverstanden";
-$a->strings["<span  %1\$s>%2\$d people</span> abstains"] = "<span %1\$s>%2\$d Personen</span> enthalten sich";
+$a->strings["%s anttend maybe."] = "%s  nehmen vielleicht teil.";
 $a->strings["Visible to <strong>everybody</strong>"] = "Für <strong>jedermann</strong> sichtbar";
 $a->strings["Please enter a video link/URL:"] = "Bitte Link/URL zum Video einfügen:";
 $a->strings["Please enter an audio link/URL:"] = "Bitte Link/URL zum Audio einfügen:";
@@ -1610,6 +1638,8 @@ $a->strings["Undecided"] = array(
        0 => "Unentschieden",
        1 => "Unentschieden",
 );
+$a->strings["Forums"] = "Foren";
+$a->strings["External link to forum"] = "Externer Link zum Forum";
 $a->strings["view full size"] = "Volle Größe anzeigen";
 $a->strings["newer"] = "neuer";
 $a->strings["older"] = "älter";
@@ -1626,7 +1656,6 @@ $a->strings["%d Contact"] = array(
 );
 $a->strings["Full Text"] = "Volltext";
 $a->strings["Tags"] = "Tags";
-$a->strings["Forums"] = "Foren";
 $a->strings["poke"] = "anstupsen";
 $a->strings["poked"] = "stupste";
 $a->strings["ping"] = "anpingen";
@@ -1663,8 +1692,6 @@ $a->strings["bytes"] = "Byte";
 $a->strings["Click to open/close"] = "Zum Ã¶ffnen/schließen klicken";
 $a->strings["View on separate page"] = "Auf separater Seite ansehen";
 $a->strings["view on separate page"] = "auf separater Seite ansehen";
-$a->strings["default"] = "Standard";
-$a->strings["Select an alternate language"] = "Alternative Sprache auswählen";
 $a->strings["activity"] = "Aktivität";
 $a->strings["post"] = "Beitrag";
 $a->strings["Item filed"] = "Beitrag abgelegt";
@@ -1694,7 +1721,7 @@ $a->strings["Google+"] = "Google+";
 $a->strings["pump.io"] = "pump.io";
 $a->strings["Twitter"] = "Twitter";
 $a->strings["Diaspora Connector"] = "Diaspora";
-$a->strings["Statusnet"] = "StatusNet";
+$a->strings["GNU Social"] = "GNU Social";
 $a->strings["App.net"] = "App.net";
 $a->strings["Redmatrix"] = "Redmatrix";
 $a->strings[" on Last.fm"] = " bei Last.fm";
@@ -1765,6 +1792,7 @@ $a->strings["Nickname is already registered. Please choose another."] = "Dieser
 $a->strings["Nickname was once registered here and may not be re-used. Please choose another."] = "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen.";
 $a->strings["SERIOUS ERROR: Generation of security keys failed."] = "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden.";
 $a->strings["An error occurred during registration. Please try again."] = "Während der Anmeldung ist ein Fehler aufgetreten. Bitte versuche es noch einmal.";
+$a->strings["default"] = "Standard";
 $a->strings["An error occurred creating your default profile. Please try again."] = "Bei der Erstellung des Standardprofils ist ein Fehler aufgetreten. Bitte versuche es noch einmal.";
 $a->strings["Friends"] = "Freunde";
 $a->strings["\n\t\tDear %1\$s,\n\t\t\tThank you for registering at %2\$s. Your account has been created.\n\t"] = "\nHallo %1\$s,\n\ndanke für Deine Registrierung auf %2\$s. Dein Account wurde eingerichtet.";
@@ -1931,9 +1959,20 @@ $a->strings["Your personal photos"] = "Deine privaten Fotos";
 $a->strings["Local Directory"] = "Lokales Verzeichnis";
 $a->strings["Set zoomfactor for Earth Layers"] = "Zoomfaktor der Earth Layer";
 $a->strings["Show/hide boxes at right-hand column:"] = "Rahmen auf der rechten Seite anzeigen/verbergen";
+$a->strings["Midnight"] = "Mitternacht";
+$a->strings["Zenburn"] = "Zenburn";
+$a->strings["Bootstrap"] = "Bootstrap";
+$a->strings["Shades of Pink"] = "Shades of Pink";
+$a->strings["Lime and Orange"] = "Lime and Orange";
+$a->strings["GeoCities Retro"] = "GeoCities Retro";
+$a->strings["Background Image"] = "Hintergrundbild";
+$a->strings["The URL to a picture (e.g. from your photo album) that should be used as background image."] = "Die URL eines Bildes (z.B. aus deinem Fotoalbum), das als Hintergrundbild verwendet werden soll.";
+$a->strings["Background Color"] = "Hintergrundfarbe";
+$a->strings["HEX value for the background color. Don't include the #"] = "HEX Wert der Hintergrundfarbe. Gib die # nicht mit an.";
+$a->strings["font size"] = "Schriftgröße";
+$a->strings["base font size for your interface"] = "Basis-Schriftgröße für dein Interface.";
 $a->strings["Comma separated list of helper forums"] = "Komma-Separierte Liste der Helfer-Foren";
 $a->strings["Set style"] = "Stil auswählen";
-$a->strings["External link to forum"] = "Externer Link zum Forum";
 $a->strings["Quick Start"] = "Schnell-Start";
 $a->strings["greenzero"] = "greenzero";
 $a->strings["purplezero"] = "purplezero";
diff --git a/view/fonts/README.md b/view/fonts/README.md
new file mode 100644 (file)
index 0000000..ca35dda
--- /dev/null
@@ -0,0 +1,21 @@
+ShaShape Font
+=============
+
+Font created by Andi Stadler for the Friendica project.
+
+History
+-------
+
+The iconset started from the new default user avatar (letter "p") Andi made for the Hackathon 2014 in Berlin. To accompany that avatar, he developed the other icons.
+
+License
+-------
+
+The iconset is published unter the [CC-BY-SA 4.0][cc] license.
+
+Preview
+-------
+
+![](shashape.jpg)
+
+[cc]: https://creativecommons.org/licenses/by-sa/4.0
diff --git a/view/fonts/friendica_shashape.ttf b/view/fonts/friendica_shashape.ttf
new file mode 100644 (file)
index 0000000..0bb5a57
Binary files /dev/null and b/view/fonts/friendica_shashape.ttf differ
diff --git a/view/fonts/shashape.css b/view/fonts/shashape.css
new file mode 100644 (file)
index 0000000..b34cac7
--- /dev/null
@@ -0,0 +1,218 @@
+/*
+ * Friendica ShaShape font by Andi Stadler, 2015
+ */
+
+@font-face {
+    font-family: 'ShaShape';
+    src: url('friendica_shashape.ttf') format('truetype');
+}
+.shashape {
+    font-family: ShaShape;
+    font-weight: normal;
+    font-style: normal;
+}
+.shashape.friendica:before {
+    content: "3";
+}
+.shashape.archive:before{
+    content: "a";
+}
+.shashape.base:before{
+    content: "b";
+}
+.shashape.cloud:before{
+    content: "c";
+}
+.shashape.download:before{
+    content: "d";
+}
+.shashape.event:before{
+    content: "e";
+}
+.shashape.friends:before{
+    content: "f";
+}
+.shashape.group:before{
+    content: "g";
+}
+.shashape.home:before{
+    content: "h";
+}
+.shashape.iglu:before{
+    content: "i";
+}
+.shashape.flag:before{
+    content: "j";
+}
+.shashape.star:before{
+    content: "k";
+}
+.shashape.star-full:before{
+    content: "l";
+}
+.shashape.message:before{
+    content: "m";
+}
+.shashape.network:before{
+    content: "n";
+}
+.shashape.settings:before{
+    content: "o";
+}
+.shashape.profile:before{
+    content: "p";
+}
+.shashape.skip:before{
+    content: "q";
+}
+.shashape.reload:before{
+    content: "r";
+}
+.shashape.search:before{
+    content: "s";
+}
+.shashape.time:before{
+    content: "t";
+}
+.shashape.undo:before{
+    content: "u";
+}
+.shashape.logout:before,
+.shashape.logged-in:before{
+    content: "v";
+}
+.shashape.login:before,
+.shashape.logged-out:before{
+    content: "w";
+}
+.shashape.delete:before{
+    content: "x";
+}
+.shashape.source:before{
+    content: "y";
+}
+.shashape.signature:before{
+    content: "z";
+}
+.shashape.like:before{
+    content: "A";
+}
+.shashape.hesitate:before{
+    content: "B";
+}
+.shashape.unlike:before,
+.shashape.nolike:before{
+    content: "C";
+}
+/* uppercase D is not defined at the moment
+ .shashape.hash:before{
+    content: "D";
+} */
+.shashape.arrow7:before{
+    content: "E";
+}
+.shashape.follow:before{
+    content: "F";
+}
+.shashape.follower:before{
+    content: "G";
+}
+.shashape.hand:before{
+    content: "H";
+}
+.shashape.help:before{
+    content: "I";
+}
+.shashape.arrow-leftright:before{
+    content: "J";
+}
+.shashape.arrow-updown:before{
+    content: "K";
+}
+/* uppercase L is not defined at the moment
+.shashape.lock:before{
+    content: "L";
+} */
+.shashape.arrow-left:before{
+    content: "M";
+}
+.shashape.arrow-right:before{
+    content: "N";
+}
+.shashape.setting2:before,
+.shashape.admin:before{
+    content: "O";
+}
+.shashape.arrow-down:before{
+    content: "P";
+}
+.shashape.arrow-up:before{
+    content: "Q";
+}
+.shashape.request:before{
+    content: "R";
+}
+.shashape.arrow-up2:before{
+    content: "S";
+}
+.shashape.arrow-down2:before{
+    content: "T";
+}
+.shashape.arrow-left2:before{
+    content: "U";
+}
+.shashape.arrow-right2:before{
+    content: "V";
+}
+.shashape.arrow-updown2:before{
+    content: "W";
+}
+.shashape.arrow-leftright2:before{
+    content: "X";
+}
+.shashape.arrow-leftright3:before{
+    content: "Y";
+}
+.shashape.arrow-updown3:before{
+    content: "Z";
+}
+.shashape.hash:before{
+    content: "/";
+}
+.shashape.tag:before{
+    content: "=";
+}
+.shashape.lock-open:before{
+    content: "?";
+}
+.shashape.lock-closed:before{
+    content: ")";
+}
+.shashape.yes:before{
+    content: "+";
+}
+.shashape.hmm:before{
+    content: ",";
+}
+.shashape.no:before{
+    content: "-";
+}
+.shashape.blank:before{
+    content: ".";
+}
+.shashape.see:before{
+    content: ":";
+}
+.shashape.blind:before{
+    content: ";";
+}
+.shashape.edit:before{
+    content: "<";
+}
+.shashape.stamp:before{
+    content: ">";
+}
+.shashape.heart:before{
+    content: "_";
+}
+
diff --git a/view/fonts/shashape.jpg b/view/fonts/shashape.jpg
new file mode 100644 (file)
index 0000000..a4f20ce
Binary files /dev/null and b/view/fonts/shashape.jpg differ
index c2f5840039234e37c08101e9698d3e6e1961376e..63575ff21bade166439302e00edd7985f8a37763 100644 (file)
@@ -212,3 +212,104 @@ a {
   clip: rect(0,0,0,0);
   border: 0;
 }
+
+.itentity-match-wrapper {
+  float: left;
+  padding: 10px;
+  width: 120px;
+  height: 140px;
+  margin-bottom: 20px;
+}
+
+.identity-match-photo {
+  float: left;
+  text-align: center;
+  width: 120px;
+}
+
+.identity-match-name {
+  text-align: center;
+}
+
+.identity-match-details {
+  float: left;
+  text-align: center;
+  width: 120px;
+  overflow: hidden;
+  font-size: 10px;
+  font-weight: 500;
+  color: #999999;
+}
+
+.identity-match-break, .identity-match-end {
+  clear: both;
+}
+
+.identity-match-photo button {
+  border: none;
+  padding: 0;
+  margin: 0;
+  background: none;
+  height: 80px;
+  width: 80px;
+  cursor: pointer;
+}
+
+.selected-identity img {
+  border: 2px solid #ff0000;
+}
+/* poke */
+#poke-desc {
+  margin: 5px 0 10px;
+}
+
+#poke-wrapper  {
+  padding: 10px 0 0px;
+}
+
+#poke-recipient, #poke-action, #poke-privacy-settings {
+  margin: 10px 0 30px;
+}
+
+#poke-recip-label, #poke-action-label, #prvmail-message-label {
+  margin: 10px 0 10px;
+}
+ul.credits {
+  list-style: none;
+}
+ul.credits li {
+  float: left;
+  width: 240px;
+}
+
+.contact-entry-photo img {
+  max-width: 80px;
+  max-height: 80px;
+}
+
+/* forumlist widget */
+.forumlist-img {
+  height: 20px;
+  width: 20px;
+  vertical-align: middle;
+}
+
+#forum-widget-collapse {
+  opacity: 0.3;
+}
+
+#forum-widget-collapse:hover {
+  opacity: 1.0;
+}
+
+.crepair-label {
+        margin-top: 10px;
+        float: left;
+        width: 250px;
+}
+
+.crepair-input {
+        margin-top: 10px;
+        float: left;
+        width: 200px;
+}
diff --git a/view/install/green.png b/view/install/green.png
new file mode 100644 (file)
index 0000000..a4de276
Binary files /dev/null and b/view/install/green.png differ
diff --git a/view/install/info.png b/view/install/info.png
new file mode 100644 (file)
index 0000000..760eca5
Binary files /dev/null and b/view/install/info.png differ
diff --git a/view/install/red.png b/view/install/red.png
new file mode 100644 (file)
index 0000000..fcd655b
Binary files /dev/null and b/view/install/red.png differ
diff --git a/view/install/style.css b/view/install/style.css
new file mode 100644 (file)
index 0000000..2f995d5
--- /dev/null
@@ -0,0 +1,58 @@
+/***\r
+ * Friendica Communcation Server\r
+ *\r
+ * This is the static css for the install procedure\r
+ */\r
+\r
+body {\r
+       background-color: #FFF;\r
+       max-width: 750px;\r
+       margin: 0 auto;\r
+}\r
+\r
+section {\r
+    background-color: rgb(252, 252, 252);\r
+    padding: 0.5em 2em;\r
+}\r
+\r
+h1 img {\r
+       vertical-align: sub;\r
+}\r
+\r
+td {\r
+       padding: 0.2em;\r
+       border-bottom: 1px solid rgb(238, 238, 238);\r
+}\r
+td.help {\r
+       border-width: 0px 0px 2px 2px;\r
+       border-style: solid;\r
+       border-color: #000;\r
+       background: transparent url("/friendica/view/install/info.png") no-repeat scroll 5px 5px;\r
+}\r
+td.help blockquote {\r
+       margin-left: 60px;\r
+}\r
+input[type="submit"] {\r
+       margin: 2em 0;\r
+}\r
+\r
+tt {\r
+       background-color: rgb(238, 238, 238);\r
+       padding: 0.1em 0.2em;\r
+}\r
+\r
+.field {\r
+       margin-bottom: 0.5em;\r
+}\r
+.field label,\r
+.field input, .field select, .field textarea {\r
+    width: 100%;\r
+    display: block;\r
+}\r
+.field .field_help {\r
+       color: #999;\r
+       text-align: right;\r
+       width: 100%;\r
+       display: block;\r
+       font-size: 0.8em;\r
+}\r
diff --git a/view/install/yellow.png b/view/install/yellow.png
new file mode 100644 (file)
index 0000000..52b31f3
Binary files /dev/null and b/view/install/yellow.png differ
index 52608625e35711ef698b3b9e602d7a8675df69be..ba81fdb03bfb1ec8915fbe99aa57351d56deab0c 100644 (file)
 # jeroenpraat <jeroenpraat@xs4all.nl>, 2012-2014
 # jeroenpraat <jeroenpraat@xs4all.nl>, 2012
 # Karel Vandecandelaere <karel@dasrakel.eu>, 2015
+# Ralph <pcbee4you@gmail.com>, 2015
 msgid ""
 msgstr ""
 "Project-Id-Version: friendica\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-08 13:18+0200\n"
-"PO-Revision-Date: 2015-07-14 10:17+0000\n"
-"Last-Translator: Karel Vandecandelaere <karel@dasrakel.eu>\n"
-"Language-Team: Dutch (http://www.transifex.com/p/friendica/language/nl/)\n"
+"POT-Creation-Date: 2015-11-08 21:46+0100\n"
+"PO-Revision-Date: 2015-11-17 23:49+0000\n"
+"Last-Translator: Ralph <pcbee4you@gmail.com>\n"
+"Language-Team: Dutch (http://www.transifex.com/Friendica/friendica/language/nl/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language: nl\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: object/Item.php:95
-msgid "This entry was edited"
-msgstr ""
-
-#: object/Item.php:117 mod/content.php:622 mod/photos.php:1379
-msgid "Private Message"
-msgstr "Privébericht"
-
-#: object/Item.php:121 mod/content.php:730 mod/settings.php:683
-msgid "Edit"
-msgstr "Bewerken"
-
-#: object/Item.php:130 mod/content.php:439 mod/content.php:742
-#: mod/photos.php:1672 include/conversation.php:612
-msgid "Select"
-msgstr "Kies"
-
-#: object/Item.php:131 mod/admin.php:1017 mod/contacts.php:760
-#: mod/content.php:440 mod/content.php:743 mod/group.php:171
-#: mod/photos.php:1673 mod/settings.php:684 include/conversation.php:613
-msgid "Delete"
-msgstr "Verwijder"
-
-#: object/Item.php:134 mod/content.php:765
-msgid "save to folder"
-msgstr "Bewaren in map"
-
-#: object/Item.php:196 mod/content.php:755
-msgid "add star"
-msgstr "ster toevoegen"
+#: mod/contacts.php:118
+#, php-format
+msgid "%d contact edited."
+msgid_plural "%d contacts edited"
+msgstr[0] ""
+msgstr[1] ""
 
-#: object/Item.php:197 mod/content.php:756
-msgid "remove star"
-msgstr "ster verwijderen"
+#: mod/contacts.php:149 mod/contacts.php:372
+msgid "Could not access contact record."
+msgstr "Kon geen toegang krijgen tot de contactgegevens"
 
-#: object/Item.php:198 mod/content.php:757
-msgid "toggle star status"
-msgstr "ster toevoegen of verwijderen"
+#: mod/contacts.php:163
+msgid "Could not locate selected profile."
+msgstr "Kon het geselecteerde profiel niet vinden."
 
-#: object/Item.php:201 mod/content.php:760
-msgid "starred"
-msgstr "met ster"
+#: mod/contacts.php:196
+msgid "Contact updated."
+msgstr "Contact bijgewerkt."
 
-#: object/Item.php:209
-msgid "ignore thread"
-msgstr ""
+#: mod/contacts.php:198 mod/dfrn_request.php:576
+msgid "Failed to update contact record."
+msgstr "Ik kon de contactgegevens niet aanpassen."
 
-#: object/Item.php:210
-msgid "unignore thread"
-msgstr ""
+#: mod/contacts.php:354 mod/manage.php:96 mod/display.php:496
+#: mod/profile_photo.php:19 mod/profile_photo.php:169
+#: mod/profile_photo.php:180 mod/profile_photo.php:193
+#: mod/ostatus_subscribe.php:9 mod/follow.php:10 mod/follow.php:72
+#: mod/follow.php:137 mod/item.php:169 mod/item.php:185 mod/group.php:19
+#: mod/dfrn_confirm.php:55 mod/fsuggest.php:78 mod/wall_upload.php:77
+#: mod/wall_upload.php:80 mod/viewcontacts.php:24 mod/notifications.php:69
+#: mod/message.php:45 mod/message.php:181 mod/crepair.php:120
+#: mod/dirfind.php:11 mod/nogroup.php:25 mod/network.php:4
+#: mod/allfriends.php:11 mod/events.php:165 mod/wallmessage.php:9
+#: mod/wallmessage.php:33 mod/wallmessage.php:79 mod/wallmessage.php:103
+#: mod/wall_attach.php:67 mod/wall_attach.php:70 mod/settings.php:20
+#: mod/settings.php:116 mod/settings.php:635 mod/register.php:42
+#: mod/delegate.php:12 mod/common.php:17 mod/mood.php:114 mod/suggest.php:58
+#: mod/profiles.php:165 mod/profiles.php:615 mod/editpost.php:10
+#: mod/api.php:26 mod/api.php:31 mod/notes.php:22 mod/poke.php:149
+#: mod/repair_ostatus.php:9 mod/invite.php:15 mod/invite.php:101
+#: mod/photos.php:163 mod/photos.php:1097 mod/regmod.php:110
+#: mod/uimport.php:23 mod/attach.php:33 include/items.php:5103 index.php:382
+msgid "Permission denied."
+msgstr "Toegang geweigerd"
 
-#: object/Item.php:211
-msgid "toggle ignore status"
-msgstr ""
+#: mod/contacts.php:393
+msgid "Contact has been blocked"
+msgstr "Contact is geblokkeerd"
 
-#: object/Item.php:214
-msgid "ignored"
-msgstr ""
+#: mod/contacts.php:393
+msgid "Contact has been unblocked"
+msgstr "Contact is gedeblokkeerd"
 
-#: object/Item.php:221 mod/content.php:761
-msgid "add tag"
-msgstr "label toevoegen"
+#: mod/contacts.php:404
+msgid "Contact has been ignored"
+msgstr "Contact wordt genegeerd"
 
-#: object/Item.php:232 mod/content.php:686 mod/photos.php:1561
-msgid "I like this (toggle)"
-msgstr "Vind ik leuk"
+#: mod/contacts.php:404
+msgid "Contact has been unignored"
+msgstr "Contact wordt niet meer genegeerd"
 
-#: object/Item.php:232 mod/content.php:686
-msgid "like"
-msgstr "leuk"
+#: mod/contacts.php:416
+msgid "Contact has been archived"
+msgstr "Contact is gearchiveerd"
 
-#: object/Item.php:233 mod/content.php:687 mod/photos.php:1562
-msgid "I don't like this (toggle)"
-msgstr "Vind ik niet leuk"
+#: mod/contacts.php:416
+msgid "Contact has been unarchived"
+msgstr "Contact is niet meer gearchiveerd"
 
-#: object/Item.php:233 mod/content.php:687
-msgid "dislike"
-msgstr "niet leuk"
+#: mod/contacts.php:443 mod/contacts.php:816
+msgid "Do you really want to delete this contact?"
+msgstr "Wil je echt dit contact verwijderen?"
 
-#: object/Item.php:235 mod/content.php:689
-msgid "Share this"
-msgstr "Delen"
+#: mod/contacts.php:445 mod/follow.php:105 mod/message.php:216
+#: mod/settings.php:1091 mod/settings.php:1097 mod/settings.php:1105
+#: mod/settings.php:1109 mod/settings.php:1114 mod/settings.php:1120
+#: mod/settings.php:1126 mod/settings.php:1132 mod/settings.php:1158
+#: mod/settings.php:1159 mod/settings.php:1160 mod/settings.php:1161
+#: mod/settings.php:1162 mod/dfrn_request.php:848 mod/register.php:235
+#: mod/suggest.php:29 mod/profiles.php:658 mod/profiles.php:661
+#: mod/profiles.php:687 mod/api.php:105 include/items.php:4935
+msgid "Yes"
+msgstr "Ja"
 
-#: object/Item.php:235 mod/content.php:689
-msgid "share"
-msgstr "Delen"
+#: mod/contacts.php:448 mod/tagrm.php:11 mod/tagrm.php:94 mod/follow.php:116
+#: mod/videos.php:123 mod/message.php:219 mod/fbrowser.php:93
+#: mod/fbrowser.php:128 mod/settings.php:649 mod/settings.php:675
+#: mod/dfrn_request.php:862 mod/suggest.php:32 mod/editpost.php:147
+#: mod/photos.php:239 mod/photos.php:328 include/conversation.php:1221
+#: include/items.php:4938
+msgid "Cancel"
+msgstr "Annuleren"
 
-#: object/Item.php:319 include/conversation.php:665
-msgid "Categories:"
-msgstr "Categorieën:"
+#: mod/contacts.php:460
+msgid "Contact has been removed."
+msgstr "Contact is verwijderd."
 
-#: object/Item.php:320 include/conversation.php:666
-msgid "Filed under:"
-msgstr "Bewaard onder:"
+#: mod/contacts.php:498
+#, php-format
+msgid "You are mutual friends with %s"
+msgstr "Je bent wederzijds bevriend met %s"
 
-#: object/Item.php:329 object/Item.php:330 mod/content.php:473
-#: mod/content.php:854 mod/content.php:855 include/conversation.php:653
+#: mod/contacts.php:502
 #, php-format
-msgid "View %s's profile @ %s"
-msgstr "Bekijk het profiel van %s @ %s"
+msgid "You are sharing with %s"
+msgstr "Je deelt met %s"
 
-#: object/Item.php:331 mod/content.php:856
-msgid "to"
-msgstr "aan"
+#: mod/contacts.php:507
+#, php-format
+msgid "%s is sharing with you"
+msgstr "%s deelt met jou"
 
-#: object/Item.php:332
-msgid "via"
-msgstr "via"
+#: mod/contacts.php:527
+msgid "Private communications are not available for this contact."
+msgstr "Privécommunicatie met dit contact is niet beschikbaar."
 
-#: object/Item.php:333 mod/content.php:857
-msgid "Wall-to-Wall"
-msgstr "wall-to-wall"
+#: mod/contacts.php:530 mod/admin.php:643
+msgid "Never"
+msgstr "Nooit"
 
-#: object/Item.php:334 mod/content.php:858
-msgid "via Wall-To-Wall:"
-msgstr "via wall-to-wall"
+#: mod/contacts.php:534
+msgid "(Update was successful)"
+msgstr "(Wijziging is geslaagd)"
 
-#: object/Item.php:343 mod/content.php:483 mod/content.php:866
-#: include/conversation.php:673
-#, php-format
-msgid "%s from %s"
-msgstr "%s van %s"
+#: mod/contacts.php:534
+msgid "(Update was not successful)"
+msgstr "(Wijziging is niet geslaagd)"
 
-#: object/Item.php:364 object/Item.php:680 mod/content.php:711
-#: mod/photos.php:1583 mod/photos.php:1627 mod/photos.php:1715 boot.php:754
-msgid "Comment"
-msgstr "Reacties"
+#: mod/contacts.php:536
+msgid "Suggest friends"
+msgstr "Stel vrienden voor"
 
-#: object/Item.php:367 mod/wallmessage.php:156 mod/message.php:334
-#: mod/message.php:565 mod/content.php:501 mod/content.php:885
-#: mod/editpost.php:124 mod/photos.php:1564 include/conversation.php:691
-#: include/conversation.php:1074
-msgid "Please wait"
-msgstr "Even geduld"
+#: mod/contacts.php:540
+#, php-format
+msgid "Network type: %s"
+msgstr "Netwerk type: %s"
 
-#: object/Item.php:390 mod/content.php:605
+#: mod/contacts.php:543 include/contact_widgets.php:200
 #, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d reactie"
-msgstr[1] "%d reacties"
+msgid "%d contact in common"
+msgid_plural "%d contacts in common"
+msgstr[0] "%d gedeeld contact"
+msgstr[1] "%d gedeelde contacten"
 
-#: object/Item.php:392 object/Item.php:405 mod/content.php:607
-#: include/text.php:2004
-msgid "comment"
-msgid_plural "comments"
-msgstr[0] "reactie"
-msgstr[1] "reacties"
+#: mod/contacts.php:548
+msgid "View all contacts"
+msgstr "Alle contacten zien"
 
-#: object/Item.php:393 mod/content.php:608 include/contact_widgets.php:205
-#: include/items.php:5133 boot.php:755
-msgid "show more"
-msgstr "toon meer"
+#: mod/contacts.php:553 mod/contacts.php:636 mod/contacts.php:820
+#: mod/admin.php:1114
+msgid "Unblock"
+msgstr "Blokkering opheffen"
 
-#: object/Item.php:678 mod/content.php:709 mod/photos.php:1581
-#: mod/photos.php:1625 mod/photos.php:1713
-msgid "This is you"
-msgstr "Dit ben jij"
+#: mod/contacts.php:553 mod/contacts.php:636 mod/contacts.php:820
+#: mod/admin.php:1113
+msgid "Block"
+msgstr "Blokkeren"
 
-#: object/Item.php:681 view/theme/perihel/config.php:95
-#: view/theme/diabook/config.php:148 view/theme/diabook/theme.php:633
-#: view/theme/quattro/config.php:64
-#: view/theme/zero-childs/cleanzero/config.php:80
-#: view/theme/dispy/config.php:70 view/theme/clean/config.php:83
-#: view/theme/duepuntozero/config.php:59 view/theme/cleanzero/config.php:80
-#: view/theme/vier/config.php:56 view/theme/vier-mobil/config.php:47
-#: mod/mood.php:137 mod/localtime.php:45 mod/poke.php:199 mod/fsuggest.php:107
-#: mod/invite.php:140 mod/manage.php:110 mod/message.php:335
-#: mod/message.php:564 mod/contacts.php:564 mod/content.php:712
-#: mod/crepair.php:191 mod/events.php:511 mod/install.php:250
-#: mod/install.php:288 mod/photos.php:1104 mod/photos.php:1223
-#: mod/photos.php:1533 mod/photos.php:1584 mod/photos.php:1628
-#: mod/photos.php:1716 mod/profiles.php:682
-msgid "Submit"
-msgstr "Opslaan"
+#: mod/contacts.php:556
+msgid "Toggle Blocked status"
+msgstr "Schakel geblokkeerde status"
 
-#: object/Item.php:682 mod/content.php:713
-msgid "Bold"
-msgstr "Vet"
+#: mod/contacts.php:561 mod/contacts.php:637 mod/contacts.php:821
+msgid "Unignore"
+msgstr "Negeer niet meer"
 
-#: object/Item.php:683 mod/content.php:714
-msgid "Italic"
-msgstr "Cursief"
+#: mod/contacts.php:561 mod/contacts.php:637 mod/contacts.php:821
+#: mod/notifications.php:54 mod/notifications.php:179
+#: mod/notifications.php:259
+msgid "Ignore"
+msgstr "Negeren"
 
-#: object/Item.php:684 mod/content.php:715
-msgid "Underline"
-msgstr "Onderstrepen"
+#: mod/contacts.php:564
+msgid "Toggle Ignored status"
+msgstr "Schakel negeerstatus"
 
-#: object/Item.php:685 mod/content.php:716
-msgid "Quote"
-msgstr "Citeren"
+#: mod/contacts.php:570 mod/contacts.php:822
+msgid "Unarchive"
+msgstr "Archiveer niet meer"
 
-#: object/Item.php:686 mod/content.php:717
-msgid "Code"
-msgstr "Broncode"
+#: mod/contacts.php:570 mod/contacts.php:822
+msgid "Archive"
+msgstr "Archiveer"
 
-#: object/Item.php:687 mod/content.php:718
-msgid "Image"
-msgstr "Afbeelding"
+#: mod/contacts.php:573
+msgid "Toggle Archive status"
+msgstr "Schakel archiveringsstatus"
 
-#: object/Item.php:688 mod/content.php:719
-msgid "Link"
-msgstr "Link"
+#: mod/contacts.php:578
+msgid "Repair"
+msgstr "Herstellen"
 
-#: object/Item.php:689 mod/content.php:720
-msgid "Video"
-msgstr "Video"
+#: mod/contacts.php:581
+msgid "Advanced Contact Settings"
+msgstr "Geavanceerde instellingen voor contacten"
 
-#: object/Item.php:690 mod/content.php:721 mod/editpost.php:145
-#: mod/events.php:509 mod/photos.php:1585 mod/photos.php:1629
-#: mod/photos.php:1717 include/conversation.php:1089
-msgid "Preview"
-msgstr "Voorvertoning"
+#: mod/contacts.php:589
+msgid "Communications lost with this contact!"
+msgstr "Communicatie met dit contact is verbroken!"
 
-#: view/smarty3/compiled/a908c9746db77ea1b3b8583681c75a6737ae4de1.file.blob.tpl.php:76
-#: view/smarty3/compiled/3652bcbaa383153072aa300c238792d03867c262.file.tree.tpl.php:76
-#: view/smarty3/compiled/788b954cfdfbf400e0cd17e1e5629515d87eb32f.file.commit.tpl.php:77
-#: view/smarty3/compiled/c6d84f5d6190b86e81c93d71a9bb01aa32004841.file.project.tpl.php:76
-#: view/smarty3/compiled/75e3f44e184d57ada4cf6c86f0ab429f322f9b3e.file.project_empty.tpl.php:76
-#: view/smarty3/compiled/7fd1b71c8d07cc4e9605dd231482f4f114db46f5.file.commits.tpl.php:77
-msgid "Clone this project:"
+#: mod/contacts.php:592
+msgid "Fetch further information for feeds"
 msgstr ""
 
-#: view/smarty3/compiled/a908c9746db77ea1b3b8583681c75a6737ae4de1.file.blob.tpl.php:111
-msgid "Click here to download"
-msgstr ""
+#: mod/contacts.php:593 mod/admin.php:652
+msgid "Disabled"
+msgstr "Uitgeschakeld"
 
-#: view/smarty3/compiled/75e3f44e184d57ada4cf6c86f0ab429f322f9b3e.file.project_empty.tpl.php:98
-msgid "This project is empty!"
+#: mod/contacts.php:593
+msgid "Fetch information"
 msgstr ""
 
-#: view/smarty3/compiled/9453f510542dc7c0dea57a39a0e1512fb04d038d.file.index.tpl.php:31
-msgid "Projects"
+#: mod/contacts.php:593
+msgid "Fetch information and keywords"
 msgstr ""
 
-#: view/smarty3/compiled/9453f510542dc7c0dea57a39a0e1512fb04d038d.file.index.tpl.php:32
-msgid "add new"
-msgstr ""
+#: mod/contacts.php:606
+msgid "Contact Editor"
+msgstr "Contactbewerker"
 
-#: view/smarty3/compiled/9453f510542dc7c0dea57a39a0e1512fb04d038d.file.index.tpl.php:51
-msgid "delete"
-msgstr ""
+#: mod/contacts.php:608 mod/manage.php:124 mod/fsuggest.php:107
+#: mod/message.php:342 mod/message.php:525 mod/crepair.php:195
+#: mod/events.php:574 mod/content.php:712 mod/install.php:253
+#: mod/install.php:291 mod/mood.php:137 mod/profiles.php:696
+#: mod/localtime.php:45 mod/poke.php:198 mod/invite.php:140
+#: mod/photos.php:1129 mod/photos.php:1253 mod/photos.php:1571
+#: mod/photos.php:1622 mod/photos.php:1670 mod/photos.php:1758
+#: object/Item.php:710 view/theme/cleanzero/config.php:80
+#: view/theme/dispy/config.php:70 view/theme/quattro/config.php:64
+#: view/theme/diabook/config.php:148 view/theme/diabook/theme.php:633
+#: view/theme/vier/config.php:107 view/theme/duepuntozero/config.php:59
+msgid "Submit"
+msgstr "Opslaan"
+
+#: mod/contacts.php:609
+msgid "Profile Visibility"
+msgstr "Zichtbaarheid profiel"
 
-#: view/smarty3/compiled/9453f510542dc7c0dea57a39a0e1512fb04d038d.file.index.tpl.php:68
+#: mod/contacts.php:610
 #, php-format
 msgid ""
-"Do you want to delete the project '%s'?\\n\\nThis operation cannot be "
-"undone."
-msgstr ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Kies het profiel dat getoond moet worden wanneer %s uw profiel bezoekt. "
 
-#: view/theme/perihel/theme.php:33 view/theme/diabook/theme.php:123
-#: mod/notifications.php:93 include/nav.php:105 include/nav.php:148
-msgid "Home"
-msgstr "Tijdlijn"
+#: mod/contacts.php:611
+msgid "Contact Information / Notes"
+msgstr "Contactinformatie / aantekeningen"
 
-#: view/theme/perihel/theme.php:33 view/theme/diabook/theme.php:123
-#: include/nav.php:76 include/nav.php:148
-msgid "Your posts and conversations"
-msgstr "Jouw berichten en conversaties"
+#: mod/contacts.php:612
+msgid "Edit contact notes"
+msgstr "Wijzig aantekeningen over dit contact"
 
-#: view/theme/perihel/theme.php:34 view/theme/diabook/theme.php:124
-#: mod/newmember.php:32 mod/profperm.php:104 include/identity.php:529
-#: include/identity.php:610 include/identity.php:639 include/nav.php:77
-msgid "Profile"
-msgstr "Profiel"
+#: mod/contacts.php:617 mod/contacts.php:860 mod/viewcontacts.php:66
+#: mod/nogroup.php:41
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr "Bekijk het profiel van %s [%s]"
 
-#: view/theme/perihel/theme.php:34 view/theme/diabook/theme.php:124
-#: include/nav.php:77
-msgid "Your profile page"
-msgstr "Jouw profiel pagina"
+#: mod/contacts.php:618
+msgid "Block/Unblock contact"
+msgstr "Blokkeer/deblokkeer contact"
 
-#: view/theme/perihel/theme.php:35 view/theme/diabook/theme.php:126
-#: mod/fbrowser.php:25 include/identity.php:646 include/nav.php:78
-msgid "Photos"
-msgstr "Foto's"
+#: mod/contacts.php:619
+msgid "Ignore contact"
+msgstr "Negeer contact"
 
-#: view/theme/perihel/theme.php:35 view/theme/diabook/theme.php:126
-#: include/nav.php:78
-msgid "Your photos"
-msgstr "Jouw foto's"
+#: mod/contacts.php:620
+msgid "Repair URL settings"
+msgstr "Repareer URL-instellingen"
 
-#: view/theme/perihel/theme.php:36 view/theme/diabook/theme.php:127
-#: mod/events.php:396 include/identity.php:663 include/nav.php:80
-msgid "Events"
-msgstr "Gebeurtenissen"
+#: mod/contacts.php:621
+msgid "View conversations"
+msgstr "Toon conversaties"
 
-#: view/theme/perihel/theme.php:36 view/theme/diabook/theme.php:127
-#: include/nav.php:80
-msgid "Your events"
-msgstr "Jouw gebeurtenissen"
+#: mod/contacts.php:623
+msgid "Delete contact"
+msgstr "Verwijder contact"
 
-#: view/theme/perihel/theme.php:37 view/theme/diabook/theme.php:128
-#: include/nav.php:81
-msgid "Personal notes"
-msgstr "Persoonlijke nota's"
+#: mod/contacts.php:627
+msgid "Last update:"
+msgstr "Laatste wijziging:"
 
-#: view/theme/perihel/theme.php:37 view/theme/diabook/theme.php:128
-msgid "Your personal photos"
-msgstr "Jouw persoonlijke foto's"
+#: mod/contacts.php:629
+msgid "Update public posts"
+msgstr "Openbare posts aanpassen"
 
-#: view/theme/perihel/theme.php:38 view/theme/diabook/theme.php:129
-#: mod/community.php:32 include/nav.php:129 include/nav.php:131
-msgid "Community"
-msgstr "Website"
+#: mod/contacts.php:631 mod/admin.php:1650
+msgid "Update now"
+msgstr "Wijzig nu"
 
-#: view/theme/perihel/config.php:89 view/theme/diabook/config.php:142
-#: view/theme/diabook/theme.php:621 include/acl_selectors.php:337
-msgid "don't show"
-msgstr "niet tonen"
+#: mod/contacts.php:633 mod/dirfind.php:190 mod/allfriends.php:67
+#: mod/match.php:71 mod/suggest.php:82 include/contact_widgets.php:32
+#: include/conversation.php:924
+msgid "Connect/Follow"
+msgstr "Verbind/Volg"
 
-#: view/theme/perihel/config.php:89 view/theme/diabook/config.php:142
-#: view/theme/diabook/theme.php:621 include/acl_selectors.php:336
-msgid "show"
-msgstr "tonen"
+#: mod/contacts.php:640
+msgid "Currently blocked"
+msgstr "Op dit moment geblokkeerd"
 
-#: view/theme/perihel/config.php:97 view/theme/diabook/config.php:150
-#: view/theme/quattro/config.php:66
-#: view/theme/zero-childs/cleanzero/config.php:82
-#: view/theme/dispy/config.php:72 view/theme/clean/config.php:85
-#: view/theme/duepuntozero/config.php:61 view/theme/cleanzero/config.php:82
-#: view/theme/vier/config.php:58 view/theme/vier-mobil/config.php:49
-#: mod/settings.php:919
-msgid "Theme settings"
-msgstr "Thema-instellingen"
+#: mod/contacts.php:641
+msgid "Currently ignored"
+msgstr "Op dit moment genegeerd"
 
-#: view/theme/perihel/config.php:98 view/theme/diabook/config.php:151
-#: view/theme/zero-childs/cleanzero/config.php:84
-#: view/theme/dispy/config.php:73 view/theme/cleanzero/config.php:84
-msgid "Set font-size for posts and comments"
-msgstr "Stel lettergrootte voor berichten en reacties in"
+#: mod/contacts.php:642
+msgid "Currently archived"
+msgstr "Op dit moment gearchiveerd"
 
-#: view/theme/perihel/config.php:99 view/theme/diabook/config.php:152
-#: view/theme/dispy/config.php:74
-msgid "Set line-height for posts and comments"
-msgstr "Stel lijnhoogte voor berichten en reacties in"
+#: mod/contacts.php:643 mod/notifications.php:172 mod/notifications.php:251
+msgid "Hide this contact from others"
+msgstr "Verberg dit contact voor anderen"
 
-#: view/theme/perihel/config.php:100 view/theme/diabook/config.php:153
-msgid "Set resolution for middle column"
-msgstr "Stel resolutie in voor de middelste kolom. "
+#: mod/contacts.php:643
+msgid ""
+"Replies/likes to your public posts <strong>may</strong> still be visible"
+msgstr "Antwoorden of 'vind ik leuk's op je openbare posts <strong>kunnen</strong> nog zichtbaar zijn"
 
-#: view/theme/diabook/config.php:154
-msgid "Set color scheme"
-msgstr "Stel kleurenschema in"
+#: mod/contacts.php:644
+msgid "Notification for new posts"
+msgstr "Meldingen voor nieuwe berichten"
 
-#: view/theme/diabook/config.php:155
-msgid "Set zoomfactor for Earth Layer"
+#: mod/contacts.php:644
+msgid "Send a notification of every new post of this contact"
 msgstr ""
 
-#: view/theme/diabook/config.php:156 view/theme/diabook/theme.php:585
-msgid "Set longitude (X) for Earth Layers"
+#: mod/contacts.php:647
+msgid "Blacklisted keywords"
 msgstr ""
 
-#: view/theme/diabook/config.php:157 view/theme/diabook/theme.php:586
-msgid "Set latitude (Y) for Earth Layers"
+#: mod/contacts.php:647
+msgid ""
+"Comma separated list of keywords that should not be converted to hashtags, "
+"when \"Fetch information and keywords\" is selected"
 msgstr ""
 
-#: view/theme/diabook/config.php:158 view/theme/diabook/theme.php:130
-#: view/theme/diabook/theme.php:544 view/theme/diabook/theme.php:624
-msgid "Community Pages"
-msgstr "Forum/groepspagina's"
+#: mod/contacts.php:654 mod/follow.php:121 mod/notifications.php:255
+msgid "Profile URL"
+msgstr "Profiel url"
 
-#: view/theme/diabook/config.php:159 view/theme/diabook/theme.php:579
-#: view/theme/diabook/theme.php:625
-msgid "Earth Layers"
-msgstr "Earth Layers"
+#: mod/contacts.php:700
+msgid "Suggestions"
+msgstr "Voorstellen"
 
-#: view/theme/diabook/config.php:160 view/theme/diabook/theme.php:391
-#: view/theme/diabook/theme.php:626
-msgid "Community Profiles"
-msgstr "Forum/groepsprofielen"
+#: mod/contacts.php:703
+msgid "Suggest potential friends"
+msgstr "Stel vrienden voor"
 
-#: view/theme/diabook/config.php:161 view/theme/diabook/theme.php:599
-#: view/theme/diabook/theme.php:627
-msgid "Help or @NewHere ?"
-msgstr ""
+#: mod/contacts.php:708 mod/group.php:192
+msgid "All Contacts"
+msgstr "Alle Contacten"
 
-#: view/theme/diabook/config.php:162 view/theme/diabook/theme.php:606
-#: view/theme/diabook/theme.php:628
-msgid "Connect Services"
-msgstr "Diensten verbinden"
+#: mod/contacts.php:711
+msgid "Show all contacts"
+msgstr "Toon alle contacten"
 
-#: view/theme/diabook/config.php:163 view/theme/diabook/theme.php:523
-#: view/theme/diabook/theme.php:629
-msgid "Find Friends"
-msgstr "Zoek vrienden"
+#: mod/contacts.php:716
+msgid "Unblocked"
+msgstr "Niet geblokkeerd"
 
-#: view/theme/diabook/config.php:164 view/theme/diabook/theme.php:412
-#: view/theme/diabook/theme.php:630
-msgid "Last users"
-msgstr "Laatste gebruikers"
+#: mod/contacts.php:719
+msgid "Only show unblocked contacts"
+msgstr "Toon alleen niet-geblokkeerde contacten"
 
-#: view/theme/diabook/config.php:165 view/theme/diabook/theme.php:486
-#: view/theme/diabook/theme.php:631
-msgid "Last photos"
-msgstr "Laatste foto's"
+#: mod/contacts.php:725
+msgid "Blocked"
+msgstr "Geblokkeerd"
 
-#: view/theme/diabook/config.php:166 view/theme/diabook/theme.php:441
-#: view/theme/diabook/theme.php:632
-msgid "Last likes"
-msgstr "Recent leuk gevonden"
+#: mod/contacts.php:728
+msgid "Only show blocked contacts"
+msgstr "Toon alleen geblokkeerde contacten"
 
-#: view/theme/diabook/theme.php:125 mod/contacts.php:745 include/nav.php:178
-msgid "Contacts"
-msgstr "Contacten"
+#: mod/contacts.php:734
+msgid "Ignored"
+msgstr "Genegeerd"
 
-#: view/theme/diabook/theme.php:125
-msgid "Your contacts"
-msgstr "Jouw contacten"
+#: mod/contacts.php:737
+msgid "Only show ignored contacts"
+msgstr "Toon alleen genegeerde contacten"
 
-#: view/theme/diabook/theme.php:463 include/conversation.php:118
-#: include/conversation.php:245 include/text.php:1998
-msgid "event"
-msgstr "gebeurtenis"
+#: mod/contacts.php:743
+msgid "Archived"
+msgstr "Gearchiveerd"
 
-#: view/theme/diabook/theme.php:466 view/theme/diabook/theme.php:475
-#: mod/tagger.php:62 mod/like.php:149 mod/like.php:319 mod/subthread.php:87
-#: include/conversation.php:121 include/conversation.php:130
-#: include/conversation.php:248 include/conversation.php:257
-#: include/diaspora.php:2106
-msgid "status"
-msgstr "status"
+#: mod/contacts.php:746
+msgid "Only show archived contacts"
+msgstr "Toon alleen gearchiveerde contacten"
 
-#: view/theme/diabook/theme.php:471 mod/tagger.php:62 mod/like.php:149
-#: mod/subthread.php:87 include/conversation.php:126
-#: include/conversation.php:253 include/diaspora.php:2106
-#: include/text.php:2000
-msgid "photo"
-msgstr "foto"
+#: mod/contacts.php:752
+msgid "Hidden"
+msgstr "Verborgen"
 
-#: view/theme/diabook/theme.php:480 mod/like.php:166
-#: include/conversation.php:137 include/diaspora.php:2122
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s vindt het %3$s van %2$s leuk"
+#: mod/contacts.php:755
+msgid "Only show hidden contacts"
+msgstr "Toon alleen verborgen contacten"
 
-#: view/theme/diabook/theme.php:499 mod/photos.php:50 mod/photos.php:177
-#: mod/photos.php:1086 mod/photos.php:1207 mod/photos.php:1230
-#: mod/photos.php:1779 mod/photos.php:1791
-msgid "Contact Photos"
-msgstr "Contactfoto's"
+#: mod/contacts.php:807 include/text.php:1005 include/nav.php:123
+#: include/nav.php:187 view/theme/diabook/theme.php:125
+msgid "Contacts"
+msgstr "Contacten"
 
-#: view/theme/diabook/theme.php:500 mod/photos.php:177 mod/photos.php:753
-#: mod/photos.php:1207 mod/photos.php:1230 mod/profile_photo.php:74
-#: mod/profile_photo.php:81 mod/profile_photo.php:88 mod/profile_photo.php:204
-#: mod/profile_photo.php:296 mod/profile_photo.php:305 include/user.php:343
-#: include/user.php:350 include/user.php:357
-msgid "Profile Photos"
-msgstr "Profielfoto's"
+#: mod/contacts.php:811
+msgid "Search your contacts"
+msgstr "Doorzoek je contacten"
 
-#: view/theme/diabook/theme.php:524
-msgid "Local Directory"
-msgstr "Lokale gids"
+#: mod/contacts.php:812
+msgid "Finding: "
+msgstr "Gevonden:"
 
-#: view/theme/diabook/theme.php:525 mod/directory.php:53
-msgid "Global Directory"
-msgstr "Globale gids"
+#: mod/contacts.php:813 mod/directory.php:202 include/contact_widgets.php:34
+msgid "Find"
+msgstr "Zoek"
 
-#: view/theme/diabook/theme.php:526 include/contact_widgets.php:36
-msgid "Similar Interests"
-msgstr "Dezelfde interesses"
+#: mod/contacts.php:819 mod/settings.php:146 mod/settings.php:674
+msgid "Update"
+msgstr "Wijzigen"
 
-#: view/theme/diabook/theme.php:527 mod/suggest.php:69
-#: include/contact_widgets.php:35
-msgid "Friend Suggestions"
-msgstr "Vriendschapsvoorstellen"
+#: mod/contacts.php:823 mod/group.php:171 mod/admin.php:1112
+#: mod/content.php:440 mod/content.php:743 mod/settings.php:711
+#: mod/photos.php:1715 object/Item.php:134 include/conversation.php:635
+msgid "Delete"
+msgstr "Verwijder"
 
-#: view/theme/diabook/theme.php:528 include/contact_widgets.php:38
-msgid "Invite Friends"
-msgstr "Vrienden uitnodigen"
+#: mod/contacts.php:836
+msgid "Mutual Friendship"
+msgstr "Wederzijdse vriendschap"
 
-#: view/theme/diabook/theme.php:544 view/theme/diabook/theme.php:648
-#: mod/newmember.php:22 mod/admin.php:1114 mod/admin.php:1335
-#: mod/settings.php:90 include/nav.php:173
-msgid "Settings"
-msgstr "Instellingen"
+#: mod/contacts.php:840
+msgid "is a fan of yours"
+msgstr "Is een fan van jou"
 
-#: view/theme/diabook/theme.php:584
-msgid "Set zoomfactor for Earth Layers"
-msgstr ""
+#: mod/contacts.php:844
+msgid "you are a fan of"
+msgstr "Jij bent een fan van"
 
-#: view/theme/diabook/theme.php:622
-msgid "Show/hide boxes at right-hand column:"
-msgstr ""
+#: mod/contacts.php:861 mod/nogroup.php:42
+msgid "Edit contact"
+msgstr "Contact bewerken"
 
-#: view/theme/quattro/config.php:67
-msgid "Alignment"
-msgstr "Uitlijning"
+#: mod/hcard.php:10
+msgid "No profile"
+msgstr "Geen profiel"
 
-#: view/theme/quattro/config.php:67
-msgid "Left"
-msgstr "Links"
+#: mod/manage.php:120
+msgid "Manage Identities and/or Pages"
+msgstr "Beheer Identiteiten en/of Pagina's"
 
-#: view/theme/quattro/config.php:67
-msgid "Center"
-msgstr "Gecentreerd"
+#: mod/manage.php:121
+msgid ""
+"Toggle between different identities or community/group pages which share "
+"your account details or which you have been granted \"manage\" permissions"
+msgstr "Wissel tussen verschillende identiteiten of forum/groeppagina's die jouw accountdetails delen of waar je \"beheerdersrechten\" hebt gekregen."
 
-#: view/theme/quattro/config.php:68
-#: view/theme/zero-childs/cleanzero/config.php:86
-#: view/theme/clean/config.php:88 view/theme/cleanzero/config.php:86
-msgid "Color scheme"
-msgstr "Kleurschema"
+#: mod/manage.php:122
+msgid "Select an identity to manage: "
+msgstr "Selecteer een identiteit om te beheren:"
 
-#: view/theme/quattro/config.php:69
-msgid "Posts font size"
-msgstr "Lettergrootte berichten"
+#: mod/oexchange.php:25
+msgid "Post successful."
+msgstr "Bericht succesvol geplaatst."
 
-#: view/theme/quattro/config.php:70
-msgid "Textareas font size"
-msgstr "Lettergrootte tekstgebieden"
+#: mod/profperm.php:19 mod/group.php:72 index.php:381
+msgid "Permission denied"
+msgstr "Toegang geweigerd"
 
-#: view/theme/zero-childs/cleanzero/config.php:83
-#: view/theme/cleanzero/config.php:83
-msgid "Set resize level for images in posts and comments (width and height)"
+#: mod/profperm.php:25 mod/profperm.php:56
+msgid "Invalid profile identifier."
+msgstr "Ongeldige profiel-identificatie."
+
+#: mod/profperm.php:102
+msgid "Profile Visibility Editor"
 msgstr ""
 
-#: view/theme/zero-childs/cleanzero/config.php:85
-#: view/theme/cleanzero/config.php:85
-msgid "Set theme width"
-msgstr "Stel breedte van het thema in"
+#: mod/profperm.php:104 mod/newmember.php:32 include/identity.php:530
+#: include/identity.php:611 include/identity.php:641 include/nav.php:76
+#: view/theme/diabook/theme.php:124
+msgid "Profile"
+msgstr "Profiel"
 
-#: view/theme/dispy/config.php:75
-msgid "Set colour scheme"
-msgstr "Stel kleurschema in"
+#: mod/profperm.php:106 mod/group.php:222
+msgid "Click on a contact to add or remove."
+msgstr "Klik op een contact om het toe te voegen of te verwijderen."
 
-#: view/theme/clean/config.php:56 view/theme/duepuntozero/config.php:44
-#: include/text.php:1734 include/user.php:255
-msgid "default"
-msgstr "standaard"
+#: mod/profperm.php:115
+msgid "Visible To"
+msgstr "Zichtbaar voor"
 
-#: view/theme/clean/config.php:57
-msgid "Midnight"
-msgstr ""
+#: mod/profperm.php:131
+msgid "All Contacts (with secure profile access)"
+msgstr "Alle contacten (met veilige profieltoegang)"
 
-#: view/theme/clean/config.php:58
-msgid "Zenburn"
-msgstr ""
+#: mod/display.php:82 mod/display.php:283 mod/display.php:500
+#: mod/viewsrc.php:15 mod/admin.php:196 mod/admin.php:1157 mod/admin.php:1378
+#: mod/notice.php:15 include/items.php:4894
+msgid "Item not found."
+msgstr "Item niet gevonden."
 
-#: view/theme/clean/config.php:59
-msgid "Bootstrap"
-msgstr ""
+#: mod/display.php:211 mod/videos.php:189 mod/viewcontacts.php:19
+#: mod/community.php:18 mod/dfrn_request.php:777 mod/search.php:93
+#: mod/search.php:99 mod/directory.php:37 mod/photos.php:968
+msgid "Public access denied."
+msgstr "Niet vrij toegankelijk"
 
-#: view/theme/clean/config.php:60
-msgid "Shades of Pink"
-msgstr ""
+#: mod/display.php:331 mod/profile.php:155
+msgid "Access to this profile has been restricted."
+msgstr "Toegang tot dit profiel is beperkt."
 
-#: view/theme/clean/config.php:61
-msgid "Lime and Orange"
-msgstr ""
+#: mod/display.php:493
+msgid "Item has been removed."
+msgstr "Item is verwijderd."
 
-#: view/theme/clean/config.php:62
-msgid "GeoCities Retro"
-msgstr ""
+#: mod/newmember.php:6
+msgid "Welcome to Friendica"
+msgstr "Welkom bij Friendica"
 
-#: view/theme/clean/config.php:86
-msgid "Background Image"
-msgstr ""
+#: mod/newmember.php:8
+msgid "New Member Checklist"
+msgstr "Checklist voor nieuwe leden"
 
-#: view/theme/clean/config.php:86
+#: mod/newmember.php:12
 msgid ""
-"The URL to a picture (e.g. from your photo album) that should be used as "
-"background image."
-msgstr ""
-
-#: view/theme/clean/config.php:87
-msgid "Background Color"
-msgstr "achtergrondkleur"
+"We would like to offer some tips and links to help make your experience "
+"enjoyable. Click any item to visit the relevant page. A link to this page "
+"will be visible from your home page for two weeks after your initial "
+"registration and then will quietly disappear."
+msgstr "We willen je een paar tips en verwijzingen aanreiken om je een aangename ervaring te bezorgen. Klik op een item om de relevante pagina's te bezoeken. Een verwijzing naar deze pagina zal twee weken lang na je registratie zichtbaar zijn op je tijdlijn. Daarna zal de verwijzing stilletjes verdwijnen."
 
-#: view/theme/clean/config.php:87
-msgid "HEX value for the background color. Don't include the #"
-msgstr ""
+#: mod/newmember.php:14
+msgid "Getting Started"
+msgstr "Aan de slag"
 
-#: view/theme/clean/config.php:89
-msgid "font size"
-msgstr ""
+#: mod/newmember.php:18
+msgid "Friendica Walk-Through"
+msgstr "Doorloop Friendica"
 
-#: view/theme/clean/config.php:89
-msgid "base font size for your interface"
-msgstr ""
+#: mod/newmember.php:18
+msgid ""
+"On your <em>Quick Start</em> page - find a brief introduction to your "
+"profile and network tabs, make some new connections, and find some groups to"
+" join."
+msgstr "Op je <em>Snelstart</em> pagina kun je een korte inleiding vinden over je profiel en netwerk tabs, om enkele nieuwe connecties te leggen en groepen te vinden om lid van te worden."
 
-#: view/theme/duepuntozero/config.php:45
-msgid "greenzero"
-msgstr ""
+#: mod/newmember.php:22 mod/admin.php:1209 mod/admin.php:1454
+#: mod/settings.php:99 include/nav.php:182 view/theme/diabook/theme.php:544
+#: view/theme/diabook/theme.php:648
+msgid "Settings"
+msgstr "Instellingen"
 
-#: view/theme/duepuntozero/config.php:46
-msgid "purplezero"
-msgstr ""
+#: mod/newmember.php:26
+msgid "Go to Your Settings"
+msgstr "Ga naar je instellingen"
 
-#: view/theme/duepuntozero/config.php:47
-msgid "easterbunny"
-msgstr ""
+#: mod/newmember.php:26
+msgid ""
+"On your <em>Settings</em> page -  change your initial password. Also make a "
+"note of your Identity Address. This looks just like an email address - and "
+"will be useful in making friends on the free social web."
+msgstr "Verander je initieel wachtwoord op je <em>instellingenpagina</em>. Noteer ook het adres van je identiteit. Dit ziet er uit als een e-mailadres - en zal nuttig zijn om vrienden te maken op het vrije sociale web."
 
-#: view/theme/duepuntozero/config.php:48
-msgid "darkzero"
-msgstr ""
+#: mod/newmember.php:28
+msgid ""
+"Review the other settings, particularly the privacy settings. An unpublished"
+" directory listing is like having an unlisted phone number. In general, you "
+"should probably publish your listing - unless all of your friends and "
+"potential friends know exactly how to find you."
+msgstr "Controleer ook de andere instellingen, in het bijzonder de privacy-instellingen. Een niet-gepubliceerd adres is zoals een privé-telefoonnummer. In het algemeen wil je waarschijnlijk je adres publiceren - tenzij al je vrienden en mogelijke vrienden precies weten hoe je te vinden."
 
-#: view/theme/duepuntozero/config.php:49
-msgid "comix"
-msgstr ""
+#: mod/newmember.php:36 mod/profile_photo.php:244 mod/profiles.php:709
+msgid "Upload Profile Photo"
+msgstr "Profielfoto uploaden"
 
-#: view/theme/duepuntozero/config.php:50
-msgid "slackr"
-msgstr ""
+#: mod/newmember.php:36
+msgid ""
+"Upload a profile photo if you have not done so already. Studies have shown "
+"that people with real photos of themselves are ten times more likely to make"
+" friends than people who do not."
+msgstr "Upload een profielfoto, als je dat nog niet gedaan hebt. Studies tonen aan dat mensen met echte foto's van zichzelf tien keer gemakkelijker vrienden maken dan mensen die dat niet doen."
 
-#: view/theme/duepuntozero/config.php:62
-msgid "Variations"
-msgstr ""
+#: mod/newmember.php:38
+msgid "Edit Your Profile"
+msgstr "Bewerk je profiel"
 
-#: view/theme/vier/config.php:59 view/theme/vier-mobil/config.php:50
-msgid "Set style"
-msgstr ""
+#: mod/newmember.php:38
+msgid ""
+"Edit your <strong>default</strong> profile to your liking. Review the "
+"settings for hiding your list of friends and hiding the profile from unknown"
+" visitors."
+msgstr "Bewerk je <strong>standaard</strong> profiel zoals je wilt. Controleer de instellingen om je vriendenlijst te verbergen, en om je profiel voor ongekende bezoekers te verbergen."
 
-#: mod/mood.php:62 include/conversation.php:226
-#, php-format
-msgid "%1$s is currently %2$s"
-msgstr "%1$s is op dit moment %2$s"
+#: mod/newmember.php:40
+msgid "Profile Keywords"
+msgstr "Sleutelwoorden voor dit profiel"
 
-#: mod/mood.php:114 mod/api.php:26 mod/api.php:31 mod/wallmessage.php:9
-#: mod/wallmessage.php:33 mod/wallmessage.php:79 mod/wallmessage.php:103
-#: mod/attach.php:33 mod/regmod.php:110 mod/uimport.php:23 mod/poke.php:135
-#: mod/delegate.php:12 mod/nogroup.php:25 mod/fsuggest.php:78
-#: mod/invite.php:15 mod/invite.php:101 mod/manage.php:96 mod/message.php:38
-#: mod/message.php:174 mod/viewcontacts.php:24 mod/notifications.php:66
-#: mod/allfriends.php:9 mod/contacts.php:322 mod/crepair.php:120
-#: mod/dfrn_confirm.php:55 mod/display.php:508 mod/editpost.php:10
-#: mod/events.php:164 mod/follow.php:9 mod/follow.php:42 mod/follow.php:81
-#: mod/group.php:19 mod/item.php:170 mod/item.php:186 mod/network.php:4
-#: mod/notes.php:20 mod/photos.php:156 mod/photos.php:1072
-#: mod/profile_photo.php:19 mod/profile_photo.php:169
-#: mod/profile_photo.php:180 mod/profile_photo.php:193 mod/profiles.php:165
-#: mod/profiles.php:614 mod/suggest.php:58 mod/wall_attach.php:55
-#: mod/wall_upload.php:66 mod/register.php:42 mod/settings.php:20
-#: mod/settings.php:107 mod/settings.php:608 include/items.php:5022
-#: index.php:382
-msgid "Permission denied."
-msgstr "Toegang geweigerd"
+#: mod/newmember.php:40
+msgid ""
+"Set some public keywords for your default profile which describe your "
+"interests. We may be able to find other people with similar interests and "
+"suggest friendships."
+msgstr "Stel enkele openbare sleutelwoorden in voor je standaard profiel die je interesses beschrijven. We kunnen dan misschien mensen vinden met gelijkaardige interesses, en vrienden voorstellen."
 
-#: mod/mood.php:133
-msgid "Mood"
-msgstr "Stemming"
+#: mod/newmember.php:44
+msgid "Connecting"
+msgstr "Verbinding aan het maken"
 
-#: mod/mood.php:134
-msgid "Set your current mood and tell your friends"
-msgstr "Stel je huidige stemming in, en vertel het je vrienden"
+#: mod/newmember.php:49 mod/newmember.php:51 include/contact_selectors.php:81
+msgid "Facebook"
+msgstr "Facebook"
 
-#: mod/decrypt.php:9 mod/viewsrc.php:7
-msgid "Access denied."
-msgstr "Toegang geweigerd"
+#: mod/newmember.php:49
+msgid ""
+"Authorise the Facebook Connector if you currently have a Facebook account "
+"and we will (optionally) import all your Facebook friends and conversations."
+msgstr "Machtig de Facebook Connector als je een Facebook account hebt. We zullen (optioneel) al je Facebook vrienden en conversaties importeren."
 
-#: mod/decrypt.php:15 mod/notice.php:15 mod/viewsrc.php:15 mod/admin.php:169
-#: mod/admin.php:1062 mod/admin.php:1275 mod/display.php:82
-#: mod/display.php:295 mod/display.php:512 include/items.php:4813
-msgid "Item not found."
-msgstr "Item niet gevonden."
+#: mod/newmember.php:51
+msgid ""
+"<em>If</em> this is your own personal server, installing the Facebook addon "
+"may ease your transition to the free social web."
+msgstr "<em>Als</em> dit jouw eigen persoonlijke server is kan het installeren van de Facebook toevoeging je overgang naar het vrije sociale web vergemakkelijken."
 
-#: mod/dfrn_poll.php:103 mod/dfrn_poll.php:536
-#, php-format
-msgid "%1$s welcomes %2$s"
-msgstr "%1$s heet %2$s van harte welkom"
+#: mod/newmember.php:56
+msgid "Importing Emails"
+msgstr "E-mails importeren"
 
-#: mod/api.php:76 mod/api.php:102
-msgid "Authorize application connection"
-msgstr ""
+#: mod/newmember.php:56
+msgid ""
+"Enter your email access information on your Connector Settings page if you "
+"wish to import and interact with friends or mailing lists from your email "
+"INBOX"
+msgstr "Vul je e-mailtoegangsinformatie in op je pagina met verbindingsinstellingen als je vrienden of mailinglijsten uit je e-mail-inbox wilt importeren, en met hen wilt communiceren"
 
-#: mod/api.php:77
-msgid "Return to your app and insert this Securty Code:"
-msgstr ""
+#: mod/newmember.php:58
+msgid "Go to Your Contacts Page"
+msgstr "Ga naar je contactenpagina"
 
-#: mod/api.php:89
-msgid "Please login to continue."
-msgstr "Log in om verder te gaan."
+#: mod/newmember.php:58
+msgid ""
+"Your Contacts page is your gateway to managing friendships and connecting "
+"with friends on other networks. Typically you enter their address or site "
+"URL in the <em>Add New Contact</em> dialog."
+msgstr "Je contactenpagina is jouw poort om vriendschappen te beheren en verbinding te leggen met vrienden op andere netwerken. Je kunt hun adres of URL toevoegen in de <em>Voeg nieuw contact toe</em> dialoog."
 
-#: mod/api.php:104
+#: mod/newmember.php:60
+msgid "Go to Your Site's Directory"
+msgstr "Ga naar de gids van je website"
+
+#: mod/newmember.php:60
 msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Wil je deze toepassing toestemming geven om jouw berichten en contacten in te kijken, en/of nieuwe berichten in jouw plaats aan te maken?"
+"The Directory page lets you find other people in this network or other "
+"federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on "
+"their profile page. Provide your own Identity Address if requested."
+msgstr "In de gids vind je andere mensen in dit netwerk of op andere federatieve sites. Zoek naar het woord <em>Connect</em> of <em>Follow</em> op hun profielpagina (meestal aan de linkerkant). Vul je eigen identiteitsadres in wanneer daar om wordt gevraagd."
 
-#: mod/api.php:105 mod/message.php:209 mod/contacts.php:413
-#: mod/dfrn_request.php:845 mod/follow.php:57 mod/profiles.php:657
-#: mod/profiles.php:660 mod/suggest.php:29 mod/register.php:235
-#: mod/settings.php:1036 mod/settings.php:1042 mod/settings.php:1050
-#: mod/settings.php:1054 mod/settings.php:1059 mod/settings.php:1065
-#: mod/settings.php:1071 mod/settings.php:1077 mod/settings.php:1105
-#: mod/settings.php:1106 mod/settings.php:1107 mod/settings.php:1108
-#: mod/settings.php:1109 include/items.php:4854
-msgid "Yes"
-msgstr "Ja"
+#: mod/newmember.php:62
+msgid "Finding New People"
+msgstr "Nieuwe mensen vinden"
 
-#: mod/api.php:106 mod/dfrn_request.php:845 mod/follow.php:57
-#: mod/profiles.php:657 mod/profiles.php:661 mod/register.php:236
-#: mod/settings.php:1036 mod/settings.php:1042 mod/settings.php:1050
-#: mod/settings.php:1054 mod/settings.php:1059 mod/settings.php:1065
-#: mod/settings.php:1071 mod/settings.php:1077 mod/settings.php:1105
-#: mod/settings.php:1106 mod/settings.php:1107 mod/settings.php:1108
-#: mod/settings.php:1109
-msgid "No"
-msgstr "Nee"
+#: mod/newmember.php:62
+msgid ""
+"On the side panel of the Contacts page are several tools to find new "
+"friends. We can match people by interest, look up people by name or "
+"interest, and provide suggestions based on network relationships. On a brand"
+" new site, friend suggestions will usually begin to be populated within 24 "
+"hours."
+msgstr "Op het zijpaneel van de Contacten pagina vind je verschillende tools om nieuwe vrienden te zoeken. We kunnen mensen op interesses matchen, mensen opzoeken op naam of hobby, en suggesties doen gebaseerd op netwerk-relaties. Op een nieuwe webstek beginnen vriendschapssuggesties meestal binnen de 24 uur beschikbaar te worden."
 
-#: mod/lostpass.php:19
-msgid "No valid account found."
-msgstr "Geen geldige account gevonden."
+#: mod/newmember.php:66 include/group.php:272
+msgid "Groups"
+msgstr "Groepen"
 
-#: mod/lostpass.php:35
-msgid "Password reset request issued. Check your email."
-msgstr "Verzoek om wachtwoord opnieuw in te stellen werd verstuurd. Kijk uw e-mail na."
+#: mod/newmember.php:70
+msgid "Group Your Contacts"
+msgstr "Groepeer je contacten"
 
-#: mod/lostpass.php:42
-#, php-format
+#: mod/newmember.php:70
 msgid ""
-"\n"
-"\t\tDear %1$s,\n"
-"\t\t\tA request was recently received at \"%2$s\" to reset your account\n"
-"\t\tpassword. In order to confirm this request, please select the verification link\n"
-"\t\tbelow or paste it into your web browser address bar.\n"
-"\n"
-"\t\tIf you did NOT request this change, please DO NOT follow the link\n"
-"\t\tprovided and ignore and/or delete this email.\n"
-"\n"
-"\t\tYour password will not be changed unless we can verify that you\n"
-"\t\tissued this request."
-msgstr ""
+"Once you have made some friends, organize them into private conversation "
+"groups from the sidebar of your Contacts page and then you can interact with"
+" each group privately on your Network page."
+msgstr "Als je een aantal vrienden gemaakt hebt kun je ze in je eigen conversatiegroepen indelen vanuit de zijbalk van je 'Conacten' pagina, en dan kun je met elke groep apart contact houden op je Netwerk pagina. "
 
-#: mod/lostpass.php:53
-#, php-format
+#: mod/newmember.php:73
+msgid "Why Aren't My Posts Public?"
+msgstr "Waarom zijn mijn berichten niet openbaar?"
+
+#: mod/newmember.php:73
 msgid ""
-"\n"
-"\t\tFollow this link to verify your identity:\n"
-"\n"
-"\t\t%1$s\n"
-"\n"
-"\t\tYou will then receive a follow-up message containing the new password.\n"
-"\t\tYou may change that password from your account settings page after logging in.\n"
-"\n"
-"\t\tThe login details are as follows:\n"
-"\n"
-"\t\tSite Location:\t%2$s\n"
-"\t\tLogin Name:\t%3$s"
-msgstr ""
+"Friendica respects your privacy. By default, your posts will only show up to"
+" people you've added as friends. For more information, see the help section "
+"from the link above."
+msgstr "Friendica respecteert je privacy. Standaard zullen je berichten alleen zichtbaar zijn voor personen die jij als vriend hebt toegevoegd. Lees de help (zie de verwijzing hierboven) voor meer informatie."
 
-#: mod/lostpass.php:72
+#: mod/newmember.php:78
+msgid "Getting Help"
+msgstr "Hulp krijgen"
+
+#: mod/newmember.php:82
+msgid "Go to the Help Section"
+msgstr "Ga naar de help"
+
+#: mod/newmember.php:82
+msgid ""
+"Our <strong>help</strong> pages may be consulted for detail on other program"
+" features and resources."
+msgstr "Je kunt onze <strong>help</strong> pagina's raadplegen voor gedetailleerde informatie over andere functies van dit programma."
+
+#: mod/openid.php:24
+msgid "OpenID protocol error. No ID returned."
+msgstr "OpenID protocol fout. Geen ID Gevonden."
+
+#: mod/openid.php:53
+msgid ""
+"Account not found and OpenID registration is not permitted on this site."
+msgstr "Account niet gevonden, en OpenID-registratie is niet toegelaten op deze website."
+
+#: mod/openid.php:93 include/auth.php:112 include/auth.php:175
+msgid "Login failed."
+msgstr "Login mislukt."
+
+#: mod/profile_photo.php:44
+msgid "Image uploaded but image cropping failed."
+msgstr "Afbeelding opgeladen, maar bijsnijden mislukt."
+
+#: mod/profile_photo.php:74 mod/profile_photo.php:81 mod/profile_photo.php:88
+#: mod/profile_photo.php:204 mod/profile_photo.php:296
+#: mod/profile_photo.php:305 mod/photos.php:70 mod/photos.php:184
+#: mod/photos.php:767 mod/photos.php:1237 mod/photos.php:1260
+#: mod/photos.php:1854 include/user.php:343 include/user.php:350
+#: include/user.php:357 view/theme/diabook/theme.php:500
+msgid "Profile Photos"
+msgstr "Profielfoto's"
+
+#: mod/profile_photo.php:77 mod/profile_photo.php:84 mod/profile_photo.php:91
+#: mod/profile_photo.php:308
 #, php-format
-msgid "Password reset requested at %s"
-msgstr "Op %s werd gevraagd je wachtwoord opnieuw in te stellen"
+msgid "Image size reduction [%s] failed."
+msgstr "Verkleining van de afbeelding [%s] mislukt."
 
-#: mod/lostpass.php:92
+#: mod/profile_photo.php:118
 msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Verzoek kon niet geverifieerd worden. (Misschien heb je het voordien al ingediend.) Wachtwoord niet opnieuw ingesteld."
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Shift-herlaad de pagina, of maak de browser cache leeg als nieuwe foto's niet onmiddellijk verschijnen."
 
-#: mod/lostpass.php:109 boot.php:1277
-msgid "Password Reset"
-msgstr "Wachtwoord opnieuw instellen"
+#: mod/profile_photo.php:128
+msgid "Unable to process image"
+msgstr "Ik kan de afbeelding niet verwerken"
+
+#: mod/profile_photo.php:144 mod/wall_upload.php:151 mod/photos.php:803
+#, php-format
+msgid "Image exceeds size limit of %s"
+msgstr ""
+
+#: mod/profile_photo.php:153 mod/wall_upload.php:183 mod/photos.php:843
+msgid "Unable to process image."
+msgstr "Niet in staat om de afbeelding te verwerken"
+
+#: mod/profile_photo.php:242
+msgid "Upload File:"
+msgstr "Upload bestand:"
+
+#: mod/profile_photo.php:243
+msgid "Select a profile:"
+msgstr "Kies een profiel:"
+
+#: mod/profile_photo.php:245
+msgid "Upload"
+msgstr "Uploaden"
+
+#: mod/profile_photo.php:248
+msgid "or"
+msgstr "of"
+
+#: mod/profile_photo.php:248
+msgid "skip this step"
+msgstr "Deze stap overslaan"
+
+#: mod/profile_photo.php:248
+msgid "select a photo from your photo albums"
+msgstr "Kies een foto uit je fotoalbums"
 
-#: mod/lostpass.php:110
-msgid "Your password has been reset as requested."
-msgstr "Je wachtwoord is opnieuw ingesteld zoals gevraagd."
+#: mod/profile_photo.php:262
+msgid "Crop Image"
+msgstr "Afbeelding bijsnijden"
 
-#: mod/lostpass.php:111
-msgid "Your new password is"
-msgstr "Je nieuwe wachtwoord is"
+#: mod/profile_photo.php:263
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Pas het afsnijden van de afbeelding aan voor het beste resultaat."
 
-#: mod/lostpass.php:112
-msgid "Save or copy your new password - and then"
-msgstr "Bewaar of kopieer je nieuw wachtwoord - en dan"
+#: mod/profile_photo.php:265
+msgid "Done Editing"
+msgstr "Wijzigingen compleet"
 
-#: mod/lostpass.php:113
-msgid "click here to login"
-msgstr "klik hier om in te loggen"
+#: mod/profile_photo.php:299
+msgid "Image uploaded successfully."
+msgstr "Uploaden van afbeelding gelukt."
 
-#: mod/lostpass.php:114
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Je kunt dit wachtwoord veranderen nadat je bent ingelogd op de <em>Instellingen></em> pagina."
+#: mod/profile_photo.php:301 mod/wall_upload.php:216 mod/photos.php:870
+msgid "Image upload failed."
+msgstr "Uploaden van afbeelding mislukt."
 
-#: mod/lostpass.php:125
-#, php-format
-msgid ""
-"\n"
-"\t\t\t\tDear %1$s,\n"
-"\t\t\t\t\tYour password has been changed as requested. Please retain this\n"
-"\t\t\t\tinformation for your records (or change your password immediately to\n"
-"\t\t\t\tsomething that you will remember).\n"
-"\t\t\t"
-msgstr "\n\t\t\t\tBeste %1$s,\n\t\t\t\t\tZoals gevraagd werd je wachtwoord aangepast. Houd deze\n\t\t\t\tinformatie bij (of verander je wachtwoord naar\n\t\t\t\tiets dat je zal onthouden).\n\t\t\t"
+#: mod/subthread.php:87 mod/tagger.php:62 mod/like.php:168
+#: include/conversation.php:130 include/conversation.php:266
+#: include/text.php:1988 include/diaspora.php:2140
+#: view/theme/diabook/theme.php:471
+msgid "photo"
+msgstr "foto"
 
-#: mod/lostpass.php:131
-#, php-format
-msgid ""
-"\n"
-"\t\t\t\tYour login details are as follows:\n"
-"\n"
-"\t\t\t\tSite Location:\t%1$s\n"
-"\t\t\t\tLogin Name:\t%2$s\n"
-"\t\t\t\tPassword:\t%3$s\n"
-"\n"
-"\t\t\t\tYou may change that password from your account settings page after logging in.\n"
-"\t\t\t"
-msgstr ""
+#: mod/subthread.php:87 mod/tagger.php:62 mod/like.php:168 mod/like.php:346
+#: include/conversation.php:125 include/conversation.php:134
+#: include/conversation.php:261 include/conversation.php:270
+#: include/diaspora.php:2140 view/theme/diabook/theme.php:466
+#: view/theme/diabook/theme.php:475
+msgid "status"
+msgstr "status"
 
-#: mod/lostpass.php:147
+#: mod/subthread.php:103
 #, php-format
-msgid "Your password has been changed at %s"
-msgstr "Je wachtwoord is veranderd op %s"
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s volgt %3$s van %2$s"
 
-#: mod/lostpass.php:159
-msgid "Forgot your Password?"
-msgstr "Wachtwoord vergeten?"
+#: mod/tagrm.php:41
+msgid "Tag removed"
+msgstr "Label verwijderd"
 
-#: mod/lostpass.php:160
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Voer je e-mailadres in en verstuur het om je wachtwoord opnieuw in te stellen. Kijk dan je e-mail na voor verdere instructies."
+#: mod/tagrm.php:79
+msgid "Remove Item Tag"
+msgstr "Verwijder label van item"
 
-#: mod/lostpass.php:161
-msgid "Nickname or Email: "
-msgstr "Bijnaam of e-mail:"
+#: mod/tagrm.php:81
+msgid "Select a tag to remove: "
+msgstr "Selecteer een label om te verwijderen: "
 
-#: mod/lostpass.php:162
-msgid "Reset"
-msgstr "Opnieuw"
+#: mod/tagrm.php:93 mod/delegate.php:139
+msgid "Remove"
+msgstr "Verwijderen"
 
-#: mod/wallmessage.php:42 mod/wallmessage.php:112
-#, php-format
-msgid "Number of daily wall messages for %s exceeded. Message failed."
+#: mod/ostatus_subscribe.php:14
+msgid "Subsribing to OStatus contacts"
 msgstr ""
 
-#: mod/wallmessage.php:56 mod/message.php:63
-msgid "No recipient selected."
-msgstr "Geen ontvanger geselecteerd."
-
-#: mod/wallmessage.php:59
-msgid "Unable to check your home location."
-msgstr "Niet in staat om je tijdlijn-locatie vast te stellen"
-
-#: mod/wallmessage.php:62 mod/message.php:70
-msgid "Message could not be sent."
-msgstr "Bericht kon niet verzonden worden."
+#: mod/ostatus_subscribe.php:25
+msgid "No contact provided."
+msgstr ""
 
-#: mod/wallmessage.php:65 mod/message.php:73
-msgid "Message collection failure."
-msgstr "Fout bij het verzamelen van berichten."
+#: mod/ostatus_subscribe.php:30
+msgid "Couldn't fetch information for contact."
+msgstr ""
 
-#: mod/wallmessage.php:68 mod/message.php:76
-msgid "Message sent."
-msgstr "Bericht verzonden."
+#: mod/ostatus_subscribe.php:38
+msgid "Couldn't fetch friends for contact."
+msgstr ""
 
-#: mod/wallmessage.php:86 mod/wallmessage.php:95
-msgid "No recipient."
-msgstr "Geen ontvanger."
+#: mod/ostatus_subscribe.php:51 mod/repair_ostatus.php:44
+msgid "Done"
+msgstr "Klaar"
 
-#: mod/wallmessage.php:127 mod/wallmessage.php:135 mod/message.php:283
-#: mod/message.php:291 mod/message.php:466 mod/message.php:474
-#: include/conversation.php:1001 include/conversation.php:1019
-msgid "Please enter a link URL:"
-msgstr "Vul een internetadres/URL in:"
+#: mod/ostatus_subscribe.php:65
+msgid "success"
+msgstr "Succesvol"
 
-#: mod/wallmessage.php:142 mod/message.php:319
-msgid "Send Private Message"
-msgstr "Verstuur privébericht"
+#: mod/ostatus_subscribe.php:67
+msgid "failed"
+msgstr "Mislukt"
 
-#: mod/wallmessage.php:143
-#, php-format
-msgid ""
-"If you wish for %s to respond, please check that the privacy settings on "
-"your site allow private mail from unknown senders."
-msgstr "Als je wilt dat %s antwoordt moet je nakijken dat de privacy-instellingen op jouw website privéberichten van onbekende afzenders toelaat."
+#: mod/ostatus_subscribe.php:69 object/Item.php:235
+msgid "ignored"
+msgstr "Verboden"
 
-#: mod/wallmessage.php:144 mod/message.php:320 mod/message.php:553
-msgid "To:"
-msgstr "Aan:"
+#: mod/ostatus_subscribe.php:73 mod/repair_ostatus.php:50
+msgid "Keep this window open until done."
+msgstr "Houd dit scherm open tot het klaar is"
 
-#: mod/wallmessage.php:145 mod/message.php:325 mod/message.php:555
-msgid "Subject:"
-msgstr "Onderwerp:"
+#: mod/filer.php:30 include/conversation.php:1133
+#: include/conversation.php:1151
+msgid "Save to Folder:"
+msgstr "Bewaren in map:"
 
-#: mod/wallmessage.php:151 mod/invite.php:134 mod/message.php:329
-#: mod/message.php:558
-msgid "Your message:"
-msgstr "Jouw bericht:"
+#: mod/filer.php:30
+msgid "- select -"
+msgstr "- Kies -"
 
-#: mod/wallmessage.php:154 mod/message.php:332 mod/message.php:562
-#: mod/editpost.php:110 include/conversation.php:1056
-msgid "Upload photo"
-msgstr "Foto uploaden"
+#: mod/filer.php:31 mod/editpost.php:108 mod/notes.php:61 include/text.php:997
+msgid "Save"
+msgstr "Bewaren"
 
-#: mod/wallmessage.php:155 mod/message.php:333 mod/message.php:563
-#: mod/editpost.php:114 include/conversation.php:1060
-msgid "Insert web link"
-msgstr "Voeg een webadres in"
+#: mod/follow.php:18 mod/dfrn_request.php:861
+msgid "Submit Request"
+msgstr "Aanvraag indienen"
 
-#: mod/newmember.php:6
-msgid "Welcome to Friendica"
-msgstr "Welkom bij Friendica"
+#: mod/follow.php:29
+msgid "You already added this contact."
+msgstr "Je hebt deze kontakt al toegevoegd"
 
-#: mod/newmember.php:8
-msgid "New Member Checklist"
-msgstr "Checklist voor nieuwe leden"
+#: mod/follow.php:38
+msgid "Diaspora support isn't enabled. Contact can't be added."
+msgstr ""
 
-#: mod/newmember.php:12
-msgid ""
-"We would like to offer some tips and links to help make your experience "
-"enjoyable. Click any item to visit the relevant page. A link to this page "
-"will be visible from your home page for two weeks after your initial "
-"registration and then will quietly disappear."
-msgstr "We willen je een paar tips en verwijzingen aanreiken om je een aangename ervaring te bezorgen. Klik op een item om de relevante pagina's te bezoeken. Een verwijzing naar deze pagina zal twee weken lang na je registratie zichtbaar zijn op je tijdlijn. Daarna zal de verwijzing stilletjes verdwijnen."
+#: mod/follow.php:45
+msgid "OStatus support is disabled. Contact can't be added."
+msgstr ""
 
-#: mod/newmember.php:14
-msgid "Getting Started"
-msgstr "Aan de slag"
+#: mod/follow.php:52
+msgid "The network type couldn't be detected. Contact can't be added."
+msgstr ""
 
-#: mod/newmember.php:18
-msgid "Friendica Walk-Through"
-msgstr "Doorloop Friendica"
+#: mod/follow.php:104 mod/dfrn_request.php:847
+msgid "Please answer the following:"
+msgstr "Beantwoord het volgende:"
 
-#: mod/newmember.php:18
-msgid ""
-"On your <em>Quick Start</em> page - find a brief introduction to your "
-"profile and network tabs, make some new connections, and find some groups to"
-" join."
-msgstr "Op je <em>Snelstart</em> pagina kun je een korte inleiding vinden over je profiel en netwerk tabs, om enkele nieuwe connecties te leggen en groepen te vinden om lid van te worden."
+#: mod/follow.php:105 mod/dfrn_request.php:848
+#, php-format
+msgid "Does %s know you?"
+msgstr "Kent %s jou?"
 
-#: mod/newmember.php:26
-msgid "Go to Your Settings"
-msgstr "Ga naar je instellingen"
+#: mod/follow.php:105 mod/settings.php:1091 mod/settings.php:1097
+#: mod/settings.php:1105 mod/settings.php:1109 mod/settings.php:1114
+#: mod/settings.php:1120 mod/settings.php:1126 mod/settings.php:1132
+#: mod/settings.php:1158 mod/settings.php:1159 mod/settings.php:1160
+#: mod/settings.php:1161 mod/settings.php:1162 mod/dfrn_request.php:848
+#: mod/register.php:236 mod/profiles.php:658 mod/profiles.php:662
+#: mod/profiles.php:687 mod/api.php:106
+msgid "No"
+msgstr "Nee"
 
-#: mod/newmember.php:26
-msgid ""
-"On your <em>Settings</em> page -  change your initial password. Also make a "
-"note of your Identity Address. This looks just like an email address - and "
-"will be useful in making friends on the free social web."
-msgstr "Verander je initieel wachtwoord op je <em>instellingenpagina</em>. Noteer ook het adres van je identiteit. Dit ziet er uit als een e-mailadres - en zal nuttig zijn om vrienden te maken op het vrije sociale web."
+#: mod/follow.php:106 mod/dfrn_request.php:852
+msgid "Add a personal note:"
+msgstr "Voeg een persoonlijke opmerking toe:"
 
-#: mod/newmember.php:28
-msgid ""
-"Review the other settings, particularly the privacy settings. An unpublished"
-" directory listing is like having an unlisted phone number. In general, you "
-"should probably publish your listing - unless all of your friends and "
-"potential friends know exactly how to find you."
-msgstr "Controleer ook de andere instellingen, in het bijzonder de privacy-instellingen. Een niet-gepubliceerd adres is zoals een privé-telefoonnummer. In het algemeen wil je waarschijnlijk je adres publiceren - tenzij al je vrienden en mogelijke vrienden precies weten hoe je te vinden."
+#: mod/follow.php:112 mod/dfrn_request.php:858
+msgid "Your Identity Address:"
+msgstr "Adres van uw identiteit:"
 
-#: mod/newmember.php:36 mod/profile_photo.php:244 mod/profiles.php:695
-msgid "Upload Profile Photo"
-msgstr "Profielfoto uploaden"
+#: mod/follow.php:125 mod/notifications.php:244 mod/events.php:566
+#: mod/directory.php:139 include/identity.php:268 include/bb2diaspora.php:170
+#: include/event.php:36 include/event.php:60
+msgid "Location:"
+msgstr "Plaats:"
 
-#: mod/newmember.php:36
-msgid ""
-"Upload a profile photo if you have not done so already. Studies have shown "
-"that people with real photos of themselves are ten times more likely to make"
-" friends than people who do not."
-msgstr "Upload een profielfoto, als je dat nog niet gedaan hebt. Studies tonen aan dat mensen met echte foto's van zichzelf tien keer gemakkelijker vrienden maken dan mensen die dat niet doen."
+#: mod/follow.php:127 mod/notifications.php:246 mod/directory.php:147
+#: include/identity.php:277 include/identity.php:582
+msgid "About:"
+msgstr "Over:"
 
-#: mod/newmember.php:38
-msgid "Edit Your Profile"
-msgstr "Bewerk je profiel"
+#: mod/follow.php:129 mod/notifications.php:248 include/identity.php:576
+msgid "Tags:"
+msgstr "Labels:"
 
-#: mod/newmember.php:38
-msgid ""
-"Edit your <strong>default</strong> profile to your liking. Review the "
-"settings for hiding your list of friends and hiding the profile from unknown"
-" visitors."
-msgstr "Bewerk je <strong>standaard</strong> profiel zoals je wilt. Controleer de instellingen om je vriendenlijst te verbergen, en om je profiel voor ongekende bezoekers te verbergen."
+#: mod/follow.php:162
+msgid "Contact added"
+msgstr "Contact toegevoegd"
 
-#: mod/newmember.php:40
-msgid "Profile Keywords"
-msgstr "Sleutelwoorden voor dit profiel"
+#: mod/item.php:114
+msgid "Unable to locate original post."
+msgstr "Ik kan de originele post niet meer vinden."
 
-#: mod/newmember.php:40
-msgid ""
-"Set some public keywords for your default profile which describe your "
-"interests. We may be able to find other people with similar interests and "
-"suggest friendships."
-msgstr "Stel enkele openbare sleutelwoorden in voor je standaard profiel die je interesses beschrijven. We kunnen dan misschien mensen vinden met gelijkaardige interesses, en vrienden voorstellen."
+#: mod/item.php:322
+msgid "Empty post discarded."
+msgstr "Lege post weggegooid."
 
-#: mod/newmember.php:44
-msgid "Connecting"
-msgstr "Verbinding aan het maken"
+#: mod/item.php:461 mod/wall_upload.php:213 mod/wall_upload.php:227
+#: mod/wall_upload.php:234 include/Photo.php:954 include/Photo.php:969
+#: include/Photo.php:976 include/Photo.php:998 include/message.php:145
+msgid "Wall Photos"
+msgstr ""
 
-#: mod/newmember.php:49 mod/newmember.php:51 include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
+#: mod/item.php:835
+msgid "System error. Post not saved."
+msgstr "Systeemfout. Post niet bewaard."
 
-#: mod/newmember.php:49
+#: mod/item.php:964
+#, php-format
 msgid ""
-"Authorise the Facebook Connector if you currently have a Facebook account "
-"and we will (optionally) import all your Facebook friends and conversations."
-msgstr "Machtig de Facebook Connector als je een Facebook account hebt. We zullen (optioneel) al je Facebook vrienden en conversaties importeren."
+"This message was sent to you by %s, a member of the Friendica social "
+"network."
+msgstr "Dit bericht werd naar jou gestuurd door %s, een lid van het Friendica sociale netwerk."
 
-#: mod/newmember.php:51
+#: mod/item.php:966
+#, php-format
+msgid "You may visit them online at %s"
+msgstr "Je kunt ze online bezoeken op %s"
+
+#: mod/item.php:967
 msgid ""
-"<em>If</em> this is your own personal server, installing the Facebook addon "
-"may ease your transition to the free social web."
-msgstr "<em>Als</em> dit jouw eigen persoonlijke server is kan het installeren van de Facebook toevoeging je overgang naar het vrije sociale web vergemakkelijken."
+"Please contact the sender by replying to this post if you do not wish to "
+"receive these messages."
+msgstr "Contacteer de afzender door op dit bericht te antwoorden als je deze berichten niet wilt ontvangen."
 
-#: mod/newmember.php:56
-msgid "Importing Emails"
-msgstr "E-mails importeren"
+#: mod/item.php:971
+#, php-format
+msgid "%s posted an update."
+msgstr "%s heeft een wijziging geplaatst."
 
-#: mod/newmember.php:56
-msgid ""
-"Enter your email access information on your Connector Settings page if you "
-"wish to import and interact with friends or mailing lists from your email "
-"INBOX"
-msgstr "Vul je e-mailtoegangsinformatie in op je pagina met verbindingsinstellingen als je vrienden of mailinglijsten uit je e-mail-inbox wilt importeren, en met hen wilt communiceren"
+#: mod/group.php:29
+msgid "Group created."
+msgstr "Groep aangemaakt."
 
-#: mod/newmember.php:58
-msgid "Go to Your Contacts Page"
-msgstr "Ga naar je contactenpagina"
+#: mod/group.php:35
+msgid "Could not create group."
+msgstr "Kon de groep niet aanmaken."
 
-#: mod/newmember.php:58
-msgid ""
-"Your Contacts page is your gateway to managing friendships and connecting "
-"with friends on other networks. Typically you enter their address or site "
-"URL in the <em>Add New Contact</em> dialog."
-msgstr "Je contactenpagina is jouw poort om vriendschappen te beheren en verbinding te leggen met vrienden op andere netwerken. Je kunt hun adres of URL toevoegen in de <em>Voeg nieuw contact toe</em> dialoog."
+#: mod/group.php:47 mod/group.php:140
+msgid "Group not found."
+msgstr "Groep niet gevonden."
 
-#: mod/newmember.php:60
-msgid "Go to Your Site's Directory"
-msgstr "Ga naar de gids van je website"
+#: mod/group.php:60
+msgid "Group name changed."
+msgstr "Groepsnaam gewijzigd."
 
-#: mod/newmember.php:60
-msgid ""
-"The Directory page lets you find other people in this network or other "
-"federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on "
-"their profile page. Provide your own Identity Address if requested."
-msgstr "In de gids vind je andere mensen in dit netwerk of op andere federatieve sites. Zoek naar het woord <em>Connect</em> of <em>Follow</em> op hun profielpagina (meestal aan de linkerkant). Vul je eigen identiteitsadres in wanneer daar om wordt gevraagd."
+#: mod/group.php:87
+msgid "Save Group"
+msgstr "Bewaar groep"
 
-#: mod/newmember.php:62
-msgid "Finding New People"
-msgstr "Nieuwe mensen vinden"
+#: mod/group.php:93
+msgid "Create a group of contacts/friends."
+msgstr "Maak een groep contacten/vrienden aan."
 
-#: mod/newmember.php:62
-msgid ""
-"On the side panel of the Contacts page are several tools to find new "
-"friends. We can match people by interest, look up people by name or "
-"interest, and provide suggestions based on network relationships. On a brand"
-" new site, friend suggestions will usually begin to be populated within 24 "
-"hours."
-msgstr "Op het zijpaneel van de Contacten pagina vind je verschillende tools om nieuwe vrienden te zoeken. We kunnen mensen op interesses matchen, mensen opzoeken op naam of hobby, en suggesties doen gebaseerd op netwerk-relaties. Op een nieuwe webstek beginnen vriendschapssuggesties meestal binnen de 24 uur beschikbaar te worden."
+#: mod/group.php:94 mod/group.php:178 include/group.php:275
+msgid "Group Name: "
+msgstr "Groepsnaam:"
 
-#: mod/newmember.php:66 include/group.php:270
-msgid "Groups"
-msgstr "Groepen"
+#: mod/group.php:113
+msgid "Group removed."
+msgstr "Groep verwijderd."
 
-#: mod/newmember.php:70
-msgid "Group Your Contacts"
-msgstr "Groepeer je contacten"
+#: mod/group.php:115
+msgid "Unable to remove group."
+msgstr "Niet in staat om groep te verwijderen."
 
-#: mod/newmember.php:70
-msgid ""
-"Once you have made some friends, organize them into private conversation "
-"groups from the sidebar of your Contacts page and then you can interact with"
-" each group privately on your Network page."
-msgstr "Als je een aantal vrienden gemaakt hebt kun je ze in je eigen conversatiegroepen indelen vanuit de zijbalk van je 'Conacten' pagina, en dan kun je met elke groep apart contact houden op je Netwerk pagina. "
+#: mod/group.php:177
+msgid "Group Editor"
+msgstr "Groepsbewerker"
 
-#: mod/newmember.php:73
-msgid "Why Aren't My Posts Public?"
-msgstr "Waarom zijn mijn berichten niet openbaar?"
+#: mod/group.php:190
+msgid "Members"
+msgstr "Leden"
 
-#: mod/newmember.php:73
-msgid ""
-"Friendica respects your privacy. By default, your posts will only show up to"
-" people you've added as friends. For more information, see the help section "
-"from the link above."
-msgstr "Friendica respecteert je privacy. Standaard zullen je berichten alleen zichtbaar zijn voor personen die jij als vriend hebt toegevoegd. Lees de help (zie de verwijzing hierboven) voor meer informatie."
+#: mod/apps.php:7 index.php:225
+msgid "You must be logged in to use addons. "
+msgstr "Je moet ingelogd zijn om deze addons te kunnen gebruiken. "
 
-#: mod/newmember.php:78
-msgid "Getting Help"
-msgstr "Hulp krijgen"
+#: mod/apps.php:11
+msgid "Applications"
+msgstr "Toepassingen"
 
-#: mod/newmember.php:82
-msgid "Go to the Help Section"
-msgstr "Ga naar de help"
+#: mod/apps.php:14
+msgid "No installed applications."
+msgstr "Geen toepassingen geïnstalleerd"
 
-#: mod/newmember.php:82
-msgid ""
-"Our <strong>help</strong> pages may be consulted for detail on other program"
-" features and resources."
-msgstr "Je kunt onze <strong>help</strong> pagina's raadplegen voor gedetailleerde informatie over andere functies van dit programma."
+#: mod/dfrn_confirm.php:64 mod/profiles.php:18 mod/profiles.php:133
+#: mod/profiles.php:179 mod/profiles.php:627
+msgid "Profile not found."
+msgstr "Profiel niet gevonden"
 
-#: mod/_search.php:21 mod/network.php:187 mod/search.php:21
-msgid "Remove term"
-msgstr "Verwijder zoekterm"
+#: mod/dfrn_confirm.php:120 mod/fsuggest.php:20 mod/fsuggest.php:92
+#: mod/crepair.php:134
+msgid "Contact not found."
+msgstr "Contact niet gevonden"
 
-#: mod/_search.php:30 mod/network.php:196 mod/search.php:30
-#: include/features.php:42
-msgid "Saved Searches"
-msgstr "Opgeslagen zoekopdrachten"
+#: mod/dfrn_confirm.php:121
+msgid ""
+"This may occasionally happen if contact was requested by both persons and it"
+" has already been approved."
+msgstr "Dit kan soms gebeuren als het contact door beide personen werd gevraagd, en het werd al goedgekeurd."
 
-#: mod/_search.php:89 mod/viewcontacts.php:19 mod/community.php:18
-#: mod/dfrn_request.php:777 mod/directory.php:35 mod/display.php:223
-#: mod/photos.php:942 mod/search.php:89 mod/videos.php:187
-msgid "Public access denied."
-msgstr "Niet vrij toegankelijk"
+#: mod/dfrn_confirm.php:240
+msgid "Response from remote site was not understood."
+msgstr "Antwoord van de website op afstand werd niet begrepen."
 
-#: mod/_search.php:99 mod/search.php:99 include/nav.php:119
-#: include/text.php:977
-msgid "Search"
-msgstr "Zoeken"
+#: mod/dfrn_confirm.php:249 mod/dfrn_confirm.php:254
+msgid "Unexpected response from remote site: "
+msgstr "Onverwacht antwoord van website op afstand:"
 
-#: mod/_search.php:180 mod/_search.php:206 mod/community.php:62
-#: mod/community.php:71 mod/search.php:174
-msgid "No results."
-msgstr "Geen resultaten."
+#: mod/dfrn_confirm.php:263
+msgid "Confirmation completed successfully."
+msgstr "Bevestiging werd correct voltooid."
 
-#: mod/tagger.php:95 include/conversation.php:265
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s labelde %3$s van %2$s met %4$s"
+#: mod/dfrn_confirm.php:265 mod/dfrn_confirm.php:279 mod/dfrn_confirm.php:286
+msgid "Remote site reported: "
+msgstr "Website op afstand berichtte: "
 
-#: mod/attach.php:8
-msgid "Item not available."
-msgstr "Item niet beschikbaar"
+#: mod/dfrn_confirm.php:277
+msgid "Temporary failure. Please wait and try again."
+msgstr "Tijdelijke fout. Wacht even en probeer opnieuw."
 
-#: mod/attach.php:20
-msgid "Item was not found."
-msgstr "Item niet gevonden"
+#: mod/dfrn_confirm.php:284
+msgid "Introduction failed or was revoked."
+msgstr "Verzoek mislukt of herroepen."
 
-#: mod/regmod.php:55
-msgid "Account approved."
-msgstr "Account goedgekeurd."
+#: mod/dfrn_confirm.php:430
+msgid "Unable to set contact photo."
+msgstr "Ik kan geen contact foto instellen."
 
-#: mod/regmod.php:92
+#: mod/dfrn_confirm.php:487 include/conversation.php:185
+#: include/diaspora.php:636
 #, php-format
-msgid "Registration revoked for %s"
-msgstr "Registratie ingetrokken voor %s"
-
-#: mod/regmod.php:104
-msgid "Please login."
-msgstr "Inloggen."
+msgid "%1$s is now friends with %2$s"
+msgstr "%1$s is nu bevriend met %2$s"
 
-#: mod/uimport.php:50 mod/register.php:188
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "Deze website heeft het toegelaten dagelijkse aantal registraties overschreden. Probeer morgen opnieuw."
+#: mod/dfrn_confirm.php:572
+#, php-format
+msgid "No user record found for '%s' "
+msgstr "Geen gebruiker gevonden voor '%s'"
 
-#: mod/uimport.php:64 mod/register.php:283
-msgid "Import"
-msgstr "Importeren"
+#: mod/dfrn_confirm.php:582
+msgid "Our site encryption key is apparently messed up."
+msgstr "De encryptie-sleutel van onze webstek is blijkbaar beschadigd."
 
-#: mod/uimport.php:66
-msgid "Move account"
-msgstr "Account verplaatsen"
+#: mod/dfrn_confirm.php:593
+msgid "Empty site URL was provided or URL could not be decrypted by us."
+msgstr "Er werd een lege URL gegeven, of de URL kon niet ontcijferd worden door ons."
 
-#: mod/uimport.php:67
-msgid "You can import an account from another Friendica server."
-msgstr "Je kunt een account van een andere Friendica server importeren."
+#: mod/dfrn_confirm.php:614
+msgid "Contact record was not found for you on our site."
+msgstr "We vonden op onze webstek geen contactrecord voor jou."
 
-#: mod/uimport.php:68
-msgid ""
-"You need to export your account from the old server and upload it here. We "
-"will recreate your old account here with all your contacts. We will try also"
-" to inform your friends that you moved here."
-msgstr "Je moet je account bij de oude server exporteren, en hier uploaden. We zullen je oude account hier opnieuw aanmaken, met al je contacten. We zullen ook proberen om je vrienden in te lichten dat je naar hier verhuisd bent."
+#: mod/dfrn_confirm.php:628
+#, php-format
+msgid "Site public key not available in contact record for URL %s."
+msgstr "Publieke sleutel voor webstek niet beschikbaar in contactrecord voor URL %s."
 
-#: mod/uimport.php:69
+#: mod/dfrn_confirm.php:648
 msgid ""
-"This feature is experimental. We can't import contacts from the OStatus "
-"network (statusnet/identi.ca) or from Diaspora"
-msgstr "Deze functie is experimenteel. We kunnen geen contacten van het OStatus netwerk (statusnet/identi.ca) of van Diaspora importeren."
+"The ID provided by your system is a duplicate on our system. It should work "
+"if you try again."
+msgstr "Het ID dat jouw systeem aangeeft is een dubbel op ons systeem. Als je opnieuw probeert zou het moeten werken."
 
-#: mod/uimport.php:70
-msgid "Account file"
-msgstr "Account bestand"
+#: mod/dfrn_confirm.php:659
+msgid "Unable to set your contact credentials on our system."
+msgstr "Niet in staat om op dit systeem je contactreferenties in te stellen."
 
-#: mod/uimport.php:70
-msgid ""
-"To export your account, go to \"Settings->Export your personal data\" and "
-"select \"Export account\""
+#: mod/dfrn_confirm.php:726
+msgid "Unable to update your contact profile details on our system"
 msgstr ""
 
-#: mod/lockview.php:31 mod/lockview.php:39
-msgid "Remote privacy information not available."
-msgstr "Privacyinformatie op afstand niet beschikbaar."
-
-#: mod/lockview.php:48
-msgid "Visible to:"
-msgstr "Zichtbaar voor:"
+#: mod/dfrn_confirm.php:753 mod/dfrn_request.php:732 include/items.php:4313
+msgid "[Name Withheld]"
+msgstr "[Naam achtergehouden]"
 
-#: mod/hcard.php:10
-msgid "No profile"
-msgstr "Geen profiel"
+#: mod/dfrn_confirm.php:798
+#, php-format
+msgid "%1$s has joined %2$s"
+msgstr "%1$s is toegetreden tot %2$s"
 
-#: mod/update_profile.php:41 mod/update_network.php:25
-#: mod/update_display.php:22 mod/update_community.php:18
-#: mod/update_notes.php:37
-msgid "[Embedded content - reload page to view]"
-msgstr "[Ingebedde inhoud - herlaad pagina om het te bekijken]"
+#: mod/profile.php:21 include/identity.php:77
+msgid "Requested profile is not available."
+msgstr "Gevraagde profiel is niet beschikbaar."
 
-#: mod/babel.php:17
-msgid "Source (bbcode) text:"
-msgstr "Bron (bbcode) tekst:"
+#: mod/profile.php:179
+msgid "Tips for New Members"
+msgstr "Tips voor nieuwe leden"
 
-#: mod/babel.php:23
-msgid "Source (Diaspora) text to convert to BBcode:"
-msgstr "Bron (Diaspora) tekst om naar BBCode om te zetten:"
+#: mod/videos.php:115
+msgid "Do you really want to delete this video?"
+msgstr "Wil je deze video echt verwijderen?"
 
-#: mod/babel.php:31
-msgid "Source input: "
-msgstr "Bron ingave:"
+#: mod/videos.php:120
+msgid "Delete Video"
+msgstr "Verwijder video"
 
-#: mod/babel.php:35
-msgid "bb2html (raw HTML): "
-msgstr "bb2html (ruwe HTML):"
+#: mod/videos.php:199
+msgid "No videos selected"
+msgstr "Geen video's geselecteerd"
 
-#: mod/babel.php:39
-msgid "bb2html: "
-msgstr "bb2html:"
+#: mod/videos.php:300 mod/photos.php:1079
+msgid "Access to this item is restricted."
+msgstr "Toegang tot dit item is beperkt."
 
-#: mod/babel.php:43
-msgid "bb2html2bb: "
-msgstr "bb2html2bb: "
+#: mod/videos.php:375 include/text.php:1458
+msgid "View Video"
+msgstr "Bekijk Video"
 
-#: mod/babel.php:47
-msgid "bb2md: "
-msgstr "bb2md: "
+#: mod/videos.php:382 mod/photos.php:1882
+msgid "View Album"
+msgstr "Album bekijken"
 
-#: mod/babel.php:51
-msgid "bb2md2html: "
-msgstr "bb2md2html: "
+#: mod/videos.php:391
+msgid "Recent Videos"
+msgstr "Recente video's"
 
-#: mod/babel.php:55
-msgid "bb2dia2bb: "
-msgstr "bb2dia2bb: "
+#: mod/videos.php:393
+msgid "Upload New Videos"
+msgstr "Nieuwe video's uploaden"
 
-#: mod/babel.php:59
-msgid "bb2md2html2bb: "
-msgstr "bb2md2html2bb: "
+#: mod/tagger.php:95 include/conversation.php:278
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s labelde %3$s van %2$s met %4$s"
 
-#: mod/babel.php:69
-msgid "Source input (Diaspora format): "
-msgstr "Bron ingave (Diaspora formaat):"
+#: mod/fsuggest.php:63
+msgid "Friend suggestion sent."
+msgstr "Vriendschapsvoorstel verzonden."
 
-#: mod/babel.php:74
-msgid "diaspora2bb: "
-msgstr "diaspora2bb: "
+#: mod/fsuggest.php:97
+msgid "Suggest Friends"
+msgstr "Stel vrienden voor"
 
-#: mod/like.php:168 include/conversation.php:140
+#: mod/fsuggest.php:99
 #, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s vindt het %3$s van %2$s niet leuk"
-
-#: mod/oexchange.php:25
-msgid "Post successful."
-msgstr "Bericht succesvol geplaatst."
+msgid "Suggest a friend for %s"
+msgstr "Stel een vriend voor aan %s"
 
-#: mod/localtime.php:12 include/bb2diaspora.php:139 include/event.php:13
-msgid "l F d, Y \\@ g:i A"
-msgstr "l F d, Y \\@ g:i A"
+#: mod/wall_upload.php:20 mod/wall_upload.php:33 mod/wall_upload.php:86
+#: mod/wall_upload.php:122 mod/wall_upload.php:125 mod/wall_attach.php:17
+#: mod/wall_attach.php:25 mod/wall_attach.php:76 include/api.php:1702
+msgid "Invalid request."
+msgstr ""
 
-#: mod/localtime.php:24
-msgid "Time Conversion"
-msgstr "Tijdsconversie"
+#: mod/lostpass.php:19
+msgid "No valid account found."
+msgstr "Geen geldige account gevonden."
 
-#: mod/localtime.php:26
-msgid ""
-"Friendica provides this service for sharing events with other networks and "
-"friends in unknown timezones."
-msgstr "Friendica biedt deze dienst aan om gebeurtenissen te delen met andere netwerken en vrienden in onbekende tijdzones."
+#: mod/lostpass.php:35
+msgid "Password reset request issued. Check your email."
+msgstr "Verzoek om wachtwoord opnieuw in te stellen werd verstuurd. Kijk uw e-mail na."
 
-#: mod/localtime.php:30
+#: mod/lostpass.php:42
 #, php-format
-msgid "UTC time: %s"
-msgstr "UTC tijd: %s"
+msgid ""
+"\n"
+"\t\tDear %1$s,\n"
+"\t\t\tA request was recently received at \"%2$s\" to reset your account\n"
+"\t\tpassword. In order to confirm this request, please select the verification link\n"
+"\t\tbelow or paste it into your web browser address bar.\n"
+"\n"
+"\t\tIf you did NOT request this change, please DO NOT follow the link\n"
+"\t\tprovided and ignore and/or delete this email.\n"
+"\n"
+"\t\tYour password will not be changed unless we can verify that you\n"
+"\t\tissued this request."
+msgstr ""
 
-#: mod/localtime.php:33
+#: mod/lostpass.php:53
 #, php-format
-msgid "Current timezone: %s"
-msgstr "Huidige Tijdzone: %s"
+msgid ""
+"\n"
+"\t\tFollow this link to verify your identity:\n"
+"\n"
+"\t\t%1$s\n"
+"\n"
+"\t\tYou will then receive a follow-up message containing the new password.\n"
+"\t\tYou may change that password from your account settings page after logging in.\n"
+"\n"
+"\t\tThe login details are as follows:\n"
+"\n"
+"\t\tSite Location:\t%2$s\n"
+"\t\tLogin Name:\t%3$s"
+msgstr ""
 
-#: mod/localtime.php:36
+#: mod/lostpass.php:72
 #, php-format
-msgid "Converted localtime: %s"
-msgstr "Omgerekende lokale tijd: %s"
+msgid "Password reset requested at %s"
+msgstr "Op %s werd gevraagd je wachtwoord opnieuw in te stellen"
 
-#: mod/localtime.php:41
-msgid "Please select your timezone:"
-msgstr "Selecteer je tijdzone:"
+#: mod/lostpass.php:92
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Verzoek kon niet geverifieerd worden. (Misschien heb je het voordien al ingediend.) Wachtwoord niet opnieuw ingesteld."
 
-#: mod/filer.php:30 include/conversation.php:1005
-#: include/conversation.php:1023
-msgid "Save to Folder:"
-msgstr "Bewaren in map:"
+#: mod/lostpass.php:109 boot.php:1295
+msgid "Password Reset"
+msgstr "Wachtwoord opnieuw instellen"
 
-#: mod/filer.php:30
-msgid "- select -"
-msgstr "- Kies -"
+#: mod/lostpass.php:110
+msgid "Your password has been reset as requested."
+msgstr "Je wachtwoord is opnieuw ingesteld zoals gevraagd."
 
-#: mod/filer.php:31 mod/editpost.php:109 mod/notes.php:59 include/text.php:978
-msgid "Save"
-msgstr "Bewaren"
+#: mod/lostpass.php:111
+msgid "Your new password is"
+msgstr "Je nieuwe wachtwoord is"
 
-#: mod/poke.php:192
-msgid "Poke/Prod"
-msgstr "Aanstoten/porren"
+#: mod/lostpass.php:112
+msgid "Save or copy your new password - and then"
+msgstr "Bewaar of kopieer je nieuw wachtwoord - en dan"
 
-#: mod/poke.php:193
-msgid "poke, prod or do other things to somebody"
-msgstr "aanstoten, porren of andere dingen met iemand doen"
+#: mod/lostpass.php:113
+msgid "click here to login"
+msgstr "klik hier om in te loggen"
 
-#: mod/poke.php:194
-msgid "Recipient"
-msgstr "Ontvanger"
+#: mod/lostpass.php:114
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Je kunt dit wachtwoord veranderen nadat je bent ingelogd op de <em>Instellingen></em> pagina."
 
-#: mod/poke.php:195
-msgid "Choose what you wish to do to recipient"
-msgstr "Kies wat je met de ontvanger wil doen"
+#: mod/lostpass.php:125
+#, php-format
+msgid ""
+"\n"
+"\t\t\t\tDear %1$s,\n"
+"\t\t\t\t\tYour password has been changed as requested. Please retain this\n"
+"\t\t\t\tinformation for your records (or change your password immediately to\n"
+"\t\t\t\tsomething that you will remember).\n"
+"\t\t\t"
+msgstr "\n\t\t\t\tBeste %1$s,\n\t\t\t\t\tZoals gevraagd werd je wachtwoord aangepast. Houd deze\n\t\t\t\tinformatie bij (of verander je wachtwoord naar\n\t\t\t\tiets dat je zal onthouden).\n\t\t\t"
 
-#: mod/poke.php:198
-msgid "Make this post private"
-msgstr "Dit bericht privé maken"
+#: mod/lostpass.php:131
+#, php-format
+msgid ""
+"\n"
+"\t\t\t\tYour login details are as follows:\n"
+"\n"
+"\t\t\t\tSite Location:\t%1$s\n"
+"\t\t\t\tLogin Name:\t%2$s\n"
+"\t\t\t\tPassword:\t%3$s\n"
+"\n"
+"\t\t\t\tYou may change that password from your account settings page after logging in.\n"
+"\t\t\t"
+msgstr ""
 
-#: mod/subthread.php:103
+#: mod/lostpass.php:147
 #, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s volgt %3$s van %2$s"
+msgid "Your password has been changed at %s"
+msgstr "Je wachtwoord is veranderd op %s"
 
-#: mod/uexport.php:77
-msgid "Export account"
-msgstr "Account exporteren"
+#: mod/lostpass.php:159
+msgid "Forgot your Password?"
+msgstr "Wachtwoord vergeten?"
 
-#: mod/uexport.php:77
+#: mod/lostpass.php:160
 msgid ""
-"Export your account info and contacts. Use this to make a backup of your "
-"account and/or to move it to another server."
-msgstr "Je account informatie en contacten exporteren. Gebruik dit om een backup van je account te maken en/of om het te verhuizen naar een andere server."
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Voer je e-mailadres in en verstuur het om je wachtwoord opnieuw in te stellen. Kijk dan je e-mail na voor verdere instructies."
 
-#: mod/uexport.php:78
-msgid "Export all"
-msgstr "Alles exporteren"
+#: mod/lostpass.php:161
+msgid "Nickname or Email: "
+msgstr "Bijnaam of e-mail:"
 
-#: mod/uexport.php:78
-msgid ""
-"Export your accout info, contacts and all your items as json. Could be a "
-"very big file, and could take a lot of time. Use this to make a full backup "
-"of your account (photos are not exported)"
-msgstr "Je account info, contacten en al je items in json formaat exporteren. Dit kan een heel groot bestand worden, en kan lang duren. Gebruik dit om een volledige backup van je account te maken (foto's worden niet geexporteerd)"
+#: mod/lostpass.php:162
+msgid "Reset"
+msgstr "Opnieuw"
 
-#: mod/uexport.php:85 mod/settings.php:77
-msgid "Export personal data"
-msgstr "Persoonlijke gegevens exporteren"
+#: mod/like.php:170 include/conversation.php:122 include/conversation.php:258
+#: include/text.php:1986 view/theme/diabook/theme.php:463
+msgid "event"
+msgstr "gebeurtenis"
+
+#: mod/like.php:187 include/conversation.php:141 include/diaspora.php:2156
+#: view/theme/diabook/theme.php:480
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s vindt het %3$s van %2$s leuk"
+
+#: mod/like.php:189 include/conversation.php:144
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s vindt het %3$s van %2$s niet leuk"
+
+#: mod/like.php:191
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr ""
 
-#: mod/apps.php:7 index.php:225
-msgid "You must be logged in to use addons. "
-msgstr "Je moet ingelogd zijn om deze addons te kunnen gebruiken. "
+#: mod/like.php:193
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr ""
 
-#: mod/apps.php:11
-msgid "Applications"
-msgstr "Toepassingen"
+#: mod/like.php:195
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr ""
 
-#: mod/apps.php:14
-msgid "No installed applications."
-msgstr "Geen toepassingen geïnstalleerd"
+#: mod/ping.php:257
+msgid "{0} wants to be your friend"
+msgstr "{0} wilt je vriend worden"
 
-#: mod/navigation.php:20 include/nav.php:34
-msgid "Nothing new here"
-msgstr "Niets nieuw hier"
+#: mod/ping.php:272
+msgid "{0} sent you a message"
+msgstr "{0} stuurde jou een bericht"
 
-#: mod/navigation.php:24 include/nav.php:38
-msgid "Clear notifications"
-msgstr "Notificaties verwijderen"
+#: mod/ping.php:287
+msgid "{0} requested registration"
+msgstr "{0} vroeg om zich te registreren"
 
-#: mod/tagrm.php:11 mod/tagrm.php:94 mod/fbrowser.php:81 mod/fbrowser.php:116
-#: mod/message.php:212 mod/contacts.php:416 mod/dfrn_request.php:859
-#: mod/editpost.php:148 mod/follow.php:68 mod/photos.php:225
-#: mod/photos.php:314 mod/suggest.php:32 mod/videos.php:121
-#: mod/settings.php:622 mod/settings.php:648 include/conversation.php:1093
-#: include/items.php:4857
-msgid "Cancel"
-msgstr "Annuleren"
+#: mod/viewcontacts.php:41
+msgid "No contacts."
+msgstr "Geen contacten."
 
-#: mod/tagrm.php:41
-msgid "Tag removed"
-msgstr "Label verwijderd"
+#: mod/viewcontacts.php:83 include/text.php:917
+msgid "View Contacts"
+msgstr "Bekijk contacten"
 
-#: mod/tagrm.php:79
-msgid "Remove Item Tag"
-msgstr "Verwijder label van item"
+#: mod/notifications.php:29
+msgid "Invalid request identifier."
+msgstr "Ongeldige <em>request identifier</em>."
 
-#: mod/tagrm.php:81
-msgid "Select a tag to remove: "
-msgstr "Selecteer een label om te verwijderen: "
+#: mod/notifications.php:38 mod/notifications.php:180
+#: mod/notifications.php:260
+msgid "Discard"
+msgstr "Verwerpen"
 
-#: mod/tagrm.php:93 mod/delegate.php:139
-msgid "Remove"
-msgstr "Verwijderen"
+#: mod/notifications.php:81
+msgid "System"
+msgstr "Systeem"
 
-#: mod/delegate.php:101
-msgid "No potential page delegates located."
-msgstr "Niemand gevonden waar het paginabeheer mogelijk aan uitbesteed kan worden."
+#: mod/notifications.php:87 mod/admin.php:228 include/nav.php:154
+msgid "Network"
+msgstr "Netwerk"
 
-#: mod/delegate.php:130 include/nav.php:171
-msgid "Delegate Page Management"
-msgstr "Paginabeheer uitbesteden"
+#: mod/notifications.php:93 mod/network.php:385
+msgid "Personal"
+msgstr "Persoonlijk"
 
-#: mod/delegate.php:132
-msgid ""
-"Delegates are able to manage all aspects of this account/page except for "
-"basic account settings. Please do not delegate your personal account to "
-"anybody that you do not trust completely."
-msgstr "Personen waaraan het beheer is uitbesteed kunnen alle onderdelen van een account/pagina beheren, behalve de basisinstellingen van een account. Besteed je persoonlijke account daarom niet uit aan personen die je niet volledig vertrouwd."
+#: mod/notifications.php:99 include/nav.php:104 include/nav.php:157
+#: view/theme/diabook/theme.php:123
+msgid "Home"
+msgstr "Tijdlijn"
 
-#: mod/delegate.php:133
-msgid "Existing Page Managers"
-msgstr "Bestaande paginabeheerders"
+#: mod/notifications.php:105 include/nav.php:162
+msgid "Introductions"
+msgstr "Verzoeken"
 
-#: mod/delegate.php:135
-msgid "Existing Page Delegates"
-msgstr "Bestaande personen waaraan het paginabeheer is uitbesteed"
+#: mod/notifications.php:130
+msgid "Show Ignored Requests"
+msgstr "Toon genegeerde verzoeken"
 
-#: mod/delegate.php:137
-msgid "Potential Delegates"
-msgstr "Mogelijke personen waaraan het paginabeheer kan worden uitbesteed "
+#: mod/notifications.php:130
+msgid "Hide Ignored Requests"
+msgstr "Verberg genegeerde verzoeken"
 
-#: mod/delegate.php:140
-msgid "Add"
-msgstr "Toevoegen"
+#: mod/notifications.php:164 mod/notifications.php:234
+msgid "Notification type: "
+msgstr "Notificatiesoort:"
 
-#: mod/delegate.php:141
-msgid "No entries."
-msgstr "Geen gegevens."
+#: mod/notifications.php:165
+msgid "Friend Suggestion"
+msgstr "Vriendschapsvoorstel"
 
-#: mod/nogroup.php:40 mod/viewcontacts.php:64 mod/contacts.php:573
-#: mod/contacts.php:797
+#: mod/notifications.php:167
 #, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Bekijk het profiel van %s [%s]"
+msgid "suggested by %s"
+msgstr "Voorgesteld door %s"
 
-#: mod/nogroup.php:41 mod/contacts.php:798
-msgid "Edit contact"
-msgstr "Contact bewerken"
+#: mod/notifications.php:173 mod/notifications.php:252
+msgid "Post a new friend activity"
+msgstr "Bericht over een nieuwe vriend"
 
-#: mod/nogroup.php:59
-msgid "Contacts who are not members of a group"
-msgstr "Contacten die geen leden zijn van een groep"
+#: mod/notifications.php:173 mod/notifications.php:252
+msgid "if applicable"
+msgstr "Indien toepasbaar"
 
-#: mod/fbrowser.php:113
-msgid "Files"
-msgstr "Bestanden"
+#: mod/notifications.php:176 mod/notifications.php:257 mod/admin.php:1110
+msgid "Approve"
+msgstr "Goedkeuren"
 
-#: mod/maintenance.php:5
-msgid "System down for maintenance"
-msgstr "Systeem onbeschikbaar wegens onderhoud"
+#: mod/notifications.php:196
+msgid "Claims to be known to you: "
+msgstr "Denkt dat u hem of haar kent:"
 
-#: mod/removeme.php:46 mod/removeme.php:49
-msgid "Remove My Account"
-msgstr "Verwijder mijn account"
+#: mod/notifications.php:196
+msgid "yes"
+msgstr "Ja"
 
-#: mod/removeme.php:47
+#: mod/notifications.php:196
+msgid "no"
+msgstr "Nee"
+
+#: mod/notifications.php:197
 msgid ""
-"This will completely remove your account. Once this has been done it is not "
-"recoverable."
-msgstr "Dit zal je account volledig verwijderen. Dit kan niet hersteld worden als het eenmaal uitgevoerd is."
+"Shall your connection be bidirectional or not? \"Friend\" implies that you "
+"allow to read and you subscribe to their posts. \"Fan/Admirer\" means that "
+"you allow to read but you do not want to read theirs. Approve as: "
+msgstr ""
 
-#: mod/removeme.php:48
-msgid "Please enter your password for verification:"
-msgstr "Voer je wachtwoord in voor verificatie:"
+#: mod/notifications.php:200
+msgid ""
+"Shall your connection be bidirectional or not? \"Friend\" implies that you "
+"allow to read and you subscribe to their posts. \"Sharer\" means that you "
+"allow to read but you do not want to read theirs. Approve as: "
+msgstr ""
 
-#: mod/fsuggest.php:20 mod/fsuggest.php:92 mod/crepair.php:134
-#: mod/dfrn_confirm.php:120
-msgid "Contact not found."
-msgstr "Contact niet gevonden"
+#: mod/notifications.php:208
+msgid "Friend"
+msgstr "Vriend"
 
-#: mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Vriendschapsvoorstel verzonden."
+#: mod/notifications.php:209
+msgid "Sharer"
+msgstr "Deler"
 
-#: mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Stel vrienden voor"
+#: mod/notifications.php:209
+msgid "Fan/Admirer"
+msgstr "Fan/Bewonderaar"
 
-#: mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Stel een vriend voor aan %s"
+#: mod/notifications.php:235
+msgid "Friend/Connect Request"
+msgstr "Vriendschapsverzoek"
 
-#: mod/invite.php:27
-msgid "Total invitation limit exceeded."
-msgstr "Totale uitnodigingslimiet overschreden."
+#: mod/notifications.php:235
+msgid "New Follower"
+msgstr "Nieuwe Volger"
 
-#: mod/invite.php:49
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s: Geen geldig e-mailadres."
+#: mod/notifications.php:250 mod/directory.php:141 include/identity.php:270
+#: include/identity.php:541
+msgid "Gender:"
+msgstr "Geslacht:"
 
-#: mod/invite.php:73
-msgid "Please join us on Friendica"
-msgstr "Kom bij ons op Friendica"
+#: mod/notifications.php:266
+msgid "No introductions."
+msgstr "Geen vriendschaps- of connectieverzoeken."
 
-#: mod/invite.php:84
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Uitnodigingslimiet overschreden. Neem contact op met de beheerder van je website."
+#: mod/notifications.php:269 include/nav.php:165
+msgid "Notifications"
+msgstr "Notificaties"
 
-#: mod/invite.php:89
+#: mod/notifications.php:307 mod/notifications.php:436
+#: mod/notifications.php:527
 #, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s : Aflevering van bericht mislukt."
+msgid "%s liked %s's post"
+msgstr "%s vond het bericht van %s leuk"
 
-#: mod/invite.php:93
+#: mod/notifications.php:317 mod/notifications.php:446
+#: mod/notifications.php:537
 #, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d bericht verzonden."
-msgstr[1] "%d berichten verzonden."
-
-#: mod/invite.php:112
-msgid "You have no more invitations available"
-msgstr "Je kunt geen uitnodigingen meer sturen"
+msgid "%s disliked %s's post"
+msgstr "%s vond het bericht van %s niet leuk"
 
-#: mod/invite.php:120
+#: mod/notifications.php:332 mod/notifications.php:461
+#: mod/notifications.php:552
 #, php-format
-msgid ""
-"Visit %s for a list of public sites that you can join. Friendica members on "
-"other sites can all connect with each other, as well as with members of many"
-" other social networks."
-msgstr "Bezoek %s voor een lijst van openbare sites waar je je kunt aansluiten. Friendica leden op andere sites kunnen allemaal met elkaar verbonden worden, en ook met leden van verschillende andere sociale netwerken."
+msgid "%s is now friends with %s"
+msgstr "%s is nu bevriend met %s"
 
-#: mod/invite.php:122
+#: mod/notifications.php:339 mod/notifications.php:468
 #, php-format
-msgid ""
-"To accept this invitation, please visit and register at %s or any other "
-"public Friendica website."
-msgstr "Om deze uitnodiging te accepteren kan je je op %s registreren of op een andere vrij toegankelijke Friendica-website."
+msgid "%s created a new post"
+msgstr "%s schreef een nieuw bericht"
 
-#: mod/invite.php:123
+#: mod/notifications.php:340 mod/notifications.php:469
+#: mod/notifications.php:562
 #, php-format
-msgid ""
-"Friendica sites all inter-connect to create a huge privacy-enhanced social "
-"web that is owned and controlled by its members. They can also connect with "
-"many traditional social networks. See %s for a list of alternate Friendica "
-"sites you can join."
-msgstr "Friendica servers zijn allemaal onderling verbonden om een reusachtig sociaal web te maken met verbeterde privacy, dat eigendom is van en gecontroleerd door zijn leden. Ze kunnen ook verbindingen maken met verschillende traditionele sociale netwerken. Bekijk %s voor een lijst van alternatieve Friendica servers waar je aan kunt sluiten."
+msgid "%s commented on %s's post"
+msgstr "%s gaf een reactie op het bericht van %s"
 
-#: mod/invite.php:126
-msgid ""
-"Our apologies. This system is not currently configured to connect with other"
-" public sites or invite members."
-msgstr "Onze verontschuldigingen. Dit systeem is momenteel niet ingesteld om verbinding te maken met andere openbare plaatsen of leden uit te nodigen."
+#: mod/notifications.php:355
+msgid "No more network notifications."
+msgstr "Geen netwerknotificaties meer"
+
+#: mod/notifications.php:359
+msgid "Network Notifications"
+msgstr "Netwerknotificaties"
+
+#: mod/notifications.php:385 mod/notify.php:72
+msgid "No more system notifications."
+msgstr "Geen systeemnotificaties meer."
+
+#: mod/notifications.php:389 mod/notify.php:76
+msgid "System Notifications"
+msgstr "Systeemnotificaties"
+
+#: mod/notifications.php:484
+msgid "No more personal notifications."
+msgstr "Geen persoonlijke notificaties meer"
+
+#: mod/notifications.php:488
+msgid "Personal Notifications"
+msgstr "Persoonlijke notificaties"
+
+#: mod/notifications.php:569
+msgid "No more home notifications."
+msgstr "Geen tijdlijn-notificaties meer"
+
+#: mod/notifications.php:573
+msgid "Home Notifications"
+msgstr "Tijdlijn-notificaties"
+
+#: mod/babel.php:17
+msgid "Source (bbcode) text:"
+msgstr "Bron (bbcode) tekst:"
+
+#: mod/babel.php:23
+msgid "Source (Diaspora) text to convert to BBcode:"
+msgstr "Bron (Diaspora) tekst om naar BBCode om te zetten:"
+
+#: mod/babel.php:31
+msgid "Source input: "
+msgstr "Bron ingave:"
 
-#: mod/invite.php:132
-msgid "Send invitations"
-msgstr "Verstuur uitnodigingen"
+#: mod/babel.php:35
+msgid "bb2html (raw HTML): "
+msgstr "bb2html (ruwe HTML):"
 
-#: mod/invite.php:133
-msgid "Enter email addresses, one per line:"
-msgstr "Vul e-mailadressen in, Ã©Ã©n per lijn:"
+#: mod/babel.php:39
+msgid "bb2html: "
+msgstr "bb2html:"
 
-#: mod/invite.php:135
-msgid ""
-"You are cordially invited to join me and other close friends on Friendica - "
-"and help us to create a better social web."
-msgstr "Ik nodig je vriendelijk uit om bij mij en andere vrienden te komen op Friendica - en ons te helpen om een beter sociaal web te bouwen."
+#: mod/babel.php:43
+msgid "bb2html2bb: "
+msgstr "bb2html2bb: "
 
-#: mod/invite.php:137
-msgid "You will need to supply this invitation code: $invite_code"
-msgstr "Je zult deze uitnodigingscode moeten invullen: $invite_code"
+#: mod/babel.php:47
+msgid "bb2md: "
+msgstr "bb2md: "
 
-#: mod/invite.php:137
-msgid ""
-"Once you have registered, please connect with me via my profile page at:"
-msgstr "Eens je geregistreerd bent kun je contact leggen met mij via mijn profielpagina op:"
+#: mod/babel.php:51
+msgid "bb2md2html: "
+msgstr "bb2md2html: "
 
-#: mod/invite.php:139
-msgid ""
-"For more information about the Friendica project and why we feel it is "
-"important, please visit http://friendica.com"
-msgstr "Voor meer informatie over het Friendica project en waarom wij denken dat het belangrijk is kun je http://friendica.com/ bezoeken"
+#: mod/babel.php:55
+msgid "bb2dia2bb: "
+msgstr "bb2dia2bb: "
 
-#: mod/manage.php:106
-msgid "Manage Identities and/or Pages"
-msgstr "Beheer Identiteiten en/of Pagina's"
+#: mod/babel.php:59
+msgid "bb2md2html2bb: "
+msgstr "bb2md2html2bb: "
 
-#: mod/manage.php:107
-msgid ""
-"Toggle between different identities or community/group pages which share "
-"your account details or which you have been granted \"manage\" permissions"
-msgstr "Wissel tussen verschillende identiteiten of forum/groeppagina's die jouw accountdetails delen of waar je \"beheerdersrechten\" hebt gekregen."
+#: mod/babel.php:69
+msgid "Source input (Diaspora format): "
+msgstr "Bron ingave (Diaspora formaat):"
 
-#: mod/manage.php:108
-msgid "Select an identity to manage: "
-msgstr "Selecteer een identiteit om te beheren:"
+#: mod/babel.php:74
+msgid "diaspora2bb: "
+msgstr "diaspora2bb: "
 
-#: mod/home.php:35
-#, php-format
-msgid "Welcome to %s"
-msgstr "Welkom op %s"
+#: mod/navigation.php:19 include/nav.php:33
+msgid "Nothing new here"
+msgstr "Niets nieuw hier"
+
+#: mod/navigation.php:23 include/nav.php:37
+msgid "Clear notifications"
+msgstr "Notificaties verwijderen"
 
-#: mod/message.php:9 include/nav.php:165
+#: mod/message.php:15 include/nav.php:174
 msgid "New Message"
 msgstr "Nieuw Bericht"
 
-#: mod/message.php:67
+#: mod/message.php:70 mod/wallmessage.php:56
+msgid "No recipient selected."
+msgstr "Geen ontvanger geselecteerd."
+
+#: mod/message.php:74
 msgid "Unable to locate contact information."
 msgstr "Ik kan geen contact informatie vinden."
 
-#: mod/message.php:182 include/nav.php:162
+#: mod/message.php:77 mod/wallmessage.php:62
+msgid "Message could not be sent."
+msgstr "Bericht kon niet verzonden worden."
+
+#: mod/message.php:80 mod/wallmessage.php:65
+msgid "Message collection failure."
+msgstr "Fout bij het verzamelen van berichten."
+
+#: mod/message.php:83 mod/wallmessage.php:68
+msgid "Message sent."
+msgstr "Bericht verzonden."
+
+#: mod/message.php:189 include/nav.php:171
 msgid "Messages"
 msgstr "Privéberichten"
 
-#: mod/message.php:207
+#: mod/message.php:214
 msgid "Do you really want to delete this message?"
 msgstr "Wil je echt dit bericht verwijderen?"
 
-#: mod/message.php:227
+#: mod/message.php:234
 msgid "Message deleted."
 msgstr "Bericht verwijderd."
 
-#: mod/message.php:258
+#: mod/message.php:265
 msgid "Conversation removed."
 msgstr "Gesprek verwijderd."
 
-#: mod/message.php:371
-msgid "No messages."
-msgstr "Geen berichten."
+#: mod/message.php:290 mod/message.php:298 mod/message.php:427
+#: mod/message.php:435 mod/wallmessage.php:127 mod/wallmessage.php:135
+#: include/conversation.php:1129 include/conversation.php:1147
+msgid "Please enter a link URL:"
+msgstr "Vul een internetadres/URL in:"
 
-#: mod/message.php:378
-#, php-format
-msgid "Unknown sender - %s"
-msgstr "Onbekende afzender - %s"
+#: mod/message.php:326 mod/wallmessage.php:142
+msgid "Send Private Message"
+msgstr "Verstuur privébericht"
 
-#: mod/message.php:381
-#, php-format
-msgid "You and %s"
-msgstr "Jij en %s"
+#: mod/message.php:327 mod/message.php:514 mod/wallmessage.php:144
+msgid "To:"
+msgstr "Aan:"
 
-#: mod/message.php:384
-#, php-format
-msgid "%s and You"
-msgstr "%s en jij"
+#: mod/message.php:332 mod/message.php:516 mod/wallmessage.php:145
+msgid "Subject:"
+msgstr "Onderwerp:"
 
-#: mod/message.php:405 mod/message.php:546
-msgid "Delete conversation"
-msgstr "Verwijder gesprek"
+#: mod/message.php:336 mod/message.php:519 mod/wallmessage.php:151
+#: mod/invite.php:134
+msgid "Your message:"
+msgstr "Jouw bericht:"
 
-#: mod/message.php:408
-msgid "D, d M Y - g:i A"
-msgstr "D, d M Y - g:i A"
+#: mod/message.php:339 mod/message.php:523 mod/wallmessage.php:154
+#: mod/editpost.php:109 include/conversation.php:1184
+msgid "Upload photo"
+msgstr "Foto uploaden"
 
-#: mod/message.php:411
-#, php-format
-msgid "%d message"
-msgid_plural "%d messages"
-msgstr[0] "%d bericht"
-msgstr[1] "%d berichten"
+#: mod/message.php:340 mod/message.php:524 mod/wallmessage.php:155
+#: mod/editpost.php:113 include/conversation.php:1188
+msgid "Insert web link"
+msgstr "Voeg een webadres in"
+
+#: mod/message.php:341 mod/message.php:526 mod/content.php:501
+#: mod/content.php:885 mod/wallmessage.php:156 mod/editpost.php:123
+#: mod/photos.php:1602 object/Item.php:396 include/conversation.php:713
+#: include/conversation.php:1202
+msgid "Please wait"
+msgstr "Even geduld"
+
+#: mod/message.php:368
+msgid "No messages."
+msgstr "Geen berichten."
 
-#: mod/message.php:450
+#: mod/message.php:411
 msgid "Message not available."
 msgstr "Bericht niet beschikbaar."
 
-#: mod/message.php:520
+#: mod/message.php:481
 msgid "Delete message"
 msgstr "Verwijder bericht"
 
-#: mod/message.php:548
+#: mod/message.php:507 mod/message.php:582
+msgid "Delete conversation"
+msgstr "Verwijder gesprek"
+
+#: mod/message.php:509
 msgid ""
 "No secure communications available. You <strong>may</strong> be able to "
 "respond from the sender's profile page."
 msgstr "Geen beveiligde communicatie beschikbaar. Je kunt <strong>misschien</strong> antwoorden vanaf de profiel-pagina van de afzender."
 
-#: mod/message.php:552
+#: mod/message.php:513
 msgid "Send Reply"
 msgstr "Verstuur Antwoord"
 
-#: mod/viewcontacts.php:41
-msgid "No contacts."
-msgstr "Geen contacten."
-
-#: mod/viewcontacts.php:78 include/text.php:899
-msgid "View Contacts"
-msgstr "Bekijk contacten"
-
-#: mod/openid.php:24
-msgid "OpenID protocol error. No ID returned."
-msgstr "OpenID protocol fout. Geen ID Gevonden."
-
-#: mod/openid.php:53
-msgid ""
-"Account not found and OpenID registration is not permitted on this site."
-msgstr "Account niet gevonden, en OpenID-registratie is niet toegelaten op deze website."
-
-#: mod/openid.php:93 include/auth.php:112 include/auth.php:175
-msgid "Login failed."
-msgstr "Login mislukt."
-
-#: mod/community.php:23
-msgid "Not available."
-msgstr "Niet beschikbaar"
-
-#: mod/help.php:31
-msgid "Help:"
-msgstr "Help:"
-
-#: mod/help.php:36 include/nav.php:114
-msgid "Help"
-msgstr "Help"
-
-#: mod/help.php:42 mod/p.php:16 mod/p.php:25 index.php:269
-msgid "Not Found"
-msgstr "Niet gevonden"
-
-#: mod/help.php:45 index.php:272
-msgid "Page not found."
-msgstr "Pagina niet gevonden"
-
-#: mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Ongeldige <em>request identifier</em>."
-
-#: mod/notifications.php:35 mod/notifications.php:165
-#: mod/notifications.php:215
-msgid "Discard"
-msgstr "Verwerpen"
-
-#: mod/notifications.php:51 mod/notifications.php:164
-#: mod/notifications.php:214 mod/contacts.php:527 mod/contacts.php:591
-#: mod/contacts.php:758
-msgid "Ignore"
-msgstr "Negeren"
-
-#: mod/notifications.php:78
-msgid "System"
-msgstr "Systeem"
-
-#: mod/notifications.php:83 include/nav.php:145
-msgid "Network"
-msgstr "Netwerk"
-
-#: mod/notifications.php:88 mod/network.php:373
-msgid "Personal"
-msgstr "Persoonlijk"
-
-#: mod/notifications.php:98 include/nav.php:153
-msgid "Introductions"
-msgstr "Verzoeken"
-
-#: mod/notifications.php:122
-msgid "Show Ignored Requests"
-msgstr "Toon genegeerde verzoeken"
+#: mod/message.php:555
+#, php-format
+msgid "Unknown sender - %s"
+msgstr "Onbekende afzender - %s"
 
-#: mod/notifications.php:122
-msgid "Hide Ignored Requests"
-msgstr "Verberg genegeerde verzoeken"
+#: mod/message.php:558
+#, php-format
+msgid "You and %s"
+msgstr "Jij en %s"
 
-#: mod/notifications.php:149 mod/notifications.php:199
-msgid "Notification type: "
-msgstr "Notificatiesoort:"
+#: mod/message.php:561
+#, php-format
+msgid "%s and You"
+msgstr "%s en jij"
 
-#: mod/notifications.php:150
-msgid "Friend Suggestion"
-msgstr "Vriendschapsvoorstel"
+#: mod/message.php:585
+msgid "D, d M Y - g:i A"
+msgstr "D, d M Y - g:i A"
 
-#: mod/notifications.php:152
+#: mod/message.php:588
 #, php-format
-msgid "suggested by %s"
-msgstr "Voorgesteld door %s"
+msgid "%d message"
+msgid_plural "%d messages"
+msgstr[0] "%d bericht"
+msgstr[1] "%d berichten"
 
-#: mod/notifications.php:157 mod/notifications.php:208 mod/contacts.php:597
-msgid "Hide this contact from others"
-msgstr "Verberg dit contact voor anderen"
+#: mod/update_display.php:22 mod/update_community.php:18
+#: mod/update_notes.php:37 mod/update_profile.php:41 mod/update_network.php:25
+msgid "[Embedded content - reload page to view]"
+msgstr "[Ingebedde inhoud - herlaad pagina om het te bekijken]"
 
-#: mod/notifications.php:158 mod/notifications.php:209
-msgid "Post a new friend activity"
-msgstr "Bericht over een nieuwe vriend"
+#: mod/crepair.php:107
+msgid "Contact settings applied."
+msgstr "Contactinstellingen toegepast."
 
-#: mod/notifications.php:158 mod/notifications.php:209
-msgid "if applicable"
-msgstr "Indien toepasbaar"
+#: mod/crepair.php:109
+msgid "Contact update failed."
+msgstr "Aanpassen van contact mislukt."
 
-#: mod/notifications.php:161 mod/notifications.php:212 mod/admin.php:1015
-msgid "Approve"
-msgstr "Goedkeuren"
+#: mod/crepair.php:140
+msgid ""
+"<strong>WARNING: This is highly advanced</strong> and if you enter incorrect"
+" information your communications with this contact may stop working."
+msgstr ""
 
-#: mod/notifications.php:181
-msgid "Claims to be known to you: "
-msgstr "Denkt dat u hem of haar kent:"
+#: mod/crepair.php:141
+msgid ""
+"Please use your browser 'Back' button <strong>now</strong> if you are "
+"uncertain what to do on this page."
+msgstr "Gebruik <strong>nu</strong> de \"terug\"-knop in je webbrowser wanneer je niet weet wat je op deze pagina moet doen."
 
-#: mod/notifications.php:181
-msgid "yes"
-msgstr "Ja"
+#: mod/crepair.php:154 mod/crepair.php:156
+msgid "No mirroring"
+msgstr ""
 
-#: mod/notifications.php:181
-msgid "no"
-msgstr "Nee"
+#: mod/crepair.php:154
+msgid "Mirror as forwarded posting"
+msgstr ""
 
-#: mod/notifications.php:182
-msgid ""
-"Shall your connection be bidirectional or not? \"Friend\" implies that you "
-"allow to read and you subscribe to their posts. \"Fan/Admirer\" means that "
-"you allow to read but you do not want to read theirs. Approve as: "
+#: mod/crepair.php:154 mod/crepair.php:156
+msgid "Mirror as my own posting"
 msgstr ""
 
-#: mod/notifications.php:185
-msgid ""
-"Shall your connection be bidirectional or not? \"Friend\" implies that you "
-"allow to read and you subscribe to their posts. \"Sharer\" means that you "
-"allow to read but you do not want to read theirs. Approve as: "
+#: mod/crepair.php:162
+msgid "Repair Contact Settings"
+msgstr "Contactinstellingen herstellen"
+
+#: mod/crepair.php:166
+msgid "Return to contact editor"
+msgstr "Ga terug naar contactbewerker"
+
+#: mod/crepair.php:168
+msgid "Refetch contact data"
 msgstr ""
 
-#: mod/notifications.php:193
-msgid "Friend"
-msgstr "Vriend"
+#: mod/crepair.php:169 mod/admin.php:1108 mod/admin.php:1120
+#: mod/admin.php:1121 mod/admin.php:1134 mod/settings.php:650
+#: mod/settings.php:676
+msgid "Name"
+msgstr "Naam"
 
-#: mod/notifications.php:194
-msgid "Sharer"
-msgstr "Deler"
+#: mod/crepair.php:170
+msgid "Account Nickname"
+msgstr "Bijnaam account"
 
-#: mod/notifications.php:194
-msgid "Fan/Admirer"
-msgstr "Fan/Bewonderaar"
+#: mod/crepair.php:171
+msgid "@Tagname - overrides Name/Nickname"
+msgstr "@Labelnaam - krijgt voorrang op naam/bijnaam"
 
-#: mod/notifications.php:200
-msgid "Friend/Connect Request"
-msgstr "Vriendschapsverzoek"
+#: mod/crepair.php:172
+msgid "Account URL"
+msgstr "URL account"
 
-#: mod/notifications.php:200
-msgid "New Follower"
-msgstr "Nieuwe Volger"
+#: mod/crepair.php:173
+msgid "Friend Request URL"
+msgstr "URL vriendschapsverzoek"
 
-#: mod/notifications.php:221
-msgid "No introductions."
-msgstr "Geen vriendschaps- of connectieverzoeken."
+#: mod/crepair.php:174
+msgid "Friend Confirm URL"
+msgstr "URL vriendschapsbevestiging"
 
-#: mod/notifications.php:224 include/nav.php:156
-msgid "Notifications"
-msgstr "Notificaties"
+#: mod/crepair.php:175
+msgid "Notification Endpoint URL"
+msgstr ""
 
-#: mod/notifications.php:262 mod/notifications.php:391
-#: mod/notifications.php:482
-#, php-format
-msgid "%s liked %s's post"
-msgstr "%s vond het bericht van %s leuk"
+#: mod/crepair.php:176
+msgid "Poll/Feed URL"
+msgstr "URL poll/feed"
 
-#: mod/notifications.php:272 mod/notifications.php:401
-#: mod/notifications.php:492
-#, php-format
-msgid "%s disliked %s's post"
-msgstr "%s vond het bericht van %s niet leuk"
+#: mod/crepair.php:177
+msgid "New photo from this URL"
+msgstr "Nieuwe foto van deze URL"
 
-#: mod/notifications.php:287 mod/notifications.php:416
-#: mod/notifications.php:507
-#, php-format
-msgid "%s is now friends with %s"
-msgstr "%s is nu bevriend met %s"
+#: mod/crepair.php:178
+msgid "Remote Self"
+msgstr ""
 
-#: mod/notifications.php:294 mod/notifications.php:423
-#, php-format
-msgid "%s created a new post"
-msgstr "%s schreef een nieuw bericht"
+#: mod/crepair.php:181
+msgid "Mirror postings from this contact"
+msgstr ""
 
-#: mod/notifications.php:295 mod/notifications.php:424
-#: mod/notifications.php:517
-#, php-format
-msgid "%s commented on %s's post"
-msgstr "%s gaf een reactie op het bericht van %s"
+#: mod/crepair.php:183
+msgid ""
+"Mark this contact as remote_self, this will cause friendica to repost new "
+"entries from this contact."
+msgstr ""
 
-#: mod/notifications.php:310
-msgid "No more network notifications."
-msgstr "Geen netwerknotificaties meer"
+#: mod/bookmarklet.php:12 boot.php:1281 include/nav.php:91
+msgid "Login"
+msgstr "Login"
 
-#: mod/notifications.php:314
-msgid "Network Notifications"
-msgstr "Netwerknotificaties"
+#: mod/bookmarklet.php:41
+msgid "The post was created"
+msgstr ""
 
-#: mod/notifications.php:340 mod/notify.php:72
-msgid "No more system notifications."
-msgstr "Geen systeemnotificaties meer."
+#: mod/viewsrc.php:7
+msgid "Access denied."
+msgstr "Toegang geweigerd"
 
-#: mod/notifications.php:344 mod/notify.php:76
-msgid "System Notifications"
-msgstr "Systeemnotificaties"
+#: mod/dirfind.php:188 mod/allfriends.php:82 mod/match.php:84
+#: mod/suggest.php:97 include/contact_widgets.php:10 include/identity.php:188
+msgid "Connect"
+msgstr "Verbinden"
 
-#: mod/notifications.php:439
-msgid "No more personal notifications."
-msgstr "Geen persoonlijke notificaties meer"
+#: mod/dirfind.php:189 mod/allfriends.php:66 mod/match.php:70
+#: mod/directory.php:156 mod/suggest.php:81 include/Contact.php:335
+#: include/conversation.php:912 include/conversation.php:926
+msgid "View Profile"
+msgstr "Bekijk profiel"
 
-#: mod/notifications.php:443
-msgid "Personal Notifications"
-msgstr "Persoonlijke notificaties"
+#: mod/dirfind.php:217
+#, php-format
+msgid "People Search - %s"
+msgstr ""
 
-#: mod/notifications.php:524
-msgid "No more home notifications."
-msgstr "Geen tijdlijn-notificaties meer"
+#: mod/dirfind.php:224 mod/match.php:104
+msgid "No matches"
+msgstr "Geen resultaten"
 
-#: mod/notifications.php:528
-msgid "Home Notifications"
-msgstr "Tijdlijn-notificaties"
+#: mod/fbrowser.php:32 include/identity.php:649 include/nav.php:77
+#: view/theme/diabook/theme.php:126
+msgid "Photos"
+msgstr "Foto's"
+
+#: mod/fbrowser.php:41 mod/fbrowser.php:62 mod/photos.php:54
+#: mod/photos.php:184 mod/photos.php:1111 mod/photos.php:1237
+#: mod/photos.php:1260 mod/photos.php:1830 mod/photos.php:1842
+#: view/theme/diabook/theme.php:499
+msgid "Contact Photos"
+msgstr "Contactfoto's"
+
+#: mod/fbrowser.php:125
+msgid "Files"
+msgstr "Bestanden"
+
+#: mod/nogroup.php:63
+msgid "Contacts who are not members of a group"
+msgstr "Contacten die geen leden zijn van een groep"
 
-#: mod/admin.php:57
+#: mod/admin.php:80
 msgid "Theme settings updated."
 msgstr "Thema-instellingen aangepast."
 
-#: mod/admin.php:104 mod/admin.php:627
+#: mod/admin.php:127 mod/admin.php:709
 msgid "Site"
 msgstr "Website"
 
-#: mod/admin.php:105 mod/admin.php:1008 mod/admin.php:1023
+#: mod/admin.php:128 mod/admin.php:653 mod/admin.php:1103 mod/admin.php:1118
 msgid "Users"
 msgstr "Gebruiker"
 
-#: mod/admin.php:106 mod/admin.php:1112 mod/admin.php:1165 mod/settings.php:62
+#: mod/admin.php:129 mod/admin.php:1207 mod/admin.php:1267 mod/settings.php:66
 msgid "Plugins"
 msgstr "Plugins"
 
-#: mod/admin.php:107 mod/admin.php:1333 mod/admin.php:1367
+#: mod/admin.php:130 mod/admin.php:1452 mod/admin.php:1503
 msgid "Themes"
 msgstr "Thema's"
 
-#: mod/admin.php:108
+#: mod/admin.php:131
 msgid "DB updates"
 msgstr "DB aanpassingen"
 
-#: mod/admin.php:123 mod/admin.php:132 mod/admin.php:1454
+#: mod/admin.php:132 mod/admin.php:223
+msgid "Inspect Queue"
+msgstr ""
+
+#: mod/admin.php:147 mod/admin.php:156 mod/admin.php:1591
 msgid "Logs"
 msgstr "Logs"
 
-#: mod/admin.php:124
+#: mod/admin.php:148
 msgid "probe address"
 msgstr ""
 
-#: mod/admin.php:125
+#: mod/admin.php:149
 msgid "check webfinger"
 msgstr ""
 
-#: mod/admin.php:130 include/nav.php:185
+#: mod/admin.php:154 include/nav.php:194
 msgid "Admin"
 msgstr "Beheer"
 
-#: mod/admin.php:131
+#: mod/admin.php:155
 msgid "Plugin Features"
 msgstr "Plugin Functies"
 
-#: mod/admin.php:133
+#: mod/admin.php:157
 msgid "diagnostics"
 msgstr ""
 
-#: mod/admin.php:134
+#: mod/admin.php:158
 msgid "User registrations waiting for confirmation"
 msgstr "Gebruikersregistraties wachten op bevestiging"
 
-#: mod/admin.php:193 mod/admin.php:961
+#: mod/admin.php:222 mod/admin.php:272 mod/admin.php:708 mod/admin.php:1102
+#: mod/admin.php:1206 mod/admin.php:1266 mod/admin.php:1451 mod/admin.php:1502
+#: mod/admin.php:1590
+msgid "Administration"
+msgstr "Beheer"
+
+#: mod/admin.php:225
+msgid "ID"
+msgstr "ID"
+
+#: mod/admin.php:226
+msgid "Recipient Name"
+msgstr ""
+
+#: mod/admin.php:227
+msgid "Recipient Profile"
+msgstr ""
+
+#: mod/admin.php:229
+msgid "Created"
+msgstr ""
+
+#: mod/admin.php:230
+msgid "Last Tried"
+msgstr ""
+
+#: mod/admin.php:231
+msgid ""
+"This page lists the content of the queue for outgoing postings. These are "
+"postings the initial delivery failed for. They will be resend later and "
+"eventually deleted if the delivery fails permanently."
+msgstr ""
+
+#: mod/admin.php:243 mod/admin.php:1056
 msgid "Normal Account"
 msgstr "Normaal account"
 
-#: mod/admin.php:194 mod/admin.php:962
+#: mod/admin.php:244 mod/admin.php:1057
 msgid "Soapbox Account"
 msgstr "Zeepkist-account"
 
-#: mod/admin.php:195 mod/admin.php:963
+#: mod/admin.php:245 mod/admin.php:1058
 msgid "Community/Celebrity Account"
 msgstr "Account voor een groep/forum of beroemdheid"
 
-#: mod/admin.php:196 mod/admin.php:964
+#: mod/admin.php:246 mod/admin.php:1059
 msgid "Automatic Friend Account"
 msgstr "Automatisch Vriendschapsaccount"
 
-#: mod/admin.php:197
+#: mod/admin.php:247
 msgid "Blog Account"
 msgstr "Blog Account"
 
-#: mod/admin.php:198
+#: mod/admin.php:248
 msgid "Private Forum"
 msgstr "Privéforum/-groep"
 
-#: mod/admin.php:217
+#: mod/admin.php:267
 msgid "Message queues"
 msgstr "Bericht-wachtrijen"
 
-#: mod/admin.php:222 mod/admin.php:626 mod/admin.php:1007 mod/admin.php:1111
-#: mod/admin.php:1164 mod/admin.php:1332 mod/admin.php:1366 mod/admin.php:1453
-msgid "Administration"
-msgstr "Beheer"
-
-#: mod/admin.php:223
+#: mod/admin.php:273
 msgid "Summary"
 msgstr "Samenvatting"
 
-#: mod/admin.php:225
+#: mod/admin.php:275
 msgid "Registered users"
 msgstr "Geregistreerde gebruikers"
 
-#: mod/admin.php:227
+#: mod/admin.php:277
 msgid "Pending registrations"
 msgstr "Registraties die in de wacht staan"
 
-#: mod/admin.php:228
+#: mod/admin.php:278
 msgid "Version"
 msgstr "Versie"
 
-#: mod/admin.php:232
+#: mod/admin.php:283
 msgid "Active plugins"
 msgstr "Actieve plug-ins"
 
-#: mod/admin.php:255
+#: mod/admin.php:306
 msgid "Can not parse base url. Must have at least <scheme>://<domain>"
 msgstr ""
 
-#: mod/admin.php:524
+#: mod/admin.php:585
+msgid "RINO2 needs mcrypt php extension to work."
+msgstr ""
+
+#: mod/admin.php:593
 msgid "Site settings updated."
 msgstr "Site instellingen gewijzigd."
 
-#: mod/admin.php:553 mod/settings.php:853
+#: mod/admin.php:617 mod/settings.php:901
 msgid "No special theme for mobile devices"
 msgstr "Geen speciaal thema voor mobiele apparaten"
 
-#: mod/admin.php:570
+#: mod/admin.php:636
 msgid "No community page"
 msgstr ""
 
-#: mod/admin.php:571
+#: mod/admin.php:637
 msgid "Public postings from users of this site"
 msgstr ""
 
-#: mod/admin.php:572
+#: mod/admin.php:638
 msgid "Global community page"
 msgstr ""
 
-#: mod/admin.php:577 mod/contacts.php:498
-msgid "Never"
-msgstr "Nooit"
-
-#: mod/admin.php:578
+#: mod/admin.php:644
 msgid "At post arrival"
 msgstr ""
 
-#: mod/admin.php:579 include/contact_selectors.php:56
+#: mod/admin.php:645 include/contact_selectors.php:56
 msgid "Frequently"
 msgstr "Frequent"
 
-#: mod/admin.php:580 include/contact_selectors.php:57
+#: mod/admin.php:646 include/contact_selectors.php:57
 msgid "Hourly"
 msgstr "elk uur"
 
-#: mod/admin.php:581 include/contact_selectors.php:58
+#: mod/admin.php:647 include/contact_selectors.php:58
 msgid "Twice daily"
 msgstr "Twee keer per dag"
 
-#: mod/admin.php:582 include/contact_selectors.php:59
+#: mod/admin.php:648 include/contact_selectors.php:59
 msgid "Daily"
 msgstr "dagelijks"
 
-#: mod/admin.php:587
+#: mod/admin.php:654
+msgid "Users, Global Contacts"
+msgstr ""
+
+#: mod/admin.php:655
+msgid "Users, Global Contacts/fallback"
+msgstr ""
+
+#: mod/admin.php:659
+msgid "One month"
+msgstr ""
+
+#: mod/admin.php:660
+msgid "Three months"
+msgstr ""
+
+#: mod/admin.php:661
+msgid "Half a year"
+msgstr ""
+
+#: mod/admin.php:662
+msgid "One year"
+msgstr ""
+
+#: mod/admin.php:667
 msgid "Multi user instance"
 msgstr "Server voor meerdere gebruikers"
 
-#: mod/admin.php:610
+#: mod/admin.php:690
 msgid "Closed"
 msgstr "Gesloten"
 
-#: mod/admin.php:611
+#: mod/admin.php:691
 msgid "Requires approval"
 msgstr "Toestemming vereist"
 
-#: mod/admin.php:612
+#: mod/admin.php:692
 msgid "Open"
 msgstr "Open"
 
-#: mod/admin.php:616
+#: mod/admin.php:696
 msgid "No SSL policy, links will track page SSL state"
 msgstr "Geen SSL beleid, links zullen SSL status van pagina volgen"
 
-#: mod/admin.php:617
+#: mod/admin.php:697
 msgid "Force all links to use SSL"
 msgstr "Verplicht alle links om SSL te gebruiken"
 
-#: mod/admin.php:618
+#: mod/admin.php:698
 msgid "Self-signed certificate, use SSL for local links only (discouraged)"
 msgstr "Zelf-ondertekend certificaat, gebruik SSL alleen voor lokale links (afgeraden)"
 
-#: mod/admin.php:628 mod/admin.php:1166 mod/admin.php:1368 mod/admin.php:1455
-#: mod/settings.php:621 mod/settings.php:731 mod/settings.php:754
-#: mod/settings.php:823 mod/settings.php:905 mod/settings.php:1137
+#: mod/admin.php:710 mod/admin.php:1268 mod/admin.php:1504 mod/admin.php:1592
+#: mod/settings.php:648 mod/settings.php:758 mod/settings.php:802
+#: mod/settings.php:871 mod/settings.php:957 mod/settings.php:1192
 msgid "Save Settings"
 msgstr "Instellingen opslaan"
 
-#: mod/admin.php:629 mod/register.php:260
+#: mod/admin.php:711 mod/register.php:260
 msgid "Registration"
 msgstr "Registratie"
 
-#: mod/admin.php:630
+#: mod/admin.php:712
 msgid "File upload"
 msgstr "Uploaden bestand"
 
-#: mod/admin.php:631
+#: mod/admin.php:713
 msgid "Policies"
 msgstr "Beleid"
 
-#: mod/admin.php:632
+#: mod/admin.php:714
 msgid "Advanced"
 msgstr "Geavanceerd"
 
-#: mod/admin.php:633
+#: mod/admin.php:715
+msgid "Auto Discovered Contact Directory"
+msgstr ""
+
+#: mod/admin.php:716
 msgid "Performance"
 msgstr "Performantie"
 
-#: mod/admin.php:634
+#: mod/admin.php:717
 msgid ""
 "Relocate - WARNING: advanced function. Could make this server unreachable."
 msgstr ""
 
-#: mod/admin.php:637
+#: mod/admin.php:720
 msgid "Site name"
 msgstr "Site naam"
 
-#: mod/admin.php:638
+#: mod/admin.php:721
 msgid "Host name"
 msgstr ""
 
-#: mod/admin.php:639
+#: mod/admin.php:722
 msgid "Sender Email"
 msgstr ""
 
-#: mod/admin.php:640
+#: mod/admin.php:722
+msgid ""
+"The email address your server shall use to send notification emails from."
+msgstr ""
+
+#: mod/admin.php:723
 msgid "Banner/Logo"
 msgstr "Banner/Logo"
 
-#: mod/admin.php:641
+#: mod/admin.php:724
 msgid "Shortcut icon"
 msgstr ""
 
-#: mod/admin.php:642
+#: mod/admin.php:724
+msgid "Link to an icon that will be used for browsers."
+msgstr ""
+
+#: mod/admin.php:725
 msgid "Touch icon"
 msgstr ""
 
-#: mod/admin.php:643
+#: mod/admin.php:725
+msgid "Link to an icon that will be used for tablets and mobiles."
+msgstr ""
+
+#: mod/admin.php:726
 msgid "Additional Info"
 msgstr ""
 
-#: mod/admin.php:643
+#: mod/admin.php:726
+#, php-format
 msgid ""
 "For public servers: you can add additional information here that will be "
-"listed at dir.friendica.com/siteinfo."
+"listed at %s/siteinfo."
 msgstr ""
 
-#: mod/admin.php:644
+#: mod/admin.php:727
 msgid "System language"
 msgstr "Systeemtaal"
 
-#: mod/admin.php:645
+#: mod/admin.php:728
 msgid "System theme"
 msgstr "Systeem thema"
 
-#: mod/admin.php:645
+#: mod/admin.php:728
 msgid ""
 "Default system theme - may be over-ridden by user profiles - <a href='#' "
 "id='cnftheme'>change theme settings</a>"
 msgstr "Standaard systeem thema - kan door gebruikersprofielen veranderd worden - <a href='#' id='cnftheme'>verander thema instellingen</a>"
 
-#: mod/admin.php:646
+#: mod/admin.php:729
 msgid "Mobile system theme"
 msgstr "Mobiel systeem thema"
 
-#: mod/admin.php:646
+#: mod/admin.php:729
 msgid "Theme for mobile devices"
 msgstr "Thema voor mobiele apparaten"
 
-#: mod/admin.php:647
+#: mod/admin.php:730
 msgid "SSL link policy"
 msgstr "Beleid SSL-links"
 
-#: mod/admin.php:647
+#: mod/admin.php:730
 msgid "Determines whether generated links should be forced to use SSL"
 msgstr "Bepaald of gegenereerde verwijzingen verplicht SSL moeten gebruiken"
 
-#: mod/admin.php:648
+#: mod/admin.php:731
 msgid "Force SSL"
 msgstr ""
 
-#: mod/admin.php:648
+#: mod/admin.php:731
 msgid ""
 "Force all Non-SSL requests to SSL - Attention: on some systems it could lead"
 " to endless loops."
 msgstr ""
 
-#: mod/admin.php:649
+#: mod/admin.php:732
 msgid "Old style 'Share'"
 msgstr ""
 
-#: mod/admin.php:649
+#: mod/admin.php:732
 msgid "Deactivates the bbcode element 'share' for repeating items."
 msgstr ""
 
-#: mod/admin.php:650
+#: mod/admin.php:733
 msgid "Hide help entry from navigation menu"
 msgstr "Verberg de 'help' uit het navigatiemenu"
 
-#: mod/admin.php:650
+#: mod/admin.php:733
 msgid ""
 "Hides the menu entry for the Help pages from the navigation menu. You can "
 "still access it calling /help directly."
 msgstr "Verbergt het menu-item voor de Help pagina's uit het navigatiemenu. Je kunt ze nog altijd vinden door /help direct in te geven."
 
-#: mod/admin.php:651
+#: mod/admin.php:734
 msgid "Single user instance"
 msgstr "Server voor Ã©Ã©n gebruiker"
 
-#: mod/admin.php:651
+#: mod/admin.php:734
 msgid "Make this instance multi-user or single-user for the named user"
 msgstr "Stel deze server in voor meerdere gebruikers, of enkel voor de geselecteerde gebruiker."
 
-#: mod/admin.php:652
+#: mod/admin.php:735
 msgid "Maximum image size"
 msgstr "Maximum afbeeldingsgrootte"
 
-#: mod/admin.php:652
+#: mod/admin.php:735
 msgid ""
 "Maximum size in bytes of uploaded images. Default is 0, which means no "
 "limits."
 msgstr "Maximum afmeting in bytes van afbeeldingen. Standaard is 0, dus geen beperking."
 
-#: mod/admin.php:653
+#: mod/admin.php:736
 msgid "Maximum image length"
 msgstr "Maximum afbeeldingslengte"
 
-#: mod/admin.php:653
+#: mod/admin.php:736
 msgid ""
 "Maximum length in pixels of the longest side of uploaded images. Default is "
 "-1, which means no limits."
 msgstr "Maximum lengte in pixels van de langste kant van afbeeldingen. Standaard is -1, dus geen beperkingen."
 
-#: mod/admin.php:654
+#: mod/admin.php:737
 msgid "JPEG image quality"
 msgstr "JPEG afbeeldingskwaliteit"
 
-#: mod/admin.php:654
+#: mod/admin.php:737
 msgid ""
 "Uploaded JPEGS will be saved at this quality setting [0-100]. Default is "
 "100, which is full quality."
 msgstr "JPEGS zullen met deze kwaliteitsinstelling bewaard worden [0-100]. Standaard is 100, dit is volledige kwaliteit."
 
-#: mod/admin.php:656
+#: mod/admin.php:739
 msgid "Register policy"
 msgstr "Registratiebeleid"
 
-#: mod/admin.php:657
+#: mod/admin.php:740
 msgid "Maximum Daily Registrations"
 msgstr "Maximum aantal registraties per dag"
 
-#: mod/admin.php:657
+#: mod/admin.php:740
 msgid ""
 "If registration is permitted above, this sets the maximum number of new user"
 " registrations to accept per day.  If register is set to closed, this "
 "setting has no effect."
 msgstr "Als registratie hierboven is toegelaten, zet dit het maximum aantal registraties van nieuwe gebruikers per dag. Als registratie niet is toegelaten heeft deze instelling geen effect."
 
-#: mod/admin.php:658
+#: mod/admin.php:741
 msgid "Register text"
 msgstr "Registratietekst"
 
-#: mod/admin.php:658
+#: mod/admin.php:741
 msgid "Will be displayed prominently on the registration page."
 msgstr "Dit zal prominent op de registratiepagina getoond worden."
 
-#: mod/admin.php:659
+#: mod/admin.php:742
 msgid "Accounts abandoned after x days"
 msgstr "Verlaten accounts na x dagen"
 
-#: mod/admin.php:659
+#: mod/admin.php:742
 msgid ""
 "Will not waste system resources polling external sites for abandonded "
 "accounts. Enter 0 for no time limit."
 msgstr "Dit zal geen systeembronnen verspillen aan het nakijken van externe sites voor verlaten accounts. Geef 0 is voor geen tijdslimiet."
 
-#: mod/admin.php:660
+#: mod/admin.php:743
 msgid "Allowed friend domains"
 msgstr "Toegelaten vriend domeinen"
 
-#: mod/admin.php:660
+#: mod/admin.php:743
 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 die een vriendschapsband met deze website mogen aangaan. Jokers zijn toegelaten. Laat leeg om alle domeinen toe te laten."
 
-#: mod/admin.php:661
+#: mod/admin.php:744
 msgid "Allowed email domains"
 msgstr "Toegelaten e-mail domeinen"
 
-#: mod/admin.php:661
+#: mod/admin.php:744
 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 die op deze website mogen registeren. Wildcards zijn toegestaan.\nLeeg laten om alle domeinen toe te staan."
 
-#: mod/admin.php:662
+#: mod/admin.php:745
 msgid "Block public"
 msgstr "Openbare toegang blokkeren"
 
-#: mod/admin.php:662
+#: mod/admin.php:745
 msgid ""
 "Check to block public access to all otherwise public personal pages on this "
 "site unless you are currently logged in."
 msgstr "Kruis dit aan om alle openbare persoonlijke pagina's alleen toegankelijk te maken voor ingelogde gebruikers."
 
-#: mod/admin.php:663
+#: mod/admin.php:746
 msgid "Force publish"
 msgstr "Dwing publiceren af"
 
-#: mod/admin.php:663
+#: mod/admin.php:746
 msgid ""
 "Check to force all profiles on this site to be listed in the site directory."
 msgstr "Kruis dit aan om af te dwingen dat alle profielen op deze website in de gids van deze website gepubliceerd worden."
 
-#: mod/admin.php:664
-msgid "Global directory update URL"
-msgstr "Update-adres van de globale gids"
+#: mod/admin.php:747
+msgid "Global directory URL"
+msgstr ""
 
-#: mod/admin.php:664
+#: mod/admin.php:747
 msgid ""
-"URL to update the global directory. If this is not set, the global directory"
-" is completely unavailable to the application."
-msgstr "URL om de globale gids aan te passen. Als dit niet is ingevuld, is de globale gids volledig onbeschikbaar voor deze toepassing."
+"URL to the global directory. If this is not set, the global directory is "
+"completely unavailable to the application."
+msgstr ""
 
-#: mod/admin.php:665
+#: mod/admin.php:748
 msgid "Allow threaded items"
 msgstr "Sta threads in conversaties toe"
 
-#: mod/admin.php:665
+#: mod/admin.php:748
 msgid "Allow infinite level threading for items on this site."
 msgstr "Sta oneindige niveaus threads in conversaties op deze website toe."
 
-#: mod/admin.php:666
+#: mod/admin.php:749
 msgid "Private posts by default for new users"
 msgstr "Privéberichten als standaard voor nieuwe gebruikers"
 
-#: mod/admin.php:666
+#: mod/admin.php:749
 msgid ""
 "Set default post permissions for all new members to the default privacy "
 "group rather than public."
 msgstr "Stel de standaardrechten van berichten voor nieuwe leden op de standaard privacygroep in, in plaats van openbaar."
 
-#: mod/admin.php:667
+#: mod/admin.php:750
 msgid "Don't include post content in email notifications"
 msgstr "De inhoud van het bericht niet insluiten bij e-mailnotificaties"
 
-#: mod/admin.php:667
+#: mod/admin.php:750
 msgid ""
 "Don't include the content of a post/comment/private message/etc. in the "
 "email notifications that are sent out from this site, as a privacy measure."
 msgstr "De inhoud van berichten/commentaar/privéberichten/enzovoort  niet insluiten in e-mailnotificaties die door deze website verzonden worden, voor de bescherming van je privacy."
 
-#: mod/admin.php:668
+#: mod/admin.php:751
 msgid "Disallow public access to addons listed in the apps menu."
 msgstr ""
 
-#: mod/admin.php:668
+#: mod/admin.php:751
 msgid ""
 "Checking this box will restrict addons listed in the apps menu to members "
 "only."
 msgstr ""
 
-#: mod/admin.php:669
+#: mod/admin.php:752
 msgid "Don't embed private images in posts"
 msgstr ""
 
-#: mod/admin.php:669
+#: mod/admin.php:752
 msgid ""
 "Don't replace locally-hosted private photos in posts with an embedded copy "
 "of the image. This means that contacts who receive posts containing private "
@@ -2389,335 +2483,449 @@ msgid ""
 "while."
 msgstr ""
 
-#: mod/admin.php:670
+#: mod/admin.php:753
 msgid "Allow Users to set remote_self"
 msgstr ""
 
-#: mod/admin.php:670
+#: mod/admin.php:753
 msgid ""
 "With checking this, every user is allowed to mark every contact as a "
 "remote_self in the repair contact dialog. Setting this flag on a contact "
 "causes mirroring every posting of that contact in the users stream."
 msgstr ""
 
-#: mod/admin.php:671
+#: mod/admin.php:754
 msgid "Block multiple registrations"
 msgstr "Blokkeer meerdere registraties"
 
-#: mod/admin.php:671
+#: mod/admin.php:754
 msgid "Disallow users to register additional accounts for use as pages."
 msgstr "Laat niet toe dat gebruikers meerdere accounts aanmaken."
 
-#: mod/admin.php:672
+#: mod/admin.php:755
 msgid "OpenID support"
 msgstr "OpenID ondersteuning"
 
-#: mod/admin.php:672
+#: mod/admin.php:755
 msgid "OpenID support for registration and logins."
 msgstr "OpenID ondersteuning voor registraties en logins."
 
-#: mod/admin.php:673
+#: mod/admin.php:756
 msgid "Fullname check"
 msgstr "Controleer volledige naam"
 
-#: mod/admin.php:673
+#: mod/admin.php:756
 msgid ""
 "Force users to register with a space between firstname and lastname in Full "
 "name, as an antispam measure"
 msgstr "Verplicht gebruikers om zich te registreren met een spatie tussen voornaam en achternaam, als anti-spam maatregel"
 
-#: mod/admin.php:674
+#: mod/admin.php:757
 msgid "UTF-8 Regular expressions"
 msgstr "UTF-8 reguliere uitdrukkingen"
 
-#: mod/admin.php:674
+#: mod/admin.php:757
 msgid "Use PHP UTF8 regular expressions"
 msgstr "Gebruik PHP UTF8 reguliere uitdrukkingen"
 
-#: mod/admin.php:675
+#: mod/admin.php:758
 msgid "Community Page Style"
 msgstr ""
 
-#: mod/admin.php:675
+#: mod/admin.php:758
 msgid ""
 "Type of community page to show. 'Global community' shows every public "
 "posting from an open distributed network that arrived on this server."
 msgstr ""
 
-#: mod/admin.php:676
+#: mod/admin.php:759
 msgid "Posts per user on community page"
 msgstr ""
 
-#: mod/admin.php:676
+#: mod/admin.php:759
 msgid ""
 "The maximum number of posts per user on the community page. (Not valid for "
 "'Global Community')"
 msgstr ""
 
-#: mod/admin.php:677
+#: mod/admin.php:760
 msgid "Enable OStatus support"
 msgstr "Activeer OStatus ondersteuning"
 
-#: mod/admin.php:677
+#: mod/admin.php:760
 msgid ""
 "Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All "
 "communications in OStatus are public, so privacy warnings will be "
 "occasionally displayed."
 msgstr ""
 
-#: mod/admin.php:678
+#: mod/admin.php:761
 msgid "OStatus conversation completion interval"
 msgstr ""
 
-#: mod/admin.php:678
+#: mod/admin.php:761
 msgid ""
 "How often shall the poller check for new entries in OStatus conversations? "
 "This can be a very ressource task."
 msgstr ""
 
-#: mod/admin.php:679
+#: mod/admin.php:762
+msgid "OStatus support can only be enabled if threading is enabled."
+msgstr ""
+
+#: mod/admin.php:764
+msgid ""
+"Diaspora support can't be enabled because Friendica was installed into a sub"
+" directory."
+msgstr ""
+
+#: mod/admin.php:765
 msgid "Enable Diaspora support"
 msgstr "Activeer Diaspora ondersteuning"
 
-#: mod/admin.php:679
+#: mod/admin.php:765
 msgid "Provide built-in Diaspora network compatibility."
 msgstr "Bied ingebouwde ondersteuning voor het Diaspora netwerk."
 
-#: mod/admin.php:680
+#: mod/admin.php:766
 msgid "Only allow Friendica contacts"
 msgstr "Laat alleen Friendica contacten toe"
 
-#: mod/admin.php:680
+#: mod/admin.php:766
 msgid ""
 "All contacts must use Friendica protocols. All other built-in communication "
 "protocols disabled."
 msgstr "Alle contacten moeten een Friendica protocol gebruiken. Alle andere ingebouwde communicatieprotocols worden uitgeschakeld."
 
-#: mod/admin.php:681
+#: mod/admin.php:767
 msgid "Verify SSL"
 msgstr "Controleer SSL"
 
-#: mod/admin.php:681
+#: mod/admin.php:767
 msgid ""
 "If you wish, you can turn on strict certificate checking. This will mean you"
 " cannot connect (at all) to self-signed SSL sites."
 msgstr "Als je wilt kun je striktere certificaat controle activeren. Dit betekent dat je (totaal) niet kunt connecteren met sites die zelf-ondertekende SSL certificaten gebruiken."
 
-#: mod/admin.php:682
+#: mod/admin.php:768
 msgid "Proxy user"
 msgstr "Proxy-gebruiker"
 
-#: mod/admin.php:683
+#: mod/admin.php:769
 msgid "Proxy URL"
 msgstr "Proxy-URL"
 
-#: mod/admin.php:684
+#: mod/admin.php:770
 msgid "Network timeout"
 msgstr "Netwerk timeout"
 
-#: mod/admin.php:684
+#: mod/admin.php:770
 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:685
+#: mod/admin.php:771
 msgid "Delivery interval"
 msgstr "Afleverinterval"
 
-#: mod/admin.php:685
+#: mod/admin.php:771
 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 "Stel achtergrond processen voor aflevering een aantal seconden uit om systeembelasting te beperken. Aanbevolen: 4-5 voor gedeelde hosten, 2-3 voor virtuele privé servers, 0-1 voor grote servers."
 
-#: mod/admin.php:686
+#: mod/admin.php:772
 msgid "Poll interval"
 msgstr "Poll-interval"
 
-#: mod/admin.php:686
+#: mod/admin.php:772
 msgid ""
 "Delay background polling processes by this many seconds to reduce system "
 "load. If 0, use delivery interval."
 msgstr "Stel achtergrondprocessen zoveel seconden uit om de systeembelasting te beperken. Indien 0 wordt het afleverinterval gebruikt."
 
-#: mod/admin.php:687
+#: mod/admin.php:773
 msgid "Maximum Load Average"
 msgstr "Maximum gemiddelde belasting"
 
-#: mod/admin.php:687
+#: mod/admin.php:773
 msgid ""
 "Maximum system load before delivery and poll processes are deferred - "
 "default 50."
 msgstr "Maximum systeembelasting voordat aflever- en poll-processen uitgesteld worden - standaard 50."
 
-#: mod/admin.php:688
+#: mod/admin.php:774
 msgid "Maximum Load Average (Frontend)"
 msgstr ""
 
-#: mod/admin.php:688
+#: mod/admin.php:774
 msgid "Maximum system load before the frontend quits service - default 50."
 msgstr ""
 
-#: mod/admin.php:690
+#: mod/admin.php:776
+msgid "Periodical check of global contacts"
+msgstr ""
+
+#: mod/admin.php:776
+msgid ""
+"If enabled, the global contacts are checked periodically for missing or "
+"outdated data and the vitality of the contacts and servers."
+msgstr ""
+
+#: mod/admin.php:777
+msgid "Days between requery"
+msgstr ""
+
+#: mod/admin.php:777
+msgid "Number of days after which a server is requeried for his contacts."
+msgstr ""
+
+#: mod/admin.php:778
+msgid "Discover contacts from other servers"
+msgstr ""
+
+#: mod/admin.php:778
+msgid ""
+"Periodically query other servers for contacts. You can choose between "
+"'users': the users on the remote system, 'Global Contacts': active contacts "
+"that are known on the system. The fallback is meant for Redmatrix servers "
+"and older friendica servers, where global contacts weren't available. The "
+"fallback increases the server load, so the recommened setting is 'Users, "
+"Global Contacts'."
+msgstr ""
+
+#: mod/admin.php:779
+msgid "Timeframe for fetching global contacts"
+msgstr ""
+
+#: mod/admin.php:779
+msgid ""
+"When the discovery is activated, this value defines the timeframe for the "
+"activity of the global contacts that are fetched from other servers."
+msgstr ""
+
+#: mod/admin.php:780
+msgid "Search the local directory"
+msgstr ""
+
+#: mod/admin.php:780
+msgid ""
+"Search the local directory instead of the global directory. When searching "
+"locally, every search will be executed on the global directory in the "
+"background. This improves the search results when the search is repeated."
+msgstr ""
+
+#: mod/admin.php:782
+msgid "Publish server information"
+msgstr ""
+
+#: mod/admin.php:782
+msgid ""
+"If enabled, general server and usage data will be published. The data "
+"contains the name and version of the server, number of users with public "
+"profiles, number of posts and the activated protocols and connectors. See <a"
+" href='http://the-federation.info/'>the-federation.info</a> for details."
+msgstr ""
+
+#: mod/admin.php:784
 msgid "Use MySQL full text engine"
 msgstr "Gebruik de tekst-zoekfunctie van MySQL"
 
-#: mod/admin.php:690
+#: mod/admin.php:784
 msgid ""
 "Activates the full text engine. Speeds up search - but can only search for "
 "four and more characters."
 msgstr "Activeert de zoekmotor. Dit maakt zoeken sneller, maar het kan alleen zoeken naar teksten van minstens vier letters."
 
-#: mod/admin.php:691
+#: mod/admin.php:785
 msgid "Suppress Language"
 msgstr ""
 
-#: mod/admin.php:691
+#: mod/admin.php:785
 msgid "Suppress language information in meta information about a posting."
 msgstr ""
 
-#: mod/admin.php:692
+#: mod/admin.php:786
 msgid "Suppress Tags"
 msgstr ""
 
-#: mod/admin.php:692
+#: mod/admin.php:786
 msgid "Suppress showing a list of hashtags at the end of the posting."
 msgstr ""
 
-#: mod/admin.php:693
+#: mod/admin.php:787
 msgid "Path to item cache"
 msgstr "Pad naar cache voor items"
 
-#: mod/admin.php:694
+#: mod/admin.php:787
+msgid "The item caches buffers generated bbcode and external images."
+msgstr ""
+
+#: mod/admin.php:788
 msgid "Cache duration in seconds"
 msgstr "Cache tijdsduur in seconden"
 
-#: mod/admin.php:694
+#: mod/admin.php:788
 msgid ""
 "How long should the cache files be hold? Default value is 86400 seconds (One"
 " day). To disable the item cache, set the value to -1."
 msgstr ""
 
-#: mod/admin.php:695
+#: mod/admin.php:789
 msgid "Maximum numbers of comments per post"
 msgstr ""
 
-#: mod/admin.php:695
+#: mod/admin.php:789
 msgid "How much comments should be shown for each post? Default value is 100."
 msgstr ""
 
-#: mod/admin.php:696
+#: mod/admin.php:790
 msgid "Path for lock file"
 msgstr "Pad voor lock bestand"
 
-#: mod/admin.php:697
+#: mod/admin.php:790
+msgid ""
+"The lock file is used to avoid multiple pollers at one time. Only define a "
+"folder here."
+msgstr ""
+
+#: mod/admin.php:791
 msgid "Temp path"
 msgstr "Tijdelijk pad"
 
-#: mod/admin.php:698
+#: mod/admin.php:791
+msgid ""
+"If you have a restricted system where the webserver can't access the system "
+"temp path, enter another path here."
+msgstr ""
+
+#: mod/admin.php:792
 msgid "Base path to installation"
 msgstr "Basispad voor installatie"
 
-#: mod/admin.php:699
+#: mod/admin.php:792
+msgid ""
+"If the system cannot detect the correct path to your installation, enter the"
+" correct path here. This setting should only be set if you are using a "
+"restricted system and symbolic links to your webroot."
+msgstr ""
+
+#: mod/admin.php:793
 msgid "Disable picture proxy"
 msgstr ""
 
-#: mod/admin.php:699
+#: mod/admin.php:793
 msgid ""
 "The picture proxy increases performance and privacy. It shouldn't be used on"
 " systems with very low bandwith."
 msgstr ""
 
-#: mod/admin.php:700
+#: mod/admin.php:794
 msgid "Enable old style pager"
 msgstr ""
 
-#: mod/admin.php:700
+#: mod/admin.php:794
 msgid ""
 "The old style pager has page numbers but slows down massively the page "
 "speed."
 msgstr ""
 
-#: mod/admin.php:701
+#: mod/admin.php:795
 msgid "Only search in tags"
 msgstr ""
 
-#: mod/admin.php:701
+#: mod/admin.php:795
 msgid "On large systems the text search can slow down the system extremely."
 msgstr ""
 
-#: mod/admin.php:703
+#: mod/admin.php:797
 msgid "New base url"
 msgstr ""
 
-#: mod/admin.php:705
+#: mod/admin.php:797
+msgid ""
+"Change base url for this server. Sends relocate message to all DFRN contacts"
+" of all users."
+msgstr ""
+
+#: mod/admin.php:799
 msgid "RINO Encryption"
 msgstr ""
 
-#: mod/admin.php:705
+#: mod/admin.php:799
 msgid "Encryption layer between nodes."
 msgstr ""
 
-#: mod/admin.php:723
+#: mod/admin.php:800
+msgid "Embedly API key"
+msgstr ""
+
+#: mod/admin.php:800
+msgid ""
+"<a href='http://embed.ly'>Embedly</a> is used to fetch additional data for "
+"web pages. This is an optional parameter."
+msgstr ""
+
+#: mod/admin.php:818
 msgid "Update has been marked successful"
 msgstr "Wijziging succesvol gemarkeerd "
 
-#: mod/admin.php:731
+#: mod/admin.php:826
 #, php-format
 msgid "Database structure update %s was successfully applied."
 msgstr ""
 
-#: mod/admin.php:734
+#: mod/admin.php:829
 #, php-format
 msgid "Executing of database structure update %s failed with error: %s"
 msgstr ""
 
-#: mod/admin.php:746
+#: mod/admin.php:841
 #, php-format
 msgid "Executing %s failed with error: %s"
 msgstr ""
 
-#: mod/admin.php:749
+#: mod/admin.php:844
 #, php-format
 msgid "Update %s was successfully applied."
 msgstr "Wijziging %s geslaagd."
 
-#: mod/admin.php:753
+#: mod/admin.php:848
 #, php-format
 msgid "Update %s did not return a status. Unknown if it succeeded."
 msgstr "Wijziging %s gaf geen status terug. We weten niet of de wijziging geslaagd is."
 
-#: mod/admin.php:755
+#: mod/admin.php:850
 #, php-format
 msgid "There was no additional update function %s that needed to be called."
 msgstr ""
 
-#: mod/admin.php:774
+#: mod/admin.php:869
 msgid "No failed updates."
 msgstr "Geen misluke wijzigingen"
 
-#: mod/admin.php:775
+#: mod/admin.php:870
 msgid "Check database structure"
 msgstr ""
 
-#: mod/admin.php:780
+#: mod/admin.php:875
 msgid "Failed Updates"
 msgstr "Misluke wijzigingen"
 
-#: mod/admin.php:781
+#: mod/admin.php:876
 msgid ""
 "This does not include updates prior to 1139, which did not return a status."
 msgstr "Dit is zonder de wijzigingen voor 1139, welke geen status teruggaven."
 
-#: mod/admin.php:782
+#: mod/admin.php:877
 msgid "Mark success (if update was manually applied)"
 msgstr "Markeren als succes (als aanpassing manueel doorgevoerd werd)"
 
-#: mod/admin.php:783
+#: mod/admin.php:878
 msgid "Attempt to execute this update step automatically"
 msgstr "Probeer deze stap automatisch uit te voeren"
 
-#: mod/admin.php:815
+#: mod/admin.php:910
 #, php-format
 msgid ""
 "\n"
@@ -2725,7 +2933,7 @@ msgid ""
 "\t\t\t\tthe administrator of %2$s has set up an account for you."
 msgstr ""
 
-#: mod/admin.php:818
+#: mod/admin.php:913
 #, php-format
 msgid ""
 "\n"
@@ -2755,3189 +2963,3283 @@ msgid ""
 "\t\t\tThank you and welcome to %4$s."
 msgstr ""
 
-#: mod/admin.php:850 include/user.php:421
+#: mod/admin.php:945 include/user.php:421
 #, php-format
 msgid "Registration details for %s"
 msgstr "Registratie details voor %s"
 
-#: mod/admin.php:862
+#: mod/admin.php:957
 #, php-format
 msgid "%s user blocked/unblocked"
 msgid_plural "%s users blocked/unblocked"
 msgstr[0] "%s gebruiker geblokkeerd/niet geblokkeerd"
 msgstr[1] "%s gebruikers geblokkeerd/niet geblokkeerd"
 
-#: mod/admin.php:869
+#: mod/admin.php:964
 #, php-format
 msgid "%s user deleted"
 msgid_plural "%s users deleted"
 msgstr[0] "%s gebruiker verwijderd"
 msgstr[1] "%s gebruikers verwijderd"
 
-#: mod/admin.php:908
+#: mod/admin.php:1003
 #, php-format
 msgid "User '%s' deleted"
 msgstr "Gebruiker '%s' verwijderd"
 
-#: mod/admin.php:916
+#: mod/admin.php:1011
 #, php-format
 msgid "User '%s' unblocked"
 msgstr "Gebruiker '%s' niet meer geblokkeerd"
 
-#: mod/admin.php:916
+#: mod/admin.php:1011
 #, php-format
 msgid "User '%s' blocked"
 msgstr "Gebruiker '%s' geblokkeerd"
 
-#: mod/admin.php:1009
+#: mod/admin.php:1104
 msgid "Add User"
 msgstr "Gebruiker toevoegen"
 
-#: mod/admin.php:1010
+#: mod/admin.php:1105
 msgid "select all"
 msgstr "Alles selecteren"
 
-#: mod/admin.php:1011
+#: mod/admin.php:1106
 msgid "User registrations waiting for confirm"
 msgstr "Gebruikersregistraties wachten op een bevestiging"
 
-#: mod/admin.php:1012
+#: mod/admin.php:1107
 msgid "User waiting for permanent deletion"
 msgstr ""
 
-#: mod/admin.php:1013
+#: mod/admin.php:1108
 msgid "Request date"
 msgstr "Registratiedatum"
 
-#: mod/admin.php:1013 mod/admin.php:1025 mod/admin.php:1026 mod/admin.php:1039
-#: mod/crepair.php:170 mod/settings.php:623 mod/settings.php:649
-msgid "Name"
-msgstr "Naam"
-
-#: mod/admin.php:1013 mod/admin.php:1025 mod/admin.php:1026 mod/admin.php:1041
+#: mod/admin.php:1108 mod/admin.php:1120 mod/admin.php:1121 mod/admin.php:1136
 #: include/contact_selectors.php:79 include/contact_selectors.php:86
 msgid "Email"
 msgstr "E-mail"
 
-#: mod/admin.php:1014
+#: mod/admin.php:1109
 msgid "No registrations."
 msgstr "Geen registraties."
 
-#: mod/admin.php:1016
+#: mod/admin.php:1111
 msgid "Deny"
 msgstr "Weiger"
 
-#: mod/admin.php:1018 mod/contacts.php:521 mod/contacts.php:590
-#: mod/contacts.php:757
-msgid "Block"
-msgstr "Blokkeren"
-
-#: mod/admin.php:1019 mod/contacts.php:521 mod/contacts.php:590
-#: mod/contacts.php:757
-msgid "Unblock"
-msgstr "Blokkering opheffen"
-
-#: mod/admin.php:1020
+#: mod/admin.php:1115
 msgid "Site admin"
 msgstr "Sitebeheerder"
 
-#: mod/admin.php:1021
+#: mod/admin.php:1116
 msgid "Account expired"
 msgstr "Account verlopen"
 
-#: mod/admin.php:1024
+#: mod/admin.php:1119
 msgid "New User"
 msgstr "Nieuwe gebruiker"
 
-#: mod/admin.php:1025 mod/admin.php:1026
+#: mod/admin.php:1120 mod/admin.php:1121
 msgid "Register date"
 msgstr "Registratiedatum"
 
-#: mod/admin.php:1025 mod/admin.php:1026
+#: mod/admin.php:1120 mod/admin.php:1121
 msgid "Last login"
 msgstr "Laatste login"
 
-#: mod/admin.php:1025 mod/admin.php:1026
+#: mod/admin.php:1120 mod/admin.php:1121
 msgid "Last item"
 msgstr "Laatste item"
 
-#: mod/admin.php:1025
+#: mod/admin.php:1120
 msgid "Deleted since"
 msgstr "Verwijderd sinds"
 
-#: mod/admin.php:1026 mod/settings.php:41
+#: mod/admin.php:1121 mod/settings.php:41
 msgid "Account"
 msgstr "Account"
 
-#: mod/admin.php:1028
+#: mod/admin.php:1123
 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 gebruikers zullen verwijderd worden!\\n\\nAlles wat deze gebruikers gepost hebben op deze website zal permanent verwijderd worden!\\n\\nBen je zeker?"
 
-#: mod/admin.php:1029
+#: mod/admin.php:1124
 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 "De gebruiker {0} zal verwijderd worden!\\n\\nAlles wat deze gebruiker gepost heeft op deze website zal permanent verwijderd worden!\\n\\nBen je zeker?"
 
-#: mod/admin.php:1039
+#: mod/admin.php:1134
 msgid "Name of the new user."
 msgstr "Naam van nieuwe gebruiker"
 
-#: mod/admin.php:1040
+#: mod/admin.php:1135
 msgid "Nickname"
 msgstr "Bijnaam"
 
-#: mod/admin.php:1040
+#: mod/admin.php:1135
 msgid "Nickname of the new user."
 msgstr "Bijnaam van nieuwe gebruiker"
 
-#: mod/admin.php:1041
+#: mod/admin.php:1136
 msgid "Email address of the new user."
 msgstr "E-mailadres van nieuwe gebruiker"
 
-#: mod/admin.php:1074
+#: mod/admin.php:1169
 #, php-format
 msgid "Plugin %s disabled."
 msgstr "Plugin %s uitgeschakeld."
 
-#: mod/admin.php:1078
+#: mod/admin.php:1173
 #, php-format
 msgid "Plugin %s enabled."
 msgstr "Plugin %s ingeschakeld."
 
-#: mod/admin.php:1088 mod/admin.php:1304
+#: mod/admin.php:1183 mod/admin.php:1407
 msgid "Disable"
 msgstr "Uitschakelen"
 
-#: mod/admin.php:1090 mod/admin.php:1306
+#: mod/admin.php:1185 mod/admin.php:1409
 msgid "Enable"
 msgstr "Inschakelen"
 
-#: mod/admin.php:1113 mod/admin.php:1334
+#: mod/admin.php:1208 mod/admin.php:1453
 msgid "Toggle"
 msgstr "Schakelaar"
 
-#: mod/admin.php:1121 mod/admin.php:1344
+#: mod/admin.php:1216 mod/admin.php:1463
 msgid "Author: "
 msgstr "Auteur:"
 
-#: mod/admin.php:1122 mod/admin.php:1345
+#: mod/admin.php:1217 mod/admin.php:1464
 msgid "Maintainer: "
 msgstr "Onderhoud:"
 
-#: mod/admin.php:1264
+#: mod/admin.php:1269
+msgid "Reload active plugins"
+msgstr ""
+
+#: mod/admin.php:1367
 msgid "No themes found."
 msgstr "Geen thema's gevonden."
 
-#: mod/admin.php:1326
+#: mod/admin.php:1445
 msgid "Screenshot"
 msgstr "Schermafdruk"
 
-#: mod/admin.php:1372
+#: mod/admin.php:1505
+msgid "Reload active themes"
+msgstr ""
+
+#: mod/admin.php:1509
 msgid "[Experimental]"
 msgstr "[Experimenteel]"
 
-#: mod/admin.php:1373
+#: mod/admin.php:1510
 msgid "[Unsupported]"
 msgstr "[Niet ondersteund]"
 
-#: mod/admin.php:1400
+#: mod/admin.php:1537
 msgid "Log settings updated."
 msgstr "Log instellingen gewijzigd"
 
-#: mod/admin.php:1456
+#: mod/admin.php:1593
 msgid "Clear"
 msgstr "Wis"
 
-#: mod/admin.php:1462
+#: mod/admin.php:1599
 msgid "Enable Debugging"
 msgstr ""
 
-#: mod/admin.php:1463
+#: mod/admin.php:1600
 msgid "Log file"
 msgstr "Logbestand"
 
-#: mod/admin.php:1463
+#: mod/admin.php:1600
 msgid ""
 "Must be writable by web server. Relative to your Friendica top-level "
 "directory."
 msgstr "De webserver moet hier kunnen schrijven. Relatief t.o.v. van de hoogste folder binnen uw Friendica-installatie."
 
-#: mod/admin.php:1464
+#: mod/admin.php:1601
 msgid "Log level"
 msgstr "Log niveau"
 
-#: mod/admin.php:1513 mod/contacts.php:587
-msgid "Update now"
-msgstr "Wijzig nu"
-
-#: mod/admin.php:1514 include/acl_selectors.php:347
+#: mod/admin.php:1651 include/acl_selectors.php:347
 msgid "Close"
 msgstr "Afsluiten"
 
-#: mod/admin.php:1520
+#: mod/admin.php:1657
 msgid "FTP Host"
 msgstr "FTP Server"
 
-#: mod/admin.php:1521
+#: mod/admin.php:1658
 msgid "FTP Path"
 msgstr "FTP Pad"
 
-#: mod/admin.php:1522
+#: mod/admin.php:1659
 msgid "FTP User"
 msgstr "FTP Gebruiker"
 
-#: mod/admin.php:1523
+#: mod/admin.php:1660
 msgid "FTP Password"
 msgstr "FTP wachtwoord"
 
-#: mod/allfriends.php:37
-#, php-format
-msgid "Friends of %s"
-msgstr "Vrienden van %s"
-
-#: mod/allfriends.php:44
-msgid "No friends to display."
-msgstr "Geen vrienden om te laten zien."
-
-#: mod/common.php:45
-msgid "Common Friends"
-msgstr "Gedeelde Vrienden"
-
-#: mod/common.php:82
-msgid "No contacts in common."
-msgstr "Geen gedeelde contacten."
-
-#: mod/contacts.php:114
+#: mod/network.php:143
 #, php-format
-msgid "%d contact edited."
-msgid_plural "%d contacts edited"
-msgstr[0] ""
-msgstr[1] ""
+msgid "Search Results For: %s"
+msgstr ""
 
-#: mod/contacts.php:145 mod/contacts.php:340
-msgid "Could not access contact record."
-msgstr "Kon geen toegang krijgen tot de contactgegevens"
+#: mod/network.php:195 mod/search.php:25
+msgid "Remove term"
+msgstr "Verwijder zoekterm"
 
-#: mod/contacts.php:159
-msgid "Could not locate selected profile."
-msgstr "Kon het geselecteerde profiel niet vinden."
+#: mod/network.php:204 mod/search.php:34 include/features.php:43
+msgid "Saved Searches"
+msgstr "Opgeslagen zoekopdrachten"
 
-#: mod/contacts.php:192
-msgid "Contact updated."
-msgstr "Contact bijgewerkt."
+#: mod/network.php:205 include/group.php:279
+msgid "add"
+msgstr "toevoegen"
 
-#: mod/contacts.php:194 mod/dfrn_request.php:576
-msgid "Failed to update contact record."
-msgstr "Ik kon de contactgegevens niet aanpassen."
+#: mod/network.php:366
+msgid "Commented Order"
+msgstr "Nieuwe reacties bovenaan"
 
-#: mod/contacts.php:361
-msgid "Contact has been blocked"
-msgstr "Contact is geblokkeerd"
+#: mod/network.php:369
+msgid "Sort by Comment Date"
+msgstr "Berichten met nieuwe reacties bovenaan"
 
-#: mod/contacts.php:361
-msgid "Contact has been unblocked"
-msgstr "Contact is gedeblokkeerd"
+#: mod/network.php:374
+msgid "Posted Order"
+msgstr "Nieuwe berichten bovenaan"
 
-#: mod/contacts.php:372
-msgid "Contact has been ignored"
-msgstr "Contact wordt genegeerd"
+#: mod/network.php:377
+msgid "Sort by Post Date"
+msgstr "Nieuwe berichten bovenaan"
 
-#: mod/contacts.php:372
-msgid "Contact has been unignored"
-msgstr "Contact wordt niet meer genegeerd"
+#: mod/network.php:388
+msgid "Posts that mention or involve you"
+msgstr "Alleen berichten die jou vermelden of op jou betrekking hebben"
 
-#: mod/contacts.php:384
-msgid "Contact has been archived"
-msgstr "Contact is gearchiveerd"
+#: mod/network.php:396
+msgid "New"
+msgstr "Nieuw"
 
-#: mod/contacts.php:384
-msgid "Contact has been unarchived"
-msgstr "Contact is niet meer gearchiveerd"
+#: mod/network.php:399
+msgid "Activity Stream - by date"
+msgstr "Activiteitenstroom - volgens datum"
 
-#: mod/contacts.php:411 mod/contacts.php:754
-msgid "Do you really want to delete this contact?"
-msgstr "Wil je echt dit contact verwijderen?"
+#: mod/network.php:407
+msgid "Shared Links"
+msgstr "Gedeelde links"
 
-#: mod/contacts.php:428
-msgid "Contact has been removed."
-msgstr "Contact is verwijderd."
+#: mod/network.php:410
+msgid "Interesting Links"
+msgstr "Interessante links"
 
-#: mod/contacts.php:466
-#, php-format
-msgid "You are mutual friends with %s"
-msgstr "Je bent wederzijds bevriend met %s"
+#: mod/network.php:418
+msgid "Starred"
+msgstr "Met ster"
 
-#: mod/contacts.php:470
-#, php-format
-msgid "You are sharing with %s"
-msgstr "Je deelt met %s"
+#: mod/network.php:421
+msgid "Favourite Posts"
+msgstr "Favoriete berichten"
 
-#: mod/contacts.php:475
+#: mod/network.php:480
 #, php-format
-msgid "%s is sharing with you"
-msgstr "%s deelt met jou"
-
-#: mod/contacts.php:495
-msgid "Private communications are not available for this contact."
-msgstr "Privécommunicatie met dit contact is niet beschikbaar."
+msgid "Warning: This group contains %s member from an insecure network."
+msgid_plural ""
+"Warning: This group contains %s members from an insecure network."
+msgstr[0] "Waarschuwing: Deze groep bevat %s lid van een onveilig netwerk."
+msgstr[1] "Waarschuwing: Deze groep bevat %s leden van een onveilig netwerk."
 
-#: mod/contacts.php:502
-msgid "(Update was successful)"
-msgstr "(Wijziging is geslaagd)"
+#: mod/network.php:483
+msgid "Private messages to this group are at risk of public disclosure."
+msgstr "Privéberichten naar deze groep kunnen openbaar gemaakt worden."
 
-#: mod/contacts.php:502
-msgid "(Update was not successful)"
-msgstr "(Wijziging is niet geslaagd)"
+#: mod/network.php:550 mod/content.php:119
+msgid "No such group"
+msgstr "Zo'n groep bestaat niet"
 
-#: mod/contacts.php:504
-msgid "Suggest friends"
-msgstr "Stel vrienden voor"
+#: mod/network.php:567 mod/content.php:130
+msgid "Group is empty"
+msgstr "De groep is leeg"
 
-#: mod/contacts.php:508
+#: mod/network.php:578 mod/content.php:135
 #, php-format
-msgid "Network type: %s"
-msgstr "Netwerk type: %s"
+msgid "Group: %s"
+msgstr ""
 
-#: mod/contacts.php:511 include/contact_widgets.php:200
+#: mod/network.php:596
 #, php-format
-msgid "%d contact in common"
-msgid_plural "%d contacts in common"
-msgstr[0] "%d gedeeld contact"
-msgstr[1] "%d gedeelde contacten"
-
-#: mod/contacts.php:516
-msgid "View all contacts"
-msgstr "Alle contacten zien"
-
-#: mod/contacts.php:524
-msgid "Toggle Blocked status"
-msgstr "Schakel geblokkeerde status"
+msgid "Contact: %s"
+msgstr ""
 
-#: mod/contacts.php:527 mod/contacts.php:591 mod/contacts.php:758
-msgid "Unignore"
-msgstr "Negeer niet meer"
+#: mod/network.php:600
+msgid "Private messages to this person are at risk of public disclosure."
+msgstr "Privéberichten naar deze persoon kunnen openbaar gemaakt worden."
 
-#: mod/contacts.php:530
-msgid "Toggle Ignored status"
-msgstr "Schakel negeerstatus"
+#: mod/network.php:605
+msgid "Invalid contact."
+msgstr "Ongeldig contact."
 
-#: mod/contacts.php:534 mod/contacts.php:759
-msgid "Unarchive"
-msgstr "Archiveer niet meer"
+#: mod/allfriends.php:45
+msgid "No friends to display."
+msgstr "Geen vrienden om te laten zien."
 
-#: mod/contacts.php:534 mod/contacts.php:759
-msgid "Archive"
-msgstr "Archiveer"
+#: mod/allfriends.php:79 mod/common.php:122
+msgid "Forum"
+msgstr ""
 
-#: mod/contacts.php:537
-msgid "Toggle Archive status"
-msgstr "Schakel archiveringsstatus"
+#: mod/allfriends.php:92
+#, php-format
+msgid "Friends of %s"
+msgstr "Vrienden van %s"
 
-#: mod/contacts.php:540
-msgid "Repair"
-msgstr "Herstellen"
+#: mod/events.php:71 mod/events.php:73
+msgid "Event can not end before it has started."
+msgstr ""
 
-#: mod/contacts.php:543
-msgid "Advanced Contact Settings"
-msgstr "Geavanceerde instellingen voor contacten"
+#: mod/events.php:80 mod/events.php:82
+msgid "Event title and start time are required."
+msgstr "Titel en begintijd van de gebeurtenis zijn vereist."
 
-#: mod/contacts.php:549
-msgid "Communications lost with this contact!"
-msgstr "Communicatie met dit contact is verbroken!"
+#: mod/events.php:201
+msgid "Sun"
+msgstr ""
 
-#: mod/contacts.php:552
-msgid "Fetch further information for feeds"
+#: mod/events.php:202
+msgid "Mon"
 msgstr ""
 
-#: mod/contacts.php:553
-msgid "Disabled"
+#: mod/events.php:203
+msgid "Tue"
 msgstr ""
 
-#: mod/contacts.php:553
-msgid "Fetch information"
+#: mod/events.php:204
+msgid "Wed"
 msgstr ""
 
-#: mod/contacts.php:553
-msgid "Fetch information and keywords"
+#: mod/events.php:205
+msgid "Thu"
 msgstr ""
 
-#: mod/contacts.php:562
-msgid "Contact Editor"
-msgstr "Contactbewerker"
+#: mod/events.php:206
+msgid "Fri"
+msgstr ""
 
-#: mod/contacts.php:565
-msgid "Profile Visibility"
-msgstr "Zichtbaarheid profiel"
+#: mod/events.php:207
+msgid "Sat"
+msgstr ""
 
-#: mod/contacts.php:566
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Kies het profiel dat getoond moet worden wanneer %s uw profiel bezoekt. "
+#: mod/events.php:208 mod/settings.php:936 include/text.php:1267
+msgid "Sunday"
+msgstr "Zondag"
 
-#: mod/contacts.php:567
-msgid "Contact Information / Notes"
-msgstr "Contactinformatie / aantekeningen"
+#: mod/events.php:209 mod/settings.php:936 include/text.php:1267
+msgid "Monday"
+msgstr "Maandag"
 
-#: mod/contacts.php:568
-msgid "Edit contact notes"
-msgstr "Wijzig aantekeningen over dit contact"
+#: mod/events.php:210 include/text.php:1267
+msgid "Tuesday"
+msgstr "Dinsdag"
 
-#: mod/contacts.php:574
-msgid "Block/Unblock contact"
-msgstr "Blokkeer/deblokkeer contact"
+#: mod/events.php:211 include/text.php:1267
+msgid "Wednesday"
+msgstr "Woensdag"
 
-#: mod/contacts.php:575
-msgid "Ignore contact"
-msgstr "Negeer contact"
+#: mod/events.php:212 include/text.php:1267
+msgid "Thursday"
+msgstr "Donderdag"
 
-#: mod/contacts.php:576
-msgid "Repair URL settings"
-msgstr "Repareer URL-instellingen"
+#: mod/events.php:213 include/text.php:1267
+msgid "Friday"
+msgstr "Vrijdag"
 
-#: mod/contacts.php:577
-msgid "View conversations"
-msgstr "Toon conversaties"
+#: mod/events.php:214 include/text.php:1267
+msgid "Saturday"
+msgstr "Zaterdag"
 
-#: mod/contacts.php:579
-msgid "Delete contact"
-msgstr "Verwijder contact"
+#: mod/events.php:215
+msgid "Jan"
+msgstr ""
 
-#: mod/contacts.php:583
-msgid "Last update:"
-msgstr "Laatste wijziging:"
+#: mod/events.php:216
+msgid "Feb"
+msgstr ""
 
-#: mod/contacts.php:585
-msgid "Update public posts"
-msgstr "Openbare posts aanpassen"
+#: mod/events.php:217
+msgid "Mar"
+msgstr ""
 
-#: mod/contacts.php:594
-msgid "Currently blocked"
-msgstr "Op dit moment geblokkeerd"
+#: mod/events.php:218
+msgid "Apr"
+msgstr ""
 
-#: mod/contacts.php:595
-msgid "Currently ignored"
-msgstr "Op dit moment genegeerd"
+#: mod/events.php:219 mod/events.php:231 include/text.php:1271
+msgid "May"
+msgstr "Mei"
 
-#: mod/contacts.php:596
-msgid "Currently archived"
-msgstr "Op dit moment gearchiveerd"
+#: mod/events.php:220
+msgid "Jun"
+msgstr ""
 
-#: mod/contacts.php:597
-msgid ""
-"Replies/likes to your public posts <strong>may</strong> still be visible"
-msgstr "Antwoorden of 'vind ik leuk's op je openbare posts <strong>kunnen</strong> nog zichtbaar zijn"
+#: mod/events.php:221
+msgid "Jul"
+msgstr ""
 
-#: mod/contacts.php:598
-msgid "Notification for new posts"
-msgstr "Meldingen voor nieuwe berichten"
+#: mod/events.php:222
+msgid "Aug"
+msgstr ""
 
-#: mod/contacts.php:598
-msgid "Send a notification of every new post of this contact"
+#: mod/events.php:223
+msgid "Sept"
 msgstr ""
 
-#: mod/contacts.php:601
-msgid "Blacklisted keywords"
+#: mod/events.php:224
+msgid "Oct"
 msgstr ""
 
-#: mod/contacts.php:601
-msgid ""
-"Comma separated list of keywords that should not be converted to hashtags, "
-"when \"Fetch information and keywords\" is selected"
+#: mod/events.php:225
+msgid "Nov"
 msgstr ""
 
-#: mod/contacts.php:652
-msgid "Suggestions"
-msgstr "Voorstellen"
+#: mod/events.php:226
+msgid "Dec"
+msgstr ""
 
-#: mod/contacts.php:655
-msgid "Suggest potential friends"
-msgstr "Stel vrienden voor"
+#: mod/events.php:227 include/text.php:1271
+msgid "January"
+msgstr "Januari"
 
-#: mod/contacts.php:658 mod/group.php:192
-msgid "All Contacts"
-msgstr "Alle Contacten"
+#: mod/events.php:228 include/text.php:1271
+msgid "February"
+msgstr "Februari"
 
-#: mod/contacts.php:661
-msgid "Show all contacts"
-msgstr "Toon alle contacten"
+#: mod/events.php:229 include/text.php:1271
+msgid "March"
+msgstr "Maart"
 
-#: mod/contacts.php:664
-msgid "Unblocked"
-msgstr "Niet geblokkeerd"
+#: mod/events.php:230 include/text.php:1271
+msgid "April"
+msgstr "April"
 
-#: mod/contacts.php:667
-msgid "Only show unblocked contacts"
-msgstr "Toon alleen niet-geblokkeerde contacten"
+#: mod/events.php:232 include/text.php:1271
+msgid "June"
+msgstr "Juni"
 
-#: mod/contacts.php:671
-msgid "Blocked"
-msgstr "Geblokkeerd"
+#: mod/events.php:233 include/text.php:1271
+msgid "July"
+msgstr "Juli"
 
-#: mod/contacts.php:674
-msgid "Only show blocked contacts"
-msgstr "Toon alleen geblokkeerde contacten"
+#: mod/events.php:234 include/text.php:1271
+msgid "August"
+msgstr "Augustus"
 
-#: mod/contacts.php:678
-msgid "Ignored"
-msgstr "Genegeerd"
+#: mod/events.php:235 include/text.php:1271
+msgid "September"
+msgstr "September"
 
-#: mod/contacts.php:681
-msgid "Only show ignored contacts"
-msgstr "Toon alleen genegeerde contacten"
+#: mod/events.php:236 include/text.php:1271
+msgid "October"
+msgstr "Oktober"
 
-#: mod/contacts.php:685
-msgid "Archived"
-msgstr "Gearchiveerd"
+#: mod/events.php:237 include/text.php:1271
+msgid "November"
+msgstr "November"
 
-#: mod/contacts.php:688
-msgid "Only show archived contacts"
-msgstr "Toon alleen gearchiveerde contacten"
+#: mod/events.php:238 include/text.php:1271
+msgid "December"
+msgstr "December"
 
-#: mod/contacts.php:692
-msgid "Hidden"
-msgstr "Verborgen"
+#: mod/events.php:239
+msgid "today"
+msgstr ""
 
-#: mod/contacts.php:695
-msgid "Only show hidden contacts"
-msgstr "Toon alleen verborgen contacten"
+#: mod/events.php:240 include/datetime.php:288
+msgid "month"
+msgstr "maand"
 
-#: mod/contacts.php:749
-msgid "Search your contacts"
-msgstr "Doorzoek je contacten"
+#: mod/events.php:241 include/datetime.php:289
+msgid "week"
+msgstr "week"
 
-#: mod/contacts.php:750 mod/directory.php:63
-msgid "Finding: "
-msgstr "Gevonden:"
+#: mod/events.php:242 include/datetime.php:290
+msgid "day"
+msgstr "dag"
 
-#: mod/contacts.php:751 mod/directory.php:65 include/contact_widgets.php:34
-msgid "Find"
-msgstr "Zoek"
+#: mod/events.php:377
+msgid "l, F j"
+msgstr "l j F"
 
-#: mod/contacts.php:756 mod/settings.php:137 mod/settings.php:647
-msgid "Update"
-msgstr "Wijzigen"
+#: mod/events.php:399
+msgid "Edit event"
+msgstr "Gebeurtenis bewerken"
 
-#: mod/contacts.php:773
-msgid "Mutual Friendship"
-msgstr "Wederzijdse vriendschap"
+#: mod/events.php:421 include/text.php:1714 include/text.php:1721
+msgid "link to source"
+msgstr "Verwijzing naar bron"
 
-#: mod/contacts.php:777
-msgid "is a fan of yours"
-msgstr "Is een fan van jou"
+#: mod/events.php:456 include/identity.php:669 include/nav.php:79
+#: include/nav.php:140 view/theme/diabook/theme.php:127
+msgid "Events"
+msgstr "Gebeurtenissen"
 
-#: mod/contacts.php:781
-msgid "you are a fan of"
-msgstr "Jij bent een fan van"
+#: mod/events.php:457
+msgid "Create New Event"
+msgstr "Maak een nieuwe gebeurtenis"
 
-#: mod/content.php:119 mod/network.php:526
-msgid "No such group"
-msgstr "Zo'n groep bestaat niet"
+#: mod/events.php:458
+msgid "Previous"
+msgstr "Vorige"
 
-#: mod/content.php:130 mod/network.php:543
-msgid "Group is empty"
-msgstr "De groep is leeg"
+#: mod/events.php:459 mod/install.php:212
+msgid "Next"
+msgstr "Volgende"
 
-#: mod/content.php:135 mod/network.php:554
-#, php-format
-msgid "Group: %s"
+#: mod/events.php:554
+msgid "Event details"
+msgstr "Gebeurtenis details"
+
+#: mod/events.php:555
+msgid "Starting date and Title are required."
 msgstr ""
 
-#: mod/content.php:499 include/conversation.php:689
-msgid "View in context"
-msgstr "In context bekijken"
+#: mod/events.php:556
+msgid "Event Starts:"
+msgstr "Gebeurtenis begint:"
 
-#: mod/crepair.php:107
-msgid "Contact settings applied."
-msgstr "Contactinstellingen toegepast."
+#: mod/events.php:556 mod/events.php:568
+msgid "Required"
+msgstr "Vereist"
 
-#: mod/crepair.php:109
-msgid "Contact update failed."
-msgstr "Aanpassen van contact mislukt."
+#: mod/events.php:558
+msgid "Finish date/time is not known or not relevant"
+msgstr "Einddatum/tijd is niet gekend of niet relevant"
 
-#: mod/crepair.php:140
-msgid "Repair Contact Settings"
-msgstr "Contactinstellingen herstellen"
+#: mod/events.php:560
+msgid "Event Finishes:"
+msgstr "Gebeurtenis eindigt:"
 
-#: mod/crepair.php:142
-msgid ""
-"<strong>WARNING: This is highly advanced</strong> and if you enter incorrect"
-" information your communications with this contact may stop working."
-msgstr ""
+#: mod/events.php:562
+msgid "Adjust for viewer timezone"
+msgstr "Pas aan aan de tijdzone van de gebruiker"
 
-#: mod/crepair.php:143
-msgid ""
-"Please use your browser 'Back' button <strong>now</strong> if you are "
-"uncertain what to do on this page."
-msgstr "Gebruik <strong>nu</strong> de \"terug\"-knop in je webbrowser wanneer je niet weet wat je op deze pagina moet doen."
+#: mod/events.php:564
+msgid "Description:"
+msgstr "Beschrijving:"
 
-#: mod/crepair.php:149
-msgid "Return to contact editor"
-msgstr "Ga terug naar contactbewerker"
+#: mod/events.php:568
+msgid "Title:"
+msgstr "Titel:"
 
-#: mod/crepair.php:160 mod/crepair.php:162
-msgid "No mirroring"
-msgstr ""
+#: mod/events.php:570
+msgid "Share this event"
+msgstr "Deel deze gebeurtenis"
 
-#: mod/crepair.php:160
-msgid "Mirror as forwarded posting"
-msgstr ""
+#: mod/events.php:572 mod/content.php:721 mod/editpost.php:144
+#: mod/photos.php:1623 mod/photos.php:1671 mod/photos.php:1759
+#: object/Item.php:719 include/conversation.php:1217
+msgid "Preview"
+msgstr "Voorvertoning"
 
-#: mod/crepair.php:160 mod/crepair.php:162
-msgid "Mirror as my own posting"
+#: mod/credits.php:16
+msgid "Credits"
 msgstr ""
 
-#: mod/crepair.php:169
-msgid "Refetch contact data"
+#: mod/credits.php:17
+msgid ""
+"Friendica is a community project, that would not be possible without the "
+"help of many people. Here is a list of those who have contributed to the "
+"code or the translation of Friendica. Thank you all!"
 msgstr ""
 
-#: mod/crepair.php:171
-msgid "Account Nickname"
-msgstr "Bijnaam account"
-
-#: mod/crepair.php:172
-msgid "@Tagname - overrides Name/Nickname"
-msgstr "@Labelnaam - krijgt voorrang op naam/bijnaam"
-
-#: mod/crepair.php:173
-msgid "Account URL"
-msgstr "URL account"
-
-#: mod/crepair.php:174
-msgid "Friend Request URL"
-msgstr "URL vriendschapsverzoek"
+#: mod/content.php:439 mod/content.php:742 mod/photos.php:1714
+#: object/Item.php:133 include/conversation.php:634
+msgid "Select"
+msgstr "Kies"
 
-#: mod/crepair.php:175
-msgid "Friend Confirm URL"
-msgstr "URL vriendschapsbevestiging"
+#: mod/content.php:473 mod/content.php:854 mod/content.php:855
+#: object/Item.php:357 object/Item.php:358 include/conversation.php:675
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Bekijk het profiel van %s @ %s"
 
-#: mod/crepair.php:176
-msgid "Notification Endpoint URL"
-msgstr ""
+#: mod/content.php:483 mod/content.php:866 object/Item.php:371
+#: include/conversation.php:695
+#, php-format
+msgid "%s from %s"
+msgstr "%s van %s"
 
-#: mod/crepair.php:177
-msgid "Poll/Feed URL"
-msgstr "URL poll/feed"
+#: mod/content.php:499 include/conversation.php:711
+msgid "View in context"
+msgstr "In context bekijken"
 
-#: mod/crepair.php:178
-msgid "New photo from this URL"
-msgstr "Nieuwe foto van deze URL"
+#: mod/content.php:605 object/Item.php:419
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d reactie"
+msgstr[1] "%d reacties"
 
-#: mod/crepair.php:179
-msgid "Remote Self"
-msgstr ""
+#: mod/content.php:607 object/Item.php:421 object/Item.php:434
+#: include/text.php:1992
+msgid "comment"
+msgid_plural "comments"
+msgstr[0] "reactie"
+msgstr[1] "reacties"
 
-#: mod/crepair.php:181
-msgid "Mirror postings from this contact"
-msgstr ""
+#: mod/content.php:608 boot.php:773 object/Item.php:422
+#: include/contact_widgets.php:205 include/items.php:5214
+msgid "show more"
+msgstr "toon meer"
 
-#: mod/crepair.php:181
-msgid ""
-"Mark this contact as remote_self, this will cause friendica to repost new "
-"entries from this contact."
-msgstr ""
+#: mod/content.php:622 mod/photos.php:1410 object/Item.php:117
+msgid "Private Message"
+msgstr "Privébericht"
 
-#: mod/dfrn_confirm.php:64 mod/profiles.php:18 mod/profiles.php:133
-#: mod/profiles.php:179 mod/profiles.php:626
-msgid "Profile not found."
-msgstr "Profiel niet gevonden"
+#: mod/content.php:686 mod/photos.php:1599 object/Item.php:253
+msgid "I like this (toggle)"
+msgstr "Vind ik leuk"
 
-#: mod/dfrn_confirm.php:121
-msgid ""
-"This may occasionally happen if contact was requested by both persons and it"
-" has already been approved."
-msgstr "Dit kan soms gebeuren als het contact door beide personen werd gevraagd, en het werd al goedgekeurd."
+#: mod/content.php:686 object/Item.php:253
+msgid "like"
+msgstr "leuk"
 
-#: mod/dfrn_confirm.php:240
-msgid "Response from remote site was not understood."
-msgstr "Antwoord van de website op afstand werd niet begrepen."
+#: mod/content.php:687 mod/photos.php:1600 object/Item.php:254
+msgid "I don't like this (toggle)"
+msgstr "Vind ik niet leuk"
 
-#: mod/dfrn_confirm.php:249 mod/dfrn_confirm.php:254
-msgid "Unexpected response from remote site: "
-msgstr "Onverwacht antwoord van website op afstand:"
+#: mod/content.php:687 object/Item.php:254
+msgid "dislike"
+msgstr "niet leuk"
 
-#: mod/dfrn_confirm.php:263
-msgid "Confirmation completed successfully."
-msgstr "Bevestiging werd correct voltooid."
+#: mod/content.php:689 object/Item.php:256
+msgid "Share this"
+msgstr "Delen"
 
-#: mod/dfrn_confirm.php:265 mod/dfrn_confirm.php:279 mod/dfrn_confirm.php:286
-msgid "Remote site reported: "
-msgstr "Website op afstand berichtte: "
+#: mod/content.php:689 object/Item.php:256
+msgid "share"
+msgstr "Delen"
 
-#: mod/dfrn_confirm.php:277
-msgid "Temporary failure. Please wait and try again."
-msgstr "Tijdelijke fout. Wacht even en probeer opnieuw."
+#: mod/content.php:709 mod/photos.php:1619 mod/photos.php:1667
+#: mod/photos.php:1755 object/Item.php:707
+msgid "This is you"
+msgstr "Dit ben jij"
 
-#: mod/dfrn_confirm.php:284
-msgid "Introduction failed or was revoked."
-msgstr "Verzoek mislukt of herroepen."
+#: mod/content.php:711 mod/photos.php:1621 mod/photos.php:1669
+#: mod/photos.php:1757 boot.php:772 object/Item.php:393 object/Item.php:709
+msgid "Comment"
+msgstr "Reacties"
 
-#: mod/dfrn_confirm.php:430
-msgid "Unable to set contact photo."
-msgstr "Ik kan geen contact foto instellen."
+#: mod/content.php:713 object/Item.php:711
+msgid "Bold"
+msgstr "Vet"
 
-#: mod/dfrn_confirm.php:487 include/conversation.php:172
-#: include/diaspora.php:622
-#, php-format
-msgid "%1$s is now friends with %2$s"
-msgstr "%1$s is nu bevriend met %2$s"
+#: mod/content.php:714 object/Item.php:712
+msgid "Italic"
+msgstr "Cursief"
 
-#: mod/dfrn_confirm.php:572
-#, php-format
-msgid "No user record found for '%s' "
-msgstr "Geen gebruiker gevonden voor '%s'"
+#: mod/content.php:715 object/Item.php:713
+msgid "Underline"
+msgstr "Onderstrepen"
 
-#: mod/dfrn_confirm.php:582
-msgid "Our site encryption key is apparently messed up."
-msgstr "De encryptie-sleutel van onze webstek is blijkbaar beschadigd."
+#: mod/content.php:716 object/Item.php:714
+msgid "Quote"
+msgstr "Citeren"
 
-#: mod/dfrn_confirm.php:593
-msgid "Empty site URL was provided or URL could not be decrypted by us."
-msgstr "Er werd een lege URL gegeven, of de URL kon niet ontcijferd worden door ons."
+#: mod/content.php:717 object/Item.php:715
+msgid "Code"
+msgstr "Broncode"
 
-#: mod/dfrn_confirm.php:614
-msgid "Contact record was not found for you on our site."
-msgstr "We vonden op onze webstek geen contactrecord voor jou."
+#: mod/content.php:718 object/Item.php:716
+msgid "Image"
+msgstr "Afbeelding"
 
-#: mod/dfrn_confirm.php:628
-#, php-format
-msgid "Site public key not available in contact record for URL %s."
-msgstr "Publieke sleutel voor webstek niet beschikbaar in contactrecord voor URL %s."
+#: mod/content.php:719 object/Item.php:717
+msgid "Link"
+msgstr "Link"
 
-#: mod/dfrn_confirm.php:648
-msgid ""
-"The ID provided by your system is a duplicate on our system. It should work "
-"if you try again."
-msgstr "Het ID dat jouw systeem aangeeft is een dubbel op ons systeem. Als je opnieuw probeert zou het moeten werken."
+#: mod/content.php:720 object/Item.php:718
+msgid "Video"
+msgstr "Video"
 
-#: mod/dfrn_confirm.php:659
-msgid "Unable to set your contact credentials on our system."
-msgstr "Niet in staat om op dit systeem je contactreferenties in te stellen."
+#: mod/content.php:730 mod/settings.php:710 object/Item.php:122
+#: object/Item.php:124
+msgid "Edit"
+msgstr "Bewerken"
 
-#: mod/dfrn_confirm.php:726
-msgid "Unable to update your contact profile details on our system"
-msgstr ""
+#: mod/content.php:755 object/Item.php:217
+msgid "add star"
+msgstr "ster toevoegen"
 
-#: mod/dfrn_confirm.php:753 mod/dfrn_request.php:732 include/items.php:4236
-msgid "[Name Withheld]"
-msgstr "[Naam achtergehouden]"
+#: mod/content.php:756 object/Item.php:218
+msgid "remove star"
+msgstr "ster verwijderen"
 
-#: mod/dfrn_confirm.php:798
-#, php-format
-msgid "%1$s has joined %2$s"
-msgstr "%1$s is toegetreden tot %2$s"
+#: mod/content.php:757 object/Item.php:219
+msgid "toggle star status"
+msgstr "ster toevoegen of verwijderen"
 
-#: mod/dfrn_request.php:95
-msgid "This introduction has already been accepted."
-msgstr "Verzoek is al goedgekeurd"
+#: mod/content.php:760 object/Item.php:222
+msgid "starred"
+msgstr "met ster"
 
-#: mod/dfrn_request.php:120 mod/dfrn_request.php:518
-msgid "Profile location is not valid or does not contain profile information."
-msgstr "Profiel is ongeldig of bevat geen informatie"
+#: mod/content.php:761 object/Item.php:242
+msgid "add tag"
+msgstr "label toevoegen"
 
-#: mod/dfrn_request.php:125 mod/dfrn_request.php:523
-msgid "Warning: profile location has no identifiable owner name."
-msgstr "Waarschuwing: de profiellocatie heeft geen identificeerbare eigenaar."
+#: mod/content.php:765 object/Item.php:137
+msgid "save to folder"
+msgstr "Bewaren in map"
 
-#: mod/dfrn_request.php:127 mod/dfrn_request.php:525
-msgid "Warning: profile location has no profile photo."
-msgstr "Waarschuwing: Profieladres heeft geen profielfoto."
+#: mod/content.php:856 object/Item.php:359
+msgid "to"
+msgstr "aan"
 
-#: mod/dfrn_request.php:130 mod/dfrn_request.php:528
-#, php-format
-msgid "%d required parameter was not found at the given location"
-msgid_plural "%d required parameters were not found at the given location"
-msgstr[0] "De %d vereiste parameter is niet op het gegeven adres gevonden"
-msgstr[1] "De %d vereiste parameters zijn niet op het gegeven adres gevonden"
+#: mod/content.php:857 object/Item.php:361
+msgid "Wall-to-Wall"
+msgstr "wall-to-wall"
 
-#: mod/dfrn_request.php:172
-msgid "Introduction complete."
-msgstr "Verzoek voltooid."
+#: mod/content.php:858 object/Item.php:362
+msgid "via Wall-To-Wall:"
+msgstr "via wall-to-wall"
 
-#: mod/dfrn_request.php:214
-msgid "Unrecoverable protocol error."
-msgstr "Onherstelbare protocolfout. "
+#: mod/removeme.php:46 mod/removeme.php:49
+msgid "Remove My Account"
+msgstr "Verwijder mijn account"
 
-#: mod/dfrn_request.php:242
-msgid "Profile unavailable."
-msgstr "Profiel onbeschikbaar"
+#: mod/removeme.php:47
+msgid ""
+"This will completely remove your account. Once this has been done it is not "
+"recoverable."
+msgstr "Dit zal je account volledig verwijderen. Dit kan niet hersteld worden als het eenmaal uitgevoerd is."
 
-#: mod/dfrn_request.php:267
-#, php-format
-msgid "%s has received too many connection requests today."
-msgstr "%s heeft te veel verzoeken gehad vandaag."
+#: mod/removeme.php:48
+msgid "Please enter your password for verification:"
+msgstr "Voer je wachtwoord in voor verificatie:"
 
-#: mod/dfrn_request.php:268
-msgid "Spam protection measures have been invoked."
-msgstr "Beveiligingsmaatregelen tegen spam zijn in werking getreden."
+#: mod/install.php:120
+msgid "Friendica Communications Server - Setup"
+msgstr ""
 
-#: mod/dfrn_request.php:269
-msgid "Friends are advised to please try again in 24 hours."
-msgstr "Wij adviseren vrienden om het over 24 uur nog een keer te proberen."
+#: mod/install.php:126
+msgid "Could not connect to database."
+msgstr "Kon geen toegang krijgen tot de database."
 
-#: mod/dfrn_request.php:331
-msgid "Invalid locator"
-msgstr "Ongeldige plaatsbepaler"
+#: mod/install.php:130
+msgid "Could not create table."
+msgstr "Kon tabel niet aanmaken."
 
-#: mod/dfrn_request.php:340
-msgid "Invalid email address."
-msgstr "Geen geldig e-mailadres"
+#: mod/install.php:136
+msgid "Your Friendica site database has been installed."
+msgstr "De database van je Friendica-website is geïnstalleerd."
 
-#: mod/dfrn_request.php:367
-msgid "This account has not been configured for email. Request failed."
-msgstr "Aanvraag mislukt. Dit account is niet geconfigureerd voor e-mail."
+#: mod/install.php:141
+msgid ""
+"You may need to import the file \"database.sql\" manually using phpmyadmin "
+"or mysql."
+msgstr "Het kan nodig zijn om het bestand \"database.sql\" manueel te importeren met phpmyadmin of mysql."
 
-#: mod/dfrn_request.php:463
-msgid "Unable to resolve your name at the provided location."
-msgstr "Ik kan jouw naam op het opgegeven adres niet vinden."
+#: mod/install.php:142 mod/install.php:211 mod/install.php:569
+msgid "Please see the file \"INSTALL.txt\"."
+msgstr "Zie het bestand \"INSTALL.txt\"."
 
-#: mod/dfrn_request.php:476
-msgid "You have already introduced yourself here."
-msgstr "Je hebt jezelf hier al voorgesteld."
+#: mod/install.php:154
+msgid "Database already in use."
+msgstr ""
 
-#: mod/dfrn_request.php:480
-#, php-format
-msgid "Apparently you are already friends with %s."
-msgstr "Blijkbaar bent u al bevriend met %s."
+#: mod/install.php:208
+msgid "System check"
+msgstr "Systeemcontrole"
 
-#: mod/dfrn_request.php:501
-msgid "Invalid profile URL."
-msgstr "Ongeldig profiel adres."
+#: mod/install.php:213
+msgid "Check again"
+msgstr "Controleer opnieuw"
 
-#: mod/dfrn_request.php:507 include/follow.php:27
-msgid "Disallowed profile URL."
-msgstr "Niet toegelaten profiel adres."
+#: mod/install.php:232
+msgid "Database connection"
+msgstr "Verbinding met database"
 
-#: mod/dfrn_request.php:597
-msgid "Your introduction has been sent."
-msgstr "Je verzoek is verzonden."
+#: mod/install.php:233
+msgid ""
+"In order to install Friendica we need to know how to connect to your "
+"database."
+msgstr "Om Friendica te kunnen installeren moet ik weten hoe ik jouw database kan bereiken."
 
-#: mod/dfrn_request.php:650
-msgid "Please login to confirm introduction."
-msgstr "Log in om je verzoek te bevestigen."
+#: mod/install.php:234
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Neem contact op met jouw hostingprovider of websitebeheerder, wanneer je vragen hebt over deze instellingen. "
 
-#: mod/dfrn_request.php:660
+#: mod/install.php:235
 msgid ""
-"Incorrect identity currently logged in. Please login to "
-"<strong>this</strong> profile."
-msgstr "Je huidige identiteit is niet de juiste. Log met <strong>dit</strong> profiel in."
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "De database die je hier opgeeft zou al moeten bestaan. Maak anders de database aan voordat je verder gaat."
 
-#: mod/dfrn_request.php:674 mod/dfrn_request.php:691
-msgid "Confirm"
-msgstr "Bevestig"
+#: mod/install.php:239
+msgid "Database Server Name"
+msgstr "Servernaam database"
 
-#: mod/dfrn_request.php:686
-msgid "Hide this contact"
-msgstr "Verberg dit contact"
+#: mod/install.php:240
+msgid "Database Login Name"
+msgstr "Gebruikersnaam database"
 
-#: mod/dfrn_request.php:689
-#, php-format
-msgid "Welcome home %s."
-msgstr "Welkom terug %s."
+#: mod/install.php:241
+msgid "Database Login Password"
+msgstr "Wachtwoord database"
 
-#: mod/dfrn_request.php:690
-#, php-format
-msgid "Please confirm your introduction/connection request to %s."
-msgstr "Bevestig je vriendschaps-/connectieverzoek voor %s."
+#: mod/install.php:242
+msgid "Database Name"
+msgstr "Naam database"
 
-#: mod/dfrn_request.php:819
+#: mod/install.php:243 mod/install.php:282
+msgid "Site administrator email address"
+msgstr "E-mailadres van de websitebeheerder"
+
+#: mod/install.php:243 mod/install.php:282
 msgid ""
-"Please enter your 'Identity Address' from one of the following supported "
-"communications networks:"
-msgstr "Vul hier uw 'Identiteitsadres' in van een van de volgende ondersteunde communicatienetwerken:"
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "Het e-mailadres van je account moet hiermee overeenkomen om het administratiepaneel te kunnen gebruiken."
+
+#: mod/install.php:247 mod/install.php:285
+msgid "Please select a default timezone for your website"
+msgstr "Selecteer een standaard tijdzone voor uw website"
+
+#: mod/install.php:272
+msgid "Site settings"
+msgstr "Website-instellingen"
+
+#: mod/install.php:326
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Kan geen command-line-versie van PHP vinden in het PATH van de webserver."
 
-#: mod/dfrn_request.php:839
+#: mod/install.php:327
 msgid ""
-"If you are not yet a member of the free social web, <a "
-"href=\"http://dir.friendica.com/siteinfo\">follow this link to find a public"
-" Friendica site and join us today</a>."
-msgstr "Als je nog geen lid bent van het vrije sociale web,  <a href=\"http://dir.friendica.com/siteinfo\">volg dan deze link om een openbare Friendica-website te vinden, en sluit je vandaag nog aan</a>."
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron. See <a "
+"href='https://github.com/friendica/friendica/blob/master/doc/Install.md#set-"
+"up-the-poller'>'Setup the poller'</a>"
+msgstr ""
 
-#: mod/dfrn_request.php:842
-msgid "Friend/Connection Request"
-msgstr "Vriendschaps-/connectieverzoek"
+#: mod/install.php:331
+msgid "PHP executable path"
+msgstr "PATH van het PHP commando"
 
-#: mod/dfrn_request.php:843
+#: mod/install.php:331
 msgid ""
-"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
-"testuser@identi.ca"
-msgstr "Voorbeelden: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Vul het volledige path in naar het php programma. Je kunt dit blanco laten om de installatie verder te zetten."
 
-#: mod/dfrn_request.php:844 mod/follow.php:56
-msgid "Please answer the following:"
-msgstr "Beantwoord het volgende:"
+#: mod/install.php:336
+msgid "Command line PHP"
+msgstr "PHP-opdrachtregel"
 
-#: mod/dfrn_request.php:845 mod/follow.php:57
-#, php-format
-msgid "Does %s know you?"
-msgstr "Kent %s jou?"
+#: mod/install.php:345
+msgid "PHP executable is not the php cli binary (could be cgi-fgci version)"
+msgstr ""
 
-#: mod/dfrn_request.php:849 mod/follow.php:58
-msgid "Add a personal note:"
-msgstr "Voeg een persoonlijke opmerking toe:"
+#: mod/install.php:346
+msgid "Found PHP version: "
+msgstr "Gevonden PHP versie:"
 
-#: mod/dfrn_request.php:851 include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
+#: mod/install.php:348
+msgid "PHP cli binary"
+msgstr ""
 
-#: mod/dfrn_request.php:852
-msgid "StatusNet/Federated Social Web"
-msgstr "StatusNet/Gefedereerde Sociale Web"
+#: mod/install.php:359
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "De command-line versie van PHP op jouw systeem heeft \"register_argc_argv\" niet geactiveerd."
 
-#: mod/dfrn_request.php:853 mod/settings.php:761
-#: include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
+#: mod/install.php:360
+msgid "This is required for message delivery to work."
+msgstr "Dit is nodig om het verzenden van berichten mogelijk te maken."
 
-#: mod/dfrn_request.php:854
-#, php-format
-msgid ""
-" - please do not use this form.  Instead, enter %s into your Diaspora search"
-" bar."
-msgstr "- Gebruik niet dit formulier. Vul %s in in je Diaspora zoekbalk."
+#: mod/install.php:362
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
 
-#: mod/dfrn_request.php:855 mod/follow.php:64
-msgid "Your Identity Address:"
-msgstr "Adres van uw identiteit:"
+#: mod/install.php:383
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr ""
 
-#: mod/dfrn_request.php:858 mod/follow.php:67
-msgid "Submit Request"
-msgstr "Aanvraag indienen"
+#: mod/install.php:384
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Zie \"http://www.php.net/manual/en/openssl.installation.php\" wanneer u Friendica onder Windows draait."
 
-#: mod/directory.php:61
-msgid "Find on this site"
-msgstr "Op deze website zoeken"
+#: mod/install.php:386
+msgid "Generate encryption keys"
+msgstr ""
 
-#: mod/directory.php:64
-msgid "Site Directory"
-msgstr "Websitegids"
+#: mod/install.php:393
+msgid "libCurl PHP module"
+msgstr "libCurl PHP module"
 
-#: mod/directory.php:129 mod/profiles.php:746
-msgid "Age: "
-msgstr "Leeftijd:"
+#: mod/install.php:394
+msgid "GD graphics PHP module"
+msgstr "GD graphics PHP module"
 
-#: mod/directory.php:132
-msgid "Gender: "
-msgstr "Geslacht:"
+#: mod/install.php:395
+msgid "OpenSSL PHP module"
+msgstr "OpenSSL PHP module"
 
-#: mod/directory.php:152 mod/events.php:503 include/bb2diaspora.php:161
-#: include/event.php:42 include/identity.php:268
-msgid "Location:"
-msgstr "Plaats:"
+#: mod/install.php:396
+msgid "mysqli PHP module"
+msgstr "mysqli PHP module"
 
-#: mod/directory.php:154 include/identity.php:270 include/identity.php:540
-msgid "Gender:"
-msgstr "Geslacht:"
+#: mod/install.php:397
+msgid "mb_string PHP module"
+msgstr "mb_string PHP module"
 
-#: mod/directory.php:156 include/identity.php:273 include/identity.php:560
-msgid "Status:"
-msgstr "Tijdlijn:"
+#: mod/install.php:398
+msgid "mcrypt PHP module"
+msgstr ""
 
-#: mod/directory.php:158 include/identity.php:275 include/identity.php:571
-msgid "Homepage:"
-msgstr "Website:"
+#: mod/install.php:403 mod/install.php:405
+msgid "Apache mod_rewrite module"
+msgstr "Apache mod_rewrite module"
 
-#: mod/directory.php:160 include/identity.php:277 include/identity.php:581
-msgid "About:"
-msgstr "Over:"
+#: mod/install.php:403
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Fout: Apache-module mod-rewrite is vereist, maar niet geïnstalleerd."
 
-#: mod/directory.php:205
-msgid "No entries (some entries may be hidden)."
-msgstr "Geen gegevens (sommige gegevens kunnen verborgen zijn)."
+#: mod/install.php:411
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Fout: PHP-module libCURL is vereist, maar niet geïnstalleerd."
 
-#: mod/dirfind.php:27
-#, php-format
-msgid "People Search - %s"
-msgstr ""
+#: mod/install.php:415
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Fout: PHP-module GD graphics met JPEG support is vereist, maar niet geïnstalleerd."
 
-#: mod/dirfind.php:62 mod/match.php:73
-msgid "No matches"
-msgstr "Geen resultaten"
+#: mod/install.php:419
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Fout: PHP-module openssl is vereist, maar niet geïnstalleerd."
 
-#: mod/display.php:343 mod/profile.php:155
-msgid "Access to this profile has been restricted."
-msgstr "Toegang tot dit profiel is beperkt."
+#: mod/install.php:423
+msgid "Error: mysqli PHP module required but not installed."
+msgstr "Fout: PHP-module mysqli is vereist, maar niet geïnstalleerd."
 
-#: mod/display.php:505
-msgid "Item has been removed."
-msgstr "Item is verwijderd."
+#: mod/install.php:427
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Fout: PHP-module mb_string is vereist, maar niet geïnstalleerd."
 
-#: mod/editpost.php:17 mod/editpost.php:27
-msgid "Item not found"
-msgstr "Item niet gevonden"
+#: mod/install.php:431
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr ""
 
-#: mod/editpost.php:40
-msgid "Edit post"
-msgstr "Bericht bewerken"
+#: mod/install.php:443
+msgid ""
+"Function mcrypt_create_iv() is not defined. This is needed to enable RINO2 "
+"encryption layer."
+msgstr ""
 
-#: mod/editpost.php:111 include/conversation.php:1057
-msgid "upload photo"
-msgstr "Foto uploaden"
+#: mod/install.php:445
+msgid "mcrypt_create_iv() function"
+msgstr ""
 
-#: mod/editpost.php:112 include/conversation.php:1058
-msgid "Attach file"
-msgstr "Bestand bijvoegen"
+#: mod/install.php:461
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "Het installatieprogramma moet een bestand \".htconfig.php\" in de bovenste map van je webserver aanmaken, maar kan dit niet doen."
 
-#: mod/editpost.php:113 include/conversation.php:1059
-msgid "attach file"
-msgstr "bestand bijvoegen"
+#: mod/install.php:462
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "Dit is meestal een permissieprobleem, omdat de webserver niet in staat is om in deze map bestanden weg te schrijven - ook al kun je dit zelf wel."
 
-#: mod/editpost.php:115 include/conversation.php:1061
-msgid "web link"
-msgstr "webadres"
+#: mod/install.php:463
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Friendica top folder."
+msgstr "Op het einde van deze procedure zal ik je een tekst geven om te bewaren in een bestand .htconfig.php in je hoogste Friendica map."
 
-#: mod/editpost.php:116 include/conversation.php:1062
-msgid "Insert video link"
-msgstr "Voeg video toe"
+#: mod/install.php:464
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"INSTALL.txt\" for instructions."
+msgstr "Je kunt ook deze procedure overslaan, en een manuele installatie uitvoeren. Lees het bestand \"INSTALL.txt\" voor instructies."
 
-#: mod/editpost.php:117 include/conversation.php:1063
-msgid "video link"
-msgstr "video adres"
+#: mod/install.php:467
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php is schrijfbaar"
 
-#: mod/editpost.php:118 include/conversation.php:1064
-msgid "Insert audio link"
-msgstr "Voeg audio adres toe"
+#: mod/install.php:477
+msgid ""
+"Friendica uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "Friendica gebruikt het Smarty3 sjabloon systeem om zijn webpagina's weer te geven. Smarty3 compileert sjablonen naar PHP om de weergave te versnellen."
 
-#: mod/editpost.php:119 include/conversation.php:1065
-msgid "audio link"
-msgstr "audio adres"
+#: mod/install.php:478
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory view/smarty3/ under the Friendica top level "
+"folder."
+msgstr "Om deze gecompileerde sjablonen op te slaan moet de webserver schrijftoegang hebben tot de folder view/smarty3, t.o.v. van de hoogste folder van je Friendica-installatie."
 
-#: mod/editpost.php:120 include/conversation.php:1066
-msgid "Set your location"
-msgstr "Stel uw locatie in"
+#: mod/install.php:479
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Zorg ervoor dat de gebruiker waaronder je webserver runt (bijv. www-data) schrijf-toegang heeft tot deze map."
 
-#: mod/editpost.php:121 include/conversation.php:1067
-msgid "set location"
-msgstr "Stel uw locatie in"
+#: mod/install.php:480
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"view/smarty3/ only--not the template files (.tpl) that it contains."
+msgstr "Opmerking: voor een goede beveiliging zou je de webserver alleen schrijf-toegang moeten geven voor de map view/smarty3 -- niet voor de template bestanden (.tpl) die in die map zitten."
 
-#: mod/editpost.php:122 include/conversation.php:1068
-msgid "Clear browser location"
-msgstr "Verwijder locatie uit uw webbrowser"
+#: mod/install.php:483
+msgid "view/smarty3 is writable"
+msgstr "view/smarty3 is schrijfbaar"
 
-#: mod/editpost.php:123 include/conversation.php:1069
-msgid "clear location"
-msgstr "Verwijder locatie uit uw webbrowser"
+#: mod/install.php:499
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server configuration."
+msgstr ""
 
-#: mod/editpost.php:125 include/conversation.php:1075
-msgid "Permission settings"
-msgstr "Instellingen van rechten"
+#: mod/install.php:501
+msgid "Url rewrite is working"
+msgstr ""
 
-#: mod/editpost.php:133 include/acl_selectors.php:343
-msgid "CC: email addresses"
-msgstr "CC: e-mailadressen"
+#: mod/install.php:518
+msgid "ImageMagick PHP extension is installed"
+msgstr ""
 
-#: mod/editpost.php:134 include/conversation.php:1084
-msgid "Public post"
-msgstr "Openbare post"
+#: mod/install.php:520
+msgid "ImageMagick supports GIF"
+msgstr ""
 
-#: mod/editpost.php:137 include/conversation.php:1071
-msgid "Set title"
-msgstr "Titel plaatsen"
+#: mod/install.php:528
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "Het databaseconfiguratiebestand \".htconfig.php\" kon niet worden weggeschreven. Je kunt de bijgevoegde tekst gebruiken om in een configuratiebestand aan te maken in de hoogste map van je webserver."
 
-#: mod/editpost.php:139 include/conversation.php:1073
-msgid "Categories (comma-separated list)"
-msgstr "Categorieën (komma-gescheiden lijst)"
+#: mod/install.php:567
+msgid "<h1>What next</h1>"
+msgstr "<h1>Wat nu</h1>"
 
-#: mod/editpost.php:140 include/acl_selectors.php:344
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Voorbeeld: bob@voorbeeld.nl, an@voorbeeld.be"
+#: mod/install.php:568
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "BELANGRIJK: Je zult [manueel] een geplande taak moeten aanmaken voor de poller."
 
-#: mod/events.php:71 mod/events.php:73
-msgid "Event can not end before it has started."
+#: mod/wallmessage.php:42 mod/wallmessage.php:112
+#, php-format
+msgid "Number of daily wall messages for %s exceeded. Message failed."
 msgstr ""
 
-#: mod/events.php:80 mod/events.php:82
-msgid "Event title and start time are required."
-msgstr "Titel en begintijd van de gebeurtenis zijn vereist."
+#: mod/wallmessage.php:59
+msgid "Unable to check your home location."
+msgstr "Niet in staat om je tijdlijn-locatie vast te stellen"
 
-#: mod/events.php:317
-msgid "l, F j"
-msgstr "l j F"
+#: mod/wallmessage.php:86 mod/wallmessage.php:95
+msgid "No recipient."
+msgstr "Geen ontvanger."
 
-#: mod/events.php:339
-msgid "Edit event"
-msgstr "Gebeurtenis bewerken"
+#: mod/wallmessage.php:143
+#, php-format
+msgid ""
+"If you wish for %s to respond, please check that the privacy settings on "
+"your site allow private mail from unknown senders."
+msgstr "Als je wilt dat %s antwoordt moet je nakijken dat de privacy-instellingen op jouw website privéberichten van onbekende afzenders toelaat."
+
+#: mod/help.php:31
+msgid "Help:"
+msgstr "Help:"
 
-#: mod/events.php:361 include/text.php:1679 include/text.php:1689
-msgid "link to source"
-msgstr "Verwijzing naar bron"
+#: mod/help.php:36 include/nav.php:113 view/theme/vier/theme.php:273
+msgid "Help"
+msgstr "Help"
 
-#: mod/events.php:397
-msgid "Create New Event"
-msgstr "Maak een nieuwe gebeurtenis"
+#: mod/help.php:42 mod/p.php:16 mod/p.php:25 index.php:269
+msgid "Not Found"
+msgstr "Niet gevonden"
 
-#: mod/events.php:398
-msgid "Previous"
-msgstr "Vorige"
+#: mod/help.php:45 index.php:272
+msgid "Page not found."
+msgstr "Pagina niet gevonden"
 
-#: mod/events.php:399 mod/install.php:209
-msgid "Next"
-msgstr "Volgende"
+#: mod/dfrn_poll.php:103 mod/dfrn_poll.php:536
+#, php-format
+msgid "%1$s welcomes %2$s"
+msgstr "%1$s heet %2$s van harte welkom"
 
-#: mod/events.php:491
-msgid "Event details"
-msgstr "Gebeurtenis details"
+#: mod/home.php:35
+#, php-format
+msgid "Welcome to %s"
+msgstr "Welkom op %s"
 
-#: mod/events.php:492
-msgid "Starting date and Title are required."
+#: mod/wall_attach.php:94
+msgid "Sorry, maybe your upload is bigger than the PHP configuration allows"
 msgstr ""
 
-#: mod/events.php:493
-msgid "Event Starts:"
-msgstr "Gebeurtenis begint:"
-
-#: mod/events.php:493 mod/events.php:505
-msgid "Required"
-msgstr "Vereist"
+#: mod/wall_attach.php:94
+msgid "Or - did you try to upload an empty file?"
+msgstr ""
 
-#: mod/events.php:495
-msgid "Finish date/time is not known or not relevant"
-msgstr "Einddatum/tijd is niet gekend of niet relevant"
+#: mod/wall_attach.php:105
+#, php-format
+msgid "File exceeds size limit of %s"
+msgstr ""
 
-#: mod/events.php:497
-msgid "Event Finishes:"
-msgstr "Gebeurtenis eindigt:"
+#: mod/wall_attach.php:156 mod/wall_attach.php:172
+msgid "File upload failed."
+msgstr "Uploaden van bestand mislukt."
 
-#: mod/events.php:499
-msgid "Adjust for viewer timezone"
-msgstr "Pas aan aan de tijdzone van de gebruiker"
+#: mod/match.php:33
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Geen sleutelwoorden om te zoeken. Voeg sleutelwoorden toe aan je standaard profiel."
 
-#: mod/events.php:501
-msgid "Description:"
-msgstr "Beschrijving:"
+#: mod/match.php:83
+msgid "is interested in:"
+msgstr "Is geïnteresseerd in:"
 
-#: mod/events.php:505
-msgid "Title:"
-msgstr "Titel:"
+#: mod/match.php:97
+msgid "Profile Match"
+msgstr "Profielmatch"
 
-#: mod/events.php:507
-msgid "Share this event"
-msgstr "Deel deze gebeurtenis"
+#: mod/share.php:38
+msgid "link"
+msgstr "link"
 
-#: mod/follow.php:24
-msgid "You already added this contact."
-msgstr ""
+#: mod/community.php:23
+msgid "Not available."
+msgstr "Niet beschikbaar"
 
-#: mod/follow.php:106
-msgid "Contact added"
-msgstr "Contact toegevoegd"
+#: mod/community.php:32 include/nav.php:136 include/nav.php:138
+#: view/theme/diabook/theme.php:129
+msgid "Community"
+msgstr "Website"
 
-#: mod/group.php:29
-msgid "Group created."
-msgstr "Groep aangemaakt."
+#: mod/community.php:62 mod/community.php:71 mod/search.php:218
+msgid "No results."
+msgstr "Geen resultaten."
 
-#: mod/group.php:35
-msgid "Could not create group."
-msgstr "Kon de groep niet aanmaken."
+#: mod/settings.php:34 mod/photos.php:109
+msgid "everybody"
+msgstr "iedereen"
 
-#: mod/group.php:47 mod/group.php:140
-msgid "Group not found."
-msgstr "Groep niet gevonden."
+#: mod/settings.php:47
+msgid "Additional features"
+msgstr "Extra functies"
 
-#: mod/group.php:60
-msgid "Group name changed."
-msgstr "Groepsnaam gewijzigd."
+#: mod/settings.php:53
+msgid "Display"
+msgstr "Weergave"
 
-#: mod/group.php:72 mod/profperm.php:19 index.php:381
-msgid "Permission denied"
-msgstr "Toegang geweigerd"
+#: mod/settings.php:60 mod/settings.php:853
+msgid "Social Networks"
+msgstr "Sociale netwerken"
 
-#: mod/group.php:87
-msgid "Save Group"
+#: mod/settings.php:72 include/nav.php:180
+msgid "Delegations"
 msgstr ""
 
-#: mod/group.php:93
-msgid "Create a group of contacts/friends."
-msgstr "Maak een groep contacten/vrienden aan."
+#: mod/settings.php:78
+msgid "Connected apps"
+msgstr "Verbonden applicaties"
 
-#: mod/group.php:94 mod/group.php:178 include/group.php:273
-msgid "Group Name: "
-msgstr "Groepsnaam:"
+#: mod/settings.php:84 mod/uexport.php:85
+msgid "Export personal data"
+msgstr "Persoonlijke gegevens exporteren"
 
-#: mod/group.php:113
-msgid "Group removed."
-msgstr "Groep verwijderd."
+#: mod/settings.php:90
+msgid "Remove account"
+msgstr "Account verwijderen"
 
-#: mod/group.php:115
-msgid "Unable to remove group."
-msgstr "Niet in staat om groep te verwijderen."
+#: mod/settings.php:143
+msgid "Missing some important data!"
+msgstr "Een belangrijk gegeven ontbreekt!"
 
-#: mod/group.php:177
-msgid "Group Editor"
-msgstr "Groepsbewerker"
+#: mod/settings.php:256
+msgid "Failed to connect with email account using the settings provided."
+msgstr "Ik kon geen verbinding maken met het e-mail account met de gegeven instellingen."
 
-#: mod/group.php:190
-msgid "Members"
-msgstr "Leden"
+#: mod/settings.php:261
+msgid "Email settings updated."
+msgstr "E-mail instellingen bijgewerkt.."
 
-#: mod/group.php:222 mod/profperm.php:106
-msgid "Click on a contact to add or remove."
-msgstr "Klik op een contact om het toe te voegen of te verwijderen."
+#: mod/settings.php:276
+msgid "Features updated"
+msgstr "Functies bijgewerkt"
 
-#: mod/install.php:119
-msgid "Friendica Communications Server - Setup"
+#: mod/settings.php:341
+msgid "Relocate message has been send to your contacts"
 msgstr ""
 
-#: mod/install.php:125
-msgid "Could not connect to database."
-msgstr "Kon geen toegang krijgen tot de database."
+#: mod/settings.php:355 include/user.php:39
+msgid "Passwords do not match. Password unchanged."
+msgstr "Wachtwoorden komen niet overeen. Wachtwoord niet gewijzigd."
 
-#: mod/install.php:129
-msgid "Could not create table."
-msgstr "Kon tabel niet aanmaken."
+#: mod/settings.php:360
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Lege wachtwoorden zijn niet toegelaten. Wachtwoord niet gewijzigd."
 
-#: mod/install.php:135
-msgid "Your Friendica site database has been installed."
-msgstr "De database van je Friendica-website is geïnstalleerd."
+#: mod/settings.php:368
+msgid "Wrong password."
+msgstr "Verkeerd wachtwoord."
 
-#: mod/install.php:140
-msgid ""
-"You may need to import the file \"database.sql\" manually using phpmyadmin "
-"or mysql."
-msgstr "Het kan nodig zijn om het bestand \"database.sql\" manueel te importeren met phpmyadmin of mysql."
+#: mod/settings.php:379
+msgid "Password changed."
+msgstr "Wachtwoord gewijzigd."
 
-#: mod/install.php:141 mod/install.php:208 mod/install.php:530
-msgid "Please see the file \"INSTALL.txt\"."
-msgstr "Zie het bestand \"INSTALL.txt\"."
+#: mod/settings.php:381
+msgid "Password update failed. Please try again."
+msgstr "Wachtwoord-)wijziging mislukt. Probeer opnieuw."
 
-#: mod/install.php:153
-msgid "Database already in use."
-msgstr ""
+#: mod/settings.php:450
+msgid " Please use a shorter name."
+msgstr "Gebruik een kortere naam."
 
-#: mod/install.php:205
-msgid "System check"
-msgstr "Systeemcontrole"
+#: mod/settings.php:452
+msgid " Name too short."
+msgstr "Naam te kort."
 
-#: mod/install.php:210
-msgid "Check again"
-msgstr "Controleer opnieuw"
+#: mod/settings.php:461
+msgid "Wrong Password"
+msgstr "Verkeerd wachtwoord"
 
-#: mod/install.php:229
-msgid "Database connection"
-msgstr "Verbinding met database"
+#: mod/settings.php:466
+msgid " Not valid email."
+msgstr "Geen geldig e-mailadres."
 
-#: mod/install.php:230
-msgid ""
-"In order to install Friendica we need to know how to connect to your "
-"database."
-msgstr "Om Friendica te kunnen installeren moet ik weten hoe ik jouw database kan bereiken."
+#: mod/settings.php:472
+msgid " Cannot change to that email."
+msgstr "Kan niet veranderen naar die e-mail."
 
-#: mod/install.php:231
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Neem contact op met jouw hostingprovider of websitebeheerder, wanneer je vragen hebt over deze instellingen. "
+#: mod/settings.php:528
+msgid "Private forum has no privacy permissions. Using default privacy group."
+msgstr "Privéforum/-groep heeft geen privacyrechten. De standaard privacygroep wordt gebruikt."
 
-#: mod/install.php:232
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "De database die je hier opgeeft zou al moeten bestaan. Maak anders de database aan voordat je verder gaat."
+#: mod/settings.php:532
+msgid "Private forum has no privacy permissions and no default privacy group."
+msgstr "Privéforum/-groep heeft geen privacyrechten en geen standaard privacygroep."
 
-#: mod/install.php:236
-msgid "Database Server Name"
-msgstr "Servernaam database"
+#: mod/settings.php:571
+msgid "Settings updated."
+msgstr "Instellingen bijgewerkt."
 
-#: mod/install.php:237
-msgid "Database Login Name"
-msgstr "Gebruikersnaam database"
+#: mod/settings.php:647 mod/settings.php:673 mod/settings.php:709
+msgid "Add application"
+msgstr "Toepassing toevoegen"
 
-#: mod/install.php:238
-msgid "Database Login Password"
-msgstr "Wachtwoord database"
+#: mod/settings.php:651 mod/settings.php:677
+msgid "Consumer Key"
+msgstr "Gebruikerssleutel"
 
-#: mod/install.php:239
-msgid "Database Name"
-msgstr "Naam database"
+#: mod/settings.php:652 mod/settings.php:678
+msgid "Consumer Secret"
+msgstr "Gebruikersgeheim"
 
-#: mod/install.php:240 mod/install.php:279
-msgid "Site administrator email address"
-msgstr "E-mailadres van de websitebeheerder"
+#: mod/settings.php:653 mod/settings.php:679
+msgid "Redirect"
+msgstr "Doorverwijzing"
 
-#: mod/install.php:240 mod/install.php:279
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "Het e-mailadres van je account moet hiermee overeenkomen om het administratiepaneel te kunnen gebruiken."
+#: mod/settings.php:654 mod/settings.php:680
+msgid "Icon url"
+msgstr "URL pictogram"
 
-#: mod/install.php:244 mod/install.php:282
-msgid "Please select a default timezone for your website"
-msgstr "Selecteer een standaard tijdzone voor uw website"
+#: mod/settings.php:665
+msgid "You can't edit this application."
+msgstr "Je kunt deze toepassing niet wijzigen."
 
-#: mod/install.php:269
-msgid "Site settings"
-msgstr "Website-instellingen"
+#: mod/settings.php:708
+msgid "Connected Apps"
+msgstr "Verbonden applicaties"
 
-#: mod/install.php:323
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Kan geen command-line-versie van PHP vinden in het PATH van de webserver."
+#: mod/settings.php:712
+msgid "Client key starts with"
+msgstr ""
 
-#: mod/install.php:324
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron. See <a "
-"href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"
-msgstr "Als je geen command-line versie van PHP geïnstalleerd hebt op je server, kun je geen polling op de achtergrond gebruiken via cron. Zie  <a href='http://friendica.com/node/27'>'Activeren van geplande taken'</a>"
+#: mod/settings.php:713
+msgid "No name"
+msgstr "Geen naam"
 
-#: mod/install.php:328
-msgid "PHP executable path"
-msgstr "PATH van het PHP commando"
+#: mod/settings.php:714
+msgid "Remove authorization"
+msgstr "Verwijder authorisatie"
 
-#: mod/install.php:328
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Vul het volledige path in naar het php programma. Je kunt dit blanco laten om de installatie verder te zetten."
+#: mod/settings.php:726
+msgid "No Plugin settings configured"
+msgstr ""
 
-#: mod/install.php:333
-msgid "Command line PHP"
-msgstr "PHP-opdrachtregel"
+#: mod/settings.php:734
+msgid "Plugin Settings"
+msgstr "Plugin Instellingen"
+
+#: mod/settings.php:748
+msgid "Off"
+msgstr "Uit"
+
+#: mod/settings.php:748
+msgid "On"
+msgstr "Aan"
+
+#: mod/settings.php:756
+msgid "Additional Features"
+msgstr "Extra functies"
 
-#: mod/install.php:342
-msgid "PHP executable is not the php cli binary (could be cgi-fgci version)"
+#: mod/settings.php:766 mod/settings.php:770
+msgid "General Social Media Settings"
 msgstr ""
 
-#: mod/install.php:343
-msgid "Found PHP version: "
-msgstr "Gevonden PHP versie:"
-
-#: mod/install.php:345
-msgid "PHP cli binary"
+#: mod/settings.php:776
+msgid "Disable intelligent shortening"
 msgstr ""
 
-#: mod/install.php:356
+#: mod/settings.php:778
 msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "De command-line versie van PHP op jouw systeem heeft \"register_argc_argv\" niet geactiveerd."
-
-#: mod/install.php:357
-msgid "This is required for message delivery to work."
-msgstr "Dit is nodig om het verzenden van berichten mogelijk te maken."
+"Normally the system tries to find the best link to add to shortened posts. "
+"If this option is enabled then every shortened post will always point to the"
+" original friendica post."
+msgstr ""
 
-#: mod/install.php:359
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
+#: mod/settings.php:784
+msgid "Automatically follow any GNU Social (OStatus) followers/mentioners"
+msgstr ""
 
-#: mod/install.php:380
+#: mod/settings.php:786
 msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
+"If you receive a message from an unknown OStatus user, this option decides "
+"what to do. If it is checked, a new contact will be created for every "
+"unknown user."
+msgstr ""
+
+#: mod/settings.php:795
+msgid "Your legacy GNU Social account"
 msgstr ""
 
-#: mod/install.php:381
+#: mod/settings.php:797
 msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Zie \"http://www.php.net/manual/en/openssl.installation.php\" wanneer u Friendica onder Windows draait."
+"If you enter your old GNU Social/Statusnet account name here (in the format "
+"user@domain.tld), your contacts will be added automatically. The field will "
+"be emptied when done."
+msgstr ""
 
-#: mod/install.php:383
-msgid "Generate encryption keys"
+#: mod/settings.php:800
+msgid "Repair OStatus subscriptions"
 msgstr ""
 
-#: mod/install.php:390
-msgid "libCurl PHP module"
-msgstr "libCurl PHP module"
+#: mod/settings.php:809 mod/settings.php:810
+#, php-format
+msgid "Built-in support for %s connectivity is %s"
+msgstr "Ingebouwde ondersteuning voor connectiviteit met %s is %s"
 
-#: mod/install.php:391
-msgid "GD graphics PHP module"
-msgstr "GD graphics PHP module"
+#: mod/settings.php:809 mod/dfrn_request.php:856
+#: include/contact_selectors.php:80
+msgid "Diaspora"
+msgstr "Diaspora"
 
-#: mod/install.php:392
-msgid "OpenSSL PHP module"
-msgstr "OpenSSL PHP module"
+#: mod/settings.php:809 mod/settings.php:810
+msgid "enabled"
+msgstr "ingeschakeld"
 
-#: mod/install.php:393
-msgid "mysqli PHP module"
-msgstr "mysqli PHP module"
+#: mod/settings.php:809 mod/settings.php:810
+msgid "disabled"
+msgstr "uitgeschakeld"
 
-#: mod/install.php:394
-msgid "mb_string PHP module"
-msgstr "mb_string PHP module"
+#: mod/settings.php:810
+msgid "GNU Social (OStatus)"
+msgstr ""
 
-#: mod/install.php:399 mod/install.php:401
-msgid "Apache mod_rewrite module"
-msgstr "Apache mod_rewrite module"
+#: mod/settings.php:846
+msgid "Email access is disabled on this site."
+msgstr "E-mailtoegang is op deze website uitgeschakeld."
+
+#: mod/settings.php:858
+msgid "Email/Mailbox Setup"
+msgstr "E-mail Instellen"
 
-#: mod/install.php:399
+#: mod/settings.php:859
 msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Fout: Apache-module mod-rewrite is vereist, maar niet geïnstalleerd."
+"If you wish to communicate with email contacts using this service "
+"(optional), please specify how to connect to your mailbox."
+msgstr "Als je wilt communiceren met e-mail contacten via deze dienst (optioneel), moet je hier opgeven hoe ik jouw mailbox kan bereiken."
 
-#: mod/install.php:407
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Fout: PHP-module libCURL is vereist, maar niet geïnstalleerd."
+#: mod/settings.php:860
+msgid "Last successful email check:"
+msgstr "Laatste succesvolle e-mail controle:"
 
-#: mod/install.php:411
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Fout: PHP-module GD graphics met JPEG support is vereist, maar niet geïnstalleerd."
+#: mod/settings.php:862
+msgid "IMAP server name:"
+msgstr "IMAP server naam:"
 
-#: mod/install.php:415
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Fout: PHP-module openssl is vereist, maar niet geïnstalleerd."
+#: mod/settings.php:863
+msgid "IMAP port:"
+msgstr "IMAP poort:"
 
-#: mod/install.php:419
-msgid "Error: mysqli PHP module required but not installed."
-msgstr "Fout: PHP-module mysqli is vereist, maar niet geïnstalleerd."
+#: mod/settings.php:864
+msgid "Security:"
+msgstr "Beveiliging:"
 
-#: mod/install.php:423
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Fout: PHP-module mb_string is vereist, maar niet geïnstalleerd."
+#: mod/settings.php:864 mod/settings.php:869
+msgid "None"
+msgstr "Geen"
 
-#: mod/install.php:440
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "Het installatieprogramma moet een bestand \".htconfig.php\" in de bovenste map van je webserver aanmaken, maar kan dit niet doen."
+#: mod/settings.php:865
+msgid "Email login name:"
+msgstr "E-mail login naam:"
 
-#: mod/install.php:441
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Dit is meestal een permissieprobleem, omdat de webserver niet in staat is om in deze map bestanden weg te schrijven - ook al kun je dit zelf wel."
+#: mod/settings.php:866
+msgid "Email password:"
+msgstr "E-mail wachtwoord:"
 
-#: mod/install.php:442
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Friendica top folder."
-msgstr "Op het einde van deze procedure zal ik je een tekst geven om te bewaren in een bestand .htconfig.php in je hoogste Friendica map."
+#: mod/settings.php:867
+msgid "Reply-to address:"
+msgstr "Antwoord adres:"
 
-#: mod/install.php:443
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"INSTALL.txt\" for instructions."
-msgstr "Je kunt ook deze procedure overslaan, en een manuele installatie uitvoeren. Lees het bestand \"INSTALL.txt\" voor instructies."
+#: mod/settings.php:868
+msgid "Send public posts to all email contacts:"
+msgstr "Openbare posts naar alle e-mail contacten versturen:"
 
-#: mod/install.php:446
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php is schrijfbaar"
+#: mod/settings.php:869
+msgid "Action after import:"
+msgstr "Actie na importeren:"
 
-#: mod/install.php:456
-msgid ""
-"Friendica uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Friendica gebruikt het Smarty3 sjabloon systeem om zijn webpagina's weer te geven. Smarty3 compileert sjablonen naar PHP om de weergave te versnellen."
+#: mod/settings.php:869
+msgid "Mark as seen"
+msgstr "Als 'gelezen' markeren"
 
-#: mod/install.php:457
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory view/smarty3/ under the Friendica top level "
-"folder."
-msgstr "Om deze gecompileerde sjablonen op te slaan moet de webserver schrijftoegang hebben tot de folder view/smarty3, t.o.v. van de hoogste folder van je Friendica-installatie."
+#: mod/settings.php:869
+msgid "Move to folder"
+msgstr "Naar map verplaatsen"
 
-#: mod/install.php:458
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Zorg ervoor dat de gebruiker waaronder je webserver runt (bijv. www-data) schrijf-toegang heeft tot deze map."
+#: mod/settings.php:870
+msgid "Move to folder:"
+msgstr "Verplaatsen naar map:"
 
-#: mod/install.php:459
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"view/smarty3/ only--not the template files (.tpl) that it contains."
-msgstr "Opmerking: voor een goede beveiliging zou je de webserver alleen schrijf-toegang moeten geven voor de map view/smarty3 -- niet voor de template bestanden (.tpl) die in die map zitten."
+#: mod/settings.php:955
+msgid "Display Settings"
+msgstr "Scherminstellingen"
 
-#: mod/install.php:462
-msgid "view/smarty3 is writable"
-msgstr "view/smarty3 is schrijfbaar"
+#: mod/settings.php:961 mod/settings.php:979
+msgid "Display Theme:"
+msgstr "Schermthema:"
 
-#: mod/install.php:478
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
-msgstr ""
+#: mod/settings.php:962
+msgid "Mobile Theme:"
+msgstr "Mobiel thema:"
 
-#: mod/install.php:480
-msgid "Url rewrite is working"
-msgstr ""
+#: mod/settings.php:963
+msgid "Update browser every xx seconds"
+msgstr "Browser elke xx seconden verversen"
 
-#: mod/install.php:489
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "Het databaseconfiguratiebestand \".htconfig.php\" kon niet worden weggeschreven. Je kunt de bijgevoegde tekst gebruiken om in een configuratiebestand aan te maken in de hoogste map van je webserver."
+#: mod/settings.php:963
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimum 10 seconden, geen maximum"
 
-#: mod/install.php:528
-msgid "<h1>What next</h1>"
-msgstr "<h1>Wat nu</h1>"
+#: mod/settings.php:964
+msgid "Number of items to display per page:"
+msgstr "Aantal items te tonen per pagina:"
 
-#: mod/install.php:529
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "BELANGRIJK: Je zult [manueel] een geplande taak moeten aanmaken voor de poller."
+#: mod/settings.php:964 mod/settings.php:965
+msgid "Maximum of 100 items"
+msgstr "Maximum 100 items"
 
-#: mod/item.php:115
-msgid "Unable to locate original post."
-msgstr "Ik kan de originele post niet meer vinden."
+#: mod/settings.php:965
+msgid "Number of items to display per page when viewed from mobile device:"
+msgstr "Aantal items per pagina als je een mobiel toestel gebruikt:"
 
-#: mod/item.php:347
-msgid "Empty post discarded."
-msgstr "Lege post weggegooid."
+#: mod/settings.php:966
+msgid "Don't show emoticons"
+msgstr "Emoticons niet tonen"
 
-#: mod/item.php:486 mod/wall_upload.php:169 mod/wall_upload.php:178
-#: mod/wall_upload.php:185 include/message.php:144 include/Photo.php:951
-#: include/Photo.php:966 include/Photo.php:973 include/Photo.php:995
-msgid "Wall Photos"
+#: mod/settings.php:967
+msgid "Calendar"
 msgstr ""
 
-#: mod/item.php:860
-msgid "System error. Post not saved."
-msgstr "Systeemfout. Post niet bewaard."
+#: mod/settings.php:968
+msgid "Beginning of week:"
+msgstr ""
 
-#: mod/item.php:989
-#, php-format
-msgid ""
-"This message was sent to you by %s, a member of the Friendica social "
-"network."
-msgstr "Dit bericht werd naar jou gestuurd door %s, een lid van het Friendica sociale netwerk."
+#: mod/settings.php:969
+msgid "Don't show notices"
+msgstr ""
 
-#: mod/item.php:991
-#, php-format
-msgid "You may visit them online at %s"
-msgstr "Je kunt ze online bezoeken op %s"
+#: mod/settings.php:970
+msgid "Infinite scroll"
+msgstr "Oneindig scrollen"
 
-#: mod/item.php:992
-msgid ""
-"Please contact the sender by replying to this post if you do not wish to "
-"receive these messages."
-msgstr "Contacteer de afzender door op dit bericht te antwoorden als je deze berichten niet wilt ontvangen."
+#: mod/settings.php:971
+msgid "Automatic updates only at the top of the network page"
+msgstr ""
 
-#: mod/item.php:996
-#, php-format
-msgid "%s posted an update."
-msgstr "%s heeft een wijziging geplaatst."
+#: mod/settings.php:973 view/theme/cleanzero/config.php:82
+#: view/theme/dispy/config.php:72 view/theme/quattro/config.php:66
+#: view/theme/diabook/config.php:150 view/theme/vier/config.php:109
+#: view/theme/duepuntozero/config.php:61
+msgid "Theme settings"
+msgstr "Thema-instellingen"
 
-#: mod/match.php:13
-msgid "Profile Match"
-msgstr "Profielmatch"
+#: mod/settings.php:1050
+msgid "User Types"
+msgstr "Gebruikerstypes"
 
-#: mod/match.php:22
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Geen sleutelwoorden om te zoeken. Voeg sleutelwoorden toe aan je standaard profiel."
+#: mod/settings.php:1051
+msgid "Community Types"
+msgstr "Forum/groepstypes"
 
-#: mod/match.php:64
-msgid "is interested in:"
-msgstr "Is geïnteresseerd in:"
+#: mod/settings.php:1052
+msgid "Normal Account Page"
+msgstr "Normale accountpagina"
 
-#: mod/match.php:65 mod/suggest.php:92 include/contact_widgets.php:10
-#: include/identity.php:188
-msgid "Connect"
-msgstr "Verbinden"
+#: mod/settings.php:1053
+msgid "This account is a normal personal profile"
+msgstr "Deze account is een normaal persoonlijk profiel"
 
-#: mod/network.php:143
-#, php-format
-msgid "Search Results For: %s"
-msgstr ""
+#: mod/settings.php:1056
+msgid "Soapbox Page"
+msgstr "Zeepkist-pagina"
+
+#: mod/settings.php:1057
+msgid "Automatically approve all connection/friend requests as read-only fans"
+msgstr "Keur automatisch alle vriendschaps-/connectieverzoeken goed als fans met alleen recht tot lezen."
+
+#: mod/settings.php:1060
+msgid "Community Forum/Celebrity Account"
+msgstr "Forum/groeps- of beroemdheid-account"
+
+#: mod/settings.php:1061
+msgid ""
+"Automatically approve all connection/friend requests as read-write fans"
+msgstr "Keur automatisch alle vriendschaps-/connectieverzoeken goed als fans met recht tot lezen en schrijven."
+
+#: mod/settings.php:1064
+msgid "Automatic Friend Page"
+msgstr "Automatisch Vriendschapspagina"
+
+#: mod/settings.php:1065
+msgid "Automatically approve all connection/friend requests as friends"
+msgstr "Keur automatisch alle vriendschaps-/connectieverzoeken goed als vrienden."
 
-#: mod/network.php:197 include/group.php:277
-msgid "add"
-msgstr "toevoegen"
+#: mod/settings.php:1068
+msgid "Private Forum [Experimental]"
+msgstr "Privé-forum [experimenteel]"
 
-#: mod/network.php:358
-msgid "Commented Order"
-msgstr "Nieuwe reacties bovenaan"
+#: mod/settings.php:1069
+msgid "Private forum - approved members only"
+msgstr "Privé-forum - enkel voor goedgekeurde leden"
 
-#: mod/network.php:361
-msgid "Sort by Comment Date"
-msgstr "Berichten met nieuwe reacties bovenaan"
+#: mod/settings.php:1081
+msgid "OpenID:"
+msgstr "OpenID:"
 
-#: mod/network.php:364
-msgid "Posted Order"
-msgstr "Nieuwe berichten bovenaan"
+#: mod/settings.php:1081
+msgid "(Optional) Allow this OpenID to login to this account."
+msgstr "(Optioneel) Laat dit OpenID toe om in te loggen op deze account."
 
-#: mod/network.php:367
-msgid "Sort by Post Date"
-msgstr "Nieuwe berichten bovenaan"
+#: mod/settings.php:1091
+msgid "Publish your default profile in your local site directory?"
+msgstr "Je standaardprofiel in je lokale gids publiceren?"
 
-#: mod/network.php:376
-msgid "Posts that mention or involve you"
-msgstr "Alleen berichten die jou vermelden of op jou betrekking hebben"
+#: mod/settings.php:1097
+msgid "Publish your default profile in the global social directory?"
+msgstr "Je standaardprofiel in de globale sociale gids publiceren?"
 
-#: mod/network.php:382
-msgid "New"
-msgstr "Nieuw"
+#: mod/settings.php:1105
+msgid "Hide your contact/friend list from viewers of your default profile?"
+msgstr "Je vrienden/contacten verbergen voor bezoekers van je standaard profiel?"
 
-#: mod/network.php:385
-msgid "Activity Stream - by date"
-msgstr "Activiteitenstroom - volgens datum"
+#: mod/settings.php:1109 include/acl_selectors.php:330
+msgid "Hide your profile details from unknown viewers?"
+msgstr "Je profieldetails verbergen voor onbekende bezoekers?"
 
-#: mod/network.php:391
-msgid "Shared Links"
-msgstr "Gedeelde links"
+#: mod/settings.php:1109
+msgid ""
+"If enabled, posting public messages to Diaspora and other networks isn't "
+"possible."
+msgstr ""
 
-#: mod/network.php:394
-msgid "Interesting Links"
-msgstr "Interessante links"
+#: mod/settings.php:1114
+msgid "Allow friends to post to your profile page?"
+msgstr "Vrienden toestaan om op jou profielpagina te posten?"
 
-#: mod/network.php:400
-msgid "Starred"
-msgstr "Met ster"
+#: mod/settings.php:1120
+msgid "Allow friends to tag your posts?"
+msgstr "Sta vrienden toe om jouw berichten te labelen?"
 
-#: mod/network.php:403
-msgid "Favourite Posts"
-msgstr "Favoriete berichten"
+#: mod/settings.php:1126
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr "Sta je mij toe om jou als mogelijke vriend  voor te stellen aan nieuwe leden?"
 
-#: mod/network.php:460
-#, php-format
-msgid "Warning: This group contains %s member from an insecure network."
-msgid_plural ""
-"Warning: This group contains %s members from an insecure network."
-msgstr[0] "Waarschuwing: Deze groep bevat %s lid van een onveilig netwerk."
-msgstr[1] "Waarschuwing: Deze groep bevat %s leden van een onveilig netwerk."
+#: mod/settings.php:1132
+msgid "Permit unknown people to send you private mail?"
+msgstr "Mogen onbekende personen jou privé berichten sturen?"
 
-#: mod/network.php:463
-msgid "Private messages to this group are at risk of public disclosure."
-msgstr "Privéberichten naar deze groep kunnen openbaar gemaakt worden."
+#: mod/settings.php:1140
+msgid "Profile is <strong>not published</strong>."
+msgstr "Profiel is <strong>niet gepubliceerd</strong>."
 
-#: mod/network.php:572
+#: mod/settings.php:1148
 #, php-format
-msgid "Contact: %s"
+msgid "Your Identity Address is <strong>'%s'</strong> or '%s'."
 msgstr ""
 
-#: mod/network.php:576
-msgid "Private messages to this person are at risk of public disclosure."
-msgstr "Privéberichten naar deze persoon kunnen openbaar gemaakt worden."
+#: mod/settings.php:1155
+msgid "Automatically expire posts after this many days:"
+msgstr "Laat berichten automatisch vervallen na zo veel dagen:"
 
-#: mod/network.php:581
-msgid "Invalid contact."
-msgstr "Ongeldig contact."
+#: mod/settings.php:1155
+msgid "If empty, posts will not expire. Expired posts will be deleted"
+msgstr "Berichten zullen niet vervallen indien leeg. Vervallen berichten zullen worden verwijderd."
 
-#: mod/notes.php:44 include/identity.php:670
-msgid "Personal Notes"
-msgstr "Persoonlijke Nota's"
+#: mod/settings.php:1156
+msgid "Advanced expiration settings"
+msgstr "Geavanceerde instellingen voor vervallen"
 
-#: mod/p.php:9
-msgid "Not Extended"
-msgstr ""
+#: mod/settings.php:1157
+msgid "Advanced Expiration"
+msgstr "Geavanceerd Verval:"
 
-#: mod/photos.php:84 include/identity.php:649
-msgid "Photo Albums"
-msgstr "Fotoalbums"
+#: mod/settings.php:1158
+msgid "Expire posts:"
+msgstr "Laat berichten vervallen:"
 
-#: mod/photos.php:85 mod/photos.php:1836
-msgid "Recent Photos"
-msgstr "Recente foto's"
+#: mod/settings.php:1159
+msgid "Expire personal notes:"
+msgstr "Laat persoonlijke aantekeningen verlopen:"
 
-#: mod/photos.php:88 mod/photos.php:1282 mod/photos.php:1838
-msgid "Upload New Photos"
-msgstr "Nieuwe foto's uploaden"
+#: mod/settings.php:1160
+msgid "Expire starred posts:"
+msgstr "Laat berichten met ster verlopen"
 
-#: mod/photos.php:102 mod/settings.php:34
-msgid "everybody"
-msgstr "iedereen"
+#: mod/settings.php:1161
+msgid "Expire photos:"
+msgstr "Laat foto's vervallen:"
 
-#: mod/photos.php:166
-msgid "Contact information unavailable"
-msgstr "Contactinformatie niet beschikbaar"
+#: mod/settings.php:1162
+msgid "Only expire posts by others:"
+msgstr "Laat alleen berichten door anderen vervallen:"
 
-#: mod/photos.php:187
-msgid "Album not found."
-msgstr "Album niet gevonden"
+#: mod/settings.php:1190
+msgid "Account Settings"
+msgstr "Account Instellingen"
 
-#: mod/photos.php:210 mod/photos.php:222 mod/photos.php:1224
-msgid "Delete Album"
-msgstr "Verwijder album"
+#: mod/settings.php:1198
+msgid "Password Settings"
+msgstr "Wachtwoord Instellingen"
 
-#: mod/photos.php:220
-msgid "Do you really want to delete this photo album and all its photos?"
-msgstr "Wil je echt dit fotoalbum en alle foto's erin verwijderen?"
+#: mod/settings.php:1199 mod/register.php:271
+msgid "New Password:"
+msgstr "Nieuw Wachtwoord:"
 
-#: mod/photos.php:300 mod/photos.php:311 mod/photos.php:1534
-msgid "Delete Photo"
-msgstr "Verwijder foto"
+#: mod/settings.php:1200 mod/register.php:272
+msgid "Confirm:"
+msgstr "Bevestig:"
 
-#: mod/photos.php:309
-msgid "Do you really want to delete this photo?"
-msgstr "Wil je echt deze foto verwijderen?"
+#: mod/settings.php:1200
+msgid "Leave password fields blank unless changing"
+msgstr "Laat de wachtwoord-velden leeg, tenzij je het wilt veranderen"
 
-#: mod/photos.php:684
-#, php-format
-msgid "%1$s was tagged in %2$s by %3$s"
-msgstr "%1$s is gelabeld in %2$s door %3$s"
+#: mod/settings.php:1201
+msgid "Current Password:"
+msgstr "Huidig wachtwoord:"
 
-#: mod/photos.php:684
-msgid "a photo"
-msgstr "een foto"
+#: mod/settings.php:1201 mod/settings.php:1202
+msgid "Your current password to confirm the changes"
+msgstr "Je huidig wachtwoord om de wijzigingen te bevestigen"
 
-#: mod/photos.php:789 mod/profile_photo.php:144 mod/wall_upload.php:122
-#, php-format
-msgid "Image exceeds size limit of %s"
-msgstr ""
+#: mod/settings.php:1202
+msgid "Password:"
+msgstr "Wachtwoord:"
 
-#: mod/photos.php:797
-msgid "Image file is empty."
-msgstr "Afbeeldingsbestand is leeg."
+#: mod/settings.php:1206
+msgid "Basic Settings"
+msgstr "Basis Instellingen"
 
-#: mod/photos.php:829 mod/profile_photo.php:153 mod/wall_upload.php:144
-msgid "Unable to process image."
-msgstr "Niet in staat om de afbeelding te verwerken"
+#: mod/settings.php:1207 include/identity.php:539
+msgid "Full Name:"
+msgstr "Volledige Naam:"
 
-#: mod/photos.php:856 mod/profile_photo.php:301 mod/wall_upload.php:172
-msgid "Image upload failed."
-msgstr "Uploaden van afbeelding mislukt."
+#: mod/settings.php:1208
+msgid "Email Address:"
+msgstr "E-mailadres:"
 
-#: mod/photos.php:952
-msgid "No photos selected"
-msgstr "Geen foto's geselecteerd"
+#: mod/settings.php:1209
+msgid "Your Timezone:"
+msgstr "Je Tijdzone:"
 
-#: mod/photos.php:1053 mod/videos.php:298
-msgid "Access to this item is restricted."
-msgstr "Toegang tot dit item is beperkt."
+#: mod/settings.php:1210
+msgid "Your Language:"
+msgstr ""
 
-#: mod/photos.php:1114
-#, php-format
-msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
-msgstr "Je hebt %1$.2f Mbytes van %2$.2f Mbytes foto-opslagruimte gebruikt."
+#: mod/settings.php:1210
+msgid ""
+"Set the language we use to show you friendica interface and to send you "
+"emails"
+msgstr ""
 
-#: mod/photos.php:1149
-msgid "Upload Photos"
-msgstr "Upload foto's"
+#: mod/settings.php:1211
+msgid "Default Post Location:"
+msgstr "Standaard locatie:"
 
-#: mod/photos.php:1153 mod/photos.php:1219
-msgid "New album name: "
-msgstr "Nieuwe albumnaam: "
+#: mod/settings.php:1212
+msgid "Use Browser Location:"
+msgstr "Gebruik Webbrowser Locatie:"
 
-#: mod/photos.php:1154
-msgid "or existing album name: "
-msgstr "of bestaande albumnaam: "
+#: mod/settings.php:1215
+msgid "Security and Privacy Settings"
+msgstr "Instellingen voor Beveiliging en Privacy"
 
-#: mod/photos.php:1155
-msgid "Do not show a status post for this upload"
-msgstr "Toon geen bericht op je tijdlijn van deze upload"
+#: mod/settings.php:1217
+msgid "Maximum Friend Requests/Day:"
+msgstr "Maximum aantal vriendschapsverzoeken per dag:"
 
-#: mod/photos.php:1157 mod/photos.php:1529 include/acl_selectors.php:346
-msgid "Permissions"
-msgstr "Rechten"
+#: mod/settings.php:1217 mod/settings.php:1247
+msgid "(to prevent spam abuse)"
+msgstr "(om spam misbruik te voorkomen)"
+
+#: mod/settings.php:1218
+msgid "Default Post Permissions"
+msgstr "Standaard rechten voor nieuwe berichten"
+
+#: mod/settings.php:1219
+msgid "(click to open/close)"
+msgstr "(klik om te openen/sluiten)"
 
-#: mod/photos.php:1166 mod/photos.php:1538 mod/settings.php:1172
+#: mod/settings.php:1228 mod/photos.php:1191 mod/photos.php:1576
 msgid "Show to Groups"
 msgstr "Tonen aan groepen"
 
-#: mod/photos.php:1167 mod/photos.php:1539 mod/settings.php:1173
+#: mod/settings.php:1229 mod/photos.php:1192 mod/photos.php:1577
 msgid "Show to Contacts"
 msgstr "Tonen aan contacten"
 
-#: mod/photos.php:1168
-msgid "Private Photo"
-msgstr "Privé foto"
+#: mod/settings.php:1230
+msgid "Default Private Post"
+msgstr "Standaard Privé Post"
 
-#: mod/photos.php:1169
-msgid "Public Photo"
-msgstr "Publieke foto"
+#: mod/settings.php:1231
+msgid "Default Public Post"
+msgstr "Standaard Publieke Post"
 
-#: mod/photos.php:1232
-msgid "Edit Album"
-msgstr "Album wijzigen"
+#: mod/settings.php:1235
+msgid "Default Permissions for New Posts"
+msgstr "Standaard rechten voor nieuwe berichten"
 
-#: mod/photos.php:1238
-msgid "Show Newest First"
-msgstr "Toon niewste eerst"
+#: mod/settings.php:1247
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Maximum aantal privé-berichten per dag van onbekende personen:"
 
-#: mod/photos.php:1240
-msgid "Show Oldest First"
-msgstr "Toon oudste eerst"
+#: mod/settings.php:1250
+msgid "Notification Settings"
+msgstr "Notificatie Instellingen"
 
-#: mod/photos.php:1268 mod/photos.php:1821
-msgid "View Photo"
-msgstr "Bekijk foto"
+#: mod/settings.php:1251
+msgid "By default post a status message when:"
+msgstr "Post automatisch een bericht op je tijdlijn wanneer:"
 
-#: mod/photos.php:1314
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Toegang geweigerd. Toegang tot dit item is mogelijk beperkt."
+#: mod/settings.php:1252
+msgid "accepting a friend request"
+msgstr "Een vriendschapsverzoek accepteren"
 
-#: mod/photos.php:1316
-msgid "Photo not available"
-msgstr "Foto is niet beschikbaar"
+#: mod/settings.php:1253
+msgid "joining a forum/community"
+msgstr "Lid worden van een groep/forum"
 
-#: mod/photos.php:1372
-msgid "View photo"
-msgstr "Bekijk foto"
+#: mod/settings.php:1254
+msgid "making an <em>interesting</em> profile change"
+msgstr "Een <em>interessante</em> verandering aan je profiel"
 
-#: mod/photos.php:1372
-msgid "Edit photo"
-msgstr "Bewerk foto"
+#: mod/settings.php:1255
+msgid "Send a notification email when:"
+msgstr "Stuur een notificatie e-mail wanneer:"
 
-#: mod/photos.php:1373
-msgid "Use as profile photo"
-msgstr "Gebruik als profielfoto"
+#: mod/settings.php:1256
+msgid "You receive an introduction"
+msgstr "Je ontvangt een vriendschaps- of connectieverzoek"
+
+#: mod/settings.php:1257
+msgid "Your introductions are confirmed"
+msgstr "Jouw vriendschaps- of connectieverzoeken zijn bevestigd"
+
+#: mod/settings.php:1258
+msgid "Someone writes on your profile wall"
+msgstr "Iemand iets op je tijdlijn schrijft"
+
+#: mod/settings.php:1259
+msgid "Someone writes a followup comment"
+msgstr "Iemand een reactie schrijft"
+
+#: mod/settings.php:1260
+msgid "You receive a private message"
+msgstr "Je een privé-bericht ontvangt"
 
-#: mod/photos.php:1398
-msgid "View Full Size"
-msgstr "Bekijk in volledig formaat"
+#: mod/settings.php:1261
+msgid "You receive a friend suggestion"
+msgstr "Je een suggestie voor een vriendschap ontvangt"
 
-#: mod/photos.php:1477
-msgid "Tags: "
-msgstr "Labels: "
+#: mod/settings.php:1262
+msgid "You are tagged in a post"
+msgstr "Je expliciet in een bericht bent genoemd"
 
-#: mod/photos.php:1480
-msgid "[Remove any tag]"
-msgstr "[Alle labels verwijderen]"
+#: mod/settings.php:1263
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Je in een bericht bent aangestoten/gepord/etc."
 
-#: mod/photos.php:1520
-msgid "New album name"
-msgstr "Nieuwe albumnaam"
+#: mod/settings.php:1265
+msgid "Activate desktop notifications"
+msgstr ""
 
-#: mod/photos.php:1521
-msgid "Caption"
-msgstr "Onderschrift"
+#: mod/settings.php:1265
+msgid "Show desktop popup on new notifications"
+msgstr ""
 
-#: mod/photos.php:1522
-msgid "Add a Tag"
-msgstr "Een label toevoegen"
+#: mod/settings.php:1267
+msgid "Text-only notification emails"
+msgstr ""
 
-#: mod/photos.php:1522
-msgid ""
-"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-msgstr "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl, #Ardennen, #camping "
+#: mod/settings.php:1269
+msgid "Send text only notification emails, without the html part"
+msgstr ""
 
-#: mod/photos.php:1523
-msgid "Do not rotate"
+#: mod/settings.php:1271
+msgid "Advanced Account/Page Type Settings"
 msgstr ""
 
-#: mod/photos.php:1524
-msgid "Rotate CW (right)"
-msgstr "Roteren met de klok mee (rechts)"
+#: mod/settings.php:1272
+msgid "Change the behaviour of this account for special situations"
+msgstr ""
 
-#: mod/photos.php:1525
-msgid "Rotate CCW (left)"
-msgstr "Roteren tegen de klok in (links)"
+#: mod/settings.php:1275
+msgid "Relocate"
+msgstr ""
 
-#: mod/photos.php:1540
-msgid "Private photo"
-msgstr "Privé foto"
+#: mod/settings.php:1276
+msgid ""
+"If you have moved this profile from another server, and some of your "
+"contacts don't receive your updates, try pushing this button."
+msgstr ""
 
-#: mod/photos.php:1541
-msgid "Public photo"
-msgstr "Publieke foto"
+#: mod/settings.php:1277
+msgid "Resend relocate message to contacts"
+msgstr ""
 
-#: mod/photos.php:1563 include/conversation.php:1055
-msgid "Share"
-msgstr "Delen"
+#: mod/dfrn_request.php:95
+msgid "This introduction has already been accepted."
+msgstr "Verzoek is al goedgekeurd"
 
-#: mod/photos.php:1827 mod/videos.php:380
-msgid "View Album"
-msgstr "Album bekijken"
+#: mod/dfrn_request.php:120 mod/dfrn_request.php:518
+msgid "Profile location is not valid or does not contain profile information."
+msgstr "Profiel is ongeldig of bevat geen informatie"
 
-#: mod/ping.php:233
-msgid "{0} wants to be your friend"
-msgstr "{0} wilt je vriend worden"
+#: mod/dfrn_request.php:125 mod/dfrn_request.php:523
+msgid "Warning: profile location has no identifiable owner name."
+msgstr "Waarschuwing: de profiellocatie heeft geen identificeerbare eigenaar."
 
-#: mod/ping.php:248
-msgid "{0} sent you a message"
-msgstr "{0} stuurde jou een bericht"
+#: mod/dfrn_request.php:127 mod/dfrn_request.php:525
+msgid "Warning: profile location has no profile photo."
+msgstr "Waarschuwing: Profieladres heeft geen profielfoto."
 
-#: mod/ping.php:263
-msgid "{0} requested registration"
-msgstr "{0} vroeg om zich te registreren"
+#: mod/dfrn_request.php:130 mod/dfrn_request.php:528
+#, php-format
+msgid "%d required parameter was not found at the given location"
+msgid_plural "%d required parameters were not found at the given location"
+msgstr[0] "De %d vereiste parameter is niet op het gegeven adres gevonden"
+msgstr[1] "De %d vereiste parameters zijn niet op het gegeven adres gevonden"
 
-#: mod/profile.php:21 include/identity.php:77
-msgid "Requested profile is not available."
-msgstr "Gevraagde profiel is niet beschikbaar."
+#: mod/dfrn_request.php:172
+msgid "Introduction complete."
+msgstr "Verzoek voltooid."
 
-#: mod/profile.php:179
-msgid "Tips for New Members"
-msgstr "Tips voor nieuwe leden"
+#: mod/dfrn_request.php:214
+msgid "Unrecoverable protocol error."
+msgstr "Onherstelbare protocolfout. "
 
-#: mod/profile_photo.php:44
-msgid "Image uploaded but image cropping failed."
-msgstr "Afbeelding opgeladen, maar bijsnijden mislukt."
+#: mod/dfrn_request.php:242
+msgid "Profile unavailable."
+msgstr "Profiel onbeschikbaar"
 
-#: mod/profile_photo.php:77 mod/profile_photo.php:84 mod/profile_photo.php:91
-#: mod/profile_photo.php:308
+#: mod/dfrn_request.php:267
 #, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Verkleining van de afbeelding [%s] mislukt."
-
-#: mod/profile_photo.php:118
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Shift-herlaad de pagina, of maak de browser cache leeg als nieuwe foto's niet onmiddellijk verschijnen."
+msgid "%s has received too many connection requests today."
+msgstr "%s heeft te veel verzoeken gehad vandaag."
 
-#: mod/profile_photo.php:128
-msgid "Unable to process image"
-msgstr "Ik kan de afbeelding niet verwerken"
+#: mod/dfrn_request.php:268
+msgid "Spam protection measures have been invoked."
+msgstr "Beveiligingsmaatregelen tegen spam zijn in werking getreden."
 
-#: mod/profile_photo.php:242
-msgid "Upload File:"
-msgstr "Upload bestand:"
+#: mod/dfrn_request.php:269
+msgid "Friends are advised to please try again in 24 hours."
+msgstr "Wij adviseren vrienden om het over 24 uur nog een keer te proberen."
 
-#: mod/profile_photo.php:243
-msgid "Select a profile:"
-msgstr "Kies een profiel:"
+#: mod/dfrn_request.php:331
+msgid "Invalid locator"
+msgstr "Ongeldige plaatsbepaler"
 
-#: mod/profile_photo.php:245
-msgid "Upload"
-msgstr "Uploaden"
+#: mod/dfrn_request.php:340
+msgid "Invalid email address."
+msgstr "Geen geldig e-mailadres"
 
-#: mod/profile_photo.php:248 mod/settings.php:1088
-msgid "or"
-msgstr "of"
+#: mod/dfrn_request.php:367
+msgid "This account has not been configured for email. Request failed."
+msgstr "Aanvraag mislukt. Dit account is niet geconfigureerd voor e-mail."
 
-#: mod/profile_photo.php:248
-msgid "skip this step"
-msgstr "Deze stap overslaan"
+#: mod/dfrn_request.php:463
+msgid "Unable to resolve your name at the provided location."
+msgstr "Ik kan jouw naam op het opgegeven adres niet vinden."
 
-#: mod/profile_photo.php:248
-msgid "select a photo from your photo albums"
-msgstr "Kies een foto uit je fotoalbums"
+#: mod/dfrn_request.php:476
+msgid "You have already introduced yourself here."
+msgstr "Je hebt jezelf hier al voorgesteld."
 
-#: mod/profile_photo.php:262
-msgid "Crop Image"
-msgstr "Afbeelding bijsnijden"
+#: mod/dfrn_request.php:480
+#, php-format
+msgid "Apparently you are already friends with %s."
+msgstr "Blijkbaar bent u al bevriend met %s."
 
-#: mod/profile_photo.php:263
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Pas het afsnijden van de afbeelding aan voor het beste resultaat."
+#: mod/dfrn_request.php:501
+msgid "Invalid profile URL."
+msgstr "Ongeldig profiel adres."
 
-#: mod/profile_photo.php:265
-msgid "Done Editing"
-msgstr "Wijzigingen compleet"
+#: mod/dfrn_request.php:507 include/follow.php:72
+msgid "Disallowed profile URL."
+msgstr "Niet toegelaten profiel adres."
 
-#: mod/profile_photo.php:299
-msgid "Image uploaded successfully."
-msgstr "Uploaden van afbeelding gelukt."
+#: mod/dfrn_request.php:597
+msgid "Your introduction has been sent."
+msgstr "Je verzoek is verzonden."
 
-#: mod/profiles.php:37
-msgid "Profile deleted."
-msgstr "Profiel verwijderd"
+#: mod/dfrn_request.php:650
+msgid "Please login to confirm introduction."
+msgstr "Log in om je verzoek te bevestigen."
 
-#: mod/profiles.php:55 mod/profiles.php:89
-msgid "Profile-"
-msgstr "Profiel-"
+#: mod/dfrn_request.php:660
+msgid ""
+"Incorrect identity currently logged in. Please login to "
+"<strong>this</strong> profile."
+msgstr "Je huidige identiteit is niet de juiste. Log met <strong>dit</strong> profiel in."
 
-#: mod/profiles.php:74 mod/profiles.php:117
-msgid "New profile created."
-msgstr "Nieuw profiel aangemaakt."
+#: mod/dfrn_request.php:674 mod/dfrn_request.php:691
+msgid "Confirm"
+msgstr "Bevestig"
 
-#: mod/profiles.php:95
-msgid "Profile unavailable to clone."
-msgstr "Profiel niet beschikbaar om te klonen."
+#: mod/dfrn_request.php:686
+msgid "Hide this contact"
+msgstr "Verberg dit contact"
 
-#: mod/profiles.php:189
-msgid "Profile Name is required."
-msgstr "Profielnaam is vereist."
+#: mod/dfrn_request.php:689
+#, php-format
+msgid "Welcome home %s."
+msgstr "Welkom terug %s."
 
-#: mod/profiles.php:336
-msgid "Marital Status"
-msgstr "Echtelijke staat"
+#: mod/dfrn_request.php:690
+#, php-format
+msgid "Please confirm your introduction/connection request to %s."
+msgstr "Bevestig je vriendschaps-/connectieverzoek voor %s."
 
-#: mod/profiles.php:340
-msgid "Romantic Partner"
-msgstr "Romantische Partner"
+#: mod/dfrn_request.php:819
+msgid ""
+"Please enter your 'Identity Address' from one of the following supported "
+"communications networks:"
+msgstr "Vul hier uw 'Identiteitsadres' in van een van de volgende ondersteunde communicatienetwerken:"
 
-#: mod/profiles.php:344
-msgid "Likes"
-msgstr "Houdt van"
+#: mod/dfrn_request.php:840
+#, php-format
+msgid ""
+"If you are not yet a member of the free social web, <a "
+"href=\"%s/siteinfo\">follow this link to find a public Friendica site and "
+"join us today</a>."
+msgstr ""
 
-#: mod/profiles.php:348
-msgid "Dislikes"
-msgstr "Houdt niet van"
+#: mod/dfrn_request.php:845
+msgid "Friend/Connection Request"
+msgstr "Vriendschaps-/connectieverzoek"
 
-#: mod/profiles.php:352
-msgid "Work/Employment"
-msgstr "Werk"
+#: mod/dfrn_request.php:846
+msgid ""
+"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
+"testuser@identi.ca"
+msgstr "Voorbeelden: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"
 
-#: mod/profiles.php:355
-msgid "Religion"
-msgstr "Godsdienst"
+#: mod/dfrn_request.php:854 include/contact_selectors.php:76
+msgid "Friendica"
+msgstr "Friendica"
 
-#: mod/profiles.php:359
-msgid "Political Views"
-msgstr "Politieke standpunten"
+#: mod/dfrn_request.php:855
+msgid "StatusNet/Federated Social Web"
+msgstr "StatusNet/Gefedereerde Sociale Web"
 
-#: mod/profiles.php:363
-msgid "Gender"
-msgstr "Geslacht"
+#: mod/dfrn_request.php:857
+#, php-format
+msgid ""
+" - please do not use this form.  Instead, enter %s into your Diaspora search"
+" bar."
+msgstr "- Gebruik niet dit formulier. Vul %s in in je Diaspora zoekbalk."
 
-#: mod/profiles.php:367
-msgid "Sexual Preference"
-msgstr "Seksuele Voorkeur"
+#: mod/register.php:92
+msgid ""
+"Registration successful. Please check your email for further instructions."
+msgstr "Registratie geslaagd. Kijk je e-mail na voor verdere instructies."
 
-#: mod/profiles.php:371
-msgid "Homepage"
-msgstr "Tijdlijn"
+#: mod/register.php:97
+#, php-format
+msgid ""
+"Failed to send email message. Here your accout details:<br> login: %s<br> "
+"password: %s<br><br>You can change your password after login."
+msgstr ""
 
-#: mod/profiles.php:375 mod/profiles.php:694
-msgid "Interests"
-msgstr "Interesses"
+#: mod/register.php:107
+msgid "Your registration can not be processed."
+msgstr "Je registratie kan niet verwerkt worden."
 
-#: mod/profiles.php:379
-msgid "Address"
-msgstr "Adres"
+#: mod/register.php:150
+msgid "Your registration is pending approval by the site owner."
+msgstr "Jouw registratie wacht op goedkeuring van de beheerder."
 
-#: mod/profiles.php:386 mod/profiles.php:690
-msgid "Location"
-msgstr "Plaats"
+#: mod/register.php:188 mod/uimport.php:50
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "Deze website heeft het toegelaten dagelijkse aantal registraties overschreden. Probeer morgen opnieuw."
 
-#: mod/profiles.php:469
-msgid "Profile updated."
-msgstr "Profiel bijgewerkt."
+#: mod/register.php:216
+msgid ""
+"You may (optionally) fill in this form via OpenID by supplying your OpenID "
+"and clicking 'Register'."
+msgstr "Je kunt (optioneel) dit formulier invullen via OpenID door je OpenID in te geven en op 'Registreren' te klikken."
 
-#: mod/profiles.php:564
-msgid " and "
-msgstr "en"
+#: mod/register.php:217
+msgid ""
+"If you are not familiar with OpenID, please leave that field blank and fill "
+"in the rest of the items."
+msgstr "Laat dit veld leeg als je niet vertrouwd bent met OpenID, en vul de rest van de items in."
 
-#: mod/profiles.php:572
-msgid "public profile"
-msgstr "publiek profiel"
+#: mod/register.php:218
+msgid "Your OpenID (optional): "
+msgstr "Je OpenID (optioneel):"
 
-#: mod/profiles.php:575
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s veranderde %2$s naar &ldquo;%3$s&rdquo;"
+#: mod/register.php:232
+msgid "Include your profile in member directory?"
+msgstr "Je profiel in de ledengids opnemen?"
 
-#: mod/profiles.php:576
-#, php-format
-msgid " - Visit %1$s's %2$s"
-msgstr " - Bezoek %2$s van %1$s"
+#: mod/register.php:256
+msgid "Membership on this site is by invitation only."
+msgstr "Lidmaatschap van deze website is uitsluitend op uitnodiging."
 
-#: mod/profiles.php:579
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s heeft een aangepast %2$s, %3$s veranderd."
+#: mod/register.php:257
+msgid "Your invitation ID: "
+msgstr "Je uitnodigingsid:"
 
-#: mod/profiles.php:654
-msgid "Hide contacts and friends:"
+#: mod/register.php:268
+msgid "Your Full Name (e.g. Joe Smith, real or real-looking): "
 msgstr ""
 
-#: mod/profiles.php:659
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr "Je vrienden/contacten verbergen voor bezoekers van dit profiel?"
+#: mod/register.php:269
+msgid "Your Email Address: "
+msgstr "Je email adres:"
 
-#: mod/profiles.php:681
-msgid "Edit Profile Details"
-msgstr "Profieldetails bewerken"
+#: mod/register.php:271
+msgid "Leave empty for an auto generated password."
+msgstr ""
 
-#: mod/profiles.php:683
-msgid "Change Profile Photo"
-msgstr "Profielfoto wijzigen"
+#: mod/register.php:273
+msgid ""
+"Choose a profile nickname. This must begin with a text character. Your "
+"profile address on this site will then be "
+"'<strong>nickname@$sitename</strong>'."
+msgstr "Kies een bijnaam voor je profiel. Deze moet met een letter beginnen. Je profieladres op deze website zal dan '<strong>bijnaam@$sitename</strong>' zijn."
 
-#: mod/profiles.php:684
-msgid "View this profile"
-msgstr "Dit profiel bekijken"
+#: mod/register.php:274
+msgid "Choose a nickname: "
+msgstr "Kies een bijnaam:"
 
-#: mod/profiles.php:685
-msgid "Create a new profile using these settings"
-msgstr "Nieuw profiel aanmaken met deze instellingen"
+#: mod/register.php:277 boot.php:1256 include/nav.php:108
+msgid "Register"
+msgstr "Registreer"
 
-#: mod/profiles.php:686
-msgid "Clone this profile"
-msgstr "Dit profiel klonen"
+#: mod/register.php:283 mod/uimport.php:64
+msgid "Import"
+msgstr "Importeren"
 
-#: mod/profiles.php:687
-msgid "Delete this profile"
-msgstr "Dit profiel verwijderen"
+#: mod/register.php:284
+msgid "Import your profile to this friendica instance"
+msgstr ""
 
-#: mod/profiles.php:688
-msgid "Basic information"
+#: mod/maintenance.php:5
+msgid "System down for maintenance"
+msgstr "Systeem onbeschikbaar wegens onderhoud"
+
+#: mod/search.php:100
+msgid "Only logged in users are permitted to perform a search."
 msgstr ""
 
-#: mod/profiles.php:689
-msgid "Profile picture"
+#: mod/search.php:115
+msgid "Too Many Requests"
 msgstr ""
 
-#: mod/profiles.php:691
-msgid "Preferences"
+#: mod/search.php:116
+msgid "Only one search per minute is permitted for not logged in users."
 msgstr ""
 
-#: mod/profiles.php:692
-msgid "Status information"
+#: mod/search.php:126 include/text.php:996 include/nav.php:118
+msgid "Search"
+msgstr "Zoeken"
+
+#: mod/search.php:224
+#, php-format
+msgid "Items tagged with: %s"
 msgstr ""
 
-#: mod/profiles.php:693
-msgid "Additional information"
+#: mod/search.php:226
+#, php-format
+msgid "Search results for: %s"
 msgstr ""
 
-#: mod/profiles.php:696
-msgid "Profile Name:"
-msgstr "Profiel Naam:"
+#: mod/directory.php:116 mod/profiles.php:760
+msgid "Age: "
+msgstr "Leeftijd:"
 
-#: mod/profiles.php:697
-msgid "Your Full Name:"
-msgstr "Je volledige naam:"
+#: mod/directory.php:119
+msgid "Gender: "
+msgstr "Geslacht:"
 
-#: mod/profiles.php:698
-msgid "Title/Description:"
-msgstr "Titel/Beschrijving:"
+#: mod/directory.php:143 include/identity.php:273 include/identity.php:561
+msgid "Status:"
+msgstr "Tijdlijn:"
 
-#: mod/profiles.php:699
-msgid "Your Gender:"
-msgstr "Je Geslacht:"
+#: mod/directory.php:145 include/identity.php:275 include/identity.php:572
+msgid "Homepage:"
+msgstr "Website:"
 
-#: mod/profiles.php:700
-msgid "Birthday :"
+#: mod/directory.php:195 view/theme/diabook/theme.php:525
+#: view/theme/vier/theme.php:191
+msgid "Global Directory"
+msgstr "Globale gids"
+
+#: mod/directory.php:197
+msgid "Find on this site"
+msgstr "Op deze website zoeken"
+
+#: mod/directory.php:199
+msgid "Finding:"
 msgstr ""
 
-#: mod/profiles.php:701
-msgid "Street Address:"
-msgstr "Postadres:"
+#: mod/directory.php:201
+msgid "Site Directory"
+msgstr "Websitegids"
 
-#: mod/profiles.php:702
-msgid "Locality/City:"
-msgstr "Gemeente/Stad:"
+#: mod/directory.php:208
+msgid "No entries (some entries may be hidden)."
+msgstr "Geen gegevens (sommige gegevens kunnen verborgen zijn)."
 
-#: mod/profiles.php:703
-msgid "Postal/Zip Code:"
-msgstr "Postcode:"
+#: mod/delegate.php:101
+msgid "No potential page delegates located."
+msgstr "Niemand gevonden waar het paginabeheer mogelijk aan uitbesteed kan worden."
 
-#: mod/profiles.php:704
-msgid "Country:"
-msgstr "Land:"
+#: mod/delegate.php:130 include/nav.php:180
+msgid "Delegate Page Management"
+msgstr "Paginabeheer uitbesteden"
 
-#: mod/profiles.php:705
-msgid "Region/State:"
-msgstr "Regio/Staat:"
+#: mod/delegate.php:132
+msgid ""
+"Delegates are able to manage all aspects of this account/page except for "
+"basic account settings. Please do not delegate your personal account to "
+"anybody that you do not trust completely."
+msgstr "Personen waaraan het beheer is uitbesteed kunnen alle onderdelen van een account/pagina beheren, behalve de basisinstellingen van een account. Besteed je persoonlijke account daarom niet uit aan personen die je niet volledig vertrouwd."
 
-#: mod/profiles.php:706
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Echtelijke Staat:"
+#: mod/delegate.php:133
+msgid "Existing Page Managers"
+msgstr "Bestaande paginabeheerders"
 
-#: mod/profiles.php:707
-msgid "Who: (if applicable)"
-msgstr "Wie: (indien toepasbaar)"
+#: mod/delegate.php:135
+msgid "Existing Page Delegates"
+msgstr "Bestaande personen waaraan het paginabeheer is uitbesteed"
 
-#: mod/profiles.php:708
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Voorbeelden: Kathleen123, Kathleen Peeters, kathleen@voorbeeld.nl"
+#: mod/delegate.php:137
+msgid "Potential Delegates"
+msgstr "Mogelijke personen waaraan het paginabeheer kan worden uitbesteed "
 
-#: mod/profiles.php:709
-msgid "Since [date]:"
-msgstr "Sinds [datum]:"
+#: mod/delegate.php:140
+msgid "Add"
+msgstr "Toevoegen"
 
-#: mod/profiles.php:710 include/identity.php:569
-msgid "Sexual Preference:"
-msgstr "Seksuele Voorkeur:"
+#: mod/delegate.php:141
+msgid "No entries."
+msgstr "Geen gegevens."
 
-#: mod/profiles.php:711
-msgid "Homepage URL:"
-msgstr "Adres tijdlijn:"
+#: mod/common.php:85
+msgid "No contacts in common."
+msgstr "Geen gedeelde contacten."
 
-#: mod/profiles.php:712 include/identity.php:573
-msgid "Hometown:"
-msgstr "Woonplaats:"
+#: mod/common.php:133
+msgid "Common Friends"
+msgstr "Gedeelde Vrienden"
 
-#: mod/profiles.php:713 include/identity.php:577
-msgid "Political Views:"
-msgstr "Politieke standpunten:"
+#: mod/uexport.php:77
+msgid "Export account"
+msgstr "Account exporteren"
 
-#: mod/profiles.php:714
-msgid "Religious Views:"
-msgstr "Geloof:"
+#: mod/uexport.php:77
+msgid ""
+"Export your account info and contacts. Use this to make a backup of your "
+"account and/or to move it to another server."
+msgstr "Je account informatie en contacten exporteren. Gebruik dit om een backup van je account te maken en/of om het te verhuizen naar een andere server."
 
-#: mod/profiles.php:715
-msgid "Public Keywords:"
-msgstr "Publieke Sleutelwoorden:"
+#: mod/uexport.php:78
+msgid "Export all"
+msgstr "Alles exporteren"
 
-#: mod/profiles.php:716
-msgid "Private Keywords:"
-msgstr "Privé Sleutelwoorden:"
+#: mod/uexport.php:78
+msgid ""
+"Export your accout info, contacts and all your items as json. Could be a "
+"very big file, and could take a lot of time. Use this to make a full backup "
+"of your account (photos are not exported)"
+msgstr "Je account info, contacten en al je items in json formaat exporteren. Dit kan een heel groot bestand worden, en kan lang duren. Gebruik dit om een volledige backup van je account te maken (foto's worden niet geexporteerd)"
+
+#: mod/mood.php:62 include/conversation.php:239
+#, php-format
+msgid "%1$s is currently %2$s"
+msgstr "%1$s is op dit moment %2$s"
+
+#: mod/mood.php:133
+msgid "Mood"
+msgstr "Stemming"
 
-#: mod/profiles.php:717 include/identity.php:585
-msgid "Likes:"
-msgstr "Houdt van:"
+#: mod/mood.php:134
+msgid "Set your current mood and tell your friends"
+msgstr "Stel je huidige stemming in, en vertel het je vrienden"
 
-#: mod/profiles.php:718 include/identity.php:587
-msgid "Dislikes:"
-msgstr "Houdt niet van:"
+#: mod/suggest.php:27
+msgid "Do you really want to delete this suggestion?"
+msgstr "Wil je echt dit voorstel verwijderen?"
 
-#: mod/profiles.php:719
-msgid "Example: fishing photography software"
-msgstr "Voorbeeld: vissen fotografie software"
+#: mod/suggest.php:71
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Geen voorstellen beschikbaar. Als dit een nieuwe website is, kun je het over 24 uur nog eens proberen."
 
-#: mod/profiles.php:720
-msgid "(Used for suggesting potential friends, can be seen by others)"
-msgstr "(Gebruikt om mogelijke vrienden voor te stellen, kan door anderen gezien worden)"
+#: mod/suggest.php:83 mod/suggest.php:100
+msgid "Ignore/Hide"
+msgstr "Negeren/Verbergen"
 
-#: mod/profiles.php:721
-msgid "(Used for searching profiles, never shown to others)"
-msgstr "(Gebruikt om profielen te zoeken, nooit aan anderen getoond)"
+#: mod/suggest.php:110 include/contact_widgets.php:35
+#: view/theme/diabook/theme.php:527 view/theme/vier/theme.php:193
+msgid "Friend Suggestions"
+msgstr "Vriendschapsvoorstellen"
 
-#: mod/profiles.php:722
-msgid "Tell us about yourself..."
-msgstr "Vertel iets over jezelf..."
+#: mod/profiles.php:37
+msgid "Profile deleted."
+msgstr "Profiel verwijderd"
 
-#: mod/profiles.php:723
-msgid "Hobbies/Interests"
-msgstr "Hobby's/Interesses"
+#: mod/profiles.php:55 mod/profiles.php:89
+msgid "Profile-"
+msgstr "Profiel-"
 
-#: mod/profiles.php:724
-msgid "Contact information and Social Networks"
-msgstr "Contactinformatie en sociale netwerken"
+#: mod/profiles.php:74 mod/profiles.php:117
+msgid "New profile created."
+msgstr "Nieuw profiel aangemaakt."
 
-#: mod/profiles.php:725
-msgid "Musical interests"
-msgstr "Muzikale interesses"
+#: mod/profiles.php:95
+msgid "Profile unavailable to clone."
+msgstr "Profiel niet beschikbaar om te klonen."
 
-#: mod/profiles.php:726
-msgid "Books, literature"
-msgstr "Boeken, literatuur"
+#: mod/profiles.php:189
+msgid "Profile Name is required."
+msgstr "Profielnaam is vereist."
 
-#: mod/profiles.php:727
-msgid "Television"
-msgstr "Televisie"
+#: mod/profiles.php:336
+msgid "Marital Status"
+msgstr "Echtelijke staat"
 
-#: mod/profiles.php:728
-msgid "Film/dance/culture/entertainment"
-msgstr "Film/dans/cultuur/ontspanning"
+#: mod/profiles.php:340
+msgid "Romantic Partner"
+msgstr "Romantische Partner"
 
-#: mod/profiles.php:729
-msgid "Love/romance"
-msgstr "Liefde/romance"
+#: mod/profiles.php:344 mod/photos.php:1639 include/conversation.php:508
+msgid "Likes"
+msgstr "Houdt van"
 
-#: mod/profiles.php:730
-msgid "Work/employment"
-msgstr "Werk"
+#: mod/profiles.php:348 mod/photos.php:1639 include/conversation.php:508
+msgid "Dislikes"
+msgstr "Houdt niet van"
 
-#: mod/profiles.php:731
-msgid "School/education"
-msgstr "School/opleiding"
+#: mod/profiles.php:352
+msgid "Work/Employment"
+msgstr "Werk"
 
-#: mod/profiles.php:736
-msgid ""
-"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
-"be visible to anybody using the internet."
-msgstr "Dit is jouw <strong>publiek</strong> profiel.<br />Het <strong>kan</strong> zichtbaar zijn voor iedereen op het internet."
+#: mod/profiles.php:355
+msgid "Religion"
+msgstr "Godsdienst"
 
-#: mod/profiles.php:799
-msgid "Edit/Manage Profiles"
-msgstr "Wijzig/Beheer Profielen"
+#: mod/profiles.php:359
+msgid "Political Views"
+msgstr "Politieke standpunten"
 
-#: mod/profiles.php:800 include/identity.php:231 include/identity.php:257
-msgid "Change profile photo"
-msgstr "Profiel foto wijzigen"
+#: mod/profiles.php:363
+msgid "Gender"
+msgstr "Geslacht"
 
-#: mod/profiles.php:801 include/identity.php:232
-msgid "Create New Profile"
-msgstr "Maak nieuw profiel"
+#: mod/profiles.php:367
+msgid "Sexual Preference"
+msgstr "Seksuele Voorkeur"
 
-#: mod/profiles.php:812 include/identity.php:242
-msgid "Profile Image"
-msgstr "Profiel afbeelding"
+#: mod/profiles.php:371
+msgid "Homepage"
+msgstr "Tijdlijn"
 
-#: mod/profiles.php:814 include/identity.php:245
-msgid "visible to everybody"
-msgstr "zichtbaar voor iedereen"
+#: mod/profiles.php:375 mod/profiles.php:708
+msgid "Interests"
+msgstr "Interesses"
 
-#: mod/profiles.php:815 include/identity.php:246
-msgid "Edit visibility"
-msgstr "Pas zichtbaarheid aan"
+#: mod/profiles.php:379
+msgid "Address"
+msgstr "Adres"
 
-#: mod/profperm.php:25 mod/profperm.php:56
-msgid "Invalid profile identifier."
-msgstr "Ongeldige profiel-identificatie."
+#: mod/profiles.php:386 mod/profiles.php:704
+msgid "Location"
+msgstr "Plaats"
 
-#: mod/profperm.php:102
-msgid "Profile Visibility Editor"
-msgstr ""
+#: mod/profiles.php:469
+msgid "Profile updated."
+msgstr "Profiel bijgewerkt."
 
-#: mod/profperm.php:115
-msgid "Visible To"
-msgstr "Zichtbaar voor"
+#: mod/profiles.php:565
+msgid " and "
+msgstr "en"
 
-#: mod/profperm.php:131
-msgid "All Contacts (with secure profile access)"
-msgstr "Alle contacten (met veilige profieltoegang)"
+#: mod/profiles.php:573
+msgid "public profile"
+msgstr "publiek profiel"
 
-#: mod/search.php:180
+#: mod/profiles.php:576
 #, php-format
-msgid "Items tagged with: %s"
-msgstr ""
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s veranderde %2$s naar &ldquo;%3$s&rdquo;"
 
-#: mod/search.php:182
+#: mod/profiles.php:577
 #, php-format
-msgid "Search results for: %s"
-msgstr ""
-
-#: mod/share.php:38
-msgid "link"
-msgstr "link"
+msgid " - Visit %1$s's %2$s"
+msgstr " - Bezoek %2$s van %1$s"
 
-#: mod/suggest.php:27
-msgid "Do you really want to delete this suggestion?"
-msgstr "Wil je echt dit voorstel verwijderen?"
+#: mod/profiles.php:580
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s heeft een aangepast %2$s, %3$s veranderd."
 
-#: mod/suggest.php:76
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Geen voorstellen beschikbaar. Als dit een nieuwe website is, kun je het over 24 uur nog eens proberen."
+#: mod/profiles.php:655
+msgid "Hide contacts and friends:"
+msgstr ""
 
-#: mod/suggest.php:94
-msgid "Ignore/Hide"
-msgstr "Negeren/Verbergen"
+#: mod/profiles.php:660
+msgid "Hide your contact/friend list from viewers of this profile?"
+msgstr "Je vrienden/contacten verbergen voor bezoekers van dit profiel?"
 
-#: mod/videos.php:113
-msgid "Do you really want to delete this video?"
+#: mod/profiles.php:684
+msgid "Show more profile fields:"
 msgstr ""
 
-#: mod/videos.php:118
-msgid "Delete Video"
-msgstr ""
+#: mod/profiles.php:695
+msgid "Edit Profile Details"
+msgstr "Profieldetails bewerken"
 
-#: mod/videos.php:197
-msgid "No videos selected"
-msgstr "Geen video's geselecteerd"
+#: mod/profiles.php:697
+msgid "Change Profile Photo"
+msgstr "Profielfoto wijzigen"
 
-#: mod/videos.php:373 include/text.php:1429
-msgid "View Video"
-msgstr "Bekijk Video"
+#: mod/profiles.php:698
+msgid "View this profile"
+msgstr "Dit profiel bekijken"
 
-#: mod/videos.php:389
-msgid "Recent Videos"
-msgstr "Recente video's"
+#: mod/profiles.php:699
+msgid "Create a new profile using these settings"
+msgstr "Nieuw profiel aanmaken met deze instellingen"
 
-#: mod/videos.php:391
-msgid "Upload New Videos"
-msgstr "Nieuwe video's uploaden"
+#: mod/profiles.php:700
+msgid "Clone this profile"
+msgstr "Dit profiel klonen"
 
-#: mod/wall_attach.php:75
-msgid "Sorry, maybe your upload is bigger than the PHP configuration allows"
-msgstr ""
+#: mod/profiles.php:701
+msgid "Delete this profile"
+msgstr "Dit profiel verwijderen"
 
-#: mod/wall_attach.php:75
-msgid "Or - did you try to upload an empty file?"
+#: mod/profiles.php:702
+msgid "Basic information"
 msgstr ""
 
-#: mod/wall_attach.php:81
-#, php-format
-msgid "File exceeds size limit of %s"
+#: mod/profiles.php:703
+msgid "Profile picture"
 msgstr ""
 
-#: mod/wall_attach.php:122 mod/wall_attach.php:133
-msgid "File upload failed."
-msgstr "Uploaden van bestand mislukt."
-
-#: mod/register.php:92
-msgid ""
-"Registration successful. Please check your email for further instructions."
-msgstr "Registratie geslaagd. Kijk je e-mail na voor verdere instructies."
-
-#: mod/register.php:97
-#, php-format
-msgid ""
-"Failed to send email message. Here your accout details:<br> login: %s<br> "
-"password: %s<br><br>You can change your password after login."
+#: mod/profiles.php:705
+msgid "Preferences"
 msgstr ""
 
-#: mod/register.php:107
-msgid "Your registration can not be processed."
-msgstr "Je registratie kan niet verwerkt worden."
-
-#: mod/register.php:150
-msgid "Your registration is pending approval by the site owner."
-msgstr "Jouw registratie wacht op goedkeuring van de beheerder."
-
-#: mod/register.php:216
-msgid ""
-"You may (optionally) fill in this form via OpenID by supplying your OpenID "
-"and clicking 'Register'."
-msgstr "Je kunt (optioneel) dit formulier invullen via OpenID door je OpenID in te geven en op 'Registreren' te klikken."
-
-#: mod/register.php:217
-msgid ""
-"If you are not familiar with OpenID, please leave that field blank and fill "
-"in the rest of the items."
-msgstr "Laat dit veld leeg als je niet vertrouwd bent met OpenID, en vul de rest van de items in."
-
-#: mod/register.php:218
-msgid "Your OpenID (optional): "
-msgstr "Je OpenID (optioneel):"
-
-#: mod/register.php:232
-msgid "Include your profile in member directory?"
-msgstr "Je profiel in de ledengids opnemen?"
+#: mod/profiles.php:706
+msgid "Status information"
+msgstr ""
 
-#: mod/register.php:256
-msgid "Membership on this site is by invitation only."
-msgstr "Lidmaatschap van deze website is uitsluitend op uitnodiging."
+#: mod/profiles.php:707
+msgid "Additional information"
+msgstr ""
 
-#: mod/register.php:257
-msgid "Your invitation ID: "
-msgstr "Je uitnodigingsid:"
+#: mod/profiles.php:710
+msgid "Profile Name:"
+msgstr "Profiel Naam:"
 
-#: mod/register.php:268
-msgid "Your Full Name (e.g. Joe Smith): "
-msgstr "Je volledige naam (bijv. Jan Jansens):"
+#: mod/profiles.php:711
+msgid "Your Full Name:"
+msgstr "Je volledige naam:"
 
-#: mod/register.php:269
-msgid "Your Email Address: "
-msgstr "Je email adres:"
+#: mod/profiles.php:712
+msgid "Title/Description:"
+msgstr "Titel/Beschrijving:"
 
-#: mod/register.php:271 mod/settings.php:1144
-msgid "New Password:"
-msgstr "Nieuw Wachtwoord:"
+#: mod/profiles.php:713
+msgid "Your Gender:"
+msgstr "Je Geslacht:"
 
-#: mod/register.php:271
-msgid "Leave empty for an auto generated password."
+#: mod/profiles.php:714
+msgid "Birthday :"
 msgstr ""
 
-#: mod/register.php:272 mod/settings.php:1145
-msgid "Confirm:"
-msgstr "Bevestig:"
+#: mod/profiles.php:715
+msgid "Street Address:"
+msgstr "Postadres:"
 
-#: mod/register.php:273
-msgid ""
-"Choose a profile nickname. This must begin with a text character. Your "
-"profile address on this site will then be "
-"'<strong>nickname@$sitename</strong>'."
-msgstr "Kies een bijnaam voor je profiel. Deze moet met een letter beginnen. Je profieladres op deze website zal dan '<strong>bijnaam@$sitename</strong>' zijn."
+#: mod/profiles.php:716
+msgid "Locality/City:"
+msgstr "Gemeente/Stad:"
 
-#: mod/register.php:274
-msgid "Choose a nickname: "
-msgstr "Kies een bijnaam:"
+#: mod/profiles.php:717
+msgid "Postal/Zip Code:"
+msgstr "Postcode:"
 
-#: mod/register.php:277 include/nav.php:109 boot.php:1238
-msgid "Register"
-msgstr "Registreer"
+#: mod/profiles.php:718
+msgid "Country:"
+msgstr "Land:"
 
-#: mod/register.php:284
-msgid "Import your profile to this friendica instance"
-msgstr ""
+#: mod/profiles.php:719
+msgid "Region/State:"
+msgstr "Regio/Staat:"
 
-#: mod/settings.php:46
-msgid "Additional features"
-msgstr "Extra functies"
+#: mod/profiles.php:720
+msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
+msgstr "<span class=\"heart\">&hearts;</span> Echtelijke Staat:"
 
-#: mod/settings.php:51
-msgid "Display"
-msgstr "Weergave"
+#: mod/profiles.php:721
+msgid "Who: (if applicable)"
+msgstr "Wie: (indien toepasbaar)"
 
-#: mod/settings.php:57 mod/settings.php:805
-msgid "Social Networks"
-msgstr "Sociale netwerken"
+#: mod/profiles.php:722
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Voorbeelden: Kathleen123, Kathleen Peeters, kathleen@voorbeeld.nl"
 
-#: mod/settings.php:67 include/nav.php:171
-msgid "Delegations"
-msgstr ""
+#: mod/profiles.php:723
+msgid "Since [date]:"
+msgstr "Sinds [datum]:"
 
-#: mod/settings.php:72
-msgid "Connected apps"
-msgstr "Verbonden applicaties"
+#: mod/profiles.php:724 include/identity.php:570
+msgid "Sexual Preference:"
+msgstr "Seksuele Voorkeur:"
 
-#: mod/settings.php:82
-msgid "Remove account"
-msgstr "Account verwijderen"
+#: mod/profiles.php:725
+msgid "Homepage URL:"
+msgstr "Adres tijdlijn:"
 
-#: mod/settings.php:134
-msgid "Missing some important data!"
-msgstr "Een belangrijk gegeven ontbreekt!"
+#: mod/profiles.php:726 include/identity.php:574
+msgid "Hometown:"
+msgstr "Woonplaats:"
 
-#: mod/settings.php:245
-msgid "Failed to connect with email account using the settings provided."
-msgstr "Ik kon geen verbinding maken met het e-mail account met de gegeven instellingen."
+#: mod/profiles.php:727 include/identity.php:578
+msgid "Political Views:"
+msgstr "Politieke standpunten:"
 
-#: mod/settings.php:250
-msgid "Email settings updated."
-msgstr "E-mail instellingen bijgewerkt.."
+#: mod/profiles.php:728
+msgid "Religious Views:"
+msgstr "Geloof:"
 
-#: mod/settings.php:265
-msgid "Features updated"
-msgstr "Functies bijgewerkt"
+#: mod/profiles.php:729
+msgid "Public Keywords:"
+msgstr "Publieke Sleutelwoorden:"
 
-#: mod/settings.php:328
-msgid "Relocate message has been send to your contacts"
-msgstr ""
+#: mod/profiles.php:730
+msgid "Private Keywords:"
+msgstr "Privé Sleutelwoorden:"
 
-#: mod/settings.php:342 include/user.php:39
-msgid "Passwords do not match. Password unchanged."
-msgstr "Wachtwoorden komen niet overeen. Wachtwoord niet gewijzigd."
+#: mod/profiles.php:731 include/identity.php:586
+msgid "Likes:"
+msgstr "Houdt van:"
 
-#: mod/settings.php:347
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Lege wachtwoorden zijn niet toegelaten. Wachtwoord niet gewijzigd."
+#: mod/profiles.php:732 include/identity.php:588
+msgid "Dislikes:"
+msgstr "Houdt niet van:"
 
-#: mod/settings.php:355
-msgid "Wrong password."
-msgstr "Verkeerd wachtwoord."
+#: mod/profiles.php:733
+msgid "Example: fishing photography software"
+msgstr "Voorbeeld: vissen fotografie software"
 
-#: mod/settings.php:366
-msgid "Password changed."
-msgstr "Wachtwoord gewijzigd."
+#: mod/profiles.php:734
+msgid "(Used for suggesting potential friends, can be seen by others)"
+msgstr "(Gebruikt om mogelijke vrienden voor te stellen, kan door anderen gezien worden)"
 
-#: mod/settings.php:368
-msgid "Password update failed. Please try again."
-msgstr "Wachtwoord-)wijziging mislukt. Probeer opnieuw."
+#: mod/profiles.php:735
+msgid "(Used for searching profiles, never shown to others)"
+msgstr "(Gebruikt om profielen te zoeken, nooit aan anderen getoond)"
 
-#: mod/settings.php:435
-msgid " Please use a shorter name."
-msgstr "Gebruik een kortere naam."
+#: mod/profiles.php:736
+msgid "Tell us about yourself..."
+msgstr "Vertel iets over jezelf..."
 
-#: mod/settings.php:437
-msgid " Name too short."
-msgstr "Naam te kort."
+#: mod/profiles.php:737
+msgid "Hobbies/Interests"
+msgstr "Hobby's/Interesses"
 
-#: mod/settings.php:446
-msgid "Wrong Password"
-msgstr "Verkeerd wachtwoord"
+#: mod/profiles.php:738
+msgid "Contact information and Social Networks"
+msgstr "Contactinformatie en sociale netwerken"
 
-#: mod/settings.php:451
-msgid " Not valid email."
-msgstr "Geen geldig e-mailadres."
+#: mod/profiles.php:739
+msgid "Musical interests"
+msgstr "Muzikale interesses"
 
-#: mod/settings.php:457
-msgid " Cannot change to that email."
-msgstr "Kan niet veranderen naar die e-mail."
+#: mod/profiles.php:740
+msgid "Books, literature"
+msgstr "Boeken, literatuur"
 
-#: mod/settings.php:513
-msgid "Private forum has no privacy permissions. Using default privacy group."
-msgstr "Privéforum/-groep heeft geen privacyrechten. De standaard privacygroep wordt gebruikt."
+#: mod/profiles.php:741
+msgid "Television"
+msgstr "Televisie"
 
-#: mod/settings.php:517
-msgid "Private forum has no privacy permissions and no default privacy group."
-msgstr "Privéforum/-groep heeft geen privacyrechten en geen standaard privacygroep."
+#: mod/profiles.php:742
+msgid "Film/dance/culture/entertainment"
+msgstr "Film/dans/cultuur/ontspanning"
 
-#: mod/settings.php:547
-msgid "Settings updated."
-msgstr "Instellingen bijgewerkt."
+#: mod/profiles.php:743
+msgid "Love/romance"
+msgstr "Liefde/romance"
 
-#: mod/settings.php:620 mod/settings.php:646 mod/settings.php:682
-msgid "Add application"
-msgstr "Toepassing toevoegen"
+#: mod/profiles.php:744
+msgid "Work/employment"
+msgstr "Werk"
 
-#: mod/settings.php:624 mod/settings.php:650
-msgid "Consumer Key"
-msgstr "Gebruikerssleutel"
+#: mod/profiles.php:745
+msgid "School/education"
+msgstr "School/opleiding"
 
-#: mod/settings.php:625 mod/settings.php:651
-msgid "Consumer Secret"
-msgstr "Gebruikersgeheim"
+#: mod/profiles.php:750
+msgid ""
+"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
+"be visible to anybody using the internet."
+msgstr "Dit is jouw <strong>publiek</strong> profiel.<br />Het <strong>kan</strong> zichtbaar zijn voor iedereen op het internet."
 
-#: mod/settings.php:626 mod/settings.php:652
-msgid "Redirect"
-msgstr "Doorverwijzing"
+#: mod/profiles.php:813
+msgid "Edit/Manage Profiles"
+msgstr "Wijzig/Beheer Profielen"
 
-#: mod/settings.php:627 mod/settings.php:653
-msgid "Icon url"
-msgstr "URL pictogram"
+#: mod/profiles.php:814 include/identity.php:231 include/identity.php:257
+msgid "Change profile photo"
+msgstr "Profiel foto wijzigen"
 
-#: mod/settings.php:638
-msgid "You can't edit this application."
-msgstr "Je kunt deze toepassing niet wijzigen."
+#: mod/profiles.php:815 include/identity.php:232
+msgid "Create New Profile"
+msgstr "Maak nieuw profiel"
 
-#: mod/settings.php:681
-msgid "Connected Apps"
-msgstr "Verbonden applicaties"
+#: mod/profiles.php:826 include/identity.php:242
+msgid "Profile Image"
+msgstr "Profiel afbeelding"
 
-#: mod/settings.php:685
-msgid "Client key starts with"
-msgstr ""
+#: mod/profiles.php:828 include/identity.php:245
+msgid "visible to everybody"
+msgstr "zichtbaar voor iedereen"
 
-#: mod/settings.php:686
-msgid "No name"
-msgstr "Geen naam"
+#: mod/profiles.php:829 include/identity.php:246
+msgid "Edit visibility"
+msgstr "Pas zichtbaarheid aan"
 
-#: mod/settings.php:687
-msgid "Remove authorization"
-msgstr "Verwijder authorisatie"
+#: mod/editpost.php:17 mod/editpost.php:27
+msgid "Item not found"
+msgstr "Item niet gevonden"
 
-#: mod/settings.php:699
-msgid "No Plugin settings configured"
-msgstr ""
+#: mod/editpost.php:40
+msgid "Edit post"
+msgstr "Bericht bewerken"
 
-#: mod/settings.php:707
-msgid "Plugin Settings"
-msgstr "Plugin Instellingen"
+#: mod/editpost.php:110 include/conversation.php:1185
+msgid "upload photo"
+msgstr "Foto uploaden"
 
-#: mod/settings.php:721
-msgid "Off"
-msgstr "Uit"
+#: mod/editpost.php:111 include/conversation.php:1186
+msgid "Attach file"
+msgstr "Bestand bijvoegen"
 
-#: mod/settings.php:721
-msgid "On"
-msgstr "Aan"
+#: mod/editpost.php:112 include/conversation.php:1187
+msgid "attach file"
+msgstr "bestand bijvoegen"
 
-#: mod/settings.php:729
-msgid "Additional Features"
-msgstr "Extra functies"
+#: mod/editpost.php:114 include/conversation.php:1189
+msgid "web link"
+msgstr "webadres"
 
-#: mod/settings.php:739 mod/settings.php:743
-msgid "General Social Media Settings"
-msgstr ""
+#: mod/editpost.php:115 include/conversation.php:1190
+msgid "Insert video link"
+msgstr "Voeg video toe"
 
-#: mod/settings.php:749
-msgid "Disable intelligent shortening"
-msgstr ""
+#: mod/editpost.php:116 include/conversation.php:1191
+msgid "video link"
+msgstr "video adres"
 
-#: mod/settings.php:751
-msgid ""
-"Normally the system tries to find the best link to add to shortened posts. "
-"If this option is enabled then every shortened post will always point to the"
-" original friendica post."
-msgstr ""
+#: mod/editpost.php:117 include/conversation.php:1192
+msgid "Insert audio link"
+msgstr "Voeg audio adres toe"
 
-#: mod/settings.php:761 mod/settings.php:762
-#, php-format
-msgid "Built-in support for %s connectivity is %s"
-msgstr "Ingebouwde ondersteuning voor connectiviteit met %s is %s"
+#: mod/editpost.php:118 include/conversation.php:1193
+msgid "audio link"
+msgstr "audio adres"
 
-#: mod/settings.php:761 mod/settings.php:762
-msgid "enabled"
-msgstr "ingeschakeld"
+#: mod/editpost.php:119 include/conversation.php:1194
+msgid "Set your location"
+msgstr "Stel uw locatie in"
 
-#: mod/settings.php:761 mod/settings.php:762
-msgid "disabled"
-msgstr "uitgeschakeld"
+#: mod/editpost.php:120 include/conversation.php:1195
+msgid "set location"
+msgstr "Stel uw locatie in"
 
-#: mod/settings.php:762
-msgid "StatusNet"
-msgstr "StatusNet"
+#: mod/editpost.php:121 include/conversation.php:1196
+msgid "Clear browser location"
+msgstr "Verwijder locatie uit uw webbrowser"
 
-#: mod/settings.php:798
-msgid "Email access is disabled on this site."
-msgstr "E-mailtoegang is op deze website uitgeschakeld."
+#: mod/editpost.php:122 include/conversation.php:1197
+msgid "clear location"
+msgstr "Verwijder locatie uit uw webbrowser"
 
-#: mod/settings.php:810
-msgid "Email/Mailbox Setup"
-msgstr "E-mail Instellen"
+#: mod/editpost.php:124 include/conversation.php:1203
+msgid "Permission settings"
+msgstr "Instellingen van rechten"
 
-#: mod/settings.php:811
-msgid ""
-"If you wish to communicate with email contacts using this service "
-"(optional), please specify how to connect to your mailbox."
-msgstr "Als je wilt communiceren met e-mail contacten via deze dienst (optioneel), moet je hier opgeven hoe ik jouw mailbox kan bereiken."
+#: mod/editpost.php:132 include/acl_selectors.php:343
+msgid "CC: email addresses"
+msgstr "CC: e-mailadressen"
 
-#: mod/settings.php:812
-msgid "Last successful email check:"
-msgstr "Laatste succesvolle e-mail controle:"
+#: mod/editpost.php:133 include/conversation.php:1212
+msgid "Public post"
+msgstr "Openbare post"
 
-#: mod/settings.php:814
-msgid "IMAP server name:"
-msgstr "IMAP server naam:"
+#: mod/editpost.php:136 include/conversation.php:1199
+msgid "Set title"
+msgstr "Titel plaatsen"
 
-#: mod/settings.php:815
-msgid "IMAP port:"
-msgstr "IMAP poort:"
+#: mod/editpost.php:138 include/conversation.php:1201
+msgid "Categories (comma-separated list)"
+msgstr "Categorieën (komma-gescheiden lijst)"
 
-#: mod/settings.php:816
-msgid "Security:"
-msgstr "Beveiliging:"
+#: mod/editpost.php:139 include/acl_selectors.php:344
+msgid "Example: bob@example.com, mary@example.com"
+msgstr "Voorbeeld: bob@voorbeeld.nl, an@voorbeeld.be"
 
-#: mod/settings.php:816 mod/settings.php:821
-msgid "None"
-msgstr "Geen"
+#: mod/friendica.php:59
+msgid "This is Friendica, version"
+msgstr "Dit is Friendica, versie"
 
-#: mod/settings.php:817
-msgid "Email login name:"
-msgstr "E-mail login naam:"
+#: mod/friendica.php:60
+msgid "running at web location"
+msgstr "draaiend op web-adres"
 
-#: mod/settings.php:818
-msgid "Email password:"
-msgstr "E-mail wachtwoord:"
+#: mod/friendica.php:62
+msgid ""
+"Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn "
+"more about the Friendica project."
+msgstr "Bezoek <a href=\"http://friendica.com\">Friendica.com</a> om meer te leren over het Friendica project."
 
-#: mod/settings.php:819
-msgid "Reply-to address:"
-msgstr "Antwoord adres:"
+#: mod/friendica.php:64
+msgid "Bug reports and issues: please visit"
+msgstr "Bug rapporten en problemen: bezoek"
 
-#: mod/settings.php:820
-msgid "Send public posts to all email contacts:"
-msgstr "Openbare posts naar alle e-mail contacten versturen:"
+#: mod/friendica.php:64
+msgid "the bugtracker at github"
+msgstr ""
 
-#: mod/settings.php:821
-msgid "Action after import:"
-msgstr "Actie na importeren:"
+#: mod/friendica.php:65
+msgid ""
+"Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - "
+"dot com"
+msgstr "Suggesties, lof, donaties, enzovoort - stuur een e-mail naar \"info\" op Friendica - dot com"
 
-#: mod/settings.php:821
-msgid "Mark as seen"
-msgstr "Als 'gelezen' markeren"
+#: mod/friendica.php:79
+msgid "Installed plugins/addons/apps:"
+msgstr "Geïnstalleerde plugins/toepassingen:"
 
-#: mod/settings.php:821
-msgid "Move to folder"
-msgstr "Naar map verplaatsen"
+#: mod/friendica.php:92
+msgid "No installed plugins/addons/apps"
+msgstr "Geen plugins of toepassingen geïnstalleerd"
 
-#: mod/settings.php:822
-msgid "Move to folder:"
-msgstr "Verplaatsen naar map:"
+#: mod/api.php:76 mod/api.php:102
+msgid "Authorize application connection"
+msgstr ""
 
-#: mod/settings.php:903
-msgid "Display Settings"
-msgstr "Scherminstellingen"
+#: mod/api.php:77
+msgid "Return to your app and insert this Securty Code:"
+msgstr ""
 
-#: mod/settings.php:909 mod/settings.php:925
-msgid "Display Theme:"
-msgstr "Schermthema:"
+#: mod/api.php:89
+msgid "Please login to continue."
+msgstr "Log in om verder te gaan."
 
-#: mod/settings.php:910
-msgid "Mobile Theme:"
-msgstr "Mobiel thema:"
+#: mod/api.php:104
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Wil je deze toepassing toestemming geven om jouw berichten en contacten in te kijken, en/of nieuwe berichten in jouw plaats aan te maken?"
 
-#: mod/settings.php:911
-msgid "Update browser every xx seconds"
-msgstr "Browser elke xx seconden verversen"
+#: mod/lockview.php:31 mod/lockview.php:39
+msgid "Remote privacy information not available."
+msgstr "Privacyinformatie op afstand niet beschikbaar."
 
-#: mod/settings.php:911
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimum 10 seconden, geen maximum"
+#: mod/lockview.php:48
+msgid "Visible to:"
+msgstr "Zichtbaar voor:"
 
-#: mod/settings.php:912
-msgid "Number of items to display per page:"
-msgstr "Aantal items te tonen per pagina:"
+#: mod/notes.php:46 include/identity.php:677
+msgid "Personal Notes"
+msgstr "Persoonlijke Nota's"
 
-#: mod/settings.php:912 mod/settings.php:913
-msgid "Maximum of 100 items"
-msgstr "Maximum 100 items"
+#: mod/localtime.php:12 include/bb2diaspora.php:148 include/event.php:13
+msgid "l F d, Y \\@ g:i A"
+msgstr "l F d, Y \\@ g:i A"
 
-#: mod/settings.php:913
-msgid "Number of items to display per page when viewed from mobile device:"
-msgstr "Aantal items per pagina als je een mobiel toestel gebruikt:"
+#: mod/localtime.php:24
+msgid "Time Conversion"
+msgstr "Tijdsconversie"
 
-#: mod/settings.php:914
-msgid "Don't show emoticons"
-msgstr "Emoticons niet tonen"
+#: mod/localtime.php:26
+msgid ""
+"Friendica provides this service for sharing events with other networks and "
+"friends in unknown timezones."
+msgstr "Friendica biedt deze dienst aan om gebeurtenissen te delen met andere netwerken en vrienden in onbekende tijdzones."
 
-#: mod/settings.php:915
-msgid "Don't show notices"
-msgstr ""
+#: mod/localtime.php:30
+#, php-format
+msgid "UTC time: %s"
+msgstr "UTC tijd: %s"
 
-#: mod/settings.php:916
-msgid "Infinite scroll"
-msgstr "Oneindig scrollen"
+#: mod/localtime.php:33
+#, php-format
+msgid "Current timezone: %s"
+msgstr "Huidige Tijdzone: %s"
 
-#: mod/settings.php:917
-msgid "Automatic updates only at the top of the network page"
-msgstr ""
+#: mod/localtime.php:36
+#, php-format
+msgid "Converted localtime: %s"
+msgstr "Omgerekende lokale tijd: %s"
 
-#: mod/settings.php:995
-msgid "User Types"
-msgstr "Gebruikerstypes"
+#: mod/localtime.php:41
+msgid "Please select your timezone:"
+msgstr "Selecteer je tijdzone:"
 
-#: mod/settings.php:996
-msgid "Community Types"
-msgstr "Forum/groepstypes"
+#: mod/poke.php:191
+msgid "Poke/Prod"
+msgstr "Aanstoten/porren"
 
-#: mod/settings.php:997
-msgid "Normal Account Page"
-msgstr "Normale accountpagina"
+#: mod/poke.php:192
+msgid "poke, prod or do other things to somebody"
+msgstr "aanstoten, porren of andere dingen met iemand doen"
 
-#: mod/settings.php:998
-msgid "This account is a normal personal profile"
-msgstr "Deze account is een normaal persoonlijk profiel"
+#: mod/poke.php:193
+msgid "Recipient"
+msgstr "Ontvanger"
 
-#: mod/settings.php:1001
-msgid "Soapbox Page"
-msgstr "Zeepkist-pagina"
+#: mod/poke.php:194
+msgid "Choose what you wish to do to recipient"
+msgstr "Kies wat je met de ontvanger wil doen"
 
-#: mod/settings.php:1002
-msgid "Automatically approve all connection/friend requests as read-only fans"
-msgstr "Keur automatisch alle vriendschaps-/connectieverzoeken goed als fans met alleen recht tot lezen."
+#: mod/poke.php:197
+msgid "Make this post private"
+msgstr "Dit bericht privé maken"
 
-#: mod/settings.php:1005
-msgid "Community Forum/Celebrity Account"
-msgstr "Forum/groeps- of beroemdheid-account"
+#: mod/repair_ostatus.php:14
+msgid "Resubsribing to OStatus contacts"
+msgstr ""
 
-#: mod/settings.php:1006
-msgid ""
-"Automatically approve all connection/friend requests as read-write fans"
-msgstr "Keur automatisch alle vriendschaps-/connectieverzoeken goed als fans met recht tot lezen en schrijven."
+#: mod/repair_ostatus.php:30
+msgid "Error"
+msgstr ""
 
-#: mod/settings.php:1009
-msgid "Automatic Friend Page"
-msgstr "Automatisch Vriendschapspagina"
+#: mod/invite.php:27
+msgid "Total invitation limit exceeded."
+msgstr "Totale uitnodigingslimiet overschreden."
 
-#: mod/settings.php:1010
-msgid "Automatically approve all connection/friend requests as friends"
-msgstr "Keur automatisch alle vriendschaps-/connectieverzoeken goed als vrienden."
+#: mod/invite.php:49
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s: Geen geldig e-mailadres."
 
-#: mod/settings.php:1013
-msgid "Private Forum [Experimental]"
-msgstr "Privé-forum [experimenteel]"
+#: mod/invite.php:73
+msgid "Please join us on Friendica"
+msgstr "Kom bij ons op Friendica"
 
-#: mod/settings.php:1014
-msgid "Private forum - approved members only"
-msgstr "Privé-forum - enkel voor goedgekeurde leden"
+#: mod/invite.php:84
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Uitnodigingslimiet overschreden. Neem contact op met de beheerder van je website."
 
-#: mod/settings.php:1026
-msgid "OpenID:"
-msgstr "OpenID:"
+#: mod/invite.php:89
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s : Aflevering van bericht mislukt."
 
-#: mod/settings.php:1026
-msgid "(Optional) Allow this OpenID to login to this account."
-msgstr "(Optioneel) Laat dit OpenID toe om in te loggen op deze account."
+#: mod/invite.php:93
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d bericht verzonden."
+msgstr[1] "%d berichten verzonden."
 
-#: mod/settings.php:1036
-msgid "Publish your default profile in your local site directory?"
-msgstr "Je standaardprofiel in je lokale gids publiceren?"
+#: mod/invite.php:112
+msgid "You have no more invitations available"
+msgstr "Je kunt geen uitnodigingen meer sturen"
 
-#: mod/settings.php:1042
-msgid "Publish your default profile in the global social directory?"
-msgstr "Je standaardprofiel in de globale sociale gids publiceren?"
+#: mod/invite.php:120
+#, php-format
+msgid ""
+"Visit %s for a list of public sites that you can join. Friendica members on "
+"other sites can all connect with each other, as well as with members of many"
+" other social networks."
+msgstr "Bezoek %s voor een lijst van openbare sites waar je je kunt aansluiten. Friendica leden op andere sites kunnen allemaal met elkaar verbonden worden, en ook met leden van verschillende andere sociale netwerken."
 
-#: mod/settings.php:1050
-msgid "Hide your contact/friend list from viewers of your default profile?"
-msgstr "Je vrienden/contacten verbergen voor bezoekers van je standaard profiel?"
+#: mod/invite.php:122
+#, php-format
+msgid ""
+"To accept this invitation, please visit and register at %s or any other "
+"public Friendica website."
+msgstr "Om deze uitnodiging te accepteren kan je je op %s registreren of op een andere vrij toegankelijke Friendica-website."
 
-#: mod/settings.php:1054 include/acl_selectors.php:330
-msgid "Hide your profile details from unknown viewers?"
-msgstr "Je profieldetails verbergen voor onbekende bezoekers?"
+#: mod/invite.php:123
+#, php-format
+msgid ""
+"Friendica sites all inter-connect to create a huge privacy-enhanced social "
+"web that is owned and controlled by its members. They can also connect with "
+"many traditional social networks. See %s for a list of alternate Friendica "
+"sites you can join."
+msgstr "Friendica servers zijn allemaal onderling verbonden om een reusachtig sociaal web te maken met verbeterde privacy, dat eigendom is van en gecontroleerd door zijn leden. Ze kunnen ook verbindingen maken met verschillende traditionele sociale netwerken. Bekijk %s voor een lijst van alternatieve Friendica servers waar je aan kunt sluiten."
 
-#: mod/settings.php:1054
+#: mod/invite.php:126
 msgid ""
-"If enabled, posting public messages to Diaspora and other networks isn't "
-"possible."
-msgstr ""
+"Our apologies. This system is not currently configured to connect with other"
+" public sites or invite members."
+msgstr "Onze verontschuldigingen. Dit systeem is momenteel niet ingesteld om verbinding te maken met andere openbare plaatsen of leden uit te nodigen."
 
-#: mod/settings.php:1059
-msgid "Allow friends to post to your profile page?"
-msgstr "Vrienden toestaan om op jou profielpagina te posten?"
+#: mod/invite.php:132
+msgid "Send invitations"
+msgstr "Verstuur uitnodigingen"
 
-#: mod/settings.php:1065
-msgid "Allow friends to tag your posts?"
-msgstr "Sta vrienden toe om jouw berichten te labelen?"
+#: mod/invite.php:133
+msgid "Enter email addresses, one per line:"
+msgstr "Vul e-mailadressen in, Ã©Ã©n per lijn:"
 
-#: mod/settings.php:1071
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Sta je mij toe om jou als mogelijke vriend  voor te stellen aan nieuwe leden?"
+#: mod/invite.php:135
+msgid ""
+"You are cordially invited to join me and other close friends on Friendica - "
+"and help us to create a better social web."
+msgstr "Ik nodig je vriendelijk uit om bij mij en andere vrienden te komen op Friendica - en ons te helpen om een beter sociaal web te bouwen."
 
-#: mod/settings.php:1077
-msgid "Permit unknown people to send you private mail?"
-msgstr "Mogen onbekende personen jou privé berichten sturen?"
+#: mod/invite.php:137
+msgid "You will need to supply this invitation code: $invite_code"
+msgstr "Je zult deze uitnodigingscode moeten invullen: $invite_code"
 
-#: mod/settings.php:1085
-msgid "Profile is <strong>not published</strong>."
-msgstr "Profiel is <strong>niet gepubliceerd</strong>."
+#: mod/invite.php:137
+msgid ""
+"Once you have registered, please connect with me via my profile page at:"
+msgstr "Eens je geregistreerd bent kun je contact leggen met mij via mijn profielpagina op:"
 
-#: mod/settings.php:1093
-msgid "Your Identity Address is"
-msgstr "Jouw Identiteitsadres is"
+#: mod/invite.php:139
+msgid ""
+"For more information about the Friendica project and why we feel it is "
+"important, please visit http://friendica.com"
+msgstr "Voor meer informatie over het Friendica project en waarom wij denken dat het belangrijk is kun je http://friendica.com/ bezoeken"
 
-#: mod/settings.php:1102
-msgid "Automatically expire posts after this many days:"
-msgstr "Laat berichten automatisch vervallen na zo veel dagen:"
+#: mod/photos.php:91 include/identity.php:652
+msgid "Photo Albums"
+msgstr "Fotoalbums"
 
-#: mod/settings.php:1102
-msgid "If empty, posts will not expire. Expired posts will be deleted"
-msgstr "Berichten zullen niet vervallen indien leeg. Vervallen berichten zullen worden verwijderd."
+#: mod/photos.php:92 mod/photos.php:1891
+msgid "Recent Photos"
+msgstr "Recente foto's"
 
-#: mod/settings.php:1103
-msgid "Advanced expiration settings"
-msgstr "Geavanceerde instellingen voor vervallen"
+#: mod/photos.php:95 mod/photos.php:1312 mod/photos.php:1893
+msgid "Upload New Photos"
+msgstr "Nieuwe foto's uploaden"
 
-#: mod/settings.php:1104
-msgid "Advanced Expiration"
-msgstr "Geavanceerd Verval:"
+#: mod/photos.php:173
+msgid "Contact information unavailable"
+msgstr "Contactinformatie niet beschikbaar"
 
-#: mod/settings.php:1105
-msgid "Expire posts:"
-msgstr "Laat berichten vervallen:"
+#: mod/photos.php:194
+msgid "Album not found."
+msgstr "Album niet gevonden"
 
-#: mod/settings.php:1106
-msgid "Expire personal notes:"
-msgstr "Laat persoonlijke aantekeningen verlopen:"
+#: mod/photos.php:224 mod/photos.php:236 mod/photos.php:1254
+msgid "Delete Album"
+msgstr "Verwijder album"
 
-#: mod/settings.php:1107
-msgid "Expire starred posts:"
-msgstr "Laat berichten met ster verlopen"
+#: mod/photos.php:234
+msgid "Do you really want to delete this photo album and all its photos?"
+msgstr "Wil je echt dit fotoalbum en alle foto's erin verwijderen?"
 
-#: mod/settings.php:1108
-msgid "Expire photos:"
-msgstr "Laat foto's vervallen:"
+#: mod/photos.php:314 mod/photos.php:325 mod/photos.php:1572
+msgid "Delete Photo"
+msgstr "Verwijder foto"
 
-#: mod/settings.php:1109
-msgid "Only expire posts by others:"
-msgstr "Laat alleen berichten door anderen vervallen:"
+#: mod/photos.php:323
+msgid "Do you really want to delete this photo?"
+msgstr "Wil je echt deze foto verwijderen?"
 
-#: mod/settings.php:1135
-msgid "Account Settings"
-msgstr "Account Instellingen"
+#: mod/photos.php:698
+#, php-format
+msgid "%1$s was tagged in %2$s by %3$s"
+msgstr "%1$s is gelabeld in %2$s door %3$s"
 
-#: mod/settings.php:1143
-msgid "Password Settings"
-msgstr "Wachtwoord Instellingen"
+#: mod/photos.php:698
+msgid "a photo"
+msgstr "een foto"
 
-#: mod/settings.php:1145
-msgid "Leave password fields blank unless changing"
-msgstr "Laat de wachtwoord-velden leeg, tenzij je het wilt veranderen"
+#: mod/photos.php:811
+msgid "Image file is empty."
+msgstr "Afbeeldingsbestand is leeg."
 
-#: mod/settings.php:1146
-msgid "Current Password:"
-msgstr "Huidig wachtwoord:"
+#: mod/photos.php:978
+msgid "No photos selected"
+msgstr "Geen foto's geselecteerd"
 
-#: mod/settings.php:1146 mod/settings.php:1147
-msgid "Your current password to confirm the changes"
-msgstr "Je huidig wachtwoord om de wijzigingen te bevestigen"
+#: mod/photos.php:1139
+#, php-format
+msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
+msgstr "Je hebt %1$.2f Mbytes van %2$.2f Mbytes foto-opslagruimte gebruikt."
 
-#: mod/settings.php:1147
-msgid "Password:"
-msgstr "Wachtwoord:"
+#: mod/photos.php:1174
+msgid "Upload Photos"
+msgstr "Upload foto's"
 
-#: mod/settings.php:1151
-msgid "Basic Settings"
-msgstr "Basis Instellingen"
+#: mod/photos.php:1178 mod/photos.php:1249
+msgid "New album name: "
+msgstr "Nieuwe albumnaam: "
 
-#: mod/settings.php:1152 include/identity.php:538
-msgid "Full Name:"
-msgstr "Volledige Naam:"
+#: mod/photos.php:1179
+msgid "or existing album name: "
+msgstr "of bestaande albumnaam: "
 
-#: mod/settings.php:1153
-msgid "Email Address:"
-msgstr "E-mailadres:"
+#: mod/photos.php:1180
+msgid "Do not show a status post for this upload"
+msgstr "Toon geen bericht op je tijdlijn van deze upload"
 
-#: mod/settings.php:1154
-msgid "Your Timezone:"
-msgstr "Je Tijdzone:"
+#: mod/photos.php:1182 mod/photos.php:1567 include/acl_selectors.php:346
+msgid "Permissions"
+msgstr "Rechten"
 
-#: mod/settings.php:1155
-msgid "Default Post Location:"
-msgstr "Standaard locatie:"
+#: mod/photos.php:1193
+msgid "Private Photo"
+msgstr "Privé foto"
 
-#: mod/settings.php:1156
-msgid "Use Browser Location:"
-msgstr "Gebruik Webbrowser Locatie:"
+#: mod/photos.php:1194
+msgid "Public Photo"
+msgstr "Publieke foto"
 
-#: mod/settings.php:1159
-msgid "Security and Privacy Settings"
-msgstr "Instellingen voor Beveiliging en Privacy"
+#: mod/photos.php:1262
+msgid "Edit Album"
+msgstr "Album wijzigen"
 
-#: mod/settings.php:1161
-msgid "Maximum Friend Requests/Day:"
-msgstr "Maximum aantal vriendschapsverzoeken per dag:"
+#: mod/photos.php:1268
+msgid "Show Newest First"
+msgstr "Toon niewste eerst"
 
-#: mod/settings.php:1161 mod/settings.php:1191
-msgid "(to prevent spam abuse)"
-msgstr "(om spam misbruik te voorkomen)"
+#: mod/photos.php:1270
+msgid "Show Oldest First"
+msgstr "Toon oudste eerst"
 
-#: mod/settings.php:1162
-msgid "Default Post Permissions"
-msgstr "Standaard rechten voor nieuwe berichten"
+#: mod/photos.php:1298 mod/photos.php:1876
+msgid "View Photo"
+msgstr "Bekijk foto"
 
-#: mod/settings.php:1163
-msgid "(click to open/close)"
-msgstr "(klik om te openen/sluiten)"
+#: mod/photos.php:1345
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Toegang geweigerd. Toegang tot dit item is mogelijk beperkt."
 
-#: mod/settings.php:1174
-msgid "Default Private Post"
-msgstr "Standaard Privé Post"
+#: mod/photos.php:1347
+msgid "Photo not available"
+msgstr "Foto is niet beschikbaar"
 
-#: mod/settings.php:1175
-msgid "Default Public Post"
-msgstr "Standaard Publieke Post"
+#: mod/photos.php:1403
+msgid "View photo"
+msgstr "Bekijk foto"
 
-#: mod/settings.php:1179
-msgid "Default Permissions for New Posts"
-msgstr "Standaard rechten voor nieuwe berichten"
+#: mod/photos.php:1403
+msgid "Edit photo"
+msgstr "Bewerk foto"
 
-#: mod/settings.php:1191
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Maximum aantal privé-berichten per dag van onbekende personen:"
+#: mod/photos.php:1404
+msgid "Use as profile photo"
+msgstr "Gebruik als profielfoto"
 
-#: mod/settings.php:1194
-msgid "Notification Settings"
-msgstr "Notificatie Instellingen"
+#: mod/photos.php:1429
+msgid "View Full Size"
+msgstr "Bekijk in volledig formaat"
 
-#: mod/settings.php:1195
-msgid "By default post a status message when:"
-msgstr "Post automatisch een bericht op je tijdlijn wanneer:"
+#: mod/photos.php:1515
+msgid "Tags: "
+msgstr "Labels: "
 
-#: mod/settings.php:1196
-msgid "accepting a friend request"
-msgstr "Een vriendschapsverzoek accepteren"
+#: mod/photos.php:1518
+msgid "[Remove any tag]"
+msgstr "[Alle labels verwijderen]"
 
-#: mod/settings.php:1197
-msgid "joining a forum/community"
-msgstr "Lid worden van een groep/forum"
+#: mod/photos.php:1558
+msgid "New album name"
+msgstr "Nieuwe albumnaam"
 
-#: mod/settings.php:1198
-msgid "making an <em>interesting</em> profile change"
-msgstr "Een <em>interessante</em> verandering aan je profiel"
+#: mod/photos.php:1559
+msgid "Caption"
+msgstr "Onderschrift"
 
-#: mod/settings.php:1199
-msgid "Send a notification email when:"
-msgstr "Stuur een notificatie e-mail wanneer:"
+#: mod/photos.php:1560
+msgid "Add a Tag"
+msgstr "Een label toevoegen"
 
-#: mod/settings.php:1200
-msgid "You receive an introduction"
-msgstr "Je ontvangt een vriendschaps- of connectieverzoek"
+#: mod/photos.php:1560
+msgid ""
+"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
+msgstr "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl, #Ardennen, #camping "
 
-#: mod/settings.php:1201
-msgid "Your introductions are confirmed"
-msgstr "Jouw vriendschaps- of connectieverzoeken zijn bevestigd"
+#: mod/photos.php:1561
+msgid "Do not rotate"
+msgstr ""
 
-#: mod/settings.php:1202
-msgid "Someone writes on your profile wall"
-msgstr "Iemand iets op je tijdlijn schrijft"
+#: mod/photos.php:1562
+msgid "Rotate CW (right)"
+msgstr "Roteren met de klok mee (rechts)"
 
-#: mod/settings.php:1203
-msgid "Someone writes a followup comment"
-msgstr "Iemand een reactie schrijft"
+#: mod/photos.php:1563
+msgid "Rotate CCW (left)"
+msgstr "Roteren tegen de klok in (links)"
 
-#: mod/settings.php:1204
-msgid "You receive a private message"
-msgstr "Je een privé-bericht ontvangt"
+#: mod/photos.php:1578
+msgid "Private photo"
+msgstr "Privé foto"
 
-#: mod/settings.php:1205
-msgid "You receive a friend suggestion"
-msgstr "Je een suggestie voor een vriendschap ontvangt"
+#: mod/photos.php:1579
+msgid "Public photo"
+msgstr "Publieke foto"
 
-#: mod/settings.php:1206
-msgid "You are tagged in a post"
-msgstr "Je expliciet in een bericht bent genoemd"
+#: mod/photos.php:1601 include/conversation.php:1183
+msgid "Share"
+msgstr "Delen"
 
-#: mod/settings.php:1207
-msgid "You are poked/prodded/etc. in a post"
-msgstr "Je in een bericht bent aangestoten/gepord/etc."
+#: mod/photos.php:1640 include/conversation.php:509
+#: include/conversation.php:1405
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] ""
+msgstr[1] ""
 
-#: mod/settings.php:1209
-msgid "Activate desktop notifications"
+#: mod/photos.php:1640 include/conversation.php:509
+msgid "Not attending"
 msgstr ""
 
-#: mod/settings.php:1209
-msgid "Show desktop popup on new notifications"
+#: mod/photos.php:1640 include/conversation.php:509
+msgid "Might attend"
 msgstr ""
 
-#: mod/settings.php:1211
-msgid "Text-only notification emails"
+#: mod/photos.php:1805
+msgid "Map"
 msgstr ""
 
-#: mod/settings.php:1213
-msgid "Send text only notification emails, without the html part"
+#: mod/p.php:9
+msgid "Not Extended"
 msgstr ""
 
-#: mod/settings.php:1215
-msgid "Advanced Account/Page Type Settings"
-msgstr ""
+#: mod/regmod.php:55
+msgid "Account approved."
+msgstr "Account goedgekeurd."
+
+#: mod/regmod.php:92
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registratie ingetrokken voor %s"
+
+#: mod/regmod.php:104
+msgid "Please login."
+msgstr "Inloggen."
+
+#: mod/uimport.php:66
+msgid "Move account"
+msgstr "Account verplaatsen"
+
+#: mod/uimport.php:67
+msgid "You can import an account from another Friendica server."
+msgstr "Je kunt een account van een andere Friendica server importeren."
+
+#: mod/uimport.php:68
+msgid ""
+"You need to export your account from the old server and upload it here. We "
+"will recreate your old account here with all your contacts. We will try also"
+" to inform your friends that you moved here."
+msgstr "Je moet je account bij de oude server exporteren, en hier uploaden. We zullen je oude account hier opnieuw aanmaken, met al je contacten. We zullen ook proberen om je vrienden in te lichten dat je naar hier verhuisd bent."
 
-#: mod/settings.php:1216
-msgid "Change the behaviour of this account for special situations"
+#: mod/uimport.php:69
+msgid ""
+"This feature is experimental. We can't import contacts from the OStatus "
+"network (GNU Social/Statusnet) or from Diaspora"
 msgstr ""
 
-#: mod/settings.php:1219
-msgid "Relocate"
-msgstr ""
+#: mod/uimport.php:70
+msgid "Account file"
+msgstr "Account bestand"
 
-#: mod/settings.php:1220
+#: mod/uimport.php:70
 msgid ""
-"If you have moved this profile from another server, and some of your "
-"contacts don't receive your updates, try pushing this button."
+"To export your account, go to \"Settings->Export your personal data\" and "
+"select \"Export account\""
 msgstr ""
 
-#: mod/settings.php:1221
-msgid "Resend relocate message to contacts"
-msgstr ""
+#: mod/attach.php:8
+msgid "Item not available."
+msgstr "Item niet beschikbaar"
 
-#: mod/bookmarklet.php:12 include/nav.php:92 boot.php:1263
-msgid "Login"
-msgstr "Login"
+#: mod/attach.php:20
+msgid "Item was not found."
+msgstr "Item niet gevonden"
 
-#: mod/bookmarklet.php:41
-msgid "The post was created"
-msgstr ""
+#: boot.php:771
+msgid "Delete this item?"
+msgstr "Dit item verwijderen?"
 
-#: mod/friendica.php:59
-msgid "This is Friendica, version"
-msgstr "Dit is Friendica, versie"
+#: boot.php:774
+msgid "show fewer"
+msgstr "Minder tonen"
 
-#: mod/friendica.php:60
-msgid "running at web location"
-msgstr "draaiend op web-adres"
+#: boot.php:1148
+#, php-format
+msgid "Update %s failed. See error logs."
+msgstr "Wijziging %s mislukt. Lees de error logbestanden."
 
-#: mod/friendica.php:62
-msgid ""
-"Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn "
-"more about the Friendica project."
-msgstr "Bezoek <a href=\"http://friendica.com\">Friendica.com</a> om meer te leren over het Friendica project."
+#: boot.php:1255
+msgid "Create a New Account"
+msgstr "Nieuwe account aanmaken"
 
-#: mod/friendica.php:64
-msgid "Bug reports and issues: please visit"
-msgstr "Bug rapporten en problemen: bezoek"
+#: boot.php:1280 include/nav.php:72
+msgid "Logout"
+msgstr "Uitloggen"
 
-#: mod/friendica.php:64
-msgid "the bugtracker at github"
-msgstr ""
+#: boot.php:1283
+msgid "Nickname or Email address: "
+msgstr "Bijnaam of e-mailadres:"
 
-#: mod/friendica.php:65
-msgid ""
-"Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - "
-"dot com"
-msgstr "Suggesties, lof, donaties, enzovoort - stuur een e-mail naar \"info\" op Friendica - dot com"
+#: boot.php:1284
+msgid "Password: "
+msgstr "Wachtwoord:"
 
-#: mod/friendica.php:79
-msgid "Installed plugins/addons/apps:"
-msgstr "Geïnstalleerde plugins/toepassingen:"
+#: boot.php:1285
+msgid "Remember me"
+msgstr "Onthou me"
 
-#: mod/friendica.php:92
-msgid "No installed plugins/addons/apps"
-msgstr "Geen plugins of toepassingen geïnstalleerd"
+#: boot.php:1288
+msgid "Or login using OpenID: "
+msgstr "Of log in met OpenID:"
 
-#: include/contact_widgets.php:6
-msgid "Add New Contact"
-msgstr "Nieuw Contact toevoegen"
+#: boot.php:1294
+msgid "Forgot your password?"
+msgstr "Wachtwoord vergeten?"
 
-#: include/contact_widgets.php:7
-msgid "Enter address or web location"
-msgstr "Voeg een webadres of -locatie in:"
+#: boot.php:1297
+msgid "Website Terms of Service"
+msgstr "Gebruikersvoorwaarden website"
 
-#: include/contact_widgets.php:8
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Voorbeeld: jan@voorbeeld.be, http://voorbeeld.nl/barbara"
+#: boot.php:1298
+msgid "terms of service"
+msgstr "servicevoorwaarden"
 
-#: include/contact_widgets.php:24
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d uitnodiging beschikbaar"
-msgstr[1] "%d uitnodigingen beschikbaar"
+#: boot.php:1300
+msgid "Website Privacy Policy"
+msgstr "Privacybeleid website"
 
-#: include/contact_widgets.php:30
-msgid "Find People"
-msgstr "Zoek mensen"
+#: boot.php:1301
+msgid "privacy policy"
+msgstr "privacybeleid"
 
-#: include/contact_widgets.php:31
-msgid "Enter name or interest"
-msgstr "Vul naam of interesse in"
+#: object/Item.php:95
+msgid "This entry was edited"
+msgstr ""
 
-#: include/contact_widgets.php:32
-msgid "Connect/Follow"
-msgstr "Verbind/Volg"
+#: object/Item.php:191
+msgid "I will attend"
+msgstr ""
 
-#: include/contact_widgets.php:33
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Voorbeelden: Jan Peeters, Vissen"
+#: object/Item.php:191
+msgid "I will not attend"
+msgstr ""
 
-#: include/contact_widgets.php:37
-msgid "Random Profile"
-msgstr "Willekeurig Profiel"
+#: object/Item.php:191
+msgid "I might attend"
+msgstr ""
 
-#: include/contact_widgets.php:71
-msgid "Networks"
-msgstr "Netwerken"
+#: object/Item.php:230
+msgid "ignore thread"
+msgstr ""
 
-#: include/contact_widgets.php:74
-msgid "All Networks"
-msgstr "Alle netwerken"
+#: object/Item.php:231
+msgid "unignore thread"
+msgstr ""
 
-#: include/contact_widgets.php:104 include/features.php:60
-msgid "Saved Folders"
-msgstr "Bewaarde Mappen"
+#: object/Item.php:232
+msgid "toggle ignore status"
+msgstr ""
 
-#: include/contact_widgets.php:107 include/contact_widgets.php:139
-msgid "Everything"
-msgstr "Alles"
+#: object/Item.php:345 include/conversation.php:687
+msgid "Categories:"
+msgstr "Categorieën:"
 
-#: include/contact_widgets.php:136
-msgid "Categories"
-msgstr "Categorieën"
+#: object/Item.php:346 include/conversation.php:688
+msgid "Filed under:"
+msgstr "Bewaard onder:"
 
-#: include/plugin.php:455 include/plugin.php:457
-msgid "Click here to upgrade."
-msgstr ""
+#: object/Item.php:360
+msgid "via"
+msgstr "via"
 
-#: include/plugin.php:463
-msgid "This action exceeds the limits set by your subscription plan."
+#: include/dbstructure.php:26
+#, php-format
+msgid ""
+"\n"
+"\t\t\tThe friendica developers released update %s recently,\n"
+"\t\t\tbut when I tried to install it, something went terribly wrong.\n"
+"\t\t\tThis needs to be fixed soon and I can't do it alone. Please contact a\n"
+"\t\t\tfriendica developer if you can not help me on your own. My database might be invalid."
 msgstr ""
 
-#: include/plugin.php:468
-msgid "This action is not available under your subscription plan."
+#: include/dbstructure.php:31
+#, php-format
+msgid ""
+"The error message is\n"
+"[pre]%s[/pre]"
 msgstr ""
 
-#: include/dba_pdo.php:72 include/dba.php:56
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
+#: include/dbstructure.php:152
+msgid "Errors encountered creating database tables."
+msgstr "Tijdens het aanmaken van databasetabellen zijn fouten vastgesteld."
+
+#: include/dbstructure.php:210
+msgid "Errors encountered performing database changes."
 msgstr ""
 
 #: include/auth.php:38
@@ -5954,125 +6256,70 @@ msgstr ""
 msgid "The error message was:"
 msgstr "De foutboodschap was:"
 
-#: include/uimport.php:94
-msgid "Error decoding account file"
-msgstr ""
-
-#: include/uimport.php:100
-msgid "Error! No version data in file! This is not a Friendica account file?"
-msgstr ""
-
-#: include/uimport.php:116 include/uimport.php:127
-msgid "Error! Cannot check nickname"
-msgstr ""
-
-#: include/uimport.php:120 include/uimport.php:131
-#, php-format
-msgid "User '%s' already exists on this server!"
-msgstr "Gebruiker '%s' bestaat al op deze server!"
-
-#: include/uimport.php:153
-msgid "User creation error"
-msgstr "Fout bij het aanmaken van de gebruiker"
-
-#: include/uimport.php:171
-msgid "User profile creation error"
-msgstr "Fout bij het aanmaken van het gebruikersprofiel"
-
-#: include/uimport.php:220
-#, php-format
-msgid "%d contact not imported"
-msgid_plural "%d contacts not imported"
-msgstr[0] "%d contact werd niet geïmporteerd"
-msgstr[1] "%d contacten werden niet geïmporteerd"
-
-#: include/uimport.php:290
-msgid "Done. You can now login with your username and password"
-msgstr "Gebeurd. Je kunt nu inloggen met je gebruikersnaam en wachtwoord"
-
-#: include/message.php:15 include/message.php:172
-msgid "[no subject]"
-msgstr "[geen onderwerp]"
-
-#: include/contact_selectors.php:32
-msgid "Unknown | Not categorised"
-msgstr "Onbekend | Niet "
-
-#: include/contact_selectors.php:33
-msgid "Block immediately"
-msgstr "Onmiddellijk blokkeren"
-
-#: include/contact_selectors.php:34
-msgid "Shady, spammer, self-marketer"
-msgstr "Onbetrouwbaar, spammer, zelfpromotor"
-
-#: include/contact_selectors.php:35
-msgid "Known to me, but no opinion"
-msgstr "Bekend, maar geen mening"
-
-#: include/contact_selectors.php:36
-msgid "OK, probably harmless"
-msgstr "OK, waarschijnlijk onschadelijk"
-
-#: include/contact_selectors.php:37
-msgid "Reputable, has my trust"
-msgstr "Gerenommeerd, heeft mijn vertrouwen"
+#: include/contact_widgets.php:6
+msgid "Add New Contact"
+msgstr "Nieuw Contact toevoegen"
 
-#: include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "wekelijks"
+#: include/contact_widgets.php:7
+msgid "Enter address or web location"
+msgstr "Voeg een webadres of -locatie in:"
 
-#: include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "maandelijks"
+#: include/contact_widgets.php:8
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Voorbeeld: jan@voorbeeld.be, http://voorbeeld.nl/barbara"
 
-#: include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
+#: include/contact_widgets.php:24
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d uitnodiging beschikbaar"
+msgstr[1] "%d uitnodigingen beschikbaar"
 
-#: include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
+#: include/contact_widgets.php:30
+msgid "Find People"
+msgstr "Zoek mensen"
 
-#: include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
+#: include/contact_widgets.php:31
+msgid "Enter name or interest"
+msgstr "Vul naam of interesse in"
 
-#: include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "Linkedln"
+#: include/contact_widgets.php:33
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Voorbeelden: Jan Peeters, Vissen"
 
-#: include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
+#: include/contact_widgets.php:36 view/theme/diabook/theme.php:526
+#: view/theme/vier/theme.php:192
+msgid "Similar Interests"
+msgstr "Dezelfde interesses"
 
-#: include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "Myspace"
+#: include/contact_widgets.php:37
+msgid "Random Profile"
+msgstr "Willekeurig Profiel"
 
-#: include/contact_selectors.php:87
-msgid "Google+"
-msgstr "Google+"
+#: include/contact_widgets.php:38 view/theme/diabook/theme.php:528
+#: view/theme/vier/theme.php:194
+msgid "Invite Friends"
+msgstr "Vrienden uitnodigen"
 
-#: include/contact_selectors.php:88
-msgid "pump.io"
-msgstr "pump.io"
+#: include/contact_widgets.php:71
+msgid "Networks"
+msgstr "Netwerken"
 
-#: include/contact_selectors.php:89
-msgid "Twitter"
-msgstr "Twitter"
+#: include/contact_widgets.php:74
+msgid "All Networks"
+msgstr "Alle netwerken"
 
-#: include/contact_selectors.php:90
-msgid "Diaspora Connector"
-msgstr "Diaspora-connector"
+#: include/contact_widgets.php:104 include/features.php:61
+msgid "Saved Folders"
+msgstr "Bewaarde Mappen"
 
-#: include/contact_selectors.php:91
-msgid "Statusnet"
-msgstr "Statusnet"
+#: include/contact_widgets.php:107 include/contact_widgets.php:139
+msgid "Everything"
+msgstr "Alles"
 
-#: include/contact_selectors.php:92
-msgid "App.net"
-msgstr ""
+#: include/contact_widgets.php:136
+msgid "Categories"
+msgstr "Categorieën"
 
 #: include/features.php:23
 msgid "General Features"
@@ -6086,1875 +6333,2157 @@ msgstr "Meerdere profielen"
 msgid "Ability to create multiple profiles"
 msgstr "Mogelijkheid om meerdere profielen aan te maken"
 
-#: include/features.php:30
+#: include/features.php:26
+msgid "Photo Location"
+msgstr ""
+
+#: include/features.php:26
+msgid ""
+"Photo metadata is normally stripped. This extracts the location (if present)"
+" prior to stripping metadata and links it to a map."
+msgstr ""
+
+#: include/features.php:31
 msgid "Post Composition Features"
 msgstr "Functies voor het opstellen van berichten"
 
-#: include/features.php:31
+#: include/features.php:32
 msgid "Richtext Editor"
 msgstr "Tekstverwerker met opmaak"
 
-#: include/features.php:31
+#: include/features.php:32
 msgid "Enable richtext editor"
 msgstr "Gebruik een tekstverwerker met eenvoudige opmaakfuncties"
 
-#: include/features.php:32
+#: include/features.php:33
 msgid "Post Preview"
 msgstr "Voorvertoning bericht"
 
-#: include/features.php:32
+#: include/features.php:33
 msgid "Allow previewing posts and comments before publishing them"
 msgstr ""
 
-#: include/features.php:33
+#: include/features.php:34
 msgid "Auto-mention Forums"
 msgstr ""
 
-#: include/features.php:33
+#: include/features.php:34
 msgid ""
 "Add/remove mention when a fourm page is selected/deselected in ACL window."
 msgstr ""
 
-#: include/features.php:38
+#: include/features.php:39
 msgid "Network Sidebar Widgets"
 msgstr "Zijbalkwidgets op netwerkpagina"
 
-#: include/features.php:39
+#: include/features.php:40
 msgid "Search by Date"
 msgstr "Zoeken op datum"
 
-#: include/features.php:39
+#: include/features.php:40
 msgid "Ability to select posts by date ranges"
 msgstr "Mogelijkheid om berichten te selecteren volgens datumbereik"
 
-#: include/features.php:40
+#: include/features.php:41
 msgid "Group Filter"
 msgstr "Groepsfilter"
 
-#: include/features.php:40
+#: include/features.php:41
 msgid "Enable widget to display Network posts only from selected group"
 msgstr "Sta de widget toe om netwerkberichten te tonen van bepaalde groepen"
 
-#: include/features.php:41
+#: include/features.php:42
 msgid "Network Filter"
 msgstr "Netwerkfilter"
 
-#: include/features.php:41
+#: include/features.php:42
 msgid "Enable widget to display Network posts only from selected network"
 msgstr "Sta de widget toe om netwerkberichten te tonen van bepaalde netwerken"
 
-#: include/features.php:42
+#: include/features.php:43
 msgid "Save search terms for re-use"
 msgstr "Sla zoekopdrachten op voor hergebruik"
 
-#: include/features.php:47
+#: include/features.php:48
 msgid "Network Tabs"
 msgstr "Netwerktabs"
 
-#: include/features.php:48
+#: include/features.php:49
 msgid "Network Personal Tab"
 msgstr "Persoonlijke netwerktab"
 
-#: include/features.php:48
+#: include/features.php:49
 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:49
+#: include/features.php:50
 msgid "Network New Tab"
 msgstr "Nieuwe netwerktab"
 
-#: include/features.php:49
+#: include/features.php:50
 msgid "Enable tab to display only new Network posts (from the last 12 hours)"
 msgstr "Laat de tab alleen nieuwe netwerkberichten tonen (van de laatste 12 uur)"
 
-#: include/features.php:50
+#: include/features.php:51
 msgid "Network Shared Links Tab"
 msgstr ""
 
-#: include/features.php:50
+#: include/features.php:51
 msgid "Enable tab to display only Network posts with links in them"
 msgstr ""
 
-#: include/features.php:55
+#: include/features.php:56
 msgid "Post/Comment Tools"
 msgstr "Bericht-/reactiehulpmiddelen"
 
-#: include/features.php:56
+#: include/features.php:57
 msgid "Multiple Deletion"
 msgstr "Meervoudige verwijdering"
 
-#: include/features.php:56
+#: include/features.php:57
 msgid "Select and delete multiple posts/comments at once"
 msgstr "Selecteer en verwijder meerdere berichten/reacties in een keer"
 
-#: include/features.php:57
+#: include/features.php:58
 msgid "Edit Sent Posts"
 msgstr "Bewerk verzonden berichten"
 
-#: include/features.php:57
+#: include/features.php:58
 msgid "Edit and correct posts and comments after sending"
 msgstr "Bewerk en corrigeer berichten en reacties na verzending"
 
-#: include/features.php:58
+#: include/features.php:59
 msgid "Tagging"
 msgstr "Labelen"
 
-#: include/features.php:58
+#: include/features.php:59
 msgid "Ability to tag existing posts"
 msgstr "Mogelijkheid om bestaande berichten te labelen"
 
-#: include/features.php:59
+#: include/features.php:60
 msgid "Post Categories"
 msgstr "Categorieën berichten"
 
-#: include/features.php:59
+#: include/features.php:60
 msgid "Add categories to your posts"
 msgstr "Voeg categorieën toe aan je berichten"
 
-#: include/features.php:60
+#: include/features.php:61
 msgid "Ability to file posts under folders"
 msgstr "Mogelijkheid om berichten in mappen te bewaren"
 
-#: include/features.php:61
+#: include/features.php:62
 msgid "Dislike Posts"
 msgstr "Vind berichten niet leuk"
 
-#: include/features.php:61
+#: include/features.php:62
 msgid "Ability to dislike posts/comments"
 msgstr "Mogelijkheid om berichten of reacties niet leuk te vinden"
 
-#: include/features.php:62
+#: include/features.php:63
 msgid "Star Posts"
 msgstr "Geef berichten een ster"
 
-#: include/features.php:62
+#: include/features.php:63
 msgid "Ability to mark special posts with a star indicator"
 msgstr ""
 
-#: include/features.php:63
+#: include/features.php:64
 msgid "Mute Post Notifications"
 msgstr ""
 
-#: include/features.php:63
+#: include/features.php:64
 msgid "Ability to mute notifications for a thread"
 msgstr ""
 
-#: include/profile_selectors.php:6
-msgid "Male"
-msgstr "Man"
+#: include/follow.php:77
+msgid "Connect URL missing."
+msgstr ""
 
-#: include/profile_selectors.php:6
-msgid "Female"
-msgstr "Vrouw"
+#: include/follow.php:104
+msgid ""
+"This site is not configured to allow communications with other networks."
+msgstr "Deze website is niet geconfigureerd voor communicatie met andere netwerken."
 
-#: include/profile_selectors.php:6
-msgid "Currently Male"
-msgstr "Momenteel mannelijk"
+#: include/follow.php:105 include/follow.php:125
+msgid "No compatible communication protocols or feeds were discovered."
+msgstr "Er werden geen compatibele communicatieprotocols of feeds ontdekt."
 
-#: include/profile_selectors.php:6
-msgid "Currently Female"
-msgstr "Momenteel vrouwelijk"
+#: include/follow.php:123
+msgid "The profile address specified does not provide adequate information."
+msgstr ""
 
-#: include/profile_selectors.php:6
-msgid "Mostly Male"
-msgstr "Meestal mannelijk"
+#: include/follow.php:127
+msgid "An author or name was not found."
+msgstr ""
 
-#: include/profile_selectors.php:6
-msgid "Mostly Female"
-msgstr "Meestal vrouwelijk"
+#: include/follow.php:129
+msgid "No browser URL could be matched to this address."
+msgstr ""
 
-#: include/profile_selectors.php:6
-msgid "Transgender"
-msgstr "Transgender"
+#: include/follow.php:131
+msgid ""
+"Unable to match @-style Identity Address with a known protocol or email "
+"contact."
+msgstr "Het @-stijl-identiteitsadres komt niet overeen met een nekend protocol of e-mailcontact."
 
-#: include/profile_selectors.php:6
-msgid "Intersex"
-msgstr "Interseksueel"
+#: include/follow.php:132
+msgid "Use mailto: in front of address to force email check."
+msgstr "Gebruik mailto: voor het adres om een e-mailcontrole af te dwingen."
 
-#: include/profile_selectors.php:6
-msgid "Transsexual"
-msgstr "Transseksueel"
+#: include/follow.php:138
+msgid ""
+"The profile address specified belongs to a network which has been disabled "
+"on this site."
+msgstr ""
 
-#: include/profile_selectors.php:6
-msgid "Hermaphrodite"
-msgstr "Hermafrodiet"
+#: include/follow.php:148
+msgid ""
+"Limited profile. This person will be unable to receive direct/personal "
+"notifications from you."
+msgstr ""
+
+#: include/follow.php:249
+msgid "Unable to retrieve contact information."
+msgstr ""
+
+#: include/follow.php:302
+msgid "following"
+msgstr "volgend"
+
+#: include/group.php:25
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Een verwijderde groep met deze naam is weer tot leven gewekt. Bestaande itemrechten <strong>kunnen</strong> voor deze groep en toekomstige leden gelden. Wanneer je niet zo had bedoeld kan je een andere groep met een andere naam creëren. "
+
+#: include/group.php:209
+msgid "Default privacy group for new contacts"
+msgstr ""
+
+#: include/group.php:228
+msgid "Everybody"
+msgstr "Iedereen"
+
+#: include/group.php:251
+msgid "edit"
+msgstr "verander"
+
+#: include/group.php:273
+msgid "Edit group"
+msgstr "Verander groep"
+
+#: include/group.php:274
+msgid "Create a new group"
+msgstr "Maak nieuwe groep"
+
+#: include/group.php:277
+msgid "Contacts not in any group"
+msgstr ""
+
+#: include/datetime.php:43 include/datetime.php:45
+msgid "Miscellaneous"
+msgstr "Diversen"
+
+#: include/datetime.php:141
+msgid "YYYY-MM-DD or MM-DD"
+msgstr ""
+
+#: include/datetime.php:271
+msgid "never"
+msgstr "nooit"
+
+#: include/datetime.php:277
+msgid "less than a second ago"
+msgstr "minder dan een seconde geleden"
+
+#: include/datetime.php:287
+msgid "year"
+msgstr "jaar"
+
+#: include/datetime.php:287
+msgid "years"
+msgstr "jaren"
+
+#: include/datetime.php:288
+msgid "months"
+msgstr "maanden"
+
+#: include/datetime.php:289
+msgid "weeks"
+msgstr "weken"
+
+#: include/datetime.php:290
+msgid "days"
+msgstr "dagen"
 
-#: include/profile_selectors.php:6
-msgid "Neuter"
-msgstr "Genderneutraal"
+#: include/datetime.php:291
+msgid "hour"
+msgstr "uur"
 
-#: include/profile_selectors.php:6
-msgid "Non-specific"
-msgstr "Niet-specifiek"
+#: include/datetime.php:291
+msgid "hours"
+msgstr "uren"
 
-#: include/profile_selectors.php:6
-msgid "Other"
-msgstr "Anders"
+#: include/datetime.php:292
+msgid "minute"
+msgstr "minuut"
 
-#: include/profile_selectors.php:6
-msgid "Undecided"
-msgstr "Onbeslist"
+#: include/datetime.php:292
+msgid "minutes"
+msgstr "minuten"
 
-#: include/profile_selectors.php:23
-msgid "Males"
-msgstr "Mannen"
+#: include/datetime.php:293
+msgid "second"
+msgstr "seconde"
 
-#: include/profile_selectors.php:23
-msgid "Females"
-msgstr "Vrouwen"
+#: include/datetime.php:293
+msgid "seconds"
+msgstr "secondes"
 
-#: include/profile_selectors.php:23
-msgid "Gay"
-msgstr "Homo"
+#: include/datetime.php:302
+#, php-format
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s geleden"
 
-#: include/profile_selectors.php:23
-msgid "Lesbian"
-msgstr "Lesbienne"
+#: include/datetime.php:474 include/items.php:2484
+#, php-format
+msgid "%s's birthday"
+msgstr "%s's verjaardag"
 
-#: include/profile_selectors.php:23
-msgid "No Preference"
-msgstr "Geen voorkeur"
+#: include/datetime.php:475 include/items.php:2485
+#, php-format
+msgid "Happy Birthday %s"
+msgstr "Gefeliciteerd %s"
 
-#: include/profile_selectors.php:23
-msgid "Bisexual"
-msgstr "Biseksueel"
+#: include/identity.php:38
+msgid "Requested account is not available."
+msgstr "Gevraagde account is niet beschikbaar."
 
-#: include/profile_selectors.php:23
-msgid "Autosexual"
-msgstr "Autoseksueel"
+#: include/identity.php:121 include/identity.php:255 include/identity.php:608
+msgid "Edit profile"
+msgstr "Bewerk profiel"
 
-#: include/profile_selectors.php:23
-msgid "Abstinent"
-msgstr "Onthouder"
+#: include/identity.php:220
+msgid "Message"
+msgstr "Bericht"
 
-#: include/profile_selectors.php:23
-msgid "Virgin"
-msgstr "Maagd"
+#: include/identity.php:226 include/nav.php:185
+msgid "Profiles"
+msgstr "Profielen"
 
-#: include/profile_selectors.php:23
-msgid "Deviant"
-msgstr "Afwijkend"
+#: include/identity.php:226
+msgid "Manage/edit profiles"
+msgstr "Beheer/wijzig profielen"
 
-#: include/profile_selectors.php:23
-msgid "Fetish"
-msgstr "Fetisj"
+#: include/identity.php:342
+msgid "Network:"
+msgstr ""
 
-#: include/profile_selectors.php:23
-msgid "Oodles"
-msgstr "Veel"
+#: include/identity.php:374 include/identity.php:460
+msgid "g A l F d"
+msgstr "G l j F"
 
-#: include/profile_selectors.php:23
-msgid "Nonsexual"
-msgstr "Niet seksueel"
+#: include/identity.php:375 include/identity.php:461
+msgid "F d"
+msgstr "d F"
 
-#: include/profile_selectors.php:42
-msgid "Single"
-msgstr "Alleenstaand"
+#: include/identity.php:420 include/identity.php:507
+msgid "[today]"
+msgstr "[vandaag]"
 
-#: include/profile_selectors.php:42
-msgid "Lonely"
-msgstr "Eenzaam"
+#: include/identity.php:432
+msgid "Birthday Reminders"
+msgstr "Verjaardagsherinneringen"
 
-#: include/profile_selectors.php:42
-msgid "Available"
-msgstr "Beschikbaar"
+#: include/identity.php:433
+msgid "Birthdays this week:"
+msgstr "Verjaardagen deze week:"
 
-#: include/profile_selectors.php:42
-msgid "Unavailable"
-msgstr "Onbeschikbaar"
+#: include/identity.php:494
+msgid "[No description]"
+msgstr "[Geen omschrijving]"
 
-#: include/profile_selectors.php:42
-msgid "Has crush"
-msgstr "Verliefd"
+#: include/identity.php:518
+msgid "Event Reminders"
+msgstr "Gebeurtenisherinneringen"
 
-#: include/profile_selectors.php:42
-msgid "Infatuated"
-msgstr "Smoorverliefd"
+#: include/identity.php:519
+msgid "Events this week:"
+msgstr "Gebeurtenissen deze week:"
 
-#: include/profile_selectors.php:42
-msgid "Dating"
-msgstr "Aan het daten"
+#: include/identity.php:546
+msgid "j F, Y"
+msgstr "F j Y"
 
-#: include/profile_selectors.php:42
-msgid "Unfaithful"
-msgstr "Ontrouw"
+#: include/identity.php:547
+msgid "j F"
+msgstr "F j"
 
-#: include/profile_selectors.php:42
-msgid "Sex Addict"
-msgstr "Seksverslaafd"
+#: include/identity.php:554
+msgid "Birthday:"
+msgstr "Verjaardag:"
 
-#: include/profile_selectors.php:42 include/user.php:297 include/user.php:301
-msgid "Friends"
-msgstr "Vrienden"
+#: include/identity.php:558
+msgid "Age:"
+msgstr "Leeftijd:"
 
-#: include/profile_selectors.php:42
-msgid "Friends/Benefits"
-msgstr "Vriendschap plus"
+#: include/identity.php:567
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "voor %1$d %2$s"
 
-#: include/profile_selectors.php:42
-msgid "Casual"
-msgstr "Ongebonden/vluchtig"
+#: include/identity.php:580
+msgid "Religion:"
+msgstr "Religie:"
 
-#: include/profile_selectors.php:42
-msgid "Engaged"
-msgstr "Verloofd"
+#: include/identity.php:584
+msgid "Hobbies/Interests:"
+msgstr "Hobby:"
 
-#: include/profile_selectors.php:42
-msgid "Married"
-msgstr "Getrouwd"
+#: include/identity.php:591
+msgid "Contact information and Social Networks:"
+msgstr "Contactinformatie en sociale netwerken:"
 
-#: include/profile_selectors.php:42
-msgid "Imaginarily married"
-msgstr "Denkbeeldig getrouwd"
+#: include/identity.php:593
+msgid "Musical interests:"
+msgstr "Muzikale interesse "
 
-#: include/profile_selectors.php:42
-msgid "Partners"
-msgstr "Partners"
+#: include/identity.php:595
+msgid "Books, literature:"
+msgstr "Boeken, literatuur:"
 
-#: include/profile_selectors.php:42
-msgid "Cohabiting"
-msgstr "Samenwonend"
+#: include/identity.php:597
+msgid "Television:"
+msgstr "Televisie"
 
-#: include/profile_selectors.php:42
-msgid "Common law"
-msgstr "getrouwd voor-de-wet"
+#: include/identity.php:599
+msgid "Film/dance/culture/entertainment:"
+msgstr "Film/dans/cultuur/ontspanning:"
 
-#: include/profile_selectors.php:42
-msgid "Happy"
-msgstr "Blij"
+#: include/identity.php:601
+msgid "Love/Romance:"
+msgstr "Liefde/romance:"
 
-#: include/profile_selectors.php:42
-msgid "Not looking"
-msgstr "Niet op zoek"
+#: include/identity.php:603
+msgid "Work/employment:"
+msgstr "Werk/beroep:"
 
-#: include/profile_selectors.php:42
-msgid "Swinger"
-msgstr "Swinger"
+#: include/identity.php:605
+msgid "School/education:"
+msgstr "School/opleiding:"
 
-#: include/profile_selectors.php:42
-msgid "Betrayed"
-msgstr "Bedrogen"
+#: include/identity.php:633 include/nav.php:75
+msgid "Status"
+msgstr "Tijdlijn"
 
-#: include/profile_selectors.php:42
-msgid "Separated"
-msgstr "Uit elkaar"
+#: include/identity.php:636
+msgid "Status Messages and Posts"
+msgstr "Berichten op jouw tijdlijn"
 
-#: include/profile_selectors.php:42
-msgid "Unstable"
-msgstr "Onstabiel"
+#: include/identity.php:644
+msgid "Profile Details"
+msgstr "Profieldetails"
 
-#: include/profile_selectors.php:42
-msgid "Divorced"
-msgstr "Gescheiden"
+#: include/identity.php:657 include/identity.php:660 include/nav.php:78
+msgid "Videos"
+msgstr "Video's"
 
-#: include/profile_selectors.php:42
-msgid "Imaginarily divorced"
-msgstr "Denkbeeldig gescheiden"
+#: include/identity.php:672 include/nav.php:140
+msgid "Events and Calendar"
+msgstr "Gebeurtenissen en kalender"
 
-#: include/profile_selectors.php:42
-msgid "Widowed"
-msgstr "Weduwnaar/weduwe"
+#: include/identity.php:680
+msgid "Only You Can See This"
+msgstr "Alleen jij kunt dit zien"
 
-#: include/profile_selectors.php:42
-msgid "Uncertain"
-msgstr "Onzeker"
+#: include/acl_selectors.php:324
+msgid "Post to Email"
+msgstr "Verzenden per e-mail"
 
-#: include/profile_selectors.php:42
-msgid "It's complicated"
-msgstr "Het is gecompliceerd"
+#: include/acl_selectors.php:329
+#, php-format
+msgid "Connectors disabled, since \"%s\" is enabled."
+msgstr ""
 
-#: include/profile_selectors.php:42
-msgid "Don't care"
-msgstr "Kan me niet schelen"
+#: include/acl_selectors.php:335
+msgid "Visible to everybody"
+msgstr "Zichtbaar voor iedereen"
 
-#: include/profile_selectors.php:42
-msgid "Ask me"
-msgstr "Vraag me"
+#: include/acl_selectors.php:336 view/theme/diabook/config.php:142
+#: view/theme/diabook/theme.php:621 view/theme/vier/config.php:103
+msgid "show"
+msgstr "tonen"
+
+#: include/acl_selectors.php:337 view/theme/diabook/config.php:142
+#: view/theme/diabook/theme.php:621 view/theme/vier/config.php:103
+msgid "don't show"
+msgstr "niet tonen"
+
+#: include/message.php:15 include/message.php:173
+msgid "[no subject]"
+msgstr "[geen onderwerp]"
 
 #: include/Contact.php:119
 msgid "stopped following"
 msgstr ""
 
-#: include/Contact.php:232 include/conversation.php:881
-msgid "Poke"
-msgstr "Aanstoten"
-
-#: include/Contact.php:233 include/conversation.php:875
+#: include/Contact.php:334 include/conversation.php:911
 msgid "View Status"
 msgstr "Bekijk status"
 
-#: include/Contact.php:234 include/conversation.php:876
-msgid "View Profile"
-msgstr "Bekijk profiel"
-
-#: include/Contact.php:235 include/conversation.php:877
+#: include/Contact.php:336 include/conversation.php:913
 msgid "View Photos"
 msgstr "Bekijk foto's"
 
-#: include/Contact.php:236 include/Contact.php:259
-#: include/conversation.php:878
+#: include/Contact.php:337 include/conversation.php:914
 msgid "Network Posts"
 msgstr "Netwerkberichten"
 
-#: include/Contact.php:237 include/Contact.php:259
-#: include/conversation.php:879
+#: include/Contact.php:338 include/conversation.php:915
 msgid "Edit Contact"
 msgstr "Bewerk contact"
 
-#: include/Contact.php:238
+#: include/Contact.php:339
 msgid "Drop Contact"
 msgstr "Verwijder contact"
 
-#: include/Contact.php:239 include/Contact.php:259
-#: include/conversation.php:880
+#: include/Contact.php:340 include/conversation.php:916
 msgid "Send PM"
 msgstr "Stuur een privébericht"
 
-#: include/Scrape.php:608
-msgid " on Last.fm"
-msgstr " op Last.fm"
-
-#: include/acl_selectors.php:324
-msgid "Post to Email"
-msgstr "Verzenden per e-mail"
-
-#: include/acl_selectors.php:329
-#, php-format
-msgid "Connectors disabled, since \"%s\" is enabled."
-msgstr ""
+#: include/Contact.php:341 include/conversation.php:920
+msgid "Poke"
+msgstr "Aanstoten"
 
-#: include/acl_selectors.php:335
-msgid "Visible to everybody"
-msgstr "Zichtbaar voor iedereen"
+#: include/security.php:22
+msgid "Welcome "
+msgstr "Welkom"
 
-#: include/api.php:310 include/api.php:321 include/api.php:430
-#: include/api.php:1133 include/api.php:1135
-msgid "User not found."
-msgstr "Gebruiker niet gevonden"
+#: include/security.php:23
+msgid "Please upload a profile photo."
+msgstr "Upload een profielfoto."
 
-#: include/api.php:784
-#, php-format
-msgid "Daily posting limit of %d posts reached. The post was rejected."
-msgstr ""
+#: include/security.php:26
+msgid "Welcome back "
+msgstr "Welkom terug "
 
-#: include/api.php:803
-#, php-format
-msgid "Weekly posting limit of %d posts reached. The post was rejected."
+#: include/security.php:375
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
 msgstr ""
 
-#: include/api.php:822
+#: include/conversation.php:147
 #, php-format
-msgid "Monthly posting limit of %d posts reached. The post was rejected."
-msgstr ""
-
-#: include/api.php:1342
-msgid "There is no status with this id."
-msgstr "Er is geen status met dit kenmerk"
-
-#: include/api.php:1416
-msgid "There is no conversation with this id."
-msgstr ""
-
-#: include/api.php:1686
-msgid "Invalid request."
-msgstr ""
-
-#: include/api.php:1697
-msgid "Invalid item."
-msgstr ""
-
-#: include/api.php:1707
-msgid "Invalid action. "
-msgstr ""
-
-#: include/api.php:1715
-msgid "DB error"
+msgid "%1$s attends %2$s's %3$s"
 msgstr ""
 
-#: include/bb2diaspora.php:145 include/event.php:22
-msgid "Starts:"
-msgstr "Begint:"
-
-#: include/bb2diaspora.php:153 include/event.php:32
-msgid "Finishes:"
-msgstr "Eindigt:"
-
-#: include/bbcode.php:451 include/bbcode.php:1101 include/bbcode.php:1102
-msgid "Image/photo"
-msgstr "Afbeelding/foto"
-
-#: include/bbcode.php:549
+#: include/conversation.php:150
 #, php-format
-msgid "<a href=\"%1$s\" target=\"_blank\">%2$s</a> %3$s"
+msgid "%1$s doesn't attend %2$s's %3$s"
 msgstr ""
 
-#: include/bbcode.php:583
+#: include/conversation.php:153
 #, php-format
-msgid ""
-"<span><a href=\"%s\" target=\"_blank\">%s</a> wrote the following <a "
-"href=\"%s\" target=\"_blank\">post</a>"
+msgid "%1$s attends maybe %2$s's %3$s"
 msgstr ""
 
-#: include/bbcode.php:1065 include/bbcode.php:1085
-msgid "$1 wrote:"
-msgstr "$1 schreef:"
-
-#: include/bbcode.php:1110 include/bbcode.php:1111
-msgid "Encrypted content"
-msgstr "Versleutelde inhoud"
-
-#: include/conversation.php:206
+#: include/conversation.php:219
 #, php-format
 msgid "%1$s poked %2$s"
 msgstr "%1$s stootte %2$s aan"
 
-#: include/conversation.php:290
+#: include/conversation.php:303
 msgid "post/item"
 msgstr "bericht/item"
 
-#: include/conversation.php:291
+#: include/conversation.php:304
 #, php-format
 msgid "%1$s marked %2$s's %3$s as favorite"
 msgstr "%1$s markeerde %2$s's %3$s als favoriet"
 
-#: include/conversation.php:771
+#: include/conversation.php:792
 msgid "remove"
 msgstr "verwijder"
 
-#: include/conversation.php:775
+#: include/conversation.php:796
 msgid "Delete Selected Items"
 msgstr "Geselecteerde items verwijderen"
 
-#: include/conversation.php:874
+#: include/conversation.php:910
 msgid "Follow Thread"
 msgstr "Conversatie volgen"
 
-#: include/conversation.php:943
+#: include/conversation.php:1035
 #, php-format
 msgid "%s likes this."
 msgstr "%s vindt dit leuk."
 
-#: include/conversation.php:943
+#: include/conversation.php:1038
 #, php-format
 msgid "%s doesn't like this."
 msgstr "%s vindt dit niet leuk."
 
-#: include/conversation.php:948
+#: include/conversation.php:1041
 #, php-format
-msgid "<span  %1$s>%2$d people</span> like this"
-msgstr "<span  %1$s>%2$d mensen</span> vinden dit leuk"
+msgid "%s attends."
+msgstr ""
 
-#: include/conversation.php:951
+#: include/conversation.php:1044
 #, php-format
-msgid "<span  %1$s>%2$d people</span> don't like this"
-msgstr "<span  %1$s>%2$d people</span> vinden dit niet leuk"
+msgid "%s doesn't attend."
+msgstr ""
+
+#: include/conversation.php:1047
+#, php-format
+msgid "%s attends maybe."
+msgstr ""
 
-#: include/conversation.php:965
+#: include/conversation.php:1057
 msgid "and"
 msgstr "en"
 
-#: include/conversation.php:971
+#: include/conversation.php:1063
 #, php-format
 msgid ", and %d other people"
 msgstr ", en %d andere mensen"
 
-#: include/conversation.php:973
+#: include/conversation.php:1072
+#, php-format
+msgid "<span  %1$s>%2$d people</span> like this"
+msgstr "<span  %1$s>%2$d mensen</span> vinden dit leuk"
+
+#: include/conversation.php:1073
 #, php-format
 msgid "%s like this."
-msgstr "%s vindt dit leuk."
+msgstr ""
+
+#: include/conversation.php:1076
+#, php-format
+msgid "<span  %1$s>%2$d people</span> don't like this"
+msgstr "<span  %1$s>%2$d people</span> vinden dit niet leuk"
 
-#: include/conversation.php:973
+#: include/conversation.php:1077
 #, php-format
 msgid "%s don't like this."
-msgstr "%s vindt dit niet leuk."
+msgstr ""
+
+#: include/conversation.php:1080
+#, php-format
+msgid "<span  %1$s>%2$d people</span> attend"
+msgstr ""
+
+#: include/conversation.php:1081
+#, php-format
+msgid "%s attend."
+msgstr ""
+
+#: include/conversation.php:1084
+#, php-format
+msgid "<span  %1$s>%2$d people</span> don't attend"
+msgstr ""
+
+#: include/conversation.php:1085
+#, php-format
+msgid "%s don't attend."
+msgstr ""
+
+#: include/conversation.php:1088
+#, php-format
+msgid "<span  %1$s>%2$d people</span> anttend maybe"
+msgstr ""
 
-#: include/conversation.php:1000 include/conversation.php:1018
+#: include/conversation.php:1089
+#, php-format
+msgid "%s anttend maybe."
+msgstr ""
+
+#: include/conversation.php:1128 include/conversation.php:1146
 msgid "Visible to <strong>everybody</strong>"
 msgstr "Zichtbaar voor <strong>iedereen</strong>"
 
-#: include/conversation.php:1002 include/conversation.php:1020
+#: include/conversation.php:1130 include/conversation.php:1148
 msgid "Please enter a video link/URL:"
 msgstr "Vul een videolink/URL in:"
 
-#: include/conversation.php:1003 include/conversation.php:1021
+#: include/conversation.php:1131 include/conversation.php:1149
 msgid "Please enter an audio link/URL:"
 msgstr "Vul een audiolink/URL in:"
 
-#: include/conversation.php:1004 include/conversation.php:1022
+#: include/conversation.php:1132 include/conversation.php:1150
 msgid "Tag term:"
 msgstr "Label:"
 
-#: include/conversation.php:1006 include/conversation.php:1024
+#: include/conversation.php:1134 include/conversation.php:1152
 msgid "Where are you right now?"
 msgstr "Waar ben je nu?"
 
-#: include/conversation.php:1007
+#: include/conversation.php:1135
 msgid "Delete item(s)?"
 msgstr "Item(s) verwijderen?"
 
-#: include/conversation.php:1076
+#: include/conversation.php:1204
 msgid "permissions"
 msgstr "rechten"
 
-#: include/conversation.php:1099
+#: include/conversation.php:1227
 msgid "Post to Groups"
 msgstr "Verzenden naar Groepen"
 
-#: include/conversation.php:1100
-msgid "Post to Contacts"
-msgstr "Verzenden naar Contacten"
+#: include/conversation.php:1228
+msgid "Post to Contacts"
+msgstr "Verzenden naar Contacten"
+
+#: include/conversation.php:1229
+msgid "Private post"
+msgstr "Privé verzending"
+
+#: include/conversation.php:1377
+msgid "View all"
+msgstr ""
+
+#: include/conversation.php:1399
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: include/conversation.php:1402
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: include/conversation.php:1408
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: include/conversation.php:1411 include/profile_selectors.php:6
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] ""
+msgstr[1] ""
+
+#: include/network.php:967
+msgid "view full size"
+msgstr "Volledig formaat"
+
+#: include/text.php:299
+msgid "newer"
+msgstr "nieuwere berichten"
+
+#: include/text.php:301
+msgid "older"
+msgstr "oudere berichten"
+
+#: include/text.php:306
+msgid "prev"
+msgstr "vorige"
+
+#: include/text.php:308
+msgid "first"
+msgstr "eerste"
+
+#: include/text.php:340
+msgid "last"
+msgstr "laatste"
+
+#: include/text.php:343
+msgid "next"
+msgstr "volgende"
+
+#: include/text.php:398
+msgid "Loading more entries..."
+msgstr ""
+
+#: include/text.php:399
+msgid "The end"
+msgstr ""
+
+#: include/text.php:890
+msgid "No contacts"
+msgstr "Geen contacten"
+
+#: include/text.php:905
+#, php-format
+msgid "%d Contact"
+msgid_plural "%d Contacts"
+msgstr[0] "%d contact"
+msgstr[1] "%d contacten"
+
+#: include/text.php:1003 include/nav.php:121
+msgid "Full Text"
+msgstr ""
+
+#: include/text.php:1004 include/nav.php:122
+msgid "Tags"
+msgstr ""
+
+#: include/text.php:1008 include/nav.php:126
+msgid "Forums"
+msgstr ""
+
+#: include/text.php:1059
+msgid "poke"
+msgstr "aanstoten"
+
+#: include/text.php:1059
+msgid "poked"
+msgstr "aangestoten"
+
+#: include/text.php:1060
+msgid "ping"
+msgstr "ping"
+
+#: include/text.php:1060
+msgid "pinged"
+msgstr "gepingd"
+
+#: include/text.php:1061
+msgid "prod"
+msgstr "porren"
+
+#: include/text.php:1061
+msgid "prodded"
+msgstr "gepord"
+
+#: include/text.php:1062
+msgid "slap"
+msgstr "slaan"
+
+#: include/text.php:1062
+msgid "slapped"
+msgstr "geslagen"
+
+#: include/text.php:1063
+msgid "finger"
+msgstr "finger"
+
+#: include/text.php:1063
+msgid "fingered"
+msgstr "gerfingerd"
+
+#: include/text.php:1064
+msgid "rebuff"
+msgstr "afpoeieren"
+
+#: include/text.php:1064
+msgid "rebuffed"
+msgstr "afgepoeierd"
+
+#: include/text.php:1078
+msgid "happy"
+msgstr "Blij"
+
+#: include/text.php:1079
+msgid "sad"
+msgstr "Verdrietig"
+
+#: include/text.php:1080
+msgid "mellow"
+msgstr "mellow"
+
+#: include/text.php:1081
+msgid "tired"
+msgstr "vermoeid"
+
+#: include/text.php:1082
+msgid "perky"
+msgstr "parmantig"
+
+#: include/text.php:1083
+msgid "angry"
+msgstr "boos"
 
-#: include/conversation.php:1101
-msgid "Private post"
-msgstr "Privé verzending"
+#: include/text.php:1084
+msgid "stupified"
+msgstr "verbijsterd"
 
-#: include/datetime.php:43 include/datetime.php:45
-msgid "Miscellaneous"
-msgstr "Diversen"
+#: include/text.php:1085
+msgid "puzzled"
+msgstr "onzeker"
 
-#: include/datetime.php:141
-msgid "YYYY-MM-DD or MM-DD"
-msgstr ""
+#: include/text.php:1086
+msgid "interested"
+msgstr "Geïnteresseerd"
 
-#: include/datetime.php:256
-msgid "never"
-msgstr "nooit"
+#: include/text.php:1087
+msgid "bitter"
+msgstr "bitter"
 
-#: include/datetime.php:262
-msgid "less than a second ago"
-msgstr "minder dan een seconde geleden"
+#: include/text.php:1088
+msgid "cheerful"
+msgstr "vrolijk"
 
-#: include/datetime.php:272
-msgid "year"
-msgstr "jaar"
+#: include/text.php:1089
+msgid "alive"
+msgstr "levend"
 
-#: include/datetime.php:272
-msgid "years"
-msgstr "jaren"
+#: include/text.php:1090
+msgid "annoyed"
+msgstr "verveeld"
 
-#: include/datetime.php:273
-msgid "month"
-msgstr "maand"
+#: include/text.php:1091
+msgid "anxious"
+msgstr "bezorgd"
 
-#: include/datetime.php:273
-msgid "months"
-msgstr "maanden"
+#: include/text.php:1092
+msgid "cranky"
+msgstr "humeurig "
 
-#: include/datetime.php:274
-msgid "week"
-msgstr "week"
+#: include/text.php:1093
+msgid "disturbed"
+msgstr "verontrust"
 
-#: include/datetime.php:274
-msgid "weeks"
-msgstr "weken"
+#: include/text.php:1094
+msgid "frustrated"
+msgstr "gefrustreerd"
 
-#: include/datetime.php:275
-msgid "day"
-msgstr "dag"
+#: include/text.php:1095
+msgid "motivated"
+msgstr "gemotiveerd"
 
-#: include/datetime.php:275
-msgid "days"
-msgstr "dagen"
+#: include/text.php:1096
+msgid "relaxed"
+msgstr "ontspannen"
 
-#: include/datetime.php:276
-msgid "hour"
-msgstr "uur"
+#: include/text.php:1097
+msgid "surprised"
+msgstr "verbaasd"
 
-#: include/datetime.php:276
-msgid "hours"
-msgstr "uren"
+#: include/text.php:1490
+msgid "bytes"
+msgstr "bytes"
 
-#: include/datetime.php:277
-msgid "minute"
-msgstr "minuut"
+#: include/text.php:1522 include/text.php:1534
+msgid "Click to open/close"
+msgstr "klik om te openen/sluiten"
 
-#: include/datetime.php:277
-msgid "minutes"
-msgstr "minuten"
+#: include/text.php:1708
+msgid "View on separate page"
+msgstr ""
 
-#: include/datetime.php:278
-msgid "second"
-msgstr "seconde"
+#: include/text.php:1709
+msgid "view on separate page"
+msgstr ""
 
-#: include/datetime.php:278
-msgid "seconds"
-msgstr "secondes"
+#: include/text.php:1990
+msgid "activity"
+msgstr "activiteit"
 
-#: include/datetime.php:287
-#, php-format
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s geleden"
+#: include/text.php:1993
+msgid "post"
+msgstr "bericht"
 
-#: include/datetime.php:459 include/items.php:2431
-#, php-format
-msgid "%s's birthday"
-msgstr "%s's verjaardag"
+#: include/text.php:2161
+msgid "Item filed"
+msgstr "Item bewaard"
 
-#: include/datetime.php:460 include/items.php:2432
-#, php-format
-msgid "Happy Birthday %s"
-msgstr "Gefeliciteerd %s"
+#: include/bbcode.php:474 include/bbcode.php:1132 include/bbcode.php:1133
+msgid "Image/photo"
+msgstr "Afbeelding/foto"
 
-#: include/dbstructure.php:26
+#: include/bbcode.php:572
 #, php-format
-msgid ""
-"\n"
-"\t\t\tThe friendica developers released update %s recently,\n"
-"\t\t\tbut when I tried to install it, something went terribly wrong.\n"
-"\t\t\tThis needs to be fixed soon and I can't do it alone. Please contact a\n"
-"\t\t\tfriendica developer if you can not help me on your own. My database might be invalid."
+msgid "<a href=\"%1$s\" target=\"_blank\">%2$s</a> %3$s"
 msgstr ""
 
-#: include/dbstructure.php:31
+#: include/bbcode.php:606
 #, php-format
 msgid ""
-"The error message is\n"
-"[pre]%s[/pre]"
+"<span><a href=\"%s\" target=\"_blank\">%s</a> wrote the following <a "
+"href=\"%s\" target=\"_blank\">post</a>"
 msgstr ""
 
-#: include/dbstructure.php:152
-msgid "Errors encountered creating database tables."
-msgstr "Tijdens het aanmaken van databasetabellen zijn fouten vastgesteld."
+#: include/bbcode.php:1092 include/bbcode.php:1112
+msgid "$1 wrote:"
+msgstr "$1 schreef:"
 
-#: include/dbstructure.php:210
-msgid "Errors encountered performing database changes."
-msgstr ""
+#: include/bbcode.php:1141 include/bbcode.php:1142
+msgid "Encrypted content"
+msgstr "Versleutelde inhoud"
 
-#: include/delivery.php:456 include/notifier.php:825
+#: include/notifier.php:840 include/delivery.php:456
 msgid "(no subject)"
 msgstr "(geen onderwerp)"
 
-#: include/delivery.php:467 include/enotify.php:33 include/notifier.php:835
+#: include/notifier.php:850 include/delivery.php:467 include/enotify.php:37
 msgid "noreply"
 msgstr "geen reactie"
 
-#: include/diaspora.php:705
-msgid "Sharing notification from Diaspora network"
+#: include/dba_pdo.php:72 include/dba.php:56
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
 msgstr ""
 
-#: include/diaspora.php:2539
-msgid "Attachments:"
-msgstr "Bijlagen:"
+#: include/contact_selectors.php:32
+msgid "Unknown | Not categorised"
+msgstr "Onbekend | Niet "
 
-#: include/enotify.php:18
-msgid "Friendica Notification"
-msgstr "Friendica Notificatie"
+#: include/contact_selectors.php:33
+msgid "Block immediately"
+msgstr "Onmiddellijk blokkeren"
 
-#: include/enotify.php:21
-msgid "Thank You,"
-msgstr "Bedankt"
+#: include/contact_selectors.php:34
+msgid "Shady, spammer, self-marketer"
+msgstr "Onbetrouwbaar, spammer, zelfpromotor"
 
-#: include/enotify.php:23
-#, php-format
-msgid "%s Administrator"
-msgstr "%s Beheerder"
+#: include/contact_selectors.php:35
+msgid "Known to me, but no opinion"
+msgstr "Bekend, maar geen mening"
 
-#: include/enotify.php:64
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
+#: include/contact_selectors.php:36
+msgid "OK, probably harmless"
+msgstr "OK, waarschijnlijk onschadelijk"
 
-#: include/enotify.php:78
-#, php-format
-msgid "[Friendica:Notify] New mail received at %s"
-msgstr "[Friendica:Notificatie] Nieuw bericht ontvangen op %s"
+#: include/contact_selectors.php:37
+msgid "Reputable, has my trust"
+msgstr "Gerenommeerd, heeft mijn vertrouwen"
 
-#: include/enotify.php:80
-#, php-format
-msgid "%1$s sent you a new private message at %2$s."
-msgstr "%1$s sent you a new private message at %2$s."
+#: include/contact_selectors.php:60
+msgid "Weekly"
+msgstr "wekelijks"
 
-#: include/enotify.php:81
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s stuurde jou %2$s."
+#: include/contact_selectors.php:61
+msgid "Monthly"
+msgstr "maandelijks"
 
-#: include/enotify.php:81
-msgid "a private message"
-msgstr "een prive bericht"
+#: include/contact_selectors.php:77
+msgid "OStatus"
+msgstr "OStatus"
 
-#: include/enotify.php:82
-#, 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 te beantwoorden."
+#: include/contact_selectors.php:78
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
 
-#: include/enotify.php:134
-#, php-format
-msgid "%1$s commented on [url=%2$s]a %3$s[/url]"
-msgstr "%1$s gaf een reactie op [url=%2$s]a %3$s[/url]"
+#: include/contact_selectors.php:82
+msgid "Zot!"
+msgstr "Zot!"
 
-#: include/enotify.php:141
-#, php-format
-msgid "%1$s commented on [url=%2$s]%3$s's %4$s[/url]"
-msgstr "%1$s gaf een reactie op [url=%2$s]%3$s's %4$s[/url]"
+#: include/contact_selectors.php:83
+msgid "LinkedIn"
+msgstr "Linkedln"
+
+#: include/contact_selectors.php:84
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: include/contact_selectors.php:85
+msgid "MySpace"
+msgstr "Myspace"
+
+#: include/contact_selectors.php:87
+msgid "Google+"
+msgstr "Google+"
+
+#: include/contact_selectors.php:88
+msgid "pump.io"
+msgstr "pump.io"
+
+#: include/contact_selectors.php:89
+msgid "Twitter"
+msgstr "Twitter"
+
+#: include/contact_selectors.php:90
+msgid "Diaspora Connector"
+msgstr "Diaspora-connector"
+
+#: include/contact_selectors.php:91
+msgid "GNU Social"
+msgstr ""
+
+#: include/contact_selectors.php:92
+msgid "App.net"
+msgstr ""
+
+#: include/contact_selectors.php:103
+msgid "Redmatrix"
+msgstr ""
+
+#: include/Scrape.php:603
+msgid " on Last.fm"
+msgstr " op Last.fm"
+
+#: include/bb2diaspora.php:154 include/event.php:30 include/event.php:48
+msgid "Starts:"
+msgstr "Begint:"
+
+#: include/bb2diaspora.php:162 include/event.php:33 include/event.php:54
+msgid "Finishes:"
+msgstr "Eindigt:"
+
+#: include/plugin.php:458 include/plugin.php:460
+msgid "Click here to upgrade."
+msgstr ""
+
+#: include/plugin.php:466
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr ""
+
+#: include/plugin.php:471
+msgid "This action is not available under your subscription plan."
+msgstr ""
+
+#: include/nav.php:72
+msgid "End this session"
+msgstr "Deze sessie beëindigen"
+
+#: include/nav.php:75 include/nav.php:157 view/theme/diabook/theme.php:123
+msgid "Your posts and conversations"
+msgstr "Jouw berichten en conversaties"
+
+#: include/nav.php:76 view/theme/diabook/theme.php:124
+msgid "Your profile page"
+msgstr "Jouw profiel pagina"
 
-#: include/enotify.php:149
-#, php-format
-msgid "%1$s commented on [url=%2$s]your %3$s[/url]"
-msgstr "%1$s gaf een reactie op [url=%2$s]jouw %3$s[/url]"
+#: include/nav.php:77 view/theme/diabook/theme.php:126
+msgid "Your photos"
+msgstr "Jouw foto's"
 
-#: include/enotify.php:159
-#, php-format
-msgid "[Friendica:Notify] Comment to conversation #%1$d by %2$s"
+#: include/nav.php:78
+msgid "Your videos"
 msgstr ""
 
-#: include/enotify.php:160
-#, php-format
-msgid "%s commented on an item/conversation you have been following."
-msgstr "%s gaf een reactie op een bericht/conversatie die jij volgt."
+#: include/nav.php:79 view/theme/diabook/theme.php:127
+msgid "Your events"
+msgstr "Jouw gebeurtenissen"
 
-#: include/enotify.php:163 include/enotify.php:178 include/enotify.php:191
-#: include/enotify.php:204 include/enotify.php:222 include/enotify.php:235
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Bezoek %s om de conversatie te bekijken en/of te beantwoorden."
+#: include/nav.php:80 view/theme/diabook/theme.php:128
+msgid "Personal notes"
+msgstr "Persoonlijke nota's"
 
-#: include/enotify.php:170
-#, php-format
-msgid "[Friendica:Notify] %s posted to your profile wall"
+#: include/nav.php:80
+msgid "Your personal notes"
 msgstr ""
 
-#: include/enotify.php:172
-#, php-format
-msgid "%1$s posted to your profile wall at %2$s"
-msgstr ""
+#: include/nav.php:91
+msgid "Sign in"
+msgstr "Inloggen"
 
-#: include/enotify.php:174
-#, php-format
-msgid "%1$s posted to [url=%2$s]your wall[/url]"
-msgstr ""
+#: include/nav.php:104
+msgid "Home Page"
+msgstr "Jouw tijdlijn"
 
-#: include/enotify.php:185
-#, php-format
-msgid "[Friendica:Notify] %s tagged you"
-msgstr "[Friendica:Notificatie] %s heeft jou genoemd"
+#: include/nav.php:108
+msgid "Create an account"
+msgstr "Maak een accoount"
 
-#: include/enotify.php:186
-#, php-format
-msgid "%1$s tagged you at %2$s"
-msgstr "%1$s heeft jou in %2$s genoemd"
+#: include/nav.php:113
+msgid "Help and documentation"
+msgstr "Hulp en documentatie"
 
-#: include/enotify.php:187
-#, php-format
-msgid "%1$s [url=%2$s]tagged you[/url]."
-msgstr "%1$s [url=%2$s]heeft jou genoemd[/url]."
+#: include/nav.php:116
+msgid "Apps"
+msgstr "Apps"
 
-#: include/enotify.php:198
-#, php-format
-msgid "[Friendica:Notify] %s shared a new post"
-msgstr ""
+#: include/nav.php:116
+msgid "Addon applications, utilities, games"
+msgstr "Extra toepassingen, hulpmiddelen of spelletjes"
 
-#: include/enotify.php:199
-#, php-format
-msgid "%1$s shared a new post at %2$s"
-msgstr ""
+#: include/nav.php:118
+msgid "Search site content"
+msgstr "Doorzoek de inhoud van de website"
 
-#: include/enotify.php:200
-#, php-format
-msgid "%1$s [url=%2$s]shared a post[/url]."
+#: include/nav.php:136
+msgid "Conversations on this site"
+msgstr "Conversaties op deze website"
+
+#: include/nav.php:138
+msgid "Conversations on the network"
 msgstr ""
 
-#: include/enotify.php:212
-#, php-format
-msgid "[Friendica:Notify] %1$s poked you"
-msgstr "[Friendica:Notify] %1$s heeft jou aangestoten"
+#: include/nav.php:142
+msgid "Directory"
+msgstr "Gids"
 
-#: include/enotify.php:213
-#, php-format
-msgid "%1$s poked you at %2$s"
-msgstr "%1$s heeft jou aangestoten op %2$s"
+#: include/nav.php:142
+msgid "People directory"
+msgstr "Personengids"
 
-#: include/enotify.php:214
-#, php-format
-msgid "%1$s [url=%2$s]poked you[/url]."
+#: include/nav.php:144
+msgid "Information"
+msgstr "Informatie"
+
+#: include/nav.php:144
+msgid "Information about this friendica instance"
 msgstr ""
 
-#: include/enotify.php:229
-#, php-format
-msgid "[Friendica:Notify] %s tagged your post"
-msgstr "[Friendica:Notificatie] %s heeft jouw bericht gelabeld"
+#: include/nav.php:154
+msgid "Conversations from your friends"
+msgstr "Conversaties van je vrienden"
 
-#: include/enotify.php:230
-#, php-format
-msgid "%1$s tagged your post at %2$s"
-msgstr "%1$s heeft jouw bericht gelabeld in %2$s"
+#: include/nav.php:155
+msgid "Network Reset"
+msgstr "Netwerkpagina opnieuw instellen"
 
-#: include/enotify.php:231
-#, php-format
-msgid "%1$s tagged [url=%2$s]your post[/url]"
-msgstr "%1$s labelde [url=%2$s]jouw bericht[/url]"
+#: include/nav.php:155
+msgid "Load Network page with no filters"
+msgstr "Laad de netwerkpagina zonder filters"
 
-#: include/enotify.php:242
-msgid "[Friendica:Notify] Introduction received"
-msgstr "[Friendica:Notificatie] Vriendschaps-/connectieverzoek ontvangen"
+#: include/nav.php:162
+msgid "Friend Requests"
+msgstr "Vriendschapsverzoeken"
 
-#: include/enotify.php:243
-#, php-format
-msgid "You've received an introduction from '%1$s' at %2$s"
-msgstr "Je hebt een vriendschaps- of connectieverzoek ontvangen van '%1$s' om %2$s"
+#: include/nav.php:166
+msgid "See all notifications"
+msgstr "Toon alle notificaties"
 
-#: include/enotify.php:244
-#, php-format
-msgid "You've received [url=%1$s]an introduction[/url] from %2$s."
-msgstr "Je ontving [url=%1$s]een vriendschaps- of connectieverzoek[/url] van %2$s."
+#: include/nav.php:167
+msgid "Mark all system notifications seen"
+msgstr "Alle systeemnotificaties als gelezen markeren"
 
-#: include/enotify.php:247 include/enotify.php:289
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "U kunt hun profiel bezoeken op %s"
+#: include/nav.php:171
+msgid "Private mail"
+msgstr "Privéberichten"
 
-#: include/enotify.php:249
-#, php-format
-msgid "Please visit %s to approve or reject the introduction."
-msgstr "Bezoek %s om het verzoek goed of af te keuren."
+#: include/nav.php:172
+msgid "Inbox"
+msgstr "Inbox"
 
-#: include/enotify.php:257
-msgid "[Friendica:Notify] A new person is sharing with you"
-msgstr ""
+#: include/nav.php:173
+msgid "Outbox"
+msgstr "Verzonden berichten"
 
-#: include/enotify.php:258 include/enotify.php:259
-#, php-format
-msgid "%1$s is sharing with you at %2$s"
-msgstr ""
+#: include/nav.php:177
+msgid "Manage"
+msgstr "Beheren"
 
-#: include/enotify.php:265
-msgid "[Friendica:Notify] You have a new follower"
-msgstr ""
+#: include/nav.php:177
+msgid "Manage other pages"
+msgstr "Andere pagina's beheren"
 
-#: include/enotify.php:266 include/enotify.php:267
-#, php-format
-msgid "You have a new follower at %2$s : %1$s"
-msgstr ""
+#: include/nav.php:182
+msgid "Account settings"
+msgstr "Account instellingen"
 
-#: include/enotify.php:280
-msgid "[Friendica:Notify] Friend suggestion received"
-msgstr ""
+#: include/nav.php:185
+msgid "Manage/Edit Profiles"
+msgstr "Beheer/Wijzig Profielen"
 
-#: include/enotify.php:281
-#, php-format
-msgid "You've received a friend suggestion from '%1$s' at %2$s"
-msgstr ""
+#: include/nav.php:187
+msgid "Manage/edit friends and contacts"
+msgstr "Beheer/Wijzig vrienden en contacten"
 
-#: include/enotify.php:282
-#, php-format
-msgid ""
-"You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s."
-msgstr ""
+#: include/nav.php:194
+msgid "Site setup and configuration"
+msgstr "Website opzetten en configureren"
 
-#: include/enotify.php:287
-msgid "Name:"
-msgstr "Naam:"
+#: include/nav.php:198
+msgid "Navigation"
+msgstr "Navigatie"
 
-#: include/enotify.php:288
-msgid "Photo:"
-msgstr "Foto: "
+#: include/nav.php:198
+msgid "Site map"
+msgstr "Sitemap"
 
-#: include/enotify.php:291
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr ""
+#: include/api.php:321 include/api.php:332 include/api.php:441
+#: include/api.php:1151 include/api.php:1153
+msgid "User not found."
+msgstr "Gebruiker niet gevonden"
 
-#: include/enotify.php:299 include/enotify.php:312
-msgid "[Friendica:Notify] Connection accepted"
+#: include/api.php:799
+#, php-format
+msgid "Daily posting limit of %d posts reached. The post was rejected."
 msgstr ""
 
-#: include/enotify.php:300 include/enotify.php:313
+#: include/api.php:818
 #, php-format
-msgid "'%1$s' has accepted your connection request at %2$s"
+msgid "Weekly posting limit of %d posts reached. The post was rejected."
 msgstr ""
 
-#: include/enotify.php:301 include/enotify.php:314
+#: include/api.php:837
 #, php-format
-msgid "%2$s has accepted your [url=%1$s]connection request[/url]."
+msgid "Monthly posting limit of %d posts reached. The post was rejected."
 msgstr ""
 
-#: include/enotify.php:304
-msgid ""
-"You are now mutual friends and may exchange status updates, photos, and email\n"
-"\twithout restriction."
-msgstr ""
+#: include/api.php:1360
+msgid "There is no status with this id."
+msgstr "Er is geen status met dit kenmerk"
 
-#: include/enotify.php:307 include/enotify.php:321
-#, php-format
-msgid "Please visit %s  if you wish to make any changes to this relationship."
+#: include/api.php:1434
+msgid "There is no conversation with this id."
 msgstr ""
 
-#: include/enotify.php:317
-#, php-format
-msgid ""
-"'%1$s' has chosen to accept you a \"fan\", which restricts some forms of "
-"communication - such as private messaging and some profile interactions. If "
-"this is a celebrity or community page, these settings were applied "
-"automatically."
+#: include/api.php:1713
+msgid "Invalid item."
 msgstr ""
 
-#: include/enotify.php:319
-#, php-format
-msgid ""
-"'%1$s' may choose to extend this into a two-way or more permissive "
-"relationship in the future. "
+#: include/api.php:1723
+msgid "Invalid action. "
 msgstr ""
 
-#: include/enotify.php:332
-msgid "[Friendica System:Notify] registration request"
+#: include/api.php:1731
+msgid "DB error"
 msgstr ""
 
-#: include/enotify.php:333
-#, php-format
-msgid "You've received a registration request from '%1$s' at %2$s"
-msgstr ""
+#: include/user.php:48
+msgid "An invitation is required."
+msgstr "Een uitnodiging is vereist."
 
-#: include/enotify.php:334
-#, php-format
-msgid "You've received a [url=%1$s]registration request[/url] from %2$s."
-msgstr ""
+#: include/user.php:53
+msgid "Invitation could not be verified."
+msgstr "Uitnodiging kon niet geverifieerd worden."
 
-#: include/enotify.php:337
-#, php-format
-msgid "Full Name:\t%1$s\\nSite Location:\t%2$s\\nLogin Name:\t%3$s (%4$s)"
-msgstr ""
+#: include/user.php:61
+msgid "Invalid OpenID url"
+msgstr "Ongeldige OpenID url"
 
-#: include/enotify.php:340
-#, php-format
-msgid "Please visit %s to approve or reject the request."
-msgstr ""
+#: include/user.php:82
+msgid "Please enter the required information."
+msgstr "Vul de vereiste informatie in."
 
-#: include/follow.php:32
-msgid "Connect URL missing."
-msgstr ""
+#: include/user.php:96
+msgid "Please use a shorter name."
+msgstr "gebruik een kortere naam"
 
-#: include/follow.php:59
-msgid ""
-"This site is not configured to allow communications with other networks."
-msgstr "Deze website is niet geconfigureerd voor communicatie met andere netwerken."
+#: include/user.php:98
+msgid "Name too short."
+msgstr "Naam te kort"
 
-#: include/follow.php:60 include/follow.php:80
-msgid "No compatible communication protocols or feeds were discovered."
-msgstr "Er werden geen compatibele communicatieprotocols of feeds ontdekt."
+#: include/user.php:113
+msgid "That doesn't appear to be your full (First Last) name."
+msgstr "Dat lijkt niet je volledige naam (voor- en achternaam) te zijn."
 
-#: include/follow.php:78
-msgid "The profile address specified does not provide adequate information."
-msgstr ""
+#: include/user.php:118
+msgid "Your email domain is not among those allowed on this site."
+msgstr "Je e-maildomein is op deze website niet toegestaan."
+
+#: include/user.php:121
+msgid "Not a valid email address."
+msgstr "Geen geldig e-mailadres."
+
+#: include/user.php:134
+msgid "Cannot use that email."
+msgstr "Ik kan die e-mail niet gebruiken."
 
-#: include/follow.php:82
-msgid "An author or name was not found."
+#: include/user.php:140
+msgid "Your \"nickname\" can only contain \"a-z\", \"0-9\" and \"_\"."
 msgstr ""
 
-#: include/follow.php:84
-msgid "No browser URL could be matched to this address."
-msgstr ""
+#: include/user.php:146 include/user.php:244
+msgid "Nickname is already registered. Please choose another."
+msgstr "Bijnaam is al geregistreerd. Kies een andere."
 
-#: include/follow.php:86
+#: include/user.php:156
 msgid ""
-"Unable to match @-style Identity Address with a known protocol or email "
-"contact."
-msgstr "Het @-stijl-identiteitsadres komt niet overeen met een nekend protocol of e-mailcontact."
+"Nickname was once registered here and may not be re-used. Please choose "
+"another."
+msgstr "Bijnaam was ooit hier geregistreerd en kan niet herbruikt worden. Kies een andere."
 
-#: include/follow.php:87
-msgid "Use mailto: in front of address to force email check."
-msgstr "Gebruik mailto: voor het adres om een e-mailcontrole af te dwingen."
+#: include/user.php:172
+msgid "SERIOUS ERROR: Generation of security keys failed."
+msgstr "ERNSTIGE FOUT: aanmaken van beveiligingssleutels mislukt."
 
-#: include/follow.php:93
-msgid ""
-"The profile address specified belongs to a network which has been disabled "
-"on this site."
+#: include/user.php:230
+msgid "An error occurred during registration. Please try again."
 msgstr ""
 
-#: include/follow.php:103
-msgid ""
-"Limited profile. This person will be unable to receive direct/personal "
-"notifications from you."
-msgstr ""
+#: include/user.php:255 view/theme/duepuntozero/config.php:44
+msgid "default"
+msgstr "standaard"
 
-#: include/follow.php:205
-msgid "Unable to retrieve contact information."
+#: include/user.php:265
+msgid "An error occurred creating your default profile. Please try again."
 msgstr ""
 
-#: include/follow.php:258
-msgid "following"
-msgstr "volgend"
+#: include/user.php:297 include/user.php:301 include/profile_selectors.php:42
+msgid "Friends"
+msgstr "Vrienden"
 
-#: include/group.php:25
+#: include/user.php:385
+#, php-format
 msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Een verwijderde groep met deze naam is weer tot leven gewekt. Bestaande itemrechten <strong>kunnen</strong> voor deze groep en toekomstige leden gelden. Wanneer je niet zo had bedoeld kan je een andere groep met een andere naam creëren. "
-
-#: include/group.php:207
-msgid "Default privacy group for new contacts"
+"\n"
+"\t\tDear %1$s,\n"
+"\t\t\tThank you for registering at %2$s. Your account has been created.\n"
+"\t"
 msgstr ""
 
-#: include/group.php:226
-msgid "Everybody"
-msgstr "Iedereen"
-
-#: include/group.php:249
-msgid "edit"
-msgstr "verander"
-
-#: include/group.php:271
-msgid "Edit group"
-msgstr "Verander groep"
-
-#: include/group.php:272
-msgid "Create a new group"
-msgstr "Maak nieuwe groep"
-
-#: include/group.php:275
-msgid "Contacts not in any group"
+#: include/user.php:389
+#, php-format
+msgid ""
+"\n"
+"\t\tThe login details are as follows:\n"
+"\t\t\tSite Location:\t%3$s\n"
+"\t\t\tLogin Name:\t%1$s\n"
+"\t\t\tPassword:\t%5$s\n"
+"\n"
+"\t\tYou may change your password from your account \"Settings\" page after logging\n"
+"\t\tin.\n"
+"\n"
+"\t\tPlease take a few moments to review the other account settings on that page.\n"
+"\n"
+"\t\tYou may also wish to add some basic information to your default profile\n"
+"\t\t(on the \"Profiles\" page) so that other people can easily find you.\n"
+"\n"
+"\t\tWe recommend setting your full name, adding a profile photo,\n"
+"\t\tadding some profile \"keywords\" (very useful in making new friends) - and\n"
+"\t\tperhaps what country you live in; if you do not wish to be more specific\n"
+"\t\tthan that.\n"
+"\n"
+"\t\tWe fully respect your right to privacy, and none of these items are necessary.\n"
+"\t\tIf you are new and do not know anybody here, they may help\n"
+"\t\tyou to make some new and interesting friends.\n"
+"\n"
+"\n"
+"\t\tThank you and welcome to %2$s."
 msgstr ""
 
-#: include/identity.php:38
-msgid "Requested account is not available."
-msgstr "Gevraagde account is niet beschikbaar."
-
-#: include/identity.php:121 include/identity.php:255 include/identity.php:607
-msgid "Edit profile"
-msgstr "Bewerk profiel"
-
-#: include/identity.php:220
-msgid "Message"
-msgstr "Bericht"
-
-#: include/identity.php:226 include/nav.php:176
-msgid "Profiles"
-msgstr "Profielen"
-
-#: include/identity.php:226
-msgid "Manage/edit profiles"
-msgstr "Beheer/wijzig profielen"
-
-#: include/identity.php:341
-msgid "Network:"
+#: include/diaspora.php:719
+msgid "Sharing notification from Diaspora network"
 msgstr ""
 
-#: include/identity.php:373 include/identity.php:459
-msgid "g A l F d"
-msgstr "G l j F"
+#: include/diaspora.php:2574
+msgid "Attachments:"
+msgstr "Bijlagen:"
 
-#: include/identity.php:374 include/identity.php:460
-msgid "F d"
-msgstr "d F"
+#: include/items.php:4933
+msgid "Do you really want to delete this item?"
+msgstr "Wil je echt dit item verwijderen?"
 
-#: include/identity.php:419 include/identity.php:506
-msgid "[today]"
-msgstr "[vandaag]"
+#: include/items.php:5208
+msgid "Archives"
+msgstr "Archieven"
 
-#: include/identity.php:431
-msgid "Birthday Reminders"
-msgstr "Verjaardagsherinneringen"
+#: include/profile_selectors.php:6
+msgid "Male"
+msgstr "Man"
 
-#: include/identity.php:432
-msgid "Birthdays this week:"
-msgstr "Verjaardagen deze week:"
+#: include/profile_selectors.php:6
+msgid "Female"
+msgstr "Vrouw"
 
-#: include/identity.php:493
-msgid "[No description]"
-msgstr "[Geen omschrijving]"
+#: include/profile_selectors.php:6
+msgid "Currently Male"
+msgstr "Momenteel mannelijk"
 
-#: include/identity.php:517
-msgid "Event Reminders"
-msgstr "Gebeurtenisherinneringen"
+#: include/profile_selectors.php:6
+msgid "Currently Female"
+msgstr "Momenteel vrouwelijk"
 
-#: include/identity.php:518
-msgid "Events this week:"
-msgstr "Gebeurtenissen deze week:"
+#: include/profile_selectors.php:6
+msgid "Mostly Male"
+msgstr "Meestal mannelijk"
 
-#: include/identity.php:545
-msgid "j F, Y"
-msgstr "F j Y"
+#: include/profile_selectors.php:6
+msgid "Mostly Female"
+msgstr "Meestal vrouwelijk"
 
-#: include/identity.php:546
-msgid "j F"
-msgstr "F j"
+#: include/profile_selectors.php:6
+msgid "Transgender"
+msgstr "Transgender"
 
-#: include/identity.php:553
-msgid "Birthday:"
-msgstr "Verjaardag:"
+#: include/profile_selectors.php:6
+msgid "Intersex"
+msgstr "Interseksueel"
 
-#: include/identity.php:557
-msgid "Age:"
-msgstr "Leeftijd:"
+#: include/profile_selectors.php:6
+msgid "Transsexual"
+msgstr "Transseksueel"
 
-#: include/identity.php:566
-#, php-format
-msgid "for %1$d %2$s"
-msgstr "voor %1$d %2$s"
+#: include/profile_selectors.php:6
+msgid "Hermaphrodite"
+msgstr "Hermafrodiet"
 
-#: include/identity.php:575
-msgid "Tags:"
-msgstr "Labels:"
+#: include/profile_selectors.php:6
+msgid "Neuter"
+msgstr "Genderneutraal"
 
-#: include/identity.php:579
-msgid "Religion:"
-msgstr "Religie:"
+#: include/profile_selectors.php:6
+msgid "Non-specific"
+msgstr "Niet-specifiek"
 
-#: include/identity.php:583
-msgid "Hobbies/Interests:"
-msgstr "Hobby:"
+#: include/profile_selectors.php:6
+msgid "Other"
+msgstr "Anders"
 
-#: include/identity.php:590
-msgid "Contact information and Social Networks:"
-msgstr "Contactinformatie en sociale netwerken:"
+#: include/profile_selectors.php:23
+msgid "Males"
+msgstr "Mannen"
 
-#: include/identity.php:592
-msgid "Musical interests:"
-msgstr "Muzikale interesse "
+#: include/profile_selectors.php:23
+msgid "Females"
+msgstr "Vrouwen"
 
-#: include/identity.php:594
-msgid "Books, literature:"
-msgstr "Boeken, literatuur:"
+#: include/profile_selectors.php:23
+msgid "Gay"
+msgstr "Homo"
 
-#: include/identity.php:596
-msgid "Television:"
-msgstr "Televisie"
+#: include/profile_selectors.php:23
+msgid "Lesbian"
+msgstr "Lesbienne"
 
-#: include/identity.php:598
-msgid "Film/dance/culture/entertainment:"
-msgstr "Film/dans/cultuur/ontspanning:"
+#: include/profile_selectors.php:23
+msgid "No Preference"
+msgstr "Geen voorkeur"
 
-#: include/identity.php:600
-msgid "Love/Romance:"
-msgstr "Liefde/romance:"
+#: include/profile_selectors.php:23
+msgid "Bisexual"
+msgstr "Biseksueel"
 
-#: include/identity.php:602
-msgid "Work/employment:"
-msgstr "Werk/beroep:"
+#: include/profile_selectors.php:23
+msgid "Autosexual"
+msgstr "Autoseksueel"
 
-#: include/identity.php:604
-msgid "School/education:"
-msgstr "School/opleiding:"
+#: include/profile_selectors.php:23
+msgid "Abstinent"
+msgstr "Onthouder"
 
-#: include/identity.php:632 include/nav.php:76
-msgid "Status"
-msgstr "Tijdlijn"
+#: include/profile_selectors.php:23
+msgid "Virgin"
+msgstr "Maagd"
 
-#: include/identity.php:635
-msgid "Status Messages and Posts"
-msgstr "Berichten op jouw tijdlijn"
+#: include/profile_selectors.php:23
+msgid "Deviant"
+msgstr "Afwijkend"
 
-#: include/identity.php:642
-msgid "Profile Details"
-msgstr "Profieldetails"
+#: include/profile_selectors.php:23
+msgid "Fetish"
+msgstr "Fetisj"
 
-#: include/identity.php:653 include/identity.php:656 include/nav.php:79
-msgid "Videos"
-msgstr "Video's"
+#: include/profile_selectors.php:23
+msgid "Oodles"
+msgstr "Veel"
 
-#: include/identity.php:666
-msgid "Events and Calendar"
-msgstr "Gebeurtenissen en kalender"
+#: include/profile_selectors.php:23
+msgid "Nonsexual"
+msgstr "Niet seksueel"
 
-#: include/identity.php:673
-msgid "Only You Can See This"
-msgstr "Alleen jij kunt dit zien"
+#: include/profile_selectors.php:42
+msgid "Single"
+msgstr "Alleenstaand"
 
-#: include/items.php:4852
-msgid "Do you really want to delete this item?"
-msgstr "Wil je echt dit item verwijderen?"
+#: include/profile_selectors.php:42
+msgid "Lonely"
+msgstr "Eenzaam"
 
-#: include/items.php:5127
-msgid "Archives"
-msgstr "Archieven"
+#: include/profile_selectors.php:42
+msgid "Available"
+msgstr "Beschikbaar"
 
-#: include/nav.php:73 boot.php:1262
-msgid "Logout"
-msgstr "Uitloggen"
+#: include/profile_selectors.php:42
+msgid "Unavailable"
+msgstr "Onbeschikbaar"
 
-#: include/nav.php:73
-msgid "End this session"
-msgstr "Deze sessie beëindigen"
+#: include/profile_selectors.php:42
+msgid "Has crush"
+msgstr "Verliefd"
 
-#: include/nav.php:79
-msgid "Your videos"
-msgstr ""
+#: include/profile_selectors.php:42
+msgid "Infatuated"
+msgstr "Smoorverliefd"
 
-#: include/nav.php:81
-msgid "Your personal notes"
-msgstr ""
+#: include/profile_selectors.php:42
+msgid "Dating"
+msgstr "Aan het daten"
 
-#: include/nav.php:92
-msgid "Sign in"
-msgstr "Inloggen"
+#: include/profile_selectors.php:42
+msgid "Unfaithful"
+msgstr "Ontrouw"
 
-#: include/nav.php:105
-msgid "Home Page"
-msgstr "Jouw tijdlijn"
+#: include/profile_selectors.php:42
+msgid "Sex Addict"
+msgstr "Seksverslaafd"
 
-#: include/nav.php:109
-msgid "Create an account"
-msgstr "Maak een accoount"
+#: include/profile_selectors.php:42
+msgid "Friends/Benefits"
+msgstr "Vriendschap plus"
 
-#: include/nav.php:114
-msgid "Help and documentation"
-msgstr "Hulp en documentatie"
+#: include/profile_selectors.php:42
+msgid "Casual"
+msgstr "Ongebonden/vluchtig"
 
-#: include/nav.php:117
-msgid "Apps"
-msgstr "Apps"
+#: include/profile_selectors.php:42
+msgid "Engaged"
+msgstr "Verloofd"
 
-#: include/nav.php:117
-msgid "Addon applications, utilities, games"
-msgstr "Extra toepassingen, hulpmiddelen of spelletjes"
+#: include/profile_selectors.php:42
+msgid "Married"
+msgstr "Getrouwd"
 
-#: include/nav.php:119
-msgid "Search site content"
-msgstr "Doorzoek de inhoud van de website"
+#: include/profile_selectors.php:42
+msgid "Imaginarily married"
+msgstr "Denkbeeldig getrouwd"
 
-#: include/nav.php:129
-msgid "Conversations on this site"
-msgstr "Conversaties op deze website"
+#: include/profile_selectors.php:42
+msgid "Partners"
+msgstr "Partners"
 
-#: include/nav.php:131
-msgid "Conversations on the network"
-msgstr ""
+#: include/profile_selectors.php:42
+msgid "Cohabiting"
+msgstr "Samenwonend"
 
-#: include/nav.php:133
-msgid "Directory"
-msgstr "Gids"
+#: include/profile_selectors.php:42
+msgid "Common law"
+msgstr "getrouwd voor-de-wet"
 
-#: include/nav.php:133
-msgid "People directory"
-msgstr "Personengids"
+#: include/profile_selectors.php:42
+msgid "Happy"
+msgstr "Blij"
 
-#: include/nav.php:135
-msgid "Information"
-msgstr "Informatie"
+#: include/profile_selectors.php:42
+msgid "Not looking"
+msgstr "Niet op zoek"
 
-#: include/nav.php:135
-msgid "Information about this friendica instance"
-msgstr ""
+#: include/profile_selectors.php:42
+msgid "Swinger"
+msgstr "Swinger"
 
-#: include/nav.php:145
-msgid "Conversations from your friends"
-msgstr "Conversaties van je vrienden"
+#: include/profile_selectors.php:42
+msgid "Betrayed"
+msgstr "Bedrogen"
 
-#: include/nav.php:146
-msgid "Network Reset"
-msgstr "Netwerkpagina opnieuw instellen"
+#: include/profile_selectors.php:42
+msgid "Separated"
+msgstr "Uit elkaar"
 
-#: include/nav.php:146
-msgid "Load Network page with no filters"
-msgstr "Laad de netwerkpagina zonder filters"
+#: include/profile_selectors.php:42
+msgid "Unstable"
+msgstr "Onstabiel"
 
-#: include/nav.php:153
-msgid "Friend Requests"
-msgstr "Vriendschapsverzoeken"
+#: include/profile_selectors.php:42
+msgid "Divorced"
+msgstr "Gescheiden"
 
-#: include/nav.php:157
-msgid "See all notifications"
-msgstr "Toon alle notificaties"
+#: include/profile_selectors.php:42
+msgid "Imaginarily divorced"
+msgstr "Denkbeeldig gescheiden"
 
-#: include/nav.php:158
-msgid "Mark all system notifications seen"
-msgstr "Alle systeemnotificaties als gelezen markeren"
+#: include/profile_selectors.php:42
+msgid "Widowed"
+msgstr "Weduwnaar/weduwe"
 
-#: include/nav.php:162
-msgid "Private mail"
-msgstr "Privéberichten"
+#: include/profile_selectors.php:42
+msgid "Uncertain"
+msgstr "Onzeker"
 
-#: include/nav.php:163
-msgid "Inbox"
-msgstr "Inbox"
+#: include/profile_selectors.php:42
+msgid "It's complicated"
+msgstr "Het is gecompliceerd"
 
-#: include/nav.php:164
-msgid "Outbox"
-msgstr "Verzonden berichten"
+#: include/profile_selectors.php:42
+msgid "Don't care"
+msgstr "Kan me niet schelen"
 
-#: include/nav.php:168
-msgid "Manage"
-msgstr "Beheren"
+#: include/profile_selectors.php:42
+msgid "Ask me"
+msgstr "Vraag me"
 
-#: include/nav.php:168
-msgid "Manage other pages"
-msgstr "Andere pagina's beheren"
+#: include/enotify.php:18
+msgid "Friendica Notification"
+msgstr "Friendica Notificatie"
 
-#: include/nav.php:173
-msgid "Account settings"
-msgstr "Account instellingen"
+#: include/enotify.php:21
+msgid "Thank You,"
+msgstr "Bedankt"
 
-#: include/nav.php:176
-msgid "Manage/Edit Profiles"
-msgstr "Beheer/Wijzig Profielen"
+#: include/enotify.php:24
+#, php-format
+msgid "%s Administrator"
+msgstr "%s Beheerder"
 
-#: include/nav.php:178
-msgid "Manage/edit friends and contacts"
-msgstr "Beheer/Wijzig vrienden en contacten"
+#: include/enotify.php:26
+#, php-format
+msgid "%1$s, %2$s Administrator"
+msgstr ""
 
-#: include/nav.php:185
-msgid "Site setup and configuration"
-msgstr "Website opzetten en configureren"
+#: include/enotify.php:68
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
 
-#: include/nav.php:189
-msgid "Navigation"
-msgstr "Navigatie"
+#: include/enotify.php:82
+#, php-format
+msgid "[Friendica:Notify] New mail received at %s"
+msgstr "[Friendica:Notificatie] Nieuw bericht ontvangen op %s"
 
-#: include/nav.php:189
-msgid "Site map"
-msgstr "Sitemap"
+#: include/enotify.php:84
+#, php-format
+msgid "%1$s sent you a new private message at %2$s."
+msgstr "%1$s sent you a new private message at %2$s."
 
-#: include/network.php:959
-msgid "view full size"
-msgstr "Volledig formaat"
+#: include/enotify.php:85
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s stuurde jou %2$s."
 
-#: include/oembed.php:224
-msgid "Embedded content"
-msgstr "Ingebedde inhoud"
+#: include/enotify.php:85
+msgid "a private message"
+msgstr "een prive bericht"
 
-#: include/oembed.php:233
-msgid "Embedding disabled"
-msgstr "Inbedden uitgeschakeld"
+#: include/enotify.php:86
+#, 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 te beantwoorden."
 
-#: include/security.php:22
-msgid "Welcome "
-msgstr "Welkom"
+#: include/enotify.php:138
+#, php-format
+msgid "%1$s commented on [url=%2$s]a %3$s[/url]"
+msgstr "%1$s gaf een reactie op [url=%2$s]a %3$s[/url]"
 
-#: include/security.php:23
-msgid "Please upload a profile photo."
-msgstr "Upload een profielfoto."
+#: include/enotify.php:145
+#, php-format
+msgid "%1$s commented on [url=%2$s]%3$s's %4$s[/url]"
+msgstr "%1$s gaf een reactie op [url=%2$s]%3$s's %4$s[/url]"
 
-#: include/security.php:26
-msgid "Welcome back "
-msgstr "Welkom terug "
+#: include/enotify.php:153
+#, php-format
+msgid "%1$s commented on [url=%2$s]your %3$s[/url]"
+msgstr "%1$s gaf een reactie op [url=%2$s]jouw %3$s[/url]"
 
-#: include/security.php:375
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
+#: include/enotify.php:163
+#, php-format
+msgid "[Friendica:Notify] Comment to conversation #%1$d by %2$s"
 msgstr ""
 
-#: include/text.php:299
-msgid "newer"
-msgstr "nieuwere berichten"
+#: include/enotify.php:164
+#, php-format
+msgid "%s commented on an item/conversation you have been following."
+msgstr "%s gaf een reactie op een bericht/conversatie die jij volgt."
 
-#: include/text.php:301
-msgid "older"
-msgstr "oudere berichten"
+#: include/enotify.php:167 include/enotify.php:182 include/enotify.php:195
+#: include/enotify.php:208 include/enotify.php:226 include/enotify.php:239
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Bezoek %s om de conversatie te bekijken en/of te beantwoorden."
 
-#: include/text.php:306
-msgid "prev"
-msgstr "vorige"
+#: include/enotify.php:174
+#, php-format
+msgid "[Friendica:Notify] %s posted to your profile wall"
+msgstr ""
 
-#: include/text.php:308
-msgid "first"
-msgstr "eerste"
+#: include/enotify.php:176
+#, php-format
+msgid "%1$s posted to your profile wall at %2$s"
+msgstr ""
+
+#: include/enotify.php:178
+#, php-format
+msgid "%1$s posted to [url=%2$s]your wall[/url]"
+msgstr ""
 
-#: include/text.php:340
-msgid "last"
-msgstr "laatste"
+#: include/enotify.php:189
+#, php-format
+msgid "[Friendica:Notify] %s tagged you"
+msgstr "[Friendica:Notificatie] %s heeft jou genoemd"
 
-#: include/text.php:343
-msgid "next"
-msgstr "volgende"
+#: include/enotify.php:190
+#, php-format
+msgid "%1$s tagged you at %2$s"
+msgstr "%1$s heeft jou in %2$s genoemd"
 
-#: include/text.php:398
-msgid "Loading more entries..."
+#: include/enotify.php:191
+#, php-format
+msgid "%1$s [url=%2$s]tagged you[/url]."
+msgstr "%1$s [url=%2$s]heeft jou genoemd[/url]."
+
+#: include/enotify.php:202
+#, php-format
+msgid "[Friendica:Notify] %s shared a new post"
 msgstr ""
 
-#: include/text.php:399
-msgid "The end"
+#: include/enotify.php:203
+#, php-format
+msgid "%1$s shared a new post at %2$s"
 msgstr ""
 
-#: include/text.php:878
-msgid "No contacts"
-msgstr "Geen contacten"
+#: include/enotify.php:204
+#, php-format
+msgid "%1$s [url=%2$s]shared a post[/url]."
+msgstr ""
 
-#: include/text.php:887
+#: include/enotify.php:216
 #, php-format
-msgid "%d Contact"
-msgid_plural "%d Contacts"
-msgstr[0] "%d contact"
-msgstr[1] "%d contacten"
+msgid "[Friendica:Notify] %1$s poked you"
+msgstr "[Friendica:Notify] %1$s heeft jou aangestoten"
 
-#: include/text.php:1027
-msgid "poke"
-msgstr "aanstoten"
+#: include/enotify.php:217
+#, php-format
+msgid "%1$s poked you at %2$s"
+msgstr "%1$s heeft jou aangestoten op %2$s"
 
-#: include/text.php:1027
-msgid "poked"
-msgstr "aangestoten"
+#: include/enotify.php:218
+#, php-format
+msgid "%1$s [url=%2$s]poked you[/url]."
+msgstr ""
 
-#: include/text.php:1028
-msgid "ping"
-msgstr "ping"
+#: include/enotify.php:233
+#, php-format
+msgid "[Friendica:Notify] %s tagged your post"
+msgstr "[Friendica:Notificatie] %s heeft jouw bericht gelabeld"
 
-#: include/text.php:1028
-msgid "pinged"
-msgstr "gepingd"
+#: include/enotify.php:234
+#, php-format
+msgid "%1$s tagged your post at %2$s"
+msgstr "%1$s heeft jouw bericht gelabeld in %2$s"
 
-#: include/text.php:1029
-msgid "prod"
-msgstr "porren"
+#: include/enotify.php:235
+#, php-format
+msgid "%1$s tagged [url=%2$s]your post[/url]"
+msgstr "%1$s labelde [url=%2$s]jouw bericht[/url]"
 
-#: include/text.php:1029
-msgid "prodded"
-msgstr "gepord"
+#: include/enotify.php:246
+msgid "[Friendica:Notify] Introduction received"
+msgstr "[Friendica:Notificatie] Vriendschaps-/connectieverzoek ontvangen"
 
-#: include/text.php:1030
-msgid "slap"
-msgstr "slaan"
+#: include/enotify.php:247
+#, php-format
+msgid "You've received an introduction from '%1$s' at %2$s"
+msgstr "Je hebt een vriendschaps- of connectieverzoek ontvangen van '%1$s' om %2$s"
 
-#: include/text.php:1030
-msgid "slapped"
-msgstr "geslagen"
+#: include/enotify.php:248
+#, php-format
+msgid "You've received [url=%1$s]an introduction[/url] from %2$s."
+msgstr "Je ontving [url=%1$s]een vriendschaps- of connectieverzoek[/url] van %2$s."
 
-#: include/text.php:1031
-msgid "finger"
-msgstr "finger"
+#: include/enotify.php:251 include/enotify.php:293
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "U kunt hun profiel bezoeken op %s"
 
-#: include/text.php:1031
-msgid "fingered"
-msgstr "gerfingerd"
+#: include/enotify.php:253
+#, php-format
+msgid "Please visit %s to approve or reject the introduction."
+msgstr "Bezoek %s om het verzoek goed of af te keuren."
 
-#: include/text.php:1032
-msgid "rebuff"
-msgstr "afpoeieren"
+#: include/enotify.php:261
+msgid "[Friendica:Notify] A new person is sharing with you"
+msgstr ""
 
-#: include/text.php:1032
-msgid "rebuffed"
-msgstr "afgepoeierd"
+#: include/enotify.php:262 include/enotify.php:263
+#, php-format
+msgid "%1$s is sharing with you at %2$s"
+msgstr ""
 
-#: include/text.php:1046
-msgid "happy"
-msgstr "Blij"
+#: include/enotify.php:269
+msgid "[Friendica:Notify] You have a new follower"
+msgstr ""
 
-#: include/text.php:1047
-msgid "sad"
-msgstr "Verdrietig"
+#: include/enotify.php:270 include/enotify.php:271
+#, php-format
+msgid "You have a new follower at %2$s : %1$s"
+msgstr ""
 
-#: include/text.php:1048
-msgid "mellow"
-msgstr "mellow"
+#: include/enotify.php:284
+msgid "[Friendica:Notify] Friend suggestion received"
+msgstr ""
 
-#: include/text.php:1049
-msgid "tired"
-msgstr "vermoeid"
+#: include/enotify.php:285
+#, php-format
+msgid "You've received a friend suggestion from '%1$s' at %2$s"
+msgstr ""
 
-#: include/text.php:1050
-msgid "perky"
-msgstr "parmantig"
+#: include/enotify.php:286
+#, php-format
+msgid ""
+"You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s."
+msgstr ""
 
-#: include/text.php:1051
-msgid "angry"
-msgstr "boos"
+#: include/enotify.php:291
+msgid "Name:"
+msgstr "Naam:"
 
-#: include/text.php:1052
-msgid "stupified"
-msgstr "verbijsterd"
+#: include/enotify.php:292
+msgid "Photo:"
+msgstr "Foto: "
 
-#: include/text.php:1053
-msgid "puzzled"
-msgstr "onzeker"
+#: include/enotify.php:295
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr ""
 
-#: include/text.php:1054
-msgid "interested"
-msgstr "Geïnteresseerd"
+#: include/enotify.php:303 include/enotify.php:316
+msgid "[Friendica:Notify] Connection accepted"
+msgstr ""
 
-#: include/text.php:1055
-msgid "bitter"
-msgstr "bitter"
+#: include/enotify.php:304 include/enotify.php:317
+#, php-format
+msgid "'%1$s' has accepted your connection request at %2$s"
+msgstr ""
 
-#: include/text.php:1056
-msgid "cheerful"
-msgstr "vrolijk"
+#: include/enotify.php:305 include/enotify.php:318
+#, php-format
+msgid "%2$s has accepted your [url=%1$s]connection request[/url]."
+msgstr ""
 
-#: include/text.php:1057
-msgid "alive"
-msgstr "levend"
+#: include/enotify.php:308
+msgid ""
+"You are now mutual friends and may exchange status updates, photos, and email\n"
+"\twithout restriction."
+msgstr ""
 
-#: include/text.php:1058
-msgid "annoyed"
-msgstr "verveeld"
+#: include/enotify.php:311 include/enotify.php:325
+#, php-format
+msgid "Please visit %s  if you wish to make any changes to this relationship."
+msgstr ""
 
-#: include/text.php:1059
-msgid "anxious"
-msgstr "bezorgd"
+#: include/enotify.php:321
+#, php-format
+msgid ""
+"'%1$s' has chosen to accept you a \"fan\", which restricts some forms of "
+"communication - such as private messaging and some profile interactions. If "
+"this is a celebrity or community page, these settings were applied "
+"automatically."
+msgstr ""
 
-#: include/text.php:1060
-msgid "cranky"
-msgstr "humeurig "
+#: include/enotify.php:323
+#, php-format
+msgid ""
+"'%1$s' may choose to extend this into a two-way or more permissive "
+"relationship in the future. "
+msgstr ""
 
-#: include/text.php:1061
-msgid "disturbed"
-msgstr "verontrust"
+#: include/enotify.php:336
+msgid "[Friendica System:Notify] registration request"
+msgstr ""
 
-#: include/text.php:1062
-msgid "frustrated"
-msgstr "gefrustreerd"
+#: include/enotify.php:337
+#, php-format
+msgid "You've received a registration request from '%1$s' at %2$s"
+msgstr ""
 
-#: include/text.php:1063
-msgid "motivated"
-msgstr "gemotiveerd"
+#: include/enotify.php:338
+#, php-format
+msgid "You've received a [url=%1$s]registration request[/url] from %2$s."
+msgstr ""
 
-#: include/text.php:1064
-msgid "relaxed"
-msgstr "ontspannen"
+#: include/enotify.php:341
+#, php-format
+msgid "Full Name:\t%1$s\\nSite Location:\t%2$s\\nLogin Name:\t%3$s (%4$s)"
+msgstr ""
 
-#: include/text.php:1065
-msgid "surprised"
-msgstr "verbaasd"
+#: include/enotify.php:344
+#, php-format
+msgid "Please visit %s to approve or reject the request."
+msgstr ""
 
-#: include/text.php:1235
-msgid "Monday"
-msgstr "Maandag"
+#: include/oembed.php:220
+msgid "Embedded content"
+msgstr "Ingebedde inhoud"
 
-#: include/text.php:1235
-msgid "Tuesday"
-msgstr "Dinsdag"
+#: include/oembed.php:229
+msgid "Embedding disabled"
+msgstr "Inbedden uitgeschakeld"
 
-#: include/text.php:1235
-msgid "Wednesday"
-msgstr "Woensdag"
+#: include/uimport.php:94
+msgid "Error decoding account file"
+msgstr ""
 
-#: include/text.php:1235
-msgid "Thursday"
-msgstr "Donderdag"
+#: include/uimport.php:100
+msgid "Error! No version data in file! This is not a Friendica account file?"
+msgstr ""
 
-#: include/text.php:1235
-msgid "Friday"
-msgstr "Vrijdag"
+#: include/uimport.php:116 include/uimport.php:127
+msgid "Error! Cannot check nickname"
+msgstr ""
 
-#: include/text.php:1235
-msgid "Saturday"
-msgstr "Zaterdag"
+#: include/uimport.php:120 include/uimport.php:131
+#, php-format
+msgid "User '%s' already exists on this server!"
+msgstr "Gebruiker '%s' bestaat al op deze server!"
 
-#: include/text.php:1235
-msgid "Sunday"
-msgstr "Zondag"
+#: include/uimport.php:153
+msgid "User creation error"
+msgstr "Fout bij het aanmaken van de gebruiker"
 
-#: include/text.php:1239
-msgid "January"
-msgstr "Januari"
+#: include/uimport.php:173
+msgid "User profile creation error"
+msgstr "Fout bij het aanmaken van het gebruikersprofiel"
 
-#: include/text.php:1239
-msgid "February"
-msgstr "Februari"
+#: include/uimport.php:222
+#, php-format
+msgid "%d contact not imported"
+msgid_plural "%d contacts not imported"
+msgstr[0] "%d contact werd niet geïmporteerd"
+msgstr[1] "%d contacten werden niet geïmporteerd"
 
-#: include/text.php:1239
-msgid "March"
-msgstr "Maart"
+#: include/uimport.php:292
+msgid "Done. You can now login with your username and password"
+msgstr "Gebeurd. Je kunt nu inloggen met je gebruikersnaam en wachtwoord"
 
-#: include/text.php:1239
-msgid "April"
-msgstr "April"
+#: index.php:441
+msgid "toggle mobile"
+msgstr "mobiel thema omwisselen"
 
-#: include/text.php:1239
-msgid "May"
-msgstr "Mei"
+#: view/theme/cleanzero/config.php:83
+msgid "Set resize level for images in posts and comments (width and height)"
+msgstr ""
 
-#: include/text.php:1239
-msgid "June"
-msgstr "Juni"
+#: view/theme/cleanzero/config.php:84 view/theme/dispy/config.php:73
+#: view/theme/diabook/config.php:151
+msgid "Set font-size for posts and comments"
+msgstr "Stel lettergrootte voor berichten en reacties in"
 
-#: include/text.php:1239
-msgid "July"
-msgstr "Juli"
+#: view/theme/cleanzero/config.php:85
+msgid "Set theme width"
+msgstr "Stel breedte van het thema in"
 
-#: include/text.php:1239
-msgid "August"
-msgstr "Augustus"
+#: view/theme/cleanzero/config.php:86 view/theme/quattro/config.php:68
+msgid "Color scheme"
+msgstr "Kleurschema"
 
-#: include/text.php:1239
-msgid "September"
-msgstr "September"
+#: view/theme/dispy/config.php:74 view/theme/diabook/config.php:152
+msgid "Set line-height for posts and comments"
+msgstr "Stel lijnhoogte voor berichten en reacties in"
 
-#: include/text.php:1239
-msgid "October"
-msgstr "Oktober"
+#: view/theme/dispy/config.php:75
+msgid "Set colour scheme"
+msgstr "Stel kleurschema in"
 
-#: include/text.php:1239
-msgid "November"
-msgstr "November"
+#: view/theme/quattro/config.php:67
+msgid "Alignment"
+msgstr "Uitlijning"
 
-#: include/text.php:1239
-msgid "December"
-msgstr "December"
+#: view/theme/quattro/config.php:67
+msgid "Left"
+msgstr "Links"
 
-#: include/text.php:1461
-msgid "bytes"
-msgstr "bytes"
+#: view/theme/quattro/config.php:67
+msgid "Center"
+msgstr "Gecentreerd"
 
-#: include/text.php:1493 include/text.php:1505
-msgid "Click to open/close"
-msgstr "klik om te openen/sluiten"
+#: view/theme/quattro/config.php:69
+msgid "Posts font size"
+msgstr "Lettergrootte berichten"
 
-#: include/text.php:1746
-msgid "Select an alternate language"
-msgstr "Kies een andere taal"
+#: view/theme/quattro/config.php:70
+msgid "Textareas font size"
+msgstr "Lettergrootte tekstgebieden"
 
-#: include/text.php:2002
-msgid "activity"
-msgstr "activiteit"
+#: view/theme/diabook/config.php:153
+msgid "Set resolution for middle column"
+msgstr "Stel resolutie in voor de middelste kolom. "
 
-#: include/text.php:2005
-msgid "post"
-msgstr "bericht"
+#: view/theme/diabook/config.php:154
+msgid "Set color scheme"
+msgstr "Stel kleurenschema in"
 
-#: include/text.php:2173
-msgid "Item filed"
-msgstr "Item bewaard"
+#: view/theme/diabook/config.php:155
+msgid "Set zoomfactor for Earth Layer"
+msgstr ""
 
-#: include/user.php:48
-msgid "An invitation is required."
-msgstr "Een uitnodiging is vereist."
+#: view/theme/diabook/config.php:156 view/theme/diabook/theme.php:585
+msgid "Set longitude (X) for Earth Layers"
+msgstr ""
 
-#: include/user.php:53
-msgid "Invitation could not be verified."
-msgstr "Uitnodiging kon niet geverifieerd worden."
+#: view/theme/diabook/config.php:157 view/theme/diabook/theme.php:586
+msgid "Set latitude (Y) for Earth Layers"
+msgstr ""
 
-#: include/user.php:61
-msgid "Invalid OpenID url"
-msgstr "Ongeldige OpenID url"
+#: view/theme/diabook/config.php:158 view/theme/diabook/theme.php:130
+#: view/theme/diabook/theme.php:544 view/theme/diabook/theme.php:624
+#: view/theme/vier/config.php:111 view/theme/vier/theme.php:230
+msgid "Community Pages"
+msgstr "Forum/groepspagina's"
 
-#: include/user.php:82
-msgid "Please enter the required information."
-msgstr "Vul de vereiste informatie in."
+#: view/theme/diabook/config.php:159 view/theme/diabook/theme.php:579
+#: view/theme/diabook/theme.php:625
+msgid "Earth Layers"
+msgstr "Earth Layers"
 
-#: include/user.php:96
-msgid "Please use a shorter name."
-msgstr "gebruik een kortere naam"
+#: view/theme/diabook/config.php:160 view/theme/diabook/theme.php:391
+#: view/theme/diabook/theme.php:626 view/theme/vier/config.php:112
+#: view/theme/vier/theme.php:142
+msgid "Community Profiles"
+msgstr "Forum/groepsprofielen"
 
-#: include/user.php:98
-msgid "Name too short."
-msgstr "Naam te kort"
+#: view/theme/diabook/config.php:161 view/theme/diabook/theme.php:599
+#: view/theme/diabook/theme.php:627 view/theme/vier/config.php:113
+msgid "Help or @NewHere ?"
+msgstr ""
 
-#: include/user.php:113
-msgid "That doesn't appear to be your full (First Last) name."
-msgstr "Dat lijkt niet je volledige naam (voor- en achternaam) te zijn."
+#: view/theme/diabook/config.php:162 view/theme/diabook/theme.php:606
+#: view/theme/diabook/theme.php:628 view/theme/vier/config.php:114
+#: view/theme/vier/theme.php:348
+msgid "Connect Services"
+msgstr "Diensten verbinden"
 
-#: include/user.php:118
-msgid "Your email domain is not among those allowed on this site."
-msgstr "Je e-maildomein is op deze website niet toegestaan."
+#: view/theme/diabook/config.php:163 view/theme/diabook/theme.php:523
+#: view/theme/diabook/theme.php:629 view/theme/vier/config.php:115
+#: view/theme/vier/theme.php:189
+msgid "Find Friends"
+msgstr "Zoek vrienden"
 
-#: include/user.php:121
-msgid "Not a valid email address."
-msgstr "Geen geldig e-mailadres."
+#: view/theme/diabook/config.php:164 view/theme/diabook/theme.php:412
+#: view/theme/diabook/theme.php:630 view/theme/vier/config.php:116
+#: view/theme/vier/theme.php:171
+msgid "Last users"
+msgstr "Laatste gebruikers"
 
-#: include/user.php:134
-msgid "Cannot use that email."
-msgstr "Ik kan die e-mail niet gebruiken."
+#: view/theme/diabook/config.php:165 view/theme/diabook/theme.php:486
+#: view/theme/diabook/theme.php:631
+msgid "Last photos"
+msgstr "Laatste foto's"
 
-#: include/user.php:140
-msgid ""
-"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and "
-"must also begin with a letter."
-msgstr "Je \"bijnaam\" kan alleen \"a-z\", \"0-9\", \"-\", en \"_\" bevatten, en moet ook met een letter beginnen."
+#: view/theme/diabook/config.php:166 view/theme/diabook/theme.php:441
+#: view/theme/diabook/theme.php:632
+msgid "Last likes"
+msgstr "Recent leuk gevonden"
 
-#: include/user.php:146 include/user.php:244
-msgid "Nickname is already registered. Please choose another."
-msgstr "Bijnaam is al geregistreerd. Kies een andere."
+#: view/theme/diabook/theme.php:125
+msgid "Your contacts"
+msgstr "Jouw contacten"
 
-#: include/user.php:156
-msgid ""
-"Nickname was once registered here and may not be re-used. Please choose "
-"another."
-msgstr "Bijnaam was ooit hier geregistreerd en kan niet herbruikt worden. Kies een andere."
+#: view/theme/diabook/theme.php:128
+msgid "Your personal photos"
+msgstr "Jouw persoonlijke foto's"
 
-#: include/user.php:172
-msgid "SERIOUS ERROR: Generation of security keys failed."
-msgstr "ERNSTIGE FOUT: aanmaken van beveiligingssleutels mislukt."
+#: view/theme/diabook/theme.php:524 view/theme/vier/theme.php:190
+msgid "Local Directory"
+msgstr "Lokale gids"
 
-#: include/user.php:230
-msgid "An error occurred during registration. Please try again."
+#: view/theme/diabook/theme.php:584
+msgid "Set zoomfactor for Earth Layers"
 msgstr ""
 
-#: include/user.php:265
-msgid "An error occurred creating your default profile. Please try again."
+#: view/theme/diabook/theme.php:622
+msgid "Show/hide boxes at right-hand column:"
 msgstr ""
 
-#: include/user.php:385
-#, php-format
-msgid ""
-"\n"
-"\t\tDear %1$s,\n"
-"\t\t\tThank you for registering at %2$s. Your account has been created.\n"
-"\t"
+#: view/theme/vier/config.php:64
+msgid "Comma separated list of helper forums"
 msgstr ""
 
-#: include/user.php:389
-#, php-format
-msgid ""
-"\n"
-"\t\tThe login details are as follows:\n"
-"\t\t\tSite Location:\t%3$s\n"
-"\t\t\tLogin Name:\t%1$s\n"
-"\t\t\tPassword:\t%5$s\n"
-"\n"
-"\t\tYou may change your password from your account \"Settings\" page after logging\n"
-"\t\tin.\n"
-"\n"
-"\t\tPlease take a few moments to review the other account settings on that page.\n"
-"\n"
-"\t\tYou may also wish to add some basic information to your default profile\n"
-"\t\t(on the \"Profiles\" page) so that other people can easily find you.\n"
-"\n"
-"\t\tWe recommend setting your full name, adding a profile photo,\n"
-"\t\tadding some profile \"keywords\" (very useful in making new friends) - and\n"
-"\t\tperhaps what country you live in; if you do not wish to be more specific\n"
-"\t\tthan that.\n"
-"\n"
-"\t\tWe fully respect your right to privacy, and none of these items are necessary.\n"
-"\t\tIf you are new and do not know anybody here, they may help\n"
-"\t\tyou to make some new and interesting friends.\n"
-"\n"
-"\n"
-"\t\tThank you and welcome to %2$s."
+#: view/theme/vier/config.php:110
+msgid "Set style"
 msgstr ""
 
-#: index.php:441
-msgid "toggle mobile"
-msgstr "mobiel thema omwisselen"
-
-#: boot.php:753
-msgid "Delete this item?"
-msgstr "Dit item verwijderen?"
-
-#: boot.php:756
-msgid "show fewer"
-msgstr "Minder tonen"
-
-#: boot.php:1130
-#, php-format
-msgid "Update %s failed. See error logs."
-msgstr "Wijziging %s mislukt. Lees de error logbestanden."
-
-#: boot.php:1237
-msgid "Create a New Account"
-msgstr "Nieuwe account aanmaken"
-
-#: boot.php:1265
-msgid "Nickname or Email address: "
-msgstr "Bijnaam of e-mailadres:"
+#: view/theme/vier/theme.php:234
+msgid "External link to forum"
+msgstr ""
 
-#: boot.php:1266
-msgid "Password: "
-msgstr "Wachtwoord:"
+#: view/theme/vier/theme.php:266
+msgid "Quick Start"
+msgstr ""
 
-#: boot.php:1267
-msgid "Remember me"
-msgstr "Onthou me"
+#: view/theme/duepuntozero/config.php:45
+msgid "greenzero"
+msgstr ""
 
-#: boot.php:1270
-msgid "Or login using OpenID: "
-msgstr "Of log in met OpenID:"
+#: view/theme/duepuntozero/config.php:46
+msgid "purplezero"
+msgstr ""
 
-#: boot.php:1276
-msgid "Forgot your password?"
-msgstr "Wachtwoord vergeten?"
+#: view/theme/duepuntozero/config.php:47
+msgid "easterbunny"
+msgstr ""
 
-#: boot.php:1279
-msgid "Website Terms of Service"
-msgstr "Gebruikersvoorwaarden website"
+#: view/theme/duepuntozero/config.php:48
+msgid "darkzero"
+msgstr ""
 
-#: boot.php:1280
-msgid "terms of service"
-msgstr "servicevoorwaarden"
+#: view/theme/duepuntozero/config.php:49
+msgid "comix"
+msgstr ""
 
-#: boot.php:1282
-msgid "Website Privacy Policy"
-msgstr "Privacybeleid website"
+#: view/theme/duepuntozero/config.php:50
+msgid "slackr"
+msgstr ""
 
-#: boot.php:1283
-msgid "privacy policy"
-msgstr "privacybeleid"
+#: view/theme/duepuntozero/config.php:62
+msgid "Variations"
+msgstr ""
index 66937c644ccd01550e31d73d3554db33230e4b01..f535f54be0853ceb37335aa12952a424347310d8 100644 (file)
@@ -5,193 +5,128 @@ function string_plural_select_nl($n){
        return ($n != 1);;
 }}
 ;
-$a->strings["This entry was edited"] = "";
-$a->strings["Private Message"] = "Privébericht";
-$a->strings["Edit"] = "Bewerken";
-$a->strings["Select"] = "Kies";
-$a->strings["Delete"] = "Verwijder";
-$a->strings["save to folder"] = "Bewaren in map";
-$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["ignore thread"] = "";
-$a->strings["unignore thread"] = "";
-$a->strings["toggle ignore status"] = "";
-$a->strings["ignored"] = "";
-$a->strings["add tag"] = "label toevoegen";
-$a->strings["I like this (toggle)"] = "Vind ik leuk";
-$a->strings["like"] = "leuk";
-$a->strings["I don't like this (toggle)"] = "Vind ik niet leuk";
-$a->strings["dislike"] = "niet leuk";
-$a->strings["Share this"] = "Delen";
-$a->strings["share"] = "Delen";
-$a->strings["Categories:"] = "Categorieën:";
-$a->strings["Filed under:"] = "Bewaard onder:";
-$a->strings["View %s's profile @ %s"] = "Bekijk het profiel van %s @ %s";
-$a->strings["to"] = "aan";
-$a->strings["via"] = "via";
-$a->strings["Wall-to-Wall"] = "wall-to-wall";
-$a->strings["via Wall-To-Wall:"] = "via wall-to-wall";
-$a->strings["%s from %s"] = "%s van %s";
-$a->strings["Comment"] = "Reacties";
-$a->strings["Please wait"] = "Even geduld";
-$a->strings["%d comment"] = array(
-       0 => "%d reactie",
-       1 => "%d reacties",
+$a->strings["%d contact edited."] = array(
+       0 => "",
+       1 => "",
 );
-$a->strings["comment"] = array(
-       0 => "reactie",
-       1 => "reacties",
+$a->strings["Could not access contact record."] = "Kon geen toegang krijgen tot de contactgegevens";
+$a->strings["Could not locate selected profile."] = "Kon het geselecteerde profiel niet vinden.";
+$a->strings["Contact updated."] = "Contact bijgewerkt.";
+$a->strings["Failed to update contact record."] = "Ik kon de contactgegevens niet aanpassen.";
+$a->strings["Permission denied."] = "Toegang geweigerd";
+$a->strings["Contact has been blocked"] = "Contact is geblokkeerd";
+$a->strings["Contact has been unblocked"] = "Contact is gedeblokkeerd";
+$a->strings["Contact has been ignored"] = "Contact wordt genegeerd";
+$a->strings["Contact has been unignored"] = "Contact wordt niet meer genegeerd";
+$a->strings["Contact has been archived"] = "Contact is gearchiveerd";
+$a->strings["Contact has been unarchived"] = "Contact is niet meer gearchiveerd";
+$a->strings["Do you really want to delete this contact?"] = "Wil je echt dit contact verwijderen?";
+$a->strings["Yes"] = "Ja";
+$a->strings["Cancel"] = "Annuleren";
+$a->strings["Contact has been removed."] = "Contact is verwijderd.";
+$a->strings["You are mutual friends with %s"] = "Je bent wederzijds bevriend met %s";
+$a->strings["You are sharing with %s"] = "Je deelt met %s";
+$a->strings["%s is sharing with you"] = "%s deelt met jou";
+$a->strings["Private communications are not available for this contact."] = "Privécommunicatie met dit contact is niet beschikbaar.";
+$a->strings["Never"] = "Nooit";
+$a->strings["(Update was successful)"] = "(Wijziging is geslaagd)";
+$a->strings["(Update was not successful)"] = "(Wijziging is niet geslaagd)";
+$a->strings["Suggest friends"] = "Stel vrienden voor";
+$a->strings["Network type: %s"] = "Netwerk type: %s";
+$a->strings["%d contact in common"] = array(
+       0 => "%d gedeeld contact",
+       1 => "%d gedeelde contacten",
 );
-$a->strings["show more"] = "toon meer";
-$a->strings["This is you"] = "Dit ben jij";
+$a->strings["View all contacts"] = "Alle contacten zien";
+$a->strings["Unblock"] = "Blokkering opheffen";
+$a->strings["Block"] = "Blokkeren";
+$a->strings["Toggle Blocked status"] = "Schakel geblokkeerde status";
+$a->strings["Unignore"] = "Negeer niet meer";
+$a->strings["Ignore"] = "Negeren";
+$a->strings["Toggle Ignored status"] = "Schakel negeerstatus";
+$a->strings["Unarchive"] = "Archiveer niet meer";
+$a->strings["Archive"] = "Archiveer";
+$a->strings["Toggle Archive status"] = "Schakel archiveringsstatus";
+$a->strings["Repair"] = "Herstellen";
+$a->strings["Advanced Contact Settings"] = "Geavanceerde instellingen voor contacten";
+$a->strings["Communications lost with this contact!"] = "Communicatie met dit contact is verbroken!";
+$a->strings["Fetch further information for feeds"] = "";
+$a->strings["Disabled"] = "Uitgeschakeld";
+$a->strings["Fetch information"] = "";
+$a->strings["Fetch information and keywords"] = "";
+$a->strings["Contact Editor"] = "Contactbewerker";
 $a->strings["Submit"] = "Opslaan";
-$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["Link"] = "Link";
-$a->strings["Video"] = "Video";
-$a->strings["Preview"] = "Voorvertoning";
-$a->strings["Clone this project:"] = "";
-$a->strings["Click here to download"] = "";
-$a->strings["This project is empty!"] = "";
-$a->strings["Projects"] = "";
-$a->strings["add new"] = "";
-$a->strings["delete"] = "";
-$a->strings["Do you want to delete the project '%s'?\\n\\nThis operation cannot be undone."] = "";
-$a->strings["Home"] = "Tijdlijn";
-$a->strings["Your posts and conversations"] = "Jouw berichten en conversaties";
-$a->strings["Profile"] = "Profiel";
-$a->strings["Your profile page"] = "Jouw profiel pagina";
-$a->strings["Photos"] = "Foto's";
-$a->strings["Your photos"] = "Jouw foto's";
-$a->strings["Events"] = "Gebeurtenissen";
-$a->strings["Your events"] = "Jouw gebeurtenissen";
-$a->strings["Personal notes"] = "Persoonlijke nota's";
-$a->strings["Your personal photos"] = "Jouw persoonlijke foto's";
-$a->strings["Community"] = "Website";
-$a->strings["don't show"] = "niet tonen";
-$a->strings["show"] = "tonen";
-$a->strings["Theme settings"] = "Thema-instellingen";
-$a->strings["Set font-size for posts and comments"] = "Stel lettergrootte voor berichten en reacties in";
-$a->strings["Set line-height for posts and comments"] = "Stel lijnhoogte voor berichten en reacties in";
-$a->strings["Set resolution for middle column"] = "Stel resolutie in voor de middelste kolom. ";
-$a->strings["Set color scheme"] = "Stel kleurenschema in";
-$a->strings["Set zoomfactor for Earth Layer"] = "";
-$a->strings["Set longitude (X) for Earth Layers"] = "";
-$a->strings["Set latitude (Y) for Earth Layers"] = "";
-$a->strings["Community Pages"] = "Forum/groepspagina's";
-$a->strings["Earth Layers"] = "Earth Layers";
-$a->strings["Community Profiles"] = "Forum/groepsprofielen";
-$a->strings["Help or @NewHere ?"] = "";
-$a->strings["Connect Services"] = "Diensten verbinden";
-$a->strings["Find Friends"] = "Zoek vrienden";
-$a->strings["Last users"] = "Laatste gebruikers";
-$a->strings["Last photos"] = "Laatste foto's";
-$a->strings["Last likes"] = "Recent leuk gevonden";
+$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 getoond moet worden wanneer %s uw profiel bezoekt. ";
+$a->strings["Contact Information / Notes"] = "Contactinformatie / aantekeningen";
+$a->strings["Edit contact notes"] = "Wijzig aantekeningen over dit contact";
+$a->strings["Visit %s's profile [%s]"] = "Bekijk het profiel van %s [%s]";
+$a->strings["Block/Unblock contact"] = "Blokkeer/deblokkeer contact";
+$a->strings["Ignore contact"] = "Negeer contact";
+$a->strings["Repair URL settings"] = "Repareer URL-instellingen";
+$a->strings["View conversations"] = "Toon conversaties";
+$a->strings["Delete contact"] = "Verwijder contact";
+$a->strings["Last update:"] = "Laatste wijziging:";
+$a->strings["Update public posts"] = "Openbare posts aanpassen";
+$a->strings["Update now"] = "Wijzig nu";
+$a->strings["Connect/Follow"] = "Verbind/Volg";
+$a->strings["Currently blocked"] = "Op dit moment geblokkeerd";
+$a->strings["Currently ignored"] = "Op dit moment genegeerd";
+$a->strings["Currently archived"] = "Op dit moment gearchiveerd";
+$a->strings["Hide this contact from others"] = "Verberg dit contact voor anderen";
+$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Antwoorden of 'vind ik leuk's op je openbare posts <strong>kunnen</strong> nog zichtbaar zijn";
+$a->strings["Notification for new posts"] = "Meldingen voor nieuwe berichten";
+$a->strings["Send a notification of every new post of this contact"] = "";
+$a->strings["Blacklisted keywords"] = "";
+$a->strings["Comma separated list of keywords that should not be converted to hashtags, when \"Fetch information and keywords\" is selected"] = "";
+$a->strings["Profile URL"] = "Profiel url";
+$a->strings["Suggestions"] = "Voorstellen";
+$a->strings["Suggest potential friends"] = "Stel vrienden voor";
+$a->strings["All Contacts"] = "Alle Contacten";
+$a->strings["Show all contacts"] = "Toon alle contacten";
+$a->strings["Unblocked"] = "Niet geblokkeerd";
+$a->strings["Only show unblocked contacts"] = "Toon alleen niet-geblokkeerde contacten";
+$a->strings["Blocked"] = "Geblokkeerd";
+$a->strings["Only show blocked contacts"] = "Toon alleen geblokkeerde contacten";
+$a->strings["Ignored"] = "Genegeerd";
+$a->strings["Only show ignored contacts"] = "Toon alleen genegeerde contacten";
+$a->strings["Archived"] = "Gearchiveerd";
+$a->strings["Only show archived contacts"] = "Toon alleen gearchiveerde contacten";
+$a->strings["Hidden"] = "Verborgen";
+$a->strings["Only show hidden contacts"] = "Toon alleen verborgen contacten";
 $a->strings["Contacts"] = "Contacten";
-$a->strings["Your contacts"] = "Jouw contacten";
-$a->strings["event"] = "gebeurtenis";
-$a->strings["status"] = "status";
-$a->strings["photo"] = "foto";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt het %3\$s van %2\$s leuk";
-$a->strings["Contact Photos"] = "Contactfoto's";
-$a->strings["Profile Photos"] = "Profielfoto's";
-$a->strings["Local Directory"] = "Lokale gids";
-$a->strings["Global Directory"] = "Globale gids";
-$a->strings["Similar Interests"] = "Dezelfde interesses";
-$a->strings["Friend Suggestions"] = "Vriendschapsvoorstellen";
-$a->strings["Invite Friends"] = "Vrienden uitnodigen";
-$a->strings["Settings"] = "Instellingen";
-$a->strings["Set zoomfactor for Earth Layers"] = "";
-$a->strings["Show/hide boxes at right-hand column:"] = "";
-$a->strings["Alignment"] = "Uitlijning";
-$a->strings["Left"] = "Links";
-$a->strings["Center"] = "Gecentreerd";
-$a->strings["Color scheme"] = "Kleurschema";
-$a->strings["Posts font size"] = "Lettergrootte berichten";
-$a->strings["Textareas font size"] = "Lettergrootte tekstgebieden";
-$a->strings["Set resize level for images in posts and comments (width and height)"] = "";
-$a->strings["Set theme width"] = "Stel breedte van het thema in";
-$a->strings["Set colour scheme"] = "Stel kleurschema in";
-$a->strings["default"] = "standaard";
-$a->strings["Midnight"] = "";
-$a->strings["Zenburn"] = "";
-$a->strings["Bootstrap"] = "";
-$a->strings["Shades of Pink"] = "";
-$a->strings["Lime and Orange"] = "";
-$a->strings["GeoCities Retro"] = "";
-$a->strings["Background Image"] = "";
-$a->strings["The URL to a picture (e.g. from your photo album) that should be used as background image."] = "";
-$a->strings["Background Color"] = "achtergrondkleur";
-$a->strings["HEX value for the background color. Don't include the #"] = "";
-$a->strings["font size"] = "";
-$a->strings["base font size for your interface"] = "";
-$a->strings["greenzero"] = "";
-$a->strings["purplezero"] = "";
-$a->strings["easterbunny"] = "";
-$a->strings["darkzero"] = "";
-$a->strings["comix"] = "";
-$a->strings["slackr"] = "";
-$a->strings["Variations"] = "";
-$a->strings["Set style"] = "";
-$a->strings["%1\$s is currently %2\$s"] = "%1\$s is op dit moment %2\$s";
-$a->strings["Permission denied."] = "Toegang geweigerd";
-$a->strings["Mood"] = "Stemming";
-$a->strings["Set your current mood and tell your friends"] = "Stel je huidige stemming in, en vertel het je vrienden";
-$a->strings["Access denied."] = "Toegang geweigerd";
+$a->strings["Search your contacts"] = "Doorzoek je contacten";
+$a->strings["Finding: "] = "Gevonden:";
+$a->strings["Find"] = "Zoek";
+$a->strings["Update"] = "Wijzigen";
+$a->strings["Delete"] = "Verwijder";
+$a->strings["Mutual Friendship"] = "Wederzijdse vriendschap";
+$a->strings["is a fan of yours"] = "Is een fan van jou";
+$a->strings["you are a fan of"] = "Jij bent een fan van";
+$a->strings["Edit contact"] = "Contact bewerken";
+$a->strings["No profile"] = "Geen profiel";
+$a->strings["Manage Identities and/or Pages"] = "Beheer Identiteiten en/of Pagina's";
+$a->strings["Toggle between different identities or community/group pages which share your account details or which you have been granted \"manage\" permissions"] = "Wissel tussen verschillende identiteiten of forum/groeppagina's die jouw accountdetails delen of waar je \"beheerdersrechten\" hebt gekregen.";
+$a->strings["Select an identity to manage: "] = "Selecteer een identiteit om te beheren:";
+$a->strings["Post successful."] = "Bericht succesvol geplaatst.";
+$a->strings["Permission denied"] = "Toegang geweigerd";
+$a->strings["Invalid profile identifier."] = "Ongeldige profiel-identificatie.";
+$a->strings["Profile Visibility Editor"] = "";
+$a->strings["Profile"] = "Profiel";
+$a->strings["Click on a contact to add or remove."] = "Klik op een contact om het toe te voegen of te verwijderen.";
+$a->strings["Visible To"] = "Zichtbaar voor";
+$a->strings["All Contacts (with secure profile access)"] = "Alle contacten (met veilige profieltoegang)";
 $a->strings["Item not found."] = "Item niet gevonden.";
-$a->strings["%1\$s welcomes %2\$s"] = "%1\$s heet %2\$s van harte welkom";
-$a->strings["Authorize application connection"] = "";
-$a->strings["Return to your app and insert this Securty Code:"] = "";
-$a->strings["Please login to continue."] = "Log in om verder te 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 toepassing toestemming geven om jouw berichten en contacten in te kijken, en/of nieuwe berichten in jouw plaats aan te maken?";
-$a->strings["Yes"] = "Ja";
-$a->strings["No"] = "Nee";
-$a->strings["No valid account found."] = "Geen geldige account gevonden.";
-$a->strings["Password reset request issued. Check your email."] = "Verzoek om wachtwoord opnieuw in te stellen werd verstuurd. Kijk uw e-mail na.";
-$a->strings["\n\t\tDear %1\$s,\n\t\t\tA request was recently received at \"%2\$s\" to reset your account\n\t\tpassword. In order to confirm this request, please select the verification link\n\t\tbelow or paste it into your web browser address bar.\n\n\t\tIf you did NOT request this change, please DO NOT follow the link\n\t\tprovided and ignore and/or delete this email.\n\n\t\tYour password will not be changed unless we can verify that you\n\t\tissued this request."] = "";
-$a->strings["\n\t\tFollow this link to verify your identity:\n\n\t\t%1\$s\n\n\t\tYou will then receive a follow-up message containing the new password.\n\t\tYou may change that password from your account settings page after logging in.\n\n\t\tThe login details are as follows:\n\n\t\tSite Location:\t%2\$s\n\t\tLogin Name:\t%3\$s"] = "";
-$a->strings["Password reset requested at %s"] = "Op %s werd gevraagd je wachtwoord opnieuw in te stellen";
-$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Verzoek kon niet geverifieerd worden. (Misschien heb je het voordien al ingediend.) Wachtwoord niet opnieuw ingesteld.";
-$a->strings["Password Reset"] = "Wachtwoord opnieuw instellen";
-$a->strings["Your password has been reset as requested."] = "Je wachtwoord is opnieuw ingesteld zoals gevraagd.";
-$a->strings["Your new password is"] = "Je nieuwe wachtwoord is";
-$a->strings["Save or copy your new password - and then"] = "Bewaar of kopieer je nieuw wachtwoord - en dan";
-$a->strings["click here to login"] = "klik hier om in te loggen";
-$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Je kunt dit wachtwoord veranderen nadat je bent ingelogd op de <em>Instellingen></em> pagina.";
-$a->strings["\n\t\t\t\tDear %1\$s,\n\t\t\t\t\tYour password has been changed as requested. Please retain this\n\t\t\t\tinformation for your records (or change your password immediately to\n\t\t\t\tsomething that you will remember).\n\t\t\t"] = "\n\t\t\t\tBeste %1\$s,\n\t\t\t\t\tZoals gevraagd werd je wachtwoord aangepast. Houd deze\n\t\t\t\tinformatie bij (of verander je wachtwoord naar\n\t\t\t\tiets dat je zal onthouden).\n\t\t\t";
-$a->strings["\n\t\t\t\tYour login details are as follows:\n\n\t\t\t\tSite Location:\t%1\$s\n\t\t\t\tLogin Name:\t%2\$s\n\t\t\t\tPassword:\t%3\$s\n\n\t\t\t\tYou may change that password from your account settings page after logging in.\n\t\t\t"] = "";
-$a->strings["Your password has been changed at %s"] = "Je wachtwoord is veranderd op %s";
-$a->strings["Forgot your Password?"] = "Wachtwoord vergeten?";
-$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Voer je e-mailadres in en verstuur het om je wachtwoord opnieuw in te stellen. Kijk dan je e-mail na voor verdere instructies.";
-$a->strings["Nickname or Email: "] = "Bijnaam of e-mail:";
-$a->strings["Reset"] = "Opnieuw";
-$a->strings["Number of daily wall messages for %s exceeded. Message failed."] = "";
-$a->strings["No recipient selected."] = "Geen ontvanger geselecteerd.";
-$a->strings["Unable to check your home location."] = "Niet in staat om je tijdlijn-locatie vast te stellen";
-$a->strings["Message could not be sent."] = "Bericht kon niet verzonden worden.";
-$a->strings["Message collection failure."] = "Fout bij het verzamelen van berichten.";
-$a->strings["Message sent."] = "Bericht verzonden.";
-$a->strings["No recipient."] = "Geen ontvanger.";
-$a->strings["Please enter a link URL:"] = "Vul een internetadres/URL in:";
-$a->strings["Send Private Message"] = "Verstuur privébericht";
-$a->strings["If you wish for %s to respond, please check that the privacy settings on your site allow private mail from unknown senders."] = "Als je wilt dat %s antwoordt moet je nakijken dat de privacy-instellingen op jouw website privéberichten van onbekende afzenders toelaat.";
-$a->strings["To:"] = "Aan:";
-$a->strings["Subject:"] = "Onderwerp:";
-$a->strings["Your message:"] = "Jouw bericht:";
-$a->strings["Upload photo"] = "Foto uploaden";
-$a->strings["Insert web link"] = "Voeg een webadres in";
+$a->strings["Public access denied."] = "Niet vrij toegankelijk";
+$a->strings["Access to this profile has been restricted."] = "Toegang tot dit profiel is beperkt.";
+$a->strings["Item has been removed."] = "Item is verwijderd.";
 $a->strings["Welcome to Friendica"] = "Welkom bij Friendica";
 $a->strings["New Member Checklist"] = "Checklist voor nieuwe leden";
 $a->strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page. A link to this page will be visible from your home page for two weeks after your initial registration and then will quietly disappear."] = "We willen je een paar tips en verwijzingen aanreiken om je een aangename ervaring te bezorgen. Klik op een item om de relevante pagina's te bezoeken. Een verwijzing naar deze pagina zal twee weken lang na je registratie zichtbaar zijn op je tijdlijn. Daarna zal de verwijzing stilletjes verdwijnen.";
 $a->strings["Getting Started"] = "Aan de slag";
 $a->strings["Friendica Walk-Through"] = "Doorloop Friendica";
 $a->strings["On your <em>Quick Start</em> page - find a brief introduction to your profile and network tabs, make some new connections, and find some groups to join."] = "Op je <em>Snelstart</em> pagina kun je een korte inleiding vinden over je profiel en netwerk tabs, om enkele nieuwe connecties te leggen en groepen te vinden om lid van te worden.";
+$a->strings["Settings"] = "Instellingen";
 $a->strings["Go to Your Settings"] = "Ga naar je instellingen";
 $a->strings["On your <em>Settings</em> page -  change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web."] = "Verander je initieel wachtwoord op je <em>instellingenpagina</em>. Noteer ook het adres van je identiteit. Dit ziet er uit als een e-mailadres - en zal nuttig zijn om vrienden te maken op het vrije sociale web.";
 $a->strings["Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you."] = "Controleer ook de andere instellingen, in het bijzonder de privacy-instellingen. Een niet-gepubliceerd adres is zoals een privé-telefoonnummer. In het algemeen wil je waarschijnlijk je adres publiceren - tenzij al je vrienden en mogelijke vrienden precies weten hoe je te vinden.";
@@ -221,161 +156,160 @@ $a->strings["Friendica respects your privacy. By default, your posts will only s
 $a->strings["Getting Help"] = "Hulp krijgen";
 $a->strings["Go to the Help Section"] = "Ga naar de help";
 $a->strings["Our <strong>help</strong> pages may be consulted for detail on other program features and resources."] = "Je kunt onze <strong>help</strong> pagina's raadplegen voor gedetailleerde informatie over andere functies van dit programma.";
-$a->strings["Remove term"] = "Verwijder zoekterm";
-$a->strings["Saved Searches"] = "Opgeslagen zoekopdrachten";
-$a->strings["Public access denied."] = "Niet vrij toegankelijk";
-$a->strings["Search"] = "Zoeken";
-$a->strings["No results."] = "Geen resultaten.";
-$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s labelde %3\$s van %2\$s met %4\$s";
-$a->strings["Item not available."] = "Item niet beschikbaar";
-$a->strings["Item was not found."] = "Item niet gevonden";
-$a->strings["Account approved."] = "Account goedgekeurd.";
-$a->strings["Registration revoked for %s"] = "Registratie ingetrokken voor %s";
-$a->strings["Please login."] = "Inloggen.";
-$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Deze website heeft het toegelaten dagelijkse aantal registraties overschreden. Probeer morgen opnieuw.";
-$a->strings["Import"] = "Importeren";
-$a->strings["Move account"] = "Account verplaatsen";
-$a->strings["You can import an account from another Friendica server."] = "Je kunt een account van een andere Friendica server importeren.";
-$a->strings["You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here."] = "Je moet je account bij de oude server exporteren, en hier uploaden. We zullen je oude account hier opnieuw aanmaken, met al je contacten. We zullen ook proberen om je vrienden in te lichten dat je naar hier verhuisd bent.";
-$a->strings["This feature is experimental. We can't import contacts from the OStatus network (statusnet/identi.ca) or from Diaspora"] = "Deze functie is experimenteel. We kunnen geen contacten van het OStatus netwerk (statusnet/identi.ca) of van Diaspora importeren.";
-$a->strings["Account file"] = "Account bestand";
-$a->strings["To export your account, go to \"Settings->Export your personal data\" and select \"Export account\""] = "";
-$a->strings["Remote privacy information not available."] = "Privacyinformatie op afstand niet beschikbaar.";
-$a->strings["Visible to:"] = "Zichtbaar voor:";
-$a->strings["No profile"] = "Geen profiel";
-$a->strings["[Embedded content - reload page to view]"] = "[Ingebedde inhoud - herlaad pagina om het te bekijken]";
-$a->strings["Source (bbcode) text:"] = "Bron (bbcode) tekst:";
-$a->strings["Source (Diaspora) text to convert to BBcode:"] = "Bron (Diaspora) tekst om naar BBCode om te zetten:";
-$a->strings["Source input: "] = "Bron ingave:";
-$a->strings["bb2html (raw HTML): "] = "bb2html (ruwe HTML):";
-$a->strings["bb2html: "] = "bb2html:";
-$a->strings["bb2html2bb: "] = "bb2html2bb: ";
-$a->strings["bb2md: "] = "bb2md: ";
-$a->strings["bb2md2html: "] = "bb2md2html: ";
-$a->strings["bb2dia2bb: "] = "bb2dia2bb: ";
-$a->strings["bb2md2html2bb: "] = "bb2md2html2bb: ";
-$a->strings["Source input (Diaspora format): "] = "Bron ingave (Diaspora formaat):";
-$a->strings["diaspora2bb: "] = "diaspora2bb: ";
-$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s vindt het %3\$s van %2\$s niet leuk";
-$a->strings["Post successful."] = "Bericht succesvol geplaatst.";
-$a->strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
-$a->strings["Time Conversion"] = "Tijdsconversie";
-$a->strings["Friendica provides this service for sharing events with other networks and friends in unknown timezones."] = "Friendica biedt deze dienst aan om gebeurtenissen te delen met andere netwerken en vrienden in onbekende tijdzones.";
-$a->strings["UTC time: %s"] = "UTC tijd: %s";
-$a->strings["Current timezone: %s"] = "Huidige Tijdzone: %s";
-$a->strings["Converted localtime: %s"] = "Omgerekende lokale tijd: %s";
-$a->strings["Please select your timezone:"] = "Selecteer je tijdzone:";
-$a->strings["Save to Folder:"] = "Bewaren in map:";
-$a->strings["- select -"] = "- Kies -";
-$a->strings["Save"] = "Bewaren";
-$a->strings["Poke/Prod"] = "Aanstoten/porren";
-$a->strings["poke, prod or do other things to somebody"] = "aanstoten, porren of andere dingen met iemand doen";
-$a->strings["Recipient"] = "Ontvanger";
-$a->strings["Choose what you wish to do to recipient"] = "Kies wat je met de ontvanger wil doen";
-$a->strings["Make this post private"] = "Dit bericht privé maken";
+$a->strings["OpenID protocol error. No ID returned."] = "OpenID protocol fout. Geen ID Gevonden.";
+$a->strings["Account not found and OpenID registration is not permitted on this site."] = "Account niet gevonden, en OpenID-registratie is niet toegelaten op deze website.";
+$a->strings["Login failed."] = "Login mislukt.";
+$a->strings["Image uploaded but image cropping failed."] = "Afbeelding opgeladen, maar bijsnijden mislukt.";
+$a->strings["Profile Photos"] = "Profielfoto's";
+$a->strings["Image size reduction [%s] failed."] = "Verkleining van de afbeelding [%s] mislukt.";
+$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Shift-herlaad de pagina, of maak de browser cache leeg als nieuwe foto's niet onmiddellijk verschijnen.";
+$a->strings["Unable to process image"] = "Ik kan de afbeelding niet verwerken";
+$a->strings["Image exceeds size limit of %s"] = "";
+$a->strings["Unable to process image."] = "Niet in staat om de afbeelding te verwerken";
+$a->strings["Upload File:"] = "Upload bestand:";
+$a->strings["Select a profile:"] = "Kies een profiel:";
+$a->strings["Upload"] = "Uploaden";
+$a->strings["or"] = "of";
+$a->strings["skip this step"] = "Deze stap overslaan";
+$a->strings["select a photo from your photo albums"] = "Kies een foto uit je fotoalbums";
+$a->strings["Crop Image"] = "Afbeelding bijsnijden";
+$a->strings["Please adjust the image cropping for optimum viewing."] = "Pas het afsnijden van de afbeelding aan voor het beste resultaat.";
+$a->strings["Done Editing"] = "Wijzigingen compleet";
+$a->strings["Image uploaded successfully."] = "Uploaden van afbeelding gelukt.";
+$a->strings["Image upload failed."] = "Uploaden van afbeelding mislukt.";
+$a->strings["photo"] = "foto";
+$a->strings["status"] = "status";
 $a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s volgt %3\$s van %2\$s";
-$a->strings["Export account"] = "Account exporteren";
-$a->strings["Export your account info and contacts. Use this to make a backup of your account and/or to move it to another server."] = "Je account informatie en contacten exporteren. Gebruik dit om een backup van je account te maken en/of om het te verhuizen naar een andere server.";
-$a->strings["Export all"] = "Alles exporteren";
-$a->strings["Export your accout info, contacts and all your items as json. Could be a very big file, and could take a lot of time. Use this to make a full backup of your account (photos are not exported)"] = "Je account info, contacten en al je items in json formaat exporteren. Dit kan een heel groot bestand worden, en kan lang duren. Gebruik dit om een volledige backup van je account te maken (foto's worden niet geexporteerd)";
-$a->strings["Export personal data"] = "Persoonlijke gegevens exporteren";
-$a->strings["You must be logged in to use addons. "] = "Je moet ingelogd zijn om deze addons te kunnen gebruiken. ";
-$a->strings["Applications"] = "Toepassingen";
-$a->strings["No installed applications."] = "Geen toepassingen geïnstalleerd";
-$a->strings["Nothing new here"] = "Niets nieuw hier";
-$a->strings["Clear notifications"] = "Notificaties verwijderen";
-$a->strings["Cancel"] = "Annuleren";
 $a->strings["Tag removed"] = "Label verwijderd";
 $a->strings["Remove Item Tag"] = "Verwijder label van item";
 $a->strings["Select a tag to remove: "] = "Selecteer een label om te verwijderen: ";
 $a->strings["Remove"] = "Verwijderen";
-$a->strings["No potential page delegates located."] = "Niemand gevonden waar het paginabeheer mogelijk aan uitbesteed kan worden.";
-$a->strings["Delegate Page Management"] = "Paginabeheer uitbesteden";
-$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Personen waaraan het beheer is uitbesteed kunnen alle onderdelen van een account/pagina beheren, behalve de basisinstellingen van een account. Besteed je persoonlijke account daarom niet uit aan personen die je niet volledig vertrouwd.";
-$a->strings["Existing Page Managers"] = "Bestaande paginabeheerders";
-$a->strings["Existing Page Delegates"] = "Bestaande personen waaraan het paginabeheer is uitbesteed";
-$a->strings["Potential Delegates"] = "Mogelijke personen waaraan het paginabeheer kan worden uitbesteed ";
-$a->strings["Add"] = "Toevoegen";
-$a->strings["No entries."] = "Geen gegevens.";
-$a->strings["Visit %s's profile [%s]"] = "Bekijk het profiel van %s [%s]";
-$a->strings["Edit contact"] = "Contact bewerken";
-$a->strings["Contacts who are not members of a group"] = "Contacten die geen leden zijn van een groep";
-$a->strings["Files"] = "Bestanden";
-$a->strings["System down for maintenance"] = "Systeem onbeschikbaar wegens onderhoud";
-$a->strings["Remove My Account"] = "Verwijder mijn account";
-$a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = "Dit zal je account volledig verwijderen. Dit kan niet hersteld worden als het eenmaal uitgevoerd is.";
-$a->strings["Please enter your password for verification:"] = "Voer je wachtwoord in voor verificatie:";
+$a->strings["Subsribing to OStatus contacts"] = "";
+$a->strings["No contact provided."] = "";
+$a->strings["Couldn't fetch information for contact."] = "";
+$a->strings["Couldn't fetch friends for contact."] = "";
+$a->strings["Done"] = "Klaar";
+$a->strings["success"] = "Succesvol";
+$a->strings["failed"] = "Mislukt";
+$a->strings["ignored"] = "Verboden";
+$a->strings["Keep this window open until done."] = "Houd dit scherm open tot het klaar is";
+$a->strings["Save to Folder:"] = "Bewaren in map:";
+$a->strings["- select -"] = "- Kies -";
+$a->strings["Save"] = "Bewaren";
+$a->strings["Submit Request"] = "Aanvraag indienen";
+$a->strings["You already added this contact."] = "Je hebt deze kontakt al toegevoegd";
+$a->strings["Diaspora support isn't enabled. Contact can't be added."] = "";
+$a->strings["OStatus support is disabled. Contact can't be added."] = "";
+$a->strings["The network type couldn't be detected. Contact can't be added."] = "";
+$a->strings["Please answer the following:"] = "Beantwoord het volgende:";
+$a->strings["Does %s know you?"] = "Kent %s jou?";
+$a->strings["No"] = "Nee";
+$a->strings["Add a personal note:"] = "Voeg een persoonlijke opmerking toe:";
+$a->strings["Your Identity Address:"] = "Adres van uw identiteit:";
+$a->strings["Location:"] = "Plaats:";
+$a->strings["About:"] = "Over:";
+$a->strings["Tags:"] = "Labels:";
+$a->strings["Contact added"] = "Contact toegevoegd";
+$a->strings["Unable to locate original post."] = "Ik kan de originele post niet meer vinden.";
+$a->strings["Empty post discarded."] = "Lege post weggegooid.";
+$a->strings["Wall Photos"] = "";
+$a->strings["System error. Post not saved."] = "Systeemfout. Post niet bewaard.";
+$a->strings["This message was sent to you by %s, a member of the Friendica social network."] = "Dit bericht werd naar jou gestuurd door %s, een lid van het Friendica sociale netwerk.";
+$a->strings["You may visit them online at %s"] = "Je kunt ze online bezoeken op %s";
+$a->strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = "Contacteer de afzender door op dit bericht te antwoorden als je deze berichten niet wilt ontvangen.";
+$a->strings["%s posted an update."] = "%s heeft een wijziging geplaatst.";
+$a->strings["Group created."] = "Groep aangemaakt.";
+$a->strings["Could not create group."] = "Kon de groep niet aanmaken.";
+$a->strings["Group not found."] = "Groep niet gevonden.";
+$a->strings["Group name changed."] = "Groepsnaam gewijzigd.";
+$a->strings["Save Group"] = "Bewaar groep";
+$a->strings["Create a group of contacts/friends."] = "Maak een groep contacten/vrienden aan.";
+$a->strings["Group Name: "] = "Groepsnaam:";
+$a->strings["Group removed."] = "Groep verwijderd.";
+$a->strings["Unable to remove group."] = "Niet in staat om groep te verwijderen.";
+$a->strings["Group Editor"] = "Groepsbewerker";
+$a->strings["Members"] = "Leden";
+$a->strings["You must be logged in to use addons. "] = "Je moet ingelogd zijn om deze addons te kunnen gebruiken. ";
+$a->strings["Applications"] = "Toepassingen";
+$a->strings["No installed applications."] = "Geen toepassingen geïnstalleerd";
+$a->strings["Profile not found."] = "Profiel niet gevonden";
 $a->strings["Contact not found."] = "Contact niet gevonden";
+$a->strings["This may occasionally happen if contact was requested by both persons and it has already been approved."] = "Dit kan soms gebeuren als het contact door beide personen werd gevraagd, en het werd al goedgekeurd.";
+$a->strings["Response from remote site was not understood."] = "Antwoord van de website op afstand werd niet begrepen.";
+$a->strings["Unexpected response from remote site: "] = "Onverwacht antwoord van website op afstand:";
+$a->strings["Confirmation completed successfully."] = "Bevestiging werd correct voltooid.";
+$a->strings["Remote site reported: "] = "Website op afstand berichtte: ";
+$a->strings["Temporary failure. Please wait and try again."] = "Tijdelijke fout. Wacht even en probeer opnieuw.";
+$a->strings["Introduction failed or was revoked."] = "Verzoek mislukt of herroepen.";
+$a->strings["Unable to set contact photo."] = "Ik kan geen contact foto instellen.";
+$a->strings["%1\$s is now friends with %2\$s"] = "%1\$s is nu bevriend met %2\$s";
+$a->strings["No user record found for '%s' "] = "Geen gebruiker gevonden voor '%s'";
+$a->strings["Our site encryption key is apparently messed up."] = "De encryptie-sleutel van onze webstek is blijkbaar beschadigd.";
+$a->strings["Empty site URL was provided or URL could not be decrypted by us."] = "Er werd een lege URL gegeven, of de URL kon niet ontcijferd worden door ons.";
+$a->strings["Contact record was not found for you on our site."] = "We vonden op onze webstek geen contactrecord voor jou.";
+$a->strings["Site public key not available in contact record for URL %s."] = "Publieke sleutel voor webstek niet beschikbaar in contactrecord voor URL %s.";
+$a->strings["The ID provided by your system is a duplicate on our system. It should work if you try again."] = "Het ID dat jouw systeem aangeeft is een dubbel op ons systeem. Als je opnieuw probeert zou het moeten werken.";
+$a->strings["Unable to set your contact credentials on our system."] = "Niet in staat om op dit systeem je contactreferenties in te stellen.";
+$a->strings["Unable to update your contact profile details on our system"] = "";
+$a->strings["[Name Withheld]"] = "[Naam achtergehouden]";
+$a->strings["%1\$s has joined %2\$s"] = "%1\$s is toegetreden tot %2\$s";
+$a->strings["Requested profile is not available."] = "Gevraagde profiel is niet beschikbaar.";
+$a->strings["Tips for New Members"] = "Tips voor nieuwe leden";
+$a->strings["Do you really want to delete this video?"] = "Wil je deze video echt verwijderen?";
+$a->strings["Delete Video"] = "Verwijder video";
+$a->strings["No videos selected"] = "Geen video's geselecteerd";
+$a->strings["Access to this item is restricted."] = "Toegang tot dit item is beperkt.";
+$a->strings["View Video"] = "Bekijk Video";
+$a->strings["View Album"] = "Album bekijken";
+$a->strings["Recent Videos"] = "Recente video's";
+$a->strings["Upload New Videos"] = "Nieuwe video's uploaden";
+$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s labelde %3\$s van %2\$s met %4\$s";
 $a->strings["Friend suggestion sent."] = "Vriendschapsvoorstel verzonden.";
 $a->strings["Suggest Friends"] = "Stel vrienden voor";
 $a->strings["Suggest a friend for %s"] = "Stel een vriend voor aan %s";
-$a->strings["Total invitation limit exceeded."] = "Totale uitnodigingslimiet overschreden.";
-$a->strings["%s : Not a valid email address."] = "%s: Geen geldig e-mailadres.";
-$a->strings["Please join us on Friendica"] = "Kom bij ons op Friendica";
-$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Uitnodigingslimiet overschreden. Neem contact op met de beheerder van je website.";
-$a->strings["%s : Message delivery failed."] = "%s : Aflevering van bericht mislukt.";
-$a->strings["%d message sent."] = array(
-       0 => "%d bericht verzonden.",
-       1 => "%d berichten verzonden.",
-);
-$a->strings["You have no more invitations available"] = "Je kunt geen uitnodigingen meer sturen";
-$a->strings["Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks."] = "Bezoek %s voor een lijst van openbare sites waar je je kunt aansluiten. Friendica leden op andere sites kunnen allemaal met elkaar verbonden worden, en ook met leden van verschillende andere sociale netwerken.";
-$a->strings["To accept this invitation, please visit and register at %s or any other public Friendica website."] = "Om deze uitnodiging te accepteren kan je je op %s registreren of op een andere vrij toegankelijke Friendica-website.";
-$a->strings["Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join."] = "Friendica servers zijn allemaal onderling verbonden om een reusachtig sociaal web te maken met verbeterde privacy, dat eigendom is van en gecontroleerd door zijn leden. Ze kunnen ook verbindingen maken met verschillende traditionele sociale netwerken. Bekijk %s voor een lijst van alternatieve Friendica servers waar je aan kunt sluiten.";
-$a->strings["Our apologies. This system is not currently configured to connect with other public sites or invite members."] = "Onze verontschuldigingen. Dit systeem is momenteel niet ingesteld om verbinding te maken met andere openbare plaatsen of leden uit te nodigen.";
-$a->strings["Send invitations"] = "Verstuur uitnodigingen";
-$a->strings["Enter email addresses, one per line:"] = "Vul e-mailadressen in, Ã©Ã©n per lijn:";
-$a->strings["You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web."] = "Ik nodig je vriendelijk uit om bij mij en andere vrienden te komen op Friendica - en ons te helpen om een beter sociaal web te bouwen.";
-$a->strings["You will need to supply this invitation code: \$invite_code"] = "Je zult deze uitnodigingscode moeten invullen: \$invite_code";
-$a->strings["Once you have registered, please connect with me via my profile page at:"] = "Eens je geregistreerd bent kun je contact leggen met mij via mijn profielpagina op:";
-$a->strings["For more information about the Friendica project and why we feel it is important, please visit http://friendica.com"] = "Voor meer informatie over het Friendica project en waarom wij denken dat het belangrijk is kun je http://friendica.com/ bezoeken";
-$a->strings["Manage Identities and/or Pages"] = "Beheer Identiteiten en/of Pagina's";
-$a->strings["Toggle between different identities or community/group pages which share your account details or which you have been granted \"manage\" permissions"] = "Wissel tussen verschillende identiteiten of forum/groeppagina's die jouw accountdetails delen of waar je \"beheerdersrechten\" hebt gekregen.";
-$a->strings["Select an identity to manage: "] = "Selecteer een identiteit om te beheren:";
-$a->strings["Welcome to %s"] = "Welkom op %s";
-$a->strings["New Message"] = "Nieuw Bericht";
-$a->strings["Unable to locate contact information."] = "Ik kan geen contact informatie vinden.";
-$a->strings["Messages"] = "Privéberichten";
-$a->strings["Do you really want to delete this message?"] = "Wil je echt dit bericht verwijderen?";
-$a->strings["Message deleted."] = "Bericht verwijderd.";
-$a->strings["Conversation removed."] = "Gesprek verwijderd.";
-$a->strings["No messages."] = "Geen berichten.";
-$a->strings["Unknown sender - %s"] = "Onbekende afzender - %s";
-$a->strings["You and %s"] = "Jij en %s";
-$a->strings["%s and You"] = "%s en jij";
-$a->strings["Delete conversation"] = "Verwijder gesprek";
-$a->strings["D, d M Y - g:i A"] = "D, d M Y - g:i A";
-$a->strings["%d message"] = array(
-       0 => "%d bericht",
-       1 => "%d berichten",
-);
-$a->strings["Message not available."] = "Bericht niet beschikbaar.";
-$a->strings["Delete message"] = "Verwijder bericht";
-$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Geen beveiligde communicatie beschikbaar. Je kunt <strong>misschien</strong> antwoorden vanaf de profiel-pagina van de afzender.";
-$a->strings["Send Reply"] = "Verstuur Antwoord";
+$a->strings["Invalid request."] = "";
+$a->strings["No valid account found."] = "Geen geldige account gevonden.";
+$a->strings["Password reset request issued. Check your email."] = "Verzoek om wachtwoord opnieuw in te stellen werd verstuurd. Kijk uw e-mail na.";
+$a->strings["\n\t\tDear %1\$s,\n\t\t\tA request was recently received at \"%2\$s\" to reset your account\n\t\tpassword. In order to confirm this request, please select the verification link\n\t\tbelow or paste it into your web browser address bar.\n\n\t\tIf you did NOT request this change, please DO NOT follow the link\n\t\tprovided and ignore and/or delete this email.\n\n\t\tYour password will not be changed unless we can verify that you\n\t\tissued this request."] = "";
+$a->strings["\n\t\tFollow this link to verify your identity:\n\n\t\t%1\$s\n\n\t\tYou will then receive a follow-up message containing the new password.\n\t\tYou may change that password from your account settings page after logging in.\n\n\t\tThe login details are as follows:\n\n\t\tSite Location:\t%2\$s\n\t\tLogin Name:\t%3\$s"] = "";
+$a->strings["Password reset requested at %s"] = "Op %s werd gevraagd je wachtwoord opnieuw in te stellen";
+$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Verzoek kon niet geverifieerd worden. (Misschien heb je het voordien al ingediend.) Wachtwoord niet opnieuw ingesteld.";
+$a->strings["Password Reset"] = "Wachtwoord opnieuw instellen";
+$a->strings["Your password has been reset as requested."] = "Je wachtwoord is opnieuw ingesteld zoals gevraagd.";
+$a->strings["Your new password is"] = "Je nieuwe wachtwoord is";
+$a->strings["Save or copy your new password - and then"] = "Bewaar of kopieer je nieuw wachtwoord - en dan";
+$a->strings["click here to login"] = "klik hier om in te loggen";
+$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Je kunt dit wachtwoord veranderen nadat je bent ingelogd op de <em>Instellingen></em> pagina.";
+$a->strings["\n\t\t\t\tDear %1\$s,\n\t\t\t\t\tYour password has been changed as requested. Please retain this\n\t\t\t\tinformation for your records (or change your password immediately to\n\t\t\t\tsomething that you will remember).\n\t\t\t"] = "\n\t\t\t\tBeste %1\$s,\n\t\t\t\t\tZoals gevraagd werd je wachtwoord aangepast. Houd deze\n\t\t\t\tinformatie bij (of verander je wachtwoord naar\n\t\t\t\tiets dat je zal onthouden).\n\t\t\t";
+$a->strings["\n\t\t\t\tYour login details are as follows:\n\n\t\t\t\tSite Location:\t%1\$s\n\t\t\t\tLogin Name:\t%2\$s\n\t\t\t\tPassword:\t%3\$s\n\n\t\t\t\tYou may change that password from your account settings page after logging in.\n\t\t\t"] = "";
+$a->strings["Your password has been changed at %s"] = "Je wachtwoord is veranderd op %s";
+$a->strings["Forgot your Password?"] = "Wachtwoord vergeten?";
+$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Voer je e-mailadres in en verstuur het om je wachtwoord opnieuw in te stellen. Kijk dan je e-mail na voor verdere instructies.";
+$a->strings["Nickname or Email: "] = "Bijnaam of e-mail:";
+$a->strings["Reset"] = "Opnieuw";
+$a->strings["event"] = "gebeurtenis";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt het %3\$s van %2\$s leuk";
+$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s vindt het %3\$s van %2\$s niet leuk";
+$a->strings["%1\$s is attending %2\$s's %3\$s"] = "";
+$a->strings["%1\$s is not attending %2\$s's %3\$s"] = "";
+$a->strings["%1\$s may attend %2\$s's %3\$s"] = "";
+$a->strings["{0} wants to be your friend"] = "{0} wilt je vriend worden";
+$a->strings["{0} sent you a message"] = "{0} stuurde jou een bericht";
+$a->strings["{0} requested registration"] = "{0} vroeg om zich te registreren";
 $a->strings["No contacts."] = "Geen contacten.";
 $a->strings["View Contacts"] = "Bekijk contacten";
-$a->strings["OpenID protocol error. No ID returned."] = "OpenID protocol fout. Geen ID Gevonden.";
-$a->strings["Account not found and OpenID registration is not permitted on this site."] = "Account niet gevonden, en OpenID-registratie is niet toegelaten op deze website.";
-$a->strings["Login failed."] = "Login mislukt.";
-$a->strings["Not available."] = "Niet beschikbaar";
-$a->strings["Help:"] = "Help:";
-$a->strings["Help"] = "Help";
-$a->strings["Not Found"] = "Niet gevonden";
-$a->strings["Page not found."] = "Pagina niet gevonden";
 $a->strings["Invalid request identifier."] = "Ongeldige <em>request identifier</em>.";
 $a->strings["Discard"] = "Verwerpen";
-$a->strings["Ignore"] = "Negeren";
 $a->strings["System"] = "Systeem";
 $a->strings["Network"] = "Netwerk";
 $a->strings["Personal"] = "Persoonlijk";
+$a->strings["Home"] = "Tijdlijn";
 $a->strings["Introductions"] = "Verzoeken";
 $a->strings["Show Ignored Requests"] = "Toon genegeerde verzoeken";
 $a->strings["Hide Ignored Requests"] = "Verberg genegeerde verzoeken";
 $a->strings["Notification type: "] = "Notificatiesoort:";
 $a->strings["Friend Suggestion"] = "Vriendschapsvoorstel";
 $a->strings["suggested by %s"] = "Voorgesteld door %s";
-$a->strings["Hide this contact from others"] = "Verberg dit contact voor anderen";
 $a->strings["Post a new friend activity"] = "Bericht over een nieuwe vriend";
 $a->strings["if applicable"] = "Indien toepasbaar";
 $a->strings["Approve"] = "Goedkeuren";
@@ -389,6 +323,7 @@ $a->strings["Sharer"] = "Deler";
 $a->strings["Fan/Admirer"] = "Fan/Bewonderaar";
 $a->strings["Friend/Connect Request"] = "Vriendschapsverzoek";
 $a->strings["New Follower"] = "Nieuwe Volger";
+$a->strings["Gender:"] = "Geslacht:";
 $a->strings["No introductions."] = "Geen vriendschaps- of connectieverzoeken.";
 $a->strings["Notifications"] = "Notificaties";
 $a->strings["%s liked %s's post"] = "%s vond het bericht van %s leuk";
@@ -404,12 +339,93 @@ $a->strings["No more personal notifications."] = "Geen persoonlijke notificaties
 $a->strings["Personal Notifications"] = "Persoonlijke notificaties";
 $a->strings["No more home notifications."] = "Geen tijdlijn-notificaties meer";
 $a->strings["Home Notifications"] = "Tijdlijn-notificaties";
+$a->strings["Source (bbcode) text:"] = "Bron (bbcode) tekst:";
+$a->strings["Source (Diaspora) text to convert to BBcode:"] = "Bron (Diaspora) tekst om naar BBCode om te zetten:";
+$a->strings["Source input: "] = "Bron ingave:";
+$a->strings["bb2html (raw HTML): "] = "bb2html (ruwe HTML):";
+$a->strings["bb2html: "] = "bb2html:";
+$a->strings["bb2html2bb: "] = "bb2html2bb: ";
+$a->strings["bb2md: "] = "bb2md: ";
+$a->strings["bb2md2html: "] = "bb2md2html: ";
+$a->strings["bb2dia2bb: "] = "bb2dia2bb: ";
+$a->strings["bb2md2html2bb: "] = "bb2md2html2bb: ";
+$a->strings["Source input (Diaspora format): "] = "Bron ingave (Diaspora formaat):";
+$a->strings["diaspora2bb: "] = "diaspora2bb: ";
+$a->strings["Nothing new here"] = "Niets nieuw hier";
+$a->strings["Clear notifications"] = "Notificaties verwijderen";
+$a->strings["New Message"] = "Nieuw Bericht";
+$a->strings["No recipient selected."] = "Geen ontvanger geselecteerd.";
+$a->strings["Unable to locate contact information."] = "Ik kan geen contact informatie vinden.";
+$a->strings["Message could not be sent."] = "Bericht kon niet verzonden worden.";
+$a->strings["Message collection failure."] = "Fout bij het verzamelen van berichten.";
+$a->strings["Message sent."] = "Bericht verzonden.";
+$a->strings["Messages"] = "Privéberichten";
+$a->strings["Do you really want to delete this message?"] = "Wil je echt dit bericht verwijderen?";
+$a->strings["Message deleted."] = "Bericht verwijderd.";
+$a->strings["Conversation removed."] = "Gesprek verwijderd.";
+$a->strings["Please enter a link URL:"] = "Vul een internetadres/URL in:";
+$a->strings["Send Private Message"] = "Verstuur privébericht";
+$a->strings["To:"] = "Aan:";
+$a->strings["Subject:"] = "Onderwerp:";
+$a->strings["Your message:"] = "Jouw bericht:";
+$a->strings["Upload photo"] = "Foto uploaden";
+$a->strings["Insert web link"] = "Voeg een webadres in";
+$a->strings["Please wait"] = "Even geduld";
+$a->strings["No messages."] = "Geen berichten.";
+$a->strings["Message not available."] = "Bericht niet beschikbaar.";
+$a->strings["Delete message"] = "Verwijder bericht";
+$a->strings["Delete conversation"] = "Verwijder gesprek";
+$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Geen beveiligde communicatie beschikbaar. Je kunt <strong>misschien</strong> antwoorden vanaf de profiel-pagina van de afzender.";
+$a->strings["Send Reply"] = "Verstuur Antwoord";
+$a->strings["Unknown sender - %s"] = "Onbekende afzender - %s";
+$a->strings["You and %s"] = "Jij en %s";
+$a->strings["%s and You"] = "%s en jij";
+$a->strings["D, d M Y - g:i A"] = "D, d M Y - g:i A";
+$a->strings["%d message"] = array(
+       0 => "%d bericht",
+       1 => "%d berichten",
+);
+$a->strings["[Embedded content - reload page to view]"] = "[Ingebedde inhoud - herlaad pagina om het te bekijken]";
+$a->strings["Contact settings applied."] = "Contactinstellingen toegepast.";
+$a->strings["Contact update failed."] = "Aanpassen van contact mislukt.";
+$a->strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working."] = "";
+$a->strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "Gebruik <strong>nu</strong> de \"terug\"-knop in je webbrowser wanneer je niet weet wat je op deze pagina moet doen.";
+$a->strings["No mirroring"] = "";
+$a->strings["Mirror as forwarded posting"] = "";
+$a->strings["Mirror as my own posting"] = "";
+$a->strings["Repair Contact Settings"] = "Contactinstellingen herstellen";
+$a->strings["Return to contact editor"] = "Ga terug naar contactbewerker";
+$a->strings["Refetch contact data"] = "";
+$a->strings["Name"] = "Naam";
+$a->strings["Account Nickname"] = "Bijnaam account";
+$a->strings["@Tagname - overrides Name/Nickname"] = "@Labelnaam - krijgt voorrang op naam/bijnaam";
+$a->strings["Account URL"] = "URL account";
+$a->strings["Friend Request URL"] = "URL vriendschapsverzoek";
+$a->strings["Friend Confirm URL"] = "URL vriendschapsbevestiging";
+$a->strings["Notification Endpoint URL"] = "";
+$a->strings["Poll/Feed URL"] = "URL poll/feed";
+$a->strings["New photo from this URL"] = "Nieuwe foto van deze URL";
+$a->strings["Remote Self"] = "";
+$a->strings["Mirror postings from this contact"] = "";
+$a->strings["Mark this contact as remote_self, this will cause friendica to repost new entries from this contact."] = "";
+$a->strings["Login"] = "Login";
+$a->strings["The post was created"] = "";
+$a->strings["Access denied."] = "Toegang geweigerd";
+$a->strings["Connect"] = "Verbinden";
+$a->strings["View Profile"] = "Bekijk profiel";
+$a->strings["People Search - %s"] = "";
+$a->strings["No matches"] = "Geen resultaten";
+$a->strings["Photos"] = "Foto's";
+$a->strings["Contact Photos"] = "Contactfoto's";
+$a->strings["Files"] = "Bestanden";
+$a->strings["Contacts who are not members of a group"] = "Contacten die geen leden zijn van een groep";
 $a->strings["Theme settings updated."] = "Thema-instellingen aangepast.";
 $a->strings["Site"] = "Website";
 $a->strings["Users"] = "Gebruiker";
 $a->strings["Plugins"] = "Plugins";
 $a->strings["Themes"] = "Thema's";
 $a->strings["DB updates"] = "DB aanpassingen";
+$a->strings["Inspect Queue"] = "";
 $a->strings["Logs"] = "Logs";
 $a->strings["probe address"] = "";
 $a->strings["check webfinger"] = "";
@@ -417,6 +433,13 @@ $a->strings["Admin"] = "Beheer";
 $a->strings["Plugin Features"] = "Plugin Functies";
 $a->strings["diagnostics"] = "";
 $a->strings["User registrations waiting for confirmation"] = "Gebruikersregistraties wachten op bevestiging";
+$a->strings["Administration"] = "Beheer";
+$a->strings["ID"] = "ID";
+$a->strings["Recipient Name"] = "";
+$a->strings["Recipient Profile"] = "";
+$a->strings["Created"] = "";
+$a->strings["Last Tried"] = "";
+$a->strings["This page lists the content of the queue for outgoing postings. These are postings the initial delivery failed for. They will be resend later and eventually deleted if the delivery fails permanently."] = "";
 $a->strings["Normal Account"] = "Normaal account";
 $a->strings["Soapbox Account"] = "Zeepkist-account";
 $a->strings["Community/Celebrity Account"] = "Account voor een groep/forum of beroemdheid";
@@ -424,24 +447,29 @@ $a->strings["Automatic Friend Account"] = "Automatisch Vriendschapsaccount";
 $a->strings["Blog Account"] = "Blog Account";
 $a->strings["Private Forum"] = "Privéforum/-groep";
 $a->strings["Message queues"] = "Bericht-wachtrijen";
-$a->strings["Administration"] = "Beheer";
 $a->strings["Summary"] = "Samenvatting";
 $a->strings["Registered users"] = "Geregistreerde gebruikers";
 $a->strings["Pending registrations"] = "Registraties die in de wacht staan";
 $a->strings["Version"] = "Versie";
 $a->strings["Active plugins"] = "Actieve plug-ins";
 $a->strings["Can not parse base url. Must have at least <scheme>://<domain>"] = "";
+$a->strings["RINO2 needs mcrypt php extension to work."] = "";
 $a->strings["Site settings updated."] = "Site instellingen gewijzigd.";
 $a->strings["No special theme for mobile devices"] = "Geen speciaal thema voor mobiele apparaten";
 $a->strings["No community page"] = "";
 $a->strings["Public postings from users of this site"] = "";
 $a->strings["Global community page"] = "";
-$a->strings["Never"] = "Nooit";
 $a->strings["At post arrival"] = "";
 $a->strings["Frequently"] = "Frequent";
 $a->strings["Hourly"] = "elk uur";
 $a->strings["Twice daily"] = "Twee keer per dag";
 $a->strings["Daily"] = "dagelijks";
+$a->strings["Users, Global Contacts"] = "";
+$a->strings["Users, Global Contacts/fallback"] = "";
+$a->strings["One month"] = "";
+$a->strings["Three months"] = "";
+$a->strings["Half a year"] = "";
+$a->strings["One year"] = "";
 $a->strings["Multi user instance"] = "Server voor meerdere gebruikers";
 $a->strings["Closed"] = "Gesloten";
 $a->strings["Requires approval"] = "Toestemming vereist";
@@ -454,16 +482,20 @@ $a->strings["Registration"] = "Registratie";
 $a->strings["File upload"] = "Uploaden bestand";
 $a->strings["Policies"] = "Beleid";
 $a->strings["Advanced"] = "Geavanceerd";
+$a->strings["Auto Discovered Contact Directory"] = "";
 $a->strings["Performance"] = "Performantie";
 $a->strings["Relocate - WARNING: advanced function. Could make this server unreachable."] = "";
 $a->strings["Site name"] = "Site naam";
 $a->strings["Host name"] = "";
 $a->strings["Sender Email"] = "";
+$a->strings["The email address your server shall use to send notification emails from."] = "";
 $a->strings["Banner/Logo"] = "Banner/Logo";
 $a->strings["Shortcut icon"] = "";
+$a->strings["Link to an icon that will be used for browsers."] = "";
 $a->strings["Touch icon"] = "";
+$a->strings["Link to an icon that will be used for tablets and mobiles."] = "";
 $a->strings["Additional Info"] = "";
-$a->strings["For public servers: you can add additional information here that will be listed at dir.friendica.com/siteinfo."] = "";
+$a->strings["For public servers: you can add additional information here that will be listed at %s/siteinfo."] = "";
 $a->strings["System language"] = "Systeemtaal";
 $a->strings["System theme"] = "Systeem thema";
 $a->strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standaard systeem thema - kan door gebruikersprofielen veranderd worden - <a href='#' id='cnftheme'>verander thema instellingen</a>";
@@ -500,8 +532,8 @@ $a->strings["Block public"] = "Openbare toegang blokkeren";
 $a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Kruis dit aan om alle openbare persoonlijke pagina's alleen toegankelijk te maken voor ingelogde gebruikers.";
 $a->strings["Force publish"] = "Dwing publiceren af";
 $a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Kruis dit aan om af te dwingen dat alle profielen op deze website in de gids van deze website gepubliceerd worden.";
-$a->strings["Global directory update URL"] = "Update-adres van de globale gids";
-$a->strings["URL to update the global directory. If this is not set, the global directory is completely unavailable to the application."] = "URL om de globale gids aan te passen. Als dit niet is ingevuld, is de globale gids volledig onbeschikbaar voor deze toepassing.";
+$a->strings["Global directory URL"] = "";
+$a->strings["URL to the global directory. If this is not set, the global directory is completely unavailable to the application."] = "";
 $a->strings["Allow threaded items"] = "Sta threads in conversaties toe";
 $a->strings["Allow infinite level threading for items on this site."] = "Sta oneindige niveaus threads in conversaties op deze website toe.";
 $a->strings["Private posts by default for new users"] = "Privéberichten als standaard voor nieuwe gebruikers";
@@ -530,6 +562,8 @@ $a->strings["Enable OStatus support"] = "Activeer OStatus ondersteuning";
 $a->strings["Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed."] = "";
 $a->strings["OStatus conversation completion interval"] = "";
 $a->strings["How often shall the poller check for new entries in OStatus conversations? This can be a very ressource task."] = "";
+$a->strings["OStatus support can only be enabled if threading is enabled."] = "";
+$a->strings["Diaspora support can't be enabled because Friendica was installed into a sub directory."] = "";
 $a->strings["Enable Diaspora support"] = "Activeer Diaspora ondersteuning";
 $a->strings["Provide built-in Diaspora network compatibility."] = "Bied ingebouwde ondersteuning voor het Diaspora netwerk.";
 $a->strings["Only allow Friendica contacts"] = "Laat alleen Friendica contacten toe";
@@ -548,6 +582,18 @@ $a->strings["Maximum Load Average"] = "Maximum gemiddelde belasting";
 $a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximum systeembelasting voordat aflever- en poll-processen uitgesteld worden - standaard 50.";
 $a->strings["Maximum Load Average (Frontend)"] = "";
 $a->strings["Maximum system load before the frontend quits service - default 50."] = "";
+$a->strings["Periodical check of global contacts"] = "";
+$a->strings["If enabled, the global contacts are checked periodically for missing or outdated data and the vitality of the contacts and servers."] = "";
+$a->strings["Days between requery"] = "";
+$a->strings["Number of days after which a server is requeried for his contacts."] = "";
+$a->strings["Discover contacts from other servers"] = "";
+$a->strings["Periodically query other servers for contacts. You can choose between 'users': the users on the remote system, 'Global Contacts': active contacts that are known on the system. The fallback is meant for Redmatrix servers and older friendica servers, where global contacts weren't available. The fallback increases the server load, so the recommened setting is 'Users, Global Contacts'."] = "";
+$a->strings["Timeframe for fetching global contacts"] = "";
+$a->strings["When the discovery is activated, this value defines the timeframe for the activity of the global contacts that are fetched from other servers."] = "";
+$a->strings["Search the local directory"] = "";
+$a->strings["Search the local directory instead of the global directory. When searching locally, every search will be executed on the global directory in the background. This improves the search results when the search is repeated."] = "";
+$a->strings["Publish server information"] = "";
+$a->strings["If enabled, general server and usage data will be published. The data contains the name and version of the server, number of users with public profiles, number of posts and the activated protocols and connectors. See <a href='http://the-federation.info/'>the-federation.info</a> for details."] = "";
 $a->strings["Use MySQL full text engine"] = "Gebruik de tekst-zoekfunctie van MySQL";
 $a->strings["Activates the full text engine. Speeds up search - but can only search for four and more characters."] = "Activeert de zoekmotor. Dit maakt zoeken sneller, maar het kan alleen zoeken naar teksten van minstens vier letters.";
 $a->strings["Suppress Language"] = "";
@@ -555,13 +601,17 @@ $a->strings["Suppress language information in meta information about a posting."
 $a->strings["Suppress Tags"] = "";
 $a->strings["Suppress showing a list of hashtags at the end of the posting."] = "";
 $a->strings["Path to item cache"] = "Pad naar cache voor items";
+$a->strings["The item caches buffers generated bbcode and external images."] = "";
 $a->strings["Cache duration in seconds"] = "Cache tijdsduur in seconden";
 $a->strings["How long should the cache files be hold? Default value is 86400 seconds (One day). To disable the item cache, set the value to -1."] = "";
 $a->strings["Maximum numbers of comments per post"] = "";
 $a->strings["How much comments should be shown for each post? Default value is 100."] = "";
 $a->strings["Path for lock file"] = "Pad voor lock bestand";
+$a->strings["The lock file is used to avoid multiple pollers at one time. Only define a folder here."] = "";
 $a->strings["Temp path"] = "Tijdelijk pad";
+$a->strings["If you have a restricted system where the webserver can't access the system temp path, enter another path here."] = "";
 $a->strings["Base path to installation"] = "Basispad voor installatie";
+$a->strings["If the system cannot detect the correct path to your installation, enter the correct path here. This setting should only be set if you are using a restricted system and symbolic links to your webroot."] = "";
 $a->strings["Disable picture proxy"] = "";
 $a->strings["The picture proxy increases performance and privacy. It shouldn't be used on systems with very low bandwith."] = "";
 $a->strings["Enable old style pager"] = "";
@@ -569,8 +619,11 @@ $a->strings["The old style pager has page numbers but slows down massively the p
 $a->strings["Only search in tags"] = "";
 $a->strings["On large systems the text search can slow down the system extremely."] = "";
 $a->strings["New base url"] = "";
+$a->strings["Change base url for this server. Sends relocate message to all DFRN contacts of all users."] = "";
 $a->strings["RINO Encryption"] = "";
 $a->strings["Encryption layer between nodes."] = "";
+$a->strings["Embedly API key"] = "";
+$a->strings["<a href='http://embed.ly'>Embedly</a> is used to fetch additional data for web pages. This is an optional parameter."] = "";
 $a->strings["Update has been marked successful"] = "Wijziging succesvol gemarkeerd ";
 $a->strings["Database structure update %s was successfully applied."] = "";
 $a->strings["Executing of database structure update %s failed with error: %s"] = "";
@@ -603,12 +656,9 @@ $a->strings["select all"] = "Alles selecteren";
 $a->strings["User registrations waiting for confirm"] = "Gebruikersregistraties wachten op een bevestiging";
 $a->strings["User waiting for permanent deletion"] = "";
 $a->strings["Request date"] = "Registratiedatum";
-$a->strings["Name"] = "Naam";
 $a->strings["Email"] = "E-mail";
 $a->strings["No registrations."] = "Geen registraties.";
 $a->strings["Deny"] = "Weiger";
-$a->strings["Block"] = "Blokkeren";
-$a->strings["Unblock"] = "Blokkering opheffen";
 $a->strings["Site admin"] = "Sitebeheerder";
 $a->strings["Account expired"] = "Account verlopen";
 $a->strings["New User"] = "Nieuwe gebruiker";
@@ -630,8 +680,10 @@ $a->strings["Enable"] = "Inschakelen";
 $a->strings["Toggle"] = "Schakelaar";
 $a->strings["Author: "] = "Auteur:";
 $a->strings["Maintainer: "] = "Onderhoud:";
+$a->strings["Reload active plugins"] = "";
 $a->strings["No themes found."] = "Geen thema's gevonden.";
 $a->strings["Screenshot"] = "Schermafdruk";
+$a->strings["Reload active themes"] = "";
 $a->strings["[Experimental]"] = "[Experimenteel]";
 $a->strings["[Unsupported]"] = "[Niet ondersteund]";
 $a->strings["Log settings updated."] = "Log instellingen gewijzigd";
@@ -640,225 +692,87 @@ $a->strings["Enable Debugging"] = "";
 $a->strings["Log file"] = "Logbestand";
 $a->strings["Must be writable by web server. Relative to your Friendica top-level directory."] = "De webserver moet hier kunnen schrijven. Relatief t.o.v. van de hoogste folder binnen uw Friendica-installatie.";
 $a->strings["Log level"] = "Log niveau";
-$a->strings["Update now"] = "Wijzig nu";
 $a->strings["Close"] = "Afsluiten";
 $a->strings["FTP Host"] = "FTP Server";
 $a->strings["FTP Path"] = "FTP Pad";
 $a->strings["FTP User"] = "FTP Gebruiker";
 $a->strings["FTP Password"] = "FTP wachtwoord";
-$a->strings["Friends of %s"] = "Vrienden van %s";
-$a->strings["No friends to display."] = "Geen vrienden om te laten zien.";
-$a->strings["Common Friends"] = "Gedeelde Vrienden";
-$a->strings["No contacts in common."] = "Geen gedeelde contacten.";
-$a->strings["%d contact edited."] = array(
-       0 => "",
-       1 => "",
-);
-$a->strings["Could not access contact record."] = "Kon geen toegang krijgen tot de contactgegevens";
-$a->strings["Could not locate selected profile."] = "Kon het geselecteerde profiel niet vinden.";
-$a->strings["Contact updated."] = "Contact bijgewerkt.";
-$a->strings["Failed to update contact record."] = "Ik kon de contactgegevens niet aanpassen.";
-$a->strings["Contact has been blocked"] = "Contact is geblokkeerd";
-$a->strings["Contact has been unblocked"] = "Contact is gedeblokkeerd";
-$a->strings["Contact has been ignored"] = "Contact wordt genegeerd";
-$a->strings["Contact has been unignored"] = "Contact wordt niet meer genegeerd";
-$a->strings["Contact has been archived"] = "Contact is gearchiveerd";
-$a->strings["Contact has been unarchived"] = "Contact is niet meer gearchiveerd";
-$a->strings["Do you really want to delete this contact?"] = "Wil je echt dit contact verwijderen?";
-$a->strings["Contact has been removed."] = "Contact is verwijderd.";
-$a->strings["You are mutual friends with %s"] = "Je bent wederzijds bevriend met %s";
-$a->strings["You are sharing with %s"] = "Je deelt met %s";
-$a->strings["%s is sharing with you"] = "%s deelt met jou";
-$a->strings["Private communications are not available for this contact."] = "Privécommunicatie met dit contact is niet beschikbaar.";
-$a->strings["(Update was successful)"] = "(Wijziging is geslaagd)";
-$a->strings["(Update was not successful)"] = "(Wijziging is niet geslaagd)";
-$a->strings["Suggest friends"] = "Stel vrienden voor";
-$a->strings["Network type: %s"] = "Netwerk type: %s";
-$a->strings["%d contact in common"] = array(
-       0 => "%d gedeeld contact",
-       1 => "%d gedeelde contacten",
+$a->strings["Search Results For: %s"] = "";
+$a->strings["Remove term"] = "Verwijder zoekterm";
+$a->strings["Saved Searches"] = "Opgeslagen zoekopdrachten";
+$a->strings["add"] = "toevoegen";
+$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 op jou betrekking hebben";
+$a->strings["New"] = "Nieuw";
+$a->strings["Activity Stream - by date"] = "Activiteitenstroom - volgens datum";
+$a->strings["Shared Links"] = "Gedeelde links";
+$a->strings["Interesting Links"] = "Interessante links";
+$a->strings["Starred"] = "Met ster";
+$a->strings["Favourite Posts"] = "Favoriete berichten";
+$a->strings["Warning: This group contains %s member from an insecure network."] = array(
+       0 => "Waarschuwing: Deze groep bevat %s lid van een onveilig netwerk.",
+       1 => "Waarschuwing: Deze groep bevat %s leden van een onveilig netwerk.",
 );
-$a->strings["View all contacts"] = "Alle contacten zien";
-$a->strings["Toggle Blocked status"] = "Schakel geblokkeerde status";
-$a->strings["Unignore"] = "Negeer niet meer";
-$a->strings["Toggle Ignored status"] = "Schakel negeerstatus";
-$a->strings["Unarchive"] = "Archiveer niet meer";
-$a->strings["Archive"] = "Archiveer";
-$a->strings["Toggle Archive status"] = "Schakel archiveringsstatus";
-$a->strings["Repair"] = "Herstellen";
-$a->strings["Advanced Contact Settings"] = "Geavanceerde instellingen voor contacten";
-$a->strings["Communications lost with this contact!"] = "Communicatie met dit contact is verbroken!";
-$a->strings["Fetch further information for feeds"] = "";
-$a->strings["Disabled"] = "";
-$a->strings["Fetch information"] = "";
-$a->strings["Fetch information and keywords"] = "";
-$a->strings["Contact Editor"] = "Contactbewerker";
-$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 getoond moet worden wanneer %s uw profiel bezoekt. ";
-$a->strings["Contact Information / Notes"] = "Contactinformatie / aantekeningen";
-$a->strings["Edit contact notes"] = "Wijzig aantekeningen over dit contact";
-$a->strings["Block/Unblock contact"] = "Blokkeer/deblokkeer contact";
-$a->strings["Ignore contact"] = "Negeer contact";
-$a->strings["Repair URL settings"] = "Repareer URL-instellingen";
-$a->strings["View conversations"] = "Toon conversaties";
-$a->strings["Delete contact"] = "Verwijder contact";
-$a->strings["Last update:"] = "Laatste wijziging:";
-$a->strings["Update public posts"] = "Openbare posts aanpassen";
-$a->strings["Currently blocked"] = "Op dit moment geblokkeerd";
-$a->strings["Currently ignored"] = "Op dit moment genegeerd";
-$a->strings["Currently archived"] = "Op dit moment gearchiveerd";
-$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Antwoorden of 'vind ik leuk's op je openbare posts <strong>kunnen</strong> nog zichtbaar zijn";
-$a->strings["Notification for new posts"] = "Meldingen voor nieuwe berichten";
-$a->strings["Send a notification of every new post of this contact"] = "";
-$a->strings["Blacklisted keywords"] = "";
-$a->strings["Comma separated list of keywords that should not be converted to hashtags, when \"Fetch information and keywords\" is selected"] = "";
-$a->strings["Suggestions"] = "Voorstellen";
-$a->strings["Suggest potential friends"] = "Stel vrienden voor";
-$a->strings["All Contacts"] = "Alle Contacten";
-$a->strings["Show all contacts"] = "Toon alle contacten";
-$a->strings["Unblocked"] = "Niet geblokkeerd";
-$a->strings["Only show unblocked contacts"] = "Toon alleen niet-geblokkeerde contacten";
-$a->strings["Blocked"] = "Geblokkeerd";
-$a->strings["Only show blocked contacts"] = "Toon alleen geblokkeerde contacten";
-$a->strings["Ignored"] = "Genegeerd";
-$a->strings["Only show ignored contacts"] = "Toon alleen genegeerde contacten";
-$a->strings["Archived"] = "Gearchiveerd";
-$a->strings["Only show archived contacts"] = "Toon alleen gearchiveerde contacten";
-$a->strings["Hidden"] = "Verborgen";
-$a->strings["Only show hidden contacts"] = "Toon alleen verborgen contacten";
-$a->strings["Search your contacts"] = "Doorzoek je contacten";
-$a->strings["Finding: "] = "Gevonden:";
-$a->strings["Find"] = "Zoek";
-$a->strings["Update"] = "Wijzigen";
-$a->strings["Mutual Friendship"] = "Wederzijdse vriendschap";
-$a->strings["is a fan of yours"] = "Is een fan van jou";
-$a->strings["you are a fan of"] = "Jij bent een fan van";
+$a->strings["Private messages to this group are at risk of public disclosure."] = "Privéberichten naar deze groep kunnen openbaar gemaakt worden.";
 $a->strings["No such group"] = "Zo'n groep bestaat niet";
 $a->strings["Group is empty"] = "De groep is leeg";
 $a->strings["Group: %s"] = "";
-$a->strings["View in context"] = "In context bekijken";
-$a->strings["Contact settings applied."] = "Contactinstellingen toegepast.";
-$a->strings["Contact update failed."] = "Aanpassen van contact mislukt.";
-$a->strings["Repair Contact Settings"] = "Contactinstellingen herstellen";
-$a->strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working."] = "";
-$a->strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = "Gebruik <strong>nu</strong> de \"terug\"-knop in je webbrowser wanneer je niet weet wat je op deze pagina moet doen.";
-$a->strings["Return to contact editor"] = "Ga terug naar contactbewerker";
-$a->strings["No mirroring"] = "";
-$a->strings["Mirror as forwarded posting"] = "";
-$a->strings["Mirror as my own posting"] = "";
-$a->strings["Refetch contact data"] = "";
-$a->strings["Account Nickname"] = "Bijnaam account";
-$a->strings["@Tagname - overrides Name/Nickname"] = "@Labelnaam - krijgt voorrang op naam/bijnaam";
-$a->strings["Account URL"] = "URL account";
-$a->strings["Friend Request URL"] = "URL vriendschapsverzoek";
-$a->strings["Friend Confirm URL"] = "URL vriendschapsbevestiging";
-$a->strings["Notification Endpoint URL"] = "";
-$a->strings["Poll/Feed URL"] = "URL poll/feed";
-$a->strings["New photo from this URL"] = "Nieuwe foto van deze URL";
-$a->strings["Remote Self"] = "";
-$a->strings["Mirror postings from this contact"] = "";
-$a->strings["Mark this contact as remote_self, this will cause friendica to repost new entries from this contact."] = "";
-$a->strings["Profile not found."] = "Profiel niet gevonden";
-$a->strings["This may occasionally happen if contact was requested by both persons and it has already been approved."] = "Dit kan soms gebeuren als het contact door beide personen werd gevraagd, en het werd al goedgekeurd.";
-$a->strings["Response from remote site was not understood."] = "Antwoord van de website op afstand werd niet begrepen.";
-$a->strings["Unexpected response from remote site: "] = "Onverwacht antwoord van website op afstand:";
-$a->strings["Confirmation completed successfully."] = "Bevestiging werd correct voltooid.";
-$a->strings["Remote site reported: "] = "Website op afstand berichtte: ";
-$a->strings["Temporary failure. Please wait and try again."] = "Tijdelijke fout. Wacht even en probeer opnieuw.";
-$a->strings["Introduction failed or was revoked."] = "Verzoek mislukt of herroepen.";
-$a->strings["Unable to set contact photo."] = "Ik kan geen contact foto instellen.";
-$a->strings["%1\$s is now friends with %2\$s"] = "%1\$s is nu bevriend met %2\$s";
-$a->strings["No user record found for '%s' "] = "Geen gebruiker gevonden voor '%s'";
-$a->strings["Our site encryption key is apparently messed up."] = "De encryptie-sleutel van onze webstek is blijkbaar beschadigd.";
-$a->strings["Empty site URL was provided or URL could not be decrypted by us."] = "Er werd een lege URL gegeven, of de URL kon niet ontcijferd worden door ons.";
-$a->strings["Contact record was not found for you on our site."] = "We vonden op onze webstek geen contactrecord voor jou.";
-$a->strings["Site public key not available in contact record for URL %s."] = "Publieke sleutel voor webstek niet beschikbaar in contactrecord voor URL %s.";
-$a->strings["The ID provided by your system is a duplicate on our system. It should work if you try again."] = "Het ID dat jouw systeem aangeeft is een dubbel op ons systeem. Als je opnieuw probeert zou het moeten werken.";
-$a->strings["Unable to set your contact credentials on our system."] = "Niet in staat om op dit systeem je contactreferenties in te stellen.";
-$a->strings["Unable to update your contact profile details on our system"] = "";
-$a->strings["[Name Withheld]"] = "[Naam achtergehouden]";
-$a->strings["%1\$s has joined %2\$s"] = "%1\$s is toegetreden tot %2\$s";
-$a->strings["This introduction has already been accepted."] = "Verzoek is al goedgekeurd";
-$a->strings["Profile location is not valid or does not contain profile information."] = "Profiel is ongeldig of bevat geen informatie";
-$a->strings["Warning: profile location has no identifiable owner name."] = "Waarschuwing: de profiellocatie heeft geen identificeerbare eigenaar.";
-$a->strings["Warning: profile location has no profile photo."] = "Waarschuwing: Profieladres heeft geen profielfoto.";
-$a->strings["%d required parameter was not found at the given location"] = array(
-       0 => "De %d vereiste parameter is niet op het gegeven adres gevonden",
-       1 => "De %d vereiste parameters zijn niet op het gegeven adres gevonden",
-);
-$a->strings["Introduction complete."] = "Verzoek voltooid.";
-$a->strings["Unrecoverable protocol error."] = "Onherstelbare protocolfout. ";
-$a->strings["Profile unavailable."] = "Profiel onbeschikbaar";
-$a->strings["%s has received too many connection requests today."] = "%s heeft te veel verzoeken gehad vandaag.";
-$a->strings["Spam protection measures have been invoked."] = "Beveiligingsmaatregelen tegen spam zijn in werking getreden.";
-$a->strings["Friends are advised to please try again in 24 hours."] = "Wij adviseren vrienden om het over 24 uur nog een keer te proberen.";
-$a->strings["Invalid locator"] = "Ongeldige plaatsbepaler";
-$a->strings["Invalid email address."] = "Geen geldig e-mailadres";
-$a->strings["This account has not been configured for email. Request failed."] = "Aanvraag mislukt. Dit account is niet geconfigureerd voor e-mail.";
-$a->strings["Unable to resolve your name at the provided location."] = "Ik kan jouw naam op het opgegeven adres niet vinden.";
-$a->strings["You have already introduced yourself here."] = "Je hebt jezelf hier al voorgesteld.";
-$a->strings["Apparently you are already friends with %s."] = "Blijkbaar bent u al bevriend met %s.";
-$a->strings["Invalid profile URL."] = "Ongeldig profiel adres.";
-$a->strings["Disallowed profile URL."] = "Niet toegelaten profiel adres.";
-$a->strings["Your introduction has been sent."] = "Je verzoek is verzonden.";
-$a->strings["Please login to confirm introduction."] = "Log in om je verzoek te bevestigen.";
-$a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Je huidige identiteit is niet de juiste. Log met <strong>dit</strong> profiel in.";
-$a->strings["Confirm"] = "Bevestig";
-$a->strings["Hide this contact"] = "Verberg dit contact";
-$a->strings["Welcome home %s."] = "Welkom terug %s.";
-$a->strings["Please confirm your introduction/connection request to %s."] = "Bevestig je vriendschaps-/connectieverzoek voor %s.";
-$a->strings["Please enter your 'Identity Address' from one of the following supported communications networks:"] = "Vul hier uw 'Identiteitsadres' in van een van de volgende ondersteunde communicatienetwerken:";
-$a->strings["If you are not yet a member of the free social web, <a href=\"http://dir.friendica.com/siteinfo\">follow this link to find a public Friendica site and join us today</a>."] = "Als je nog geen lid bent van het vrije sociale web,  <a href=\"http://dir.friendica.com/siteinfo\">volg dan deze link om een openbare Friendica-website te vinden, en sluit je vandaag nog aan</a>.";
-$a->strings["Friend/Connection Request"] = "Vriendschaps-/connectieverzoek";
-$a->strings["Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"] = "Voorbeelden: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca";
-$a->strings["Please answer the following:"] = "Beantwoord het volgende:";
-$a->strings["Does %s know you?"] = "Kent %s jou?";
-$a->strings["Add a personal note:"] = "Voeg een persoonlijke opmerking toe:";
-$a->strings["Friendica"] = "Friendica";
-$a->strings["StatusNet/Federated Social Web"] = "StatusNet/Gefedereerde Sociale Web";
-$a->strings["Diaspora"] = "Diaspora";
-$a->strings[" - please do not use this form.  Instead, enter %s into your Diaspora search bar."] = "- Gebruik niet dit formulier. Vul %s in in je Diaspora zoekbalk.";
-$a->strings["Your Identity Address:"] = "Adres van uw identiteit:";
-$a->strings["Submit Request"] = "Aanvraag indienen";
-$a->strings["Find on this site"] = "Op deze website zoeken";
-$a->strings["Site Directory"] = "Websitegids";
-$a->strings["Age: "] = "Leeftijd:";
-$a->strings["Gender: "] = "Geslacht:";
-$a->strings["Location:"] = "Plaats:";
-$a->strings["Gender:"] = "Geslacht:";
-$a->strings["Status:"] = "Tijdlijn:";
-$a->strings["Homepage:"] = "Website:";
-$a->strings["About:"] = "Over:";
-$a->strings["No entries (some entries may be hidden)."] = "Geen gegevens (sommige gegevens kunnen verborgen zijn).";
-$a->strings["People Search - %s"] = "";
-$a->strings["No matches"] = "Geen resultaten";
-$a->strings["Access to this profile has been restricted."] = "Toegang tot dit profiel is beperkt.";
-$a->strings["Item has been removed."] = "Item is verwijderd.";
-$a->strings["Item not found"] = "Item niet gevonden";
-$a->strings["Edit post"] = "Bericht bewerken";
-$a->strings["upload photo"] = "Foto uploaden";
-$a->strings["Attach file"] = "Bestand bijvoegen";
-$a->strings["attach file"] = "bestand bijvoegen";
-$a->strings["web link"] = "webadres";
-$a->strings["Insert video link"] = "Voeg video toe";
-$a->strings["video link"] = "video adres";
-$a->strings["Insert audio link"] = "Voeg audio adres toe";
-$a->strings["audio link"] = "audio adres";
-$a->strings["Set your location"] = "Stel uw locatie in";
-$a->strings["set location"] = "Stel uw locatie in";
-$a->strings["Clear browser location"] = "Verwijder locatie uit uw webbrowser";
-$a->strings["clear location"] = "Verwijder locatie uit uw webbrowser";
-$a->strings["Permission settings"] = "Instellingen van rechten";
-$a->strings["CC: email addresses"] = "CC: e-mailadressen";
-$a->strings["Public post"] = "Openbare post";
-$a->strings["Set title"] = "Titel plaatsen";
-$a->strings["Categories (comma-separated list)"] = "Categorieën (komma-gescheiden lijst)";
-$a->strings["Example: bob@example.com, mary@example.com"] = "Voorbeeld: bob@voorbeeld.nl, an@voorbeeld.be";
+$a->strings["Contact: %s"] = "";
+$a->strings["Private messages to this person are at risk of public disclosure."] = "Privéberichten naar deze persoon kunnen openbaar gemaakt worden.";
+$a->strings["Invalid contact."] = "Ongeldig contact.";
+$a->strings["No friends to display."] = "Geen vrienden om te laten zien.";
+$a->strings["Forum"] = "";
+$a->strings["Friends of %s"] = "Vrienden van %s";
 $a->strings["Event can not end before it has started."] = "";
 $a->strings["Event title and start time are required."] = "Titel en begintijd van de gebeurtenis zijn vereist.";
+$a->strings["Sun"] = "";
+$a->strings["Mon"] = "";
+$a->strings["Tue"] = "";
+$a->strings["Wed"] = "";
+$a->strings["Thu"] = "";
+$a->strings["Fri"] = "";
+$a->strings["Sat"] = "";
+$a->strings["Sunday"] = "Zondag";
+$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["Jan"] = "";
+$a->strings["Feb"] = "";
+$a->strings["Mar"] = "";
+$a->strings["Apr"] = "";
+$a->strings["May"] = "Mei";
+$a->strings["Jun"] = "";
+$a->strings["Jul"] = "";
+$a->strings["Aug"] = "";
+$a->strings["Sept"] = "";
+$a->strings["Oct"] = "";
+$a->strings["Nov"] = "";
+$a->strings["Dec"] = "";
+$a->strings["January"] = "Januari";
+$a->strings["February"] = "Februari";
+$a->strings["March"] = "Maart";
+$a->strings["April"] = "April";
+$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["today"] = "";
+$a->strings["month"] = "maand";
+$a->strings["week"] = "week";
+$a->strings["day"] = "dag";
 $a->strings["l, F j"] = "l j F";
 $a->strings["Edit event"] = "Gebeurtenis bewerken";
 $a->strings["link to source"] = "Verwijzing naar bron";
+$a->strings["Events"] = "Gebeurtenissen";
 $a->strings["Create New Event"] = "Maak een nieuwe gebeurtenis";
 $a->strings["Previous"] = "Vorige";
 $a->strings["Next"] = "Volgende";
@@ -872,21 +786,52 @@ $a->strings["Adjust for viewer timezone"] = "Pas aan aan de tijdzone van de gebr
 $a->strings["Description:"] = "Beschrijving:";
 $a->strings["Title:"] = "Titel:";
 $a->strings["Share this event"] = "Deel deze gebeurtenis";
-$a->strings["You already added this contact."] = "";
-$a->strings["Contact added"] = "Contact toegevoegd";
-$a->strings["Group created."] = "Groep aangemaakt.";
-$a->strings["Could not create group."] = "Kon de groep niet aanmaken.";
-$a->strings["Group not found."] = "Groep niet gevonden.";
-$a->strings["Group name changed."] = "Groepsnaam gewijzigd.";
-$a->strings["Permission denied"] = "Toegang geweigerd";
-$a->strings["Save Group"] = "";
-$a->strings["Create a group of contacts/friends."] = "Maak een groep contacten/vrienden aan.";
-$a->strings["Group Name: "] = "Groepsnaam:";
-$a->strings["Group removed."] = "Groep verwijderd.";
-$a->strings["Unable to remove group."] = "Niet in staat om groep te verwijderen.";
-$a->strings["Group Editor"] = "Groepsbewerker";
-$a->strings["Members"] = "Leden";
-$a->strings["Click on a contact to add or remove."] = "Klik op een contact om het toe te voegen of te verwijderen.";
+$a->strings["Preview"] = "Voorvertoning";
+$a->strings["Credits"] = "";
+$a->strings["Friendica is a community project, that would not be possible without the help of many people. Here is a list of those who have contributed to the code or the translation of Friendica. Thank you all!"] = "";
+$a->strings["Select"] = "Kies";
+$a->strings["View %s's profile @ %s"] = "Bekijk het profiel van %s @ %s";
+$a->strings["%s from %s"] = "%s van %s";
+$a->strings["View in context"] = "In context bekijken";
+$a->strings["%d comment"] = array(
+       0 => "%d reactie",
+       1 => "%d reacties",
+);
+$a->strings["comment"] = array(
+       0 => "reactie",
+       1 => "reacties",
+);
+$a->strings["show more"] = "toon meer";
+$a->strings["Private Message"] = "Privébericht";
+$a->strings["I like this (toggle)"] = "Vind ik leuk";
+$a->strings["like"] = "leuk";
+$a->strings["I don't like this (toggle)"] = "Vind ik niet leuk";
+$a->strings["dislike"] = "niet leuk";
+$a->strings["Share this"] = "Delen";
+$a->strings["share"] = "Delen";
+$a->strings["This is you"] = "Dit ben jij";
+$a->strings["Comment"] = "Reacties";
+$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["Link"] = "Link";
+$a->strings["Video"] = "Video";
+$a->strings["Edit"] = "Bewerken";
+$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["add tag"] = "label toevoegen";
+$a->strings["save to folder"] = "Bewaren in map";
+$a->strings["to"] = "aan";
+$a->strings["Wall-to-Wall"] = "wall-to-wall";
+$a->strings["via Wall-To-Wall:"] = "via wall-to-wall";
+$a->strings["Remove My Account"] = "Verwijder mijn account";
+$a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = "Dit zal je account volledig verwijderen. Dit kan niet hersteld worden als het eenmaal uitgevoerd is.";
+$a->strings["Please enter your password for verification:"] = "Voer je wachtwoord in voor verificatie:";
 $a->strings["Friendica Communications Server - Setup"] = "";
 $a->strings["Could not connect to database."] = "Kon geen toegang krijgen tot de database.";
 $a->strings["Could not create table."] = "Kon tabel niet aanmaken.";
@@ -909,7 +854,7 @@ $a->strings["Your account email address must match this in order to use the web
 $a->strings["Please select a default timezone for your website"] = "Selecteer een standaard tijdzone voor uw website";
 $a->strings["Site settings"] = "Website-instellingen";
 $a->strings["Could not find a command line version of PHP in the web server PATH."] = "Kan geen command-line-versie van PHP vinden in het PATH van de webserver.";
-$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"] = "Als je geen command-line versie van PHP geïnstalleerd hebt op je server, kun je geen polling op de achtergrond gebruiken via cron. Zie  <a href='http://friendica.com/node/27'>'Activeren van geplande taken'</a>";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See <a href='https://github.com/friendica/friendica/blob/master/doc/Install.md#set-up-the-poller'>'Setup the poller'</a>"] = "";
 $a->strings["PHP executable path"] = "PATH van het PHP commando";
 $a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Vul het volledige path in naar het php programma. Je kunt dit blanco laten om de installatie verder te zetten.";
 $a->strings["Command line PHP"] = "PHP-opdrachtregel";
@@ -927,6 +872,7 @@ $a->strings["GD graphics PHP module"] = "GD graphics PHP module";
 $a->strings["OpenSSL PHP module"] = "OpenSSL PHP module";
 $a->strings["mysqli PHP module"] = "mysqli PHP module";
 $a->strings["mb_string PHP module"] = "mb_string PHP module";
+$a->strings["mcrypt PHP module"] = "";
 $a->strings["Apache mod_rewrite module"] = "Apache mod_rewrite module";
 $a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Fout: Apache-module mod-rewrite is vereist, maar niet geïnstalleerd.";
 $a->strings["Error: libCURL PHP module required but not installed."] = "Fout: PHP-module libCURL is vereist, maar niet geïnstalleerd.";
@@ -934,6 +880,9 @@ $a->strings["Error: GD graphics PHP module with JPEG support required but not in
 $a->strings["Error: openssl PHP module required but not installed."] = "Fout: PHP-module openssl is vereist, maar niet geïnstalleerd.";
 $a->strings["Error: mysqli PHP module required but not installed."] = "Fout: PHP-module mysqli is vereist, maar niet geïnstalleerd.";
 $a->strings["Error: mb_string PHP module required but not installed."] = "Fout: PHP-module mb_string is vereist, maar niet geïnstalleerd.";
+$a->strings["Error: mcrypt PHP module required but not installed."] = "";
+$a->strings["Function mcrypt_create_iv() is not defined. This is needed to enable RINO2 encryption layer."] = "";
+$a->strings["mcrypt_create_iv() function"] = "";
 $a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "Het installatieprogramma moet een bestand \".htconfig.php\" in de bovenste map van je webserver aanmaken, maar kan dit niet doen.";
 $a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Dit is meestal een permissieprobleem, omdat de webserver niet in staat is om in deze map bestanden weg te schrijven - ook al kun je dit zelf wel.";
 $a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Friendica top folder."] = "Op het einde van deze procedure zal ik je een tekst geven om te bewaren in een bestand .htconfig.php in je hoogste Friendica map.";
@@ -946,238 +895,39 @@ $a->strings["Note: as a security measure, you should give the web server write a
 $a->strings["view/smarty3 is writable"] = "view/smarty3 is schrijfbaar";
 $a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "";
 $a->strings["Url rewrite is working"] = "";
+$a->strings["ImageMagick PHP extension is installed"] = "";
+$a->strings["ImageMagick supports GIF"] = "";
 $a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Het databaseconfiguratiebestand \".htconfig.php\" kon niet worden weggeschreven. Je kunt de bijgevoegde tekst gebruiken om in een configuratiebestand aan te maken in de hoogste map van je webserver.";
 $a->strings["<h1>What next</h1>"] = "<h1>Wat nu</h1>";
 $a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "BELANGRIJK: Je zult [manueel] een geplande taak moeten aanmaken voor de poller.";
-$a->strings["Unable to locate original post."] = "Ik kan de originele post niet meer vinden.";
-$a->strings["Empty post discarded."] = "Lege post weggegooid.";
-$a->strings["Wall Photos"] = "";
-$a->strings["System error. Post not saved."] = "Systeemfout. Post niet bewaard.";
-$a->strings["This message was sent to you by %s, a member of the Friendica social network."] = "Dit bericht werd naar jou gestuurd door %s, een lid van het Friendica sociale netwerk.";
-$a->strings["You may visit them online at %s"] = "Je kunt ze online bezoeken op %s";
-$a->strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = "Contacteer de afzender door op dit bericht te antwoorden als je deze berichten niet wilt ontvangen.";
-$a->strings["%s posted an update."] = "%s heeft een wijziging geplaatst.";
-$a->strings["Profile Match"] = "Profielmatch";
-$a->strings["No keywords to match. Please add keywords to your default profile."] = "Geen sleutelwoorden om te zoeken. Voeg sleutelwoorden toe aan je standaard profiel.";
-$a->strings["is interested in:"] = "Is geïnteresseerd in:";
-$a->strings["Connect"] = "Verbinden";
-$a->strings["Search Results For: %s"] = "";
-$a->strings["add"] = "toevoegen";
-$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 op jou betrekking hebben";
-$a->strings["New"] = "Nieuw";
-$a->strings["Activity Stream - by date"] = "Activiteitenstroom - volgens datum";
-$a->strings["Shared Links"] = "Gedeelde links";
-$a->strings["Interesting Links"] = "Interessante links";
-$a->strings["Starred"] = "Met ster";
-$a->strings["Favourite Posts"] = "Favoriete berichten";
-$a->strings["Warning: This group contains %s member from an insecure network."] = array(
-       0 => "Waarschuwing: Deze groep bevat %s lid van een onveilig netwerk.",
-       1 => "Waarschuwing: Deze groep bevat %s leden van een onveilig netwerk.",
-);
-$a->strings["Private messages to this group are at risk of public disclosure."] = "Privéberichten naar deze groep kunnen openbaar gemaakt worden.";
-$a->strings["Contact: %s"] = "";
-$a->strings["Private messages to this person are at risk of public disclosure."] = "Privéberichten naar deze persoon kunnen openbaar gemaakt worden.";
-$a->strings["Invalid contact."] = "Ongeldig contact.";
-$a->strings["Personal Notes"] = "Persoonlijke Nota's";
-$a->strings["Not Extended"] = "";
-$a->strings["Photo Albums"] = "Fotoalbums";
-$a->strings["Recent Photos"] = "Recente foto's";
-$a->strings["Upload New Photos"] = "Nieuwe foto's uploaden";
-$a->strings["everybody"] = "iedereen";
-$a->strings["Contact information unavailable"] = "Contactinformatie niet beschikbaar";
-$a->strings["Album not found."] = "Album niet gevonden";
-$a->strings["Delete Album"] = "Verwijder album";
-$a->strings["Do you really want to delete this photo album and all its photos?"] = "Wil je echt dit fotoalbum en alle foto's erin verwijderen?";
-$a->strings["Delete Photo"] = "Verwijder foto";
-$a->strings["Do you really want to delete this photo?"] = "Wil je echt deze foto verwijderen?";
-$a->strings["%1\$s was tagged in %2\$s by %3\$s"] = "%1\$s is gelabeld in %2\$s door %3\$s";
-$a->strings["a photo"] = "een foto";
-$a->strings["Image exceeds size limit of %s"] = "";
-$a->strings["Image file is empty."] = "Afbeeldingsbestand is leeg.";
-$a->strings["Unable to process image."] = "Niet in staat om de afbeelding te verwerken";
-$a->strings["Image upload failed."] = "Uploaden van afbeelding mislukt.";
-$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["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Je hebt %1$.2f Mbytes van %2$.2f Mbytes foto-opslagruimte gebruikt.";
-$a->strings["Upload Photos"] = "Upload foto's";
-$a->strings["New album name: "] = "Nieuwe albumnaam: ";
-$a->strings["or existing album name: "] = "of bestaande albumnaam: ";
-$a->strings["Do not show a status post for this upload"] = "Toon geen bericht op je tijdlijn van deze upload";
-$a->strings["Permissions"] = "Rechten";
-$a->strings["Show to Groups"] = "Tonen aan groepen";
-$a->strings["Show to Contacts"] = "Tonen aan contacten";
-$a->strings["Private Photo"] = "Privé foto";
-$a->strings["Public Photo"] = "Publieke foto";
-$a->strings["Edit Album"] = "Album wijzigen";
-$a->strings["Show Newest First"] = "Toon niewste eerst";
-$a->strings["Show Oldest First"] = "Toon oudste eerst";
-$a->strings["View Photo"] = "Bekijk foto";
-$a->strings["Permission denied. Access to this item may be restricted."] = "Toegang geweigerd. Toegang tot dit item is mogelijk beperkt.";
-$a->strings["Photo not available"] = "Foto is niet beschikbaar";
-$a->strings["View photo"] = "Bekijk foto";
-$a->strings["Edit photo"] = "Bewerk foto";
-$a->strings["Use as profile photo"] = "Gebruik als profielfoto";
-$a->strings["View Full Size"] = "Bekijk in volledig formaat";
-$a->strings["Tags: "] = "Labels: ";
-$a->strings["[Remove any tag]"] = "[Alle labels verwijderen]";
-$a->strings["New album name"] = "Nieuwe albumnaam";
-$a->strings["Caption"] = "Onderschrift";
-$a->strings["Add a Tag"] = "Een label toevoegen";
-$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl, #Ardennen, #camping ";
-$a->strings["Do not rotate"] = "";
-$a->strings["Rotate CW (right)"] = "Roteren met de klok mee (rechts)";
-$a->strings["Rotate CCW (left)"] = "Roteren tegen de klok in (links)";
-$a->strings["Private photo"] = "Privé foto";
-$a->strings["Public photo"] = "Publieke foto";
-$a->strings["Share"] = "Delen";
-$a->strings["View Album"] = "Album bekijken";
-$a->strings["{0} wants to be your friend"] = "{0} wilt je vriend worden";
-$a->strings["{0} sent you a message"] = "{0} stuurde jou een bericht";
-$a->strings["{0} requested registration"] = "{0} vroeg om zich te registreren";
-$a->strings["Requested profile is not available."] = "Gevraagde profiel is niet beschikbaar.";
-$a->strings["Tips for New Members"] = "Tips voor nieuwe leden";
-$a->strings["Image uploaded but image cropping failed."] = "Afbeelding opgeladen, maar bijsnijden mislukt.";
-$a->strings["Image size reduction [%s] failed."] = "Verkleining van de afbeelding [%s] mislukt.";
-$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Shift-herlaad de pagina, of maak de browser cache leeg als nieuwe foto's niet onmiddellijk verschijnen.";
-$a->strings["Unable to process image"] = "Ik kan de afbeelding niet verwerken";
-$a->strings["Upload File:"] = "Upload bestand:";
-$a->strings["Select a profile:"] = "Kies een profiel:";
-$a->strings["Upload"] = "Uploaden";
-$a->strings["or"] = "of";
-$a->strings["skip this step"] = "Deze stap overslaan";
-$a->strings["select a photo from your photo albums"] = "Kies een foto uit je fotoalbums";
-$a->strings["Crop Image"] = "Afbeelding bijsnijden";
-$a->strings["Please adjust the image cropping for optimum viewing."] = "Pas het afsnijden van de afbeelding aan voor het beste resultaat.";
-$a->strings["Done Editing"] = "Wijzigingen compleet";
-$a->strings["Image uploaded successfully."] = "Uploaden van afbeelding gelukt.";
-$a->strings["Profile deleted."] = "Profiel verwijderd";
-$a->strings["Profile-"] = "Profiel-";
-$a->strings["New profile created."] = "Nieuw profiel aangemaakt.";
-$a->strings["Profile unavailable to clone."] = "Profiel niet beschikbaar om te klonen.";
-$a->strings["Profile Name is required."] = "Profielnaam is vereist.";
-$a->strings["Marital Status"] = "Echtelijke staat";
-$a->strings["Romantic Partner"] = "Romantische Partner";
-$a->strings["Likes"] = "Houdt van";
-$a->strings["Dislikes"] = "Houdt niet van";
-$a->strings["Work/Employment"] = "Werk";
-$a->strings["Religion"] = "Godsdienst";
-$a->strings["Political Views"] = "Politieke standpunten";
-$a->strings["Gender"] = "Geslacht";
-$a->strings["Sexual Preference"] = "Seksuele Voorkeur";
-$a->strings["Homepage"] = "Tijdlijn";
-$a->strings["Interests"] = "Interesses";
-$a->strings["Address"] = "Adres";
-$a->strings["Location"] = "Plaats";
-$a->strings["Profile updated."] = "Profiel bijgewerkt.";
-$a->strings[" and "] = "en";
-$a->strings["public profile"] = "publiek 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 %2\$s van %1\$s";
-$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s heeft een aangepast %2\$s, %3\$s veranderd.";
-$a->strings["Hide contacts and friends:"] = "";
-$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Je vrienden/contacten verbergen voor bezoekers van dit profiel?";
-$a->strings["Edit Profile Details"] = "Profieldetails bewerken";
-$a->strings["Change Profile Photo"] = "Profielfoto wijzigen";
-$a->strings["View this profile"] = "Dit profiel bekijken";
-$a->strings["Create a new profile using these settings"] = "Nieuw profiel aanmaken met deze instellingen";
-$a->strings["Clone this profile"] = "Dit profiel klonen";
-$a->strings["Delete this profile"] = "Dit profiel verwijderen";
-$a->strings["Basic information"] = "";
-$a->strings["Profile picture"] = "";
-$a->strings["Preferences"] = "";
-$a->strings["Status information"] = "";
-$a->strings["Additional information"] = "";
-$a->strings["Profile Name:"] = "Profiel Naam:";
-$a->strings["Your Full Name:"] = "Je volledige naam:";
-$a->strings["Title/Description:"] = "Titel/Beschrijving:";
-$a->strings["Your Gender:"] = "Je Geslacht:";
-$a->strings["Birthday :"] = "";
-$a->strings["Street Address:"] = "Postadres:";
-$a->strings["Locality/City:"] = "Gemeente/Stad:";
-$a->strings["Postal/Zip Code:"] = "Postcode:";
-$a->strings["Country:"] = "Land:";
-$a->strings["Region/State:"] = "Regio/Staat:";
-$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Echtelijke Staat:";
-$a->strings["Who: (if applicable)"] = "Wie: (indien toepasbaar)";
-$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Voorbeelden: Kathleen123, Kathleen Peeters, kathleen@voorbeeld.nl";
-$a->strings["Since [date]:"] = "Sinds [datum]:";
-$a->strings["Sexual Preference:"] = "Seksuele Voorkeur:";
-$a->strings["Homepage URL:"] = "Adres tijdlijn:";
-$a->strings["Hometown:"] = "Woonplaats:";
-$a->strings["Political Views:"] = "Politieke standpunten:";
-$a->strings["Religious Views:"] = "Geloof:";
-$a->strings["Public Keywords:"] = "Publieke Sleutelwoorden:";
-$a->strings["Private Keywords:"] = "Privé Sleutelwoorden:";
-$a->strings["Likes:"] = "Houdt van:";
-$a->strings["Dislikes:"] = "Houdt niet van:";
-$a->strings["Example: fishing photography software"] = "Voorbeeld: vissen fotografie software";
-$a->strings["(Used for suggesting potential friends, can be seen by others)"] = "(Gebruikt om mogelijke vrienden voor te stellen, kan door anderen gezien worden)";
-$a->strings["(Used for searching profiles, never shown to others)"] = "(Gebruikt om profielen te zoeken, nooit aan anderen getoond)";
-$a->strings["Tell us about yourself..."] = "Vertel iets over jezelf...";
-$a->strings["Hobbies/Interests"] = "Hobby's/Interesses";
-$a->strings["Contact information and Social Networks"] = "Contactinformatie en sociale netwerken";
-$a->strings["Musical interests"] = "Muzikale interesses";
-$a->strings["Books, literature"] = "Boeken, literatuur";
-$a->strings["Television"] = "Televisie";
-$a->strings["Film/dance/culture/entertainment"] = "Film/dans/cultuur/ontspanning";
-$a->strings["Love/romance"] = "Liefde/romance";
-$a->strings["Work/employment"] = "Werk";
-$a->strings["School/education"] = "School/opleiding";
-$a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Dit is jouw <strong>publiek</strong> profiel.<br />Het <strong>kan</strong> zichtbaar zijn voor iedereen op het internet.";
-$a->strings["Edit/Manage Profiles"] = "Wijzig/Beheer Profielen";
-$a->strings["Change profile photo"] = "Profiel foto wijzigen";
-$a->strings["Create New Profile"] = "Maak nieuw profiel";
-$a->strings["Profile Image"] = "Profiel afbeelding";
-$a->strings["visible to everybody"] = "zichtbaar voor iedereen";
-$a->strings["Edit visibility"] = "Pas zichtbaarheid aan";
-$a->strings["Invalid profile identifier."] = "Ongeldige profiel-identificatie.";
-$a->strings["Profile Visibility Editor"] = "";
-$a->strings["Visible To"] = "Zichtbaar voor";
-$a->strings["All Contacts (with secure profile access)"] = "Alle contacten (met veilige profieltoegang)";
-$a->strings["Items tagged with: %s"] = "";
-$a->strings["Search results for: %s"] = "";
-$a->strings["link"] = "link";
-$a->strings["Do you really want to delete this suggestion?"] = "Wil je echt dit voorstel verwijderen?";
-$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Geen voorstellen beschikbaar. Als dit een nieuwe website is, kun je het over 24 uur nog eens proberen.";
-$a->strings["Ignore/Hide"] = "Negeren/Verbergen";
-$a->strings["Do you really want to delete this video?"] = "";
-$a->strings["Delete Video"] = "";
-$a->strings["No videos selected"] = "Geen video's geselecteerd";
-$a->strings["View Video"] = "Bekijk Video";
-$a->strings["Recent Videos"] = "Recente video's";
-$a->strings["Upload New Videos"] = "Nieuwe video's uploaden";
+$a->strings["Number of daily wall messages for %s exceeded. Message failed."] = "";
+$a->strings["Unable to check your home location."] = "Niet in staat om je tijdlijn-locatie vast te stellen";
+$a->strings["No recipient."] = "Geen ontvanger.";
+$a->strings["If you wish for %s to respond, please check that the privacy settings on your site allow private mail from unknown senders."] = "Als je wilt dat %s antwoordt moet je nakijken dat de privacy-instellingen op jouw website privéberichten van onbekende afzenders toelaat.";
+$a->strings["Help:"] = "Help:";
+$a->strings["Help"] = "Help";
+$a->strings["Not Found"] = "Niet gevonden";
+$a->strings["Page not found."] = "Pagina niet gevonden";
+$a->strings["%1\$s welcomes %2\$s"] = "%1\$s heet %2\$s van harte welkom";
+$a->strings["Welcome to %s"] = "Welkom op %s";
 $a->strings["Sorry, maybe your upload is bigger than the PHP configuration allows"] = "";
 $a->strings["Or - did you try to upload an empty file?"] = "";
 $a->strings["File exceeds size limit of %s"] = "";
 $a->strings["File upload failed."] = "Uploaden van bestand mislukt.";
-$a->strings["Registration successful. Please check your email for further instructions."] = "Registratie geslaagd. Kijk je e-mail na voor verdere instructies.";
-$a->strings["Failed to send email message. Here your accout details:<br> login: %s<br> password: %s<br><br>You can change your password after login."] = "";
-$a->strings["Your registration can not be processed."] = "Je registratie kan niet verwerkt worden.";
-$a->strings["Your registration is pending approval by the site owner."] = "Jouw registratie wacht op goedkeuring van de beheerder.";
-$a->strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "Je kunt (optioneel) dit formulier invullen via OpenID door je OpenID in te geven en op 'Registreren' te klikken.";
-$a->strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "Laat dit veld leeg als je niet vertrouwd bent met OpenID, en vul de rest van de items in.";
-$a->strings["Your OpenID (optional): "] = "Je OpenID (optioneel):";
-$a->strings["Include your profile in member directory?"] = "Je profiel in de ledengids opnemen?";
-$a->strings["Membership on this site is by invitation only."] = "Lidmaatschap van deze website is uitsluitend op uitnodiging.";
-$a->strings["Your invitation ID: "] = "Je uitnodigingsid:";
-$a->strings["Your Full Name (e.g. Joe Smith): "] = "Je volledige naam (bijv. Jan Jansens):";
-$a->strings["Your Email Address: "] = "Je email adres:";
-$a->strings["New Password:"] = "Nieuw Wachtwoord:";
-$a->strings["Leave empty for an auto generated password."] = "";
-$a->strings["Confirm:"] = "Bevestig:";
-$a->strings["Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be '<strong>nickname@\$sitename</strong>'."] = "Kies een bijnaam voor je profiel. Deze moet met een letter beginnen. Je profieladres op deze website zal dan '<strong>bijnaam@\$sitename</strong>' zijn.";
-$a->strings["Choose a nickname: "] = "Kies een bijnaam:";
-$a->strings["Register"] = "Registreer";
-$a->strings["Import your profile to this friendica instance"] = "";
+$a->strings["No keywords to match. Please add keywords to your default profile."] = "Geen sleutelwoorden om te zoeken. Voeg sleutelwoorden toe aan je standaard profiel.";
+$a->strings["is interested in:"] = "Is geïnteresseerd in:";
+$a->strings["Profile Match"] = "Profielmatch";
+$a->strings["link"] = "link";
+$a->strings["Not available."] = "Niet beschikbaar";
+$a->strings["Community"] = "Website";
+$a->strings["No results."] = "Geen resultaten.";
+$a->strings["everybody"] = "iedereen";
 $a->strings["Additional features"] = "Extra functies";
 $a->strings["Display"] = "Weergave";
 $a->strings["Social Networks"] = "Sociale netwerken";
 $a->strings["Delegations"] = "";
 $a->strings["Connected apps"] = "Verbonden applicaties";
+$a->strings["Export personal data"] = "Persoonlijke gegevens exporteren";
 $a->strings["Remove account"] = "Account verwijderen";
 $a->strings["Missing some important data!"] = "Een belangrijk gegeven ontbreekt!";
 $a->strings["Failed to connect with email account using the settings provided."] = "Ik kon geen verbinding maken met het e-mail account met de gegeven instellingen.";
@@ -1215,10 +965,16 @@ $a->strings["Additional Features"] = "Extra functies";
 $a->strings["General Social Media Settings"] = "";
 $a->strings["Disable intelligent shortening"] = "";
 $a->strings["Normally the system tries to find the best link to add to shortened posts. If this option is enabled then every shortened post will always point to the original friendica post."] = "";
+$a->strings["Automatically follow any GNU Social (OStatus) followers/mentioners"] = "";
+$a->strings["If you receive a message from an unknown OStatus user, this option decides what to do. If it is checked, a new contact will be created for every unknown user."] = "";
+$a->strings["Your legacy GNU Social account"] = "";
+$a->strings["If you enter your old GNU Social/Statusnet account name here (in the format user@domain.tld), your contacts will be added automatically. The field will be emptied when done."] = "";
+$a->strings["Repair OStatus subscriptions"] = "";
 $a->strings["Built-in support for %s connectivity is %s"] = "Ingebouwde ondersteuning voor connectiviteit met %s is %s";
+$a->strings["Diaspora"] = "Diaspora";
 $a->strings["enabled"] = "ingeschakeld";
 $a->strings["disabled"] = "uitgeschakeld";
-$a->strings["StatusNet"] = "StatusNet";
+$a->strings["GNU Social (OStatus)"] = "";
 $a->strings["Email access is disabled on this site."] = "E-mailtoegang is op deze website uitgeschakeld.";
 $a->strings["Email/Mailbox Setup"] = "E-mail Instellen";
 $a->strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = "Als je wilt communiceren met e-mail contacten via deze dienst (optioneel), moet je hier opgeven hoe ik jouw mailbox kan bereiken.";
@@ -1244,9 +1000,12 @@ $a->strings["Number of items to display per page:"] = "Aantal items te tonen per
 $a->strings["Maximum of 100 items"] = "Maximum 100 items";
 $a->strings["Number of items to display per page when viewed from mobile device:"] = "Aantal items per pagina als je een mobiel toestel gebruikt:";
 $a->strings["Don't show emoticons"] = "Emoticons niet tonen";
+$a->strings["Calendar"] = "";
+$a->strings["Beginning of week:"] = "";
 $a->strings["Don't show notices"] = "";
 $a->strings["Infinite scroll"] = "Oneindig scrollen";
 $a->strings["Automatic updates only at the top of the network page"] = "";
+$a->strings["Theme settings"] = "Thema-instellingen";
 $a->strings["User Types"] = "Gebruikerstypes";
 $a->strings["Community Types"] = "Forum/groepstypes";
 $a->strings["Normal Account Page"] = "Normale accountpagina";
@@ -1271,7 +1030,7 @@ $a->strings["Allow friends to tag your posts?"] = "Sta vrienden toe om jouw beri
 $a->strings["Allow us to suggest you as a potential friend to new members?"] = "Sta je mij toe om jou als mogelijke vriend  voor te stellen aan nieuwe leden?";
 $a->strings["Permit unknown people to send you private mail?"] = "Mogen onbekende personen jou privé berichten sturen?";
 $a->strings["Profile is <strong>not published</strong>."] = "Profiel is <strong>niet gepubliceerd</strong>.";
-$a->strings["Your Identity Address is"] = "Jouw Identiteitsadres is";
+$a->strings["Your Identity Address is <strong>'%s'</strong> or '%s'."] = "";
 $a->strings["Automatically expire posts after this many days:"] = "Laat berichten automatisch vervallen na zo veel dagen:";
 $a->strings["If empty, posts will not expire. Expired posts will be deleted"] = "Berichten zullen niet vervallen indien leeg. Vervallen berichten zullen worden verwijderd.";
 $a->strings["Advanced expiration settings"] = "Geavanceerde instellingen voor vervallen";
@@ -1283,6 +1042,8 @@ $a->strings["Expire photos:"] = "Laat foto's vervallen:";
 $a->strings["Only expire posts by others:"] = "Laat alleen berichten door anderen vervallen:";
 $a->strings["Account Settings"] = "Account Instellingen";
 $a->strings["Password Settings"] = "Wachtwoord Instellingen";
+$a->strings["New Password:"] = "Nieuw Wachtwoord:";
+$a->strings["Confirm:"] = "Bevestig:";
 $a->strings["Leave password fields blank unless changing"] = "Laat de wachtwoord-velden leeg, tenzij je het wilt veranderen";
 $a->strings["Current Password:"] = "Huidig wachtwoord:";
 $a->strings["Your current password to confirm the changes"] = "Je huidig wachtwoord om de wijzigingen te bevestigen";
@@ -1291,6 +1052,8 @@ $a->strings["Basic Settings"] = "Basis Instellingen";
 $a->strings["Full Name:"] = "Volledige Naam:";
 $a->strings["Email Address:"] = "E-mailadres:";
 $a->strings["Your Timezone:"] = "Je Tijdzone:";
+$a->strings["Your Language:"] = "";
+$a->strings["Set the language we use to show you friendica interface and to send you emails"] = "";
 $a->strings["Default Post Location:"] = "Standaard locatie:";
 $a->strings["Use Browser Location:"] = "Gebruik Webbrowser Locatie:";
 $a->strings["Security and Privacy Settings"] = "Instellingen voor Beveiliging en Privacy";
@@ -1298,6 +1061,8 @@ $a->strings["Maximum Friend Requests/Day:"] = "Maximum aantal vriendschapsverzoe
 $a->strings["(to prevent spam abuse)"] = "(om spam misbruik te voorkomen)";
 $a->strings["Default Post Permissions"] = "Standaard rechten voor nieuwe berichten";
 $a->strings["(click to open/close)"] = "(klik om te openen/sluiten)";
+$a->strings["Show to Groups"] = "Tonen aan groepen";
+$a->strings["Show to Contacts"] = "Tonen aan contacten";
 $a->strings["Default Private Post"] = "Standaard Privé Post";
 $a->strings["Default Public Post"] = "Standaard Publieke Post";
 $a->strings["Default Permissions for New Posts"] = "Standaard rechten voor nieuwe berichten";
@@ -1324,9 +1089,200 @@ $a->strings["Advanced Account/Page Type Settings"] = "";
 $a->strings["Change the behaviour of this account for special situations"] = "";
 $a->strings["Relocate"] = "";
 $a->strings["If you have moved this profile from another server, and some of your contacts don't receive your updates, try pushing this button."] = "";
-$a->strings["Resend relocate message to contacts"] = "";
-$a->strings["Login"] = "Login";
-$a->strings["The post was created"] = "";
+$a->strings["Resend relocate message to contacts"] = "";
+$a->strings["This introduction has already been accepted."] = "Verzoek is al goedgekeurd";
+$a->strings["Profile location is not valid or does not contain profile information."] = "Profiel is ongeldig of bevat geen informatie";
+$a->strings["Warning: profile location has no identifiable owner name."] = "Waarschuwing: de profiellocatie heeft geen identificeerbare eigenaar.";
+$a->strings["Warning: profile location has no profile photo."] = "Waarschuwing: Profieladres heeft geen profielfoto.";
+$a->strings["%d required parameter was not found at the given location"] = array(
+       0 => "De %d vereiste parameter is niet op het gegeven adres gevonden",
+       1 => "De %d vereiste parameters zijn niet op het gegeven adres gevonden",
+);
+$a->strings["Introduction complete."] = "Verzoek voltooid.";
+$a->strings["Unrecoverable protocol error."] = "Onherstelbare protocolfout. ";
+$a->strings["Profile unavailable."] = "Profiel onbeschikbaar";
+$a->strings["%s has received too many connection requests today."] = "%s heeft te veel verzoeken gehad vandaag.";
+$a->strings["Spam protection measures have been invoked."] = "Beveiligingsmaatregelen tegen spam zijn in werking getreden.";
+$a->strings["Friends are advised to please try again in 24 hours."] = "Wij adviseren vrienden om het over 24 uur nog een keer te proberen.";
+$a->strings["Invalid locator"] = "Ongeldige plaatsbepaler";
+$a->strings["Invalid email address."] = "Geen geldig e-mailadres";
+$a->strings["This account has not been configured for email. Request failed."] = "Aanvraag mislukt. Dit account is niet geconfigureerd voor e-mail.";
+$a->strings["Unable to resolve your name at the provided location."] = "Ik kan jouw naam op het opgegeven adres niet vinden.";
+$a->strings["You have already introduced yourself here."] = "Je hebt jezelf hier al voorgesteld.";
+$a->strings["Apparently you are already friends with %s."] = "Blijkbaar bent u al bevriend met %s.";
+$a->strings["Invalid profile URL."] = "Ongeldig profiel adres.";
+$a->strings["Disallowed profile URL."] = "Niet toegelaten profiel adres.";
+$a->strings["Your introduction has been sent."] = "Je verzoek is verzonden.";
+$a->strings["Please login to confirm introduction."] = "Log in om je verzoek te bevestigen.";
+$a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Je huidige identiteit is niet de juiste. Log met <strong>dit</strong> profiel in.";
+$a->strings["Confirm"] = "Bevestig";
+$a->strings["Hide this contact"] = "Verberg dit contact";
+$a->strings["Welcome home %s."] = "Welkom terug %s.";
+$a->strings["Please confirm your introduction/connection request to %s."] = "Bevestig je vriendschaps-/connectieverzoek voor %s.";
+$a->strings["Please enter your 'Identity Address' from one of the following supported communications networks:"] = "Vul hier uw 'Identiteitsadres' in van een van de volgende ondersteunde communicatienetwerken:";
+$a->strings["If you are not yet a member of the free social web, <a href=\"%s/siteinfo\">follow this link to find a public Friendica site and join us today</a>."] = "";
+$a->strings["Friend/Connection Request"] = "Vriendschaps-/connectieverzoek";
+$a->strings["Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"] = "Voorbeelden: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca";
+$a->strings["Friendica"] = "Friendica";
+$a->strings["StatusNet/Federated Social Web"] = "StatusNet/Gefedereerde Sociale Web";
+$a->strings[" - please do not use this form.  Instead, enter %s into your Diaspora search bar."] = "- Gebruik niet dit formulier. Vul %s in in je Diaspora zoekbalk.";
+$a->strings["Registration successful. Please check your email for further instructions."] = "Registratie geslaagd. Kijk je e-mail na voor verdere instructies.";
+$a->strings["Failed to send email message. Here your accout details:<br> login: %s<br> password: %s<br><br>You can change your password after login."] = "";
+$a->strings["Your registration can not be processed."] = "Je registratie kan niet verwerkt worden.";
+$a->strings["Your registration is pending approval by the site owner."] = "Jouw registratie wacht op goedkeuring van de beheerder.";
+$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Deze website heeft het toegelaten dagelijkse aantal registraties overschreden. Probeer morgen opnieuw.";
+$a->strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "Je kunt (optioneel) dit formulier invullen via OpenID door je OpenID in te geven en op 'Registreren' te klikken.";
+$a->strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "Laat dit veld leeg als je niet vertrouwd bent met OpenID, en vul de rest van de items in.";
+$a->strings["Your OpenID (optional): "] = "Je OpenID (optioneel):";
+$a->strings["Include your profile in member directory?"] = "Je profiel in de ledengids opnemen?";
+$a->strings["Membership on this site is by invitation only."] = "Lidmaatschap van deze website is uitsluitend op uitnodiging.";
+$a->strings["Your invitation ID: "] = "Je uitnodigingsid:";
+$a->strings["Your Full Name (e.g. Joe Smith, real or real-looking): "] = "";
+$a->strings["Your Email Address: "] = "Je email adres:";
+$a->strings["Leave empty for an auto generated password."] = "";
+$a->strings["Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be '<strong>nickname@\$sitename</strong>'."] = "Kies een bijnaam voor je profiel. Deze moet met een letter beginnen. Je profieladres op deze website zal dan '<strong>bijnaam@\$sitename</strong>' zijn.";
+$a->strings["Choose a nickname: "] = "Kies een bijnaam:";
+$a->strings["Register"] = "Registreer";
+$a->strings["Import"] = "Importeren";
+$a->strings["Import your profile to this friendica instance"] = "";
+$a->strings["System down for maintenance"] = "Systeem onbeschikbaar wegens onderhoud";
+$a->strings["Only logged in users are permitted to perform a search."] = "";
+$a->strings["Too Many Requests"] = "";
+$a->strings["Only one search per minute is permitted for not logged in users."] = "";
+$a->strings["Search"] = "Zoeken";
+$a->strings["Items tagged with: %s"] = "";
+$a->strings["Search results for: %s"] = "";
+$a->strings["Age: "] = "Leeftijd:";
+$a->strings["Gender: "] = "Geslacht:";
+$a->strings["Status:"] = "Tijdlijn:";
+$a->strings["Homepage:"] = "Website:";
+$a->strings["Global Directory"] = "Globale gids";
+$a->strings["Find on this site"] = "Op deze website zoeken";
+$a->strings["Finding:"] = "";
+$a->strings["Site Directory"] = "Websitegids";
+$a->strings["No entries (some entries may be hidden)."] = "Geen gegevens (sommige gegevens kunnen verborgen zijn).";
+$a->strings["No potential page delegates located."] = "Niemand gevonden waar het paginabeheer mogelijk aan uitbesteed kan worden.";
+$a->strings["Delegate Page Management"] = "Paginabeheer uitbesteden";
+$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Personen waaraan het beheer is uitbesteed kunnen alle onderdelen van een account/pagina beheren, behalve de basisinstellingen van een account. Besteed je persoonlijke account daarom niet uit aan personen die je niet volledig vertrouwd.";
+$a->strings["Existing Page Managers"] = "Bestaande paginabeheerders";
+$a->strings["Existing Page Delegates"] = "Bestaande personen waaraan het paginabeheer is uitbesteed";
+$a->strings["Potential Delegates"] = "Mogelijke personen waaraan het paginabeheer kan worden uitbesteed ";
+$a->strings["Add"] = "Toevoegen";
+$a->strings["No entries."] = "Geen gegevens.";
+$a->strings["No contacts in common."] = "Geen gedeelde contacten.";
+$a->strings["Common Friends"] = "Gedeelde Vrienden";
+$a->strings["Export account"] = "Account exporteren";
+$a->strings["Export your account info and contacts. Use this to make a backup of your account and/or to move it to another server."] = "Je account informatie en contacten exporteren. Gebruik dit om een backup van je account te maken en/of om het te verhuizen naar een andere server.";
+$a->strings["Export all"] = "Alles exporteren";
+$a->strings["Export your accout info, contacts and all your items as json. Could be a very big file, and could take a lot of time. Use this to make a full backup of your account (photos are not exported)"] = "Je account info, contacten en al je items in json formaat exporteren. Dit kan een heel groot bestand worden, en kan lang duren. Gebruik dit om een volledige backup van je account te maken (foto's worden niet geexporteerd)";
+$a->strings["%1\$s is currently %2\$s"] = "%1\$s is op dit moment %2\$s";
+$a->strings["Mood"] = "Stemming";
+$a->strings["Set your current mood and tell your friends"] = "Stel je huidige stemming in, en vertel het je vrienden";
+$a->strings["Do you really want to delete this suggestion?"] = "Wil je echt dit voorstel verwijderen?";
+$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Geen voorstellen beschikbaar. Als dit een nieuwe website is, kun je het over 24 uur nog eens proberen.";
+$a->strings["Ignore/Hide"] = "Negeren/Verbergen";
+$a->strings["Friend Suggestions"] = "Vriendschapsvoorstellen";
+$a->strings["Profile deleted."] = "Profiel verwijderd";
+$a->strings["Profile-"] = "Profiel-";
+$a->strings["New profile created."] = "Nieuw profiel aangemaakt.";
+$a->strings["Profile unavailable to clone."] = "Profiel niet beschikbaar om te klonen.";
+$a->strings["Profile Name is required."] = "Profielnaam is vereist.";
+$a->strings["Marital Status"] = "Echtelijke staat";
+$a->strings["Romantic Partner"] = "Romantische Partner";
+$a->strings["Likes"] = "Houdt van";
+$a->strings["Dislikes"] = "Houdt niet van";
+$a->strings["Work/Employment"] = "Werk";
+$a->strings["Religion"] = "Godsdienst";
+$a->strings["Political Views"] = "Politieke standpunten";
+$a->strings["Gender"] = "Geslacht";
+$a->strings["Sexual Preference"] = "Seksuele Voorkeur";
+$a->strings["Homepage"] = "Tijdlijn";
+$a->strings["Interests"] = "Interesses";
+$a->strings["Address"] = "Adres";
+$a->strings["Location"] = "Plaats";
+$a->strings["Profile updated."] = "Profiel bijgewerkt.";
+$a->strings[" and "] = "en";
+$a->strings["public profile"] = "publiek 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 %2\$s van %1\$s";
+$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s heeft een aangepast %2\$s, %3\$s veranderd.";
+$a->strings["Hide contacts and friends:"] = "";
+$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Je vrienden/contacten verbergen voor bezoekers van dit profiel?";
+$a->strings["Show more profile fields:"] = "";
+$a->strings["Edit Profile Details"] = "Profieldetails bewerken";
+$a->strings["Change Profile Photo"] = "Profielfoto wijzigen";
+$a->strings["View this profile"] = "Dit profiel bekijken";
+$a->strings["Create a new profile using these settings"] = "Nieuw profiel aanmaken met deze instellingen";
+$a->strings["Clone this profile"] = "Dit profiel klonen";
+$a->strings["Delete this profile"] = "Dit profiel verwijderen";
+$a->strings["Basic information"] = "";
+$a->strings["Profile picture"] = "";
+$a->strings["Preferences"] = "";
+$a->strings["Status information"] = "";
+$a->strings["Additional information"] = "";
+$a->strings["Profile Name:"] = "Profiel Naam:";
+$a->strings["Your Full Name:"] = "Je volledige naam:";
+$a->strings["Title/Description:"] = "Titel/Beschrijving:";
+$a->strings["Your Gender:"] = "Je Geslacht:";
+$a->strings["Birthday :"] = "";
+$a->strings["Street Address:"] = "Postadres:";
+$a->strings["Locality/City:"] = "Gemeente/Stad:";
+$a->strings["Postal/Zip Code:"] = "Postcode:";
+$a->strings["Country:"] = "Land:";
+$a->strings["Region/State:"] = "Regio/Staat:";
+$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Echtelijke Staat:";
+$a->strings["Who: (if applicable)"] = "Wie: (indien toepasbaar)";
+$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Voorbeelden: Kathleen123, Kathleen Peeters, kathleen@voorbeeld.nl";
+$a->strings["Since [date]:"] = "Sinds [datum]:";
+$a->strings["Sexual Preference:"] = "Seksuele Voorkeur:";
+$a->strings["Homepage URL:"] = "Adres tijdlijn:";
+$a->strings["Hometown:"] = "Woonplaats:";
+$a->strings["Political Views:"] = "Politieke standpunten:";
+$a->strings["Religious Views:"] = "Geloof:";
+$a->strings["Public Keywords:"] = "Publieke Sleutelwoorden:";
+$a->strings["Private Keywords:"] = "Privé Sleutelwoorden:";
+$a->strings["Likes:"] = "Houdt van:";
+$a->strings["Dislikes:"] = "Houdt niet van:";
+$a->strings["Example: fishing photography software"] = "Voorbeeld: vissen fotografie software";
+$a->strings["(Used for suggesting potential friends, can be seen by others)"] = "(Gebruikt om mogelijke vrienden voor te stellen, kan door anderen gezien worden)";
+$a->strings["(Used for searching profiles, never shown to others)"] = "(Gebruikt om profielen te zoeken, nooit aan anderen getoond)";
+$a->strings["Tell us about yourself..."] = "Vertel iets over jezelf...";
+$a->strings["Hobbies/Interests"] = "Hobby's/Interesses";
+$a->strings["Contact information and Social Networks"] = "Contactinformatie en sociale netwerken";
+$a->strings["Musical interests"] = "Muzikale interesses";
+$a->strings["Books, literature"] = "Boeken, literatuur";
+$a->strings["Television"] = "Televisie";
+$a->strings["Film/dance/culture/entertainment"] = "Film/dans/cultuur/ontspanning";
+$a->strings["Love/romance"] = "Liefde/romance";
+$a->strings["Work/employment"] = "Werk";
+$a->strings["School/education"] = "School/opleiding";
+$a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Dit is jouw <strong>publiek</strong> profiel.<br />Het <strong>kan</strong> zichtbaar zijn voor iedereen op het internet.";
+$a->strings["Edit/Manage Profiles"] = "Wijzig/Beheer Profielen";
+$a->strings["Change profile photo"] = "Profiel foto wijzigen";
+$a->strings["Create New Profile"] = "Maak nieuw profiel";
+$a->strings["Profile Image"] = "Profiel afbeelding";
+$a->strings["visible to everybody"] = "zichtbaar voor iedereen";
+$a->strings["Edit visibility"] = "Pas zichtbaarheid aan";
+$a->strings["Item not found"] = "Item niet gevonden";
+$a->strings["Edit post"] = "Bericht bewerken";
+$a->strings["upload photo"] = "Foto uploaden";
+$a->strings["Attach file"] = "Bestand bijvoegen";
+$a->strings["attach file"] = "bestand bijvoegen";
+$a->strings["web link"] = "webadres";
+$a->strings["Insert video link"] = "Voeg video toe";
+$a->strings["video link"] = "video adres";
+$a->strings["Insert audio link"] = "Voeg audio adres toe";
+$a->strings["audio link"] = "audio adres";
+$a->strings["Set your location"] = "Stel uw locatie in";
+$a->strings["set location"] = "Stel uw locatie in";
+$a->strings["Clear browser location"] = "Verwijder locatie uit uw webbrowser";
+$a->strings["clear location"] = "Verwijder locatie uit uw webbrowser";
+$a->strings["Permission settings"] = "Instellingen van rechten";
+$a->strings["CC: email addresses"] = "CC: e-mailadressen";
+$a->strings["Public post"] = "Openbare post";
+$a->strings["Set title"] = "Titel plaatsen";
+$a->strings["Categories (comma-separated list)"] = "Categorieën (komma-gescheiden lijst)";
+$a->strings["Example: bob@example.com, mary@example.com"] = "Voorbeeld: bob@voorbeeld.nl, an@voorbeeld.be";
 $a->strings["This is Friendica, version"] = "Dit is Friendica, versie";
 $a->strings["running at web location"] = "draaiend op web-adres";
 $a->strings["Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn more about the Friendica project."] = "Bezoek <a href=\"http://friendica.com\">Friendica.com</a> om meer te leren over het Friendica project.";
@@ -1335,6 +1291,140 @@ $a->strings["the bugtracker at github"] = "";
 $a->strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - dot com"] = "Suggesties, lof, donaties, enzovoort - stuur een e-mail naar \"info\" op Friendica - dot com";
 $a->strings["Installed plugins/addons/apps:"] = "Geïnstalleerde plugins/toepassingen:";
 $a->strings["No installed plugins/addons/apps"] = "Geen plugins of toepassingen geïnstalleerd";
+$a->strings["Authorize application connection"] = "";
+$a->strings["Return to your app and insert this Securty Code:"] = "";
+$a->strings["Please login to continue."] = "Log in om verder te 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 toepassing toestemming geven om jouw berichten en contacten in te kijken, en/of nieuwe berichten in jouw plaats aan te maken?";
+$a->strings["Remote privacy information not available."] = "Privacyinformatie op afstand niet beschikbaar.";
+$a->strings["Visible to:"] = "Zichtbaar voor:";
+$a->strings["Personal Notes"] = "Persoonlijke Nota's";
+$a->strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
+$a->strings["Time Conversion"] = "Tijdsconversie";
+$a->strings["Friendica provides this service for sharing events with other networks and friends in unknown timezones."] = "Friendica biedt deze dienst aan om gebeurtenissen te delen met andere netwerken en vrienden in onbekende tijdzones.";
+$a->strings["UTC time: %s"] = "UTC tijd: %s";
+$a->strings["Current timezone: %s"] = "Huidige Tijdzone: %s";
+$a->strings["Converted localtime: %s"] = "Omgerekende lokale tijd: %s";
+$a->strings["Please select your timezone:"] = "Selecteer je tijdzone:";
+$a->strings["Poke/Prod"] = "Aanstoten/porren";
+$a->strings["poke, prod or do other things to somebody"] = "aanstoten, porren of andere dingen met iemand doen";
+$a->strings["Recipient"] = "Ontvanger";
+$a->strings["Choose what you wish to do to recipient"] = "Kies wat je met de ontvanger wil doen";
+$a->strings["Make this post private"] = "Dit bericht privé maken";
+$a->strings["Resubsribing to OStatus contacts"] = "";
+$a->strings["Error"] = "";
+$a->strings["Total invitation limit exceeded."] = "Totale uitnodigingslimiet overschreden.";
+$a->strings["%s : Not a valid email address."] = "%s: Geen geldig e-mailadres.";
+$a->strings["Please join us on Friendica"] = "Kom bij ons op Friendica";
+$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Uitnodigingslimiet overschreden. Neem contact op met de beheerder van je website.";
+$a->strings["%s : Message delivery failed."] = "%s : Aflevering van bericht mislukt.";
+$a->strings["%d message sent."] = array(
+       0 => "%d bericht verzonden.",
+       1 => "%d berichten verzonden.",
+);
+$a->strings["You have no more invitations available"] = "Je kunt geen uitnodigingen meer sturen";
+$a->strings["Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks."] = "Bezoek %s voor een lijst van openbare sites waar je je kunt aansluiten. Friendica leden op andere sites kunnen allemaal met elkaar verbonden worden, en ook met leden van verschillende andere sociale netwerken.";
+$a->strings["To accept this invitation, please visit and register at %s or any other public Friendica website."] = "Om deze uitnodiging te accepteren kan je je op %s registreren of op een andere vrij toegankelijke Friendica-website.";
+$a->strings["Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join."] = "Friendica servers zijn allemaal onderling verbonden om een reusachtig sociaal web te maken met verbeterde privacy, dat eigendom is van en gecontroleerd door zijn leden. Ze kunnen ook verbindingen maken met verschillende traditionele sociale netwerken. Bekijk %s voor een lijst van alternatieve Friendica servers waar je aan kunt sluiten.";
+$a->strings["Our apologies. This system is not currently configured to connect with other public sites or invite members."] = "Onze verontschuldigingen. Dit systeem is momenteel niet ingesteld om verbinding te maken met andere openbare plaatsen of leden uit te nodigen.";
+$a->strings["Send invitations"] = "Verstuur uitnodigingen";
+$a->strings["Enter email addresses, one per line:"] = "Vul e-mailadressen in, Ã©Ã©n per lijn:";
+$a->strings["You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web."] = "Ik nodig je vriendelijk uit om bij mij en andere vrienden te komen op Friendica - en ons te helpen om een beter sociaal web te bouwen.";
+$a->strings["You will need to supply this invitation code: \$invite_code"] = "Je zult deze uitnodigingscode moeten invullen: \$invite_code";
+$a->strings["Once you have registered, please connect with me via my profile page at:"] = "Eens je geregistreerd bent kun je contact leggen met mij via mijn profielpagina op:";
+$a->strings["For more information about the Friendica project and why we feel it is important, please visit http://friendica.com"] = "Voor meer informatie over het Friendica project en waarom wij denken dat het belangrijk is kun je http://friendica.com/ bezoeken";
+$a->strings["Photo Albums"] = "Fotoalbums";
+$a->strings["Recent Photos"] = "Recente foto's";
+$a->strings["Upload New Photos"] = "Nieuwe foto's uploaden";
+$a->strings["Contact information unavailable"] = "Contactinformatie niet beschikbaar";
+$a->strings["Album not found."] = "Album niet gevonden";
+$a->strings["Delete Album"] = "Verwijder album";
+$a->strings["Do you really want to delete this photo album and all its photos?"] = "Wil je echt dit fotoalbum en alle foto's erin verwijderen?";
+$a->strings["Delete Photo"] = "Verwijder foto";
+$a->strings["Do you really want to delete this photo?"] = "Wil je echt deze foto verwijderen?";
+$a->strings["%1\$s was tagged in %2\$s by %3\$s"] = "%1\$s is gelabeld in %2\$s door %3\$s";
+$a->strings["a photo"] = "een foto";
+$a->strings["Image file is empty."] = "Afbeeldingsbestand is leeg.";
+$a->strings["No photos selected"] = "Geen foto's geselecteerd";
+$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Je hebt %1$.2f Mbytes van %2$.2f Mbytes foto-opslagruimte gebruikt.";
+$a->strings["Upload Photos"] = "Upload foto's";
+$a->strings["New album name: "] = "Nieuwe albumnaam: ";
+$a->strings["or existing album name: "] = "of bestaande albumnaam: ";
+$a->strings["Do not show a status post for this upload"] = "Toon geen bericht op je tijdlijn van deze upload";
+$a->strings["Permissions"] = "Rechten";
+$a->strings["Private Photo"] = "Privé foto";
+$a->strings["Public Photo"] = "Publieke foto";
+$a->strings["Edit Album"] = "Album wijzigen";
+$a->strings["Show Newest First"] = "Toon niewste eerst";
+$a->strings["Show Oldest First"] = "Toon oudste eerst";
+$a->strings["View Photo"] = "Bekijk foto";
+$a->strings["Permission denied. Access to this item may be restricted."] = "Toegang geweigerd. Toegang tot dit item is mogelijk beperkt.";
+$a->strings["Photo not available"] = "Foto is niet beschikbaar";
+$a->strings["View photo"] = "Bekijk foto";
+$a->strings["Edit photo"] = "Bewerk foto";
+$a->strings["Use as profile photo"] = "Gebruik als profielfoto";
+$a->strings["View Full Size"] = "Bekijk in volledig formaat";
+$a->strings["Tags: "] = "Labels: ";
+$a->strings["[Remove any tag]"] = "[Alle labels verwijderen]";
+$a->strings["New album name"] = "Nieuwe albumnaam";
+$a->strings["Caption"] = "Onderschrift";
+$a->strings["Add a Tag"] = "Een label toevoegen";
+$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl, #Ardennen, #camping ";
+$a->strings["Do not rotate"] = "";
+$a->strings["Rotate CW (right)"] = "Roteren met de klok mee (rechts)";
+$a->strings["Rotate CCW (left)"] = "Roteren tegen de klok in (links)";
+$a->strings["Private photo"] = "Privé foto";
+$a->strings["Public photo"] = "Publieke foto";
+$a->strings["Share"] = "Delen";
+$a->strings["Attending"] = array(
+       0 => "",
+       1 => "",
+);
+$a->strings["Not attending"] = "";
+$a->strings["Might attend"] = "";
+$a->strings["Map"] = "";
+$a->strings["Not Extended"] = "";
+$a->strings["Account approved."] = "Account goedgekeurd.";
+$a->strings["Registration revoked for %s"] = "Registratie ingetrokken voor %s";
+$a->strings["Please login."] = "Inloggen.";
+$a->strings["Move account"] = "Account verplaatsen";
+$a->strings["You can import an account from another Friendica server."] = "Je kunt een account van een andere Friendica server importeren.";
+$a->strings["You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here."] = "Je moet je account bij de oude server exporteren, en hier uploaden. We zullen je oude account hier opnieuw aanmaken, met al je contacten. We zullen ook proberen om je vrienden in te lichten dat je naar hier verhuisd bent.";
+$a->strings["This feature is experimental. We can't import contacts from the OStatus network (GNU Social/Statusnet) or from Diaspora"] = "";
+$a->strings["Account file"] = "Account bestand";
+$a->strings["To export your account, go to \"Settings->Export your personal data\" and select \"Export account\""] = "";
+$a->strings["Item not available."] = "Item niet beschikbaar";
+$a->strings["Item was not found."] = "Item niet gevonden";
+$a->strings["Delete this item?"] = "Dit item verwijderen?";
+$a->strings["show fewer"] = "Minder tonen";
+$a->strings["Update %s failed. See error logs."] = "Wijziging %s mislukt. Lees de error logbestanden.";
+$a->strings["Create a New Account"] = "Nieuwe account aanmaken";
+$a->strings["Logout"] = "Uitloggen";
+$a->strings["Nickname or Email address: "] = "Bijnaam of e-mailadres:";
+$a->strings["Password: "] = "Wachtwoord:";
+$a->strings["Remember me"] = "Onthou me";
+$a->strings["Or login using OpenID: "] = "Of log in met OpenID:";
+$a->strings["Forgot your password?"] = "Wachtwoord vergeten?";
+$a->strings["Website Terms of Service"] = "Gebruikersvoorwaarden website";
+$a->strings["terms of service"] = "servicevoorwaarden";
+$a->strings["Website Privacy Policy"] = "Privacybeleid website";
+$a->strings["privacy policy"] = "privacybeleid";
+$a->strings["This entry was edited"] = "";
+$a->strings["I will attend"] = "";
+$a->strings["I will not attend"] = "";
+$a->strings["I might attend"] = "";
+$a->strings["ignore thread"] = "";
+$a->strings["unignore thread"] = "";
+$a->strings["toggle ignore status"] = "";
+$a->strings["Categories:"] = "Categorieën:";
+$a->strings["Filed under:"] = "Bewaard onder:";
+$a->strings["via"] = "via";
+$a->strings["\n\t\t\tThe friendica developers released update %s recently,\n\t\t\tbut when I tried to install it, something went terribly wrong.\n\t\t\tThis needs to be fixed soon and I can't do it alone. Please contact a\n\t\t\tfriendica developer if you can not help me on your own. My database might be invalid."] = "";
+$a->strings["The error message is\n[pre]%s[/pre]"] = "";
+$a->strings["Errors encountered creating database tables."] = "Tijdens het aanmaken van databasetabellen zijn fouten vastgesteld.";
+$a->strings["Errors encountered performing database changes."] = "";
+$a->strings["Logged out."] = "Uitgelogd.";
+$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "";
+$a->strings["The error message was:"] = "De foutboodschap was:";
 $a->strings["Add New Contact"] = "Nieuw Contact toevoegen";
 $a->strings["Enter address or web location"] = "Voeg een webadres of -locatie in:";
 $a->strings["Example: bob@example.com, http://example.com/barbara"] = "Voorbeeld: jan@voorbeeld.be, http://voorbeeld.nl/barbara";
@@ -1344,33 +1434,265 @@ $a->strings["%d invitation available"] = array(
 );
 $a->strings["Find People"] = "Zoek mensen";
 $a->strings["Enter name or interest"] = "Vul naam of interesse in";
-$a->strings["Connect/Follow"] = "Verbind/Volg";
 $a->strings["Examples: Robert Morgenstein, Fishing"] = "Voorbeelden: Jan Peeters, Vissen";
+$a->strings["Similar Interests"] = "Dezelfde interesses";
 $a->strings["Random Profile"] = "Willekeurig Profiel";
+$a->strings["Invite Friends"] = "Vrienden uitnodigen";
 $a->strings["Networks"] = "Netwerken";
 $a->strings["All Networks"] = "Alle netwerken";
 $a->strings["Saved Folders"] = "Bewaarde Mappen";
 $a->strings["Everything"] = "Alles";
 $a->strings["Categories"] = "Categorieën";
-$a->strings["Click here to upgrade."] = "";
-$a->strings["This action exceeds the limits set by your subscription plan."] = "";
-$a->strings["This action is not available under your subscription plan."] = "";
+$a->strings["General Features"] = "Algemene functies";
+$a->strings["Multiple Profiles"] = "Meerdere profielen";
+$a->strings["Ability to create multiple profiles"] = "Mogelijkheid om meerdere profielen aan te maken";
+$a->strings["Photo Location"] = "";
+$a->strings["Photo metadata is normally stripped. This extracts the location (if present) prior to stripping metadata and links it to a map."] = "";
+$a->strings["Post Composition Features"] = "Functies voor het opstellen van berichten";
+$a->strings["Richtext Editor"] = "Tekstverwerker met opmaak";
+$a->strings["Enable richtext editor"] = "Gebruik een tekstverwerker met eenvoudige opmaakfuncties";
+$a->strings["Post Preview"] = "Voorvertoning bericht";
+$a->strings["Allow previewing posts and comments before publishing them"] = "";
+$a->strings["Auto-mention Forums"] = "";
+$a->strings["Add/remove mention when a fourm page is selected/deselected in ACL window."] = "";
+$a->strings["Network Sidebar Widgets"] = "Zijbalkwidgets op netwerkpagina";
+$a->strings["Search by Date"] = "Zoeken op datum";
+$a->strings["Ability to select posts by date ranges"] = "Mogelijkheid om berichten te selecteren volgens datumbereik";
+$a->strings["Group Filter"] = "Groepsfilter";
+$a->strings["Enable widget to display Network posts only from selected group"] = "Sta de widget toe om netwerkberichten te tonen van bepaalde groepen";
+$a->strings["Network Filter"] = "Netwerkfilter";
+$a->strings["Enable widget to display Network posts only from selected network"] = "Sta de widget toe om netwerkberichten te tonen van bepaalde netwerken";
+$a->strings["Save search terms for re-use"] = "Sla zoekopdrachten op voor hergebruik";
+$a->strings["Network Tabs"] = "Netwerktabs";
+$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";
+$a->strings["Network New Tab"] = "Nieuwe netwerktab";
+$a->strings["Enable tab to display only new Network posts (from the last 12 hours)"] = "Laat de tab alleen nieuwe netwerkberichten tonen (van de laatste 12 uur)";
+$a->strings["Network Shared Links Tab"] = "";
+$a->strings["Enable tab to display only Network posts with links in them"] = "";
+$a->strings["Post/Comment Tools"] = "Bericht-/reactiehulpmiddelen";
+$a->strings["Multiple Deletion"] = "Meervoudige verwijdering";
+$a->strings["Select and delete multiple posts/comments at once"] = "Selecteer en verwijder meerdere berichten/reacties in een keer";
+$a->strings["Edit Sent Posts"] = "Bewerk verzonden berichten";
+$a->strings["Edit and correct posts and comments after sending"] = "Bewerk en corrigeer berichten en reacties na verzending";
+$a->strings["Tagging"] = "Labelen";
+$a->strings["Ability to tag existing posts"] = "Mogelijkheid om bestaande berichten te labelen";
+$a->strings["Post Categories"] = "Categorieën berichten";
+$a->strings["Add categories to your posts"] = "Voeg categorieën toe aan je berichten";
+$a->strings["Ability to file posts under folders"] = "Mogelijkheid om berichten in mappen te bewaren";
+$a->strings["Dislike Posts"] = "Vind berichten niet leuk";
+$a->strings["Ability to dislike posts/comments"] = "Mogelijkheid om berichten of reacties niet leuk te vinden";
+$a->strings["Star Posts"] = "Geef berichten een ster";
+$a->strings["Ability to mark special posts with a star indicator"] = "";
+$a->strings["Mute Post Notifications"] = "";
+$a->strings["Ability to mute notifications for a thread"] = "";
+$a->strings["Connect URL missing."] = "";
+$a->strings["This site is not configured to allow communications with other networks."] = "Deze website is niet geconfigureerd voor communicatie met andere netwerken.";
+$a->strings["No compatible communication protocols or feeds were discovered."] = "Er werden geen compatibele communicatieprotocols of feeds ontdekt.";
+$a->strings["The profile address specified does not provide adequate information."] = "";
+$a->strings["An author or name was not found."] = "";
+$a->strings["No browser URL could be matched to this address."] = "";
+$a->strings["Unable to match @-style Identity Address with a known protocol or email contact."] = "Het @-stijl-identiteitsadres komt niet overeen met een nekend protocol of e-mailcontact.";
+$a->strings["Use mailto: in front of address to force email check."] = "Gebruik mailto: voor het adres om een e-mailcontrole af te dwingen.";
+$a->strings["The profile address specified belongs to a network which has been disabled on this site."] = "";
+$a->strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = "";
+$a->strings["Unable to retrieve contact information."] = "";
+$a->strings["following"] = "volgend";
+$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Een verwijderde groep met deze naam is weer tot leven gewekt. Bestaande itemrechten <strong>kunnen</strong> voor deze groep en toekomstige leden gelden. Wanneer je niet zo had bedoeld kan je een andere groep met een andere naam creëren. ";
+$a->strings["Default privacy group for new contacts"] = "";
+$a->strings["Everybody"] = "Iedereen";
+$a->strings["edit"] = "verander";
+$a->strings["Edit group"] = "Verander groep";
+$a->strings["Create a new group"] = "Maak nieuwe groep";
+$a->strings["Contacts not in any group"] = "";
+$a->strings["Miscellaneous"] = "Diversen";
+$a->strings["YYYY-MM-DD or MM-DD"] = "";
+$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["months"] = "maanden";
+$a->strings["weeks"] = "weken";
+$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"] = "secondes";
+$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s geleden";
+$a->strings["%s's birthday"] = "%s's verjaardag";
+$a->strings["Happy Birthday %s"] = "Gefeliciteerd %s";
+$a->strings["Requested account is not available."] = "Gevraagde account is niet beschikbaar.";
+$a->strings["Edit profile"] = "Bewerk profiel";
+$a->strings["Message"] = "Bericht";
+$a->strings["Profiles"] = "Profielen";
+$a->strings["Manage/edit profiles"] = "Beheer/wijzig profielen";
+$a->strings["Network:"] = "";
+$a->strings["g A l F d"] = "G l j 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"] = "Gebeurtenisherinneringen";
+$a->strings["Events this week:"] = "Gebeurtenissen deze week:";
+$a->strings["j F, Y"] = "F j Y";
+$a->strings["j F"] = "F j";
+$a->strings["Birthday:"] = "Verjaardag:";
+$a->strings["Age:"] = "Leeftijd:";
+$a->strings["for %1\$d %2\$s"] = "voor %1\$d %2\$s";
+$a->strings["Religion:"] = "Religie:";
+$a->strings["Hobbies/Interests:"] = "Hobby:";
+$a->strings["Contact information and Social Networks:"] = "Contactinformatie en sociale netwerken:";
+$a->strings["Musical interests:"] = "Muzikale interesse ";
+$a->strings["Books, literature:"] = "Boeken, literatuur:";
+$a->strings["Television:"] = "Televisie";
+$a->strings["Film/dance/culture/entertainment:"] = "Film/dans/cultuur/ontspanning:";
+$a->strings["Love/Romance:"] = "Liefde/romance:";
+$a->strings["Work/employment:"] = "Werk/beroep:";
+$a->strings["School/education:"] = "School/opleiding:";
+$a->strings["Status"] = "Tijdlijn";
+$a->strings["Status Messages and Posts"] = "Berichten op jouw tijdlijn";
+$a->strings["Profile Details"] = "Profieldetails";
+$a->strings["Videos"] = "Video's";
+$a->strings["Events and Calendar"] = "Gebeurtenissen en kalender";
+$a->strings["Only You Can See This"] = "Alleen jij kunt dit zien";
+$a->strings["Post to Email"] = "Verzenden per e-mail";
+$a->strings["Connectors disabled, since \"%s\" is enabled."] = "";
+$a->strings["Visible to everybody"] = "Zichtbaar voor iedereen";
+$a->strings["show"] = "tonen";
+$a->strings["don't show"] = "niet tonen";
+$a->strings["[no subject]"] = "[geen onderwerp]";
+$a->strings["stopped following"] = "";
+$a->strings["View Status"] = "Bekijk status";
+$a->strings["View Photos"] = "Bekijk foto's";
+$a->strings["Network Posts"] = "Netwerkberichten";
+$a->strings["Edit Contact"] = "Bewerk contact";
+$a->strings["Drop Contact"] = "Verwijder contact";
+$a->strings["Send PM"] = "Stuur een privébericht";
+$a->strings["Poke"] = "Aanstoten";
+$a->strings["Welcome "] = "Welkom";
+$a->strings["Please upload a profile photo."] = "Upload een profielfoto.";
+$a->strings["Welcome back "] = "Welkom terug ";
+$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "";
+$a->strings["%1\$s attends %2\$s's %3\$s"] = "";
+$a->strings["%1\$s doesn't attend %2\$s's %3\$s"] = "";
+$a->strings["%1\$s attends maybe %2\$s's %3\$s"] = "";
+$a->strings["%1\$s poked %2\$s"] = "%1\$s stootte %2\$s aan";
+$a->strings["post/item"] = "bericht/item";
+$a->strings["%1\$s marked %2\$s's %3\$s as favorite"] = "%1\$s markeerde %2\$s's %3\$s als favoriet";
+$a->strings["remove"] = "verwijder";
+$a->strings["Delete Selected Items"] = "Geselecteerde items verwijderen";
+$a->strings["Follow Thread"] = "Conversatie volgen";
+$a->strings["%s likes this."] = "%s vindt dit leuk.";
+$a->strings["%s doesn't like this."] = "%s vindt dit niet leuk.";
+$a->strings["%s attends."] = "";
+$a->strings["%s doesn't attend."] = "";
+$a->strings["%s attends maybe."] = "";
+$a->strings["and"] = "en";
+$a->strings[", and %d other people"] = ", en %d andere mensen";
+$a->strings["<span  %1\$s>%2\$d people</span> like this"] = "<span  %1\$s>%2\$d mensen</span> vinden dit leuk";
+$a->strings["%s like this."] = "";
+$a->strings["<span  %1\$s>%2\$d people</span> don't like this"] = "<span  %1\$s>%2\$d people</span> vinden dit niet leuk";
+$a->strings["%s don't like this."] = "";
+$a->strings["<span  %1\$s>%2\$d people</span> attend"] = "";
+$a->strings["%s attend."] = "";
+$a->strings["<span  %1\$s>%2\$d people</span> don't attend"] = "";
+$a->strings["%s don't attend."] = "";
+$a->strings["<span  %1\$s>%2\$d people</span> anttend maybe"] = "";
+$a->strings["%s anttend maybe."] = "";
+$a->strings["Visible to <strong>everybody</strong>"] = "Zichtbaar voor <strong>iedereen</strong>";
+$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:"] = "Label:";
+$a->strings["Where are you right now?"] = "Waar ben je nu?";
+$a->strings["Delete item(s)?"] = "Item(s) verwijderen?";
+$a->strings["permissions"] = "rechten";
+$a->strings["Post to Groups"] = "Verzenden naar Groepen";
+$a->strings["Post to Contacts"] = "Verzenden naar Contacten";
+$a->strings["Private post"] = "Privé verzending";
+$a->strings["View all"] = "";
+$a->strings["Like"] = array(
+       0 => "",
+       1 => "",
+);
+$a->strings["Dislike"] = array(
+       0 => "",
+       1 => "",
+);
+$a->strings["Not Attending"] = array(
+       0 => "",
+       1 => "",
+);
+$a->strings["Undecided"] = array(
+       0 => "",
+       1 => "",
+);
+$a->strings["view full size"] = "Volledig formaat";
+$a->strings["newer"] = "nieuwere berichten";
+$a->strings["older"] = "oudere berichten";
+$a->strings["prev"] = "vorige";
+$a->strings["first"] = "eerste";
+$a->strings["last"] = "laatste";
+$a->strings["next"] = "volgende";
+$a->strings["Loading more entries..."] = "";
+$a->strings["The end"] = "";
+$a->strings["No contacts"] = "Geen contacten";
+$a->strings["%d Contact"] = array(
+       0 => "%d contact",
+       1 => "%d contacten",
+);
+$a->strings["Full Text"] = "";
+$a->strings["Tags"] = "";
+$a->strings["Forums"] = "";
+$a->strings["poke"] = "aanstoten";
+$a->strings["poked"] = "aangestoten";
+$a->strings["ping"] = "ping";
+$a->strings["pinged"] = "gepingd";
+$a->strings["prod"] = "porren";
+$a->strings["prodded"] = "gepord";
+$a->strings["slap"] = "slaan";
+$a->strings["slapped"] = "geslagen";
+$a->strings["finger"] = "finger";
+$a->strings["fingered"] = "gerfingerd";
+$a->strings["rebuff"] = "afpoeieren";
+$a->strings["rebuffed"] = "afgepoeierd";
+$a->strings["happy"] = "Blij";
+$a->strings["sad"] = "Verdrietig";
+$a->strings["mellow"] = "mellow";
+$a->strings["tired"] = "vermoeid";
+$a->strings["perky"] = "parmantig";
+$a->strings["angry"] = "boos";
+$a->strings["stupified"] = "verbijsterd";
+$a->strings["puzzled"] = "onzeker";
+$a->strings["interested"] = "Geïnteresseerd";
+$a->strings["bitter"] = "bitter";
+$a->strings["cheerful"] = "vrolijk";
+$a->strings["alive"] = "levend";
+$a->strings["annoyed"] = "verveeld";
+$a->strings["anxious"] = "bezorgd";
+$a->strings["cranky"] = "humeurig ";
+$a->strings["disturbed"] = "verontrust";
+$a->strings["frustrated"] = "gefrustreerd";
+$a->strings["motivated"] = "gemotiveerd";
+$a->strings["relaxed"] = "ontspannen";
+$a->strings["surprised"] = "verbaasd";
+$a->strings["bytes"] = "bytes";
+$a->strings["Click to open/close"] = "klik om te openen/sluiten";
+$a->strings["View on separate page"] = "";
+$a->strings["view on separate page"] = "";
+$a->strings["activity"] = "activiteit";
+$a->strings["post"] = "bericht";
+$a->strings["Item filed"] = "Item bewaard";
+$a->strings["Image/photo"] = "Afbeelding/foto";
+$a->strings["<a href=\"%1\$s\" target=\"_blank\">%2\$s</a> %3\$s"] = "";
+$a->strings["<span><a href=\"%s\" target=\"_blank\">%s</a> wrote the following <a href=\"%s\" target=\"_blank\">post</a>"] = "";
+$a->strings["$1 wrote:"] = "$1 schreef:";
+$a->strings["Encrypted content"] = "Versleutelde inhoud";
+$a->strings["(no subject)"] = "(geen onderwerp)";
+$a->strings["noreply"] = "geen reactie";
 $a->strings["Cannot locate DNS info for database server '%s'"] = "";
-$a->strings["Logged out."] = "Uitgelogd.";
-$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "";
-$a->strings["The error message was:"] = "De foutboodschap was:";
-$a->strings["Error decoding account file"] = "";
-$a->strings["Error! No version data in file! This is not a Friendica account file?"] = "";
-$a->strings["Error! Cannot check nickname"] = "";
-$a->strings["User '%s' already exists on this server!"] = "Gebruiker '%s' bestaat al op deze server!";
-$a->strings["User creation error"] = "Fout bij het aanmaken van de gebruiker";
-$a->strings["User profile creation error"] = "Fout bij het aanmaken van het gebruikersprofiel";
-$a->strings["%d contact not imported"] = array(
-       0 => "%d contact werd niet geïmporteerd",
-       1 => "%d contacten werden niet geïmporteerd",
-);
-$a->strings["Done. You can now login with your username and password"] = "Gebeurd. Je kunt nu inloggen met je gebruikersnaam en wachtwoord";
-$a->strings["[no subject]"] = "[geen onderwerp]";
 $a->strings["Unknown | Not categorised"] = "Onbekend | Niet ";
 $a->strings["Block immediately"] = "Onmiddellijk blokkeren";
 $a->strings["Shady, spammer, self-marketer"] = "Onbetrouwbaar, spammer, zelfpromotor";
@@ -1389,49 +1711,86 @@ $a->strings["Google+"] = "Google+";
 $a->strings["pump.io"] = "pump.io";
 $a->strings["Twitter"] = "Twitter";
 $a->strings["Diaspora Connector"] = "Diaspora-connector";
-$a->strings["Statusnet"] = "Statusnet";
+$a->strings["GNU Social"] = "";
 $a->strings["App.net"] = "";
-$a->strings["General Features"] = "Algemene functies";
-$a->strings["Multiple Profiles"] = "Meerdere profielen";
-$a->strings["Ability to create multiple profiles"] = "Mogelijkheid om meerdere profielen aan te maken";
-$a->strings["Post Composition Features"] = "Functies voor het opstellen van berichten";
-$a->strings["Richtext Editor"] = "Tekstverwerker met opmaak";
-$a->strings["Enable richtext editor"] = "Gebruik een tekstverwerker met eenvoudige opmaakfuncties";
-$a->strings["Post Preview"] = "Voorvertoning bericht";
-$a->strings["Allow previewing posts and comments before publishing them"] = "";
-$a->strings["Auto-mention Forums"] = "";
-$a->strings["Add/remove mention when a fourm page is selected/deselected in ACL window."] = "";
-$a->strings["Network Sidebar Widgets"] = "Zijbalkwidgets op netwerkpagina";
-$a->strings["Search by Date"] = "Zoeken op datum";
-$a->strings["Ability to select posts by date ranges"] = "Mogelijkheid om berichten te selecteren volgens datumbereik";
-$a->strings["Group Filter"] = "Groepsfilter";
-$a->strings["Enable widget to display Network posts only from selected group"] = "Sta de widget toe om netwerkberichten te tonen van bepaalde groepen";
-$a->strings["Network Filter"] = "Netwerkfilter";
-$a->strings["Enable widget to display Network posts only from selected network"] = "Sta de widget toe om netwerkberichten te tonen van bepaalde netwerken";
-$a->strings["Save search terms for re-use"] = "Sla zoekopdrachten op voor hergebruik";
-$a->strings["Network Tabs"] = "Netwerktabs";
-$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";
-$a->strings["Network New Tab"] = "Nieuwe netwerktab";
-$a->strings["Enable tab to display only new Network posts (from the last 12 hours)"] = "Laat de tab alleen nieuwe netwerkberichten tonen (van de laatste 12 uur)";
-$a->strings["Network Shared Links Tab"] = "";
-$a->strings["Enable tab to display only Network posts with links in them"] = "";
-$a->strings["Post/Comment Tools"] = "Bericht-/reactiehulpmiddelen";
-$a->strings["Multiple Deletion"] = "Meervoudige verwijdering";
-$a->strings["Select and delete multiple posts/comments at once"] = "Selecteer en verwijder meerdere berichten/reacties in een keer";
-$a->strings["Edit Sent Posts"] = "Bewerk verzonden berichten";
-$a->strings["Edit and correct posts and comments after sending"] = "Bewerk en corrigeer berichten en reacties na verzending";
-$a->strings["Tagging"] = "Labelen";
-$a->strings["Ability to tag existing posts"] = "Mogelijkheid om bestaande berichten te labelen";
-$a->strings["Post Categories"] = "Categorieën berichten";
-$a->strings["Add categories to your posts"] = "Voeg categorieën toe aan je berichten";
-$a->strings["Ability to file posts under folders"] = "Mogelijkheid om berichten in mappen te bewaren";
-$a->strings["Dislike Posts"] = "Vind berichten niet leuk";
-$a->strings["Ability to dislike posts/comments"] = "Mogelijkheid om berichten of reacties niet leuk te vinden";
-$a->strings["Star Posts"] = "Geef berichten een ster";
-$a->strings["Ability to mark special posts with a star indicator"] = "";
-$a->strings["Mute Post Notifications"] = "";
-$a->strings["Ability to mute notifications for a thread"] = "";
+$a->strings["Redmatrix"] = "";
+$a->strings[" on Last.fm"] = " op Last.fm";
+$a->strings["Starts:"] = "Begint:";
+$a->strings["Finishes:"] = "Eindigt:";
+$a->strings["Click here to upgrade."] = "";
+$a->strings["This action exceeds the limits set by your subscription plan."] = "";
+$a->strings["This action is not available under your subscription plan."] = "";
+$a->strings["End this session"] = "Deze sessie beëindigen";
+$a->strings["Your posts and conversations"] = "Jouw berichten en conversaties";
+$a->strings["Your profile page"] = "Jouw profiel pagina";
+$a->strings["Your photos"] = "Jouw foto's";
+$a->strings["Your videos"] = "";
+$a->strings["Your events"] = "Jouw gebeurtenissen";
+$a->strings["Personal notes"] = "Persoonlijke nota's";
+$a->strings["Your personal notes"] = "";
+$a->strings["Sign in"] = "Inloggen";
+$a->strings["Home Page"] = "Jouw tijdlijn";
+$a->strings["Create an account"] = "Maak een accoount";
+$a->strings["Help and documentation"] = "Hulp en documentatie";
+$a->strings["Apps"] = "Apps";
+$a->strings["Addon applications, utilities, games"] = "Extra toepassingen, hulpmiddelen of spelletjes";
+$a->strings["Search site content"] = "Doorzoek de inhoud van de website";
+$a->strings["Conversations on this site"] = "Conversaties op deze website";
+$a->strings["Conversations on the network"] = "";
+$a->strings["Directory"] = "Gids";
+$a->strings["People directory"] = "Personengids";
+$a->strings["Information"] = "Informatie";
+$a->strings["Information about this friendica instance"] = "";
+$a->strings["Conversations from your friends"] = "Conversaties van je vrienden";
+$a->strings["Network Reset"] = "Netwerkpagina opnieuw instellen";
+$a->strings["Load Network page with no filters"] = "Laad de netwerkpagina zonder filters";
+$a->strings["Friend Requests"] = "Vriendschapsverzoeken";
+$a->strings["See all notifications"] = "Toon alle notificaties";
+$a->strings["Mark all system notifications seen"] = "Alle systeemnotificaties als gelezen markeren";
+$a->strings["Private mail"] = "Privéberichten";
+$a->strings["Inbox"] = "Inbox";
+$a->strings["Outbox"] = "Verzonden berichten";
+$a->strings["Manage"] = "Beheren";
+$a->strings["Manage other pages"] = "Andere pagina's beheren";
+$a->strings["Account settings"] = "Account instellingen";
+$a->strings["Manage/Edit Profiles"] = "Beheer/Wijzig Profielen";
+$a->strings["Manage/edit friends and contacts"] = "Beheer/Wijzig vrienden en contacten";
+$a->strings["Site setup and configuration"] = "Website opzetten en configureren";
+$a->strings["Navigation"] = "Navigatie";
+$a->strings["Site map"] = "Sitemap";
+$a->strings["User not found."] = "Gebruiker niet gevonden";
+$a->strings["Daily posting limit of %d posts reached. The post was rejected."] = "";
+$a->strings["Weekly posting limit of %d posts reached. The post was rejected."] = "";
+$a->strings["Monthly posting limit of %d posts reached. The post was rejected."] = "";
+$a->strings["There is no status with this id."] = "Er is geen status met dit kenmerk";
+$a->strings["There is no conversation with this id."] = "";
+$a->strings["Invalid item."] = "";
+$a->strings["Invalid action. "] = "";
+$a->strings["DB error"] = "";
+$a->strings["An invitation is required."] = "Een uitnodiging is vereist.";
+$a->strings["Invitation could not be verified."] = "Uitnodiging kon niet geverifieerd worden.";
+$a->strings["Invalid OpenID url"] = "Ongeldige OpenID url";
+$a->strings["Please enter the required information."] = "Vul de vereiste informatie in.";
+$a->strings["Please use a shorter name."] = "gebruik een kortere naam";
+$a->strings["Name too short."] = "Naam te kort";
+$a->strings["That doesn't appear to be your full (First Last) name."] = "Dat lijkt niet je volledige naam (voor- en achternaam) te zijn.";
+$a->strings["Your email domain is not among those allowed on this site."] = "Je e-maildomein is op deze website niet toegestaan.";
+$a->strings["Not a valid email address."] = "Geen geldig e-mailadres.";
+$a->strings["Cannot use that email."] = "Ik kan die e-mail niet gebruiken.";
+$a->strings["Your \"nickname\" can only contain \"a-z\", \"0-9\" and \"_\"."] = "";
+$a->strings["Nickname is already registered. Please choose another."] = "Bijnaam is al geregistreerd. Kies een andere.";
+$a->strings["Nickname was once registered here and may not be re-used. Please choose another."] = "Bijnaam was ooit hier geregistreerd en kan niet herbruikt worden. Kies een andere.";
+$a->strings["SERIOUS ERROR: Generation of security keys failed."] = "ERNSTIGE FOUT: aanmaken van beveiligingssleutels mislukt.";
+$a->strings["An error occurred during registration. Please try again."] = "";
+$a->strings["default"] = "standaard";
+$a->strings["An error occurred creating your default profile. Please try again."] = "";
+$a->strings["Friends"] = "Vrienden";
+$a->strings["\n\t\tDear %1\$s,\n\t\t\tThank you for registering at %2\$s. Your account has been created.\n\t"] = "";
+$a->strings["\n\t\tThe login details are as follows:\n\t\t\tSite Location:\t%3\$s\n\t\t\tLogin Name:\t%1\$s\n\t\t\tPassword:\t%5\$s\n\n\t\tYou may change your password from your account \"Settings\" page after logging\n\t\tin.\n\n\t\tPlease take a few moments to review the other account settings on that page.\n\n\t\tYou may also wish to add some basic information to your default profile\n\t\t(on the \"Profiles\" page) so that other people can easily find you.\n\n\t\tWe recommend setting your full name, adding a profile photo,\n\t\tadding some profile \"keywords\" (very useful in making new friends) - and\n\t\tperhaps what country you live in; if you do not wish to be more specific\n\t\tthan that.\n\n\t\tWe fully respect your right to privacy, and none of these items are necessary.\n\t\tIf you are new and do not know anybody here, they may help\n\t\tyou to make some new and interesting friends.\n\n\n\t\tThank you and welcome to %2\$s."] = "";
+$a->strings["Sharing notification from Diaspora network"] = "";
+$a->strings["Attachments:"] = "Bijlagen:";
+$a->strings["Do you really want to delete this item?"] = "Wil je echt dit item verwijderen?";
+$a->strings["Archives"] = "Archieven";
 $a->strings["Male"] = "Man";
 $a->strings["Female"] = "Vrouw";
 $a->strings["Currently Male"] = "Momenteel mannelijk";
@@ -1445,7 +1804,6 @@ $a->strings["Hermaphrodite"] = "Hermafrodiet";
 $a->strings["Neuter"] = "Genderneutraal";
 $a->strings["Non-specific"] = "Niet-specifiek";
 $a->strings["Other"] = "Anders";
-$a->strings["Undecided"] = "Onbeslist";
 $a->strings["Males"] = "Mannen";
 $a->strings["Females"] = "Vrouwen";
 $a->strings["Gay"] = "Homo";
@@ -1468,7 +1826,6 @@ $a->strings["Infatuated"] = "Smoorverliefd";
 $a->strings["Dating"] = "Aan het daten";
 $a->strings["Unfaithful"] = "Ontrouw";
 $a->strings["Sex Addict"] = "Seksverslaafd";
-$a->strings["Friends"] = "Vrienden";
 $a->strings["Friends/Benefits"] = "Vriendschap plus";
 $a->strings["Casual"] = "Ongebonden/vluchtig";
 $a->strings["Engaged"] = "Verloofd";
@@ -1476,106 +1833,24 @@ $a->strings["Married"] = "Getrouwd";
 $a->strings["Imaginarily married"] = "Denkbeeldig getrouwd";
 $a->strings["Partners"] = "Partners";
 $a->strings["Cohabiting"] = "Samenwonend";
-$a->strings["Common law"] = "getrouwd voor-de-wet";
-$a->strings["Happy"] = "Blij";
-$a->strings["Not looking"] = "Niet op zoek";
-$a->strings["Swinger"] = "Swinger";
-$a->strings["Betrayed"] = "Bedrogen";
-$a->strings["Separated"] = "Uit elkaar";
-$a->strings["Unstable"] = "Onstabiel";
-$a->strings["Divorced"] = "Gescheiden";
-$a->strings["Imaginarily divorced"] = "Denkbeeldig gescheiden";
-$a->strings["Widowed"] = "Weduwnaar/weduwe";
-$a->strings["Uncertain"] = "Onzeker";
-$a->strings["It's complicated"] = "Het is gecompliceerd";
-$a->strings["Don't care"] = "Kan me niet schelen";
-$a->strings["Ask me"] = "Vraag me";
-$a->strings["stopped following"] = "";
-$a->strings["Poke"] = "Aanstoten";
-$a->strings["View Status"] = "Bekijk status";
-$a->strings["View Profile"] = "Bekijk profiel";
-$a->strings["View Photos"] = "Bekijk foto's";
-$a->strings["Network Posts"] = "Netwerkberichten";
-$a->strings["Edit Contact"] = "Bewerk contact";
-$a->strings["Drop Contact"] = "Verwijder contact";
-$a->strings["Send PM"] = "Stuur een privébericht";
-$a->strings[" on Last.fm"] = " op Last.fm";
-$a->strings["Post to Email"] = "Verzenden per e-mail";
-$a->strings["Connectors disabled, since \"%s\" is enabled."] = "";
-$a->strings["Visible to everybody"] = "Zichtbaar voor iedereen";
-$a->strings["User not found."] = "Gebruiker niet gevonden";
-$a->strings["Daily posting limit of %d posts reached. The post was rejected."] = "";
-$a->strings["Weekly posting limit of %d posts reached. The post was rejected."] = "";
-$a->strings["Monthly posting limit of %d posts reached. The post was rejected."] = "";
-$a->strings["There is no status with this id."] = "Er is geen status met dit kenmerk";
-$a->strings["There is no conversation with this id."] = "";
-$a->strings["Invalid request."] = "";
-$a->strings["Invalid item."] = "";
-$a->strings["Invalid action. "] = "";
-$a->strings["DB error"] = "";
-$a->strings["Starts:"] = "Begint:";
-$a->strings["Finishes:"] = "Eindigt:";
-$a->strings["Image/photo"] = "Afbeelding/foto";
-$a->strings["<a href=\"%1\$s\" target=\"_blank\">%2\$s</a> %3\$s"] = "";
-$a->strings["<span><a href=\"%s\" target=\"_blank\">%s</a> wrote the following <a href=\"%s\" target=\"_blank\">post</a>"] = "";
-$a->strings["$1 wrote:"] = "$1 schreef:";
-$a->strings["Encrypted content"] = "Versleutelde inhoud";
-$a->strings["%1\$s poked %2\$s"] = "%1\$s stootte %2\$s aan";
-$a->strings["post/item"] = "bericht/item";
-$a->strings["%1\$s marked %2\$s's %3\$s as favorite"] = "%1\$s markeerde %2\$s's %3\$s als favoriet";
-$a->strings["remove"] = "verwijder";
-$a->strings["Delete Selected Items"] = "Geselecteerde items verwijderen";
-$a->strings["Follow Thread"] = "Conversatie volgen";
-$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"] = "<span  %1\$s>%2\$d mensen</span> vinden dit leuk";
-$a->strings["<span  %1\$s>%2\$d people</span> don't like this"] = "<span  %1\$s>%2\$d people</span> vinden dit niet leuk";
-$a->strings["and"] = "en";
-$a->strings[", and %d other people"] = ", en %d andere mensen";
-$a->strings["%s like this."] = "%s vindt dit leuk.";
-$a->strings["%s don't like this."] = "%s vindt dit niet leuk.";
-$a->strings["Visible to <strong>everybody</strong>"] = "Zichtbaar voor <strong>iedereen</strong>";
-$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:"] = "Label:";
-$a->strings["Where are you right now?"] = "Waar ben je nu?";
-$a->strings["Delete item(s)?"] = "Item(s) verwijderen?";
-$a->strings["permissions"] = "rechten";
-$a->strings["Post to Groups"] = "Verzenden naar Groepen";
-$a->strings["Post to Contacts"] = "Verzenden naar Contacten";
-$a->strings["Private post"] = "Privé verzending";
-$a->strings["Miscellaneous"] = "Diversen";
-$a->strings["YYYY-MM-DD or MM-DD"] = "";
-$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"] = "secondes";
-$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s geleden";
-$a->strings["%s's birthday"] = "%s's verjaardag";
-$a->strings["Happy Birthday %s"] = "Gefeliciteerd %s";
-$a->strings["\n\t\t\tThe friendica developers released update %s recently,\n\t\t\tbut when I tried to install it, something went terribly wrong.\n\t\t\tThis needs to be fixed soon and I can't do it alone. Please contact a\n\t\t\tfriendica developer if you can not help me on your own. My database might be invalid."] = "";
-$a->strings["The error message is\n[pre]%s[/pre]"] = "";
-$a->strings["Errors encountered creating database tables."] = "Tijdens het aanmaken van databasetabellen zijn fouten vastgesteld.";
-$a->strings["Errors encountered performing database changes."] = "";
-$a->strings["(no subject)"] = "(geen onderwerp)";
-$a->strings["noreply"] = "geen reactie";
-$a->strings["Sharing notification from Diaspora network"] = "";
-$a->strings["Attachments:"] = "Bijlagen:";
+$a->strings["Common law"] = "getrouwd voor-de-wet";
+$a->strings["Happy"] = "Blij";
+$a->strings["Not looking"] = "Niet op zoek";
+$a->strings["Swinger"] = "Swinger";
+$a->strings["Betrayed"] = "Bedrogen";
+$a->strings["Separated"] = "Uit elkaar";
+$a->strings["Unstable"] = "Onstabiel";
+$a->strings["Divorced"] = "Gescheiden";
+$a->strings["Imaginarily divorced"] = "Denkbeeldig gescheiden";
+$a->strings["Widowed"] = "Weduwnaar/weduwe";
+$a->strings["Uncertain"] = "Onzeker";
+$a->strings["It's complicated"] = "Het is gecompliceerd";
+$a->strings["Don't care"] = "Kan me niet schelen";
+$a->strings["Ask me"] = "Vraag me";
 $a->strings["Friendica Notification"] = "Friendica Notificatie";
 $a->strings["Thank You,"] = "Bedankt";
 $a->strings["%s Administrator"] = "%s Beheerder";
+$a->strings["%1\$s, %2\$s Administrator"] = "";
 $a->strings["%s <!item_type!>"] = "%s <!item_type!>";
 $a->strings["[Friendica:Notify] New mail received at %s"] = "[Friendica:Notificatie] Nieuw bericht ontvangen op %s";
 $a->strings["%1\$s sent you a new private message at %2\$s."] = "%1\$s sent you a new private message at %2\$s.";
@@ -1630,203 +1905,58 @@ $a->strings["You've received a registration request from '%1\$s' at %2\$s"] = ""
 $a->strings["You've received a [url=%1\$s]registration request[/url] from %2\$s."] = "";
 $a->strings["Full Name:\t%1\$s\\nSite Location:\t%2\$s\\nLogin Name:\t%3\$s (%4\$s)"] = "";
 $a->strings["Please visit %s to approve or reject the request."] = "";
-$a->strings["Connect URL missing."] = "";
-$a->strings["This site is not configured to allow communications with other networks."] = "Deze website is niet geconfigureerd voor communicatie met andere netwerken.";
-$a->strings["No compatible communication protocols or feeds were discovered."] = "Er werden geen compatibele communicatieprotocols of feeds ontdekt.";
-$a->strings["The profile address specified does not provide adequate information."] = "";
-$a->strings["An author or name was not found."] = "";
-$a->strings["No browser URL could be matched to this address."] = "";
-$a->strings["Unable to match @-style Identity Address with a known protocol or email contact."] = "Het @-stijl-identiteitsadres komt niet overeen met een nekend protocol of e-mailcontact.";
-$a->strings["Use mailto: in front of address to force email check."] = "Gebruik mailto: voor het adres om een e-mailcontrole af te dwingen.";
-$a->strings["The profile address specified belongs to a network which has been disabled on this site."] = "";
-$a->strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = "";
-$a->strings["Unable to retrieve contact information."] = "";
-$a->strings["following"] = "volgend";
-$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Een verwijderde groep met deze naam is weer tot leven gewekt. Bestaande itemrechten <strong>kunnen</strong> voor deze groep en toekomstige leden gelden. Wanneer je niet zo had bedoeld kan je een andere groep met een andere naam creëren. ";
-$a->strings["Default privacy group for new contacts"] = "";
-$a->strings["Everybody"] = "Iedereen";
-$a->strings["edit"] = "verander";
-$a->strings["Edit group"] = "Verander groep";
-$a->strings["Create a new group"] = "Maak nieuwe groep";
-$a->strings["Contacts not in any group"] = "";
-$a->strings["Requested account is not available."] = "Gevraagde account is niet beschikbaar.";
-$a->strings["Edit profile"] = "Bewerk profiel";
-$a->strings["Message"] = "Bericht";
-$a->strings["Profiles"] = "Profielen";
-$a->strings["Manage/edit profiles"] = "Beheer/wijzig profielen";
-$a->strings["Network:"] = "";
-$a->strings["g A l F d"] = "G l j 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"] = "Gebeurtenisherinneringen";
-$a->strings["Events this week:"] = "Gebeurtenissen deze week:";
-$a->strings["j F, Y"] = "F j Y";
-$a->strings["j F"] = "F j";
-$a->strings["Birthday:"] = "Verjaardag:";
-$a->strings["Age:"] = "Leeftijd:";
-$a->strings["for %1\$d %2\$s"] = "voor %1\$d %2\$s";
-$a->strings["Tags:"] = "Labels:";
-$a->strings["Religion:"] = "Religie:";
-$a->strings["Hobbies/Interests:"] = "Hobby:";
-$a->strings["Contact information and Social Networks:"] = "Contactinformatie en sociale netwerken:";
-$a->strings["Musical interests:"] = "Muzikale interesse ";
-$a->strings["Books, literature:"] = "Boeken, literatuur:";
-$a->strings["Television:"] = "Televisie";
-$a->strings["Film/dance/culture/entertainment:"] = "Film/dans/cultuur/ontspanning:";
-$a->strings["Love/Romance:"] = "Liefde/romance:";
-$a->strings["Work/employment:"] = "Werk/beroep:";
-$a->strings["School/education:"] = "School/opleiding:";
-$a->strings["Status"] = "Tijdlijn";
-$a->strings["Status Messages and Posts"] = "Berichten op jouw tijdlijn";
-$a->strings["Profile Details"] = "Profieldetails";
-$a->strings["Videos"] = "Video's";
-$a->strings["Events and Calendar"] = "Gebeurtenissen en kalender";
-$a->strings["Only You Can See This"] = "Alleen jij kunt dit zien";
-$a->strings["Do you really want to delete this item?"] = "Wil je echt dit item verwijderen?";
-$a->strings["Archives"] = "Archieven";
-$a->strings["Logout"] = "Uitloggen";
-$a->strings["End this session"] = "Deze sessie beëindigen";
-$a->strings["Your videos"] = "";
-$a->strings["Your personal notes"] = "";
-$a->strings["Sign in"] = "Inloggen";
-$a->strings["Home Page"] = "Jouw tijdlijn";
-$a->strings["Create an account"] = "Maak een accoount";
-$a->strings["Help and documentation"] = "Hulp en documentatie";
-$a->strings["Apps"] = "Apps";
-$a->strings["Addon applications, utilities, games"] = "Extra toepassingen, hulpmiddelen of spelletjes";
-$a->strings["Search site content"] = "Doorzoek de inhoud van de website";
-$a->strings["Conversations on this site"] = "Conversaties op deze website";
-$a->strings["Conversations on the network"] = "";
-$a->strings["Directory"] = "Gids";
-$a->strings["People directory"] = "Personengids";
-$a->strings["Information"] = "Informatie";
-$a->strings["Information about this friendica instance"] = "";
-$a->strings["Conversations from your friends"] = "Conversaties van je vrienden";
-$a->strings["Network Reset"] = "Netwerkpagina opnieuw instellen";
-$a->strings["Load Network page with no filters"] = "Laad de netwerkpagina zonder filters";
-$a->strings["Friend Requests"] = "Vriendschapsverzoeken";
-$a->strings["See all notifications"] = "Toon alle notificaties";
-$a->strings["Mark all system notifications seen"] = "Alle systeemnotificaties als gelezen markeren";
-$a->strings["Private mail"] = "Privéberichten";
-$a->strings["Inbox"] = "Inbox";
-$a->strings["Outbox"] = "Verzonden berichten";
-$a->strings["Manage"] = "Beheren";
-$a->strings["Manage other pages"] = "Andere pagina's beheren";
-$a->strings["Account settings"] = "Account instellingen";
-$a->strings["Manage/Edit Profiles"] = "Beheer/Wijzig Profielen";
-$a->strings["Manage/edit friends and contacts"] = "Beheer/Wijzig vrienden en contacten";
-$a->strings["Site setup and configuration"] = "Website opzetten en configureren";
-$a->strings["Navigation"] = "Navigatie";
-$a->strings["Site map"] = "Sitemap";
-$a->strings["view full size"] = "Volledig formaat";
 $a->strings["Embedded content"] = "Ingebedde inhoud";
 $a->strings["Embedding disabled"] = "Inbedden uitgeschakeld";
-$a->strings["Welcome "] = "Welkom";
-$a->strings["Please upload a profile photo."] = "Upload een profielfoto.";
-$a->strings["Welcome back "] = "Welkom terug ";
-$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "";
-$a->strings["newer"] = "nieuwere berichten";
-$a->strings["older"] = "oudere berichten";
-$a->strings["prev"] = "vorige";
-$a->strings["first"] = "eerste";
-$a->strings["last"] = "laatste";
-$a->strings["next"] = "volgende";
-$a->strings["Loading more entries..."] = "";
-$a->strings["The end"] = "";
-$a->strings["No contacts"] = "Geen contacten";
-$a->strings["%d Contact"] = array(
-       0 => "%d contact",
-       1 => "%d contacten",
+$a->strings["Error decoding account file"] = "";
+$a->strings["Error! No version data in file! This is not a Friendica account file?"] = "";
+$a->strings["Error! Cannot check nickname"] = "";
+$a->strings["User '%s' already exists on this server!"] = "Gebruiker '%s' bestaat al op deze server!";
+$a->strings["User creation error"] = "Fout bij het aanmaken van de gebruiker";
+$a->strings["User profile creation error"] = "Fout bij het aanmaken van het gebruikersprofiel";
+$a->strings["%d contact not imported"] = array(
+       0 => "%d contact werd niet geïmporteerd",
+       1 => "%d contacten werden niet geïmporteerd",
 );
-$a->strings["poke"] = "aanstoten";
-$a->strings["poked"] = "aangestoten";
-$a->strings["ping"] = "ping";
-$a->strings["pinged"] = "gepingd";
-$a->strings["prod"] = "porren";
-$a->strings["prodded"] = "gepord";
-$a->strings["slap"] = "slaan";
-$a->strings["slapped"] = "geslagen";
-$a->strings["finger"] = "finger";
-$a->strings["fingered"] = "gerfingerd";
-$a->strings["rebuff"] = "afpoeieren";
-$a->strings["rebuffed"] = "afgepoeierd";
-$a->strings["happy"] = "Blij";
-$a->strings["sad"] = "Verdrietig";
-$a->strings["mellow"] = "mellow";
-$a->strings["tired"] = "vermoeid";
-$a->strings["perky"] = "parmantig";
-$a->strings["angry"] = "boos";
-$a->strings["stupified"] = "verbijsterd";
-$a->strings["puzzled"] = "onzeker";
-$a->strings["interested"] = "Geïnteresseerd";
-$a->strings["bitter"] = "bitter";
-$a->strings["cheerful"] = "vrolijk";
-$a->strings["alive"] = "levend";
-$a->strings["annoyed"] = "verveeld";
-$a->strings["anxious"] = "bezorgd";
-$a->strings["cranky"] = "humeurig ";
-$a->strings["disturbed"] = "verontrust";
-$a->strings["frustrated"] = "gefrustreerd";
-$a->strings["motivated"] = "gemotiveerd";
-$a->strings["relaxed"] = "ontspannen";
-$a->strings["surprised"] = "verbaasd";
-$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["bytes"] = "bytes";
-$a->strings["Click to open/close"] = "klik om te openen/sluiten";
-$a->strings["Select an alternate language"] = "Kies een andere taal";
-$a->strings["activity"] = "activiteit";
-$a->strings["post"] = "bericht";
-$a->strings["Item filed"] = "Item bewaard";
-$a->strings["An invitation is required."] = "Een uitnodiging is vereist.";
-$a->strings["Invitation could not be verified."] = "Uitnodiging kon niet geverifieerd worden.";
-$a->strings["Invalid OpenID url"] = "Ongeldige OpenID url";
-$a->strings["Please enter the required information."] = "Vul de vereiste informatie in.";
-$a->strings["Please use a shorter name."] = "gebruik een kortere naam";
-$a->strings["Name too short."] = "Naam te kort";
-$a->strings["That doesn't appear to be your full (First Last) name."] = "Dat lijkt niet je volledige naam (voor- en achternaam) te zijn.";
-$a->strings["Your email domain is not among those allowed on this site."] = "Je e-maildomein is op deze website niet toegestaan.";
-$a->strings["Not a valid email address."] = "Geen geldig e-mailadres.";
-$a->strings["Cannot use that email."] = "Ik kan die e-mail niet gebruiken.";
-$a->strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "Je \"bijnaam\" kan alleen \"a-z\", \"0-9\", \"-\", en \"_\" bevatten, en moet ook met een letter beginnen.";
-$a->strings["Nickname is already registered. Please choose another."] = "Bijnaam is al geregistreerd. Kies een andere.";
-$a->strings["Nickname was once registered here and may not be re-used. Please choose another."] = "Bijnaam was ooit hier geregistreerd en kan niet herbruikt worden. Kies een andere.";
-$a->strings["SERIOUS ERROR: Generation of security keys failed."] = "ERNSTIGE FOUT: aanmaken van beveiligingssleutels mislukt.";
-$a->strings["An error occurred during registration. Please try again."] = "";
-$a->strings["An error occurred creating your default profile. Please try again."] = "";
-$a->strings["\n\t\tDear %1\$s,\n\t\t\tThank you for registering at %2\$s. Your account has been created.\n\t"] = "";
-$a->strings["\n\t\tThe login details are as follows:\n\t\t\tSite Location:\t%3\$s\n\t\t\tLogin Name:\t%1\$s\n\t\t\tPassword:\t%5\$s\n\n\t\tYou may change your password from your account \"Settings\" page after logging\n\t\tin.\n\n\t\tPlease take a few moments to review the other account settings on that page.\n\n\t\tYou may also wish to add some basic information to your default profile\n\t\t(on the \"Profiles\" page) so that other people can easily find you.\n\n\t\tWe recommend setting your full name, adding a profile photo,\n\t\tadding some profile \"keywords\" (very useful in making new friends) - and\n\t\tperhaps what country you live in; if you do not wish to be more specific\n\t\tthan that.\n\n\t\tWe fully respect your right to privacy, and none of these items are necessary.\n\t\tIf you are new and do not know anybody here, they may help\n\t\tyou to make some new and interesting friends.\n\n\n\t\tThank you and welcome to %2\$s."] = "";
+$a->strings["Done. You can now login with your username and password"] = "Gebeurd. Je kunt nu inloggen met je gebruikersnaam en wachtwoord";
 $a->strings["toggle mobile"] = "mobiel thema omwisselen";
-$a->strings["Delete this item?"] = "Dit item verwijderen?";
-$a->strings["show fewer"] = "Minder tonen";
-$a->strings["Update %s failed. See error logs."] = "Wijziging %s mislukt. Lees de error logbestanden.";
-$a->strings["Create a New Account"] = "Nieuwe account aanmaken";
-$a->strings["Nickname or Email address: "] = "Bijnaam of e-mailadres:";
-$a->strings["Password: "] = "Wachtwoord:";
-$a->strings["Remember me"] = "Onthou me";
-$a->strings["Or login using OpenID: "] = "Of log in met OpenID:";
-$a->strings["Forgot your password?"] = "Wachtwoord vergeten?";
-$a->strings["Website Terms of Service"] = "Gebruikersvoorwaarden website";
-$a->strings["terms of service"] = "servicevoorwaarden";
-$a->strings["Website Privacy Policy"] = "Privacybeleid website";
-$a->strings["privacy policy"] = "privacybeleid";
+$a->strings["Set resize level for images in posts and comments (width and height)"] = "";
+$a->strings["Set font-size for posts and comments"] = "Stel lettergrootte voor berichten en reacties in";
+$a->strings["Set theme width"] = "Stel breedte van het thema in";
+$a->strings["Color scheme"] = "Kleurschema";
+$a->strings["Set line-height for posts and comments"] = "Stel lijnhoogte voor berichten en reacties in";
+$a->strings["Set colour scheme"] = "Stel kleurschema in";
+$a->strings["Alignment"] = "Uitlijning";
+$a->strings["Left"] = "Links";
+$a->strings["Center"] = "Gecentreerd";
+$a->strings["Posts font size"] = "Lettergrootte berichten";
+$a->strings["Textareas font size"] = "Lettergrootte tekstgebieden";
+$a->strings["Set resolution for middle column"] = "Stel resolutie in voor de middelste kolom. ";
+$a->strings["Set color scheme"] = "Stel kleurenschema in";
+$a->strings["Set zoomfactor for Earth Layer"] = "";
+$a->strings["Set longitude (X) for Earth Layers"] = "";
+$a->strings["Set latitude (Y) for Earth Layers"] = "";
+$a->strings["Community Pages"] = "Forum/groepspagina's";
+$a->strings["Earth Layers"] = "Earth Layers";
+$a->strings["Community Profiles"] = "Forum/groepsprofielen";
+$a->strings["Help or @NewHere ?"] = "";
+$a->strings["Connect Services"] = "Diensten verbinden";
+$a->strings["Find Friends"] = "Zoek vrienden";
+$a->strings["Last users"] = "Laatste gebruikers";
+$a->strings["Last photos"] = "Laatste foto's";
+$a->strings["Last likes"] = "Recent leuk gevonden";
+$a->strings["Your contacts"] = "Jouw contacten";
+$a->strings["Your personal photos"] = "Jouw persoonlijke foto's";
+$a->strings["Local Directory"] = "Lokale gids";
+$a->strings["Set zoomfactor for Earth Layers"] = "";
+$a->strings["Show/hide boxes at right-hand column:"] = "";
+$a->strings["Comma separated list of helper forums"] = "";
+$a->strings["Set style"] = "";
+$a->strings["External link to forum"] = "";
+$a->strings["Quick Start"] = "";
+$a->strings["greenzero"] = "";
+$a->strings["purplezero"] = "";
+$a->strings["easterbunny"] = "";
+$a->strings["darkzero"] = "";
+$a->strings["comix"] = "";
+$a->strings["slackr"] = "";
+$a->strings["Variations"] = "";
diff --git a/view/sv/messages.po b/view/sv/messages.po
new file mode 100644 (file)
index 0000000..9bd0b73
--- /dev/null
@@ -0,0 +1,3988 @@
+# FRIENDICA Distributed Social Network
+# Copyright (C) 2010, 2011, 2012, 2013 the Friendica Project
+# This file is distributed under the same license as the Friendica package.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: friendica\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-12-04 20:30:51+0000\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "Not Found"
+msgstr "Hittar inte"
+
+msgid "Page not found."
+msgstr "Sidan hittades inte."
+
+msgid "Permission denied"
+msgstr "&Aring;tkomst nekad"
+
+msgid "Permission denied."
+msgstr "&Aring;tkomst nekad."
+
+msgid "Delete this item?"
+msgstr "Ta bort?"
+
+msgid "Comment"
+msgstr "Kommentera"
+
+msgid "Create a New Account"
+msgstr "Skapa nytt konto"
+
+msgid "Register"
+msgstr "Registrera"
+
+msgid "Notifications"
+msgstr "Aviseringar"
+
+msgid "Nickname or Email address: "
+msgstr "Anv&auml;ndarnamn eller e-postadress: "
+
+msgid "Password: "
+msgstr "L&ouml;senord: "
+
+msgid "Login"
+msgstr "Logga in"
+
+msgid "Nickname/Email/OpenID: "
+msgstr "Anv&auml;ndarnamn/e-post/OpenID: "
+
+msgid "Password (if not OpenID): "
+msgstr "L&ouml;senord (om inget OpenID): "
+
+msgid "Forgot your password?"
+msgstr "Har du gl&ouml;mt l&ouml;senordet?"
+
+msgid "Password Reset"
+msgstr "Gl&ouml;mt l&ouml;senordet?"
+
+msgid "Logout"
+msgstr "Logga ut"
+
+msgid "prev"
+msgstr "f&ouml;reg"
+
+msgid "first"
+msgstr "f&ouml;rsta"
+
+msgid "last"
+msgstr "sista"
+
+msgid "next"
+msgstr "n&auml;sta"
+
+msgid "No contacts"
+msgstr "Inga kontakter"
+
+msgid "View Contacts"
+msgstr "Visa kontakter"
+
+msgid "Search"
+msgstr "S&ouml;k"
+
+msgid "No profile"
+msgstr "Ingen profil"
+
+msgid "Connect"
+msgstr "Skicka kontaktf&ouml;rfr&aring;gan"
+
+msgid "Location:"
+msgstr "Plats:"
+
+msgid ", "
+msgstr ", "
+
+msgid "Gender:"
+msgstr "K&ouml;n:"
+
+msgid "Status:"
+msgstr "Status:"
+
+msgid "Homepage:"
+msgstr "Hemsida:"
+
+msgid "Monday"
+msgstr "m&aring;ndag"
+
+msgid "Tuesday"
+msgstr "tisdag"
+
+msgid "Wednesday"
+msgstr "onsdag"
+
+msgid "Thursday"
+msgstr "torsdag"
+
+msgid "Friday"
+msgstr "fredag"
+
+msgid "Saturday"
+msgstr "l&ouml;rdag"
+
+msgid "Sunday"
+msgstr "s&ouml;ndag"
+
+msgid "January"
+msgstr "januari"
+
+msgid "February"
+msgstr "februari"
+
+msgid "March"
+msgstr "mars"
+
+msgid "April"
+msgstr "april"
+
+msgid "May"
+msgstr "maj"
+
+msgid "June"
+msgstr "juni"
+
+msgid "July"
+msgstr "juli"
+
+msgid "August"
+msgstr "augusti"
+
+msgid "September"
+msgstr "september"
+
+msgid "October"
+msgstr "oktober"
+
+msgid "November"
+msgstr "november"
+
+msgid "December"
+msgstr "december"
+
+msgid "g A l F d"
+msgstr "g A l F d"
+
+msgid "Birthday Reminders"
+msgstr "F&ouml;delsedagsp&aring;minnelser"
+
+msgid "Birthdays this week:"
+msgstr "F&ouml;delsedagar denna vecka:"
+
+msgid "(Adjusted for local time)"
+msgstr "(Justerat till lokal tid)"
+
+msgid "[today]"
+msgstr "[idag]"
+
+msgid "link to source"
+msgstr "l&auml;nk till k&auml;lla"
+
+#, php-format
+msgid "%d Contact"
+msgid_plural "%d Contacts"
+msgstr[0] "%d kontakt"
+msgstr[1] "%d kontakter"
+
+msgid "Normal View"
+msgstr "Byt till normalvy"
+
+msgid "New Item View"
+msgstr "Visa nya inl&auml;gg &ouml;verst"
+
+#, php-format
+msgid "Warning: This group contains %s from an insecure network."
+msgstr "Varning! Gruppen inneh&aring;ller %s p&aring; os&auml;kra n&auml;tverk."
+
+msgid "Private messages to this group are at risk of public disclosure."
+msgstr "Meddelanden kan komma att bli synliga f&ouml;r vem som helst p&aring; internet."
+
+msgid "Please enter a link URL:"
+msgstr "Ange en l&auml;nk (URL):"
+
+msgid "Please enter a YouTube link:"
+msgstr "Ange en YouTube-l&auml;nk:"
+
+msgid "Please enter a video(.ogg) link/URL:"
+msgstr "Ange l&auml;nk/URL till video (.ogg):"
+
+msgid "Please enter an audio(.ogg) link/URL:"
+msgstr "Ange l&auml;nk/URL till ljud (.ogg):"
+
+msgid "Where are you right now?"
+msgstr "Var &auml;r du just nu?"
+
+msgid "Enter a title for this item"
+msgstr "Ange en rubrik p&aring; inl&auml;gget"
+
+msgid "Share"
+msgstr "Publicera"
+
+msgid "Upload photo"
+msgstr "Ladda upp bild"
+
+msgid "Insert web link"
+msgstr "Infoga l&auml;nk"
+
+msgid "Insert YouTube video"
+msgstr "Infoga video fr&aring;n YouTube"
+
+msgid "Insert Vorbis [.ogg] video"
+msgstr "L&auml;gg in video i format Vorbis [.ogg]"
+
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "L&auml;gg in ljud i format Vorbis [.ogg]"
+
+msgid "Set your location"
+msgstr "Ange plats"
+
+msgid "Clear browser location"
+msgstr "Clear browser location"
+
+msgid "Set title"
+msgstr "Ange rubrik"
+
+msgid "Please wait"
+msgstr "V&auml;nta"
+
+msgid "Permission settings"
+msgstr "&Aring;tkomstinst&auml;llningar"
+
+msgid "CC: email addresses"
+msgstr "Kopia: e-postadresser"
+
+msgid "Example: bob@example.com, mary@example.com"
+msgstr "Exempel: adam@exempel.com, bertil@exempel.com"
+
+msgid "No such group"
+msgstr "Gruppen finns inte"
+
+msgid "Group is empty"
+msgstr "Gruppen &auml;r tom"
+
+msgid "Group: "
+msgstr "Grupp: "
+
+msgid "Shared content is covered by the <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0</a> license."
+msgstr "Inneh&aring;llet omfattas av licensen <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0</a>."
+
+#, php-format
+msgid "%d member"
+msgid_plural "%d member"
+msgstr[0] "%d medlem"
+msgstr[1] "%d medlemmar"
+
+msgid "Applications"
+msgstr "Applikationer"
+
+msgid "Invite Friends"
+msgstr "Bjud in folk du k&auml;nner"
+
+msgid "Find People With Shared Interests"
+msgstr "S&ouml;k personer som har samma intressen som du"
+
+msgid "Connect/Follow"
+msgstr "G&ouml;r till kontakt/F&ouml;lj"
+
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Exempel: adam@exempel.com, http://exempel.com/bertil"
+
+msgid "Follow"
+msgstr "F&ouml;lj"
+
+msgid "Could not access contact record."
+msgstr "Hittar inte information om kontakten."
+
+msgid "Could not locate selected profile."
+msgstr "Hittar inte vald profil."
+
+msgid "Contact updated."
+msgstr "Kontakten har uppdaterats."
+
+msgid "Failed to update contact record."
+msgstr "Det blev fel n&auml;r kontakten skulle uppdateras."
+
+msgid "Contact has been "
+msgstr "Kontakten "
+
+msgid "blocked"
+msgstr "sp&auml;rrad"
+
+msgid "unblocked"
+msgstr "inte l&auml;ngre sp&auml;rrad"
+
+msgid "Contact has been blocked"
+msgstr "Kontakten har sp&auml;rrats"
+
+msgid "Contact has been unblocked"
+msgstr "Kontakten &auml;r inte l&auml;ngre sp&auml;rrad"
+
+msgid "Contact has been ignored"
+msgstr "Kontakten ignoreras"
+
+msgid "Contact has been unignored"
+msgstr "Kontakten ignoreras inte l&auml;ngre"
+
+msgid "stopped following"
+msgstr "f&ouml;ljer inte l&auml;ngre"
+
+msgid "Contact has been removed."
+msgstr "Kontakten har tagits bort."
+
+msgid "Contact not found."
+msgstr "Kontakten hittades inte."
+
+msgid "Mutual Friendship"
+msgstr "&Ouml;msesidig v&auml;nskap"
+
+msgid "is a fan of yours"
+msgstr "&auml;r ett fan till dig"
+
+msgid "you are a fan of"
+msgstr "du &auml;r fan till"
+
+msgid "Privacy Unavailable"
+msgstr "Inte tillg&auml;ngligt"
+
+msgid "Private communications are not available for this contact."
+msgstr "Det g&aring;r inte att utbyta personliga meddelanden med den h&auml;r kontakten."
+
+msgid "Never"
+msgstr "Aldrig"
+
+msgid "(Update was successful)"
+msgstr "(Uppdateringen lyckades)"
+
+msgid "(Update was not successful)"
+msgstr "(Uppdateringen lyckades inte)"
+
+msgid "Contact Editor"
+msgstr "&Auml;ndra kontakter"
+
+msgid "Submit"
+msgstr "Spara"
+
+msgid "Profile Visibility"
+msgstr "Visning av profil"
+
+#, php-format
+msgid "Please choose the profile you would like to display to %s when viewing your profile securely."
+msgstr "V&auml;lj vilken profil som ska visas f&ouml;r %s n&auml;r han/hon bes&ouml;ker din sida."
+
+msgid "Contact Information / Notes"
+msgstr "Kontaktuppgifter/Anteckningar"
+
+msgid "Online Reputation"
+msgstr "Rykte online"
+
+msgid "Occasionally your friends may wish to inquire about this person's online legitimacy."
+msgstr "Dina kontakter kanske vill veta n&aring;got om den h&auml;r personens rykte online innan de tar kontakt."
+
+msgid "You may help them choose whether or not to interact with this person by providing a <em>reputation</em> to guide them."
+msgstr "Du kan vara till hj&auml;lp genom att ange personens rykte online."
+
+msgid "Please take a moment to elaborate on this selection if you feel it could be helpful to others."
+msgstr "&Auml;gna g&auml;rna en stund &aring;t att ange detta f&ouml;r att hj&auml;lpa andra."
+
+msgid "Visit $name's profile"
+msgstr "Bes&ouml;k $name "
+
+msgid "Block/Unblock contact"
+msgstr "Sp&auml;rra kontakt eller h&auml;v sp&auml;rr"
+
+msgid "Ignore contact"
+msgstr "Ignorera kontakt"
+
+msgid "Repair contact URL settings"
+msgstr "Repair contact URL settings"
+
+msgid "Repair contact URL settings (WARNING: Advanced)"
+msgstr "Repair contact URL settings (WARNING: Advanced)"
+
+msgid "Delete contact"
+msgstr "Ta bort kontakt"
+
+msgid "Last updated: "
+msgstr "Uppdaterad senast: "
+
+msgid "Update public posts: "
+msgstr "Uppdatera offentliga inl&auml;gg: "
+
+msgid "Update now"
+msgstr "Updatera nu"
+
+msgid "Unblock this contact"
+msgstr "H&auml;v sp&auml;rr f&ouml;r kontakt"
+
+msgid "Block this contact"
+msgstr "Sp&auml;rra kontakt"
+
+msgid "Unignore this contact"
+msgstr "Ignorera inte l&auml;ngre kontakt"
+
+msgid "Ignore this contact"
+msgstr "Ignorera kontakt"
+
+msgid "Currently blocked"
+msgstr "Sp&auml;rrad"
+
+msgid "Currently ignored"
+msgstr "Ignoreras"
+
+msgid "Contacts"
+msgstr "Kontakter"
+
+msgid "Show Blocked Connections"
+msgstr "Visa sp&auml;rrade kontakter"
+
+msgid "Hide Blocked Connections"
+msgstr "D&ouml;lj sp&auml;rrade kontakter"
+
+msgid "Finding: "
+msgstr "Hittar: "
+
+msgid "Find"
+msgstr "S&ouml;k"
+
+msgid "Visit $username's profile"
+msgstr "G&aring; till profilen som tillh&ouml;r $username"
+
+msgid "Edit contact"
+msgstr "&Auml;ndra kontakt"
+
+msgid "Contact settings applied."
+msgstr "Inst&auml;llningar f&ouml;r kontakter har sparats."
+
+msgid "Contact update failed."
+msgstr "Det gick inte att uppdatera kontakt."
+
+msgid "Repair Contact Settings"
+msgstr "Repair Contact Settings"
+
+msgid "<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact will stop working."
+msgstr "<strong>VARNING! Det h&auml;r &auml;r en avancerad inst&auml;llning</strong> och om du anger felaktig information kommer kommunikationen med den h&auml;r kontakten att sluta fungera."
+
+msgid "Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."
+msgstr "Anv&auml;nd webbl&auml;sarens bak&aring;tknapp <strong>nu</strong> om du &auml;r os&auml;ker p&aring; vad man g&ouml;r p&aring; den h&auml;r sidan."
+
+msgid "Name"
+msgstr "Namn"
+
+msgid "Profile not found."
+msgstr "Profilen hittades inte."
+
+msgid "Response from remote site was not understood."
+msgstr "Kunde inte tolka svaret fr&aring;n fj&auml;rrsajten."
+
+msgid "Unexpected response from remote site: "
+msgstr "Ov&auml;ntat svar fr&aring;n fj&auml;rrsajten: "
+
+msgid "Confirmation completed successfully."
+msgstr "Bekr&auml;ftat."
+
+msgid "Remote site reported: "
+msgstr "Meddelande fr&aring;n fj&auml;rrsajten: "
+
+msgid "Temporary failure. Please wait and try again."
+msgstr "Tillf&auml;lligt fel. F&ouml;rs&ouml;k igen lite senare."
+
+msgid "Introduction failed or was revoked."
+msgstr "Kontaktf&ouml;rfr&aring;gan gick inte fram eller har &aring;terkallats."
+
+msgid "Unable to set contact photo."
+msgstr "Det gick inte att byta profilbild."
+
+msgid "is now friends with"
+msgstr "&auml;r nu v&auml;n med"
+
+msgid "Our site encryption key is apparently messed up."
+msgstr "Det &auml;r n&aring;got fel p&aring; webbplatsens krypteringsnyckel."
+
+msgid "Empty site URL was provided or URL could not be decrypted by us."
+msgstr "Empty site URL was provided or URL could not be decrypted by us."
+
+msgid "Contact record was not found for you on our site."
+msgstr "Det gick inte att hitta efterfr&aring;gad information p&aring; v&aring;r webbplats."
+
+msgid "The ID provided by your system is a duplicate on our system. It should work if you try again."
+msgstr "Det ID som angavs av ditt system &auml;r samma som p&aring; v&aring;rt system. Det borde fungera om du provar igen."
+
+msgid "Unable to set your contact credentials on our system."
+msgstr "Unable to set your contact credentials on our system."
+
+msgid "Unable to update your contact profile details on our system"
+msgstr "Unable to update your contact profile details on our system"
+
+#, php-format
+msgid "Connection accepted at %s"
+msgstr "Kontaktf&ouml;rfr&aring;gan beviljad - %s"
+
+msgid "Administrator"
+msgstr "Admin"
+
+msgid "noreply"
+msgstr "noreply"
+
+#, php-format
+msgid "%s commented on an item at %s"
+msgstr "%s har kommenterat ett inl&auml;gg p&aring; %s"
+
+msgid "This introduction has already been accepted."
+msgstr "Den h&auml;r f&ouml;rfr&aring;gan har redan beviljats."
+
+msgid "Profile location is not valid or does not contain profile information."
+msgstr "Profiladressen &auml;r ogiltig eller inneh&aring;ller ingen profilinformation."
+
+msgid "Warning: profile location has no identifiable owner name."
+msgstr "Varning! Hittar inget namn som identifierar profilen."
+
+msgid "Warning: profile location has no profile photo."
+msgstr "Varning! Profilen inneh&aring;ller inte n&aring;gon profilbild."
+
+msgid "Introduction complete."
+msgstr "Kontaktf&ouml;rfr&aring;gan/Presentationen &auml;r klar."
+
+msgid "Unrecoverable protocol error."
+msgstr "Protokollfel."
+
+msgid "Profile unavailable."
+msgstr "Profilen &auml;r inte tillg&auml;nglig."
+
+#, php-format
+msgid "%s has received too many connection requests today."
+msgstr "%s har f&aring;tt f&ouml;r m&aring;nga kontaktf&ouml;rfr&aring;gningar idag."
+
+msgid "Spam protection measures have been invoked."
+msgstr "&Aring;tg&auml;rder f&ouml;r spamskydd har vidtagits."
+
+msgid "Friends are advised to please try again in 24 hours."
+msgstr "Dina v&auml;nner kan prova igen om ett dygn."
+
+msgid "Invalid locator"
+msgstr "Invalid locator"
+
+msgid "Unable to resolve your name at the provided location."
+msgstr "Unable to resolve your name at the provided location."
+
+msgid "You have already introduced yourself here."
+msgstr "Du har redan presenterat dig h&auml;r."
+
+#, php-format
+msgid "Apparently you are already friends with %s."
+msgstr "Du och %s &auml;r redan kontakter."
+
+msgid "Invalid profile URL."
+msgstr "Ogiltig profil-URL."
+
+msgid "Disallowed profile URL."
+msgstr "Otill&aring;ten profil-URL."
+
+msgid "Your introduction has been sent."
+msgstr "Kontaktf&ouml;rfr&aring;gan/Presentationen har skickats."
+
+msgid "Please login to confirm introduction."
+msgstr "Logga in f&ouml;r att acceptera f&ouml;rfr&aring;gan."
+
+msgid "Incorrect identity currently logged in. Please login to <strong>this</strong> profile."
+msgstr "Inloggad med fel identitet. Logga in med <strong>den h&auml;r</strong> profilen."
+
+#, php-format
+msgid "Welcome home %s."
+msgstr "V&auml;lkommen hem %s."
+
+#, php-format
+msgid "Please confirm your introduction/connection request to %s."
+msgstr "Bekr&auml;fta att du vill skicka kontaktf&ouml;rfr&aring;gan till %s."
+
+msgid "Confirm"
+msgstr "Bekr&auml;fta"
+
+msgid "[Name Withheld]"
+msgstr "[Namnet visas inte]"
+
+msgid "Introduction received at "
+msgstr "Inkommen kontaktf&ouml;rfr&aring;gan/presentation - "
+
+msgid "Friend/Connection Request"
+msgstr "V&auml;n- eller kontaktf&ouml;rfr&aring;gan"
+
+msgid "Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"
+msgstr "Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"
+
+msgid "Please answer the following:"
+msgstr "Var v&auml;nlig besvara f&ouml;ljande:"
+
+msgid "Does $name know you?"
+msgstr "K&auml;nner $name dig?"
+
+msgid "Yes"
+msgstr "Ja"
+
+msgid "No"
+msgstr "Nej"
+
+msgid "Add a personal note:"
+msgstr "L&auml;gg till ett personligt meddelande:"
+
+msgid "Please enter your 'Identity Address' from one of the following supported social networks:"
+msgstr "Ange din adress, ditt ID, p&aring; ett av f&ouml;ljande sociala n&auml;tverk:"
+
+msgid "Friendica"
+msgstr "Friendica"
+
+msgid "StatusNet/Federated Social Web"
+msgstr "StatusNet/Federated Social Web"
+
+msgid "Private (secure) network"
+msgstr "Privat (s&auml;kert) n&auml;tverk"
+
+msgid "Public (insecure) network"
+msgstr "Offentligt (os&auml;kert) n&auml;tverk"
+
+msgid "Your Identity Address:"
+msgstr "Din adress (ditt ID):"
+
+msgid "Submit Request"
+msgstr "Skicka f&ouml;rfr&aring;gan"
+
+msgid "Cancel"
+msgstr "Avbryt"
+
+#, php-format
+msgid "%d required parameter was not found at the given location"
+msgid_plural "%d required parameters were not found at the given location"
+msgstr[0] "%d required parameter was not found at the given location"
+msgstr[1] "%d required parameters were not found at the given location"
+
+msgid "Global Directory"
+msgstr "Medlemskatalog f&ouml;r flera sajter (global)"
+
+msgid "Site Directory"
+msgstr "Medlemskatalog"
+
+msgid "Age: "
+msgstr "&Aring;lder: "
+
+msgid "Gender: "
+msgstr "K&ouml;n: "
+
+msgid "No entries (some entries may be hidden)."
+msgstr "Inget att visa. (Man kan v&auml;lja att inte synas h&auml;r)"
+
+msgid "Item not found."
+msgstr "Hittar inte."
+
+msgid "Item has been removed."
+msgstr "Har tagits bort."
+
+msgid "Item not found"
+msgstr "Hittades inte"
+
+msgid "Edit post"
+msgstr "&Auml;ndra inl&auml;gg"
+
+msgid "Edit"
+msgstr "&Auml;ndra"
+
+msgid "The profile address specified does not provide adequate information."
+msgstr "Angiven profiladress ger inte tillr&auml;cklig information."
+
+msgid "Limited profile. This person will be unable to receive direct/personal notifications from you."
+msgstr "Begr&auml;nsad profil. Den h&auml;r personen kommer inte att kunna ta emot personliga meddelanden fr&aring;n dig."
+
+msgid "Unable to retrieve contact information."
+msgstr "Det gick inte att komma &aring;t kontaktinformationen."
+
+msgid "following"
+msgstr "f&ouml;ljer"
+
+msgid "This is Friendica version"
+msgstr "Det h&auml;r &auml;r Friendica version"
+
+msgid "running at web location"
+msgstr "som k&ouml;rs p&aring;"
+
+msgid "Shared content within the Friendica network is provided under the <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0 license</a>"
+msgstr "Inneh&aring;ll som publiceras inom Friendican&auml;tverket omfattas av licensen <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0 license</a>"
+
+msgid "Please visit <a href=\"http://project.friendica.com\">Project.Friendica.com</a> to learn more about the Friendica project."
+msgstr "G&aring; till <a href=\"http://project.friendica.com\">Project.Friendica.com</a> om du vill l&auml;sa mer om friendicaprojektet."
+
+msgid "Bug reports and issues: please visit"
+msgstr "Anm&auml;l buggar eller andra problem, g&aring; till"
+
+msgid "Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - dot com"
+msgstr "F&ouml;rslag, ber&ouml;m, donationer, etc. - skicka e-post till \"info at friendica punkt com\" "
+
+msgid "Installed plugins/addons/apps"
+msgstr "Installerade insticksprogram/applikationer"
+
+msgid "No installed plugins/addons/apps"
+msgstr "Inga installerade insticksprogram/applikationer"
+
+msgid "Group created."
+msgstr "Gruppen har skapats."
+
+msgid "Could not create group."
+msgstr "Det gick inte att skapa gruppen."
+
+msgid "Group not found."
+msgstr "Gruppen hittades inte."
+
+msgid "Group name changed."
+msgstr "Gruppens namn har &auml;ndrats."
+
+msgid "Create a group of contacts/friends."
+msgstr "Skapa en grupp med kontakter/v&auml;nner."
+
+msgid "Group Name: "
+msgstr "Gruppens namn: "
+
+msgid "Group removed."
+msgstr "Gruppen har tagits bort."
+
+msgid "Unable to remove group."
+msgstr "Det gick inte att ta bort gruppen."
+
+msgid "Delete"
+msgstr "Ta bort"
+
+msgid "Click on a contact to add or remove."
+msgstr "Klicka p&aring; en kontakt f&ouml;r att l&auml;gga till eller ta bort."
+
+msgid "Group Editor"
+msgstr "&Auml;ndra i grupper"
+
+msgid "Members"
+msgstr "Medlemmar"
+
+msgid "All Contacts"
+msgstr "Alla kontakter"
+
+msgid "Help:"
+msgstr "Hj&auml;lp:"
+
+msgid "Help"
+msgstr "Hj&auml;lp"
+
+#, php-format
+msgid "Welcome to %s"
+msgstr "V&auml;lkommen till %s"
+
+msgid "Could not create/connect to database."
+msgstr "Det gick inte att skapa eller ansluta till databasen."
+
+msgid "Connected to database."
+msgstr "Ansluten till databasen."
+
+msgid "Proceed with Installation"
+msgstr "Forts&auml;tt med installationen"
+
+msgid "Your Friendica site database has been installed."
+msgstr "Databasen f&ouml;r din friendicasajt har installerats."
+
+msgid "IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
+msgstr "IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
+
+msgid "Please see the file \"INSTALL.txt\"."
+msgstr "Se filen \"INSTALL.txt\"."
+
+msgid "Proceed to registration"
+msgstr "G&aring; vidare till registreringen"
+
+msgid "Database import failed."
+msgstr "Det gick inte att importera databasen."
+
+msgid "You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."
+msgstr "Du kanske m&aring;ste importera filen \"database.sql\" manuellt med phpmyadmin eller mysql."
+
+msgid "Welcome to Friendica."
+msgstr "V&auml;lkommen till Friendica."
+
+msgid "Friendica Social Network"
+msgstr "Det sociala n&auml;tverket Friendica"
+
+msgid "Installation"
+msgstr "Installation"
+
+msgid "In order to install Friendica we need to know how to contact your database."
+msgstr "In order to install Friendica we need to know how to contact your database."
+
+msgid "Please contact your hosting provider or site administrator if you have questions about these settings."
+msgstr "Please contact your hosting provider or site administrator if you have questions about these settings."
+
+msgid "The database you specify below must already exist. If it does not, please create it before continuing."
+msgstr "The database you specify below must already exist. If it does not, please create it before continuing."
+
+msgid "Database Server Name"
+msgstr "Database Server Name"
+
+msgid "Database Login Name"
+msgstr "Database Login Name"
+
+msgid "Database Login Password"
+msgstr "Database Login Password"
+
+msgid "Database Name"
+msgstr "Database Name"
+
+msgid "Please select a default timezone for your website"
+msgstr "Please select a default timezone for your website"
+
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Could not find a command line version of PHP in the web server PATH."
+
+msgid "This is required. Please adjust the configuration file .htconfig.php accordingly."
+msgstr "This is required. Please adjust the configuration file .htconfig.php accordingly."
+
+msgid "The command line version of PHP on your system does not have \"register_argc_argv\" enabled."
+msgstr "The command line version of PHP on your system does not have \"register_argc_argv\" enabled."
+
+msgid "This is required for message delivery to work."
+msgstr "Det kr&auml;vs f&ouml;r att meddelanden ska kunna levereras."
+
+msgid "Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"
+msgstr "Fel: funktionen \"openssl_pkey_new\" kan inte skapa krypteringsnycklar"
+
+msgid "If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "L&auml;s mer p&aring; \"http://www.php.net/manual/en/openssl.installation.php\" om du k&ouml;r Windows."
+
+msgid "Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Error: Apache webserver mod-rewrite module is required but not installed."
+
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Error: libCURL PHP module required but not installed."
+
+msgid "Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Error: GD graphics PHP module with JPEG support required but not installed."
+
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Error: openssl PHP module required but not installed."
+
+msgid "Error: mysqli PHP module required but not installed."
+msgstr "Error: mysqli PHP module required but not installed."
+
+msgid "The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."
+msgstr "The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."
+
+msgid "This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."
+msgstr "This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."
+
+msgid "Please check with your site documentation or support people to see if this situation can be corrected."
+msgstr "Please check with your site documentation or support people to see if this situation can be corrected."
+
+msgid "If not, you may be required to perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."
+msgstr "If not, you may be required to perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."
+
+msgid "The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."
+msgstr "The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."
+
+msgid "Errors encountered creating database tables."
+msgstr "Fel vid skapandet av databastabeller."
+
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s : Ogiltig e-postadress."
+
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s : Meddelandet kom inte fram."
+
+msgid "Send invitations"
+msgstr "Skicka inbjudningar"
+
+msgid "Enter email addresses, one per line:"
+msgstr "Ange e-postadresser, en per rad:"
+
+msgid "Your message:"
+msgstr "Meddelande:"
+
+msgid "To accept this invitation, please visit:"
+msgstr "G&aring; hit f&ouml;r att tacka ja till inbjudan:"
+
+msgid "Once you have registered, please connect with me via my profile page at:"
+msgstr "Vi kan bli kontakter via min profil. Bes&ouml;k min profil h&auml;r n&auml;r du har registrerat dig:"
+
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d meddelande har skickats."
+msgstr[1] "%d meddelanden har skickats."
+
+msgid "Unable to locate original post."
+msgstr "Hittar inte det ursprungliga inl&auml;gget."
+
+msgid "Empty post discarded."
+msgstr "Tomt inl&auml;gg. Inte sparat."
+
+msgid "Wall Photos"
+msgstr "Loggbilder"
+
+#, php-format
+msgid "%s commented on your item at %s"
+msgstr "%s har kommenterat ditt inl&auml;gg p&aring; %s"
+
+#, php-format
+msgid "%s posted on your profile wall at %s"
+msgstr "%s har gjort ett inl&auml;gg p&aring; din logg p&aring; %s"
+
+msgid "System error. Post not saved."
+msgstr "N&aring;got gick fel. Inl&auml;gget sparades inte."
+
+msgid "You may visit them online at"
+msgstr "Bes&ouml;k online p&aring;"
+
+msgid "Please contact the sender by replying to this post if you do not wish to receive these messages."
+msgstr "Kontakta avs&auml;ndaren genom att svara p&aring; det h&auml;r meddelandet om du inte vill ha s&aring;dana h&auml;r meddelanden."
+
+#, php-format
+msgid "%s posted an update."
+msgstr "%s har gjort ett inl&auml;gg."
+
+msgid "photo"
+msgstr "bild"
+
+msgid "status"
+msgstr "status"
+
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s gillar %2$s's %3$s"
+
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s ogillar %2$s's %3$s"
+
+msgid "Remote privacy information not available."
+msgstr "Remote privacy information not available."
+
+msgid "Visible to:"
+msgstr "Synlig f&ouml;r:"
+
+msgid "Password reset request issued. Check your email."
+msgstr "Nytt l&ouml;senord har beg&auml;rts. Kolla din mail."
+
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Nytt l&ouml;senord p&aring; %s har beg&auml;rts"
+
+msgid "Request could not be verified. (You may have previously submitted it.) Password reset failed."
+msgstr "Beg&auml;ran kunde inte verifieras. (Du kanske redan skickat den?) Det gick inte att byta l&ouml;senord."
+
+msgid "Your password has been reset as requested."
+msgstr "Nu har du f&aring;tt ett nytt l&ouml;senord."
+
+msgid "Your new password is"
+msgstr "Det nya l&ouml;senordet &auml;r"
+
+msgid "Save or copy your new password - and then"
+msgstr "Spara eller kopiera l&ouml;senordet och"
+
+msgid "click here to login"
+msgstr "klicka h&auml;r f&ouml;r att logga in"
+
+msgid "Your password may be changed from the <em>Settings</em> page after successful login."
+msgstr "N&auml;r du loggat in kan du byta l&ouml;senord p&aring; sidan <em>Inst&auml;llningar</em>."
+
+msgid "Forgot your Password?"
+msgstr "Gl&ouml;mt l&ouml;senordet?"
+
+msgid "Enter your email address and submit to have your password reset. Then check your email for further instructions."
+msgstr "Ange din e-postadress f&ouml;r att f&aring; ett nytt l&ouml;senord. Du kommer att f&aring; ett meddelande med vidare instruktioner via e-post."
+
+msgid "Nickname or Email: "
+msgstr "Anv&auml;ndarnamn eller e-post:"
+
+msgid "Reset"
+msgstr "Skicka"
+
+#, php-format
+msgid "Welcome back %s"
+msgstr "V&auml;lkommen tillbaka %s"
+
+msgid "Manage Identities and/or Pages"
+msgstr "Hantera identiteter eller sidor"
+
+msgid "(Toggle between different identities or community/group pages which share your account details.)"
+msgstr "(V&auml;xla mellan olika identiteter eller gemenskaper/gruppsidor som &auml;r kopplade till ditt konto.)"
+
+msgid "Select an identity to manage: "
+msgstr "V&auml;lj vilken identitet du vill hantera: "
+
+msgid "Profile Match"
+msgstr "Matcha profiler"
+
+msgid "No matches"
+msgstr "Ingen tr&auml;ff"
+
+msgid "No recipient selected."
+msgstr "Ingen mottagare har valts."
+
+msgid "[no subject]"
+msgstr "[ingen rubrik]"
+
+msgid "Unable to locate contact information."
+msgstr "Det gick inte att hitta kontaktuppgifterna."
+
+msgid "Message sent."
+msgstr "Meddelandet har skickats."
+
+msgid "Message could not be sent."
+msgstr "Det gick inte att skicka meddelandet."
+
+msgid "Messages"
+msgstr "Meddelanden"
+
+msgid "Inbox"
+msgstr "Inkorg"
+
+msgid "Outbox"
+msgstr "Utkorg"
+
+msgid "New Message"
+msgstr "Nytt meddelande"
+
+msgid "Message deleted."
+msgstr "Meddelandet togs bort."
+
+msgid "Conversation removed."
+msgstr "Konversationen togs bort."
+
+msgid "Send Private Message"
+msgstr "Skicka personligt meddelande"
+
+msgid "To:"
+msgstr "Till:"
+
+msgid "Subject:"
+msgstr "Rubrik:"
+
+msgid "No messages."
+msgstr "Inga meddelanden."
+
+msgid "Delete conversation"
+msgstr "Ta bort konversation"
+
+msgid "D, d M Y - g:i A"
+msgstr "D, d M Y - g:i A"
+
+msgid "Message not available."
+msgstr "Meddelandet &auml;r inte tillg&auml;ngligt."
+
+msgid "Delete message"
+msgstr "Ta bort meddelande"
+
+msgid "Send Reply"
+msgstr "Skicka svar"
+
+msgid "Invalid request identifier."
+msgstr "Invalid request identifier."
+
+msgid "Discard"
+msgstr "Ta bort"
+
+msgid "Ignore"
+msgstr "Ignorera"
+
+msgid "Pending Friend/Connect Notifications"
+msgstr "V&auml;ntande kontaktf&ouml;rfr&aring;gningar"
+
+msgid "Show Ignored Requests"
+msgstr "Visa f&ouml;rfr&aring;gningar du ignorerat"
+
+msgid "Hide Ignored Requests"
+msgstr "D&ouml;lj f&ouml;rfr&aring;gningar du ignorerat"
+
+msgid "Claims to be known to you: "
+msgstr "H&auml;vdar att du vet vem han/hon &auml;r: "
+
+msgid "yes"
+msgstr "ja"
+
+msgid "no"
+msgstr "nej"
+
+msgid "Approve as: "
+msgstr "Godk&auml;nn och l&auml;gg till som: "
+
+msgid "Friend"
+msgstr "V&auml;n"
+
+msgid "Fan/Admirer"
+msgstr "Fan/Beundrare"
+
+msgid "Notification type: "
+msgstr "Typ av avisering: "
+
+msgid "Friend/Connect Request"
+msgstr "V&auml;n- eller kontaktf&ouml;rfr&aring;gan"
+
+msgid "New Follower"
+msgstr "En som vill f&ouml;lja dig"
+
+msgid "Approve"
+msgstr "Godk&auml;nn"
+
+msgid "No notifications."
+msgstr "Inga aviseringar."
+
+msgid "User registrations waiting for confirm"
+msgstr "Anv&auml;ndare som registrerat sig och inv&auml;ntar godk&auml;nnande"
+
+msgid "Deny"
+msgstr "Avsl&aring;"
+
+msgid "No registrations."
+msgstr "Inga registreringar."
+
+msgid "Post successful."
+msgstr "Inlagt."
+
+msgid "Login failed."
+msgstr "Inloggningen misslyckades."
+
+msgid "Welcome back "
+msgstr "V&auml;lkommen tillbaka "
+
+msgid "Photo Albums"
+msgstr "Fotoalbum"
+
+msgid "Contact Photos"
+msgstr "Dina kontakters bilder"
+
+msgid "Contact information unavailable"
+msgstr "Kommer inte &aring;t kontaktuppgifter."
+
+msgid "Profile Photos"
+msgstr "Profilbilder"
+
+msgid "Album not found."
+msgstr "Albumet finns inte."
+
+msgid "Delete Album"
+msgstr "Ta bort album"
+
+msgid "Delete Photo"
+msgstr "Ta bort bild"
+
+msgid "was tagged in a"
+msgstr "har taggats i"
+
+msgid "by"
+msgstr "av"
+
+msgid "Image exceeds size limit of "
+msgstr "Bilden &ouml;verskrider den till&aring;tna storleken "
+
+msgid "Unable to process image."
+msgstr "Det gick inte att behandla bilden."
+
+msgid "Image upload failed."
+msgstr "Fel vid bilduppladdning."
+
+msgid "No photos selected"
+msgstr "Inga bilder har valts"
+
+msgid "Upload Photos"
+msgstr "Ladda upp bilder"
+
+msgid "New album name: "
+msgstr "Nytt album med namn: "
+
+msgid "or existing album name: "
+msgstr "eller befintligt album med namn: "
+
+msgid "Permissions"
+msgstr "&Aring;tkomst"
+
+msgid "Edit Album"
+msgstr "Redigera album"
+
+msgid "View Photo"
+msgstr "Visa bild"
+
+msgid "Photo not available"
+msgstr "Bilden &auml;r inte tillg&auml;nglig"
+
+msgid "Edit photo"
+msgstr "Hantera bild"
+
+msgid "Private Message"
+msgstr "Personligt meddelande"
+
+msgid "<< Prev"
+msgstr "<< F&ouml;reg"
+
+msgid "View Full Size"
+msgstr "Visa fullstor"
+
+msgid "Next >>"
+msgstr "N&auml;sta >>"
+
+msgid "Tags: "
+msgstr "Taggar: "
+
+msgid "[Remove any tag]"
+msgstr "[Remove any tag]"
+
+msgid "New album name"
+msgstr "Nytt album med namn"
+
+msgid "Caption"
+msgstr "Caption"
+
+msgid "Add a Tag"
+msgstr "L&auml;gg till tagg"
+
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
+msgstr "Exempel: @adam, @Anna_Andersson, @johan@exempel.com, #Stockholm, #camping"
+
+msgid "I like this (toggle)"
+msgstr "Jag gillar det h&auml;r (v&auml;xla)"
+
+msgid "I don't like this (toggle)"
+msgstr "Jag ogillar det h&auml;r (v&auml;xla)"
+
+msgid "This is you"
+msgstr "Det h&auml;r &auml;r du"
+
+msgid "Recent Photos"
+msgstr "Nyligen tillagda bilder"
+
+msgid "Upload New Photos"
+msgstr "Ladda upp bilder"
+
+msgid "View Album"
+msgstr "Titta i album"
+
+msgid "Status"
+msgstr "Status"
+
+msgid "Profile"
+msgstr "Profil"
+
+msgid "Photos"
+msgstr "Bilder"
+
+msgid "Image uploaded but image cropping failed."
+msgstr "Bilden laddades upp men det blev fel n&auml;r den skulle besk&auml;ras."
+
+msgid "Unable to process image"
+msgstr "Det gick inte att behandla bilden"
+
+msgid "Upload File:"
+msgstr "Ladda upp fil:"
+
+msgid "Upload Profile Photo"
+msgstr "Ladda upp profilbild"
+
+msgid "Upload"
+msgstr "Ladda upp"
+
+msgid "or"
+msgstr "eller"
+
+msgid "select a photo from your photo albums"
+msgstr "v&auml;lj en bild fr&aring;n ett album"
+
+msgid "Crop Image"
+msgstr "Besk&auml;r bild"
+
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "V&auml;lj hur bilden ska besk&auml;ras f&ouml;r att bli s&aring; bra som m&ouml;jligt."
+
+msgid "Done Editing"
+msgstr "Spara"
+
+msgid "Image uploaded successfully."
+msgstr "Bilden har laddats upp."
+
+msgid "Profile Name is required."
+msgstr "Profilen m&aring;ste ha ett namn."
+
+msgid "Profile updated."
+msgstr "Profilen har uppdaterats."
+
+msgid "Profile deleted."
+msgstr "Profilen har tagits bort."
+
+msgid "Profile-"
+msgstr "Profil-"
+
+msgid "New profile created."
+msgstr "En ny profil har skapats."
+
+msgid "Profile unavailable to clone."
+msgstr "Det gick inte att klona profilen."
+
+msgid "Hide my contact/friend list from viewers of this profile?"
+msgstr "D&ouml;lj min kontaktlista f&ouml;r personer som ser den h&auml;r profilen?"
+
+msgid "Edit Profile Details"
+msgstr "&Auml;ndra profilen"
+
+msgid "View this profile"
+msgstr "Titta p&aring; profilen"
+
+msgid "Create a new profile using these settings"
+msgstr "Skapa en ny profil med dessa inst&auml;llningar"
+
+msgid "Clone this profile"
+msgstr "Kopiera profil"
+
+msgid "Delete this profile"
+msgstr "Ta bort profil"
+
+msgid "Profile Name:"
+msgstr "Profilens namn:"
+
+msgid "Your Full Name:"
+msgstr "Fullst&auml;ndigt namn:"
+
+msgid "Title/Description:"
+msgstr "Titel/Beskrivning:"
+
+msgid "Your Gender:"
+msgstr "K&ouml;n:"
+
+msgid "Birthday (y/m/d):"
+msgstr "F&ouml;delsedag (y/m/d):"
+
+msgid "Street Address:"
+msgstr "Gatuadress:"
+
+msgid "Locality/City:"
+msgstr "Plats/Stad:"
+
+msgid "Postal/Zip Code:"
+msgstr "Postnummer:"
+
+msgid "Country:"
+msgstr "Land:"
+
+msgid "Region/State:"
+msgstr "Region:"
+
+msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
+msgstr "<span class=\"heart\">&hearts;</span> Civilst&aring;nd:"
+
+msgid "Who: (if applicable)"
+msgstr "Vem: (om till&auml;mpligt)"
+
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Exempel: kalle123, Johanna Johansson, pelle@exempel.com"
+
+msgid "Sexual Preference:"
+msgstr "Sexualitet"
+
+msgid "Homepage URL:"
+msgstr "Hemsida: (URL)"
+
+msgid "Political Views:"
+msgstr "Politisk &aring;sk&aring;dning:"
+
+msgid "Religious Views:"
+msgstr "Religion:"
+
+msgid "Public Keywords:"
+msgstr "Offentliga nyckelord:"
+
+msgid "Private Keywords:"
+msgstr "Privata nyckelord:"
+
+msgid "Example: fishing photography software"
+msgstr "Exempel: fiske fotografering programmering"
+
+msgid "(Used for suggesting potential friends, can be seen by others)"
+msgstr "(Obs, synliga f&ouml;r andra. Anv&auml;nds f&ouml;r att f&ouml;resl&aring; potentiella v&auml;nner.)"
+
+msgid "(Used for searching profiles, never shown to others)"
+msgstr "(Obs, kan ge s&ouml;ktr&auml;ffar vid s&ouml;kning av profiler. Visas annars inte f&ouml;r andra.)"
+
+msgid "Tell us about yourself..."
+msgstr "Beskriv dig sj&auml;lv..."
+
+msgid "Hobbies/Interests"
+msgstr "Hobbys/Intressen"
+
+msgid "Contact information and Social Networks"
+msgstr "Kontaktuppgifter och sociala n&auml;tverk"
+
+msgid "Musical interests"
+msgstr "Musik"
+
+msgid "Books, literature"
+msgstr "B&ouml;cker, litteratur"
+
+msgid "Television"
+msgstr "TV"
+
+msgid "Film/dance/culture/entertainment"
+msgstr "Film/Dans/Kultur/N&ouml;je"
+
+msgid "Love/romance"
+msgstr "K&auml;rlek/Romantik"
+
+msgid "Work/employment"
+msgstr "Arbete"
+
+msgid "School/education"
+msgstr "Skola/Utbildning"
+
+msgid "This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."
+msgstr "Det h&auml;r &auml;r din <strong>offentliga</strong> profil.<br />Den <strong>kan vara synlig f&ouml;r vem som helst</strong> p&aring; internet."
+
+msgid "Profiles"
+msgstr "Profiler"
+
+msgid "Change profile photo"
+msgstr "Byt profilbild"
+
+msgid "Create New Profile"
+msgstr "Skapa ny profil"
+
+msgid "Profile Image"
+msgstr "Profilbild"
+
+msgid "Visible to everybody"
+msgstr "Synlig f&ouml;r alla"
+
+msgid "Edit visibility"
+msgstr "&Auml;nda vilka som ska kunna se"
+
+msgid "Invalid profile identifier."
+msgstr "Ogiltigt profil-ID."
+
+msgid "Profile Visibility Editor"
+msgstr "&Auml;nda vilka som ska kunna se profil"
+
+msgid "Visible To"
+msgstr "Synlig f&ouml;r"
+
+msgid "All Contacts (with secure profile access)"
+msgstr "Alla kontakter (med s&auml;ker tillg&aring;ng till din profil)"
+
+msgid "Invalid OpenID url"
+msgstr "Ogiltig OpenID-URL"
+
+msgid "Please enter the required information."
+msgstr "Fyll i alla obligatoriska f&auml;lt."
+
+msgid "Please use a shorter name."
+msgstr "V&auml;lj ett kortare namn."
+
+msgid "Name too short."
+msgstr "Namnet &auml;r f&ouml;r kort."
+
+msgid "That doesn't appear to be your full (First Last) name."
+msgstr "Du verkar inte ha angett ditt fullst&auml;ndiga namn."
+
+msgid "Your email domain is not among those allowed on this site."
+msgstr "Din e-postdom&auml;n &auml;r inte till&aring;ten p&aring; den h&auml;r webbplatsen."
+
+msgid "Not a valid email address."
+msgstr "Ogiltig e-postadress."
+
+msgid "Cannot use that email."
+msgstr "Otill&aring;ten e-postadress."
+
+msgid "Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."
+msgstr "Ditt anv&auml;ndarnamn f&aring;r bara inneh&aring;lla a-z, 0-9, - och _, och m&aring;ste dessutom b&ouml;rja med en bokstav."
+
+msgid "Nickname is already registered. Please choose another."
+msgstr "Anv&auml;ndarnamnet &auml;r upptaget. V&auml;lj ett annat."
+
+msgid "SERIOUS ERROR: Generation of security keys failed."
+msgstr "SERIOUS ERROR: Generation of security keys failed."
+
+msgid "An error occurred during registration. Please try again."
+msgstr "N&aring;got gick fel vid registreringen. F&ouml;rs&ouml;k igen."
+
+msgid "An error occurred creating your default profile. Please try again."
+msgstr "Det blev fel n&auml;r din standardprofil skulle skapas. Prova igen."
+
+msgid "Registration successful. Please check your email for further instructions."
+msgstr "Registrering klar. Kolla din e-post f&ouml;r vidare information."
+
+msgid "Failed to send email message. Here is the message that failed."
+msgstr "Det gick inte att skicka e-brevet. H&auml;r &auml;r meddelandet som inte kunde skickas."
+
+msgid "Your registration can not be processed."
+msgstr "Det g&aring;r inte att behandla registreringen."
+
+msgid "Your registration is pending approval by the site owner."
+msgstr "Din registrering inv&auml;ntar godk&auml;nnande av webbplatsens &auml;gare."
+
+msgid "You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."
+msgstr "Om du vill kan du fylla i detta formul&auml;r via OpenID genom att ange ditt OpenID och klicka p&aring; Registrera."
+
+msgid "If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."
+msgstr "Om du inte vet vad OpenID &auml;r, eller inte vill anv&auml;nda det, kan du l&auml;mna det f&auml;ltet tomt och fylla i resten."
+
+msgid "Your OpenID (optional): "
+msgstr "OpenID (om du vill): "
+
+msgid "Members of this network prefer to communicate with real people who use their real names."
+msgstr "Medlemmarna i det h&auml;r n&auml;tverket f&ouml;redrar att kommunicera med riktiga m&auml;nniskor som anv&auml;nder sina riktiga namn."
+
+msgid "Include your profile in member directory?"
+msgstr "Ta med profilen i medlemskatalogen?"
+
+msgid "Registration"
+msgstr "Registrering"
+
+msgid "Your Full Name (e.g. Joe Smith): "
+msgstr "Fullst&auml;ndigt namn (t. ex. Karl Karlsson): "
+
+msgid "Your Email Address: "
+msgstr "E-postadress: "
+
+msgid "Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be '<strong>nickname@$sitename</strong>'."
+msgstr "V&auml;lj ett anv&auml;ndarnamn. Det m&aring;ste inledas med en bokstav. Din profiladress p&aring; den h&auml;r webbplatsen blir '<strong>anv&auml;ndarnamn@$sitename</strong>'."
+
+msgid "Choose a nickname: "
+msgstr "V&auml;lj ett anv&auml;ndarnamn: "
+
+msgid "Please login."
+msgstr "Logga in."
+
+msgid "Account approved."
+msgstr "Kontot har godk&auml;nts."
+
+msgid "Remove My Account"
+msgstr "Ta bort mitt konto"
+
+msgid "This will completely remove your account. Once this has been done it is not recoverable."
+msgstr "Detta kommer att ta bort kontot helt och h&aring;llet. Efter att det &auml;r gjort g&aring;r det inte att &aring;terst&auml;lla."
+
+msgid "Please enter your password for verification:"
+msgstr "Ange l&ouml;senordet igen f&ouml;r s&auml;kerhets skull:"
+
+msgid "No results."
+msgstr "Inga resultat."
+
+msgid "Passwords do not match. Password unchanged."
+msgstr "L&ouml;senorden skiljer sig &aring;t. L&ouml;senordet &auml;ndras inte."
+
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "L&ouml;senordet f&aring;r inte vara blankt. L&ouml;senordet &auml;ndras inte."
+
+msgid "Password changed."
+msgstr "L&ouml;senordet har &auml;ndrats."
+
+msgid "Password update failed. Please try again."
+msgstr "Det blev fel n&auml;r l&ouml;senordet skulle &auml;ndras. F&ouml;rs&ouml;k igen."
+
+msgid " Please use a shorter name."
+msgstr " Anv&auml;nd ett kortare namn."
+
+msgid " Name too short."
+msgstr " Namnet &auml;r f&ouml;r kort."
+
+msgid " Not valid email."
+msgstr " Ogiltig e-postadress."
+
+msgid " Cannot change to that email."
+msgstr " &Auml;ndring till den e-postadressen g&ouml;rs inte."
+
+msgid "Settings updated."
+msgstr "Inst&auml;llningarna har uppdaterats."
+
+msgid "Plugin Settings"
+msgstr "Inst&auml;llningar f&ouml;r insticksprogram"
+
+msgid "Account Settings"
+msgstr "Kontoinst&auml;llningar"
+
+msgid "No Plugin settings configured"
+msgstr "Det finns inga inst&auml;llningar f&ouml;r insticksprogram"
+
+msgid "Normal Account"
+msgstr "Vanligt konto"
+
+msgid "This account is a normal personal profile"
+msgstr "Kontot &auml;r ett vanligt personligt konto"
+
+msgid "Soapbox Account"
+msgstr "Konto med env&auml;gskommunikation"
+
+msgid "Automatically approve all connection/friend requests as read-only fans"
+msgstr "Kontaktf&ouml;rfr&aring;gningar godk&auml;nns automatiskt som fans. De kan se vad du skriver men har inte samma r&auml;ttigheter som v&auml;nner."
+
+msgid "Community/Celebrity Account"
+msgstr "Gemenskap eller k&auml;ndiskonto."
+
+msgid "Automatically approve all connection/friend requests as read-write fans"
+msgstr "Kontaktf&ouml;rfr&aring;gningar godk&auml;nns automatiskt som fans med fullst&auml;ndig tv&aring;v&auml;gskommunikation."
+
+msgid "Automatic Friend Account"
+msgstr "Konto med automatiskt godk&auml;nnande av v&auml;nner."
+
+msgid "Automatically approve all connection/friend requests as friends"
+msgstr "Kontaktf&ouml;rfr&aring;gningar godk&auml;nns automatiskt som v&auml;nner."
+
+msgid "OpenID: "
+msgstr "OpenID: "
+
+msgid "&nbsp;(Optional) Allow this OpenID to login to this account."
+msgstr "&nbsp;(Valfritt) Till&aring;t inloggning med detta OpenID p&aring; det h&auml;r kontot."
+
+msgid "Publish your default profile in site directory?"
+msgstr "Vill du att din standardprofil ska synas i den h&auml;r sajtens medlemskatalog?"
+
+msgid "Publish your default profile in global social directory?"
+msgstr "Vill du att din standardprofil ska synas i den globala medlemskatalogen?"
+
+msgid "Profile is <strong>not published</strong>."
+msgstr "Profilen &auml;r <strong>inte publicerad</strong>."
+
+msgid "Your Identity Address is"
+msgstr "Din adress, ditt ID, &auml;r"
+
+msgid "Export Personal Data"
+msgstr "Exportera personlig information"
+
+msgid "Basic Settings"
+msgstr "Grundl&auml;ggande inst&auml;llningar"
+
+msgid "Full Name:"
+msgstr "Fullst&auml;ndigt namn:"
+
+msgid "Email Address:"
+msgstr "E-postadress:"
+
+msgid "Your Timezone:"
+msgstr "Tidszon:"
+
+msgid "Default Post Location:"
+msgstr "Default Post Location:"
+
+msgid "Use Browser Location:"
+msgstr "Anv&auml;nd webbl&auml;sarens positionering:"
+
+msgid "Display Theme:"
+msgstr "Tema/utseende:"
+
+msgid "Security and Privacy Settings"
+msgstr "Inst&auml;llningar f&ouml;r s&auml;kerhet och sekretess"
+
+msgid "Maximum Friend Requests/Day:"
+msgstr "Maximalt antal kontaktf&ouml;rfr&aring;gningar per dygn:"
+
+msgid "(to prevent spam abuse)"
+msgstr "(f&ouml;r att motverka spam)"
+
+msgid "Allow friends to post to your profile page:"
+msgstr "L&aring;t kontakter g&ouml;ra inl&auml;gg p&aring; din profilsida:"
+
+msgid "Automatically expire (delete) posts older than"
+msgstr "Ta automatiskt bort inl&auml;gg som &auml;r &auml;ldre &auml;n"
+
+msgid "days"
+msgstr "dagar"
+
+msgid "Notification Settings"
+msgstr "Aviseringsinst&auml;llningar"
+
+msgid "Send a notification email when:"
+msgstr "Skicka ett aviseringsmail n&auml;r:"
+
+msgid "You receive an introduction"
+msgstr "En kontaktf&ouml;rfr&aring;gan anl&auml;nder"
+
+msgid "Your introductions are confirmed"
+msgstr "Dina f&ouml;rfr&aring;gningar godk&auml;nns"
+
+msgid "Someone writes on your profile wall"
+msgstr "N&aring;gon g&ouml;r inl&auml;gg p&aring; din profilsida"
+
+msgid "Someone writes a followup comment"
+msgstr "N&aring;gon g&ouml;r ett inl&auml;gg i samma tr&aring;d som du"
+
+msgid "You receive a private message"
+msgstr "Du f&aring;r personliga meddelanden"
+
+msgid "Password Settings"
+msgstr "L&ouml;senordsinst&auml;llningar"
+
+msgid "Leave password fields blank unless changing"
+msgstr "L&auml;mna f&auml;ltet tomt om du inte vill byta l&ouml;senord"
+
+msgid "New Password:"
+msgstr "Nytt l&ouml;senord"
+
+msgid "Confirm:"
+msgstr "Bekr&auml;fta (repetera):"
+
+msgid "Advanced Page Settings"
+msgstr "Avancerat"
+
+msgid "Default Post Permissions"
+msgstr "Standard&aring;tkomst f&ouml;r inl&auml;gg"
+
+msgid "(click to open/close)"
+msgstr "(klicka f&ouml;r att &ouml;ppna/st&auml;nga)"
+
+msgid "Tag removed"
+msgstr "Taggen har tagits bort"
+
+msgid "Remove Item Tag"
+msgstr "Ta bort tagg"
+
+msgid "Select a tag to remove: "
+msgstr "V&auml;lj vilken tagg som ska tas bort: "
+
+msgid "Remove"
+msgstr "Ta bort"
+
+msgid "No contacts."
+msgstr "Inga kontakter."
+
+msgid "Visible To:"
+msgstr "Synlig f&ouml;r:"
+
+msgid "Groups"
+msgstr "Grupper"
+
+msgid "Except For:"
+msgstr "Utom f&ouml;r:"
+
+msgid "Logged out."
+msgstr "Utloggad."
+
+msgid "Unknown | Not categorised"
+msgstr "Ok&auml;nd | Inte kategoriserad"
+
+msgid "Block immediately"
+msgstr "Sp&auml;rra omedelbart"
+
+msgid "Shady, spammer, self-marketer"
+msgstr "Skum, spammare, reklamspridare"
+
+msgid "Known to me, but no opinion"
+msgstr "Jag vet vem det &auml;r, men har ingen &aring;sikt"
+
+msgid "OK, probably harmless"
+msgstr "OK, antagligen harml&ouml;s"
+
+msgid "Reputable, has my trust"
+msgstr "P&aring;litlig, jag litar p&aring; personen"
+
+msgid "Frequently"
+msgstr "Ofta"
+
+msgid "Hourly"
+msgstr "En g&aring;ng i timmen"
+
+msgid "Twice daily"
+msgstr "Tv&aring; g&aring;nger om dagen"
+
+msgid "Daily"
+msgstr "Dagligen"
+
+msgid "Weekly"
+msgstr "Veckovis"
+
+msgid "Monthly"
+msgstr "M&aring;nadsvis"
+
+#, php-format
+msgid "View %s's profile"
+msgstr "G&aring; till profilen som tillh&ouml;r %s "
+
+msgid "View in context"
+msgstr "Visa i sitt sammanhang"
+
+msgid "See more posts like this"
+msgstr "Leta inl&auml;gg som liknar det h&auml;r"
+
+#, php-format
+msgid "See all %d comments"
+msgstr "Visa alla %d kommentarer"
+
+msgid "to"
+msgstr "till"
+
+msgid "Wall-to-Wall"
+msgstr "Profil-till-profil"
+
+msgid "via Wall-To-Wall:"
+msgstr "via profil-till-profil:"
+
+#, php-format
+msgid "%s likes this."
+msgstr "%s gillar det h&auml;r."
+
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s ogillar det h&auml;r."
+
+#, php-format
+msgid "<span  %1$s>%2$d people</span> like this."
+msgstr "<span  %1$s>%2$d personer</span> gillar det h&auml;r."
+
+#, php-format
+msgid "<span  %1$s>%2$d people</span> don't like this."
+msgstr "<span  %1$s>%2$d personer</span> ogillar det h&auml;r."
+
+msgid "and"
+msgstr "och"
+
+#, php-format
+msgid ", and %d other people"
+msgstr ", och ytterligare %d personer"
+
+#, php-format
+msgid "%s like this."
+msgstr "%s gillar det h&auml;r."
+
+#, php-format
+msgid "%s don't like this."
+msgstr "%s ogillar det h&auml;r."
+
+msgid "Miscellaneous"
+msgstr "Blandat"
+
+msgid "less than a second ago"
+msgstr "f&ouml;r mindre &auml;n en sekund sedan"
+
+msgid "year"
+msgstr "&aring;r"
+
+msgid "years"
+msgstr "&aring;r"
+
+msgid "month"
+msgstr "m&aring;nad"
+
+msgid "months"
+msgstr "m&aring;nader"
+
+msgid "week"
+msgstr "vecka"
+
+msgid "weeks"
+msgstr "veckor"
+
+msgid "day"
+msgstr "dag"
+
+msgid "hour"
+msgstr "timme"
+
+msgid "hours"
+msgstr "timmar"
+
+msgid "minute"
+msgstr "minut"
+
+msgid "minutes"
+msgstr "minuter"
+
+msgid "second"
+msgstr "sekund"
+
+msgid "seconds"
+msgstr "sekunder"
+
+msgid " ago"
+msgstr " sedan"
+
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "Cannot locate DNS info for database server '%s'"
+
+msgid "Create a new group"
+msgstr "Skapa ny grupp"
+
+msgid "Everybody"
+msgstr "Alla"
+
+msgid "Birthday:"
+msgstr "F&ouml;delsedatum:"
+
+msgid "Home"
+msgstr "Hem"
+
+msgid "Apps"
+msgstr "Apps"
+
+msgid "Directory"
+msgstr "Medlemskatalog"
+
+msgid "Network"
+msgstr "N&auml;tverk"
+
+msgid "Manage"
+msgstr "Hantera"
+
+msgid "Settings"
+msgstr "Inst&auml;llningar"
+
+msgid "Embedding disabled"
+msgstr "Funktionen b&auml;dda in &auml;r avst&auml;ngd"
+
+msgid "j F, Y"
+msgstr "j F, Y"
+
+msgid "j F"
+msgstr "j F"
+
+msgid "Age:"
+msgstr "&Aring;lder:"
+
+msgid "<span class=\"heart\">&hearts;</span> Status:"
+msgstr "<span class=\"heart\">&hearts;</span> Civilst&aring;nd:"
+
+msgid "Religion:"
+msgstr "Religion:"
+
+msgid "About:"
+msgstr "Om:"
+
+msgid "Hobbies/Interests:"
+msgstr "Hobbys/Intressen:"
+
+msgid "Contact information and Social Networks:"
+msgstr "Kontaktuppgifter och sociala n&auml;tverk:"
+
+msgid "Musical interests:"
+msgstr "Musik:"
+
+msgid "Books, literature:"
+msgstr "B&ouml;cker/Litteratur:"
+
+msgid "Television:"
+msgstr "TV:"
+
+msgid "Film/dance/culture/entertainment:"
+msgstr "Film/Dans/Kultur/Underh&aring;llning:"
+
+msgid "Love/Romance:"
+msgstr "K&auml;rlek/Romantik:"
+
+msgid "Work/employment:"
+msgstr "Arbete:"
+
+msgid "School/education:"
+msgstr "Skola/Utbildning:"
+
+msgid "Male"
+msgstr "Man"
+
+msgid "Female"
+msgstr "Kvinna"
+
+msgid "Currently Male"
+msgstr "F&ouml;r n&auml;rvarande man"
+
+msgid "Currently Female"
+msgstr "F&ouml;r n&auml;rvarande kvinna"
+
+msgid "Mostly Male"
+msgstr "Mestadels man"
+
+msgid "Mostly Female"
+msgstr "Mestadels kvinna"
+
+msgid "Transgender"
+msgstr "Transgender"
+
+msgid "Intersex"
+msgstr "Intersex"
+
+msgid "Transsexual"
+msgstr "Transsexuell"
+
+msgid "Hermaphrodite"
+msgstr "Hermafrodit"
+
+msgid "Neuter"
+msgstr "K&ouml;nsl&ouml;s"
+
+msgid "Non-specific"
+msgstr "Oklart"
+
+msgid "Other"
+msgstr "Annat"
+
+msgid "Undecided"
+msgstr "Obest&auml;mt"
+
+msgid "Males"
+msgstr "M&auml;n"
+
+msgid "Females"
+msgstr "Kvinnor"
+
+msgid "Gay"
+msgstr "B&ouml;g"
+
+msgid "Lesbian"
+msgstr "Lesbisk"
+
+msgid "No Preference"
+msgstr "No Preference"
+
+msgid "Bisexual"
+msgstr "Bisexuell"
+
+msgid "Autosexual"
+msgstr "Autosexual"
+
+msgid "Abstinent"
+msgstr "Abstinent"
+
+msgid "Virgin"
+msgstr "Oskuld"
+
+msgid "Deviant"
+msgstr "Avvikande"
+
+msgid "Fetish"
+msgstr "Fetisch"
+
+msgid "Oodles"
+msgstr "Massor"
+
+msgid "Nonsexual"
+msgstr "Asexuell"
+
+msgid "Single"
+msgstr "Singel"
+
+msgid "Lonely"
+msgstr "Ensam"
+
+msgid "Available"
+msgstr "Tillg&auml;nglig"
+
+msgid "Unavailable"
+msgstr "Upptagen"
+
+msgid "Dating"
+msgstr "Dejtar"
+
+msgid "Unfaithful"
+msgstr "Otrogen"
+
+msgid "Sex Addict"
+msgstr "Sexmissbrukare"
+
+msgid "Friends"
+msgstr "V&auml;nner"
+
+msgid "Friends/Benefits"
+msgstr "Friends/Benefits"
+
+msgid "Casual"
+msgstr "Casual"
+
+msgid "Engaged"
+msgstr "F&ouml;rlovad"
+
+msgid "Married"
+msgstr "Gift"
+
+msgid "Partners"
+msgstr "I partnerskap"
+
+msgid "Cohabiting"
+msgstr "Cohabiting"
+
+msgid "Happy"
+msgstr "N&ouml;jd"
+
+msgid "Not Looking"
+msgstr "Letar inte"
+
+msgid "Swinger"
+msgstr "Swinger"
+
+msgid "Betrayed"
+msgstr "Bedragen"
+
+msgid "Separated"
+msgstr "Separerat"
+
+msgid "Unstable"
+msgstr "Instabilt"
+
+msgid "Divorced"
+msgstr "Skiljd"
+
+msgid "Widowed"
+msgstr "&Auml;nka/&auml;nkling"
+
+msgid "Uncertain"
+msgstr "Oklart"
+
+msgid "Complicated"
+msgstr "Komplicerat"
+
+msgid "Don't care"
+msgstr "Bryr mig inte"
+
+msgid "Ask me"
+msgstr "Fr&aring;ga mig"
+
+msgid "Facebook disabled"
+msgstr "Facebook inaktiverat"
+
+msgid "Facebook API key is missing."
+msgstr "Facebook API key is missing."
+
+msgid "Facebook Connect"
+msgstr "Facebook Connect"
+
+msgid "Install Facebook post connector"
+msgstr "Install Facebook post connector"
+
+msgid "Remove Facebook post connector"
+msgstr "Remove Facebook post connector"
+
+msgid "Post to Facebook by default"
+msgstr "L&auml;gg alltid in inl&auml;ggen p&aring; Facebook"
+
+msgid "Facebook"
+msgstr "Facebook"
+
+msgid "Facebook Connector Settings"
+msgstr "Facebook Connector Settings"
+
+msgid "Post to Facebook"
+msgstr "L&auml;gg in p&aring; Facebook"
+
+msgid "Image: "
+msgstr "Bild: "
+
+msgid "Select files to upload: "
+msgstr "V&auml;lj filer att ladda upp: "
+
+msgid "Use the following controls only if the Java uploader [above] fails to launch."
+msgstr "Anv&auml;nd f&ouml;ljande bara om javauppladdaren ovanf&ouml;r inte startar."
+
+msgid "Upload a file"
+msgstr "Ladda upp en fil"
+
+msgid "Drop files here to upload"
+msgstr "Dra filer som ska laddas upp hit"
+
+msgid "Failed"
+msgstr "Misslyckades"
+
+msgid "No files were uploaded."
+msgstr "Inga filer laddades upp."
+
+msgid "Uploaded file is empty"
+msgstr "Den uppladdade filen &auml;r tom"
+
+msgid "Uploaded file is too large"
+msgstr "Den uppladdade filen &auml;r f&ouml;r stor"
+
+msgid "File has an invalid extension, it should be one of "
+msgstr "Otill&aring;ten filnamns&auml;ndelse, det ska vara "
+
+msgid "Upload was cancelled, or server error encountered"
+msgstr "Serverfel eller avbruten uppladdning"
+
+msgid "Randplace Settings"
+msgstr "Randplace Settings"
+
+msgid "Enable Randplace Plugin"
+msgstr "Enable Randplace Plugin"
+
+msgid "Post to StatusNet"
+msgstr "L&auml;gg in p&aring; StatusNet"
+
+msgid "StatusNet Posting Settings"
+msgstr "Inst&auml;llningar f&ouml;r inl&auml;gg p&aring; StatusNet"
+
+msgid "No consumer key pair for StatusNet found. Register your Friendica Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendica installation at your favorited StatusNet installation."
+msgstr "No consumer key pair for StatusNet found. Register your Friendica Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendica installation at your favorited StatusNet installation."
+
+msgid "OAuth Consumer Key"
+msgstr "OAuth Consumer Key"
+
+msgid "OAuth Consumer Secret"
+msgstr "OAuth Consumer Secret"
+
+msgid "Base API Path (remember the trailing /)"
+msgstr "Base API Path (remember the trailing /)"
+
+msgid "To connect to your StatusNet account click the button below to get a security code from StatusNet which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to StatusNet."
+msgstr "To connect to your StatusNet account click the button below to get a security code from StatusNet which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to StatusNet."
+
+msgid "Log in with StatusNet"
+msgstr "Logga in med StatusNet"
+
+msgid "Copy the security code from StatusNet here"
+msgstr "Ange s&auml;kerhetskoden fr&aring;n StatusNet h&auml;r"
+
+msgid "Currently connected to: "
+msgstr "Ansluten till: "
+
+msgid "If enabled all your <strong>public</strong> postings will be posted to the associated StatusNet account as well."
+msgstr "If enabled all your <strong>public</strong> postings will be posted to the associated StatusNet account as well."
+
+msgid "Send public postings to StatusNet"
+msgstr "Send public postings to StatusNet"
+
+msgid "Clear OAuth configuration"
+msgstr "Clear OAuth configuration"
+
+msgid "Three Dimensional Tic-Tac-Toe"
+msgstr "Tredimensionellt luffarschack"
+
+msgid "3D Tic-Tac-Toe"
+msgstr "3D-luffarschack"
+
+msgid "New game"
+msgstr "Ny spelomg&aring;ng"
+
+msgid "New game with handicap"
+msgstr "Ny spelomg&aring;ng med handikapp"
+
+msgid "Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. "
+msgstr "Det tredimensionella luffarschacket &auml;r precis som vanligt luffarschack f&ouml;rutom att det spelas i flera niv&aring;er samtidigt. "
+
+msgid "In this case there are three levels. You win by getting three in a row on any level, as well as up, down, and diagonally across the different levels."
+msgstr "H&auml;r &auml;r det tre niv&aring;er. Man vinner om man f&aring;r tre i rad p&aring; vilken niv&aring; som helst, eller upp&aring;t, ned&aring;t eller diagonalt p&aring; flera niv&aring;er."
+
+msgid "The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage."
+msgstr "Om man spelar med handikapp s&aring; st&auml;ngs mittenpositionen p&aring; mittenniv&aring;n av eftersom spelare som v&auml;ljer den positionen ofta f&aring;r &ouml;vertaget."
+
+msgid "You go first..."
+msgstr "Du b&ouml;rjar..."
+
+msgid "I'm going first this time..."
+msgstr "Jag b&ouml;rjar den h&auml;r g&aring;ngen..."
+
+msgid "You won!"
+msgstr "Du vann!"
+
+msgid "\"Cat\" game!"
+msgstr "\"Cat\" game!"
+
+msgid "I won!"
+msgstr "Jag vann!"
+
+msgid "Post to Twitter"
+msgstr "L&auml;gg in p&aring; Twitter"
+
+msgid "Twitter Posting Settings"
+msgstr "Inst&auml;llningar f&ouml;r inl&auml;gg p&aring; Twitter"
+
+msgid "No consumer key pair for Twitter found. Please contact your site administrator."
+msgstr "No consumer key pair for Twitter found. Please contact your site administrator."
+
+msgid "At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."
+msgstr "At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."
+
+msgid "Copy the PIN from Twitter here"
+msgstr "Ange PIN-koden fr&aring;n Twitter h&auml;r"
+
+msgid "If enabled all your <strong>public</strong> postings will be posted to the associated Twitter account as well."
+msgstr "If enabled all your <strong>public</strong> postings will be posted to the associated Twitter account as well."
+
+msgid "Send public postings to Twitter"
+msgstr "Send public postings to Twitter"
+
+msgid "Africa/Abidjan"
+msgstr "Afrika/Abidjan"
+
+msgid "Africa/Accra"
+msgstr "Afrika/Accra"
+
+msgid "Africa/Addis_Ababa"
+msgstr "Afrika/Addis_Ababa"
+
+msgid "Africa/Algiers"
+msgstr "Afrika/Algiers"
+
+msgid "Africa/Asmara"
+msgstr "Afrika/Asmara"
+
+msgid "Africa/Asmera"
+msgstr "Afrika/Asmera"
+
+msgid "Africa/Bamako"
+msgstr "Afrika/Bamako"
+
+msgid "Africa/Bangui"
+msgstr "Afrika/Bangui"
+
+msgid "Africa/Banjul"
+msgstr "Afrika/Banjul"
+
+msgid "Africa/Bissau"
+msgstr "Afrika/Bissau"
+
+msgid "Africa/Blantyre"
+msgstr "Afrika/Blantyre"
+
+msgid "Africa/Brazzaville"
+msgstr "Afrika/Brazzaville"
+
+msgid "Africa/Bujumbura"
+msgstr "Afrika/Bujumbura"
+
+msgid "Africa/Cairo"
+msgstr "Afrika/Cairo"
+
+msgid "Africa/Casablanca"
+msgstr "Afrika/Casablanca"
+
+msgid "Africa/Ceuta"
+msgstr "Afrika/Ceuta"
+
+msgid "Africa/Conakry"
+msgstr "Afrika/Conakry"
+
+msgid "Africa/Dakar"
+msgstr "Afrika/Dakar"
+
+msgid "Africa/Dar_es_Salaam"
+msgstr "Afrika/Dar_es_Salaam"
+
+msgid "Africa/Djibouti"
+msgstr "Afrika/Djibouti"
+
+msgid "Africa/Douala"
+msgstr "Afrika/Douala"
+
+msgid "Africa/El_Aaiun"
+msgstr "Afrika/El_Aaiun"
+
+msgid "Africa/Freetown"
+msgstr "Afrika/Freetown"
+
+msgid "Africa/Gaborone"
+msgstr "Afrika/Gaborone"
+
+msgid "Africa/Harare"
+msgstr "Afrika/Harare"
+
+msgid "Africa/Johannesburg"
+msgstr "Afrika/Johannesburg"
+
+msgid "Africa/Kampala"
+msgstr "Afrika/Kampala"
+
+msgid "Africa/Khartoum"
+msgstr "Afrika/Khartoum"
+
+msgid "Africa/Kigali"
+msgstr "Afrika/Kigali"
+
+msgid "Africa/Kinshasa"
+msgstr "Afrika/Kinshasa"
+
+msgid "Africa/Lagos"
+msgstr "Afrika/Lagos"
+
+msgid "Africa/Libreville"
+msgstr "Afrika/Libreville"
+
+msgid "Africa/Lome"
+msgstr "Afrika/Lome"
+
+msgid "Africa/Luanda"
+msgstr "Afrika/Luanda"
+
+msgid "Africa/Lubumbashi"
+msgstr "Afrika/Lubumbashi"
+
+msgid "Africa/Lusaka"
+msgstr "Afrika/Lusaka"
+
+msgid "Africa/Malabo"
+msgstr "Afrika/Malabo"
+
+msgid "Africa/Maputo"
+msgstr "Afrika/Maputo"
+
+msgid "Africa/Maseru"
+msgstr "Afrika/Maseru"
+
+msgid "Africa/Mbabane"
+msgstr "Afrika/Mbabane"
+
+msgid "Africa/Mogadishu"
+msgstr "Afrika/Mogadishu"
+
+msgid "Africa/Monrovia"
+msgstr "Afrika/Monrovia"
+
+msgid "Africa/Nairobi"
+msgstr "Afrika/Nairobi"
+
+msgid "Africa/Ndjamena"
+msgstr "Afrika/Ndjamena"
+
+msgid "Africa/Niamey"
+msgstr "Afrika/Niamey"
+
+msgid "Africa/Nouakchott"
+msgstr "Afrika/Nouakchott"
+
+msgid "Africa/Ouagadougou"
+msgstr "Afrika/Ouagadougou"
+
+msgid "Africa/Porto-Novo"
+msgstr "Afrika/Porto-Novo"
+
+msgid "Africa/Sao_Tome"
+msgstr "Afrika/Sao_Tome"
+
+msgid "Africa/Timbuktu"
+msgstr "Afrika/Timbuktu"
+
+msgid "Africa/Tripoli"
+msgstr "Afrika/Tripoli"
+
+msgid "Africa/Tunis"
+msgstr "Afrika/Tunis"
+
+msgid "Africa/Windhoek"
+msgstr "Afrika/Windhoek"
+
+msgid "America/Adak"
+msgstr "Amerika/Adak"
+
+msgid "America/Anchorage"
+msgstr "Amerika/Anchorage"
+
+msgid "America/Anguilla"
+msgstr "Amerika/Anguilla"
+
+msgid "America/Antigua"
+msgstr "Amerika/Antigua"
+
+msgid "America/Araguaina"
+msgstr "Amerika/Araguaina"
+
+msgid "America/Argentina/Buenos_Aires"
+msgstr "Amerika/Argentina/Buenos_Aires"
+
+msgid "America/Argentina/Catamarca"
+msgstr "Amerika/Argentina/Catamarca"
+
+msgid "America/Argentina/ComodRivadavia"
+msgstr "Amerika/Argentina/ComodRivadavia"
+
+msgid "America/Argentina/Cordoba"
+msgstr "Amerika/Argentina/Cordoba"
+
+msgid "America/Argentina/Jujuy"
+msgstr "Amerika/Argentina/Jujuy"
+
+msgid "America/Argentina/La_Rioja"
+msgstr "Amerika/Argentina/La_Rioja"
+
+msgid "America/Argentina/Mendoza"
+msgstr "Amerika/Argentina/Mendoza"
+
+msgid "America/Argentina/Rio_Gallegos"
+msgstr "Amerika/Argentina/Rio_Gallegos"
+
+msgid "America/Argentina/Salta"
+msgstr "Amerika/Argentina/Salta"
+
+msgid "America/Argentina/San_Juan"
+msgstr "Amerika/Argentina/San_Juan"
+
+msgid "America/Argentina/San_Luis"
+msgstr "Amerika/Argentina/San_Luis"
+
+msgid "America/Argentina/Tucuman"
+msgstr "Amerika/Argentina/Tucuman"
+
+msgid "America/Argentina/Ushuaia"
+msgstr "Amerika/Argentina/Ushuaia"
+
+msgid "America/Aruba"
+msgstr "Amerika/Aruba"
+
+msgid "America/Asuncion"
+msgstr "Amerika/Asuncion"
+
+msgid "America/Atikokan"
+msgstr "Amerika/Atikokan"
+
+msgid "America/Atka"
+msgstr "Amerika/Atka"
+
+msgid "America/Bahia"
+msgstr "Amerika/Bahia"
+
+msgid "America/Barbados"
+msgstr "Amerika/Barbados"
+
+msgid "America/Belem"
+msgstr "Amerika/Belem"
+
+msgid "America/Belize"
+msgstr "Amerika/Belize"
+
+msgid "America/Blanc-Sablon"
+msgstr "Amerika/Blanc-Sablon"
+
+msgid "America/Boa_Vista"
+msgstr "Amerika/Boa_Vista"
+
+msgid "America/Bogota"
+msgstr "Amerika/Bogota"
+
+msgid "America/Boise"
+msgstr "Amerika/Boise"
+
+msgid "America/Buenos_Aires"
+msgstr "Amerika/Buenos_Aires"
+
+msgid "America/Cambridge_Bay"
+msgstr "Amerika/Cambridge_Bay"
+
+msgid "America/Campo_Grande"
+msgstr "Amerika/Campo_Grande"
+
+msgid "America/Cancun"
+msgstr "Amerika/Cancun"
+
+msgid "America/Caracas"
+msgstr "Amerika/Caracas"
+
+msgid "America/Catamarca"
+msgstr "Amerika/Catamarca"
+
+msgid "America/Cayenne"
+msgstr "Amerika/Cayenne"
+
+msgid "America/Cayman"
+msgstr "Amerika/Cayman"
+
+msgid "America/Chicago"
+msgstr "Amerika/Chicago"
+
+msgid "America/Chihuahua"
+msgstr "Amerika/Chihuahua"
+
+msgid "America/Coral_Harbour"
+msgstr "Amerika/Coral_Harbour"
+
+msgid "America/Cordoba"
+msgstr "Amerika/Cordoba"
+
+msgid "America/Costa_Rica"
+msgstr "Amerika/Costa_Rica"
+
+msgid "America/Cuiaba"
+msgstr "Amerika/Cuiaba"
+
+msgid "America/Curacao"
+msgstr "Amerika/Curacao"
+
+msgid "America/Danmarkshavn"
+msgstr "Amerika/Danmarkshavn"
+
+msgid "America/Dawson"
+msgstr "Amerika/Dawson"
+
+msgid "America/Dawson_Creek"
+msgstr "Amerika/Dawson_Creek"
+
+msgid "America/Denver"
+msgstr "Amerika/Denver"
+
+msgid "America/Detroit"
+msgstr "Amerika/Detroit"
+
+msgid "America/Dominica"
+msgstr "Amerika/Dominica"
+
+msgid "America/Edmonton"
+msgstr "Amerika/Edmonton"
+
+msgid "America/Eirunepe"
+msgstr "Amerika/Eirunepe"
+
+msgid "America/El_Salvador"
+msgstr "Amerika/El_Salvador"
+
+msgid "America/Ensenada"
+msgstr "Amerika/Ensenada"
+
+msgid "America/Fort_Wayne"
+msgstr "Amerika/Fort_Wayne"
+
+msgid "America/Fortaleza"
+msgstr "Amerika/Fortaleza"
+
+msgid "America/Glace_Bay"
+msgstr "Amerika/Glace_Bay"
+
+msgid "America/Godthab"
+msgstr "Amerika/Godthab"
+
+msgid "America/Goose_Bay"
+msgstr "Amerika/Goose_Bay"
+
+msgid "America/Grand_Turk"
+msgstr "Amerika/Grand_Turk"
+
+msgid "America/Grenada"
+msgstr "Amerika/Grenada"
+
+msgid "America/Guadeloupe"
+msgstr "Amerika/Guadeloupe"
+
+msgid "America/Guatemala"
+msgstr "Amerika/Guatemala"
+
+msgid "America/Guayaquil"
+msgstr "Amerika/Guayaquil"
+
+msgid "America/Guyana"
+msgstr "Amerika/Guyana"
+
+msgid "America/Halifax"
+msgstr "Amerika/Halifax"
+
+msgid "America/Havana"
+msgstr "Amerika/Havana"
+
+msgid "America/Hermosillo"
+msgstr "Amerika/Hermosillo"
+
+msgid "America/Indiana/Indianapolis"
+msgstr "Amerika/Indiana/Indianapolis"
+
+msgid "America/Indiana/Knox"
+msgstr "Amerika/Indiana/Knox"
+
+msgid "America/Indiana/Marengo"
+msgstr "Amerika/Indiana/Marengo"
+
+msgid "America/Indiana/Petersburg"
+msgstr "Amerika/Indiana/Petersburg"
+
+msgid "America/Indiana/Tell_City"
+msgstr "Amerika/Indiana/Tell_City"
+
+msgid "America/Indiana/Vevay"
+msgstr "Amerika/Indiana/Vevay"
+
+msgid "America/Indiana/Vincennes"
+msgstr "Amerika/Indiana/Vincennes"
+
+msgid "America/Indiana/Winamac"
+msgstr "Amerika/Indiana/Winamac"
+
+msgid "America/Indianapolis"
+msgstr "Amerika/Indianapolis"
+
+msgid "America/Inuvik"
+msgstr "Amerika/Inuvik"
+
+msgid "America/Iqaluit"
+msgstr "Amerika/Iqaluit"
+
+msgid "America/Jamaica"
+msgstr "Amerika/Jamaica"
+
+msgid "America/Jujuy"
+msgstr "Amerika/Jujuy"
+
+msgid "America/Juneau"
+msgstr "Amerika/Juneau"
+
+msgid "America/Kentucky/Louisville"
+msgstr "Amerika/Kentucky/Louisville"
+
+msgid "America/Kentucky/Monticello"
+msgstr "Amerika/Kentucky/Monticello"
+
+msgid "America/Knox_IN"
+msgstr "Amerika/Knox_IN"
+
+msgid "America/La_Paz"
+msgstr "Amerika/La_Paz"
+
+msgid "America/Lima"
+msgstr "Amerika/Lima"
+
+msgid "America/Los_Angeles"
+msgstr "Amerika/Los_Angeles"
+
+msgid "America/Louisville"
+msgstr "Amerika/Louisville"
+
+msgid "America/Maceio"
+msgstr "Amerika/Maceio"
+
+msgid "America/Managua"
+msgstr "Amerika/Managua"
+
+msgid "America/Manaus"
+msgstr "Amerika/Manaus"
+
+msgid "America/Marigot"
+msgstr "Amerika/Marigot"
+
+msgid "America/Martinique"
+msgstr "Amerika/Martinique"
+
+msgid "America/Matamoros"
+msgstr "Amerika/Matamoros"
+
+msgid "America/Mazatlan"
+msgstr "Amerika/Mazatlan"
+
+msgid "America/Mendoza"
+msgstr "Amerika/Mendoza"
+
+msgid "America/Menominee"
+msgstr "Amerika/Menominee"
+
+msgid "America/Merida"
+msgstr "Amerika/Merida"
+
+msgid "America/Mexico_City"
+msgstr "Amerika/Mexico_City"
+
+msgid "America/Miquelon"
+msgstr "Amerika/Miquelon"
+
+msgid "America/Moncton"
+msgstr "Amerika/Moncton"
+
+msgid "America/Monterrey"
+msgstr "Amerika/Monterrey"
+
+msgid "America/Montevideo"
+msgstr "Amerika/Montevideo"
+
+msgid "America/Montreal"
+msgstr "Amerika/Montreal"
+
+msgid "America/Montserrat"
+msgstr "Amerika/Montserrat"
+
+msgid "America/Nassau"
+msgstr "Amerika/Nassau"
+
+msgid "America/New_York"
+msgstr "Amerika/New_York"
+
+msgid "America/Nipigon"
+msgstr "Amerika/Nipigon"
+
+msgid "America/Nome"
+msgstr "Amerika/Nome"
+
+msgid "America/Noronha"
+msgstr "Amerika/Noronha"
+
+msgid "America/North_Dakota/Center"
+msgstr "Amerika/North_Dakota/Center"
+
+msgid "America/North_Dakota/New_Salem"
+msgstr "Amerika/North_Dakota/New_Salem"
+
+msgid "America/Ojinaga"
+msgstr "Amerika/Ojinaga"
+
+msgid "America/Panama"
+msgstr "Amerika/Panama"
+
+msgid "America/Pangnirtung"
+msgstr "Amerika/Pangnirtung"
+
+msgid "America/Paramaribo"
+msgstr "Amerika/Paramaribo"
+
+msgid "America/Phoenix"
+msgstr "Amerika/Phoenix"
+
+msgid "America/Port-au-Prince"
+msgstr "Amerika/Port-au-Prince"
+
+msgid "America/Port_of_Spain"
+msgstr "Amerika/Port_of_Spain"
+
+msgid "America/Porto_Acre"
+msgstr "Amerika/Porto_Acre"
+
+msgid "America/Porto_Velho"
+msgstr "Amerika/Porto_Velho"
+
+msgid "America/Puerto_Rico"
+msgstr "Amerika/Puerto_Rico"
+
+msgid "America/Rainy_River"
+msgstr "Amerika/Rainy_River"
+
+msgid "America/Rankin_Inlet"
+msgstr "Amerika/Rankin_Inlet"
+
+msgid "America/Recife"
+msgstr "Amerika/Recife"
+
+msgid "America/Regina"
+msgstr "Amerika/Regina"
+
+msgid "America/Resolute"
+msgstr "Amerika/Resolute"
+
+msgid "America/Rio_Branco"
+msgstr "Amerika/Rio_Branco"
+
+msgid "America/Rosario"
+msgstr "Amerika/Rosario"
+
+msgid "America/Santa_Isabel"
+msgstr "Amerika/Santa_Isabel"
+
+msgid "America/Santarem"
+msgstr "Amerika/Santarem"
+
+msgid "America/Santiago"
+msgstr "Amerika/Santiago"
+
+msgid "America/Santo_Domingo"
+msgstr "Amerika/Santo_Domingo"
+
+msgid "America/Sao_Paulo"
+msgstr "Amerika/Sao_Paulo"
+
+msgid "America/Scoresbysund"
+msgstr "Amerika/Scoresbysund"
+
+msgid "America/Shiprock"
+msgstr "Amerika/Shiprock"
+
+msgid "America/St_Barthelemy"
+msgstr "Amerika/St_Barthelemy"
+
+msgid "America/St_Johns"
+msgstr "Amerika/St_Johns"
+
+msgid "America/St_Kitts"
+msgstr "Amerika/St_Kitts"
+
+msgid "America/St_Lucia"
+msgstr "Amerika/St_Lucia"
+
+msgid "America/St_Thomas"
+msgstr "Amerika/St_Thomas"
+
+msgid "America/St_Vincent"
+msgstr "Amerika/St_Vincent"
+
+msgid "America/Swift_Current"
+msgstr "Amerika/Swift_Current"
+
+msgid "America/Tegucigalpa"
+msgstr "Amerika/Tegucigalpa"
+
+msgid "America/Thule"
+msgstr "Amerika/Thule"
+
+msgid "America/Thunder_Bay"
+msgstr "Amerika/Thunder_Bay"
+
+msgid "America/Tijuana"
+msgstr "Amerika/Tijuana"
+
+msgid "America/Toronto"
+msgstr "Amerika/Toronto"
+
+msgid "America/Tortola"
+msgstr "Amerika/Tortola"
+
+msgid "America/Vancouver"
+msgstr "Amerika/Vancouver"
+
+msgid "America/Virgin"
+msgstr "Amerika/Virgin"
+
+msgid "America/Whitehorse"
+msgstr "Amerika/Whitehorse"
+
+msgid "America/Winnipeg"
+msgstr "Amerika/Winnipeg"
+
+msgid "America/Yakutat"
+msgstr "Amerika/Yakutat"
+
+msgid "America/Yellowknife"
+msgstr "Amerika/Yellowknife"
+
+msgid "Antarctica/Casey"
+msgstr "Antarctica/Casey"
+
+msgid "Antarctica/Davis"
+msgstr "Antarctica/Davis"
+
+msgid "Antarctica/DumontDUrville"
+msgstr "Antarctica/DumontDUrville"
+
+msgid "Antarctica/Macquarie"
+msgstr "Antarctica/Macquarie"
+
+msgid "Antarctica/Mawson"
+msgstr "Antarctica/Mawson"
+
+msgid "Antarctica/McMurdo"
+msgstr "Antarctica/McMurdo"
+
+msgid "Antarctica/Palmer"
+msgstr "Antarctica/Palmer"
+
+msgid "Antarctica/Rothera"
+msgstr "Antarctica/Rothera"
+
+msgid "Antarctica/South_Pole"
+msgstr "Antarctica/South_Pole"
+
+msgid "Antarctica/Syowa"
+msgstr "Antarctica/Syowa"
+
+msgid "Antarctica/Vostok"
+msgstr "Antarctica/Vostok"
+
+msgid "Arctic/Longyearbyen"
+msgstr "Arctic/Longyearbyen"
+
+msgid "Asia/Aden"
+msgstr "Asien/Aden"
+
+msgid "Asia/Almaty"
+msgstr "Asien/Almaty"
+
+msgid "Asia/Amman"
+msgstr "Asien/Amman"
+
+msgid "Asia/Anadyr"
+msgstr "Asien/Anadyr"
+
+msgid "Asia/Aqtau"
+msgstr "Asien/Aqtau"
+
+msgid "Asia/Aqtobe"
+msgstr "Asien/Aqtobe"
+
+msgid "Asia/Ashgabat"
+msgstr "Asien/Ashgabat"
+
+msgid "Asia/Ashkhabad"
+msgstr "Asien/Ashkhabad"
+
+msgid "Asia/Baghdad"
+msgstr "Asien/Baghdad"
+
+msgid "Asia/Bahrain"
+msgstr "Asien/Bahrain"
+
+msgid "Asia/Baku"
+msgstr "Asien/Baku"
+
+msgid "Asia/Bangkok"
+msgstr "Asien/Bangkok"
+
+msgid "Asia/Beirut"
+msgstr "Asien/Beirut"
+
+msgid "Asia/Bishkek"
+msgstr "Asien/Bishkek"
+
+msgid "Asia/Brunei"
+msgstr "Asien/Brunei"
+
+msgid "Asia/Calcutta"
+msgstr "Asien/Calcutta"
+
+msgid "Asia/Choibalsan"
+msgstr "Asien/Choibalsan"
+
+msgid "Asia/Chongqing"
+msgstr "Asien/Chongqing"
+
+msgid "Asia/Chungking"
+msgstr "Asien/Chungking"
+
+msgid "Asia/Colombo"
+msgstr "Asien/Colombo"
+
+msgid "Asia/Dacca"
+msgstr "Asien/Dacca"
+
+msgid "Asia/Damascus"
+msgstr "Asien/Damascus"
+
+msgid "Asia/Dhaka"
+msgstr "Asien/Dhaka"
+
+msgid "Asia/Dili"
+msgstr "Asien/Dili"
+
+msgid "Asia/Dubai"
+msgstr "Asien/Dubai"
+
+msgid "Asia/Dushanbe"
+msgstr "Asien/Dushanbe"
+
+msgid "Asia/Gaza"
+msgstr "Asien/Gaza"
+
+msgid "Asia/Harbin"
+msgstr "Asien/Harbin"
+
+msgid "Asia/Ho_Chi_Minh"
+msgstr "Asien/Ho_Chi_Minh"
+
+msgid "Asia/Hong_Kong"
+msgstr "Asien/Hong_Kong"
+
+msgid "Asia/Hovd"
+msgstr "Asien/Hovd"
+
+msgid "Asia/Irkutsk"
+msgstr "Asien/Irkutsk"
+
+msgid "Asia/Istanbul"
+msgstr "Asien/Istanbul"
+
+msgid "Asia/Jakarta"
+msgstr "Asien/Jakarta"
+
+msgid "Asia/Jayapura"
+msgstr "Asien/Jayapura"
+
+msgid "Asia/Jerusalem"
+msgstr "Asien/Jerusalem"
+
+msgid "Asia/Kabul"
+msgstr "Asien/Kabul"
+
+msgid "Asia/Kamchatka"
+msgstr "Asien/Kamchatka"
+
+msgid "Asia/Karachi"
+msgstr "Asien/Karachi"
+
+msgid "Asia/Kashgar"
+msgstr "Asien/Kashgar"
+
+msgid "Asia/Kathmandu"
+msgstr "Asien/Kathmandu"
+
+msgid "Asia/Katmandu"
+msgstr "Asien/Katmandu"
+
+msgid "Asia/Kolkata"
+msgstr "Asien/Kolkata"
+
+msgid "Asia/Krasnoyarsk"
+msgstr "Asien/Krasnoyarsk"
+
+msgid "Asia/Kuala_Lumpur"
+msgstr "Asien/Kuala_Lumpur"
+
+msgid "Asia/Kuching"
+msgstr "Asien/Kuching"
+
+msgid "Asia/Kuwait"
+msgstr "Asien/Kuwait"
+
+msgid "Asia/Macao"
+msgstr "Asien/Macao"
+
+msgid "Asia/Macau"
+msgstr "Asien/Macau"
+
+msgid "Asia/Magadan"
+msgstr "Asien/Magadan"
+
+msgid "Asia/Makassar"
+msgstr "Asien/Makassar"
+
+msgid "Asia/Manila"
+msgstr "Asien/Manila"
+
+msgid "Asia/Muscat"
+msgstr "Asien/Muscat"
+
+msgid "Asia/Nicosia"
+msgstr "Asien/Nicosia"
+
+msgid "Asia/Novokuznetsk"
+msgstr "Asien/Novokuznetsk"
+
+msgid "Asia/Novosibirsk"
+msgstr "Asien/Novosibirsk"
+
+msgid "Asia/Omsk"
+msgstr "Asien/Omsk"
+
+msgid "Asia/Oral"
+msgstr "Asien/Oral"
+
+msgid "Asia/Phnom_Penh"
+msgstr "Asien/Phnom_Penh"
+
+msgid "Asia/Pontianak"
+msgstr "Asien/Pontianak"
+
+msgid "Asia/Pyongyang"
+msgstr "Asien/Pyongyang"
+
+msgid "Asia/Qatar"
+msgstr "Asien/Qatar"
+
+msgid "Asia/Qyzylorda"
+msgstr "Asien/Qyzylorda"
+
+msgid "Asia/Rangoon"
+msgstr "Asien/Rangoon"
+
+msgid "Asia/Riyadh"
+msgstr "Asien/Riyadh"
+
+msgid "Asia/Saigon"
+msgstr "Asien/Saigon"
+
+msgid "Asia/Sakhalin"
+msgstr "Asien/Sakhalin"
+
+msgid "Asia/Samarkand"
+msgstr "Asien/Samarkand"
+
+msgid "Asia/Seoul"
+msgstr "Asien/Seoul"
+
+msgid "Asia/Shanghai"
+msgstr "Asien/Shanghai"
+
+msgid "Asia/Singapore"
+msgstr "Asien/Singapore"
+
+msgid "Asia/Taipei"
+msgstr "Asien/Taipei"
+
+msgid "Asia/Tashkent"
+msgstr "Asien/Tashkent"
+
+msgid "Asia/Tbilisi"
+msgstr "Asien/Tbilisi"
+
+msgid "Asia/Tehran"
+msgstr "Asien/Tehran"
+
+msgid "Asia/Tel_Aviv"
+msgstr "Asien/Tel_Aviv"
+
+msgid "Asia/Thimbu"
+msgstr "Asien/Thimbu"
+
+msgid "Asia/Thimphu"
+msgstr "Asien/Thimphu"
+
+msgid "Asia/Tokyo"
+msgstr "Asien/Tokyo"
+
+msgid "Asia/Ujung_Pandang"
+msgstr "Asien/Ujung_Pandang"
+
+msgid "Asia/Ulaanbaatar"
+msgstr "Asien/Ulaanbaatar"
+
+msgid "Asia/Ulan_Bator"
+msgstr "Asien/Ulan_Bator"
+
+msgid "Asia/Urumqi"
+msgstr "Asien/Urumqi"
+
+msgid "Asia/Vientiane"
+msgstr "Asien/Vientiane"
+
+msgid "Asia/Vladivostok"
+msgstr "Asien/Vladivostok"
+
+msgid "Asia/Yakutsk"
+msgstr "Asien/Yakutsk"
+
+msgid "Asia/Yekaterinburg"
+msgstr "Asien/Yekaterinburg"
+
+msgid "Asia/Yerevan"
+msgstr "Asien/Yerevan"
+
+msgid "Atlantic/Azores"
+msgstr "Atlantic/Azores"
+
+msgid "Atlantic/Bermuda"
+msgstr "Atlantic/Bermuda"
+
+msgid "Atlantic/Canary"
+msgstr "Atlantic/Canary"
+
+msgid "Atlantic/Cape_Verde"
+msgstr "Atlantic/Cape_Verde"
+
+msgid "Atlantic/Faeroe"
+msgstr "Atlantic/Faeroe"
+
+msgid "Atlantic/Faroe"
+msgstr "Atlantic/Faroe"
+
+msgid "Atlantic/Jan_Mayen"
+msgstr "Atlantic/Jan_Mayen"
+
+msgid "Atlantic/Madeira"
+msgstr "Atlantic/Madeira"
+
+msgid "Atlantic/Reykjavik"
+msgstr "Atlantic/Reykjavik"
+
+msgid "Atlantic/South_Georgia"
+msgstr "Atlantic/South_Georgia"
+
+msgid "Atlantic/St_Helena"
+msgstr "Atlantic/St_Helena"
+
+msgid "Atlantic/Stanley"
+msgstr "Atlantic/Stanley"
+
+msgid "Australia/ACT"
+msgstr "Australien/ACT"
+
+msgid "Australia/Adelaide"
+msgstr "Australien/Adelaide"
+
+msgid "Australia/Brisbane"
+msgstr "Australien/Brisbane"
+
+msgid "Australia/Broken_Hill"
+msgstr "Australien/Broken_Hill"
+
+msgid "Australia/Canberra"
+msgstr "Australien/Canberra"
+
+msgid "Australia/Currie"
+msgstr "Australien/Currie"
+
+msgid "Australia/Darwin"
+msgstr "Australien/Darwin"
+
+msgid "Australia/Eucla"
+msgstr "Australien/Eucla"
+
+msgid "Australia/Hobart"
+msgstr "Australien/Hobart"
+
+msgid "Australia/LHI"
+msgstr "Australien/LHI"
+
+msgid "Australia/Lindeman"
+msgstr "Australien/Lindeman"
+
+msgid "Australia/Lord_Howe"
+msgstr "Australien/Lord_Howe"
+
+msgid "Australia/Melbourne"
+msgstr "Australien/Melbourne"
+
+msgid "Australia/North"
+msgstr "Australien/North"
+
+msgid "Australia/NSW"
+msgstr "Australien/NSW"
+
+msgid "Australia/Perth"
+msgstr "Australien/Perth"
+
+msgid "Australia/Queensland"
+msgstr "Australien/Queensland"
+
+msgid "Australia/South"
+msgstr "Australien/South"
+
+msgid "Australia/Sydney"
+msgstr "Australien/Sydney"
+
+msgid "Australia/Tasmania"
+msgstr "Australien/Tasmania"
+
+msgid "Australia/Victoria"
+msgstr "Australien/Victoria"
+
+msgid "Australia/West"
+msgstr "Australien/West"
+
+msgid "Australia/Yancowinna"
+msgstr "Australien/Yancowinna"
+
+msgid "Brazil/Acre"
+msgstr "Brasilien/Acre"
+
+msgid "Brazil/DeNoronha"
+msgstr "Brasilien/DeNoronha"
+
+msgid "Brazil/East"
+msgstr "Brasilien/East"
+
+msgid "Brazil/West"
+msgstr "Brasilien/West"
+
+msgid "Canada/Atlantic"
+msgstr "Kanada/Atlantic"
+
+msgid "Canada/Central"
+msgstr "Kanada/Central"
+
+msgid "Canada/East-Saskatchewan"
+msgstr "Kanada/East-Saskatchewan"
+
+msgid "Canada/Eastern"
+msgstr "Kanada/Eastern"
+
+msgid "Canada/Mountain"
+msgstr "Kanada/Mountain"
+
+msgid "Canada/Newfoundland"
+msgstr "Kanada/Newfoundland"
+
+msgid "Canada/Pacific"
+msgstr "Kanada/Pacific"
+
+msgid "Canada/Saskatchewan"
+msgstr "Kanada/Saskatchewan"
+
+msgid "Canada/Yukon"
+msgstr "Kanada/Yukon"
+
+msgid "CET"
+msgstr "CET"
+
+msgid "Chile/Continental"
+msgstr "Chile/Continental"
+
+msgid "Chile/EasterIsland"
+msgstr "Chile/EasterIsland"
+
+msgid "CST6CDT"
+msgstr "CST6CDT"
+
+msgid "Cuba"
+msgstr "Cuba"
+
+msgid "EET"
+msgstr "EET"
+
+msgid "Egypt"
+msgstr "Egypten"
+
+msgid "Eire"
+msgstr "Eire"
+
+msgid "EST"
+msgstr "EST"
+
+msgid "EST5EDT"
+msgstr "EST5EDT"
+
+msgid "Etc/GMT"
+msgstr "Etc/GMT"
+
+msgid "Etc/GMT+0"
+msgstr "Etc/GMT+0"
+
+msgid "Etc/GMT+1"
+msgstr "Etc/GMT+1"
+
+msgid "Etc/GMT+10"
+msgstr "Etc/GMT+10"
+
+msgid "Etc/GMT+11"
+msgstr "Etc/GMT+11"
+
+msgid "Etc/GMT+12"
+msgstr "Etc/GMT+12"
+
+msgid "Etc/GMT+2"
+msgstr "Etc/GMT+2"
+
+msgid "Etc/GMT+3"
+msgstr "Etc/GMT+3"
+
+msgid "Etc/GMT+4"
+msgstr "Etc/GMT+4"
+
+msgid "Etc/GMT+5"
+msgstr "Etc/GMT+5"
+
+msgid "Etc/GMT+6"
+msgstr "Etc/GMT+6"
+
+msgid "Etc/GMT+7"
+msgstr "Etc/GMT+7"
+
+msgid "Etc/GMT+8"
+msgstr "Etc/GMT+8"
+
+msgid "Etc/GMT+9"
+msgstr "Etc/GMT+9"
+
+msgid "Etc/GMT-0"
+msgstr "Etc/GMT-0"
+
+msgid "Etc/GMT-1"
+msgstr "Etc/GMT-1"
+
+msgid "Etc/GMT-10"
+msgstr "Etc/GMT-10"
+
+msgid "Etc/GMT-11"
+msgstr "Etc/GMT-11"
+
+msgid "Etc/GMT-12"
+msgstr "Etc/GMT-12"
+
+msgid "Etc/GMT-13"
+msgstr "Etc/GMT-13"
+
+msgid "Etc/GMT-14"
+msgstr "Etc/GMT-14"
+
+msgid "Etc/GMT-2"
+msgstr "Etc/GMT-2"
+
+msgid "Etc/GMT-3"
+msgstr "Etc/GMT-3"
+
+msgid "Etc/GMT-4"
+msgstr "Etc/GMT-4"
+
+msgid "Etc/GMT-5"
+msgstr "Etc/GMT-5"
+
+msgid "Etc/GMT-6"
+msgstr "Etc/GMT-6"
+
+msgid "Etc/GMT-7"
+msgstr "Etc/GMT-7"
+
+msgid "Etc/GMT-8"
+msgstr "Etc/GMT-8"
+
+msgid "Etc/GMT-9"
+msgstr "Etc/GMT-9"
+
+msgid "Etc/GMT0"
+msgstr "Etc/GMT0"
+
+msgid "Etc/Greenwich"
+msgstr "Etc/Greenwich"
+
+msgid "Etc/UCT"
+msgstr "Etc/UCT"
+
+msgid "Etc/Universal"
+msgstr "Etc/Universal"
+
+msgid "Etc/UTC"
+msgstr "Etc/UTC"
+
+msgid "Etc/Zulu"
+msgstr "Etc/Zulu"
+
+msgid "Europe/Amsterdam"
+msgstr "Europa/Amsterdam"
+
+msgid "Europe/Andorra"
+msgstr "Europa/Andorra"
+
+msgid "Europe/Athens"
+msgstr "Europa/Aten"
+
+msgid "Europe/Belfast"
+msgstr "Europa/Belfast"
+
+msgid "Europe/Belgrade"
+msgstr "Europa/Belgrad"
+
+msgid "Europe/Berlin"
+msgstr "Europa/Berlin"
+
+msgid "Europe/Bratislava"
+msgstr "Europa/Bratislava"
+
+msgid "Europe/Brussels"
+msgstr "Europa/Bryssel"
+
+msgid "Europe/Bucharest"
+msgstr "Europa/Bucharest"
+
+msgid "Europe/Budapest"
+msgstr "Europa/Budapest"
+
+msgid "Europe/Chisinau"
+msgstr "Europa/Chisinau"
+
+msgid "Europe/Copenhagen"
+msgstr "Europa/K&ouml;penhamn"
+
+msgid "Europe/Dublin"
+msgstr "Europa/Dublin"
+
+msgid "Europe/Gibraltar"
+msgstr "Europa/Gibraltar"
+
+msgid "Europe/Guernsey"
+msgstr "Europa/Guernsey"
+
+msgid "Europe/Helsinki"
+msgstr "Europa/Helsingfors"
+
+msgid "Europe/Isle_of_Man"
+msgstr "Europa/Isle_of_Man"
+
+msgid "Europe/Istanbul"
+msgstr "Europa/Istanbul"
+
+msgid "Europe/Jersey"
+msgstr "Europa/Jersey"
+
+msgid "Europe/Kaliningrad"
+msgstr "Europa/Kaliningrad"
+
+msgid "Europe/Kiev"
+msgstr "Europa/Kiev"
+
+msgid "Europe/Lisbon"
+msgstr "Europa/Lisabon"
+
+msgid "Europe/Ljubljana"
+msgstr "Europa/Ljubljana"
+
+msgid "Europe/London"
+msgstr "Europa/London"
+
+msgid "Europe/Luxembourg"
+msgstr "Europa/Luxemburg"
+
+msgid "Europe/Madrid"
+msgstr "Europa/Madrid"
+
+msgid "Europe/Malta"
+msgstr "Europa/Malta"
+
+msgid "Europe/Mariehamn"
+msgstr "Europa/Mariehamn"
+
+msgid "Europe/Minsk"
+msgstr "Europa/Minsk"
+
+msgid "Europe/Monaco"
+msgstr "Europa/Monaco"
+
+msgid "Europe/Moscow"
+msgstr "Europa/Moskva"
+
+msgid "Europe/Nicosia"
+msgstr "Europa/Nicosia"
+
+msgid "Europe/Oslo"
+msgstr "Europa/Oslo"
+
+msgid "Europe/Paris"
+msgstr "Europa/Paris"
+
+msgid "Europe/Podgorica"
+msgstr "Europa/Podgorica"
+
+msgid "Europe/Prague"
+msgstr "Europa/Prag"
+
+msgid "Europe/Riga"
+msgstr "Europa/Riga"
+
+msgid "Europe/Rome"
+msgstr "Europa/Rom"
+
+msgid "Europe/Samara"
+msgstr "Europa/Samara"
+
+msgid "Europe/San_Marino"
+msgstr "Europa/San_Marino"
+
+msgid "Europe/Sarajevo"
+msgstr "Europa/Sarajevo"
+
+msgid "Europe/Simferopol"
+msgstr "Europa/Simferopol"
+
+msgid "Europe/Skopje"
+msgstr "Europa/Skopje"
+
+msgid "Europe/Sofia"
+msgstr "Europa/Sofia"
+
+msgid "Europe/Stockholm"
+msgstr "Europa/Stockholm"
+
+msgid "Europe/Tallinn"
+msgstr "Europa/Tallinn"
+
+msgid "Europe/Tirane"
+msgstr "Europa/Tirane"
+
+msgid "Europe/Tiraspol"
+msgstr "Europa/Tiraspol"
+
+msgid "Europe/Uzhgorod"
+msgstr "Europa/Uzhgorod"
+
+msgid "Europe/Vaduz"
+msgstr "Europa/Vaduz"
+
+msgid "Europe/Vatican"
+msgstr "Europa/Vatikanen"
+
+msgid "Europe/Vienna"
+msgstr "Europa/Wien"
+
+msgid "Europe/Vilnius"
+msgstr "Europa/Vilnius"
+
+msgid "Europe/Volgograd"
+msgstr "Europa/Volgograd"
+
+msgid "Europe/Warsaw"
+msgstr "Europa/Warsawa"
+
+msgid "Europe/Zagreb"
+msgstr "Europa/Zagreb"
+
+msgid "Europe/Zaporozhye"
+msgstr "Europa/Zaporozhye"
+
+msgid "Europe/Zurich"
+msgstr "Europa/Z&uuml;rich"
+
+msgid "Factory"
+msgstr "Factory"
+
+msgid "GB"
+msgstr "GB"
+
+msgid "GB-Eire"
+msgstr "GB-Eire"
+
+msgid "GMT"
+msgstr "GMT"
+
+msgid "GMT+0"
+msgstr "GMT+0"
+
+msgid "GMT-0"
+msgstr "GMT-0"
+
+msgid "GMT0"
+msgstr "GMT0"
+
+msgid "Greenwich"
+msgstr "Greenwich"
+
+msgid "Hongkong"
+msgstr "Hongkong"
+
+msgid "HST"
+msgstr "HST"
+
+msgid "Iceland"
+msgstr "Iceland"
+
+msgid "Indian/Antananarivo"
+msgstr "Indian/Antananarivo"
+
+msgid "Indian/Chagos"
+msgstr "Indian/Chagos"
+
+msgid "Indian/Christmas"
+msgstr "Indian/Christmas"
+
+msgid "Indian/Cocos"
+msgstr "Indian/Cocos"
+
+msgid "Indian/Comoro"
+msgstr "Indian/Comoro"
+
+msgid "Indian/Kerguelen"
+msgstr "Indian/Kerguelen"
+
+msgid "Indian/Mahe"
+msgstr "Indian/Mahe"
+
+msgid "Indian/Maldives"
+msgstr "Indian/Maldives"
+
+msgid "Indian/Mauritius"
+msgstr "Indian/Mauritius"
+
+msgid "Indian/Mayotte"
+msgstr "Indian/Mayotte"
+
+msgid "Indian/Reunion"
+msgstr "Indian/Reunion"
+
+msgid "Iran"
+msgstr "Iran"
+
+msgid "Israel"
+msgstr "Israel"
+
+msgid "Jamaica"
+msgstr "Jamaica"
+
+msgid "Japan"
+msgstr "Japan"
+
+msgid "Kwajalein"
+msgstr "Kwajalein"
+
+msgid "Libya"
+msgstr "Libyen"
+
+msgid "MET"
+msgstr "MET"
+
+msgid "Mexico/BajaNorte"
+msgstr "Mexico/BajaNorte"
+
+msgid "Mexico/BajaSur"
+msgstr "Mexico/BajaSur"
+
+msgid "Mexico/General"
+msgstr "Mexico/General"
+
+msgid "MST"
+msgstr "MST"
+
+msgid "MST7MDT"
+msgstr "MST7MDT"
+
+msgid "Navajo"
+msgstr "Navajo"
+
+msgid "NZ"
+msgstr "NZ"
+
+msgid "NZ-CHAT"
+msgstr "NZ-CHAT"
+
+msgid "Pacific/Apia"
+msgstr "Pacific/Apia"
+
+msgid "Pacific/Auckland"
+msgstr "Pacific/Auckland"
+
+msgid "Pacific/Chatham"
+msgstr "Pacific/Chatham"
+
+msgid "Pacific/Easter"
+msgstr "Pacific/Easter"
+
+msgid "Pacific/Efate"
+msgstr "Pacific/Efate"
+
+msgid "Pacific/Enderbury"
+msgstr "Pacific/Enderbury"
+
+msgid "Pacific/Fakaofo"
+msgstr "Pacific/Fakaofo"
+
+msgid "Pacific/Fiji"
+msgstr "Pacific/Fiji"
+
+msgid "Pacific/Funafuti"
+msgstr "Pacific/Funafuti"
+
+msgid "Pacific/Galapagos"
+msgstr "Pacific/Galapagos"
+
+msgid "Pacific/Gambier"
+msgstr "Pacific/Gambier"
+
+msgid "Pacific/Guadalcanal"
+msgstr "Pacific/Guadalcanal"
+
+msgid "Pacific/Guam"
+msgstr "Pacific/Guam"
+
+msgid "Pacific/Honolulu"
+msgstr "Pacific/Honolulu"
+
+msgid "Pacific/Johnston"
+msgstr "Pacific/Johnston"
+
+msgid "Pacific/Kiritimati"
+msgstr "Pacific/Kiritimati"
+
+msgid "Pacific/Kosrae"
+msgstr "Pacific/Kosrae"
+
+msgid "Pacific/Kwajalein"
+msgstr "Pacific/Kwajalein"
+
+msgid "Pacific/Majuro"
+msgstr "Pacific/Majuro"
+
+msgid "Pacific/Marquesas"
+msgstr "Pacific/Marquesas"
+
+msgid "Pacific/Midway"
+msgstr "Pacific/Midway"
+
+msgid "Pacific/Nauru"
+msgstr "Pacific/Nauru"
+
+msgid "Pacific/Niue"
+msgstr "Pacific/Niue"
+
+msgid "Pacific/Norfolk"
+msgstr "Pacific/Norfolk"
+
+msgid "Pacific/Noumea"
+msgstr "Pacific/Noumea"
+
+msgid "Pacific/Pago_Pago"
+msgstr "Pacific/Pago_Pago"
+
+msgid "Pacific/Palau"
+msgstr "Pacific/Palau"
+
+msgid "Pacific/Pitcairn"
+msgstr "Pacific/Pitcairn"
+
+msgid "Pacific/Ponape"
+msgstr "Pacific/Ponape"
+
+msgid "Pacific/Port_Moresby"
+msgstr "Pacific/Port_Moresby"
+
+msgid "Pacific/Rarotonga"
+msgstr "Pacific/Rarotonga"
+
+msgid "Pacific/Saipan"
+msgstr "Pacific/Saipan"
+
+msgid "Pacific/Samoa"
+msgstr "Pacific/Samoa"
+
+msgid "Pacific/Tahiti"
+msgstr "Pacific/Tahiti"
+
+msgid "Pacific/Tarawa"
+msgstr "Pacific/Tarawa"
+
+msgid "Pacific/Tongatapu"
+msgstr "Pacific/Tongatapu"
+
+msgid "Pacific/Truk"
+msgstr "Pacific/Truk"
+
+msgid "Pacific/Wake"
+msgstr "Pacific/Wake"
+
+msgid "Pacific/Wallis"
+msgstr "Pacific/Wallis"
+
+msgid "Pacific/Yap"
+msgstr "Pacific/Yap"
+
+msgid "Poland"
+msgstr "Polen"
+
+msgid "Portugal"
+msgstr "Portugal"
+
+msgid "PRC"
+msgstr "PRC"
+
+msgid "PST8PDT"
+msgstr "PST8PDT"
+
+msgid "ROC"
+msgstr "ROC"
+
+msgid "ROK"
+msgstr "ROK"
+
+msgid "Singapore"
+msgstr "Singapore"
+
+msgid "Turkey"
+msgstr "Turkiet"
+
+msgid "UCT"
+msgstr "UCT"
+
+msgid "Universal"
+msgstr "Universal"
+
+msgid "US/Alaska"
+msgstr "USA/Alaska"
+
+msgid "US/Aleutian"
+msgstr "USA/Aleutian"
+
+msgid "US/Arizona"
+msgstr "USA/Arizona"
+
+msgid "US/Central"
+msgstr "USA/Central"
+
+msgid "US/East-Indiana"
+msgstr "USA/East-Indiana"
+
+msgid "US/Eastern"
+msgstr "USA/Eastern"
+
+msgid "US/Hawaii"
+msgstr "USA/Hawaii"
+
+msgid "US/Indiana-Starke"
+msgstr "USA/Indiana-Starke"
+
+msgid "US/Michigan"
+msgstr "USA/Michigan"
+
+msgid "US/Mountain"
+msgstr "USA/Mountain"
+
+msgid "US/Pacific"
+msgstr "USA/Pacific"
+
+msgid "US/Pacific-New"
+msgstr "USA/Pacific-New"
+
+msgid "US/Samoa"
+msgstr "USA/Samoa"
+
+msgid "UTC"
+msgstr "UTC"
+
+msgid "W-SU"
+msgstr "W-SU"
+
+msgid "WET"
+msgstr "WET"
+
+msgid "Zulu"
+msgstr "Zulu"
+
index 6577ab8eb0c6413aaa919eb9d8cf912c072c8b3c..6caa04a3a42dfc2228b2980294aac56459daec1c 100644 (file)
@@ -1,7 +1,7 @@
 
 <div id='adminpage'>
        <h1>{{$title}} - {{$page}}</h1>
-               <a class="btn" href="{{$baseurl}}/admin/{{$function}}?a=r&amp;t={{$form_security_token}}">{{"Reload active plugins"|t}}</a>
+               <a class="btn" href="{{$baseurl}}/admin/{{$function}}?a=r&amp;t={{$form_security_token}}">{{$reload}}</a>
                <ul id='pluginslist'>
                {{foreach $plugins as $p}}
                        <li class='plugin {{$p.1}}'>
index b60c4f0558fb14e7453dffcbe407a90d150ba47a..c1e70614ce65518a5ef2bf870c5ea9a87f82c17a 100644 (file)
        {{include file="field_checkbox.tpl" field=$force_publish}}
        {{include file="field_select.tpl" field=$community_page_style}}
        {{include file="field_input.tpl" field=$max_author_posts_community_page}}
-       {{include file="field_checkbox.tpl" field=$ostatus_disabled}}
-       {{include file="field_select.tpl" field=$ostatus_poll_interval}}
-       {{include file="field_checkbox.tpl" field=$diaspora_enabled}}
+
+       {{if $thread_allow.2}}
+               {{include file="field_checkbox.tpl" field=$ostatus_disabled}}
+               {{include file="field_select.tpl" field=$ostatus_poll_interval}}
+       {{else}}
+               <div class='field checkbox' id='div_id_{{$ostatus_disabled.0}}'>
+                       <label for='id_{{$ostatus_disabled.0}}'>{{$ostatus_disabled.1}}</label>
+                       <span id='id_{{$ostatus_disabled.0}}'>{{$ostatus_not_able}}</span>
+               </div>
+       {{/if}}
+
+       {{if $diaspora_able}}
+               {{include file="field_checkbox.tpl" field=$diaspora_enabled}}
+       {{else}}
+               <div class='field checkbox' id='div_id_{{$diaspora_enabled.0}}'>
+                       <label for='id_{{$diaspora_enabled.0}}'>{{$diaspora_enabled.1}}</label>
+                       <span id='id_{{$diaspora_enabled.0}}'>{{$diaspora_not_able}}</span>
+               </div>
+       {{/if}}
        {{include file="field_checkbox.tpl" field=$dfrn_only}}
        {{include file="field_input.tpl" field=$global_directory}}
        {{include file="field_checkbox.tpl" field=$thread_allow}}
        {{include file="field_input.tpl" field=$poll_interval}}
        {{include file="field_input.tpl" field=$maxloadavg}}
        {{include file="field_input.tpl" field=$maxloadavg_frontend}}
+       {{include file="field_input.tpl" field=$optimize_max_tablesize}}
        {{include file="field_input.tpl" field=$abandon_days}}
        {{include file="field_input.tpl" field=$lockpath}}
        {{include file="field_input.tpl" field=$temppath}}
index f938d6371927494150f9a65994c87d180b51d0b0..d6abde0306627874e9a75151c711b2dda87d517c 100644 (file)
@@ -53,7 +53,9 @@
 </div>
 
        <div id="dfrn-request-submit-wrapper">
-               <input type="submit" name="submit" id="dfrn-request-submit-button" value="{{$submit|escape:'html'}}" />
+               {{if $submit}}
+                       <input type="submit" name="submit" id="dfrn-request-submit-button" value="{{$submit|escape:'html'}}" />
+               {{/if}}
                <input type="submit" name="cancel" id="dfrn-request-cancel-button" value="{{$cancel|escape:'html'}}" />
        </div>
 </form>
diff --git a/view/templates/common_friends.tpl b/view/templates/common_friends.tpl
deleted file mode 100644 (file)
index 6502dd6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-
-<div class="profile-match-wrapper">
-       <div class="profile-match-photo">
-               <a href="{{$url}}">
-                       <img src="{{$photo}}" alt="{{$name}}" width="80" height="80" title="{{$name}} [{{$url}}]" />
-               </a>
-       </div>
-       <div class="profile-match-break"></div>
-       <div class="profile-match-name">
-               <a href="{{$url}}" title="{{$name}}[{{$tags}}]">{{$name}}</a>
-       </div>
-       <div class="profile-match-end"></div>
-</div>
\ No newline at end of file
index 95e8e5d29acec265dcc76d3ec4aa06031529dd2f..15863b6a272227a4ece28b1153058beca943a996 100644 (file)
@@ -1,6 +1,4 @@
-
-
-<h2>{{$header}}</h2>
+{{if $header}}<h2>{{$header}}</h2>{{/if}}
 
 <div id="contact-edit-wrapper" >
 
@@ -19,8 +17,6 @@
                                {{if $relation_text}}
                                        <li><div id="contact-edit-rel">{{$relation_text}}</div></li>
                                {{/if}}
-                               <li><div id="contact-edit-nettype">{{$nettype}}</div></li>
-                               <li><div id="contact-edit-profileurl">{{$profileurllabel}}: <a href="{{$url}}">{{$profileurl}}</a></div></li>
                                {{if $lost_contact}}
                                        <li><div id="lost-contact-message">{{$lost_contact}}</div></li>
                                {{/if}}
@@ -37,6 +33,7 @@
                                        <li><div id="archive-message">{{$archived}}</div></li>
                                {{/if}}
                        </ul>
+
                        <ul>
 
                                {{if $common_text}}
@@ -47,7 +44,7 @@
                                {{/if}}
 
 
-                               <li><a href="network/0?nets=all&cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li>
+                               <!-- <li><a href="network/0?nets=all&cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li> -->
                                {{if $lblsuggest}}
                                        <li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li>
                                {{/if}}
                                {{/if}}
 
                        </ul>
+
+                       <dl><dt>{{$profileurllabel}}</dt><dd><a target="blank" href="{{$url}}">{{$profileurl}}</a></dd></dl>
+                       {{if $location}}<dl><dt>{{$location_label}}</dt><dd>{{$location}}</dd></dl>{{/if}}
+                       {{if $keywords}}<dl><dt>{{$keywords_label}}</dt><dd>{{$keywords}}</dd></dl>{{/if}}
+                       {{if $about}}<dl><dt>{{$about_label}}</dt><dd>{{$about}}</dd></dl>{{/if}}
                </div>
        </div>
        <div id="contact-edit-nav-end"></div>
 
+<hr />
 
 <form action="contacts/{{$contact_id}}" method="post" >
 <input type="hidden" name="contact_id" value="{{$contact_id}}">
index d4f65f70f91c77c51c3a0ece4555e528f7bee513..06918533ca0ee4bcfcbbb33b194142b6d7683cc0 100644 (file)
@@ -7,9 +7,10 @@
 
                        <a href="{{$contact.url}}" title="{{$contact.img_hover}}" /><img src="{{$contact.thumb}}" {{$contact.sparkle}} alt="{{$contact.name}}" /></a>
 
-                       {{if !$no_contacts_checkbox}}
+                       {{if $multiselect}}
                        <input type="checkbox" class="contact-select" name="contact_batch[]" value="{{$contact.id}}">
                        {{/if}}
+
                        {{if $contact.photo_menu}}
                        <span onclick="openClose('contact-photo-menu-{{$contact.id}}');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-{{$contact.id}}">menu</span>
                        <div class="contact-photo-menu" id="contact-photo-menu-{{$contact.id}}">
                </div>
                        
        </div>
-       <div class="contact-entry-photo-end" ></div>
-       <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >{{$contact.name}}</div>
+
+       <div class="contact-entry-desc">
+               <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >
+                       {{$contact.name}}
+                       {{if $contact.account_type}} <span class="contact-entry-details" id="contact-entry-accounttype-{{$contact.id}}">({{$contact.account_type}})</span>{{/if}}
+               </div>
+               {{if $contact.alt_text}}<div class="contact-entry-details" id="contact-entry-rel-{{$contact.id}}" >{{$contact.alt_text}}</div>{{/if}}
+               {{if $contact.itemurl}}<div class="contact-entry-details" id="contact-entry-url-{{$contact.id}}" >{{$contact.itemurl}}</div>{{/if}}
+               {{if $contact.tags}}<div class="contact-entry-details" id="contact-entry-tags-{{$contact.id}}" >{{$contact.tags}}</div>{{/if}}
+               {{if $contact.details}}<div class="contact-entry-details" id="contact-entry-details-{{$contact.id}}" >{{$contact.details}}</div>{{/if}}
+               {{if $contact.network}}<div class="contact-entry-details" id="contact-entry-network-{{$contact.id}}" >{{$contact.network}}</div>{{/if}}
+               
+       </div>
 
        <div class="contact-entry-end" ></div>
 </div>
index 896f9af4c9f9d7f5fd7714d72556e06451a008a8..bec295924ee51952fca8fe2761367e72a8127fb8 100644 (file)
@@ -1,5 +1,5 @@
 
-<h1>{{$header}}{{if $total}} ({{$total}}){{/if}}</h1>
+<h2>{{$header}}{{if $total}} ({{$total}}){{/if}}</h2>
 
 {{if $finding}}<h4>{{$finding}}</h4>{{/if}}
 
index 5c52f4329a3048f33deaf7c9a94a8e3cd978cd36..5b0610fcbd98f0b1a21d9c5a87fce3e13fe84b7a 100644 (file)
@@ -1,7 +1,7 @@
 
 {{$vcard_widget}}
+{{$findpeople_widget}}
 {{$follow_widget}}
 {{$groups_widget}}
-{{$findpeople_widget}}
 {{$networks_widget}}
 
diff --git a/view/templates/credits.tpl b/view/templates/credits.tpl
new file mode 100644 (file)
index 0000000..2441358
--- /dev/null
@@ -0,0 +1,8 @@
+{{include file="section_title.tpl"}}
+<p>{{$thanks}}</p>
+
+<ul class="credits">
+{{foreach $names as $name}}
+ <li>{{$name}}</li>
+{{/foreach}}
+</ul>
index 5b3a6281ebf8af0dbdaf15c25067d05df356e434..1d2098331096f10ab59f8b8f86bcc1ce8f8ba4a4 100644 (file)
@@ -1,6 +1,17 @@
+{{include file="section_title.tpl"}}
+
+{{$tab_str}}
+
+<div class="crepair-error-message">{{$warning}}</div><br>
+<div class="crepair-return">
+       {{$info}}<br>
+       <!-- <a href="{{$returnaddr}}">{{$return}}</a> -->
+</div>
+<br />
+
 <form id="crepair-form" action="crepair/{{$contact_id}}" method="post" >
 
-<h4>{{$contact_name}}</h4>
+<!-- <h4>{{$contact_name}}</h4> -->
 
 <div id="contact-update-profile-wrapper">
 {{if $update_profile}}
index 178586a7b7a3ae2597393c6d994fc5f0b536e848..3b96d3eefd6afb536a1e9095e9489b271dafa658 100644 (file)
@@ -83,7 +83,9 @@
 </div>
 
        <div id="dfrn-request-submit-wrapper">
-               <input type="submit" name="submit" id="dfrn-request-submit-button" value="{{$submit|escape:'html'}}" />
+               {{if $submit}}
+                       <input type="submit" name="submit" id="dfrn-request-submit-button" value="{{$submit|escape:'html'}}" />
+               {{/if}}
                <input type="submit" name="cancel" id="dfrn-request-cancel-button" value="{{$cancel|escape:'html'}}" />
        </div>
 </form>
index 2274f2e1f8ecd0ed71389466c2c9488dd51912c8..46f17de40e06849636fe3761d4e04ece19a8c12c 100644 (file)
@@ -1,17 +1,31 @@
 
-<h1>{{$sitedir}}</h1>
+{{include file="section_title.tpl"}}
 
-{{$globaldir}}
-{{$admin}}
+{{if $gdirpath}}
+       <ul>
+               <li><div id="global-directory-link"><a href="{{$gdirpath}}">{{$globaldir}}</a></div></li>
+       </ul>
+{{/if}}
 
-{{$finding}}
 
 <div id="directory-search-wrapper">
-<form id="directory-search-form" action="directory" method="get" >
-<span class="dirsearch-desc">{{$desc}}</span>
-<input type="text" name="search" id="directory-search" class="search-input" onfocus="this.select();" value="{{$search|escape:'html'}}" />
-<input type="submit" name="submit" id="directory-search-submit" value="{{$submit|escape:'html'}}" class="button" />
-</form>
+       <form id="directory-search-form" action="directory" method="get" >
+               <span class="dirsearch-desc">{{$desc}}</span>
+               <input type="text" name="search" id="directory-search" class="search-input" onfocus="this.select();" value="{{$search|escape:'html'}}" />
+               <input type="submit" name="submit" id="directory-search-submit" value="{{$submit|escape:'html'}}" class="button" />
+       </form>
 </div>
+
+{{if $findterm}}
+       <h4>{{$finding}} '{{$findterm}}'</h4>
+{{/if}}
+
 <div id="directory-search-end"></div>
 
+{{foreach $contacts as $contact}}
+       {{include file="contact_template.tpl"}}
+{{/foreach}}
+
+<div class="directory-end" ></div>
+
+{{$paginate}}
index b43fcd28cf8393f9549503a60f3c0af938c3d32a..4dbe8a951f5ecee53886a023f0fc80513e55929e 100644 (file)
@@ -1,12 +1,14 @@
 
 
-<div class="directory-item lframe" id="directory-item-{{$id}}" >
-       <div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$id}}" > 
-               <div class="contact-photo" id="directory-photo-{{$id}}" >
-                       <a href="{{$profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$id}}" ><img class="directory-photo-img" src="{{$photo}}" alt="{{$alt_text}}" title="{{$alt_text}}" /></a>
+<div class="directory-item lframe" id="directory-item-{{$entry.id}}" >
+       <div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$entry.id}}" > 
+               <div class="contact-photo" id="directory-photo-{{$entry.id}}" >
+                       <a href="{{$entry.profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$entry.id}}" >
+                               <img class="directory-photo-img" src="{{$entry.photo}}" alt="{{$entry.alt_text}}" title="{{$entry.alt_text}}" />
+                       </a>
                </div>
        </div>
 
-       <div class="contact-name" id="directory-name-{{$id}}">{{$name}}</div>
-       <div class="contact-details">{{$details}}</div>
+       <div class="contact-name" id="directory-name-{{$entry.id}}">{{$entry.name}}</div>
+       <div class="contact-details">{{$entry.details}}</div>
 </div>
index 1ea282b1161b83993cfece643417dd0543651a64..1c065477b2a7690ac48cbee6ed3b969c8c62111e 100644 (file)
@@ -51,4 +51,3 @@
 <input id="event-submit" type="submit" name="submit" value="{{$submit|escape:'html'}}" />
 </form>
 
-
index ceb251a9e21243fb992dcfc1f15604032efbabcc..745327e992b7a25e14e789613a85458fd521c4b5 100644 (file)
                }
 
        });
+
+       $(document).ready(function() { 
+               $('.comment-edit-bb').hide();
+       });
        {{else}}
        <script language="javascript" type="text/javascript">
        {{/if}}
index f90b012f1c471cf3d756c87761bc33dc9724863a..e476c07d722978696c5d7efafc5f1872abdfd5b8 100644 (file)
@@ -1,5 +1,3 @@
-
-       
        <div class='field checkbox' id='div_id_{{$field.0}}'>
                <label for='id_{{$field.0}}'>{{$field.1}}</label>
                <input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="1" {{if $field.2}}checked="checked"{{/if}}>
index c7e1aa895e2c063a3b567aa83a0fb1eee3eb7083..466882370f37d3961b2f0ae2522c70a372e199e6 100644 (file)
@@ -1,37 +1,42 @@
 <div class="widget" id="group-sidebar">
-<h3>{{$title}}</h3>
+       <h3>{{$title}}</h3>
 
-<div id="sidebar-group-list">
-       <ul role="menu" id="sidebar-group-ul">
-               {{foreach $groups as $group}}
-                       <li role="menuitem" class="sidebar-group-li">
-                               {{if $group.cid}}
-                                       <input type="checkbox" 
-                                               class="{{if $group.selected}}ticked{{else}}unticked {{/if}} action" 
-                                               onclick="contactgroupChangeMember('{{$group.id}}','{{$group.cid}}');return true;"
-                                               {{if $group.ismember}}checked="checked"{{/if}}
-                                       />
-                               {{/if}}                 
-                               {{if $group.edit}}
-                                       <a class="groupsideedit" href="{{$group.edit.href}}" title="{{$edittext}}"><span id="edit-sidebar-group-element-{{$group.id}}" class="group-edit-icon iconspacer small-pencil"><span class="sr-only">{{$edittext}}</span></span></a>
-                               {{/if}}
-                               <a id="sidebar-group-element-{{$group.id}}" class="sidebar-group-element {{if $group.selected}}group-selected{{/if}}" href="{{$group.href}}">{{$group.text}}</a>
-                       </li>
-               {{/foreach}}
-       </ul>
+       <div id="sidebar-group-list">
+               <ul role="menu" id="sidebar-group-ul">
+                       {{foreach $groups as $group}}
+                               <li role="menuitem" class="sidebar-group-li group-{{$group.id}}">
+                                       {{if ! $newgroup}}<span class="notify badge pull-right"></span>{{/if}}
+                                       {{if $group.cid}}
+                                               <input type="checkbox"
+                                                       class="{{if $group.selected}}ticked{{else}}unticked {{/if}} action"
+                                                       onclick="contactgroupChangeMember('{{$group.id}}','{{$group.cid}}');return true;"
+                                                       {{if $group.ismember}}checked="checked"{{/if}}
+                                               />
+                                       {{/if}}
+                                       {{if $group.edit}}
+                                               <a class="groupsideedit" href="{{$group.edit.href}}" title="{{$edittext}}">
+                                                       <span id="edit-sidebar-group-element-{{$group.id}}" class="group-edit-icon iconspacer small-pencil"><span class="sr-only">{{$edittext}}</span></span>
+                                               </a>
+                                       {{/if}}
+                                       <a id="sidebar-group-element-{{$group.id}}" class="sidebar-group-element {{if $group.selected}}group-selected{{/if}}" href="{{$group.href}}">{{$group.text}}</a>
+                               </li>
+                       {{/foreach}}
+               </ul>
        </div>
-  <div id="sidebar-new-group">
-  <a onclick="javascript:$('#group-new-form').fadeIn('fast');return false;">{{$createtext}}</a>
-  <form id="group-new-form" action="group/new" method="post" style="display:none;">
-   <input type="hidden" name="form_security_token" value="{{$form_security_token}}">
-   <input name="groupname" id="id_groupname" placeholder="{{$creategroup}}">
-  </form>
-  </div>
-  {{if $ungrouped}}
-  <div id="sidebar-ungrouped">
-  <a href="nogroup">{{$ungrouped}}</a>
-  </div>
-  {{/if}}
+
+       {{if $newgroup}}
+       <div id="sidebar-new-group">
+               <a onclick="javascript:$('#group-new-form').fadeIn('fast');return false;">{{$createtext}}</a>
+               <form id="group-new-form" action="group/new" method="post" style="display:none;">
+                       <input type="hidden" name="form_security_token" value="{{$form_security_token}}">
+                       <input name="groupname" id="id_groupname" placeholder="{{$creategroup}}">
+               </form>
+       </div>
+       {{else}}
+       <div id="sidebar-edit-groups"><a href="{{$grouppage}}">{{$editgroupstext}}</a></div>
+       {{/if}}
+
+       {{if $ungrouped}}<div id="sidebar-ungrouped"><a href="nogroup">{{$ungrouped}}</a></div>{{/if}}
 </div>
 
 
index b0f267dde9116de2b03e3b347a59df39d63a2aee..86458ded2e0d81c0151cd3b5b27ee7a3481250b4 100644 (file)
@@ -2,7 +2,11 @@
 <div id="group">
 <h3>{{$groupeditor.label_members}}</h3>
 <div id="group-members" class="contact_list">
-{{foreach $groupeditor.members as $c}} {{$c}} {{/foreach}}
+{{if $groupeditor.members }}
+       {{foreach $groupeditor.members as $c}} {{$c}} {{/foreach}}
+{{else}}
+{{$groupeditor.group_is_empty}}
+{{/if}}
 </div>
 <div id="group-members-end"></div>
 <hr id="group-separator" />
index 958ee40143d20beadb1272f4dba9a6d0d96d5a54..24ae0224241e703f2a3c56e823634afc50109601 100644 (file)
@@ -1,6 +1,6 @@
 
 
-<h1>{{$title}}</h1>
+<h1><img src="{{$baseurl}}/images/friendica-32.png"> {{$title}}</h1>
 <h2>{{$pass}}</h2>
 
 
index ca12425f0584bede0e152d94d2477d6de0d9d1b8..10a197482b9b2689bdaa047f93f8f894649025c4 100644 (file)
@@ -1,12 +1,22 @@
 
-<h1>{{$title}}</h1>
+<h1><img src="{{$baseurl}}/images/friendica-32.png"> {{$title}}</h1>
 <h2>{{$pass}}</h2>
 <form  action="{{$baseurl}}/index.php?q=install" method="post">
 <table>
 {{foreach $checks as $check}}
-       <tr><td>{{$check.title}} </td><td><span class="icon s22 {{if $check.status}}on{{else}}{{if $check.required}}off{{else}}yellow{{/if}}{{/if}}"></td><td>{{if $check.required}}(required){{/if}}</td></tr>
+       <tr><td>{{$check.title}} </td><td>
+       {{if $check.status}}
+               <img src="{{$baseurl}}/view/install/green.png" alt="Ok">
+       {{else}}
+               {{if $check.required}}
+                       <img src="{{$baseurl}}/view/install/red.png" alt="Requirement not satisfied">
+               {{else}}
+                       <img src="{{$baseurl}}/view/install/yellow.png" alt="Optional requirement not satisfied">
+               {{/if}}
+       {{/if}}
+       </td><td>{{if $check.required}}(required){{/if}}</td></tr>
        {{if $check.help}}
-       <tr><td colspan="3"><blockquote>{{$check.help}}</blockquote></td></tr>
+       <tr><td class="help" colspan="3"><blockquote>{{$check.help}}</blockquote></td></tr>
        {{/if}}
 {{/foreach}}
 </table>
index f66bf119e88bbf8f6a959ad3ddd723189795e31c..6b6c1c1e64e1d01c6eff9a212a15a264b8c0e28d 100644 (file)
@@ -1,6 +1,6 @@
 
 
-<h1>{{$title}}</h1>
+<h1><img src="{{$baseurl}}/images/friendica-32.png"> {{$title}}</h1>
 <h2>{{$pass}}</h2>
 
 
index 735672fe6e749f3e01dd7299c57ccc8dbb1e406a..8d6823f11414f4902d83fb85200dc9506f36284b 100644 (file)
@@ -1,6 +1,6 @@
 
 
-<h1>{{$title}}</h1>
+<h1><img src="{{$baseurl}}/images/friendica-32.png"> {{$title}}</h1>
 <h2>{{$pass}}</h2>
 
 
index cb841c314d5194cb610fc9eff36edf7c7c48b268..647f261c45f668f684201ec1c95c6fc3ec3d1c7b 100644 (file)
@@ -74,7 +74,7 @@ function initEditor(cb){
                                        }
                                        else {
                                                $('#profile-jot-desc').html('&nbsp;');
-                                       }        
+                                       }
 
                                 //Character count
 
@@ -110,7 +110,7 @@ function initEditor(cb){
                $("a#jot-perms-icon").colorbox({
                        'inline' : true,
                        'transition' : 'elastic'
-               }); 
+               });
        } else {
                if (typeof cb!="undefined") cb();
        }
@@ -127,20 +127,20 @@ function enableOnUser(){
 <script>
        var ispublic = '{{$ispublic}}';
 
-       
+
        $(document).ready(function() {
-               
+
                /* enable tinymce on focus and click */
                $("#profile-jot-text").focus(enableOnUser);
                $("#profile-jot-text").click(enableOnUser);
 
-               
-               
-               
+
+
+
                /* show images / file browser window
-                * 
+                *
                 **/
-       
+
                /* callback */
                $('body').on('fbrowser.image.main', function(e, filename, embedcode, id) {
                        $.colorbox.close();
@@ -150,16 +150,16 @@ function enableOnUser(){
                        $.colorbox.close();
                        addeditortext(embedcode);
                });
-       
+
                $('#wall-image-upload').on('click', function(){
-                       $.colorbox({href: baseurl + "/fbrowser/image/?mode=minimal#main", iframe:true,innerWidth:'500px',innerHeight:'400px'})
+                       Dialog.doImageBrowser("main");
                });
-               
+
                $('#wall-file-upload').on('click', function(){
-                       $.colorbox({href: baseurl + "/fbrowser/file/?mode=minimal#main", iframe:true,innerWidth:'500px',innerHeight:'400px'})
+                       Dialog.doFileBrowser("main");
                });
-               
-               /**     
+
+               /**
                        var uploader = new window.AjaxUpload(
                                'wall-image-upload',
                                { action: 'wall_upload/{{$nickname}}',
@@ -168,7 +168,7 @@ function enableOnUser(){
                                        onComplete: function(file,response) {
                                                addeditortext(response);
                                                $('#profile-rotator').hide();
-                                       }                                
+                                       }
                                }
                        );
                        var file_uploader = new window.AjaxUpload(
@@ -179,10 +179,10 @@ function enableOnUser(){
                                        onComplete: function(file,response) {
                                                addeditortext(response);
                                                $('#profile-rotator').hide();
-                                       }                                
+                                       }
                                }
                        );
-               
+
                }
                **/
        });
@@ -301,9 +301,9 @@ function enableOnUser(){
        }
 
        function itemFiler(id) {
-               
+
                var bordercolor = $("input").css("border-color");
-               
+
                $.get('filer/', function(data){
                        $.colorbox({html:data});
                        $("#id_term").keypress(function(){
@@ -312,7 +312,7 @@ function enableOnUser(){
                        $("#select_term").change(function(){
                                $("#id_term").css("border-color",bordercolor);
                        })
-                       
+
                        $("#filer_save").click(function(e){
                                e.preventDefault();
                                reply = $("#id_term").val();
@@ -345,7 +345,7 @@ function enableOnUser(){
                }
                else
                        tinyMCE.execCommand('mceInsertRawHTML',false,data);
-       }       
+       }
 
        {{$geotag}}
 
diff --git a/view/templates/lang_selector.tpl b/view/templates/lang_selector.tpl
deleted file mode 100644 (file)
index f5fe8be..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" >lang</div>
-<div id="language-selector" style="display: none;" >
-       <form action="#" method="post" >
-               <select name="system_language" onchange="this.form.submit();" >
-                       {{foreach $langs.0 as $v=>$l}}
-                               <option value="{{$v|escape:'html'}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
-                       {{/foreach}}
-               </select>
-       </form>
-</div>
index 80477bc40b3aa956bf0d9d5ea68da3ff089857a0..dd27092e9badb689925bc4bc940c5be704a2237e 100644 (file)
@@ -2,17 +2,32 @@
 <h3>{{$title}}</h3>
 <div id="identity-manage-desc">{{$desc}}</div>
 <div id="identity-manage-choose">{{$choose}}</div>
-<div id="identity-selector-wrapper">
+
+<div id="identity-selector-wrapper" role="menu">
        <form action="manage" method="post" >
-       <select name="identity" size="10" onchange="this.form.submit();" >
 
        {{foreach $identities as $id}}
-               <option {{$id.selected}} value="{{$id.uid}}">{{$id.username}} ({{$id.nickname}})</option>
-       {{/foreach}}
+               <div class="itentity-match-wrapper {{if $id.selected}}selected-identity{{/if}}" id="identity-match-{{$id.uid}}">
+                       <div class="identity-match-photo" id="identity-match-photo-{{$id.uid}}">
+                               <button name="identity" value="{{$id.uid}}" onclick="this.form.submit();" title="{{$id.username}}">
+                                       <img src="{{$id.thumb}}" alt="{{$id.username}}" />
+                                       {{if $id.notifications}}<span class="manage-notify">{{$id.notifications}}</span>{{/if}}
+                               </button>
+                       </div>
 
-       </select>
-       <div id="identity-select-break"></div>
+                       <div class="identity-match-break"></div>
+
+                       <div class="identity-match-desc">
+                               <div class="identity-match-name" id="identity-match-name-{{$id.uid}}">
+                                       {{if $id.selected}}{{$id.username}}{{else}}<a role="menuitem" href="manage?identity={{$id.uid}}">{{$id.username}}</a>{{/if}}
+                               </div>
+                               <div class="identity-match-details" id="identity-match-nick-{{$id.uid}}">({{$id.nickname}})</div>
+                       </div>
+                       <div class="identity-match-end"></div>
+               </div>
+       {{/foreach}}
 
-       {{*<!--<input id="identity-submit" type="submit" name="submit" value="{{$submit}}" />-->*}}
-</div></form>
+       <div class="identity-match-break"></div>
 
+       </form>
+</div>
diff --git a/view/templates/match.tpl b/view/templates/match.tpl
deleted file mode 100644 (file)
index 3ebabf1..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<div class="profile-match-wrapper">
-       <div class="profile-match-photo" id="contact-entry-photo-{{$id}}"
-                onmouseover="if (typeof t{{$id}} != 'undefined') clearTimeout(t{{$id}}); openMenu('contact-photo-menu-button-{{$id}}')" 
-                onmouseout="t{{$id}}=setTimeout('closeMenu(\'contact-photo-menu-button-{{$id}}\'); closeMenu(\'contact-photo-menu-{{$id}}\');',200)" >
-               <a href="{{$url}}">
-                       <img width="80" height="80" src="{{$photo}}" alt="{{$name}}" title="{{$name}}[{{$tags}}]" />
-               </a>
-               {{if $photo_menu}}
-                        <span onclick="openClose('contact-photo-menu-{{$id}}');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-{{$id}}">menu</span>
-                        <div class="contact-photo-menu" id="contact-photo-menu-{{$id}}">
-                                <ul>
-                                        {{foreach $photo_menu as $k=>$c}}
-                                        {{if $c.2}}
-                                        <li><a class="{{$k}}" target="redir" href="{{$c.1}}">{{$c.0}}</a></li>
-                                        {{else}}
-                                        <li><a class="{{$k}}" href="{{$c.1}}">{{$c.0}}</a></li>
-                                        {{/if}}
-                                        {{/foreach}}
-                                </ul>
-                        </div>
-                        {{/if}}
-       </div>
-       <div class="profile-match-break"></div>
-       <div class="profile-match-name">
-               <a href="{{$url}}" title="{{$name}}[{{$tags}}]">{{$name}}</a>
-       </div>
-       <div class="profile-match-end"></div>
-       {{if $connlnk}}
-       <div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}">{{$conntxt}}</a></div>
-       {{/if}}
-
-</div>
index 3ee16e0b2eba32933e85da190529eed49a91f474..903cfcda6910dead31892e1a31345b9c368a09b6 100644 (file)
@@ -1,11 +1,10 @@
-
 <div id="message-sidebar" class="widget">
        <div id="message-new"><a href="{{$new.url}}" accesskey="m" class="{{if $new.sel}}newmessage-selected{{/if}}">{{$new.label}}</a> </div>
-       
-       <ul role="menu" class="message-ul">
-               {{foreach $tabs as $t}}
-                       <li role="menuitem" class="tool"><a href="{{$t.url}}" {{if $t.accesskey}}accesskey="$t.accesskey"{{/if}} class="message-link{{if $t.sel}}message-selected{{/if}}">{{$t.label}}</a></li>
-               {{/foreach}}
-       </ul>
-       
+
+  {{if $tabs}}
+       <div id="message-preview">
+               {{$tabs}}
+       </div>
+  {{/if}}
+
 </div>
index 02b43929575fc766b9b725babb71453875b09ea8..0a086751e32ee14cb0cf8a570a2a4668c6fd125c 100644 (file)
@@ -1,17 +1,24 @@
-<div id="side-bar-photos-albums" class="widget">
+<div id="sidebar-photos-albums" class="widget">
        <h3>{{$title}}</h3>
-       <ul>
-               <li><a href="{{$baseurl}}/photos/{{$nick}}" title="{{$title}}" >{{$recent}}</a></li>
+       <ul role=menu" class="sidebar-photos-albums-ul">
+               <li role="menuitem" class="sidebar-photos-albums-li">
+                       <a href="{{$baseurl}}/photos/{{$nick}}" class="sidebar-photos-albums-element" title="{{$title}}" >{{$recent}}</a>
+               </li>
+
                {{if $albums}}
                {{foreach $albums as $al}}
                {{if $al.text}}
-               <li><a href="{{$baseurl}}/photos/{{$nick}}/album/{{$al.bin2hex}}"><span class="badge pull-right">{{$al.total}}</span>{{$al.text}}</a></li>
+               <li role="menuitem" class="sidebar-photos-albums-li">
+                       <a href="{{$baseurl}}/photos/{{$nick}}/album/{{$al.bin2hex}}" class="sidebar-photos-albums-element">
+                               <span class="badge pull-right">{{$al.total}}</span>{{$al.text}}
+                       </a>
+               </li>
                {{/if}}
                {{/foreach}}
                {{/if}}
        </ul>
 
-        {{if $can_post}}
-        <div class="photos-upload-link" ><a href="{{$upload.1}}">{{$upload.0}}</a></div>
-        {{/if}}
+       {{if $can_post}}
+       <div class="photos-upload-link" ><a href="{{$upload.1}}">{{$upload.0}}</a></div>
+       {{/if}}
 </div>
index 857dfb2003893c6f7907b6cf677ebfae235202c2..18191de03fc4e633c7265fa644af4729a19a6e97 100644 (file)
@@ -3,31 +3,33 @@
 
 <div id="poke-desc">{{$desc}}</div>
 
-<form action="poke" method="get">
-<br />
-<br />
-
-<div id="poke-recip-label">{{$clabel}}</div>
-<br />
-<input id="poke-recip" type="text" size="64" maxlength="255" value="{{$name|escape:'html'}}" name="pokename" autocomplete="off" />
-<input id="poke-recip-complete" type="hidden" value="{{$id}}" name="cid" />
-<input id="poke-parent" type="hidden" value="{{$parent}}" name="parent" />
-<br />
-<br />
-<div id="poke-action-label">{{$choice}}</div>
-<br />
-<br />
-<select name="verb" id="poke-verb-select" >
-{{foreach $verbs as $v}}
-<option value="{{$v.0}}">{{$v.1}}</option>
-{{/foreach}}
-</select>
-<br />
-<br />
-<div id="poke-private-desc">{{$prv_desc}}</div>
-<input type="checkbox" name="private" {{if $parent}}disabled="disabled"{{/if}} value="1" />
-<br />
-<br />
-<input type="submit" name="submit" value="{{$submit|escape:'html'}}" />
-</form>
+
+<div id="poke-wrapper">
+       <form action="poke" method="get">
+
+       <div id="poke-recipient">
+               <div id="poke-recip-label">{{$clabel}}</div>
+               <input id="poke-recip" type="text" size="64" maxlength="255" value="{{$name|escape:'html'}}" name="pokename" autocomplete="off" />
+               <input id="poke-recip-complete" type="hidden" value="{{$id}}" name="cid" />
+               <input id="poke-parent" type="hidden" value="{{$parent}}" name="parent" />
+       </div>
+
+       <div id="poke-action">
+               <div id="poke-action-label">{{$choice}}</div>
+               <select name="verb" id="poke-verb-select" >
+               {{foreach $verbs as $v}}
+               <option value="{{$v.0}}">{{$v.1}}</option>
+               {{/foreach}}
+               </select>
+       </div>
+
+       <div id="poke-privacy-settings">
+               <div id="poke-private-desc">{{$prv_desc}}</div>
+               <input type="checkbox" name="private" {{if $parent}}disabled="disabled"{{/if}} value="1" />
+       </div>
+
+       <input type="submit" name="submit" value="{{$submit|escape:'html'}}" />
+
+       </form>
+</div>
 
diff --git a/view/templates/poke_head.tpl b/view/templates/poke_head.tpl
new file mode 100644 (file)
index 0000000..6e30eb7
--- /dev/null
@@ -0,0 +1,18 @@
+<script src="{{$baseurl}}/library/jquery_ac/friendica.complete.js" ></script>
+
+<script>$(document).ready(function() {
+       var a;
+       a = $("#poke-recip").autocomplete({
+               serviceUrl: '{{$base}}/acl',
+               minChars: 2,
+               width: 350,
+               onSelect: function(value,data) {
+                       $("#poke-recip-complete").val(data);
+               }
+       });
+       a.setOptions({ params: { type: 'a' }});
+
+
+});
+
+</script>
\ No newline at end of file
index 40b3f24f72125c7da6d3e31f8243a3aaa884d118..084fdf3b77dd508f7d65cb73c09756040961f6f2 100644 (file)
 {{/if}}
 
 
+{{if $profile.forumlist}}
+<dl id="aprofile-forumlist" class="aprofile">
+ <dt>{{$profile.forumlist.0}}</dt>
+ <dd>{{$profile.forumlist.1}}</dd>
+</dl>
+{{/if}}
 
 
index 480add44042ea942bb94978048a13d012c6f69e3..76445685d5968e9f653f68098c30fa50d677647e 100644 (file)
@@ -21,6 +21,8 @@
 <form id="profile-edit-form" name="form1" action="profiles/{{$profile_id}}" method="post" >
 <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
 
+{{if $detailled_profile}}
+{{include file="field_yesno.tpl" field=$details}}
 <div id="profile-edit-profile-name-wrapper" >
 <label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
 <input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name|escape:'html'}}" /><div class="required">*</div>
 </div>
 <div class="profile-edit-submit-end"></div>
 
+{{else}}
+{{if $personal_account}}
+{{include file="field_yesno.tpl" field=$details}}
+{{/if}}
+<div id="profile-edit-profile-name-wrapper" >
+<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
+<input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name|escape:'html'}}" /><div class="required">*</div>
+</div>
+<div id="profile-edit-profile-name-end"></div>
+
+<div id="profile-edit-name-wrapper" >
+<label id="profile-edit-name-label" for="profile-edit-name" >{{$lbl_fullname}} </label>
+<input type="text" size="32" name="name" id="profile-edit-name" value="{{$name|escape:'html'}}" />
+</div>
+<div id="profile-edit-name-end"></div>
+
+{{if $personal_account}}
+<div id="profile-edit-gender-wrapper" >
+<label id="profile-edit-gender-label" for="gender-select" >{{$lbl_gender}} </label>
+{{$gender}}
+</div>
+<div id="profile-edit-gender-end"></div>
+
+<div id="profile-edit-dob-wrapper" >
+<label id="profile-edit-dob-label" for="dob-select" >{{$lbl_bd}} </label>
+<div id="profile-edit-dob" >
+{{$dob}} {{$age}}
+</div>
+</div>
+<div id="profile-edit-dob-end"></div>
+{{/if}}
+
+<div id="profile-edit-homepage-wrapper" >
+<label id="profile-edit-homepage-label" for="profile-edit-homepage" >{{$lbl_homepage}} </label>
+<input type="url" size="32" name="homepage" id="profile-edit-homepage" value="{{$homepage|escape:'html'}}" />
+</div>
+<div id="profile-edit-homepage-end"></div>
+
+{{$hide_friends}}
+
+<div id="profile-edit-address-wrapper" >
+<label id="profile-edit-address-label" for="profile-edit-address" >{{$lbl_address}} </label>
+<input type="text" size="32" name="address" id="profile-edit-address" value="{{$address|escape:'html'}}" />
+</div>
+<div id="profile-edit-address-end"></div>
+
+<div id="profile-edit-locality-wrapper" >
+<label id="profile-edit-locality-label" for="profile-edit-locality" >{{$lbl_city}} </label>
+<input type="text" size="32" name="locality" id="profile-edit-locality" value="{{$locality|escape:'html'}}" />
+</div>
+<div id="profile-edit-locality-end"></div>
+
+
+<div id="profile-edit-postal-code-wrapper" >
+<label id="profile-edit-postal-code-label" for="profile-edit-postal-code" >{{$lbl_zip}} </label>
+<input type="text" size="32" name="postal_code" id="profile-edit-postal-code" value="{{$postal_code|escape:'html'}}" />
+</div>
+<div id="profile-edit-postal-code-end"></div>
+
+<div id="profile-edit-country-name-wrapper" >
+<label id="profile-edit-country-name-label" for="profile-edit-country-name" >{{$lbl_country}} </label>
+<select name="country_name" id="profile-edit-country-name" onChange="Fill_States('{{$region}}');">
+<option selected="selected" >{{$country_name}}</option>
+<option>temp</option>
+</select>
+</div>
+<div id="profile-edit-country-name-end"></div>
+
+<div id="profile-edit-region-wrapper" >
+<label id="profile-edit-region-label" for="profile-edit-region" >{{$lbl_region}} </label>
+<select name="region" id="profile-edit-region" onChange="Update_Globals();" >
+<option selected="selected" >{{$region}}</option>
+<option>temp</option>
+</select>
+</div>
+<div id="profile-edit-region-end"></div>
+
+<div id="profile-edit-pubkeywords-wrapper" >
+<label id="profile-edit-pubkeywords-label" for="profile-edit-pubkeywords" >{{$lbl_pubkey}} </label>
+<input type="text" size="32" name="pub_keywords" id="profile-edit-pubkeywords" title="{{$lbl_ex2}}" value="{{$pub_keywords|escape:'html'}}" />
+</div><div id="profile-edit-pubkeywords-desc">{{$lbl_pubdsc}}</div>
+<div id="profile-edit-pubkeywords-end"></div>
+
+<div id="profile-edit-prvkeywords-wrapper" >
+<label id="profile-edit-prvkeywords-label" for="profile-edit-prvkeywords" >{{$lbl_prvkey}} </label>
+<input type="text" size="32" name="prv_keywords" id="profile-edit-prvkeywords" title="{{$lbl_ex2}}" value="{{$prv_keywords|escape:'html'}}" />
+</div><div id="profile-edit-prvkeywords-desc">{{$lbl_prvdsc}}</div>
+<div id="profile-edit-prvkeywords-end"></div>
+
+<div id="about-jot-wrapper" >
+<p id="about-jot-desc" >
+{{$lbl_about}}
+</p>
+
+<textarea rows="10" cols="72" id="profile-about-text" name="about" >{{$about}}</textarea>
+
+</div>
+<div id="about-jot-end"></div>
+
+<div class="profile-edit-submit-wrapper" >
+<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
+</div>
+<div class="profile-edit-submit-end"></div>
 
+        <input type="hidden" name="pdesc" id="profile-edit-pdesc" value="{{$pdesc}}" />
+        <input type="hidden" id="contact-jot-text" name="contact" value="{{$contact}}" />
+        <input type="hidden" name="hometown" id="profile-edit-hometown" value="{{$hometown}}" />
+        <input type="hidden" name="politic" id="profile-edit-politic" value="{{$politic}}" />
+        <input type="hidden" name="religion" id="profile-edit-religion" value="{{$religion}}" />
+        <input type="hidden" id="likes-jot-text" name="likes" value="{{$likes}}" />
+        <input type="hidden" id="dislikes-jot-text" name="dislikes" value="{{$dislikes}}" />
+        <input type="hidden" name="with" id="profile-edit-with" value="{{$with}}" />
+        <input type="hidden" name="howlong" id="profile-edit-howlong" value="{{$howlong}}" />
+        <input type="hidden" id="romance-jot-text" name="romance" value="{{$romance}}" />
+        <input type="hidden" id="work-jot-text" name="work" value="{{$work}}" />
+        <input type="hidden" id="education-jot-text" name="education" value="{{$education}}" />
+        <input type="hidden" id="interest-jot-text" name="interest" value="{{$interest}}" />
+        <input type="hidden" id="music-jot-text" name="music" value="{{$music}}" />
+        <input type="hidden" id="book-jot-text" name="book" value="{{$book}}" />
+        <input type="hidden" id="tv-jot-text" name="tv" value="{{$tv}}" />
+        <input type="hidden" id="film-jot-text" name="film" value="{{$film}}" />
+
+{{/if}}
 </form>
 </div>
 <script type="text/javascript">Fill_Country('{{$country_name}}');Fill_States('{{$region}}');</script>
index fe5762973fbb0113c8d3b7b5283d85f2a1576d3b..0a3a13f9dc633ece2959c9f64518bdd9acb22635 100644 (file)
@@ -3,15 +3,16 @@
 
        <div class="fn label p-name">{{$profile.name}}</div>
        
-                               
+       {{if $profile.addr}}<div class="p-addr">{{$profile.addr}}</div>{{/if}}
        
-       {{if $pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
+       {{if $profile.pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
 
        {{if $profile.picdate}}
                <div id="profile-photo-wrapper"><a href="{{$profile.url}}"><img class="photo u-photo" width="175" height="175" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.name}}"></a></div>
        {{else}}
                <div id="profile-photo-wrapper"><a href="{{$profile.url}}"><img class="photo u-photo" width="175" height="175" src="{{$profile.photo}}" alt="{{$profile.name}}"></a></div>
        {{/if}}
+       {{if $account_type}}<div class="account-type">{{$account_type}}</div>{{/if}}
        {{if $profile.network_name}}<dl class="network"><dt class="network-label">{{$network}}</dt><dd class="x-network">{{$profile.network_name}}</dd></dl>{{/if}}
        {{if $location}}
                <dl class="location"><dt class="location-label">{{$location}}</dt> 
@@ -55,6 +56,9 @@
                        {{if $wallmessage}}
                                <li><a id="wallmessage-link" href="wallmessage/{{$profile.nickname}}">{{$wallmessage}}</a></li>
                        {{/if}}
+                       {{if $subscribe_feed}}
+                               <li><a id="subscribe-feed-link" href="dfrn_poll/{{$profile.nickname}}">{{$subscribe_feed}}</a></li>
+                       {{/if}}
                </ul>
        </div>
 </div>
index 8614fb883b0866fa06912dd3ae18fc48afa49658..f17dcf7ad40759f893c047b764c282bbeaab6ca5 100644 (file)
@@ -1,4 +1,4 @@
 <div class="section-title-wrapper">
-       <h2>{{$title}}</h2>
+       {{if $title}}<h2>{{$title}}</h2>{{/if}}
        <div class="clear"></div>
 </div>
index 26c44f91c35803ac0f24126cf63452a59e075151..c3852845701ea8ad9d225b08e5d6be9b69e8ade5 100644 (file)
@@ -27,6 +27,7 @@
 {{include file="field_input.tpl" field=$email}}
 {{include file="field_password.tpl" field=$password4}}
 {{include file="field_custom.tpl" field=$timezone}}
+{{include file="field_select.tpl" field=$language}}
 {{include file="field_input.tpl" field=$defloc}}
 {{include file="field_checkbox.tpl" field=$allowloc}}
 
 (function(){
     var elm = $("#id_{{$desktop_notifications.0}}_onoff");
     var ckbox = $("#id_{{$desktop_notifications.0}}");
-    
+
     if (getNotificationPermission() === 'granted') {
         ckbox.val(1);
         elm.find(".off").addClass("hidden");
        if (getNotificationPermission() === null) {
                elm.parent(".field.yesno").hide();
        }
-    
+
     $("#id_{{$desktop_notifications.0}}_onoff").on("click", function(e){
-        
+
         if (Notification.permission === 'granted') {
             localStorage.setItem('notification-permissions', ckbox.val()==1 ? 'granted' : 'denied');
         } else if (Notification.permission === 'denied') {
             localStorage.setItem('notification-permissions', 'denied');
-            
+
             ckbox.val(0);
             elm.find(".on").addClass("hidden");
             elm.find(".off").removeClass("hidden");
-            
+
         } else if (Notification.permission === 'default') {
             Notification.requestPermission(function(choice) {
                 if (choice === 'granted') {
                 }
             });
         }
-               
+
                //console.log(getNotificationPermission());
-               
-        
+
+
     })
 })();
 </script>
diff --git a/view/templates/suggest_friends.tpl b/view/templates/suggest_friends.tpl
deleted file mode 100644 (file)
index a64c05d..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-
-<div class="profile-match-wrapper">
-       <a href="{{$ignlnk}}" title="{{$ignore}}" class="icon drophide profile-match-ignore" onmouseout="imgdull(this);" onmouseover="imgbright(this);" onclick="return confirmDelete();" ></a>
-       <div class="profile-match-photo">
-               <a href="{{$url}}">
-                       <img src="{{$photo}}" alt="{{$name}}" width="80" height="80" title="{{$name}} [{{$url}}]" />
-               </a>
-       </div>
-       <div class="profile-match-break"></div>
-       <div class="profile-match-name">
-               <a href="{{$url}}" title="{{$name}}">{{$name}}</a>
-       </div>
-       <div class="profile-match-end"></div>
-       {{if $connlnk}}
-       <div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}">{{$conntxt}}</a></div>
-       {{/if}}
-</div>
\ No newline at end of file
index 04e26607a1daf67b26e4ed115c23a75979ed3859..ec59fa46dcb731262955b1a994c2c1b41785b2a1 100644 (file)
@@ -1,9 +1,14 @@
 
 <div class="vcard">
-        <div class="fn">{{$name}}</div>
-        {{if $url}}
-        <div id="profile-photo-wrapper"><a href="{{$url}}"><img class="vcard-photo photo" style="width: 175px; height: 175px;" src="{{$photo}}" alt="{{$name}}" /></a></div>
-        {{else}}
-        <div id="profile-photo-wrapper"><img class="vcard-photo photo" style="width: 175px; height: 175px;" src="{{$photo}}" alt="{{$name}}" /></div>
-        {{/if}}
+       <div class="fn">{{$name}}</div>
+       {{if $addr}}<div class="p-addr">{{$addr}}</div>{{/if}}
+       {{if $pdesc}}<div class="title">{{$pdesc}}</div>{{/if}}
+       {{if $url}}
+       <div id="profile-photo-wrapper"><a href="{{$url}}"><img class="vcard-photo photo" style="width: 175px; height: 175px;" src="{{$photo}}" alt="{{$name}}" /></a></div>
+       {{else}}
+       <div id="profile-photo-wrapper"><img class="vcard-photo photo" style="width: 175px; height: 175px;" src="{{$photo}}" alt="{{$name}}" /></div>
+       {{/if}}
+       {{if $account_type}}<div class="account-type">{{$account_type}}</div>{{/if}}
+       {{if $network_name}}<dl class="network"><dt class="network-label">{{$network}}</dt><dd class="x-network">{{$network_name}}</dd></dl>{{/if}}
+       <div id="profile-vcard-break"></div>
 </div>
index ff33d65213195492b1b59763b4a60f91a6192969..3ea277a42bd6ea0cdf0f1a315de95baf866191ff 100644 (file)
@@ -1,10 +1,14 @@
 
-<h3>{{$title}}</h3>
+{{include file="section_title.tpl"}}
 
+{{$tab_str}}
+
+<div id="viewcontact_wrapper-{{$id}}">
 {{foreach $contacts as $contact}}
        {{include file="contact_template.tpl"}}
 {{/foreach}}
-
+</div>
+<div class="clear"></div>
 <div id="view-contact-end"></div>
 
 {{$paginate}}
diff --git a/view/templates/widget_forumlist.tpl b/view/templates/widget_forumlist.tpl
new file mode 100644 (file)
index 0000000..32da71f
--- /dev/null
@@ -0,0 +1,46 @@
+<script>
+
+function showHideForumlist() {
+       if( $("li[id^='forum-widget-entry-extended-']").is(':visible')) {
+               $("li[id^='forum-widget-entry-extended-']").hide();
+               $("li#forum-widget-collapse").html(window.showMore);
+
+       }
+       else {
+               $("li[id^='forum-widget-entry-extended-']").show();
+               $("li#forum-widget-collapse").html(window.showFewer);
+       }
+}
+</script>
+
+<div id="forumlist-sidebar" class="widget">
+       <h3 id="forumlist">{{$title}}</h3>
+
+       <ul id="forumlist-sidbar-ul" role="menu">
+               {{foreach $forums as $forum}}
+               {{if $forum.id <= $visible_forums}}
+               <li class="forum-widget-entry forum-{{$forum.cid}}" id="forum-widget-entry-{{$forum.id}}" role="menuitem">
+                       <span class="notify badge pull-right"></span>
+                       <a href="{{$forum.external_url}}" title="{{$forum.link_desc}}" class="label sparkle" target="_blank">
+                               <img class="forumlist-img" src="{{$forum.micro}}" alt="{{$forum.link_desc}}" />
+                       </a>
+                       <a class="forum-widget-link {{if $forum.selected}}forum-selected{{/if}}" id="forum-widget-link-{{$forum.id}}" href="{{$forum.url}}" >{{$forum.name}}</a>
+               </li>
+               {{/if}}
+       
+               {{if $forum.id > $visible_forums}}
+               <li class="forum-widget-entry forum-{{$forum.cid}}" id="forum-widget-entry-extended-{{$forum.id}}" role="menuitem" style="display: none;">
+                       <span class="notify badge pull-right"></span>
+                       <a href="{{$forum.external_url}}" title="{{$forum.link_desc}}" class="label sparkle" target="_blank">
+                               <img class="forumlist-img" src="{{$forum.micro}}" alt="{{$forum.link_desc}}" />
+                       </a>
+                       <a class="forum-widget-link {{if $forum.selected}}forum-selected{{/if}}" id="forum-widget-link-{{$forum.id}}" href="{{$forum.url}}" >{{$forum.name}}</a>
+               </li>
+               {{/if}}
+               {{/foreach}}
+
+               {{if $total > $visible_forums }}
+               <li onclick="showHideForumlist(); return false;" id="forum-widget-collapse" class="forum-widget-link fakelink tool">{{$showmore}}</li>
+               {{/if}}
+       </ul>
+</div>
index b32523fdb8a7f65d760600e5f0cba9cd21980f55..97743e943e632424bcfa6d57ba96efff3869c0e5 100644 (file)
@@ -44,7 +44,7 @@ input {
        border: 1px solid #666666;\r
        -moz-border-radius: 3px;\r
        -webkit-border-radius: 3px;\r
-       border-radius: 3px;     \r
+       border-radius: 3px;\r
        padding: 3px;\r
 }\r
 \r
@@ -74,7 +74,7 @@ img { border :0px; }
        background: #EEE;\r
        color: #444;\r
        padding: 10px;\r
-       margin-top: 20px; \r
+       margin-top: 20px;\r
 }\r
 \r
 blockquote {\r
@@ -96,7 +96,7 @@ code {
        background: #EEE;\r
        color: #444;\r
        padding: 10px;\r
-       margin-top: 20px; \r
+       margin-top: 20px;\r
 }\r
 \r
 blockquote {\r
@@ -200,10 +200,10 @@ nav #banner #logo-text a:hover { text-decoration: none; }
        border: 1px solid #babdb6;\r
        border-bottom: 0px;\r
        background-color: #aec0d3;\r
-       color: #565854;         \r
+       color: #565854;\r
        -moz-border-radius: 3px 3px 0px 0px;\r
        -webkit-border-radius: 3px 3px 0px 0px;\r
-       border-radius: 3px 3px 0px 0px; \r
+       border-radius: 3px 3px 0px 0px;\r
 }\r
 \r
 .nav-commlink.selected {\r
@@ -376,7 +376,7 @@ section {
        background-repeat: no-repeat;\r
 \r
        min-height: 112px;\r
-       border-top: 1px solid #babdb6;  \r
+       border-top: 1px solid #babdb6;\r
        overflow-x:hidden;\r
 }\r
 \r
@@ -388,7 +388,7 @@ footer {
 \r
 .tabs {\r
        /*background-image: url(head.jpg);\r
-       background-repeat: repeat-x;    \r
+       background-repeat: repeat-x;\r
        background-position: 0px -20px;*/\r
        border-bottom: 1px solid #babdb6;\r
        padding:0px;\r
@@ -416,7 +416,7 @@ footer {
 }\r
 .tab.active {\r
        font-weight: bold;\r
-       \r
+\r
 }\r
 #events-tab {\r
        display: none;\r
@@ -465,14 +465,14 @@ navigation-messages-wrapper,
 }\r
 \r
 /* from default */\r
-#jot-perms-icon, \r
+#jot-perms-icon,\r
 #profile-location,\r
 #profile-nolocation,\r
-#profile-youtube, \r
-#profile-video, \r
+#profile-youtube,\r
+#profile-video,\r
 #profile-audio,\r
 #profile-link,\r
-#profile-title, \r
+#profile-title,\r
 #wall-image-upload,\r
 #wall-file-upload,\r
 #profile-upload-wrapper,\r
@@ -502,12 +502,12 @@ navigation-messages-wrapper,
 #jot-category:-moz-placeholder{font-weight: normal;}*/\r
 #profile-jot-text::-webkit-input-placeholder{font-weight: bold;}\r
 #profile-jot-text:-moz-placeholder{font-weight: bold; font-size:18px; color: graytext}\r
-       \r
+\r
 #jot-title:hover,\r
 #jot-title:focus,\r
 #jot-category:hover,\r
 #jot-category:focus {\r
-       border: 1px solid #cccccc; \r
+       border: 1px solid #cccccc;\r
 }\r
 \r
 /*.jothidden { display:none; }*/\r
@@ -532,7 +532,7 @@ navigation-messages-wrapper,
        padding: 3px;\r
        -moz-border-radius: 3px;\r
        -webkit-border-radius: 3px;\r
-       border-radius: 3px;     \r
+       border-radius: 3px;\r
        border: 1px solid #CCCCCC;\r
        background: #F8F8F8;\r
        font-weight: bold;\r
@@ -542,7 +542,7 @@ navigation-messages-wrapper,
 /*     padding: 3px;\r
        -moz-border-radius: 3px;\r
        -webkit-border-radius: 3px;\r
-       border-radius: 3px;     \r
+       border-radius: 3px;\r
        border: 1px solid #CCCCCC;*/\r
        background: #F8F8F8;\r
        font-weight: bold;\r
@@ -630,7 +630,7 @@ navigation-messages-wrapper,
 }\r
 \r
 #login-submit-button {\r
-       margin-top: 10px; \r
+       margin-top: 10px;\r
        margin-left: 200px;\r
 }*/\r
 \r
@@ -1041,7 +1041,7 @@ input#dfrn-url {
     clear: left;\r
     color: #666666;\r
     display: block;\r
-    margin-bottom: 20px        \r
+    margin-bottom: 20px\r
 }\r
 \r
 #profile-edit-profile-name-end,\r
@@ -1126,7 +1126,7 @@ input#dfrn-url {
 /*     width: 120px;\r
        height: 120px;*/\r
        padding-left: 15px;\r
-       padding-right: 15px; \r
+       padding-right: 15px;\r
        width: 95px;\r
        height: 200px;\r
 }\r
@@ -1264,7 +1264,7 @@ input#dfrn-url {
        display: block;\r
        position: absolute;\r
        background-image: url("photo-menu.jpg");\r
-       background-position: top left; \r
+       background-position: top left;\r
        background-repeat: no-repeat;\r
        margin: 0px; padding: 0px;\r
        width: 16px;\r
@@ -1273,7 +1273,7 @@ input#dfrn-url {
        overflow: hidden;\r
        text-indent: 40px;\r
        display: none;\r
-       \r
+\r
 }\r
 .wall-item-photo-menu {\r
        width: auto;\r
@@ -1318,7 +1318,7 @@ input#dfrn-url {
        margin-top: 1em;\r
        left: 105px;\r
        position: absolute;\r
-       top: 1px;       \r
+       top: 1px;\r
 }\r
 .comment .wall-item-lock {\r
        margin-top: 0px;\r
@@ -1370,11 +1370,11 @@ input#dfrn-url {
 }\r
 .star-item {\r
        margin-left: 10px;\r
-       float: left;    \r
+       float: left;\r
 }\r
 .tag-item {\r
        margin-left: 10px;\r
-       float: left;    \r
+       float: left;\r
 }\r
 \r
 .filer-item {\r
@@ -1412,7 +1412,7 @@ input#dfrn-url {
        border-radius: 7px;\r
 }\r
 .comment .wall-item-photo {\r
-       width: 50px !important; \r
+       width: 50px !important;\r
        height: 50px !important;\r
 }\r
 .wall-item-content {\r
@@ -1433,7 +1433,7 @@ input#dfrn-url {
 .wall-item-title {\r
        /*float: left;*/\r
        font-weight: bold;\r
-       font-size: 1.6em; \r
+       font-size: 1.6em;\r
        /*width: 450px;*/\r
 }\r
 \r
@@ -1522,7 +1522,7 @@ input#dfrn-url {
        background-repeat: repeat-x;*/\r
        border-bottom-left-radius: 10px;\r
        border-bottom-right-radius: 10px;\r
-} \r
+}\r
 \r
 \r
 .comment-edit-wrapper {\r
@@ -1566,7 +1566,7 @@ input#dfrn-url {
 /*     float: left;*/\r
        -moz-border-radius: 3px;\r
        -webkit-border-radius: 3px;\r
-       border-radius: 3px;     \r
+       border-radius: 3px;\r
        border: 1px solid #cccccc;\r
        padding: 3px 1px 1px 3px;\r
 }\r
@@ -1624,7 +1624,7 @@ input#dfrn-url {
        padding-top: 0.5em;\r
        margin-top: 1em;\r
        margin-bottom: 1em;\r
-       \r
+\r
 }\r
 .shared_header img {\r
        float: left;\r
@@ -2149,7 +2149,7 @@ input#profile-jot-email {
 .contact-photo-menu-button {\r
 /*     position: absolute;\r
        background-image: url("photo-menu.jpg");\r
-       background-position: top left; \r
+       background-position: top left;\r
        background-repeat: no-repeat;\r
        margin: 0px; padding: 0px;\r
        width: 16px;\r
@@ -2158,7 +2158,7 @@ input#profile-jot-email {
        overflow: hidden;\r
        text-indent: 40px;\r
        display: none;*/\r
-       \r
+\r
 }\r
 .contact-photo-menu {\r
        width: 130px;\r
@@ -2217,7 +2217,7 @@ input#profile-jot-email {
        padding: 3px 0px 0px 5px;\r
        -moz-border-radius: 3px;\r
        -webkit-border-radius: 3px;\r
-       border-radius: 3px;     \r
+       border-radius: 3px;\r
 }\r
 \r
 \r
@@ -2351,7 +2351,7 @@ input#profile-jot-email {
        margin: 4px;\r
 }\r
 .acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;}\r
-.acl-list-item a { \r
+.acl-list-item a {\r
        font-size: 8px;\r
        display: block;\r
        width: 40px;\r
@@ -2670,15 +2670,15 @@ aside input[type='text'] {
        margin-top: 15px;\r
        margin-right: 15px;\r
        margin-left: 15px;\r
-/*     width: 200px; height: 200px; \r
-       overflow: hidden; \r
+/*     width: 200px; height: 200px;\r
+       overflow: hidden;\r
        position: relative; */\r
 }\r
 .photo-album-image-wrapper .caption {\r
-       display: none; \r
+       display: none;\r
        width: 100%;\r
 /*     position: absolute; */\r
-       bottom: 0px; \r
+       bottom: 0px;\r
        padding: 0.5em 0.5em 0px 0.5em;\r
        background-color: rgba(245, 245, 255, 0.8);\r
        border-bottom: 2px solid #CCC;\r
@@ -2694,7 +2694,7 @@ aside input[type='text'] {
 }\r
 \r
 .photo-top-image-wrapper {\r
-/*     position: relative; \r
+/*     position: relative;\r
        float: left;*/\r
        display: inline-block;\r
        vertical-align: top;\r
@@ -2702,7 +2702,7 @@ aside input[type='text'] {
        margin-right: 15px;\r
        margin-left: 15px;\r
        margin-bottom: 15px;\r
-/*     width: 200px; height: 200px; \r
+/*     width: 200px; height: 200px;\r
        overflow: hidden; */\r
 }\r
 .photo-top-image-wrapper img {\r
@@ -2715,7 +2715,7 @@ aside input[type='text'] {
        width: 100%;\r
        min-height: 2em;\r
 /*     position: absolute;  */\r
-       bottom: 0px; \r
+       bottom: 0px;\r
        padding: 0px 3px;\r
        padding-top: 0.5em;\r
        background-color: rgb(255, 255, 255);\r
@@ -2794,7 +2794,7 @@ aside input[type='text'] {
 }\r
 \r
 #profile-jot-banner-end {\r
-       /* clear: both; */ \r
+       /* clear: both; */\r
 }\r
 \r
 #photos-upload-select-files-text {\r
@@ -3135,7 +3135,7 @@ aside input[type='text'] {
 }\r
 \r
 /* end from default */\r
-       \r
+\r
 \r
 .fn {\r
        padding: 1em 0px 5px 12px;\r
@@ -3154,7 +3154,7 @@ aside input[type='text'] {
 \r
 #birthday-title {\r
        float: left;\r
-       font-weight: bold;      \r
+       font-weight: bold;\r
 }\r
 \r
 #birthday-adjust {\r
@@ -3281,7 +3281,7 @@ aside input[type='text'] {
        clear: both;\r
 }\r
 \r
\r
+\r
 .calendar {\r
        font-family: Courier, monospace;\r
 }\r
@@ -3394,11 +3394,6 @@ aside input[type='text'] {
        margin-bottom: 15px;\r
 }\r
 \r
-#language-selector {\r
-       position: absolute;\r
-       top: 0px;\r
-       left: 16px;\r
-}\r
 \r
 #group-members {\r
        margin-top: 20px;\r
@@ -3496,7 +3491,7 @@ aside input[type='text'] {
 \r
 \r
 #netsearch-box {\r
-       margin-top: 20px;       \r
+       margin-top: 20px;\r
 }\r
 \r
 #netsearch-box #search-submit {\r
@@ -3576,20 +3571,6 @@ aside input[type='text'] {
        text-decoration: underline;\r
 }\r
 \r
-#lang-select-icon {\r
-       cursor: pointer;\r
-       position: fixed;\r
-       left: 0px;\r
-       top: 0px;\r
-       opacity: 0.2;\r
-       filter:alpha(opacity=20);\r
-}\r
-\r
-#lang-select-icon:hover {\r
-       opacity: 1;\r
-       filter:alpha(opacity=100);\r
-}\r
-\r
 .notif-image {\r
        height: 80px;\r
        width: 80px;\r
@@ -3601,7 +3582,6 @@ aside input[type='text'] {
 }\r
 \r
 \r
-\r
 /**\r
  * Plugins settings\r
  */\r
@@ -3610,7 +3590,7 @@ aside input[type='text'] {
 .settings-heading {\r
        border-bottom: 1px solid #babdb6;\r
 }\r
\r
+\r
 \r
 \r
 /**\r
@@ -3691,7 +3671,7 @@ aside input[type='text'] {
        font-weight: bold;\r
        background-color: #FF0000;\r
        padding: 0em 0.3em;\r
-       \r
+\r
 }\r
 #adminpage dl {\r
        clear: left;\r
@@ -3751,7 +3731,7 @@ aside input[type='text'] {
 /*\r
  * UPDATE\r
  */\r
-.popup {       \r
+.popup {\r
        width: 100%; height: 100%;\r
        top:0px; left:0px;\r
        position: absolute;\r
@@ -3772,7 +3752,7 @@ aside input[type='text'] {
        border: 4px solid #000000;\r
        background-color: #FFFFFF;\r
 }\r
-.popup .panel .panel_text { display: block; overflow: auto; height: 80%; } \r
+.popup .panel .panel_text { display: block; overflow: auto; height: 80%; }\r
 .popup .panel .panel_in { width: 100%; height: 100%;   position: relative; }\r
 .popup .panel .panel_actions {  width: 100%; bottom: 4px; left: 0px; position: absolute; }\r
 .panel_text .progress { width: 50%; overflow: hidden; height: auto; border: 1px solid #cccccc; margin-bottom: 5px}\r
@@ -3785,7 +3765,7 @@ aside input[type='text'] {
        height: auto; overflow: auto;\r
        border-bottom: 2px solid #cccccc;\r
        padding-bottom: 1em;\r
-       margin-bottom: 1em;     \r
+       margin-bottom: 1em;\r
 }\r
 .oauthapp img {\r
        float: left;\r
@@ -4277,7 +4257,7 @@ ul.notifications-menu-popup {
 }\r
 \r
 #recip {\r
-       \r
+\r
 }\r
 .autocomplete-w1 { background: #ffffff; no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }\r
 .autocomplete { color:#000; border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px;  _margin:0; _overflow-x:hidden; }\r
diff --git a/view/theme/decaf-mobile/templates/lang_selector.tpl b/view/theme/decaf-mobile/templates/lang_selector.tpl
deleted file mode 100644 (file)
index d9a90e7..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
-<div id="language-selector" style="display: none;" >
-       <form action="#" method="post" >
-               <select name="system_language" onchange="this.form.submit();" >
-                       {{foreach $langs.0 as $v=>$l}}
-                               <option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
-                       {{/foreach}}
-               </select>
-       </form>
-</div>
index 6196f80a3cb4cb953b6cb86db51dab4d9c53fc2b..94a8d55422b6ddae53fe81acfeb7b38302094707 100644 (file)
@@ -27,6 +27,7 @@
 {{include file="field_input.tpl" field=$email}}
 {{include file="field_password.tpl" field=$password4}}
 {{include file="field_custom.tpl" field=$timezone}}
+{{include file="field_select.tpl" field=$language}}
 {{include file="field_input.tpl" field=$defloc}}
 {{include file="field_checkbox.tpl" field=$allowloc}}
 
index 4af085d89547fa1630e33543ac54670baf0a2966..dad55a325db267c0c082f48e825400885b26c673 100644 (file)
@@ -125,8 +125,6 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
 #notify-update{background-position:-60px 0px;}
 #home-update{background-position:-90px 0px;}
 #intro-update{background-position:-120px 0px;}
-#lang-select-icon{cursor:pointer;position:fixed;left:28px;bottom:6px;z-index:10;}
-#language-selector{position:fixed;bottom:2px;left:52px;z-index:10;}
 .menu-popup{position:absolute;display:none;background:white;color:#2e2f2e;margin:0px;padding:0px;font-size:small;line-height:1.2;border:3px solid #88a9d2;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100000;-moz-box-shadow:5px 5px 5px 0px #111111;-o-box-shadow:5px 5px 5px 0px #111111;-webkit-box-shadow:5px 5px 5px 0px #111111;-ms-box-shadow:5px 5px 5px 0px #111111;box-shadow:5px 5px 5px 0px #111111;}.menu-popup a{display:block;color:#2e2f2e;padding:5px 10px;text-decoration:none;}.menu-popup a:hover{color:#eeeecc;background-color:#88a9d2;}
 .menu-popup .menu-sep{border-top:1px solid #4e4f4e;}
 .menu-popup li{float:none;overflow:auto;height:auto;display:block;}.menu-popup li img{float:left;width:16px;height:16px;padding-right:5px;}
index c107219a2d7b2b2c62f14512b70fa52799a76e8e..647804b6bccc4e69a11f36340f8b39c57ea32f10 100644 (file)
@@ -2,7 +2,7 @@
  * dispy dark
  * Description: Dispy Dark: dark, sleek, functional
  * author, maintainer: simon <http://simon.kisikew.org/>
- * 
+ *
  * Author's notes:
  * A few things of note here. The less file is our working copy,
  * and the CSS is *generated* from it. The CSS is the one that's
@@ -798,19 +798,7 @@ nav #nav-notifications-linkmenu {
 #intro-update {
     background-position: -120px 0px;
 }
-#lang-select-icon {
-    cursor: pointer;
-    position: fixed;
-    left: 28px;
-    bottom: 6px;
-    z-index: 10;
-}
-#language-selector {
-    position: fixed;
-    bottom: 2px;
-    left: 52px;
-    z-index: 10;
-}
+
 .menu-popup {
     position: absolute;
     display: none;
@@ -1696,7 +1684,7 @@ div {
     margin: 0 6px 0 -3px;
 }
 .profile-match-photo {
-    
+
 }
 [id$="-end"], [class$="-end"] {
     clear: both;
@@ -2100,7 +2088,7 @@ div {
 #register-form label,
 #profile-edit-form label {
     width: 23em;
-} 
+}
 #register-form span,
 #profile-edit-form span {
     color: @menu_bg_colour;
index a3929b0ed06f2e39925b5b1ba3fad0a3a786d606..7f8a924602fe0be01a055f63e9e2dae261b7fafc 100644 (file)
@@ -125,8 +125,6 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
 #notify-update{background-position:-60px 0px;}
 #home-update{background-position:-90px 0px;}
 #intro-update{background-position:-120px 0px;}
-#lang-select-icon{cursor:pointer;position:fixed;left:28px;bottom:6px;z-index:10;}
-#language-selector{position:fixed;bottom:2px;left:52px;z-index:10;}
 .menu-popup{position:absolute;display:none;background:white;color:#111111;margin:0px;padding:0px;font-size:small;line-height:1.2;border:3px solid #3465a4;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100000;-moz-box-shadow:5px 5px 5px 0px #111111;-o-box-shadow:5px 5px 5px 0px #111111;-webkit-box-shadow:5px 5px 5px 0px #111111;-ms-box-shadow:5px 5px 5px 0px #111111;box-shadow:5px 5px 5px 0px #111111;}.menu-popup a{display:block;color:#111111;padding:5px 10px;text-decoration:none;}.menu-popup a:hover{color:#eeeeec;background-color:#3465a4;}
 .menu-popup .menu-sep{border-top:1px solid #4e4f4e;}
 .menu-popup li{float:none;overflow:auto;height:auto;display:block;}.menu-popup li img{float:left;width:16px;height:16px;padding-right:5px;}
index 8ed02ec72aede67ea123b92c7d2cf6d82f88335b..949a9abcaa9831e1c2d9bde509b832f1d294571f 100644 (file)
@@ -799,19 +799,7 @@ nav #nav-notifications-linkmenu {
 #intro-update {
     background-position: -120px 0px;
 }
-#lang-select-icon {
-    cursor: pointer;
-    position: fixed;
-    left: 28px;
-    bottom: 6px;
-    z-index: 10;
-}
-#language-selector {
-    position: fixed;
-    bottom: 2px;
-    left: 52px;
-    z-index: 10;
-}
+
 .menu-popup {
     position: absolute;
     display: none;
@@ -1697,7 +1685,7 @@ div {
     margin: 0 6px 0 -3px;
 }
 .profile-match-photo {
-    
+
 }
 [id$="-end"], [class$="-end"] {
     clear: both;
@@ -2101,7 +2089,7 @@ div {
 #register-form label,
 #profile-edit-form label {
     width: 23em;
-} 
+}
 #register-form span,
 #profile-edit-form span {
     color: @menu_bg_colour;
diff --git a/view/theme/dispy/templates/lang_selector.tpl b/view/theme/dispy/templates/lang_selector.tpl
deleted file mode 100644 (file)
index d9a90e7..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
-<div id="language-selector" style="display: none;" >
-       <form action="#" method="post" >
-               <select name="system_language" onchange="this.form.submit();" >
-                       {{foreach $langs.0 as $v=>$l}}
-                               <option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
-                       {{/foreach}}
-               </select>
-       </form>
-</div>
index fe2ad73cf2e84f8dac86a197bf50bb7434a1012d..908574f7064565105179372217e93e3bce7dc3ee 100644 (file)
@@ -20,6 +20,9 @@ div.wall-item-content-wrapper.shiny {  background-image: url('ingdarkzero/shiny.
 
 nav #banner #logo-text a { color: #ffffff; }
 
+/* Contact-Header for the Network Stream */
+#viewcontact_wrapper-network {background-image: url('imgdarkzero/head.jpg');}
+
 .wall-item-content-wrapper { 
        border: 1px solid #444444; 
        background: #444444;  
index 0619644eaf0323c16152fb8e8d32baab8d284081..34bf58f46055d73cce868b300f82dd5337a97e33 100644 (file)
@@ -25,8 +25,10 @@ section { background: #EEFFFF; }
 a, a:visited { color: #0000FF; text-decoration: none; }
 a:hover {text-decoration: underline; }
 
+/* Contact-Header for the Network Stream */
+#viewcontact_wrapper-network { background: #FFDDFF; }
 
-aside        background-image: url('imgeasterbunny/border.jpg'); }
+aside {        background-image: url('imgeasterbunny/border.jpg'); }
 .tabs {        background-image: url('imgeasterbunny/head.jpg'); }
 div.wall-item-content-wrapper.shiny {  background-image: url('imgeasterbunny/shiny.png'); }
 
index 0f6f7881edc26265930b60addddd82d29dd3c250..d446a616111490c9c8633f22636db7206aaaffa4 100644 (file)
@@ -21,6 +21,7 @@ body {        background-image: url('imggreenzero/head.jpg'); }
 aside { background-image: url('imggreenzero/border.jpg'); }
 section { background-image: url('imggreenzero/border.jpg'); }
 .tabs {        background-image: url('imggreenzero/head.jpg'); }
+#viewcontact_wrapper-network { background: #DBEAD7; }
 div.wall-item-content-wrapper.shiny {  background-image: url('imggreenzero/shiny.png'); }
 
 .fakelink, .fakelink:visited, .fakelink:hover, .fakelink:link {
index d59cf5dcabc4d13cea70d79d1b2419ef4704868b..29718576830f88094a2aaebc5d6055192e4e090d 100644 (file)
@@ -3,8 +3,9 @@ a:hover {text-decoration: underline; }
 
 
 body {         background-image: url('imgpurplezero/head.jpg'); }
-aside        background-image: url('imgpurplezero/border.jpg'); }
+aside {        background-image: url('imgpurplezero/border.jpg'); }
 section {      background-image: url('imgpurplezero/border.jpg'); }
+#viewcontact_wrapper-network { background: #ECCAEB; }
 .tabs {        background-image: url('imgpurplezero/head.jpg'); }
 div.wall-item-content-wrapper.shiny {  background-image: url('imgpurplezero/shiny.png'); }
 
index ae2530b6a2a683dc581117f9845b302397a58271..76bbab8e055a36c7186c67a44718f65ff81897f9 100644 (file)
@@ -205,6 +205,7 @@ aside {
        font-weight: bold;
        background: #3465a4 url('friendica-16.png') no-repeat 95% center;
 }
+#subscribe-feed-link,
 #wallmessage-link {
        display: block;
        color: #FFFFFF;
@@ -277,6 +278,31 @@ div.wall-item-content-wrapper.shiny {
        margin: 15px 0 15px 150px;
 }
 
+/* Contact-Header for the Network Stream */
+#viewcontact_wrapper-network {
+       width: 100%;
+       min-height: 100px;
+       background-color: #DBE6F1;
+       border-bottom: 1px solid #babdb6;
+}
+#contact-entry-wrapper-network {
+       float: none;
+       width: auto;
+       height: auto;
+       padding: 10px;
+       margin: 0px
+}
+#contact-entry-accounttype-network {
+       font-size: 20px;
+}
+#contact-entry-name-network {
+       font-size: 24.5px;
+}
+/*#contact-entry-name-network>.contact-entry-details, #contact-entry-url-network,
+#contact-entry-details-network, contact-entry-network-network {
+       color: #000;
+}*/
+
 /* from default */
 #jot-perms-icon,
 #profile-location,
@@ -340,7 +366,7 @@ div.wall-item-content-wrapper.shiny {
        margin-bottom: 10px;
 }
 
-.group-selected, .nets-selected, .fileas-selected, .categories-selected {
+.group-selected, .nets-selected, .fileas-selected, .categories-selected, .forum-selected {
        padding: 3px;
        -moz-border-radius: 3px;
        border-radius: 3px;
@@ -876,8 +902,14 @@ input#dfrn-url {
 
 .contact-entry-wrapper {
        float: left;
-       width: 120px;
-       height: 120px;
+       min-width: 363px;
+       height: 90px;
+       padding-right: 10px;
+       margin: 0 10px 10px 0px;
+}
+.contact-entry-wrapper .contact-entry-photo-wrapper {
+       float: left;
+       margin-right: 10px;
 }
 #contacts-search-end {
        margin-bottom: 10px;
@@ -891,15 +923,22 @@ input#dfrn-url {
 .contact-entry-photo img {
        border: none;
 }
+.contact-entry-photo a img {
+       width: 80px;
+       height: 80px;
+}
 .contact-entry-photo-end {
        clear: both;
 }
 .contact-entry-name {
-       float: left;
-       margin-left: 0px;
-       margin-right: 10px;
-       width: 120px;
+       font-weight: bold;
+}
+.contact-entry-details {
+       font-size: 13px;
+       color: #999999;
+       white-space: nowrap;
        overflow: hidden;
+       text-overflow: ellipsis;
 }
 .contact-entry-edit-links {
        margin-top: 6px;
@@ -959,7 +998,7 @@ input#dfrn-url {
 }
 
 .wall-item-content-wrapper.comment {
-#      margin-left: 50px;
+       /*margin-left: 50px;*/
        background: #EEEEEE;
 }
 
@@ -2026,6 +2065,17 @@ a.mail-list-link {
 #sidebar-group-list ul {
        list-style-type: none;
 }
+.sidebar-group-li .notify, .forum-widget-entry .notify {
+       display: none;
+       font-size: 9px;
+       border: 1px solid rgb(221, 221, 221);
+       padding: 2px;
+       float: right;
+       background-color: #BABDB6;
+}
+.sidebar-group-li .notify.show, .forum-widget-entry .notify.show {
+       display: block;
+}
 
 #sidebar-group-list .icon, #sidebar-group-list .iconspacer {
        display: inline-block;
@@ -2037,6 +2087,10 @@ a.mail-list-link {
        margin-top: 10px;
 }
 
+#forumlist-sidebar ul {
+       list-style: none;
+}
+
 .nets-ul, .fileas-ul, .categories-ul, .datebrowse-ul {
        list-style-type: none;
 }
@@ -2438,14 +2492,14 @@ aside input[type='text'] {
        margin-bottom: 25px;
 }
 
-.location-label, .gender-label, .marital-label, .homepage-label {
+.location-label, .gender-label, .marital-label, .homepage-label, .network-label {
        float: left;
        text-align: right;
        display: block;
        width: 65px;
 }
 
-.adr, .x-gender, .marital-text, .homepage-url {
+.adr, .x-gender, .marital-text, .homepage-url, .x-network {
        float: left;
        display: block;
        margin-left: 8px;
@@ -2483,11 +2537,17 @@ aside input[type='text'] {
        font-weight: bold;
 }
 
-.vcard .title {
+.vcard .title,
+.vcard .p-addr {
        margin-bottom: 5px;
        margin-left: 12px;
 }
 
+.vcard .account-type {
+       font-size: 120%;
+       margin-bottom: 13px;
+}
+
 .vcard dl {
        clear: both;
 }
@@ -2700,12 +2760,6 @@ aside input[type='text'] {
        margin-bottom: 15px;
 }
 
-#language-selector {
-       position: absolute;
-       top: 0px;
-       left: 16px;
-}
-
 #group-members {
        margin-top: 20px;
        padding: 10px;
@@ -2875,19 +2929,6 @@ aside input[type='text'] {
        text-decoration: underline;
 }
 
-#lang-select-icon {
-       cursor: pointer;
-       position: absolute;
-       left: 0px;
-       top: 0px;
-       opacity: 0.2;
-       filter:alpha(opacity=20);
-}
-
-#lang-select-icon:hover {
-       opacity: 1;
-       filter:alpha(opacity=100);
-}
 
 .notif-image {
        height: 80px;
@@ -3302,6 +3343,17 @@ div.jGrowl div.info {
 }
 
 /* notifications popup menu */
+.manage-notify {
+  font-size: 10px;
+  padding: 1px 3px;
+  top: 0px;
+  min-width: 15px;
+  text-align: center;
+  float: right;
+  margin-top: -14px;
+  margin-right: -20px;
+}
+
 .nav-notify {
        display: none;
        position: absolute;
@@ -3482,5 +3534,9 @@ ul.menu-popup {
 .videos .video-top-wrapper:hover .video-delete {
   opacity: 1;
 }
-
-
+#message-preview .mail-list-sender-url, #message-preview .mail-list-delete {
+       display: none;
+}
+#message-preview .mail-list-outside-wrapper {
+       margin-top: 20px;
+}
diff --git a/view/theme/duepuntozero/templates/lang_selector.tpl b/view/theme/duepuntozero/templates/lang_selector.tpl
deleted file mode 100644 (file)
index d9a90e7..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
-<div id="language-selector" style="display: none;" >
-       <form action="#" method="post" >
-               <select name="system_language" onchange="this.form.submit();" >
-                       {{foreach $langs.0 as $v=>$l}}
-                               <option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
-                       {{/foreach}}
-               </select>
-       </form>
-</div>
index 9a34605732d223c8af688dfa16c743ca64e80840..bd2e92f9e45d0d713300b6f5a78cdb630f82e80d 100644 (file)
@@ -3,12 +3,14 @@
 
        <div class="fn label">{{$profile.name}}</div>
        
-                               
+       {{if $profile.addr}}<div class="p-addr">{{$profile.addr}}</div>{{/if}}
        
-       {{if $pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
+       {{if $profile.pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
        <div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.name}}"></div>
 
+       {{if $account_type}}<div class="account-type">{{$account_type}}</div>{{/if}}
 
+       {{if $profile.network_name}}<dl class="network"><dt class="network-label">{{$network}}</dt><dd class="x-network">{{$profile.network_name}}</dd></dl>{{/if}}
 
        {{if $location}}
                <dl class="location"><dt class="location-label">{{$location}}</dt> 
        <div id="profile-extra-links">
                <ul>
                        {{if $connect}}
-                                {{if $remoteconnect}}
-                                        <li><a id="dfrn-request-link" href="{{$remoteconnect}}">{{$connect}}</a></li>
-                                {{else}}
-                                        <li><a id="dfrn-request-link" href="dfrn_request/{{$profile.nickname}}">{{$connect}}</a></li>
-                                {{/if}}
-                        {{/if}}
+                               {{if $remoteconnect}}
+                                       <li><a id="dfrn-request-link" href="{{$remoteconnect}}">{{$connect}}</a></li>
+                               {{else}}
+                                       <li><a id="dfrn-request-link" href="dfrn_request/{{$profile.nickname}}">{{$connect}}</a></li>
+                               {{/if}}
+                       {{/if}}
                        {{if $wallmessage}}
                                <li><a id="wallmessage-link" href="wallmessage/{{$profile.nickname}}">{{$wallmessage}}</a></li>
                        {{/if}}
+                       {{if $subscribe_feed}}
+                               <li><a id="subscribe-feed-link" href="dfrn_poll/{{$profile.nickname}}">{{$subscribe_feed}}</a></li>
+                       {{/if}}
                </ul>
        </div>
 </div>
index d1ce000b41ec1e121463b1972fefd02662af05c2..7bbb416f838b6428d428f1a7ad5c7c678c499183 100644 (file)
@@ -22,7 +22,7 @@ a:hover {text-decoration: underline; }
 input {
        /*border: 1px solid #666666;*/
        /*-moz-border-radius: 3px;*/
-       border-radius: 3px;     
+       border-radius: 3px;
        padding: 3px;
        background-color: #0B4E7A;
        color: #ffffff;
@@ -54,7 +54,7 @@ code {
        background: #EEE;
        color: #444;
        padding: 10px;
-       margin-top: 20px; 
+       margin-top: 20px;
 }
 
 blockquote {
@@ -148,9 +148,9 @@ nav #banner #logo-text a:hover { text-decoration: none; }
        border-bottom: 0px;
        background-color: #FFFFFF;
        /*font-weight: bold;*/
-       color: #FFFFFF;         
+       color: #FFFFFF;
        -moz-border-radius: 3px 3px 0px 0px;
-       border-radius: 3px 3px 0px 0px; 
+       border-radius: 3px 3px 0px 0px;
 }
 nav .nav-link {
        float: right;
@@ -172,7 +172,7 @@ nav .nav-link {
        font-size:12px ;
        font-weight: bold;
        float: left;
-       margin-top: 62px;       
+       margin-top: 62px;
 }
 
 
@@ -217,12 +217,12 @@ section {
        background-position: top right;
        background-repeat: no-repeat;
        min-height: 112px;
-       
+
 }
 .tabs {
        height: 27px;
        background-image: url(head.jpg);
-       background-repeat: repeat-x;    
+       background-repeat: repeat-x;
        background-position: 0px -20px;
        border-bottom: 1px solid #babdb6;
        padding:0px;
@@ -260,14 +260,14 @@ div.wall-item-content-wrapper.shiny {
 }
 
 /* from default */
-#jot-perms-icon, 
+#jot-perms-icon,
 #profile-location,
 #profile-nolocation,
-#profile-youtube, 
-#profile-video, 
+#profile-youtube,
+#profile-video,
 #profile-audio,
 #profile-link,
-#profile-title, 
+#profile-title,
 #wall-image-upload,
 #wall-file-upload,
 #profile-upload-wrapper,
@@ -294,11 +294,11 @@ div.wall-item-content-wrapper.shiny {
 
 #jot-title::-webkit-input-placeholder{font-weight: normal;}
 #jot-title:-moz-placeholder{font-weight: normal;}
-               
-       
+
+
 #jot-title:hover,
 #jot-title:focus {
-       border: 1px solid #cccccc; 
+       border: 1px solid #cccccc;
 }
 
 .jothidden { display:none; }
@@ -322,7 +322,7 @@ div.wall-item-content-wrapper.shiny {
 .group-selected, .nets-selected {
        padding: 3px;
        -moz-border-radius: 3px;
-       border-radius: 3px;     
+       border-radius: 3px;
        border: 1px solid #CCCCCC;
        background: #F8F8F8;
        font-weight: bold;
@@ -778,7 +778,7 @@ input#dfrn-url {
     clear: left;
     color: #666666;
     display: block;
-    margin-bottom: 20px        
+    margin-bottom: 20px
 }
 
 #profile-edit-profile-name-end,
@@ -901,7 +901,7 @@ input#dfrn-url {
        /*border: 1px solid #CCC;*/
        position: relative;
        -moz-border-radius: 3px;
-       /*border-radius: 3px; */        
+       /*border-radius: 3px; */
 
 }
 
@@ -930,7 +930,7 @@ input#dfrn-url {
        display: block;
        position: absolute;
        background-image: url("photo-menu.jpg");
-       background-position: top left; 
+       background-position: top left;
        background-repeat: no-repeat;
        margin: 0px; padding: 0px;
        width: 16px;
@@ -939,7 +939,7 @@ input#dfrn-url {
        overflow: hidden;
        text-indent: 40px;
        display: none;
-       
+
 }
 .wall-item-photo-menu {
        width: auto;
@@ -991,7 +991,7 @@ input#dfrn-url {
        /*margin-top: 10px;*/
     left: 105px;
     position: absolute;
-    top: 1px;  
+    top: 1px;
 }
 .comment .wall-item-lock {
        left: 65px;
@@ -1044,11 +1044,11 @@ input#dfrn-url {
 }
 .star-item {
        margin-left: 10px;
-       float: left;    
+       float: left;
 }
 .tag-item {
        margin-left: 10px;
-       float: left;    
+       float: left;
 }
 
 
@@ -1081,7 +1081,7 @@ input#dfrn-url {
        border: none;
 }
 .comment .wall-item-photo {
-       width: 50px !important; 
+       width: 50px !important;
        height: 50px !important;
 }
 .wall-item-content {
@@ -1123,7 +1123,7 @@ input#dfrn-url {
 
 .comment .wall-item-tools {
        background:none;
-} 
+}
 
 .comment-edit-wrapper {
        margin-top: 15px;
@@ -1151,7 +1151,7 @@ input#dfrn-url {
        float: left;
        margin-top: 10px;
        -moz-border-radius: 3px;
-       border-radius: 3px;     
+       border-radius: 3px;
        border: 1px solid #cccccc;
        padding: 3px 1px 1px 3px;
 }
@@ -1549,7 +1549,7 @@ input#dfrn-url {
 .contact-photo-menu-button {
        position: absolute;
        background-image: url("photo-menu.jpg");
-       background-position: top left; 
+       background-position: top left;
        background-repeat: no-repeat;
        margin: 0px; padding: 0px;
        width: 16px;
@@ -1558,7 +1558,7 @@ input#dfrn-url {
        overflow: hidden;
        text-indent: 40px;
        display: none;
-       
+
 }
 .contact-photo-menu {
        width: auto;
@@ -1595,7 +1595,7 @@ input#dfrn-url {
        border: 1px solid #cccccc;
        padding: 3px 0px 0px 5px;
        -moz-border-radius: 3px;
-       border-radius: 3px;     
+       border-radius: 3px;
 }
 
 
@@ -1646,7 +1646,7 @@ input#dfrn-url {
        overflow: auto;
 }
 #acl-list-content {
-       
+
 }
 .acl-list-item {
        display: block;
@@ -1663,7 +1663,7 @@ input#dfrn-url {
        margin: 4px;
 }
 .acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;}
-.acl-list-item a { 
+.acl-list-item a {
        font-size: 8px;
        display: block;
        width: 40px;
@@ -1962,15 +1962,15 @@ aside input[type='text'] {
        float: left;
        margin-top: 15px;
        margin-right: 15px;
-       width: 200px; height: 200px; 
-       overflow: hidden; 
+       width: 200px; height: 200px;
+       overflow: hidden;
        position: relative;
 }
 .photo-album-image-wrapper .caption {
-       display: none; 
+       display: none;
        width: 100%;
-       position: absolute; 
-       bottom: 0px; 
+       position: absolute;
+       bottom: 0px;
        padding: 0.5em 0.5em 0px 0.5em;
        background-color: rgba(245, 245, 255, 0.8);
        border-bottom: 2px solid #CCC;
@@ -1989,14 +1989,14 @@ aside input[type='text'] {
        float: left;
        margin-top: 15px;
        margin-right: 15px;
-       width: 200px; height: 200px; 
-       overflow: hidden; 
+       width: 200px; height: 200px;
+       overflow: hidden;
 }
 .photo-top-album-name {
        width: 100%;
        min-height: 2em;
-       position: absolute; 
-       bottom: 0px; 
+       position: absolute;
+       bottom: 0px;
        padding: 0px 3px;
        padding-top: 0.5em;
        background-color: rgb(255, 255, 255);
@@ -2075,7 +2075,7 @@ aside input[type='text'] {
 }
 
 #profile-jot-banner-end {
-       /* clear: both; */ 
+       /* clear: both; */
 }
 
 #photos-upload-select-files-text {
@@ -2299,7 +2299,7 @@ aside input[type='text'] {
 }
 
 /* end from default */
-       
+
 
 .fn {
        padding: 0px 0px 5px 12px;
@@ -2318,7 +2318,7 @@ aside input[type='text'] {
 
 #birthday-title {
        float: left;
-       font-weight: bold;      
+       font-weight: bold;
 }
 
 #birthday-adjust {
@@ -2411,7 +2411,7 @@ aside input[type='text'] {
        clear: both;
 }
 
+
 .calendar {
        font-family: Courier, monospace;
 }
@@ -2493,11 +2493,6 @@ aside input[type='text'] {
        margin-bottom: 15px;
 }
 
-#language-selector {
-       position: absolute;
-       top: 0px;
-       left: 16px;
-}
 
 #group-members {
        margin-top: 20px;
@@ -2595,7 +2590,7 @@ aside input[type='text'] {
 
 
 #netsearch-box {
-       margin-top: 20px;       
+       margin-top: 20px;
 }
 
 #netsearch-box #search-submit {
@@ -2668,19 +2663,6 @@ aside input[type='text'] {
        text-decoration: underline;
 }
 
-#lang-select-icon {
-       cursor: pointer;
-       position: absolute;
-       left: 0px;
-       top: 0px;
-       opacity: 0.2;
-       filter:alpha(opacity=20);
-}
-
-#lang-select-icon:hover {
-       opacity: 1;
-       filter:alpha(opacity=100);
-}
 
 .notif-image {
        height: 80px;
@@ -2702,7 +2684,7 @@ aside input[type='text'] {
 .settings-heading {
        border-bottom: 1px solid #babdb6;
 }
+
 
 /**
  * Form fields
@@ -2728,7 +2710,7 @@ aside input[type='text'] {
        display: block;
        margin-left: 200px;
        color: #666666;
-       
+
 }
 
 
@@ -2774,7 +2756,7 @@ aside input[type='text'] {
        font-weight: bold;
        background-color: #FF0000;
        padding: 0em 0.3em;
-       
+
 }
 #adminpage dl {
        clear: left;
@@ -2829,7 +2811,7 @@ aside input[type='text'] {
 /*
  * UPDATE
  */
-.popup {       
+.popup {
        width: 100%; height: 100%;
        top:0px; left:0px;
        position: absolute;
@@ -2850,7 +2832,7 @@ aside input[type='text'] {
        border: 4px solid #000000;
        background-color: #FFFFFF;
 }
-.popup .panel .panel_text { display: block; overflow: auto; height: 80%; } 
+.popup .panel .panel_text { display: block; overflow: auto; height: 80%; }
 .popup .panel .panel_in { width: 100%; height: 100%;   position: relative; }
 .popup .panel .panel_actions {  width: 100%; bottom: 4px; left: 0px; position: absolute; }
 .panel_text .progress { width: 50%; overflow: hidden; height: auto; border: 1px solid #cccccc; margin-bottom: 5px}
@@ -2863,7 +2845,7 @@ aside input[type='text'] {
        height: auto; overflow: auto;
        border-bottom: 2px solid #cccccc;
        padding-bottom: 1em;
-       margin-bottom: 1em;     
+       margin-bottom: 1em;
 }
 .oauthapp img {
        float: left;
index f4b46fed84519e42135f58c62c9c9c4e4e66b98f..400b23c10b38b2f2e4f73e335c2d833a31bcf476 100644 (file)
@@ -44,7 +44,7 @@ input {
        border: 1px solid #666666;\r
        -moz-border-radius: 3px;\r
        -webkit-border-radius: 3px;\r
-       border-radius: 3px;     \r
+       border-radius: 3px;\r
        padding: 3px;\r
 }\r
 \r
@@ -74,7 +74,7 @@ img { border :0px; }
        background: #EEE;\r
        color: #444;\r
        padding: 10px;\r
-       margin-top: 20px; \r
+       margin-top: 20px;\r
 }\r
 \r
 blockquote {\r
@@ -96,7 +96,7 @@ code {
        background: #EEE;\r
        color: #444;\r
        padding: 10px;\r
-       margin-top: 20px; \r
+       margin-top: 20px;\r
 }\r
 \r
 blockquote {\r
@@ -205,10 +205,10 @@ nav #banner #logo-text a:hover { text-decoration: none; }
        border: 1px solid #babdb6;\r
        border-bottom: 0px;\r
        background-color: #aec0d3;\r
-       color: #565854;         \r
+       color: #565854;\r
        -moz-border-radius: 3px 3px 0px 0px;\r
        -webkit-border-radius: 3px 3px 0px 0px;\r
-       border-radius: 3px 3px 0px 0px; \r
+       border-radius: 3px 3px 0px 0px;\r
 }\r
 \r
 .nav-commlink.selected {\r
@@ -377,13 +377,13 @@ section {
        background-repeat: no-repeat;\r
 \r
        min-height: 112px;\r
-       border-top: 1px solid #babdb6;  \r
+       border-top: 1px solid #babdb6;\r
        overflow-x:hidden;\r
 }\r
 \r
 .tabs {\r
        /*background-image: url(head.jpg);\r
-       background-repeat: repeat-x;    \r
+       background-repeat: repeat-x;\r
        background-position: 0px -20px;*/\r
        border-bottom: 1px solid #babdb6;\r
        padding:0px;\r
@@ -411,7 +411,7 @@ section {
 }\r
 .tab.active {\r
        font-weight: bold;\r
-       \r
+\r
 }\r
 #events-tab {\r
        display: none;\r
@@ -421,6 +421,27 @@ section {
        clear: both;\r
 }\r
 \r
+/* Contact-Header for the Network Stream */\r
+#viewcontact_wrapper-network {\r
+       width: 100%;\r
+       min-height: 100px;\r
+       background-color: #FAFAFA;\r
+       border: 1px solid #DDDDDD;\r
+       border-radius: 5px;\r
+}\r
+#contact-entry-wrapper-network {\r
+       float: none;\r
+       width: auto;\r
+       height: auto;\r
+       padding: 10px;\r
+       margin: 0;\r
+}\r
+#contact-entry-accounttype-network {\r
+       font-size: 0.9em;\r
+}\r
+#contact-entry-name-network {\r
+       font-size: 1.5em;\r
+}\r
 \r
 /* footer */\r
 footer {\r
@@ -449,14 +470,14 @@ footer {
 }\r
 \r
 /* from default */\r
-#jot-perms-icon, \r
+#jot-perms-icon,\r
 #profile-location,\r
 #profile-nolocation,\r
-#profile-youtube, \r
-#profile-video, \r
+#profile-youtube,\r
+#profile-video,\r
 #profile-audio,\r
 #profile-link,\r
-#profile-title, \r
+#profile-title,\r
 #wall-image-upload,\r
 #wall-file-upload,\r
 #profile-upload-wrapper,\r
@@ -484,13 +505,13 @@ footer {
 #jot-category::-webkit-input-placeholder{font-weight: normal;}\r
 #jot-title:-moz-placeholder{font-weight: normal;}\r
 #jot-category:-moz-placeholder{font-weight: normal;}*/\r
-               \r
-       \r
+\r
+\r
 #jot-title:hover,\r
 #jot-title:focus,\r
 #jot-category:hover,\r
 #jot-category:focus {\r
-       border: 1px solid #cccccc; \r
+       border: 1px solid #cccccc;\r
 }\r
 \r
 .jothidden { display:none; }\r
@@ -511,11 +532,11 @@ footer {
        margin-bottom: 10px;\r
 }\r
 \r
-.group-selected, .nets-selected, .fileas-selected, .categories-selected {\r
+.group-selected, .nets-selected, .fileas-selected, .categories-selected, .forum-selected {\r
        padding: 3px;\r
        -moz-border-radius: 3px;\r
        -webkit-border-radius: 3px;\r
-       border-radius: 3px;     \r
+       border-radius: 3px;\r
        border: 1px solid #CCCCCC;\r
        background: #F8F8F8;\r
        font-weight: bold;\r
@@ -525,7 +546,7 @@ footer {
 /*     padding: 3px;\r
        -moz-border-radius: 3px;\r
        -webkit-border-radius: 3px;\r
-       border-radius: 3px;     \r
+       border-radius: 3px;\r
        border: 1px solid #CCCCCC;*/\r
        background: #F8F8F8;\r
        font-weight: bold;\r
@@ -613,7 +634,7 @@ footer {
 }\r
 \r
 #login-submit-button {\r
-       margin-top: 10px; \r
+       margin-top: 10px;\r
        margin-left: 200px;\r
 }*/\r
 \r
@@ -1024,7 +1045,7 @@ input#dfrn-url {
     clear: left;\r
     color: #666666;\r
     display: block;\r
-    margin-bottom: 20px        \r
+    margin-bottom: 20px\r
 }\r
 \r
 #profile-edit-profile-name-end,\r
@@ -1109,9 +1130,14 @@ input#dfrn-url {
 /*     width: 120px;\r
        height: 120px;*/\r
        padding-left: 15px;\r
-       padding-right: 15px; \r
-       width: 95px;\r
-       height: 200px;\r
+       padding-right: 15px;\r
+       max-width: 262px;\r
+       height: 90px;\r
+       margin: 0 10px 10px 0px;\r
+}\r
+.contact-entry-wrapper .contact-entry-photo-wrapper {\r
+       float: left;\r
+       margin-right: 10px;\r
 }\r
 #contacts-search-end {\r
        margin-bottom: 10px;\r
@@ -1124,12 +1150,16 @@ input#dfrn-url {
 \r
 .contact-entry-photo img {\r
        border: none;\r
+       width: 80px;\r
+       height: 80px;\r
 }\r
 .contact-entry-photo-end {\r
        clear: both;\r
 }\r
+.contact-entry-desc {\r
+       overflow: hidden;\r
+}\r
 .contact-entry-name {\r
-       float: left;\r
        margin-left: 0px;\r
        margin-right: 10px;\r
        padding-bottom: 5px;\r
@@ -1141,6 +1171,9 @@ input#dfrn-url {
        font-style: italic;\r
        font-size: 10px;\r
        font-weight: 500;\r
+       white-space: nowrap;\r
+       overflow: hidden;\r
+       text-overflow: ellipsis;\r
 }\r
 .contact-entry-network {\r
        font-size: 10px;\r
@@ -1213,13 +1246,14 @@ input#dfrn-url {
 /*     background: #EEEEEE;*/\r
 }\r
 \r
-.wall-item-like, .wall-item-dislike {\r
+.wall-item-response {\r
+       clear: both;\r
        font-style: italic;\r
        margin-left: 0px;\r
        opacity: 0.6;\r
 }\r
 \r
-.wall-item-like.comment, .wall-item-dislike.comment {\r
+.wall-item-response.comment {\r
        margin-left: 5px;\r
 }\r
 \r
@@ -1238,7 +1272,7 @@ input#dfrn-url {
        display: block;\r
        position: absolute;\r
        background-image: url("photo-menu.jpg");\r
-       background-position: top left; \r
+       background-position: top left;\r
        background-repeat: no-repeat;\r
        margin: 0px; padding: 0px;\r
        width: 16px;\r
@@ -1247,7 +1281,7 @@ input#dfrn-url {
        overflow: hidden;\r
        text-indent: 40px;\r
        display: none;\r
-       \r
+\r
 }\r
 .wall-item-photo-menu {\r
        width: auto;\r
@@ -1339,20 +1373,11 @@ input#dfrn-url {
        margin-right: 10px;\r
 }\r
 \r
-.editpost {\r
-       margin-left: 10px;\r
-       float: left;\r
-}\r
-.star-item {\r
-       margin-left: 10px;\r
-       float: left;    \r
-}\r
-.tag-item {\r
-       margin-left: 10px;\r
-       float: left;    \r
-}\r
-\r
-.filer-item {\r
+.editpost,\r
+.star-item,\r
+.tag-item,\r
+.filer-item,\r
+.event-item {\r
        margin-left: 10px;\r
        float: left;\r
 }\r
@@ -1387,7 +1412,7 @@ input#dfrn-url {
        border-radius: 7px;\r
 }\r
 .comment .wall-item-photo {\r
-       width: 50px !important; \r
+       width: 50px !important;\r
        height: 50px !important;\r
 }\r
 .wall-item-content {\r
@@ -1408,7 +1433,7 @@ input#dfrn-url {
 .wall-item-title {\r
        /*float: left;*/\r
        font-weight: bold;\r
-       font-size: 1.6em; \r
+       font-size: 1.6em;\r
        /*width: 450px;*/\r
 }\r
 \r
@@ -1497,7 +1522,7 @@ input#dfrn-url {
        background-repeat: repeat-x;*/\r
        border-bottom-left-radius: 10px;\r
        border-bottom-right-radius: 10px;\r
-} \r
+}\r
 \r
 \r
 .comment-edit-wrapper {\r
@@ -1541,7 +1566,7 @@ input#dfrn-url {
 /*     float: left;*/\r
        -moz-border-radius: 3px;\r
        -webkit-border-radius: 3px;\r
-       border-radius: 3px;     \r
+       border-radius: 3px;\r
        border: 1px solid #cccccc;\r
        padding: 3px 1px 1px 3px;\r
 }\r
@@ -1600,7 +1625,7 @@ input#dfrn-url {
        padding-top: 0.5em;\r
        margin-top: 1em;\r
        margin-bottom: 1em;\r
-       \r
+\r
 }\r
 .shared_header img {\r
        float: left;\r
@@ -2119,7 +2144,7 @@ input#profile-jot-email {
 .contact-photo-menu-button {\r
 /*     position: absolute;\r
        background-image: url("photo-menu.jpg");\r
-       background-position: top left; \r
+       background-position: top left;\r
        background-repeat: no-repeat;\r
        margin: 0px; padding: 0px;\r
        width: 16px;\r
@@ -2128,14 +2153,14 @@ input#profile-jot-email {
        overflow: hidden;\r
        text-indent: 40px;\r
        display: none;*/\r
-       \r
+\r
 }\r
 .contact-photo-menu {\r
        width: 130px;\r
        border: 1px solid #AAA;\r
        background: #FFFFFF;\r
        position: absolute;\r
-       left: -30px; top: 80px;\r
+       /*left: -30px;*/ top: 80px;\r
        display: none;\r
        z-index: 101;\r
        -moz-box-shadow: 3px 3px 5px #555;\r
@@ -2187,7 +2212,7 @@ input#profile-jot-email {
        padding: 3px 0px 0px 5px;\r
        -moz-border-radius: 3px;\r
        -webkit-border-radius: 3px;\r
-       border-radius: 3px;     \r
+       border-radius: 3px;\r
 }\r
 \r
 \r
@@ -2260,7 +2285,7 @@ input#profile-jot-email {
        overflow: visible;\r
 }\r
 #acl-list-content {\r
-       \r
+\r
 }\r
 .acl-list-item {\r
        display: inline-block;\r
@@ -2284,7 +2309,7 @@ input#profile-jot-email {
        margin: 4px;\r
 }\r
 .acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;}\r
-.acl-list-item a { \r
+.acl-list-item a {\r
        font-size: 10px;\r
        display: block;\r
        width: 55px;\r
@@ -2500,6 +2525,22 @@ a.mail-list-link {
        clear: both;\r
 }\r
 \r
+#poke-desc {\r
+       margin: 5px 0 10px;\r
+}\r
+\r
+#poke-wrapper  {\r
+       padding: 10px 0 0px;\r
+}\r
+\r
+#poke-recipient, #poke-action, #poke-privacy-settings {\r
+       margin: 10px 0 30px;\r
+}\r
+\r
+#poke-recip-label, #poke-action-label, #prvmail-message-label {\r
+       margin: 10px 0 10px;\r
+}\r
+\r
 #sidebar-group-list ul {\r
        list-style-type: none;\r
 }\r
@@ -2606,15 +2647,15 @@ aside input[type='text'] {
        margin-top: 15px;\r
        margin-right: 15px;\r
        margin-left: 15px;\r
-/*     width: 200px; height: 200px; \r
-       overflow: hidden; \r
+/*     width: 200px; height: 200px;\r
+       overflow: hidden;\r
        position: relative; */\r
 }\r
 .photo-album-image-wrapper .caption {\r
-       display: none; \r
+       display: none;\r
        width: 100%;\r
 /*     position: absolute; */\r
-       bottom: 0px; \r
+       bottom: 0px;\r
        padding: 0.5em 0.5em 0px 0.5em;\r
        background-color: rgba(245, 245, 255, 0.8);\r
        border-bottom: 2px solid #CCC;\r
@@ -2630,7 +2671,7 @@ aside input[type='text'] {
 }\r
 \r
 .photo-top-image-wrapper {\r
-/*     position: relative; \r
+/*     position: relative;\r
        float: left;*/\r
        display: inline-block;\r
        vertical-align: top;\r
@@ -2638,7 +2679,7 @@ aside input[type='text'] {
        margin-right: 15px;\r
        margin-left: 15px;\r
        margin-bottom: 15px;\r
-/*     width: 200px; height: 200px; \r
+/*     width: 200px; height: 200px;\r
        overflow: hidden; */\r
 }\r
 .photo-top-image-wrapper img {\r
@@ -2651,7 +2692,7 @@ aside input[type='text'] {
        width: 100%;\r
        min-height: 2em;\r
 /*     position: absolute;  */\r
-       bottom: 0px; \r
+       bottom: 0px;\r
        padding: 0px 3px;\r
        padding-top: 0.5em;\r
        background-color: rgb(255, 255, 255);\r
@@ -2731,7 +2772,7 @@ aside input[type='text'] {
 }\r
 \r
 #profile-jot-banner-end {\r
-       /* clear: both; */ \r
+       /* clear: both; */\r
 }\r
 \r
 #photos-upload-select-files-text {\r
@@ -3032,14 +3073,14 @@ aside input[type='text'] {
        margin-bottom: 25px;\r
 }\r
 \r
-.location-label, .gender-label, .marital-label, .homepage-label {\r
+.location-label, .gender-label, .marital-label, .homepage-label, .network-label {\r
        float: left;\r
        text-align: right;\r
        display: block;\r
        width: 65px;\r
 }\r
 \r
-.adr, .x-gender, .marital-text, .homepage-url {\r
+.adr, .x-gender, .marital-text, .homepage-url, .x-network {\r
        float: left;\r
        display: block;\r
        margin-left: 8px;\r
@@ -3069,7 +3110,7 @@ aside input[type='text'] {
 }\r
 \r
 /* end from default */\r
-       \r
+\r
 \r
 .fn {\r
        padding: 1em 0px 5px 12px;\r
@@ -3077,18 +3118,25 @@ aside input[type='text'] {
        font-weight: bold;\r
 }\r
 \r
-.vcard .title {\r
+.vcard .title,\r
+.vcard .p-addr,\r
+.vcard .account-type {\r
        margin-bottom: 5px;\r
        margin-left: 12px;\r
 }\r
 \r
+.vcard .account-type {\r
+       font-size: 120%;\r
+       margin-bottom: 13px;\r
+}\r
+\r
 .vcard dl {\r
        clear: both;\r
 }\r
 \r
 #birthday-title {\r
        float: left;\r
-       font-weight: bold;      \r
+       font-weight: bold;\r
 }\r
 \r
 #birthday-adjust {\r
@@ -3215,7 +3263,7 @@ aside input[type='text'] {
        clear: both;\r
 }\r
 \r
\r
+\r
 .calendar {\r
        font-family: Courier, monospace;\r
 }\r
@@ -3234,17 +3282,49 @@ aside input[type='text'] {
        margin: 10px;\r
 }\r
 \r
-#identity-manage-desc {\r
-       margin-top:15px;\r
-       margin-bottom: 15px;\r
+.itentity-match-wrapper {\r
+       float: left;\r
+       padding: 10px;\r
+       width: 120px;\r
+       height: 140px;\r
+       margin-bottom: 20px;\r
 }\r
 \r
-#identity-manage-choose {\r
-       margin-bottom: 15px;\r
+.identity-match-photo {\r
+       float: left;\r
+       text-align: center;\r
+       width: 120px;\r
 }\r
 \r
-#identity-submit {\r
-       margin-top: 20px;\r
+.identity-match-name {\r
+       text-align: center;\r
+}\r
+\r
+.identity-match-details {\r
+       float: left;\r
+       text-align: center;\r
+       width: 120px;\r
+       overflow: hidden;\r
+       font-size: 10px;\r
+       font-weight: 500;\r
+       color: #999999;\r
+}\r
+\r
+.identity-match-break, .identity-match-end {\r
+       clear: both;\r
+}\r
+\r
+.identity-match-photo button {\r
+       border: none;\r
+       padding: 0;\r
+       margin: 0;\r
+       background: none;\r
+       height: 80px;\r
+       width: 80px;\r
+}\r
+\r
+.selected-identity img {\r
+       border: 2px solid #ff0000;\r
 }\r
 \r
 #photo-nav {\r
@@ -3329,11 +3409,6 @@ aside input[type='text'] {
        margin-bottom: 15px;\r
 }\r
 \r
-#language-selector {\r
-       position: absolute;\r
-       top: 0px;\r
-       left: 16px;\r
-}\r
 \r
 #group-members {\r
        margin-top: 20px;\r
@@ -3431,7 +3506,7 @@ aside input[type='text'] {
 \r
 \r
 #netsearch-box {\r
-       margin-top: 20px;       \r
+       margin-top: 20px;\r
 }\r
 \r
 #netsearch-box #search-submit {\r
@@ -3510,20 +3585,6 @@ aside input[type='text'] {
        text-decoration: underline;\r
 }\r
 \r
-#lang-select-icon {\r
-       cursor: pointer;\r
-       position: fixed;\r
-       left: 0px;\r
-       top: 0px;\r
-       opacity: 0.2;\r
-       filter:alpha(opacity=20);\r
-}\r
-\r
-#lang-select-icon:hover {\r
-       opacity: 1;\r
-       filter:alpha(opacity=100);\r
-}\r
-\r
 .notif-image {\r
        height: 80px;\r
        width: 80px;\r
@@ -3544,7 +3605,7 @@ aside input[type='text'] {
 .settings-heading {\r
        border-bottom: 1px solid #babdb6;\r
 }\r
\r
+\r
 \r
 \r
 /**\r
@@ -3625,7 +3686,7 @@ aside input[type='text'] {
        font-weight: bold;\r
        background-color: #FF0000;\r
        padding: 0em 0.3em;\r
-       \r
+\r
 }\r
 #adminpage dl {\r
        clear: left;\r
@@ -3685,7 +3746,7 @@ aside input[type='text'] {
 /*\r
  * UPDATE\r
  */\r
-.popup {       \r
+.popup {\r
        width: 100%; height: 100%;\r
        top:0px; left:0px;\r
        position: absolute;\r
@@ -3706,7 +3767,7 @@ aside input[type='text'] {
        border: 4px solid #000000;\r
        background-color: #FFFFFF;\r
 }\r
-.popup .panel .panel_text { display: block; overflow: auto; height: 80%; } \r
+.popup .panel .panel_text { display: block; overflow: auto; height: 80%; }\r
 .popup .panel .panel_in { width: 100%; height: 100%;   position: relative; }\r
 .popup .panel .panel_actions {  width: 100%; bottom: 4px; left: 0px; position: absolute; }\r
 .panel_text .progress { width: 50%; overflow: hidden; height: auto; border: 1px solid #cccccc; margin-bottom: 5px}\r
@@ -3719,7 +3780,7 @@ aside input[type='text'] {
        height: auto; overflow: auto;\r
        border-bottom: 2px solid #cccccc;\r
        padding-bottom: 1em;\r
-       margin-bottom: 1em;     \r
+       margin-bottom: 1em;\r
 }\r
 .oauthapp img {\r
        float: left;\r
@@ -3921,6 +3982,16 @@ aside input[type='text'] {
        opacity: 0.5;\r
 }\r
 \r
+.event-icon {\r
+       display: block; width: 33px; height: 33px;\r
+       background-size: 100% 100%;\r
+       background-repeat: no-repeat;\r
+       opacity: 0.5;\r
+}\r
+.event-attend-icon { background-image: url('images/event-attend.png'); }\r
+.event-maybeattend-icon { background-image: url('images/event-maybeattend.png'); }\r
+.event-dontattend-icon { background-image: url('images/event-dontattend.png'); }\r
+\r
 .icon.dim { opacity: 0.3;filter:alpha(opacity=30); }\r
 \r
 [class^="comment-edit-bb"] {\r
@@ -4215,9 +4286,9 @@ ul.notifications-menu-popup {
 }\r
 \r
 #recip {\r
-       \r
+\r
 }\r
-.autocomplete-w1 { background: #ffffff; no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }\r
+.autocomplete-w1 { background: #ffffff no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }\r
 .autocomplete { color:#000; border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px;  _margin:0; _overflow-x:hidden; }\r
 .autocomplete .selected { background:#F0F0F0; }\r
 .autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; }\r
index a2506fc17e83c667b34fd012c98cbef11829037a..3395c9dadfecde45c9838f2d098e81479741c608 100644 (file)
 
                        {{if $contact.photo_menu}}
 {{*<!--                        <span onclick="openClose('contact-photo-menu-{{$contact.id}}');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-{{$contact.id}}">menu</span>-->*}}
-                <div class="contact-photo-menu" id="contact-photo-menu-{{$contact.id}}">
-                    <ul>
-                                               {{foreach $contact.photo_menu as $c}}
-                                               {{if $c.2}}
-                                               <li><a target="redir" href="{{$c.1}}">{{$c.0}}</a></li>
-                                               {{else}}
-                                               <li><a href="{{$c.1}}">{{$c.0}}</a></li>
-                                               {{/if}}
-                                               {{/foreach}}
-                    </ul>
-                </div>
+               <div class="contact-photo-menu" id="contact-photo-menu-{{$contact.id}}">
+                       <ul>
+                                                   {{foreach $contact.photo_menu as $c}}
+                                                   {{if $c.2}}
+                                                   <li><a target="redir" href="{{$c.1}}">{{$c.0}}</a></li>
+                                                   {{else}}
+                                                   <li><a href="{{$c.1}}">{{$c.0}}</a></li>
+                                                   {{/if}}
+                                                   {{/foreach}}
+                       </ul>
+               </div>
                        {{/if}}
                </div>
                        
        </div>
-       <div class="contact-entry-photo-end" ></div>
-               <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >{{$contact.name}}</div><br />
-{{if $contact.alt_text}}<div class="contact-entry-details" id="contact-entry-rel-{{$contact.id}}" >{{$contact.alt_text}}</div>{{/if}}
-       <div class="contact-entry-network" id="contact-entry-network-{{$contact.id}}" >{{$contact.network}}</div>
+
+       <div class="contact-entry-desc">
+               <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >
+                       {{$contact.name}}
+                       {{if $contact.account_type}} <span class="contact-entry-details" id="contact-entry-accounttype-{{$contact.id}}">({{$contact.account_type}})</span>{{/if}}
+               </div>
+               {{if $contact.alt_text}}<div class="contact-entry-details" id="contact-entry-rel-{{$contact.id}}" >{{$contact.alt_text}}</div>{{/if}}
+               {{if $contact.itemurl}}<div class="contact-entry-details" id="contact-entry-url-{{$contact.id}}" >{{$contact.itemurl}}</div>{{/if}}
+               {{if $contact.tags}}<div class="contact-entry-details" id="contact-entry-tags-{{$contact.id}}" >{{$contact.tags}}</div>{{/if}}
+               {{if $contact.details}}<div class="contact-entry-details" id="contact-entry-details-{{$contact.id}}" >{{$contact.details}}</div>{{/if}}
+               {{if $contact.network}}<div class="contact-entry-network" id="contact-entry-network-{{$contact.id}}" >{{$contact.network}}</div>{{/if}}
+       </div>
 
        <div class="contact-entry-end" ></div>
 </div>
index 94e9afbe56b090615cd484c60eeb68506d355b7f..f776222f328a060ef2295c569a15794517f54a7d 100644 (file)
 {{$tabs}}
 
 
-<div id="contacts-display-wrapper">
+
 {{foreach $contacts as $contact}}
        {{include file="contact_template.tpl"}}
 {{/foreach}}
-</div>
 <div id="contact-edit-end"></div>
 
 {{$paginate}}
diff --git a/view/theme/frost-mobile/templates/lang_selector.tpl b/view/theme/frost-mobile/templates/lang_selector.tpl
deleted file mode 100644 (file)
index d9a90e7..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
-<div id="language-selector" style="display: none;" >
-       <form action="#" method="post" >
-               <select name="system_language" onchange="this.form.submit();" >
-                       {{foreach $langs.0 as $v=>$l}}
-                               <option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
-                       {{/foreach}}
-               </select>
-       </form>
-</div>
index 6e097c62bf07f8d978c091b86a2a0b87363c7499..b3024074be1d2409fb6cf7312eae2f381f12e708 100644 (file)
@@ -3,12 +3,14 @@
 
        <div class="fn label">{{$profile.name}}</div>
        
-                               
+       {{if $profile.addr}}<div class="p-addr">{{$profile.addr}}</div>{{/if}}
        
-       {{if $pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
+       {{if $profile.pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
        <div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.name}}"></div>
 
+       {{if $account_type}}<div class="account-type">{{$account_type}}</div>{{/if}}
 
+       {{if $profile.network_name}}<dl class="network"><dt class="network-label">{{$network}}</dt><dd class="x-network">{{$profile.network_name}}</dd></dl>{{/if}}
 
        {{if $location}}
                <dl class="location"><dt class="location-label">{{$location}}</dt> 
index cd9e1d316147154af3c0200f435fd8d8c08399b1..e3a636a840467b45aa9c8aa6221a1a39cb04cfd6 100644 (file)
@@ -27,6 +27,7 @@
 {{include file="field_input.tpl" field=$email}}
 {{include file="field_password.tpl" field=$password4}}
 {{include file="field_custom.tpl" field=$timezone}}
+{{include file="field_select.tpl" field=$language}}
 {{include file="field_input.tpl" field=$defloc}}
 {{include file="field_checkbox.tpl" field=$allowloc}}
 
diff --git a/view/theme/frost-mobile/templates/suggest_friends.tpl b/view/theme/frost-mobile/templates/suggest_friends.tpl
deleted file mode 100644 (file)
index e39cca6..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-
-<div class="profile-match-wrapper">
-       <div class="profile-match-photo">
-               <a href="{{$url}}">
-                       <img src="{{$photo}}" alt="{{$name}}" width="80" height="80" title="{{$name}} [{{$url}}]" onError="this.src='../../../images/person-48.jpg';" />
-               </a>
-       </div>
-       <div class="profile-match-break"></div>
-       <div class="profile-match-name">
-               <a href="{{$url}}" title="{{$name}}">{{$name}}</a>
-       </div>
-       <div class="profile-match-end"></div>
-       {{if $connlnk}}
-       <div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}">{{$conntxt}}</a></div>
-       {{/if}}
-       <a href="{{$ignlnk}}" title="{{$ignore}}" class="icon drophide profile-match-ignore" {{*onmouseout="imgdull(this);" onmouseover="imgbright(this);" *}}onclick="return confirmDelete();" ></a>
-</div>
index c96129195544d10d481ec3045c1aa04bbe28f27e..377c90242f257e95aa11592266b35ee903d538fa 100644 (file)
                        <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"></a>
                        {{/if}}                 
                        
+                       {{if $item.isevent}}
+                               <a href="#" id="attendyes-{{$item.id}}" title="{{$item.attend.0}}" onclick="dolike({{$item.id}},'attendyes'); return false;" class="event-item event-icon event-attend-icon"></a>
+                               <a href="#" id="attendno-{{$item.id}}" title="{{$item.attend.1}}" onclick="dolike({{$item.id}},'attendno'); return false;"  class="event-item event-icon event-dontattend-icon"></a>
+                               <a href="#" id="attendmaybe-{{$item.id}}" title="{{$item.attend.2}}" onclick="dolike({{$item.id}},'attendmaybe'); return false;"  class="event-item event-icon event-maybeattend-icon"></a>
+                       {{/if}}
+                       
                        {{*<!--<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >-->*}}
                                {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="wall-item-delete-wrapper icon drophide" title="{{$item.drop.delete}}" id="wall-item-delete-wrapper-{{$item.id}}" {{*onmouseover="imgbright(this);" onmouseout="imgdull(this);" *}}></a>{{/if}}
                        {{*<!--</div>-->*}}
                </div>
        </div>  
        {{*<!--<div class="wall-item-wrapper-end"></div>-->*}}
-       <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.like}}</div>
-       <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div>
+       {{if $item.responses}}
+               {{foreach $item.responses as $verb=>$response}}
+                       <div class="wall-item-response {{$item.indent}}" id="wall-item-{{$verb}}-{{$item.id}}">{{$response.output}}</div>
+               {{/foreach}}
+       {{/if}}
+
 
        {{if $item.threaded}}
        {{if $item.comment}}
index 8b87c3bd42549e5f9a40350b04ce96fa1b69a2e4..3dd400c76b396e2d752304cdb05f93c5212d136a 100644 (file)
@@ -35,7 +35,7 @@ input {
        border: 1px solid #666666;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
-       border-radius: 3px;     
+       border-radius: 3px;
        padding: 3px;
 }
 
@@ -63,7 +63,7 @@ code {
        background: #EEE;
        color: #444;
        padding: 10px;
-       margin-top: 20px; 
+       margin-top: 20px;
 }
 
 blockquote {
@@ -176,10 +176,10 @@ nav #banner #logo-text a:hover { text-decoration: none; }
        border: 1px solid #babdb6;
        border-bottom: 0px;
        background-color: #aec0d3;
-       color: #565854;         
+       color: #565854;
        -moz-border-radius: 3px 3px 0px 0px;
        -webkit-border-radius: 3px 3px 0px 0px;
-       border-radius: 3px 3px 0px 0px; 
+       border-radius: 3px 3px 0px 0px;
 }
 
 .nav-commlink.selected {
@@ -284,6 +284,7 @@ aside {
 /*     float:left;*/
 }
 
+#subscribe-feed-link,
 #dfrn-request-link {
        display: block;
        color: #FFFFFF;
@@ -337,7 +338,7 @@ section {
 .tabs {
        height: 27px;
        /*background-image: url(head.jpg);
-       background-repeat: repeat-x;    
+       background-repeat: repeat-x;
        background-position: 0px -20px;
        border-bottom: 1px solid #babdb6;*/
        padding:0px;
@@ -345,7 +346,7 @@ section {
 .tabs li { margin: 0px; list-style: none; }
 .tabs a {
 /*     background-image: url(head.jpg);
-       background-repeat: repeat-x;    
+       background-repeat: repeat-x;
        background-position: 0px 0px;
        background-size: auto 45px;*/
 
@@ -383,6 +384,27 @@ section {
        padding-top: 3em;
 }
 
+/* Contact-Header for the Network Stream */
+#viewcontact_wrapper-network {
+       width: 100%;
+       min-height: 100px;
+       background-color: #FAFAFA;
+       border: 1px solid #DDDDDD;
+       border-radius: 5px;
+}
+#contact-entry-wrapper-network {
+       float: none;
+       width: auto;
+       height: auto;
+       padding: 10px;
+       margin: 0;
+}
+#contact-entry-accounttype-network {
+       font-size: 0.9em;
+}
+#contact-entry-name-network {
+       font-size: 1.5em;
+}
 
 /* footer */
 footer {
@@ -423,14 +445,14 @@ div.wall-item-content-wrapper.shiny {
 }
 
 /* from default */
-#jot-perms-icon, 
+#jot-perms-icon,
 #profile-location,
 #profile-nolocation,
-#profile-youtube, 
-#profile-video, 
+#profile-youtube,
+#profile-video,
 #profile-audio,
 #profile-link,
-#profile-title, 
+#profile-title,
 #wall-image-upload,
 #wall-file-upload,
 #profile-upload-wrapper,
@@ -462,13 +484,13 @@ div.wall-item-content-wrapper.shiny {
 #jot-category::-webkit-input-placeholder{font-weight: normal;}
 #jot-title:-moz-placeholder{font-weight: normal;}
 #jot-category:-moz-placeholder{font-weight: normal;}
-               
-       
+
+
 #jot-title:hover,
 #jot-title:focus,
 #jot-category:hover,
 #jot-category:focus {
-       border: 1px solid #cccccc; 
+       border: 1px solid #cccccc;
 }
 
 .jothidden { display:none; }
@@ -489,11 +511,11 @@ div.wall-item-content-wrapper.shiny {
        margin-bottom: 10px;
 }
 
-.group-selected, .nets-selected, .fileas-selected, .categories-selected {
+.group-selected, .nets-selected, .fileas-selected, .categories-selected, .forum-selected {
        padding: 3px;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
-       border-radius: 3px;     
+       border-radius: 3px;
        border: 1px solid #CCCCCC;
        background: #F8F8F8;
        font-weight: bold;
@@ -503,7 +525,7 @@ div.wall-item-content-wrapper.shiny {
        padding: 3px;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
-       border-radius: 3px;     
+       border-radius: 3px;
        border: 1px solid #CCCCCC;
        background: #F8F8F8;
        font-weight: bold;
@@ -593,7 +615,7 @@ div.wall-item-content-wrapper.shiny {
 }
 
 #login-submit-button {
-       margin-top: 10px; 
+       margin-top: 10px;
        margin-left: 200px;
 }*/
 
@@ -995,7 +1017,7 @@ input#dfrn-url {
     clear: left;
     color: #666666;
     display: block;
-    margin-bottom: 20px        
+    margin-bottom: 20px
 }
 
 #profile-edit-profile-name-end,
@@ -1074,12 +1096,14 @@ input#dfrn-url {
 
 .contact-entry-wrapper {
        float: left;
-/*     width: 120px;
-       height: 120px;*/
-       padding-left: 8px;
-       padding-right: 8px; 
-       width: 95px;
-       height: 170px;
+       width: 262px;
+       height: 90px;
+       padding-right: 10px;
+       margin: 0 10px 10px 0px;
+}
+.contact-entry-wrapper .contact-entry-photo-wrapper {
+       float: left;
+       margin-right: 10px;
 }
 #contacts-search-end {
        margin-bottom: 10px;
@@ -1093,15 +1117,22 @@ input#dfrn-url {
 .contact-entry-photo img {
        border: none;
 }
+.contact-entry-photo a img {
+       width: 80px;
+       height: 80px;
+}
 .contact-entry-photo-end {
        clear: both;
 }
+.contact-entry-desc {
+       overflow: hidden;
+}
 .contact-entry-name {
-       float: left;
+       /*float: left;*/
        margin-left: 0px;
        margin-right: 10px;
        padding-bottom: 5px;
-       width: 120px;
+       /*width: 120px;*/
        font-weight: 600;
        overflow: hidden;
 }
@@ -1109,6 +1140,9 @@ input#dfrn-url {
        font-style: italic;
        font-size: 10px;
        font-weight: 500;
+       white-space: nowrap;
+       overflow: hidden;
+       text-overflow: ellipsis;
 }
 .contact-entry-network {
        font-size: 10px;
@@ -1170,22 +1204,22 @@ input#dfrn-url {
        border: none;
 }
 
-.wall-item-like, .wall-item-dislike {
+.wall-item-response {
        font-style: italic;
        margin-left: 0px;
        opacity: 0.4;
 }
-.wall-item-dislike {
+.wall-item-respose:last-chid {
        margin-bottom: 15px;
 }
-.wall-item-like:hover, .wall-item-dislike:hover {
+.wall-item-response:hover {
        opacity: 1.0;
 }
 
-.wall-item-like.comment, .wall-item-dislike.comment {
+.wall-item-response.comment {
        margin-left: 75px;
 }
-.wall-item-dislike.comment {
+.wall-item-response.comment:last-chid  {
        margin-bottom: 0px;
 }
 
@@ -1208,7 +1242,7 @@ input#dfrn-url {
        display: block;
        position: absolute;
        background-image: url("photo-menu.jpg");
-       background-position: top left; 
+       background-position: top left;
        background-repeat: no-repeat;
        margin: 0px; padding: 0px;
        width: 16px;
@@ -1217,7 +1251,7 @@ input#dfrn-url {
        overflow: hidden;
        text-indent: 40px;
        display: none;
-       
+
 }
 .wall-item-photo-menu {
        width: auto;
@@ -1263,7 +1297,7 @@ input#dfrn-url {
        margin-top: 1em; /* needs to match .wall-item-content-wrapper padding-top */
        left: 105px;
        position: absolute;
-       top: 1px;       
+       top: 1px;
 }
 .comment .wall-item-lock {
        left: 65px;
@@ -1311,20 +1345,11 @@ input#dfrn-url {
        margin-right: 10px;
 }
 
-.editpost {
-       margin-left: 10px;
-       float: left;
-}
-.star-item {
-       margin-left: 10px;
-       float: left;    
-}
-.tag-item {
-       margin-left: 10px;
-       float: left;    
-}
-
-.filer-item {
+.editpost,
+.star-item ,
+.tag-item,
+.filer-item,
+.event-item {
        margin-left: 10px;
        float: left;
 }
@@ -1361,7 +1386,7 @@ input#dfrn-url {
        -webkit-border-radius: 7px;
 }
 .comment .wall-item-photo {
-       width: 50px !important; 
+       width: 50px !important;
        height: 50px !important;
        border-radius: 5px;
        -moz-border-radius: 5px;
@@ -1419,7 +1444,7 @@ input#dfrn-url {
 .wall-item-title {
        float: left;
        font-weight: bold;
-       font-size: 1.6em; 
+       font-size: 1.6em;
        /*width: 450px;*/
 }
 
@@ -1463,7 +1488,7 @@ input#dfrn-url {
        margin-left: 0px;
        margin-top: 5px;
        padding-top: 0px;
-} 
+}
 
 .comment-edit-wrapper {
        margin-top: 15px;
@@ -1502,7 +1527,7 @@ input#dfrn-url {
        margin-top: 10px;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
-       border-radius: 3px;     
+       border-radius: 3px;
        border: 1px solid #cccccc;
        padding: 3px 1px 1px 3px;
 }
@@ -1551,7 +1576,7 @@ input#dfrn-url {
        padding-top: 0.5em;
        margin-top: 1em;
        margin-bottom: 1em;
-       
+
 }
 .shared_header img {
        float: left;
@@ -1998,7 +2023,7 @@ input#dfrn-url {
 .contact-photo-menu-button {
        position: absolute;
        background-image: url("photo-menu.jpg");
-       background-position: top left; 
+       background-position: top left;
        background-repeat: no-repeat;
        margin: 0px; padding: 0px;
        width: 16px;
@@ -2007,7 +2032,7 @@ input#dfrn-url {
        overflow: hidden;
        text-indent: 40px;
        display: none;
-       
+
 }
 .contact-photo-menu {
        width: auto;
@@ -2044,7 +2069,7 @@ input#dfrn-url {
        border: 1px solid #cccccc;
        padding: 3px 0px 0px 5px;
        -moz-border-radius: 3px;
-       border-radius: 3px;     
+       border-radius: 3px;
 }
 
 
@@ -2098,7 +2123,7 @@ input#dfrn-url {
        overflow: auto;
 }
 #acl-list-content {
-       
+
 }
 .acl-list-item {
        display: block;
@@ -2115,7 +2140,7 @@ input#dfrn-url {
        margin: 4px;
 }
 .acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;}
-.acl-list-item a { 
+.acl-list-item a {
        font-size: 10px; /* 8px; */
        display: block;
        width: 50px;
@@ -2315,6 +2340,22 @@ a.mail-list-link {
        clear: both;
 }
 
+#poke-desc {
+       margin: 5px 0 10px;
+}
+
+#poke-wrapper  {
+       padding: 10px 0 20px;
+}
+
+#poke-recipient, #poke-action, #poke-privacy-settings {
+       margin: 10px 0 30px;
+}
+
+#poke-recip-label, #poke-action-label, #prvmail-message-label {
+       margin: 10px 0 10px;
+}
+
 #sidebar-group-list ul {
        list-style-type: none;
 }
@@ -2329,6 +2370,16 @@ a.mail-list-link {
        margin-top: 10px;
 }
 
+#forumlist-sidebar ul {
+       list-style: none;
+}
+
+.forumlist-img {
+       height: 20px;
+       width: 20px;
+       vertical-align: middle;
+}
+
 .nets-ul, .fileas-ul, .categories-ul, .datebrowse-ul {
        list-style-type: none;
 }
@@ -2414,15 +2465,15 @@ aside input[type='text'] {
        margin-top: 15px;
        margin-right: 15px;
        margin-left: 15px;
-/*     width: 200px; height: 200px; 
-       overflow: hidden; 
+/*     width: 200px; height: 200px;
+       overflow: hidden;
        position: relative; */
 }
 .photo-album-image-wrapper .caption {
-       display: none; 
+       display: none;
        width: 100%;
 /*     position: absolute; */
-       bottom: 0px; 
+       bottom: 0px;
        padding: 0.5em 0.5em 0px 0.5em;
        background-color: rgba(245, 245, 255, 0.8);
        border-bottom: 2px solid #CCC;
@@ -2438,7 +2489,7 @@ aside input[type='text'] {
 }
 
 .photo-top-image-wrapper {
-/*     position: relative; 
+/*     position: relative;
        float: left;*/
        display: inline-block;
        vertical-align: top;
@@ -2446,7 +2497,7 @@ aside input[type='text'] {
        margin-right: 15px;
        margin-left: 15px;
        margin-bottom: 15px;
-/*     width: 200px; height: 200px; 
+/*     width: 200px; height: 200px;
        overflow: hidden; */
 }
 .photo-album-image-wrapper img, .photo-top-image-wrapper img {
@@ -2461,7 +2512,7 @@ aside input[type='text'] {
        width: 100%;
        min-height: 2em;
 /*     position: absolute;  */
-       bottom: 0px; 
+       bottom: 0px;
        padding: 0px 3px;
        padding-top: 0.5em;
        background-color: rgb(255, 255, 255);
@@ -2557,7 +2608,7 @@ aside input[type='text'] {
 }
 
 #profile-jot-banner-end {
-       /* clear: both; */ 
+       /* clear: both; */
 }
 
 #photos-upload-select-files-text {
@@ -2807,14 +2858,14 @@ aside input[type='text'] {
        margin-bottom: 25px;
 }
 
-.location-label, .gender-label, .marital-label, .homepage-label {
+.location-label, .gender-label, .marital-label, .homepage-label, .network-label {
        float: left;
        text-align: right;
        display: block;
        width: 65px;
 }
 
-.adr, .x-gender, .marital-text, .homepage-url {
+.adr, .x-gender, .marital-text, .homepage-url, .x-network {
        float: left;
        display: block;
        margin-left: 8px;
@@ -2844,7 +2895,7 @@ aside input[type='text'] {
 }
 
 /* end from default */
-       
+
 
 .fn {
        padding: 0px 0px 5px 12px;
@@ -2852,10 +2903,16 @@ aside input[type='text'] {
        font-weight: bold;
 }
 
-.vcard .title {
+.vcard .title,
+.vcard .p-addr,
+.vcard .account-type {
        margin-bottom: 5px;
        margin-left: 12px;
 }
+.vcard .account-type {
+       font-size: 120%;
+       margin-bottom: 13px;
+}
 
 .vcard dl {
        clear: both;
@@ -2863,7 +2920,7 @@ aside input[type='text'] {
 
 #birthday-title {
        float: left;
-       font-weight: bold;      
+       font-weight: bold;
 }
 
 #birthday-adjust {
@@ -2987,7 +3044,7 @@ aside input[type='text'] {
        clear: both;
 }
 
+
 .calendar {
        font-family: Courier, monospace;
 }
@@ -3006,17 +3063,49 @@ aside input[type='text'] {
        margin: 10px;
 }
 
-#identity-manage-desc {
-       margin-top:15px;
-       margin-bottom: 15px;
+.itentity-match-wrapper {
+       float: left;
+       padding: 10px;
+       width: 120px;
+       height: 140px;
+       margin-bottom: 20px;
 }
 
-#identity-manage-choose {
-       margin-bottom: 15px;
+.identity-match-photo {
+       float: left;
+       text-align: center;
+       width: 120px;
 }
 
-#identity-submit {
-       margin-top: 20px;
+.identity-match-name {
+       text-align: center;
+}
+
+.identity-match-details {
+       float: left;
+       text-align: center;
+       width: 120px;
+       overflow: hidden;
+       font-size: 10px;
+       font-weight: 500;
+       color: #999999;
+}
+
+.identity-match-break, .identity-match-end {
+       clear: both;
+}
+
+.identity-match-photo button {
+       border: none;
+       padding: 0;
+       margin: 0;
+       background: none;
+       height: 80px;
+       width: 80px;
+}
+
+.selected-identity img {
+       border: 2px solid #ff0000;
 }
 
 #photo-prev-link, #photo-next-link {
@@ -3099,12 +3188,6 @@ aside input[type='text'] {
        margin-bottom: 15px;
 }
 
-#language-selector {
-       position: absolute;
-       top: 0px;
-       left: 16px;
-}
-
 #group-members {
        margin-top: 20px;
        padding: 10px;
@@ -3201,7 +3284,7 @@ aside input[type='text'] {
 
 
 #netsearch-box {
-       margin-top: 20px;       
+       margin-top: 20px;
 }
 
 #netsearch-box #search-submit {
@@ -3291,19 +3374,6 @@ aside input[type='text'] {
        text-decoration: underline;
 }
 
-#lang-select-icon {
-       cursor: pointer;
-       position: absolute;
-       left: 0px;
-       top: 0px;
-       opacity: 0.2;
-       filter:alpha(opacity=20);
-}
-
-#lang-select-icon:hover {
-       opacity: 1;
-       filter:alpha(opacity=100);
-}
 
 .notif-image {
        height: 80px;
@@ -3325,7 +3395,7 @@ aside input[type='text'] {
 .settings-heading {
        border-bottom: 1px solid #babdb6;
 }
+
 
 /**
  * Form fields
@@ -3408,7 +3478,7 @@ aside input[type='text'] {
        font-weight: bold;
        background-color: #FF0000;
        padding: 0em 0.3em;
-       
+
 }
 #adminpage dl {
        clear: left;
@@ -3467,7 +3537,7 @@ aside input[type='text'] {
 /*
  * UPDATE
  */
-.popup {       
+.popup {
        width: 100%; height: 100%;
        top:0px; left:0px;
        position: absolute;
@@ -3488,7 +3558,7 @@ aside input[type='text'] {
        border: 4px solid #000000;
        background-color: #FFFFFF;
 }
-.popup .panel .panel_text { display: block; overflow: auto; height: 80%; } 
+.popup .panel .panel_text { display: block; overflow: auto; height: 80%; }
 .popup .panel .panel_in { width: 100%; height: 100%;   position: relative; }
 .popup .panel .panel_actions {  width: 100%; bottom: 4px; left: 0px; position: absolute; }
 .panel_text .progress { width: 50%; overflow: hidden; height: auto; border: 1px solid #cccccc; margin-bottom: 5px}
@@ -3501,7 +3571,7 @@ aside input[type='text'] {
        height: auto; overflow: auto;
        border-bottom: 2px solid #cccccc;
        padding-bottom: 1em;
-       margin-bottom: 1em;     
+       margin-bottom: 1em;
 }
 .oauthapp img {
        float: left;
@@ -3752,6 +3822,21 @@ aside input[type='text'] {
        opacity: 1.0;
 }
 
+.event-icon {
+       display: block; width: 16px; height: 16px;
+       background-size: 100% 100%;
+       background-repeat: no-repeat;
+       opacity: 0.4;
+}
+.event-attend-icon { background-image: url('images/event-attend-16.png'); }
+.event-maybeattend-icon { background-image: url('images/event-maybeattend-16.png'); }
+.event-dontattend-icon { background-image: url('images/event-dontattend-16.png'); }
+
+.filer-icon:hover {
+       opacity: 1.0;
+}
+
+
 .icon.dim { opacity: 0.3;filter:alpha(opacity=30); }
 /*[class^="comment-edit-bb"] {*/
 .comment-edit-bb {
@@ -3988,6 +4073,22 @@ div.jGrowl-notification {
 }
 
 /* notifications popup menu */
+.manage-notify {
+       padding: 1px 3px;
+       top: 0px;
+       min-width: 15px;
+       text-align: center;
+       float: right;
+       margin-top: -14px;
+       margin-right: -20px;
+
+       font-size: 0.8em;
+       border-radius: 4px;
+       -moz-border-radius: 4px;
+       -webkit-border-radius: 4px;
+       background-color: gold !important;
+}
+
 .nav-notify {
        display: none;
        position: absolute;
@@ -4094,7 +4195,7 @@ ul.notifications-menu-popup {
 }
 
 #recip {
-       
+
 }
 .autocomplete-w1 { background: #ffffff no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }
 .autocomplete { color:#000; border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px;  _margin:0; _overflow-x:hidden; }
@@ -4105,5 +4206,9 @@ ul.notifications-menu-popup {
        margin-left: 40px;
        width: 130px;
 }
-
-
+#message-preview .mail-list-sender, #message-preview .mail-list-delete {
+       display:none;
+}
+#message-preview .mail-list-outside-wrapper {
+       margin-top: 20px;
+}
index 7a29bd0455bfd4cb17dfac304098dc9e28873b07..fe491fd83a264cc3a3b5b3f232f34c8af52ad537 100644 (file)
@@ -10,8 +10,8 @@
 
                        {{if $contact.photo_menu}}
                        <span onclick="openClose('contact-photo-menu-{{$contact.id}}');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-{{$contact.id}}">menu</span>
-                <div class="contact-photo-menu" id="contact-photo-menu-{{$contact.id}}">
-                    <ul>
+               <div class="contact-photo-menu" id="contact-photo-menu-{{$contact.id}}">
+                       <ul>
                                                {{foreach $contact.photo_menu as $c}}
                                                {{if $c.2}}
                                                <li><a target="redir" href="{{$c.1}}">{{$c.0}}</a></li>
                                                <li><a href="{{$c.1}}">{{$c.0}}</a></li>
                                                {{/if}}
                                                {{/foreach}}
-                    </ul>
-                </div>
+                       </ul>
+               </div>
                        {{/if}}
                </div>
                        
        </div>
-       <div class="contact-entry-photo-end" ></div>
-               <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >{{$contact.name}}</div><br />
-{{if $contact.alt_text}}<div class="contact-entry-details" id="contact-entry-rel-{{$contact.id}}" >{{$contact.alt_text}}</div>{{/if}}
-       <div class="contact-entry-network" id="contact-entry-network-{{$contact.id}}" >{{$contact.network}}</div>
+
+       <div class="contact-entry-desc">
+               <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >
+                       {{$contact.name}}
+                       {{if $contact.account_type}} <span class="contact-entry-details" id="contact-entry-accounttype-{{$contact.id}}">({{$contact.account_type}})</span>{{/if}}
+               </div>
+               {{if $contact.alt_text}}<div class="contact-entry-details" id="contact-entry-rel-{{$contact.id}}" >{{$contact.alt_text}}</div>{{/if}}
+               {{if $contact.itemurl}}<div class="contact-entry-details" id="contact-entry-url-{{$contact.id}}" >{{$contact.itemurl}}</div>{{/if}}
+               {{if $contact.tags}}<div class="contact-entry-details" id="contact-entry-tags-{{$contact.id}}" >{{$contact.tags}}</div>{{/if}}
+               {{if $contact.details}}<div class="contact-entry-details" id="contact-entry-details-{{$contact.id}}" >{{$contact.details}}</div>{{/if}}
+               {{if $contact.network}}<div class="contact-entry-network" id="contact-entry-network-{{$contact.id}}" >{{$contact.network}}</div>{{/if}}
+       </div>
 
        <div class="contact-entry-end" ></div>
 </div>
diff --git a/view/theme/frost/templates/lang_selector.tpl b/view/theme/frost/templates/lang_selector.tpl
deleted file mode 100644 (file)
index d9a90e7..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
-<div id="language-selector" style="display: none;" >
-       <form action="#" method="post" >
-               <select name="system_language" onchange="this.form.submit();" >
-                       {{foreach $langs.0 as $v=>$l}}
-                               <option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
-                       {{/foreach}}
-               </select>
-       </form>
-</div>
index 6e097c62bf07f8d978c091b86a2a0b87363c7499..1a0c39a82690884a4ec707d6a90792f569142f84 100644 (file)
@@ -3,12 +3,14 @@
 
        <div class="fn label">{{$profile.name}}</div>
        
-                               
+       {{if $profile.addr}}<div class="p-addr">{{$profile.addr}}</div>{{/if}}
        
-       {{if $pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
+       {{if $profile.pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
        <div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.name}}"></div>
 
+       {{if $account_type}}<div class="account-type">{{$account_type}}</div>{{/if}}
 
+       {{if $profile.network_name}}<dl class="network"><dt class="network-label">{{$network}}</dt><dd class="x-network">{{$profile.network_name}}</dd></dl>{{/if}}
 
        {{if $location}}
                <dl class="location"><dt class="location-label">{{$location}}</dt> 
                        {{if $wallmessage}}
                                <li><a id="wallmessage-link" href="wallmessage/{{$profile.nickname}}">{{$wallmessage}}</a></li>
                        {{/if}}
+                       {{if $subscribe_feed}}
+                               <li><a id="subscribe-feed-link" href="dfrn_poll/{{$profile.nickname}}">{{$subscribe_feed}}</a></li>
+                       {{/if}}
                </ul>
        </div>
 </div>
 
 {{$contact_block}}
-
-
diff --git a/view/theme/frost/templates/suggest_friends.tpl b/view/theme/frost/templates/suggest_friends.tpl
deleted file mode 100644 (file)
index e39cca6..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-
-<div class="profile-match-wrapper">
-       <div class="profile-match-photo">
-               <a href="{{$url}}">
-                       <img src="{{$photo}}" alt="{{$name}}" width="80" height="80" title="{{$name}} [{{$url}}]" onError="this.src='../../../images/person-48.jpg';" />
-               </a>
-       </div>
-       <div class="profile-match-break"></div>
-       <div class="profile-match-name">
-               <a href="{{$url}}" title="{{$name}}">{{$name}}</a>
-       </div>
-       <div class="profile-match-end"></div>
-       {{if $connlnk}}
-       <div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}">{{$conntxt}}</a></div>
-       {{/if}}
-       <a href="{{$ignlnk}}" title="{{$ignore}}" class="icon drophide profile-match-ignore" {{*onmouseout="imgdull(this);" onmouseover="imgbright(this);" *}}onclick="return confirmDelete();" ></a>
-</div>
index 3f98a39eb40194da5c66db64a51d34b82608b192..0f1dcf75a460fe4a6fc4131357c9f58cfc29ab55 100644 (file)
                        {{if $item.filer}}
                        <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"></a>
                        {{/if}}                 
-                       
+
+                       {{if $item.isevent}}
+                               <a href="#" id="attendyes-{{$item.id}}" title="{{$item.attend.0}}" onclick="dolike({{$item.id}},'attendyes'); return false;" class="event-item event-icon event-attend-icon"></a>
+                               <a href="#" id="attendno-{{$item.id}}" title="{{$item.attend.1}}" onclick="dolike({{$item.id}},'attendno'); return false;"  class="event-item event-icon event-dontattend-icon"></a>
+                               <a href="#" id="attendmaybe-{{$item.id}}" title="{{$item.attend.2}}" onclick="dolike({{$item.id}},'attendmaybe'); return false;"  class="event-item event-icon event-maybeattend-icon"></a>
+                       {{/if}}
+
+
                        {{*<!--<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" >-->*}}
                                {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="wall-item-delete-wrapper icon drophide" title="{{$item.drop.delete}}" id="wall-item-delete-wrapper-{{$item.id}}" {{*onmouseover="imgbright(this);" onmouseout="imgdull(this);" *}}></a>{{/if}}
                        {{*<!--</div>-->*}}
                                {{if $item.drop.pagedrop}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}}
                        {{*<!--<div class="wall-item-delete-end"></div>-->*}}
+                       
+                       
                </div>
        </div>  
        {{*<!--<div class="wall-item-wrapper-end"></div>-->*}}
-       <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.like}}</div>
-       <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div>
+       {{if $item.responses}}
+               {{foreach $item.responses as $verb=>$response}}
+                       <div class="wall-item-response {{$item.indent}}" id="wall-item-{{$verb}}-{{$item.id}}">{{$response.output}}</div>
+               {{/foreach}}
+       {{/if}}
 
        {{if $item.threaded}}
        {{if $item.comment}}
index 1eda67de13a7343325f7759811fa891284532251..bb255fa46060cc144432622dc8e5b1db216675a1 100644 (file)
@@ -422,7 +422,7 @@ body {
   font-size: 11px;
   background-color: #ffffff;
   color: #2d2d2d;
-  margin: 50px 0px 0px 0px;
+  margin: 50px 0 0 0;
   display: table;
 }
 h4 {
@@ -463,7 +463,7 @@ a:hover {
   text-decoration: underline;
 }
 blockquote {
-  background: #ffffff;
+  background: #FFFFFF;
   padding: 1em;
   margin-left: 1em;
   border-left: 1em solid #e6e6e6;
@@ -484,14 +484,14 @@ code {
   width: 10em;
   background: #ffffff;
   color: #2d2d2d;
-  margin: 0px;
+  margin: 0;
   padding: 1em;
   list-style: none;
   border: 3px solid #364e59;
   z-index: 100000;
-  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
 }
 /* tool */
 .tool {
@@ -540,9 +540,9 @@ header {
   position: fixed;
   left: 43%;
   right: 43%;
-  top: 0px;
-  margin: 0px;
-  padding: 0px;
+  top: 0;
+  margin: 0;
+  padding: 0;
   /*width: 100%; height: 12px; */
   z-index: 110;
   color: #ffffff;
@@ -577,15 +577,15 @@ nav {
   width: 100%;
   height: 32px;
   position: fixed;
-  left: 0px;
-  top: 0px;
-  padding: 0px;
+  left: 0;
+  top: 0;
+  padding: 0;
   background-color: #0e232e;
   color: #ffffff;
   z-index: 100;
-  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
 }
 nav a,
 nav a:active,
@@ -597,24 +597,24 @@ nav a:hover {
   outline: none;
 }
 nav ul {
-  margin: 0px;
-  padding: 0px 20px;
+  margin: 0;
+  padding: 0 20px;
 }
 nav ul li {
   list-style: none;
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
   float: left;
 }
 nav ul li .menu-popup {
-  left: 0px;
+  left: 0;
   right: auto;
 }
 nav .nav-menu-icon {
   position: relative;
   height: 22px;
   padding: 5px;
-  margin: 0px 10px;
+  margin: 0 10px;
   -moz-border-radius: 5px 5px 0 0;
   -webkit-border-radius: 5px 5px 0 0;
   border-radius: 5px 5px 0 0;
@@ -633,7 +633,7 @@ nav .nav-menu {
   position: relative;
   height: 16px;
   padding: 5px;
-  margin: 3px 15px 0px;
+  margin: 3px 15px 0;
   font-size: 14px;
   border-bottom: 3px solid #0e232e;
 }
@@ -649,7 +649,7 @@ nav .nav-notify {
   border-radius: 5px 5px 5px 5px;
   font-size: 10px;
   padding: 1px 3px;
-  top: 0px;
+  top: 0;
   right: -10px;
   min-width: 15px;
   text-align: right;
@@ -669,7 +669,7 @@ nav #nav-search-link .menu-popup,
 nav #nav-directory-link .menu-popup,
 nav #nav-apps-link .menu-popup,
 nav #nav-site-linkmenu .menu-popup {
-  right: 0px;
+  right: 0;
   left: auto;
 }
 nav #nav-notifications-linkmenu.on .icon.s22.notify,
@@ -693,14 +693,14 @@ ul.menu-popup {
   width: 10em;
   background: #ffffff;
   color: #2d2d2d;
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
   list-style: none;
   border: 3px solid #364e59;
   z-index: 100000;
-  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
 }
 ul.menu-popup a {
   display: block;
@@ -751,9 +751,9 @@ ul.menu-popup .toolbar a:hover {
   border: 1px solid #364e59;
   overflow: auto;
   z-index: 100000;
-  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
 }
 .autocomplete > div,
 .acpopupitem {
@@ -791,12 +791,35 @@ ul.menu-popup .toolbar a:hover {
   color: #9eabb0;
   display: block;
 }
+/* Contact-Header for the Network Stream */
+#viewcontact_wrapper-network {
+  width: 100%;
+  min-height: 100px;
+  background-color: #eff0f1;
+  border-bottom: 1px solid #cccccc;
+}
+#viewcontact_wrapper-network #contact-entry-wrapper-network {
+  float: none;
+  width: auto;
+  height: auto;
+  padding: 10px;
+}
+#viewcontact_wrapper-network #contact-entry-wrapper-network #contact-entry-accounttype-network {
+  font-size: 22px;
+}
+#viewcontact_wrapper-network #contact-entry-wrapper-network #contact-entry-name-network {
+  font-size: 24.5px;
+  font-weight: normal;
+}
+#viewcontact_wrapper-network #contact-entry-wrapper-network .contact-details {
+  font-size: 12px;
+}
 /* aside 230px*/
 aside {
   display: table-cell;
   vertical-align: top;
   width: 200px;
-  padding: 0px 10px 0px 20px;
+  padding: 0px 10px 0 20px;
   border-right: 1px solid #bdcdd4;
 }
 aside .profile-edit-side-div {
@@ -810,13 +833,20 @@ aside .vcard .fn {
 aside .vcard .title {
   margin-bottom: 5px;
 }
+aside .vcard .p-addr {
+  margin-bottom: 5px;
+}
+aside .vcard .account-type {
+  font-size: 14px;
+  margin-bottom: 13px;
+}
 aside .vcard dl {
   height: auto;
   overflow: auto;
 }
 aside .vcard dt {
   float: left;
-  margin-left: 0px;
+  margin-left: 0;
   width: 35%;
   text-align: right;
   color: #999999;
@@ -827,12 +857,12 @@ aside .vcard dd {
   width: 60%;
 }
 aside #profile-extra-links ul {
-  padding: 0px;
-  margin: 0px;
+  padding: 0;
+  margin: 0;
 }
 aside #profile-extra-links li {
-  padding: 0px;
-  margin: 0px;
+  padding: 0.2em 0;
+  margin: 0;
   list-style: none;
 }
 aside #wallmessage-link {
@@ -857,7 +887,7 @@ aside #dfrn-request-link {
   -webkit-border-radius: 5px 5px 5px 5px;
   border-radius: 5px 5px 5px 5px;
   color: #ffffff;
-  background: #005c94 url('../../../images/connect-bg.png') no-repeat left center;
+  background: #005c94 url('icons/connect-bg.png') no-repeat left center;
   font-weight: bold;
   text-transform: uppercase;
   padding: 4px 2px 2px 35px;
@@ -866,6 +896,21 @@ aside #dfrn-request-link:hover {
   text-decoration: none;
   background-color: #19aeff;
 }
+aside #subscribe-feed-link {
+  display: block;
+  -moz-border-radius: 5px 5px 5px 5px;
+  -webkit-border-radius: 5px 5px 5px 5px;
+  border-radius: 5px 5px 5px 5px;
+  color: #ffffff;
+  background: #005c94 url('icons/rss-bg.png') no-repeat left center;
+  font-weight: bold;
+  text-transform: uppercase;
+  padding: 4px 2px 2px 35px;
+}
+aside #subscribe-feed-link:hover {
+  text-decoration: none;
+  background-color: #19aeff;
+}
 aside #profiles-menu {
   width: 20em;
 }
@@ -879,11 +924,11 @@ aside .posted-date-selector-months {
 }
 #contact-block .contact-block-h4 {
   float: left;
-  margin: 5px 0px;
+  margin: 5px 0;
 }
 #contact-block .allcontact-link {
   float: right;
-  margin: 5px 0px;
+  margin: 5px 0;
 }
 #contact-block .contact-block-content {
   clear: both;
@@ -892,7 +937,7 @@ aside .posted-date-selector-months {
 }
 #contact-block .contact-block-link {
   float: left;
-  margin: 0px 2px 2px 0px;
+  margin: 0 2px 2px 0;
 }
 #contact-block .contact-block-link img {
   width: 48px;
@@ -955,11 +1000,11 @@ aside .posted-date-selector-months {
 /* widget */
 .widget {
   margin-bottom: 2em;
-  /*.action .s10 { width: 10px; overflow: hidden; padding: 0px;}
-       .action .s16 { width: 16px; overflow: hidden; padding: 0px;}*/
+  /*.action .s10 { width: 10px; overflow: hidden; padding: 0;}
+       .action .s16 { width: 16px; overflow: hidden; padding: 0;}*/
 }
 .widget h3 {
-  padding: 0px;
+  padding: 0;
   margin: 2px;
 }
 .widget .action {
@@ -1003,7 +1048,7 @@ aside .posted-date-selector-months {
   transition: all 0.2s ease-in-out;
 }
 .widget ul {
-  padding: 0px;
+  padding: 0;
 }
 .widget ul li {
   padding-left: 16px;
@@ -1013,6 +1058,21 @@ aside .posted-date-selector-months {
 .widget .tool.selected {
   background: url('../../../images/selected.png') no-repeat left center;
 }
+.widget .notify {
+  display: none;
+  background-color: #19AEFF;
+  border-radius: 5px;
+  font-size: 10px;
+  padding: 1px 3px;
+  min-width: 15px;
+  text-align: right;
+  float: right;
+  color: #ffffff;
+  margin-right: 10px;
+}
+.widget .notify.on {
+  display: block;
+}
 /* widget: search */
 #add-search-popup {
   width: 200px;
@@ -1023,7 +1083,7 @@ section {
   display: table-cell;
   vertical-align: top;
   width: 770px;
-  padding: 0px 20px 0px 10px;
+  padding: 0px 20px 0 10px;
 }
 .sparkle {
   cursor: url('icons/lock.cur'), pointer;
@@ -1156,13 +1216,13 @@ section {
 }
 .wall-item-container.comment .contact-photo-menu-button {
   top: 15px !important;
-  left: 0px !important;
+  left: 0 !important;
 }
 .wall-item-container.comment .wall-item-links {
   padding-left: 12px;
 }
 .wall-item-container.comment .commentbox {
-  height: 0px;
+  height: 0;
   overflow: hidden;
   -webkit-transition: all 0.2s ease-in-out;
   -moz-transition: all 0.2s ease-in-out;
@@ -1172,7 +1232,7 @@ section {
 }
 .wall-item-container.comment .commentbox .wall-item-comment-wrapper {
   border-top: 1px solid #999999;
-  height: 0px;
+  height: 0;
   overflow: hidden;
 }
 .wall-item-container.comment:hover .commentbox {
@@ -1185,7 +1245,7 @@ section {
   transition: all 0.2s ease-in-out;
 }
 .wall-item-container.comment:hover .commentbox .wall-item-comment-wrapper {
-  border-top: 0px;
+  border-top: 0;
   height: auto;
   overflow: visible;
 }
@@ -1229,10 +1289,10 @@ section {
   border: 1px solid #2d2d2d;
 }
 .wall-item-comment-wrapper.photo {
-  margin: 1em 2em 1em 0px;
+  margin: 1em 2em 1em 0;
 }
 .threaded .wall-item-comment-wrapper {
-  margin-left: 0px;
+  margin-left: 0;
 }
 .comment-edit-preview {
   width: 710px;
@@ -1261,7 +1321,7 @@ section {
   padding: 0;
   margin: 10px 0;
   background-color: #fce94f;
-  border-bottom: 0px;
+  border-bottom: 0;
 }
 .comment-edit-preview .wall-item-conv {
   display: none;
@@ -1315,7 +1375,7 @@ section {
   color: #666666;
 }
 /*.filesavetags {
-    padding: 3px 0px 3px 0px;
+    padding: 3px 0 3px 0;
     opacity: 0.5;
 }*/
 .wwto {
@@ -1328,9 +1388,9 @@ section {
   padding: 1px;
   top: 40px;
   left: 30px;
-  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
 }
 .wwto .contact-photo {
   width: 25px;
@@ -1349,10 +1409,10 @@ section {
   max-width: 650px;
   max-height: inital;
   float: none;
-  margin-right: 0px;
+  margin-right: 0;
 }
 .type-link blockquote {
-  margin: 1em 0px;
+  margin: 1em 0;
   max-height: 160px;
   overflow: hidden;
   padding-left: 1em;
@@ -1444,10 +1504,10 @@ blockquote.shared_content {
   width: 500px;
 }
 .children .children .children .children .children .children {
-  margin-left: 0px;
+  margin-left: 0;
 }
 .children .children .children .children .children .children .hide-comments-outer {
-  margin-left: 0px;
+  margin-left: 0;
 }
 /*.threaded .hide-comments-outer { margin-left: 20px; }*/
 span[id^="showmore-teaser"] {
@@ -1490,7 +1550,7 @@ span[id^="showmore-wrap"] {
   display: block;
   width: 100%;
   background-color: #ffffff;
-  border: 0px;
+  border: 0;
   color: #2d2d2d;
   text-align: left;
   padding: 5px 10px;
@@ -1525,7 +1585,7 @@ span[id^="showmore-wrap"] {
   width: 300px;
   height: 90px;
   padding-right: 10px;
-  margin: 0 10px 10px 0px;
+  margin: 0 10px 10px 0;
 }
 .contact-wrapper .contact-photo-wrapper {
   float: left;
@@ -1540,9 +1600,34 @@ span[id^="showmore-wrap"] {
   height: 80px;
 }
 .contact-wrapper .contact-photo-menu-button {
-  left: 0px;
+  left: 0;
   top: 63px;
 }
+.contact-wrapper .drop {
+  background-image: url('../../../images/icons/22/delete.png');
+  display: block;
+  width: 22px;
+  height: 22px;
+  position: relative;
+  top: 10px;
+  left: -10px;
+  z-index: 99;
+}
+.contact-wrapper .drophide {
+  background-image: url('../../../images/icons/22/delete.png');
+  display: block;
+  width: 22px;
+  height: 22px;
+  opacity: 0.3;
+  position: relative;
+  top: 10px;
+  left: -10px;
+  z-index: 99;
+}
+.contact-wrapper .contact-entry-connect {
+  padding-top: 5px;
+  font-weight: bold;
+}
 .directory-item {
   float: left;
   width: 200px;
@@ -1558,7 +1643,7 @@ span[id^="showmore-wrap"] {
 }
 .contact-name {
   font-weight: bold;
-  padding-top: 15px;
+  /* padding-top: 15px; */
 }
 .contact-details {
   color: #999999;
@@ -1572,7 +1657,7 @@ span[id^="showmore-wrap"] {
 }
 #jot {
   width: 100%;
-  margin: 0px 2em 20px 0px;
+  margin: 0 2em 20px 0;
 }
 #jot .profile-jot-text {
   height: 1em;
@@ -1583,8 +1668,8 @@ span[id^="showmore-wrap"] {
   padding: 0.3em;
 }
 #jot #jot-tools {
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
   height: 40px;
   overflow: none;
   width: 770px;
@@ -1633,9 +1718,9 @@ span[id^="showmore-wrap"] {
   border-left: 1px solid #666666;
 }
 #jot #jot-tools li.submit input {
-  border: 0px;
-  margin: 0px;
-  padding: 0px;
+  border: 0;
+  margin: 0;
+  padding: 0;
   background-color: #cccccc;
   color: #666666;
   width: 80px;
@@ -1659,8 +1744,8 @@ span[id^="showmore-wrap"] {
   margin-top: 10px;
 }
 #jot #jot-title {
-  border: 0px;
-  margin: 0px;
+  border: 0;
+  margin: 0;
   height: 20px;
   width: 500px;
   font-weight: bold;
@@ -1687,8 +1772,8 @@ span[id^="showmore-wrap"] {
   padding-right: 20px;
 }
 #jot #jot-category {
-  border: 0px;
-  margin: 0px;
+  border: 0;
+  margin: 0;
   height: 20px;
   width: 200px;
   border: 1px solid #ffffff;
@@ -1701,13 +1786,35 @@ span[id^="showmore-wrap"] {
 }
 /** buttons **/
 /*input[type="submit"] {
-       border: 0px;
+       border: 0;
     background-color: @ButtonBackgroundColor;
     color: @ButtonColor;
-    padding: 0px 10px;
+    padding: 0 10px;
        .rounded(5px);
     height: 18px;
 }*/
+a.actionbutton {
+  border: 1px solid #999999;
+  background-color: #cccccc;
+  color: #2d2d2d;
+  font-size: 8pt;
+  padding: 2pt;
+  -moz-border-radius: 5px 5px 5px 5px;
+  -webkit-border-radius: 5px 5px 5px 5px;
+  border-radius: 5px 5px 5px 5px;
+}
+a.actionbutton i.icon {
+  display: inline-block;
+  vertical-align: baseline;
+  padding: 0;
+}
+a.actionbutton:hover {
+  text-decoration: none;
+  background-color: #ffffff;
+}
+h2 > .actionbutton {
+  float: right;
+}
 /** acl **/
 #photo-edit-perms-select,
 #photos-upload-permissions-wrapper,
@@ -1732,7 +1839,7 @@ span[id^="showmore-wrap"] {
   background-image: url("../../../images/show_all_off.png");
   background-position: 7px 7px;
   background-repeat: no-repeat;
-  padding: 7px 5px 0px 30px;
+  padding: 7px 5px 0 30px;
   color: #999999;
   -moz-border-radius: 5px 5px 5px 5px;
   -webkit-border-radius: 5px 5px 5px 5px;
@@ -1767,8 +1874,8 @@ span[id^="showmore-wrap"] {
 .acl-list-item p {
   height: 12px;
   font-size: 10px;
-  margin: 0px;
-  padding: 2px 0px 1px;
+  margin: 0;
+  padding: 2px 0 1px;
   overflow: hidden;
 }
 .acl-list-item a {
@@ -1919,7 +2026,7 @@ ul.tabs li .active {
   display: none!important;
 }
 .field.radio .field_help {
-  margin-left: 0px;
+  margin-left: 0;
 }
 #profile-edit-links li {
   list-style: none;
@@ -2006,7 +2113,7 @@ ul.tabs li .active {
 .videos .video-top-wrapper {
   width: 200px;
   float: left;
-  margin: 0px 10px 10px 0px;
+  margin: 0 10px 10px 0;
   position: relative;
 }
 .videos .video-top-wrapper .video-js {
@@ -2016,8 +2123,8 @@ ul.tabs li .active {
 .videos .video-top-wrapper .video-delete {
   position: absolute;
   opacity: 0;
-  right: 0px;
-  top: 0px;
+  right: 0;
+  top: 0;
   transition: opacity 0.5s;
 }
 .videos .video-top-wrapper:hover .video-delete {
@@ -2044,7 +2151,7 @@ ul.tabs li .active {
 }
 #photo-top-upload-link,
 .photos-upload-link {
-  margin: 1em 0px;
+  margin: 1em 0;
   display: block;
 }
 .photos-upload-link a,
@@ -2055,7 +2162,7 @@ ul.tabs li .active {
 .photo-top-image-wrapper,
 .photo-album-image-wrapper {
   float: left;
-  margin: 0px 10px 10px 0px;
+  margin: 0 10px 10px 0;
   width: 150px;
   height: 150px;
   position: relative;
@@ -2087,10 +2194,10 @@ ul.tabs li .active {
 .photo-album-image-wrapper:hover .photo-top-album-name,
 .photo-top-image-wrapper:hover .caption,
 .photo-album-image-wrapper:hover .caption {
-  bottom: 0px;
-  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+  bottom: 0;
+  -webkit-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
   -webkit-transition: all 0.5s ease-in-out;
   -moz-transition: all 0.5s ease-in-out;
   -o-transition: all 0.5s ease-in-out;
@@ -2101,7 +2208,7 @@ ul.tabs li .active {
   display: block;
   width: 660px;
   padding: 50px;
-  margin-bottom: 0px;
+  margin-bottom: 0;
   text-align: center;
   background-color: #999999;
 }
@@ -2185,7 +2292,7 @@ ul.tabs li .active {
   height: 80px;
 }
 .profile-match-wrapper .contact-photo-menu-button {
-  left: 0px;
+  left: 0;
   top: 63px;
 }
 /* messages */
@@ -2199,7 +2306,7 @@ ul.tabs li .active {
   text-align: center;
   display: block;
   font-weight: bold;
-  padding: 1em 0px;
+  padding: 1em 0;
 }
 .mail-list-wrapper {
   background-color: #f6f7f8;
@@ -2216,7 +2323,7 @@ ul.tabs li .active {
 }
 .mail-list-wrapper .mail-subject {
   width: 30%;
-  padding: 4px 0px 0px 4px;
+  padding: 4px 0 0 4px;
 }
 .mail-list-wrapper .mail-subject a {
   display: block;
@@ -2225,13 +2332,13 @@ ul.tabs li .active {
   font-weight: bold;
 }
 .mail-list-wrapper .mail-date {
-  padding: 4px 4px 0px 4px;
+  padding: 4px 4px 0 4px;
 }
 .mail-list-wrapper .mail-from {
-  padding: 4px 4px 0px 4px;
+  padding: 4px 4px 0 4px;
 }
 .mail-list-wrapper .mail-count {
-  padding: 4px 4px 0px 4px;
+  padding: 4px 4px 0 4px;
   text-align: right;
 }
 .mail-list-wrapper .mail-delete {
@@ -2248,7 +2355,7 @@ ul.tabs li .active {
 #mail-display-subject span {
   float: left;
   overflow: hidden;
-  padding: 4px 0px 0px 10px;
+  padding: 4px 0 0 10px;
 }
 #mail-display-subject .mail-delete {
   float: right;
@@ -2324,8 +2431,8 @@ footer {
   text-align: right;
 }
 #adminpage #pluginslist {
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
 }
 #adminpage .plugin {
   list-style: none;
@@ -2345,7 +2452,7 @@ footer {
 #adminpage table {
   width: 100%;
   border-bottom: 1px solid #000000;
-  margin: 5px 0px;
+  margin: 5px 0;
 }
 #adminpage table th {
   text-align: left;
@@ -2371,8 +2478,8 @@ footer {
 .comment-edit-bb {
   list-style: none;
   display: none;
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
   width: 75%;
 }
 .comment-edit-bb > li {
@@ -2391,49 +2498,49 @@ footer {
   background-color: #ccc;
 }
 .boldbb {
-  background-position: 0px 0px;
+  background-position: 0 0;
 }
 .boldbb:hover {
-  background-position: 0px -16px;
+  background-position: 0 -16px;
 }
 .italicbb {
-  background-position: -16px 0px;
+  background-position: -16px 0;
 }
 .italicbb:hover {
   background-position: -16px -16px;
 }
 .underlinebb {
-  background-position: -32px 0px;
+  background-position: -32px 0;
 }
 .underlinebb:hover {
   background-position: -32px -16px;
 }
 .quotebb {
-  background-position: -48px 0px;
+  background-position: -48px 0;
 }
 .quotebb:hover {
   background-position: -48px -16px;
 }
 .codebb {
-  background-position: -64px 0px;
+  background-position: -64px 0;
 }
 .codebb:hover {
   background-position: -64px -16px;
 }
 .imagebb {
-  background-position: -80px 0px;
+  background-position: -80px 0;
 }
 .imagebb:hover {
   background-position: -80px -16px;
 }
 .urlbb {
-  background-position: -96px 0px;
+  background-position: -96px 0;
 }
 .urlbb:hover {
   background-position: -96px -16px;
 }
 .videobb {
-  background-position: -112px 0px;
+  background-position: -112px 0;
 }
 .videobb:hover {
   background-position: -112px -16px;
@@ -2446,7 +2553,7 @@ footer {
   cursor: pointer;
   border: 1px solid #333;
   width: 200px;
-  margin: 10px 0px 10px 0px;
+  margin: 10px 0 10px 0;
   float: left;
 }
 /* progress bar (enabled with progress: true) */
@@ -2470,16 +2577,16 @@ footer {
   -moz-border-radius: 0 0 5px 5px;
   -webkit-border-radius: 0 0 5px 5px;
   border-radius: 0 0 5px 5px;
-  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
 }
 /* the input field */
 .range {
   width: 20px!important;
   font-size: 8pt;
   margin-left: 10px;
-  border: 0px;
+  border: 0;
   color: #999999;
 }
 /* buttons for the event view */
@@ -2491,7 +2598,7 @@ footer {
 .fbrowser {
   overflow: auto;
   position: absolute;
-  top: 0px;
+  top: 0;
   width: 100%;
   height: 100%;
 }
@@ -2500,7 +2607,7 @@ footer {
 }
 .fbrowser .path a {
   padding: 5px;
-  margin: 0px 2px;
+  margin: 0 2px;
   display: inline-block;
 }
 .fbrowser .path a,
index 71569971e5ac6b2ea50068e7dd6820fbc29b3285..6f68a9598fe8f4e015eec1b693db406c36ff50d7 100644 (file)
@@ -422,7 +422,7 @@ body {
   font-size: 11px;
   background-color: #ffffff;
   color: #2d2d2d;
-  margin: 50px 0px 0px 0px;
+  margin: 50px 0 0 0;
   display: table;
 }
 h4 {
@@ -463,7 +463,7 @@ a:hover {
   text-decoration: underline;
 }
 blockquote {
-  background: #ffffff;
+  background: #FFFFFF;
   padding: 1em;
   margin-left: 1em;
   border-left: 1em solid #e6e6e6;
@@ -484,14 +484,14 @@ code {
   width: 10em;
   background: #ffffff;
   color: #2d2d2d;
-  margin: 0px;
+  margin: 0;
   padding: 1em;
   list-style: none;
   border: 3px solid #364e59;
   z-index: 100000;
-  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
 }
 /* tool */
 .tool {
@@ -540,9 +540,9 @@ header {
   position: fixed;
   left: 43%;
   right: 43%;
-  top: 0px;
-  margin: 0px;
-  padding: 0px;
+  top: 0;
+  margin: 0;
+  padding: 0;
   /*width: 100%; height: 12px; */
   z-index: 110;
   color: #ffffff;
@@ -577,15 +577,15 @@ nav {
   width: 100%;
   height: 32px;
   position: fixed;
-  left: 0px;
-  top: 0px;
-  padding: 0px;
+  left: 0;
+  top: 0;
+  padding: 0;
   background-color: #009100;
   color: #ffffff;
   z-index: 100;
-  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
 }
 nav a,
 nav a:active,
@@ -597,24 +597,24 @@ nav a:hover {
   outline: none;
 }
 nav ul {
-  margin: 0px;
-  padding: 0px 20px;
+  margin: 0;
+  padding: 0 20px;
 }
 nav ul li {
   list-style: none;
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
   float: left;
 }
 nav ul li .menu-popup {
-  left: 0px;
+  left: 0;
   right: auto;
 }
 nav .nav-menu-icon {
   position: relative;
   height: 22px;
   padding: 5px;
-  margin: 0px 10px;
+  margin: 0 10px;
   -moz-border-radius: 5px 5px 0 0;
   -webkit-border-radius: 5px 5px 0 0;
   border-radius: 5px 5px 0 0;
@@ -633,7 +633,7 @@ nav .nav-menu {
   position: relative;
   height: 16px;
   padding: 5px;
-  margin: 3px 15px 0px;
+  margin: 3px 15px 0;
   font-size: 14px;
   border-bottom: 3px solid #009100;
 }
@@ -649,7 +649,7 @@ nav .nav-notify {
   border-radius: 5px 5px 5px 5px;
   font-size: 10px;
   padding: 1px 3px;
-  top: 0px;
+  top: 0;
   right: -10px;
   min-width: 15px;
   text-align: right;
@@ -669,7 +669,7 @@ nav #nav-search-link .menu-popup,
 nav #nav-directory-link .menu-popup,
 nav #nav-apps-link .menu-popup,
 nav #nav-site-linkmenu .menu-popup {
-  right: 0px;
+  right: 0;
   left: auto;
 }
 nav #nav-notifications-linkmenu.on .icon.s22.notify,
@@ -693,14 +693,14 @@ ul.menu-popup {
   width: 10em;
   background: #ffffff;
   color: #2d2d2d;
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
   list-style: none;
   border: 3px solid #364e59;
   z-index: 100000;
-  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
 }
 ul.menu-popup a {
   display: block;
@@ -751,9 +751,9 @@ ul.menu-popup .toolbar a:hover {
   border: 1px solid #364e59;
   overflow: auto;
   z-index: 100000;
-  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
 }
 .autocomplete > div,
 .acpopupitem {
@@ -791,12 +791,35 @@ ul.menu-popup .toolbar a:hover {
   color: #9eabb0;
   display: block;
 }
+/* Contact-Header for the Network Stream */
+#viewcontact_wrapper-network {
+  width: 100%;
+  min-height: 100px;
+  background-color: #eff0f1;
+  border-bottom: 1px solid #cccccc;
+}
+#viewcontact_wrapper-network #contact-entry-wrapper-network {
+  float: none;
+  width: auto;
+  height: auto;
+  padding: 10px;
+}
+#viewcontact_wrapper-network #contact-entry-wrapper-network #contact-entry-accounttype-network {
+  font-size: 22px;
+}
+#viewcontact_wrapper-network #contact-entry-wrapper-network #contact-entry-name-network {
+  font-size: 24.5px;
+  font-weight: normal;
+}
+#viewcontact_wrapper-network #contact-entry-wrapper-network .contact-details {
+  font-size: 12px;
+}
 /* aside 230px*/
 aside {
   display: table-cell;
   vertical-align: top;
   width: 200px;
-  padding: 0px 10px 0px 20px;
+  padding: 0px 10px 0 20px;
   border-right: 1px solid #bdcdd4;
 }
 aside .profile-edit-side-div {
@@ -810,13 +833,20 @@ aside .vcard .fn {
 aside .vcard .title {
   margin-bottom: 5px;
 }
+aside .vcard .p-addr {
+  margin-bottom: 5px;
+}
+aside .vcard .account-type {
+  font-size: 14px;
+  margin-bottom: 13px;
+}
 aside .vcard dl {
   height: auto;
   overflow: auto;
 }
 aside .vcard dt {
   float: left;
-  margin-left: 0px;
+  margin-left: 0;
   width: 35%;
   text-align: right;
   color: #999999;
@@ -827,12 +857,12 @@ aside .vcard dd {
   width: 60%;
 }
 aside #profile-extra-links ul {
-  padding: 0px;
-  margin: 0px;
+  padding: 0;
+  margin: 0;
 }
 aside #profile-extra-links li {
-  padding: 0px;
-  margin: 0px;
+  padding: 0.2em 0;
+  margin: 0;
   list-style: none;
 }
 aside #wallmessage-link {
@@ -857,7 +887,7 @@ aside #dfrn-request-link {
   -webkit-border-radius: 5px 5px 5px 5px;
   border-radius: 5px 5px 5px 5px;
   color: #ffffff;
-  background: #009100 url('../../../images/connect-bg.png') no-repeat left center;
+  background: #009100 url('icons/connect-bg.png') no-repeat left center;
   font-weight: bold;
   text-transform: uppercase;
   padding: 4px 2px 2px 35px;
@@ -866,6 +896,21 @@ aside #dfrn-request-link:hover {
   text-decoration: none;
   background-color: #ccff42;
 }
+aside #subscribe-feed-link {
+  display: block;
+  -moz-border-radius: 5px 5px 5px 5px;
+  -webkit-border-radius: 5px 5px 5px 5px;
+  border-radius: 5px 5px 5px 5px;
+  color: #ffffff;
+  background: #009100 url('icons/rss-bg.png') no-repeat left center;
+  font-weight: bold;
+  text-transform: uppercase;
+  padding: 4px 2px 2px 35px;
+}
+aside #subscribe-feed-link:hover {
+  text-decoration: none;
+  background-color: #ccff42;
+}
 aside #profiles-menu {
   width: 20em;
 }
@@ -879,11 +924,11 @@ aside .posted-date-selector-months {
 }
 #contact-block .contact-block-h4 {
   float: left;
-  margin: 5px 0px;
+  margin: 5px 0;
 }
 #contact-block .allcontact-link {
   float: right;
-  margin: 5px 0px;
+  margin: 5px 0;
 }
 #contact-block .contact-block-content {
   clear: both;
@@ -892,7 +937,7 @@ aside .posted-date-selector-months {
 }
 #contact-block .contact-block-link {
   float: left;
-  margin: 0px 2px 2px 0px;
+  margin: 0 2px 2px 0;
 }
 #contact-block .contact-block-link img {
   width: 48px;
@@ -955,11 +1000,11 @@ aside .posted-date-selector-months {
 /* widget */
 .widget {
   margin-bottom: 2em;
-  /*.action .s10 { width: 10px; overflow: hidden; padding: 0px;}
-       .action .s16 { width: 16px; overflow: hidden; padding: 0px;}*/
+  /*.action .s10 { width: 10px; overflow: hidden; padding: 0;}
+       .action .s16 { width: 16px; overflow: hidden; padding: 0;}*/
 }
 .widget h3 {
-  padding: 0px;
+  padding: 0;
   margin: 2px;
 }
 .widget .action {
@@ -1003,7 +1048,7 @@ aside .posted-date-selector-months {
   transition: all 0.2s ease-in-out;
 }
 .widget ul {
-  padding: 0px;
+  padding: 0;
 }
 .widget ul li {
   padding-left: 16px;
@@ -1013,6 +1058,21 @@ aside .posted-date-selector-months {
 .widget .tool.selected {
   background: url('../../../images/selected.png') no-repeat left center;
 }
+.widget .notify {
+  display: none;
+  background-color: #19AEFF;
+  border-radius: 5px;
+  font-size: 10px;
+  padding: 1px 3px;
+  min-width: 15px;
+  text-align: right;
+  float: right;
+  color: #ffffff;
+  margin-right: 10px;
+}
+.widget .notify.on {
+  display: block;
+}
 /* widget: search */
 #add-search-popup {
   width: 200px;
@@ -1023,7 +1083,7 @@ section {
   display: table-cell;
   vertical-align: top;
   width: 770px;
-  padding: 0px 20px 0px 10px;
+  padding: 0px 20px 0 10px;
 }
 .sparkle {
   cursor: url('icons/lock.cur'), pointer;
@@ -1156,13 +1216,13 @@ section {
 }
 .wall-item-container.comment .contact-photo-menu-button {
   top: 15px !important;
-  left: 0px !important;
+  left: 0 !important;
 }
 .wall-item-container.comment .wall-item-links {
   padding-left: 12px;
 }
 .wall-item-container.comment .commentbox {
-  height: 0px;
+  height: 0;
   overflow: hidden;
   -webkit-transition: all 0.2s ease-in-out;
   -moz-transition: all 0.2s ease-in-out;
@@ -1172,7 +1232,7 @@ section {
 }
 .wall-item-container.comment .commentbox .wall-item-comment-wrapper {
   border-top: 1px solid #999999;
-  height: 0px;
+  height: 0;
   overflow: hidden;
 }
 .wall-item-container.comment:hover .commentbox {
@@ -1185,7 +1245,7 @@ section {
   transition: all 0.2s ease-in-out;
 }
 .wall-item-container.comment:hover .commentbox .wall-item-comment-wrapper {
-  border-top: 0px;
+  border-top: 0;
   height: auto;
   overflow: visible;
 }
@@ -1229,10 +1289,10 @@ section {
   border: 1px solid #2d2d2d;
 }
 .wall-item-comment-wrapper.photo {
-  margin: 1em 2em 1em 0px;
+  margin: 1em 2em 1em 0;
 }
 .threaded .wall-item-comment-wrapper {
-  margin-left: 0px;
+  margin-left: 0;
 }
 .comment-edit-preview {
   width: 710px;
@@ -1261,7 +1321,7 @@ section {
   padding: 0;
   margin: 10px 0;
   background-color: #ddffdd;
-  border-bottom: 0px;
+  border-bottom: 0;
 }
 .comment-edit-preview .wall-item-conv {
   display: none;
@@ -1315,7 +1375,7 @@ section {
   color: #666666;
 }
 /*.filesavetags {
-    padding: 3px 0px 3px 0px;
+    padding: 3px 0 3px 0;
     opacity: 0.5;
 }*/
 .wwto {
@@ -1328,9 +1388,9 @@ section {
   padding: 1px;
   top: 40px;
   left: 30px;
-  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
 }
 .wwto .contact-photo {
   width: 25px;
@@ -1349,10 +1409,10 @@ section {
   max-width: 650px;
   max-height: inital;
   float: none;
-  margin-right: 0px;
+  margin-right: 0;
 }
 .type-link blockquote {
-  margin: 1em 0px;
+  margin: 1em 0;
   max-height: 160px;
   overflow: hidden;
   padding-left: 1em;
@@ -1444,10 +1504,10 @@ blockquote.shared_content {
   width: 500px;
 }
 .children .children .children .children .children .children {
-  margin-left: 0px;
+  margin-left: 0;
 }
 .children .children .children .children .children .children .hide-comments-outer {
-  margin-left: 0px;
+  margin-left: 0;
 }
 /*.threaded .hide-comments-outer { margin-left: 20px; }*/
 span[id^="showmore-teaser"] {
@@ -1490,7 +1550,7 @@ span[id^="showmore-wrap"] {
   display: block;
   width: 100%;
   background-color: #ffffff;
-  border: 0px;
+  border: 0;
   color: #2d2d2d;
   text-align: left;
   padding: 5px 10px;
@@ -1525,7 +1585,7 @@ span[id^="showmore-wrap"] {
   width: 300px;
   height: 90px;
   padding-right: 10px;
-  margin: 0 10px 10px 0px;
+  margin: 0 10px 10px 0;
 }
 .contact-wrapper .contact-photo-wrapper {
   float: left;
@@ -1540,9 +1600,34 @@ span[id^="showmore-wrap"] {
   height: 80px;
 }
 .contact-wrapper .contact-photo-menu-button {
-  left: 0px;
+  left: 0;
   top: 63px;
 }
+.contact-wrapper .drop {
+  background-image: url('../../../images/icons/22/delete.png');
+  display: block;
+  width: 22px;
+  height: 22px;
+  position: relative;
+  top: 10px;
+  left: -10px;
+  z-index: 99;
+}
+.contact-wrapper .drophide {
+  background-image: url('../../../images/icons/22/delete.png');
+  display: block;
+  width: 22px;
+  height: 22px;
+  opacity: 0.3;
+  position: relative;
+  top: 10px;
+  left: -10px;
+  z-index: 99;
+}
+.contact-wrapper .contact-entry-connect {
+  padding-top: 5px;
+  font-weight: bold;
+}
 .directory-item {
   float: left;
   width: 200px;
@@ -1558,7 +1643,7 @@ span[id^="showmore-wrap"] {
 }
 .contact-name {
   font-weight: bold;
-  padding-top: 15px;
+  /* padding-top: 15px; */
 }
 .contact-details {
   color: #999999;
@@ -1572,7 +1657,7 @@ span[id^="showmore-wrap"] {
 }
 #jot {
   width: 100%;
-  margin: 0px 2em 20px 0px;
+  margin: 0 2em 20px 0;
 }
 #jot .profile-jot-text {
   height: 1em;
@@ -1583,8 +1668,8 @@ span[id^="showmore-wrap"] {
   padding: 0.3em;
 }
 #jot #jot-tools {
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
   height: 40px;
   overflow: none;
   width: 770px;
@@ -1633,9 +1718,9 @@ span[id^="showmore-wrap"] {
   border-left: 1px solid #666666;
 }
 #jot #jot-tools li.submit input {
-  border: 0px;
-  margin: 0px;
-  padding: 0px;
+  border: 0;
+  margin: 0;
+  padding: 0;
   background-color: #cccccc;
   color: #666666;
   width: 80px;
@@ -1659,8 +1744,8 @@ span[id^="showmore-wrap"] {
   margin-top: 10px;
 }
 #jot #jot-title {
-  border: 0px;
-  margin: 0px;
+  border: 0;
+  margin: 0;
   height: 20px;
   width: 500px;
   font-weight: bold;
@@ -1687,8 +1772,8 @@ span[id^="showmore-wrap"] {
   padding-right: 20px;
 }
 #jot #jot-category {
-  border: 0px;
-  margin: 0px;
+  border: 0;
+  margin: 0;
   height: 20px;
   width: 200px;
   border: 1px solid #ffffff;
@@ -1701,13 +1786,35 @@ span[id^="showmore-wrap"] {
 }
 /** buttons **/
 /*input[type="submit"] {
-       border: 0px;
+       border: 0;
     background-color: @ButtonBackgroundColor;
     color: @ButtonColor;
-    padding: 0px 10px;
+    padding: 0 10px;
        .rounded(5px);
     height: 18px;
 }*/
+a.actionbutton {
+  border: 1px solid #999999;
+  background-color: #cccccc;
+  color: #2d2d2d;
+  font-size: 8pt;
+  padding: 2pt;
+  -moz-border-radius: 5px 5px 5px 5px;
+  -webkit-border-radius: 5px 5px 5px 5px;
+  border-radius: 5px 5px 5px 5px;
+}
+a.actionbutton i.icon {
+  display: inline-block;
+  vertical-align: baseline;
+  padding: 0;
+}
+a.actionbutton:hover {
+  text-decoration: none;
+  background-color: #ffffff;
+}
+h2 > .actionbutton {
+  float: right;
+}
 /** acl **/
 #photo-edit-perms-select,
 #photos-upload-permissions-wrapper,
@@ -1732,7 +1839,7 @@ span[id^="showmore-wrap"] {
   background-image: url("../../../images/show_all_off.png");
   background-position: 7px 7px;
   background-repeat: no-repeat;
-  padding: 7px 5px 0px 30px;
+  padding: 7px 5px 0 30px;
   color: #999999;
   -moz-border-radius: 5px 5px 5px 5px;
   -webkit-border-radius: 5px 5px 5px 5px;
@@ -1767,8 +1874,8 @@ span[id^="showmore-wrap"] {
 .acl-list-item p {
   height: 12px;
   font-size: 10px;
-  margin: 0px;
-  padding: 2px 0px 1px;
+  margin: 0;
+  padding: 2px 0 1px;
   overflow: hidden;
 }
 .acl-list-item a {
@@ -1919,7 +2026,7 @@ ul.tabs li .active {
   display: none!important;
 }
 .field.radio .field_help {
-  margin-left: 0px;
+  margin-left: 0;
 }
 #profile-edit-links li {
   list-style: none;
@@ -2006,7 +2113,7 @@ ul.tabs li .active {
 .videos .video-top-wrapper {
   width: 200px;
   float: left;
-  margin: 0px 10px 10px 0px;
+  margin: 0 10px 10px 0;
   position: relative;
 }
 .videos .video-top-wrapper .video-js {
@@ -2016,8 +2123,8 @@ ul.tabs li .active {
 .videos .video-top-wrapper .video-delete {
   position: absolute;
   opacity: 0;
-  right: 0px;
-  top: 0px;
+  right: 0;
+  top: 0;
   transition: opacity 0.5s;
 }
 .videos .video-top-wrapper:hover .video-delete {
@@ -2044,7 +2151,7 @@ ul.tabs li .active {
 }
 #photo-top-upload-link,
 .photos-upload-link {
-  margin: 1em 0px;
+  margin: 1em 0;
   display: block;
 }
 .photos-upload-link a,
@@ -2055,7 +2162,7 @@ ul.tabs li .active {
 .photo-top-image-wrapper,
 .photo-album-image-wrapper {
   float: left;
-  margin: 0px 10px 10px 0px;
+  margin: 0 10px 10px 0;
   width: 150px;
   height: 150px;
   position: relative;
@@ -2087,10 +2194,10 @@ ul.tabs li .active {
 .photo-album-image-wrapper:hover .photo-top-album-name,
 .photo-top-image-wrapper:hover .caption,
 .photo-album-image-wrapper:hover .caption {
-  bottom: 0px;
-  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+  bottom: 0;
+  -webkit-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
   -webkit-transition: all 0.5s ease-in-out;
   -moz-transition: all 0.5s ease-in-out;
   -o-transition: all 0.5s ease-in-out;
@@ -2101,7 +2208,7 @@ ul.tabs li .active {
   display: block;
   width: 660px;
   padding: 50px;
-  margin-bottom: 0px;
+  margin-bottom: 0;
   text-align: center;
   background-color: #999999;
 }
@@ -2185,7 +2292,7 @@ ul.tabs li .active {
   height: 80px;
 }
 .profile-match-wrapper .contact-photo-menu-button {
-  left: 0px;
+  left: 0;
   top: 63px;
 }
 /* messages */
@@ -2199,7 +2306,7 @@ ul.tabs li .active {
   text-align: center;
   display: block;
   font-weight: bold;
-  padding: 1em 0px;
+  padding: 1em 0;
 }
 .mail-list-wrapper {
   background-color: #f6f7f8;
@@ -2216,7 +2323,7 @@ ul.tabs li .active {
 }
 .mail-list-wrapper .mail-subject {
   width: 30%;
-  padding: 4px 0px 0px 4px;
+  padding: 4px 0 0 4px;
 }
 .mail-list-wrapper .mail-subject a {
   display: block;
@@ -2225,13 +2332,13 @@ ul.tabs li .active {
   font-weight: bold;
 }
 .mail-list-wrapper .mail-date {
-  padding: 4px 4px 0px 4px;
+  padding: 4px 4px 0 4px;
 }
 .mail-list-wrapper .mail-from {
-  padding: 4px 4px 0px 4px;
+  padding: 4px 4px 0 4px;
 }
 .mail-list-wrapper .mail-count {
-  padding: 4px 4px 0px 4px;
+  padding: 4px 4px 0 4px;
   text-align: right;
 }
 .mail-list-wrapper .mail-delete {
@@ -2248,7 +2355,7 @@ ul.tabs li .active {
 #mail-display-subject span {
   float: left;
   overflow: hidden;
-  padding: 4px 0px 0px 10px;
+  padding: 4px 0 0 10px;
 }
 #mail-display-subject .mail-delete {
   float: right;
@@ -2324,8 +2431,8 @@ footer {
   text-align: right;
 }
 #adminpage #pluginslist {
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
 }
 #adminpage .plugin {
   list-style: none;
@@ -2345,7 +2452,7 @@ footer {
 #adminpage table {
   width: 100%;
   border-bottom: 1px solid #000000;
-  margin: 5px 0px;
+  margin: 5px 0;
 }
 #adminpage table th {
   text-align: left;
@@ -2371,8 +2478,8 @@ footer {
 .comment-edit-bb {
   list-style: none;
   display: none;
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
   width: 75%;
 }
 .comment-edit-bb > li {
@@ -2391,49 +2498,49 @@ footer {
   background-color: #ccc;
 }
 .boldbb {
-  background-position: 0px 0px;
+  background-position: 0 0;
 }
 .boldbb:hover {
-  background-position: 0px -16px;
+  background-position: 0 -16px;
 }
 .italicbb {
-  background-position: -16px 0px;
+  background-position: -16px 0;
 }
 .italicbb:hover {
   background-position: -16px -16px;
 }
 .underlinebb {
-  background-position: -32px 0px;
+  background-position: -32px 0;
 }
 .underlinebb:hover {
   background-position: -32px -16px;
 }
 .quotebb {
-  background-position: -48px 0px;
+  background-position: -48px 0;
 }
 .quotebb:hover {
   background-position: -48px -16px;
 }
 .codebb {
-  background-position: -64px 0px;
+  background-position: -64px 0;
 }
 .codebb:hover {
   background-position: -64px -16px;
 }
 .imagebb {
-  background-position: -80px 0px;
+  background-position: -80px 0;
 }
 .imagebb:hover {
   background-position: -80px -16px;
 }
 .urlbb {
-  background-position: -96px 0px;
+  background-position: -96px 0;
 }
 .urlbb:hover {
   background-position: -96px -16px;
 }
 .videobb {
-  background-position: -112px 0px;
+  background-position: -112px 0;
 }
 .videobb:hover {
   background-position: -112px -16px;
@@ -2446,7 +2553,7 @@ footer {
   cursor: pointer;
   border: 1px solid #333;
   width: 200px;
-  margin: 10px 0px 10px 0px;
+  margin: 10px 0 10px 0;
   float: left;
 }
 /* progress bar (enabled with progress: true) */
@@ -2470,16 +2577,16 @@ footer {
   -moz-border-radius: 0 0 5px 5px;
   -webkit-border-radius: 0 0 5px 5px;
   border-radius: 0 0 5px 5px;
-  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
 }
 /* the input field */
 .range {
   width: 20px!important;
   font-size: 8pt;
   margin-left: 10px;
-  border: 0px;
+  border: 0;
   color: #999999;
 }
 /* buttons for the event view */
@@ -2491,7 +2598,7 @@ footer {
 .fbrowser {
   overflow: auto;
   position: absolute;
-  top: 0px;
+  top: 0;
   width: 100%;
   height: 100%;
 }
@@ -2500,7 +2607,7 @@ footer {
 }
 .fbrowser .path a {
   padding: 5px;
-  margin: 0px 2px;
+  margin: 0 2px;
   display: inline-block;
 }
 .fbrowser .path a,
diff --git a/view/theme/quattro/icons/connect-bg.png b/view/theme/quattro/icons/connect-bg.png
new file mode 100644 (file)
index 0000000..0611c73
Binary files /dev/null and b/view/theme/quattro/icons/connect-bg.png differ
diff --git a/view/theme/quattro/icons/rss-bg.png b/view/theme/quattro/icons/rss-bg.png
new file mode 100644 (file)
index 0000000..1528c9c
Binary files /dev/null and b/view/theme/quattro/icons/rss-bg.png differ
diff --git a/view/theme/quattro/js/quattro.js b/view/theme/quattro/js/quattro.js
new file mode 100644 (file)
index 0000000..259874a
--- /dev/null
@@ -0,0 +1,150 @@
+$(document).ready(function(){
+       $('nav').bind('nav-update', function(e,data){
+               var notifCount = $(data).find('notif').attr('count');
+               var intro = $(data).find('intro').text();
+               var mail = $(data).find('mail').text();
+
+               $(".tool .notify").removeClass("on");
+               $(data).find("group").each(function() {
+                       var gid = this.id;
+                       var gcount = this.innerHTML;
+                       $(".group-"+gid+" .notify").addClass("on").text(gcount);
+               });
+
+               $(".forum-widget-entry .notify").removeClass("on");
+               $(data).find("forum").each(function() {
+                       var fid = this.id;
+                       var fcount = this.innerHTML;
+                       $(".forum-"+fid+" .notify").addClass("on").text(fcount);
+               });
+
+               console.log(intro,mail);
+
+               if (notifCount > 0 ) {
+                       Tinycon.setBubble(notifCount);
+               } else {
+                       Tinycon.setBubble('');
+               }
+
+               if (intro>0){
+                       $("#nav-introductions-link").addClass("on");
+               } else {
+                       $("#nav-introductions-link").removeClass("on");
+               }
+
+               if (mail>0){
+                       $("#nav-messages-link").addClass("on");
+               } else {
+                       $("#nav-messages-link").removeClass("on");
+               }
+
+       });
+
+       /*
+        * show and hide contact action buttons in
+        * contacts page on contacts' checkbox selection
+        */
+       $('.contact-select').bind('click', function(e) {
+               var y = e.clientY;
+               var elm = $("#contacts-actions");
+               y=y-40;
+               if (y<0) y=0;
+               if (y+elm.height() > $("html").height()) y=$("html").height()-elm.height();
+               elm.css('top', y+"px");
+               if ($(".contact-select:checked").length > 0) {
+                       elm.show();
+               } else {
+                       elm.hide();
+               }
+       });
+});
+
+function insertFormatting(comment,BBcode,id) {
+
+               var tmpStr = $("#comment-edit-text-" + id).val();
+               if(tmpStr == comment) {
+                       tmpStr = "";
+                       $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
+                       $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
+                       openMenu("comment-edit-submit-wrapper-" + id);
+                       $("#comment-edit-text-" + id).val(tmpStr);
+               }
+
+       textarea = document.getElementById("comment-edit-text-" +id);
+       if (document.selection) {
+               textarea.focus();
+               selected = document.selection.createRange();
+               if (BBcode == "url"){
+                       selected.text = "["+BBcode+"]" + "http://" +  selected.text + "[/"+BBcode+"]";
+                       } else
+               selected.text = "["+BBcode+"]" + selected.text + "[/"+BBcode+"]";
+       } else if (textarea.selectionStart || textarea.selectionStart == "0") {
+               var start = textarea.selectionStart;
+               var end = textarea.selectionEnd;
+               if (BBcode == "url"){
+                       textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + "http://" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
+                       } else
+               textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
+       }
+       return true;
+}
+
+function showThread(id) {
+       $("#collapsed-comments-" + id).show()
+       $("#collapsed-comments-" + id + " .collapsed-comments").show()
+}
+function hideThread(id) {
+       $("#collapsed-comments-" + id).hide()
+       $("#collapsed-comments-" + id + " .collapsed-comments").hide()
+}
+
+
+function cmtBbOpen(id) {
+       $("#comment-edit-bb-" + id).show();
+}
+function cmtBbClose(id) {
+       $("#comment-edit-bb-" + id).hide();
+}
+
+$(document).ready(function() {
+
+       $('html').click(function() { $("#nav-notifications-menu" ).hide(); });
+
+       $('.group-edit-icon').hover(
+               function() {
+                       $(this).addClass('icon'); $(this).removeClass('iconspacer');},
+               function() {
+                       $(this).removeClass('icon'); $(this).addClass('iconspacer');}
+               );
+
+       $('.sidebar-group-element').hover(
+               function() {
+                       id = $(this).attr('id');
+                       $('#edit-' + id).addClass('icon'); $('#edit-' + id).removeClass('iconspacer');},
+
+               function() {
+                       id = $(this).attr('id');
+                       $('#edit-' + id).removeClass('icon');$('#edit-' + id).addClass('iconspacer');}
+               );
+
+
+       $('.savedsearchdrop').hover(
+               function() {
+                       $(this).addClass('drop'); $(this).addClass('icon'); $(this).removeClass('iconspacer');},
+               function() {
+                       $(this).removeClass('drop'); $(this).removeClass('icon'); $(this).addClass('iconspacer');}
+               );
+
+       $('.savedsearchterm').hover(
+               function() {
+                       id = $(this).attr('id');
+                       $('#drop-' + id).addClass('icon');      $('#drop-' + id).addClass('drophide'); $('#drop-' + id).removeClass('iconspacer');},
+
+               function() {
+                       id = $(this).attr('id');
+                       $('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');}
+       );
+
+});
+
+
index 55b81e5dafaad6e60c413cdc2cad54373d32468b..f6093c5c220467f7ce1181a78fa81c752df3d968 100644 (file)
 body {
   font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
   font-size: 11px;
-  background-color: #f6ecf9;
+  background-color: #F6ECF9;
   color: #2d2d2d;
-  margin: 50px 0px 0px 0px;
+  margin: 50px 0 0 0;
   display: table;
 }
 h4 {
@@ -463,7 +463,7 @@ a:hover {
   text-decoration: underline;
 }
 blockquote {
-  background: #ffffff;
+  background: #FFFFFF;
   padding: 1em;
   margin-left: 1em;
   border-left: 1em solid #e6e6e6;
@@ -484,14 +484,14 @@ code {
   width: 10em;
   background: #ffffff;
   color: #2d2d2d;
-  margin: 0px;
+  margin: 0;
   padding: 1em;
   list-style: none;
   border: 3px solid #364e59;
   z-index: 100000;
-  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
 }
 /* tool */
 .tool {
@@ -540,9 +540,9 @@ header {
   position: fixed;
   left: 43%;
   right: 43%;
-  top: 0px;
-  margin: 0px;
-  padding: 0px;
+  top: 0;
+  margin: 0;
+  padding: 0;
   /*width: 100%; height: 12px; */
   z-index: 110;
   color: #ffffff;
@@ -577,15 +577,15 @@ nav {
   width: 100%;
   height: 32px;
   position: fixed;
-  left: 0px;
-  top: 0px;
-  padding: 0px;
+  left: 0;
+  top: 0;
+  padding: 0;
   background-color: #521f5c;
   color: #ffffff;
   z-index: 100;
-  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
 }
 nav a,
 nav a:active,
@@ -597,24 +597,24 @@ nav a:hover {
   outline: none;
 }
 nav ul {
-  margin: 0px;
-  padding: 0px 20px;
+  margin: 0;
+  padding: 0 20px;
 }
 nav ul li {
   list-style: none;
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
   float: left;
 }
 nav ul li .menu-popup {
-  left: 0px;
+  left: 0;
   right: auto;
 }
 nav .nav-menu-icon {
   position: relative;
   height: 22px;
   padding: 5px;
-  margin: 0px 10px;
+  margin: 0 10px;
   -moz-border-radius: 5px 5px 0 0;
   -webkit-border-radius: 5px 5px 0 0;
   border-radius: 5px 5px 0 0;
@@ -633,7 +633,7 @@ nav .nav-menu {
   position: relative;
   height: 16px;
   padding: 5px;
-  margin: 3px 15px 0px;
+  margin: 3px 15px 0;
   font-size: 14px;
   border-bottom: 3px solid #521f5c;
 }
@@ -649,7 +649,7 @@ nav .nav-notify {
   border-radius: 5px 5px 5px 5px;
   font-size: 10px;
   padding: 1px 3px;
-  top: 0px;
+  top: 0;
   right: -10px;
   min-width: 15px;
   text-align: right;
@@ -669,7 +669,7 @@ nav #nav-search-link .menu-popup,
 nav #nav-directory-link .menu-popup,
 nav #nav-apps-link .menu-popup,
 nav #nav-site-linkmenu .menu-popup {
-  right: 0px;
+  right: 0;
   left: auto;
 }
 nav #nav-notifications-linkmenu.on .icon.s22.notify,
@@ -693,14 +693,14 @@ ul.menu-popup {
   width: 10em;
   background: #ffffff;
   color: #2d2d2d;
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
   list-style: none;
   border: 3px solid #364e59;
   z-index: 100000;
-  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
 }
 ul.menu-popup a {
   display: block;
@@ -751,9 +751,9 @@ ul.menu-popup .toolbar a:hover {
   border: 1px solid #364e59;
   overflow: auto;
   z-index: 100000;
-  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
 }
 .autocomplete > div,
 .acpopupitem {
@@ -791,12 +791,35 @@ ul.menu-popup .toolbar a:hover {
   color: #9eabb0;
   display: block;
 }
+/* Contact-Header for the Network Stream */
+#viewcontact_wrapper-network {
+  width: 100%;
+  min-height: 100px;
+  background-color: #eff0f1;
+  border-bottom: 1px solid #cccccc;
+}
+#viewcontact_wrapper-network #contact-entry-wrapper-network {
+  float: none;
+  width: auto;
+  height: auto;
+  padding: 10px;
+}
+#viewcontact_wrapper-network #contact-entry-wrapper-network #contact-entry-accounttype-network {
+  font-size: 22px;
+}
+#viewcontact_wrapper-network #contact-entry-wrapper-network #contact-entry-name-network {
+  font-size: 24.5px;
+  font-weight: normal;
+}
+#viewcontact_wrapper-network #contact-entry-wrapper-network .contact-details {
+  font-size: 12px;
+}
 /* aside 230px*/
 aside {
   display: table-cell;
   vertical-align: top;
   width: 200px;
-  padding: 0px 10px 0px 20px;
+  padding: 0px 10px 0 20px;
   border-right: 1px solid #bdcdd4;
 }
 aside .profile-edit-side-div {
@@ -810,13 +833,20 @@ aside .vcard .fn {
 aside .vcard .title {
   margin-bottom: 5px;
 }
+aside .vcard .p-addr {
+  margin-bottom: 5px;
+}
+aside .vcard .account-type {
+  font-size: 14px;
+  margin-bottom: 13px;
+}
 aside .vcard dl {
   height: auto;
   overflow: auto;
 }
 aside .vcard dt {
   float: left;
-  margin-left: 0px;
+  margin-left: 0;
   width: 35%;
   text-align: right;
   color: #999999;
@@ -827,12 +857,12 @@ aside .vcard dd {
   width: 60%;
 }
 aside #profile-extra-links ul {
-  padding: 0px;
-  margin: 0px;
+  padding: 0;
+  margin: 0;
 }
 aside #profile-extra-links li {
-  padding: 0px;
-  margin: 0px;
+  padding: 0.2em 0;
+  margin: 0;
   list-style: none;
 }
 aside #wallmessage-link {
@@ -857,7 +887,7 @@ aside #dfrn-request-link {
   -webkit-border-radius: 5px 5px 5px 5px;
   border-radius: 5px 5px 5px 5px;
   color: #ffffff;
-  background: #521f5c url('../../../images/connect-bg.png') no-repeat left center;
+  background: #521f5c url('icons/connect-bg.png') no-repeat left center;
   font-weight: bold;
   text-transform: uppercase;
   padding: 4px 2px 2px 35px;
@@ -866,6 +896,21 @@ aside #dfrn-request-link:hover {
   text-decoration: none;
   background-color: #86608e;
 }
+aside #subscribe-feed-link {
+  display: block;
+  -moz-border-radius: 5px 5px 5px 5px;
+  -webkit-border-radius: 5px 5px 5px 5px;
+  border-radius: 5px 5px 5px 5px;
+  color: #ffffff;
+  background: #521f5c url('icons/rss-bg.png') no-repeat left center;
+  font-weight: bold;
+  text-transform: uppercase;
+  padding: 4px 2px 2px 35px;
+}
+aside #subscribe-feed-link:hover {
+  text-decoration: none;
+  background-color: #86608e;
+}
 aside #profiles-menu {
   width: 20em;
 }
@@ -879,11 +924,11 @@ aside .posted-date-selector-months {
 }
 #contact-block .contact-block-h4 {
   float: left;
-  margin: 5px 0px;
+  margin: 5px 0;
 }
 #contact-block .allcontact-link {
   float: right;
-  margin: 5px 0px;
+  margin: 5px 0;
 }
 #contact-block .contact-block-content {
   clear: both;
@@ -892,7 +937,7 @@ aside .posted-date-selector-months {
 }
 #contact-block .contact-block-link {
   float: left;
-  margin: 0px 2px 2px 0px;
+  margin: 0 2px 2px 0;
 }
 #contact-block .contact-block-link img {
   width: 48px;
@@ -955,11 +1000,11 @@ aside .posted-date-selector-months {
 /* widget */
 .widget {
   margin-bottom: 2em;
-  /*.action .s10 { width: 10px; overflow: hidden; padding: 0px;}
-       .action .s16 { width: 16px; overflow: hidden; padding: 0px;}*/
+  /*.action .s10 { width: 10px; overflow: hidden; padding: 0;}
+       .action .s16 { width: 16px; overflow: hidden; padding: 0;}*/
 }
 .widget h3 {
-  padding: 0px;
+  padding: 0;
   margin: 2px;
 }
 .widget .action {
@@ -1003,7 +1048,7 @@ aside .posted-date-selector-months {
   transition: all 0.2s ease-in-out;
 }
 .widget ul {
-  padding: 0px;
+  padding: 0;
 }
 .widget ul li {
   padding-left: 16px;
@@ -1013,6 +1058,21 @@ aside .posted-date-selector-months {
 .widget .tool.selected {
   background: url('../../../images/selected.png') no-repeat left center;
 }
+.widget .notify {
+  display: none;
+  background-color: #19AEFF;
+  border-radius: 5px;
+  font-size: 10px;
+  padding: 1px 3px;
+  min-width: 15px;
+  text-align: right;
+  float: right;
+  color: #ffffff;
+  margin-right: 10px;
+}
+.widget .notify.on {
+  display: block;
+}
 /* widget: search */
 #add-search-popup {
   width: 200px;
@@ -1023,7 +1083,7 @@ section {
   display: table-cell;
   vertical-align: top;
   width: 770px;
-  padding: 0px 20px 0px 10px;
+  padding: 0px 20px 0 10px;
 }
 .sparkle {
   cursor: url('icons/lock.cur'), pointer;
@@ -1156,13 +1216,13 @@ section {
 }
 .wall-item-container.comment .contact-photo-menu-button {
   top: 15px !important;
-  left: 0px !important;
+  left: 0 !important;
 }
 .wall-item-container.comment .wall-item-links {
   padding-left: 12px;
 }
 .wall-item-container.comment .commentbox {
-  height: 0px;
+  height: 0;
   overflow: hidden;
   -webkit-transition: all 0.2s ease-in-out;
   -moz-transition: all 0.2s ease-in-out;
@@ -1172,7 +1232,7 @@ section {
 }
 .wall-item-container.comment .commentbox .wall-item-comment-wrapper {
   border-top: 1px solid #999999;
-  height: 0px;
+  height: 0;
   overflow: hidden;
 }
 .wall-item-container.comment:hover .commentbox {
@@ -1185,7 +1245,7 @@ section {
   transition: all 0.2s ease-in-out;
 }
 .wall-item-container.comment:hover .commentbox .wall-item-comment-wrapper {
-  border-top: 0px;
+  border-top: 0;
   height: auto;
   overflow: visible;
 }
@@ -1229,10 +1289,10 @@ section {
   border: 1px solid #2d2d2d;
 }
 .wall-item-comment-wrapper.photo {
-  margin: 1em 2em 1em 0px;
+  margin: 1em 2em 1em 0;
 }
 .threaded .wall-item-comment-wrapper {
-  margin-left: 0px;
+  margin-left: 0;
 }
 .comment-edit-preview {
   width: 710px;
@@ -1261,7 +1321,7 @@ section {
   padding: 0;
   margin: 10px 0;
   background-color: #c0a3c7;
-  border-bottom: 0px;
+  border-bottom: 0;
 }
 .comment-edit-preview .wall-item-conv {
   display: none;
@@ -1315,7 +1375,7 @@ section {
   color: #666666;
 }
 /*.filesavetags {
-    padding: 3px 0px 3px 0px;
+    padding: 3px 0 3px 0;
     opacity: 0.5;
 }*/
 .wwto {
@@ -1328,9 +1388,9 @@ section {
   padding: 1px;
   top: 40px;
   left: 30px;
-  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
 }
 .wwto .contact-photo {
   width: 25px;
@@ -1349,10 +1409,10 @@ section {
   max-width: 650px;
   max-height: inital;
   float: none;
-  margin-right: 0px;
+  margin-right: 0;
 }
 .type-link blockquote {
-  margin: 1em 0px;
+  margin: 1em 0;
   max-height: 160px;
   overflow: hidden;
   padding-left: 1em;
@@ -1444,10 +1504,10 @@ blockquote.shared_content {
   width: 500px;
 }
 .children .children .children .children .children .children {
-  margin-left: 0px;
+  margin-left: 0;
 }
 .children .children .children .children .children .children .hide-comments-outer {
-  margin-left: 0px;
+  margin-left: 0;
 }
 /*.threaded .hide-comments-outer { margin-left: 20px; }*/
 span[id^="showmore-teaser"] {
@@ -1490,7 +1550,7 @@ span[id^="showmore-wrap"] {
   display: block;
   width: 100%;
   background-color: #ffffff;
-  border: 0px;
+  border: 0;
   color: #2d2d2d;
   text-align: left;
   padding: 5px 10px;
@@ -1525,7 +1585,7 @@ span[id^="showmore-wrap"] {
   width: 300px;
   height: 90px;
   padding-right: 10px;
-  margin: 0 10px 10px 0px;
+  margin: 0 10px 10px 0;
 }
 .contact-wrapper .contact-photo-wrapper {
   float: left;
@@ -1540,9 +1600,34 @@ span[id^="showmore-wrap"] {
   height: 80px;
 }
 .contact-wrapper .contact-photo-menu-button {
-  left: 0px;
+  left: 0;
   top: 63px;
 }
+.contact-wrapper .drop {
+  background-image: url('../../../images/icons/22/delete.png');
+  display: block;
+  width: 22px;
+  height: 22px;
+  position: relative;
+  top: 10px;
+  left: -10px;
+  z-index: 99;
+}
+.contact-wrapper .drophide {
+  background-image: url('../../../images/icons/22/delete.png');
+  display: block;
+  width: 22px;
+  height: 22px;
+  opacity: 0.3;
+  position: relative;
+  top: 10px;
+  left: -10px;
+  z-index: 99;
+}
+.contact-wrapper .contact-entry-connect {
+  padding-top: 5px;
+  font-weight: bold;
+}
 .directory-item {
   float: left;
   width: 200px;
@@ -1558,7 +1643,7 @@ span[id^="showmore-wrap"] {
 }
 .contact-name {
   font-weight: bold;
-  padding-top: 15px;
+  /* padding-top: 15px; */
 }
 .contact-details {
   color: #999999;
@@ -1572,7 +1657,7 @@ span[id^="showmore-wrap"] {
 }
 #jot {
   width: 100%;
-  margin: 0px 2em 20px 0px;
+  margin: 0 2em 20px 0;
 }
 #jot .profile-jot-text {
   height: 1em;
@@ -1583,8 +1668,8 @@ span[id^="showmore-wrap"] {
   padding: 0.3em;
 }
 #jot #jot-tools {
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
   height: 40px;
   overflow: none;
   width: 770px;
@@ -1633,9 +1718,9 @@ span[id^="showmore-wrap"] {
   border-left: 1px solid #666666;
 }
 #jot #jot-tools li.submit input {
-  border: 0px;
-  margin: 0px;
-  padding: 0px;
+  border: 0;
+  margin: 0;
+  padding: 0;
   background-color: #cccccc;
   color: #666666;
   width: 80px;
@@ -1659,12 +1744,12 @@ span[id^="showmore-wrap"] {
   margin-top: 10px;
 }
 #jot #jot-title {
-  border: 0px;
-  margin: 0px;
+  border: 0;
+  margin: 0;
   height: 20px;
   width: 500px;
   font-weight: bold;
-  border: 1px solid #f6ecf9;
+  border: 1px solid #F6ECF9;
 }
 #jot #jot-title:-webkit-input-placeholder {
   font-weight: normal;
@@ -1687,11 +1772,11 @@ span[id^="showmore-wrap"] {
   padding-right: 20px;
 }
 #jot #jot-category {
-  border: 0px;
-  margin: 0px;
+  border: 0;
+  margin: 0;
   height: 20px;
   width: 200px;
-  border: 1px solid #f6ecf9;
+  border: 1px solid #F6ECF9;
 }
 #jot #jot-category:hover {
   border: 1px solid #999999;
@@ -1701,13 +1786,35 @@ span[id^="showmore-wrap"] {
 }
 /** buttons **/
 /*input[type="submit"] {
-       border: 0px;
+       border: 0;
     background-color: @ButtonBackgroundColor;
     color: @ButtonColor;
-    padding: 0px 10px;
+    padding: 0 10px;
        .rounded(5px);
     height: 18px;
 }*/
+a.actionbutton {
+  border: 1px solid #999999;
+  background-color: #cccccc;
+  color: #2d2d2d;
+  font-size: 8pt;
+  padding: 2pt;
+  -moz-border-radius: 5px 5px 5px 5px;
+  -webkit-border-radius: 5px 5px 5px 5px;
+  border-radius: 5px 5px 5px 5px;
+}
+a.actionbutton i.icon {
+  display: inline-block;
+  vertical-align: baseline;
+  padding: 0;
+}
+a.actionbutton:hover {
+  text-decoration: none;
+  background-color: #ffffff;
+}
+h2 > .actionbutton {
+  float: right;
+}
 /** acl **/
 #photo-edit-perms-select,
 #photos-upload-permissions-wrapper,
@@ -1732,7 +1839,7 @@ span[id^="showmore-wrap"] {
   background-image: url("../../../images/show_all_off.png");
   background-position: 7px 7px;
   background-repeat: no-repeat;
-  padding: 7px 5px 0px 30px;
+  padding: 7px 5px 0 30px;
   color: #999999;
   -moz-border-radius: 5px 5px 5px 5px;
   -webkit-border-radius: 5px 5px 5px 5px;
@@ -1767,8 +1874,8 @@ span[id^="showmore-wrap"] {
 .acl-list-item p {
   height: 12px;
   font-size: 10px;
-  margin: 0px;
-  padding: 2px 0px 1px;
+  margin: 0;
+  padding: 2px 0 1px;
   overflow: hidden;
 }
 .acl-list-item a {
@@ -1919,7 +2026,7 @@ ul.tabs li .active {
   display: none!important;
 }
 .field.radio .field_help {
-  margin-left: 0px;
+  margin-left: 0;
 }
 #profile-edit-links li {
   list-style: none;
@@ -2006,7 +2113,7 @@ ul.tabs li .active {
 .videos .video-top-wrapper {
   width: 200px;
   float: left;
-  margin: 0px 10px 10px 0px;
+  margin: 0 10px 10px 0;
   position: relative;
 }
 .videos .video-top-wrapper .video-js {
@@ -2016,8 +2123,8 @@ ul.tabs li .active {
 .videos .video-top-wrapper .video-delete {
   position: absolute;
   opacity: 0;
-  right: 0px;
-  top: 0px;
+  right: 0;
+  top: 0;
   transition: opacity 0.5s;
 }
 .videos .video-top-wrapper:hover .video-delete {
@@ -2044,7 +2151,7 @@ ul.tabs li .active {
 }
 #photo-top-upload-link,
 .photos-upload-link {
-  margin: 1em 0px;
+  margin: 1em 0;
   display: block;
 }
 .photos-upload-link a,
@@ -2055,7 +2162,7 @@ ul.tabs li .active {
 .photo-top-image-wrapper,
 .photo-album-image-wrapper {
   float: left;
-  margin: 0px 10px 10px 0px;
+  margin: 0 10px 10px 0;
   width: 150px;
   height: 150px;
   position: relative;
@@ -2087,10 +2194,10 @@ ul.tabs li .active {
 .photo-album-image-wrapper:hover .photo-top-album-name,
 .photo-top-image-wrapper:hover .caption,
 .photo-album-image-wrapper:hover .caption {
-  bottom: 0px;
-  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+  bottom: 0;
+  -webkit-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0px 0 10px rgba(0, 0, 0, 0.7);
   -webkit-transition: all 0.5s ease-in-out;
   -moz-transition: all 0.5s ease-in-out;
   -o-transition: all 0.5s ease-in-out;
@@ -2101,7 +2208,7 @@ ul.tabs li .active {
   display: block;
   width: 660px;
   padding: 50px;
-  margin-bottom: 0px;
+  margin-bottom: 0;
   text-align: center;
   background-color: #999999;
 }
@@ -2185,7 +2292,7 @@ ul.tabs li .active {
   height: 80px;
 }
 .profile-match-wrapper .contact-photo-menu-button {
-  left: 0px;
+  left: 0;
   top: 63px;
 }
 /* messages */
@@ -2199,7 +2306,7 @@ ul.tabs li .active {
   text-align: center;
   display: block;
   font-weight: bold;
-  padding: 1em 0px;
+  padding: 1em 0;
 }
 .mail-list-wrapper {
   background-color: #f6f7f8;
@@ -2216,7 +2323,7 @@ ul.tabs li .active {
 }
 .mail-list-wrapper .mail-subject {
   width: 30%;
-  padding: 4px 0px 0px 4px;
+  padding: 4px 0 0 4px;
 }
 .mail-list-wrapper .mail-subject a {
   display: block;
@@ -2225,13 +2332,13 @@ ul.tabs li .active {
   font-weight: bold;
 }
 .mail-list-wrapper .mail-date {
-  padding: 4px 4px 0px 4px;
+  padding: 4px 4px 0 4px;
 }
 .mail-list-wrapper .mail-from {
-  padding: 4px 4px 0px 4px;
+  padding: 4px 4px 0 4px;
 }
 .mail-list-wrapper .mail-count {
-  padding: 4px 4px 0px 4px;
+  padding: 4px 4px 0 4px;
   text-align: right;
 }
 .mail-list-wrapper .mail-delete {
@@ -2248,7 +2355,7 @@ ul.tabs li .active {
 #mail-display-subject span {
   float: left;
   overflow: hidden;
-  padding: 4px 0px 0px 10px;
+  padding: 4px 0 0 10px;
 }
 #mail-display-subject .mail-delete {
   float: right;
@@ -2324,8 +2431,8 @@ footer {
   text-align: right;
 }
 #adminpage #pluginslist {
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
 }
 #adminpage .plugin {
   list-style: none;
@@ -2345,7 +2452,7 @@ footer {
 #adminpage table {
   width: 100%;
   border-bottom: 1px solid #000000;
-  margin: 5px 0px;
+  margin: 5px 0;
 }
 #adminpage table th {
   text-align: left;
@@ -2371,8 +2478,8 @@ footer {
 .comment-edit-bb {
   list-style: none;
   display: none;
-  margin: 0px;
-  padding: 0px;
+  margin: 0;
+  padding: 0;
   width: 75%;
 }
 .comment-edit-bb > li {
@@ -2391,49 +2498,49 @@ footer {
   background-color: #ccc;
 }
 .boldbb {
-  background-position: 0px 0px;
+  background-position: 0 0;
 }
 .boldbb:hover {
-  background-position: 0px -16px;
+  background-position: 0 -16px;
 }
 .italicbb {
-  background-position: -16px 0px;
+  background-position: -16px 0;
 }
 .italicbb:hover {
   background-position: -16px -16px;
 }
 .underlinebb {
-  background-position: -32px 0px;
+  background-position: -32px 0;
 }
 .underlinebb:hover {
   background-position: -32px -16px;
 }
 .quotebb {
-  background-position: -48px 0px;
+  background-position: -48px 0;
 }
 .quotebb:hover {
   background-position: -48px -16px;
 }
 .codebb {
-  background-position: -64px 0px;
+  background-position: -64px 0;
 }
 .codebb:hover {
   background-position: -64px -16px;
 }
 .imagebb {
-  background-position: -80px 0px;
+  background-position: -80px 0;
 }
 .imagebb:hover {
   background-position: -80px -16px;
 }
 .urlbb {
-  background-position: -96px 0px;
+  background-position: -96px 0;
 }
 .urlbb:hover {
   background-position: -96px -16px;
 }
 .videobb {
-  background-position: -112px 0px;
+  background-position: -112px 0;
 }
 .videobb:hover {
   background-position: -112px -16px;
@@ -2446,7 +2553,7 @@ footer {
   cursor: pointer;
   border: 1px solid #333;
   width: 200px;
-  margin: 10px 0px 10px 0px;
+  margin: 10px 0 10px 0;
   float: left;
 }
 /* progress bar (enabled with progress: true) */
@@ -2470,16 +2577,16 @@ footer {
   -moz-border-radius: 0 0 5px 5px;
   -webkit-border-radius: 0 0 5px 5px;
   border-radius: 0 0 5px 5px;
-  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
-  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.7);
 }
 /* the input field */
 .range {
   width: 20px!important;
   font-size: 8pt;
   margin-left: 10px;
-  border: 0px;
+  border: 0;
   color: #999999;
 }
 /* buttons for the event view */
@@ -2491,7 +2598,7 @@ footer {
 .fbrowser {
   overflow: auto;
   position: absolute;
-  top: 0px;
+  top: 0;
   width: 100%;
   height: 100%;
 }
@@ -2500,7 +2607,7 @@ footer {
 }
 .fbrowser .path a {
   padding: 5px;
-  margin: 0px 2px;
+  margin: 0 2px;
   display: inline-block;
 }
 .fbrowser .path a,
index 3c9915576f6b671cc6e8df659bc52599072e8739..631a63333a6ebbb91596e5dd335a2f74a0c5a99d 100644 (file)
@@ -6,12 +6,12 @@ body {
        font-size: 11px;
        background-color: @BodyBackground;
        color: @BodyColor;
-       margin: 50px 0px 0px 0px;
+       margin: 50px 0 0 0;
        display:table;
 }
 h4 { font-size: 1.1em }
 
-.shadow(@x: 0px, @y: 5px){
+.shadow(@x: 0, @y: 5px){
         -webkit-box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
         -moz-box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
         box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
@@ -76,7 +76,7 @@ code {
        width: 10em;
        background: @MenuBg;
        color: @Menu;
-       margin: 0px;
+       margin: 0;
        padding: 1em;
        list-style: none;
        border: 3px solid @MenuBorder;
@@ -126,8 +126,8 @@ div.jGrowl div.info {
 
 /* header */
 header {
-       position: fixed; left: 43%; right: 43%; top: 0px;
-       margin: 0px; padding: 0px;
+       position: fixed; left: 43%; right: 43%; top: 0;
+       margin: 0; padding: 0;
        /*width: 100%; height: 12px; */
        z-index: 110;
        color: @Grey1;
@@ -147,23 +147,23 @@ header {
 /* nav */
 nav {
        width: 100%; height: 32px;
-       position: fixed; left: 0px; top: 0px;
-       padding: 0px;
+       position: fixed; left: 0; top: 0;
+       padding: 0;
        background-color: @NavbarBackground;
        color: @Grey1;
        z-index: 100;
-       .shadow(0px, 0px);
+       .shadow(0px, 0);
 
                a, a:active, a:visited, a:link, a:hover { color: @Banner; text-decoration: none; outline: none;  }
 
                ul {
-                       margin: 0px;
-                       padding: 0px 20px;
+                       margin: 0;
+                       padding: 0 20px;
                        li {
                                list-style: none;
-                               margin: 0px; padding: 0px;
+                               margin: 0; padding: 0;
                                float: left;
-                               .menu-popup{ left: 0px; right: auto; }
+                               .menu-popup{ left: 0; right: auto; }
                        }
 
                }
@@ -172,7 +172,7 @@ nav {
                        position: relative;
                        height: 22px;
                        padding: 5px;
-                       margin: 0px 10px;
+                       margin: 0 10px;
                        .roundtop();
 
                        &.selected {
@@ -187,7 +187,7 @@ nav {
                        position: relative;
                        height: 16px;
                        padding: 5px;
-                       margin: 3px 15px 0px;
+                       margin: 3px 15px 0;
                        font-size: 14px;
                        border-bottom: 3px solid @NavbarBackground;
                        &.selected {
@@ -203,7 +203,7 @@ nav {
                        .rounded();
                        font-size: 10px;
                        padding: 1px 3px;
-                       top: 0px;
+                       top: 0;
                        right: -10px;
                        min-width: 15px;
                        text-align: right;
@@ -218,7 +218,7 @@ nav {
                #nav-apps-link,
                #nav-site-linkmenu {
                        float: right;
-                       .menu-popup{ right: 0px; left: auto; }
+                       .menu-popup{ right: 0; left: auto; }
                }
 
                #nav-notifications-linkmenu.on .icon.s22.notify,
@@ -237,8 +237,8 @@ ul.menu-popup {
        width: 10em;
        background: @MenuBg;
        color: @Menu;
-       margin: 0px;
-       padding: 0px;
+       margin: 0;
+       padding: 0;
        list-style: none;
        border: 3px solid @MenuBorder;
        z-index: 100000;
@@ -301,7 +301,22 @@ ul.menu-popup {
        .notif-when { font-size: 10px; color: @MenuItemDetail; display: block; }
 }
 
-
+/* Contact-Header for the Network Stream */
+#viewcontact_wrapper-network {
+       width: 100%;
+       min-height: 100px;
+       background-color: #eff0f1;
+       border-bottom: 1px solid #cccccc;
+       #contact-entry-wrapper-network {
+               float: none;
+               width: auto;
+               height: auto;
+               padding: 10px;
+               #contact-entry-accounttype-network { font-size: 22px; }
+               #contact-entry-name-network { font-size: 24.5px; font-weight: normal; }
+               .contact-details { font-size: 12px; }
+       }
+}
 
 
 /* aside 230px*/
@@ -309,7 +324,7 @@ aside {
        display: table-cell;
        vertical-align: top;
        width: 200px;
-       padding:0px 10px 0px 20px;
+       padding:0px 10px 0 20px;
        border-right: 1px solid @AsideBorder;
 
        .profile-edit-side-div { display: none; }
@@ -317,15 +332,17 @@ aside {
        .vcard {
                .fn { font-size: 16px; font-weight: bold; margin-bottom: 5px; }
                .title { margin-bottom: 5px; }
+               .p-addr { margin-bottom: 5px; }
+               .account-type { font-size: 14px; margin-bottom: 13px; }
                dl { height: auto; overflow: auto; }
-               dt {float: left; margin-left: 0px; width: 35%; text-align: right; color: @VCardLabelColor; }
+               dt {float: left; margin-left: 0; width: 35%; text-align: right; color: @VCardLabelColor; }
                dd {float: left; margin-left: 4px; width: 60%;}
 
        }
 
        #profile-extra-links {
-               ul { padding: 0px; margin: 0px; }
-               li { padding: 0px; margin: 0px; list-style: none; }
+               ul { padding: 0; margin: 0; }
+               li { padding: 0.2em 0; margin: 0; list-style: none; }
        }
 
        #wallmessage-link {
@@ -344,7 +361,18 @@ aside {
                display: block;
                .rounded();
                color: @AsideConnect;
-               background: @AsideConnectBg url('../../../images/connect-bg.png') no-repeat left center;
+               background: @AsideConnectBg url('icons/connect-bg.png') no-repeat left center;
+               font-weight: bold;
+               text-transform:uppercase;
+               padding: 4px 2px 2px 35px;
+
+               &:hover { text-decoration: none; background-color: @AsideConnectHoverBg; }
+       }
+       #subscribe-feed-link {
+               display: block;
+               .rounded();
+               color: @AsideConnect;
+               background: @AsideConnectBg url('icons/rss-bg.png') no-repeat left center;
                font-weight: bold;
                text-transform:uppercase;
                padding: 4px 2px 2px 35px;
@@ -359,8 +387,8 @@ aside {
 
 #contact-block {
        overflow: auto; height: auto;
-       .contact-block-h4 { float: left; margin: 5px 0px; }
-       .allcontact-link { float: right; margin: 5px 0px; }
+       .contact-block-h4 { float: left; margin: 5px 0; }
+       .allcontact-link { float: right; margin: 5px 0; }
        .contact-block-content {
                clear: both;
                overflow: hidden;
@@ -369,7 +397,7 @@ aside {
        /*.contact-block-div { width:60px; height: 60px; }*/
        .contact-block-link {
                float: left;
-               margin: 0px 2px 2px 0px;
+               margin: 0 2px 2px 0;
                img { width: 48px; height: 48px; }
        }
 }
@@ -425,23 +453,37 @@ aside {
 .widget {
        margin-bottom: 2em;
 
-       h3 { padding: 0px; margin: 2px;}
+       h3 { padding: 0; margin: 2px;}
        .action { .opaque(0.1); }
        input.action { .opaque(0.5); }
        &:hover .title .action { .opaque(1); }
        .tool:hover .action { .opaque(1); }
        .tool:hover .action.ticked { .opaque(1); }
 
-       ul { padding: 0px;}
+       ul { padding: 0;}
        ul li {padding-left: 16px; min-height: 16px; list-style: none; }
 
        .tool.selected {
                background: url('../../../images/selected.png') no-repeat left center;
        }
 
-       /*.action .s10 { width: 10px; overflow: hidden; padding: 0px;}
-       .action .s16 { width: 16px; overflow: hidden; padding: 0px;}*/
+       /*.action .s10 { width: 10px; overflow: hidden; padding: 0;}
+       .action .s16 { width: 16px; overflow: hidden; padding: 0;}*/
+
+       .notify {
+               display: none;
+               background-color: #19AEFF;
+               border-radius: 5px;
+               font-size: 10px;
+               padding: 1px 3px;
+               min-width: 15px;
+               text-align: right;
+               float: right;
+               color: rgb(255, 255, 255);
+               margin-right: 10px;
 
+               &.on { display: block; }
+       }
 }
 
 /* widget: search */
@@ -456,7 +498,7 @@ section {
        display: table-cell;
        vertical-align: top;
        width: 770px;
-       padding:0px 20px 0px 10px;
+       padding:0px 20px 0 10px;
 }
 
 .sparkle {
@@ -541,16 +583,16 @@ section {
 
        .contact-photo-menu-button {
                top: 15px !important;
-               left: 0px !important;
+               left: 0 !important;
        }
        .wall-item-links { padding-left: 12px; }
 
        .commentbox {
-               height: 0px;
+               height: 0;
                overflow: hidden;
                .wall-item-comment-wrapper {
                        border-top: 1px solid @CommentBoxEmptyBorderColor;
-                       height: 0px; overflow: hidden;
+                       height: 0; overflow: hidden;
                }
                .transition();
        }
@@ -558,7 +600,7 @@ section {
        &:hover .commentbox {
                height:auto; overflow: visible;
                .wall-item-comment-wrapper {
-                       border-top: 0px;
+                       border-top: 0;
                        height:auto;overflow: visible;
                }
                .transition();
@@ -598,11 +640,11 @@ section {
        }
 
        &.photo {
-               margin: 1em 2em 1em 0px;
+               margin: 1em 2em 1em 0;
        }
 }
 
-.threaded .wall-item-comment-wrapper { margin-left: 0px; }
+.threaded .wall-item-comment-wrapper { margin-left: 0; }
 
 .comment-edit-preview {
        width: 710px;
@@ -623,7 +665,7 @@ section {
        .tread-wrapper {
                width: 90%; padding: 0; margin: 10px 0;
                background-color: @JotPreviewBackgroundColor;
-               border-bottom: 0px;
+               border-bottom: 0;
        }
        .wall-item-conv { display: none; }
 }
@@ -663,7 +705,7 @@ section {
        a { color: @MentionColor;       }
 }
 /*.filesavetags {
-    padding: 3px 0px 3px 0px;
+    padding: 3px 0 3px 0;
     opacity: 0.5;
 }*/
 
@@ -678,7 +720,7 @@ section {
         top: 40px;
         left: 30px;
 
-        .shadow(0px, 0px);
+        .shadow(0px, 0);
 }
 .wwto .contact-photo { width: 25px; height: 25px; }
 
@@ -694,13 +736,13 @@ section {
                     max-width: 650px;
                     max-height: inital;
                     float: none;
-                    margin-right: 0px;
+                    margin-right: 0;
             }
 
 }
 .type-link {
         blockquote {
-            margin: 1em 0px;
+            margin: 1em 0;
             max-height: 160px;
             overflow: hidden;
                     padding-left: 1em;
@@ -788,8 +830,8 @@ blockquote.shared_content {
                                        }
 
                                        .children {
-                                               margin-left: 0px;
-                                               .hide-comments-outer { margin-left: 0px; }
+                                               margin-left: 0;
+                                               .hide-comments-outer { margin-left: 0; }
                                        }
                                }
                        }
@@ -831,7 +873,7 @@ span[id^="showmore-wrap"] {
                display: block;
                width: 100%;
                background-color: @MenuBg;
-               border: 0px;
+               border: 0;
                color: @MenuItem;
                text-align: left;
                padding: 5px 10px;
@@ -864,7 +906,7 @@ span[id^="showmore-wrap"] {
        width: 300px;
        height: 90px;
        padding-right: 10px;
-       margin: 0 10px 10px 0px;
+       margin: 0 10px 10px 0;
        .contact-photo-wrapper {
                float: left;
                margin-right: 10px;
@@ -874,9 +916,30 @@ span[id^="showmore-wrap"] {
                img { width: 80px; height: 80px; }
        }
        .contact-photo-menu-button {
-               left: 0px;
+               left: 0;
                top: 63px;
        }
+       .drop {
+               background-image: url('../../../images/icons/22/delete.png');
+               display: block; width: 22px; height: 22px;
+               position: relative;
+               top: 10px;
+               left: -10px;
+               z-index: 99;
+       }
+       .drophide {
+               background-image: url('../../../images/icons/22/delete.png');
+               display: block; width: 22px; height: 22px;
+               opacity: 0.3;
+               position: relative;
+               top: 10px;
+               left: -10px;
+               z-index: 99;
+       }
+       .contact-entry-connect {
+               padding-top: 5px;
+               font-weight: bold;
+       }
 }
 .directory-item {
        float: left;
@@ -887,7 +950,7 @@ span[id^="showmore-wrap"] {
                img { width: 175px; height: 175px; }
        }
 }
-.contact-name { font-weight: bold; padding-top: 15px; }
+.contact-name { font-weight: bold; /* padding-top: 15px; */}
 .contact-details {
        color: @Grey3; white-space: nowrap;
        overflow: hidden;
@@ -899,7 +962,7 @@ span[id^="showmore-wrap"] {
 #jot {
 
        width: 100%;
-       margin: 0px 2em 20px 0px;
+       margin: 0 2em 20px 0;
 
        .profile-jot-text {
                height: 1em; width: 99%; font-size: 10px;
@@ -909,7 +972,7 @@ span[id^="showmore-wrap"] {
        }
 
        #jot-tools {
-               margin: 0px; padding: 0px;
+               margin: 0; padding: 0;
                height: 40px; overflow: none;
                width: 770px;
                background-color: @JotToolsBackgroundColor;
@@ -956,7 +1019,7 @@ span[id^="showmore-wrap"] {
                        border-right: 1px solid @Grey4;
                        border-left: 1px solid @Grey4;
                        input {
-                               border: 0px; margin: 0px; padding: 0px;
+                               border: 0; margin: 0; padding: 0;
                                background-color: @JotSubmitBackgroundColor;
                                color: @JotSubmitText;
                                width: 80px; height: 40px;
@@ -980,8 +1043,8 @@ span[id^="showmore-wrap"] {
        }
 
        #jot-title {
-               border: 0px;
-               margin: 0px;
+               border: 0;
+               margin: 0;
                height: 20px;
                width: 500px;
                font-weight: bold;
@@ -1009,8 +1072,8 @@ span[id^="showmore-wrap"] {
        }
 
        #jot-category {
-               border: 0px;
-               margin: 0px;
+               border: 0;
+               margin: 0;
                height: 20px;
                width: 200px;
                border: 1px solid @BodyBackground;
@@ -1022,14 +1085,35 @@ span[id^="showmore-wrap"] {
 
 /** buttons **/
 /*input[type="submit"] {
-       border: 0px;
+       border: 0;
     background-color: @ButtonBackgroundColor;
     color: @ButtonColor;
-    padding: 0px 10px;
+    padding: 0 10px;
        .rounded(5px);
     height: 18px;
 }*/
 
+a.actionbutton {
+       border: 1px solid @Grey3;
+       background-color: @Grey2;
+       color: @Grey5;
+       font-size: 8pt;
+       padding: 2pt;
+       .rounded();
+
+       i.icon {
+               display: inline-block;
+               vertical-align: baseline;
+               padding: 0;
+       }
+
+       &:hover {
+               text-decoration: none;
+               background-color: @Grey1;
+       }
+}
+h2 > .actionbutton { float: right; }
+
 
 /** acl **/
 #photo-edit-perms-select,
@@ -1058,7 +1142,7 @@ span[id^="showmore-wrap"] {
        background-image: url("../../../images/show_all_off.png");
        background-position: 7px 7px;
        background-repeat: no-repeat;
-       padding: 7px 5px 0px 30px;
+       padding: 7px 5px 0 30px;
        color: #999999;
        .rounded(5px);
 }
@@ -1092,7 +1176,7 @@ span[id^="showmore-wrap"] {
        float: left;
        margin: 4px;
 }
-.acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;}
+.acl-list-item p { height: 12px; font-size: 10px; margin: 0; padding: 2px 0 1px; overflow: hidden;}
 .acl-list-item a {
        font-size: 8px;
        display: block;
@@ -1234,7 +1318,7 @@ ul.tabs {
        }
        .hidden { display: none!important; }
 
-       &.radio .field_help { margin-left: 0px; }
+       &.radio .field_help { margin-left: 0; }
 }
 
 
@@ -1324,7 +1408,7 @@ ul.tabs {
 .videos {
        .video-top-wrapper {
                width: 200px; float: left;
-               margin: 0px 10px 10px 0px;
+               margin: 0 10px 10px 0;
                position: relative;
 
                .video-js {
@@ -1335,8 +1419,8 @@ ul.tabs {
                .video-delete {
                        position: absolute;
                        opacity: 0;
-                       right: 0px;
-                       top: 0px;
+                       right: 0;
+                       top: 0;
                        transition: opacity 0.5s;
                }
 
@@ -1368,7 +1452,7 @@ ul.tabs {
 }
 
 #photo-top-upload-link,
-.photos-upload-link { margin: 1em 0px; display: block; }
+.photos-upload-link { margin: 1em 0; display: block; }
 .photos-upload-link a,
 #photo-top-upload-link {
        background: url("../../../images/icons/16/add.png") no-repeat left center;
@@ -1379,7 +1463,7 @@ ul.tabs {
 .photo-top-image-wrapper,
 .photo-album-image-wrapper {
        float: left;
-       margin: 0px 10px 10px 0px;
+       margin: 0 10px 10px 0;
        width:@photosize; height: @photosize;
        position: relative;
        overflow: hidden;
@@ -1400,15 +1484,15 @@ ul.tabs {
 
        &:hover .photo-top-album-name,
        &:hover .caption {
-               bottom: 0px;
-               .shadow(0px, 0px);
+               bottom: 0;
+               .shadow(0px, 0);
                .transition(0.5s);
        }
 }
 
 #photo-photo {
        display: block; width: 660px;
-       padding: 50px; margin-bottom: 0px;
+       padding: 50px; margin-bottom: 0;
        text-align: center;
        background-color: @Grey3;
        img { max-width: 560px; }
@@ -1476,7 +1560,7 @@ ul.tabs {
                img { width: 80px; height: 80px; }
        }
        .contact-photo-menu-button {
-               left: 0px;
+               left: 0;
                top: 63px;
        }
 }
@@ -1491,7 +1575,7 @@ ul.tabs {
                text-align: center;
                display: block;
                font-weight: bold;
-               padding: 1em 0px;
+               padding: 1em 0;
        }
 }
 
@@ -1504,13 +1588,13 @@ ul.tabs {
 
        .mail-subject {
                width: 30%;
-               padding:4px 0px 0px 4px;
+               padding:4px 0 0 4px;
                a { display: block; }
                &.unseen a { font-weight: bold; }
        }
-       .mail-date { padding: 4px 4px 0px 4px; }
-       .mail-from { padding: 4px 4px 0px 4px; }
-       .mail-count { padding: 4px 4px 0px 4px; text-align: right;}
+       .mail-date { padding: 4px 4px 0 4px; }
+       .mail-from { padding: 4px 4px 0 4px; }
+       .mail-count { padding: 4px 4px 0 4px; text-align: right;}
 
        .mail-delete { float: right; }
 }
@@ -1520,7 +1604,7 @@ ul.tabs {
        color: @MailDisplaySubjectColor;
        margin-bottom: 10px;
        width: 100%; height: auto; overflow: hidden;
-       span { float: left; overflow: hidden; padding: 4px 0px 0px 10px;}
+       span { float: left; overflow: hidden; padding: 4px 0 0 10px;}
        .mail-delete { float: right;  .opaque(0.5);}
        &:hover .mail-delete { .opaque(1); }
 
@@ -1580,7 +1664,7 @@ footer { height: 100px; display: table-row; }
        text-align: right;
     }
     #pluginslist {
-       margin: 0px; padding: 0px;
+       margin: 0; padding: 0;
     }
     .plugin {
        list-style: none;
@@ -1600,7 +1684,7 @@ footer { height: 100px; display: table-row; }
     table {
         width:100%;
         border-bottom: 1px solid #000000;
-        margin: 5px 0px;
+        margin: 5px 0;
         th {
             text-align: left;
         }
@@ -1623,8 +1707,8 @@ footer { height: 100px; display: table-row; }
 .comment-edit-bb {
        list-style: none;
        display: none;
-       margin: 0px;
-       padding: 0px;
+       margin: 0;
+       padding: 0;
        width: 75%;
 }
 .comment-edit-bb > li {
@@ -1641,21 +1725,21 @@ footer { height: 100px; display: table-row; }
         text-decoration: none;
         :hover {background-color: #ccc;}
 }
-.boldbb { background-position: 0px 0px; }
-.boldbb:hover { background-position: 0px -16px; }
-.italicbb { background-position: -16px 0px; }
+.boldbb { background-position: 0 0; }
+.boldbb:hover { background-position: 0 -16px; }
+.italicbb { background-position: -16px 0; }
 .italicbb:hover { background-position: -16px -16px; }
-.underlinebb { background-position: -32px 0px; }
+.underlinebb { background-position: -32px 0; }
 .underlinebb:hover { background-position: -32px -16px; }
-.quotebb { background-position: -48px 0px; }
+.quotebb { background-position: -48px 0; }
 .quotebb:hover { background-position: -48px -16px; }
-.codebb { background-position: -64px 0px; }
+.codebb { background-position: -64px 0; }
 .codebb:hover { background-position: -64px -16px; }
-.imagebb { background-position: -80px 0px; }
+.imagebb { background-position: -80px 0; }
 .imagebb:hover { background-position: -80px -16px; }
-.urlbb { background-position: -96px 0px; }
+.urlbb { background-position: -96px 0; }
 .urlbb:hover { background-position: -96px -16px; }
-.videobb { background-position: -112px 0px; }
+.videobb { background-position: -112px 0; }
 .videobb:hover { background-position: -112px -16px; }
 
 
@@ -1667,7 +1751,7 @@ footer { height: 100px; display: table-row; }
         cursor:pointer;
         border:1px solid #333;
         width:200px;
-        margin:10px 0px 10px 0px;
+        margin:10px 0 10px 0;
             float: left;
 }
 
@@ -1699,7 +1783,7 @@ footer { height: 100px; display: table-row; }
        width: 20px!important;
        font-size: 8pt;
        margin-left: 10px;
-       border: 0px;
+       border: 0;
        color: @FieldHelpColor;
 }
 
@@ -1713,13 +1797,13 @@ footer { height: 100px; display: table-row; }
 .fbrowser {
        overflow: auto;
        position: absolute;
-       top: 0px;
+       top: 0;
        width: 100%;
        height: 100%;
 }
 .fbrowser .path {
        background-color: @NavbarBackground;
-       a {     padding: 5px; margin: 0px 2px; display: inline-block; }
+       a {     padding: 5px; margin: 0 2px; display: inline-block; }
        a, a:active, a:visited, a:link, a:hover { color: @Banner; text-decoration: none; outline: none;  }
 }
 .fbrowser .folders ul { list-style: url("icons/folder.png"); padding-left: 22px;}
index 0f0207b2bf602aecc3a6a6fc8c24e4fc0310579c..2d59a8a256a4008e7e658aede46b8cf9f192c65c 100644 (file)
@@ -1,5 +1,6 @@
 
 <div class="contact-wrapper" id="contact-entry-wrapper-{{$id}}" >
+       {{if $contact.ignlnk}}<a href="{{$contact.ignlnk}}" title="{{$contact.ignore}}" class="icon drophide profile-match-ignore" onmouseout="imgdull(this);" onmouseover="imgbright(this);" onclick="return confirmDelete();" ></a>{{/if}}
        <div class="contact-photo-wrapper" >
                <div class="contact-photo mframe" id="contact-entry-photo-{{$contact.id}}"
                onmouseover="if (typeof t{{$contact.id}} != 'undefined') clearTimeout(t{{$contact.id}}); openMenu('contact-photo-menu-button-{{$contact.id}}')" 
@@ -7,7 +8,7 @@
 
                        <a href="{{$contact.url}}" title="{{$contact.img_hover}}" /><img src="{{$contact.thumb}}" {{$contact.sparkle}} alt="{{$contact.name}}" /></a>
 
-                       {{if !$no_contacts_checkbox}}
+                       {{if $multiselect}}
                        <input type="checkbox" class="contact-select" name="contact_batch[]" value="{{$contact.id}}">
                        {{/if}}
                        {{if $contact.photo_menu}}
                </div>
                        
        </div>
-       <div class="contact-name" id="contact-entry-name-{{$contact.id}}" >{{$contact.name}}</div>
+       <div class="contact-name" id="contact-entry-name-{{$contact.id}}" >
+               {{$contact.name}}
+               {{if $contact.account_type}} <span class="contact-entry-details" id="contact-entry-accounttype-{{$contact.id}}">({{$contact.account_type}})</span>{{/if}}
+       </div>
        {{if $contact.alt_text}}<div class="contact-details" id="contact-entry-rel-{{$contact.id}}" >{{$contact.alt_text}}</div>{{/if}}
-       <div class="contact-details" id="contact-entry-url-{{$contact.id}}" >{{$contact.itemurl}}</div>
-       <div class="contact-details" id="contact-entry-network-{{$contact.id}}" >{{$contact.network}}</div>
+       {{if $contact.itemurl}}<div class="contact-details" id="contact-entry-url-{{$contact.id}}" >{{$contact.itemurl}}</div>{{/if}}
+       {{if $contact.tags}}<div class="contact-details" id="contact-entry-tags-{{$contact.id}}" >{{$contact.tags}}</div>{{/if}}
+       {{if $contact.details}}<div class="contact-details" id="contact-entry-details-{{$contact.id}}" >{{$contact.details}}</div>{{/if}}
+       {{if $contact.network}}<div class="contact-details" id="contact-entry-network-{{$contact.id}}" >{{$contact.network}}</div>{{/if}}
+
+       {{if $contact.connlnk}}
+       <div class="contact-entry-connect"><a href="{{$contact.connlnk}}" title="{{$contact.conntxt}}">{{$contact.conntxt}}</a></div>
+       {{/if}}
 
 
 </div>
diff --git a/view/theme/quattro/templates/event_form.tpl b/view/theme/quattro/templates/event_form.tpl
new file mode 100644 (file)
index 0000000..7cca2be
--- /dev/null
@@ -0,0 +1,46 @@
+
+<h3>{{$title}}</h3>
+
+<p>{{$desc}}</p>
+
+<form id="event-edit-form" action="{{$post}}" method="post" >
+
+       <input type="hidden" name="event_id" value="{{$eid}}" />
+       <input type="hidden" name="cid" value="{{$cid}}" />
+       <input type="hidden" name="uri" value="{{$uri}}" />
+       <input type="hidden" name="preview" id="event-edit-preview" value="0" />
+
+       {{include file="field_custom.tpl" field=array('start_text', $s_text, $s_dsel, "")}}
+       {{include file="field_custom.tpl" field=array('finish_text', $f_text, $f_dsel, "")}}
+
+       {{include file="field_checkbox.tpl" field=array('nofinish', $n_text, $n_checked, "")}}
+       {{include file="field_checkbox.tpl" field=array('adjust', $a_text, $a_checked, "")}}
+       <hr>
+       {{include file="field_input.tpl" field=array('summary', $t_text, $t_orig, "")}}
+       {{include file="field_textarea.tpl" field=array('desc', $d_text, $d_orig, "")}}
+
+       {{include file="field_textarea.tpl" field=array('location', $l_text, $l_orig, "")}}
+       <hr>
+       {{include file="field_checkbox.tpl" field=array('share', $sh_text, $sh_checked, "")}}
+
+       {{$acl}}
+
+       <div class="settings-submit-wrapper" >
+               <input id="event-edit-preview" type="submit" name="preview" value="{{$preview|escape:'html'}}" onclick="doEventPreview(); return false;" />
+               <input id="event-submit" type="submit" name="submit" value="{{$submit|escape:'html'}}" />
+       </div>
+</form>
+
+<script language="javascript" type="text/javascript">
+       $(document).ready(function() {
+               $('#id_share').change(function() {
+
+                       if ($('#id_share').is(':checked')) {
+                               $('#acl-wrapper').show();
+                       }
+                       else {
+                               $('#acl-wrapper').hide();
+                       }
+               }).trigger('change');
+       });
+</script>
diff --git a/view/theme/quattro/templates/events-js.tpl b/view/theme/quattro/templates/events-js.tpl
new file mode 100644 (file)
index 0000000..ec8aa58
--- /dev/null
@@ -0,0 +1,7 @@
+
+{{$tabs}}
+<h2>{{$title}} <a class="actionbutton" href="{{$new_event.0}}" ><i class="icon add s10"></i> {{$new_event.1}}</a></h2>
+
+<div id="new-event-link"></div>
+
+<div id="events-calendar"></div>
diff --git a/view/theme/quattro/templates/events.tpl b/view/theme/quattro/templates/events.tpl
new file mode 100644 (file)
index 0000000..7a50498
--- /dev/null
@@ -0,0 +1,24 @@
+
+{{$tabs}}
+<h2>{{$title}} <a class="actionbutton" href="{{$new_event.0}}" ><i class="icon add s10"></i> {{$new_event.1}}</a></h2>
+
+
+<div id="event-calendar-wrapper">
+       <a href="{{$previus.0}}" class="prevcal {{$previus.2}}"><div id="event-calendar-prev" class="icon s22 prev" title="{{$previus.1}}"></div></a>
+       {{$calendar}}
+       <a href="{{$next.0}}" class="nextcal {{$next.2}}"><div id="event-calendar-prev" class="icon s22 next" title="{{$next.1}}"></div></a>
+</div>
+<div class="event-calendar-end"></div>
+
+
+{{foreach $events as $event}}
+       <div class="event">
+       {{if $event.is_first}}<hr /><a name="link-{{$event.j}}" ><div class="event-list-date">{{$event.d}}</div></a>{{/if}}
+       {{if $event.item.author_name}}<a href="{{$event.item.author_link}}" ><img src="{{$event.item.author_avatar}}" height="32" width="32" />{{$event.item.author_name}}</a>{{/if}}
+       {{$event.html}}
+       {{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" target="_blank" class="plink-event-link icon s22 remote-link"></a>{{/if}}
+       {{if $event.edit}}<a href="{{$event.edit.0}}" title="{{$event.edit.1}}" class="edit-event-link icon s22 pencil"></a>{{/if}}
+       </div>
+       <div class="clear"></div>
+
+{{/foreach}}
index 6f7a082c1e5439395c3c1cd0e4ca44a65e052340..1a26c9741da682daf9192901eabfae04aa07a5b7 100644 (file)
@@ -1,11 +1,11 @@
 <div class="widget">
        {{if $title}}<h3>{{$title}}</h3>{{/if}}
        {{if $desc}}<div class="desc">{{$desc}}</div>{{/if}}
-       
+
        <ul role="menu">
                {{foreach $items as $item}}
                        <li role="menuitem" class="tool {{if $item.selected}}selected{{/if}}"><a href="{{$item.url}}" {{if $item.accesskey}}accesskey="{{$item.accesskey}}"{{/if}} class="link">{{$item.label}}</a></li>
                {{/foreach}}
        </ul>
-       
+
 </div>
index d0fb5d62b69e241a231720ba1184a2f7b9d11951..620d2de75aae7db2f29982176b8dc7088ce57e50 100644 (file)
@@ -7,7 +7,7 @@
        <div id="sidebar-group-list">
                <ul>
                        {{foreach $groups as $group}}
-                       <li class="tool  {{if $group.selected}}selected{{/if}}">
+                       <li class="tool  {{if $group.selected}}selected{{/if}} group-{{$group.id}}">
                                <a href="{{$group.href}}" class="label">
                                        {{$group.text}}
                                </a>
                                        <a href="{{$group.edit.href}}" class="action"><span class="icon text s10 edit">{{$group.edit.title}}</span></a>
                                {{/if}}
                                {{if $group.cid}}
-                                       <input type="checkbox" 
-                                               class="{{if $group.selected}}ticked{{else}}unticked {{/if}} action" 
+                                       <input type="checkbox"
+                                               class="{{if $group.selected}}ticked{{else}}unticked {{/if}} action"
                                                onclick="contactgroupChangeMember('{{$group.id}}','{{$group.cid}}');return true;"
                                                {{if $group.ismember}}checked="checked"{{/if}}
                                        />
                                {{/if}}
+                               <span class="notify"></span>
                        </li>
                        {{/foreach}}
                </ul>
        </div>
-</div> 
+</div>
 
index f72e3ccb4fa9d1538e52cb3378cdf84613acc0e2..41d633b25c3191f01ee65fd43123862091180602 100644 (file)
@@ -6,7 +6,7 @@
                <input name="category" id="jot-category" type="text" placeholder="{{$placeholdercategory}}" title="{{$placeholdercategory}}" value="{{$category}}" class="jothidden" style="display:none" />
                {{/if}}
                <div id="character-counter" class="grey jothidden"></div>
-               
+
 
 
                <input type="hidden" name="type" value="{{$ptyp}}" />
                        <li><a id="profile-link"  ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;" title="{{$weblink}}">{{$shortweblink}}</a></li>
                        <li><a id="profile-video" onclick="jotVideoURL();return false;" title="{{$video}}">{{$shortvideo}}</a></li>
                        <li><a id="profile-audio" onclick="jotAudioURL();return false;" title="{{$audio}}">{{$shortaudio}}</a></li>
-                       <!-- TODO: waiting for a better placement 
+                       <!-- TODO: waiting for a better placement
                        <li><a id="profile-location" onclick="jotGetLocation();return false;" title="{{$setloc}}">{{$shortsetloc}}</a></li>
                        <li><a id="profile-nolocation" onclick="jotClearLocation();return false;" title="{{$noloc}}">{{$shortnoloc}}</a></li>
                        -->
                        <li><a id="jot-preview-link" onclick="preview_post(); return false;" title="{{$preview}}">{{$preview}}</a></li>
                        {{$jotplugins}}
 
+                       {{if !$is_edit}}
                        <li class="perms"><a id="jot-perms-icon" href="#profile-jot-acl-wrapper" class="icon s22 {{$lockstate}} {{$bang}}"  title="{{$permset}}" ></a></li>
+                       {{/if}}
                        <li class="submit"><input type="submit" id="profile-jot-submit" name="submit" value="{{$share}}" /></li>
                        <li id="profile-rotator" class="loading" style="display: none"><img src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}"  /></li>
                </ul>
        </div>
-       
+
        <div id="jot-preview-content" style="display:none;"></div>
 
        <div style="display: none;">
index d57169dcc1781728d075bcd89e2023a37d217a38..f4eae78d2b224af3045490983bd5773671b4712f 100644 (file)
@@ -6,17 +6,17 @@
                        <div class="action">
                        <a class="icon s16 edit ttright" href="#" rel="#profiles-menu" title="{{$profile.edit.3}}"><span>{{$profile.edit.1}}</span></a>
                        <ul id="profiles-menu" class="menu-popup">
-                           {{if $profile.menu.entries}}
-                               {{foreach $profile.menu.entries as $e}}
-                               <li>
-                                       <a href="profiles/{{$e.id}}"><img src='{{$e.photo}}'>{{$e.profile_name}}</a>
-                               </li>
-                               {{/foreach}}
-                       {{else}}
-                               <li>
-                                       <a href="{{$profile.edit.0}}">{{$profile.edit.1}}</a>
-                               </li>
-                       {{/if}}
+                       {{if $profile.menu.entries}}
+                               {{foreach $profile.menu.entries as $e}}
+                               <li>
+                                       <a href="profiles/{{$e.id}}"><img src='{{$e.photo}}'>{{$e.profile_name}}</a>
+                               </li>
+                               {{/foreach}}
+                       {{else}}
+                               <li>
+                                       <a href="{{$profile.edit.0}}">{{$profile.edit.1}}</a>
+                               </li>
+                       {{/if}}
                                <li><a href="profile_photo" >{{$profile.menu.chg_photo}}</a></li>
                                {{if $profile.menu.cr_new }}
                                <li><a href="profiles/new" id="profile-listing-new-link">{{$profile.menu.cr_new}}</a></li>
                {{/if}}
        </div>
 
+       {{if $profile.addr}}<div class="p-addr">{{$profile.addr}}</div>{{/if}}
 
        {{if $pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
        <div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.name}}" /></div>
 
+       {{if $account_type}}<div class="account-type">{{$account_type}}</div>{{/if}}
 
+       {{if $profile.network_name}}<dl class="network"><dt class="network-label">{{$network}}</dt><dd class="x-network">{{$profile.network_name}}</dd></dl>{{/if}}
 
        {{if $location}}
                <dl class="location"><dt class="location-label">{{$location}}</dt> 
 
        {{if $marital}}<dl class="marital"><dt class="marital-label"><span class="heart">&hearts;</span>{{$marital}}</dt><dd class="marital-text">{{$profile.marital}}</dd></dl>{{/if}}
 
-       {{if $homepage}}<dl class="homepage"><dt
-        class="homepage-label">{{$homepage}}</dt><dd class="homepage-url"><a
-        href="{{$profile.homepage}}" target="external-link">{{$profile.homepage}}</a></dd></dl>{{/if}}
+       {{if $homepage}}
+       <dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt>
+               <dd class="homepage-url"><a href="{{$profile.homepage}}" target="external-link">{{$profile.homepage}}</a></dd>
+       </dl>
+       {{/if}}
 
        {{include file="diaspora_vcard.tpl"}}
        
        <div id="profile-extra-links">
                <ul>
                        {{if $connect}}
-                                {{if $remoteconnect}}
-                                        <li><a id="dfrn-request-link" href="{{$remoteconnect}}">{{$connect}}</a></li>
-                                {{else}}
-                                        <li><a id="dfrn-request-link" href="dfrn_request/{{$profile.nickname}}">{{$connect}}</a></li>
-                                {{/if}}
-                        {{/if}}
+                               {{if $remoteconnect}}
+                                       <li><a id="dfrn-request-link" href="{{$remoteconnect}}">{{$connect}}</a></li>
+                               {{else}}
+                                       <li><a id="dfrn-request-link" href="dfrn_request/{{$profile.nickname}}">{{$connect}}</a></li>
+                               {{/if}}
+                       {{/if}}
                        {{if $wallmessage}}
                                <li><a id="wallmessage-link" href="wallmessage/{{$profile.nickname}}">{{$wallmessage}}</a></li>
                        {{/if}}
+                       {{if $subscribe_feed}}
+                               <li><a id="subscribe-feed-link" href="dfrn_poll/{{$profile.nickname}}">{{$subscribe_feed}}</a></li>
+                       {{/if}}
                </ul>
        </div>
 </div>
diff --git a/view/theme/quattro/templates/widget_forumlist.tpl b/view/theme/quattro/templates/widget_forumlist.tpl
new file mode 100644 (file)
index 0000000..35c54bc
--- /dev/null
@@ -0,0 +1,46 @@
+<script>
+
+function showHideForumlist() {
+       if( $("li[id^='forum-widget-entry-extended-']").is(':visible')) {
+               $("li[id^='forum-widget-entry-extended-']").hide();
+               $("li#forum-widget-collapse").html(window.showMore);
+
+       }
+       else {
+               $("li[id^='forum-widget-entry-extended-']").show();
+               $("li#forum-widget-collapse").html(window.showFewer);
+       }
+}
+</script>
+
+<div id="forumlist-sidebar" class="widget">
+       <h3 id="forumlist">{{$title}}</h3>
+
+       <ul id="forumlist-sidbar-ul" role="menu">
+               {{foreach $forums as $forum}}
+               {{if $forum.id <= $visible_forums}}
+               <li class="forum-widget-entry forum-{{$forum.cid}} tool {{if $forum.selected}}selected{{/if}}" id="forum-widget-entry-{{$forum.id}}" role="menuitem">
+                       <span class="notify badge pull-right"></span>
+                       <a href="{{$forum.external_url}}" title="{{$forum.link_desc}}" class="label sparkle" target="_blank">
+                               <img class="forumlist-img" src="{{$forum.micro}}" alt="{{$forum.link_desc}}" />
+                       </a>
+                       <a class="forum-widget-link" id="forum-widget-link-{{$forum.id}}" href="{{$forum.url}}" >{{$forum.name}}</a>
+               </li>
+               {{/if}}
+       
+               {{if $forum.id > $visible_forums}}
+               <li class="forum-widget-entry forum-{{$forum.cid}} tool {{if $forum.selected}}selected{{/if}}" id="forum-widget-entry-extended-{{$forum.id}}" role="menuitem" style="display: none;">
+                       <span class="notify badge pull-right"></span>
+                       <a href="{{$forum.external_url}}" title="{{$forum.link_desc}}" class="label sparkle" target="_blank">
+                               <img class="forumlist-img" src="{{$forum.micro}}" alt="{{$forum.link_desc}}" />
+                       </a>
+                       <a class="forum-widget-link" id="forum-widget-link-{{$forum.id}}" href="{{$forum.url}}" >{{$forum.name}}</a>
+               </li>
+               {{/if}}
+               {{/foreach}}
+
+               {{if $total > $visible_forums }}
+               <li onclick="showHideForumlist(); return false;" id="forum-widget-collapse" class="forum-widget-link fakelink tool">{{$showmore}}</li>
+               {{/if}}
+       </ul>
+</div>
index 1be5c02678ff7a2784aabf0e7b49c1c428c807a0..a1cd29ee72ad84c1ff2fe3da4850e46b9daec213 100644 (file)
  * Maintainer: Fabio <http://kirgroup.com/profile/fabrixxm>
  * Maintainer: Tobias <https://diekershoff.homeunix.net/friendica/profile/tobias>
  */
-function quattro_init(&$a) {
-$a->theme_info = array();
-set_template_engine($a, 'smarty3');
-
-
-$a->page['htmlhead'] .= '<script src="'.$a->get_baseurl().'/view/theme/quattro/tinycon.min.js"></script>';
-$a->page['htmlhead'] .= <<< EOT
-<script>
-$(document).ready(function(){
-    $('nav').bind('nav-update', function(e,data){
-        var notifCount = $(data).find('notif').attr('count');
-        var intro = $(data).find('intro').text();
-        var mail = $(data).find('mail').text();
-        
-        console.log(intro,mail);
-        
-        if (notifCount > 0 ) {
-            Tinycon.setBubble(notifCount);
-        } else {
-            Tinycon.setBubble('');
-        }
-        
-        if (intro>0){
-                       $("#nav-introductions-link").addClass("on");
-               } else {
-                       $("#nav-introductions-link").removeClass("on");
-               }
-               
-        if (mail>0){
-                       $("#nav-messages-link").addClass("on");
-               } else {
-                       $("#nav-messages-link").removeClass("on");
-               }
-               
-    });
-       
-       /* 
-        * show and hide contact action buttons in 
-        * contacts page on contacts' checkbox selection
-        */
-       $('.contact-select').bind('click', function(e) {
-               var y = e.clientY;
-               var elm = $("#contacts-actions");
-               y=y-40;
-               if (y<0) y=0;
-               if (y+elm.height() > $("html").height()) y=$("html").height()-elm.height();
-               elm.css('top', y+"px");
-               if ($(".contact-select:checked").length > 0) {
-                       elm.show();
-               } else {
-                       elm.hide();
-               }
-       });
-});        
-
-function insertFormatting(comment,BBcode,id) {
-       
-               var tmpStr = $("#comment-edit-text-" + id).val();
-               if(tmpStr == comment) {
-                       tmpStr = "";
-                       $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
-                       $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
-                       openMenu("comment-edit-submit-wrapper-" + id);
-                       $("#comment-edit-text-" + id).val(tmpStr);
-               }
-
-       textarea = document.getElementById("comment-edit-text-" +id);
-       if (document.selection) {
-               textarea.focus();
-               selected = document.selection.createRange();
-               if (BBcode == "url"){
-                       selected.text = "["+BBcode+"]" + "http://" +  selected.text + "[/"+BBcode+"]";
-                       } else                  
-               selected.text = "["+BBcode+"]" + selected.text + "[/"+BBcode+"]";
-       } else if (textarea.selectionStart || textarea.selectionStart == "0") {
-               var start = textarea.selectionStart;
-               var end = textarea.selectionEnd;
-               if (BBcode == "url"){
-                       textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + "http://" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
-                       } else
-               textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
-       }
-       return true;
-}
-
-function showThread(id) {
-       $("#collapsed-comments-" + id).show()
-       $("#collapsed-comments-" + id + " .collapsed-comments").show()
-}
-function hideThread(id) {
-       $("#collapsed-comments-" + id).hide()
-       $("#collapsed-comments-" + id + " .collapsed-comments").hide()
-}
-
-
-function cmtBbOpen(id) {
-       $("#comment-edit-bb-" + id).show();
-}
-function cmtBbClose(id) {
-       $("#comment-edit-bb-" + id).hide();
-}
-
-$(document).ready(function() {
-
-       $('html').click(function() { $("#nav-notifications-menu" ).hide(); });
-
-       $('.group-edit-icon').hover(
-               function() {
-                       $(this).addClass('icon'); $(this).removeClass('iconspacer');},
-               function() {
-                       $(this).removeClass('icon'); $(this).addClass('iconspacer');}
-               );
-
-       $('.sidebar-group-element').hover(
-               function() {
-                       id = $(this).attr('id');
-                       $('#edit-' + id).addClass('icon'); $('#edit-' + id).removeClass('iconspacer');},
-
-               function() {
-                       id = $(this).attr('id');
-                       $('#edit-' + id).removeClass('icon');$('#edit-' + id).addClass('iconspacer');}
-               );
-
-
-       $('.savedsearchdrop').hover(
-               function() {
-                       $(this).addClass('drop'); $(this).addClass('icon'); $(this).removeClass('iconspacer');},
-               function() {
-                       $(this).removeClass('drop'); $(this).removeClass('icon'); $(this).addClass('iconspacer');}
-               );
-
-       $('.savedsearchterm').hover(
-               function() {
-                       id = $(this).attr('id');
-                       $('#drop-' + id).addClass('icon');      $('#drop-' + id).addClass('drophide'); $('#drop-' + id).removeClass('iconspacer');},
-
-               function() {
-                       id = $(this).attr('id');
-                       $('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');}
-       );
-
-});
 
+function quattro_init(&$a) {
+       $a->theme_info = array();
 
-</script>
-EOT;
+       $a->page['htmlhead'] .= '<script src="'.$a->get_baseurl().'/view/theme/quattro/tinycon.min.js"></script>';
+       $a->page['htmlhead'] .= '<script src="'.$a->get_baseurl().'/view/theme/quattro/js/quattro.js"></script>';;
 }
index 46d8902aebd9efc51ad76fe8a961fce5684e5b67..b9f094932ddb1c52949116df9ef1302c0bd00c70 100644 (file)
@@ -4,7 +4,7 @@
        Maintainer: Nomen Nominandum
        last change: 2013-05-08
 
-** Colors ** 
+** Colors **
 Blue links - #1873a2
 Blue link hover - #6da6c4
 Blue Gradients (buttons and other gradients) - #1873a2 and #6da6c4
@@ -19,21 +19,21 @@ Orange - #fec01d
 @media only screen and (device-width: 768px) {
 /* For general iPad layouts */
 #body {
-       -moz-background-clip: border; 
-       -moz-background-origin: pdading; 
-       -moz-background-size: auto auto; 
-       background-attachment: scroll; 
-       background-color: transparent; 
-       background-image: url( ); 
-       background-position: center top; 
+       -moz-background-clip: border;
+       -moz-background-origin: pdading;
+       -moz-background-size: auto auto;
+       background-attachment: scroll;
+       background-color: transparent;
+       background-image: url( );
+       background-position: center top;
        background-repeat: no-repeat;
-       } 
+       }
 }
 
 @media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait) {
 /* For portrait layouts only */
 }
-        
+
 @media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape) {
 /* For landscape layouts only */
 }
@@ -115,6 +115,10 @@ input[type=submit]:active {
 #search-save {
 }
 
+#directory-search-end {
+       clear: both;
+}
+
 .dirsearch-desc {
 }
 
@@ -145,13 +149,37 @@ section {
        padding-bottom: 2em;
 }
 
+/* Contact-Header for the Network Stream */
+#viewcontact_wrapper-network {
+       width: 100%;
+       min-height: 110px;
+       background-color: #FAFAFA;
+       box-shadow: 0 0 8px #BDBDBD;
+       border-bottom: 1px solid #dedede;
+       border: 1px solid #7C7D7B;
+       border-radius: 5px;
+}
+#contact-entry-wrapper-network {
+       float: none;
+       width: auto;
+       height: auto;
+       padding: 10px;
+       margin: 0;
+}
+#contact-entry-accounttype-network {
+       font-size: 20px;
+}
+#contact-entry-name-network {
+       font-size: 24.5px;
+}
+
 .lframe {
        border: 1px solid #7C7D7B;
        box-shadow: 3px 3px 6px #959494;
                -moz-box-shadow: 3px 3px 6px #959494;
                -webkit-box-shadow: 3px 3px 6px #959494;
        background-color: #efefef;
-       padding: 10px;  
+       padding: 10px;
 }
 
 .mframe {
@@ -276,8 +304,8 @@ section {
 }
 
 #login-name-end,
-#login-password-end, 
-#login-extra-end, 
+#login-password-end,
+#login-extra-end,
 #login-submit-end {
        height: 50px;
 }
@@ -291,7 +319,7 @@ section {
        margin: 10px 0 0 230px;
 }
 
-.login-form,
+.login-form {
        margin-top: 10px;
 }
 
@@ -392,7 +420,7 @@ nav #banner {
        position: absolute;
        margin-left: 3px;
        /*margin-top: 2px;*/
-       padding-bottom: 5px;    
+       padding-bottom: 5px;
 }
 
 nav #banner #logo-text a {
@@ -426,7 +454,7 @@ nav #user-menu {
                -webkit-border-radius: 5px;
        color: #efefef;
        text-decoration: none;
-       text-align: center;   
+       text-align: center;
 }
 
 nav #user-menu:hover {
@@ -459,7 +487,7 @@ nav #user-menu-label {
 .nav-ajax-left {
        font-size: 0.8em;
        float: left;
-       margin-top: 62px;       
+       margin-top: 62px;
 }
 
 nav #nav-link-wrapper .nav-link {
@@ -500,7 +528,7 @@ ul#user-menu-popup {
        border-radius: 0px 0px 5px 5px;
                -webkit-border-radius: 0px 0px 5px 5px;
                -moz-border-radius: 0px 0px 5px 5px;
-       box-shadow: 5px 5px 10px #242424;    
+       box-shadow: 5px 5px 10px #242424;
                -moz-box-shadow: 5px 5px 10px #242424;
                -webkit-box-shadow: 5px 5px 10px #242424;
        z-index: 10000;
@@ -542,7 +570,7 @@ ul#user-menu-popup li a.nav-sep {
 .nav-ajax-update {
        width: 44px;
        height: 32px;
-       background: transparent url('images/notifications.png') 0px 0px no-repeat; 
+       background: transparent url('images/notifications.png') 0px 0px no-repeat;
        color: #333333;
        font-weight: bold;
        font-size: 0.8em;
@@ -571,32 +599,20 @@ ul#user-menu-popup li a.nav-sep {
        background-position: 0px 0px;
 }
 
-#lang-select-icon {
-       bottom: 5px;
-       cursor: pointer;
-       left: 25px;
-       position: fixed;
-       z-index: 10;
-}
-#language-selector {
-       position: fixed;
-       bottom: 2px;
-       left: 55px;
-       z-index: 10;
-}
+
 
 /* =================== */
 /* = System Messages = */
 /* =================== */
 
-#sysmsg_info, 
+#sysmsg_info,
 #sysmsg {
-       position: fixed; 
-       bottom: 0px; right:20%; 
+       position: fixed;
+       bottom: 0px; right:20%;
        box-shadow: 7px 7px 10px #434343;
                -moz-box-shadow: 7px 7px 12px #434343;
                -webkit-box-shadow: 7px75px 12px #434343;
-       padding: 10px; 
+       padding: 10px;
        background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #1873a2), color-stop(1, #6da6c4) );
        background: -moz-linear-gradient( center top, #1873a2 5%, #6da6c4 100% );
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1873a2', endColorstr='#6da6c4');
@@ -606,7 +622,7 @@ ul#user-menu-popup li a.nav-sep {
                -moz-border-radius: 5px 5px 0px 0px;
        border: 1px solid #da2c2c;
        border-bottom: 0px;
-       padding-bottom: 50px;   
+       padding-bottom: 50px;
        z-index: 1000;
        color: #efefef;
        font-style: bold;
@@ -649,6 +665,10 @@ aside h4 {
        font-size: 1em;
 }
 
+.vcard .account-type {
+       font-size: 1.2em;
+}
+
 .vcard dd {
        font-size: 12px;
        font-variant: normal;
@@ -698,6 +718,7 @@ aside h4 {
        list-style: none;
 }
 
+#subscribe-feed-link,
 #dfrn-request-link {
        box-shadow: inset 0px 1px 0px 0px #a65151;
                -moz-box-shadow: inset 0px 1px 0px 0px #a65151;
@@ -733,6 +754,7 @@ aside h4 {
        background-color: #3465a4;
 }
 
+#subscribe-feed-link:hover,
 #dfrn-request-link:hover {
        background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #1873a2), color-stop(1, #6da6c4) );
        background: -moz-linear-gradient( center top, #1873a2 5%, #6da6c4 100% );
@@ -740,6 +762,7 @@ aside h4 {
        background-color: #1873a2;
 }
 
+#subscribe-feed-link:active,
 #dfrn-request-link:active {
        position: relative;
        top: 1px;
@@ -770,7 +793,7 @@ h3 #search:before {
        background-color: #f3f3f3;
        border: 1px solid #7C7D7B;
        margin-bottom: 10px;
-       border-radius: 5px;     
+       border-radius: 5px;
                -webkit-border-radius: 5px;
                -moz-border-radius: 5px;
 }
@@ -862,7 +885,8 @@ li.widget-list {
        padding: 3px 24px;
 }
 
-#sidebar-new-group {
+#sidebar-new-group,
+#sidebar-edit-groups {
        padding: 7px;
        width: 165px;
        margin: auto;
@@ -901,9 +925,9 @@ li.widget-list {
        top: 1px;
 }
 
-.group-selected, 
-.nets-selected, 
-.fileas-selected, 
+.group-selected,
+.nets-selected,
+.fileas-selected,
 .categories-selected {
        padding-bottom: 0px;
        padding-left: 2px;
@@ -949,8 +973,8 @@ ul .sidebar-group-li .icon {
        list-style-type: none;
 }
 
-.nets-ul li, 
-.fileas-ul li, 
+.nets-ul li,
+.fileas-ul li,
 .categories-ul li,
 .datebrowse-link {
 }
@@ -967,12 +991,12 @@ ul .sidebar-group-li .icon {
        margin-left: 42px;
 }
 
-.fileas-link, 
+.fileas-link,
 .categories-link {
        margin-left: 0px;
 }
 
-.fileas-all, 
+.fileas-all,
 .categories-all {
        margin-left: 0px;
 }
@@ -992,7 +1016,7 @@ ul .sidebar-group-li .icon {
        padding-bottom: 5px;
        vertical-align: baseline;
        text-align: center;
-       text-shadow: -1px 0px 0px #bdbdbd;      
+       text-shadow: -1px 0px 0px #bdbdbd;
 }
 
 #connect-desc {
@@ -1018,12 +1042,12 @@ ul .sidebar-group-li .icon {
        margin-right: 5px;
 }
 
-.birthday-today, 
+.birthday-today,
 .event-today {
        font-weight: bold;
 }
 
-#birthday-wrapper, 
+#birthday-wrapper,
 #event-wrapper {
        margin-left: 15px;
 }
@@ -1104,11 +1128,11 @@ ul .sidebar-group-li .icon {
        width: 99.9% !important;
 }
 
-#profile-jot-submit-wrapper { 
+#profile-jot-submit-wrapper {
        margin-top: 30px;
 }
 
-#jot-title, 
+#jot-title,
 #jot-category {
        margin: 0px;
        height: 20px;
@@ -1130,7 +1154,7 @@ ul .sidebar-group-li .icon {
 #jot-category:-moz-placeholder {
        font-weight: normal;
 }
-       
+
 #jot-title:hover,
 #jot-title:focus,
 #jot-category:hover,
@@ -1146,7 +1170,7 @@ ul .sidebar-group-li .icon {
        margin: 15px 0 15px 0;
 }
 
-#profile-jot-perms, 
+#profile-jot-perms,
 #profile-jot-submit {
        width: 60px;
        font-size: 12px;
@@ -1215,8 +1239,8 @@ ul .sidebar-group-li .icon {
                -webkit-border-radius: 5px;
 }
 
-#profile-jot-perms:hover, 
-#profile-jot-submit:hover, 
+#profile-jot-perms:hover,
+#profile-jot-submit:hover,
 #jot-preview-link:hover {
        background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #1873a2), color-stop(1, #6da6c4) );
        background: -moz-linear-gradient( center top, #1873a2 5%, #6da6c4 100% );
@@ -1231,8 +1255,8 @@ ul .sidebar-group-li .icon {
                -webkit-border-radius: 5px;
 }
 
-#profile-jot-perms:active, 
-#profile-jot-submit:active, 
+#profile-jot-perms:active,
+#profile-jot-submit:active,
 #jot-preview-link:active {
        position: relative;
        top: 1px;
@@ -1241,11 +1265,11 @@ ul .sidebar-group-li .icon {
 #character-counter {
        position: relative;
        float: left;
-       right: 0px; 
+       right: 0px;
        top: 0px;
 }
 #profile-rotator-wrapper {
-       float: right; 
+       float: right;
 }
 
 .jot-tool {
@@ -1274,7 +1298,7 @@ ul .sidebar-group-li .icon {
        margin: 5px;
        width: 95%;
 }
-       
+
 #profile-jot-networks {
        margin: 0px 10%;
        border: 1px solid #eeeeee;
@@ -1317,16 +1341,16 @@ ul .sidebar-group-li .icon {
 }
 
 #jot-public {
-       background-color: #555753; 
-       color: #ff0000; 
-       padding: 5px; 
+       background-color: #555753;
+       color: #ff0000;
+       padding: 5px;
        float: left;
 }
 
 #acl-deny-text {
-       background-color: #555753; 
-       color: #ccccce; 
-       padding: 5px; 
+       background-color: #555753;
+       color: #ccccce;
+       padding: 5px;
        float: left;
 }
 
@@ -1396,7 +1420,7 @@ ul .sidebar-group-li .icon {
 
 .wall-item-outside-wrapper {
        max-width: 100%;
-       border-bottom: 1px solid #dedede; 
+       border-bottom: 1px solid #dedede;
        margin-top: 10px;
        margin-bottom: 20px;
        padding-right: 10px;
@@ -1441,7 +1465,7 @@ ul .sidebar-group-li .icon {
        box-shadow: 0 0 8px #BDBDBD;
                -moz-box-shadow: 0 0 8px #BDBDBD;
                -webkit-box-shadow: 0 0 8px #BDBDBD;
-       border-radius: 0px 0px 5px  5px;        
+       border-radius: 0px 0px 5px  5px;
                -webkit-border-radius: 0px 0px 5px  5px;
                -moz-border-radius: 0px 0px 5px  5px;
 }
@@ -1451,8 +1475,8 @@ ul .sidebar-group-li .icon {
        width: 100px;
 }
 
-.wall-item-photo-wrapper { 
-       width: 80px; 
+.wall-item-photo-wrapper {
+       width: 80px;
        height: 80px;
        padding: 0;
        position: relative;
@@ -1465,7 +1489,7 @@ ul .sidebar-group-li .icon {
                -webkit-box-shadow: 0 0 8px #BDBDBD;*/
 }
 
-.wall-item-photo { 
+.wall-item-photo {
        border: 0px solid #7C7D7B;
        border-radius: 2px;
                -webkit-border-radius: 2px;
@@ -1475,7 +1499,7 @@ ul .sidebar-group-li .icon {
                -webkit-box-shadow: 0 0 8px #BDBDBD;*/
 }
 
-.wall-item-tools { 
+.wall-item-tools {
        filter: alpha(opacity=60);
        opacity: 0.7;
        transition: all 0.25s ease-in-out;
@@ -1490,12 +1514,12 @@ ul .sidebar-group-li .icon {
 .wall-item-tools:hover {
        filter: alpha(opacity=100);
        opacity: 1;
-       transition: all 0.25s ease-in-out;      
+       transition: all 0.25s ease-in-out;
                -webkit-transition: all 0.25s ease-in-out;
                -moz-transition: all 0.25s ease-in-out;
 }
 
-.wall-item-social { 
+.wall-item-social {
        filter: alpha(opacity=60);
        opacity: 0.7;
        transition: all 0.25s ease-in-out;
@@ -1511,7 +1535,7 @@ ul .sidebar-group-li .icon {
 .wall-item-social:hover {
        filter: alpha(opacity=100);
        opacity: 1;
-       transition: all 0.25s ease-in-out;      
+       transition: all 0.25s ease-in-out;
                -webkit-transition: all 0.25s ease-in-out;
                -moz-transition: all 0.25s ease-in-out;
 }
@@ -1553,13 +1577,13 @@ ul .sidebar-group-li .icon {
 
 .star-item,
 .tag-item {
-       float: left;    
+       float: left;
 }
 
 .wall-item-title {
        font-size: 1.2em;
-       font-weight: bold; 
-       padding-top: 5px; 
+       font-weight: bold;
+       padding-top: 5px;
        margin-left: 100px;
 }
 
@@ -1570,8 +1594,8 @@ ul .sidebar-group-li .icon {
        max-width: 100%;
 }
 
-.wall-item-body img { 
-       max-width: 100%; 
+.wall-item-body img {
+       max-width: 100%;
        height: auto;
        border-radius: 0;
 }
@@ -1580,8 +1604,8 @@ ul .sidebar-group-li .icon {
        font-size: 0.8em;
 }
 
-.wall-item-lock-wrapper { 
-       float: right; 
+.wall-item-lock-wrapper {
+       float: right;
 }
 
 .wall-item-dislike,
@@ -1602,14 +1626,14 @@ ul .sidebar-group-li .icon {
        color: #898989;
 }
 
-.wall-item-ago { 
-       display: inline; 
-       padding-left: 0px; 
+.wall-item-ago {
+       display: inline;
+       padding-left: 0px;
        color: #898989;
 }
 
-.wall-item-wrapper-end { 
-       clear:both; 
+.wall-item-wrapper-end {
+       clear:both;
 }
 
 .wall-item-location {
@@ -1619,8 +1643,8 @@ ul .sidebar-group-li .icon {
                -o-text-overflow: ellipsis;
 }
 
-.wall-item-location .icon { 
-       float: left; 
+.wall-item-location .icon {
+       float: left;
 }
 
 .wall-item-location > a {
@@ -1632,14 +1656,14 @@ ul .sidebar-group-li .icon {
        color: #898989;
 }
 
-.wall-item-location .smalltext { 
-       margin-left: 0px;  
-       font-size: 0.9em; 
+.wall-item-location .smalltext {
+       margin-left: 0px;
+       font-size: 0.9em;
        display: block;
 }
 
-.wall-item-location > br { 
-       display: none; 
+.wall-item-location > br {
+       display: none;
 }
 
 .wall-item-conv a{
@@ -1655,16 +1679,16 @@ ul .sidebar-group-li .icon {
        width: 30px;
        z-index: 900;
        width: 30px;
-       height: 30px;    
+       height: 30px;
 }
 
-.wallwall .wwto img { 
-       width: 30px!important; 
+.wallwall .wwto img {
+       width: 30px!important;
        height: 30px!important;
 }
 
-.wallwall .wall-item-photo-end { 
-       clear: both; 
+.wallwall .wall-item-photo-end {
+       clear: both;
 }
 
 .wall-item-arrowphoto-wrapper {
@@ -1684,7 +1708,7 @@ ul .sidebar-group-li .icon {
        border-left: 1px solid #7C7D7B;
        border-bottom: 1px solid #7C7D7B;
        position: absolute;
-       left: 0px; 
+       left: 0px;
        top: 101px;
        display: none;
        z-index: 10000;
@@ -1706,17 +1730,17 @@ ul .sidebar-group-li .icon {
                -webkit-box-shadow: 0 0 8px #BDBDBD;
 }
 
-.wall-item-photo-menu ul { 
-       margin: 0px; 
-       padding: 0px; 
+.wall-item-photo-menu ul {
+       margin: 0px;
+       padding: 0px;
        list-style: none;
 }
 
-.wall-item-photo-menu li a { 
-       white-space: nowrap;  
-       display: block; 
-       padding: 5px 2px;       
-       color: #2e3436;  
+.wall-item-photo-menu li a {
+       white-space: nowrap;
+       display: block;
+       padding: 5px 2px;
+       color: #2e3436;
 }
 
 .wall-item-photo-menu li a:hover {
@@ -1724,7 +1748,7 @@ ul .sidebar-group-li .icon {
        background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #1873a2), color-stop(1, #6da6c4) );
        background: -moz-linear-gradient( center top, #1873a2 5%, #6da6c4 100% );
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1873a2', endColorstr='#6da6c4');
-       background-color: #1873a2; 
+       background-color: #1873a2;
 }
 
 .wall-item-container .wall-item-content .type-link img,
@@ -1781,12 +1805,12 @@ blockquote.shared_content {
 }
 
 .icon.drop,
-.icon.drophide { 
+.icon.drophide {
        float: left;
 }
 
 #item-delete-selected-end,
-#item-delete-selected {        
+#item-delete-selected {
        overflow: auto;
        margin-top: 0px;
        float: right;
@@ -1803,14 +1827,14 @@ code {
        background: #EEE;
        color: #444;
        padding: 10px;
-       margin-top: 10px; 
+       margin-top: 10px;
 }
 
 
 /* ============ */
 /* = Comments = */
 /* ============ */
+
  .ccollapse-wrapper {
        font-size: 0.9em;
        color: #898989;
@@ -1831,7 +1855,7 @@ code {
 .collapsed-comments,
 .hide-comments,
 .hide-comments-outer,
-.wall-item-outside-wrapper.comment { 
+.wall-item-outside-wrapper.comment {
        margin-left: 30px;
        margin-bottom: 20px;
 }
@@ -1845,7 +1869,7 @@ code {
 }
 
 .wall-item-outside-wrapper.comment .wall-item-photo-wrapper {
-       width: 40px; 
+       width: 40px;
        height: 40px;
        border-radius: 3px;
                -webkit-border-radius: 3px;
@@ -1856,9 +1880,9 @@ code {
        top: 42px;
        background-position: 15px center;
 }
-       
-.wall-item-outside-wrapper.comment .wall-item-info { 
-       width: 60px; 
+
+.wall-item-outside-wrapper.comment .wall-item-info {
+       width: 60px;
 }
 
 .wall-item-outside-wrapper.comment .wall-item-body {
@@ -1868,8 +1892,8 @@ code {
        padding-left: 0px;
 }
 
-.wall-item-outside-wrapper.comment .wall-item-author { 
-       margin-left: 60px; 
+.wall-item-outside-wrapper.comment .wall-item-author {
+       margin-left: 60px;
 }
 
 .wall-item-outside-wrapper.comment .wall-item-photo-menu {
@@ -1882,28 +1906,28 @@ code {
 }
 
 .comment-wwedit-wrapper,
-.comment-edit-wrapper { 
+.comment-edit-wrapper {
        margin: 0px 0px 5px 0px;
 }
 
 .comment-wwedit-wrapper img,
-.comment-edit-wrapper img { 
-       width: 20px; 
+.comment-edit-wrapper img {
+       width: 20px;
        height: 20px;
        margin-top: 5px;
 }
 
-.comment-edit-photo-link { 
-       float: left; 
+.comment-edit-photo-link {
+       float: left;
        width: 30px;
 }
 
-.comment-edit-text-empty { 
+.comment-edit-text-empty {
        width: 98%;
        max-width: 672px;
        height: 20px;
        color: #babdb6;
-       transition: all 0.5s ease-in-out;       
+       transition: all 0.5s ease-in-out;
                -webkit-transition: all 0.5s ease-in-out;
                -moz-transition: all 0.5s ease-in-out;
 }
@@ -1912,20 +1936,20 @@ code {
        color: #999999;
 }
 
-.comment-edit-text-full { 
+.comment-edit-text-full {
        width: 98%;
        max-width: 672px;
        height: 6em;
-       transition: all 0.5s ease-in-out;       
+       transition: all 0.5s ease-in-out;
                -webkit-transition: all 0.5s ease-in-out;
                -moz-transition: all 0.5s ease-in-out;
 }
 
-.comment-edit-submit-wrapper { 
+.comment-edit-submit-wrapper {
        width: 98%;
        max-width: 672px;
-       margin-left: 20px; 
-       text-align: left; 
+       margin-left: 20px;
+       text-align: left;
 }
 
 .comment-edit-submit {
@@ -1966,7 +1990,7 @@ code {
        border: 1px solid #cccccc;
        border-width: 1px 1px 1px 3px;
        padding-left: 5px;
-       margin-top: 10px; 
+       margin-top: 10px;
 }
 
 /* =========== */
@@ -1986,16 +2010,16 @@ code {
        padding-bottom: 5px;
        font-size: 18px;
 }
-div[id$="wrapper"] { 
+
+div[id$="wrapper"] {
        height: 100%;
 }
-div[id$="wrapper"] br { 
-       clear: left; 
+
+div[id$="wrapper"] br {
+       clear: left;
 }
 
-#advanced-profile-with { 
+#advanced-profile-with {
        margin-left: 20px;
 }
 
@@ -2038,15 +2062,15 @@ div[id$="wrapper"] br {
 }
 
 #profile-edit-links li a {
-       color: #efefef; 
+       color: #efefef;
 }
 
 #profile-edit-links li:hover {
-       background-color: #1873a2;      
+       background-color: #1873a2;
 }
 
 #profile-edit-links li:active {
-       background-color: #1873a2;      
+       background-color: #1873a2;
 }
 
 #profile-edit-links-end {
@@ -2062,12 +2086,12 @@ div[id$="wrapper"] br {
        position: absolute;
 }
 
-#cropimage-wrapper { 
-       float:left; 
+#cropimage-wrapper {
+       float:left;
 }
 
-#crop-image-form { 
-       clear:both; 
+#crop-image-form {
+       clear:both;
 }
 
 .profile-match-name {
@@ -2144,20 +2168,20 @@ div[id$="wrapper"] br {
                -webkit-border-radius: 5px;
 }
 
-#side-bar-photos-albums {
+#sidebar-photos-albums {
 }
 
 #photo-albums-upload-link {
        margin: 20px;
 }
 
-#side-bar-photos-albums h3:before {
+#sidebar-photos-albums h3:before {
        content: url("images/photography.png");
        padding-right: 10px;
        vertical-align: middle;
 }
 
-#side-bar-photos-albums li {
+#sidebar-photos-albums li {
        font-size: 14px;
        font-variant: none;
        text-align: left;
@@ -2184,18 +2208,18 @@ div[id$="wrapper"] br {
 }
 
 #photo-top-links:hover {
-       background-color: #1873a2;      
+       background-color: #1873a2;
 }
 
 #photo-top-links:active {
-       background-color: #1873a2;      
+       background-color: #1873a2;
 }
 
-.photo-album-image-wrapper { 
+.photo-album-image-wrapper {
        float: left;
        margin: 0px 10px 10px 0px;
        padding-bottom: 30px;
-       position: relative;     
+       position: relative;
 }
 
 .photo-top-image-wrapper {
@@ -2215,25 +2239,25 @@ div[id$="wrapper"] br {
        overflow: hidden;
 }
 
-#photo-photo { 
-       max-width: 85%; 
-       height: auto; 
+#photo-photo {
+       max-width: 85%;
+       height: auto;
 }
 
-#photo-photo img { 
-       max-width: 100% 
+#photo-photo img {
+       max-width: 100%
 }
 
 .photo-top-image-wrapper a:hover,
 #photo-photo a:hover,
-.photo-album-image-wrapper a:hover { 
-       border-bottom: 0px; 
+.photo-album-image-wrapper a:hover {
+       border-bottom: 0px;
 }
 
 .photo-top-photo {
        width: 180px;
 }
-.photo-album-photo {} 
+.photo-album-photo {}
 
 .photo-top-album-name {
        position: absolute;
@@ -2241,7 +2265,7 @@ div[id$="wrapper"] br {
        padding: 0px 5px;
        font-weight: bold;
        font-stretch: semi-expanded;
-} 
+}
 
 .photo-top-album-name a {
        text-align: center;
@@ -2258,7 +2282,7 @@ div[id$="wrapper"] br {
 
 #photo-photo {
        position: relative;
-       float: left;    
+       float: left;
 }
 
 #photo-caption {
@@ -2267,8 +2291,8 @@ div[id$="wrapper"] br {
        font-size: 1.1em;
 }
 
-#photo-photo-end { 
-       clear: both; 
+#photo-photo-end {
+       clear: both;
 }
 
 #photo-prev-link,
@@ -2282,58 +2306,58 @@ div[id$="wrapper"] br {
                -webkit-transition: all 0.2s ease-in-out;
                -moz-transition: all 0.2s ease-in-out;
        background-position: center center;
-       background-repeat: no-repeat;   
+       background-repeat: no-repeat;
 }
 
-#photo-prev-link { 
-       left: 0px; 
-       top: 0px; 
-       background-image: url('images/prev.png'); 
+#photo-prev-link {
+       left: 0px;
+       top: 0px;
+       background-image: url('images/prev.png');
 }
 
-#photo-next-link { 
-       right: 0px; 
-       top: 0px; 
+#photo-next-link {
+       right: 0px;
+       top: 0px;
        background-image: url('images/next.png');
 }
 
 #photo-prev-link a,
 #photo-next-link a {
-       display: block; 
-       width: 100%; 
+       display: block;
+       width: 100%;
        height: 100%;
        overflow: hidden;
-       text-indent: -900000px;          
+       text-indent: -900000px;
 }
 
 #photo-prev-link:hover,
 #photo-next-link:hover {
        opacity: 1;
-       transition: all 0.2s ease-in-out;               
+       transition: all 0.2s ease-in-out;
                -webkit-transition: all 0.2s ease-in-out;
                -moz-transition: all 0.2s ease-in-out;
 }
 
 #photo-next-link .icon,
-#photo-prev-link .icon { 
+#photo-prev-link .icon {
        display: none;
 }
 
 #photos-upload-spacer,
 #photos-upload-new-wrapper,
-#photos-upload-exist-wrapper { 
+#photos-upload-exist-wrapper {
        margin-bottom: 1em;
 }
 
 #photos-upload-existing-album-text,
-#photos-upload-newalbum-div { 
+#photos-upload-newalbum-div {
        color: #909090;
        padding: 3px 0px;
        width: 300px;
 }
 
 #photos-upload-album-select,
-#photos-upload-newalbum { 
+#photos-upload-newalbum {
        width: 400px;
        margin-bottom: 10px;
 }
@@ -2361,8 +2385,8 @@ select, input {
                -webkit-border-radius: 3px;
 }
 
-select[size], 
-select[multiple], 
+select[size],
+select[multiple],
 select[size][multiple] {
        margin: 5px 0px 10px 0px;
 }
@@ -2371,7 +2395,7 @@ select {
        -webkit-appearance: menulist;
        box-sizing: border-box;
        -webkit-box-align: center;
-       cursor: default;        
+       cursor: default;
 }
 
 textarea, keygen {
@@ -2384,7 +2408,7 @@ textarea, keygen {
        text-indent: 0px;
        text-shadow: none;
        display: inline-block;
-       text-align: -webkit-auto;       
+       text-align: -webkit-auto;
 }
 
 input {
@@ -2463,8 +2487,8 @@ input #photo_edit_form {
 /* = Messages = */
 /* ============ */
 
-#prvmail-wrapper, 
-.mail-conv-detail, 
+#prvmail-wrapper,
+.mail-conv-detail,
 .mail-list-detail {
        position: relative;
        width: 550px;
@@ -2480,11 +2504,11 @@ input #photo_edit_form {
                -webkit-border-radius: 5px;
 }
 
-#prvmail-wrapper:before, 
-#prvmail-wrapper:after, 
-.mail-conv-detail:before, 
-.mail-conv-detail:after, 
-.mail-list-detail:before, 
+#prvmail-wrapper:before,
+#prvmail-wrapper:after,
+.mail-conv-detail:before,
+.mail-conv-detail:after,
+.mail-list-detail:before,
 .mail-list-detail:after {
        position: absolute;
        width: 40%;
@@ -2508,8 +2532,8 @@ input #photo_edit_form {
                -webkit-border-radius: 5px;
 }
 
-#prvmail-wrapper:after, 
-.mail-conv-detail:after, 
+#prvmail-wrapper:after,
+.mail-conv-detail:after,
 .mail-list-detail:after {
        left: auto;
        right: 12px;
@@ -2530,10 +2554,10 @@ input #photo_edit_form {
 
 #prvmail-form input
 
-#prvmail-subject { 
-       width: 490px; 
-       padding-left: 10px; 
-       font-size: 1.1em; 
+#prvmail-subject {
+       width: 490px;
+       padding-left: 10px;
+       font-size: 1.1em;
        font-style: bold;
 }
 
@@ -2550,11 +2574,11 @@ input #photo_edit_form {
 #prvmail-to-label {}
 
 #prvmail-message-label {
-       font-size: 1em; 
+       font-size: 1em;
 }
 
-#prvmail-submit-wrapper { 
-       margin-top: 10px; 
+#prvmail-submit-wrapper {
+       margin-top: 10px;
 }
 
 #prvmail-submit {
@@ -2564,7 +2588,7 @@ input #photo_edit_form {
 }
 
 #prvmail-upload {
-margin-left: 0px;      
+margin-left: 0px;
 }
 
 #prvmail-submit-wrapper > div {
@@ -2597,7 +2621,7 @@ margin-left: 0px;
        padding-top: 10px;
        border: 1px solid #7C7D7B;
 }
-       
+
 .mail-list-sender-name {
        font-size: 1.1em;
        display: inline;
@@ -2623,7 +2647,7 @@ margin-left: 0px;
        color: #626262;
 }
 
-.mail-list-delete-wrapper { 
+.mail-list-delete-wrapper {
        float: right;
 }
 
@@ -2638,7 +2662,7 @@ margin-left: 0px;
 
 .mail-conv-sender {
        float: left;
-       margin: 0px 5px 5px 0px; 
+       margin: 0px 5px 5px 0px;
 }
 
 .mail-conv-sender-photo {
@@ -2647,18 +2671,18 @@ margin-left: 0px;
        border-radius: 3px 3px 3px 3px;
 }
 
-.mail-conv-sender-name { 
-       float: left; 
-       font-style: bold; 
+.mail-conv-sender-name {
+       float: left;
+       font-style: bold;
 }
 
-.mail-conv-date { 
-       float: right; 
+.mail-conv-date {
+       float: right;
 }
 
-.mail-conv-subject { 
-       clear: right; 
-       font-weight: bold; 
+.mail-conv-subject {
+       clear: right;
+       font-weight: bold;
        font-size: 1.2em;
 }
 
@@ -2677,15 +2701,15 @@ margin-left: 0px;
        border: 1px solid #7C7D7B;
 }
 
-.mail-conv-break { 
-       display: none; 
+.mail-conv-break {
+       display: none;
        border: none;
 }
 
-.mail-conv-delete-wrapper { 
-       padding-top: 10px; 
-       width: 510px; 
-       text-align: right; 
+.mail-conv-delete-wrapper {
+       padding-top: 10px;
+       width: 510px;
+       text-align: right;
 }
 
 #prvmail-subject {
@@ -2693,6 +2717,13 @@ margin-left: 0px;
        border: 1px solid #7C7D7B;
 }
 
+/* ========== */
+/* = Poke = */
+/* ========== */
+#poke-recip {
+       float: none;
+}
+
 /* ================= */
 /* = Notifications = */
 /* ================= */
@@ -2753,11 +2784,10 @@ margin-left: 0px;
 .view-contact-wrapper,
 .contact-entry-wrapper {
        float: left;
-       margin-right: 30px;
-       margin-bottom: 20px;
-       width: 88px;
+       padding-right: 10px;
+       width: 345px;
        height: 120px;
-       position: relative;
+       margin: 0 10px 10px 0px;
 }
 
 #view-contact-end {
@@ -2768,33 +2798,47 @@ margin-left: 0px;
        margin-top: 15px;
 }
 
+.contact-entry-wrapper .contact-entry-photo-wrapper {
+       float: left;
+       margin-right: 10px;
+}
 .contact-entry-direction-wrapper {
        position: absolute;
        top: 20px;
 }
 
-.contact-entry-edit-links { 
-       position: absolute; 
-       top: 60px; 
+.contact-entry-edit-links {
+       position: absolute;
+       top: 60px;
 }
 
-#contacts-show-hide-link { 
-       margin-bottom: 20px; 
-       margin-top: 10px; 
+#contacts-show-hide-link {
+       margin-bottom: 20px;
+       margin-top: 10px;
        font-weight: bold;
 }
 
-.contact-entry-name {
-       width: 100px;
+.contact-entry-desc {
+       overflow: hidden;
+}
+
+.contact-entry-name, .contact-entry-connect {
        overflow: hidden;
        font: #999;
        font-size: 12px;
-       text-align: center;
        font-weight: bold;
        margin-top: 5px;
 }
 
-.contact-entry-photo {
+.contact-entry-details {
+       font-size: 13px;
+       color: #999999;
+       white-space: nowrap;
+       overflow: hidden;
+       text-overflow: ellipsis;
+}
+
+.contact-entry-photo-wrapper {
        position: relative;
        /*border: 1px solid #7C7D7B;
        border-radius: 3px;
@@ -2805,7 +2849,16 @@ margin-left: 0px;
                -webkit-box-shadow: 0 0 8px #BDBDBD;*/
 }
 
-.contact-entry-edit-links .icon {      
+.contact-entry-photo {
+       width: 80px;
+}
+
+.contact-entry-photo a img {
+       width: 80px;
+       height: 80px;
+}
+
+.contact-entry-edit-links .icon {
        border: 1px solid #babdb6;
        border-radius: 3px;
                -webkit-border-radius: 3px;
@@ -2813,9 +2866,9 @@ margin-left: 0px;
        background-color: #ffffff;
 }
 
-#contact-edit-banner-name { 
-       font-size: 1.5em; 
-       margin-left: 30px; 
+#contact-edit-banner-name {
+       font-size: 1.5em;
+       margin-left: 30px;
 }
 
 #contact-edit-update-now {
@@ -2883,16 +2936,16 @@ margin-left: 0px;
 .contact-photo-menu-button {
        position: absolute;
        background-image: url("images/photo-menu.jpg");
-       background-position: top left; 
+       background-position: top left;
        background-repeat: no-repeat;
-       margin: 10px 0 0 0; 
+       margin: 10px 0 0 0;
        padding: 0px;
        width: 16px;
        height: 16px;
        top: 64px; left:0px;
        overflow: hidden;
        text-indent: 40px;
-       display: none;      
+       display: none;
 }
 
 .contact-photo-menu {
@@ -2900,7 +2953,7 @@ margin-left: 0px;
        border: 1px solid #ddd;
        background: #f1f1f1;
        position: absolute;
-       left: 0px; 
+       left: 0px;
        top: 90px;
        display: none;
        z-index: 10000;
@@ -2909,17 +2962,17 @@ margin-left: 0px;
                -webkit-box-shadow: 3px 3px 5px #888;
 }
 
-.contact-photo-menu ul { 
-       margin: 0px; 
-       padding: 0px; 
-       list-style: none; 
+.contact-photo-menu ul {
+       margin: 0px;
+       padding: 0px;
+       list-style: none;
 }
 
-.contact-photo-menu li a { 
-       display: block; 
-       padding: 3px; 
-       color: #626262; 
-       font-size: 1em; 
+.contact-photo-menu li a {
+       display: block;
+       padding: 3px;
+       color: #626262;
+       font-size: 1em;
 }
 
 .contact-photo-menu li a:hover {
@@ -2990,7 +3043,7 @@ margin-left: 0px;
        background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #1873a2), color-stop(1, #6da6c4) );
        background: -moz-linear-gradient( center top, #1873a2 5%, #6da6c4 100% );
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1873a2', endColorstr='#6da6c4');
-       background-color: #1873a2;      
+       background-color: #1873a2;
        border: 1px solid #7C7D7B;
        box-shadow: 0 0 8px #BDBDBD;
                -moz-box-shadow: 0 0 8px #BDBDBD;
@@ -3007,19 +3060,19 @@ margin-left: 0px;
 #side-match-link:active {
        background-color: #1873a2;
        position: relative;
-       top: 1px;       
+       top: 1px;
 }
 
 #side-invite-link a,
 #side-random-profile-link a,
 #side-suggest-link a,
 #side-match-link a {
-       color: #efefef; 
+       color: #efefef;
 }
 
 
 #invite-message,
-#invite-recipients, 
+#invite-recipients,
 #invite-recipient-text {
        padding: 10px;
 }
@@ -3039,7 +3092,7 @@ margin-left: 0px;
 
 #side-follow-wrapper label{
        font-size: 1.1em;
-       font-variant: normal;   
+       font-variant: normal;
 }
 
 #contact-suggest {
@@ -3061,7 +3114,7 @@ margin-left: 0px;
        padding: 5px 10px 5px 10px;
        color: #efefef;
        font-size: 1.2em;
-       text-align: center;     
+       text-align: center;
 }
 
 #contact-suggest:hover {
@@ -3069,13 +3122,13 @@ margin-left: 0px;
        background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #1873a2), color-stop(1, #6da6c4) );
        background: -moz-linear-gradient( center top, #1873a2 5%, #6da6c4 100% );
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1873a2', endColorstr='#6da6c4');
-       background-color: #1873a2;      
+       background-color: #1873a2;
 }
 
 #contact-suggest:active {
        background-color: #1873a2;
        position: relative;
-       top: 1px;       
+       top: 1px;
 }
 
 #contact-suggest a {
@@ -3098,7 +3151,7 @@ margin-left: 0px;
 /* = Register, Settings, Profile Forms = */
 /* ===================================== */
 
-#id_openid_url, 
+#id_openid_url,
 .openid input {
        background: url(images/login-bg.gif) no-repeat;
        background-position: 0 50%;
@@ -3202,7 +3255,7 @@ margin-left: 0px;
        position: relative;
        top: 1px;
 }
+
 #settings-nickname-desc {
        width: 80%;
        background-color: #efefef;
@@ -3218,7 +3271,7 @@ margin-left: 0px;
        clear: both;
 }
 
-#profile-edit-form div { 
+#profile-edit-form div {
        margin-bottom: 5px;
 }
 
@@ -3229,7 +3282,7 @@ margin-left: 0px;
 
 #register-form label,
 #profile-edit-form label {
-       width: 575px; 
+       width: 575px;
        float: right;
        margin-right: 155px;
 }
@@ -3242,20 +3295,20 @@ margin-left: 0px;
 
 .settings-submit,
 .settings-submit-wrapper,
-.profile-edit-submit-wrapper { 
+.profile-edit-submit-wrapper {
        margin: 30px 0px;
 }
 
 .profile-listing,
-.profile-listing-end { 
-       float: left; 
-       clear: both; 
+.profile-listing-end {
+       float: left;
+       clear: both;
        margin: 20px 20px 0px 0px;
 }
 
 
-#register-sitename { 
-       display: inline; 
+#register-sitename {
+       display: inline;
        font-weight: bold;
 }
 
@@ -3263,17 +3316,17 @@ margin-left: 0px;
        margin-top: 10px;
 }
 
-#label-register-name, 
-#label-register-email, 
-#label-register-nickname, 
+#label-register-name,
+#label-register-email,
+#label-register-nickname,
 #label-register-openid {
        float: left;
        width: 350px;
        margin-top: 10px;
 }
 
-#register-name, 
-#register-email, 
+#register-name,
+#register-email,
 #register-nickname {
        float: left;
        margin-top: 10px;
@@ -3290,10 +3343,10 @@ margin-left: 0px;
        margin-bottom: 25px;
 }
 
-#register-name-end, 
-#register-email-end, 
-#register-nickname-end, 
-#register-submit-end, 
+#register-name-end,
+#register-email-end,
+#register-nickname-end,
+#register-submit-end,
 #register-openid-end {
        clear: both;
 }
@@ -3343,14 +3396,14 @@ margin-left: 0px;
        background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #1873a2), color-stop(1, #6da6c4) );
        background: -moz-linear-gradient( center top, #1873a2 5%, #6da6c4 100% );
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1873a2', endColorstr='#6da6c4');
-       background-color: #1873a2;      
+       background-color: #1873a2;
 }
 
 .group-delete-wrapper:active {
        background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #1873a2), color-stop(1, #6da6c4) );
        background: -moz-linear-gradient( center top, #1873a2 5%, #6da6c4 100% );
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1873a2', endColorstr='#6da6c4');
-       background-color: #1873a2;      
+       background-color: #1873a2;
 }
 
 .group-delete-wrapper a {
@@ -3358,8 +3411,8 @@ margin-left: 0px;
        font-size: 0.9em;
 }
 
-#group-edit-desc { 
-       margin: 10px 0xp; 
+#group-edit-desc {
+       margin: 10px 0xp;
 }
 
 #group-new-text {
@@ -3369,7 +3422,7 @@ margin-left: 0px;
 #group-members,
 #prof-members {
        width: 83%;
-       height: 200px; 
+       height: 200px;
        overflow: auto;
        border: none;
        background-color: #f0edf0;
@@ -3380,10 +3433,10 @@ margin-left: 0px;
 }
 
 #group-all-contacts,
-#prof-all-contacts { 
+#prof-all-contacts {
        width: 83%;
        height: 200px;
-       overflow: auto; 
+       overflow: auto;
        border: 1px solid #ccc;
        background-color: #f0edf0;
        padding: 10px;
@@ -3399,7 +3452,7 @@ margin-left: 0px;
 }
 
 #group-separator,
-#prof-separator { 
+#prof-separator {
        display: none;
 }
 
@@ -3409,7 +3462,7 @@ margin-left: 0px;
 
 #events-reminder {}
 
-.clear { 
+.clear {
        clear: both;
        margin-top: 10px;
 }
@@ -3433,7 +3486,7 @@ margin-left: 0px;
                -moz-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1);
 }
 
-.vevent:before, 
+.vevent:before,
 .vevent:after {
        position: absolute;
        width: 40%;
@@ -3479,7 +3532,7 @@ margin-left: 0px;
        text-align: center;
 }
 
-.vevent .event-start, 
+.vevent .event-start,
 .vevent .event-end  {
        margin-left: 20px;
        margin-right: 20px;
@@ -3539,13 +3592,13 @@ margin-left: 0px;
        vertical-align: middle;
 }
 
-.event-start, 
+.event-start,
 .event-end {
        margin-left: 10px;
        width: 330px;
 }
 
-.event-start .dtstart, 
+.event-start .dtstart,
 .event-end .dtend {
        float: right;
 }
@@ -3556,7 +3609,7 @@ margin-left: 0px;
        font-stretch: condensed;
 }
 
-.prevcal, 
+.prevcal,
 .nextcal {
        float: left;
        margin-left: 32px;
@@ -3607,7 +3660,7 @@ margin-left: 0px;
 }
 
 .calendar th {
-       font-size: 16px;        
+       font-size: 16px;
 }
 
 .today {
@@ -3616,16 +3669,16 @@ margin-left: 0px;
        background-color: #1873a2;
        color: #ffffff;
 }
-#event-start-text, 
+
+#event-start-text,
 #event-finish-text {
        margin-top: 10px;
        margin-bottom: 5px;
 }
 
-#event-nofinish-checkbox, 
-#event-nofinish-text, 
-#event-adjust-checkbox, 
+#event-nofinish-checkbox,
+#event-nofinish-text,
+#event-adjust-checkbox,
 #event-adjust-text,
 #event-share-checkbox {
        float: left;
@@ -3635,13 +3688,13 @@ margin-left: 0px;
        margin-bottom: 10px;
 }
 
-#event-nofinish-break, 
+#event-nofinish-break,
 #event-adjust-break,
 #event-share-break {
        clear: both;
 }
 
-#event-desc-text, 
+#event-desc-text,
 #event-location-text {
        margin-top: 10px;
        margin-bottom: 5px;
@@ -3667,7 +3720,7 @@ margin-left: 0px;
 
 .directory-name {
        font-size: 1em;
-       width: 150px;   
+       width: 150px;
 }
 
 /* ========= */
@@ -3725,9 +3778,9 @@ margin-left: 0px;
        clear:left;
 }
 
-#adminpage 
+#adminpage
 #pluginslist {
-       margin: 0px; 
+       margin: 0px;
        padding: 0px;
 }
 
@@ -3752,30 +3805,30 @@ margin-left: 0px;
 }
 
 #adminpage table {
-       width: 100%; 
-       border-bottom: 1p solid #000000; 
+       width: 100%;
+       border-bottom: 1p solid #000000;
        margin: 5px 0px;
 }
 
-#adminpage table th { 
+#adminpage table th {
        text-align: left;
 }
 
-#adminpage td .icon { 
+#adminpage td .icon {
        float: left;
 }
 
-#adminpage table#users img { 
-       width: 16px; 
-       height: 16px; 
+#adminpage table#users img {
+       width: 16px;
+       height: 16px;
 }
 
-#adminpage table tr:hover { 
-       background-color: #eeeeee; 
+#adminpage table tr:hover {
+       background-color: #eeeeee;
 }
 
-#adminpage .selectall { 
-       text-align: right; 
+#adminpage .selectall {
+       text-align: right;
 }
 
 /* =============== */
@@ -3819,16 +3872,16 @@ margin-left: 0px;
                -webkit-border-radius: 5px;
 }
 
-.field password { 
+.field password {
        height: 100px;
-       margin-left: 150px;     
+       margin-left: 150px;
 }
 
 .field_help {
        display: block;
        margin-left: 0px;
        margin-bottom: 10px;
-       color: #666666; 
+       color: #666666;
 }
 
 .field .onoff {
@@ -3862,8 +3915,8 @@ margin-left: 0px;
        text-align: left;
 }
 
-.field .radio .field_help { 
-       margin-left: 0px; 
+.field .radio .field_help {
+       margin-left: 0px;
 }
 
 /* ========= */
@@ -3892,16 +3945,16 @@ margin-left: 0px;
 .icon {
        margin-left: 5px;
        margin-right: 5px;
-       display: block; 
-       width: 20px; 
+       display: block;
+       width: 20px;
        height: 20px;
        background-image: url("images/icons.png");
 }
-.starred { 
+.starred {
        background-image: url("images/star.png");
        repeat: no-repeat;
 }
-.unstarred { 
+.unstarred {
        background-image: url("images/premium.png");
        repeat: no-repeat;
 }
@@ -3913,7 +3966,7 @@ margin-left: 0px;
 
 .border {
        border: 1px solid #c1c1c1;
-       border-radius: 3px;     
+       border-radius: 3px;
                -webkit-border-radius: 3px;
                -moz-border-radius: 3px;
 }
@@ -3982,9 +4035,9 @@ margin-left: 0px;
 /* = Footer = */
 /* ========== */
 
-.cc-license { 
-       margin-top: 100px; 
-       font-size: 0.7em; 
+.cc-license {
+       margin-top: 100px;
+       font-size: 0.7em;
 }
 
 footer { display: block; margin: 50px 20%; clear: both; }
@@ -4104,7 +4157,7 @@ tools {
        overflow: hidden;
 }
 
-.acl-list-item a { 
+.acl-list-item a {
        font-size: 10px;
        display: block;
        float: left;
@@ -4194,6 +4247,17 @@ a.active {
 }
 
 /* notifications popup menu */
+.manage-notify {
+       font-size: 10px;
+       padding: 1px 3px;
+       top: 0px;
+       min-width: 15px;
+       text-align: center;
+       float: right;
+       margin-top: -14px;
+       margin-right: -20px;
+}
+
 .nav-notify {
        display: none;
        position: absolute;
@@ -4236,21 +4300,21 @@ ul.menu-popup {
                -webkit-box-shadow: 5px 5px 10px #242424;
 }
 
-#nav-notifications-menu .contactname { 
-       font-weight: bold; 
-       font-size: 0.9em; 
+#nav-notifications-menu .contactname {
+       font-weight: bold;
+       font-size: 0.9em;
 }
 
-#nav-notifications-menu img { 
-       float: left; 
-       margin-right: 5px; 
+#nav-notifications-menu img {
+       float: left;
+       margin-right: 5px;
 }
 
-#nav-notifications-menu .notif-when { 
-       font-size: 0.8em; 
-       display: block; 
+#nav-notifications-menu .notif-when {
+       font-size: 0.8em;
+       display: block;
 }
-       
+
 #nav-notifications-menu li {
        padding: 7px 0px 7px 10px;
        word-wrap: normal;
@@ -4308,7 +4372,7 @@ ul.menu-popup {
 }
 
 .acpopupitem {
-       color: #2e3436; 
+       color: #2e3436;
        padding: 4px;
        clear:left;
 }
@@ -4322,7 +4386,7 @@ ul.menu-popup {
        background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #1873a2), color-stop(1, #6da6c4) );
        background: -moz-linear-gradient( center top, #1873a2 5%, #6da6c4 100% );
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1873a2', endColorstr='#6da6c4');
-       background-color: #1873a2; 
+       background-color: #1873a2;
        order-bottom: none;
 }
 
@@ -4416,20 +4480,20 @@ div.wall-item-content-wrapper.shiny {
 }
 
 /* from default */
-#jot-perms-icon, 
+#jot-perms-icon,
 #profile-location,
 #profile-nolocation,
-#profile-youtube, 
-#profile-video, 
+#profile-youtube,
+#profile-video,
 #profile-audio,
 #profile-link,
-#profile-title, 
+#profile-title,
 #wall-image-upload,
 #wall-file-upload,
 #profile-upload-wrapper,
 #wall-image-upload-div,
 #wall-file-upload-div,
-.hover, 
+.hover,
 .focus {
        cursor: pointer;
 }
@@ -4439,15 +4503,15 @@ hr.line-dots {
     border: medium none;
 }
 
-.body-tag, 
-.filesavetags, 
+.body-tag,
+.filesavetags,
 .categorytags {
        opacity: 0.5;
        filter:alpha(opacity=50);
 }
 
-.body-tag:hover, 
-.filesavetags:hover, 
+.body-tag:hover,
+.filesavetags:hover,
 .categorytags:hover {
        opacity: 1.0 !important;
        filter:alpha(opacity=100) !important;
@@ -4460,7 +4524,7 @@ hr.line-dots {
        margin-right: 10px;
 
 }
-.item-select:hover, 
+.item-select:hover,
 .checkeditem {
        opacity: 1;
        filter:alpha(opacity=100);
@@ -4490,21 +4554,23 @@ hr.line-dots {
        color: #888888;
 }
 
-.location, 
-.location-label, 
-.gender-label, 
-.marital-label, 
-.homepage-label {
+.location,
+.location-label,
+.gender-label,
+.marital-label,
+.homepage-label,
+.network-label {
        float: left;
        text-align: left;
        display: block;
        line-height: 0.6em;
 }
 
-.adr, 
-.x-gender, 
-.marital-text, 
-.homepage-url {
+.adr,
+.x-gender,
+.marital-text,
+.homepage-url,
+.x-network {
        float: left;
        display: block;
        margin-left: 8px;
@@ -4541,8 +4607,8 @@ div #datebrowse-sidebar.widget {
 
 /* Fakelink */
 
-.fakelink, 
-.fakelink:visited, 
+.fakelink,
+.fakelink:visited,
 .fakelink:link {
        color: #1873a2;
        cursor: pointer;
diff --git a/view/theme/smoothly/templates/lang_selector.tpl b/view/theme/smoothly/templates/lang_selector.tpl
deleted file mode 100644 (file)
index d9a90e7..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div>
-<div id="language-selector" style="display: none;" >
-       <form action="#" method="post" >
-               <select name="system_language" onchange="this.form.submit();" >
-                       {{foreach $langs.0 as $v=>$l}}
-                               <option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option>
-                       {{/foreach}}
-               </select>
-       </form>
-</div>
index 5468061acd24b60d828b0269af9af1a5bd3158b1..fc81d3e1e5d03b986a8701202187b2e04a35cf7f 100644 (file)
@@ -1,7 +1,7 @@
 /*
        style.css
        TestBubble
-   
+
        Created by Anne Walk and Devlon Duthie on 2011-09-24.
        Based loosely on the Dipsy theme.
 */
@@ -25,7 +25,7 @@ body {
        font-family: freesans,helvetica,arial,clean,sans-serif;
        font-size: 15px;
        color: #626262;
-       width: 100%;    
+       width: 100%;
 }
 
 img {  border: 0 none; max-width: 550px; }
@@ -74,7 +74,7 @@ input[type=text] {
        margin: 0px;
     -webkit-border-radius: 3px 3px 3px 3px;
     -moz-border-radius: 3px 3px 3px 3px;
-    border-radius: 3px 3px 3px 3px;    
+    border-radius: 3px 3px 3px 3px;
 }
 
 input[type=submit] {
@@ -118,7 +118,7 @@ section {
        float: left;
        margin-left: 8%;
        padding-top: 50px;
-       width: 50%;     
+       width: 50%;
        margin: 20px 0px 30px 10%;
        font-size: 0.9em;
        line-height: 1.2em;
@@ -130,7 +130,7 @@ section {
        -webkit-box-shadow: 3px 3px 6px #959494;
        box-shadow: 3px 3px 6px #959494;
        background-color: #efefef;
-       padding: 10px;  
+       padding: 10px;
 }
 
 .mframe {
@@ -160,7 +160,7 @@ section {
        -webkit-border-radius:5px;
        border-radius:5px;
        color:#efefef;
-       text-align: center;     
+       text-align: center;
 }
 
 .button:hover {
@@ -169,7 +169,7 @@ section {
        background:-moz-linear-gradient( center top, #b20202 5%, #d60808 100% );
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b20202', endColorstr='#d60808');
        background-color:#b20202;
-       color: #efefef; 
+       color: #efefef;
 }
 
 .button:active {
@@ -197,7 +197,7 @@ section {
 
 #login-password-wrapper {
        vertical-align: middle;
-       margin: auto;   
+       margin: auto;
 }
 
 #login-extra-links {
@@ -210,7 +210,7 @@ section {
        margin: 10px;
        padding: 5px 0px 5px 0px;
        text-align: center;
-       margin-right: 20px;     
+       margin-right: 20px;
 }
 
 #login-extra-filler {
@@ -282,7 +282,7 @@ nav #banner {
        position: absolute;
        margin-left: 10px;
        margin-top: 5px;
-       padding-bottom:5px;     
+       padding-bottom:5px;
 }
 nav #banner #logo-text a {
        display: hidden;
@@ -292,7 +292,7 @@ nav #banner #logo-text a {
 }
 
 nav #user-menu {
-    display: block;    
+    display: block;
        width: 250px;
     float: right;
        margin-right:20%;
@@ -310,7 +310,7 @@ nav #user-menu {
        border: 1px solid #9A9A9A;
        color:#efefef;
        text-decoration:none;
-       text-align: center;   
+       text-align: center;
 }
 
 nav #user-menu-label::after {
@@ -341,11 +341,11 @@ ul#user-menu-popup {
        border: 1px solid #9a9a9a;
        border-top: none;
     -webkit-border-radius: 0px 0px 5px 5px;
-    -moz-border-radius: 0px 0px 5px 5px;    
+    -moz-border-radius: 0px 0px 5px 5px;
     border-radius: 0px 0px 5px 5px;
        -moz-box-shadow: 5px 5px 10px #242424;
        -webkit-box-shadow: 5px 5px 10px #242424;
-       box-shadow: 5px 5px 10px #242424;    
+       box-shadow: 5px 5px 10px #242424;
     z-index: 10000;
 }
 
@@ -373,7 +373,7 @@ ul#user-menu-popup li a.nav-sep { border-top: 1px solid #989898; border-style:in
 .nav-ajax-update {
        width: 44px;
        height: 32px;
-       background: transparent url('notifications.png') 0px 0px no-repeat; 
+       background: transparent url('notifications.png') 0px 0px no-repeat;
        color: #efefef;
        font-weight: bold;
        font-size: 0.8em;
@@ -388,30 +388,19 @@ ul#user-menu-popup li a.nav-sep { border-top: 1px solid #989898; border-style:in
 #intro-update { background-position: 0px -84px; }
 #home-update { background-position: 0px 0px; }
 
-#lang-select-icon {
-       cursor: pointer;
-       position: absolute;
-       left: 5px;
-       top: 5px;
-}
 
-#language-selector {
-       position: absolute;
-       top: 0;
-       left: 16px;
-}
 
 /* =================== */
 /* = System Messages = */
 /* =================== */
 
 #sysmsg_info, #sysmsg {
-       position:fixed; 
-       bottom: 0px; right:20%; 
+       position:fixed;
+       bottom: 0px; right:20%;
        -moz-box-shadow: 7px 7px 12px #434343;
        -webkit-box-shadow: 7px75px 12px #434343;
        box-shadow: 7px 7px 10px #434343;
-       padding: 10px; 
+       padding: 10px;
        background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #b20202), color-stop(1, #d60808) );
        background:-moz-linear-gradient( center top, #b20202 5%, #d60808 100% );
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b20202', endColorstr='#d60808');
@@ -421,7 +410,7 @@ ul#user-menu-popup li a.nav-sep { border-top: 1px solid #989898; border-style:in
        border-radius: 5px 5px 0px 0px;
        border: 1px solid #da2c2c;
        border-bottom:0px;
-       padding-bottom: 50px;   
+       padding-bottom: 50px;
        z-index: 1000;
        color: #efefef;
        font-style: bold;
@@ -479,7 +468,7 @@ aside a{
        border: 1px solid #dddddd;
        -moz-box-shadow: 3px 3px 4px #959494;
        -webkit-box-shadow: 3px 3px 4px #959494;
-       box-shadow: 3px 3px 4px #959494;        
+       box-shadow: 3px 3px 4px #959494;
 }
 
 aside h4 { font-size: 1.3em; }
@@ -560,7 +549,7 @@ h3#search:before {
        margin-bottom: 10px;
        -webkit-border-radius: 5px 5px 5px 5px;
     -moz-border-radius: 5px 5px 5px 5px;
-    border-radius: 5px 5px 5px 5px;    
+    border-radius: 5px 5px 5px 5px;
 }
 
 #group-sidebar {
@@ -700,7 +689,7 @@ ul .sidebar-group-li .icon{
        padding-bottom: 5px;
        vertical-align: baseline;
        text-align: center;
-       text-shadow:-1px 0px 0px #bdbdbd;       
+       text-shadow:-1px 0px 0px #bdbdbd;
 }
 
 #group-sidebar h3:before{
@@ -751,7 +740,7 @@ ul .sidebar-group-li .icon{
 }
 
 .contact-block-textdiv { width: 150px; height: 34px; float: left; }
-#contact-block-end { clear: both; } 
+#contact-block-end { clear: both; }
 
 /* ======= */
 /* = Jot = */
@@ -759,7 +748,7 @@ ul .sidebar-group-li .icon{
 
 #profile-jot-text_tbl { margin-bottom: 10px; }
 #profile-jot-text_ifr { width: 99.9%!important }
-#profile-jot-submit-wrapper { 
+#profile-jot-submit-wrapper {
 }
 
 
@@ -774,11 +763,11 @@ ul .sidebar-group-li .icon{
 
 #jot-title::-webkit-input-placeholder{font-weight: normal;}
 #jot-title:-moz-placeholder{font-weight: normal;}
-               
-       
+
+
 #jot-title:hover,
 #jot-title:focus {
-       border: 1px solid #cccccc; 
+       border: 1px solid #cccccc;
 }
 
 .preview {
@@ -838,7 +827,7 @@ ul .sidebar-group-li .icon{
        position: absolute: right: 100px; top:100px;
 }
 #profile-rotator-wrapper {
- float: right; 
+ float: right;
 }
 
 .jot-tool {
@@ -855,7 +844,7 @@ ul .sidebar-group-li .icon{
 }
 #profile-jot-email-label { background-color: #555753; color: #ccccce;  padding: 5px;}
 #profile-jot-email { margin: 5px; width: 98%; }
-       
+
 #profile-jot-networks {
        margin: 0px 10%;
        border: 1px solid #eeeeee;
@@ -928,7 +917,7 @@ profile-jot-banner-wrapper {
 
 .wall-item-outside-wrapper {
        max-width: 93%;
-       border-bottom: 1px solid #dedede; 
+       border-bottom: 1px solid #dedede;
        margin-top: 20px;
        padding-right: 10px;
        padding-left: 12px;
@@ -944,27 +933,27 @@ profile-jot-banner-wrapper {
        background: #eeeeee url("menu-user-pin.png") no-repeat 75px center;
        position: absolute;
        overflow: hidden;
-       height: 20px; width: 90px; 
+       height: 20px; width: 90px;
        top: 85px;      left: -1px;
        -webkit-border-radius: 0px 0px 5px  5px;
        -moz-border-radius: 0px 0px 5px  5px;
-       border-radius: 0px 0px 5px  5px;        
+       border-radius: 0px 0px 5px  5px;
 }
 
 .wall-item-info { float: left; width: 140px; }
-.wall-item-photo-wrapper { 
-       width: 80px; height: 80px;  
+.wall-item-photo-wrapper {
+       width: 80px; height: 80px;
        position: relative;
 }
 
-.wall-item-tools { 
+.wall-item-tools {
        filter: alpha(opacity=60);
        opacity: 0.7;
        -webkit-transition: all 0.25s ease-in-out;
        -moz-transition: all 0.25s ease-in-out;
        -o-transition: all 0.25s ease-in-out;
        -ms-transition: all 0.25s ease-in-out;
-       transition: all 0.25s ease-in-out;      
+       transition: all 0.25s ease-in-out;
        margin-left: 140px;
        margin-top: 10px;
        padding-bottom: 6px;
@@ -977,7 +966,7 @@ profile-jot-banner-wrapper {
        -moz-transition: all 0.25s ease-in-out;
        -o-transition: all 0.25s ease-in-out;
        -ms-transition: all 0.25s ease-in-out;
-       transition: all 0.25s ease-in-out;      
+       transition: all 0.25s ease-in-out;
        margin-left: 140px;
 }
 
@@ -1014,12 +1003,12 @@ profile-jot-banner-wrapper {
 .star-item {
        margin-left: 5px;
        margin-right: 2px;
-       float: left;    
+       float: left;
 }
 .tag-item {
        margin-left: 5px;
        margin-right: 2px;
-       float: left;    
+       float: left;
 }
 .wall-item-title { font-size: 1.2em; font-weight: bold;}
 .wall-item-body {
@@ -1048,7 +1037,7 @@ profile-jot-banner-wrapper {
        color: #898989;
 }
 
-.wall-item-ago { display: inline; padding-left: 10px; color: #898989;} 
+.wall-item-ago { display: inline; padding-left: 10px; color: #898989;}
 .wall-item-wrapper-end { clear:both; }
 .wall-item-location {
        margin-top:5px;
@@ -1083,7 +1072,7 @@ profile-jot-banner-wrapper {
     width: 30px;
     z-index: 900;
        width: 30px;
-       height: 30px;    
+       height: 30px;
 }
 
 .wallwall .wwto img { width: 30px!important; height: 30px!important;}
@@ -1140,7 +1129,7 @@ profile-jot-banner-wrapper {
        background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #b20202), color-stop(1, #d60808) );
        background:-moz-linear-gradient( center top, #b20202 5%, #d60808 100% );
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b20202', endColorstr='#d60808');
-       background-color:#b20202; 
+       background-color:#b20202;
        order-bottom: none;
 }
 
@@ -1152,14 +1141,14 @@ profile-jot-banner-wrapper {
 /* ============ */
 /* = Comments = */
 /* ============ */
+
  .ccollapse-wrapper {
        font-size: 0.9em;
        color: #898989;
        margin-left: 60px;
 /*     font-variant:small-caps; */
 }
+
 .wall-item-outside-wrapper.comment { margin-left: 70px; }
 .wall-item-outside-wrapper.comment .wall-item-photo {
        width: 40px!important;
@@ -1197,7 +1186,7 @@ profile-jot-banner-wrapper {
 .comment-wwedit-wrapper img,
 .comment-edit-wrapper img { width: 20px; height: 20px; }
 .comment-edit-photo-link { float: left; width: 40px;}
-.comment-edit-text-empty { 
+.comment-edit-text-empty {
        width: 80%;
        height: 20px;
        border: 0px;
@@ -1206,7 +1195,7 @@ profile-jot-banner-wrapper {
        -moz-transition: all 0.5s ease-in-out;
        -o-transition: all 0.5s ease-in-out;
        -ms-transition: all 0.5s ease-in-out;
-       transition: all 0.5s ease-in-out;       
+       transition: all 0.5s ease-in-out;
 }
 .comment-edit-text-empty:hover { color: #999999;}
 .comment-edit-text-full { width: 80%; height: 6em;
@@ -1214,7 +1203,7 @@ profile-jot-banner-wrapper {
        -moz-transition: all 0.5s ease-in-out;
        -o-transition: all 0.5s ease-in-out;
        -ms-transition: all 0.5s ease-in-out;
-       transition: all 0.5s ease-in-out;       
+       transition: all 0.5s ease-in-out;
 }
 .comment-edit-submit-wrapper { width: 80%; margin-left: 40px; text-align: right; }
 .comment-edit-submit {
@@ -1247,7 +1236,7 @@ profile-jot-banner-wrapper {
        border: 1px solid #cccccc;
     border-width: 1px 1px 1px 10px;
        padding-left: 10px;
-       margin-top: 20px; 
+       margin-top: 20px;
 }
 
 /* =========== */
@@ -1268,8 +1257,8 @@ profile-jot-banner-wrapper {
        font-size: 18px;
 /*     font-variant:small-caps; */
 }
-div[id$="wrapper"] { height: 100%;} 
+
+div[id$="wrapper"] { height: 100%;}
 div[id$="wrapper"] br { clear: left; }
 #advanced-profile-with { margin-left: 20px;}
 
@@ -1316,19 +1305,19 @@ div[id$="wrapper"] br { clear: left; }
        font-style: bold;
        -webkit-border-radius: 5px 5px 5px 5px;
     -moz-border-radius: 5px 5px 5px 5px;
-    border-radius: 5px 5px 5px 5px;    
+    border-radius: 5px 5px 5px 5px;
 }
 
 #profile-edit-links li a {
-       color: #efefef; 
+       color: #efefef;
 }
 
 #profile-edit-links li:hover {
-       background-color: #b20202;      
+       background-color: #b20202;
 }
 
 #profile-edit-links li:active {
-       background-color: #b20202;      
+       background-color: #b20202;
 }
 
 .profile-edit-side-div {
@@ -1360,7 +1349,7 @@ div[id$="wrapper"] br { clear: left; }
        -moz-box-shadow: 3px 3px 4px #959494;
        -webkit-box-shadow: 3px 3px 4px #959494;
        box-shadow: 3px 3px 4px #959494;
-       clear: both;    
+       clear: both;
 }
 
 .profile-match-end {
@@ -1406,25 +1395,25 @@ div[id$="wrapper"] br { clear: left; }
        font-style: bold;
        -webkit-border-radius: 5px 5px 5px 5px;
     -moz-border-radius: 5px 5px 5px 5px;
-    border-radius: 5px 5px 5px 5px;            
+    border-radius: 5px 5px 5px 5px;
 }
 #photo-top-links a {
        color: #efefef;
 }
 
 #photo-top-links:hover {
-       background-color: #b20202;      
+       background-color: #b20202;
 }
 
 #photo-top-links:active {
-       background-color: #b20202;      
+       background-color: #b20202;
 }
 
-.photo-album-image-wrapper { 
+.photo-album-image-wrapper {
        float: left;
        margin: 0px 10px 10px 0px;
        padding-bottom: 30px;
-       position:relative;      
+       position:relative;
 }
 
 .photo-top-image-wrapper {
@@ -1449,12 +1438,12 @@ div[id$="wrapper"] br { clear: left; }
 
 .photo-top-image-wrapper a:hover,
 #photo-photo a:hover,
-.photo-album-image-wrapper a:hover { 
-       border-bottom: 0px; 
+.photo-album-image-wrapper a:hover {
+       border-bottom: 0px;
 }
 
 .photo-top-photo {}
-.photo-album-photo {} 
+.photo-album-photo {}
 
 .photo-top-album-name {
        position: absolute;
@@ -1463,7 +1452,7 @@ div[id$="wrapper"] br { clear: left; }
        font-weight: bold;
        font-stretch:semi-expanded;
 /*     font-variant:small-caps; */
-} 
+}
 
 .photo-top-album-name a{
        text-align: center;
@@ -1481,7 +1470,7 @@ div[id$="wrapper"] br { clear: left; }
 
 #photo-photo{
        position: relative;
-       float:left;     
+       float:left;
 }
 
 #photo-caption {
@@ -1505,7 +1494,7 @@ div[id$="wrapper"] br { clear: left; }
        -ms-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
        background-position: center center;
-       background-repeat: no-repeat;   
+       background-repeat: no-repeat;
 }
 
 #photo-prev-link { left:0px; top:0px; background-image: url('prev.png'); }
@@ -1514,7 +1503,7 @@ div[id$="wrapper"] br { clear: left; }
 #photo-next-link a{
        display: block; width: 100%; height: 100%;
        overflow: hidden;
-       text-indent: -900000px;          
+       text-indent: -900000px;
 }
 
 #photo-prev-link:hover,
@@ -1524,7 +1513,7 @@ div[id$="wrapper"] br { clear: left; }
        -moz-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        -ms-transition: all 0.2s ease-in-out;
-       transition: all 0.2s ease-in-out;               
+       transition: all 0.2s ease-in-out;
 }
 
 #photo-next-link .icon,
@@ -1534,7 +1523,7 @@ div[id$="wrapper"] br { clear: left; }
 #photos-upload-new-wrapper,
 #photos-upload-exist-wrapper { margin-bottom: 1em; }
 #photos-upload-existing-album-text,
-#photos-upload-newalbum-div { 
+#photos-upload-newalbum-div {
        background-color: #fff;
        color: #909090;
        font-size: 1.2em;
@@ -1560,7 +1549,7 @@ select, input {
        padding: 2px;
     -webkit-border-radius: 3px 3px 3px 3px;
     -moz-border-radius: 3px 3px 3px 3px;
-    border-radius: 3px 3px 3px 3px;    
+    border-radius: 3px 3px 3px 3px;
 }
 
 select[size], select[multiple], select[size][multiple] {
@@ -1571,7 +1560,7 @@ select {
        -webkit-appearance: menulist;
        box-sizing: border-box;
        -webkit-box-align: center;
-       cursor: default;        
+       cursor: default;
 }
 
 keygen, select {
@@ -1587,7 +1576,7 @@ input, textarea, keygen {
        text-indent: 0px;
        text-shadow: none;
        display: inline-block;
-       text-align: -webkit-auto;       
+       text-align: -webkit-auto;
 }
 
 .qq-upload-button {
@@ -1607,7 +1596,7 @@ input, textarea, keygen {
        font-style: bold;
        -webkit-border-radius: 5px 5px 5px 5px;
        -moz-border-radius: 5px 5px 5px 5px;
-       border-radius: 5px 5px 5px 5px;         
+       border-radius: 5px 5px 5px 5px;
 }
 
 #album-edit-link  a {
@@ -1724,7 +1713,7 @@ input#photo_edit_form {
 
 #prvmail-message-label {
 /*     font-variant:small-caps; */
-       font-size: 1em; 
+       font-size: 1em;
 }
 
 #prvmail-submit-wrapper { margin-top: 10px; }
@@ -1735,7 +1724,7 @@ input#photo_edit_form {
 }
 
 #prvmail-upload {
-margin-left: 0px;      
+margin-left: 0px;
 }
 
 #prvmail-submit-wrapper > div {
@@ -1765,7 +1754,7 @@ margin-left: 0px;
        padding-top:10px;
        border: 1px solid #dddddd;
        }
-       
+
 .mail-list-sender-name {
        font-size: 1.1em;
        display: inline;
@@ -1912,11 +1901,11 @@ margin-left: 0px;
        position: relative;
 }
 
-.contact-entry-edit-links .icon {      
+.contact-entry-edit-links .icon {
        border: 1px solid #babdb6;
     -webkit-border-radius: 3px;
     -moz-border-radius: 3px;
-    border-radius: 3px;        
+    border-radius: 3px;
        background-color: #ffffff;
 }
 
@@ -1967,7 +1956,7 @@ margin-left: 0px;
 .contact-photo-menu-button {
        position: absolute;
     background-image: url("photo-menu.jpg");
-    background-position: top left; 
+    background-position: top left;
     background-repeat: no-repeat;
     margin: 0px; padding: 0px;
     width: 16px;
@@ -1975,7 +1964,7 @@ margin-left: 0px;
     top: 64px; left:0px;
     overflow: hidden;
     text-indent: 40px;
-    display: none;      
+    display: none;
 }
 
 .contact-photo-menu {
@@ -2088,7 +2077,7 @@ margin-left: 0px;
        padding: 5px 10px 5px 10px;
        color: #efefef;
        font-size: 1.2em;
-       text-align: center;     
+       text-align: center;
 }
 
 #side-invite-link:hover {
@@ -2096,18 +2085,18 @@ margin-left: 0px;
        background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #b20202), color-stop(1, #d60808) );
        background:-moz-linear-gradient( center top, #b20202 5%, #d60808 100% );
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b20202', endColorstr='#d60808');
-       background-color:#b20202;       
+       background-color:#b20202;
 }
 
 
 #side-invite-link:active {
        background-color: #b20202;
        position:relative;
-       top:1px;        
+       top:1px;
 }
 
 #side-invite-link a {
-       color: #efefef; 
+       color: #efefef;
 }
 
 #side-suggest-link {
@@ -2128,7 +2117,7 @@ margin-left: 0px;
        padding: 5px 10px 5px 10px;
        color: #efefef;
        font-size: 1.2em;
-       text-align: center;     
+       text-align: center;
 }
 
 #side-suggest-link:hover {
@@ -2136,18 +2125,18 @@ margin-left: 0px;
        background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #b20202), color-stop(1, #d60808) );
        background:-moz-linear-gradient( center top, #b20202 5%, #d60808 100% );
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b20202', endColorstr='#d60808');
-       background-color:#b20202;       
+       background-color:#b20202;
 }
 
 
 #side-suggest-link:active {
        background-color: #b20202;
        position:relative;
-       top:1px;        
+       top:1px;
 }
 
 #side-suggest-link a {
-       color: #efefef; 
+       color: #efefef;
 }
 
 #invite-message, #invite-recipients, #invite-recipient-text {
@@ -2169,7 +2158,7 @@ margin-left: 0px;
 
 #side-follow-wrapper label{
        font-size: 1.1em;
-       font-variant: normal;   
+       font-variant: normal;
 }
 
 #contact-suggest {
@@ -2191,7 +2180,7 @@ margin-left: 0px;
        padding: 5px 10px 5px 10px;
        color: #efefef;
        font-size: 1.2em;
-       text-align: center;     
+       text-align: center;
 }
 
 #contact-suggest:hover {
@@ -2199,13 +2188,13 @@ margin-left: 0px;
        background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #b20202), color-stop(1, #d60808) );
        background:-moz-linear-gradient( center top, #b20202 5%, #d60808 100% );
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b20202', endColorstr='#d60808');
-       background-color:#b20202;       
+       background-color:#b20202;
 }
 
 #contact-suggest:active {
        background-color: #b20202;
        position:relative;
-       top:1px;        
+       top:1px;
 }
 
 #contact-suggest a {
@@ -2306,7 +2295,7 @@ margin-left: 0px;
 }
 
 #settings-default-perms .fakelink {
-       color: #efefef; 
+       color: #efefef;
 }
 
 #settings-default-perms:hover {
@@ -2326,7 +2315,7 @@ margin-left: 0px;
        position:relative;
        top:1px;
 }
+
 #settings-nickname-desc {
        width: 80%;
        background-color: #efefef;
@@ -2341,7 +2330,7 @@ margin-left: 0px;
        clear: both;
 }
 
-#profile-edit-form div { 
+#profile-edit-form div {
        margin-bottom: 5px;
 }
 
@@ -2371,7 +2360,7 @@ margin-left: 0px;
 
 
 #register-sitename { display: inline; font-weight: bold;}
+
 /* ===================== */
 /* = Contacts Selector = */
 /* ===================== */
@@ -2412,14 +2401,14 @@ margin-left: 0px;
        background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #b20202), color-stop(1, #d60808) );
        background:-moz-linear-gradient( center top, #b20202 5%, #d60808 100% );
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b20202', endColorstr='#d60808');
-       background-color:#b20202;       
+       background-color:#b20202;
 }
 
 .group-delete-wrapper:active {
        background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #b20202), color-stop(1, #d60808) );
        background:-moz-linear-gradient( center top, #b20202 5%, #d60808 100% );
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b20202', endColorstr='#d60808');
-       background-color:#b20202;       
+       background-color:#b20202;
 }
 
 .group-delete-wrapper a {
@@ -2432,7 +2421,7 @@ margin-left: 0px;
 #group-members,
 #prof-members {
        width: 83%;
-       height: 200px; 
+       height: 200px;
        overflow: auto;
        border: none;
        background-color: #f0edf0;
@@ -2443,10 +2432,10 @@ margin-left: 0px;
 }
 
 #group-all-contacts,
-#prof-all-contacts { 
+#prof-all-contacts {
        width: 83%;
        height: 200px;
-    overflow: auto;    
+    overflow: auto;
        border: 1px solid #ccc;
        background-color: #f0edf0;
        padding: 10px;
@@ -2467,7 +2456,7 @@ margin-left: 0px;
 /* ========== */
 /* = Events = */
 /* ========== */
+
 .clear { clear: both; }
 .eventcal {
        float: left;
@@ -2531,7 +2520,7 @@ margin-left: 0px;
        font-size: 1em;
        font-style: oblique;
        text-align: center;
-       
+
 }
 
 .vevent .event-start, .vevent .event-end  {
@@ -2629,7 +2618,7 @@ margin-left: 0px;
        margin-bottom: 10px;
        -moz-box-shadow: 5px 5px 8px #959494;
        -webkit-box-shadow: 5px 5px 8px #959494;
-       box-shadow: 5px 5px 8px #959494;        
+       box-shadow: 5px 5px 8px #959494;
 }
 
 .calendar caption{
@@ -2665,7 +2654,7 @@ tr {
 }
 
 .calendar th {
-       font-size: 16px;        
+       font-size: 16px;
 }
 
 .today {
@@ -2674,16 +2663,16 @@ tr {
        background-color: #b20202;
        color: #fff;
 }
-#event-start-text, 
+
+#event-start-text,
 #event-finish-text {
        margin-top: 10px;
        margin-bottom: 5px;
 }
 
-#event-nofinish-checkbox, 
-#event-nofinish-text, 
-#event-adjust-checkbox, 
+#event-nofinish-checkbox,
+#event-nofinish-text,
+#event-adjust-checkbox,
 #event-adjust-text,
 #event-share-checkbox {
        float: left;
@@ -2693,13 +2682,13 @@ tr {
        margin-bottom: 10px;
 }
 
-#event-nofinish-break, 
+#event-nofinish-break,
 #event-adjust-break,
 #event-share-break {
        clear: both;
 }
 
-#event-desc-text, 
+#event-desc-text,
 #event-location-text {
        margin-top: 10px;
        margin-bottom: 5px;
@@ -2727,7 +2716,7 @@ tr {
 .directory-name {
        font-size: 1em;
 /*     font-variant: small-caps; */
-       width: 150px;   
+       width: 150px;
 }
 
 /* ========= */
@@ -2833,7 +2822,7 @@ tr {
 .field_help {
        display: block;
        margin-left: 100px;
-       color: #666666; 
+       color: #666666;
 }
 
 .field .onoff {
@@ -2883,11 +2872,11 @@ tr {
        display: block; width: 20px; height: 20px;
        background-image: url('icons.png');
 }
-.starred { 
-       background-image: url("star.png"); 
+.starred {
+       background-image: url("star.png");
        repeat: no-repeat;
 }
-.unstarred { 
+.unstarred {
        background-image: url("premium.png");
        repeat: no-repeat;
 }
@@ -2901,7 +2890,7 @@ tr {
        border: 1px solid #c1c1c1;
     -webkit-border-radius: 3px;
     -moz-border-radius: 3px;
-    border-radius: 3px;        
+    border-radius: 3px;
 }
 
 .article       { background-position: -50px  0px;}
@@ -2974,10 +2963,10 @@ tr {
 /* ========== */
 /* = Footer = */
 /* ========== */
-                                 
-.cc-license { margin-top: 100px; font-size: 0.7em; }                                  
+
+.cc-license { margin-top: 100px; font-size: 0.7em; }
 footer { display: block; margin: 50px 20%; clear: both; }
-                                  
+
 #profile-jot-text {
     height: 20px;
     color:#cccccc;
@@ -3066,7 +3055,7 @@ footer { display: block; margin: 50px 20%; clear: both; }
        overflow: hidden;
 }
 
-.acl-list-item a { 
+.acl-list-item a {
        font-size: 10px;
        display: block;
        float: left;
@@ -3241,7 +3230,7 @@ ul.menu-popup {
        max-height:150px;
        overflow:auto;
        z-index:100000;
-       
+
        color: #2e3436;
        border-top: 0px;
        background: #eeeeee;
@@ -3254,7 +3243,7 @@ ul.menu-popup {
        -moz-box-shadow: 3px 3px 4px #959494;
        -webkit-box-shadow: 3px 3px 4px #959494;
        box-shadow: 3px 3px 4px #959494;
-       
+
 }
 .acpopupitem {
        color: #2e3436; padding: 4px;
@@ -3270,7 +3259,7 @@ ul.menu-popup {
        background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #b20202), color-stop(1, #d60808) );
        background:-moz-linear-gradient( center top, #b20202 5%, #d60808 100% );
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b20202', endColorstr='#d60808');
-       background-color:#b20202; 
+       background-color:#b20202;
        order-bottom: none;
 }
 
index 049c1bf4b6189eddbc3c9fce7981bbff5b43e48c..5a36de03e02418526e8f374e8e7d1fdadd671fbd 100644 (file)
@@ -122,3 +122,7 @@ div.pager, ul.tabs {
 .mail-list-wrapper {
   border-radius: 5px;
 }
+
+#viewcontact_wrapper-network {
+  border-radius: 5px;
+}
index 9501ecfe0d9307cb30c9159793603b7ccc3c2157..8e128ae27fb5fd21288010266925824b135912a4 100644 (file)
@@ -23,7 +23,7 @@ a.on {
        background-color: #2C77AE !important
 }
 
-aside, .menu-popup, .fc-state-highlight, a.off, .autocomplete { 
+aside, right_aside, .menu-popup, .fc-state-highlight, a.off, .autocomplete {
        color: #989898 !important;
        background-color: #252C33 !important;
        border-right: 1px solid #D2D2D2;
@@ -57,5 +57,9 @@ input#side-peoplefind-submit, input#side-follow-submit {
 }
 
 li :hover {
-       color: #767676 !important;      
+       color: #767676 !important;
+}
+
+#viewcontact_wrapper-network {
+       background-color: #343434;
 }
index d71ab2177bbaf4889bf818b85bbb81086c043dc4..03e18f1070f81c822860214f8a11b533192ddcf8 100644 (file)
@@ -12,3 +12,12 @@ div.pager, ul.tabs {
 aside {
   border-right: 1px solid #D2D2D2;
 }
+
+right_aside {
+  border-left: 1px solid #D2D2D2;
+}
+
+#viewcontact_wrapper-network {
+  background-color: #FFF;
+  border-bottom: 1px solid #D2D2D2;
+}
\ No newline at end of file
diff --git a/view/theme/vier/mobile.css b/view/theme/vier/mobile.css
new file mode 100644 (file)
index 0000000..d06cb41
--- /dev/null
@@ -0,0 +1,147 @@
+aside, header, #nav-events-link, #search-box, #nav-admin-link, #activitiy-by-date-tab, #shared-links-tab,
+.wall-item-location {
+  display: none;
+}
+
+.hide-comments-outer {
+  width: calc(100% - 105px);
+}
+
+section {
+  /* left: calc((100% - (784px)) / 2); */
+  left: 0px;
+  width: calc(100% - 20px);
+  max-width: 100%;
+  padding: 10px;
+}
+
+body, section, nav .nav-menu, div.pager, ul.tabs {
+  font-size: 16px;
+}
+
+.wall-item-container .wall-item-ago, .wall-item-network,.type-link blockquote, .type-video blockquote {
+  font-size: 13px;
+}
+
+nav {
+  min-width: 100%;
+}
+
+.wall-item-container .wall-item-content {
+  max-width: 100%;
+  overflow: hidden;
+  text-overflow: ellipsis;
+/*  margin-left: -70px;
+  padding-top: 25px; */
+}
+
+nav ul {
+    margin-left: 0px;
+}
+
+
+.wall-item-container .wall-item-content img,
+.children .wall-item-container .wall-item-item .wall-item-content img,
+.wall-item-container .wall-item-content .type-link img.attachment-image, .type-link img.attachment-image, .type-video img.attachment-image {
+  max-width: 650px;
+}
+
+@media screen and (max-width: 800px) {
+  .wall-item-container .wall-item-content img,
+  .children .wall-item-container .wall-item-item .wall-item-content img,
+  .wall-item-container .wall-item-content .type-link img.attachment-image, .type-link img.attachment-image, .type-video img.attachment-image {
+    max-width: 450px;
+  }
+}
+
+@media screen and (max-width: 600px) {
+  .wall-item-container .wall-item-content img,
+  .children .wall-item-container .wall-item-item .wall-item-content img,
+  .wall-item-container .wall-item-content .type-link img.attachment-image, .type-link img.attachment-image, .type-video img.attachment-image {
+    max-width: 350px;
+  }
+}
+
+@media screen and (max-width: 480px) {
+  .wall-item-container .wall-item-content img,
+  .children .wall-item-container .wall-item-item .wall-item-content img,
+  .wall-item-container .wall-item-content .type-link img.attachment-image, .type-link img.attachment-image, .type-video img.attachment-image {
+    max-width: 200px;
+  }
+}
+
+.wall-item-container.thread_level_2,
+.wall-item-container.thread_level_3,
+.wall-item-container.thread_level_4,
+.wall-item-container.thread_level_5,
+.wall-item-container.thread_level_6,
+.wall-item-container.thread_level_7 {
+  margin-left: 60px;
+  width: calc(100% - 70px);
+}
+
+.wall-item-container.thread_level_2 .wall-item-content,
+.wall-item-container.thread_level_3 .wall-item-content,
+.wall-item-container.thread_level_4 .wall-item-content,
+.wall-item-container.thread_level_5 .wall-item-content,
+.wall-item-container.thread_level_6 .wall-item-content,
+.wall-item-container.thread_level_7 .wall-item-content {
+  max-width: 100%;
+}
+
+/* aside in/out */
+.mobile-aside-toggle {
+       display: block !important;
+}
+.mobile-aside-toggle a {
+       line-height: 35px;
+       padding: 0 10px;
+}
+.mobile-aside-toggle a i {
+       font-size: 22px;
+       color: #CCC;
+}
+
+aside {
+       display: block;
+       position: fixed;
+       max-width: 400px;
+       width: 80%;
+       left: -100%;
+       -webkit-transition: left 0.5s;
+       -moz-transition: left 0.5s;
+       -o-transition: left 0.5s;
+       transition: left 0.5s;
+}
+
+aside.show {
+       left: 0;
+}
+
+/* tabs */
+.tabs { position: relative; height: 25px!important; }
+.tabs li { width: 100%; }
+.tabs .tab { display: none;}
+.tabs .tab.active { display: block; }
+.tabs::after {
+       font-family: FontAwesome;
+       text-align: right;
+       content: "\f13a";
+       display: block;
+       position: absolute;
+       left: 0; right:0; top: 0; bottom: 0;
+       padding: 8px 2px 0 0;
+}
+
+.tabs.show {
+       position: fixed;
+       z-index: 1000;
+       left: 10px;
+       right: 10px;
+       top: 0px;
+       bottom: 10px;
+       height: auto !important;
+       border: 1px solid #ccc;
+}
+.tabs.show::after { display: none; }
+.tabs.show .tab { display: block; }
index c76e5b0af4fe0b85cc64d6776980cddfac6efead..77fea09f5aab9e2e4c95bbd5f29fbbfd7fc7696c 100644 (file)
@@ -31,4 +31,3 @@
   /* background-color: #FFFFF9; */
   background-color: #fffafa;
 }
-
index 2ae6e5000523c849e0d098067802612b34f106d1..8e1865a8692c93c38e57052c83c0f7352aa504d0 100644 (file)
@@ -17,6 +17,12 @@ nav a:hover,
   color: #000;
 }
 
+.manage-notify {
+  background-color: #CB4437;
+  border-radius: 10px;
+  font: bold 11px/16px Arial;
+}
+
 nav .nav-notify {
 /*  background-color: #427FED; */
   background-color: #CB4437;
@@ -145,6 +151,10 @@ aside {
   height: calc(100% - 54px);
 }
 
+right_aside {
+  top: 44px;
+}
+
 section {
   top: 44px;
 }
index 1c03edc6bfbce09d10a962e2a3de3d84bb07327a..befe47ad6b051a63942c67cdd12abaf6715adb9a 100644 (file)
@@ -268,8 +268,8 @@ div.pager {
 
 /* global */
 body {
-  /* font-family: 'Lato', "Helvetica Neue", Helvetica, Arial, sans-serif; */
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+/*  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; */
+  font-family: system,-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Helvetica,Arial,sans-serif;
   font-size: 14px;
   /* font-size: 13px;
   line-height: 19.5px; */
@@ -343,6 +343,22 @@ code {
   margin-top: 20px;
   max-width: 640px;
 }
+.badge {
+  display: inline-block;
+  min-width: 10px;
+  padding: 3px 7px;
+  font-size: 10px;
+  font-weight: 700;
+  line-height: 1;
+  color: #fff;
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: baseline;
+  /* background-color: #737373*/;
+  background-color: #36C;
+  border-radius: 4px;
+  opacity: 0.3;
+}
 #panel {
   position: absolute;
   width: 10em;
@@ -351,7 +367,7 @@ code {
   margin: 0px;
   padding: 1em;
   list-style: none;
-  border: 3px solid #364e59;
+  /*border: 3px solid #364e59;*/
   z-index: 100000;
   box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
 }
@@ -366,6 +382,20 @@ code {
 #sidebar-group-list .tool:hover {
        background: #EEE;
 }
+/*#sidebar-group-list .notify {
+       min-width: 10px;
+       text-align: center;
+       color: #FFF;
+       background-color: #CB4437;
+       font: bold 10px Arial;
+       padding: 3px;
+       border-radius: 10px;
+       display: none;
+}*/
+#sidebar-group-list .notify {
+  display: none;
+}
+#sidebar-group-list .notify.show { display: inline-block; }
 .tool .label {
 /*  float: left; */
 }
@@ -375,7 +405,7 @@ code {
 .tool a {
 /*  color: #000; */
 }
-.tool a:hover, .widget a:hover, #nets-sidear a:hover, #hide-forum-list:hover, .admin.link a:hover, aside h4 a:hover, right_aside h4 a:hover {
+.tool a:hover, .widget a:hover, #nets-sidear a:hover, #forum-widget-collapse:hover, .admin.link a:hover, aside h4 a:hover, right_aside h4 a:hover {
   /* text-decoration: underline; */
   text-decoration: none;
   color: black;
@@ -389,9 +419,10 @@ code {
   opacity: 1;
 }
 
-.sidebar-group-li:hover, #sidebar-new-group:hover, #hide-forum-list:hover,
-#sidebar-ungrouped:hover, .side-link:hover, .nets-ul li:hover, #forum-list div:hover, #forum-list-right div:hover,
-.nets-all:hover, .saved-search-li:hover, li.tool:hover, .admin.link:hover, aside h4 a:hover, right_aside h4 a:hover, #message-new:hover {
+.sidebar-group-li:hover, #sidebar-new-group:hover, #sidebar-edit-groups:hover,#forum-widget-collapse:hover,
+#sidebar-ungrouped:hover, .side-link:hover, .nets-ul li:hover, #forumlist-sidebar li:hover, #forumlist-sidebar-right li:hover,
+.nets-all:hover, .saved-search-li:hover, li.tool:hover, .admin.link:hover, aside h4 a:hover, right_aside h4 a:hover, #message-new:hover,
+#sidebar-photos-albums li:hover, .photos-upload-link:hover {
   /* background-color: #ddd; */
 /*  background-color: #e5e5e5; */
   background-color: #F5F5F5;
@@ -405,11 +436,11 @@ code {
 /*  color: #000; */
 }
 
-.group-selected, .nets-selected, .fileas-selected {
+.group-selected, .nets-selected, .fileas-selected, .forum-selected {
   font-weight: bold;
 }
 
-#sidebar-new-group, #hide-forum-list, #forum-list, #forum-list-right, #sidebar-ungrouped,
+#forum-widget-showmore, #sidebar-new-group, #sidebar-edit-groups, #forum-widget-collapse, #forumlist-rsidebar-right, #sidebar-ungrouped,
 .side-link, #peoplefind-desc, #connect-desc, .nets-all, .admin.link, #message-new {
   padding-left: 10px;
   padding-top: 3px;
@@ -418,7 +449,32 @@ code {
   display: block;
 }
 
-a.nets-link, .side-link a, #sidebar-new-group a, a.savedsearchterm, a.fileas-link, aside h4 a, right_aside h4 a {
+.photos-upload-link {
+  padding-top: 3px;
+  padding-bottom: 3px;
+  display: block;
+}
+
+#forumlist-sidebar {
+  padding-top: 3px;
+  padding-bottom: 3px;
+  display: block;
+}
+
+.forum-widget-entry {
+  padding-left: 10px;
+  padding-right: 5px;
+}
+
+#forumlist-sidebar .notify, #forumlist-sidebar-right .notify {
+  display: none;
+}
+
+#forumlist-sidebar .notify.show, #forumlist-sidebar-right .notify.show {
+  display: inline-block;
+}
+
+a.nets-link, .side-link a, #sidebar-new-group a, #sidebar-edit-groups a, a.savedsearchterm,a.fileas-link, aside h4 a, right_aside h4 a {
   display: block;
   color: #737373;
 }
@@ -445,11 +501,11 @@ a.sidebar-group-element {
   color: black;
 }
 
-#forum-list a, #forum-list-right a, .tool a, .admin.link a {
+#forumlist-sidebar a, #forumlist-sidebar-right a, .tool a, .admin.link a, #sidebar-photos-albums a {
   color: #737373;
 }
 
-#forum-list, #forum-list-right {
+#forumlist-sidebar, #forumlist-sidebar-right {
   margin-top: 2px;
 }
 
@@ -618,6 +674,7 @@ nav .nav-menu img {
   margin-top: -3px;
   margin-right: 4px;
 }
+
 nav .nav-menu-icon .nav-notify {
   top: 3px;
 }
@@ -652,6 +709,23 @@ nav .nav-menu:hover {
 /*    background: #4c619c; */
     text-decoration: none;
 }
+
+.manage-notify {
+   background-color: #F80;
+  -moz-border-radius: 5px 5px 5px 5px;
+  -webkit-border-radius: 5px 5px 5px 5px;
+  border-radius: 5px 5px 5px 5px;
+  font-size: 10px;
+  padding: 1px 3px;
+  top: 0px;
+  min-width: 15px;
+  text-align: center;
+  color: white;
+  float: right;
+  margin-top: -14px;
+  margin-right: -20px;
+}
+
 nav .nav-notify {
   display: none;
   position: absolute;
@@ -671,6 +745,7 @@ nav .nav-notify {
   text-align: center;
   color: white;
 }
+
 nav .nav-notify.show {
   display: block;
 }
@@ -872,9 +947,23 @@ ul.menu-popup .empty {
 }
 
 right_aside {
-  width: 0px;
-  top: 32px;
   display: none;
+  vertical-align: top;
+  width: 185px;
+  padding-top: 10px;
+  padding-right: 20px;
+  padding-bottom: 0px;
+  padding-left: 10px;
+  background-color: #FFFFFF;
+  font-size: 13px;
+  overflow-y: auto;
+  z-index: 2;
+  /* line-height: 17px; */
+  color: #737373;
+  box-shadow: 1px 2px 0px 0px #D8D8D8;
+  top: 32px;
+  position: absolute;
+  margin-left: calc(100% - 215px);
 }
 
 /* aside */
@@ -894,7 +983,7 @@ aside {
   top: 32px;
   overflow-y: auto;
   z-index: 2;
-  line-height: 17px;
+  /* line-height: 17px; */
   position: fixed;
   /* overflow: auto; */
   height: 100%;
@@ -911,11 +1000,17 @@ aside .vcard .fn {
 }
 aside .vcard .title {
   margin-bottom: 5px;
+  float: left;
 }
 aside .vcard dl {
   height: auto;
   overflow: auto;
 }
+aside .vcard .account-type {
+  margin-bottom: 13px;
+  font-size: 14px;
+  font-weight: bold;
+}
 
 aside select {
   background-color: white;
@@ -944,9 +1039,11 @@ aside #profile-extra-links ul {
 }
 aside #profile-extra-links li {
   padding: 0px;
+  padding-bottom: 4px;
   margin: 0px;
   list-style: none;
 }
+aside #subscribe-feed-link,
 aside #dfrn-request-link,
 aside #wallmessage-link {
   display: block;
@@ -959,6 +1056,7 @@ aside #wallmessage-link {
   text-transform: uppercase;
   padding: 4px 2px 2px 35px;
 }
+aside #subscribe-feed-link:hover,
 aside #dfrn-request-link:hover,
 aside #wallmessage-link:hover {
   text-decoration: none;
@@ -1109,7 +1207,6 @@ section {
   line-height: 19.5px;*/
   font-size: 14.95px;
   line-height: 21px;
-  /* font-family: Quodana,Verdana,DejaVu Sans,Bitstream Vera Sans,Helvetica,sans-serif; */
   display: table-cell;
   vertical-align: top;
   top: 32px;
@@ -1137,6 +1234,31 @@ section.minimal {
   height: 100%;
 }
 
+/* Contact-Header for the Network Stream */
+#viewcontact_wrapper-network {
+  width: 100%;
+  min-height: 100px;
+  background-color: #FAFAFA;
+  box-shadow: 1px 2px 0px 0px #D8D8D8;
+  border-bottom: 1px solid #D2D2D2;
+}
+#contact-entry-wrapper-network {
+  float: none;
+  width: auto;
+  height: auto;
+  padding: 10px;
+  margin: 0;
+}
+#contact-entry-accounttype-network {
+  font-size: 20px;
+}
+#contact-entry-name-network {
+  font-size: 24.5px;
+}
+.contact-entry-photo img {
+  border-radius: 4px;
+}
+
 /* wall item */
 .tread-wrapper {
 /*    border-bottom: 1px solid #BDCDD4; */
@@ -1347,12 +1469,12 @@ section.minimal {
   width: 100%;
   margin-bottom: 0.3em;
 }
-.wall-item-container .wall-item-actions-social, 
+.wall-item-container .wall-item-actions-social,
 .wall-item-container .wall-item-actions-isevent {
   float: left;
   margin-bottom: 1px;
 }
-.wall-item-container .wall-item-actions-social a, 
+.wall-item-container .wall-item-actions-social a,
 .wall-item-container .wall-item-actions-isevent a {
   float: left;
   margin-right: 1em;
@@ -2270,18 +2392,52 @@ aside #id_password {
   float: left;
 }
 /* contacts */
-.contact-entry-wrapper {
+/*.contact-entry-wrapper {
   width: 120px;
   height: 130px;
   float: left;
-/*  overflow: hidden; */
+  overflow: hidden;
   margin-left: 5px;
+}*/
+
+.contact-entry-wrapper {
+  float: left;
+  width: 363px;
+  height: 100px;
+  padding-right: 10px;
+  margin: 0 10px 10px 0px;
+}
+.contact-entry-wrapper .contact-entry-photo-wrapper {
+  float: left;
+  margin-right: 10px;
+  width: 80px;
+  height: 80px;
+}
+.contact-entry-photo-wrapper {
+  position: relative;
+}
+.contact-entry-desc {
+  overflow: hidden;
+}
+.contact-entry-name {
+  font-weight: bold;
+}
+.contact-entry-details {
+  font-size: 13px;
+  color: #999999;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
 }
 /* photo */
 .lframe {
   float: left;
   margin: 0px 10px 10px 0px;
 }
+.contact-entry-photo a img {
+  width: 80px;
+  height: 80px;
+}
 /* profile match wrapper */
 .profile-match-wrapper {
   float: left;
@@ -2319,14 +2475,15 @@ aside #id_password {
 }
 .contact-photo-menu {
         width: 11em;
-        border: 3px solid #364e59;
+        /*border: 3px solid #364e59;*/
        color: #2d2d2d;
         background: #FFFFFF;
-/*        position: absolute;*/
-        position: relative;
-        left: 0px; top: 0px;
+        position: absolute;
+        /*position: relative;*/
+        left: 0px; /*top: 0px;*/
         display: none;
         z-index: 10000;
+       box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
 }
 .contact-photo-menu ul { margin:0px; padding: 0px; list-style: none }
 .contact-photo-menu li a {
@@ -2496,6 +2653,7 @@ a.mail-list-link {
        border: none;
 }
 
+
 /* ========== */
 /* = Events = */
 /* ========== */
@@ -2570,6 +2728,13 @@ a.mail-list-link {
         font-weight: bold;
         color: #FF0000;
 }
+#event-desc-text-edit-bb, #event-location-text-edit-bb {
+  float: none;
+}
+#event-start-text, #event-finish-text, #event-summary-text, #event-desc-text, #event-location-text {
+  margin-bottom: 10px;
+  margin-top: 20px;
+}
 
 .settings-block {
         /* border: 1px solid #AAA; */
@@ -2943,7 +3108,7 @@ a.mail-list-link {
   border:1px solid #dcdcdc;
   display:inline-block;
   color:#777777;
-  font-family:Arial;
+  font-family:Arial, sans-serif;
   font-size:15px;
   font-weight:bold;
   font-style:normal;
@@ -2988,3 +3153,8 @@ a.mail-list-link {
 
 /* upload/select popup */
 .fbrowser.image .photo-album-image-wrapper { margin-left: 10px; }
+ #message-preview { margin-top: 15px; }
+ #message-preview span { width: 100%; }
+ #message-preview .mail-count, #message-preview .mail-delete { display:none; }
+ #message-preview .mail-list-wrapper { padding: 3px; }
+ #message-preview .mail-date { opacity:0.6; font-size:10px; }
index 5271112d834480daf37988abf550aed490ed10c6..c4ed99caa479293649e86358167e996f69f98252 100644 (file)
@@ -5,20 +5,21 @@
                <!-- onmouseover="if (typeof t{{$contact.id}} != 'undefined') clearTimeout(t{{$contact.id}}); openMenu('contact-photo-menu-button-{{$contact.id}}')" 
                onmouseout="t{{$contact.id}}=setTimeout('closeMenu(\'contact-photo-menu-button-{{$contact.id}}\'); closeMenu(\'contact-photo-menu-{{$contact.id}}\');',200)" > -->
 
-                       <a href="{{$contact.url}}" title="{{$contact.img_hover}}" /><img src="{{$contact.thumb}}" {{$contact.sparkle}} alt="{{$contact.name}}" /></a>
+                       <!-- <a href="{{$contact.url}}" title="{{$contact.img_hover}}" /></a> -->
+                       <img src="{{$contact.thumb}}" {{$contact.sparkle}} alt="{{$contact.name}}" />
 
-                       {{if !$no_contacts_checkbox}}
+                       {{if $multiselect}}
                        <input type="checkbox" class="contact-select" name="contact_batch[]" value="{{$contact.id}}">
                        {{/if}}
                        {{if $contact.photo_menu}}
                        <!-- <span onclick="openClose('contact-photo-menu-{{$contact.id}}');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-{{$contact.id}}">menu</span> -->
                        <div class="contact-photo-menu" id="contact-photo-menu-{{$contact.id}}">
-                               <ul>
+                               <ul role="menu" aria-haspopup="true">
                                        {{foreach $contact.photo_menu as $k=>$c}}
                                        {{if $c.2}}
-                                       <li><a class="{{$k}}" target="redir" href="{{$c.1}}">{{$c.0}}</a></li>
+                                       <li role="menuitem"><a class="{{$k}}" target="redir" href="{{$c.1}}">{{$c.0}}</a></li>
                                        {{else}}
-                                       <li><a class="{{$k}}" href="{{$c.1}}">{{$c.0}}</a></li>
+                                       <li role="menuitem"><a class="{{$k}}" href="{{$c.1}}">{{$c.0}}</a></li>
                                        {{/if}}
                                        {{/foreach}}
                                </ul>
                        
        </div>
        <div class="contact-entry-photo-end" ></div>
-       <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >{{$contact.name}}</div>
+       
+       <div class="contact-entry-desc">
+               <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >
+                       {{$contact.name}}
+                       {{if $contact.account_type}} <span class="contact-entry-details" id="contact-entry-accounttype-{{$contact.id}}">({{$contact.account_type}})</span>{{/if}}
+               </div>
+               {{if $contact.alt_text}}<div class="contact-entry-details" id="contact-entry-rel-{{$contact.id}}" >{{$contact.alt_text}}</div>{{/if}}
+               <div class="contact-entry-details">
+               {{if $contact.itemurl}}<span class="contact-entry-details" id="contact-entry-url-{{$contact.id}}" >{{$contact.itemurl}}</span>{{/if}}
+               {{if $contact.network}}<span class="contact-entry-details" id="contact-entry-network-{{$contact.id}}" > ({{$contact.network}})</span>{{/if}}
+               </div>
+               {{if $contact.tags}}<div class="contact-entry-details" id="contact-entry-tags-{{$contact.id}}" >{{$contact.tags}}</div>{{/if}}
+               {{if $contact.details}}<div class="contact-entry-details" id="contact-entry-details-{{$contact.id}}" >{{$contact.details}}</div>{{/if}}
+       </div>
+
 
        <div class="contact-entry-end" ></div>
 </div>
diff --git a/view/theme/vier/templates/event_form.tpl b/view/theme/vier/templates/event_form.tpl
new file mode 100644 (file)
index 0000000..165234c
--- /dev/null
@@ -0,0 +1,74 @@
+
+
+<h3>{{$title}}</h3>
+
+<p>
+{{$desc}}
+</p>
+
+<form id="event-edit-form" action="{{$post}}" method="post" >
+
+<input type="hidden" name="event_id" value="{{$eid}}" />
+<input type="hidden" name="cid" value="{{$cid}}" />
+<input type="hidden" name="uri" value="{{$uri}}" />
+<input type="hidden" name="preview" id="event-edit-preview" value="0" />
+
+<div id="event-start-text">{{$s_text}}</div>
+{{$s_dsel}}
+
+<div id="event-finish-text">{{$f_text}}</div>
+{{$f_dsel}}
+
+<div id="event-datetime-break"></div>
+
+<input type="checkbox" name="nofinish" value="1" id="event-nofinish-checkbox" {{$n_checked}} /> <div id="event-nofinish-text">{{$n_text}}</div>
+
+<div id="event-nofinish-break"></div>
+
+<input type="checkbox" name="adjust" value="1" id="event-adjust-checkbox" {{$a_checked}} /> <div id="event-adjust-text">{{$a_text}}</div>
+
+<div id="event-adjust-break"></div>
+
+<div id="event-summary-text">{{$t_text}}</div>
+<input type="text" size="65" id="event-summary" name="summary" value="{{$t_orig|escape:'html'}}" />
+
+
+<div id="event-desc-text">{{$d_text}}</div>
+<textarea id="comment-edit-text-desc" rows="8" cols="64" name="desc">{{$d_orig}}</textarea>
+<div id="event-desc-text-edit-bb" class="comment-edit-bb">
+       <a title="{{$edimg}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="img" data-id="desc"><i class="icon-picture"></i></a>      
+       <a title="{{$edurl}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="url" data-id="desc"><i class="icon-link"></i></a>
+       <a title="{{$edvideo}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="video" data-id="desc"><i class="icon-film"></i></a>
+
+       <a title="{{$eduline}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="u" data-id="desc"><i class="icon-underline"></i></a>
+       <a title="{{$editalic}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="i" data-id="desc"><i class="icon-italic"></i></a>
+       <a title="{{$edbold}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="b" data-id="desc"><i class="icon-bold"></i></a>
+       <a title="{{$edquote}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="quote" data-id="desc"><i class="icon-quote-left"></i></a>
+</div>
+
+<div id="event-location-text">{{$l_text}}</div>
+<textarea id="comment-edit-text-location" rows="4" cols="64" name="location">{{$l_orig}}</textarea>
+<div id="event-location-text-edit-bb" class="comment-edit-bb">
+       <a title="{{$edimg}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="img" data-id="location"><i class="icon-picture"></i></a>      
+       <a title="{{$edurl}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="url" data-id="location"><i class="icon-link"></i></a>
+       <a title="{{$edvideo}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="video" data-id="location"><i class="icon-film"></i></a>
+
+       <a title="{{$eduline}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="u" data-id="location"><i class="icon-underline"></i></a>
+       <a title="{{$editalic}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="i" data-id="location"><i class="icon-italic"></i></a>
+       <a title="{{$edbold}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="b" data-id="location"><i class="icon-bold"></i></a>
+       <a title="{{$edquote}}" data-role="insert-formatting" data-comment="{{$comment}}" data-bbcode="quote" data-id="location"><i class="icon-quote-left"></i></a>
+</div>
+
+<div id="event-location-break"></div>
+
+<input type="checkbox" name="share" value="1" id="event-share-checkbox" {{$sh_checked}} /> <div id="event-share-text">{{$sh_text}}</div>
+<div id="event-share-break"></div>
+
+{{$acl}}
+
+<div class="clear"></div>
+<input id="event-edit-preview" type="submit" name="preview" value="{{$preview|escape:'html'}}" onclick="doEventPreview(); return false;" />
+<input id="event-submit" type="submit" name="submit" value="{{$submit|escape:'html'}}" />
+</form>
+
+
index 4888468cee43b5d269cc94123feb74d7d78a0224..77bad93705bb20a6421bd35945cf6d5a77294cf1 100644 (file)
@@ -7,6 +7,11 @@
 </header>
 <nav role="menubar">
        <ul>
+               <li class="mobile-aside-toggle" style="display:none;">
+                       <a href="#">
+                               <i class="icons icon-reorder"></i>
+                       </a>
+               </li>
                {{if $nav.home}}
                        <li role="menuitem" id="nav-home-link" class="nav-menu {{$sel.home}}">
                                <a accesskey="p" class="{{$nav.home.2}}" href="{{$nav.home.0}}" title="{{$nav.home.3}}" >{{$nav.home.1}}</a>
@@ -29,7 +34,7 @@
                                <a accesskey="c" class="{{$nav.community.2}}" href="{{$nav.community.0}}" title="{{$nav.community.3}}" >{{$nav.community.1}}</a>
                        </li>
                {{/if}}
-               
+
                <li role="menu" aria-haspopup="true" id="nav-site-linkmenu" class="nav-menu-icon"><a><span class="icon s22 icon-question"><span class="sr-only">{{$nav.help.3}}</span></span></a>
                        <ul id="nav-site-menu" class="menu-popup">
                                {{if $nav.help}} <li role="menuitem"><a class="{{$nav.help.2}}" href="{{$nav.help.0}}" title="{{$nav.help.3}}" >{{$nav.help.1}}</a></li>{{/if}}
@@ -48,7 +53,7 @@
                                </ul>
                        </li>
                {{/if}}
-               
+
                {{if $userinfo}}
                        <li role="menu" aria-haspopup="true" id="nav-user-linkmenu" class="nav-menu">
                                <a accesskey="u" title="{{$sitelocation}}"><img src="{{$userinfo.icon}}" alt="{{$userinfo.name}}"><span id="nav-user-linklabel">{{$userinfo.name}}</span><span id="intro-update" class="nav-notify"></span></a>
@@ -56,7 +61,7 @@
                                        {{if $nav.introductions}}<li role="menuitem"><a class="{{$nav.introductions.2}}" href="{{$nav.introductions.0}}" title="{{$nav.introductions.3}}" >{{$nav.introductions.1}}</a><span id="intro-update-li" class="nav-notify"></span></li>{{/if}}
                                        {{if $nav.contacts}}<li role="menuitem"><a class="{{$nav.contacts.2}}" href="{{$nav.contacts.0}}" title="{{$nav.contacts.3}}" >{{$nav.contacts.1}}</a></li>{{/if}}
                                        {{if $nav.messages}}<li role="menuitem"><a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" >{{$nav.messages.1}}</a><span id="mail-update" class="nav-notify"></span></a></li>{{/if}}
-                                       {{if $nav.manage}}<li role="menuitem"><a class="{{$nav.manage.2}}" href="{{$nav.manage.0}}" title="{{$nav.manage.3}}">{{$nav.manage.1}}</a></li>{{/if}}                         
+                                       {{if $nav.manage}}<li role="menuitem"><a class="{{$nav.manage.2}}" href="{{$nav.manage.0}}" title="{{$nav.manage.3}}">{{$nav.manage.1}}</a></li>{{/if}}
                                        {{if $nav.usermenu.1}}<li role="menuitem"><a class="{{$nav.usermenu.1.2}}" href="{{$nav.usermenu.1.0}}" title="{{$nav.usermenu.1.3}}">{{$nav.usermenu.1.1}}</a></li>{{/if}}
                                        {{if $nav.settings}}<li role="menuitem"><a class="{{$nav.settings.2}}" href="{{$nav.settings.0}}" title="{{$nav.settings.3}}">{{$nav.settings.1}}</a></li>{{/if}}
                                        {{if $nav.logout}}<li role="menuitem"><a class="menu-sep {{$nav.logout.2}}" href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" >{{$nav.logout.1}}</a></li>{{/if}}
@@ -69,7 +74,7 @@
                                <a class="{{$nav.login.2}}" href="{{$nav.login.0}}" title="{{$nav.login.3}}" >{{$nav.login.1}}</a>
                        </li>
                {{/if}}
-               
+
                {{if $nav.search}}
                        <li role="search" id="search-box">
                                <form method="get" action="{{$nav.search.0}}">
@@ -89,7 +94,7 @@
                                <a accesskey="a" class="{{$nav.admin.2}} icon-sliders" href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" ><span class="sr-only">{{$nav.admin.3}}</span></a>
                        </li>
                {{/if}}
-               
+
                {{if $nav.apps}}
                        <li role="menu" aria-haspopup="true" id="nav-apps-link" class="nav-menu {{$sel.apps}}">
                                <a class=" {{$nav.apps.2}}" title="{{$nav.apps.3}}" >{{$nav.apps.1}}</a>
index db512eb7f9366025fa9d19415eff371eb82aef25..927041056191f7d2f1fc5f48522a3c57d5b3d2a4 100644 (file)
   <input type="hidden" name="profile" value="{{$profile_name}}" />
   
   <!-- Profile picture -->
+{{if $detailled_profile}}
   <div class="toggle-section js-toggle-section">
     <a class="section-caption js-section-toggler" href="javascript:;">{{$lbl_picture_section}} &raquo;</a>
     <div class="js-section toggle-section-content hidden">
+{{/if}}
       
       <div id="profile-photo-upload-wrapper">
         <label id="profile-photo-upload-label" for="profile-photo-upload">{{$lbl_profile_photo}}:</label>
       </div>
       <div class="profile-edit-submit-end"></div>
     
+{{if $detailled_profile}}
     </div>
   </div>
-  
+{{/if}}
 </form>
 
 <form id="profile-edit-form" name="form1" action="profiles/{{$profile_id}}" method="post" >
   <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-  
+
+{{if $detailled_profile}}
   <!-- Basic information -->
   <div class="toggle-section js-toggle-section">
     <a class="section-caption js-section-toggler" href="javascript:;">{{$lbl_basic_section}} &raquo;</a>
     <div class="js-section toggle-section-content hidden">
       
+      {{include file="field_yesno.tpl" field=$details}}
+
       {{if $multi_profiles}}
         <div id="profile-edit-profile-name-wrapper" >
           <label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
       
     </div>
   </div>
+{{else}}
+
+{{if $personal_account}}
+{{include file="field_yesno.tpl" field=$details}}
+{{/if}}
+<div id="profile-edit-profile-name-wrapper" >
+<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
+<input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name|escape:'html'}}" /><div class="required">*</div>
+</div>
+<div id="profile-edit-profile-name-end"></div>
+
+<div id="profile-edit-name-wrapper" >
+<label id="profile-edit-name-label" for="profile-edit-name" >{{$lbl_fullname}} </label>
+<input type="text" size="32" name="name" id="profile-edit-name" value="{{$name|escape:'html'}}" />
+</div>
+<div id="profile-edit-name-end"></div>
+
+{{if $personal_account}}
+<div id="profile-edit-gender-wrapper" >
+<label id="profile-edit-gender-label" for="gender-select" >{{$lbl_gender}} </label>
+{{$gender}}
+</div>
+<div id="profile-edit-gender-end"></div>
+
+<div id="profile-edit-dob-wrapper" >
+<label id="profile-edit-dob-label" for="dob-select" >{{$lbl_bd}} </label>
+<div id="profile-edit-dob" >
+{{$dob}} {{$age}}
+</div>
+</div>
+<div id="profile-edit-dob-end"></div>
+{{/if}}
+
+      <div id="profile-edit-homepage-wrapper" >
+        <label id="profile-edit-homepage-label" for="profile-edit-homepage" >{{$lbl_homepage}} </label>
+        <input type="text" size="32" name="homepage" id="profile-edit-homepage" value="{{$homepage}}" />
+      </div>
+      <div id="profile-edit-homepage-end"></div>
+
+{{$hide_friends}}
+
+<div id="profile-edit-address-wrapper" >
+<label id="profile-edit-address-label" for="profile-edit-address" >{{$lbl_address}} </label>
+<input type="text" size="32" name="address" id="profile-edit-address" value="{{$address|escape:'html'}}" />
+</div>
+<div id="profile-edit-address-end"></div>
+
+<div id="profile-edit-locality-wrapper" >
+<label id="profile-edit-locality-label" for="profile-edit-locality" >{{$lbl_city}} </label>
+<input type="text" size="32" name="locality" id="profile-edit-locality" value="{{$locality|escape:'html'}}" />
+</div>
+<div id="profile-edit-locality-end"></div>
+
+
+<div id="profile-edit-postal-code-wrapper" >
+<label id="profile-edit-postal-code-label" for="profile-edit-postal-code" >{{$lbl_zip}} </label>
+<input type="text" size="32" name="postal_code" id="profile-edit-postal-code" value="{{$postal_code|escape:'html'}}" />
+</div>
+<div id="profile-edit-postal-code-end"></div>
+
+<div id="profile-edit-country-name-wrapper" >
+<label id="profile-edit-country-name-label" for="profile-edit-country-name" >{{$lbl_country}} </label>
+<select name="country_name" id="profile-edit-country-name" onChange="Fill_States('{{$region}}');">
+<option selected="selected" >{{$country_name}}</option>
+<option>temp</option>
+</select>
+</div>
+<div id="profile-edit-country-name-end"></div>
+<div id="profile-edit-region-wrapper" >
+<label id="profile-edit-region-label" for="profile-edit-region" >{{$lbl_region}} </label>
+<select name="region" id="profile-edit-region" onChange="Update_Globals();" >
+<option selected="selected" >{{$region}}</option>
+<option>temp</option>
+</select>
+</div>
+<div id="profile-edit-region-end"></div>
+
+<div id="profile-edit-pubkeywords-wrapper" >
+<label id="profile-edit-pubkeywords-label" for="profile-edit-pubkeywords" >{{$lbl_pubkey}} </label>
+<input type="text" size="32" name="pub_keywords" id="profile-edit-pubkeywords" title="{{$lbl_ex2}}" value="{{$pub_keywords|escape:'html'}}" />
+</div><div id="profile-edit-pubkeywords-desc">{{$lbl_pubdsc}}</div>
+<div id="profile-edit-pubkeywords-end"></div>
+
+<div id="profile-edit-prvkeywords-wrapper" >
+<label id="profile-edit-prvkeywords-label" for="profile-edit-prvkeywords" >{{$lbl_prvkey}} </label>
+<input type="text" size="32" name="prv_keywords" id="profile-edit-prvkeywords" title="{{$lbl_ex2}}" value="{{$prv_keywords|escape:'html'}}" />
+</div><div id="profile-edit-prvkeywords-desc">{{$lbl_prvdsc}}</div>
+<div id="profile-edit-prvkeywords-end"></div>
+
+<div id="about-jot-wrapper" >
+<p id="about-jot-desc" >
+{{$lbl_about}}
+</p>
+
+<textarea rows="10" cols="72" id="profile-about-text" name="about" >{{$about}}</textarea>
+
+</div>
+<div id="about-jot-end"></div>
+
+<div class="profile-edit-submit-wrapper" >
+<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
+</div>
+<div class="profile-edit-submit-end"></div>
+
+        <input type="hidden" name="pdesc" id="profile-edit-pdesc" value="{{$pdesc}}" />
+        <input type="hidden" id="contact-jot-text" name="contact" value="{{$contact}}" />
+        <input type="hidden" name="hometown" id="profile-edit-hometown" value="{{$hometown}}" />
+        <input type="hidden" name="politic" id="profile-edit-politic" value="{{$politic}}" />
+        <input type="hidden" name="religion" id="profile-edit-religion" value="{{$religion}}" />
+        <input type="hidden" id="likes-jot-text" name="likes" value="{{$likes}}" />
+        <input type="hidden" id="dislikes-jot-text" name="dislikes" value="{{$dislikes}}" />
+        <input type="hidden" name="with" id="profile-edit-with" value="{{$with}}" />
+        <input type="hidden" name="howlong" id="profile-edit-howlong" value="{{$howlong}}" />
+        <input type="hidden" id="romance-jot-text" name="romance" value="{{$romance}}" />
+        <input type="hidden" id="work-jot-text" name="work" value="{{$work}}" />
+        <input type="hidden" id="education-jot-text" name="education" value="{{$education}}" />
+        <input type="hidden" id="interest-jot-text" name="interest" value="{{$interest}}" />
+        <input type="hidden" id="music-jot-text" name="music" value="{{$music}}" />
+        <input type="hidden" id="book-jot-text" name="book" value="{{$book}}" />
+        <input type="hidden" id="tv-jot-text" name="tv" value="{{$tv}}" />
+        <input type="hidden" id="film-jot-text" name="film" value="{{$film}}" />
+
+{{/if}}
   
 </form>
 </div>
index 3317d668ce69df45fb42e3891c3f0998de757844..a3b08947d0502382530f1277c185e727b2b88971 100644 (file)
                {{/if}}
        </div>
 
-       {{if $pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
+       {{if $profile.addr}}<div class="p-addr">{{$profile.addr}}</div>{{/if}}
+
+       {{if $profile.pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
 
        {{if $profile.picdate}}
                <div id="profile-photo-wrapper"><a href="{{$profile.url}}"><img class="photo u-photo" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.name}}"></a></div>
        {{else}}
                <div id="profile-photo-wrapper"><a href="{{$profile.url}}"><img class="photo u-photo" src="{{$profile.photo}}" alt="{{$profile.name}}"></a></div>
        {{/if}}
+
+       {{if $account_type}}<div class="account-type">{{$account_type}}</div>{{/if}}
        {{if $profile.network_name}}<dl class="network"><dt class="network-label">{{$network}}</dt><dd class="x-network">{{$profile.network_name}}</dd></dl>{{/if}}
        {{if $location}}
                <dl class="location"><dt class="location-label">{{$location}}</dt> 
@@ -63,6 +67,9 @@
                        {{if $wallmessage}}
                                <li><a id="wallmessage-link" href="wallmessage/{{$profile.nickname}}">{{$wallmessage}}</a></li>
                        {{/if}}
+                       {{if $subscribe_feed}}
+                               <li><a id="subscribe-feed-link" href="dfrn_poll/{{$profile.nickname}}">{{$subscribe_feed}}</a></li>
+                       {{/if}}
                </ul>
        </div>
 </div>
index d8cad5cd0ce8a2868985b9691897cfb860980336..73e37e5613deb499c3e359dcf8d2b02978675d1d 100644 (file)
@@ -12,9 +12,8 @@
                        <div class="contact-photo-wrapper">
                                <!-- onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')" 
                                onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)"> -->
-                               <a href="{{$item.profile_url}}" target="redir" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}">
+                               <!-- <a href="{{$item.profile_url}}" target="redir" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}"></a> -->
                                        <img src="{{$item.thumb}}" class="contact-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" />
-                               </a>
                                <!-- <a rel="#wall-item-photo-menu-{{$item.id}}" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-{{$item.id}}">menu</a> -->
                                <ul role="menu" aria-haspopup="true" class="wall-item-menu menu-popup" id="wall-item-photo-menu-{{$item.id}}">
                                {{$item.item_photo_menu}}
index 4c5f083d7d038c5145331b43443e4306f75862e5..be6b143b9f5feb8a55f7364ebe7373f54a22c8f6 100644 (file)
@@ -27,9 +27,8 @@
        <div class="wall-item-item">
                <div class="wall-item-info">
                        <div class="contact-photo-wrapper">
-                               <a href="{{$item.profile_url}}" target="redir" title="{{$item.linktitle}}" class="contact-photo-link" id="wall-item-photo-link-{{$item.id}}">
+                               <!-- <a href="{{$item.profile_url}}" target="redir" title="{{$item.linktitle}}" class="contact-photo-link" id="wall-item-photo-link-{{$item.id}}"></a> -->
                                        <img src="{{$item.thumb}}" class="contact-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" />
-                               </a>
                                <ul role="menu" aria-haspopup="true" class="contact-menu menu-popup" id="wall-item-photo-menu-{{$item.id}}">
                                {{$item.item_photo_menu}}
                                </ul>
index 5eb8f5fa8b897ca86525b9e70299a9639c85acd3..c5c605f4333a3399ac80524003fc360aa278184f 100644 (file)
@@ -31,9 +31,8 @@
        <div class="wall-item-item">
                <div class="wall-item-info">
                        <div class="contact-photo-wrapper mframe{{if $item.owner_url}} wwfrom{{/if}}">
-                               <a aria-hidden="true" href="{{$item.profile_url}}" target="redir" title="{{$item.linktitle}}" class="contact-photo-link" id="wall-item-photo-link-{{$item.id}}">
+                               <!-- <a aria-hidden="true" href="{{$item.profile_url}}" target="redir" title="{{$item.linktitle}}" class="contact-photo-link" id="wall-item-photo-link-{{$item.id}}"></a> -->
                                        <img src="{{$item.thumb}}" class="contact-photo {{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" />
-                               </a>
                                <ul role="menu" aria-haspopup="true" class="contact-menu menu-popup" id="wall-item-photo-menu-{{$item.id}}">
                                {{$item.item_photo_menu}}
                                </ul>
diff --git a/view/theme/vier/templates/widget_forumlist_right.tpl b/view/theme/vier/templates/widget_forumlist_right.tpl
new file mode 100644 (file)
index 0000000..93f8e8f
--- /dev/null
@@ -0,0 +1,47 @@
+<script>
+
+function showHideForumlist() {
+       if( $("li[id^='forum-widget-entry-extended-']").is(':visible')) {
+               $("li[id^='forum-widget-entry-extended-']").hide();
+               $("li#forum-widget-collapse").html(window.showMore);
+
+       }
+       else {
+               $("li[id^='forum-widget-entry-extended-']").show();
+               $("li#forum-widget-collapse").html(window.showFewer);
+       }
+}
+</script>
+
+<div id="forumlist-sidebar-right" class="widget">
+       <h3 id="forumlist">{{$title}}</h3>
+
+       <ul id="forumlist-sidbar-ul" role="menu">
+               {{foreach $forums as $forum}}
+               {{if $forum.id <= $visible_forums}}
+               <li class="forum-widget-entry forum-{{$forum.cid}}" id="forum-widget-entry-{{$forum.id}}" role="menuitem">
+                       <span class="notify badge pull-right"></span>
+                       <a href="{{$forum.external_url}}" title="{{$forum.link_desc}}" class="label sparkle" target="_blank">
+                               <img class="forumlist-img" src="{{$forum.micro}}" alt="{{$forum.link_desc}}" />
+                       </a>
+                       <a class="forum-widget-link {{if $forum.selected}}forum-selected{{/if}}" id="forum-widget-link-{{$forum.id}}" href="{{$forum.url}}" >{{$forum.name}}</a>
+               </li>
+               {{/if}}
+       
+               {{if $forum.id > $visible_forums}}
+               <li class="forum-widget-entry forum-{{$forum.cid}}" id="forum-widget-entry-extended-{{$forum.id}}" role="menuitem" style="display: none;">
+                       <span class="notify padge pull-right"></span>
+                       <a href="{{$forum.external_url}}" title="{{$forum.link_desc}}" class="label sparkle" target="_blank">
+                               <img class="forumlist-img" src="{{$forum.micro}}" alt="{{$forum.link_desc}}" />
+                       </a>
+                       <a class="forum-widget-link {{if $forum.selected}}forum-selected{{/if}}" id="forum-widget-link-{{$forum.id}}" href="{{$forum.url}}" >{{$forum.name}}</a>
+               </li>
+               {{/if}}
+               {{/foreach}}
+
+               {{if $total > $visible_forums }}
+               <li onclick="showHideForumlist(); return false;" id="forum-widget-collapse" class="forum-widget-link tool fakelink">{{$showmore}}</li>
+               {{/if}}
+       </ul>
+
+</div>
index 49d92b93b5d66536c9fd31e35077b56ff0589a36..91c384f805d1692253879f31a7bdb4dd3e0ef540 100644 (file)
@@ -9,9 +9,9 @@
  * Description: "Vier" is a very compact and modern theme. It uses the font awesome font library: http://fortawesome.github.com/Font-Awesome/
  */
 
-require_once("mod/nodeinfo.php");
-require_once("mod/proxy.php");
+require_once("include/plugin.php");
 require_once("include/socgraph.php");
+require_once("mod/proxy.php");
 
 function vier_init(&$a) {
 
@@ -26,11 +26,18 @@ function vier_init(&$a) {
        if ($a->argv[0].$a->argv[1] === "profile".$a->user['nickname'] or $a->argv[0] === "network" && local_user()) {
                vier_community_info();
 
-               $a->page['htmlhead'] .= "<link rel='stylesheet' media='screen and (min-width: 1300px)' href='view/theme/vier/wide.css' />";
+               $a->page['htmlhead'] .= "<link rel='stylesheet' type='text/css' href='view/theme/vier/wide.css' media='screen and (min-width: 1300px)'/>\n";
        }
 
+       if ($a->is_mobile || $a->is_tablet) {
+               $a->page['htmlhead'] .= '<meta name=viewport content="width=device-width, initial-scale=1">'."\n";
+               $a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="view/theme/vier/mobile.css" media="screen"/>'."\n";
+       }
+               // deactivated since it doesn't work with desktop browsers at the moment (To-Do)
+               //$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="view/theme/vier/mobile.css" media="screen and (max-width: 1000px)"/>'."\n";
+
 $a->page['htmlhead'] .= <<< EOT
-<link rel='stylesheet' media='screen and (max-width: 1100px)' href='view/theme/vier/narrow.css' />
+<link rel='stylesheet' type='text/css' href='view/theme/vier/narrow.css' media='screen and (max-width: 1100px)' />
 <script type="text/javascript">
 
 function insertFormatting(comment,BBcode,id) {
@@ -80,12 +87,33 @@ function cmtBbOpen(id) {
 function cmtBbClose(id) {
        $("#comment-edit-bb-" + id).hide();
 }
+
+
+
 </script>
 EOT;
 
+
+if ($a->is_mobile || $a->is_tablet){
+       $a->page['htmlhead'] .= <<< EOT
+<script>
+       $(document).ready(function() {
+               $(".mobile-aside-toggle a").click(function(e){
+                       e.preventDefault();
+                       $("aside").toggleClass("show");
+               });
+               $(".tabs").click(function(e){
+                       $(this).toggleClass("show");
+               });
+       });
+</script>
+EOT;
+}
+
+
        // Hide the left menu bar
        if (($a->page['aside'] == "") AND in_array($a->argv[0], array("community", "events", "help", "manage", "notifications",
-                                                                       "probe", "webfinger", "login", "invite")))
+                                                                       "probe", "webfinger", "login", "invite", "credits")))
                $a->page['htmlhead'] .= "<link rel='stylesheet' href='view/theme/vier/hide.css' />";
 }
 
@@ -192,35 +220,50 @@ function vier_community_info() {
        //Community_Pages at right_aside
        if($show_pages AND local_user()) {
 
-               $pagelist = array();
+               require_once('include/forums.php');
 
-               $contacts = q("SELECT `id`, `url`, `name`, `micro` FROM `contact`
-                               WHERE `network`= '%s' AND `forum` AND `uid` = %d AND
-                                       NOT `hidden` AND NOT `blocked` AND
-                                       NOT `archive` AND NOT `pending` AND
-                                       `success_update` > `failure_update`
-                               ORDER BY `name` ASC",
-                               dbesc(NETWORK_DFRN), intval($a->user['uid']));
+               if(x($_GET['cid']) && intval($_GET['cid']) != 0)
+                       $cid = $_GET['cid'];
 
-               $pageD = array();
+               //sort by last updated item
+               $lastitem = true;
 
-               // Look if the profile is a community page
-               foreach($contacts as $contact) {
-                       $pageD[] = array("url"=>$contact["url"], "name"=>$contact["name"], "id"=>$contact["id"], "micro"=>$contact['micro']);
-               };
+               $contacts = get_forumlist($a->user['uid'],true,$lastitem, true);
+               $total = count($contacts);
+               $visible_forums = 10;
 
-               $contacts = $pageD;
+               if(count($contacts)) {
 
-               if ($contacts) {
-                       $page = '
-                               <h3>'.t("Community Pages").'</h3>
-                               <div id="forum-list-right">';
+                       $id = 0;
 
                        foreach($contacts as $contact) {
-                               $page .= '<div role="menuitem"><a href="' . $a->get_baseurl() . '/redir/' . $contact["id"] . '" title="'.t('External link to forum').'" class="label sparkle" target="_blank"><img class="forumlist-img" height="20" width="20" src="' . $contact['micro'] .'" alt="'.t('External link to forum').'" /></a> <a href="' . $a->get_baseurl() . '/network?f=&cid=' . $contact['id'] . '" >' . $contact["name"]."</a></div>";
+
+                               $selected = (($cid == $contact['id']) ? ' forum-selected' : '');
+
+                               $entry = array(
+                                       'url' => z_root() . '/network?f=&cid=' . $contact['id'],
+                                       'external_url' => z_root() . '/redir/' . $contact['id'],
+                                       'name' => $contact['name'],
+                                       'cid' => $contact['id'],
+                                       'selected'      => $selected,
+                                       'micro' => proxy_url($contact['micro'], false, PROXY_SIZE_MICRO),
+                                       'id' => ++$id,
+                               );
+                               $entries[] = $entry;
                        }
 
-                       $page .= '</div>';
+
+                       $tpl = get_markup_template('widget_forumlist_right.tpl');
+
+                       $page .= replace_macros($tpl,array(
+                               '$title'        => t('Forums'),
+                               '$forums'       => $entries,
+                               '$link_desc'    => t('External link to forum'),
+                               '$total'        => $total,
+                               '$visible_forums' => $visible_forums,
+                               '$showmore'     => t('show more'),
+                       ));
+
                        $aside['$page'] = $page;
                }
        }
@@ -278,49 +321,49 @@ function vier_community_info() {
 
                $r = array();
 
-               if (nodeinfo_plugin_enabled("appnet"))
+               if (plugin_enabled("appnet"))
                        $r[] = array("photo" => "images/appnet.png", "name" => "App.net");
 
-               if (nodeinfo_plugin_enabled("buffer"))
+               if (plugin_enabled("buffer"))
                        $r[] = array("photo" => "images/buffer.png", "name" => "Buffer");
 
-               if (nodeinfo_plugin_enabled("blogger"))
+               if (plugin_enabled("blogger"))
                        $r[] = array("photo" => "images/blogger.png", "name" => "Blogger");
 
-               if (nodeinfo_plugin_enabled("dwpost"))
+               if (plugin_enabled("dwpost"))
                        $r[] = array("photo" => "images/dreamwidth.png", "name" => "Dreamwidth");
 
-               if (nodeinfo_plugin_enabled("fbpost"))
+               if (plugin_enabled("fbpost"))
                        $r[] = array("photo" => "images/facebook.png", "name" => "Facebook");
 
-               if (nodeinfo_plugin_enabled("ifttt"))
+               if (plugin_enabled("ifttt"))
                        $r[] = array("photo" => "addon/ifttt/ifttt.png", "name" => "IFTTT");
 
-               if (nodeinfo_plugin_enabled("statusnet"))
+               if (plugin_enabled("statusnet"))
                        $r[] = array("photo" => "images/gnusocial.png", "name" => "GNU Social");
 
-               if (nodeinfo_plugin_enabled("gpluspost"))
+               if (plugin_enabled("gpluspost"))
                        $r[] = array("photo" => "images/googleplus.png", "name" => "Google+");
 
-               //if (nodeinfo_plugin_enabled("ijpost"))
+               //if (plugin_enabled("ijpost"))
                //      $r[] = array("photo" => "images/", "name" => "");
 
-               if (nodeinfo_plugin_enabled("libertree"))
+               if (plugin_enabled("libertree"))
                        $r[] = array("photo" => "images/libertree.png", "name" => "Libertree");
 
-               //if (nodeinfo_plugin_enabled("ljpost"))
+               //if (plugin_enabled("ljpost"))
                //      $r[] = array("photo" => "images/", "name" => "");
 
-               if (nodeinfo_plugin_enabled("pumpio"))
+               if (plugin_enabled("pumpio"))
                        $r[] = array("photo" => "images/pumpio.png", "name" => "pump.io");
 
-               if (nodeinfo_plugin_enabled("tumblr"))
+               if (plugin_enabled("tumblr"))
                        $r[] = array("photo" => "images/tumblr.png", "name" => "Tumblr");
 
-               if (nodeinfo_plugin_enabled("twitter"))
+               if (plugin_enabled("twitter"))
                        $r[] = array("photo" => "images/twitter.png", "name" => "Twitter");
 
-               if (nodeinfo_plugin_enabled("wppost"))
+               if (plugin_enabled("wppost"))
                        $r[] = array("photo" => "images/wordpress", "name" => "Wordpress");
 
                if(function_exists("imap_open") AND !get_config("system","imap_disabled") AND !get_config("system","dfrn_only"))
index 6f8d5427cc53b5f2240b93e337445d9f36695732..72c2673261aef9400b15e3ec51328cc15dc91071 100644 (file)
@@ -1,23 +1,5 @@
 right_aside {
-  vertical-align: top;
-  width: 185px;
-  padding-top: 10px;
-  padding-right: 20px;
-  padding-bottom: 0px;
-  padding-left: 10px;
-  background-color: #FFFFFF;
-  font-size: 13px;
-  overflow-y: auto;
-  z-index: 2;
-  line-height: 17px;
-  color: #737373;
-  top: 44px;
-  position: absolute;
-/*  position: fixed;
-  height: calc(100% - 54px); */
   display: block;
-  margin-left: calc(100% - 215px);
-  box-shadow: 1px 2px 0px 0px #D8D8D8;
 }
 
 #forumlist-sidebar {