aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addon/README4
-rw-r--r--boot.php16
-rw-r--r--include/items.php7
-rw-r--r--include/poller.php4
-rw-r--r--index.php4
-rw-r--r--mod/contacts.php3
-rw-r--r--mod/display.php1
-rw-r--r--mod/follow.php3
-rw-r--r--mod/home.php3
-rw-r--r--mod/item.php44
-rw-r--r--mod/network.php14
-rw-r--r--mod/photos.php13
-rw-r--r--mod/profile.php1
-rw-r--r--mod/settings.php7
-rw-r--r--util/strings.php5
-rw-r--r--view/follow_slap.tpl1
-rw-r--r--view/it/contact_edit.tpl2
-rw-r--r--view/it/intro_complete_eml.tpl6
-rw-r--r--view/it/pagetypes.tpl2
-rw-r--r--view/it/profile-in-directory.tpl2
-rw-r--r--view/it/profile.php144
-rw-r--r--view/it/pwdreset.tpl2
-rw-r--r--view/it/strings.php14
-rw-r--r--view/theme/duepuntozero/border.jpgbin0 -> 342 bytes
-rw-r--r--view/theme/duepuntozero/head.jpgbin0 -> 383 bytes
-rw-r--r--view/theme/duepuntozero/style.css1828
-rw-r--r--view/wall_item.tpl4
27 files changed, 2022 insertions, 112 deletions
diff --git a/addon/README b/addon/README
index 83407d6a1..7089634d2 100644
--- a/addon/README
+++ b/addon/README
@@ -124,6 +124,10 @@ Current hooks:
'xml' => the complete XML to be output
+'home_content' - called prior to output home page content, shown to unlogged users
+ $b is (string) HTML of section region
+
+
*** = subject to change
diff --git a/boot.php b/boot.php
index e4a13ce92..600ce2cc0 100644
--- a/boot.php
+++ b/boot.php
@@ -102,7 +102,7 @@ define ( 'ACTIVITY_OBJ_HEART', NAMESPACE_DFRN . '/heart' );
define ( 'ACTIVITY_FRIEND', NAMESPACE_ACTIVITY_SCHEMA . 'make-friend' );
define ( 'ACTIVITY_FOLLOW', NAMESPACE_ACTIVITY_SCHEMA . 'follow' );
-define ( 'ACTIVITY_UNFOLLOW', NAMESPACE_ACTIVITY_SCHEMA . 'unfollow' );
+define ( 'ACTIVITY_UNFOLLOW', NAMESPACE_ACTIVITY_SCHEMA . 'stop-following' );
define ( 'ACTIVITY_POST', NAMESPACE_ACTIVITY_SCHEMA . 'post' );
define ( 'ACTIVITY_UPDATE', NAMESPACE_ACTIVITY_SCHEMA . 'update' );
define ( 'ACTIVITY_TAG', NAMESPACE_ACTIVITY_SCHEMA . 'tag' );
@@ -307,6 +307,7 @@ class App {
}
function init_pagehead() {
+ $this->page['title'] = $this->config['sitename'];
$tpl = load_view_file("view/head.tpl");
$this->page['htmlhead'] = replace_macros($tpl,array(
'$baseurl' => $this->get_baseurl() . '/'
@@ -1095,7 +1096,6 @@ if(! function_exists('set_config')) {
function set_config($family,$key,$value) {
global $a;
- $a->config[$family][$key] = $value;
if(get_config($family,$key,true) === false) {
$ret = q("INSERT INTO `config` ( `cat`, `k`, `v` ) VALUES ( '%s', '%s', '%s' ) ",
@@ -1112,6 +1112,9 @@ function set_config($family,$key,$value) {
dbesc($family),
dbesc($key)
);
+
+ $a->config[$family][$key] = $value;
+
if($ret)
return $value;
return $ret;
@@ -1148,11 +1151,13 @@ function get_pconfig($uid,$family, $key, $instore = false) {
return $a->config[$uid][$family][$key];
}
}
+
$ret = q("SELECT `v` FROM `pconfig` WHERE `uid` = %d AND `cat` = '%s' AND `k` = '%s' LIMIT 1",
intval($uid),
dbesc($family),
dbesc($key)
);
+
if(count($ret)) {
$a->config[$uid][$family][$key] = $ret[0]['v'];
return $ret[0]['v'];
@@ -1185,7 +1190,6 @@ if(! function_exists('set_pconfig')) {
function set_pconfig($uid,$family,$key,$value) {
global $a;
- $a->config[$uid][$family][$key] = $value;
if(get_pconfig($uid,$family,$key,true) === false) {
$ret = q("INSERT INTO `pconfig` ( `uid`, `cat`, `k`, `v` ) VALUES ( %d, '%s', '%s', '%s' ) ",
@@ -1205,6 +1209,8 @@ function set_pconfig($uid,$family,$key,$value) {
dbesc($key)
);
+ $a->config[$uid][$family][$key] = $value;
+
if($ret)
return $value;
return $ret;
@@ -1496,7 +1502,7 @@ function validate_email($addr) {
return false;
$h = substr($addr,strpos($addr,'@') + 1);
- if(($h) && (dns_get_record($h['host'], DNS_A + DNS_CNAME + DNS_PTR + DNS_MX))) {
+ if(($h) && (dns_get_record($h, DNS_A + DNS_CNAME + DNS_PTR + DNS_MX))) {
return true;
}
return false;
@@ -1957,7 +1963,7 @@ function profile_load(&$a, $nickname, $profile = 0) {
$a->profile = $r[0];
- $a->page['title'] = $a->profile['name'];
+ $a->page['title'] = $a->profile['name'] . " @ " . $a->config['sitename'];
$_SESSION['theme'] = $a->profile['theme'];
if(! (x($a->page,'aside')))
diff --git a/include/items.php b/include/items.php
index 6f73984e2..0c055f571 100644
--- a/include/items.php
+++ b/include/items.php
@@ -921,7 +921,10 @@ function consume_feed($xml,$importer,$contact, &$hub, $datedir = 0) {
// Now process the feed
if($feed->get_item_quantity()) {
- foreach($feed->get_items() as $item) {
+ // in inverse date order
+ if ($datedir)
+ $items = array_reverse($feed->get_items());
+ foreach($items as $item) {
$deleted = false;
@@ -1307,4 +1310,4 @@ function atom_entry($item,$type,$author,$owner,$comment = false) {
return $o;
}
- \ No newline at end of file
+
diff --git a/include/poller.php b/include/poller.php
index dda0cb0ce..3d13a5480 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -225,11 +225,11 @@
if(! strlen($xml))
continue;
- consume_feed($xml,$importer,$contact,$hub);
+ consume_feed($xml,$importer,$contact,$hub,1);
// do it twice. Ensures that children of parents which may be later in the stream aren't tossed
- consume_feed($xml,$importer,$contact,$hub);
+ consume_feed($xml,$importer,$contact,$hub,1);
if((strlen($hub)) && ($hub_update)
diff --git a/index.php b/index.php
index abc02521a..2e14e7d2a 100644
--- a/index.php
+++ b/index.php
@@ -213,13 +213,13 @@ if($a->module != 'install')
* Make sure the desired theme exists, though if the default theme doesn't exist we're stuffed.
*
*/
-
+$default_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : 'default');
if((x($_SESSION,'theme')) && (! file_exists('view/theme/' . $_SESSION['theme'] . '/style.css')))
unset($_SESSION['theme']);
$a->page['htmlhead'] = replace_macros($a->page['htmlhead'], array(
'$stylesheet' => $a->get_baseurl() . '/view/theme/'
- . ((x($_SESSION,'theme')) ? $_SESSION['theme'] : 'default')
+ . ((x($_SESSION,'theme')) ? $_SESSION['theme'] : $default_theme)
. '/style.css'
));
diff --git a/mod/contacts.php b/mod/contacts.php
index 33d1955a5..92bce0a73 100644
--- a/mod/contacts.php
+++ b/mod/contacts.php
@@ -165,7 +165,8 @@ function contacts_content(&$a) {
'$type' => 'text',
'$content' => t('stopped following'),
'$nick' => $a->user['nickname'],
- '$verb' => ACTIVITY_UNFOLLOW
+ '$verb' => ACTIVITY_UNFOLLOW,
+ '$ostat_follow' => '<as:verb>http://ostatus.org/schema/1.0/unfollow</as:verb>' . "\r\n"
));
if((x($orig_record[0],'notify')) && (strlen($orig_record[0]['notify']))) {
diff --git a/mod/display.php b/mod/display.php
index fd845e608..cad60d275 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -243,6 +243,7 @@ function display_content(&$a) {
$tmp_item = replace_macros($template,array(
'$id' => $item['item_id'],
+ '$title' => t('View $name\'s profile'),
'$profile_url' => $profile_link,
'$name' => $profile_name,
'$sparkle' => $sparkle,
diff --git a/mod/follow.php b/mod/follow.php
index 5f0f3f7e3..3c9d77657 100644
--- a/mod/follow.php
+++ b/mod/follow.php
@@ -173,7 +173,8 @@ function follow_post(&$a) {
'$type' => 'text',
'$content' => t('following'),
'$nick' => $a->user['nickname'],
- '$verb' => ACTIVITY_FOLLOW
+ '$verb' => ACTIVITY_FOLLOW,
+ '$ostat_follow' => ''
));
$r = q("SELECT `contact`.*, `user`.* FROM `contact` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid`
diff --git a/mod/home.php b/mod/home.php
index 53b111bdf..2d646f8dd 100644
--- a/mod/home.php
+++ b/mod/home.php
@@ -24,6 +24,9 @@ function home_content(&$a) {
$o .= file_get_contents('home.html');
$o .= login(($a->config['register_policy'] == REGISTER_CLOSED) ? 0 : 1);
+
+ call_hooks("home_content",$o);
+
return $o;
diff --git a/mod/item.php b/mod/item.php
index 0a97cdc47..36b51a537 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -128,6 +128,50 @@ function item_post(&$a) {
}
}
+
+ /**
+ *
+ * If a photo was uploaded into the message using the ajax uploader,
+ * it can be seen by anybody. Set the permissions to match the message.
+ * Ideally this should be done when the photo was uploaded, but the permissions
+ * may not have been set at that time, and passing the permission arrays via
+ * javascript to the ajax upload is going to be a challenge.
+ * This is a compromise. Granted there is a window of time when the photo
+ * is public. You are welcome to suggest other ways to fix this.
+ *
+ */
+
+ $match = null;
+
+ if($private) {
+ if(preg_match_all("/\[img\](.+?)\[\/img\]/",$body,$match)) {
+ $images = $match[1];
+ if(count($images)) {
+ foreach($images as $image) {
+ if(! stristr($image,$a->get_baseurl() . '/photo/'))
+ continue;
+ $image_uri = substr($image,strrpos($image,'/') + 1);
+ $image_uri = substr($image_uri,0, strpos($image_uri,'-'));
+ $r = q("UPDATE `photo` SET `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s'
+ WHERE `resource-id` = '%s' AND `album` = '%s' ",
+ dbesc($str_contact_allow),
+ dbesc($str_group_allow),
+ dbesc($str_contact_deny),
+ dbesc($str_group_deny),
+ dbesc($image_uri),
+ dbesc( t('Wall Photos'))
+ );
+
+ }
+ }
+ }
+ }
+
+
+ /**
+ * Look for any tags and linkify them
+ */
+
$str_tags = '';
$inform = '';
diff --git a/mod/network.php b/mod/network.php
index ad6db2d1e..08607fa18 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -104,10 +104,15 @@ function network_content(&$a, $update = 0) {
}
$contacts = expand_groups(array($group));
- $contact_str = implode(',',$contacts);
- $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` AND `contact-id` IN ( $contact_str )) ";
- $o = '<h4>' . t('Group: ') . $r[0]['name'] . '</h4>' . $o;
-
+ if((is_array($contacts)) && count($contacts)) {
+ $contact_str = implode(',',$contacts);
+ }
+ else {
+ $contact_str = ' 0 ';
+ notice( t('Group is empty'));
+ }
+ $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` AND `contact-id` IN ( $contact_str )) ";
+ $o = '<h4>' . t('Group: ') . $r[0]['name'] . '</h4>' . $o;
}
$r = q("SELECT COUNT(*) AS `total`
@@ -286,6 +291,7 @@ function network_content(&$a, $update = 0) {
$tmp_item = replace_macros($template,array(
'$id' => $item['item_id'],
+ '$title' => t('View $name\'s profile'),
'$profile_url' => $profile_link,
'$name' => $profile_name,
'$thumb' => $profile_avatar,
diff --git a/mod/photos.php b/mod/photos.php
index f29c39386..e811ca395 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -766,9 +766,10 @@ function photos_content(&$a) {
intval($owner_uid),
dbesc($album)
);
- if(count($r))
+ if(count($r)) {
$a->set_pager_total(count($r));
-
+ $a->set_pager_itemspage(20);
+ }
$r = q("SELECT `resource-id`, `id`, `filename`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` = '%s'
$sql_extra GROUP BY `resource-id` ORDER BY `created` DESC LIMIT %d , %d",
@@ -817,6 +818,8 @@ function photos_content(&$a) {
}
$o .= '<div id="photo-album-end"></div>';
+ $o .= paginate($a);
+
return $o;
}
@@ -1107,9 +1110,10 @@ function photos_content(&$a) {
intval($a->data['user']['uid']),
dbesc( t('Contact Photos'))
);
- if(count($r))
+ if(count($r)) {
$a->set_pager_total(count($r));
-
+ $a->set_pager_itemspage(20);
+ }
$r = q("SELECT `resource-id`, `id`, `filename`, `album`, max(`scale`) AS `scale` FROM `photo`
WHERE `uid` = %d AND `album` != '%s'
@@ -1147,5 +1151,6 @@ function photos_content(&$a) {
}
$o .= '<div id="photo-top-end"></div>';
}
+ $o .= paginate($a);
return $o;
}
diff --git a/mod/profile.php b/mod/profile.php
index cc0debd99..5479f2806 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -344,6 +344,7 @@ function profile_content(&$a, $update = 0) {
$tmp_item = replace_macros($template,array(
'$id' => $item['item_id'],
+ '$title' => t('View $name\'s profile'),
'$profile_url' => $profile_link,
'$name' => $profile_name,
'$thumb' => $profile_avatar,
diff --git a/mod/settings.php b/mod/settings.php
index 0f01807a2..a40883f35 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -291,10 +291,15 @@ function settings_content(&$a) {
$theme_selector = '<select name="theme" id="theme-select" >';
$files = glob('view/theme/*');
+
+ $default_theme = get_config('system','theme');
+ if(! $default_theme)
+ $default_theme = 'default';
+
if($files) {
foreach($files as $file) {
$f = basename($file);
- $selected = (($f == $_SESSION['theme']) || ($f === 'default' && (! x($_SESSION,'theme')))
+ $selected = (($f == $_SESSION['theme']) || ($f === $default_theme && (! x($_SESSION,'theme')))
? ' selected="selected" ' : '' );
$theme_selector .= '<option val="' . basename($file) . '"' . $selected . '>' . basename($file) . '</option>';
}
diff --git a/util/strings.php b/util/strings.php
index cf7299cde..e8f3b47af 100644
--- a/util/strings.php
+++ b/util/strings.php
@@ -139,6 +139,7 @@ $a->strings['Global Directory'] = 'Global Directory';
$a->strings['Item not found.'] = 'Item not found.';
$a->strings['Private Message'] = 'Private Message';
$a->strings['This is you'] = 'This is you';
+$a->strings['View $name\'s profile'] = 'View $name\'s profile';
$a->strings['Item has been removed.'] = 'Item has been removed.';
$a->strings['The profile address specified does not provide adequate information.'] = 'The profile address specified does not provide adequate information.';
$a->strings['Limited profile. This person will be unable to receive direct/personal notifications from you.'] = 'Limited profile. This person will be unable to receive direct/personal notifications from you.';
@@ -195,7 +196,6 @@ $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['Facebook status update failed.'] = 'Facebook status update failed.';
$a->strings['photo'] = 'photo';
$a->strings['status'] = 'status';
$a->strings['likes'] = 'likes';
@@ -227,6 +227,7 @@ $a->strings['Message not available.'] = 'Message not available.';
$a->strings['Delete message'] = 'Delete message';
$a->strings['Send Reply'] = 'Send Reply';
$a->strings['No such group'] = 'No such group';
+$a->strings['Group is empty'] = 'Group is empty';
$a->strings['Group: '] = 'Group: ';
$a->strings['Invalid request identifier.'] = 'Invalid request identifier.';
$a->strings['Discard'] = 'Discard';
@@ -341,10 +342,10 @@ $a->strings['Select a tag to remove: '] = 'Select a tag to remove: ';
$a->strings['Remove'] = 'Remove';
$a->strings['No contacts.'] = 'No contacts.';
$a->strings['Wall Photos'] = 'Wall Photos';
+$a->strings['Logged out.'] = 'Logged out.';
$a->strings['Visible To:'] = 'Visible To:';
$a->strings['Groups'] = 'Groups';
$a->strings['Except For:'] = 'Except For:';
-$a->strings['Logged out.'] = 'Logged out.';
$a->strings['Unknown | Not categorised'] = 'Unknown | Not categorised';
$a->strings['Block immediately'] = 'Block immediately';
$a->strings['Shady, spammer, self-marketer'] = 'Shady, spammer, self-marketer';
diff --git a/view/follow_slap.tpl b/view/follow_slap.tpl
index 1c4a5f7ce..0d0889f7d 100644
--- a/view/follow_slap.tpl
+++ b/view/follow_slap.tpl
@@ -21,4 +21,5 @@
<poco:displayName>$name</poco:displayName>
</as:actor>
<as:verb>$verb</as:verb>
+ $ostat_follow
</entry>
diff --git a/view/it/contact_edit.tpl b/view/it/contact_edit.tpl
index 80446f044..4432f496a 100644
--- a/view/it/contact_edit.tpl
+++ b/view/it/contact_edit.tpl
@@ -48,7 +48,7 @@ $ignored
<div id="contact-edit-profile-select-text">
-<h4>Visibilt&agrave; Profiloe</h4>
+<h4>Visibilt&agrave; Profilo</h4>
<p>Scegli il profilo che vuoi mostrare a $name quando guarda il tuo profilo in modo sicuro.</p>
</div>
$profile_select
diff --git a/view/it/intro_complete_eml.tpl b/view/it/intro_complete_eml.tpl
index 833254038..9da946a56 100644
--- a/view/it/intro_complete_eml.tpl
+++ b/view/it/intro_complete_eml.tpl
@@ -6,14 +6,14 @@ connessione a '$sitename'.
'$fn' ha scelto di accertarti come "fan", che limita alcune forme di
comunicazione, come i messaggi privati e alcune interazioni con il profilo.
-Se &egrave; una celebrit&agrave; o una pagina di community, queste impostazioni
+Se e' una celebrita' o una pagina di community, queste impostazioni
sono applicate automaticamente.
- '$fn' puo' decidere di estendere in una relazione pi&ugrave; permissiva
+ '$fn' puo' decidere di estendere in una relazione piu' permissiva
nel futuro.
Comincerai a rivecere gli aggiornamenti pubblici da '$fn',
-che apparir&agrave; sulla tua pagina 'Rete' su
+che apparira' sulla tua pagina 'Rete' su
$siteurl
diff --git a/view/it/pagetypes.tpl b/view/it/pagetypes.tpl
index 7ff0da32c..4cb0ec64c 100644
--- a/view/it/pagetypes.tpl
+++ b/view/it/pagetypes.tpl
@@ -1,6 +1,6 @@
<div id="settings-normal-wrapper">
- <label id="settings-normal-label" for="settings-normal">Profile Normale</label>
+ <label id="settings-normal-label" for="settings-normal">Profilo Normale</label>
<input type="radio" name="page-flags" id="settings-normal" $normal_selected value="$page_normal" />
<span id="settings-normal-desc">Questo account &egrave; un nomale profilo personale</span>
</div>
diff --git a/view/it/profile-in-directory.tpl b/view/it/profile-in-directory.tpl
index 0a904ecdc..69b025366 100644
--- a/view/it/profile-in-directory.tpl
+++ b/view/it/profile-in-directory.tpl
@@ -1,5 +1,5 @@
<p id="profile-in-directory">
-Pubblicare il tuo profilo di default nell'elenco sul sisto?
+Pubblicare il tuo profilo di default nell'elenco sul sito?
</p>
<div id="profile-in-dir-yes-wrapper">
diff --git a/view/it/profile.php b/view/it/profile.php
index 622dd4d01..5ecffb3a5 100644
--- a/view/it/profile.php
+++ b/view/it/profile.php
@@ -1,72 +1,72 @@
-<!DOCTYPE html ><?php // This is a perfect example of why I prefer to use template files rather than mixed PHP/HTML ?>
-<html>
-<head>
- <title><?php if(x($page,'title')) echo $page['title']; ?></title>
- <?php if(x($page,'htmlhead')) echo $page['htmlhead']; ?>
-</head>
-<body>
-<header><?php if(x($page,'header')) echo $page['header']; ?></header>
-<nav><div id="top-margin"></div><?php if(x($page,'nav')) echo $page['nav']; ?></nav>
-<aside>
-<?php if((is_array($profile)) && count($profile)) { ?>
-<div class="vcard">
- <?php if(strlen($profile['name'])) { ?>
- <div class="fn"><?php echo $profile['name']; ?></div>
- <?php } ?>
-
- <?php if(strlen($profile['photo'])) { ?>
- <div id="profile-photo-wrapper"><img class="photo" src="<?php echo $profile['photo']; ?>" alt="<?php echo $profile['name']; ?>" /></div>
- <?php } ?>
-
- <div id="profile-extra-links">
- <ul>
- <?php if($profile['uid'] != $_SESSION['uid']) { ?>
- <li><a id="dfrn-request-link" href="dfrn_request/<?php echo $profile['nickname']; ?>">Connetti</a></li>
- <?php } ?>
- </ul>
-
- </div>
-
- <?php if ( (strlen($profile['address']))
- || (strlen($profile['locality']))
- || (strlen($profile['region']))
- || (strlen($profile['postal-code']))
- || (strlen($profile['country-name']))) { ?>
- <div class="location">Location:
- <div class="adr">
- <div class="street-address"><?php if(strlen($profile['address'])) echo $profile['address']; ?></div>
- <span class="city-state-zip"><span class="locality"><?php echo $profile['locality']; ?></span><?php if(strlen($profile['locality'])) echo ', '; ?><span class="region"><?php echo $profile['region'] ?></span><?php if(strlen($profile['postal-code'])) { ?> <span class="postal-code"><?php echo $profile['postal-code']; ?></span><?php } ?></span>
- <span class="country-name"><?php echo $profile['country-name']; ?></span>
- </div>
- </div>
-
- <?php } ?>
-
- <?php if(strlen($profile['gender'])) { ?>
- <div class="mf">Gender: <span class="x-gender"><?php echo $profile['gender']; ?></span></div>
-
- <?php } ?>
-
- <?php if(strlen($profile['pubkey'])) { ?>
- <div class="key" style="display: none;"><?php echo $profile['pubkey']; ?></div>
- <?php } ?>
-</div>
-<?php } ?>
-<?php if(strlen($profile['marital'])) { ?>
-<div class="marital"><span class="marital-label"><span class="heart">&hearts;</span> Status: </span><span class="marital-text"><?php echo $profile['marital']; ?></span></div>
-<?php } ?>
-<?php if(strlen($profile['homepage'])) { ?>
-<div class="homepage"><span class="homepage-label">Homepage: </span><span class="homepage-url"><?php echo linkify($profile['homepage']); ?></span></div>
-<?php } ?>
-<?php if(x($page,'aside')) echo $page['aside'] ?>
-</aside>
-<section>
-<?php if(x($page,'content')) echo $page['content']; ?>
-<div id="page-footer"></div>
-</section>
-<footer>
-<?php if(x($page,'footer')) echo $page['footer']; ?>
-</footer>
-</body>
-</html>
-
+<!DOCTYPE html ><?php // This is a perfect example of why I prefer to use template files rather than mixed PHP/HTML ?>
+<html>
+<head>
+ <title><?php if(x($page,'title')) echo $page['title']; ?></title>
+ <?php if(x($page,'htmlhead')) echo $page['htmlhead']; ?>
+</head>
+<body>
+<header><?php if(x($page,'header')) echo $page['header']; ?></header>
+<nav><div id="top-margin"></div><?php if(x($page,'nav')) echo $page['nav']; ?></nav>
+<aside>
+<?php if((is_array($profile)) && count($profile)) { ?>
+<div class="vcard">
+ <?php if(strlen($profile['name'])) { ?>
+ <div class="fn"><?php echo $profile['name']; ?></div>
+ <?php } ?>
+
+ <?php if(strlen($profile['photo'])) { ?>
+ <div id="profile-photo-wrapper"><img class="photo" src="<?php echo $profile['photo']; ?>" alt="<?php echo $profile['name']; ?>" /></div>
+ <?php } ?>
+
+ <div id="profile-extra-links">
+ <ul>
+ <?php if($profile['uid'] != $_SESSION['uid']) { ?>
+ <li><a id="dfrn-request-link" href="dfrn_request/<?php echo $profile['nickname']; ?>">Connetti</a></li>
+ <?php } ?>
+ </ul>
+
+ </div>
+
+ <?php if ( (strlen($profile['address']))
+ || (strlen($profile['locality']))
+ || (strlen($profile['region']))
+ || (strlen($profile['postal-code']))
+ || (strlen($profile['country-name']))) { ?>
+ <div class="location">Location:
+ <div class="adr">
+ <div class="street-address"><?php if(strlen($profile['address'])) echo $profile['address']; ?></div>
+ <span class="city-state-zip"><span class="locality"><?php echo $profile['locality']; ?></span><?php if(strlen($profile['locality'])) echo ', '; ?><span class="region"><?php echo $profile['region'] ?></span><?php if(strlen($profile['postal-code'])) { ?> <span class="postal-code"><?php echo $profile['postal-code']; ?></span><?php } ?></span>
+ <span class="country-name"><?php echo $profile['country-name']; ?></span>
+ </div>
+ </div>
+
+ <?php } ?>
+
+ <?php if(strlen($profile['gender'])) { ?>
+ <div class="mf">Gender: <span class="x-gender"><?php echo $profile['gender']; ?></span></div>
+
+ <?php } ?>
+
+ <?php if(strlen($profile['pubkey'])) { ?>
+ <div class="key" style="display: none;"><?php echo $profile['pubkey']; ?></div>
+ <?php } ?>
+</div>
+<?php } ?>
+<?php if(strlen($profile['marital'])) { ?>
+<div class="marital"><span class="marital-label"><span class="heart">&hearts;</span> Status: </span><span class="marital-text"><?php echo $profile['marital']; ?></span></div>
+<?php } ?>
+<?php if(strlen($profile['homepage'])) { ?>
+<div class="homepage"><span class="homepage-label">Homepage: </span><span class="homepage-url"><?php echo linkify($profile['homepage']); ?></span></div>
+<?php } ?>
+<?php if(x($page,'aside')) echo $page['aside'] ?>
+</aside>
+<section>
+<?php if(x($page,'content')) echo $page['content']; ?>
+<div id="page-footer"></div>
+</section>
+<footer>
+<?php if(x($page,'footer')) echo $page['footer']; ?>
+</footer>
+</body>
+</html>
+
diff --git a/view/it/pwdreset.tpl b/view/it/pwdreset.tpl
index 004a7b16d..c283033ee 100644
--- a/view/it/pwdreset.tpl
+++ b/view/it/pwdreset.tpl
@@ -4,7 +4,7 @@
La tua password &egrave; stata resettata come richiesto.
</p>
<p>
-La tua nuova password %egrave;
+La tua nuova password &egrave;
</p>
<p>
$newpass
diff --git a/view/it/strings.php b/view/it/strings.php
index 217f04410..801516310 100644
--- a/view/it/strings.php
+++ b/view/it/strings.php
@@ -91,11 +91,11 @@ $a->strings['Contact record was not found for you on our site.'] = 'Il contatto
$a->strings['The ID provided by your system is a duplicate on our system. It should work if you try again.'] = 'L\'ID fornito dal tuo sistema e\' duplicato sul nostro sistema. Dovrebbe funzionare se provi ancora.';
$a->strings['Unable to set your contact credentials on our system.'] = 'Impossibile impostare le credenziali del tuo contatto sul nostro sistema.';
$a->strings['Unable to update your contact profile details on our system'] = 'Impossibile aggiornare i dettagli del tuo contatto sul nostro sistema';
-$a->strings["Connection accepted at "] = "Connessione accettata alle ";
+$a->strings["Connection accepted at "] = "Connessione accettata su ";
$a->strings['Administrator'] = 'Amministratore';
-$a->strings['New mail received at '] = 'Nuova mail ricevuta alle ';
-$a->strings[' commented on an item at '] = ' commentato un elemento alle ';
-$a->strings[" commented on an item at "] = " commentato un elemento alle ";
+$a->strings['New mail received at '] = 'Nuova mail ricevuta su ';
+$a->strings[' commented on an item at '] = ' commentato un elemento su ';
+$a->strings[" commented on an item at "] = " commentato un elemento su ";
$a->strings[' welcomes '] = ' accoglie ';
$a->strings["This introduction has already been accepted."] = "Questa presentazione &egrave; gi&agrave; stata accettata.";
$a->strings['Profile location is not valid or does not contain profile information.'] = 'La posizione del profilo non &egrave; valida o non contiene informazioni di profilo.';
@@ -189,8 +189,8 @@ $a->strings['To accept this invitation, please visit:'] = 'Per accettare questo
$a->strings['Once you have registered, please connect with me via my profile page at:'] = 'Una volta registrato, connettiti con me sul mio profilo a:';
$a->strings['Unable to locate original post.'] = 'Impossibile trovare il messaggio originale.';
$a->strings['Empty post discarded.'] = 'Messaggio vuoto scartato.';
-$a->strings[" commented on your item at "] = " ha commentato il tuo elemento alle ";
-$a->strings[" posted on your profile wall at "] = " ha inviato un messaggio sulla tua bachecha alle ";
+$a->strings[" commented on your item at "] = " ha commentato il tuo elemento su ";
+$a->strings[" posted on your profile wall at "] = " ha inviato un messaggio sulla tua bachecha su ";
$a->strings['Facebook status update failed.'] = 'Aggiornamento stato Facebook fallito.';
$a->strings['photo'] = 'foto';
$a->strings['status'] = 'stato';
@@ -199,7 +199,7 @@ $a->strings['doesn\'t like'] = 'non apprezza';
$a->strings['\'s'] = '\'s';
$a->strings['Remote privacy information not available.'] = 'Informazioni remote sulla privacy non disponibili.';
$a->strings['Visible to:'] = 'Visibile a:';
-$a->strings['Password reset requested at '] = 'Resetta password richiesta alle ';
+$a->strings['Password reset requested at '] = 'Richiesta di resettare la password su ';
$a->strings['No recipient selected.'] = 'Nessun destinatario selezionato.';
$a->strings['[no subject]'] = '[nessun oggetto]';
$a->strings['Unable to locate contact information.'] = 'Impossibile trovare le informazioni del contatto.';
diff --git a/view/theme/duepuntozero/border.jpg b/view/theme/duepuntozero/border.jpg
new file mode 100644
index 000000000..034a1cb63
--- /dev/null
+++ b/view/theme/duepuntozero/border.jpg
Binary files differ
diff --git a/view/theme/duepuntozero/head.jpg b/view/theme/duepuntozero/head.jpg
new file mode 100644
index 000000000..6210b76be
--- /dev/null
+++ b/view/theme/duepuntozero/head.jpg
Binary files differ
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
new file mode 100644
index 000000000..dafc24360
--- /dev/null
+++ b/view/theme/duepuntozero/style.css
@@ -0,0 +1,1828 @@
+/**
+ * duepuntozero Frindika style
+ * Fabio Comuni <fabrix.xm@gmail.com>
+ */
+
+
+/* generals */
+body {
+ font-family: helvetica,arial,freesans,clean,sans-serif;
+ font-size: 12px;
+ background-color: #ffffff;
+ background-image: url(head.jpg);
+ background-repeat: repeat-x;
+ color: #000000;
+ margin: 0px;
+}
+
+
+a, a:visited { color: #3465a4; text-decoration: none; }
+a:hover {text-decoration: underline; }
+
+input {
+ border: 1px solid #666666;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+
+img { border :0px; }
+
+.openid {
+ background: url(../default/login-bg.gif) no-repeat;
+ background-position: 0 50%;
+ padding-left: 18px;
+}
+.openid:hover {
+
+}
+
+code {
+ font-family: Courier, monospace;
+ white-space: pre;
+ display: block;
+ overflow: auto;
+ border: 1px solid #444;
+ background: #EEE;
+ color: #444;
+ padding: 10px;
+ margin-top: 20px;
+}
+blockquote:before {
+ content: '>> ';
+}
+
+#panel {
+ background-color: ivory;
+ position: absolute;
+ z-index: 2;
+ width: 30%;
+ padding: 25px;
+ border: 1px solid #444;
+}
+
+.heart {
+ color: #FF0000;
+ font-size: 100%;
+}
+
+
+
+/* nav */
+nav {
+ height: 94px;
+ display: block;
+ margin: 0px 10%;
+ border-bottom: 1px solid #babdb6;
+}
+nav #site-location {
+ color: #888a85;
+ font-size: 0.8em;
+}
+
+.error-message {
+ color: #FF0000;
+ font-size: 1.1em;
+ border: 1px solid #FF8888;
+ background-color: #FFEEEE;
+ padding: 10px;
+}
+
+
+nav #banner {
+ display: block;
+ float: left;
+ position: absolute;
+}
+nav #banner #logo-text a {
+ font-size: 44px;
+ font-weight: bold;
+ color: #000000;
+
+}
+nav #banner #logo-text a:hover { text-decoration: none; }
+
+
+.nav-commlink, .nav-login-link {
+ margin-top: 52px;
+ margin-right: 2px;
+ padding: 0.5em 1em;
+ float: left;
+ bottom: 140px;
+ border: 1px solid #babdb6;
+ border-bottom: 0px;
+ background-color: #aec0d3;
+ color: #565854;
+ -moz-border-radius: 3px 3px 0px 0px;
+ border-radius: 3px 3px 0px 0px;
+}
+nav .nav-link {
+ float: right;
+ margin: 0.2em 0em;
+ padding: 0em 0.5em;
+ background-color: transparent !important;
+}
+
+
+.nav-selected {
+ background-color: #ffffff;
+ border-bottom: 1px solid #ffffff;
+ color: #000000 !important;
+ margin-top: 48px;
+ padding-top: 0.8em;
+}
+.nav-ajax-left {
+ font-size: 0.8em;
+ float: left;
+ margin-top: 46px;
+}
+
+
+nav #nav-link-wrapper .nav-link {
+ border-right: 1px solid #babdb6;
+}
+
+/* aside */
+aside {
+ display: block;
+ min-height: 112px;
+ width: 200px;
+ margin-left: 10%;
+ padding: 1em;
+ float: left;
+ background-image: url(border.jpg);
+ background-position: top left;
+ background-repeat: no-repeat;
+ position: absolute;
+}
+
+
+/* section */
+section {
+ margin: 0px 10%;
+ padding-top: 1em;
+ padding-left: 250px;
+ padding-right: 1em;
+ display: block;
+ background-color: #ffffff;
+ background-image: url(border.jpg);
+ background-position: top right;
+ background-repeat: no-repeat;
+ min-height: 112px;
+
+}
+
+#profile-tabs-wrapper {
+ height: 27px;
+ background-image: url(head.jpg);
+ background-repeat: repeat-x;
+ background-position: 0px -20px;
+ border-bottom: 1px solid #babdb6;
+}
+.profile-tabs {
+ display:block;
+ float:left;
+ padding: 0.4em;
+ margin-right: 1em;
+}
+
+/* footer */
+footer {
+ display: none;
+
+}
+
+
+/* from defautlt */
+#jot-perms-icon,
+#profile-location,
+#profile-nolocation,
+#profile-video,
+#profile-link,
+#wall-image-upload,
+#profile-upload-wrapper,
+#wall-image-upload-div,
+.hover, .focus {
+ cursor: pointer;
+}
+
+.fakelink, .fakelink:visited {
+ color: #3465a4;
+ text-decoration: none;
+ cursor: pointer;
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+.lockview {
+ cursor: pointer;
+}
+
+.fakelink:hover {
+ color: #3465a4;
+ text-decoration: underline;
+ cursor: pointer;
+}
+.smalltext {
+ font-size: 0.7em;
+}
+#sysmsg {
+ /*width: 600px;*/
+ margin-bottom: 10px;
+}
+
+#register-fill-ext {
+ margin-bottom: 25px;
+}
+
+#label-register-name, #label-register-email, #label-register-nickname, #label-register-openid {
+ float: left;
+ width: 350px;
+ margin-top: 10px;
+}
+
+#register-name, #register-email, #register-nickname {
+ float: left;
+ margin-top: 10px;
+ width: 150px;
+}
+
+#register-openid {
+ float: left;
+ margin-top: 10px;
+ width: 130px;
+}
+
+#register-name-end, #register-email-end, #register-nickname-end, #register-submit-end, #register-openid-end {
+ clear: both;
+}
+
+#register-nickname-desc {
+ margin-top: 30px;
+ width: 650px;
+}
+#register-sitename {
+ float: left;
+ margin-top: 10px;
+}
+
+#register-submit-button {
+ margin-top: 50px;
+ margin-left: 350px;
+}
+
+#label-login-name, #label-login-password, #login-extra-filler {
+ float: left;
+ width: 200px;
+ margin-bottom: 20px;
+}
+
+
+#login-password {
+ float: left;
+ width: 170px;
+}
+
+#login-name {
+ float: left;
+ width: 153px;
+}
+
+#login-name.no-openid {
+ float: left;
+ width: 170px;
+}
+
+#register-link, #lost-password-link {
+ float: left;
+ font-size: 80%;
+ margin-right: 15px;
+}
+
+#login-name-end, #login-password-end, #login-extra-end, #login-submit-end {
+ height: 50px;
+}
+
+#login-submit-button {
+/* margin-top: 10px; */
+ margin-left: 200px;
+}
+
+
+input#dfrn-url {
+ float: left;
+ background: url(../default/ff-16.jpg) no-repeat;
+ background-position: 2px center;
+ font-size: 17px;
+ padding-left: 21px;
+ height: 21px;
+ background-color: #FFFFFF;
+ color: #000000;
+ margin-bottom: 20px;
+}
+
+#dfrn-url-label {
+ float: left;
+ width: 250px;
+}
+
+#dfrn-request-url-end {
+ clear: both;
+}
+
+#knowyouyes, #knowyouno {
+ float: left;
+}
+
+#dfrn-request-knowyou-yes-wrapper, #dfrn-request-knowyou-no-wrapper {
+
+ float: none;
+}
+#dfrn-request-knowyou-yes-label, #dfrn-request-knowyou-no-label {
+ float: left;
+ width: 75px;
+ margin-left: 50px;
+ margin-bottom: 7px;
+}
+#dfrn-request-knowyou-break, #dfrn-request-knowyou-end {
+ clear: both;
+
+}
+
+#dfrn-request-message-wrapper {
+ margin-bottom: 50px;
+}
+#dfrn-request-submit-wrapper {
+ clear: both;
+ margin-left: 50px;
+}
+
+#dfrn-request-info-wrapper {
+ margin-left: 50px;
+}
+
+#settings-nick-wrapper {
+ margin-bottom: 30px;
+}
+
+#settings-username-end,
+#settings-email-end,
+#settings-nick-end,
+#settings-defloc-end,
+#settings-allowloc-end,
+#settings-timezone-end,
+#settings-theme-end,
+#settings-password-end,
+#settings-confirm-end,
+#settings-openid-end,
+#settings-maxreq-end,
+#notify1-end,
+#notify2-end,
+#notify3-end,
+#notify4-end,
+#notify5-end {
+ margin-bottom: 5px;
+ clear: both;
+}
+
+#settings-username-label,
+#settings-email-label,
+#settings-nick-label,
+#settings-defloc-label,
+#settings-allowloc-label,
+#settings-timezone-label,
+#settings-theme-label,
+#settings-password-label,
+#settings-confirm-label,
+#settings-openid-label,
+#settings-maxreq-label,
+#settings-label-notify1,
+#settings-label-notify2,
+#settings-label-notify3,
+#settings-label-notify4,
+#settings-label-notify5 {
+ float: left;
+ width: 200px;
+}
+
+#settings-username,
+#settings-email,
+#settings-nick,
+#settings-defloc,
+#settings-allowloc,
+#timezone-select,
+#theme-select,
+#settings-password,
+#settings-confirm,
+#settings-maxreq,
+#notify1,
+#notify2,
+#notify3,
+#notify4,
+#notify5 {
+ float: left;
+ margin-bottom: 20px;
+}
+
+#settings-openid {
+ float: left;
+ margin-bottom: 20px;
+ width: 127px;
+}
+
+#settings-maxreq-desc {
+ float: left;
+ margin-left: 20px;
+}
+
+#settings-theme-label,
+#settings-defloc-label {
+ margin-top: 20px;
+}
+
+#settings-defloc {
+ margin-top: 20px;
+}
+
+
+#theme-select {
+ margin-top: 20px;
+ width: 207px;
+}
+#settings-notify-desc {
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+#settings-nick-desc {
+ width: 500px;
+}
+
+#settings-nick {
+ margin-bottom: 50px;
+}
+
+#cropimage-wrapper, #cropimage-preview-wrapper {
+ float: left;
+ padding: 30px;
+}
+
+#crop-image-form {
+ margin-top: 30px;
+ clear: both;
+}
+
+.intro-wrapper {
+ margin-top: 20px;
+}
+
+.intro-fullname {
+ font-size: 1.1em;
+ font-weight: bold;
+
+}
+.intro-desc {
+ margin-bottom: 20px;
+ font-weight: bold;
+}
+
+.intro-note {
+ padding: 10px;
+}
+
+.intro-end {
+ padding: 30px;
+}
+
+.intro-form {
+ float: left;
+}
+.intro-approve-form {
+ clear: both;
+}
+.intro-approve-as-friend-end {
+ clear: both;
+}
+.intro-submit-approve, .intro-submit-ignore {
+ margin-right: 20px;
+}
+.intro-submit-approve {
+ margin-top: 15px;
+}
+
+.intro-approve-as-friend-label, .intro-approve-as-fan-label {
+ float: left;
+ width: 100px;
+ margin-left: 20px;
+}
+.intro-approve-as-friend, .intro-approve-as-fan {
+ float: left;
+}
+.intro-form-end {
+ clear: both;
+}
+.intro-approve-as-friend-desc {
+ margin-top: 15px;
+}
+.intro-approve-as-end {
+ clear: both;
+ margin-bottom: 10px;
+}
+
+.intro-end {
+ clear: both;
+ margin-bottom: 30px;
+}
+
+#profile-extra-links ul {
+ list-style-type: none;
+}
+
+
+#profile-extra-links li {
+ margin-top: 5px;
+}
+
+#profile-edit-links ul {
+ list-style-type: none;
+}
+
+#profile-edit-links li {
+ margin-top: 10px;
+}
+
+.view-contact-wrapper {
+ margin-top: 20px;
+ float: left;
+ margin-left: 20px;
+ width: 180px;
+}
+#view-contact-end {
+ clear: both;
+}
+
+
+#viewcontacts {
+ margin-top: 15px;
+}
+#profile-edit-default-desc {
+ color: #FF0000;
+ border: 1px solid #FF8888;
+ background-color: #FFEEEE;
+ padding: 7px;
+}
+
+#profile-edit-clone-link-wrapper {
+ float: left;
+ margin-left: 50px;
+ margin-bottom: 20px;
+ width: 300px;
+}
+
+#profile-edit-drop-link-wrapper {
+ float: left;
+}
+
+#profile-edit-links-end {
+ clear: both;
+}
+.profile-listing-photo {
+ border: none;
+}
+
+.profile-edit-submit-wrapper {
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+#profile-edit-profile-name-label,
+#profile-edit-name-label,
+#profile-edit-gender-label,
+#profile-edit-dob-label,
+#profile-edit-address-label,
+#profile-edit-locality-label,
+#profile-edit-region-label,
+#profile-edit-postal-code-label,
+#profile-edit-country-name-label,
+#profile-edit-marital-label,
+#profile-edit-sexual-label,
+#profile-edit-politic-label,
+#profile-edit-religion-label,
+#profile-edit-keywords-label,
+#profile-edit-homepage-label {
+ float: left;
+ width: 175px;
+}
+
+#profile-edit-profile-name,
+#profile-edit-name,
+#gender-select,
+#profile-edit-dob,
+#profile-edit-address,
+#profile-edit-locality,
+#profile-edit-region,
+#profile-edit-postal-code,
+#profile-edit-country-name,
+#marital-select,
+#sexual-select,
+#profile-edit-politic,
+#profile-edit-religion,
+#profile-edit-keywords,
+#profile-in-dir-yes,
+#profile-in-dir-no,
+#profile-in-netdir-yes,
+#profile-in-netdir-no,
+#hide-friends-yes,
+#hide-friends-no,
+#settings-normal,
+#settings-soapbox,
+#settings-community,
+#settings-freelove {
+ float: left;
+ margin-bottom: 20px;
+}
+
+#profile-in-dir-yes-label,
+#profile-in-dir-no-label,
+#profile-in-netdir-yes-label,
+#profile-in-netdir-no-label,
+#hide-friends-yes-label,
+#hide-friends-no-label {
+ margin-left: 125px;
+ float: left;
+ width: 50px;
+}
+
+#profile-edit-with-label {
+ width: 175px;
+ margin-left: 20px;
+}
+
+#profile-edit-keywords-desc {
+ float: left;
+ margin-left: 20px;
+}
+
+
+#profile-edit-homepage {
+ float: left;
+ margin-bottom: 35px;
+}
+#settings-normal-label,
+#settings-soapbox-label,
+#settings-community-label,
+#settings-freelove-label {
+ float: left;
+ width: 200px;
+}
+#settings-normal-desc,
+#settings-soapbox-desc,
+#settings-community-desc,
+#settings-freelove-desc {
+ float: left;
+ margin-left: 75px;
+}
+
+#profile-edit-profile-name-end,
+#profile-edit-name-end,
+#profile-edit-gender-end,
+#profile-edit-dob-end,
+#profile-edit-address-end,
+#profile-edit-locality-end,
+#profile-edit-region-end,
+#profile-edit-postal-code-end,
+#profile-edit-country-name-end,
+#profile-edit-marital-end,
+#profile-edit-sexual-end,
+#profile-edit-politic-end,
+#profile-edit-religion-end,
+#profile-edit-keywords-end,
+#profile-edit-homepage-end,
+#profile-in-dir-break,
+#profile-in-dir-end,
+#profile-in-netdir-break,
+#profile-in-netdir-end,
+#hide-friends-break,
+#hide-friends-end,
+#settings-normal-break,
+#settings-soapbox-break,
+#settings-community-break,
+#settings-freelove-break {
+ clear: both;
+}
+
+
+
+
+
+#gender-select, #marital-select, #sexual-select {
+ width: 220px;
+}
+
+#profile-edit-profile-name-wrapper .required {
+ color: #FF0000;
+ float: left;
+}
+
+#contacts-main {
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+.contact-entry-wrapper {
+ float: left;
+ width: 180px;
+}
+
+.contact-entry-direction-icon {
+ margin-top: 24px;
+ margin-right: 2px;
+}
+
+.contact-entry-photo img {
+ border: none;
+}
+.contact-entry-photo-end {
+ clear: both;
+}
+.contact-entry-name {
+ float: left;
+ margin-left: 30px;
+}
+.contact-entry-edit-links {
+ margin-top: 6px;
+ margin-left: 10px;
+ width: 16px;
+}
+.contact-entry-nav-wrapper {
+ float: left;
+ margin-left: 10px;
+}
+
+.contact-entry-edit-links img {
+ border: none;
+ margin-right: 15px;
+}
+.contact-entry-photo {
+ float: left;
+}
+.contact-entry-end {
+ clear: both;
+}
+
+#contact-edit-end {
+ clear: both;
+}
+
+.wall-item-content-wrapper {
+ margin-top: 10px;
+ border: 1px solid #CCC;
+}
+
+.wall-item-content-wrapper.comment {
+ margin-left: 50px;
+ background: #CCCCCC;
+}
+
+.wall-item-photo-wrapper {
+ margin-top: 10px;
+ margin-left: 10px;
+ margin-bottom: 10px;
+ width: 100px;
+ float: left;
+}
+.wall-item-arrowphoto-wrapper {
+ margin-top: 40px;
+ margin-right: 20px;
+ float: left;
+}
+.wall-item-wrapper {
+ float: left;
+}
+.wall-item-lock {
+ height: 20px;
+ margin-top: 10px;
+}
+
+.wall-item-ago {
+ color: #888888;
+ font-size: 0.8em;
+}
+
+.wall-item-like-buttons img {
+ cursor: pointer;
+}
+.wall-item-delete-wrapper {
+ float: right;
+ margin-top: 20px;
+ margin-right: 50px;
+}
+
+.wall-item-delete-end {
+ clear: both;
+}
+
+.wall-item-delete-icon {
+ border: none;
+}
+
+
+.wall-item-wrapper-end {
+ clear: both;
+}
+.wall-item-name-link {
+ font-weight: bold;
+ text-decoration: none;
+ color: #3172BD;
+}
+.wall-item-photo {
+ border: none;
+}
+.wall-item-content {
+ float: left;
+ width: 450px;
+ margin-left: 10px;
+ margin-bottom: 20px;
+}
+
+.wall-item-title {
+ float: left;
+ font-weight: bold;
+ width: 450px;
+}
+
+.wall-item-body {
+ float: left;
+ width: 450px;
+ margin-top: 30px;
+}
+
+.comment-edit-wrapper {
+ margin-top: 15px;
+ background: #CCCCCC;
+ margin-left: 50px;
+}
+
+.comment-wwedit-wrapper {
+ margin-top: 15px;
+ background: #CCCCCC;
+ margin-left: 250px;
+}
+
+.comment-edit-photo {
+ margin-top: 10px;
+ margin-left: 10px;
+ margin-bottom: 10px;
+ width: 100px;
+ float: left;
+}
+.comment-edit-photo img {
+ width: 25px;
+}
+.comment-edit-text-empty, .comment-edit-text-full {
+ float: left;
+ margin-top: 10px;
+}
+.comment-edit-text-end {
+ clear: both;
+}
+
+.comment-edit-submit {
+ margin: 10px 0px 10px 110px;
+}
+
+#profile-jot-submit-wrapper {
+ margin-top: 15px;
+}
+
+#profile-jot-submit {
+ float: left;
+}
+#profile-upload-wrapper {
+ float: left;
+ margin-left: 50px;
+}
+
+#profile-rotator {
+ float: left;
+ margin-left: 50px;
+}
+#profile-link-wrapper {
+ float: left;
+ margin-left: 20px;
+}
+#profile-youtube-wrapper {
+ float: left;
+ margin-left: 20px;
+}
+#profile-location-wrapper {
+ float: left;
+ margin-left: 20px;
+}
+#profile-nolocation-wrapper {
+ float: left;
+ margin-left: 20px;
+}
+
+#profile-jot-perms {
+ float: left;
+ margin-left: 200px;
+ font-weight: bold;
+ font-size: 1.2em;
+}
+
+#profile-jot-perms-end {
+ /*clear: left;*/
+ height: 30px;
+}
+
+#profile-jot-end {
+ /*clear: both;*/
+ margin-bottom: 30px;
+}
+#about-jot-submit-wrapper {
+ margin-top: 15px;
+}
+#about-jot-end {
+ margin-bottom: 30px;
+}
+#contacts-main {
+ margin-bottom: 30px;
+}
+
+#profile-listing-desc {
+ margin-left: 30px;
+}
+
+#profile-listing-new-link-wrapper {
+ margin-left: 30px;
+ margin-bottom: 30px;
+}
+.profile-listing-photo-wrapper {
+ float: left;
+}
+
+.profile-listing-edit-buttons-wrapper {
+ clear: both;
+}
+.profile-listing-photo-edit-link {
+ float: left;
+ width: 125px;
+}
+.profile-listing-end {
+ clear: both;
+}
+.profile-listing-edit-buttons-wrapper img{
+ border: none;
+ margin-right: 20px;
+}
+.profile-listing {
+ margin-top: 25px;
+}
+.profile-listing-name {
+ float: left;
+ margin-left: 32px;
+ margin-top: 10px;
+ color: #3172BD;
+ font-weight: bold;
+ width: 200px;
+
+}
+.fortune {
+ margin-top: 50px;
+ color: #4444FF;
+ font-weight: bold;
+ margin-bottom: 20px;
+}
+
+
+.directory-end {
+ clear: both;
+}
+.directory-name {
+ text-align: center;
+}
+.directory-photo {
+ margin-left: 25px;
+}
+.directory-details {
+ font-size: 0.7em;
+ text-align: center;
+ margin-left: 5px;
+ margin-right: 5px;
+}
+.directory-item {
+ float: left;
+ width: 225px;
+ height: 260px;
+ overflow: auto;
+}
+
+#directory-search-wrapper {
+ margin-top: 20px;
+ margin-right: 20px;
+ margin-bottom: 50px;
+}
+
+#directory-search-end {
+}
+
+.directory-photo-img {
+ border: none;
+}
+
+
+.pager {
+ padding: 10px;
+ text-align: center;
+ font-size: 1.0em;
+}
+
+
+.pager_first,
+.pager_last,
+.pager_prev,
+.pager_next,
+.pager_n {
+ border: 1px solid black;
+ background: #EEE;
+ padding: 4px;
+}
+
+.pager_first a,
+.pager_last a,
+.pager_prev a,
+.pager_next a,
+.pager_n a {
+ text-decoration: none;
+}
+
+.pager_current {
+ border: 1px solid black;
+ background: #FFCCCC;
+ padding: 4px;
+}
+
+
+#advanced-profile-name-wrapper,
+#advanced-profile-gender-wrapper,
+#advanced-profile-dob-wrapper,
+#advanced-profile-age-wrapper,
+#advanced-profile-marital-wrapper,
+#advanced-profile-sexual-wrapper,
+#advanced-profile-homepage-wrapper,
+#advanced-profile-politic-wrapper,
+#advanced-profile-religion-wrapper,
+#advanced-profile-about-wrapper,
+#advanced-profile-interest-wrapper,
+#advanced-profile-contact-wrapper,
+#advanced-profile-music-wrapper,
+#advanced-profile-book-wrapper,
+#advanced-profile-tv-wrapper,
+#advanced-profile-film-wrapper,
+#advanced-profile-romance-wrapper,
+#advanced-profile-work-wrapper,
+#advanced-profile-education-wrapper {
+ margin-top: 20px;
+}
+
+#advanced-profile-name-text,
+#advanced-profile-gender-text,
+#advanced-profile-dob-text,
+#advanced-profile-age-text,
+#advanced-profile-marital-text,
+#advanced-profile-sexual-text,
+#advanced-profile-homepage-text,
+#advanced-profile-politic-text,
+#advanced-profile-religion-text,
+#advanced-profile-about-text,
+#advanced-profile-interest-text,
+#advanced-profile-contact-text,
+#advanced-profile-music-text,
+#advanced-profile-book-text,
+#advanced-profile-tv-text,
+#advanced-profile-film-text,
+#advanced-profile-romance-text,
+#advanced-profile-work-text,
+#advanced-profile-education-text {
+ width: 300px;
+ float: left;
+}
+
+#advanced-profile-name-end,
+#advanced-profile-gender-end,
+#advanced-profile-dob-end,
+#advanced-profile-age-end,
+#advanced-profile-marital-end,
+#advanced-profile-sexual-end,
+#advanced-profile-homepage-end,
+#advanced-profile-politic-end,
+#advanced-profile-religion-end {
+ height: 10px;
+}
+
+#advanced-profile-about-end,
+#advanced-profile-interest-end,
+#advanced-profile-contact-end,
+#advanced-profile-music-end,
+#advanced-profile-book-end,
+#advanced-profile-tv-end,
+#advanced-profile-film-end,
+#advanced-profile-romance-end,
+#advanced-profile-work-end,
+#advanced-profile-education-end {
+
+
+}
+
+#advanced-profile-name,
+#advanced-profile-gender,
+#advanced-profile-dob,
+#advanced-profile-age,
+#advanced-profile-marital,
+#advanced-profile-sexual,
+#advanced-profile-homepage,
+#advanced-profile-politic,
+#advanced-profile-religion {
+ float: left;
+
+}
+
+
+#advanced-profile-about,
+#advanced-profile-interest,
+#advanced-profile-contact,
+#advanced-profile-music,
+#advanced-profile-book,
+#advanced-profile-tv,
+#advanced-profile-film,
+#advanced-profile-romance,
+#advanced-profile-work,
+#advanced-profile-education {
+ margin-top: 10px;
+ margin-left: 50px;
+ margin-right: 20px;
+ padding: 10px;
+ border: 1px solid #CCCCCC;
+}
+
+#advanced-profile-with {
+ float: left;
+ margin-left: 15px;
+}
+
+#contact-edit-wrapper {
+ margin-top: 50px;
+}
+
+#contact-edit-banner-name {
+ font-size: 1.4em;
+ font-weight: bold;
+ margin-left: 30px;
+}
+
+#contact-edit-poll-wrapper {
+ margin-left: 50px;
+ margin-top: 30px;
+}
+#contact-edit-poll-text {
+ margin-bottom: 10px;
+}
+
+#contact-edit-photo-wrapper {
+ margin-bottom: 20px;
+}
+#contact-edit-links {
+ float: left;
+}
+#contact-edit-links img {
+ margin-left: 20px;
+ border: none;
+}
+
+#contact-drop-links {
+ float: left;
+}
+
+#contact-drop-links img {
+ margin-left: 20px;
+ border: none;
+}
+
+#contact-edit-nav-end {
+ clear: both;
+}
+
+#contact-edit-direction-icon {
+ float: left;
+ margin-top: 70px;
+ margin-right: 2px;
+}
+
+#contact-edit-photo {
+ float: left;
+}
+
+#contact-edit-photo-end {
+ clear: both;
+}
+
+#contact-edit-photo-wrapper {
+ float: left;
+}
+
+#contact-edit-nav-wrapper {
+ float: left;
+}
+
+#contact-edit-end {
+ clear: both;
+}
+
+#contact-profile-selector {
+ width: 175px;
+ margin-left: 175px;
+}
+
+#contact-reputation-selector {
+ margin-left: 175px;
+}
+
+#contact-edit-rating-text {
+ margin-left: 175px;
+}
+
+.contact-edit-submit {
+ margin-top: 20px;
+ /*margin-left: 50px;*/
+}
+
+#block-message, #ignore-message, #profile-edit-insecure {
+ margin-top: 20px;
+ color: #FF0000;
+ font-size: 1.1em;
+ border: 1px solid #FF8888;
+ background-color: #FFEEEE;
+ padding: 10px;
+}
+
+#block-message, #ignore-message {
+ width: 180px;
+}
+
+#profile-edit-insecure {
+ width: 600px;
+}
+
+/*
+.profile-tabs {
+ float: left;
+ padding: 4px;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ font-size: 0.8em;
+ font-weight: bold;
+ background-color: #ECECEC;
+ border: 1px solid #858585;
+}
+.profile-tabs:hover {
+ background-color: #0CBEFE;
+ color: #F5F6FB;
+ border: 1px solid #F5F6FB;
+}
+
+
+#profile-tabs-end {
+ clear: both;
+}*/
+
+.comment-edit-text-empty {
+ color: gray;
+ height: 30px;
+ width: 175px;
+ overflow: auto;
+ margin-bottom: 10px;
+}
+
+.comment-edit-text-full {
+ color: black;
+ height: 150px;
+ width: 350px;
+ overflow: auto;
+}
+
+#group-new-submit-wrapper {
+ margin-top: 30px;
+}
+
+#acl-allow-group-label,
+#acl-allow-contact-label,
+#acl-deny-group-label,
+#acl-deny-contact-label {
+ display: block;
+}
+
+#acl-permit-text,
+#acl-deny-text {
+ margin-top: 10px;
+}
+
+#acl-allow-group-label,
+#acl-allow-contact-label,
+#acl-deny-group-label,
+#acl-deny-contact-label {
+ margin-top: 5px;
+ margin-bottom: 5px;
+}
+
+
+#group_allow_wrapper,
+#group_deny_wrapper {
+ float: left;
+ width: 100px;
+ margin-right: 10px;
+}
+
+#contact_allow_wrapper,
+#contact_deny_wrapper {
+ float: left;
+ width: 150px;
+ margin-right: 10px;
+}
+
+#acl-allow-end,
+#acl-deny-end {
+ clear: both;
+}
+#acl-permit-outer-wrapper,
+#acl-deny-outer-wrapper {
+ padding: 10px;
+ margin-top: 10px;
+ border: 2px solid #BBBBBB;
+ float: left;
+}
+
+#acl-wrapper-end {
+ clear: both;
+}
+
+#group-edit-name-label {
+ float: left;
+ width: 175px;
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+#group-edit-name {
+ float: left;
+ width: 225px;
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+#group-edit-name-wrapper {
+
+
+}
+
+
+#group_members_select_label {
+ display: block;
+ float: left;
+ width: 175px;
+}
+
+.group_members_select {
+ float: left;
+ width: 230px;
+ overflow: auto;
+}
+
+#group_members_select_end {
+ clear: both;
+}
+#group-edit-name-end {
+ clear: both;
+}
+
+#prvmail-to-label, #prvmail-subject-label, #prvmail-message-label {
+ margin-bottom: 10px;
+ margin-top: 20px;
+}
+
+#prvmail-submit {
+ float: left;
+ margin-top: 10px;
+ margin-right: 30px;
+}
+#prvmail-upload-wrapper,
+#prvmail-link-wrapper,
+#prvmail-rotator-wrapper {
+ float: left;
+ margin-top: 10px;
+ margin-right: 10px;
+ width: 24px;
+}
+
+#prvmail-end {
+ clear: both;
+}
+
+.mail-list-sender,
+.mail-list-detail {
+ float: left;
+}
+.mail-list-detail {
+ margin-left: 20px;
+}
+
+.mail-list-subject {
+ font-size: 1.1em;
+ margin-top: 10px;
+}
+a.mail-list-link {
+ display: block;
+ padding: 4px 5px;
+}
+
+/*
+*a.mail-list-link:hover {
+* background-color: #15607B;
+* color: #F5F6FB;
+*}
+*/
+
+.mail-list-outside-wrapper-end {
+ clear: both;
+}
+
+.mail-list-outside-wrapper {
+ margin-top: 30px;
+}
+
+.mail-list-delete-wrapper {
+ float: right;
+ margin-right: 30px;
+ margin-top: 15px;
+}
+
+.mail-list-delete-icon {
+ border: none;
+}
+
+.mail-conv-sender,
+.mail-conv-detail {
+ float: left;
+}
+.mail-conv-detail {
+ margin-left: 20px;
+ width: 500px;
+}
+
+.mail-conv-subject {
+ font-size: 1.1em;
+ margin-top: 10px;
+}
+
+.mail-conv-outside-wrapper-end {
+ clear: both;
+}
+
+.mail-conv-outside-wrapper {
+ margin-top: 30px;
+}
+
+.mail-conv-delete-wrapper {
+ float: right;
+ margin-right: 30px;
+ margin-top: 15px;
+}
+
+.mail-conv-delete-icon {
+ border: none;
+}
+
+.message-links ul {
+ list-style-type: none;
+ padding: 0px;
+}
+
+.message-links li {
+ margin-top: 10px;
+ float: left;
+}
+.message-links a {
+ padding: 3px 5px;
+}
+
+.message-links ul ul {
+ clear: both;
+}
+
+#sidebar-group-list ul {
+ list-style-type: none;
+}
+
+#sidebar-group-list li {
+ margin-top: 10px;
+}
+
+#side-follow-wrapper {
+ margin-top: 20px;
+}
+#side-follow-url {
+ margin-top: 5px;
+}
+#side-follow-submit {
+ margin-top: 15px;
+}
+
+.photo-album-image-wrapper {
+ float: left;
+ margin-top: 15px;
+ height: 350px;
+ width: 350px;
+}
+
+#photo-album-end {
+ clear: both;
+}
+
+.photo-top-image-wrapper {
+ float: left;
+ margin-top: 15px;
+ height: 350px;
+ width: 350px;
+}
+
+#photo-top-end {
+ clear: both;
+}
+
+#photo-top-links {
+ margin-bottom: 30px;
+ margin-left: 30px;
+}
+
+#photos-upload-newalbum-div {
+ float: left;
+ width: 175px;
+}
+#photos-upload-existing-album-text {
+ float: left;
+ width: 175px;
+}
+#photos-upload-newalbum {
+ float: left;
+}
+#photos-upload-album-select {
+ float: left;
+}
+#photos-upload-new-end, #photos-upload-exist-end {
+ clear: both;
+}
+#photos-upload-exist-end {
+ margin-bottom: 15px;
+}
+#photos-upload-submit {
+ margin-top: 15px;
+}
+
+#photos_upload_applet_wrapper {
+ margin-bottom: 15px;
+}
+
+#photos-upload-no-java-message {
+ margin-bottom: 15px;
+}
+
+#profile-jot-desc {
+ /*float: left;*/
+ width: 480px;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+#character-counter {
+ float: right;
+ font-size: 120%;
+}
+
+#character-counter.grey {
+ color: #888888;
+}
+
+#character-counter.orange {
+ color: orange;
+}
+#character-counter.red {
+ color: red;
+}
+
+#profile-jot-banner-end {
+ /* clear: both; */
+}
+
+#photos-upload-select-files-text {
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+
+#photos-upload-perms-menu, #photos-upload-perms-menu:visited {
+ color: #8888FF;
+ text-decoration: none;
+ cursor: pointer;
+}
+
+#photos-upload-perms-menu:hover {
+ color: #0000FF;
+ text-decoration: underline;
+ cursor: pointer;
+}
+#settings-default-perms-menu {
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+
+#photo-edit-caption-label, #photo-edit-tags-label {
+ float: left;
+ width: 150px;
+}
+#photo-edit-caption, #photo-edit-newtag {
+ float: left;
+ margin-bottom: 25px;
+}
+#photo-edit-link-wrap {
+ margin-bottom: 15px;
+}
+#photo-like-div {
+ margin-bottom: 25px;
+}
+
+#photo-edit-caption-end, #photo-edit-tags-end {
+ clear: both;
+}
+
+#photo-edit-delete-button {
+ margin-left: 200px;
+}
+#photo-edit-end {
+ margin-bottom: 35px;
+}
+#photo-caption {
+ font-size: 110%;
+ font-weight: bold;
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+
+#in-this-photo-text {
+ color: #0000FF;
+ margin-left: 30px;
+}
+
+#in-this-photo {
+ margin-left: 60px;
+ margin-top: 10px;
+ margin-bottom: 20px;
+}
+
+#photo-album-edit-submit, #photo-album-edit-drop {
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+
+#photo-album-edit-drop {
+ margin-left: 200px;
+}
+
+.group-delete-wrapper {
+ float: right;
+ margin-right: 50px;
+}
+
+#install-dbhost-label,
+#install-dbuser-label,
+#install-dbpass-label,
+#install-dbdata-label,
+#install-tz-desc {
+ float: left;
+ width: 250px;
+ margin-top: 10px;
+ margin-bottom: 10px;
+
+}
+
+#install-dbhost,
+#install-dbuser,
+#install-dbpass,
+#install-dbdata {
+ float: left;
+ width: 200px;
+ margin-left: 20px;
+}
+
+#install-dbhost-end,
+#install-dbuser-end,
+#install-dbpass-end,
+#install-dbdata-end,
+#install-tz-end {
+ clear: both;
+}
+
+#install-form select#timezone_select {
+ float: left;
+ margin-top: 18px;
+ margin-left: 20px;
+}
+
+#dfrn-request-networks {
+ margin-bottom: 30px;
+}
+
+#pause {
+ position: fixed;
+ bottom: 5px;
+ right: 5px;
+}
+
+.sparkle {
+ cursor: url('../default/lock.cur'), pointer;
+/* cursor: pointer !important; */
+}
+
+.contact-block-div {
+ float: left;
+ width: 52px;
+ height: 52px;
+}
+#contact-block-end {
+ clear: both;
+}
+.contact-block-link {
+ float: left;
+}
+
+#tag-remove {
+ margin-bottom: 15px;
+}
+
+#tagrm li {
+ margin-bottom: 10px;
+}
+
+#tagrm-submit, #tagrm-cancel {
+ margin-top: 25px;
+}
+
+#tagrm-cancel {
+ margin-left: 15px;
+}
+
+.wall-item-conv {
+ margin-top: 5px;
+ margin-bottom: 25px;
+}
+
+#search-submit {
+ margin-left: 15px;
+}
+
+#search-box {
+ margin-bottom: 25px;
+}
+
+.location-label, .gender-label, .marital-label, .homepage-label {
+ float: left;
+ text-align: right;
+ display: block;
+ width: 65px;
+}
+
+.adr, .x-gender, .marital-text, .homepage-url {
+ float: left;
+ display: block;
+ margin-left: 8px;
+}
+
+.profile-clear {
+ clear: both;
+}
+
+
+.clear {
+ clear: both;
+}
+
+.cc-license {
+ margin-top: 50px;
+ font-size: 70%;
+}
+
+
+#plugin-settings-link, #account-settings-link {
+ margin-bottom: 25px;
+}
+
+
+
+/* end from defautlt */
+
+
diff --git a/view/wall_item.tpl b/view/wall_item.tpl
index 4d2404ce0..67fce4152 100644
--- a/view/wall_item.tpl
+++ b/view/wall_item.tpl
@@ -1,13 +1,13 @@
<div class="wall-item-outside-wrapper$indent" id="wall-item-outside-wrapper-$id" >
<div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" >
<div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" >
- <a href="$profile_url" title="View $name's profile" class="wall-item-photo-link" id="wall-item-photo-link-$id">
+ <a href="$profile_url" title="$title" 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-wrapper" id="wall-item-wrapper-$id" >
$lock
- <a href="$profile_url" title="View $name's profile" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a>
+ <a href="$profile_url" title="$title" 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