aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
authorHabeas Codice <habeascodice@federated.social>2014-11-17 15:15:02 -0800
committerHabeas Codice <habeascodice@federated.social>2014-11-17 15:15:02 -0800
commit96427a23a3523daf2c1966fe1b8a6e119e797e50 (patch)
treea7aaea69271817bbc8f78396f0d98052ca52d3f3 /mod
parentbcaa32a83a965f111bfc2ba085a59857a4fa0c2d (diff)
parente59f7cc198fb038cd8344c2d403b423d57300a96 (diff)
downloadvolse-hubzilla-96427a23a3523daf2c1966fe1b8a6e119e797e50.tar.gz
volse-hubzilla-96427a23a3523daf2c1966fe1b8a6e119e797e50.tar.bz2
volse-hubzilla-96427a23a3523daf2c1966fe1b8a6e119e797e50.zip
Merge branch 'master' of https://github.com/habeascodice/red
Diffstat (limited to 'mod')
-rw-r--r--mod/channel.php8
-rw-r--r--mod/dirsearch.php53
-rwxr-xr-xmod/events.php9
-rw-r--r--mod/home.php48
-rw-r--r--mod/network.php222
-rw-r--r--mod/photos.php2
-rw-r--r--mod/settings.php10
-rw-r--r--mod/wall_upload.php4
-rw-r--r--mod/xchan.php19
9 files changed, 199 insertions, 176 deletions
diff --git a/mod/channel.php b/mod/channel.php
index 8d6b2a169..1cc2dc02c 100644
--- a/mod/channel.php
+++ b/mod/channel.php
@@ -293,8 +293,14 @@ function channel_content(&$a, $update = 0, $load = false) {
}
+ if(get_pconfig($a->profile['profile_uid'],'system','channel_list_mode'))
+ $page_mode = 'list';
+ else
+ $page_mode = 'client';
+
+
if($_COOKIE['jsAvailable'] == 1) {
- $o .= conversation($a,$items,'channel',$update,'client');
+ $o .= conversation($a,$items,'channel',$update,$page_mode);
} else {
$o .= conversation($a,$items,'channel',$update,'traditional');
}
diff --git a/mod/dirsearch.php b/mod/dirsearch.php
index dea34c566..52d953707 100644
--- a/mod/dirsearch.php
+++ b/mod/dirsearch.php
@@ -282,35 +282,38 @@ function dir_parse_query($s) {
if($all) {
foreach($all as $q) {
- if($q === 'and') {
- $curr['logic'] = 'and';
- continue;
- }
- if($q === 'or') {
- $curr['logic'] = 'or';
- continue;
- }
- if($q === 'not') {
- $curr['logic'] .= ' not';
- continue;
- }
- if(strpos($q,'=')) {
- if(! isset($curr['logic']))
+ if($quoted_string === false) {
+ if($q === 'and') {
+ $curr['logic'] = 'and';
+ continue;
+ }
+ if($q === 'or') {
$curr['logic'] = 'or';
- $curr['field'] = trim(substr($q,0,strpos($q,'=')));
- $curr['value'] = trim(substr($q,strpos($q,'=')+1));
- if(strpos($curr['value'],'"') !== false) {
- $quoted_string = true;
- $curr['value'] = substr($curr['value'],strpos($curr['value'],'"')+1);
+ continue;
}
- else {
- $ret[] = $curr;
- $curr = array();
- $continue;
+ if($q === 'not') {
+ $curr['logic'] .= ' not';
+ continue;
+ }
+ if(strpos($q,'=')) {
+ if(! isset($curr['logic']))
+ $curr['logic'] = 'or';
+ $curr['field'] = trim(substr($q,0,strpos($q,'=')));
+ $curr['value'] = trim(substr($q,strpos($q,'=')+1));
+ if($curr['value'][0] == '"' && $curr['value'][strlen($curr['value'])-1] != '"') {
+ $quoted_string = true;
+ $curr['value'] = substr($curr['value'],1);
+ continue;
+ }
+ else {
+ $ret[] = $curr;
+ $curr = array();
+ continue;
+ }
}
}
- elseif($quoted_string) {
- if(strpos($q,'"') !== false) {
+ else {
+ if($q[strlen($q)-1] == '"') {
$curr['value'] .= ' ' . str_replace('"','',trim($q));
$ret[] = $curr;
$curr = array();
diff --git a/mod/events.php b/mod/events.php
index 009afbcb8..5af7d381e 100755
--- a/mod/events.php
+++ b/mod/events.php
@@ -268,8 +268,8 @@ function events_content(&$a) {
if($mode == 'view') {
- $thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
- $thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m');
+ $thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
+ $thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m');
if(! $y)
$y = intval($thisyear);
if(! $m)
@@ -549,7 +549,6 @@ function events_content(&$a) {
$tpl = get_markup_template('event_form.tpl');
-
$o .= replace_macros($tpl,array(
'$post' => $a->get_baseurl() . '/events',
'$eid' => $eid,
@@ -567,11 +566,11 @@ function events_content(&$a) {
'$ftext' => $ftext,
'$ModalCANCEL' => t('Cancel'),
'$ModalOK' => t('OK'),
- '$s_dsel' => datetimesel($f,mktime(),mktime(0,0,0,0,0,$syear+5),mktime($shour,$sminute,$ssecond,$smonth,$sday,$syear),'start_text'),
+ '$s_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$syear+5),DateTime::createFromFormat('Y-m-d H:i',"$syear-$smonth-$sday $shour:$sminute"),'start_text'),
'$n_text' => t('Finish date/time is not known or not relevant'),
'$n_checked' => $n_checked,
'$f_text' => t('Event Finishes:'),
- '$f_dsel' => datetimesel($f,mktime(),mktime(0,0,0,0,0,$fyear+5),mktime($fhour,$fminute,$fsecond,$fmonth,$fday,$fyear),'finish_text',true,true,'start_text'),
+ '$f_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$fyear+5),DateTime::createFromFormat('Y-m-d H:i',"$fyear-$fmonth-$fday $fhour:$fminute"),'finish_text',true,true,'start_text'),
'$a_text' => t('Adjust for viewer timezone'),
'$a_checked' => $a_checked,
'$d_text' => t('Description:'),
diff --git a/mod/home.php b/mod/home.php
index 576213e06..a1a68710f 100644
--- a/mod/home.php
+++ b/mod/home.php
@@ -9,9 +9,10 @@ function home_init(&$a) {
$ret = array();
call_hooks('home_init',$ret);
- $channel = $a->get_channel();
+ $splash = ((argc() > 1 && argv(1) === 'splash') ? true : false);
- if(local_user() && $channel && $channel['xchan_url']) {
+ $channel = $a->get_channel();
+ if(local_user() && $channel && $channel['xchan_url'] && ! $splash) {
$dest = $channel['channel_startpage'];
if(! $dest)
$dest = get_pconfig(local_user(),'system','startpage');
@@ -23,7 +24,7 @@ function home_init(&$a) {
goaway($dest);
}
- if(get_account_id()) {
+ if(get_account_id() && ! $splash) {
goaway(z_root() . '/new_channel');
}
@@ -39,6 +40,7 @@ function home_content(&$a) {
if(x($_SESSION,'mobile_theme'))
unset($_SESSION['mobile_theme']);
+ $splash = ((argc() > 1 && argv(1) === 'splash') ? true : false);
if(get_config('system','projecthome')) {
$o .= file_get_contents('assets/home.html');
@@ -48,20 +50,20 @@ function home_content(&$a) {
}
-// Deprecated
- $channel_address = get_config("system", "site_channel" );
-
-// See if the sys channel set a homepage
- if (! $channel_address) {
- $u = get_sys_channel();
- if ($u) {
- $u = array($u);
- // change to channel_id when below deprecated and skip the $u=...
- $channel_address = $u[0]['channel_address'];
- }
- }
+ // Deprecated
+ $channel_address = get_config("system", "site_channel" );
+
+ // See if the sys channel set a homepage
+ if (! $channel_address) {
+ $u = get_sys_channel();
+ if ($u) {
+ $u = array($u);
+ // change to channel_id when below deprecated and skip the $u=...
+ $channel_address = $u[0]['channel_address'];
+ }
+ }
- if ($channel_address){
+ if($channel_address) {
$page_id = 'home';
@@ -78,16 +80,16 @@ function home_content(&$a) {
);
if($r) {
- xchan_query($r);
- $r = fetch_post_tags($r,true);
- $a->profile = array('profile_uid' => $u[0]['channel_id']);
- $o .= prepare_page($r[0]);
- return $o;
+ xchan_query($r);
+ $r = fetch_post_tags($r,true);
+ $a->profile = array('profile_uid' => $u[0]['channel_id']);
+ $a->profile_uid = $u[0]['channel_id'];
+ $o .= prepare_page($r[0]);
+ return $o;
}
-
}
-// Nope, we didn't find an item. Let's see if there's any html
+ // Nope, we didn't find an item. Let's see if there's any html
if(file_exists('home.html')) {
$o .= file_get_contents('home.html');
diff --git a/mod/network.php b/mod/network.php
index da020c389..d6c19eca7 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -24,7 +24,7 @@ function network_content(&$a, $update = 0, $load = false) {
if(! local_user()) {
$_SESSION['return_url'] = $a->query_string;
- return login(false);
+ return login(false);
}
@@ -52,28 +52,30 @@ function network_content(&$a, $update = 0, $load = false) {
}
-
$datequery = $datequery2 = '';
$group = 0;
- $nouveau = false;
+ $nouveau = false;
- $datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : '');
+ $datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : '');
$datequery2 = ((x($_GET,'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : '');
- $nouveau = ((x($_GET,'new')) ? intval($_GET['new']) : 0);
- $gid = ((x($_GET,'gid')) ? intval($_GET['gid']) : 0);
+ $nouveau = ((x($_GET,'new')) ? intval($_GET['new']) : 0);
+ $gid = ((x($_GET,'gid')) ? intval($_GET['gid']) : 0);
if($datequery)
$_GET['order'] = 'post';
+
+ // filter by collection (e.g. group)
+
if($gid) {
- $r = q("SELECT * FROM `groups` WHERE id = %d AND uid = %d LIMIT 1",
- intval($gid),
- intval(local_user())
- );
- if(! $r) {
+ $r = q("SELECT * FROM groups WHERE id = %d AND uid = %d LIMIT 1",
+ intval($gid),
+ intval(local_user())
+ );
+ if(! $r) {
if($update)
killme();
notice( t('No such group') . EOL );
@@ -81,27 +83,26 @@ function network_content(&$a, $update = 0, $load = false) {
// NOTREACHED
}
- $group = $gid;
+ $group = $gid;
$group_hash = $r[0]['hash'];
- $def_acl = array('allow_gid' => '<' . $r[0]['hash'] . '>');
+ $def_acl = array('allow_gid' => '<' . $r[0]['hash'] . '>');
}
$o = '';
-
// if no tabs are selected, defaults to comments
- $cid = ((x($_GET,'cid')) ? intval($_GET['cid']) : 0);
- $star = ((x($_GET,'star')) ? intval($_GET['star']) : 0);
- $order = ((x($_GET,'order')) ? notags($_GET['order']) : 'comment');
- $liked = ((x($_GET,'liked')) ? intval($_GET['liked']) : 0);
- $conv = ((x($_GET,'conv')) ? intval($_GET['conv']) : 0);
- $spam = ((x($_GET,'spam')) ? intval($_GET['spam']) : 0);
- $cmin = ((x($_GET,'cmin')) ? intval($_GET['cmin']) : 0);
- $cmax = ((x($_GET,'cmax')) ? intval($_GET['cmax']) : 99);
- $firehose = ((x($_GET,'fh')) ? intval($_GET['fh']) : 0);
- $file = ((x($_GET,'file')) ? $_GET['file'] : '');
+ $cid = ((x($_GET,'cid')) ? intval($_GET['cid']) : 0);
+ $star = ((x($_GET,'star')) ? intval($_GET['star']) : 0);
+ $order = ((x($_GET,'order')) ? notags($_GET['order']) : 'comment');
+ $liked = ((x($_GET,'liked')) ? intval($_GET['liked']) : 0);
+ $conv = ((x($_GET,'conv')) ? intval($_GET['conv']) : 0);
+ $spam = ((x($_GET,'spam')) ? intval($_GET['spam']) : 0);
+ $cmin = ((x($_GET,'cmin')) ? intval($_GET['cmin']) : 0);
+ $cmax = ((x($_GET,'cmax')) ? intval($_GET['cmax']) : 99);
+ $firehose = ((x($_GET,'fh')) ? intval($_GET['fh']) : 0);
+ $file = ((x($_GET,'file')) ? $_GET['file'] : '');
if(x($_GET,'search') || x($_GET,'file'))
@@ -122,21 +123,21 @@ function network_content(&$a, $update = 0, $load = false) {
$channel_acl = array(
'allow_cid' => $channel['channel_allow_cid'],
'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
- 'deny_gid' => $channel['channel_deny_gid']
+ 'deny_cid' => $channel['channel_deny_cid'],
+ 'deny_gid' => $channel['channel_deny_gid']
);
$x = array(
- 'is_owner' => true,
- 'allow_location' => ((intval(get_pconfig($channel['channel_id'],'system','use_browser_location'))) ? '1' : ''),
+ 'is_owner' => true,
+ 'allow_location' => ((intval(get_pconfig($channel['channel_id'],'system','use_browser_location'))) ? '1' : ''),
'default_location' => $channel['channel_location'],
- 'nickname' => $channel['channel_address'],
- 'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
- 'acl' => populate_acl((($group || $cid) ? $def_acl : $channel_acl)),
- 'bang' => (($group || $cid) ? '!' : ''),
- 'visitor' => true,
- 'profile_uid' => local_user()
+ 'nickname' => $channel['channel_address'],
+ 'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
+ 'acl' => populate_acl((($group || $cid) ? $def_acl : $channel_acl)),
+ 'bang' => (($group || $cid) ? '!' : ''),
+ 'visitor' => true,
+ 'profile_uid' => local_user()
);
$o .= status_editor($a,$x);
@@ -146,11 +147,11 @@ function network_content(&$a, $update = 0, $load = false) {
// We don't have to deal with ACL's on this page. You're looking at everything
// that belongs to you, hence you can see all of it. We will filter by group if
- // desired.
+ // desired.
+
-
- $sql_options = (($star)
- ? " and (item_flags & " . intval(ITEM_STARRED) . ")>0"
+ $sql_options = (($star)
+ ? " and (item_flags & " . intval(ITEM_STARRED) . ") > 0"
: '');
$sql_nets = '';
@@ -159,20 +160,20 @@ function network_content(&$a, $update = 0, $load = false) {
if($group) {
$contact_str = '';
- $contacts = group_get_members($group);
- if($contacts) {
+ $contacts = group_get_members($group);
+ if($contacts) {
foreach($contacts as $c) {
if($contact_str)
$contact_str .= ',';
- $contact_str .= "'" . $c['xchan'] . "'";
+ $contact_str .= "'" . $c['xchan'] . "'";
}
- }
- else {
- $contact_str = ' 0 ';
+ }
+ else {
+ $contact_str = ' 0 ';
info( t('Collection is empty'));
- }
+ }
- $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str )) or allow_gid like '" . protect_sprintf('%<' . dbesc($group_hash) . '>%') . "' ) and id = parent and item_restrict = 0 ) ";
+ $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str )) or allow_gid like '" . protect_sprintf('%<' . dbesc($group_hash) . '>%') . "' ) and id = parent and item_restrict = 0 ) ";
$x = group_rec_byhash(local_user(), $group_hash);
@@ -180,60 +181,60 @@ function network_content(&$a, $update = 0, $load = false) {
$o = '<h2>' . t('Collection: ') . $x['name'] . '</h2>' . $o;
- }
+ }
elseif($cid) {
- $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ")>0 limit 1",
+ $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ") > 0 limit 1",
intval($cid),
intval(local_user())
- );
- if($r) {
- $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval(local_user()) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) and item_restrict = 0 ) ";
+ );
+ if($r) {
+ $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval(local_user()) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) and item_restrict = 0 ) ";
$o = '<h2>' . t('Connection: ') . $r[0]['xchan_name'] . '</h2>' . $o;
- }
- else {
+ }
+ else {
notice( t('Invalid connection.') . EOL);
goaway($a->get_baseurl(true) . '/network');
- }
+ }
}
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
+ // We only launch liveUpdate if you aren't filtering in some incompatible
// way and also you aren't writing a comment (discovered in javascript).
if($gid || $cid || $cmin || ($cmax != 99) || $star || $liked || $conv || $spam || $nouveau || $list)
- $firehose = 0;
+ $firehose = 0;
$o .= '<div id="live-network"></div>' . "\r\n";
- $o .= "<script> var profile_uid = " . $_SESSION['uid'] . "; var profile_page = " . $a->pager['page'] . ";</script>";
+ $o .= "<script> var profile_uid = " . local_user() . "; var profile_page = " . $a->pager['page'] . ";</script>";
$a->page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
'$baseurl' => z_root(),
- '$pgtype' => 'network',
- '$uid' => ((local_user()) ? local_user() : '0'),
- '$gid' => (($gid) ? $gid : '0'),
- '$cid' => (($cid) ? $cid : '0'),
- '$cmin' => (($cmin) ? $cmin : '0'),
- '$cmax' => (($cmax) ? $cmax : '0'),
- '$star' => (($star) ? $star : '0'),
- '$liked' => (($liked) ? $liked : '0'),
- '$conv' => (($conv) ? $conv : '0'),
- '$spam' => (($spam) ? $spam : '0'),
- '$fh' => (($firehose) ? $firehose : '0'),
+ '$pgtype' => 'network',
+ '$uid' => ((local_user()) ? local_user() : '0'),
+ '$gid' => (($gid) ? $gid : '0'),
+ '$cid' => (($cid) ? $cid : '0'),
+ '$cmin' => (($cmin) ? $cmin : '0'),
+ '$cmax' => (($cmax) ? $cmax : '0'),
+ '$star' => (($star) ? $star : '0'),
+ '$liked' => (($liked) ? $liked : '0'),
+ '$conv' => (($conv) ? $conv : '0'),
+ '$spam' => (($spam) ? $spam : '0'),
+ '$fh' => (($firehose) ? $firehose : '0'),
'$nouveau' => (($nouveau) ? $nouveau : '0'),
- '$wall' => '0',
- '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
- '$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1),
- '$search' => (($search) ? $search : ''),
- '$order' => $order,
- '$file' => $file,
- '$cats' => '',
- '$dend' => $datequery,
- '$mid' => '',
- '$dbegin' => $datequery2
+ '$wall' => '0',
+ '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
+ '$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1),
+ '$search' => (($search) ? $search : ''),
+ '$order' => $order,
+ '$file' => $file,
+ '$cats' => '',
+ '$dend' => $datequery,
+ '$mid' => '',
+ '$dbegin' => $datequery2
));
}
@@ -246,17 +247,19 @@ function network_content(&$a, $update = 0, $load = false) {
$sql_extra3 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2))));
}
- $sql_extra2 = (($nouveau) ? '' : " AND `item`.`parent` = `item`.`id` ");
+ $sql_extra2 = (($nouveau) ? '' : " AND item.parent = item.id ");
$sql_extra3 = (($nouveau) ? '' : $sql_extra3);
if(x($_GET,'search')) {
$search = escape_tags($_GET['search']);
- if(strpos($search,'#') === 0)
+ if(strpos($search,'#') === 0) {
$sql_extra .= term_query('item',substr($search,1),TERM_HASHTAG);
- else
- $sql_extra .= sprintf(" AND `item`.`body` like '%s' ",
+ }
+ else {
+ $sql_extra .= sprintf(" AND item.body like '%s' ",
dbesc(protect_sprintf('%' . $search . '%'))
);
+ }
}
if(strlen($file)) {
@@ -264,7 +267,7 @@ function network_content(&$a, $update = 0, $load = false) {
}
if($conv) {
- $sql_extra .= sprintf(" AND parent IN (SELECT distinct(parent) from item where ( author_xchan like '%s' or ( item_flags & %d )>0)) ",
+ $sql_extra .= sprintf(" AND parent IN (SELECT distinct(parent) from item where ( author_xchan like '%s' or ( item_flags & %d ) > 0)) ",
dbesc(protect_sprintf($channel['channel_hash'])),
intval(ITEM_MENTIONSME)
);
@@ -287,7 +290,7 @@ function network_content(&$a, $update = 0, $load = false) {
// Not everybody who shows up in the network stream will be in your address book.
// By default those that aren't are assumed to have closeness = 99; but this isn't
- // recorded anywhere. So if cmax is 99, we'll open the search up to anybody in
+ // recorded anywhere. So if cmax is 99, we'll open the search up to anybody in
// the stream with a NULL address book entry.
$sql_nets .= " AND ";
@@ -314,33 +317,33 @@ function network_content(&$a, $update = 0, $load = false) {
$uids = " and item.uid = " . local_user() . " ";
}
- $simple_update = (($update) ? " and ( item.item_flags & " . intval(ITEM_UNSEEN) . " )>0 " : '');
+ $simple_update = (($update) ? " and ( item.item_flags & " . intval(ITEM_UNSEEN) . " ) > 0 " : '');
// This fixes a very subtle bug so I'd better explain it. You wake up in the morning or return after a day
- // or three and look at your matrix page - after opening up your browser. The first page loads just as it
- // should. All of a sudden a few seconds later, page 2 will get inserted at the beginning of the page
+ // or three and look at your matrix page - after opening up your browser. The first page loads just as it
+ // should. All of a sudden a few seconds later, page 2 will get inserted at the beginning of the page
// (before the page 1 content). The update code is actually doing just what it's supposed
// to, it's fetching posts that have the ITEM_UNSEEN bit set. But the reason that page 2 content is being
- // returned in an UPDATE is because you hadn't gotten that far yet - you're still on page 1 and everything
+ // returned in an UPDATE is because you hadn't gotten that far yet - you're still on page 1 and everything
// that we loaded for page 1 is now marked as seen. But the stuff on page 2 hasn't been. So... it's being
- // treated as "new fresh" content because it is unseen. We need to distinguish it somehow from content
+ // treated as "new fresh" content because it is unseen. We need to distinguish it somehow from content
// which "arrived as you were reading page 1". We're going to do this
// by storing in your session the current UTC time whenever you LOAD a network page, and only UPDATE items
// which are both ITEM_UNSEEN and have "changed" since that time. Cross fingers...
- if($update && $_SESSION['loadtime'])
- $simple_update .= " and item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ";
+ if($update && $_SESSION['loadtime'])
+ $simple_update .= " and item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ";
if($load)
$simple_update = '';
if($nouveau && $load) {
// "New Item View" - show all items unthreaded in reverse created date order
- $items = q("SELECT `item`.*, `item`.`id` AS `item_id`, received FROM `item`
- WHERE true $uids AND item_restrict = 0
+ $items = q("SELECT item.*, item.id AS item_id, received FROM item
+ WHERE true $uids AND item_restrict = 0
$simple_update
$sql_extra $sql_nets
- ORDER BY `item`.`received` DESC $pager_sql "
+ ORDER BY item.received DESC $pager_sql "
);
require_once('include/items.php');
@@ -354,9 +357,9 @@ function network_content(&$a, $update = 0, $load = false) {
// Normal conversation view
if($order === 'post')
- $ordering = "`created`";
+ $ordering = "created";
else
- $ordering = "`commented`";
+ $ordering = "commented";
if($load) {
@@ -364,7 +367,7 @@ function network_content(&$a, $update = 0, $load = false) {
// Fetch a page full of parent items for this page
- $r = q("SELECT distinct item.id AS item_id, $ordering FROM item
+ $r = q("SELECT distinct item.id AS item_id, $ordering FROM item
left join abook on item.author_xchan = abook.abook_xchan
WHERE true $uids AND item.item_restrict = 0
AND item.parent = item.id
@@ -376,7 +379,7 @@ function network_content(&$a, $update = 0, $load = false) {
}
else {
- if(! $firehose) {
+ if(! $firehose) {
// update
$r = q("SELECT item.parent AS item_id FROM item
left join abook on item.author_xchan = abook.abook_xchan
@@ -396,9 +399,9 @@ function network_content(&$a, $update = 0, $load = false) {
$parents_str = ids_to_querystr($r,'item_id');
- $items = q("SELECT `item`.*, `item`.`id` AS `item_id` FROM `item`
- WHERE true $uids AND `item`.`item_restrict` = 0
- AND `item`.`parent` IN ( %s )
+ $items = q("SELECT item.*, item.id AS item_id FROM item
+ WHERE true $uids AND item.item_restrict = 0
+ AND item.parent IN ( %s )
$sql_extra ",
dbesc($parents_str)
);
@@ -406,7 +409,7 @@ function network_content(&$a, $update = 0, $load = false) {
xchan_query($items,true,(($firehose) ? local_user() : 0));
$items = fetch_post_tags($items,true);
$items = conv_sort($items,$ordering);
- }
+ }
else {
$items = array();
}
@@ -417,8 +420,8 @@ function network_content(&$a, $update = 0, $load = false) {
}
if(($update_unseen) && (! $firehose))
- $r = q("UPDATE `item` SET item_flags = ( item_flags & ~%d)
- WHERE (item_flags & %d)>0 AND `uid` = %d $update_unseen ",
+ $r = q("UPDATE item SET item_flags = ( item_flags & ~%d)
+ WHERE (item_flags & %d) > 0 AND uid = %d $update_unseen ",
intval(ITEM_UNSEEN),
intval(ITEM_UNSEEN),
intval(local_user())
@@ -426,10 +429,15 @@ function network_content(&$a, $update = 0, $load = false) {
$mode = (($nouveau) ? 'network-new' : 'network');
- $o .= conversation($a,$items,$mode,$update,'client');
+ if(get_pconfig(local_user(),'system','network_list_mode'))
+ $page_mode = 'list';
+ else
+ $page_mode = 'client';
+
+ $o .= conversation($a,$items,$mode,$update,$page_mode);
- if(($items) && (! $update))
- $o .= alt_pager($a,count($items));
+ if(($items) && (! $update))
+ $o .= alt_pager($a,count($items));
return $o;
}
diff --git a/mod/photos.php b/mod/photos.php
index a2e5d1c1b..ad95d6a88 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -1175,7 +1175,7 @@ function photos_content(&$a) {
$r = q("SELECT p.resource_id, p.id, p.filename, p.type, p.album, p.scale, p.created FROM photo p INNER JOIN
(SELECT resource_id, max(scale) scale FROM photo
WHERE uid=%d AND album != '%s' AND album != '%s'
- AND (photo_flags = %d or photo_flags = %d ) group by resource_id) ph
+ AND (photo_flags = %d or photo_flags = %d ) $sql_extra group by resource_id) ph
ON (p.resource_id = ph.resource_id and p.scale = ph.scale) ORDER by p.created DESC LIMIT %d OFFSET %d",
intval($a->data['channel']['channel_id']),
dbesc('Contact Photos'),
diff --git a/mod/settings.php b/mod/settings.php
index 396bb2972..725825b34 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -140,6 +140,10 @@ function settings_post(&$a) {
$user_scalable = ((x($_POST,'user_scalable')) ? intval($_POST['user_scalable']) : 0);
$nosmile = ((x($_POST,'nosmile')) ? intval($_POST['nosmile']) : 0);
$title_tosource = ((x($_POST,'title_tosource')) ? intval($_POST['title_tosource']) : 0);
+ $channel_list_mode = ((x($_POST,'channel_list_mode')) ? intval($_POST['channel_list_mode']) : 0);
+ $network_list_mode = ((x($_POST,'network_list_mode')) ? intval($_POST['network_list_mode']) : 0);
+
+
$browser_update = ((x($_POST,'browser_update')) ? intval($_POST['browser_update']) : 0);
$browser_update = $browser_update * 1000;
if($browser_update < 10000)
@@ -159,6 +163,8 @@ function settings_post(&$a) {
set_pconfig(local_user(),'system','itemspage', $itemspage);
set_pconfig(local_user(),'system','no_smilies',$nosmile);
set_pconfig(local_user(),'system','title_tosource',$title_tosource);
+ set_pconfig(local_user(),'system','channel_list_mode', $channel_list_mode);
+ set_pconfig(local_user(),'system','network_list_mode', $network_list_mode);
if ($theme == $a->channel['channel_theme']){
// call theme_post only if theme has not been changed
@@ -722,6 +728,7 @@ function settings_content(&$a) {
/*
* DISPLAY SETTINGS
*/
+
if((argc() > 1) && (argv(1) === 'display')) {
$default_theme = get_config('system','theme');
if(! $default_theme)
@@ -801,6 +808,9 @@ function settings_content(&$a) {
'$layout_editor' => t('System Page Layout Editor - (advanced)'),
'$theme_config' => $theme_config,
'$expert' => feature_enabled(local_user(),'expert'),
+ '$channel_list_mode' => array('channel_list_mode', t('Use blog/list mode on channel page'), get_pconfig(local_user(),'system','channel_list_mode'), t('(comments displayed separately)')),
+ '$network_list_mode' => array('network_list_mode', t('Use blog/list mode on matrix page'), get_pconfig(local_user(),'system','network_list_mode'), t('(comments displayed separately)')),
+
));
return $o;
diff --git a/mod/wall_upload.php b/mod/wall_upload.php
index f83f4f7cf..97840a180 100644
--- a/mod/wall_upload.php
+++ b/mod/wall_upload.php
@@ -43,10 +43,6 @@ function wall_upload_post(&$a) {
killme();
}
- $m = $ret['body'];
-
-
-
if($using_api)
return("\n\n" . $ret['body'] . "\n\n");
else
diff --git a/mod/xchan.php b/mod/xchan.php
index 714603f6e..69fbdb77d 100644
--- a/mod/xchan.php
+++ b/mod/xchan.php
@@ -3,16 +3,15 @@
function xchan_content(&$a) {
-
- $o .= '<h3>Xchan Lookup</h3>';
+ $o = '<h3>' . t('Xchan Lookup') . '</h3>';
$o .= '<form action="xchan" method="get">';
- $o .= 'Lookup xchan beginning with (or webbie): <input type="text" style="width: 250px;" name="addr" value="' . $_GET['addr'] .'" />';
- $o .= '<input type="submit" name="submit" value="Submit" /></form>';
-
- $o .= '<br /><br />';
+ $o .= t('Lookup xchan beginning with (or webbie): ');
+ $o .= '<input type="text" style="width:250px;" name="addr" value="' . $_GET['addr'] .'">';
+ $o .= '<input type="submit" name="submit" value="' . t('Submit') .'"></form>';
+ $o .= '<br><br>';
- if(x($_GET,'addr')) {
+ if(x($_GET, 'addr')) {
$addr = trim($_GET['addr']);
$r = q("select * from xchan where xchan_hash like '%s%%' or xchan_addr = '%s' group by xchan_hash",
@@ -22,15 +21,15 @@ function xchan_content(&$a) {
if($r) {
foreach($r as $rr) {
- $o .= str_replace(array("\n"," "),array("<br/>","&nbsp;"),print_r($rr,true)) . EOL;
+ $o .= str_replace(array("\n", " "), array("<br>", "&nbsp;"), print_r($rr, true)) . EOL;
$s = q("select * from hubloc where hubloc_hash like '%s'",
dbesc($r[0]['xchan_hash'])
);
if($s) {
- foreach($s as $rr)
- $o .= str_replace(array("\n"," "),array("<br/>","&nbsp;"),print_r($rr,true)) . EOL;
+ foreach($s as $rrr)
+ $o .= str_replace(array("\n", " "), array("<br>", "&nbsp;"), print_r($rrr, true)) . EOL;
}
}
}