X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex_wr.php;fp=web%2Findex_wr.php;h=cf41230199e0fe7e4aca994c889298c63bea7951;hb=97a6d096a5e248061cbc7d1769f2ad866a7b9bcd;hp=bed3c893cf103430b51262fab108699558dd2ca0;hpb=97b2a573af9ba79216121ff90eaade1421994460;p=brisk.git diff --git a/web/index_wr.php b/web/index_wr.php index bed3c89..cf41230 100644 --- a/web/index_wr.php +++ b/web/index_wr.php @@ -381,7 +381,28 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) } } else if ($argz[0] == 'prefsf') { - fprintf(STDERR, "INFO: prefsf case\n"); + fprintf(STDERR, "INFO: prefsf case [%s]\n", $post['F_act']); + if (!isset($post['model_name']) || !isset($post['json'])) + return FALSE; + + /* [F_act] => update + [model_name] => prefsf + [counter] => 1 + [json] => {"listen":{"act":"1"}} + */ + if ($post['model_name'] == 'prefsf') { + fprintf(STDERR, "INFO: prefsf preset [%x]\n", $user->flags_cur); + $cont = json_decode($post['json']); + $new_flags_cur = $user->flags_cur & ~(USER_FLAG_ISOLAUTH | USER_FLAG_LISTAUTH); + if ($cont->listen->cur == '1') { + $new_flags_cur |= USER_FLAG_LISTAUTH; + } + else if ($cont->listen->cur == '2') { + $new_flags_cur |= USER_FLAG_ISOLAUTH; + } + $user->flags_cur = $new_flags_cur; + fprintf(STDERR, "INFO: prefsf postset [%x]\n", $user->flags_cur); + } } else if ($argz[0] == 'prefs') { if ($argz[1] == 'save') { @@ -398,8 +419,8 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) $prefs = Client_prefs::from_user($user); } $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; - $user->comm[$user->step % COMM_N] .= sprintf('prefs_load(\'%s\', true, %s);', json_encode($prefs), - 'false'); + $user->comm[$user->step % COMM_N] .= sprintf('prefs_load(\'%s\', true, %s);', json_encode($prefs), + 'false'); $user->step_inc(); if ($argz[1] == 'save') {