From d9b4dfbcb3d920445869db2c3abd706ee6916286 Mon Sep 17 00:00:00 2001 From: niekt0 Date: Thu, 29 Sep 2011 00:09:36 +0200 Subject: [PATCH] get_linked_nodes moved to backend --- wwwroot/backend/mysql/backend.inc | 33 +++++++++ .../function.get_linked_nodes.php | 67 +++++++------------ 2 files changed, 58 insertions(+), 42 deletions(-) diff --git a/wwwroot/backend/mysql/backend.inc b/wwwroot/backend/mysql/backend.inc index f72a102..0f66b8d 100644 --- a/wwwroot/backend/mysql/backend.inc +++ b/wwwroot/backend/mysql/backend.inc @@ -574,5 +574,38 @@ public static function getNodesByType($vector,$user_id,$type,$orderby,$offset,$l return $result; } +// getLinkedNodes + +// +// returns XXX + +function getLinkedNodes($node_id,$orderby,$offset,$listing_amount) { + global $db; + + if ((!is_numeric($node_id)) + or (!is_numeric($offset)) + or (!is_numeric($listing_amount))) + { return -1; } // XXX check return value by caller? + $orderby=db_escape_string($orderby); + + $q="select neurons.synapse_created,node_content,author.login,linker.login as linker,nodes.* from neurons + left join nodes on neurons.src=nodes.node_id + left join users as linker on neurons.synapse_creator=linker.user_id + left join users as author on nodes.node_creator=author.user_id + where dst='$node_id' and link in ('hard','bookmark') + order by $orderby desc limit $offset , $listing_amount"; + + $result=$db->query($q); + while ($result->next()) { + $array=$result->getRecord(); + transport_process_node($array); // XXX + $array['node_status']="linked"; + $array['node_created']=$array['synapse_created']; + $get_linked_nodes[]=$array; + } + return $get_linked_nodes; +} + + } ?> diff --git a/wwwroot/inc/smarty/node_methodz/function.get_linked_nodes.php b/wwwroot/inc/smarty/node_methodz/function.get_linked_nodes.php index 37e003b..ad44bac 100644 --- a/wwwroot/inc/smarty/node_methodz/function.get_linked_nodes.php +++ b/wwwroot/inc/smarty/node_methodz/function.get_linked_nodes.php @@ -1,48 +1,31 @@ query($q); - while ($result->next()) { - $array=$result->getRecord(); - transport_process_node($array); - $array['node_status']="linked"; - $array['node_created']=$array['synapse_created']; - $get_linked_nodes[]=$array; - } - $smarty->assign('get_linked_nodes',$get_linked_nodes); - +function smarty_function_get_linked_nodes($params,&$smarty) { + global $error, $node; + + if ($params['listing_amount']=='all') $listing_amount=DEF_MAX_LISTING_AMMOUNT; + elseif (is_numeric($params['listing_amount'])) $listing_amount=$params['listing_amount']; + else $listing_amount=DEFAULT_LISTING_AMOUNT; + + if (is_numeric($params['offset'])) $offset=$params['offset']; + elseif (is_numeric($_POST['offset'])) $offset=$_POST['offset']; + else $offset=0; + + if (isset($params['node_id'])) { + $node_id=$params['node_id']; + } else { + $node_id=$node['node_id']; + } + + if ($params['orderby']='synapse') { + $orderby='synapse_created'; + } else { + $orderby='node_id'; + } + + $get_linked_nodes=nodes::getLinkedNodes($node_id,$orderby,$offset,$listing_amount); + $smarty->assign('get_linked_nodes',$get_linked_nodes); } ?> -- 2.30.2