======
DB: - initial usage
DONE - configurabilità file o db
- - travasatore file to pg
- - sistema di inserimento nuovi utenti
+ DONE - travasatore file to pg
+ - travaso punteggi e gestione punteggi
+ - tab punteggi nel db
+
+ - sistema di inserimento nuovi utenti (riversatore da form di inserimento)
- modifica password
- ripristino password
+++ /dev/null
---
--- Populate users db.
---
-
--- macro for user_flag bit-field
--- define(USER_FLAG_TY_ALL, 0x000f0000); // done
--- define(USER_FLAG_TY_NORM, 0x00010000); // done
--- define(USER_FLAG_TY_SUPER, 0x00020000); // done
-
-INSERT INTO #PFX#users VALUES (1, 'uno', md5('one'), 'uno@pluto.com', CAST (X'00020000' as integer));
-INSERT INTO #PFX#users VALUES (2, 'due', md5('two'), 'due@pluto.com', CAST (X'00010000' as integer));
-INSERT INTO #PFX#users VALUES (3, 'tre', md5('thr'), 'tre@pluto.com', CAST (X'00010000' as integer));
-INSERT INTO #PFX#users VALUES (4, 'qua', md5('for'), 'qua@pluto.com', CAST (X'00010000' as integer));
-INSERT INTO #PFX#users VALUES (5, 'cin', md5('fiv'), 'cin@pluto.com', CAST (X'00010000' as integer));
-
--- /dev/null
+--
+-- Populate users db.
+--
+
+-- macro for user_flag bit-field
+-- define(USER_FLAG_TY_ALL, 0x000f0000); // done
+-- define(USER_FLAG_TY_NORM, 0x00010000); // done
+-- define(USER_FLAG_TY_SUPER, 0x00020000); // done
+
+INSERT INTO #PFX#users VALUES (1, 'uno', md5('one'), 'uno@pluto.com', CAST (X'00020000' as integer));
+INSERT INTO #PFX#users VALUES (2, 'due', md5('two'), 'due@pluto.com', CAST (X'00010000' as integer));
+INSERT INTO #PFX#users VALUES (3, 'tre', md5('thr'), 'tre@pluto.com', CAST (X'00010000' as integer));
+INSERT INTO #PFX#users VALUES (4, 'qua', md5('for'), 'qua@pluto.com', CAST (X'00010000' as integer));
+INSERT INTO #PFX#users VALUES (5, 'cin', md5('fiv'), 'cin@pluto.com', CAST (X'00010000' as integer));
+
<br><b>version '.$G_brisk_version.'</b><br><br>
Copyright 2006-2009 <a href=\\"mailto:brisk@alternativeoutput.it\\">Matteo Nastasi</a> (aka mop)<br><br>');
-
$escinp_from = array( "\"" );
$escinp_to = array( """ );
}
+class LoginDBItemOld extends LoginDBItem {
+ function LoginDBItemOld($login, $pass, $email, $type)
+ {
+ parent::LoginDBItem(-1, $login, $pass, $email, $type);
+ }
+}
+
?>
\ No newline at end of file
}
function &login_verify($login, $pass)
- {
- GLOBAL $G_false;
-
- $ret = &$G_false;
-
- log_main("login_verify: ".$login);
+ {
+ GLOBAL $G_false;
- /* check the existence of the nick in the LoginDB */
- for ($i = 0 ; $i < $this->item_n ; $i++) {
- log_main("login_verify: LOOP");
- if (strcasecmp($this->item[$i]->login, $login) == 0) {
- log_main("login[".$i."]: ".$this->item[$i]->login);
-
- /* if it exists check for a valid challenge */
- if (($a_sem = Challenges::lock_data()) != FALSE) {
-
- if (($chals = &Challenges::load_data()) != FALSE) {
- for ($e = 0 ; $e < $chals->item_n ; $e++) {
-
- log_main("challenge[".$i."]: ".$chals->item[$e]->login);
- if (strcmp($login, $chals->item[$e]->login) == 0) {
- log_main("login_verify [".$pass."] with [".md5($chals->item[$e]->token.$this->item[$i]->pass)."]");
-
- if (strcmp($pass , md5($chals->item[$e]->token.$this->item[$i]->pass)) == 0) {
- log_main("login_verify SUCCESS for ".$login);
-
- $chals->rem($login);
- $ret = &$this->item[$i];
- break;
- }
+ $ret = &$G_false;
+
+ log_main("login_verify: ".$login);
+
+ /* check the existence of the nick in the LoginDB */
+ for ($i = 0 ; $i < $this->item_n ; $i++) {
+ log_main("login_verify: LOOP");
+ if (strcasecmp($this->item[$i]->login, $login) == 0) {
+ log_main("login[".$i."]: ".$this->item[$i]->login);
+
+ /* if it exists check for a valid challenge */
+ if (($a_sem = Challenges::lock_data()) != FALSE) {
+
+ if (($chals = &Challenges::load_data()) != FALSE) {
+ for ($e = 0 ; $e < $chals->item_n ; $e++) {
+
+ log_main("challenge[".$i."]: ".$chals->item[$e]->login);
+ if (strcmp($login, $chals->item[$e]->login) == 0) {
+ log_main("login_verify [".$pass."] with [".md5($chals->item[$e]->token.$this->item[$i]->pass)."]");
+
+ if (strcmp($pass , md5($chals->item[$e]->token.$this->item[$i]->pass)) == 0) {
+ log_main("login_verify SUCCESS for ".$login);
+
+ $chals->rem($login);
+ $ret = &$this->item[$i];
+ break;
}
- } // end for ($e = 0 ...
- }
-
- if ($chals->ismod()) {
- Challenges::save_data(&$chals);
- }
-
- Challenges::unlock_data($a_sem);
+ }
+ } // end for ($e = 0 ...
}
- break;
- } // if (strcasecmp($this->item[$i]->login, ...
- }
-
- return ($ret);
+
+ if ($chals->ismod()) {
+ Challenges::save_data(&$chals);
+ }
+
+ Challenges::unlock_data($a_sem);
+ }
+ break;
+ } // if (strcasecmp($this->item[$i]->login, ...
}
+
+ return ($ret);
+ }
+
} // End class LoginDB
?>
\ No newline at end of file
require_once("Obj/dbase_base.phh");
$escsql_from = array( "\\", "'" );
-$escsql_to = array( "\\\\", "\\'" );
-
+$escsql_to = array( "\\\\", "\\'" );
function escsql($s)
{
GLOBAL $escsql_from, $escsql_to;
-
+
return str_replace($escsql_from, $escsql_to, $s);
}
return ($ret->email);
}
+
+ function addusers_from_olddb($olddb, &$cont)
+ {
+ GLOBAL $G_dbpfx;
+
+ for ($i = 0 ; $i < $olddb->count() ; $i++) {
+ $user_sql = sprintf("INSERT INTO %susers ( login, pass, email, type) VALUES ('%s', '%s', '%s', %d);",
+ $G_dbpfx, escsql($olddb->item[$i]->login), escsql($olddb->item[$i]->pass),
+ escsql($olddb->item[$i]->email), $olddb->item[$i]->type & USER_FLAG_TY_ALL);
+
+ // if ( ! (($user_pg = pg_exec($dbconn,$order_add_sql)) != FALSE && pg_affected_rows($order_pg) == 1) ) {
+
+ if ( ! (($user_pg = pg_query($this->dbconn->db(), $user_sql)) != FALSE && pg_affected_rows($user_pg) == 1) ) {
+ $cont .= sprintf("ERROR IN LINE: %s\n", eschtml($user_sql));
+
+ return FALSE;
+ }
+ }
+ return TRUE;
+ }
} // End class LoginDB
+class LoginDBOld
+{
+ var $item;
+ var $item_n;
+
+ function LoginDBOld($filename)
+ {
+ GLOBAL $DOCUMENT_ROOT;
+ log_main("LoginDBOld create:start");
+
+ if (file_exists("$DOCUMENT_ROOT/Etc/".$filename)) {
+ require("$DOCUMENT_ROOT/Etc/".$filename);
+ }
+ else {
+ return (FALSE);
+ }
+ $this->item_n = count($this->item);
+ log_main("LoginDBOld create:end");
+ }
+
+ function count()
+ {
+ return ($this->item_n);
+ }
+
+
+
+}
+
+
if (0 == 1) {
}
function &login_verify($login, $pass)
- {
- GLOBAL $G_false;
-
- $ret = &$G_false;
-
- log_main("login_verify: ".$login);
+ {
+ GLOBAL $G_false;
- /* check the existence of the nick in the LoginDB */
- for ($i = 0 ; $i < $this->item_n ; $i++) {
- log_main("login_verify: LOOP");
- if (strcasecmp($this->item[$i]->login, $login) == 0) {
- log_main("login[".$i."]: ".$this->item[$i]->login);
-
- /* if it exists check for a valid challenge */
- if (($a_sem = Challenges::lock_data()) != FALSE) {
-
- if (($chals = &Challenges::load_data()) != FALSE) {
- for ($e = 0 ; $e < $chals->item_n ; $e++) {
-
- log_main("challenge[".$i."]: ".$chals->item[$e]->login);
- if (strcmp($login, $chals->item[$e]->login) == 0) {
- log_main("login_verify [".$pass."] with [".md5($chals->item[$e]->token.$this->item[$i]->pass)."]");
-
- if (strcmp($pass , md5($chals->item[$e]->token.$this->item[$i]->pass)) == 0) {
- log_main("login_verify SUCCESS for ".$login);
-
- $chals->rem($login);
- $ret = &$this->item[$i];
- break;
- }
+ $ret = &$G_false;
+
+ log_main("login_verify: ".$login);
+
+ /* check the existence of the nick in the LoginDB */
+ for ($i = 0 ; $i < $this->item_n ; $i++) {
+ log_main("login_verify: LOOP");
+ if (strcasecmp($this->item[$i]->login, $login) == 0) {
+ log_main("login[".$i."]: ".$this->item[$i]->login);
+
+ /* if it exists check for a valid challenge */
+ if (($a_sem = Challenges::lock_data()) != FALSE) {
+
+ if (($chals = &Challenges::load_data()) != FALSE) {
+ for ($e = 0 ; $e < $chals->item_n ; $e++) {
+
+ log_main("challenge[".$i."]: ".$chals->item[$e]->login);
+ if (strcmp($login, $chals->item[$e]->login) == 0) {
+ log_main("login_verify [".$pass."] with [".md5($chals->item[$e]->token.$this->item[$i]->pass)."]");
+
+ if (strcmp($pass , md5($chals->item[$e]->token.$this->item[$i]->pass)) == 0) {
+ log_main("login_verify SUCCESS for ".$login);
+
+ $chals->rem($login);
+ $ret = &$this->item[$i];
+ break;
}
- } // end for ($e = 0 ...
- }
-
- if ($chals->ismod()) {
- Challenges::save_data(&$chals);
- }
-
- Challenges::unlock_data($a_sem);
+ }
+ } // end for ($e = 0 ...
}
- break;
- } // if (strcasecmp($this->item[$i]->login, ...
- }
-
- return ($ret);
+
+ if ($chals->ismod()) {
+ Challenges::save_data(&$chals);
+ }
+
+ Challenges::unlock_data($a_sem);
+ }
+ break;
+ } // if (strcasecmp($this->item[$i]->login, ...
}
+
+ return ($ret);
+ }
} // if (0 == 1) {
--- /dev/null
+<?php
+ /*
+ * brisk - admin.php
+ *
+ * Copyright (C) 2006-2011 Matteo Nastasi
+ * mailto: nastasi@alternativeoutput.it
+ * matteo.nastasi@milug.org
+ * web: http://www.alternativeoutput.it
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABLILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details. You should have received a
+ * copy of the GNU General Public License along with this program; if
+ * not, write to the Free Software Foundation, Inc, 59 Temple Place -
+ * Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+require_once("Obj/brisk.phh");
+require_once("Obj/dbase_pgsql.phh");
+
+$cont = "";
+
+function main()
+{
+ GLOBAL $cont, $G_alarm_passwd, $F_pass_private, $F_ACT, $F_filename;
+
+ if ($F_ACT == "append") {
+ do {
+ if ($F_pass_private != $G_alarm_passwd) {
+ $cont .= sprintf("Wrong password, operation aborted.<br>\n");
+ break;
+ }
+ $cont .= sprintf("FILENAME: %s<br>\n", $F_filename);
+ if (($olddb = new LoginDBOld($F_filename)) == FALSE) {
+ $cont .= sprintf("Loading failed.<br>\n");
+ break;
+ }
+ $newdb = new LoginDB();
+ if ($newdb->addusers_from_olddb($olddb, $cont) == FALSE) {
+ $cont .= sprintf("Insert failed.<br>\n");
+ }
+ $cont .= sprintf("Item number: %d<br>\n", $olddb->count());
+ } while (0);
+ }
+}
+
+main();
+
+?>
+<html>
+<body>
+<?php
+echo "$cont";
+?>
+<b>Append users from a file</b><br>
+<form accept-charset="utf-8" method="post" action="<?php echo $PHP_SELF;?>" onsubmit="return j_login_manager(this);">
+ <input type="hidden" name="F_ACT" value="append">
+ <table><tr><td>Admin Password:</td>
+ <td><input name="F_pass_private" type="password" value=""></td></tr>
+ <tr><td>Filename:</td>
+ <td><input type="text" name="F_filename"></td></tr>
+ <tr><td colspan=2><input type="submit" value="append users"></td></tr>
+ </table>
+</form>
+</body>
+</html>
\ No newline at end of file