+ if ($argz[0] == 'getchallenge') {
+ if (($a_sem = Challenges::lock_data()) != FALSE) {
+ log_main("chal lock data success");
+
+ if (($chal = &Challenges::load_data()) != FALSE) {
+ $chal_save = FALSE;
+ $curtime = time();
+
+ $chal_save |= $chal->garbage_manager();
+ $token = uniqid("");
+ // echo '2|'.$argz[1].'|'.$token.'|'.$_SERVER['REMOTE_ADDR'].'|'.$curtime.'|';
+ // exit;
+
+ if ($chal->add($argz[1], $token, $_SERVER['REMOTE_ADDR'], $curtime) != FALSE) {
+ echo '0|'.$token;
+ $chal_save = TRUE;
+ }
+ else {
+ echo '1|';
+ }
+ if ($chal_save) {
+ Challenges::save_data(&$chal);
+ }
+ }
+
+
+ Challenges::unlock_data($a_sem);
+ }
+ }
+ else if ($argz[0] == 'auth') {
+ printf("challenge|ok");
+ }
+ else if ($argz[0] == 'help') {