2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
< ? php
2009-06-08 20:26:14 +02:00
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2009 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
// This program is free software; you can redistribute it and/or
2009-06-08 20:26:14 +02:00
// modify it under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation; version 2
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
2009-06-08 20:26:14 +02:00
2009-08-24 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_menu.php, include/functions_html.php,
include/functions_events.php, include/functions_messages.php,
include/functions_modules.php, include/functions_exportserver.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/pchart_graph.php, include/pandora_graph.php, include/auth/dev.php,
include/auth/ldap.php, include/auth/mysql.php, include/config.inc.php,
include/functions_networkmap.php, include/functions_servers.php,
include/FusionCharts/FusionCharts_Gen.php,
include/FusionCharts/FusionCharts.php,
include/functions_network_profiles.php, include/gettext.php,
include/functions_network_components.php, include/functions_visual_map.php,
include/fgraph2.php, include/Image/image_functions.php,
include/functions_config.php, include/help/en/help_plugin_parameters.php,
include/help/en/help_snmpcommunity.php, include/help/en/help_wmiquery.php,
include/help/en/help_postprocess.php,
include/help/en/help_prediction_source_module.php,
include/help/en/help_date_format.php, include/help/en/help_recontask.php,
include/help/en/help_alert-matches.php, include/help/en/help_tcp_send.php,
include/help/en/help_wmifield.php, include/help/en/help_duplicateconfig.php,
include/help/en/help_agent_status.php,
include/help/en/help_manage_alerts.php, include/help/en/help_wmikey.php,
include/help/en/help_alert_type.php,
include/help/en/help_network_component.php,
include/help/en/help_time_stamp-comparation.php,
include/help/en/help_eventview.php, include/help/en/help_timesource.php,
include/help/en/help_alert_validation.php,
include/help/en/help_map_builder.php,
include/help/en/help_alert_recovery.php,
include/help/en/help_module_type.php,
include/help/en/help_planned_downtime.php,
include/help/en/help_serverlag.php, include/help/en/help_alerts.php,
include/help/en/help_snmpwalk.php,
include/help/en/help_module_definition.php,
include/help/en/help_plugin_definition.php,
include/help/en/help_wminamespace.php, include/help/en/help_snmpoid.php
include/help/en/help_manageconfig.php,
include/help/es/help_alert_validation.php,
include/help/es/help_plugin_parameters.php,
include/help/es/help_snmpcommunity.php, include/help/es/help_wmiquery.php,
include/help/es/help_map_builder.php, include/help/es/help_postprocess.php,
include/help/es/help_date_format.php,
include/help/es/help_alert_recovery.php,
include/help/es/help_prediction_source_module.php,
include/help/es/help_module_type.php,
include/help/es/help_planned_downtime.php,
include/help/es/help_alert-matches.php, include/help/es/help_recontask.php,
include/help/es/help_alerts.php, include/help/es/help_serverlag.php,
include/help/es/help_snmpwalk.php,
include/help/es/help_module_definition.php,
include/help/es/help_tcp_send.php, include/help/es/help_duplicateconfig.php,
include/help/es/help_wmifield.php, include/help/es/help_manage_alerts.php,
include/help/es/help_wmikey.php, include/help/es/help_plugin_definition.php,
include/help/es/help_alert_type.php, include/help/es/help_snmpoid.php,
include/help/es/help_wminamespace.php,
include/help/es/help_network_component.php,
include/help/es/help_time_stamp-comparation.php,
include/help/es/help_manageconfig.php, include/help/es/help_timesource.php,
include/config_process.php, include/functions_ui.php, include/htmlawed.php,
include/functions_custom_graphs.php, include/fgraph.php,
include/functions_incidents.php, include/functions.php,
include/functions_agents.php, include/functions_db.php,
include/functions_themes.php, include/streams.php,
include/functions_fsgraph.php, include/functions_alerts.php,
include/functions_reports.php, include/functions_extensions.php,
include/functions_ui_renders.php: change comments blocks for delete the
warnings to construct phpDoc Files, give a struct and order in the
phpDoc files.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1881 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-25 19:39:28 +02:00
/**
* @ package Include / auth
*/
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
if ( ! isset ( $config )) {
2009-12-08 15:48:59 +01:00
die ( '
<! DOCTYPE html PUBLIC " -//W3C//DTD HTML 4.01 Transitional//EN " >
< html >
< head >
< title > Pandora FMS - The Flexible Monitoring System - Console error </ title >
< meta http - equiv = " expires " content = " 0 " >
< meta http - equiv = " content-type " content = " text/html; charset=utf8 " >
< meta name = " resource-type " content = " document " >
< meta name = " distribution " content = " global " >
< meta name = " author " content = " Sancho Lerena " >
< meta name = " copyright " content = " This is GPL software. Created by Sancho Lerena and others " >
< meta name = " keywords " content = " pandora, monitoring, system, GPL, software " >
< meta name = " robots " content = " index, follow " >
< link rel = " icon " href = " ../../images/pandora.ico " type = " image/ico " >
< link rel = " stylesheet " href = " ../styles/pandora.css " type = " text/css " >
</ head >
< body >
< div id = " main " style = " float:left; margin-left: 100px " >
< div align = " center " >
< div id = " login_f " >
< h1 id = " log_f " class = " error " > You cannot access this file </ h1 >
< div >
< img src = " ../../images/pandora_logo.png " border = " 0 " ></ a >
</ div >
< div class = " msg " >
< span class = " error " >< b > ERROR :</ b >
You can\ ' t access this file directly !</ span >
</ div >
</ div >
</ div >
</ body >
</ html >
' );
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
}
2009-01-22 18:44:33 +01:00
$config [ " user_can_update_info " ] = false ;
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
$config [ " user_can_update_password " ] = false ;
$config [ " admin_can_add_user " ] = false ;
$config [ " admin_can_delete_user " ] = false ;
2009-01-22 19:56:31 +01:00
$config [ " admin_can_disable_user " ] = false ; //Not implemented
2009-01-22 18:44:33 +01:00
$config [ " admin_can_make_admin " ] = false ;
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
//Required and optional keys for this function to work
$req_keys = array ( " ldap_server " , " ldap_base_dn " , " ldap_login_attr " , " ldap_admin_group_name " , " ldap_admin_group_attr " , " ldap_admin_group_type " , " ldap_user_filter " , " ldap_user_attr " );
$opt_keys = array ( " ldap_port " , " ldap_start_tls " , " ldap_version " , " ldap_admin_dn " , " ldap_admin_pwd " );
2009-03-06 18:30:23 +01:00
global $ldap_cache ; //Needs to be globalized because process_config () function calls this file first and the variable would be local and subsequently lost
$ldap_cache = array ();
$ldap_cache [ " error " ] = " " ;
$ldap_cache [ " ds " ] = " " ;
//Put each required key in a variable.
foreach ( $req_keys as $key ) {
if ( ! isset ( $config [ " auth " ][ $key ])) {
user_error ( " Required key " . $key . " not set " , E_USER_ERROR );
}
}
// Convert group name to lower case to prevent problems
$config [ " auth " ][ " ldap_admin_group_attr " ] = strtolower ( $config [ " auth " ][ " ldap_admin_group_attr " ]);
$config [ " auth " ][ " ldap_admin_group_type " ] = strtolower ( $config [ " auth " ][ " ldap_admin_group_type " ]);
foreach ( $opt_keys as $key ) {
if ( ! isset ( $config [ " auth " ][ $key ])) {
switch ( $key ) {
case " ldap_start_tls " :
$config [ " auth " ][ $key ] = false ;
continue ;
case " ldap_version " :
$config [ " auth " ][ $key ] = 0 ;
continue ;
case " ldap_admin_dn " :
case " ldap_admin_pwd " :
$config [ " auth " ][ $key ] = " " ;
continue ;
default :
//Key not implemented
continue ;
}
}
}
//Reference the global use authorization error to last ldap error.
$config [ " auth_error " ] = & $ldap_cache [ " error " ];
unset ( $req_keys , $opt_keys );
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
/**
* process_user_login accepts $login and $pass and handles it according to current authentication scheme
*
* @ param string $login
* @ param string $pass
*
* @ return mixed False in case of error or invalid credentials , the username in case it ' s correct .
*/
function process_user_login ( $login , $pass ) {
if ( ! ldap_valid_login ( $login , $pass )) {
return false ;
}
global $config ;
2009-01-22 19:56:31 +01:00
$profile = get_db_value ( " id_usuario " , " tusuario_perfil " , " id_usuario " , $login );
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
if ( $profile === false && empty ( $config [ " auth " ][ " create_user_undefined " ])) {
$config [ " auth_error " ] = " No profile " ; //Error message, don't translate
return false ; //User doesn't have a profile so doesn't have access
} elseif ( $profile === false && ! empty ( $config [ " auth " ][ " create_user_undefined " ])) {
$ret = create_user_profile ( $login ); //User doesn't have a profile but we are asked to create one
if ( $ret === false ) {
$config [ " auth_error " ] = " Profile creation failed " ; //Error message, don't translate
return false ; //We couldn't create the profile for some or another reason
}
}
return $login ;
}
/**
* Checks if a user is administrator .
*
* @ param string User id .
*
* @ return bool True is the user is admin
*/
function is_user_admin ( $user_id ) {
$admins = get_user_admins ();
if ( in_array ( $user_id , $admins )) {
return true ;
}
return false ;
}
/**
* Checks if a user exists
*
* @ param string User id .
*
* @ return bool True if the user exists
*/
function is_user ( $id_user ) {
$user = get_user_info ( $id_user );
if ( empty ( $user ))
return false ;
return true ;
}
/**
* Gets the users real name
*
* @ param string User id .
*
* @ return string The users full name
*/
2009-01-22 18:44:33 +01:00
function get_user_fullname ( $id_user ) {
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
$info = get_user_info ( $id_user );
if ( empty ( $info )) {
//User doesn't exist
return '' ;
}
2009-01-22 18:44:33 +01:00
return ( string ) $info [ " fullname " ];
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
}
/**
* Gets the users email
*
* @ param string User id .
*
* @ return string The users email address
*/
function get_user_email ( $id_user ) {
$info = get_user_info ( $id_user );
2009-01-22 18:44:33 +01:00
return ( string ) $info [ " email " ];
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
}
2009-02-24 12:20:34 +01:00
/**
* Get the user id field on a mixed structure .
*
* This function is needed to make auth system more compatible and independant .
*
* @ param mixed User structure to get id . It might be a row returned from
* tusuario or tusuario_perfil . If it ' s not a row , the int value is returned .
*/
function get_user_id ( $user ) {
if ( is_array ( $user ))
/* FIXME: Is this right? */
return $user [ 'id_user' ];
return ( int ) $user ;
}
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
/**
* Gets the users info
*
* @ param string User id .
*
* @ return array User info
*/
function get_user_info ( $id_user ) {
global $ldap_cache ;
if ( ! empty ( $ldap_cache [ $id_user ])) {
return $ldap_cache [ $id_user ];
}
$ldap_cache [ $id_user ] = ldap_load_user ( $id_user );
if ( $ldap_cache [ $id_user ] === false ) {
return array ();
}
return $ldap_cache [ $id_user ];
}
/**
* Get all users that are defined in the admin group in LDAP
*
* @ return array Array of users or empty array
*/
function get_user_admins () {
global $ldap_cache , $config ;
if ( ! empty ( $ldap_cache [ " cached_admins " ])) {
return $ldap_cache [ " cached_admins " ];
} else {
$ldap_cache [ " cached_admins " ] = array ();
}
if ( ldap_connect_bind ()) {
$search_filter = " ( " . $config [ " auth " ][ " ldap_admin_group_attr " ] . " =*) " ;
$sr = ldap_search ( $ldap_cache [ " ds " ], $config [ " auth " ][ " ldap_admin_group_name " ], $search_filter , array ( $config [ " auth " ][ " ldap_admin_group_attr " ]));
if ( ! $sr ) {
$ldap_cache [ " error " ] .= 'Error searching LDAP server (get_user_admins): ' . ldap_error ( $ldap_cache [ " ds " ]);
} else {
$admins = ldap_get_entries ( $ldap_cache [ " ds " ], $sr );
for ( $x = 0 ; $x < $admins [ 0 ][ $config [ " auth " ][ " ldap_admin_group_attr " ]][ 'count' ]; $x ++ ) {
if ( $config [ " auth " ][ " ldap_admin_group_type " ] != 'posixgroup' ) {
$ldap_cache [ " cached_admins " ][] = stripdn ( $admins [ 0 ][ $config [ " auth " ][ " ldap_admin_group_attr " ]][ $x ]);
} else {
$ldap_cache [ " cached_admins " ][] = $admins [ 0 ][ $config [ " auth " ][ " ldap_admin_group_attr " ]][ $x ];
}
}
@ ldap_free_result ( $sr );
}
@ ldap_close ( $ldap_cache [ " ds " ]);
}
return $ldap_cache [ " cached_admins " ];
}
/**
* Sets the last login for a user . LDAP doesn 't have this (or it' s inherent to the login process )
*
* @ param string User id
*/
2009-01-22 18:44:33 +01:00
function process_user_contact ( $id_user ) {
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
//Empty function
}
/**
* LDAP user functions based on webcalendar ' s implementation
*
* File from webcalendar ( GPL ) project :
* $Id : user - ldap . php , v 1.42 . 2.1 2007 / 08 / 17 14 : 39 : 00 umcesrjones Exp $
*
* Note : this application assumes that usernames ( logins ) are unique .
*/
/**
* Function to search the dn for a given user . Error messages in $ldap_cache [ " error " ];
*
* @ param string User login
*
* @ return mixed The DN if the user is found , false in other case
*/
function ldap_search_user ( $login ) {
global $ldap_cache , $config ;
$nick = false ;
if ( ldap_connect_bind ()) {
$sr = @ ldap_search ( $ldap_cache [ " ds " ], $config [ " auth " ][ " ldap_base_dn " ], " (&( " . $config [ " auth " ][ " ldap_login_attr " ] . " = " . $login . " ) " . $config [ " auth " ][ " ldap_user_filter " ] . " ) " , array_values ( $config [ " auth " ][ " ldap_user_attr " ]));
if ( ! $sr ) {
$ldap_cache [ " error " ] .= 'Error searching LDAP server: ' . ldap_error ( $ldap_cache [ " ds " ]);
} else {
$info = @ ldap_get_entries ( $ldap_cache [ " ds " ], $sr );
if ( $info [ 'count' ] != 1 ) {
$ldap_cache [ " error " ] .= 'Invalid user' ;
} else {
$nick = $info [ 0 ][ 'dn' ];
}
@ ldap_free_result ( $sr );
}
@ ldap_close ( $ldap_cache [ " ds " ]);
}
return $nick ;
}
/**
* Function to validate the user and password for a given login . Error messages in $ldap_cache [ " error " ];
*
* @ param string User login
* @ param string User password ( plain text )
*
* @ return bool True if the login is correct , false in other case
*/
function ldap_valid_login ( $login , $password ) {
global $ldap_cache , $config ;
if ( ! function_exists ( " ldap_connect " )) {
die ( " Your installation of PHP does not support LDAP " );
}
$ret = false ;
if ( ! empty ( $config [ " auth " ][ " ldap_port " ])) {
$ds = @ ldap_connect ( $config [ " auth " ][ " ldap_server " ], $config [ " auth " ][ " ldap_port " ]); //Since this is a separate bind, we don't store it global
} else {
$ds = @ ldap_connect ( $config [ " auth " ][ " ldap_server " ]); //Since this is a separate bind we don't store it global
}
if ( $ds ) {
if ( $config [ " auth " ][ " ldap_version " ] > 0 ) {
ldap_set_option ( $ds , LDAP_OPT_PROTOCOL_VERSION , $config [ " auth " ][ " ldap_version " ]);
}
if ( $config [ " auth " ][ " ldap_start_tls " ] && !@ ldap_start_tls ( $ds )) {
$ldap_cache [ " error " ] .= 'Could not start TLS for LDAP connection' ;
return $ret ;
}
if ( ldap_search_user ( $login )) {
$r = @ ldap_bind ( $ds , $config [ " auth " ][ " ldap_login_attr " ] . " = " . $login . " , " . $config [ " auth " ][ " ldap_base_dn " ], $password );
if ( ! $r ) {
$ldap_cache [ " error " ] .= 'Invalid login' ;
//$ldap_cache["error"] .= ': incorrect password'; // uncomment for debugging
} else {
$ret = true ;
}
} else {
$ldap_cache [ " error " ] .= 'Invalid login' ;
//$ldap_cache["error"] .= ': no such user';
}
@ ldap_close ( $ds );
} else {
$ldap_cache [ " error " ] .= 'Error connecting to LDAP server' ;
}
return $ret ;
}
/**
* Function to load user information according to PandoraFMS structure . Error messages in $ldap_cache [ " error " ];
*
* @ param string User login
*
* @ return mixed Array with the information , false in other case
*/
function ldap_load_user ( $login ) {
global $ldap_cache , $config ;
$ret = false ;
2009-03-06 18:30:23 +01:00
$time = get_system_time ();
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
if ( ldap_connect_bind ()) {
$sr = ldap_search ( $ldap_cache [ " ds " ], $config [ " auth " ][ " ldap_base_dn " ], " (&( " . $config [ " auth " ][ " ldap_login_attr " ] . " = " . $login . " ) " . $config [ " auth " ][ " ldap_user_filter " ] . " ) " , array_values ( $config [ " auth " ][ " ldap_user_attr " ]));
if ( ! $sr ) {
$ldap_cache [ " error " ] .= 'Error searching LDAP server (load_user): ' . ldap_error ( $ldap_cache [ " ds " ] );
} else {
$info = @ ldap_get_entries ( $ldap_cache [ " ds " ], $sr );
if ( $info [ 'count' ] != 1 ) {
$ldap_cache [ " error " ] .= 'Invalid login' ;
//$ldap_cache["error"] .= ', could not load user'; //Uncomment for debugging
} else {
$ret = array ();
foreach ( $config [ " auth " ][ " ldap_user_attr " ] as $internal_key => $ldap_key ) {
2009-03-06 18:30:23 +01:00
$ret [ " last_connect " ] = $time ;
$ret [ " registered " ] = $time ;
2009-01-22 18:44:33 +01:00
$ret [ " is_admin " ] = is_user_admin ( $info [ 0 ][ $config [ " auth " ][ " ldap_user_attr " ][ " id_user " ]][ 0 ]);
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
if ( isset ( $info [ 0 ][ $ldap_key ])) {
$ret [ $internal_key ] = $info [ 0 ][ $ldap_key ][ 0 ];
} else {
$ret [ $internal_key ] = '' ;
}
}
}
@ ldap_free_result ( $sr );
}
@ ldap_close ( $ldap_cache [ " ds " ] );
} else {
$ldap_cache [ " error " ] .= 'Could not connect to LDAP server' ;
}
return $ret ;
}
/**
* Function to create a new user . We don ' t do LDAP admin in Pandora , so not implemented .
*
* @ return bool false
*/
function create_user () {
global $ldap_cache ;
2009-03-06 18:30:23 +01:00
$ldap_cache [ " error " ] .= 'Creating users not supported.' ;
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
return false ;
}
/**
* Function to update a user . We don ' t do LDAP admin in Pandora , so not implemented .
*
* @ return bool false
*/
2009-01-22 18:44:33 +01:00
function process_user () {
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
global $ldap_cache ;
2009-03-06 18:30:23 +01:00
$ldap_cache [ " error " ] .= 'Updating users not supported.' ;
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
return false ;
}
/**
* Function to update a user password . We don ' t do LDAP admin in Pandora , so not implemented .
*
* @ return bool false
*/
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
function update_user_password ( $user , $password_old , $password_new ) {
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
global $ldap_cache ;
2009-03-06 18:30:23 +01:00
$ldap_cache [ " error " ] = 'Changing passwords not supported' ;
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
return false ;
}
/**
* Delete a user ( preferences etc . ) from the pandora database ( NOT from LDAP )
*
* @ param string $user User to delete
*
* @ return bool True if successfully deleted , false otherwise
*/
function delete_user ( $user ) {
global $ldap_cache ;
2009-03-06 18:30:23 +01:00
$ldap_cache [ " error " ] = 'Deleting users not supported' ;
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
return false ;
}
/**
* Function to get all users ( for LDAP this also includes the admin users which you have to get separate )
*
* @ param string Order currently not done for LDAP
*
* @ return array List if successful , empty array otherwise
*/
function get_users ( $order = false ) {
global $ldap_cache , $config ;
if ( ! empty ( $ldap_cache [ " cached_users " ])) {
return $ldap_cache [ " cached_users " ];
}
$ldap_cache [ " cached_users " ] = array ();
2009-02-25 16:04:26 +01:00
$time = get_system_time ();
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
if ( ldap_connect_bind ()) {
$sr = @ ldap_search ( $ldap_cache [ " ds " ], $config [ " auth " ][ " ldap_base_dn " ], $config [ " auth " ][ " ldap_user_filter " ], array_values ( $config [ " auth " ][ " ldap_user_attr " ]));
if ( ! $sr ) {
$ldap_cache [ " error " ] .= 'Error searching LDAP server (get_users): ' . ldap_error ( $ldap_cache [ " ds " ] );
} else {
2009-01-22 18:44:33 +01:00
ldap_sort ( $ldap_cache [ " ds " ], $sr , $config [ " auth " ][ " ldap_user_attr " ][ " fullname " ]);
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
$info = @ ldap_get_entries ( $ldap_cache [ " ds " ], $sr );
for ( $i = 0 ; $i < $info [ 'count' ]; $i ++ ) {
foreach ( $config [ " auth " ][ " ldap_user_attr " ] as $internal_key => $ldap_key ) {
2009-02-25 16:04:26 +01:00
$ret [ $info [ $i ][ $config [ " auth " ][ " ldap_user_attr " ][ " id_user " ]][ 0 ]][ " last_connect " ] = $time ;
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
if ( isset ( $info [ $i ][ $ldap_key ])) {
2009-01-22 18:44:33 +01:00
$ret [ $info [ $i ][ $config [ " auth " ][ " ldap_user_attr " ][ " id_user " ]][ 0 ]][ $internal_key ] = $info [ $i ][ $ldap_key ][ 0 ];
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
} else {
2009-01-22 18:44:33 +01:00
$ret [ $info [ $i ][ $config [ " auth " ][ " ldap_user_attr " ][ " id_user " ]][ 0 ]][ $internal_key ] = '' ;
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
}
2009-01-22 18:44:33 +01:00
$ret [ $info [ $i ][ $config [ " auth " ][ " ldap_user_attr " ][ " id_user " ]][ 0 ]][ " is_admin " ] = is_user_admin ( $info [ $i ][ $config [ " auth " ][ " ldap_user_attr " ][ " id_user " ]][ 0 ]);
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
}
}
@ ldap_free_result ( $sr );
}
@ ldap_close ( $ldap_cache [ " ds " ] );
}
//Admins are also users and since they can be in separate channels in LDAP, we merge them
$ldap_cache [ " cached_users " ] = $ret ;
return $ldap_cache [ " cached_users " ];
}
2009-08-24 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_menu.php, include/functions_html.php,
include/functions_events.php, include/functions_messages.php,
include/functions_modules.php, include/functions_exportserver.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/pchart_graph.php, include/pandora_graph.php, include/auth/ldap.php,
include/auth/mysql.php, include/config.inc.php,
include/functions_networkmap.php, include/functions_servers.php,
include/functions_network_profiles.php, include/gettext.php,
include/functions_network_components.php, include/functions_visual_map.php,
include/fgraph2.php, include/Image/image_functions.php,
include/functions_config.php, include/config_process.php,
include/functions_ui.php, include/htmlawed.php,
include/functions_custom_graphs.php, include/fgraph.php,
include/functions_incidents.php, include/functions.php,
include/functions_agents.php, include/functions_db.php,
include/functions_themes.php, include/streams.php,
include/functions_fsgraph.php, include/functions_alerts.php,
include/functions_reports.php, include/functions_extensions.php,
include/functions_ui_renders.php: change or add the subpackage in phpdoc
comment blocks for to organize more the result phpdoc files. Start to
document undocument functions.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1882 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-26 17:37:47 +02:00
/**
* Strip everything but the username ( uid ) from a dn .
* Example : path description
* stripdn ( uid = jeffh , ou = people , dc = example , dc = com ) returns jeffh
* @ param string dn the dn you want to strip the uid from .
* @ return string userid
*/
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
function stripdn ( $dn ) {
list ( $uid , $trash ) = split ( ',' , $dn , 2 );
list ( $trash , $user ) = split ( '=' , $uid );
return ( $user );
}
2009-08-24 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_menu.php, include/functions_html.php,
include/functions_events.php, include/functions_messages.php,
include/functions_modules.php, include/functions_exportserver.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/pchart_graph.php, include/pandora_graph.php, include/auth/ldap.php,
include/auth/mysql.php, include/config.inc.php,
include/functions_networkmap.php, include/functions_servers.php,
include/functions_network_profiles.php, include/gettext.php,
include/functions_network_components.php, include/functions_visual_map.php,
include/fgraph2.php, include/Image/image_functions.php,
include/functions_config.php, include/config_process.php,
include/functions_ui.php, include/htmlawed.php,
include/functions_custom_graphs.php, include/fgraph.php,
include/functions_incidents.php, include/functions.php,
include/functions_agents.php, include/functions_db.php,
include/functions_themes.php, include/streams.php,
include/functions_fsgraph.php, include/functions_alerts.php,
include/functions_reports.php, include/functions_extensions.php,
include/functions_ui_renders.php: change or add the subpackage in phpdoc
comment blocks for to organize more the result phpdoc files. Start to
document undocument functions.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1882 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-26 17:37:47 +02:00
/**
* Connects and binds to the LDAP server
* Tries to connect as $config [ " auth " ][ " ldap_admin_dn " ] if we set it .
* @ return boolean Bind result or false
*/
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
function ldap_connect_bind () {
global $ldap_cache , $config ;
if ( ! function_exists ( 'ldap_connect' )) {
die ( 'Your installation of PHP does not support LDAP' );
}
$ret = false ;
2009-03-06 18:30:23 +01:00
if ( ! empty ( $config [ " auth " ][ " ldap_port " ]) && ! is_resource ( $ldap_cache [ " ds " ])) {
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
$ldap_cache [ " ds " ] = @ ldap_connect ( $config [ " auth " ][ " ldap_server " ], $config [ " auth " ][ " ldap_port " ]);
2009-03-06 18:30:23 +01:00
} elseif ( ! is_resource ( $ldap_cache [ " ds " ])) {
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
$ldap_cache [ " ds " ] = @ ldap_connect ( $config [ " auth " ][ " ldap_server " ]);
} else {
return true ;
}
if ( $ldap_cache [ " ds " ]) {
if ( ! empty ( $config [ " auth " ][ " ldap_version " ])) {
ldap_set_option ( $ldap_cache [ " ds " ], LDAP_OPT_PROTOCOL_VERSION , $config [ " auth " ][ " ldap_version " ]);
}
if ( ! empty ( $config [ " auth " ][ " ldap_start_tls " ])) {
if ( ! ldap_start_tls ( $ldap_cache [ " ds " ])) {
$ldap_cache [ " error " ] .= 'Could not start TLS for LDAP connection' ;
return $ret ;
}
}
if ( ! empty ( $config [ " auth " ][ " ldap_admin_dn " ])) {
$r = @ ldap_bind ( $ldap_cache [ " ds " ], $config [ " auth " ][ " ldap_admin_dn " ], $config [ " auth " ][ " ldap_admin_pwd " ]);
} else {
$r = @ ldap_bind ( $ldap_cache [ " ds " ]);
}
if ( ! $r ) {
$ldap_cache [ " error " ] .= 'Invalid bind login for LDAP Server or (in case of OpenLDAP 2.x) could not connect' ;
return $ret ;
}
return true ;
} else {
$ldap_cache [ " error " ] .= 'Error connecting to LDAP server' ;
return $ret ;
}
}
2009-03-26 Esteban Sanchez <estebans@artica.es>
* godmode/users/configure_user.php: Complete rewritten to fix minor
errors and fit the Pandora style.
* include/auth/ldap.php: Removed process_user_isadmin(). Renamed
process_user_password() to update_user_password(). Renamed
process_user_info to update_user(). update_user_password() does not
require old password anymore.
* include/functions_db.php: Added empty checks on
create_user_profile().
* include/functions_ui.php: print_error_message() renamed to
print_result_message().
* godmode/agentes/configurar_agente.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_template.php,
godmode/modules/manage_nc_groups.php,
godmode/modules/manage_network_templates.php,
godmode/modules/manage_network_templates_form.php,
godmode/reporting/map_builder_wizard.php,
godmode/reporting/reporting_builder.php,
operation/agentes/alerts_status.php, operation/events/events.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/messages/message.php, operation/snmpconsole/snmp_view.php,
operation/users/user_edit.php: Renamed print_result_message(). Some
translatable strings reused to simplify i18n work.
* godmode/users/user_list.php: Renamed print_result_message(). Use
cross.png for deletion links. Style corrections.
* godmode/setup/news.php: Renamed print_result_message(). Use
process_sql_delete() instead of direct mysql_query.
* godmode/reporting/map_builder.php: Renamed print_result_message().
Style correction on process_sql_update().
* godmode/alerts/configure_alert_compound.php: Renamed
print_result_message(). Fixed steps_clean div.
* godmode/setup/setup.php: Return control to index instead of exit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1567 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-26 12:14:49 +01:00
?>