Browse Source

lots of formatting, bug fixes on profile updates, i18n

pull/1/head
Mike Macgirvin 12 years ago
parent
commit
2e5fb9c37e
  1. 4
      boot.php
  2. 8
      include/group.php
  3. 2
      include/items.php
  4. 2
      include/notifier.php
  5. 3
      mod/contacts.php
  6. 70
      mod/dfrn_confirm.php
  7. 49
      mod/dfrn_request.php
  8. 9
      mod/item.php
  9. 1
      mod/network.php
  10. 1
      mod/profile.php
  11. 4
      view/head.tpl
  12. 18
      view/style.css
  13. 30
      view/wall_item.tpl
  14. 40
      view/wallwall_item.tpl

4
boot.php

@ -359,8 +359,8 @@ function local_user() {
if(! function_exists('remote_user')) {
function remote_user() {
if((x($_SESSION,'authenticated')) && (x($_SESSION,'cid')))
return $_SESSION['cid'];
if((x($_SESSION,'authenticated')) && (x($_SESSION,'visitor_id')))
return $_SESSION['visitor_id'];
return false;
}}

8
include/group.php

@ -125,18 +125,22 @@ function group_side($every="contacts",$each="group") {
if(! local_user())
return;
$createtext = t('Create a new group');
$linktext= t('Everybody');
$o .= <<< EOT
<div id="group-sidebar">
<h3>Groups</h3>
<div id="sidebar-new-group">
<a href="group/new">Create a new group</a>
<a href="group/new">$createtext</a>
</div>
<div id="sidebar-group-list">
<ul id="sidebar-group-ul">
<li class="sidebar-group-li" ><a href="$every">Everybody</a></li>
<li class="sidebar-group-li" ><a href="$every" >$linktext</a></li>
EOT;

2
include/items.php

@ -110,7 +110,7 @@ function get_feed_for(&$a,$dfrn_id,$owner_id,$last_update) {
'$owner_profile_page' => xmlify($item['owner-link']),
'$owner_thumb' => xmlify($item['owner-avatar']),
'$item_id' => xmlify($item['uri']),
'$title' => xmlify($item['name']),
'$title' => xmlify($item['title']),
'$published' => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , 'Y-m-d\TH:i:s\Z')),
'$updated' => xmlify(datetime_convert('UTC', 'UTC', $item['edited'] . '+00:00' , 'Y-m-d\TH:i:s\Z')),
'$content' =>xmlify($item['body']),

2
include/notifier.php

@ -163,7 +163,7 @@ if($argc < 3)
'$owner_profile_page' => xmlify($item['owner-link']),
'$owner_thumb' => xmlify($item['owner-avatar']),
'$item_id' => xmlify($item['uri']),
'$title' => xmlify($contact['name']),
'$title' => xmlify($item['title']),
'$published' => xmlify(datetime_convert('UTC', 'UTC',
$item['created'] . '+00:00' , 'Y-m-d\TH:i:s\Z')),
'$updated' => xmlify(datetime_convert('UTC', 'UTC',

3
mod/contacts.php

@ -3,6 +3,9 @@
function contacts_init(&$a) {
require_once('include/group.php');
$a->page['aside'] .= group_side();
if($a->config['register_policy'] != REGISTER_CLOSED)
$a->page['aside'] .= '<div class="side-invite-link-wrapper" id="side-invite-link-wrapper" ><a href="invite" class="side-invite-link" id="side-invite-link">' . t("Invite Friends") . '</a></div>';
}
function contacts_post(&$a) {

70
mod/dfrn_confirm.php

@ -9,19 +9,17 @@ function dfrn_confirm_post(&$a) {
if(x($_POST,'source_url')) {
// We are processing an external confirmation to an introduction created by our user.
// We are processing an external confirmation to an introduction created by our user.
$public_key = $_POST['public_key'];
$dfrn_id = $_POST['dfrn_id'];
$source_url = $_POST['source_url'];
$aes_key = $_POST['aes_key'];
if(intval($node))
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
intval($node));
else
$r = q("SELECT * FROM `user` WHERE `nickname` = '%s' LIMIT 1",
dbesc($node));
// Find our user's account
$r = q("SELECT * FROM `user` WHERE `nickname` = '%s' LIMIT 1",
dbesc($node));
if(! count($r)) {
xml_status(3); // failure
@ -32,6 +30,8 @@ function dfrn_confirm_post(&$a) {
$decrypted_source_url = "";
// verify everything
openssl_private_decrypt($source_url,$decrypted_source_url,$my_prvkey);
@ -105,6 +105,7 @@ function dfrn_confirm_post(&$a) {
);
if($r === false)
$photo_failure = true;
$img->scaleImage(80);
$r = q("INSERT INTO `photo` ( `uid`, `resource-id`, `created`, `edited`, `filename`,
`height`, `width`, `data`, `scale` )
@ -142,7 +143,7 @@ function dfrn_confirm_post(&$a) {
intval($dfrn_record)
);
if($r === false)
$_SESSION['sysmsg'] .= "Unable to set contact photo info." . EOL;
notice( t("Unable to set contact photo info.") . EOL);
// Otherwise everything seems to have worked and we are almost done. Yay!
// Send an email notification
@ -150,32 +151,33 @@ function dfrn_confirm_post(&$a) {
$r = q("SELECT * FROM `contact` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid`
WHERE `contact`.`id` = %d LIMIT 1",
intval($dfrn_record));
if((count($r)) && ($r[0]['notify-flags'] & NOTIFY_CONFIRM)) {
$tpl = file_get_contents('view/intro_complete_eml.tpl');
$tpl = file_get_contents('view/intro_complete_eml.tpl');
$email_tpl = replace_macros($tpl, array(
'$sitename' => $a->config['sitename'],
'$siteurl' => $a->get_baseurl(),
'$username' => $r[0]['username'],
'$email' => $r[0]['email'],
'$fn' => $r[0]['name'],
'$dfrn_url' => $r[0]['url'],
'$uid' => $newuid ));
$res = mail($r[0]['email'],"Introduction accepted at {$a->config['sitename']}",
$email_tpl,"From: Administrator@{$_SERVER[SERVER_NAME]}");
if(!$res) {
notice( "Email notification failed." . EOL );
$email_tpl = replace_macros($tpl, array(
'$sitename' => $a->config['sitename'],
'$siteurl' => $a->get_baseurl(),
'$username' => $r[0]['username'],
'$email' => $r[0]['email'],
'$fn' => $r[0]['name'],
'$dfrn_url' => $r[0]['url'],
'$uid' => $newuid )
);
$res = mail($r[0]['email'], t("Introduction accepted at ") . $a->config['sitename'],
$email_tpl,t("From: Administrator@") . $_SERVER[SERVER_NAME] );
if(!$res) {
notice( t("Email notification failed.") . EOL );
}
}
xml_status(0); // Success
return; // NOTREACHED
}
else
else {
xml_status(2); // Hopefully temporary problem that can be retried.
}
return; // NOTREACHED
////////////////////// End of this scenario ///////////////////////////////////////////////
@ -187,7 +189,7 @@ function dfrn_confirm_post(&$a) {
$uid = $_SESSION['uid'];
if(! $uid) {
notice("Permission denied." . EOL );
notice(t("Permission denied.") . EOL );
return;
}
@ -200,7 +202,7 @@ function dfrn_confirm_post(&$a) {
);
if((! $r) || (! count($r))) {
$_SESSION['sysmsg'] = 'Node does not exist.' . EOL ;
notice( t('Node does not exist.') . EOL );
return;
}
@ -228,7 +230,7 @@ function dfrn_confirm_post(&$a) {
dbesc($private_key),
intval($contact_id),
intval($uid)
);
);
$params = array();
@ -262,7 +264,7 @@ function dfrn_confirm_post(&$a) {
$status = (int) $xml->status;
switch($status) {
case 0:
$_SESSION['sysmsg'] .= "Confirmation completed successfully" . EOL;
notice( t("Confirmation completed successfully") . EOL);
break;
case 1:
@ -276,12 +278,12 @@ function dfrn_confirm_post(&$a) {
);
case 2:
$_SESSION['sysmsg'] .= "Temporary failure. Please wait and try again." . EOL;
notice( t("Temporary failure. Please wait and try again.") . EOL);
break;
case 3:
$_SESSION['sysmsg'] .= "Introduction failed or was revoked. Cannot complete." . EOL;
notice( t("Introduction failed or was revoked. Cannot complete.") . EOL);
break;
}
@ -367,7 +369,7 @@ function dfrn_confirm_post(&$a) {
intval($contact_id)
);
if($r === false)
$_SESSION['sysmsg'] .= "Unable to set contact photo info." . EOL;
notice( t("Unable to set contact photo info.") . EOL);
goaway($a->get_baseurl() . '/contacts/' . intval($contact_id));
return; //NOTREACHED

49
mod/dfrn_request.php

@ -51,7 +51,7 @@ function dfrn_request_post(&$a) {
if(count($r)) {
if(strlen($r[0]['dfrn-id'])) {
notice("This introduction has already been accepted." . EOL );
notice( t("This introduction has already been accepted.") . EOL );
return;
}
else
@ -72,19 +72,19 @@ function dfrn_request_post(&$a) {
$parms = scrape_dfrn($dfrn_url);
if(! count($parms)) {
notice( 'Profile location is not valid or does not contain profile information.' . EOL );
notice( t('Profile location is not valid or does not contain profile information.') . EOL );
return;
}
else {
if(! x($parms,'fn'))
notice( 'Warning: profile location has no identifiable owner name.' . EOL );
notice( t('Warning: profile location has no identifiable owner name.') . EOL );
if(! x($parms,'photo'))
notice( 'Warning: profile location has no profile photo.' . EOL );
notice( t('Warning: profile location has no profile photo.') . EOL );
$invalid = validate_dfrn($parms);
if($invalid) {
notice( $invalid . ' required parameter'
. (($invalid == 1) ? " was " : "s were " )
. "not found at the given location." . EOL ) ;
notice( $invalid . t(' required parameter')
. (($invalid == 1) ? t(" was ") : t("s were ") )
. t("not found at the given location.") . EOL ) ;
return;
}
}
@ -114,7 +114,7 @@ function dfrn_request_post(&$a) {
}
if($r) {
notice( "Introduction complete." . EOL);
notice( t("Introduction complete.") . EOL);
}
// Allow the blocked remote notification to complete
@ -134,7 +134,7 @@ function dfrn_request_post(&$a) {
// invalid/bogus request
notice( "Unrecoverable protocol error." . EOL );
notice( t("Unrecoverable protocol error.") . EOL );
goaway($a->get_baseurl());
return; // NOTREACHED
}
@ -158,7 +158,7 @@ function dfrn_request_post(&$a) {
// in $a->argv[1] and we should have their complete info in $a->profile.
if(! (is_array($a->profile) && count($a->profile))) {
notice("Profile unavailable." . EOL);
notice(t("Profile unavailable.") . EOL);
return;
}
@ -175,7 +175,7 @@ function dfrn_request_post(&$a) {
$url = trim($_POST['dfrn_url']);
if(! strlen($url)) {
notice( "Invalid URL" . EOL );
notice( t("Invalid locator") . EOL );
return;
}
@ -204,7 +204,7 @@ function dfrn_request_post(&$a) {
}
if(! strlen($url)) {
notice("Unable to resolve your name at the provided location." . EOL);
notice(t("Unable to resolve your name at the provided location.") . EOL);
return;
}
@ -215,7 +215,7 @@ function dfrn_request_post(&$a) {
if(count($ret)) {
if(strlen($ret[0]['issued-id'])) {
notice( 'You have already introduced yourself here.' . EOL );
notice( t('You have already introduced yourself here.') . EOL );
return;
}
else {
@ -240,19 +240,19 @@ function dfrn_request_post(&$a) {
$parms = scrape_dfrn($url);
if(! count($parms)) {
notice( 'Profile location is not valid or does not contain profile information.' . EOL );
notice( t('Profile location is not valid or does not contain profile information.') . EOL );
killme();
}
else {
if(! x($parms,'fn'))
notice( 'Warning: profile location has no identifiable owner name.' . EOL );
notice( t('Warning: profile location has no identifiable owner name.') . EOL );
if(! x($parms,'photo'))
notice( 'Warning: profile location has no profile photo.' . EOL );
notice( t('Warning: profile location has no profile photo.') . EOL );
$invalid = validate_dfrn($parms);
if($invalid) {
notice( $invalid . ' required parameter'
. (($invalid == 1) ? " was " : "s were " )
. "not found at the given location." . EOL ) ;
notice( $invalid . t(' required parameter')
. (($invalid == 1) ? t(" was ") : t("s were ") )
. t("not found at the given location.") . EOL ) ;
return;
}
@ -316,7 +316,7 @@ function dfrn_request_post(&$a) {
// This notice will only be seen by the requestor if the requestor and requestee are on the same server.
if(! $failed)
notice( "Your introduction has been sent." . EOL );
notice( t("Your introduction has been sent.") . EOL );
// "Homecoming" - send the requestor back to their site to record the introduction.
@ -349,7 +349,7 @@ function dfrn_request_content(&$a) {
if(x($_GET,'dfrn_url')) {
if(! local_user()) {
notice( "Please login to confirm introduction." . EOL );
notice( t("Please login to confirm introduction.") . EOL );
return login();
}
@ -357,7 +357,7 @@ function dfrn_request_content(&$a) {
// but not as the person who needs to deal with this request.
if ($a->user['nickname'] != $a->argv[1]) {
notice( "Incorrect identity currently logged in. Please login to <strong>this</strong> profile." . EOL);
notice( t("Incorrect identity currently logged in. Please login to <strong>this</strong> profile.") . EOL);
return login();
}
@ -398,13 +398,13 @@ function dfrn_request_content(&$a) {
if($r[0]['notify-flags'] & NOTIFY_INTRO) {
$email_tpl = file_get_contents('view/request_notify_eml.tpl');
$email = replace_macros($email_tpl, array(
'$requestor' => ((strlen(stripslashes($r[0]['name']))) ? stripslashes($r[0]['name']) : '[Name Withheld]'),
'$requestor' => ((strlen(stripslashes($r[0]['name']))) ? stripslashes($r[0]['name']) : t('[Name Withheld]')),
'$url' => stripslashes($r[0]['url']),
'$myname' => $r[0]['username'],
'$siteurl' => $a->get_baseurl(),
'$sitename' => $a->config['sitename']
));
$res = mail($r[0]['email'],"Introduction received at {$a->config['sitename']}",$email,"From: Administrator@{$_SERVER[SERVER_NAME]}");
$res = mail($r[0]['email'],t("Introduction received at ") . $a->config['sitename'],$email,t('From: Administrator@') . $_SERVER[SERVER_NAME] );
// This is a redundant notification - no point throwing errors if it fails.
}
}
@ -425,5 +425,6 @@ function dfrn_request_content(&$a) {
$o = replace_macros($o,array('$nickname' => $a->argv[1]));
return $o;
}
return; // Somebody is fishing.
}}

9
mod/item.php

@ -64,7 +64,7 @@ function item_post(&$a) {
$str_contact_deny = implode('',$contact_deny);
}
$title = notags(trim($_POST['title']));
$body = escape_tags(trim($_POST['body']));
if(! strlen($body)) {
@ -118,8 +118,8 @@ function item_post(&$a) {
$r = q("INSERT INTO `item` (`uid`,`type`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`, `created`,
`edited`, `uri`, `body`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`)
VALUES( %d, '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
`edited`, `uri`, `title`, `body`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`)
VALUES( %d, '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
intval($profile_uid),
dbesc($_POST['type']),
intval($contact_id),
@ -129,7 +129,8 @@ function item_post(&$a) {
datetime_convert(),
datetime_convert(),
dbesc($uri),
dbesc(escape_tags(trim($_POST['body']))),
dbesc($title),
dbesc($body),
dbesc($str_contact_allow),
dbesc($str_group_allow),
dbesc($str_contact_deny),

1
mod/network.php

@ -210,6 +210,7 @@ function network_content(&$a, $update = false) {
'$profile_url' => $profile_link,
'$name' => $profile_name,
'$thumb' => $profile_avatar,
'$title' => $item['title'],
'$body' => bbcode($item['body']),
'$ago' => relative_date($item['created']),
'$indent' => (($item['parent'] != $item['item_id']) ? ' comment' : ''),

1
mod/profile.php

@ -282,6 +282,7 @@ function profile_content(&$a, $update = false) {
'$profile_url' => $profile_link,
'$name' => $profile_name,
'$thumb' => $profile_avatar,
'$title' => $item['title'],
'$body' => bbcode($item['body']),
'$ago' => relative_date($item['created']),
'$indent' => (($item['parent'] != $item['item_id']) ? ' comment' : ''),

4
view/head.tpl

@ -76,10 +76,14 @@
function imgbright(node) {
$(node).attr("src",$(node).attr("src").replace('hide','show'));
$(node).css('width',24);
$(node).css('height',24);
}
function imgdull(node) {
$(node).attr("src",$(node).attr("src").replace('show','hide'));
$(node).css('width',16);
$(node).css('height',16);
}

18
view/style.css

@ -28,6 +28,7 @@ section {
top: 60px;
margin-left: 20px;
margin-right: 20px;
right: 0px;
}
h1 {
font-size: 1.6em;
@ -458,6 +459,10 @@ input#dfrn-url {
clear: both;
}
.wall-item-outside-wrapper {
margin-top: 10px;
}
.wall-item-outside-wrapper.comment {
margin-left: 50px;
}
@ -508,11 +513,22 @@ input#dfrn-url {
.wall-item-photo {
border: none;
}
.wall-item-content {
float: left;
width: 450px;
margin-left: 10px;
}
.wall-item-title {
float: left;
font-weight: bold;
width: 450px;
}
.wall-item-body {
float: left;
width: 450px;
margin-top: 30px;
margin-left: 10px;
}
.comment-edit-wrapper {

30
view/wall_item.tpl

@ -1,17 +1,21 @@
<div class="wall-item-outside-wrapper$indent" id="wall-item-outside-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">
<img src="$thumb" class="wall-item-photo" id="wall-item-photo-$id" height="80" width="80" alt="$name" /></a>
</div>
<div class="wall-item-wrapper" id="wall-item-wrapper-$id" >
<a href="$profile_url" title="View $name's profile" class="wall-item-name-link"><span class="wall-item-name" 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-body" id="wall-item-body-$id" >$body</div>
$drop
<div class="wall-item-wrapper-end"></div>
<div class="wall-item-comment-separator"></div>
$comment
<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">
<img src="$thumb" class="wall-item-photo" id="wall-item-photo-$id" height="80" width="80" alt="$name" /></a>
</div>
<div class="wall-item-wrapper" id="wall-item-wrapper-$id" >
<a href="$profile_url" title="View $name's profile" class="wall-item-name-link"><span class="wall-item-name" 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-body" id="wall-item-body-$id" >$body</div>
</div>
$drop
<div class="wall-item-wrapper-end"></div>
<div class="wall-item-comment-separator"></div>
$comment
</div>
<div class="wall-item-outside-wrapper-end$indent" ></div>

40
view/wallwall_item.tpl

@ -1,22 +1,26 @@
<div class="wall-item-outside-wrapper$indent" id="wall-item-outside-wrapper-$id" >
<div class="wall-item-photo-wrapper" id="wall-item-ownerphoto-wrapper-$id" >
<a href="$owner_url" title="View $owner_name's profile" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$id">
<img src="$owner_photo" class="wall-item-photo" 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-To-Wall" /></div>
<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">
<img src="$thumb" class="wall-item-photo" id="wall-item-photo-$id" height="80" width="80" alt="$name" /></a>
</div>
<div class="wall-item-wrapper" id="wall-item-wrapper-$id" >
<a href="$profile_url" title="View $name's profile" class="wall-item-name-link"><span class="wall-item-name" id="wall-item-name-$id" >$name</span></a> to <a href="$owner_url" title="View $owner_name's profile" class="wall-item-name-link"><span class="wall-item-name" id="wall-item-ownername-$id">$owner_name</span></a> via Wall-To-Wall:<br />
<span class="wall-item-body" id="wall-item-body-$id" >$body</span>
<div class="wall-item-ago" id="wall-item-ago-$id">$ago</div>
$drop
</div>
<div class="wall-item-wrapper-end"></div>
<div class="wall-item-comment-separator"></div>
$comment
<div class="wall-item-photo-wrapper" id="wall-item-ownerphoto-wrapper-$id" >
<a href="$owner_url" title="View $owner_name's profile" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$id">
<img src="$owner_photo" class="wall-item-photo" 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-To-Wall" /></div>
<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">
<img src="$thumb" class="wall-item-photo" id="wall-item-photo-$id" height="80" width="80" alt="$name" /></a>
</div>
<div class="wall-item-wrapper" id="wall-item-wrapper-$id" >
<a href="$profile_url" title="View $name's profile" class="wall-item-name-link"><span class="wall-item-name" id="wall-item-name-$id" >$name</span></a> to <a href="$owner_url" title="View $owner_name's profile" class="wall-item-name-link"><span class="wall-item-name" id="wall-item-ownername-$id">$owner_name</span></a> via Wall-To-Wall:<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-body" id="wall-item-body-$id" >$body</div>
</div>
$drop
<div class="wall-item-wrapper-end"></div>
<div class="wall-item-comment-separator"></div>
$comment
</div>
<div class="wall-item-outside-wrapper-end$indent" ></div>

Loading…
Cancel
Save