fix issues with forum handling in mod network and ping. also some code cleanup.
This commit is contained in:
parent
e72b0edce2
commit
96bed3a623
@ -258,12 +258,18 @@ class Network extends \Zotlabs\Web\Controller {
|
|||||||
}
|
}
|
||||||
elseif($pf && $unseen && $nouveau) {
|
elseif($pf && $unseen && $nouveau) {
|
||||||
|
|
||||||
$ttype = TERM_FORUM;
|
|
||||||
// This is for nouveau view public forum cid queries (if a forum notification is clicked)
|
// This is for nouveau view public forum cid queries (if a forum notification is clicked)
|
||||||
$p = q("SELECT oid AS parent FROM term WHERE uid = " . intval(local_channel()) . " AND ttype = $ttype AND term = '" . dbesc($cid_r[0]['xchan_name']) . "'");
|
$p = q("SELECT oid AS parent FROM term WHERE uid = %d AND ttype = %d AND term = '%s'",
|
||||||
|
intval(local_channel()),
|
||||||
|
intval(TERM_FORUM),
|
||||||
|
dbesc($cid_r[0]['xchan_name'])
|
||||||
|
);
|
||||||
|
|
||||||
$p = ids_to_querystr($p, 'parent');
|
$p_str = ids_to_querystr($p, 'parent');
|
||||||
$sql_extra = " AND ( owner_xchan = '" . dbesc($cid_r[0]['abook_xchan']) . "' OR item.parent IN ( $p ) ) AND item_unseen = 1 ";
|
if($p_str)
|
||||||
|
$p_sql = " OR item.parent IN ( $p_str ) ";
|
||||||
|
|
||||||
|
$sql_extra = " AND ( owner_xchan = '" . protect_sprintf(dbesc($cid_r[0]['abook_xchan'])) . "' OR owner_xchan = '" . protect_sprintf(dbesc($cid_r[0]['abook_xchan'])) . "' $p_sql ) AND item_unseen = 1 ";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// This is for threaded view cid queries (e.g. if a forum is selected from the forum filter)
|
// This is for threaded view cid queries (e.g. if a forum is selected from the forum filter)
|
||||||
@ -273,6 +279,9 @@ class Network extends \Zotlabs\Web\Controller {
|
|||||||
$p2 = q("SELECT oid AS parent FROM term WHERE uid = " . intval(local_channel()) . " AND ttype = $ttype AND term = '" . dbesc($cid_r[0]['xchan_name']) . "'");
|
$p2 = q("SELECT oid AS parent FROM term WHERE uid = " . intval(local_channel()) . " AND ttype = $ttype AND term = '" . dbesc($cid_r[0]['xchan_name']) . "'");
|
||||||
|
|
||||||
$p_str = ids_to_querystr(array_merge($p1,$p2),'parent');
|
$p_str = ids_to_querystr(array_merge($p1,$p2),'parent');
|
||||||
|
if(! $p_str)
|
||||||
|
killme();
|
||||||
|
|
||||||
$sql_extra = " AND item.parent IN ( $p_str ) ";
|
$sql_extra = " AND item.parent IN ( $p_str ) ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -635,20 +635,25 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||||||
$forums = get_forum_channels(local_channel());
|
$forums = get_forum_channels(local_channel());
|
||||||
|
|
||||||
if($forums) {
|
if($forums) {
|
||||||
$perms_sql = item_permissions_sql(local_channel()) . item_normal();
|
$perms_sql = item_permissions_sql(local_channel());
|
||||||
|
$item_normal = item_normal();
|
||||||
$fcount = count($forums);
|
$fcount = count($forums);
|
||||||
$forums['total'] = 0;
|
$forums['total'] = 0;
|
||||||
|
|
||||||
for($x = 0; $x < $fcount; $x ++) {
|
for($x = 0; $x < $fcount; $x ++) {
|
||||||
$ttype = TERM_FORUM;
|
$p = q("SELECT oid AS parent FROM term WHERE uid = %d AND ttype = %d AND term = '%s'",
|
||||||
$p = q("SELECT oid AS parent FROM term WHERE uid = " . intval(local_channel()) . " AND ttype = $ttype AND term = '" . dbesc($forums[$x]['xchan_name']) . "'");
|
intval(local_channel()),
|
||||||
$p = ids_to_querystr($p, 'parent');
|
intval(TERM_FORUM),
|
||||||
|
dbesc($forums[$x]['xchan_hash'])
|
||||||
|
);
|
||||||
|
|
||||||
$pquery = (($p) ? "OR parent IN ( $p )" : '');
|
$p_str = ids_to_querystr($p, 'parent');
|
||||||
|
$p_sql = (($p_str) ? "OR parent IN ( $p_str )" : '');
|
||||||
|
|
||||||
$r = q("select sum(item_unseen) as unseen from item
|
$r = q("select sum(item_unseen) as unseen from item
|
||||||
where uid = %d and ( owner_xchan = '%s' $pquery ) and item_unseen = 1 $perms_sql ",
|
where uid = %d and ( owner_xchan = '%s' OR author_xchan = '%s' $p_sql ) and item_unseen = 1 $perms_sql $item_normal",
|
||||||
intval(local_channel()),
|
intval(local_channel()),
|
||||||
|
dbesc($forums[$x]['xchan_hash']),
|
||||||
dbesc($forums[$x]['xchan_hash'])
|
dbesc($forums[$x]['xchan_hash'])
|
||||||
);
|
);
|
||||||
if($r[0]['unseen']) {
|
if($r[0]['unseen']) {
|
||||||
|
Reference in New Issue
Block a user