Sfoglia il codice sorgente

allow themes to decide where live updates appear

tags/3.1
Zach Prezkuta 8 anni fa
parent
commit
0ea89852d2
16 ha cambiato i file con 93 aggiunte e 59 eliminazioni
  1. +57
    -10
      include/conversation.php
  2. +0
    -2
      mod/community.php
  3. +3
    -3
      mod/display.php
  4. +0
    -25
      mod/network.php
  5. +0
    -4
      mod/notes.php
  6. +1
    -12
      mod/profile.php
  7. +1
    -3
      mod/search.php
  8. +2
    -0
      view/conversation.tpl
  9. +2
    -0
      view/theme/dispy/conversation.tpl
  10. +15
    -0
      view/theme/dispy/threaded_conversation.tpl
  11. +2
    -0
      view/theme/facepark/conversation.tpl
  12. +2
    -0
      view/theme/frost-mobile/conversation.tpl
  13. +2
    -0
      view/theme/frost-mobile/threaded_conversation.tpl
  14. +2
    -0
      view/theme/quattro/conversation.tpl
  15. +2
    -0
      view/theme/vier/threaded_conversation.tpl
  16. +2
    -0
      view/threaded_conversation.tpl

+ 57
- 10
include/conversation.php Vedi File

@@ -374,33 +374,79 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$ssl_state = ((local_user()) ? true : false);

$profile_owner = 0;
$page_writeable = false;
$page_writeable = false;
$live_update_div = '';

$previewing = (($preview) ? ' preview ' : '');

if($mode === 'network') {
$profile_owner = local_user();
$page_writeable = true;
if(!$update) {
// The special div is needed for liveUpdate to kick in for this page.
// We only launch liveUpdate if you aren't filtering in some incompatible
// way and also you aren't writing a comment (discovered in javascript).

$live_update_div = '<div id="live-network"></div>' . "\r\n"
. "<script> var profile_uid = " . $_SESSION['uid']
. "; var netargs = '" . substr($a->cmd,8)
. '?f='
. ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '')
. ((x($_GET,'search')) ? '&search=' . $_GET['search'] : '')
. ((x($_GET,'star')) ? '&star=' . $_GET['star'] : '')
. ((x($_GET,'order')) ? '&order=' . $_GET['order'] : '')
. ((x($_GET,'bmark')) ? '&bmark=' . $_GET['bmark'] : '')
. ((x($_GET,'liked')) ? '&liked=' . $_GET['liked'] : '')
. ((x($_GET,'conv')) ? '&conv=' . $_GET['conv'] : '')
. ((x($_GET,'spam')) ? '&spam=' . $_GET['spam'] : '')
. ((x($_GET,'nets')) ? '&nets=' . $_GET['nets'] : '')
. ((x($_GET,'cmin')) ? '&cmin=' . $_GET['cmin'] : '')
. ((x($_GET,'cmax')) ? '&cmax=' . $_GET['cmax'] : '')
. ((x($_GET,'file')) ? '&file=' . $_GET['file'] : '')

. "'; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}
}

if($mode === 'profile') {
else if($mode === 'profile') {
$profile_owner = $a->profile['profile_uid'];
$page_writeable = can_write_wall($a,$profile_owner);
}

if($mode === 'notes') {
if(!$update) {
$tab = notags(trim($_GET['tab']));
if($tab === 'posts') {
// This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
// because browser prefetching might change it on us. We have to deliver it with the page.

$live_update_div = '<div id="live-profile"></div>' . "\r\n"
. "<script> var profile_uid = " . $a->profile['profile_uid']
. "; var netargs = '?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}
}
}
else if($mode === 'notes') {
$profile_owner = local_user();
$page_writeable = true;
if(!$update) {
$live_update_div = '<div id="live-notes"></div>' . "\r\n"
. "<script> var profile_uid = " . local_user()
. "; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}
}

if($mode === 'display') {
else if($mode === 'display') {
$profile_owner = $a->profile['uid'];
$page_writeable = can_write_wall($a,$profile_owner);
$live_update_div = '<div id="live-display"></div>' . "\r\n";
}

if($mode === 'community') {
else if($mode === 'community') {
$profile_owner = 0;
$page_writeable = false;
if(!$update) {
$live_update_div = '<div id="live-community"></div>' . "\r\n"
. "<script> var profile_uid = -1; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}
}
else if($mode === 'search') {
$live_update_div = '<div id="live-search"></div>' . "\r\n";
}

$page_dropping = ((local_user() && local_user() == $profile_owner) ? true : false);
@@ -630,7 +676,8 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {

$o = replace_macros($page_template, array(
'$baseurl' => $a->get_baseurl($ssl_state),
'$remove' => t('remove'),
'$live_update' => $live_update_div,
'$remove' => t('remove'),
'$mode' => $mode,
'$user' => $a->user,
'$threads' => $threads,


+ 0
- 2
mod/community.php Vedi File

@@ -32,8 +32,6 @@ function community_content(&$a, $update = 0) {
$o .= '<h3>' . t('Community') . '</h3>';
if(! $update) {
nav_set_selected('community');
$o .= '<div id="live-community"></div>' . "\r\n";
$o .= "<script> var profile_uid = -1; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}

if(x($a->data,'search'))


+ 3
- 3
mod/display.php Vedi File

@@ -14,7 +14,7 @@ function display_content(&$a) {
require_once('include/acl_selectors.php');


$o = '<div id="live-display"></div>' . "\r\n";
$o = '';

$a->page['htmlhead'] .= get_markup_template('display-head.tpl');

@@ -78,7 +78,7 @@ function display_content(&$a) {
return;
}
if ($is_owner)
if ($is_owner) {
$celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false);

$x = array(
@@ -93,7 +93,7 @@ function display_content(&$a) {
'profile_uid' => local_user()
);
$o .= status_editor($a,$x,0,true);
}

$sql_extra = item_permissions_sql($a->profile['uid'],$remote_contact,$groups);



+ 0
- 25
mod/network.php Vedi File

@@ -584,31 +584,6 @@ function network_content(&$a, $update = 0) {
$o .= get_events();
}

if(! $update) {
// The special div is needed for liveUpdate to kick in for this page.
// We only launch liveUpdate if you aren't filtering in some incompatible
// way and also you aren't writing a comment (discovered in javascript).

$o .= '<div id="live-network"></div>' . "\r\n";
$o .= "<script> var profile_uid = " . $_SESSION['uid']
. "; var netargs = '" . substr($a->cmd,8)
. '?f='
. ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '')
. ((x($_GET,'search')) ? '&search=' . $_GET['search'] : '')
. ((x($_GET,'star')) ? '&star=' . $_GET['star'] : '')
. ((x($_GET,'order')) ? '&order=' . $_GET['order'] : '')
. ((x($_GET,'bmark')) ? '&bmark=' . $_GET['bmark'] : '')
. ((x($_GET,'liked')) ? '&liked=' . $_GET['liked'] : '')
. ((x($_GET,'conv')) ? '&conv=' . $_GET['conv'] : '')
. ((x($_GET,'spam')) ? '&spam=' . $_GET['spam'] : '')
. ((x($_GET,'nets')) ? '&nets=' . $_GET['nets'] : '')
. ((x($_GET,'cmin')) ? '&cmin=' . $_GET['cmin'] : '')
. ((x($_GET,'cmax')) ? '&cmax=' . $_GET['cmax'] : '')
. ((x($_GET,'file')) ? '&file=' . $_GET['file'] : '')

. "'; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}

$sql_extra3 = '';

if($datequery) {


+ 0
- 4
mod/notes.php Vedi File

@@ -66,10 +66,6 @@ function notes_content(&$a,$update = false) {

$o .= status_editor($a,$x,$a->contact['id']);

$o .= '<div id="live-notes"></div>' . "\r\n";
$o .= "<script> var profile_uid = " . local_user()
. "; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";

}

// Construct permissions


+ 1
- 12
mod/profile.php Vedi File

@@ -8,8 +8,6 @@ function profile_init(&$a) {
if(! x($a->page,'aside'))
$a->page['aside'] = '';

$blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);

if($a->argc > 1)
$which = $a->argv[1];
else {
@@ -33,6 +31,7 @@ function profile_init(&$a) {

profile_load($a,$which,$profile);

$blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
$userblock = (($a->profile['hidewall'] && (! local_user()) && (! remote_user())) ? true : false);

if((x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY)) {
@@ -309,16 +308,6 @@ function profile_content(&$a, $update = 0) {
$o .= get_events();
}

if((! $update) && ($tab === 'posts')) {

// This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
// because browser prefetching might change it on us. We have to deliver it with the page.

$o .= '<div id="live-profile"></div>' . "\r\n";
$o .= "<script> var profile_uid = " . $a->profile['profile_uid']
. "; var netargs = '?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}


if($is_owner) {
$r = q("UPDATE `item` SET `unseen` = 0


+ 1
- 3
mod/search.php Vedi File

@@ -93,9 +93,7 @@ function search_content(&$a) {
require_once('include/security.php');
require_once('include/conversation.php');

$o = '<div id="live-search"></div>' . "\r\n";

$o .= '<h3>' . t('Search') . '</h3>';
$o = '<h3>' . t('Search') . '</h3>';

if(x($a->data,'search'))
$search = notags(trim($a->data['search']));


+ 2
- 0
view/conversation.tpl Vedi File

@@ -1,3 +1,5 @@
$live_update

{{ for $threads as $thread }}
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
{{ for $thread.items as $item }}


+ 2
- 0
view/theme/dispy/conversation.tpl Vedi File

@@ -1,3 +1,5 @@
$live_update

{{ for $threads as $thread }}
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
{{ for $thread.items as $item }}


+ 15
- 0
view/theme/dispy/threaded_conversation.tpl Vedi File

@@ -0,0 +1,15 @@
$live_update

{{ for $threads as $item }}
{{ inc $item.template }}{{ endinc }}
{{ endfor }}

<div id="conversation-end"></div>

{{ if $dropping }}
<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems(); return false;">
<div id="item-delete-selected-icon" class="icon drophide" title="$dropping" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
<div id="item-delete-selected-desc" >$dropping</div>
</div>
<div id="item-delete-selected-end"></div>
{{ endif }}

+ 2
- 0
view/theme/facepark/conversation.tpl Vedi File

@@ -1,3 +1,5 @@
$live_update

{{ for $threads as $thread }}
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
{{ for $thread.items as $item }}


+ 2
- 0
view/theme/frost-mobile/conversation.tpl Vedi File

@@ -1,3 +1,5 @@
$live_update

{{ for $threads as $thread }}
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
{{ for $thread.items as $item }}


+ 2
- 0
view/theme/frost-mobile/threaded_conversation.tpl Vedi File

@@ -1,3 +1,5 @@
$live_update

{{ for $threads as $item }}
{{ inc $item.template }}{{ endinc }}
{{ endfor }}


+ 2
- 0
view/theme/quattro/conversation.tpl Vedi File

@@ -1,3 +1,5 @@
$live_update

{{ for $threads as $thread }}
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
{{ for $thread.items as $item }}


+ 2
- 0
view/theme/vier/threaded_conversation.tpl Vedi File

@@ -1,3 +1,5 @@
$live_update

{{ for $threads as $item }}

<div id="tread-wrapper-$item.id" class="tread-wrapper {{ if $item.threaded }}threaded{{ endif }}">


+ 2
- 0
view/threaded_conversation.tpl Vedi File

@@ -1,3 +1,5 @@
$live_update

{{ for $threads as $item }}
{{ inc $item.template }}{{ endinc }}
{{ endfor }}


Caricamento…
Annulla
Salva