2012-01-03 Sergio Martin <sergio.martin@artica.es>

* include/functions_users.php
	include/auth/mysql.php
	pandoradb.sql
	pandoradb.postgreSQL.sql
	pandoradb.oracle.sql
	extras/pandoradb_migrate_4.0.x_to_4.1.mysql.sql
	extras/pandoradb_migrate_4.0.x_to_4.1.oracle.sql
	extras/pandoradb_migrate_4.0.x_to_4.1.postgreSQL.sql
	godmode/users/user_list.php: Added to users the 
	disable/enable feature



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@5315 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
zarzuelo 2012-01-03 13:07:40 +00:00
parent 4d76bfa527
commit e4ef53f2ed
10 changed files with 81 additions and 8 deletions

View File

@ -1,3 +1,16 @@
2012-01-03 Sergio Martin <sergio.martin@artica.es>
* include/functions_users.php
include/auth/mysql.php
pandoradb.sql
pandoradb.postgreSQL.sql
pandoradb.oracle.sql
extras/pandoradb_migrate_4.0.x_to_4.1.mysql.sql
extras/pandoradb_migrate_4.0.x_to_4.1.oracle.sql
extras/pandoradb_migrate_4.0.x_to_4.1.postgreSQL.sql
godmode/users/user_list.php: Added to users the
disable/enable feature
2012-01-03 Juan Manuel Ramon <juanmanuel.ramon@artica.es> 2012-01-03 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
* pandoradb.data.postgreSQL.sql * pandoradb.data.postgreSQL.sql

View File

@ -60,3 +60,9 @@ CREATE TABLE IF NOT EXISTS `tnetflow_report_content` (
ON UPDATE CASCADE ON DELETE CASCADE ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARSET=utf8; ) ENGINE = InnoDB DEFAULT CHARSET=utf8;
-- -----------------------------------------------------
-- Table `tusuario`
-- -----------------------------------------------------
ALTER TABLE `tusuario` ADD COLUMN `disabled` int(4) NOT NULL DEFAULT 0;

View File

@ -0,0 +1,5 @@
-- -----------------------------------------------------
-- Table `tusuario`
-- -----------------------------------------------------
alter table tusuario add (disabled NUMBER(10,0) default 0 NOT NULL);

View File

@ -0,0 +1,5 @@
-- -----------------------------------------------------
-- Table `tusuario`
-- -----------------------------------------------------
ALTER TABLE "tusuario" ADD COLUMN "disabled" INTEGER NOT NULL DEFAULT 0;

View File

@ -105,6 +105,8 @@ $buttons[$tab]['active'] = true;
// Header // Header
ui_print_page_header (__('User management').' &raquo; '.__('Users defined in Pandora'), "images/god3.png", false, "", true, $buttons); ui_print_page_header (__('User management').' &raquo; '.__('Users defined in Pandora'), "images/god3.png", false, "", true, $buttons);
$disable_user = get_parameter ("disable_user", false);
if (isset ($_GET["user_del"])) { //delete user if (isset ($_GET["user_del"])) { //delete user
$id_user = get_parameter ("delete_user", 0); $id_user = get_parameter ("delete_user", 0);
// Only allow delete user if is not the actual user // Only allow delete user if is not the actual user
@ -129,6 +131,27 @@ elseif (isset ($_GET["profile_del"])) { //delete profile
__('Successfully deleted'), __('Successfully deleted'),
__('There was a problem deleting the profile')); __('There was a problem deleting the profile'));
} }
elseif ($disable_user !== false) { //disable_user
$id_user = get_parameter ("id", 0);
if($id_user !== 0) {
$result = users_disable ($id_user, $disable_user);
}
else {
$result = false;
}
if($disable_user == 1) {
ui_print_result_message ($result,
__('Successfully disabled'),
__('There was a problem disabling user'));
}
else {
ui_print_result_message ($result,
__('Successfully enabled'),
__('There was a problem enabling user'));
}
}
$table->cellpadding = 4; $table->cellpadding = 4;
$table->cellspacing = 4; $table->cellspacing = 4;
@ -155,7 +178,7 @@ $table->head[5] = '<span title="Operations">' . __('Op.') . '</span>';
$table->align[2] = "center"; $table->align[2] = "center";
$table->align[3] = "center"; $table->align[3] = "center";
$table->align[5] = "left"; $table->align[5] = "left";
$table->size[5] = '45px'; $table->size[5] = '65px';
$info1 = array (); $info1 = array ();
@ -227,8 +250,14 @@ foreach ($info as $user_id => $user_info) {
$data[3] .= "</span></a>"; $data[3] .= "</span></a>";
$data[4] = ui_print_string_substr ($user_info["comments"], 24, true); $data[4] = ui_print_string_substr ($user_info["comments"], 24, true);
$data[5] = '<a href="index.php?sec=gusuarios&amp;sec2=godmode/users/configure_user&amp;id='.$user_id.'">'.html_print_image('images/config.png', true, array('title' => __('Edit'))).'</a>'; if($user_info['disabled'] == 0) {
$data[5] = '<a href="index.php?sec=gusuarios&amp;sec2=godmode/users/user_list&amp;disable_user=1&amp;id='.$user_info['id_user'].'">'.html_print_image('images/lightbulb.png', true, array('title' => __('Disable'))).'</a>';
}
else {
$data[5] = '<a href="index.php?sec=gusuarios&amp;sec2=godmode/users/user_list&amp;disable_user=0&amp;id='.$user_info['id_user'].'">'.html_print_image('images/lightbulb_off.png', true, array('title' => __('Enable'))).'</a>';
}
$data[5] .= '<a href="index.php?sec=gusuarios&amp;sec2=godmode/users/configure_user&amp;id='.$user_id.'">'.html_print_image('images/config.png', true, array('title' => __('Edit'))).'</a>';
if ($config["admin_can_delete_user"] && $user_info['id_user'] != $config['id_user']) { if ($config["admin_can_delete_user"] && $user_info['id_user'] != $config['id_user']) {
$data[5] .= "&nbsp;&nbsp;<a href='index.php?sec=gusuarios&sec2=godmode/users/user_list&user_del=1&delete_user=".$user_info['id_user']."'>".html_print_image('images/cross.png', true, array ('title' => __('Delete'), 'onclick' => "if (! confirm ('" .__('Deleting User'). " ". $user_info['id_user'] . ". " . __('Are you sure?') ."')) return false"))."</a>"; $data[5] .= "&nbsp;&nbsp;<a href='index.php?sec=gusuarios&sec2=godmode/users/user_list&user_del=1&delete_user=".$user_info['id_user']."'>".html_print_image('images/cross.png', true, array ('title' => __('Delete'), 'onclick' => "if (! confirm ('" .__('Deleting User'). " ". $user_info['id_user'] . ". " . __('Are you sure?') ."')) return false"))."</a>";
} else { } else {

View File

@ -80,13 +80,13 @@ function process_user_login ($login, $pass) {
// Connect to Database // Connect to Database
switch ($config["dbtype"]) { switch ($config["dbtype"]) {
case "mysql": case "mysql":
$sql = sprintf ("SELECT `id_user`, `password` FROM `tusuario` WHERE `id_user` = '%s'", $login); $sql = sprintf ("SELECT `id_user`, `password` FROM `tusuario` WHERE `id_user` = '%s' AND `disabled` = 0", $login);
break; break;
case "postgresql": case "postgresql":
$sql = sprintf ('SELECT "id_user", "password" FROM "tusuario" WHERE "id_user" = \'%s\'', $login); $sql = sprintf ('SELECT "id_user", "password" FROM "tusuario" WHERE "id_user" = \'%s\' AND "disabled" = 0', $login);
break; break;
case "oracle": case "oracle":
$sql = sprintf ('SELECT id_user, password FROM tusuario WHERE id_user = \'%s\'', $login); $sql = sprintf ('SELECT id_user, password FROM tusuario WHERE id_user = \'%s\' AND disabled = 0', $login);
break; break;
} }
$row = db_get_row_sql ($sql); $row = db_get_row_sql ($sql);

View File

@ -38,6 +38,18 @@ function users_get_info ($order = "fullname", $info = "fullname") {
return $ret; return $ret;
} }
/**
* Enable/Disable a user
*
* @param int user id
* @param int new disabled value (0 when enable, 1 when disable)
*
* @return int sucess return
*/
function users_disable ($user_id, $new_disabled_value) {
return db_process_sql_update('tusuario', array('disabled' => $new_disabled_value), array('id_user' => $user_id));
}
/** /**
* Get all the Model groups a user has reading privileges. * Get all the Model groups a user has reading privileges.
* *

View File

@ -840,7 +840,8 @@ CREATE TABLE tusuario (
timezone VARCHAR2(50) default '', timezone VARCHAR2(50) default '',
block_size NUMBER(10, 0) default 20 NOT NULL, block_size NUMBER(10, 0) default 20 NOT NULL,
flash_chart NUMBER(10, 0) default 1 NOT NULL, flash_chart NUMBER(10, 0) default 1 NOT NULL,
id_skin NUMBER(10, 0) DEFAULT 0 NOT NULL id_skin NUMBER(10, 0) DEFAULT 0 NOT NULL,
disabled NUMBER(10, 0) default 0 NOT NULL
); );
CREATE TABLE tusuario_perfil ( CREATE TABLE tusuario_perfil (

View File

@ -674,7 +674,8 @@ CREATE TABLE "tusuario" (
"timezone" varchar(50) default '', "timezone" varchar(50) default '',
"block_size" INTEGER NOT NULL default 20, "block_size" INTEGER NOT NULL default 20,
"flash_chart" INTEGER NOT NULL default 1, "flash_chart" INTEGER NOT NULL default 1,
"id_skin" INTEGER NOT NULL DEFAULT 0 "id_skin" INTEGER NOT NULL DEFAULT 0,
"disabled" INTEGER NOT NULL default 1
); );
CREATE TABLE "tusuario_perfil" ( CREATE TABLE "tusuario_perfil" (

View File

@ -750,6 +750,7 @@ CREATE TABLE IF NOT EXISTS `tusuario` (
`block_size` int(4) NOT NULL DEFAULT 20, `block_size` int(4) NOT NULL DEFAULT 20,
`flash_chart` int(4) NOT NULL DEFAULT 1, `flash_chart` int(4) NOT NULL DEFAULT 1,
`id_skin` int(10) unsigned NOT NULL, `id_skin` int(10) unsigned NOT NULL,
`disabled` int(4) NOT NULL DEFAULT 0,
UNIQUE KEY `id_user` (`id_user`) UNIQUE KEY `id_user` (`id_user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;