X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fusermgmt.php;h=2629fb8bb70c829912f5d59b37cd2bedf1bd4dd7;hb=106cdff81cb1cd42de2bc38ea81d0b37bd301f1f;hp=79ba9b16ff563eec77bf0f294cad7e47b555b37b;hpb=ad1adc9cdd234ce4904a31f244469993a0f2cb7e;p=brisk.git diff --git a/web/usermgmt.php b/web/usermgmt.php index 79ba9b1..2629fb8 100644 --- a/web/usermgmt.php +++ b/web/usermgmt.php @@ -24,20 +24,29 @@ $G_base = ""; -$mlang_stat_day = array( 'normal match'=> array( 'it' => 'Partite normali', - 'en' => 'Normal matches' ), - 'special match' => array( 'it' => 'Partite speciali', - 'en' => 'Special matches'), +$mlang_umgmt = array( 'nu_psubj' => array( 'it' => 'Brisk: credenziali di accesso.', + 'en' => 'Brisk: credentials.'), + 'nu_ptext' => array( 'it' => +'Ciao, sono l\' amministratore del sito di Brisk. + +La verifica del tuo indirizzo di posta elettronica e del tuo nickname è andata a buon fine, per accedere al sito +d\'ora in poi potrai utilizzare l\' utente \'%s\' e la password \'%s\'. + +Benvenuto e buone partite, mop.', + 'en' => 'EN ptext [%s] [%s]'), + 'nu_phtml' => array( 'it' => 'Ciao, sono l\' amministratore del sito di Brisk.

+La verifica del tuo indirizzo di posta elettronica e del tuo nickname è andata a buon fine, per accedere al sito d\'ora in poi potrai usare l\' utente \'%s\' e la password \'%s\'.
+Benvenuto e buone partite, mop.
', + 'en' => 'EN phtml [%s] [%s]') + ); - 'info_total'=> array( 'it' => 'totali', - 'en' => 'En totali') - ); ini_set("max_execution_time", "240"); require_once($G_base."Obj/brisk.phh"); require_once($G_base."Obj/user.phh"); require_once($G_base."Obj/auth.phh"); +require_once($G_base."Obj/mail.phh"); require_once($G_base."Obj/dbase_${G_dbasetype}.phh"); require_once($G_base."briskin5/Obj/briskin5.phh"); require_once($G_base."briskin5/Obj/placing.phh"); @@ -50,55 +59,124 @@ function check_auth() $socket = FALSE; $ret = FALSE; $ip = $_SERVER["REMOTE_ADDR"]; - + $stp = 0; $private = md5($G_alarm_passwd.$ip.$sess); $cmd = array ("cmd" => "userauth", "sess" => $sess, "private" => $private, "the_end" => "true"); $cmd_ser = cmd_serialize($cmd); $cmd_len = mb_strlen($cmd_ser, "ASCII"); - + do { if (($socket = stream_socket_client("unix://".USOCK_PATH."2")) == FALSE) break; + $stp = 1; if (($rwr = fwrite($socket, $cmd_ser, $cmd_len)) == FALSE || $rwr != $cmd_len) break; fflush($socket); + $stp = 2; if (($buf = fread($socket, 4096)) == FALSE) break; $res = cmd_deserialize($buf); + $stp = 3; if (!isset($res['val']) || $res['val'] != 200) break; $ret = TRUE; + $stp = 4; } while (0); if ($socket != FALSE) fclose($socket); - + + if ($stp < 4) { + echo "STP: $stp
"; + } return ($ret); } -function main($action) { - GLOBAL $G_dbpfx, $G_alarm_passwd, $f_mailusers, $sess, $_POST, $_SERVER; +function main() { + GLOBAL $G_dbpfx, $G_lang, $G_alarm_passwd, $mlang_umgmt, $f_mailusers, $sess, $_POST, $_SERVER; if (check_auth() == FALSE) { echo "Authentication failed"; exit; } - if (isset($f_mailusers)) { - $action = "listnew"; + if (isset($_POST['f_accept'])) { + $action = "accept"; + } + else if (isset($_POST['f_delete'])) { + $action = "delete"; } - if ($action == "listnew") { - echo "pippo"; + + if ($action == "accept") { + if (($bdb = BriskDB::create()) == FALSE) { + log_crit("stat-day: database connection failed"); + break; + } + + foreach($_POST as $key => $value) { + if (substr($key, 0, 9) != "f_newuser") + continue; + + $id = (int)substr($key, 9); + if ($id <= 0) + continue; + + + // retrieve list of active tournaments + $usr_sql = sprintf(" +SELECT usr.*, guar.login AS guar_login + FROM %susers AS usr + JOIN %susers AS guar ON guar.code = usr.guar_code + WHERE ( (usr.type & (CAST (X'%x' as integer))) = (CAST (X'%x' as integer)) ) + AND usr.disa_reas = %d AND usr.code = %d;", + $G_dbpfx, $G_dbpfx, + USER_FLAG_TY_ALL, USER_FLAG_TY_DISABLE, + USER_DIS_REA_NU_TOBECHK, $id); + if (($usr_pg = pg_query($bdb->dbconn->db(), $usr_sql)) == FALSE) { + log_crit("stat-day: select from tournaments failed"); + break; + } + $usr_obj = pg_fetch_object($usr_pg, 0); + + printf("KEY: %s: %s %s
\n", $id, $value, $usr_obj->login); + // change state + $passwd = passwd_gen(); + + if (($bdb->user_update_passwd($usr_obj->code, $passwd)) == FALSE) { + echo "fail 1.5
"; + break; + } + + if (($bdb->user_update_flag_ty($usr_obj->code, + USER_FLAG_TY_DISABLE, USER_DIS_REA_NU_TOBECHK, + USER_FLAG_TY_NORM, USER_DIS_REA_NU_NONE)) == FALSE) { + echo "fail 2
"; + break; + } + + // send mail + $subj = $mlang_umgmt['nu_psubj'][$G_lang]; + $body_txt = sprintf($mlang_umgmt['nu_ptext'][$G_lang], + $usr_obj->login, $passwd); + $body_htm = sprintf($mlang_umgmt['nu_phtml'][$G_lang], + $usr_obj->login, $passwd); + + if (brisk_mail($usr_obj->email, $subj, $body_txt, $body_htm) == FALSE) { + // mail error + fprintf(STDERR, "ERROR: mail send FAILED\n"); + break; + } + } + exit; } else { do { - if (($bdb = BriskDB::create()) == FALSE) { log_crit("stat-day: database connection failed"); break; } - + // retrieve list of active tournaments $usr_sql = sprintf(" SELECT usr.*, guar.login AS guar_login @@ -115,12 +193,8 @@ SELECT usr.*, guar.login AS guar_login } $usr_n = pg_numrows($usr_pg); - printf("Number of tournaments: %d\n", $usr_n); - $tab_lines = ""; - // loop on tournaments for ($i = 0 ; $i < $usr_n ; $i++) { - // log_crit("stat-day: LOOP i"); $usr_obj = pg_fetch_object($usr_pg, $i); $tab_lines .= sprintf("%s\n", @@ -135,21 +209,18 @@ SELECT usr.*, guar.login AS guar_login echo $tab_lines; ?> - + + \ No newline at end of file