X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=wwwroot%2Fbackend%2Fmysql%2Fbackend.inc;h=ccefe80a029b567cd936aa2f49efc065292f11c1;hb=7a5cc9b5e221e87dd7933370e10c758ff356068d;hp=0881c10384622a2cffc35adf3795e4961d158171;hpb=f4d6836d51b506c31b6804a343c1940d6e2d8d7b;p=mirrors%2FKyberia-bloodline.git diff --git a/wwwroot/backend/mysql/backend.inc b/wwwroot/backend/mysql/backend.inc index 0881c10..ccefe80 100644 --- a/wwwroot/backend/mysql/backend.inc +++ b/wwwroot/backend/mysql/backend.inc @@ -35,6 +35,35 @@ function update_nodes($user_id,$node_id,$referer_id) { } +function putNode($what,$where,$checkpermissions=true) { + global $db,$error,$error_messages; + $user_id = $_SESSION['user_id']; + if (!$user_id) { + $user_id=UBIK_ID; + } + if (!is_numeric($what) || !is_numeric($where)) { + $error=$error_messages['NUMERIC_NOT_NUMERIC']; + } + + $nodeshell = nodes::getNodeById($where,$user_id); + $nodeshell_vector = $nodeshell['node_vector']; + + if ($checkpermissions) { + $nodeshell_permissions = permissions::checkPerms($nodeshell); + if (!$nodeshell_permissions['w']) { + $error = $error_messages['WRITE_PERMISSION_ERROR']; + return false; + } + } + + $dst_vector = $nodeshell_vector.str_pad($chosen,VECTOR_CHARS,0,STR_PAD_LEFT); + $q = "update neurons set synapse_created=NOW(),link='hard',synapse=synapse+1, dst_vector='$dst_vector' where src='$what' and dst='$where'"; + $result=$db->update($q); + + if (!$result) $db->query("insert into neurons set synapse_creator='$user_id',synapse_created=NOW(), src='$what',dst='$where',dst_vector='$dst_vector',link='hard',synapse=1"); + $db->query("update nodes set lastdescendant_created=NOW(),node_children_count=node_children_count+1 where node_id='$where'"); +} + function addNode($params) { global $db,$node,$error,$error_messages; $parent_id=$params['node_parent']; @@ -43,7 +72,7 @@ function addNode($params) { $parent_id=$node['node_id']; } - $parent_permissions=permissions::checkPermissions($parent_id); + $parent_permissions=permissions::checkPerms($parent_id); if (!$parent_permissions['w']) { $error=$error_messages['WRITE_PERMISSION_ERROR']; logger::log('add','error','WRITE_PERMISSION_ERROR');