X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;ds=sidebyside;f=wwwroot%2Finc%2Feventz%2FK.inc;fp=wwwroot%2Finc%2Feventz%2FK.inc;h=05485e4d498f7497f5dc2c5cf5b6e00ca5b4cbea;hb=51ff32267c4949bad6a8dddc502cbc01ed56edc8;hp=0000000000000000000000000000000000000000;hpb=dcee763368a1e3f380d07320a5254d91a09304e6;p=mirrors%2FKyberia-bloodline.git diff --git a/wwwroot/inc/eventz/K.inc b/wwwroot/inc/eventz/K.inc new file mode 100644 index 0000000..05485e4 --- /dev/null +++ b/wwwroot/inc/eventz/K.inc @@ -0,0 +1,113 @@ +query($q); + if ($result->next()) { + $node=$result->getRecord(); + $node['node_vector']=trim($node['node_vector'],"z"); + $ancestors=explode(' ',chunk_split($node['node_vector'],VECTOR_CHARS,' ')); + foreach ($ancestors as $ancestor) { + $anc[]=array("name"=>"","link"=>ltrim($ancestor,"0")); + } + return $anc; + }else{ return false;} +} +function getCommanders($node_id) { + global $db; + $set=$db->query("select node_permission,users.login,users.user_id from node_access left join users on node_access.user_id=users.user_id where node_id='$node_id' and node_permission!='' order by node_permission"); + while ($set->next()) { + $commanders[$set->getString('node_permission')][]=$set->getString('user_id'); + } + return $commanders; +} +function isCommander($comms,$user_id){ + foreach($comms['master'] as $one){ + if($one == $user_id){return true;} + } + foreach($comms['op'] as $one){ + if($one == $user_id){return true;} + } + foreach($comms['execute'] as $one){ + if($one == $user_id){return true;} + } + return false; +} +function isSenatOwner($senat_id, $user_id){ + global $db; + $set=$db->query("select node_creator from nodes where node_id='$senat_id'"); + if ($set->next()) { + if(($set->getString('user_id')) == $user_id){return true;} + } + return false; +} + +function K() { + global $db,$node,$error,$error_messages; + $user_id=$_SESSION['user_id']; + $user_name=$_SESSION['user_name']; + $kset=$db->query("select user_k from users where user_id='$user_id'"); + $kset->next(); + $user_k=$kset->getString('user_k'); + + $senat_id = 876611; + $K_id = 1961061; + $comms = getCommanders($K_id); + $isComm = isCommander($comms,$user_id); + $isSOwner = isSenatOwner($senat_id, $user_id); + + if (is_array($_POST['node_chosen'])) { + $k=$_POST['node_chosen']; + } + else $k[]=$node['node_id']; + $db->query("set autocommit=0"); + + foreach ($k as $id) { + + if ($user_k) { + $isSenat = hasAncestor(getAncestors($id), $senat_id); + if ($isSenat && !($isComm || $isSOwner)){ + $error.="Sorry, ale v senate mozu Kckovat len obcania."; + }else{ + $userset=$db->query("select node_creator from nodes where node_id='$id'"); + $userset->next(); + $acceptor_id=$userset->getString('node_creator'); + + $set=$db->query("select * from node_access where node_id='$id' and user_id='$user_id' and given_k='yes'"); + if ($set->getNumRows()) { + $error.=$error_messages['K_GIVEN']; + }else{ + --$user_k; + $db->query("update users set k_wallet=k_wallet+1 where user_id='$acceptor_id'"); + + $db->query("update nodes set k=k+1 where node_id='$id'"); + $db->query("insert into I set node_id='$id'"); + $result=$db->update("update node_access set given_k='yes' where node_id='$id' and user_id='$user_id'"); + if (!$result) { + $db->query("insert into node_access set given_k='yes',node_id='$id',user_id='$user_id',last_visit=NOW()"); + } + } + } + } + + else { + $error.=$error_messages['K_SPENT']; + } + } + + $db->query("update users set user_k='$user_k' where user_id='$user_id'"); + $db->query("commit"); + + if (!$error) return true; + else return false; +} + +?> + +