RELEASE 1.1.0.4
This commit is contained in:
parent
23a33eef99
commit
d5b4aa54ea
@ -84,13 +84,14 @@ $config->custom->commands['all'] = array(
|
|||||||
'credits' => true),
|
'credits' => true),
|
||||||
'purge' => true,
|
'purge' => true,
|
||||||
'schema' => true,
|
'schema' => true,
|
||||||
'import' => false,
|
'import' => true,
|
||||||
'export' => true,
|
'export' => true,
|
||||||
|
'logout' => true,
|
||||||
'search' => array('simple_search' => true,
|
'search' => array('simple_search' => true,
|
||||||
'predefined_search' => false,
|
'predefined_search' => true,
|
||||||
'advanced_search' => false),
|
'advanced_search' => true),
|
||||||
'server_refresh' => false,
|
'server_refresh' => true,
|
||||||
'server_info' => false,
|
'server_info' => true,
|
||||||
'entry_refresh' => true,
|
'entry_refresh' => true,
|
||||||
'entry_move' => true,
|
'entry_move' => true,
|
||||||
'entry_internal_attributes_show' => true,
|
'entry_internal_attributes_show' => true,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/htdocs/cmd.php,v 1.3.2.2 2007/12/24 10:45:57 wurley Exp $
|
// $Header: /cvsroot/phpldapadmin/phpldapadmin/htdocs/cmd.php,v 1.3.2.3 2008/01/10 12:28:34 wurley Exp $
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package phpLDAPadmin
|
* @package phpLDAPadmin
|
||||||
@ -11,14 +11,11 @@ $www['cmd'] = get_request('cmd','REQUEST');
|
|||||||
$www['meth'] = get_request('meth','REQUEST');
|
$www['meth'] = get_request('meth','REQUEST');
|
||||||
|
|
||||||
ob_start();
|
ob_start();
|
||||||
|
$file = '';
|
||||||
if (is_null($www['cmd']))
|
|
||||||
$www['cmd'] = 'welcome';
|
|
||||||
|
|
||||||
switch ($www['cmd']) {
|
switch ($www['cmd']) {
|
||||||
case '_debug' :
|
case '_debug' :
|
||||||
debug_dump($_REQUEST,1);
|
debug_dump($_REQUEST,1);
|
||||||
$file = '';
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default :
|
default :
|
||||||
@ -28,7 +25,7 @@ switch ($www['cmd']) {
|
|||||||
elseif (defined('HTDOCDIR') && file_exists(HTDOCDIR.$www['cmd'].'.php'))
|
elseif (defined('HTDOCDIR') && file_exists(HTDOCDIR.$www['cmd'].'.php'))
|
||||||
$file = HTDOCDIR.$www['cmd'].'.php';
|
$file = HTDOCDIR.$www['cmd'].'.php';
|
||||||
|
|
||||||
else
|
elseif (file_exists('welcome.php'))
|
||||||
$file = 'welcome.php';
|
$file = 'welcome.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 501 B After Width: | Height: | Size: 902 B |
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/htdocs/index.php,v 1.49.2.3 2007/12/30 02:06:15 wurley Exp $
|
// $Header: /cvsroot/phpldapadmin/phpldapadmin/htdocs/index.php,v 1.49.2.4 2008/01/04 12:33:03 wurley Exp $
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package phpLDAPadmin
|
* @package phpLDAPadmin
|
||||||
@ -18,6 +18,9 @@ PHP is not installed on your web server!!!
|
|||||||
* We will perform some sanity checking here, since this file is normally loaded first when users
|
* We will perform some sanity checking here, since this file is normally loaded first when users
|
||||||
* first access the application.
|
* first access the application.
|
||||||
*/
|
*/
|
||||||
|
# The index we will store our config in $_SESSION
|
||||||
|
define('APPCONFIG','plaConfig');
|
||||||
|
|
||||||
define('LIBDIR',sprintf('%s/',realpath('../lib/')));
|
define('LIBDIR',sprintf('%s/',realpath('../lib/')));
|
||||||
ini_set('display_errors',1);
|
ini_set('display_errors',1);
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/htdocs/login.php,v 1.56.2.3 2007/12/31 01:30:09 wurley Exp $
|
// $Header: /cvsroot/phpldapadmin/phpldapadmin/htdocs/login.php,v 1.56.2.4 2008/01/04 12:29:15 wurley Exp $
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For servers whose auth_type is set to 'cookie' or 'session'. Pass me the
|
* For servers whose auth_type is set to 'cookie' or 'session'. Pass me the
|
||||||
@ -44,7 +44,7 @@ if ($anon_bind) {
|
|||||||
|
|
||||||
# Is this a login string (printf-style)
|
# Is this a login string (printf-style)
|
||||||
if ($ldapserver->isLoginStringEnabled()) {
|
if ($ldapserver->isLoginStringEnabled()) {
|
||||||
$login['dn'] = str_replace('<username>',$ldapserver->getLoginAttr(),$ldapserver->getLoginString());
|
$login['dn'] = str_replace('<username>',$login['val'],$ldapserver->getLoginString());
|
||||||
|
|
||||||
if (DEBUG_ENABLED)
|
if (DEBUG_ENABLED)
|
||||||
debug_log('LoginStringDN: [%s]',64,__FILE__,__LINE__,__METHOD__,$login['dn']);
|
debug_log('LoginStringDN: [%s]',64,__FILE__,__LINE__,__METHOD__,$login['dn']);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/Entry.php,v 1.2.2.1 2007/12/26 09:26:33 wurley Exp $
|
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/Entry.php,v 1.2.2.2 2008/01/04 14:31:05 wurley Exp $
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package phpLDAPadmin
|
* @package phpLDAPadmin
|
||||||
@ -257,6 +257,20 @@ abstract class Entry {
|
|||||||
else return null;
|
else return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getTemplateName() {
|
||||||
|
if (isset($this->selected_template))
|
||||||
|
return $this->selected_template;
|
||||||
|
else
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTemplateTitle() {
|
||||||
|
if (isset($this->selected_template['title']))
|
||||||
|
return $this->templates[$this->selected_template]['title'];
|
||||||
|
else
|
||||||
|
return _('No Template');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Visit the entry and its attributes
|
* Visit the entry and its attributes
|
||||||
*
|
*
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/EntryWriter1.php,v 1.3.2.4 2007/12/26 09:26:33 wurley Exp $
|
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/EntryWriter1.php,v 1.3.2.6 2008/01/04 14:31:05 wurley Exp $
|
||||||
|
|
||||||
define('IdEntryRefreshMenuItem', '0');
|
define('IdEntryRefreshMenuItem', '0');
|
||||||
define('IdEntryExportBaseMenuItem', '1');
|
define('IdEntryExportBaseMenuItem', '1');
|
||||||
@ -508,11 +508,25 @@ class EntryWriter1 extends EntryWriter {
|
|||||||
echo ' <b>';
|
echo ' <b>';
|
||||||
echo $this->ldapserver->name;
|
echo $this->ldapserver->name;
|
||||||
echo '</b> ';
|
echo '</b> ';
|
||||||
|
|
||||||
echo _('Distinguished Name');
|
echo _('Distinguished Name');
|
||||||
echo _(':');
|
echo _(':');
|
||||||
echo ' <b>';
|
echo ' <b>';
|
||||||
echo htmlspecialchars($entry->getDn());
|
echo htmlspecialchars($entry->getDn());
|
||||||
echo '</b></h3>';
|
echo '</b>';
|
||||||
|
echo '<br />';
|
||||||
|
|
||||||
|
echo _('Template');
|
||||||
|
echo _(':');
|
||||||
|
echo ' <b>';
|
||||||
|
echo htmlspecialchars($entry->getTemplateTitle());
|
||||||
|
echo '</b>';
|
||||||
|
if ($entry->getTemplateName()) {
|
||||||
|
echo ' (<b>';
|
||||||
|
echo htmlspecialchars($entry->getTemplateName());
|
||||||
|
echo '</b>)';
|
||||||
|
}
|
||||||
|
echo '</h3>';
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function drawDefaultEditingEntryMenu($entry) {
|
protected function drawDefaultEditingEntryMenu($entry) {
|
||||||
@ -2288,8 +2302,8 @@ class EntryWriter1 extends EntryWriter {
|
|||||||
|
|
||||||
protected function drawObjectClassAttributeIcon($attribute, $val) {
|
protected function drawObjectClassAttributeIcon($attribute, $val) {
|
||||||
if (strlen($val) > 0) {
|
if (strlen($val) > 0) {
|
||||||
$href = htmlspecialchars(sprintf('cmd.php?cmd=schema&server_id=%s&view=objectClasses&viewvalue=%s',
|
$href = sprintf('cmd.php?cmd=schema&server_id=%s&view=objectClasses&viewvalue=%s',
|
||||||
$this->ldapserver->server_id, $val));
|
$this->ldapserver->server_id, $val);
|
||||||
printf('<a title="%s" href="%s"><img src="images/info.png" alt="Info" /></a> ',
|
printf('<a title="%s" href="%s"><img src="images/info.png" alt="Info" /></a> ',
|
||||||
_('View the schema description for this objectClass'), htmlspecialchars($href));
|
_('View the schema description for this objectClass'), htmlspecialchars($href));
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/common.php,v 1.80.2.7 2007/12/30 02:05:16 wurley Exp $
|
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/common.php,v 1.80.2.8 2008/01/04 12:33:03 wurley Exp $
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains code to be executed at the top of each application page.
|
* Contains code to be executed at the top of each application page.
|
||||||
@ -17,7 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
# The index we will store our config in $_SESSION
|
# The index we will store our config in $_SESSION
|
||||||
define('APPCONFIG','plaConfig');
|
if (! defined('APPCONFIG'))
|
||||||
|
define('APPCONFIG','plaConfig');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Catch any scripts that are called directly.
|
* Catch any scripts that are called directly.
|
||||||
@ -36,6 +37,10 @@ foreach ($app['direct_scripts'] as $script) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Anything in the tools dir can be executed directly.
|
||||||
|
if (! $scriptOK && preg_match('/^\/tools/',$_SERVER['SCRIPT_NAME']))
|
||||||
|
$scriptOK = true;
|
||||||
|
|
||||||
if (! $scriptOK) {
|
if (! $scriptOK) {
|
||||||
if (isset($_REQUEST['server_id']))
|
if (isset($_REQUEST['server_id']))
|
||||||
header(sprintf('Location: index.php?server_id=%s',$_REQUEST['server_id']));
|
header(sprintf('Location: index.php?server_id=%s',$_REQUEST['server_id']));
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/config_default.php,v 1.27.2.3 2007/12/26 01:47:20 wurley Exp $
|
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/config_default.php,v 1.27.2.5 2008/01/10 12:29:21 wurley Exp $
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configuration processing and defaults.
|
* Configuration processing and defaults.
|
||||||
@ -476,33 +476,36 @@ class Config {
|
|||||||
'default'=>array('cn','sn','uid','postalAddress','telephoneNumber'));
|
'default'=>array('cn','sn','uid','postalAddress','telephoneNumber'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function GetValue($key,$index) {
|
private function getConfigArray($usecache=true) {
|
||||||
|
global $CACHE;
|
||||||
|
|
||||||
$value = null;
|
if ($usecache && isset($CACHE[__METHOD__]))
|
||||||
|
return $CACHE[__METHOD__];
|
||||||
|
|
||||||
if (! isset($this->default->$key))
|
foreach ($this->default as $key => $vals)
|
||||||
pla_error(sprintf('A call was made in [%s] to GetValue requesting [%s] that isnt predefined.',
|
$CACHE[__METHOD__][$key] = $vals;
|
||||||
basename($_SERVER['PHP_SELF']),$key));
|
|
||||||
else
|
|
||||||
$default = $this->default->$key;
|
|
||||||
|
|
||||||
if (! isset($default[$index]))
|
foreach ($this->custom as $key => $vals)
|
||||||
pla_error("Requesting a index [$index] that isnt predefined.");
|
foreach ($vals as $index => $val)
|
||||||
else
|
$CACHE[__METHOD__][$key][$index]['value'] = $val;
|
||||||
$default = $default[$index];
|
|
||||||
|
|
||||||
if (isset($default['default']))
|
return $CACHE[__METHOD__];
|
||||||
$value = $default['default'];
|
|
||||||
|
|
||||||
if (isset($this->custom->$key)) {
|
|
||||||
$custom = $this->custom->$key;
|
|
||||||
|
|
||||||
if (isset($custom[$index]))
|
|
||||||
$value = $custom[$index];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//print "Returning [$value] for key [$key], index [$index]<BR>";
|
/**
|
||||||
return $value;
|
* Get a configuration value.
|
||||||
|
*/
|
||||||
|
public function GetValue($key,$index) {
|
||||||
|
$config = $this->getConfigArray();
|
||||||
|
|
||||||
|
if (! isset($config[$key]))
|
||||||
|
error(sprintf('A call was made in [%s] to GetValue requesting [%s] that isnt predefined.',
|
||||||
|
basename($_SERVER['PHP_SELF']),$key));
|
||||||
|
|
||||||
|
if (! isset($config[$key][$index]))
|
||||||
|
error("Requesting a index [$index] that isnt predefined.");
|
||||||
|
|
||||||
|
return isset($config[$key][$index]['value']) ? $config[$key][$index]['value'] : $config[$key][$index]['default'];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -515,23 +518,23 @@ class Config {
|
|||||||
if (isset($this->default->$masterkey)) {
|
if (isset($this->default->$masterkey)) {
|
||||||
|
|
||||||
if (! is_array($masterdetails))
|
if (! is_array($masterdetails))
|
||||||
pla_error("Error in configuration file, [$masterdetails] should be an ARRAY.");
|
error("Error in configuration file, [$masterdetails] should be an ARRAY.");
|
||||||
|
|
||||||
foreach ($masterdetails as $key => $value) {
|
foreach ($masterdetails as $key => $value) {
|
||||||
# Test that the key is correct.
|
# Test that the key is correct.
|
||||||
if (! in_array($key,array_keys($this->default->$masterkey)))
|
if (! in_array($key,array_keys($this->default->$masterkey)))
|
||||||
pla_error("Error in configuration file, [$key] has not been defined as a PLA configurable variable.");
|
error("Error in configuration file, [$key] has not been defined as a PLA configurable variable.");
|
||||||
|
|
||||||
# Test if its should be an array or not.
|
# Test if its should be an array or not.
|
||||||
if (is_array($this->default->{$masterkey}[$key]['default']) && ! is_array($value))
|
if (is_array($this->default->{$masterkey}[$key]['default']) && ! is_array($value))
|
||||||
pla_error("Error in configuration file, {$masterkey}['$key'] SHOULD be an array of values.");
|
error("Error in configuration file, {$masterkey}['$key'] SHOULD be an array of values.");
|
||||||
|
|
||||||
if (! is_array($this->default->{$masterkey}[$key]['default']) && is_array($value))
|
if (! is_array($this->default->{$masterkey}[$key]['default']) && is_array($value))
|
||||||
pla_error("Error in configuration file, {$masterkey}['$key'] should NOT be an array of values.");
|
error("Error in configuration file, {$masterkey}['$key'] should NOT be an array of values.");
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
pla_error("Error in configuration file, [$masterkey] has not been defined as a PLA MASTER configurable variable.");
|
error("Error in configuration file, [$masterkey] has not been defined as a PLA MASTER configurable variable.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -627,7 +630,8 @@ class Config {
|
|||||||
*/
|
*/
|
||||||
public function getFriendlyHTML($attr) {
|
public function getFriendlyHTML($attr) {
|
||||||
if ($this->haveFriendlyName($attr))
|
if ($this->haveFriendlyName($attr))
|
||||||
return sprintf('<acronym title="%s %s">%s</acronym>',_('Alias for'),$attr,htmlspecialchars($this->getFriendlyName($attr)));
|
return sprintf('<acronym title="%s %s">%s</acronym>',
|
||||||
|
_('Alias for'),$attr,htmlspecialchars($this->getFriendlyName($attr)));
|
||||||
else
|
else
|
||||||
return $attr;
|
return $attr;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/functions.php,v 1.303.2.16 2007/12/30 11:43:35 wurley Exp $
|
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/functions.php,v 1.303.2.21 2008/01/10 12:30:13 wurley Exp $
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A collection of common generic functions used throughout the application.
|
* A collection of common generic functions used throughout the application.
|
||||||
@ -15,6 +15,7 @@ define('TMPLDIR',sprintf('%s/',realpath(LIBDIR.'../templates/')));
|
|||||||
define('DOCDIR',sprintf('%s/',realpath(LIBDIR.'../doc/')));
|
define('DOCDIR',sprintf('%s/',realpath(LIBDIR.'../doc/')));
|
||||||
define('HOOKSDIR',sprintf('%s/',realpath(LIBDIR.'../hooks/')));
|
define('HOOKSDIR',sprintf('%s/',realpath(LIBDIR.'../hooks/')));
|
||||||
define('CSSDIR','css/');
|
define('CSSDIR','css/');
|
||||||
|
define('IMGDIR','images/');
|
||||||
define('JSDIR','js/');
|
define('JSDIR','js/');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -69,6 +70,90 @@ function __autoload($className) {
|
|||||||
* Generic Utility Functions
|
* Generic Utility Functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom error handling function.
|
||||||
|
* When a PHP error occurs, PHP will call this function rather than printing
|
||||||
|
* the typical PHP error string. This provides the application the ability to
|
||||||
|
* format an error message so that it looks better.
|
||||||
|
* Optionally, it can present a link so that a user can search/submit bugs.
|
||||||
|
* This function is not to be called directly. It is exclusively for the use of
|
||||||
|
* PHP internally. If this function is called by PHP from within a context
|
||||||
|
* where error handling has been disabled (ie, from within a function called
|
||||||
|
* with "@" prepended), then this function does nothing.
|
||||||
|
*
|
||||||
|
* @param int $errno The PHP error number that occurred (ie, E_ERROR, E_WARNING, E_PARSE, etc).
|
||||||
|
* @param string $errstr The PHP error string provided (ie, "Warning index "foo" is undefined)
|
||||||
|
* @param string $file The file in which the PHP error ocurred.
|
||||||
|
* @param int $lineno The line number on which the PHP error ocurred
|
||||||
|
*
|
||||||
|
* @see set_error_handler
|
||||||
|
*/
|
||||||
|
function pla_error_handler($errno,$errstr,$file,$lineno) {
|
||||||
|
if (defined('DEBUG_ENABLED') && DEBUG_ENABLED)
|
||||||
|
debug_log('Entered with (%s,%s,%s,%s)',1,__FILE__,__LINE__,__METHOD__,
|
||||||
|
$errno,$errstr,$file,$lineno);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* error_reporting will be 0 if the error context occurred
|
||||||
|
* within a function call with '@' preprended (ie, @ldap_bind() );
|
||||||
|
* So, don't report errors if the caller has specifically
|
||||||
|
* disabled them with '@'
|
||||||
|
*/
|
||||||
|
if (ini_get('error_reporting') == 0 || error_reporting() == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
$file = basename($file);
|
||||||
|
$caller = basename($_SERVER['PHP_SELF']);
|
||||||
|
$errtype = '';
|
||||||
|
|
||||||
|
switch ($errno) {
|
||||||
|
case E_STRICT: $errtype = 'E_STRICT'; break;
|
||||||
|
case E_ERROR: $errtype = 'E_ERROR'; break;
|
||||||
|
case E_WARNING: $errtype = 'E_WARNING'; break;
|
||||||
|
case E_PARSE: $errtype = 'E_PARSE'; break;
|
||||||
|
case E_NOTICE: $errtype = 'E_NOTICE'; break;
|
||||||
|
case E_CORE_ERROR: $errtype = 'E_CORE_ERROR'; break;
|
||||||
|
case E_CORE_WARNING: $errtype = 'E_CORE_WARNING'; break;
|
||||||
|
case E_COMPILE_ERROR: $errtype = 'E_COMPILE_ERROR'; break;
|
||||||
|
case E_COMPILE_WARNING: $errtype = 'E_COMPILE_WARNING'; break;
|
||||||
|
case E_USER_ERROR: $errtype = 'E_USER_ERROR'; break;
|
||||||
|
case E_USER_WARNING: $errtype = 'E_USER_WARNING'; break;
|
||||||
|
case E_USER_NOTICE: $errtype = 'E_USER_NOTICE'; break;
|
||||||
|
case E_ALL: $errtype = 'E_ALL'; break;
|
||||||
|
|
||||||
|
default: $errtype = sprintf('%s: %s',_('Unrecognized error number'),$errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
# Take out extra spaces in error strings.
|
||||||
|
$errstr = preg_replace('/\s+/',' ',$errstr);
|
||||||
|
|
||||||
|
if ($errno == E_NOTICE) {
|
||||||
|
$body = '<table class="notice">';
|
||||||
|
$body .= sprintf('<tr><td>%s:</td><td><b>%s</b> (<b>%s</b>)</td></tr>',_('Error'),$errstr,$errtype);
|
||||||
|
$body .= sprintf('<tr><td>%s:</td><td><b>%s</b> %s <b>%s</b>, %s <b>%s</b></td></tr>',
|
||||||
|
_('File'),$file,_('line'),$lineno,_('caller'),$caller);
|
||||||
|
$body .= sprintf('<tr><td>Versions:</td><td>PLA: <b>%s</b>, PHP: <b>%s</b>, SAPI: <b>%s</b></td></tr>',
|
||||||
|
pla_version(),phpversion(),php_sapi_name());
|
||||||
|
$body .= sprintf('<tr><td>Web server:</td><td><b>%s</b></td></tr>',$_SERVER['SERVER_SOFTWARE']);
|
||||||
|
|
||||||
|
if (function_exists('get_href'))
|
||||||
|
$body .= sprintf('<tr><td colspan="2"><a target="new" href="%s"><center>%s.</center></a></td></tr>',
|
||||||
|
get_href('search_bug',"&summary_keyword=".htmlspecialchars($errstr)),
|
||||||
|
_('Please check and see if this bug has been reported'));
|
||||||
|
$body .= '</table>';
|
||||||
|
|
||||||
|
system_message(array(
|
||||||
|
'title'=>_('You found a non-fatal phpLDAPadmin bug!'),
|
||||||
|
'body'=>$body,
|
||||||
|
'type'=>'error'));
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
# If this is a more serious error, call the error call.
|
||||||
|
error(sprintf('%s: %s',$errtype,$errstr),'error',-1,true,true);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the phpLDAPadmin version currently running. The version
|
* Returns the phpLDAPadmin version currently running. The version
|
||||||
* is read from the file named VERSION.
|
* is read from the file named VERSION.
|
||||||
@ -156,7 +241,7 @@ function check_config($config_file) {
|
|||||||
'type'=>'error'));
|
'type'=>'error'));
|
||||||
|
|
||||||
# Make sure their session save path is writable, if they are using a file system session module, that is.
|
# Make sure their session save path is writable, if they are using a file system session module, that is.
|
||||||
if ( ! strcasecmp('Files',session_module_name() && ! is_writable(realpath(session_save_path()))))
|
if (! strcasecmp('Files',session_module_name() && ! is_writable(realpath(session_save_path()))))
|
||||||
system_message(array(
|
system_message(array(
|
||||||
'title'=>_('Missing required extension'),
|
'title'=>_('Missing required extension'),
|
||||||
'body'=> 'Your PHP session configuration is incorrect. Please check the value of session.save_path in your php.ini to ensure that the directory specified there exists and is writable. The current setting of "'.session_save_path().'" is un-writable by the web server.',
|
'body'=> 'Your PHP session configuration is incorrect. Please check the value of session.save_path in your php.ini to ensure that the directory specified there exists and is writable. The current setting of "'.session_save_path().'" is un-writable by the web server.',
|
||||||
@ -298,7 +383,7 @@ function cmd_control_pane() {
|
|||||||
*/
|
*/
|
||||||
function debug_dump($variable,$die=false,$onlydebugaddr=false) {
|
function debug_dump($variable,$die=false,$onlydebugaddr=false) {
|
||||||
if ($onlydebugaddr &&
|
if ($onlydebugaddr &&
|
||||||
$_SESSION[APPCONFIG]->GetValue('debug','addr') &&
|
isset($_SESSION[APPCONFIG]) && $_SESSION[APPCONFIG]->GetValue('debug','addr') &&
|
||||||
$_SERVER['HTTP_X_FORWARDED_FOR'] != $_SESSION[APPCONFIG]->GetValue('debug','addr') &&
|
$_SERVER['HTTP_X_FORWARDED_FOR'] != $_SESSION[APPCONFIG]->GetValue('debug','addr') &&
|
||||||
$_SERVER['REMOTE_ADDR'] != $_SESSION[APPCONFIG]->GetValue('debug','addr'))
|
$_SERVER['REMOTE_ADDR'] != $_SESSION[APPCONFIG]->GetValue('debug','addr'))
|
||||||
return;
|
return;
|
||||||
@ -424,24 +509,58 @@ function error($msg,$type='note',$fatal=false,$backtrace=false) {
|
|||||||
global $www;
|
global $www;
|
||||||
global $counter;
|
global $counter;
|
||||||
|
|
||||||
# if the error is fatal, we'll need to stop here.
|
|
||||||
if (! isset($www['page']) && $fatal)
|
|
||||||
$www['page'] = new page(null);
|
|
||||||
|
|
||||||
# Just a check to see that we are called right.
|
# Just a check to see that we are called right.
|
||||||
if (! isset($www['page']) && ! $fatal)
|
if (! isset($www['page']) && ! $fatal)
|
||||||
die("Function error called incorrectly [$msg]");
|
die("Function error called incorrectly [$msg]");
|
||||||
|
|
||||||
|
# if the error is fatal, we'll need to stop here.
|
||||||
|
if (! isset($www['page']))
|
||||||
|
$www['page'] = new page(null);
|
||||||
|
|
||||||
$www['page']->setsysmsg(array('title'=>_('Error'),'body'=>$msg,'type'=>$type));
|
$www['page']->setsysmsg(array('title'=>_('Error'),'body'=>$msg,'type'=>$type));
|
||||||
|
|
||||||
# Spin loop detection
|
# Spin loop detection
|
||||||
if ($counter++ > 20) {
|
if ($counter++ > 20) {
|
||||||
debug_dump("Spin loop detection.");
|
debug_dump('Spin loop detection.');
|
||||||
debug_dump(array('msg'=>$msg,'session'=>$_SESSION['sysmsg'],'www'=>$www),1);
|
debug_dump(array('msg'=>$msg,'session'=>$_SESSION['sysmsg'],'www'=>$www),1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($fatal)
|
# Do we have a backtrace to display?
|
||||||
|
if ($backtrace) {
|
||||||
|
$backtraceblock = new block();
|
||||||
|
$backtraceblock->SetTitle('PHP Debug Backtrace');
|
||||||
|
|
||||||
|
$body = '<table class="search_result_table">';
|
||||||
|
$body .= "\n";
|
||||||
|
foreach (debug_backtrace() as $error => $line) {
|
||||||
|
$body .= sprintf('<tr class="hightlight"><td colspan="2"><b><small>%s</small></b></td><td>%s (%s)</td></tr>',
|
||||||
|
_('File'),isset($line['file']) ? $line['file'] : '',isset($line['line']) ? $line['line'] : '');
|
||||||
|
|
||||||
|
$body .= sprintf('<tr><td> </td><td><b><small>%s</small></b></td><td><small>%s',
|
||||||
|
_('Function'),$line['function']);
|
||||||
|
|
||||||
|
if (isset($line['args']))
|
||||||
|
if (file_exists(LIBDIR.'../tools/unserialize.php'))
|
||||||
|
$body .= sprintf(' (<a href="%s?var=%s">%s</a>)',
|
||||||
|
'/tools/unserialize.php',
|
||||||
|
htmlspecialchars(serialize($line['args'])),
|
||||||
|
htmlspecialchars(serialize($line['args'])));
|
||||||
|
else
|
||||||
|
$body .= sprintf(' (%s)',htmlspecialchars(serialize($line['args'])));
|
||||||
|
$body .= '</small></td></tr>';
|
||||||
|
$body .= "\n";
|
||||||
|
}
|
||||||
|
$body .= '</table>';
|
||||||
|
$body .= "\n";
|
||||||
|
$backtraceblock->SetBody($body);
|
||||||
|
|
||||||
|
$www['page']->block_add('body',$backtraceblock);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($fatal) {
|
||||||
$www['page']->display(array('tree'=>false));
|
$www['page']->display(array('tree'=>false));
|
||||||
|
die();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -492,6 +611,9 @@ function system_message($msg,$redirect=null) {
|
|||||||
if (! isset($msg['title']) && ! isset($msg['body']))
|
if (! isset($msg['title']) && ! isset($msg['body']))
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
if (! isset($msg['type']))
|
||||||
|
$msg['type'] = 'info';
|
||||||
|
|
||||||
$_SESSION['sysmsg'][] = $msg;
|
$_SESSION['sysmsg'][] = $msg;
|
||||||
|
|
||||||
if ($redirect) {
|
if ($redirect) {
|
||||||
@ -614,13 +736,13 @@ function get_cached_item($server_id,$item,$subitem='null') {
|
|||||||
# Check config to make sure session-based caching is enabled.
|
# Check config to make sure session-based caching is enabled.
|
||||||
if ($_SESSION[APPCONFIG]->GetValue('cache',$item)) {
|
if ($_SESSION[APPCONFIG]->GetValue('cache',$item)) {
|
||||||
|
|
||||||
global $cache;
|
global $CACHE;
|
||||||
if (isset($cache[$server_id][$item][$subitem])) {
|
if (isset($CACHE[$server_id][$item][$subitem])) {
|
||||||
if (DEBUG_ENABLED)
|
if (DEBUG_ENABLED)
|
||||||
debug_log('Returning MEMORY cached [%s] (%s)',1,__FILE__,__LINE__,__METHOD__,
|
debug_log('Returning MEMORY cached [%s] (%s)',1,__FILE__,__LINE__,__METHOD__,
|
||||||
$item,$subitem);
|
$item,$subitem);
|
||||||
|
|
||||||
$return = $cache[$server_id][$item][$subitem];
|
$return = $CACHE[$server_id][$item][$subitem];
|
||||||
|
|
||||||
} elseif (isset($_SESSION['cache'][$server_id][$item][$subitem])) {
|
} elseif (isset($_SESSION['cache'][$server_id][$item][$subitem])) {
|
||||||
if (DEBUG_ENABLED)
|
if (DEBUG_ENABLED)
|
||||||
@ -628,7 +750,7 @@ function get_cached_item($server_id,$item,$subitem='null') {
|
|||||||
$item,$subitem);
|
$item,$subitem);
|
||||||
|
|
||||||
$return = $_SESSION['cache'][$server_id][$item][$subitem];
|
$return = $_SESSION['cache'][$server_id][$item][$subitem];
|
||||||
$cache[$server_id][$item][$subitem] = $return;
|
$CACHE[$server_id][$item][$subitem] = $return;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -652,9 +774,9 @@ function set_cached_item($server_id,$item,$subitem='null',$data) {
|
|||||||
|
|
||||||
# Check config to make sure session-based caching is enabled.
|
# Check config to make sure session-based caching is enabled.
|
||||||
if ($_SESSION[APPCONFIG]->GetValue('cache',$item)) {
|
if ($_SESSION[APPCONFIG]->GetValue('cache',$item)) {
|
||||||
global $cache;
|
global $CACHE;
|
||||||
|
|
||||||
$cache[$server_id][$item][$subitem] = $data;
|
$CACHE[$server_id][$item][$subitem] = $data;
|
||||||
$_SESSION['cache'][$server_id][$item][$subitem] = $data;
|
$_SESSION['cache'][$server_id][$item][$subitem] = $data;
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
@ -1631,177 +1753,42 @@ function support_oid_to_text($oid_id) {
|
|||||||
* @see ldap_errno
|
* @see ldap_errno
|
||||||
* @see pla_verbose_error
|
* @see pla_verbose_error
|
||||||
*/
|
*/
|
||||||
function pla_error($msg,$ldap_err_msg=null,$ldap_err_no=-1,$fatal=true,$backtrace=null) {
|
function pla_error($msg,$ldap_err_msg=null,$ldap_err_no=-1,$fatal=true) {
|
||||||
if (defined('DEBUG_ENABLED') && (DEBUG_ENABLED))
|
if (defined('DEBUG_ENABLED') && (DEBUG_ENABLED))
|
||||||
debug_log('Entered with (%s,%s,%s,%s,%s)',1,__FILE__,__LINE__,__METHOD__,
|
debug_log('Entered with (%s,%s,%s,%s,%s)',1,__FILE__,__LINE__,__METHOD__,
|
||||||
$msg,$ldap_err_msg,$ldap_err_no,$fatal,$backtrace);
|
$msg,$ldap_err_msg,$ldap_err_no,$fatal,$backtrace);
|
||||||
|
|
||||||
$server = isset($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : 'undefined';
|
$title = '';
|
||||||
|
|
||||||
if ($fatal) {
|
|
||||||
include_once HTDOCDIR.'header.php';
|
|
||||||
echo '<body>';
|
|
||||||
}
|
|
||||||
|
|
||||||
echo '<center>';
|
|
||||||
echo '<table class="error">';
|
|
||||||
|
|
||||||
printf('<tr><th colspan="4">%s</th></tr>',_('Error'));
|
|
||||||
|
|
||||||
echo '<tr>';
|
|
||||||
echo '<td rowspan="99" width="10%"><img src="../htdocs/images/warning.png" alt="Warning" /></td>';
|
|
||||||
printf('<td colspan="3"><b>%s</b></td>',$msg);
|
|
||||||
echo '</tr>';
|
|
||||||
|
|
||||||
echo '<tr><td colspan="3"> </td></tr>';
|
|
||||||
|
|
||||||
if (function_exists('syslog_err'))
|
if (function_exists('syslog_err'))
|
||||||
syslog_err($msg);
|
syslog_err($msg);
|
||||||
|
|
||||||
if ($ldap_err_msg)
|
if ($ldap_err_msg)
|
||||||
printf('<tr><td colspan="3"><b>%s</b>: %s</td></tr>',_('LDAP said'),htmlspecialchars($ldap_err_msg));
|
$title = sprintf('<b>%s</b>: %s',_('LDAP said'),htmlspecialchars($ldap_err_msg));
|
||||||
|
|
||||||
if ($ldap_err_no != -1) {
|
if ($ldap_err_no != -1) {
|
||||||
|
$body = '<table>';
|
||||||
|
|
||||||
$ldap_err_no = ('0x'.str_pad(dechex($ldap_err_no),2,0,STR_PAD_LEFT));
|
$ldap_err_no = ('0x'.str_pad(dechex($ldap_err_no),2,0,STR_PAD_LEFT));
|
||||||
$verbose_error = pla_verbose_error($ldap_err_no);
|
$verbose_error = pla_verbose_error($ldap_err_no);
|
||||||
|
|
||||||
if ($verbose_error) {
|
if ($verbose_error) {
|
||||||
printf('<tr><td colspan="2"><b>%s</b>: %s (%s)</td></tr>',_('Error number'),$ldap_err_no,$verbose_error['title']);
|
$body .= sprintf('<tr><td colspan="2"><b>%s</b>: %s (%s)</td></tr>',_('Error number'),$ldap_err_no,$verbose_error['title']);
|
||||||
printf('<tr><td colspan="2"><b>%s</b>: %s</td></tr>',_('Description'),$verbose_error['desc']);
|
$body .= sprintf('<tr><td colspan="2"><b>%s</b>: %s</td></tr>',_('Description'),$verbose_error['desc']);
|
||||||
} else {
|
} else {
|
||||||
printf('<tr><td colspan="2"><b>%s</b>: %s</td></tr>',_('Error number'),$ldap_err_no);
|
$body .= sprintf('<tr><td colspan="2"><b>%s</b>: %s</td></tr>',_('Error number'),$ldap_err_no);
|
||||||
printf('<tr><td colspan="2"><b>%s</b>: (%s)</td></tr>',_('Description'),_('no description available'));
|
$body .= sprintf('<tr><td colspan="2"><b>%s</b>: (%s)</td></tr>',_('Description'),_('no description available'));
|
||||||
}
|
}
|
||||||
|
$body .= '</table>';
|
||||||
echo '<tr><td colspan="3"> </td></tr>';
|
|
||||||
|
|
||||||
if (function_exists('syslog_err'))
|
if (function_exists('syslog_err'))
|
||||||
syslog_err(sprintf('%s %s',_('Error number'),$ldap_err_no));
|
syslog_err(sprintf('%s %s',_('Error number'),$ldap_err_no));
|
||||||
|
|
||||||
} elseif ((defined('DEBUG_ENABLED') && DEBUG_ENABLED && function_exists('debug_backtrace')) || $backtrace) {
|
} else {
|
||||||
printf('<tr><td colspan="3"><b>%s</b></td></tr>',_('Backtrace'));
|
$body = $msg;
|
||||||
|
|
||||||
if (is_null($backtrace))
|
|
||||||
$backtrace = debug_backtrace();
|
|
||||||
|
|
||||||
printf('<tr><td> </td><td><b><small><span style="white-space: nowrap;">%s</span></small></b></td><td>%s</td></tr>',
|
|
||||||
'PHP Version',phpversion());
|
|
||||||
printf('<tr><td> </td><td><b><small><span style="white-space: nowrap;">%s</span></small></b></td><td>%s</td></tr>',
|
|
||||||
'PLA Version',pla_version());
|
|
||||||
printf('<tr><td> </td><td><b><small><span style="white-space: nowrap;">%s</span></small></b></td><td>%s</td></tr>',
|
|
||||||
'PHP SAPI',php_sapi_name());
|
|
||||||
printf('<tr><td> </td><td><b><small><span style="white-space: nowrap;">%s</span></small></b></td><td>%s</td></tr>',
|
|
||||||
'Web Server',$server);
|
|
||||||
|
|
||||||
echo '<tr><td colspan="3"> </td></tr>';
|
|
||||||
|
|
||||||
foreach ($backtrace as $error => $line) {
|
|
||||||
printf('<tr><td rowspan="2"> </td><td><b><small>%s</small></b></td><td>%s (%s)</td></tr>',
|
|
||||||
_('File'),isset($line['file']) ? $line['file'] : '',isset($line['line']) ? $line['line'] : '');
|
|
||||||
printf('<tr><td><b><small>%s</small></b></td><td><small>%s<br /><pre>',_('Function'),$line['function']);
|
|
||||||
if (isset($line['args'])) print_r($line['args']);
|
|
||||||
echo '</pre></small></td></tr>';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
system_message(array('title'=>$title ? $title : 'Error','body'=>$body,'type'=>'error'),$fatal ? 'index.php' : null);
|
||||||
<br />
|
|
||||||
<!-- Commented out due to too many false bug reports. :)
|
|
||||||
<br />
|
|
||||||
<center>
|
|
||||||
<small>
|
|
||||||
<?php printf(_('Is this a phpLDAPadmin bug? If so, please <a href=\'%s\'>report it</a>.'),get_href('add_bug'));?>
|
|
||||||
</small>
|
|
||||||
</center>
|
|
||||||
-->
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
echo '</table>';
|
|
||||||
echo '</center>';
|
|
||||||
|
|
||||||
if ($fatal) {
|
|
||||||
echo '</body>';
|
|
||||||
echo '</html>';
|
|
||||||
die();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* phpLDAPadmin's custom error handling function. When a PHP error occurs,
|
|
||||||
* PHP will call this function rather than printing the typical PHP error string.
|
|
||||||
* This provides phpLDAPadmin the ability to format an error message more "pretty"
|
|
||||||
* and provide a link for users to submit a bug report. This function is not to
|
|
||||||
* be called by users. It is exclusively for the use of PHP internally. If this
|
|
||||||
* function is called by PHP from within a context where error handling has been
|
|
||||||
* disabled (ie, from within a function called with "@" prepended), then this
|
|
||||||
* function does nothing.
|
|
||||||
*
|
|
||||||
* @param int $errno The PHP error number that occurred (ie, E_ERROR, E_WARNING, E_PARSE, etc).
|
|
||||||
* @param string $errstr The PHP error string provided (ie, "Warning index "foo" is undefined)
|
|
||||||
* @param string $file The file in which the PHP error ocurred.
|
|
||||||
* @param int $lineno The line number on which the PHP error ocurred
|
|
||||||
*
|
|
||||||
* @see set_error_handler
|
|
||||||
*/
|
|
||||||
function pla_error_handler($errno,$errstr,$file,$lineno) {
|
|
||||||
if (defined('DEBUG_ENABLED') && DEBUG_ENABLED)
|
|
||||||
debug_log('Entered with (%s,%s,%s,%s)',1,__FILE__,__LINE__,__METHOD__,
|
|
||||||
$errno,$errstr,$file,$lineno);
|
|
||||||
|
|
||||||
/* error_reporting will be 0 if the error context occurred
|
|
||||||
* within a function call with '@' preprended (ie, @ldap_bind() );
|
|
||||||
* So, don't report errors if the caller has specifically
|
|
||||||
* disabled them with '@'
|
|
||||||
*/
|
|
||||||
if (ini_get('error_reporting') == 0 || error_reporting() == 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
$file = basename($file);
|
|
||||||
$caller = basename($_SERVER['PHP_SELF']);
|
|
||||||
$errtype = '';
|
|
||||||
|
|
||||||
switch ($errno) {
|
|
||||||
case E_STRICT: $errtype = 'E_STRICT'; break;
|
|
||||||
case E_ERROR: $errtype = 'E_ERROR'; break;
|
|
||||||
case E_WARNING: $errtype = 'E_WARNING'; break;
|
|
||||||
case E_PARSE: $errtype = 'E_PARSE'; break;
|
|
||||||
case E_NOTICE: $errtype = 'E_NOTICE'; break;
|
|
||||||
case E_CORE_ERROR: $errtype = 'E_CORE_ERROR'; break;
|
|
||||||
case E_CORE_WARNING: $errtype = 'E_CORE_WARNING'; break;
|
|
||||||
case E_COMPILE_ERROR: $errtype = 'E_COMPILE_ERROR'; break;
|
|
||||||
case E_COMPILE_WARNING: $errtype = 'E_COMPILE_WARNING'; break;
|
|
||||||
case E_USER_ERROR: $errtype = 'E_USER_ERROR'; break;
|
|
||||||
case E_USER_WARNING: $errtype = 'E_USER_WARNING'; break;
|
|
||||||
case E_USER_NOTICE: $errtype = 'E_USER_NOTICE'; break;
|
|
||||||
case E_ALL: $errtype = 'E_ALL'; break;
|
|
||||||
|
|
||||||
default: $errtype = sprintf('%s: %s',_('Unrecognized error number'),$errno);
|
|
||||||
}
|
|
||||||
|
|
||||||
$errstr = preg_replace('/\s+/',' ',$errstr);
|
|
||||||
|
|
||||||
if ($errno == E_NOTICE) {
|
|
||||||
$body = '<table class="notice">';
|
|
||||||
$body .= sprintf('<tr><td>%s:</td><td><b>%s</b> (<b>%s</b>)</td></tr>',_('Error'),$errstr,$errtype);
|
|
||||||
$body .= sprintf('<tr><td>%s:</td><td><b>%s</b> %s <b>%s</b>, %s <b>%s</b></td></tr>',
|
|
||||||
_('File'),$file,_('line'),$lineno,_('caller'),$caller);
|
|
||||||
$body .= sprintf('<tr><td>Versions:</td><td>PLA: <b>%s</b>, PHP: <b>%s</b>, SAPI: <b>%s</b></td></tr>',
|
|
||||||
pla_version(),phpversion(),php_sapi_name());
|
|
||||||
$body .= sprintf('<tr><td>Web server:</td><td><b>%s</b></td></tr>',$_SERVER['SERVER_SOFTWARE']);
|
|
||||||
|
|
||||||
$body .= sprintf('<tr><td colspan="2"><a target="new" href="%s"><center>%s.</center></a></td></tr>',
|
|
||||||
get_href('search_bug',"&summary_keyword=".htmlspecialchars($errstr)),
|
|
||||||
_('Please check and see if this bug has been reported'));
|
|
||||||
$body .= '</table>';
|
|
||||||
|
|
||||||
system_message(array(
|
|
||||||
'title'=>_('You found a non-fatal phpLDAPadmin bug!'),
|
|
||||||
'body'=>$body,
|
|
||||||
'type'=>'error'));
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
pla_error(sprintf('%s: %s',$errtype,$errstr),null,-1,true,debug_backtrace());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2284,7 +2271,7 @@ function pla_explode_dn($dn,$with_attributes=0) {
|
|||||||
if (DEBUG_ENABLED)
|
if (DEBUG_ENABLED)
|
||||||
debug_log('Returning NULL - NO result.',1,__FILE__,__LINE__,__METHOD__);
|
debug_log('Returning NULL - NO result.',1,__FILE__,__LINE__,__METHOD__);
|
||||||
|
|
||||||
return null;
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
# Remove our count value that ldap_explode_dn returns us.
|
# Remove our count value that ldap_explode_dn returns us.
|
||||||
|
11
lib/page.php
11
lib/page.php
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/page.php,v 1.3.2.11 2007/12/30 02:05:46 wurley Exp $
|
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/page.php,v 1.3.2.13 2008/01/10 12:30:14 wurley Exp $
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page Rendering Functions
|
* Page Rendering Functions
|
||||||
@ -28,10 +28,10 @@ class page {
|
|||||||
|
|
||||||
# Default Values for configurable items.
|
# Default Values for configurable items.
|
||||||
$this->_default['stylecss'] = CSSDIR.'style.css';
|
$this->_default['stylecss'] = CSSDIR.'style.css';
|
||||||
$this->_default['logo'] = 'images/logo_small.jpg';
|
$this->_default['logo'] = IMGDIR.'logo_small.jpg';
|
||||||
$this->_default['sysmsg']['error'] = 'images/warning.png';
|
$this->_default['sysmsg']['error'] = IMGDIR.'warning.png';
|
||||||
$this->_default['sysmsg']['warn'] = 'images/notice.png';
|
$this->_default['sysmsg']['warn'] = IMGDIR.'notice.png';
|
||||||
$this->_default['sysmsg']['info'] = 'images/light-big.png';
|
$this->_default['sysmsg']['info'] = IMGDIR.'light-big.png';
|
||||||
|
|
||||||
# Capture any output so far (in case we send some headers below) - there shouldnt be any output anyway.
|
# Capture any output so far (in case we send some headers below) - there shouldnt be any output anyway.
|
||||||
$preOutput = '';
|
$preOutput = '';
|
||||||
@ -162,6 +162,7 @@ class page {
|
|||||||
foreach (cmd_control_pane() as $cmd => $cmddetails) {
|
foreach (cmd_control_pane() as $cmd => $cmddetails) {
|
||||||
$cmds = preg_split('/:/',$cmd);
|
$cmds = preg_split('/:/',$cmd);
|
||||||
|
|
||||||
|
if (defined('APPCONFIG') && isset($_SESSION[APPCONFIG]) && method_exists($_SESSION[APPCONFIG],'isCommandAvailable'))
|
||||||
if ($_SESSION[APPCONFIG]->isCommandAvailable($cmds)) {
|
if ($_SESSION[APPCONFIG]->isCommandAvailable($cmds)) {
|
||||||
if ((isset($cmddetails['enable']) && trim($cmddetails['enable'])) || ! isset($cmddetails['enable'])) {
|
if ((isset($cmddetails['enable']) && trim($cmddetails['enable'])) || ! isset($cmddetails['enable'])) {
|
||||||
printf('<td>%s</td>',$cmddetails['link']);
|
printf('<td>%s</td>',$cmddetails['link']);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
/* $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/server_functions.php,v 1.51.2.5 2007/12/26 09:26:33 wurley Exp $ */
|
/* $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/server_functions.php,v 1.51.2.6 2007/12/31 06:27:34 wurley Exp $ */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classes and functions for LDAP server configuration and capability
|
* Classes and functions for LDAP server configuration and capability
|
||||||
@ -336,16 +336,16 @@ class LDAPserver {
|
|||||||
if ($process_error) {
|
if ($process_error) {
|
||||||
switch (ldap_errno($resource)) {
|
switch (ldap_errno($resource)) {
|
||||||
case 0x31:
|
case 0x31:
|
||||||
pla_error(_('Bad username or password. Please try again.'));
|
error(_('Bad username or password. Please try again.'),'error',true);
|
||||||
break;
|
break;
|
||||||
case 0x32:
|
case 0x32:
|
||||||
pla_error(_('Insufficient access rights.'));
|
error(_('Insufficient access rights.'),'error',true);
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
pla_error(sprintf(_('Could not connect to "%s" on port "%s"'),$host,$port));
|
error(sprintf(_('Could not connect to "%s" on port "%s"'),$host,$port),'error',true);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
pla_error(_('Could not bind to the LDAP server.'),ldap_err2str($resource),$resource);
|
error(_('Could not bind to the LDAP server (%s).',ldap_err2str($resource),$resource),'error',true);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
/* $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/template_functions.php,v 1.43.2.2 2007/12/26 09:26:33 wurley Exp $ */
|
/* $Header: /cvsroot/phpldapadmin/phpldapadmin/lib/template_functions.php,v 1.43.2.3 2008/01/04 14:29:44 wurley Exp $ */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classes and functions for the template engine.ation and capability
|
* Classes and functions for the template engine.ation and capability
|
||||||
@ -141,6 +141,10 @@ class Templates {
|
|||||||
if (! preg_match('/.xml$/',$file))
|
if (! preg_match('/.xml$/',$file))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if ($_SESSION['plaConfig']->GetValue('appearance','custom_templates_only')
|
||||||
|
&& ! preg_match('/^custom_/',$file))
|
||||||
|
continue;
|
||||||
|
|
||||||
$objXML = new xml2array();
|
$objXML = new xml2array();
|
||||||
$xmldata = $objXML->parse(TMPLDIR.'modification/'.$file);
|
$xmldata = $objXML->parse(TMPLDIR.'modification/'.$file);
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<title>Address Book Entry</title>
|
<title>Address Book Entry</title>
|
||||||
<regexp>^uid=.*,</regexp>
|
<regexp>^uid=.*,</regexp>
|
||||||
<icon>images/user.png</icon>
|
<icon>images/user.png</icon>
|
||||||
<visible>1</visible>
|
<visible>0</visible>
|
||||||
<rdn>uid</rdn>
|
<rdn>uid</rdn>
|
||||||
|
|
||||||
<objectClasses>
|
<objectClasses>
|
||||||
|
Loading…
Reference in New Issue
Block a user