From d40b54308d7b7cbeaaf0b997fcf5f9dcbef64518 Mon Sep 17 00:00:00 2001 From: "Matteo Nastasi (mop)" Date: Thu, 28 Nov 2013 17:48:08 +0100 Subject: [PATCH] manage acceptance of new licence --- TODO.txt | 4 +++- web/index_wr.php | 33 ++++++++++++++++++++++++++++----- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/TODO.txt b/TODO.txt index 89f5a7c..ebece74 100644 --- a/TODO.txt +++ b/TODO.txt @@ -9,8 +9,10 @@ DONE . user policy acceptance (db field) DONE . show licence ([show me later, yes, no]/[yes, no]) DONE . switch-off date + DONE . manage accept + . manage refuse + . WIP disable user reason integer field and remove SUSPEND state (db, php) . checkbox for anonimous users with message when not checked - . disable user reason integer field and remove SUSPEND state (db, php) . opt - button on when arrived to the bottom of the licence . opt - download licence . min - check licence version between config file and licence file diff --git a/web/index_wr.php b/web/index_wr.php index 2098036..3ccfd24 100644 --- a/web/index_wr.php +++ b/web/index_wr.php @@ -81,10 +81,14 @@ $mlang_indwr = array( 'btn_backtotab' => array( 'it' => 'Torna ai tavoli.', ); +define('LICMGR_CHO_ACCEPT', 0); +define('LICMGR_CHO_REFUSE', 1); +define('LICMGR_CHO_AFTER', 2); + function index_wr_main(&$room, $remote_addr_full, $get, $post, $cookie) { GLOBAL $G_shutdown, $G_black_list, $G_lang, $G_room_help, $G_room_about, $G_room_passwdhowto, $mlang_indwr; - + GLOBAL $G_lice_vers; $remote_addr = addrtoipv4($remote_addr_full); log_load("index_wr.php"); @@ -545,12 +549,31 @@ function index_wr_main(&$room, $remote_addr_full, $get, $post, $cookie) $room->chatt_send(&$user, xcapemesg($mesg)); } else if ($argz[0] == 'licencemgr') { - $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; + // check IF is authnticated user, both licences version matches + if ($user->flags & USER_FLAG_AUTH && count($argz) == 5) { + $f_type = $argz[1]; $f_code = $argz[2]; + $f_lice_curr = $argz[3]; $f_lice_vers = $argz[4]; - $user->comm[$user->step % COMM_N] .= show_notify(xcape("FIN QUI |"."${argz[1]}"."|"."${argz[2]}"."|"."${argz[3]}"."|"."${argz[4]}"), 0, $mlang_indwr['btn_backtotab'][$G_lang], 400, 200); + $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; + $user->comm[$user->step % COMM_N] .= show_notify(xcape("FIN QUIZ |"."${argz[1]}"."|"."${argz[2]}"."|"."${argz[3]}"."|"."${argz[4]}"."|".$res), 0, $mlang_indwr['btn_backtotab'][$G_lang], 400, 200); + log_wr($user->comm[$user->step % COMM_N]); + $user->step_inc(); - log_wr($user->comm[$user->step % COMM_N]); - $user->step_inc(); + if ("$f_lice_curr" == $user->rec->lice_vers_get() && + "$f_lice_vers" == "$G_lice_vers") { + if ("$f_type" == "soft" || "$f_type" == "hard") { + $res = 100; + switch ($f_code) { + case LICMGR_CHO_ACCEPT: + $user->rec->lice_vers_set($G_lice_vers); + $res = $user->licence_store(); + break; + case LICMGR_CHO_REFUSE: + break; + } + } + } + } } /********************** * * -- 2.17.1