51ff3226 |
1 | <?php |
2 | |
3 | function smarty_function_get_threaded_children($params,&$smarty) { |
4 | global $db, $error, $node; |
5 | |
6 | if (!strlen($node['node_vector'])) { |
7 | ob_start(); |
8 | phpinfo(INFO_VARIABLES); |
9 | print_r($_SESSION); |
10 | $s = ob_get_contents(); |
11 | ob_end_clean(); |
12 | } |
13 | $offset=$params['offset']; |
14 | $limit=$params['listing_amount']; |
15 | if ($limit > 500) |
16 | $limit = 500; |
17 | |
18 | if (!empty($params['search'])) { |
19 | if ($params['search_type']=='content') $sql_type.=" and node_content like '%".addslashes($params['search'])."%' "; |
20 | else { |
21 | $q2="select user_id from users where login='".$params['search']."'"; |
22 | $userset=$db->query($q2); |
23 | $userset->next(); |
24 | $id=$userset->getString('user_id'); |
25 | $sql_type=" and nodes.node_creator='$id'"; |
26 | } |
27 | |
28 | } |
29 | if (!empty($_POST['synapse_time'])) $sql_synapse.=" and node_created >'".$_POST['synapse_time']."'"; |
30 | if (empty($params['orderby']) OR $params['orderby']=='desc') { |
31 | //$orderby="node_vector desc"; |
32 | $orderby="concat(node_vector,'z') desc,depth"; |
33 | } |
34 | else { |
35 | $orderby="node_vector asc"; |
36 | } |
37 | |
38 | if ($params['time']) { |
39 | $time=addslashes($params['time']); |
40 | $sql_time="node_created > '$time' and"; |
41 | } |
42 | if ($node['node_system_access']=='public') $security=" and node_system_access!='private'"; |
43 | else $security = ""; |
44 | |
45 | if ($params['link']=='yes') $q.="("; |
46 | $q.="select nodes.node_id,node_name,node_external_access,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"; |
47 | |
48 | if ($params['link']=='yes') { |
49 | $q.=" ) UNION (select nodes.node_id,node_name,node_external_access,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, |
50 | 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)"; |
51 | } |
52 | |
53 | if ($params['link']=='yes') $q.=" order by $orderby LIMIT $limit"; |
54 | |
55 | $result=$db->query($q); |
56 | |
57 | while ($result->next()) { |
58 | $child = $result->getRecord(); |
59 | if ($child['synapse_creator']!='') $child['node_status']='linked'; |
60 | $get_children_array[]=$child; |
61 | } |
62 | global $time_1, $time_2; |
63 | $time_2=$result->getString('node_created'); |
64 | $time_1=$get_children_array[0]['node_created']; |
65 | |
66 | $smarty->assign('get_threaded_children',$get_children_array); |
67 | |
68 | } |
69 | ?> |
70 | |