aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Diekershoff <tobias.diekershoff@gmx.net>2011-03-13 11:37:24 +0100
committerTobias Diekershoff <tobias.diekershoff@gmx.net>2011-03-13 11:37:24 +0100
commita2ee5ebe427522228dc03dc81da11f348a399c4d (patch)
tree8bffe9c8c9abe370523816f7742e6e26364fa5b5
parent8fea19dd38cf9c43bb6f6fa1a4f349555cbe90f8 (diff)
parenta912a0d3cae0ae9c873dcb5c45624a725bd2c2d6 (diff)
downloadvolse-hubzilla-a2ee5ebe427522228dc03dc81da11f348a399c4d.tar.gz
volse-hubzilla-a2ee5ebe427522228dc03dc81da11f348a399c4d.tar.bz2
volse-hubzilla-a2ee5ebe427522228dc03dc81da11f348a399c4d.zip
Merge branch 'master' of git://github.com/friendika/friendika
Conflicts: addon/twitter/twitter.php
-rw-r--r--.gitignore1
-rw-r--r--INSTALL.txt15
-rw-r--r--addon/facebook/facebook.css5
-rw-r--r--addon/facebook/facebook.php39
-rw-r--r--addon/statusnet/statusnet.php2
-rw-r--r--addon/twitter/twitter.php6
-rw-r--r--boot.php66
-rw-r--r--database.sql3
-rw-r--r--images/nosign.jpgbin0 -> 6498 bytes
-rw-r--r--include/acl_selectors.php2
-rw-r--r--include/items.php2
-rw-r--r--include/poller.php5
-rw-r--r--index.php44
-rw-r--r--mod/display.php7
-rw-r--r--mod/network.php15
-rw-r--r--mod/photo.php18
-rw-r--r--mod/photos.php62
-rw-r--r--mod/profile.php11
-rw-r--r--mod/register.php7
-rw-r--r--mod/search.php9
-rw-r--r--update.php21
-rw-r--r--util/strings.php5
-rw-r--r--util/typo.php12
-rw-r--r--view/de/like.tpl5
-rw-r--r--view/de/strings.php2
-rw-r--r--view/en/like.tpl5
-rw-r--r--view/fr/like.tpl5
-rw-r--r--view/fr/strings.php2
-rw-r--r--view/it/like.tpl5
-rw-r--r--view/it/strings.php4
-rw-r--r--view/like.tpl5
-rw-r--r--view/photo_edit.tpl14
-rw-r--r--view/register.tpl1
-rw-r--r--view/search_item.tpl7
-rw-r--r--view/sv/cmnt_received_eml.tpl18
-rw-r--r--view/sv/contact_edit.tpl81
-rw-r--r--view/sv/strings.php1124
-rw-r--r--view/theme/duepuntozero/style.css77
-rw-r--r--view/theme/loozah/style.css68
-rw-r--r--view/wall_item.tpl11
-rw-r--r--view/wallwall_item.tpl12
41 files changed, 1675 insertions, 128 deletions
diff --git a/.gitignore b/.gitignore
index fea5fb91e..10a7187cf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,5 +4,6 @@ wip/*
include/jquery-1.4.2.min.js
*.log
*.out
+*.version*
push*
home.html
diff --git a/INSTALL.txt b/INSTALL.txt
index 85114dee5..8de306b7d 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -34,7 +34,7 @@ php.ini file
- Mysql 5.x
- ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks
-(Windows) [Note: other options are presented in Section 7 of this document]
+(Windows) [Note: other options are presented in Section 8 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
@@ -53,10 +53,15 @@ you might have trouble getting everything to work.]
3. Create an empty database and note the access details (hostname, username,
password, database name).
-4. Visit your website with a web browser and follow the instructions. Please
+
+4. If you know in advance that it will be impossible for the web server to
+write or create files in your web directory, create an empty file called
+.htconfig.php and make it writable by the web server.
+
+5. Visit your website with a web browser and follow the instructions. Please
note any error messages and correct these before continuing.
-5. *If* the automated installation fails for any reason, check the following:
+6. *If* the automated installation fails for any reason, check the following:
- ".htconfig.php" exists
If not, edit htconfig.php and change system settings. Rename
@@ -65,7 +70,7 @@ to .htconfig.php
If not, import the contents of "database.sql" with phpmyadmin
or mysql command line
-6. At this point visit your website again, and register your personal account.
+7. At this point visit your website again, and register your personal account.
Registration errors should all be recoverable automatically.
If you get any *critical* failure at this point, it generally indicates the
database was not installed correctly. You might wish to move/rename
@@ -78,7 +83,7 @@ tables, so that you can start fresh.
****************************************************************************
****************************************************************************
-7. Set up a cron job or scheduled task to run the poller once every 5-10
+8. Set up a cron job or scheduled task to run the poller once every 5-10
minutes to pick up the recent "public" postings of your friends. Example:
cd /base/directory; /path/to/php include/poller.php
diff --git a/addon/facebook/facebook.css b/addon/facebook/facebook.css
index 3df65706f..0c164331e 100644
--- a/addon/facebook/facebook.css
+++ b/addon/facebook/facebook.css
@@ -6,3 +6,8 @@
#facebook-disable-wrapper {
margin-top: 20px;
}
+
+#facebook-post-default-form input {
+ margin-top: 20px;
+ margin-right: 20px;
+} \ No newline at end of file
diff --git a/addon/facebook/facebook.php b/addon/facebook/facebook.php
index d4d4cc443..edfc5a374 100644
--- a/addon/facebook/facebook.php
+++ b/addon/facebook/facebook.php
@@ -95,6 +95,15 @@ function facebook_init(&$a) {
}
+function facebook_post(&$a) {
+
+ if(local_user()){
+ $value = ((x($_POST,'post_by_default')) ? intval($_POST['post_by_default']) : 0);
+ set_pconfig(local_user(),'facebook','post_by_default', $value);
+ }
+ return;
+}
+
function facebook_content(&$a) {
if(! local_user()) {
@@ -107,6 +116,8 @@ function facebook_content(&$a) {
notice( t('Facebook disabled') . EOL);
}
+ $fb_installed = get_pconfig(local_user(),'facebook','post');
+
$appid = get_config('facebook','appid');
if(! $appid) {
@@ -119,14 +130,26 @@ function facebook_content(&$a) {
$o .= '<h3>' . t('Facebook Connect') . '</h3>';
- $o .= '<div id="facebook-enable-wrapper">';
+ if(! $fb_installed) {
+ $o .= '<div id="facebook-enable-wrapper">';
- $o .= '<a href="https://www.facebook.com/dialog/oauth?client_id=' . $appid . '&redirect_uri='
- . $a->get_baseurl() . '/facebook/' . $a->user['nickname'] . '&scope=publish_stream,read_stream,offline_access">' . t('Install Facebook post connector') . '</a>';
- $o .= '</div><div id="facebook-disable-wrapper">';
-
- $o .= '<a href="' . $a->get_baseurl() . '/facebook/remove' . '">' . t('Remove Facebook post connector') . '</a></div>';
+ $o .= '<a href="https://www.facebook.com/dialog/oauth?client_id=' . $appid . '&redirect_uri='
+ . $a->get_baseurl() . '/facebook/' . $a->user['nickname'] . '&scope=publish_stream,read_stream,offline_access">' . t('Install Facebook post connector') . '</a>';
+ $o .= '</div>';
+ }
+ if($fb_installed) {
+ $o .= '<div id="facebook-disable-wrapper">';
+
+ $o .= '<a href="' . $a->get_baseurl() . '/facebook/remove' . '">' . t('Remove Facebook post connector') . '</a></div>';
+
+ $o .= '<div id="facebook-post-default-form">';
+ $o .= '<form action="facebook" method="post" >';
+ $post_by_default = get_pconfig(local_user(),'facebook','post_by_default');
+ $checked = (($post_by_default) ? ' checked="checked" ' : '');
+ $o .= '<input type="checkbox" name="post_by_default" value="1"' . $checked . '/>' . ' ' . t('Post to Facebook by default') . '<br />';
+ $o .= '<input type="submit" name="submit" value="' . t('Submit') . '" /></form></div>';
+ }
return $o;
}
@@ -161,7 +184,7 @@ function facebook_jot_nets(&$a,&$b) {
$fb_post = get_pconfig(local_user(),'facebook','post');
if(intval($fb_post) == 1) {
$fb_defpost = get_pconfig(local_user(),'facebook','post_by_default');
- $selected = ((intval($fb_defpost == 1)) ? ' selected="selected" ' : '');
+ $selected = ((intval($fb_defpost) == 1) ? ' checked="checked" ' : '');
$b .= '<div class="profile-jot-net"><input type="checkbox" name="facebook_enable"' . $selected . 'value="1" /> '
. t('Post to Facebook') . '</div>';
}
@@ -202,7 +225,7 @@ function facebook_post_hook(&$a,&$b) {
// make links readable before we strip the code
- $msg = preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/is",'$2 ($1)',$msg);
+ $msg = preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/is",'$2 [$1]',$msg);
$msg = preg_replace("/\[img\](.+?)\[\/img\]/is", t('Image: ') . '$1',$msg);
diff --git a/addon/statusnet/statusnet.php b/addon/statusnet/statusnet.php
index 1deb030c1..f763cd0c3 100644
--- a/addon/statusnet/statusnet.php
+++ b/addon/statusnet/statusnet.php
@@ -73,7 +73,7 @@ function statusnet_jot_nets(&$a,&$b) {
$statusnet_post = get_pconfig(local_user(),'statusnet','post');
if(intval($statusnet_post) == 1) {
$statusnet_defpost = get_pconfig(local_user(),'statusnet','post_by_default');
- $selected = ((intval($statusnet_defpost == 1)) ? ' selected="selected" ' : '');
+ $selected = ((intval($statusnet_defpost) == 1) ? ' checked="checked" ' : '');
$b .= '<div class="profile-jot-net"><input type="checkbox" name="statusnet_enable"' . $selected . 'value="1" /> '
. t('Post to StatusNet') . '</div>';
}
diff --git a/addon/twitter/twitter.php b/addon/twitter/twitter.php
index 678da9388..93aca3129 100644
--- a/addon/twitter/twitter.php
+++ b/addon/twitter/twitter.php
@@ -59,7 +59,7 @@ function twitter_jot_nets(&$a,&$b) {
$tw_post = get_pconfig(local_user(),'twitter','post');
if(intval($tw_post) == 1) {
$tw_defpost = get_pconfig(local_user(),'twitter','post_by_default');
- $selected = ((intval($tw_defpost == 1)) ? ' selected="selected" ' : '');
+ $selected = ((intval($tw_defpost) == 1) ? ' checked="checked" ' : '');
$b .= '<div class="profile-jot-net"><input type="checkbox" name="twitter_enable"' . $selected . 'value="1" /> '
. t('Post to Twitter') . '</div>';
}
@@ -138,7 +138,11 @@ function twitter_settings(&$a,&$s) {
* which the user can request a PIN to connect the account to a
* account at Twitter.
*/
+<<<<<<< HEAD
require_once('library/twitteroauth.php');
+=======
+ require_once('library/twitteroauth.php');
+>>>>>>> a912a0d3cae0ae9c873dcb5c45624a725bd2c2d6
$connection = new TwitterOAuth($ckey, $csecret);
$request_token = $connection->getRequestToken();
$token = $request_token['oauth_token'];
diff --git a/boot.php b/boot.php
index 6bd78b87d..bbaa8324d 100644
--- a/boot.php
+++ b/boot.php
@@ -2,9 +2,9 @@
set_time_limit(0);
-define ( 'BUILD_ID', 1039 );
-define ( 'FRIENDIKA_VERSION', '2.10.0909' );
+define ( 'FRIENDIKA_VERSION', '2.1.915' );
define ( 'DFRN_PROTOCOL_VERSION', '2.1' );
+define ( 'DB_UPDATE_VERSION', 1040 );
define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@@ -435,15 +435,15 @@ function check_config(&$a) {
$build = get_config('system','build');
if(! x($build))
- $build = set_config('system','build',BUILD_ID);
+ $build = set_config('system','build',DB_UPDATE_VERSION);
$url = get_config('system','url');
if(! x($url))
$url = set_config('system','url',$a->get_baseurl());
- if($build != BUILD_ID) {
+ if($build != DB_UPDATE_VERSION) {
$stored = intval($build);
- $current = intval(BUILD_ID);
+ $current = intval(DB_UPDATE_VERSION);
if(($stored < $current) && file_exists('update.php')) {
// We're reporting a different version than what is currently installed.
// Run any existing update scripts to bring the database up to current.
@@ -455,7 +455,7 @@ function check_config(&$a) {
$func($a);
}
}
- set_config('system','build', BUILD_ID);
+ set_config('system','build', DB_UPDATE_VERSION);
}
}
@@ -512,22 +512,70 @@ function check_config(&$a) {
foreach($plugins_arr as $p) {
if(! in_array($p,$installed_arr)) {
logger("Addons: installing " . $p);
+ $t = filemtime('addon/' . $p . '/' . $p . '.php');
@include_once('addon/' . $p . '/' . $p . '.php');
if(function_exists($p . '_install')) {
$func = $p . '_install';
$func();
- $r = q("INSERT INTO `addon` (`name`, `installed`) VALUES ( '%s', 1 ) ",
- dbesc($p)
+ $r = q("INSERT INTO `addon` (`name`, `installed`, `timestamp`) VALUES ( '%s', 1, %d ) ",
+ dbesc($p),
+ intval($t)
);
}
}
}
}
+
+
load_hooks();
return;
}}
+// reload all updated plugins
+
+if(! function_exists('reload_plugins')) {
+function reload_plugins() {
+ $plugins = get_config('system','addon');
+ if(strlen($plugins)) {
+
+ $r = q("SELECT * FROM `addon` WHERE `installed` = 1");
+ if(count($r))
+ $installed = $r;
+ else
+ $installed = array();
+
+ $parr = explode(',',$plugins);
+ if(count($parr)) {
+ foreach($parr as $pl) {
+ $pl = trim($pl);
+
+ $t = filemtime('addon/' . $pl . '/' . $pl . '.php');
+ foreach($installed as $i) {
+ if(($i['name'] == $pl) && ($i['timestamp'] != $t)) {
+ logger('Reloading plugin: ' . $i['name']);
+ @include_once('addon/' . $pl . '/' . $pl . '.php');
+
+ if(function_exists($pl . '_uninstall')) {
+ $func = $pl . '_uninstall';
+ $func();
+ }
+ if(function_exists($pl . '_install')) {
+ $func = $pl . '_install';
+ $func();
+ }
+ q("UPDATE `addon` SET `timestamp` = %d WHERE `id` = %d LIMIT 1",
+ intval($t),
+ intval($i['id'])
+ );
+ }
+ }
+ }
+ }
+ }
+}}
+
+
// This is our template processor.
// $s is the string requiring macro substitution.
@@ -1777,7 +1825,7 @@ function allowed_email($email) {
if(count($allowed)) {
foreach($allowed as $a) {
$pat = strtolower(trim($a));
- if(($fnmatch && fnmatch($pat,$host)) || ($pat == $host)) {
+ if(($fnmatch && fnmatch($pat,$domain)) || ($pat == $domain)) {
$found = true;
break;
}
diff --git a/database.sql b/database.sql
index 93e444b6b..f47a5967e 100644
--- a/database.sql
+++ b/database.sql
@@ -451,7 +451,8 @@ CREATE TABLE IF NOT EXISTS `addon` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` CHAR( 255 ) NOT NULL ,
`version` CHAR( 255 ) NOT NULL ,
-`installed` TINYINT( 1 ) NOT NULL DEFAULT '0'
+`installed` TINYINT( 1 ) NOT NULL DEFAULT '0' ,
+`timestamp` BIGINT NOT NULL DEFAULT '0'
) ENGINE = MYISAM DEFAULT CHARSET=utf8;
diff --git a/images/nosign.jpg b/images/nosign.jpg
new file mode 100644
index 000000000..b73629332
--- /dev/null
+++ b/images/nosign.jpg
Binary files differ
diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index 9467531d9..fa700818f 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -10,7 +10,7 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" >\r\n";
$r = q("SELECT * FROM `group` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `name` ASC",
- $_SESSION['uid']
+ intval(local_user())
);
diff --git a/include/items.php b/include/items.php
index f38c0938f..e930ab5d2 100644
--- a/include/items.php
+++ b/include/items.php
@@ -609,6 +609,7 @@ function item_store($arr,$force_parent = false) {
else {
// find the parent and snarf the item id and ACL's
+ // and anything else we need to inherit
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
dbesc($arr['parent-uri']),
@@ -632,6 +633,7 @@ function item_store($arr,$force_parent = false) {
$allow_gid = $r[0]['allow_gid'];
$deny_cid = $r[0]['deny_cid'];
$deny_gid = $r[0]['deny_gid'];
+ $arr['wall'] = $r[0]['wall'];
}
else {
diff --git a/include/poller.php b/include/poller.php
index fd02e0198..a093190a6 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -47,6 +47,11 @@ function poller_run($argv, $argc){
$sql_extra = (($manual_id) ? " AND `id` = $manual_id " : "");
+ $d = datetime_convert();
+ call_hooks('cron', $d);
+
+ reload_plugins();
+
$contacts = q("SELECT `id` FROM `contact`
WHERE ( `rel` = %d OR `rel` = %d ) AND `poll` != ''
$sql_extra
diff --git a/index.php b/index.php
index bbd2c81cd..cc17119b6 100644
--- a/index.php
+++ b/index.php
@@ -19,11 +19,11 @@ $a = new App;
/**
*
* Load the configuration file which contains our DB credentials.
- * Ignore errors. If the file doesn't exist, we are running in installation mode.
+ * Ignore errors. If the file doesn't exist or is empty, we are running in installation mode.
*
*/
-$install = ((file_exists('.htconfig.php')) ? false : true);
+$install = ((file_exists('.htconfig.php') && filesize('.htconfig.php')) ? false : true);
@include(".htconfig.php");
@@ -102,8 +102,9 @@ if(! x($_SESSION,'sysmsg'))
$_SESSION['sysmsg'] = '';
/*
- * check_config() is responible for running update scripts. These automatically
- * update the DB schema whenever we push a new one out.
+ * check_config() is responsible for running update scripts. These automatically
+ * update the DB schema whenever we push a new one out. It also checks to see if
+ * any plugins have been added or removed and reacts accordingly.
*/
@@ -122,7 +123,7 @@ $a->apps = $arr['app_menu'];
/**
*
- * We have already parsed the server path into $->argc and $a->argv
+ * We have already parsed the server path into $a->argc and $a->argv
*
* $a->argv[0] is our module name. We will load the file mod/{$a->argv[0]}.php
* and use it for handling our URL request.
@@ -130,7 +131,7 @@ $a->apps = $arr['app_menu'];
* and in the following order:
*
* "module"_init
- * "module"_post (only if there are $_POST variables)
+ * "module"_post (only called if there are $_POST variables)
* "module"_afterpost
* "module"_content - the string return of this function contains our page body
*
@@ -140,15 +141,42 @@ $a->apps = $arr['app_menu'];
*/
if(strlen($a->module)) {
+
+ /**
+ *
+ * We will always have a module name.
+ * First see if we have a plugin which is masquerading as a module.
+ *
+ */
+
if(is_array($a->plugins) && in_array($a->module,$a->plugins) && file_exists("addon/{$a->module}/{$a->module}.php")) {
include_once("addon/{$a->module}/{$a->module}.php");
if(function_exists($a->module . '_module'))
$a->module_loaded = true;
}
+
+ /**
+ * If not, next look for a 'standard' program module in the 'mod' directory
+ */
+
if((! $a->module_loaded) && (file_exists("mod/{$a->module}.php"))) {
- include("mod/{$a->module}.php");
+ include_once("mod/{$a->module}.php");
$a->module_loaded = true;
}
+
+ /**
+ *
+ * The URL provided does not resolve to a valid module.
+ *
+ * On Dreamhost sites, quite often things go wrong for no apparent reason and they send us to '/internal_error.html'.
+ * We don't like doing this, but as it occasionally accounts for 10-20% or more of all site traffic -
+ * we are going to trap this and redirect back to the requested page. As long as you don't have a critical error on your page
+ * this will often succeed and eventually do the right thing.
+ *
+ * Otherwise we are going to emit a 404 not found.
+ *
+ */
+
if(! $a->module_loaded) {
if((x($_SERVER,'QUERY_STRING')) && ($_SERVER['QUERY_STRING'] === 'q=internal_error.html') && isset($dreamhost_error_hack)) {
logger('index.php: dreamhost_error_hack invoked. Original URI =' . $_SERVER['REQUEST_URI']);
@@ -199,7 +227,7 @@ if($a->module_loaded) {
}
-// let javascript take you home
+// If you're just visiting, let javascript take you home
if(x($_SESSION,'visitor_home'))
$homebase = $_SESSION['visitor_home'];
diff --git a/mod/display.php b/mod/display.php
index edbadbc75..096ea16c9 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -151,7 +151,12 @@ function display_content(&$a) {
if(can_write_wall($a,$a->profile['uid'])) {
if($item['id'] == $item['parent']) {
- $likebuttons = replace_macros($like_tpl,array('$id' => $item['id']));
+ $likebuttons = replace_macros($like_tpl,array(
+ '$id' => $item['id'],
+ '$likethis' => t("I like this \x28toggle\x29"),
+ '$nolike' => t("I don't like this \x28toggle\x29"),
+ '$wait' => t('Please wait')
+ ));
}
if($item['last-child']) {
$comment = replace_macros($cmnt_tpl,array(
diff --git a/mod/network.php b/mod/network.php
index 1ef4ab372..32c7216d4 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -255,8 +255,8 @@ function network_content(&$a, $update = 0) {
}
}
- $location = (($item['location']) ? '<a target="map" href="http://maps.google.com/?q=' . urlencode($item['location']) . '">' . $item['location'] . '</a>' : '');
- $coord = (($item['coord']) ? '<a target="map" href="http://maps.google.com/?q=' . urlencode($item['coord']) . '">' . $item['coord'] . '</a>' : '');
+ $location = (($item['location']) ? '<a target="map" title="' . $item['location'] . '" href="http://maps.google.com/?q=' . urlencode($item['location']) . '">' . $item['location'] . '</a>' : '');
+ $coord = (($item['coord']) ? '<a target="map" title="' . $item['coord'] . '" href="http://maps.google.com/?q=' . urlencode($item['coord']) . '">' . $item['coord'] . '</a>' : '');
if($coord) {
if($location)
$location .= '<br /><span class="smalltext">(' . $coord . ')</span>';
@@ -360,7 +360,12 @@ function network_content(&$a, $update = 0) {
$likebuttons = '';
if($item['id'] == $item['parent']) {
- $likebuttons = replace_macros($like_tpl,array('$id' => $item['id']));
+ $likebuttons = replace_macros($like_tpl,array(
+ '$id' => $item['id'],
+ '$likethis' => t("I like this \x28toggle\x29"),
+ '$nolike' => t("I don't like this \x28toggle\x29"),
+ '$wait' => t('Please wait')
+ ));
}
if($item['last-child']) {
@@ -407,8 +412,8 @@ function network_content(&$a, $update = 0) {
$like = ((x($alike,$item['id'])) ? format_like($alike[$item['id']],$alike[$item['id'] . '-l'],'like',$item['id']) : '');
$dislike = ((x($dlike,$item['id'])) ? format_like($dlike[$item['id']],$dlike[$item['id'] . '-l'],'dislike',$item['id']) : '');
- $location = (($item['location']) ? '<a target="map" href="http://maps.google.com/?q=' . urlencode($item['location']) . '">' . $item['location'] . '</a>' : '');
- $coord = (($item['coord']) ? '<a target="map" href="http://maps.google.com/?q=' . urlencode($item['coord']) . '">' . $item['coord'] . '</a>' : '');
+ $location = (($item['location']) ? '<a target="map" title="' . $item['location'] . '" href="http://maps.google.com/?q=' . urlencode($item['location']) . '">' . $item['location'] . '</a>' : '');
+ $coord = (($item['coord']) ? '<a target="map" title="' . $item['coord'] . '" href="http://maps.google.com/?q=' . urlencode($item['coord']) . '">' . $item['coord'] . '</a>' : '');
if($coord) {
if($location)
$location .= '<br /><span class="smalltext">(' . $coord . ')</span>';
diff --git a/mod/photo.php b/mod/photo.php
index 7f13d1cbf..2f8d180fd 100644
--- a/mod/photo.php
+++ b/mod/photo.php
@@ -108,6 +108,24 @@ function photo_init(&$a) {
if(count($r)) {
$data = $r[0]['data'];
}
+ else {
+
+ // Does the picture exist? It may be a remote person with no credentials,
+ // but who should otherwise be able to view it. Show a default image to let
+ // them know permissions was denied. It may be possible to view the image
+ // through an authenticated profile visit.
+ // There won't be many complete unauthorised people seeing this because
+ // they won't have the photo link, so there's a reasonable chance that the person
+ // might be able to obtain permission to view it.
+
+ $r = q("SELECT * FROM `photo` WHERE `resource-id` = '%s' AND `scale` = %d LIMIT 1",
+ dbesc($photo),
+ intval($resolution)
+ );
+ if(count($r)) {
+ $data = file_get_contents('images/nosign.jpg');
+ }
+ }
}
}
diff --git a/mod/photos.php b/mod/photos.php
index c1c6a4133..929d1c971 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -246,6 +246,11 @@ foreach($_FILES AS $key => $val) {
$rawtags = ((x($_POST,'newtag')) ? notags(trim($_POST['newtag'])) : '');
$item_id = ((x($_POST,'item_id')) ? intval($_POST['item_id']) : 0);
$albname = ((x($_POST,'albname')) ? notags(trim($_POST['albname'])) : '');
+ $str_group_allow = perms2str($_POST['group_allow']);
+ $str_contact_allow = perms2str($_POST['contact_allow']);
+ $str_group_deny = perms2str($_POST['group_deny']);
+ $str_contact_deny = perms2str($_POST['contact_deny']);
+
$resource_id = $a->argv[2];
if(! strlen($albname))
@@ -256,10 +261,14 @@ foreach($_FILES AS $key => $val) {
dbesc($resource_id),
intval($page_owner_uid)
);
- if((count($p)) && (($p[0]['desc'] !== $desc) || ($p[0]['album'] !== $albname))) {
- $r = q("UPDATE `photo` SET `desc` = '%s', `album` = '%s' WHERE `resource-id` = '%s' AND `uid` = %d",
+ if(count($p)) {
+ $r = q("UPDATE `photo` SET `desc` = '%s', `album` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s' WHERE `resource-id` = '%s' AND `uid` = %d",
dbesc($desc),
dbesc($albname),
+ dbesc($str_contact_allow),
+ dbesc($str_group_allow),
+ dbesc($str_contact_deny),
+ dbesc($str_group_deny),
dbesc($resource_id),
intval($page_owner_uid)
);
@@ -900,6 +909,32 @@ function photos_content(&$a) {
return;
}
+ $prevlink = '';
+ $nextlink = '';
+
+ $prvnxt = q("SELECT `resource-id` FROM `photo` WHERE `album` = '%s' AND `uid` = %d AND `scale` = 0
+ $sql_extra ORDER BY `created` DESC ",
+ dbesc($ph[0]['album']),
+ intval($owner_uid)
+ );
+
+ if(count($prvnxt)) {
+ for($z = 0; $z < count($prvnxt); $z++) {
+ if($prvnxt[$z]['resource-id'] == $ph[0]['resource-id']) {
+ $prv = $z - 1;
+ $nxt = $z + 1;
+ if($prv < 0)
+ $prv = count($prvnxt) - 1;
+ if($nxt >= count($prvnxt))
+ $nxt = 0;
+ break;
+ }
+ }
+ $prevlink = $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $prvnxt[$prv]['resource-id'] ;
+ $nextlink = $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $prvnxt[$nxt]['resource-id'] ;
+ }
+
+
if(count($ph) == 1)
$hires = $lores = $ph[0];
if(count($ph) > 1) {
@@ -929,11 +964,18 @@ function photos_content(&$a) {
$o .= '</div>';
}
+ if($prevlink)
+ $o .= '<div id="photo-prev-link"><a href="' . $prevlink .'">' . t('<< Prev') . '</a></div>' ;
- $o .= '<a href="' . $a->get_baseurl() . '/photo/'
+ $o .= '<div id="photo-photo"><a href="' . $a->get_baseurl() . '/photo/'
. $hires['resource-id'] . '-' . $hires['scale'] . '.jpg" title="'
. t('View Full Size') . '" ><img src="' . $a->get_baseurl() . '/photo/'
- . $lores['resource-id'] . '-' . $lores['scale'] . '.jpg' . '" /></a>';
+ . $lores['resource-id'] . '-' . $lores['scale'] . '.jpg' . '" /></a></div>';
+
+ if($nextlink)
+ $o .= '<div id="photo-next-link"><a href="' . $nextlink .'">' . t('Next >>') . '</a></div>';
+
+ $o .= '<div id="photo-photo-end"></div>';
// Do we have an item for this photo?
@@ -1016,6 +1058,8 @@ function photos_content(&$a) {
'$caption' => $ph[0]['desc'],
'$tag_label' => t('Add a Tag'),
'$tags' => $link_item['tag'],
+ '$permissions' => t('Permissions'),
+ '$aclselect' => populate_acl($ph[0]),
'$help_tags' => t('Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'),
'$item_id' => ((count($linked_items)) ? $link_item['id'] : 0),
'$submit' => t('Submit'),
@@ -1033,8 +1077,14 @@ function photos_content(&$a) {
$likebuttons = '';
- if($can_post || can_write_wall($a,$owner_uid))
- $likebuttons = replace_macros($like_tpl,array('$id' => $link_item['id']));
+ if($can_post || can_write_wall($a,$owner_uid)) {
+ $likebuttons = replace_macros($like_tpl,array(
+ '$id' => $item['id'],
+ '$likethis' => t("I like this \x28toggle\x29"),
+ '$nolike' => t("I don't like this \x28toggle\x29"),
+ '$wait' => t('Please wait')
+ ));
+ }
if(! count($r)) {
$o .= '<div id="photo-like-div">';
diff --git a/mod/profile.php b/mod/profile.php
index b23af2e66..5615573b9 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -302,7 +302,12 @@ function profile_content(&$a, $update = 0) {
if(can_write_wall($a,$a->profile['profile_uid'])) {
if($item['id'] == $item['parent']) {
- $likebuttons = replace_macros($like_tpl,array('$id' => $item['id']));
+ $likebuttons = replace_macros($like_tpl,array(
+ '$id' => $item['id'],
+ '$likethis' => t("I like this \x28toggle\x29"),
+ '$nolike' => t("I don't like this \x28toggle\x29"),
+ '$wait' => t('Please wait')
+ ));
}
if($item['last-child']) {
$comment = replace_macros($cmnt_tpl,array(
@@ -358,8 +363,8 @@ function profile_content(&$a, $update = 0) {
$like = ((isset($alike[$item['id']])) ? format_like($alike[$item['id']],$alike[$item['id'] . '-l'],'like',$item['id']) : '');
$dislike = ((isset($dlike[$item['id']])) ? format_like($dlike[$item['id']],$dlike[$item['id'] . '-l'],'dislike',$item['id']) : '');
- $location = (($item['location']) ? '<a target="map" href="http://maps.google.com/?q=' . urlencode($item['location']) . '">' . $item['location'] . '</a>' : '');
- $coord = (($item['coord']) ? '<a target="map" href="http://maps.google.com/?q=' . urlencode($item['coord']) . '">' . $item['coord'] . '</a>' : '');
+ $location = (($item['location']) ? '<a target="map" title="' . $item['location'] . '" href="http://maps.google.com/?q=' . urlencode($item['location']) . '">' . $item['location'] . '</a>' : '');
+ $coord = (($item['coord']) ? '<a target="map" title="' . $item['coord'] . '" href="http://maps.google.com/?q=' . urlencode($item['coord']) . '">' . $item['coord'] . '</a>' : '');
if($coord) {
if($location)
$location .= '<br /><span class="smalltext">(' . $coord . ')</span>';
diff --git a/mod/register.php b/mod/register.php
index 97038def0..fdf488b1a 100644
--- a/mod/register.php
+++ b/mod/register.php
@@ -401,6 +401,10 @@ function register_content(&$a) {
$oidlabel = t("Your OpenID \x28optional\x29: ");
}
+ // I set this and got even more fake names than before...
+
+ $realpeople = ''; // t('Members of this network prefer to communicate with real people who use their real names.');
+
if(get_config('system','publish_all')) {
$profile_publish_reg = '<input type="hidden" name="profile_publish_reg" value="1" />';
}
@@ -423,6 +427,7 @@ function register_content(&$a) {
$o = load_view_file("view/register.tpl");
$o = replace_macros($o, array(
'$oidhtml' => $oidhtml,
+ '$realpeople' => $realpeople,
'$regtitle' => t('Registration'),
'$registertext' =>((x($a->config,'register_text'))
? '<div class="error-message">' . $a->config['register_text'] . '</div>'
@@ -433,7 +438,7 @@ function register_content(&$a) {
'$openid' => $openid_url,
'$namelabel' => t('Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': '),
'$addrlabel' => t('Your Email Address: '),
- '$nickdesc' => t('Choose a profile nickname. This must begin with a text character. Your global profile locator will then be \'<strong>nickname@$sitename</strong>\'.'),
+ '$nickdesc' => t('Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be \'<strong>nickname@$sitename</strong>\'.'),
'$nicklabel' => t('Choose a nickname: '),
'$photo' => $photo,
'$publish' => $profile_publish,
diff --git a/mod/search.php b/mod/search.php
index 561bb6c62..db7279fb5 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -51,7 +51,7 @@ function search_content(&$a) {
$a->set_pager_total($r[0]['total']);
if(! $r[0]['total']) {
- notice('No results.');
+ notice( t('No results.') . EOL);
return $o;
}
@@ -134,13 +134,6 @@ function search_content(&$a) {
}
}
-
- if(! $r[0]['total']) {
- notice('No results.');
- return $o;
- }
-
-
$o .= paginate($a);
return $o;
diff --git a/update.php b/update.php
index 131014d4a..fe8052b00 100644
--- a/update.php
+++ b/update.php
@@ -11,24 +11,24 @@
* Each function in this file is named update_nnnn() where nnnn is an increasing number
* which began counting at 1000.
*
- * At the top of the file "boot.php" is a define for BUILD_ID. Any time there is a change
+ * At the top of the file "boot.php" is a define for DB_UPDATE_VERSION. Any time there is a change
* to the database schema or one which requires an upgrade path from the existing application,
- * the BUILD_ID is incremented.
+ * the DB_UPDATE_VERSION is incremented.
*
- * The current BUILD_ID is stored in the config area of the database. If the application starts up
- * and BUILD_ID is greater than the last stored build number, we will process every update function
- * in order from the currently stored value to the new BUILD_ID. This is expected to bring the system
+ * The current DB_UPDATE_VERSION is stored in the config area of the database. If the application starts up
+ * and DB_UPDATE_VERSION is greater than the last stored build number, we will process every update function
+ * in order from the currently stored value to the new DB_UPDATE_VERSION. This is expected to bring the system
* up to current without requiring re-installation or manual intervention.
*
- * Once the upgrade functions have completed, the current BUILD_ID is stored as the current value.
- * The BUILD_ID will always be one greater than the last numbered script in this file.
+ * Once the upgrade functions have completed, the current DB_UPDATE_VERSION is stored as the current value.
+ * The DB_UPDATE_VERSION will always be one greater than the last numbered script in this file.
*
* If you change the database schema, the following are required:
* 1. Update the file database.sql to match the new schema.
- * 2. Update this file by adding a new function at the end with the number of the current BUILD_ID.
+ * 2. Update this file by adding a new function at the end with the number of the current DB_UPDATE_VERSION.
* This function should modify the current database schema and perform any other steps necessary
* to ensure that upgrade is silent and free from requiring interaction.
- * 3. Increment the BUILD_ID in boot.php
+ * 3. Increment the DB_UPDATE_VERSION in boot.php
* 4. TEST the upgrade prior to checkin and filing a pull request.
*
*/
@@ -374,3 +374,6 @@ function update_1038() {
q("ALTER TABLE `item` ADD `plink` CHAR( 255 ) NOT NULL AFTER `target` ");
}
+function update_1039() {
+ q("ALTER TABLE `addon` ADD `timestamp` BIGINT NOT NULL DEFAULT '0'");
+}
diff --git a/util/strings.php b/util/strings.php
index 71b1d776b..b010cb9fc 100644
--- a/util/strings.php
+++ b/util/strings.php
@@ -192,6 +192,8 @@ $a->strings['Cancel'] = 'Cancel';
$a->strings['Global Directory'] = 'Global Directory';
$a->strings['Item not found.'] = 'Item not found.';
$a->strings['Private Message'] = 'Private Message';
+$a->strings["I like this \x28toggle\x29"] = "I like this \x28toggle\x29";
+$a->strings["I don't like this \x28toggle\x29"] = "I don't like this \x28toggle\x29";
$a->strings['This is you'] = 'This is you';
$a->strings['Delete'] = 'Delete';
$a->strings['View $name\'s profile'] = 'View $name\'s profile';
@@ -370,11 +372,12 @@ $a->strings['Your registration is pending approval by the site owner.'] = 'Your
$a->strings["You may \x28optionally\x29 fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "You may \x28optionally\x29 fill in this form via OpenID by supplying your OpenID and clicking 'Register'.";
$a->strings['If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.'] = 'If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.';
$a->strings["Your OpenID \x28optional\x29: "] = "Your OpenID \x28optional\x29: ";
+$a->strings['Members of this network prefer to communicate with real people who use their real names.'] = 'Members of this network prefer to communicate with real people who use their real names.';
$a->strings['Include your profile in member directory?'] = 'Include your profile in member directory?';
$a->strings['Registration'] = 'Registration';
$a->strings['Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': '] = 'Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': ';
$a->strings['Your Email Address: '] = 'Your Email Address: ';
-$a->strings['Choose a profile nickname. This must begin with a text character. Your global profile locator will then be \'<strong>nickname@$sitename</strong>\'.'] = 'Choose a profile nickname. This must begin with a text character. Your global profile locator will then be \'<strong>nickname@$sitename</strong>\'.';
+$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>\'.'] = 'Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be \'<strong>nickname@$sitename</strong>\'.';
$a->strings['Choose a nickname: '] = 'Choose a nickname: ';
$a->strings['Please login.'] = 'Please login.';
$a->strings['Registration revoked for '] = 'Registration revoked for ';
diff --git a/util/typo.php b/util/typo.php
index ac837efe5..ac61ef6d3 100644
--- a/util/typo.php
+++ b/util/typo.php
@@ -35,4 +35,14 @@
echo $file . "\n";
include_once($file);
}
- } \ No newline at end of file
+ }
+
+ echo "String files\n";
+
+ echo 'util/strings.php' . "\n";
+ include_once('util/strings.php');
+ $files = glob('view/*/strings.php');
+ foreach($files as $file) {
+ echo $file . "\n";
+ include_once($file);
+ }
diff --git a/view/de/like.tpl b/view/de/like.tpl
deleted file mode 100644
index 2f778851a..000000000
--- a/view/de/like.tpl
+++ /dev/null
@@ -1,5 +0,0 @@
-<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id">
- <img src="images/like.gif" alt="Ich mag das" title="Ich mag das [toggle]" onclick="dolike($id,'like');" />
- <img src="images/dislike.gif" alt="Ich mag das nicht" title="Ich mag das nicht [toggle]" onclick="dolike($id,'dislike');" />
- <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="Bitte warten" title="Bitte warten" style="display: none;" />
- </div>
diff --git a/view/de/strings.php b/view/de/strings.php
index 002749df9..b45ddee69 100644
--- a/view/de/strings.php
+++ b/view/de/strings.php
@@ -173,6 +173,8 @@ $a->strings['Submit Request'] = 'Anfrage abschicken';
$a->strings['Cancel'] = 'Abbrechen';
$a->strings['Global Directory'] = 'Weltweites Verzeichnis';
$a->strings['Private Message'] = 'Private Nachricht';
+$a->strings["I like this \x28toggle\x29"] = "Ich mag das \x28toggle\x29";
+$a->strings["I don't like this \x28toggle\x29"] = "Ich mag das nicht \x28toggle\x29";
$a->strings['This is you'] = 'Das bist du';
$a->strings['View $name\'s profile'] = 'Betrachte das Profil von $name';
$a->strings['View $owner_name\'s profile'] = 'Betrachte das Profil von $owner_name';
diff --git a/view/en/like.tpl b/view/en/like.tpl
deleted file mode 100644
index 1c385e5de..000000000
--- a/view/en/like.tpl
+++ /dev/null
@@ -1,5 +0,0 @@
-<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id">
- <img src="images/like.gif" alt="I like this" title="I like this [toggle]" onclick="dolike($id,'like');" />
- <img src="images/dislike.gif" alt="I don't like this" title="I don't like this [toggle]" onclick="dolike($id,'dislike');" />
- <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="Please wait" title="Please wait" style="display: none;" />
- </div>
diff --git a/view/fr/like.tpl b/view/fr/like.tpl
deleted file mode 100644
index 1c385e5de..000000000
--- a/view/fr/like.tpl
+++ /dev/null
@@ -1,5 +0,0 @@
-<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id">
- <img src="images/like.gif" alt="I like this" title="I like this [toggle]" onclick="dolike($id,'like');" />
- <img src="images/dislike.gif" alt="I don't like this" title="I don't like this [toggle]" onclick="dolike($id,'dislike');" />
- <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="Please wait" title="Please wait" style="display: none;" />
- </div>
diff --git a/view/fr/strings.php b/view/fr/strings.php
index b6b20f68c..423645c86 100644
--- a/view/fr/strings.php
+++ b/view/fr/strings.php
@@ -159,6 +159,8 @@ $a->strings['Cancel'] = 'Annuler';
$a->strings['Global Directory'] = 'Annuaire global';
$a->strings['Item not found.'] = 'Élément introuvable.';
$a->strings['Private Message'] = 'Message privé';
+$a->strings["I like this \x28toggle\x29"] = "I like this \x28toggle\x29";
+$a->strings["I don't like this \x28toggle\x29"] = "I don't like this \x28toggle\x29";
$a->strings['This is you'] = 'C\'est vous';
$a->strings['View $name\'s profile'] = 'Voir le profil de $name';
$a->strings['Item has been removed.'] = 'Cet élément a été enlevé.';
diff --git a/view/it/like.tpl b/view/it/like.tpl
deleted file mode 100644
index d64349a4b..000000000
--- a/view/it/like.tpl
+++ /dev/null
@@ -1,5 +0,0 @@
-<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id">
- <img src="images/like.gif" alt="Mi piace questo" title="Mi piace questo [metti/togli]" onclick="dolike($id,'like');" />
- <img src="images/dislike.gif" alt="Non mi piace questo" title="Non mi piace questo [metti/togli]" onclick="dolike($id,'dislike');" />
- <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="Attendi" title="Attendi" style="display: none;" />
- </div>
diff --git a/view/it/strings.php b/view/it/strings.php
index 25439d8d5..437d6e7c6 100644
--- a/view/it/strings.php
+++ b/view/it/strings.php
@@ -138,9 +138,11 @@ $a->strings['Cancel'] = 'Annulla';
$a->strings['Global Directory'] = 'Elenco Globale';
$a->strings['Item not found.'] = 'Elemento non trovato.';
$a->strings['Private Message'] = 'Messaggio privato';
+$a->strings["I like this \x28toggle\x29"] = "Mi piace questo \x28metti/togli\x29";
+$a->strings["I don't like this \x28toggle\x29"] = "Non mi piace questo \x28metti/togli\x29";
$a->strings['This is you'] = 'Questo sei tu';
$a->strings['View $name\'s profile'] = 'Guarda il profilo di $name';
-$a->strings['View $owner_name\'s profile'] = Guarda il profilo di $owner_name';
+$a->strings['View $owner_name\'s profile'] = 'Guarda il profilo di $owner_name';
$a->strings['to'] = 'a';
$a->strings['Wall-to-Wall'] = 'Bacheca-A-Bacheca';
$a->strings['via Wall-To-Wall:'] = 'via Bacheca-A-Bacheca';
diff --git a/view/like.tpl b/view/like.tpl
new file mode 100644
index 000000000..e36a624a4
--- /dev/null
+++ b/view/like.tpl
@@ -0,0 +1,5 @@
+<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id">
+ <img src="images/like.gif" alt="$likethis" title="$likethis" onclick="dolike($id,'like');" />
+ <img src="images/dislike.gif" alt="$nolike" title="$nolike" onclick="dolike($id,'dislike');" />
+ <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
+ </div>
diff --git a/view/photo_edit.tpl b/view/photo_edit.tpl
index bf8563b3c..ceb1ddca3 100644
--- a/view/photo_edit.tpl
+++ b/view/photo_edit.tpl
@@ -8,7 +8,6 @@
<div id="photo-edit-albumname-end"></div>
-
<label id="photo-edit-caption-label" for="photo-edit-caption">$capt_label</label>
<input id="photo-edit-caption" type="text" size="84" name="desc" value="$caption" />
@@ -16,8 +15,21 @@
<label id="photo-edit-tags-label" for="photo-edit-newtag" >$tag_label</label>
<input name="newtag" id="photo-edit-newtag" size="84" title="$help_tags" type="text" />
+
<div id="photo-edit-tags-end"></div>
+ <div id="photo-edit-perms" class="photo-edit-perms" >
+ <div id="photo-edit-perms-menu" class="fakelink" onClick="openClose('photo-edit-perms-select');" >$permissions</div>
+ <div id="photo-edit-perms-menu-end"></div>
+
+ <div id="photo-edit-perms-select" style="display: none;" >
+
+ $aclselect
+
+ </div>
+ </div>
+ <div id="photo-edit-perms-end"></div>
+
<input id="photo-edit-submit-button" type="submit" name="submit" value="$submit" />
<input id="photo-edit-delete-button" type="submit" name="delete" value="$delete" onclick="return confirmDelete()"; />
diff --git a/view/register.tpl b/view/register.tpl
index 3f57994ed..131460828 100644
--- a/view/register.tpl
+++ b/view/register.tpl
@@ -6,6 +6,7 @@
$registertext
+ <p id="register-realpeople">$realpeople</p>
<p id="register-fill-desc">$fillwith</p>
<p id="register-fill-ext">$fillext</p>
diff --git a/view/search_item.tpl b/view/search_item.tpl
index fcdaac834..f890bdee5 100644
--- a/view/search_item.tpl
+++ b/view/search_item.tpl
@@ -8,11 +8,14 @@
<div class="wall-item-photo-end"></div>
<div class="wall-item-wrapper" id="wall-item-wrapper-$id" >
$lock
- <a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a>
- <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div>
<div class="wall-item-location" id="wall-item-location-$id">$location</div>
</div>
</span>
+ <div class="wall-item-author">
+ <a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a>
+ <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div>
+
+ </div>
<div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div>
diff --git a/view/sv/cmnt_received_eml.tpl b/view/sv/cmnt_received_eml.tpl
new file mode 100644
index 000000000..60a5711ea
--- /dev/null
+++ b/view/sv/cmnt_received_eml.tpl
@@ -0,0 +1,18 @@
+
+$username,
+
+ '$from' har kommenterat något som du följer.
+
+-----
+$body
+-----
+
+Logga in på $siteurl för att se hela konversationen:
+
+$display
+
+Tack,
+ $sitename admin
+
+
+
diff --git a/view/sv/contact_edit.tpl b/view/sv/contact_edit.tpl
new file mode 100644
index 000000000..1c5a1a3fb
--- /dev/null
+++ b/view/sv/contact_edit.tpl
@@ -0,0 +1,81 @@
+
+<h2>$header</h2>
+
+<div id="contact-edit-banner-name">$name</div>
+
+<form action="contacts/$contact_id" method="post" >
+<input type="hidden" name="contact_id" value="$contact_id">
+
+<div id="contact-edit-wrapper" >
+
+ <div id="contact-edit-photo-wrapper" >
+ <img id="contact-edit-direction-icon" src="$dir_icon" alt="$alt_text" title="$alt_text" />
+ <div id="contact-edit-photo" >
+ <a href="$url" title="$visit" /><img src="$photo" $sparkle alt="$name" /></a>
+ </div>
+ <div id="contact-edit-photo-end" ></div>
+ </div>
+ <div id="contact-edit-nav-wrapper" >
+
+ <div id="contact-edit-links" >
+ <a href="contacts/$contact_id/block" id="contact-edit-block-link" ><img src="images/b_block.gif" alt="$blockunblock" title="$block_text"/></a>
+ <a href="contacts/$contact_id/ignore" id="contact-edit-ignore-link" ><img src="images/no.gif" alt="$ignorecont" title="$ignore_text"/></a>
+ </div>
+ <div id="contact-drop-links" >
+ <a href="contacts/$contact_id/drop" id="contact-edit-drop-link" onclick="return confirmDelete();" ><img src="images/b_drophide.gif" alt="$delete" title="$delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" /></a>
+ </div>
+ <div id="contact-edit-nav-end"></div>
+
+
+ <div id="contact-edit-poll-wrapper">
+ <div id="contact-edit-last-update-text">$lastupdtext<span id="contact-edit-last-updated">$last_update</span</div>
+ <div id="contact-edit-poll-text">$updpub</div>
+ $poll_interval
+ <div id="contact-edit-update-now"><a href="contacts/$contact_id/update">$udnow</a></div>
+ </div>
+ </div>
+ <div id="contact-edit-end" ></div>
+
+$insecure
+$blocked
+$ignored
+
+<div id="contact-edit-info-wrapper">
+<h4>Kontaktuppgifter / Anteckningar</h4>
+<textarea id="contact-edit-info" rows="10" cols="72" name="info" >$info</textarea>
+</div>
+<div id="contact-edit-info-end"></div>
+
+<input class="contact-edit-submit" type="submit" name="submit" value="Submit" />
+
+<div id="contact-edit-profile-select-text">
+<h4>Profilvisning</h4>
+<p>V&auml;lj vilken profil som ska visas f&ouml;r $name n&auml;r han eller hon tittar p&aring; din profil i s&auml;kert l&auml;ge.
+</p>
+</div>
+$profile_select
+<div id="contact-edit-profile-select-end"></div>
+
+<input class="contact-edit-submit" type="submit" name="submit" value="Submit" />
+
+
+<div id="contact-edit-rating-wrapper">
+<h4>Rykte online</h4>
+<p>
+Ibland kanske dina v&auml;nner vill f&aring; reda p&aring; hur n&aring;gon annan uppf&ouml;r sig p&aring; n&auml;tet innan de v&aring;ga inleda n&aring;gon kontakt. Du kan hj&auml;lpa till genom att ange personens 'rykte'.
+</p>
+<div id="contact-edit-rating-select-wrapper">
+$rating
+</div>
+<div id="contact-edit-rating-explain">
+<p>
+Var v&auml;nlig &auml;gna en liten stund &aring;t att fylla i n&aring;got som du k&auml;nner kan vara till hj&auml;lp f&ouml;r andra.
+</p>
+<textarea id="contact-edit-rating-text" name="reason" rows="3" cols="64" >$reason</textarea>
+</div>
+</div>
+$groups
+
+<input class="contact-edit-submit" type="submit" name="submit" value="Submit" />
+</form>
+</div>
diff --git a/view/sv/strings.php b/view/sv/strings.php
new file mode 100644
index 000000000..2fe95bc96
--- /dev/null
+++ b/view/sv/strings.php
@@ -0,0 +1,1124 @@
+<?php
+$a->strings['Not Found'] = 'Hittades inte';
+$a->strings['Page not found.' ] = 'Sidan hittades inte.' ;
+$a->strings['Permission denied'] = 'Åtkomst nekad';
+$a->strings['Permission denied.'] = 'Åtkomst nekad.';
+$a->strings['Create a New Account'] = 'Skapa nytt konto';
+$a->strings['Register'] = 'Registrera';
+$a->strings['Nickname or Email address: '] = 'Användarnamn eller e-postadress: ';
+$a->strings['Password: '] = 'Lösenord: ';
+$a->strings['Login'] = 'Logga in';
+$a->strings['Nickname/Email/OpenID: '] = 'Användarnamn/E-post/OpenID: ';
+$a->strings["Password \x28if not OpenID\x29: "] = "Lösenord \x28om inget OpenID\x29: ";
+$a->strings['Forgot your password?'] = 'Glömt lösenordet?';
+$a->strings['Password Reset'] = 'Återställ lösenord';
+$a->strings['Logout'] = 'Logga ut';
+$a->strings['prev'] = 'föreg';
+$a->strings['first'] = 'första';
+$a->strings['last'] = 'sista';
+$a->strings['next'] = 'nästa';
+$a->strings[' likes this.'] = ' gillar detta.';
+$a->strings[' doesn\'t like this.'] = ' ogillar detta.';
+$a->strings['people'] = 'personer';
+$a->strings['like this.'] = 'gilla detta.';
+$a->strings['don\'t like this.'] = 'ogilla detta.';
+$a->strings['and'] = 'och';
+$a->strings[', and '] = ', och ';
+$a->strings[' other people'] = ' personer till';
+$a->strings[' like this.'] = ' gillar detta.';
+$a->strings[' don\'t like this.'] = ' ogillar detta.';
+$a->strings['No contacts'] = 'Inga kontakter';
+$a->strings['Contacts'] = 'Kontakter';
+$a->strings['View Contacts'] = 'Visa kontakter';
+$a->strings['Search'] = 'Sök';
+$a->strings['No profile'] = 'Ingen profil';
+$a->strings['Connect'] = 'Anslut';
+$a->strings['Location:'] = 'Plats:';
+$a->strings[', '] = ', ';
+$a->strings['Gender:'] = 'Kön:';
+$a->strings['Status:'] = 'Status:';
+$a->strings['Homepage:'] = 'Hemsida:';
+$a->strings['Monday'] = 'måndag';
+$a->strings['Tuesday'] = 'tisdag';
+$a->strings['Wednesday'] = 'onsdag';
+$a->strings['Thursday'] = 'torsdag';
+$a->strings['Friday'] = 'fredag';
+$a->strings['Saturday'] = 'lördag';
+$a->strings['Sunday'] = 'söndag';
+$a->strings['January'] = 'januari';
+$a->strings['February'] = 'februari';
+$a->strings['March'] = 'mars';
+$a->strings['April'] = 'april';
+$a->strings['May'] = 'maj';
+$a->strings['June'] = 'juni';
+$a->strings['July'] = 'juli';
+$a->strings['August'] = 'augusti';
+$a->strings['September'] = 'september';
+$a->strings['October'] = 'oktober';
+$a->strings['November'] = 'november';
+$a->strings['December'] = 'december';
+$a->strings['Birthdays this week:'] = 'Födelsedagar denna vecka:';
+$a->strings["\x28Adjusted for local time\x29"] = "\x28Justerad till lokal tid\x29";
+$a->strings['[today]'] = '[today]';
+$a->strings['link to source'] = 'länk till källa';
+$a->strings['No recipient selected.'] = 'Ingen mottagare vald.';
+$a->strings['[no subject]'] = '[no subject]';
+$a->strings['Unable to locate contact information.'] = 'Hittar inga kontaktuppgifter.';
+$a->strings['Wall Photos'] = 'Loggfoton';
+$a->strings['Message sent.'] = 'Meddelandet har skickats.';
+$a->strings['Message could not be sent.'] = 'Det gick inte att skicka meddelandet.';
+$a->strings['Messages'] = 'Meddelanden';
+$a->strings['Inbox'] = 'Inkort';
+$a->strings['Outbox'] = 'Utkorg';
+$a->strings['New Message'] = 'Nytt meddelande';
+$a->strings['Message deleted.'] = 'Meddelandet borttaget.';
+$a->strings['Conversation removed.'] = 'Konversationen borttagen.';
+$a->strings['Send Private Message'] = 'Skicka personligt meddelande';
+$a->strings['To:'] = 'Till:';
+$a->strings['Subject:'] = 'Ämne:';
+$a->strings['Your message:'] = 'Ditt meddelande:';
+$a->strings['Upload photo'] = 'Ladda upp foto';
+$a->strings['Insert web link'] = 'Infoga länk';
+$a->strings['Please wait'] = 'Vänta';
+$a->strings['No messages.'] = 'Inga meddelanden.';
+$a->strings['Delete conversation'] = 'Ta bort konversation';
+$a->strings['Message not available.'] = 'Meddelandet är inte tillgängligt.';
+$a->strings['Delete message'] = 'Ta bort meddelande';
+$a->strings['Send Reply'] = 'Skicka svar';
+$a->strings['Applications'] = 'Applikationer';
+$a->strings["Invite Friends"] = "Bjud in vänner";
+$a->strings['Connect/Follow'] = 'Anslut/Följ';
+$a->strings['Example: bob@example.com, http://example.com/barbara'] = 'Exempel: adam@exempel.com, http://exempel.com/bertil';
+$a->strings['Follow'] = 'Följ';
+$a->strings['Could not access contact record.'] = 'Could not access contact record.';
+$a->strings['Could not locate selected profile.'] = 'Hittade inte vald profil.';
+$a->strings['Contact updated.'] = 'Kontakten har uppdaterats.';
+$a->strings['Failed to update contact record.'] = 'Failed to update contact record.';
+$a->strings['Contact has been '] = 'Kontakten ';
+$a->strings['blocked'] = 'spärrad';
+$a->strings['unblocked'] = 'inte längre spärrad';
+$a->strings['ignored'] = 'ignoreras';
+$a->strings['unignored'] = 'ignoreras inte längre';
+$a->strings['stopped following'] = 'följer inte längre';
+$a->strings['Contact has been removed.'] = 'Kontakten har tagits bort.';
+$a->strings['Contact not found.'] = 'Kontakten hittades inte.';
+$a->strings['Mutual Friendship'] = 'Ömsesidig vänskap';
+$a->strings['is a fan of yours'] = 'är ett fan till dig';
+$a->strings['you are a fan of'] = 'du är fan till';
+$a->strings['Never'] = 'Aldrig';
+$a->strings["\x28Update was successful\x29"] = "\x28Uppdateringen lyckades\x29";
+$a->strings["\x28Update was not successful\x29"] = "\x28Uppdateringen lyckades inte\x29";
+$a->strings['Contact Editor'] = 'Kontaktredigerare';
+$a->strings['Visit $name\'s profile'] = 'Besök $name ';
+$a->strings['Block/Unblock contact'] = 'Spärra kontakt eller häv spärr';
+$a->strings['Ignore contact'] = 'Ignorera kontakt';
+$a->strings['Delete contact'] = 'Ta bort kontakt';
+$a->strings['Last updated: '] = 'Uppdaterad senast: ';
+$a->strings['Update public posts: '] = 'Uppdatera offentliga inlägg: ';
+$a->strings['Update now'] = 'Updatera nu';
+$a->strings['Unblock this contact'] = 'Häv spärr för kontakt';
+$a->strings['Block this contact'] = 'Spärra kontakt';
+$a->strings['Unignore this contact'] = 'Ignorera inte längre kontakt';
+$a->strings['Ignore this contact'] = 'Ignorera kontakt';
+$a->strings['Currently blocked'] = 'Spärrad';
+$a->strings['Currently ignored'] = 'Ignoreras';
+$a->strings['Show Blocked Connections'] = 'Visa spärrade kontakter';
+$a->strings['Hide Blocked Connections'] = 'Dölj spärrade kontakter';
+$a->strings['Finding: '] = 'Finding: ';
+$a->strings['Find'] = 'Find';
+$a->strings['Visit '] = 'Besök ';
+$a->strings['\'s profile'] = 's profil';
+$a->strings['Edit contact'] = 'Ändra kontakt';
+$a->strings['Profile not found.'] = 'Profilen hittades inte.';
+$a->strings['Response from remote site was not understood.'] = 'Kunde inte tolka svaret från fjärrsajten.';
+$a->strings['Unexpected response from remote site: '] = 'Oväntat svar från fjärrsajten: ';
+$a->strings["Confirmation completed successfully."] = "Confirmation completed successfully.";
+$a->strings['Remote site reported: '] = 'Remote site reported: ';
+$a->strings["Temporary failure. Please wait and try again."] = "Tillfälligt fel. Försök igen lite senare.";
+$a->strings["Introduction failed or was revoked."] = "Introduction failed or was revoked.";
+$a->strings['Unable to set contact photo.'] = 'Det gick inte att välja profilbild.';
+$a->strings['is now friends with'] = 'är nu vän med';
+$a->strings['No user record found for '] = 'No user record found for ';
+$a->strings['Our site encryption key is apparently messed up.'] = 'Det är något fel på webbplatsens krypteringsnyckel.';
+$a->strings['Empty site URL was provided or URL could not be decrypted by us.'] = 'Empty site URL was provided or URL could not be decrypted by us.';
+$a->strings['Contact record was not found for you on our site.'] = 'Contact record was not found for you on our site.';
+$a->strings['The ID provided by your system is a duplicate on our system. It should work if you try again.'] = 'Det ID som angavs av ditt system är samma som på vårt system. Det borde fungera om du provar igen.';
+$a->strings['Unable to set your contact credentials on our system.'] = 'Unable to set your contact credentials on our system.';
+$a->strings['Unable to update your contact profile details on our system'] = 'Unable to update your contact profile details on our system';
+$a->strings["Connection accepted at "] = "Connection accepted at ";
+$a->strings['Administrator'] = 'Administratör';
+$a->strings['noreply'] = 'noreply';
+$a->strings[' commented on an item at '] = ' har kommenterat ';
+$a->strings[" commented on an item at "] = " har kommenterat ";
+$a->strings[' welcomes '] = ' välkomnar ';
+$a->strings["This introduction has already been accepted."] = "Den här förfrågan har redan accepterats.";
+$a->strings['Profile location is not valid or does not contain profile information.'] = 'Profiladressen är ogiltig eller innehåller ingen profilinformation.';
+$a->strings['Warning: profile location has no identifiable owner name.'] = 'Warning: profile location has no identifiable owner name.';
+$a->strings['Warning: profile location has no profile photo.'] = 'Warning: profile location has no profile photo.';
+$a->strings[' required parameter'] = ' obligatoriskt fält';
+$a->strings[" was "] = " var ";
+$a->strings["s were "] = " var ";
+$a->strings["not found at the given location."] = "finns inte på platsen som angavs.";
+$a->strings["Introduction complete."] = "Presentationen klar.";
+$a->strings['Unrecoverable protocol error.'] = 'Irreparabelt protokollfel.';
+$a->strings['Profile unavailable.'] = 'Profilen är inte tillgänglig.';
+$a->strings[' has received too many connection requests today.'] = ' har tagit emot för många förfrågningar idag.';
+$a->strings['Spam protection measures have been invoked.'] = 'Åtgärder för skydd mot spam har aktiverats.';
+$a->strings['Friends are advised to please try again in 24 hours.'] = 'Friends are advised to please try again in 24 hours.';
+$a->strings["Invalid locator"] = "Invalid locator";
+$a->strings["Unable to resolve your name at the provided location."] = "Unable to resolve your name at the provided location.";
+$a->strings['You have already introduced yourself here.'] = 'Du har redan presenterat dig här.';
+$a->strings['Apparently you are already friends with .'] = 'Du är tydligen redan vän med .';
+$a->strings['Invalid profile URL.'] = 'Ogiltig profil-URL.';
+$a->strings['Disallowed profile URL.'] = 'Otillåten profil-URL.';
+$a->strings['Your introduction has been sent.'] = 'Presentationen har skickats.';
+$a->strings["Please login to confirm introduction."] = "Logga in för att acceptera förfrågan.";
+$a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Incorrect identity currently logged in. Please login to <strong>this</strong> profile.";
+$a->strings['[Name Withheld]'] = '[Name Withheld]';
+$a->strings['Friend/Connection Request'] = 'Vän- eller kontaktförfrågan';
+$a->strings['Please answer the following:'] = 'Besvara följande, tack:';
+$a->strings['Does $name know you?'] = 'Känner $name dig?';
+$a->strings['Yes'] = 'Ja';
+$a->strings['No'] = 'Nej';
+$a->strings['Add a personal note:'] = 'Lägg till ett personligt meddelande:';
+$a->strings['Please enter your profile address from one of the following supported social networks:'] = 'Ange din profiladress på ett av följande sociala nätverk som stöds:';
+$a->strings['Friendika'] = 'Friendika';
+$a->strings['StatusNet/Federated Social Web'] = 'StatusNet/Federated Social Web';
+$a->strings["Private \x28secure\x29 network"] = "Privat \x28säkert\x29 nätverk";
+$a->strings["Public \x28insecure\x29 network"] = "Offentligt \x28osäkert\x29 nätverk";
+$a->strings['Your profile address:'] = 'Din profiladress:';
+$a->strings['Submit Request'] = 'Skicka begäran';
+$a->strings['Cancel'] = 'Avbryt';
+$a->strings['Global Directory'] = 'Global katalog';
+$a->strings['Item not found.'] = 'Hittades inte.';
+$a->strings['Private Message'] = 'Personligt meddelande';
+$a->strings["I like this \x28toggle\x29"] = "Jag gillar detta \x28toggle\x29";
+$a->strings["I don't like this \x28toggle\x29"] = "Jag ogillar detta \x28toggle\x29";
+$a->strings['This is you'] = 'Det här är du';
+$a->strings['Delete'] = 'Ta bort';
+$a->strings['View $name\'s profile'] = 'Visa $name s profil';
+$a->strings['View $owner_name\'s profile'] = 'Visa $owner_name s profil';
+$a->strings['to'] = 'till';
+$a->strings['Wall-to-Wall'] = 'Logg-till-logg';
+$a->strings['via Wall-To-Wall:'] = 'via Logg-till-logg:';
+$a->strings['Item has been removed.'] = 'Har tagits bort.';
+$a->strings['Shared content is covered by the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0</a> license.'] = 'Innehållet omfattas av licensen <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0</a>.';
+$a->strings['CC: email addresses'] = 'CC: e-postadresser';
+$a->strings['Example: bob@example.com, mary@example.com'] = 'Exempel: adam@exempel.com, bertil@exempel.com';
+$a->strings['The profile address specified does not provide adequate information.'] = 'Angiven profiladress ger inte tillräcklig information.';
+$a->strings['Limited profile. This person will be unable to receive direct/personal notifications from you.'] = 'Begränsad profil. Den här personen kommer inte att kunna ta emot personliga meddelanden från dig.';
+$a->strings['Unable to retrieve contact information.'] = 'Det gick inte att nå kontaktinformationen.';
+$a->strings['following'] = 'följer';
+$a->strings['Group created.'] = 'Gruppen har skapats.';
+$a->strings['Could not create group.'] = 'Det gick inte att skapa gruppen.';
+$a->strings['Group not found.'] = 'Gruppen hittades inte.';
+$a->strings['Group name changed.'] = 'Gruppens namn har ändrats.';
+$a->strings['Membership list updated.'] = 'Medlemslistan har uppdaterats.';
+$a->strings['Group removed.'] = 'Gruppen har tagits bort.';
+$a->strings['Unable to remove group.'] = 'Gruppen kunde inte tas bort.';
+$a->strings["Welcome to "] = "Välkommen till ";
+$a->strings['Could not create/connect to database.'] = 'Det gick inte att skapa eller ansluta till databasen.';
+$a->strings['Connected to database.'] = 'Ansluten till databasen.';
+$a->strings['Database import succeeded.'] = 'Databasen har importerats.';
+$a->strings['IMPORTANT: You will need to [manually] setup a scheduled task for the poller.'] = 'IMPORTANT: You will need to [manually] setup a scheduled task for the poller.';
+$a->strings['Please see the file "INSTALL.txt".'] = 'Se filen "INSTALL.txt".';
+$a->strings['Database import failed.'] = 'Det gick inte att importera databasen.';
+$a->strings['You may need to import the file "database.sql" manually using phpmyadmin or mysql.'] = 'Du kanske måste importera filen "database.sql" manuellt med phpmyadmin eller mysql.';
+$a->strings['Welcome to Friendika.'] = 'Välkommen till Friendika.';
+$a->strings['Submit'] = 'Skicka';
+$a->strings['Could not find a command line version of PHP in the web server PATH.'] = 'Could not find a command line version of PHP in the web server PATH.';
+$a->strings['This is required. Please adjust the configuration file .htconfig.php accordingly.'] = 'This is required. Please adjust the configuration file .htconfig.php accordingly.';
+$a->strings['The command line version of PHP on your system does not have "register_argc_argv" enabled.'] = 'The command line version of PHP on your system does not have "register_argc_argv" enabled.';
+$a->strings['This is required for message delivery to work.'] = 'Det krävs för att meddelanden ska kunna levereras.';
+$a->strings['Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys'] = 'Fel: funktionen "openssl_pkey_new" kan inte skapa krypteringsnycklar';
+$a->strings['If running under Windows, please see "http://www.php.net/manual/en/openssl.installation.php".'] = 'Läs mer på "http://www.php.net/manual/en/openssl.installation.php" om du kör Windows.';
+$a->strings['Error: Apache webserver mod-rewrite module is required but not installed.'] = 'Error: Apache webserver mod-rewrite module is required but not installed.';
+$a->strings['Error: libCURL PHP module required but not installed.'] = 'Error: libCURL PHP module required but not installed.';
+$a->strings['Error: GD graphics PHP module with JPEG support required but not installed.'] = 'Error: GD graphics PHP module with JPEG support required but not installed.';
+$a->strings['Error: openssl PHP module required but not installed.'] = 'Error: openssl PHP module required but not installed.';
+$a->strings['Error: mysqli PHP module required but not installed.'] = 'Error: mysqli PHP module required but not installed.';
+$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.'] = '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.';
+$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.'] = '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.';
+$a->strings['Please check with your site documentation or support people to see if this situation can be corrected.'] = 'Please check with your site documentation or support people to see if this situation can be corrected.';
+$a->strings['If not, you may be required to perform a manual installation. Please see the file "INSTALL.txt" for instructions.'] = 'If not, you may be required to perform a manual installation. Please see the file "INSTALL.txt" for instructions.';
+$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.'] = '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.';
+$a->strings['Errors encountered creating database tables.'] = 'Fel vid skapandet av databastabeller.';
+$a->strings[' : '] = ' : ';
+$a->strings['Not a valid email address.'] = 'Ogiltig e-postadress.';
+$a->strings['Please join my network on '] = 'Gå med i mitt nätverk på ';
+$a->strings['Message delivery failed.'] = 'Meddelandet kom inte fram.';
+$a->strings[' messages sent.'] = ' meddelanden har skickats.';
+$a->strings['Send invitations'] = 'Send invitations';
+$a->strings['Enter email addresses, one per line:'] = 'Ange e-postadresser, en per rad:';
+$a->strings['Please join my social network on '] = 'Gå med i mitt sociala nätverk på ';
+$a->strings['To accept this invitation, please visit:'] = 'Gå hit för att tacka ja till inbjudan:';
+$a->strings['Once you have registered, please connect with me via my profile page at:'] = 'Once you have registered, please connect with me via my profile page at:';
+$a->strings['Unable to locate original post.'] = 'Unable to locate original post.';
+$a->strings['Empty post discarded.'] = 'Empty post discarded.';
+$a->strings[" commented on your item at "] = " commented on your item at ";
+$a->strings[" posted on your profile wall at "] = " posted on your profile wall at ";
+$a->strings['System error. Post not saved.'] = 'Systemfel. Inlägget sparades inte.';
+$a->strings['This message was sent to you by '] = 'Du har fått det här meddelandet av ';
+$a->strings[', a member of the Friendika social network.'] = ', medlem i det sociala nätverket Friendika.';
+$a->strings['You may visit them online at'] = 'Besök online på';
+$a->strings['Please contact the sender by replying to this post if you do not wish to receive these messages.'] = 'Kontakta avsändaren genom att svara på det här meddelandet om du inte vill ha sådana här meddelanden.';
+$a->strings['posted an update.'] = 'gjorde en uppdatering.';
+$a->strings['photo'] = 'foto';
+$a->strings['status'] = 'status';
+$a->strings['likes'] = 'gillar';
+$a->strings['doesn\'t like'] = 'ogillar';
+$a->strings['\'s'] = 's';
+$a->strings['Remote privacy information not available.'] = 'Remote privacy information not available.';
+$a->strings['Visible to:'] = 'Synlig för:';
+$a->strings['Password reset requested at '] = 'Lösenordsåterställning begärd kl ';
+$a->strings["Welcome back "] = "Välkommen tillbaka ";
+$a->strings['Manage Identities and/or Pages'] = 'Ändra identitet eller sidor';
+$a->strings["\x28Toggle between different identities or community/group pages which share your account details.\x29"] = "\x28Toggle between different identities or community/group pages which share your account details.\x29";
+$a->strings['Select an identity to manage: '] = 'Välj vilken identitet du vill ändra: ';
+$a->strings['Normal View'] = 'Normal vy';
+$a->strings['New Item View'] = 'New Item View';
+$a->strings['Share'] = 'Dela';
+$a->strings['Insert YouTube video'] = 'Infoga klipp från YouTube';
+$a->strings['Set your location'] = 'Ange plats';
+$a->strings['Clear browser location'] = 'Clear browser location';
+$a->strings['Permission settings'] = 'Åtkomstinställningar';
+$a->strings['No such group'] = 'Gruppen finns inte';
+$a->strings['Group is empty'] = 'Gruppen är tom';
+$a->strings['Group: '] = 'Grupp: ';
+$a->strings['View in context'] = 'Se i sitt sammanhang';
+$a->strings['Invalid request identifier.'] = 'Invalid request identifier.';
+$a->strings['Discard'] = 'Kasta bort';
+$a->strings['Ignore'] = 'Ignorera';
+$a->strings['Show Ignored Requests'] = 'Show Ignored Requests';
+$a->strings['Hide Ignored Requests'] = 'Hide Ignored Requests';
+$a->strings['Claims to be known to you: '] = 'Hävdar att du vet vem han/hon är: ';
+$a->strings['yes'] = 'ja';
+$a->strings['no'] = 'nej';
+$a->strings['Approve as: '] = 'Godkänn som: ';
+$a->strings['Friend'] = 'Vän';
+$a->strings['Fan/Admirer'] = 'Fan/Beundrare';
+$a->strings['Notification type: '] = 'Notification type: ';
+$a->strings['Friend/Connect Request'] = 'Friend/Connect Request';
+$a->strings['New Follower'] = 'New Follower';
+$a->strings['Approve'] = 'Godkänn';
+$a->strings['No notifications.'] = 'Inga aviseringar.';
+$a->strings['No registrations.'] = 'Inga registreringar.';
+$a->strings['Login failed.'] = 'Inloggningen misslyckades.';
+$a->strings['Photo Albums'] = 'Fotoalbum';
+$a->strings['Contact Photos'] = 'Contact Photos';
+$a->strings['Contact information unavailable'] = 'Kontaktinformationen är inte tillgänglig';
+$a->strings['Profile Photos'] = 'Profilbilder';
+$a->strings['Album not found.'] = 'Albumet finns inte.';
+$a->strings['Delete Album'] = 'Ta bort album';
+$a->strings['Delete Photo'] = 'Ta bort foto';
+$a->strings['was tagged in a'] = 'har taggats i';
+$a->strings['by'] = 'av';
+$a->strings['Image exceeds size limit of '] = 'Bilden överskrider den tillåtna storleken ';
+$a->strings['Unable to process image.'] = 'Bilden kunde inte bahandlas.';
+$a->strings['Image upload failed.'] = 'Fel vid bilduppladdning.';
+$a->strings['No photos selected'] = 'Inga foton har valts';
+$a->strings['Upload Photos'] = 'Ladda upp foton';
+$a->strings['New album name: '] = 'Nytt album med namn: ';
+$a->strings['or existing album name: '] = 'eller befintligt album med namn: ';
+$a->strings['Permissions'] = 'Åtkomst';
+$a->strings['Edit Album'] = 'Redigera album';
+$a->strings['View Photo'] = 'Visa foto';
+$a->strings['Photo not available'] = 'Fotot är inte tillgängligt';
+$a->strings['Edit photo'] = 'Redigera foto';
+$a->strings['View Full Size'] = 'Visa fullstor';
+$a->strings['Tags: '] = 'Taggar: ';
+$a->strings['[Remove any tag]'] = '[Remove any tag]';
+$a->strings['New album name'] = 'Nytt album med namn';
+$a->strings['Caption'] = 'Caption';
+$a->strings['Add a Tag'] = 'Lägg till tagg';
+$a->strings['Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'] = 'Exempel: @adam, @Anna_Andersson, @johan@exempel.com, #Stockholm, #camping';
+$a->strings['Recent Photos'] = 'Nyligen tillagda foton';
+$a->strings['Upload New Photos'] = 'Ladda upp foton';
+$a->strings['View Album'] = 'Titta i album';
+$a->strings['Image uploaded but image cropping failed.'] = 'Bilden laddades upp men det blev fel när den skulle beskäras.';
+$a->strings['Image size reduction [175] failed.'] = 'Fel när bildstorlek skulle minskas [175].';
+$a->strings['Image size reduction [80] failed.'] = 'Fel när bildstorlek skulle minskas [80].';
+$a->strings['Image size reduction [48] failed.'] = 'Fel när bildstorlek skulle minskas [48].';
+$a->strings['Unable to process image'] = 'Det gick inte att behandla bilden';
+$a->strings['Image uploaded successfully.'] = 'Bilden har laddats upp.';
+$a->strings['Image size reduction [640] failed.'] = 'Fel när bildstorlek skulle minskas [640].';
+$a->strings['Profile Name is required.'] = 'Profilen måste ha ett namn.';
+$a->strings['Profile updated.'] = 'Profilen har uppdaterats.';
+$a->strings['Profile deleted.'] = 'Profilen har tagits bort.';
+$a->strings['Profile-'] = 'Profil-';
+$a->strings['New profile created.'] = 'En ny profil har skapats.';
+$a->strings['Profile unavailable to clone.'] = 'Det gick inte att klona profilen.';
+$a->strings['This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet.'] = 'Det här är din <strong>offentliga</strong> profil.<br />Den <strong>kan</strong> vara synlig för vem som helst på internet.';
+$a->strings['Age: '] = 'Ålder: ';
+$a->strings['Profile Image'] = 'Profilbild';
+$a->strings['Invalid OpenID url'] = 'Ogiltig OpenID-URL';
+$a->strings['Please enter the required information.'] = 'Fyll i alla obligatoriska fält.';
+$a->strings['Please use a shorter name.'] = 'Välj ett kortare namn.';
+$a->strings['Name too short.'] = 'Namnet är för kort.';
+$a->strings["That doesn\'t appear to be your full \x28First Last\x29 name."] = "Du verkar inte ha angett ditt fullständiga namn.";
+$a->strings['Your email domain is not among those allowed on this site.'] = 'Din epostdomän är inte tillåten på den här webbplatsen.';
+$a->strings['Cannot use that email.'] = 'Får inte använda den e-postadressen.';
+$a->strings['Your "nickname" can only contain "a-z", "0-9", "-", and "_", and must also begin with a letter.'] = 'Ditt användarnamn får bara innehålla "a-z", "0-9", "-" och "_", och måste dessutom börja med en bokstav.';
+$a->strings['Nickname is already registered. Please choose another.'] = 'Användarnamnet är upptaget. Välj ett annat.';
+$a->strings['SERIOUS ERROR: Generation of security keys failed.'] = 'SERIOUS ERROR: Generation of security keys failed.';
+$a->strings['An error occurred during registration. Please try again.'] = 'Något gick fel vid registreringen. Försök igen.';
+$a->strings['An error occurred creating your default profile. Please try again.'] = 'An error occurred creating your default profile. Please try again.';
+$a->strings['Registration details for '] = 'Registration details for ';
+$a->strings['Registration successful. Please check your email for further instructions.'] = 'Registrering klar. Kolla din e-post för vidare instruktioner.';
+$a->strings['Failed to send email message. Here is the message that failed.'] = 'Det gick inte att skicka e-brevet. Här är meddelandet som inte kunde skickas.';
+$a->strings['Your registration can not be processed.'] = 'Det går inte att behandla registreringen.';
+$a->strings['Registration request at '] = 'Registration request at ';
+$a->strings['Your registration is pending approval by the site owner.'] = 'Din registrering inväntar godkännande av webbplatsens ägare.';
+$a->strings["You may \x28optionally\x29 fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "You may \x28optionally\x29 fill in this form via OpenID by supplying your OpenID and clicking 'Register'.";
+$a->strings['If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.'] = 'Om du inte känner till OpenID kan du lämna det fältet tomt och fylla i resten.';
+$a->strings["Your OpenID \x28optional\x29: "] = "Ditt OpenID \x28krävs ej\x29: ";
+$a->strings['Members of this network prefer to communicate with real people who use their real names.'] = 'Medlemmarna i det här nätverket föredrar att kommunicera med riktiga människor som använder sina riktiga namn.';
+$a->strings['Include your profile in member directory?'] = 'Inkludera din profil i medlemskatalogen?';
+$a->strings['Registration'] = 'Registrering';
+$a->strings['Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': '] = 'Ditt fullständiga namn ' . "\x28" . 't. ex. Karl Karlsson' . "\x29" . ': ';
+$a->strings['Your Email Address: '] = 'Din e-postadress: ';
+$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>\'.'] = 'Välj ett användarnamn. Det måste inledas med en bokstav. Din profiladress på den här webbplatsen blir \'<strong>användarnamn@$sitename</strong>\'.';
+$a->strings['Choose a nickname: '] = 'Välj ett användarnamn: ';
+$a->strings['Please login.'] = 'Logga in.';
+$a->strings['Registration revoked for '] = 'Registration revoked for ';
+$a->strings['Account approved.'] = 'Kontot har godkänts.';
+$a->strings['Remove My Account'] = 'Ta bort mitt konto';
+$a->strings['This will completely remove your account. Once this has been done it is not recoverable.'] = 'Detta kommer att ta bort kontot helt och hållet. Efter att det är gjort går det inte att återställa.';
+$a->strings['Please enter your password for verification:'] = 'Ange lösenordet igen för jämförelse:';
+$a->strings['Passwords do not match. Password unchanged.'] = 'Lösenorden skiljer sig åt. Lösenordet ändras inte.';
+$a->strings['Empty passwords are not allowed. Password unchanged.'] = 'Lösenordet får inte vara blankt. Lösenordet ändras inte.';
+$a->strings['Password changed.'] = 'Lösenordet har ändrats.';
+$a->strings['Password update failed. Please try again.'] = 'Det blev fel när lösenordet skulle ändras. Försök igen.';
+$a->strings[' Please use a shorter name.'] = ' Använd ett kortare namn.';
+$a->strings[' Name too short.'] = ' Namnet är för kort.';
+$a->strings[' Not valid email.'] = ' Ogiltig e-postadress.';
+$a->strings[' Cannot change to that email.'] = ' Ändring till den e-postadressen görs inte.';
+$a->strings['Settings updated.'] = 'Inställningarna har uppdaterats.';
+$a->strings['Plugin Settings'] = 'Plugin Settings';
+$a->strings['Account Settings'] = 'Kontoinställningar';
+$a->strings['No Plugin settings configured'] = 'No Plugin settings configured';
+$a->strings['OpenID: '] = 'OpenID: ';
+$a->strings["&nbsp;\x28Optional\x29 Allow this OpenID to login to this account."] = "&nbsp;\x28Valfritt\x29 Tillåt inloggning med detta OpenID på det här kontot.";
+$a->strings['Profile is <strong>not published</strong>.'] = 'Profilen är <strong>inte publicerad</strong>.';
+$a->strings['Default Post Permissions'] = 'Default Post Permissions';
+$a->strings['Tag removed'] = 'Taggen har tagits bort';
+$a->strings['Remove Item Tag'] = 'Ta bort tagg';
+$a->strings['Select a tag to remove: '] = 'Välj vilken tagg som ska tas bort: ';
+$a->strings['Remove'] = 'Ta bort';
+$a->strings['No contacts.'] = 'Inga kontakter.';
+$a->strings['Visible To:'] = 'Synlig för:';
+$a->strings['Groups'] = 'Grupper';
+$a->strings['Except For:'] = 'Utom för:';
+$a->strings['Logged out.'] = 'Utloggad.';
+$a->strings['Unknown | Not categorised'] = 'Okänd | Inte kategoriserad';
+$a->strings['Block immediately'] = 'Spärra omedelbart';
+$a->strings['Shady, spammer, self-marketer'] = 'Suspekt, spammare, reklamspridare';
+$a->strings['Known to me, but no opinion'] = 'Jag vet vem det är, men har ingen åsikt';
+$a->strings['OK, probably harmless'] = 'OK, antagligen harmlös';
+$a->strings['Reputable, has my trust'] = 'Pålitlig, jag litar på personen';
+$a->strings['Frequently'] = 'Ofta';
+$a->strings['Hourly'] = 'Varje timme';
+$a->strings['Twice daily'] = 'Två gånger om dagen';
+$a->strings['Daily'] = 'Dagligen';
+$a->strings['Weekly'] = 'Veckovis';
+$a->strings['Monthly'] = 'Månadsvis';
+$a->strings['Miscellaneous'] = 'Blandat';
+$a->strings['less than a second ago'] = 'för mindre än en sekund sedan';
+$a->strings['year'] = 'år';
+$a->strings['years'] = 'år';
+$a->strings['month'] = 'månad';
+$a->strings['months'] = 'månader';
+$a->strings['week'] = 'vecka';
+$a->strings['weeks'] = 'veckor';
+$a->strings['day'] = 'dag';
+$a->strings['days'] = 'dagar';
+$a->strings['hour'] = 'timme';
+$a->strings['hours'] = 'timmar';
+$a->strings['minute'] = 'minut';
+$a->strings['minutes'] = 'minuter';
+$a->strings['second'] = 'sekund';
+$a->strings['seconds'] = 'sekunder';
+$a->strings[' ago'] = ' sedan';
+$a->strings['Create a new group'] = 'Skapa ny grupp';
+$a->strings['Everybody'] = 'Alla';
+$a->strings['Birthday:'] = 'Födelsedatum:';
+$a->strings['Home'] = 'Hem';
+$a->strings['Apps'] = 'Apps';
+$a->strings['Directory'] = 'Katalog';
+$a->strings['Network'] = 'Nätverk';
+$a->strings['Notifications'] = 'Aviseringar';
+$a->strings['Manage'] = 'Hantera';
+$a->strings['Settings'] = 'Inställningar';
+$a->strings['Profiles'] = 'Profiler';
+$a->strings['Embedding disabled'] = 'Embedding disabled';
+$a->strings['Male'] = 'Man';
+$a->strings['Female'] = 'Kvinna';
+$a->strings['Currently Male'] = 'För närvarande man';
+$a->strings['Currently Female'] = 'För närvarande kvinna';
+$a->strings['Mostly Male'] = 'Mestadels man';
+$a->strings['Mostly Female'] = 'Mestadels kvinna';
+$a->strings['Transgender'] = 'Transgender';
+$a->strings['Intersex'] = 'Intersex';
+$a->strings['Transsexual'] = 'Transsexuell';
+$a->strings['Hermaphrodite'] = 'Hermafrodit';
+$a->strings['Neuter'] = 'Neuter';
+$a->strings['Non-specific'] = 'Non-specific';
+$a->strings['Other'] = 'Annat';
+$a->strings['Undecided'] = 'Undecided';
+$a->strings['Males'] = 'Males';
+$a->strings['Females'] = 'Females';
+$a->strings['Gay'] = 'Bög';
+$a->strings['Lesbian'] = 'Lesbisk';
+$a->strings['No Preference'] = 'No Preference';
+$a->strings['Bisexual'] = 'Bisexuell';
+$a->strings['Autosexual'] = 'Autosexual';
+$a->strings['Abstinent'] = 'Abstinent';
+$a->strings['Virgin'] = 'Oskuld';
+$a->strings['Deviant'] = 'Avvikande';
+$a->strings['Fetish'] = 'Fetish';
+$a->strings['Oodles'] = 'Oodles';
+$a->strings['Nonsexual'] = 'Nonsexual';
+$a->strings['Single'] = 'Singel';
+$a->strings['Lonely'] = 'Ensam';
+$a->strings['Available'] = 'Tillgänglig';
+$a->strings['Unavailable'] = 'Upptagen';
+$a->strings['Dating'] = 'Dejtar';
+$a->strings['Unfaithful'] = 'Unfaithful';
+$a->strings['Sex Addict'] = 'Sexmissbrukare';
+$a->strings['Friends'] = 'Vänner';
+$a->strings['Friends/Benefits'] = 'Friends/Benefits';
+$a->strings['Casual'] = 'Casual';
+$a->strings['Engaged'] = 'Förlovad';
+$a->strings['Married'] = 'Gift';
+$a->strings['Partners'] = 'I partnerskap';
+$a->strings['Cohabiting'] = 'Cohabiting';
+$a->strings['Happy'] = 'Glad';
+$a->strings['Not Looking'] = 'Letar inte';
+$a->strings['Swinger'] = 'Swinger';
+$a->strings['Betrayed'] = 'Bedragen';
+$a->strings['Separated'] = 'Separerat';
+$a->strings['Unstable'] = 'Unstable';
+$a->strings['Divorced'] = 'Skiljd';
+$a->strings['Widowed'] = 'Widowed';
+$a->strings['Uncertain'] = 'Uncertain';
+$a->strings['Complicated'] = 'Komplicerat';
+$a->strings['Don\'t care'] = 'Bryr mig inte';
+$a->strings['Ask me'] = 'Fråga mig';
+$a->strings['Facebook disabled'] = 'Facebook disabled';
+$a->strings['Facebook API key is missing.'] = 'Facebook API key is missing.';
+$a->strings['Facebook Connect'] = 'Facebook Connect';
+$a->strings['Install Facebook post connector'] = 'Install Facebook post connector';
+$a->strings['Remove Facebook post connector'] = 'Remove Facebook post connector';
+$a->strings['Facebook'] = 'Facebook';
+$a->strings['Facebook Connector Settings'] = 'Facebook Connector Settings';
+$a->strings['Post to Facebook'] = 'Lägg in på Facebook';
+$a->strings['Image: '] = 'Bild: ';
+$a->strings['Select files to upload: '] = 'Välj filer att ladda upp: ';
+$a->strings['Use the following controls only if the Java uploader [above] fails to launch.'] = 'Använd följande bara om javauppladdaren ovanför inte startar.';
+$a->strings['Upload a file'] = 'Ladda upp fil';
+$a->strings['Drop files here to upload'] = 'Dra filer som ska laddas upp hit';
+$a->strings['Failed'] = 'Misslyckades';
+$a->strings['No files were uploaded.'] = 'Inga filer laddades upp.';
+$a->strings['Uploaded file is empty'] = 'Den uppladdade filen är tom';
+$a->strings['Uploaded file is too large'] = 'Den uppladdade filen är för stor';
+$a->strings['File has an invalid extension, it should be one of '] = 'Otillåten filnamnsändelse, det ska vara ';
+$a->strings['Upload was cancelled, or server error encountered'] = 'Serverfel eller avbruten uppladdning';
+$a->strings['Randplace Settings'] = 'Randplace Settings';
+$a->strings['Enable Randplace Plugin'] = 'Enable Randplace Plugin';
+$a->strings['Post to StatusNet'] = 'Lägg in på StatusNet';
+$a->strings['StatusNet Posting Settings'] = 'StatusNet Posting Settings';
+$a->strings['No consumer key pair for StatusNet found. Register your Friendika 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 Friendika installation at your favorited StatusNet installation.'] = 'No consumer key pair for StatusNet found. Register your Friendika 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 Friendika installation at your favorited StatusNet installation.';
+$a->strings['OAuth Consumer Key'] = 'OAuth Consumer Key';
+$a->strings['OAuth Consumer Secret'] = 'OAuth Consumer Secret';
+$a->strings["Base API Path \x28remember the trailing /\x29"] = "Base API Path \x28remember the trailing /\x29";
+$a->strings['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.'] = '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.';
+$a->strings['Log in with StatusNet'] = 'Logga in med StatusNet';
+$a->strings['Copy the security code from StatusNet here'] = 'Copy the security code from StatusNet here';
+$a->strings['Currently connected to: '] = 'Ansluten till: ';
+$a->strings['If enabled all your <strong>public</strong> postings will be posted to the associated StatusNet account as well.'] = 'If enabled all your <strong>public</strong> postings will be posted to the associated StatusNet account as well.';
+$a->strings['Send public postings to StatusNet'] = 'Send public postings to StatusNet';
+$a->strings['Clear OAuth configuration'] = 'Clear OAuth configuration';
+$a->strings['Three Dimensional Tic-Tac-Toe'] = 'Tredimensionellt luffarschack';
+$a->strings['3D Tic-Tac-Toe'] = '3D-luffarschack';
+$a->strings['New game'] = 'Ny spelomgång';
+$a->strings['New game with handicap'] = 'Ny spelomgång med handikapp';
+$a->strings['Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. '] = 'Det tredimensionella luffarschacket är precis som vanligt luffarschack förutom att det spelas i flera nivåer samtidigt. ';
+$a->strings['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.'] = 'Här är det tre nivåer. Man vinner om man får tre i rad på vilken nivå som helst, eller uppåt, nedåt eller diagonalt på flera nivåer.';
+$a->strings['The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage.'] = 'Om man spelar med handikapp så stängs mittenpositionen på mittennivån av eftersom spelare som väljer den positionen ofta får övertaget.';
+$a->strings['You go first...'] = 'Du börjar...';
+$a->strings['I\'m going first this time...'] = 'Jag börjar den här gången...';
+$a->strings['You won!'] = 'Du vann!';
+$a->strings['"Cat" game!'] = '"Cat" game!';
+$a->strings['I won!'] = 'Jag vann!';
+$a->strings['Post to Twitter'] = 'Lägg in på Twitter';
+$a->strings['Twitter Posting Settings'] = 'Twitter Posting Settings';
+$a->strings['No consumer key pair for Twitter found. Please contact your site administrator.'] = 'No consumer key pair for Twitter found. Please contact your site administrator.';
+$a->strings['At this Friendika 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.'] = 'At this Friendika 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.';
+$a->strings['Copy the PIN from Twitter here'] = 'Ange PIN-koden från Twitter här';
+$a->strings['If enabled all your <strong>public</strong> postings will be posted to the associated Twitter account as well.'] = 'If enabled all your <strong>public</strong> postings will be posted to the associated Twitter account as well.';
+$a->strings['Send public postings to Twitter'] = 'Send public postings to Twitter';
+$a->strings['Africa/Abidjan'] = 'Afrika/Abidjan';
+$a->strings['Africa/Accra'] = 'Afrika/Accra';
+$a->strings['Africa/Addis_Ababa'] = 'Afrika/Addis_Ababa';
+$a->strings['Africa/Algiers'] = 'Afrika/Algiers';
+$a->strings['Africa/Asmara'] = 'Afrika/Asmara';
+$a->strings['Africa/Asmera'] = 'Afrika/Asmera';
+$a->strings['Africa/Bamako'] = 'Afrika/Bamako';
+$a->strings['Africa/Bangui'] = 'Afrika/Bangui';
+$a->strings['Africa/Banjul'] = 'Afrika/Banjul';
+$a->strings['Africa/Bissau'] = 'Afrika/Bissau';
+$a->strings['Africa/Blantyre'] = 'Afrika/Blantyre';
+$a->strings['Africa/Brazzaville'] = 'Afrika/Brazzaville';
+$a->strings['Africa/Bujumbura'] = 'Afrika/Bujumbura';
+$a->strings['Africa/Cairo'] = 'Afrika/Cairo';
+$a->strings['Africa/Casablanca'] = 'Afrika/Casablanca';
+$a->strings['Africa/Ceuta'] = 'Afrika/Ceuta';
+$a->strings['Africa/Conakry'] = 'Afrika/Conakry';
+$a->strings['Africa/Dakar'] = 'Afrika/Dakar';
+$a->strings['Africa/Dar_es_Salaam'] = 'Afrika/Dar_es_Salaam';
+$a->strings['Africa/Djibouti'] = 'Afrika/Djibouti';
+$a->strings['Africa/Douala'] = 'Afrika/Douala';
+$a->strings['Africa/El_Aaiun'] = 'Afrika/El_Aaiun';
+$a->strings['Africa/Freetown'] = 'Afrika/Freetown';
+$a->strings['Africa/Gaborone'] = 'Afrika/Gaborone';
+$a->strings['Africa/Harare'] = 'Afrika/Harare';
+$a->strings['Africa/Johannesburg'] = 'Afrika/Johannesburg';
+$a->strings['Africa/Kampala'] = 'Afrika/Kampala';
+$a->strings['Africa/Khartoum'] = 'Afrika/Khartoum';
+$a->strings['Africa/Kigali'] = 'Afrika/Kigali';
+$a->strings['Africa/Kinshasa'] = 'Afrika/Kinshasa';
+$a->strings['Africa/Lagos'] = 'Afrika/Lagos';
+$a->strings['Africa/Libreville'] = 'Afrika/Libreville';
+$a->strings['Africa/Lome'] = 'Afrika/Lome';
+$a->strings['Africa/Luanda'] = 'Afrika/Luanda';
+$a->strings['Africa/Lubumbashi'] = 'Afrika/Lubumbashi';
+$a->strings['Africa/Lusaka'] = 'Afrika/Lusaka';
+$a->strings['Africa/Malabo'] = 'Afrika/Malabo';
+$a->strings['Africa/Maputo'] = 'Afrika/Maputo';
+$a->strings['Africa/Maseru'] = 'Afrika/Maseru';
+$a->strings['Africa/Mbabane'] = 'Afrika/Mbabane';
+$a->strings['Africa/Mogadishu'] = 'Afrika/Mogadishu';
+$a->strings['Africa/Monrovia'] = 'Afrika/Monrovia';
+$a->strings['Africa/Nairobi'] = 'Afrika/Nairobi';
+$a->strings['Africa/Ndjamena'] = 'Afrika/Ndjamena';
+$a->strings['Africa/Niamey'] = 'Afrika/Niamey';
+$a->strings['Africa/Nouakchott'] = 'Afrika/Nouakchott';
+$a->strings['Africa/Ouagadougou'] = 'Afrika/Ouagadougou';
+$a->strings['Africa/Porto-Novo'] = 'Afrika/Porto-Novo';
+$a->strings['Africa/Sao_Tome'] = 'Afrika/Sao_Tome';
+$a->strings['Africa/Timbuktu'] = 'Afrika/Timbuktu';
+$a->strings['Africa/Tripoli'] = 'Afrika/Tripoli';
+$a->strings['Africa/Tunis'] = 'Afrika/Tunis';
+$a->strings['Africa/Windhoek'] = 'Afrika/Windhoek';
+$a->strings['America/Adak'] = 'Amerika/Adak';
+$a->strings['America/Anchorage'] = 'Amerika/Anchorage';
+$a->strings['America/Anguilla'] = 'Amerika/Anguilla';
+$a->strings['America/Antigua'] = 'Amerika/Antigua';
+$a->strings['America/Araguaina'] = 'Amerika/Araguaina';
+$a->strings['America/Argentina/Buenos_Aires'] = 'Amerika/Argentina/Buenos_Aires';
+$a->strings['America/Argentina/Catamarca'] = 'Amerika/Argentina/Catamarca';
+$a->strings['America/Argentina/ComodRivadavia'] = 'Amerika/Argentina/ComodRivadavia';
+$a->strings['America/Argentina/Cordoba'] = 'Amerika/Argentina/Cordoba';
+$a->strings['America/Argentina/Jujuy'] = 'Amerika/Argentina/Jujuy';
+$a->strings['America/Argentina/La_Rioja'] = 'Amerika/Argentina/La_Rioja';
+$a->strings['America/Argentina/Mendoza'] = 'Amerika/Argentina/Mendoza';
+$a->strings['America/Argentina/Rio_Gallegos'] = 'Amerika/Argentina/Rio_Gallegos';
+$a->strings['America/Argentina/Salta'] = 'Amerika/Argentina/Salta';
+$a->strings['America/Argentina/San_Juan'] = 'Amerika/Argentina/San_Juan';
+$a->strings['America/Argentina/San_Luis'] = 'Amerika/Argentina/San_Luis';
+$a->strings['America/Argentina/Tucuman'] = 'Amerika/Argentina/Tucuman';
+$a->strings['America/Argentina/Ushuaia'] = 'Amerika/Argentina/Ushuaia';
+$a->strings['America/Aruba'] = 'Amerika/Aruba';
+$a->strings['America/Asuncion'] = 'Amerika/Asuncion';
+$a->strings['America/Atikokan'] = 'Amerika/Atikokan';
+$a->strings['America/Atka'] = 'Amerika/Atka';
+$a->strings['America/Bahia'] = 'Amerika/Bahia';
+$a->strings['America/Barbados'] = 'Amerika/Barbados';
+$a->strings['America/Belem'] = 'Amerika/Belem';
+$a->strings['America/Belize'] = 'Amerika/Belize';
+$a->strings['America/Blanc-Sablon'] = 'Amerika/Blanc-Sablon';
+$a->strings['America/Boa_Vista'] = 'Amerika/Boa_Vista';
+$a->strings['America/Bogota'] = 'Amerika/Bogota';
+$a->strings['America/Boise'] = 'Amerika/Boise';
+$a->strings['America/Buenos_Aires'] = 'Amerika/Buenos_Aires';
+$a->strings['America/Cambridge_Bay'] = 'Amerika/Cambridge_Bay';
+$a->strings['America/Campo_Grande'] = 'Amerika/Campo_Grande';
+$a->strings['America/Cancun'] = 'Amerika/Cancun';
+$a->strings['America/Caracas'] = 'Amerika/Caracas';
+$a->strings['America/Catamarca'] = 'Amerika/Catamarca';
+$a->strings['America/Cayenne'] = 'Amerika/Cayenne';
+$a->strings['America/Cayman'] = 'Amerika/Cayman';
+$a->strings['America/Chicago'] = 'Amerika/Chicago';
+$a->strings['America/Chihuahua'] = 'Amerika/Chihuahua';
+$a->strings['America/Coral_Harbour'] = 'Amerika/Coral_Harbour';
+$a->strings['America/Cordoba'] = 'Amerika/Cordoba';
+$a->strings['America/Costa_Rica'] = 'Amerika/Costa_Rica';
+$a->strings['America/Cuiaba'] = 'Amerika/Cuiaba';
+$a->strings['America/Curacao'] = 'Amerika/Curacao';
+$a->strings['America/Danmarkshavn'] = 'Amerika/Danmarkshavn';
+$a->strings['America/Dawson'] = 'Amerika/Dawson';
+$a->strings['America/Dawson_Creek'] = 'Amerika/Dawson_Creek';
+$a->strings['America/Denver'] = 'Amerika/Denver';
+$a->strings['America/Detroit'] = 'Amerika/Detroit';
+$a->strings['America/Dominica'] = 'Amerika/Dominica';
+$a->strings['America/Edmonton'] = 'Amerika/Edmonton';
+$a->strings['America/Eirunepe'] = 'Amerika/Eirunepe';
+$a->strings['America/El_Salvador'] = 'Amerika/El_Salvador';
+$a->strings['America/Ensenada'] = 'Amerika/Ensenada';
+$a->strings['America/Fort_Wayne'] = 'Amerika/Fort_Wayne';
+$a->strings['America/Fortaleza'] = 'Amerika/Fortaleza';
+$a->strings['America/Glace_Bay'] = 'Amerika/Glace_Bay';
+$a->strings['America/Godthab'] = 'Amerika/Godthab';
+$a->strings['America/Goose_Bay'] = 'Amerika/Goose_Bay';
+$a->strings['America/Grand_Turk'] = 'Amerika/Grand_Turk';
+$a->strings['America/Grenada'] = 'Amerika/Grenada';
+$a->strings['America/Guadeloupe'] = 'Amerika/Guadeloupe';
+$a->strings['America/Guatemala'] = 'Amerika/Guatemala';
+$a->strings['America/Guayaquil'] = 'Amerika/Guayaquil';
+$a->strings['America/Guyana'] = 'Amerika/Guyana';
+$a->strings['America/Halifax'] = 'Amerika/Halifax';
+$a->strings['America/Havana'] = 'Amerika/Havana';
+$a->strings['America/Hermosillo'] = 'Amerika/Hermosillo';
+$a->strings['America/Indiana/Indianapolis'] = 'Amerika/Indiana/Indianapolis';
+$a->strings['America/Indiana/Knox'] = 'Amerika/Indiana/Knox';
+$a->strings['America/Indiana/Marengo'] = 'Amerika/Indiana/Marengo';
+$a->strings['America/Indiana/Petersburg'] = 'Amerika/Indiana/Petersburg';
+$a->strings['America/Indiana/Tell_City'] = 'Amerika/Indiana/Tell_City';
+$a->strings['America/Indiana/Vevay'] = 'Amerika/Indiana/Vevay';
+$a->strings['America/Indiana/Vincennes'] = 'Amerika/Indiana/Vincennes';
+$a->strings['America/Indiana/Winamac'] = 'Amerika/Indiana/Winamac';
+$a->strings['America/Indianapolis'] = 'Amerika/Indianapolis';
+$a->strings['America/Inuvik'] = 'Amerika/Inuvik';
+$a->strings['America/Iqaluit'] = 'Amerika/Iqaluit';
+$a->strings['America/Jamaica'] = 'Amerika/Jamaica';
+$a->strings['America/Jujuy'] = 'Amerika/Jujuy';
+$a->strings['America/Juneau'] = 'Amerika/Juneau';
+$a->strings['America/Kentucky/Louisville'] = 'Amerika/Kentucky/Louisville';
+$a->strings['America/Kentucky/Monticello'] = 'Amerika/Kentucky/Monticello';
+$a->strings['America/Knox_IN'] = 'Amerika/Knox_IN';
+$a->strings['America/La_Paz'] = 'Amerika/La_Paz';
+$a->strings['America/Lima'] = 'Amerika/Lima';
+$a->strings['America/Los_Angeles'] = 'Amerika/Los_Angeles';
+$a->strings['America/Louisville'] = 'Amerika/Louisville';
+$a->strings['America/Maceio'] = 'Amerika/Maceio';
+$a->strings['America/Managua'] = 'Amerika/Managua';
+$a->strings['America/Manaus'] = 'Amerika/Manaus';
+$a->strings['America/Marigot'] = 'Amerika/Marigot';
+$a->strings['America/Martinique'] = 'Amerika/Martinique';
+$a->strings['America/Matamoros'] = 'Amerika/Matamoros';
+$a->strings['America/Mazatlan'] = 'Amerika/Mazatlan';
+$a->strings['America/Mendoza'] = 'Amerika/Mendoza';
+$a->strings['America/Menominee'] = 'Amerika/Menominee';
+$a->strings['America/Merida'] = 'Amerika/Merida';
+$a->strings['America/Mexico_City'] = 'Amerika/Mexico_City';
+$a->strings['America/Miquelon'] = 'Amerika/Miquelon';
+$a->strings['America/Moncton'] = 'Amerika/Moncton';
+$a->strings['America/Monterrey'] = 'Amerika/Monterrey';
+$a->strings['America/Montevideo'] = 'Amerika/Montevideo';
+$a->strings['America/Montreal'] = 'Amerika/Montreal';
+$a->strings['America/Montserrat'] = 'Amerika/Montserrat';
+$a->strings['America/Nassau'] = 'Amerika/Nassau';
+$a->strings['America/New_York'] = 'Amerika/New_York';
+$a->strings['America/Nipigon'] = 'Amerika/Nipigon';
+$a->strings['America/Nome'] = 'Amerika/Nome';
+$a->strings['America/Noronha'] = 'Amerika/Noronha';
+$a->strings['America/North_Dakota/Center'] = 'Amerika/North_Dakota/Center';
+$a->strings['America/North_Dakota/New_Salem'] = 'Amerika/North_Dakota/New_Salem';
+$a->strings['America/Ojinaga'] = 'Amerika/Ojinaga';
+$a->strings['America/Panama'] = 'Amerika/Panama';
+$a->strings['America/Pangnirtung'] = 'Amerika/Pangnirtung';
+$a->strings['America/Paramaribo'] = 'Amerika/Paramaribo';
+$a->strings['America/Phoenix'] = 'Amerika/Phoenix';
+$a->strings['America/Port-au-Prince'] = 'Amerika/Port-au-Prince';
+$a->strings['America/Port_of_Spain'] = 'Amerika/Port_of_Spain';
+$a->strings['America/Porto_Acre'] = 'Amerika/Porto_Acre';
+$a->strings['America/Porto_Velho'] = 'Amerika/Porto_Velho';
+$a->strings['America/Puerto_Rico'] = 'Amerika/Puerto_Rico';
+$a->strings['America/Rainy_River'] = 'Amerika/Rainy_River';
+$a->strings['America/Rankin_Inlet'] = 'Amerika/Rankin_Inlet';
+$a->strings['America/Recife'] = 'Amerika/Recife';
+$a->strings['America/Regina'] = 'Amerika/Regina';
+$a->strings['America/Resolute'] = 'Amerika/Resolute';
+$a->strings['America/Rio_Branco'] = 'Amerika/Rio_Branco';
+$a->strings['America/Rosario'] = 'Amerika/Rosario';
+$a->strings['America/Santa_Isabel'] = 'Amerika/Santa_Isabel';
+$a->strings['America/Santarem'] = 'Amerika/Santarem';
+$a->strings['America/Santiago'] = 'Amerika/Santiago';
+$a->strings['America/Santo_Domingo'] = 'Amerika/Santo_Domingo';
+$a->strings['America/Sao_Paulo'] = 'Amerika/Sao_Paulo';
+$a->strings['America/Scoresbysund'] = 'Amerika/Scoresbysund';
+$a->strings['America/Shiprock'] = 'Amerika/Shiprock';
+$a->strings['America/St_Barthelemy'] = 'Amerika/St_Barthelemy';
+$a->strings['America/St_Johns'] = 'Amerika/St_Johns';
+$a->strings['America/St_Kitts'] = 'Amerika/St_Kitts';
+$a->strings['America/St_Lucia'] = 'Amerika/St_Lucia';
+$a->strings['America/St_Thomas'] = 'Amerika/St_Thomas';
+$a->strings['America/St_Vincent'] = 'Amerika/St_Vincent';
+$a->strings['America/Swift_Current'] = 'Amerika/Swift_Current';
+$a->strings['America/Tegucigalpa'] = 'Amerika/Tegucigalpa';
+$a->strings['America/Thule'] = 'Amerika/Thule';
+$a->strings['America/Thunder_Bay'] = 'Amerika/Thunder_Bay';
+$a->strings['America/Tijuana'] = 'Amerika/Tijuana';
+$a->strings['America/Toronto'] = 'Amerika/Toronto';
+$a->strings['America/Tortola'] = 'Amerika/Tortola';
+$a->strings['America/Vancouver'] = 'Amerika/Vancouver';
+$a->strings['America/Virgin'] = 'Amerika/Virgin';
+$a->strings['America/Whitehorse'] = 'Amerika/Whitehorse';
+$a->strings['America/Winnipeg'] = 'Amerika/Winnipeg';
+$a->strings['America/Yakutat'] = 'Amerika/Yakutat';
+$a->strings['America/Yellowknife'] = 'Amerika/Yellowknife';
+$a->strings['Antarctica/Casey'] = 'Antarctica/Casey';
+$a->strings['Antarctica/Davis'] = 'Antarctica/Davis';
+$a->strings['Antarctica/DumontDUrville'] = 'Antarctica/DumontDUrville';
+$a->strings['Antarctica/Macquarie'] = 'Antarctica/Macquarie';
+$a->strings['Antarctica/Mawson'] = 'Antarctica/Mawson';
+$a->strings['Antarctica/McMurdo'] = 'Antarctica/McMurdo';
+$a->strings['Antarctica/Palmer'] = 'Antarctica/Palmer';
+$a->strings['Antarctica/Rothera'] = 'Antarctica/Rothera';
+$a->strings['Antarctica/South_Pole'] = 'Antarctica/South_Pole';
+$a->strings['Antarctica/Syowa'] = 'Antarctica/Syowa';
+$a->strings['Antarctica/Vostok'] = 'Antarctica/Vostok';
+$a->strings['Arctic/Longyearbyen'] = 'Arctic/Longyearbyen';
+$a->strings['Asia/Aden'] = 'Asien/Aden';
+$a->strings['Asia/Almaty'] = 'Asien/Almaty';
+$a->strings['Asia/Amman'] = 'Asien/Amman';
+$a->strings['Asia/Anadyr'] = 'Asien/Anadyr';
+$a->strings['Asia/Aqtau'] = 'Asien/Aqtau';
+$a->strings['Asia/Aqtobe'] = 'Asien/Aqtobe';
+$a->strings['Asia/Ashgabat'] = 'Asien/Ashgabat';
+$a->strings['Asia/Ashkhabad'] = 'Asien/Ashkhabad';
+$a->strings['Asia/Baghdad'] = 'Asien/Baghdad';
+$a->strings['Asia/Bahrain'] = 'Asien/Bahrain';
+$a->strings['Asia/Baku'] = 'Asien/Baku';
+$a->strings['Asia/Bangkok'] = 'Asien/Bangkok';
+$a->strings['Asia/Beirut'] = 'Asien/Beirut';
+$a->strings['Asia/Bishkek'] = 'Asien/Bishkek';
+$a->strings['Asia/Brunei'] = 'Asien/Brunei';
+$a->strings['Asia/Calcutta'] = 'Asien/Calcutta';
+$a->strings['Asia/Choibalsan'] = 'Asien/Choibalsan';
+$a->strings['Asia/Chongqing'] = 'Asien/Chongqing';
+$a->strings['Asia/Chungking'] = 'Asien/Chungking';
+$a->strings['Asia/Colombo'] = 'Asien/Colombo';
+$a->strings['Asia/Dacca'] = 'Asien/Dacca';
+$a->strings['Asia/Damascus'] = 'Asien/Damascus';
+$a->strings['Asia/Dhaka'] = 'Asien/Dhaka';
+$a->strings['Asia/Dili'] = 'Asien/Dili';
+$a->strings['Asia/Dubai'] = 'Asien/Dubai';
+$a->strings['Asia/Dushanbe'] = 'Asien/Dushanbe';
+$a->strings['Asia/Gaza'] = 'Asien/Gaza';
+$a->strings['Asia/Harbin'] = 'Asien/Harbin';
+$a->strings['Asia/Ho_Chi_Minh'] = 'Asien/Ho_Chi_Minh';
+$a->strings['Asia/Hong_Kong'] = 'Asien/Hong_Kong';
+$a->strings['Asia/Hovd'] = 'Asien/Hovd';
+$a->strings['Asia/Irkutsk'] = 'Asien/Irkutsk';
+$a->strings['Asia/Istanbul'] = 'Asien/Istanbul';
+$a->strings['Asia/Jakarta'] = 'Asien/Jakarta';
+$a->strings['Asia/Jayapura'] = 'Asien/Jayapura';
+$a->strings['Asia/Jerusalem'] = 'Asien/Jerusalem';
+$a->strings['Asia/Kabul'] = 'Asien/Kabul';
+$a->strings['Asia/Kamchatka'] = 'Asien/Kamchatka';
+$a->strings['Asia/Karachi'] = 'Asien/Karachi';
+$a->strings['Asia/Kashgar'] = 'Asien/Kashgar';
+$a->strings['Asia/Kathmandu'] = 'Asien/Kathmandu';
+$a->strings['Asia/Katmandu'] = 'Asien/Katmandu';
+$a->strings['Asia/Kolkata'] = 'Asien/Kolkata';
+$a->strings['Asia/Krasnoyarsk'] = 'Asien/Krasnoyarsk';
+$a->strings['Asia/Kuala_Lumpur'] = 'Asien/Kuala_Lumpur';
+$a->strings['Asia/Kuching'] = 'Asien/Kuching';
+$a->strings['Asia/Kuwait'] = 'Asien/Kuwait';
+$a->strings['Asia/Macao'] = 'Asien/Macao';
+$a->strings['Asia/Macau'] = 'Asien/Macau';
+$a->strings['Asia/Magadan'] = 'Asien/Magadan';
+$a->strings['Asia/Makassar'] = 'Asien/Makassar';
+$a->strings['Asia/Manila'] = 'Asien/Manila';
+$a->strings['Asia/Muscat'] = 'Asien/Muscat';
+$a->strings['Asia/Nicosia'] = 'Asien/Nicosia';
+$a->strings['Asia/Novokuznetsk'] = 'Asien/Novokuznetsk';
+$a->strings['Asia/Novosibirsk'] = 'Asien/Novosibirsk';
+$a->strings['Asia/Omsk'] = 'Asien/Omsk';
+$a->strings['Asia/Oral'] = 'Asien/Oral';
+$a->strings['Asia/Phnom_Penh'] = 'Asien/Phnom_Penh';
+$a->strings['Asia/Pontianak'] = 'Asien/Pontianak';
+$a->strings['Asia/Pyongyang'] = 'Asien/Pyongyang';
+$a->strings['Asia/Qatar'] = 'Asien/Qatar';
+$a->strings['Asia/Qyzylorda'] = 'Asien/Qyzylorda';
+$a->strings['Asia/Rangoon'] = 'Asien/Rangoon';
+$a->strings['Asia/Riyadh'] = 'Asien/Riyadh';
+$a->strings['Asia/Saigon'] = 'Asien/Saigon';
+$a->strings['Asia/Sakhalin'] = 'Asien/Sakhalin';
+$a->strings['Asia/Samarkand'] = 'Asien/Samarkand';
+$a->strings['Asia/Seoul'] = 'Asien/Seoul';
+$a->strings['Asia/Shanghai'] = 'Asien/Shanghai';
+$a->strings['Asia/Singapore'] = 'Asien/Singapore';
+$a->strings['Asia/Taipei'] = 'Asien/Taipei';
+$a->strings['Asia/Tashkent'] = 'Asien/Tashkent';
+$a->strings['Asia/Tbilisi'] = 'Asien/Tbilisi';
+$a->strings['Asia/Tehran'] = 'Asien/Tehran';
+$a->strings['Asia/Tel_Aviv'] = 'Asien/Tel_Aviv';
+$a->strings['Asia/Thimbu'] = 'Asien/Thimbu';
+$a->strings['Asia/Thimphu'] = 'Asien/Thimphu';
+$a->strings['Asia/Tokyo'] = 'Asien/Tokyo';
+$a->strings['Asia/Ujung_Pandang'] = 'Asien/Ujung_Pandang';
+$a->strings['Asia/Ulaanbaatar'] = 'Asien/Ulaanbaatar';
+$a->strings['Asia/Ulan_Bator'] = 'Asien/Ulan_Bator';
+$a->strings['Asia/Urumqi'] = 'Asien/Urumqi';
+$a->strings['Asia/Vientiane'] = 'Asien/Vientiane';
+$a->strings['Asia/Vladivostok'] = 'Asien/Vladivostok';
+$a->strings['Asia/Yakutsk'] = 'Asien/Yakutsk';
+$a->strings['Asia/Yekaterinburg'] = 'Asien/Yekaterinburg';
+$a->strings['Asia/Yerevan'] = 'Asien/Yerevan';
+$a->strings['Atlantic/Azores'] = 'Atlantic/Azores';
+$a->strings['Atlantic/Bermuda'] = 'Atlantic/Bermuda';
+$a->strings['Atlantic/Canary'] = 'Atlantic/Canary';
+$a->strings['Atlantic/Cape_Verde'] = 'Atlantic/Cape_Verde';
+$a->strings['Atlantic/Faeroe'] = 'Atlantic/Faeroe';
+$a->strings['Atlantic/Faroe'] = 'Atlantic/Faroe';
+$a->strings['Atlantic/Jan_Mayen'] = 'Atlantic/Jan_Mayen';
+$a->strings['Atlantic/Madeira'] = 'Atlantic/Madeira';
+$a->strings['Atlantic/Reykjavik'] = 'Atlantic/Reykjavik';
+$a->strings['Atlantic/South_Georgia'] = 'Atlantic/South_Georgia';
+$a->strings['Atlantic/St_Helena'] = 'Atlantic/St_Helena';
+$a->strings['Atlantic/Stanley'] = 'Atlantic/Stanley';
+$a->strings['Australia/ACT'] = 'Australien/ACT';
+$a->strings['Australia/Adelaide'] = 'Australien/Adelaide';
+$a->strings['Australia/Brisbane'] = 'Australien/Brisbane';
+$a->strings['Australia/Broken_Hill'] = 'Australien/Broken_Hill';
+$a->strings['Australia/Canberra'] = 'Australien/Canberra';
+$a->strings['Australia/Currie'] = 'Australien/Currie';
+$a->strings['Australia/Darwin'] = 'Australien/Darwin';
+$a->strings['Australia/Eucla'] = 'Australien/Eucla';
+$a->strings['Australia/Hobart'] = 'Australien/Hobart';
+$a->strings['Australia/LHI'] = 'Australien/LHI';
+$a->strings['Australia/Lindeman'] = 'Australien/Lindeman';
+$a->strings['Australia/Lord_Howe'] = 'Australien/Lord_Howe';
+$a->strings['Australia/Melbourne'] = 'Australien/Melbourne';
+$a->strings['Australia/North'] = 'Australien/North';
+$a->strings['Australia/NSW'] = 'Australien/NSW';
+$a->strings['Australia/Perth'] = 'Australien/Perth';
+$a->strings['Australia/Queensland'] = 'Australien/Queensland';
+$a->strings['Australia/South'] = 'Australien/South';
+$a->strings['Australia/Sydney'] = 'Australien/Sydney';
+$a->strings['Australia/Tasmania'] = 'Australien/Tasmania';
+$a->strings['Australia/Victoria'] = 'Australien/Victoria';
+$a->strings['Australia/West'] = 'Australien/West';
+$a->strings['Australia/Yancowinna'] = 'Australien/Yancowinna';
+$a->strings['Brazil/Acre'] = 'Brasilien/Acre';
+$a->strings['Brazil/DeNoronha'] = 'Brasilien/DeNoronha';
+$a->strings['Brazil/East'] = 'Brasilien/East';
+$a->strings['Brazil/West'] = 'Brasilien/West';
+$a->strings['Canada/Atlantic'] = 'Kanada/Atlantic';
+$a->strings['Canada/Central'] = 'Kanada/Central';
+$a->strings['Canada/East-Saskatchewan'] = 'Kanada/East-Saskatchewan';
+$a->strings['Canada/Eastern'] = 'Kanada/Eastern';
+$a->strings['Canada/Mountain'] = 'Kanada/Mountain';
+$a->strings['Canada/Newfoundland'] = 'Kanada/Newfoundland';
+$a->strings['Canada/Pacific'] = 'Kanada/Pacific';
+$a->strings['Canada/Saskatchewan'] = 'Kanada/Saskatchewan';
+$a->strings['Canada/Yukon'] = 'Kanada/Yukon';
+$a->strings['CET'] = 'CET';
+$a->strings['Chile/Continental'] = 'Chile/Continental';
+$a->strings['Chile/EasterIsland'] = 'Chile/EasterIsland';
+$a->strings['CST6CDT'] = 'CST6CDT';
+$a->strings['Cuba'] = 'Cuba';
+$a->strings['EET'] = 'EET';
+$a->strings['Egypt'] = 'Egypten';
+$a->strings['Eire'] = 'Eire';
+$a->strings['EST'] = 'EST';
+$a->strings['EST5EDT'] = 'EST5EDT';
+$a->strings['Etc/GMT'] = 'Etc/GMT';
+$a->strings['Etc/GMT+0'] = 'Etc/GMT+0';
+$a->strings['Etc/GMT+1'] = 'Etc/GMT+1';
+$a->strings['Etc/GMT+10'] = 'Etc/GMT+10';
+$a->strings['Etc/GMT+11'] = 'Etc/GMT+11';
+$a->strings['Etc/GMT+12'] = 'Etc/GMT+12';
+$a->strings['Etc/GMT+2'] = 'Etc/GMT+2';
+$a->strings['Etc/GMT+3'] = 'Etc/GMT+3';
+$a->strings['Etc/GMT+4'] = 'Etc/GMT+4';
+$a->strings['Etc/GMT+5'] = 'Etc/GMT+5';
+$a->strings['Etc/GMT+6'] = 'Etc/GMT+6';
+$a->strings['Etc/GMT+7'] = 'Etc/GMT+7';
+$a->strings['Etc/GMT+8'] = 'Etc/GMT+8';
+$a->strings['Etc/GMT+9'] = 'Etc/GMT+9';
+$a->strings['Etc/GMT-0'] = 'Etc/GMT-0';
+$a->strings['Etc/GMT-1'] = 'Etc/GMT-1';
+$a->strings['Etc/GMT-10'] = 'Etc/GMT-10';
+$a->strings['Etc/GMT-11'] = 'Etc/GMT-11';
+$a->strings['Etc/GMT-12'] = 'Etc/GMT-12';
+$a->strings['Etc/GMT-13'] = 'Etc/GMT-13';
+$a->strings['Etc/GMT-14'] = 'Etc/GMT-14';
+$a->strings['Etc/GMT-2'] = 'Etc/GMT-2';
+$a->strings['Etc/GMT-3'] = 'Etc/GMT-3';
+$a->strings['Etc/GMT-4'] = 'Etc/GMT-4';
+$a->strings['Etc/GMT-5'] = 'Etc/GMT-5';
+$a->strings['Etc/GMT-6'] = 'Etc/GMT-6';
+$a->strings['Etc/GMT-7'] = 'Etc/GMT-7';
+$a->strings['Etc/GMT-8'] = 'Etc/GMT-8';
+$a->strings['Etc/GMT-9'] = 'Etc/GMT-9';
+$a->strings['Etc/GMT0'] = 'Etc/GMT0';
+$a->strings['Etc/Greenwich'] = 'Etc/Greenwich';
+$a->strings['Etc/UCT'] = 'Etc/UCT';
+$a->strings['Etc/Universal'] = 'Etc/Universal';
+$a->strings['Etc/UTC'] = 'Etc/UTC';
+$a->strings['Etc/Zulu'] = 'Etc/Zulu';
+$a->strings['Europe/Amsterdam'] = 'Europa/Amsterdam';
+$a->strings['Europe/Andorra'] = 'Europa/Andorra';
+$a->strings['Europe/Athens'] = 'Europa/Aten';
+$a->strings['Europe/Belfast'] = 'Europa/Belfast';
+$a->strings['Europe/Belgrade'] = 'Europa/Belgrad';
+$a->strings['Europe/Berlin'] = 'Europa/Berlin';
+$a->strings['Europe/Bratislava'] = 'Europa/Bratislava';
+$a->strings['Europe/Brussels'] = 'Europa/Bryssel';
+$a->strings['Europe/Bucharest'] = 'Europa/Bucharest';
+$a->strings['Europe/Budapest'] = 'Europa/Budapest';
+$a->strings['Europe/Chisinau'] = 'Europa/Chisinau';
+$a->strings['Europe/Copenhagen'] = 'Europa/Köpenhamn';
+$a->strings['Europe/Dublin'] = 'Europa/Dublin';
+$a->strings['Europe/Gibraltar'] = 'Europa/Gibraltar';
+$a->strings['Europe/Guernsey'] = 'Europa/Guernsey';
+$a->strings['Europe/Helsinki'] = 'Europa/Helsingfors';
+$a->strings['Europe/Isle_of_Man'] = 'Europa/Isle_of_Man';
+$a->strings['Europe/Istanbul'] = 'Europa/Istanbul';
+$a->strings['Europe/Jersey'] = 'Europa/Jersey';
+$a->strings['Europe/Kaliningrad'] = 'Europa/Kaliningrad';
+$a->strings['Europe/Kiev'] = 'Europa/Kiev';
+$a->strings['Europe/Lisbon'] = 'Europa/Lisabon';
+$a->strings['Europe/Ljubljana'] = 'Europa/Ljubljana';
+$a->strings['Europe/London'] = 'Europa/London';
+$a->strings['Europe/Luxembourg'] = 'Europa/Luxemburg';
+$a->strings['Europe/Madrid'] = 'Europa/Madrid';
+$a->strings['Europe/Malta'] = 'Europa/Malta';
+$a->strings['Europe/Mariehamn'] = 'Europa/Mariehamn';
+$a->strings['Europe/Minsk'] = 'Europa/Minsk';
+$a->strings['Europe/Monaco'] = 'Europa/Monaco';
+$a->strings['Europe/Moscow'] = 'Europa/Moskva';
+$a->strings['Europe/Nicosia'] = 'Europa/Nicosia';
+$a->strings['Europe/Oslo'] = 'Europa/Oslo';
+$a->strings['Europe/Paris'] = 'Europa/Paris';
+$a->strings['Europe/Podgorica'] = 'Europa/Podgorica';
+$a->strings['Europe/Prague'] = 'Europa/Prag';
+$a->strings['Europe/Riga'] = 'Europa/Riga';
+$a->strings['Europe/Rome'] = 'Europa/Rom';
+$a->strings['Europe/Samara'] = 'Europa/Samara';
+$a->strings['Europe/San_Marino'] = 'Europa/San_Marino';
+$a->strings['Europe/Sarajevo'] = 'Europa/Sarajevo';
+$a->strings['Europe/Simferopol'] = 'Europa/Simferopol';
+$a->strings['Europe/Skopje'] = 'Europa/Skopje';
+$a->strings['Europe/Sofia'] = 'Europa/Sofia';
+$a->strings['Europe/Stockholm'] = 'Europa/Stockholm';
+$a->strings['Europe/Tallinn'] = 'Europa/Tallinn';
+$a->strings['Europe/Tirane'] = 'Europa/Tirane';
+$a->strings['Europe/Tiraspol'] = 'Europa/Tiraspol';
+$a->strings['Europe/Uzhgorod'] = 'Europa/Uzhgorod';
+$a->strings['Europe/Vaduz'] = 'Europa/Vaduz';
+$a->strings['Europe/Vatican'] = 'Europa/Vatikanen';
+$a->strings['Europe/Vienna'] = 'Europa/Wien';
+$a->strings['Europe/Vilnius'] = 'Europa/Vilnius';
+$a->strings['Europe/Volgograd'] = 'Europa/Volgograd';
+$a->strings['Europe/Warsaw'] = 'Europa/Warsawa';
+$a->strings['Europe/Zagreb'] = 'Europa/Zagreb';
+$a->strings['Europe/Zaporozhye'] = 'Europa/Zaporozhye';
+$a->strings['Europe/Zurich'] = 'Europa/Zürich';
+$a->strings['Factory'] = 'Factory';
+$a->strings['GB'] = 'GB';
+$a->strings['GB-Eire'] = 'GB-Eire';
+$a->strings['GMT'] = 'GMT';
+$a->strings['GMT+0'] = 'GMT+0';
+$a->strings['GMT-0'] = 'GMT-0';
+$a->strings['GMT0'] = 'GMT0';
+$a->strings['Greenwich'] = 'Greenwich';
+$a->strings['Hongkong'] = 'Hongkong';
+$a->strings['HST'] = 'HST';
+$a->strings['Iceland'] = 'Iceland';
+$a->strings['Indian/Antananarivo'] = 'Indian/Antananarivo';
+$a->strings['Indian/Chagos'] = 'Indian/Chagos';
+$a->strings['Indian/Christmas'] = 'Indian/Christmas';
+$a->strings['Indian/Cocos'] = 'Indian/Cocos';
+$a->strings['Indian/Comoro'] = 'Indian/Comoro';
+$a->strings['Indian/Kerguelen'] = 'Indian/Kerguelen';
+$a->strings['Indian/Mahe'] = 'Indian/Mahe';
+$a->strings['Indian/Maldives'] = 'Indian/Maldives';
+$a->strings['Indian/Mauritius'] = 'Indian/Mauritius';
+$a->strings['Indian/Mayotte'] = 'Indian/Mayotte';
+$a->strings['Indian/Reunion'] = 'Indian/Reunion';
+$a->strings['Iran'] = 'Iran';
+$a->strings['Israel'] = 'Israel';
+$a->strings['Jamaica'] = 'Jamaica';
+$a->strings['Japan'] = 'Japan';
+$a->strings['Kwajalein'] = 'Kwajalein';
+$a->strings['Libya'] = 'Libyen';
+$a->strings['MET'] = 'MET';
+$a->strings['Mexico/BajaNorte'] = 'Mexico/BajaNorte';
+$a->strings['Mexico/BajaSur'] = 'Mexico/BajaSur';
+$a->strings['Mexico/General'] = 'Mexico/General';
+$a->strings['MST'] = 'MST';
+$a->strings['MST7MDT'] = 'MST7MDT';
+$a->strings['Navajo'] = 'Navajo';
+$a->strings['NZ'] = 'NZ';
+$a->strings['NZ-CHAT'] = 'NZ-CHAT';
+$a->strings['Pacific/Apia'] = 'Pacific/Apia';
+$a->strings['Pacific/Auckland'] = 'Pacific/Auckland';
+$a->strings['Pacific/Chatham'] = 'Pacific/Chatham';
+$a->strings['Pacific/Easter'] = 'Pacific/Easter';
+$a->strings['Pacific/Efate'] = 'Pacific/Efate';
+$a->strings['Pacific/Enderbury'] = 'Pacific/Enderbury';
+$a->strings['Pacific/Fakaofo'] = 'Pacific/Fakaofo';
+$a->strings['Pacific/Fiji'] = 'Pacific/Fiji';
+$a->strings['Pacific/Funafuti'] = 'Pacific/Funafuti';
+$a->strings['Pacific/Galapagos'] = 'Pacific/Galapagos';
+$a->strings['Pacific/Gambier'] = 'Pacific/Gambier';
+$a->strings['Pacific/Guadalcanal'] = 'Pacific/Guadalcanal';
+$a->strings['Pacific/Guam'] = 'Pacific/Guam';
+$a->strings['Pacific/Honolulu'] = 'Pacific/Honolulu';
+$a->strings['Pacific/Johnston'] = 'Pacific/Johnston';
+$a->strings['Pacific/Kiritimati'] = 'Pacific/Kiritimati';
+$a->strings['Pacific/Kosrae'] = 'Pacific/Kosrae';
+$a->strings['Pacific/Kwajalein'] = 'Pacific/Kwajalein';
+$a->strings['Pacific/Majuro'] = 'Pacific/Majuro';
+$a->strings['Pacific/Marquesas'] = 'Pacific/Marquesas';
+$a->strings['Pacific/Midway'] = 'Pacific/Midway';
+$a->strings['Pacific/Nauru'] = 'Pacific/Nauru';
+$a->strings['Pacific/Niue'] = 'Pacific/Niue';
+$a->strings['Pacific/Norfolk'] = 'Pacific/Norfolk';
+$a->strings['Pacific/Noumea'] = 'Pacific/Noumea';
+$a->strings['Pacific/Pago_Pago'] = 'Pacific/Pago_Pago';
+$a->strings['Pacific/Palau'] = 'Pacific/Palau';
+$a->strings['Pacific/Pitcairn'] = 'Pacific/Pitcairn';
+$a->strings['Pacific/Ponape'] = 'Pacific/Ponape';
+$a->strings['Pacific/Port_Moresby'] = 'Pacific/Port_Moresby';
+$a->strings['Pacific/Rarotonga'] = 'Pacific/Rarotonga';
+$a->strings['Pacific/Saipan'] = 'Pacific/Saipan';
+$a->strings['Pacific/Samoa'] = 'Pacific/Samoa';
+$a->strings['Pacific/Tahiti'] = 'Pacific/Tahiti';
+$a->strings['Pacific/Tarawa'] = 'Pacific/Tarawa';
+$a->strings['Pacific/Tongatapu'] = 'Pacific/Tongatapu';
+$a->strings['Pacific/Truk'] = 'Pacific/Truk';
+$a->strings['Pacific/Wake'] = 'Pacific/Wake';
+$a->strings['Pacific/Wallis'] = 'Pacific/Wallis';
+$a->strings['Pacific/Yap'] = 'Pacific/Yap';
+$a->strings['Poland'] = 'Polen';
+$a->strings['Portugal'] = 'Portugal';
+$a->strings['PRC'] = 'PRC';
+$a->strings['PST8PDT'] = 'PST8PDT';
+$a->strings['ROC'] = 'ROC';
+$a->strings['ROK'] = 'ROK';
+$a->strings['Singapore'] = 'Singapore';
+$a->strings['Turkey'] = 'Turkiet';
+$a->strings['UCT'] = 'UCT';
+$a->strings['Universal'] = 'Universal';
+$a->strings['US/Alaska'] = 'USA/Alaska';
+$a->strings['US/Aleutian'] = 'USA/Aleutian';
+$a->strings['US/Arizona'] = 'USA/Arizona';
+$a->strings['US/Central'] = 'USA/Central';
+$a->strings['US/East-Indiana'] = 'USA/East-Indiana';
+$a->strings['US/Eastern'] = 'USA/Eastern';
+$a->strings['US/Hawaii'] = 'USA/Hawaii';
+$a->strings['US/Indiana-Starke'] = 'USA/Indiana-Starke';
+$a->strings['US/Michigan'] = 'USA/Michigan';
+$a->strings['US/Mountain'] = 'USA/Mountain';
+$a->strings['US/Pacific'] = 'USA/Pacific';
+$a->strings['US/Pacific-New'] = 'USA/Pacific-New';
+$a->strings['US/Samoa'] = 'USA/Samoa';
+$a->strings['UTC'] = 'UTC';
+$a->strings['W-SU'] = 'W-SU';
+$a->strings['WET'] = 'WET';
+$a->strings['Zulu'] = 'Zulu';
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
index bfe524b01..c54b9835a 100644
--- a/view/theme/duepuntozero/style.css
+++ b/view/theme/duepuntozero/style.css
@@ -203,7 +203,7 @@ div.wall-item-content-wrapper.shiny {
background-repeat:no-repeat;
}
-/* from defautlt */
+/* from default */
#jot-perms-icon,
#profile-location,
#profile-nolocation,
@@ -833,31 +833,40 @@ input#dfrn-url {
.wall-item-info {
display: block;
float: left;
- width:150px;
+ width:110px;
+ margin-right:10px;
}
-.wallwall .wall-item-info {
- width: 300px;
+.comment .wall-item-info {
+ width: 70px;
}
-
.wall-item-photo-wrapper {
margin-top: 10px;
margin-left: 10px;
margin-bottom: 10px;
width: 100px;
}
-.wallwall .wall-item-photo-wrapper {
- float: left;
-}
+.wallwall .wwto {
+ left: 50px;
+ margin: 0;
+ position: absolute;
+ top: 70px;
+ width: 30px
+}
+.wallwall .wwto img {
+ width: 30px;
+ height: 30px;
+}
.wallwall .wall-item-photo-end {
clear: both;
}
.wall-item-arrowphoto-wrapper {
- margin-top: 40px;
- margin-right: 20px;
- float: left;
+ position: absolute;
+ left: 75px;
+ top: 70px;
+ z-index: 100;
}
.wall-item-wrapper {
/*float: left;
@@ -868,16 +877,38 @@ input#dfrn-url {
.wall-item-lock {
/*height: 20px;*/
/*margin-top: 10px;*/
- left: 135px;
+ left: 105px;
position: absolute;
top: 1px;
}
+.comment .wall-item-lock {
+ left: 65px;
+}
.wall-item-ago {
color: #888888;
font-size: 0.8em;
}
+.wall-item-location {
+ overflow: hidden;
+ /* add ellipsis on text overflow */
+ /* this work on safari, opera, ie, chrome. */
+ /* firefox users have to wait support or we */
+ /* can use a jquery plugin http://bit.ly/zJskg */
+ text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
+ width: 100%;
+}
+
+.wall-item-like-buttons {
+ float: left;
+ margin-right: 10px;
+ padding-right: 10px;
+ border-right: 2px solid #fff;
+}
+
+
.wall-item-like-buttons img {
cursor: pointer;
}
@@ -946,6 +977,10 @@ input#dfrn-url {
background-repeat: repeat-x;
padding: 5px 10px 0px;
}
+.wall-item-author {
+ margin-top: 10px;
+}
+
.comment .wall-item-tools {
background:none;
}
@@ -1791,6 +1826,11 @@ a.mail-list-link {
float: left;
width: 150px;
}
+
+#photo-edit-perms-end {
+ margin-bottom: 15px;
+}
+
#photo-edit-caption, #photo-edit-newtag, #photo-edit-albumname {
float: left;
margin-bottom: 25px;
@@ -2054,3 +2094,16 @@ a.mail-list-link {
margin-top: 20px;
}
+#photo-prev-link, #photo-next-link {
+ padding: 10px;
+ float: left;
+}
+
+#photo-photo {
+ float: left;
+}
+
+#photo-photo-end {
+ clear: both;
+}
+
diff --git a/view/theme/loozah/style.css b/view/theme/loozah/style.css
index 662df2528..4461907bb 100644
--- a/view/theme/loozah/style.css
+++ b/view/theme/loozah/style.css
@@ -965,36 +965,41 @@ input#dfrn-url {
float: left;
}
.wall-item-wrapper {
- float: left;
+ margin-left: 10px;;
}
+
.wall-item-lock {
- height: 20px;
- margin-top: 10px;
+ position: absolute;
+ left: 105px;
+ top: 1px;
}
.wall-item-ago {
color: #888888;
font-size: 0.8em;
}
-
-.wall-item-like-buttons img {
- cursor: pointer;
+.wall-item-like-buttons {
+ float: left;
+ margin-right: 10px;
+ padding-right: 10px;
+ border-right: 2px solid #fff;
}
.wall-item-links-wrapper {
- float: left;
- margin-top: 100px;
- margin-left: 10px;
+ float: left;
}
.wall-item-delete-wrapper {
- float: right;
- margin-top: 20px;
- margin-right: 50px;
+ float: right;
}
.wall-item-delete-end {
- clear: both;
+ clear: both;
+}
+
+
+.wall-item-like-buttons img {
+ cursor: pointer;
}
.wall-item-delete-icon {
@@ -1023,6 +1028,22 @@ input#dfrn-url {
overflow: auto;
}
+.wall-item-tools {
+ clear: both;
+padding: 5px 10px 0px;
+}
+.wall-item-photo-end {
+ clear: both;
+}
+.wall-item-author {
+ margin-top: 10px;
+}
+.wall-item-info {
+ display: block;
+ float: left;
+ width:110px;
+ margin-right:10px;
+}
.wall-item-title {
float: left;
@@ -1033,7 +1054,7 @@ input#dfrn-url {
.wall-item-body {
float: left;
width: 450px;
- margin-top: 30px;
+ margin-top: 10px;
}
.comment-edit-wrapper {
@@ -1848,6 +1869,11 @@ a.mail-list-link {
float: left;
width: 150px;
}
+
+#photo-edit-perms-end {
+ margin-bottom: 15px;
+}
+
#photo-edit-caption, #photo-edit-newtag, #photo-edit-albumname {
float: left;
margin-bottom: 25px;
@@ -2100,3 +2126,17 @@ a.mail-list-link {
margin-top: 20px;
}
+
+#photo-prev-link, #photo-next-link {
+ padding: 10px;
+ float: left;
+}
+
+#photo-photo {
+ float: left;
+}
+
+#photo-photo-end {
+ clear: both;
+}
+
diff --git a/view/wall_item.tpl b/view/wall_item.tpl
index 1cad41118..5cae6b142 100644
--- a/view/wall_item.tpl
+++ b/view/wall_item.tpl
@@ -8,18 +8,21 @@
<div class="wall-item-photo-end"></div>
<div class="wall-item-wrapper" id="wall-item-wrapper-$id" >
$lock
- <a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a>
- <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div>
- <div class="wall-item-location" id="wall-item-location-$id">$location</div>
- $vote
+ <div class="wall-item-location" id="wall-item-location-$id">$location</div>
</div>
</span>
+ <div class="wall-item-author">
+ <a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a>
+ <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div>
+
+ </div>
<div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
</div>
<div class="wall-item-tools" id="wall-item-tools-$id">
+ $vote
$plink
$drop
</div>
diff --git a/view/wallwall_item.tpl b/view/wallwall_item.tpl
index 6e61ce4f0..256320a46 100644
--- a/view/wallwall_item.tpl
+++ b/view/wallwall_item.tpl
@@ -1,30 +1,32 @@
<div class="wall-item-outside-wrapper$indent wallwall" id="wall-item-outside-wrapper-$id" >
<div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" >
<span class="wall-item-info" id="wall-item-info-$id">
- <div class="wall-item-photo-wrapper" id="wall-item-ownerphoto-wrapper-$id" >
+ <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$id" >
<a href="$owner_url" title="$olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$id">
<img src="$owner_photo" class="wall-item-photo$osparkle" id="wall-item-ownerphoto-$id" height="80" width="80" alt="$owner_name" /></a>
</div>
<div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="$wall" /></div>
- <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" >
+ <div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-$id" >
<a href="$profile_url" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id">
<img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" height="80" width="80" alt="$name" /></a>
</div>
<div class="wall-item-photo-end"></div>
<div class="wall-item-wrapper" id="wall-item-wrapper-$id" >
$lock
- <a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a> $to <a href="$owner_url" title="$olinktitle" class="wall-item-name-link"><span class="wall-item-name$osparkle" id="wall-item-ownername-$id">$owner_name</span></a> $vwall<br />
- <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div>
<div class="wall-item-location" id="wall-item-location-$id">$location</div>
- $vote
</div>
</span>
+ <div class="wall-item-author">
+ <a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a> $to <a href="$owner_url" title="$olinktitle" class="wall-item-name-link"><span class="wall-item-name$osparkle" id="wall-item-ownername-$id">$owner_name</span></a> $vwall<br />
+ <div class="wall-item-ago" id="wall-item-ago-$id">$ago</div>
+ </div>
<div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
</div>
<div class="wall-item-tools" id="wall-item-tools-$id">
+ $vote
$plink
$drop
</div>