X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=inc%2Feventz%2Fdelete.inc;fp=inc%2Feventz%2Fdelete.inc;h=d2e08ad1d6101f2395482fa3cb9abdd55157d2c5;hb=b42b2bf946332ad8544d53f610be9cb05e80bf56;hp=bc4ec0e427a6658098ebc4637b3c397245bdad72;hpb=e586807dafc64c3fe152ab518599e6cf3f0f84e1;p=mirrors%2FKyberia-bloodline.git diff --git a/inc/eventz/delete.inc b/inc/eventz/delete.inc index bc4ec0e..d2e08ad 100644 --- a/inc/eventz/delete.inc +++ b/inc/eventz/delete.inc @@ -1,78 +1,92 @@ query($q); - echo $q; - if (!empty($vector)) { - $q="select node_id from nodes where node_vector like '$vector%'"; - echo $q; - $cset=$db->query($q); - while ($cset->next()) { - $chosen_child=$cset->getString('node_id'); - $q="insert into tiamat (node_id,node_name,node_parent,node_vector, -node_external_access,node_system_access,node_children_count,node_creator,node_created,lastchild_created,k, -node_views,node_destructor,node_content,node_descendant_count,lastdescendant_created,template_id,external_link) -select nodes.node_id,node_name,node_parent,node_vector,node_external_access,node_system_access, -node_children_count,node_creator,node_created,lastchild_created,k,node_views,'$user_id',node_content, -node_descendant_count,lastdescendant_created,template_id,external_link from nodes left join node_content on nodes.node_id=node_content.node_id where nodes.node_id='$chosen_child'"; - echo $q; - $db->query($q); - - } - } - log::log('delete',$chosen,'ok',$_SESSION['user_id']); - } - else { - global $error_messages; - $error=$error_messages['EVENT_PERMISSION_ERROR']; - log::log('delete',$chosen,'EVENT_PERMISSION_ERROR',$_SESSION['user_id']); - return false; - } - - - - } +// vlastne len wrapper na set_parent +global $node,$db,$error; +$new_parent_id=123456; +$nodes=$_POST['node_chosen']; +$hierarch_id=$node['node_id']; + +$new_parent=nodes::getNodeById($new_parent_id,$_SESSION['user_id']); +$new_parent_permissions=permissions::checkPermissions($new_parent); + +if (!$new_parent_permissions['w'] and !isHierarch($new_parent)) { +global $error_messages; +$error=$error_messages['WRITE_PERMISSION_ERROR']; +return false; +} + +$parent_vector=$new_parent['node_vector']; + +if (!is_array($nodes)) { +$nodes[]=$node['node_id']; +} + +if (($node['node_creator']!=$_SESSION['user_id']) and +($node['node_permission']!='master') and !permissions::isHierarch($node)) { +global $error_messages; +$error=$error_messages['EVENT_PERMISSION_ERROR']; +return false; +} + +foreach ($nodes as $chosen_id) { +unset($chosen); + +$new_vector=$parent_vector.str_pad($chosen_id,VECTOR_CHARS,"0",STR_PAD_LEFT); + +$kset=$db->query("select src from neurons where dst='$chosen_id' and link='hard'"); +$kset->next();$src=$kset->getString('src'); + + +// echo 'Debug:: Novy vektor putu'; +// echo $new_vector.$src; + + + +$chosen=nodes::getNodeById($chosen_id,$_SESSION['user_id']); + +if (($chosen['node_creator']!=$_SESSION['user_id']) and +($chosen['node_permission']!='master') and !permissions::isHierarch($chosen)) { +global $error_messages; +$error=$error_messages['EVENT_PERMISSION_ERROR']; +return false; +} + +$set=$db->query("select * from neurons where dst='$chosen_id' and link='hard'"); +if ($set->getNumRows()>0){ + +$q="update neurons set dst_vector='$new_vector.$src' where dst='$chosen_id' and link='hard'"; +$debug2=$db->update($q); +} + + +$db->query("start transaction"); +$q="update nodes set node_parent='$new_parent_id',node_vector='".$new_vector."' where +node_id='$chosen_id'"; +$debug1=$db->query($q); +$q="update nodes set +node_vector=replace(node_vector,'".$chosen['node_vector']."','$new_vector') where +node_vector like '".$chosen['node_vector']."%'"; +$changed=$db->update($q); +$q="update nodes set node_children_count=node_children_count+1 where node_id='$new_parent_id'"; +$db->update($q); +$db->query("commit"); + +// echo '
debug:: pocet putov v node::
'; +// +// $set=$db->query("select * from neurons where dst='$chosen_id' and link='hard'"); +// echo $set->getNumRows(); + +} +//echo "debug1::
"; +//echo $debug1;echo "
"; +//echo "changed::
"; +//echo $changed;echo "
"; +//echo "debug2::
"; +//echo $debug2;echo "
"; + + +return false; + } ?> \ No newline at end of file