live updates sort of working

This commit is contained in:
Mike Macgirvin 2010-07-24 23:20:20 -07:00
parent 6368bd1656
commit fc8379b108
6 changed files with 68 additions and 50 deletions

View File

@ -119,9 +119,15 @@ function network_content(&$a, $update = false) {
} }
} }
if($update)
$return_url = $_SESSION['return_url'];
else
$return_url = $_SESSION['return_url'] = $a->cmd;
if($item['last-child']) { if($item['last-child']) {
$comment = replace_macros($cmnt_tpl,array( $comment = replace_macros($cmnt_tpl,array(
'$return_path' => $a->cmd, '$return_path' => $_SESSION['return_url'],
'$id' => $item['item_id'], '$id' => $item['item_id'],
'$parent' => $item['parent'], '$parent' => $item['parent'],
'$profile_uid' => $_SESSION['uid'], '$profile_uid' => $_SESSION['uid'],

View File

@ -212,13 +212,18 @@ function profile_content(&$a, $update = false) {
$redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'] ; $redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'] ;
if(can_write_wall($a,$a->profile['profile_uid'])) { if($update)
$return_url = $_SESSION['return_url'];
else
$return_url = $_SESSION['return_url'] = $a->cmd;
if(can_write_wall($a,$a->profile['uid'])) {
if($item['last-child']) { if($item['last-child']) {
$comment = replace_macros($cmnt_tpl,array( $comment = replace_macros($cmnt_tpl,array(
'$return_path' => $a->cmd, '$return_path' => $_SESSION['return_url'],
'$id' => $item['item_id'], '$id' => $item['item_id'],
'$parent' => $item['parent'], '$parent' => $item['parent'],
'$profile_uid' => $a->profile['profile_uid'], '$profile_uid' => $a->profile['uid'],
'$ww' => '' '$ww' => ''
)); ));
} }

View File

@ -6,9 +6,12 @@ require_once('mod/network.php');
function update_network_content(&$a) { function update_network_content(&$a) {
echo "<html>\r\n"; header("Content-type: text/html");
echo network_content($a,true); echo "<!DOCTYPE html><html><body>\r\n";
echo "</html>\r\n"; echo (($_GET['msie'] == 1) ? '<div>' : '<section>');
echo str_replace("\t",' ',network_content($a,true));
echo (($_GET['msie'] == 1) ? '</div>' : '</section>');
echo "</body></html>\r\n";
killme(); killme();
} }

View File

@ -6,9 +6,12 @@ require_once('mod/profile.php');
function update_profile_content(&$a) { function update_profile_content(&$a) {
echo "<html>\r\n"; header("Content-type: text/html");
echo profile_content($a,true); echo "<!DOCTYPE html><html><body>\r\n";
echo "</html>\r\n"; echo (($_GET['msie'] == 1) ? '<div>' : '<section>');
echo str_replace("\t",' ',profile_content($a,true));
echo (($_GET['msie'] == 1) ? '</div>' : '</section>');
echo "</body></html>\r\n";
killme(); killme();
} }

View File

@ -9,12 +9,24 @@
<script type="text/javascript" src="$baseurl/include/main.js" ></script> <script type="text/javascript" src="$baseurl/include/main.js" ></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() { NavUpdate(); });
function NavUpdate() var src = null;
{ var prev = null;
$.get("ping",function(data) var livetime = null;
{ var msie = false;
$(document).ready(function() {
$.ajaxSetup({cache: false});
msie = $.browser.msie ;
NavUpdate();
});
function NavUpdate() {
if($('#live-network').length) { src = 'network'; liveUpdate(); }
if($('#live-profile').length) { src = 'profile'; liveUpdate(); }
$.get("ping",function(data) {
$(data).find('result').each(function() { $(data).find('result').each(function() {
var net = $(this).find('net').text(); var net = $(this).find('net').text();
if(net == 0) { net = ''; } if(net == 0) { net = ''; }
@ -31,6 +43,29 @@ function NavUpdate()
}); });
}) ; }) ;
setTimeout(NavUpdate,30000); setTimeout(NavUpdate,30000);
} }
function liveUpdate() {
if(src == null) { return; }
if($('.comment-edit-text-full').length) {
livetime = setTimeout(liveUpdate, 10000);
return;
}
prev = 'live-' + src;
$.get('update_' + src + '?msie=' + ((msie) ? 1 : 0),function(data) {
$('.wall-item-outside-wrapper',data).each(function() {
var ident = $(this).attr('id');
if($('#' + ident).length == 0) {
$('#' + prev).after($(this));
}
else { $('#' + ident).replaceWith($(this)); }
prev = ident;
});
});
}
</script> </script>

View File

@ -1,3 +1,4 @@
<script language="javascript" type="text/javascript" <script language="javascript" type="text/javascript"
src="$baseurl/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script> src="$baseurl/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript"> <script language="javascript" type="text/javascript">
@ -50,41 +51,6 @@ tinyMCE.init({
} }
} }
var src = null;
$(document).ready(function() {
if($('#live-network').length) { src = 'network'; setTimeout(liveUpdate, 30000); }
if($('#live-profile').length) { src = 'profile'; setTimeout(liveUpdate, 30000); }
});
function liveUpdate() {
if(src == null) { return; }
if($('.comment-edit-text-full').length) {
setTimeout(liveUpdate, 30000);
return;
}
// $.get('update_' + src,function(data)
// {
// $(data).find('#wall-item-outside-wrapper').each(function() {
// var net = $(this).find('net').text();
// if(net == 0) { net = ''; }
// $('#net-update').html(net);
// var home = $(this).find('home').text();
// if(home == 0) { home = ''; }
// $('#home-update').html(home);
// var mail = $(this).find('mail').text();
// if(mail == 0) { mail = ''; }
// $('#mail-update').html(mail);
// var intro = $(this).find('intro').text();
// if(intro == 0) { intro = ''; }
// $('#notify-update').html(intro);
// });
// }) ;
setTimeout(liveUpdate,30000);
}