get_threaded_children moved to backend
[mirrors/Kyberia-bloodline.git] / wwwroot / backend / mysql / backend.inc
index bd765afeb26b58f1d8a4409df126c954d3c0b32b..563caf63c9de6ced2b7ea313e1ed62793b4ec0c0 100644 (file)
@@ -607,6 +607,101 @@ public static function getLinkedNodes($node_id,$orderby,$offset,$listing_amount)
        return $get_linked_nodes;
 }
 
+// getThreadedChildren
 
+// XXX
+// XXX FUCKING MESS, argh
+// returns XXX
+
+//     if ($limit > DEF_MAX_GET_THREADED_CHILDREN)
+//             $limit = DEF_MAX_GET_THREADED_CHILDREN;
+//
+//             // XXX this should go to separate function
+//
+//                if (!empty($params['search'])) {
+//             if ($params['search_type']=='content') $sql_type.=" and node_content like '%".addslashes($params['search'])."%' ";
+//             else {
+//                     $q2="select user_id from users where login='".$params['search']."'";
+//                     $userset=$db->query($q2);
+//                     $userset->next();
+//                     $id=$userset->getString('user_id');
+//                     $sql_type=" and nodes.node_creator='$id'";
+//             }
+//
+//     }
+
+
+public static function getThreadedChildren($offset,$limit,$orderby,$time,$synapse_time,$security,$link,$search,$search_param) {
+       global $db;
+
+       $sql_synapse="";
+       $sql_type="";
+       if ($synapse_time) { $sql_synapse.=" and node_created >'".db_escape_string($synapse_time)."'"; }
+
+       if ($orderby=='' OR $orderby=='desc') {
+               $orderby="concat(node_vector,'z') desc,depth";
+       } else {
+               $orderby="node_vector asc";
+       }
+
+       if ($time) {
+               $sql_time="node_created > '".db_escape_string($time)."' and";
+       }
+
+       // WTF? 
+       if ($security) { $security=" and node_system_access!='private'"; }
+       else { $security = ""; }
+
+
+       if ($search=='content') {
+               $sql_type.=" and node_content like '%".db_escape_string($search_param)."%' ";
+       }
+       if ($search=='user') {
+               if (!is_numeric($search_param)) { return false; }
+               $sql_type=" and nodes.node_creator='$search_param'";
+       }
+
+
+
+       if ($link=='yes') $q.="(";
+       $q.="select nodes.node_id,node_name,node_external_access,external_link,node_parent,
+               node_system_access,node_children_count,node_creator,node_created,lastchild_created,
+               k,node_views,node_descendant_count,lastdescendant_created,template_id,node_updated,
+               length(node_vector) as depth,users.login,node_vector, node_content,'' as synapse_creator 
+               from nodes
+               left join users on users.user_id=nodes.node_creator 
+               where $sql_time node_vector like '".$node['node_vector']."%' $sql_type  
+                       and node_id != '".$node['node_id']."' $security 
+               order by $orderby LIMIT $offset,$limit";
+
+       if ($link=='yes') {
+               $q.=" ) UNION (select nodes.node_id,node_name,node_external_access,external_link,
+                       node_parent,node_system_access,node_children_count,node_creator,node_created,
+                       lastchild_created,k,node_views,node_descendant_count,lastdescendant_created,
+                       template_id,node_updated,length(dst_vector) as depth,
+                       users.login,dst_vector as node_vector,node_content,synapse_creator 
+                       from neurons 
+                       left join nodes on neurons.src=nodes.node_id 
+                       left join users on users.user_id=nodes.node_creator 
+                       where  $sql_time dst_vector like '".$node['node_vector']."%' $sql_synapse $sql_type  
+                               and node_id != '".$node['node_id']."' order by $orderby LIMIT $offset,$limit)";
+       }
+
+       if ($link=='yes') $q.=" order by $orderby LIMIT $limit";
+
+       $result=$db->query($q);
+
+       while ($result->next()) {
+               $child = $result->getRecord();
+               transport_process_node($child);
+               if($child['synapse_creator']!='') $child['node_status']='linked';
+
+               $get_children_array[]=$child;
+       }
+
+       return $get_children_array;
 }
+
+}
+
 ?>
This page took 0.10377 seconds and 4 git commands to generate.