From nobody Thu Dec 01 09:54:49 2022 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NNBJ921Lmz4jwXx; Thu, 1 Dec 2022 09:54:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NNBJ91nqFz4PRF; Thu, 1 Dec 2022 09:54:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1669888489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U8ux9lt5F/O6Dnr4aF0jFU2twxnOhkbiaiw6/vz+BmQ=; b=xVO5lQNUdIviqwQNDKVRleWo2hb9CHTNE1ihKoGA1XXIh9a/WM8NfDyqI04sv+giN5SeCu 5IuMvpZPbNHAxhTiDB0188N9UOwTYr9O0rUS6Q4ZNJcMezoAp7UYMeo4lr7f1dW2/hXWgr LjTKFlgeYFPUnc9O2ju2Axb9vl1o4mhvS4dPya2vFofe3opSQnEoWJIX+5Smj8q2clGip5 UDWrPkIWj64LQGSd4kqOmQqNMaMmrsoZqG+CdpF6tT5yv/GjMUX7Jn7DM2+i2TsA3m0fn2 L2qGIXePxfgm+/fM8fo9SIBsjoL0Z/zgodnb8/k9j1ornUivbx2TYsoY362flA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1669888489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U8ux9lt5F/O6Dnr4aF0jFU2twxnOhkbiaiw6/vz+BmQ=; b=nC39QN9/HuK22g8IfnelmluOTo+rF0QJ/L5oHGWST0NV7rXXgI67JSM0xWeepQv4IoLVBF F+XVVuG/4k/gR/PwD2w+QdqZClhIm7u+nK+fVTWaG9OhO70wAV1/lQg0OdCTS4P38k8r/x mkgVXDxaKEFf0I3s1vJ5fiReWN3v6+JwjxgoYI1GVualx59+A560ZI8LqrZ1Qov3xaJbJb 6Tbmnnv5oekXTKIWPULWgpHHfpRR9lWUe+gbR4GZcNaXx3Vvl+g9R48YNa+09PtEmELYFm DWCszvLGNm42/WL7XSQl8jRTbMuDJBj6pjPxF35kYtKY5Lve5nVgdQS38ayYiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1669888489; a=rsa-sha256; cv=none; b=J9UyKf2pyWLJLKkOooBf5Jd2uQ0jkk5N7jBg61tbB2SV/Y7f2APlPdg6f4MfZ3JDiLGMW5 yNljeniVfWoYHS5wtJxzRfEcGmJq84v06oIYMNxJKfCEXZ57NjGAWn7fgrgFu+knlMlwta 5Z7ofsDeY27+x/WsNeXOmrhz0bMH9qL7KAXjSs+2VZelUfhS5CmDEgtXkPjiwtMT3o5bQL YZpZ62Wxk4ljUdI0PJwtYsi1S7S6PJvgW6O9huinj9rFj5Dr/Zmws0JVJ6XHH+SEQLc8lZ rrNR7xXY/4GZVg2GVnokS+PLCobn9gAbR9TNXVlh/GlOSIOG3R9FBCdiNBrLQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4NNBJ90rCvzXSy; Thu, 1 Dec 2022 09:54:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 2B19snsb093919; Thu, 1 Dec 2022 09:54:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2B19snG3093918; Thu, 1 Dec 2022 09:54:49 GMT (envelope-from git) Date: Thu, 1 Dec 2022 09:54:49 GMT Message-Id: <202212010954.2B19snG3093918@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Ronald Klop Subject: git: fee2b338d2af - main - net/phpldapadmin: fix support for php81+ List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ronald X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fee2b338d2af883ca4dd75a7d285f65b284fb73b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ronald: URL: https://cgit.FreeBSD.org/ports/commit/?id=fee2b338d2af883ca4dd75a7d285f65b284fb73b commit fee2b338d2af883ca4dd75a7d285f65b284fb73b Author: Krzysztof AuthorDate: 2022-11-27 20:17:33 +0000 Commit: Ronald Klop CommitDate: 2022-12-01 09:53:34 +0000 net/phpldapadmin: fix support for php81+ PR: 266678 Reported by: Gerard Seibert Approved by: rene (mentor) Differential Revision: https://reviews.freebsd.org/D37513 --- net/phpldapadmin/Makefile | 2 +- .../files/patch-htdocs_add__oclass__form.php | 11 + .../files/patch-htdocs_add__value__form.php | 32 ++ net/phpldapadmin/files/patch-htdocs_cmd.php | 11 + net/phpldapadmin/files/patch-htdocs_copy.php | 11 + .../files/patch-htdocs_download__binary__attr.php | 11 + .../files/patch-htdocs_export__form.php | 11 + net/phpldapadmin/files/patch-htdocs_login.php | 11 + .../files/patch-htdocs_login__form.php | 16 + net/phpldapadmin/files/patch-htdocs_monitor.php | 29 ++ .../files/patch-htdocs_purge__cache.php | 11 + net/phpldapadmin/files/patch-htdocs_schema.php | 165 ++++++++ .../files/patch-htdocs_server__info.php | 20 + .../files/patch-htdocs_view__jpeg__photo.php | 11 + net/phpldapadmin/files/patch-lib_AJAXTree.php | 47 +++ net/phpldapadmin/files/patch-lib_Attribute.php | 66 ++- .../files/patch-lib_AttributeFactory.php | 51 ++- net/phpldapadmin/files/patch-lib_HTMLTree.php | 32 ++ net/phpldapadmin/files/patch-lib_PageRender.php | 135 +++++- net/phpldapadmin/files/patch-lib_Query.php | 68 +++ net/phpldapadmin/files/patch-lib_QueryRender.php | 38 ++ net/phpldapadmin/files/patch-lib_Template.php | 248 +++++++++++ .../files/patch-lib_TemplateRender.php | 99 +++++ net/phpldapadmin/files/patch-lib_Tree.php | 23 +- net/phpldapadmin/files/patch-lib_TreeItem.php | 11 + net/phpldapadmin/files/patch-lib_common.php | 23 +- net/phpldapadmin/files/patch-lib_ds.php | 29 ++ net/phpldapadmin/files/patch-lib_ds__ldap.php | 465 +++++++++++++++++++- net/phpldapadmin/files/patch-lib_ds__ldap__pla.php | 65 +-- .../files/patch-lib_export__functions.php | 46 ++ net/phpldapadmin/files/patch-lib_functions.php | 469 ++++++++++++++++++++- .../files/patch-lib_import__functions.php | 104 +++++ net/phpldapadmin/files/patch-lib_page.php | 29 ++ .../files/patch-lib_schema__functions.php | 365 ++++++++++++++++ net/phpldapadmin/files/patch-lib_xml2array.php | 20 + net/phpldapadmin/files/patch-lib_xmlTemplates.php | 48 ++- 36 files changed, 2698 insertions(+), 135 deletions(-) diff --git a/net/phpldapadmin/Makefile b/net/phpldapadmin/Makefile index ebee716813cf..62831744b9d2 100644 --- a/net/phpldapadmin/Makefile +++ b/net/phpldapadmin/Makefile @@ -1,6 +1,6 @@ PORTNAME= phpldapadmin PORTVERSION= 1.2.6.3 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net www PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX} diff --git a/net/phpldapadmin/files/patch-htdocs_add__oclass__form.php b/net/phpldapadmin/files/patch-htdocs_add__oclass__form.php new file mode 100644 index 000000000000..18a1b8d5eb02 --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_add__oclass__form.php @@ -0,0 +1,11 @@ +--- htdocs/add_oclass_form.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/add_oclass_form.php +@@ -36,7 +36,7 @@ $ldap['attrs']['must'] = array(); + + foreach ($request['template']->getAttribute('objectclass')->getValues() as $oclass_name) { + # Exclude "top" if its there. +- if (! strcasecmp('top',$oclass_name)) ++ if (! strcasecmp('top',(string) $oclass_name)) + continue; + + if ($soc = $app['server']->getSchemaObjectClass($oclass_name)) diff --git a/net/phpldapadmin/files/patch-htdocs_add__value__form.php b/net/phpldapadmin/files/patch-htdocs_add__value__form.php new file mode 100644 index 000000000000..f7546f5c7c55 --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_add__value__form.php @@ -0,0 +1,32 @@ +--- htdocs/add_value_form.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/add_value_form.php +@@ -32,12 +32,12 @@ if ($request['attribute']->isReadOnly()) + */ + + # Render the form +-if (! strcasecmp($request['attr'],'objectclass') || get_request('meth','REQUEST') != 'ajax') { ++if (! strcasecmp((string) $request['attr'],'objectclass') || get_request('meth','REQUEST') != 'ajax') { + # Render the form. + $request['page']->drawTitle(sprintf('%s %s %s %s',_('Add new'),htmlspecialchars($request['attr']),_('value to'),htmlspecialchars(get_rdn($request['dn'])))); + $request['page']->drawSubTitle(); + +- if (! strcasecmp($request['attr'],'objectclass')) { ++ if (! strcasecmp((string) $request['attr'],'objectclass')) { + echo '
'; + echo '
'; + echo ''; +@@ -91,12 +91,12 @@ if (! strcasecmp($request['attr'],'objectclass') || ge + printf('%s',_('Enter the value(s) you would like to add:')); + echo ''; + +- if (! strcasecmp($request['attr'],'objectclass')) { ++ if (! strcasecmp((string) $request['attr'],'objectclass')) { + # If our attr is an objectClass, fetch all available objectClasses and remove those from the list that are already defined in the entry + $socs = $app['server']->SchemaObjectClasses(); + + foreach ($request['attribute']->getValues() as $oclass) +- unset($socs[strtolower($oclass)]); ++ unset($socs[strtolower((string) $oclass)]); + + # Draw objectClass selection + echo ''; diff --git a/net/phpldapadmin/files/patch-htdocs_cmd.php b/net/phpldapadmin/files/patch-htdocs_cmd.php new file mode 100644 index 000000000000..1f4d7b8bf8f0 --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_cmd.php @@ -0,0 +1,11 @@ +--- htdocs/cmd.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/cmd.php +@@ -41,7 +41,7 @@ if (DEBUG_ENABLED) + $www['page'] = new page($app['server']->getIndex()); + + # See if we can render the command +-if (trim($www['cmd'])) { ++if (trim((string) $www['cmd'])) { + # If this is a READ-WRITE operation, the LDAP server must not be in READ-ONLY mode. + if ($app['server']->isReadOnly() && ! in_array(get_request('cmd','REQUEST'),$app['readwrite_cmds'])) + error(_('You cannot perform updates while server is in read-only mode'),'error','index.php'); diff --git a/net/phpldapadmin/files/patch-htdocs_copy.php b/net/phpldapadmin/files/patch-htdocs_copy.php new file mode 100644 index 000000000000..3f0a46fcfea2 --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_copy.php @@ -0,0 +1,11 @@ +--- htdocs/copy.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/copy.php +@@ -21,7 +21,7 @@ $ldap['SRC'] = $_SESSION[APPCONFIG]->getServer(get_req + $ldap['DST'] = $_SESSION[APPCONFIG]->getServer(get_request('server_id_dst')); + + # Error checking +-if (! trim($request['dnDST'])) ++if (! trim((string) $request['dnDST'])) + error(_('You left the destination DN blank.'),'error','index.php'); + + if ($ldap['DST']->isReadOnly()) diff --git a/net/phpldapadmin/files/patch-htdocs_download__binary__attr.php b/net/phpldapadmin/files/patch-htdocs_download__binary__attr.php new file mode 100644 index 000000000000..e855abaaaf7f --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_download__binary__attr.php @@ -0,0 +1,11 @@ +--- htdocs/download_binary_attr.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/download_binary_attr.php +@@ -15,7 +15,7 @@ require './common.php'; + + $request = array(); + $request['dn'] = get_request('dn','GET'); +-$request['attr'] = strtolower(get_request('attr','GET',true)); ++$request['attr'] = strtolower((string) get_request('attr','GET',true)); + $request['index'] = get_request('index','GET',false,0); + $request['type'] = get_request('type','GET',false,'octet-stream'); + $request['filename'] = get_request('filename','GET',false,sprintf('%s:%s.bin',get_rdn($request['dn'],true),$request['attr'])); diff --git a/net/phpldapadmin/files/patch-htdocs_export__form.php b/net/phpldapadmin/files/patch-htdocs_export__form.php new file mode 100644 index 000000000000..57387665fe49 --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_export__form.php @@ -0,0 +1,11 @@ +--- htdocs/export_form.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/export_form.php +@@ -166,7 +166,7 @@ function get_line_end_format() { + */ + function get_user_agent_string() { + if (isset($_SERVER['HTTP_USER_AGENT'])) +- return strtolower($_SERVER['HTTP_USER_AGENT']); ++ return strtolower((string) $_SERVER['HTTP_USER_AGENT']); + else + return ''; + } diff --git a/net/phpldapadmin/files/patch-htdocs_login.php b/net/phpldapadmin/files/patch-htdocs_login.php new file mode 100644 index 000000000000..3ef6332048ac --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_login.php @@ -0,0 +1,11 @@ +--- htdocs/login.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/login.php +@@ -22,7 +22,7 @@ if ($pass) { + $user['password'] = get_request('login_pass'); + $user['password'] = html_entity_decode($user['password'], ENT_QUOTES); + +- if ($user['login'] && !strlen($user['password'])) { ++ if ($user['login'] && empty($user['password'])) { + system_message(array( + 'title' => _('Authenticate to server'), + 'body' => _('You left the password blank.'), diff --git a/net/phpldapadmin/files/patch-htdocs_login__form.php b/net/phpldapadmin/files/patch-htdocs_login__form.php new file mode 100644 index 000000000000..167c8f898f0a --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_login__form.php @@ -0,0 +1,16 @@ +--- htdocs/login_form.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/login_form.php +@@ -19,11 +19,11 @@ echo '
'; + $isHTTPS = false; + + # Check if the current connection is encrypted +-if (isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') { ++if (isset($_SERVER['HTTPS']) && strtolower((string) $_SERVER['HTTPS']) == 'on') { + $isHTTPS = true; + } + # Check if a proxy server downstream does encryption for us +-elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']) == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && strtolower($_SERVER['HTTP_X_FORWARDED_SSL']) ++elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && strtolower((string) $_SERVER['HTTP_X_FORWARDED_PROTO']) == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && strtolower($_SERVER['HTTP_X_FORWARDED_SSL']) + == 'on') { + $isHTTPS = true; + } diff --git a/net/phpldapadmin/files/patch-htdocs_monitor.php b/net/phpldapadmin/files/patch-htdocs_monitor.php new file mode 100644 index 000000000000..50f11af4ad41 --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_monitor.php @@ -0,0 +1,29 @@ +--- htdocs/monitor.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/monitor.php +@@ -48,7 +48,7 @@ foreach (array( + if (isset($results[$dn]['description'])) { + $description = implode(' ',$results[$dn]['description']); + +- $description = preg_replace('/"/','\'',$description); ++ $description = preg_replace('/"/','\'',is_null($description)? "":$description); + } else { + $description = ''; + } +@@ -103,7 +103,7 @@ foreach (array( + else + $sc = $results[$key][$attr]; + +- if (strcasecmp('supportedcontrol',$attr) == 0) ++ if (strcasecmp('supportedcontrol',(string) $attr) == 0) + foreach ($sc as $control) { + $oidtotext = support_oid_to_text($control); + +@@ -199,7 +199,7 @@ foreach (array( + ) as $dn ) { + + $description = implode(' ',$results[$dn]['description']); +- $description = preg_replace('/"/','\'',$description); ++ $description = preg_replace('/"/','\'',is_null($description)? "":$description); + + printf('',$description,$dn); + echo '',$counter%2 ? 'odd' : 'even',$rule->getName(), +- strcasecmp($entry['value'],$rule->getName()) ? 'none' : ''); ++ strcasecmp((string) $entry['value'],(string) $rule->getName()) ? 'none' : ''); + else + printf('',$counter%2 ? 'odd' : 'even',$rule->getName()); + printf('',$oid); +@@ -467,12 +467,12 @@ switch($entry['view']) { + echo '
'; + + foreach ($socs as $name => $oclass) { +- if (isAjaxEnabled() || (is_null($entry['value']) || ! trim($entry['value']) || $entry['value']==$oclass->getName())) { +- if ((! is_null($entry['value']) && $entry['value']==$oclass->getName()) || ! trim($entry['value'])) ++ if (isAjaxEnabled() || (is_null($entry['value']) || ! trim((string) $entry['value']) || $entry['value']==$oclass->getName())) { ++ if ((! is_null($entry['value']) && $entry['value']==$oclass->getName()) || ! trim((string) $entry['value'])) + $entry['viewed'] = true; + + if (isAjaxEnabled() && $entry['value']) +- printf('
',$oclass->getName(),strcasecmp($entry['value'],$oclass->getName()) ? 'none' : ''); ++ printf('
',(string) $oclass->getName(),strcasecmp((string) $entry['value'],(string) $oclass->getName()) ? 'none' : ''); + else + printf('
',$oclass->getName()); + +@@ -494,10 +494,10 @@ switch($entry['view']) { + + else + foreach ($oclass->getSupClasses() as $i => $object_class) { +- $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['objectclasses'],strtolower($object_class))); ++ $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['objectclasses'],strtolower((string) $object_class))); + if (isAjaxEnabled()) + printf('%s', +- $href,strtolower($object_class),$object_class); ++ $href,strtolower((string) $object_class),$object_class); + else + printf('%s', + $href,$object_class,_('Jump to this objectClass definition'),$object_class); +@@ -508,7 +508,7 @@ switch($entry['view']) { + echo '
'; + + printf('',$oidtext['title']); + + else +- if (strlen($value) > 0) ++ if (strlen((string) $value) > 0) + printf('',$value); + + } else { +@@ -69,7 +69,7 @@ foreach ($attrs as $key => $values) { + + print ''; + +- if (isset($oidtext['desc']) && trim($oidtext['desc'])) ++ if (isset($oidtext['desc']) && trim((string) $oidtext['desc'])) + printf('',$oidtext['desc']); + else + echo ''; diff --git a/net/phpldapadmin/files/patch-htdocs_view__jpeg__photo.php b/net/phpldapadmin/files/patch-htdocs_view__jpeg__photo.php new file mode 100644 index 000000000000..ee1c236eac4e --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_view__jpeg__photo.php @@ -0,0 +1,11 @@ +--- htdocs/view_jpeg_photo.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/view_jpeg_photo.php +@@ -15,7 +15,7 @@ require './common.php'; + + $request = array(); + $request['dn'] = get_request('dn','GET'); +-$request['attr'] = strtolower(get_request('attr','GET',false,'jpegphoto')); ++$request['attr'] = strtolower((string) get_request('attr','GET',false,'jpegphoto')); + $request['index'] = get_request('index','GET',false,0); + $request['type'] = get_request('type','GET',false,'image/jpeg'); + $request['filename'] = get_request('filename','GET',false,sprintf('%s.jpg',get_rdn($request['dn'],true))); diff --git a/net/phpldapadmin/files/patch-lib_AJAXTree.php b/net/phpldapadmin/files/patch-lib_AJAXTree.php new file mode 100644 index 000000000000..6cbe8ba84deb --- /dev/null +++ b/net/phpldapadmin/files/patch-lib_AJAXTree.php @@ -0,0 +1,47 @@ +--- lib/AJAXTree.php.orig 2021-12-12 02:35:51 UTC ++++ lib/AJAXTree.php +@@ -31,7 +31,7 @@ class AJAXTree extends HTMLTree { + # Level pre-treatment + $code = ''; + if (is_string($level)) { +- for ($i=0; $i 0) + $code = '0' * $level; + +- $level = strlen($code); ++ $level = strlen((string) $code); + + # Get entry to display as node + $entry = $this->getEntry($item); +@@ -189,7 +189,7 @@ class AJAXTree extends HTMLTree { + + $indent = ''; + +- for ($i=0; $i',IMGDIR); +@@ -223,7 +223,7 @@ class AJAXTree extends HTMLTree { + if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) + debug_log('Entered (%%)',33,0,__FILE__,__LINE__,__METHOD__,$fargs); + +- if (strlen($level) == 0) ++ if (strlen((string) $level) == 0) + return ''; + + $server = $this->getServer(); +@@ -243,7 +243,7 @@ class AJAXTree extends HTMLTree { + if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) + debug_log('Entered (%%)',33,0,__FILE__,__LINE__,__METHOD__,$fargs); + +- if (strlen($level) == 0) ++ if (strlen((string) $level) == 0) + return ''; + + $server = $this->getServer(); diff --git a/net/phpldapadmin/files/patch-lib_Attribute.php b/net/phpldapadmin/files/patch-lib_Attribute.php index 52a760568e4b..4d3d129dd577 100644 --- a/net/phpldapadmin/files/patch-lib_Attribute.php +++ b/net/phpldapadmin/files/patch-lib_Attribute.php @@ -1,11 +1,59 @@ --- lib/Attribute.php.orig 2021-12-12 02:35:51 UTC +++ lib/Attribute.php -@@ -12,7 +12,7 @@ - * @package phpLDAPadmin - * @subpackage Templates - */ --class Attribute { -+class PLAAttribute { - # Attribute Name - public $name; - # Source of this attribute definition +@@ -133,9 +133,9 @@ class PLAAttribute { + debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs,$this->name); + + if ($real) +- return $lower ? strtolower($this->name) : $this->name; ++ return $lower ? strtolower((string) $this->name) : $this->name; + else +- return $lower ? strtolower($this->real_attr_name()) : $this->real_attr_name(); ++ return $lower ? strtolower((string) $this->real_attr_name()) : $this->real_attr_name(); + } + + public function getValues() { +@@ -389,7 +389,7 @@ class PLAAttribute { + if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) + debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs); + +- $this->type = strtolower($type); ++ $this->type = strtolower((string) $type); + } + + public function getType() { +@@ -403,7 +403,7 @@ class PLAAttribute { + if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) + debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs); + +- $this->ldaptype = strtolower($type); ++ $this->ldaptype = strtolower((string) $type); + } + + public function getLDAPtype() { +@@ -671,7 +671,7 @@ class PLAAttribute { + + # Store our Aliases + foreach ($sattr->getAliases() as $alias) +- array_push($this->aliases,strtolower($alias)); ++ array_push($this->aliases,strtolower((string) $alias)); + + if ($sattr->getIsSingleValue()) + $this->setMaxValueCount(1); +@@ -840,7 +840,7 @@ class PLAAttribute { + 'type'=>'warn')); + } + +- elseif (is_string($values) && (strlen($values) > 0)) ++ elseif (is_string($values) && (strlen((string) $values) > 0)) + $this->values = array($values); + } + +@@ -877,7 +877,7 @@ class PLAAttribute { + if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) + debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->name); + +- return preg_replace('/;.*$/U','',$this->name); ++ return preg_replace('/;.*$/U','',is_null($this->name)? "":$this->name); + } + + /** diff --git a/net/phpldapadmin/files/patch-lib_AttributeFactory.php b/net/phpldapadmin/files/patch-lib_AttributeFactory.php index 7bbd14ea5b12..12488014c85c 100644 --- a/net/phpldapadmin/files/patch-lib_AttributeFactory.php +++ b/net/phpldapadmin/files/patch-lib_AttributeFactory.php @@ -1,11 +1,50 @@ --- lib/AttributeFactory.php.orig 2021-12-12 02:35:51 UTC +++ lib/AttributeFactory.php -@@ -133,7 +133,7 @@ class AttributeFactory { +@@ -83,7 +83,7 @@ class AttributeFactory { + if (isset($values['type'])) + switch ($values['type']) { + case 'password': +- if (! strcasecmp($name,'sambaLMPassword') || ! strcasecmp($name,'sambaNTPassword')) ++ if (! strcasecmp((string) $name,'sambaLMPassword') || ! strcasecmp((string) $name,'sambaNTPassword')) + return $this->newSambaPasswordAttribute($name,$values,$server_id,$source); + else + return $this->newPasswordAttribute($name,$values,$server_id,$source); +@@ -96,7 +96,7 @@ class AttributeFactory { + return $this->newMultiLineAttribute($name,$values,$server_id,$source); + } + +- if (! strcasecmp($name,'objectClass')) { ++ if (! strcasecmp((string) $name,'objectClass')) { + return $this->newObjectClassAttribute($name,$values,$server_id,$source); + + } elseif ($app['server']->isJpegPhoto($name) || in_array($name,$app['server']->getValue('server','jpeg_attributes'))) { +@@ -105,16 +105,16 @@ class AttributeFactory { + } elseif ($app['server']->isAttrBinary($name)) { + return $this->newBinaryAttribute($name,$values,$server_id,$source); + +- } elseif (! strcasecmp($name,'userPassword')) { ++ } elseif (! strcasecmp((string) $name,'userPassword')) { + return $this->newPasswordAttribute($name,$values,$server_id,$source); + +- } elseif (! strcasecmp($name,'sambaLMPassword') || ! strcasecmp($name,'sambaNTPassword')) { ++ } elseif (! strcasecmp((string) $name,'sambaLMPassword') || ! strcasecmp((string) $name,'sambaNTPassword')) { + return $this->newSambaPasswordAttribute($name,$values,$server_id,$source); + +- } elseif (in_array(strtolower($name),array_keys(array_change_key_case($_SESSION[APPCONFIG]->getValue('appearance','date_attrs'))))) { ++ } elseif (in_array(strtolower((string) $name),array_keys(array_change_key_case($_SESSION[APPCONFIG]->getValue('appearance','date_attrs'))))) { + return $this->newDateAttribute($name,$values,$server_id,$source); + +- } elseif (in_array(strtolower($name),array('shadowlastchange','shadowmin','shadowmax','shadowexpire','shadowwarning','shadowinactive'))) { ++ } elseif (in_array(strtolower((string) $name),array('shadowlastchange','shadowmin','shadowmax','shadowexpire','shadowwarning','shadowinactive'))) { + return $this->newShadowAttribute($name,$values,$server_id,$source); + + } elseif ($app['server']->isAttrBoolean($name)) { +@@ -129,7 +129,7 @@ class AttributeFactory { + } elseif ($app['server']->isMultiLineAttr($name)) { + return $this->newMultiLineAttribute($name,$values,$server_id,$source); + +- } elseif (! strcasecmp($name,'gidNumber')) { ++ } elseif (! strcasecmp((string) $name,'gidNumber')) { return $this->newGidAttribute($name,$values,$server_id,$source); } else { -- return new Attribute($name,$values,$server_id,$source); -+ return new PLAAttribute($name,$values,$server_id,$source); - } - } - diff --git a/net/phpldapadmin/files/patch-lib_HTMLTree.php b/net/phpldapadmin/files/patch-lib_HTMLTree.php new file mode 100644 index 000000000000..bcd63afee7ee --- /dev/null +++ b/net/phpldapadmin/files/patch-lib_HTMLTree.php @@ -0,0 +1,32 @@ +--- lib/HTMLTree.php.orig 2021-12-12 02:35:51 UTC ++++ lib/HTMLTree.php +@@ -168,9 +168,10 @@ class HTMLTree extends Tree { + printf(''; +@@ -361,7 +362,7 @@ class HTMLTree extends Tree { + $logged_in_dn_array = array(); + + } else { +- $logged_in_branch = preg_replace('/,'.$server->getContainerTop($logged_in_dn).'$/','',$logged_in_dn); ++ $logged_in_branch = preg_replace('/,'.$server->getContainerTop($logged_in_dn).'$/','',is_null($logged_in_dn)? "":$logged_in_dn); + $logged_in_dn_array = pla_explode_dn($logged_in_branch); + } + +@@ -375,7 +376,7 @@ class HTMLTree extends Tree { + if (! is_array($logged_in_dn_array)) + $logged_in_dn_array = array($logged_in_dn); + +- if (trim($logged_in_dn)) { ++ if (trim((string) $logged_in_dn)) { + if ($server->dnExists($logged_in_dn)) + foreach ($logged_in_dn_array as $rdn_piece) { + $href = sprintf('cmd.php?cmd=template_engine&server_id=%s&dn=%s',$server->getIndex(),rawurlencode($rdn)); diff --git a/net/phpldapadmin/files/patch-lib_PageRender.php b/net/phpldapadmin/files/patch-lib_PageRender.php index 95429c3281ec..f97df7e2ebaf 100644 --- a/net/phpldapadmin/files/patch-lib_PageRender.php +++ b/net/phpldapadmin/files/patch-lib_PageRender.php @@ -1,31 +1,120 @@ --- lib/PageRender.php.orig 2021-12-12 02:35:51 UTC +++ lib/PageRender.php -@@ -827,7 +827,7 @@ class PageRender extends Visitor { - if (! $attribute->getOldValue($i)) - return; +@@ -182,7 +182,7 @@ class PageRender extends Visitor { + $attribute2 = $this->template->getAttribute($joinattr); -- draw_jpeg_photo($this->getServer(),$this->template->getDN(),$attribute->getName(),$i,false,false); -+ draw_jpeg_photo($this->getServer(),$this->template->getDN(),$i,$attribute->getName(),false,false); - } + if (! $attribute2) { +- if (($pv = get_request(strtolower($joinattr),'REQUEST')) && isset($pv[$attribute->getName()][$i])) { ++ if (($pv = get_request(strtolower((string) $joinattr),'REQUEST')) && isset($pv[$attribute->getName()][$i])) { + array_push($values,$pv[$attribute->getName()][$i]); - /** -@@ -844,16 +844,16 @@ class PageRender extends Visitor { - # If the attribute is modified, the new value needs to be stored in a session variable for the draw_jpeg_photo callback. - if ($attribute->hasBeenModified()) { - $_SESSION['tmp'][$attribute->getName()][$i] = $attribute->getValue($i); -- draw_jpeg_photo(null,$this->template->getDN(),$attribute->getName(),$i,false,false); -+ draw_jpeg_photo(null,$this->template->getDN(),$i,$attribute->getName(),false,false); - } else -- draw_jpeg_photo($this->getServer(),$this->template->getDN(),$attribute->getName(),$i,false,false); -+ draw_jpeg_photo($this->getServer(),$this->template->getDN(),$i,$attribute->getName(),false,false); - } + if (! $pv[$attribute->getName()][$i]) +@@ -242,7 +242,7 @@ class PageRender extends Visitor { + return; + + # Get the attribute. +- if (preg_match_all('/%(\w+)(\|.+)?(\/[lU])?%/U',strtolower($args[1]),$matchall)) { ++ if (preg_match_all('/%(\w+)(\|.+)?(\/[lU])?%/U',strtolower((string) $args[1]),$matchall)) { + if (count($matchall[1]) != 1) + system_message(array( + 'title'=>_('Invalid value count for PasswordEncrypt'), +@@ -255,11 +255,11 @@ class PageRender extends Visitor { + } else + $passwordvalue = $args[1]; + +- if (! trim($passwordvalue) || in_array($passwordvalue,$attribute->getOldValues())) ++ if (! trim((string) $passwordvalue) || in_array($passwordvalue,$attribute->getOldValues())) + return; + + # Get the encoding +- if ($passwordattr && preg_match_all('/%(\w+)(\|.+)?(\/[lU])?%/U',strtolower($args[0]),$matchall)) { ++ if ($passwordattr && preg_match_all('/%(\w+)(\|.+)?(\/[lU])?%/U',strtolower((string) $args[0]),$matchall)) { + if (count($matchall[1]) != 1) + system_message(array( + 'title'=>_('Invalid value count for PasswordEncrypt'), +@@ -271,7 +271,7 @@ class PageRender extends Visitor { + } else + $enc = $args[0]; + +- $enc = strtolower($enc); ++ $enc = strtolower((string) $enc); + + switch ($enc) { + case 'lm': +@@ -403,7 +403,7 @@ class PageRender extends Visitor { + $alias_note = $this->get($note,$attribute); + + if ($alias_note) { +- if (trim($attr_note)) ++ if (trim((string) $attr_note)) + $attr_note .= ', '; + + $attr_note .= $alias_note; +@@ -423,7 +423,7 @@ class PageRender extends Visitor { + # Is there a user-friendly translation available for this attribute? + $friendly_name = $attribute->getFriendlyName(); - protected function drawFormReadOnlyValueJpegAttribute($attribute,$i) { - $this->draw('HiddenValue',$attribute,$i); - $_SESSION['tmp'][$attribute->getName()][$i] = $attribute->getValue($i); +- if (strtolower($friendly_name) != $attribute->getName()) ++ if (strtolower((string) $friendly_name) != $attribute->getName()) + return sprintf('%s', + _('Note'),$friendly_name,_('is an alias for'),$attribute->getName(false),_('alias')); + else +@@ -954,7 +954,7 @@ class PageRender extends Visitor { + $server = $this->getServer(); + $val = $attribute->getValue($i); -- draw_jpeg_photo(null,$this->template->getDN(),$attribute->getName(),$i,false,false); -+ draw_jpeg_photo(null,$this->template->getDN(),$i,$attribute->getName(),false,false); +- if (trim($val)) ++ if (trim((string) $val)) + $enc_type = get_enc_type($val); + else + $enc_type = $server->getValue('appearance','pla_password_hash'); +@@ -966,7 +966,7 @@ class PageRender extends Visitor { + htmlspecialchars($attribute->getName()),$i,htmlspecialchars($attribute->getName()), + $i,htmlspecialchars($val),($attribute->getSize() > 0) ? 'size="'.$attribute->getSize().'"' : ''); + +- if (trim($val)) ++ if (trim((string) $val)) + $this->draw('CheckLink',$attribute,'new_values_'.htmlspecialchars($attribute->getName()).'_'.$i); } - protected function drawFormReadOnlyValueMultiLineAttribute($attribute,$i) { +@@ -979,7 +979,7 @@ class PageRender extends Visitor { + $enc_type = get_enc_type($val); + + # Set the default hashing type if the password is blank (must be newly created) +- if (trim($val)) ++ if (trim((string) $val)) + $enc_type = get_enc_type($val); + else + $enc_type = $server->getValue('appearance','pla_password_hash'); +@@ -1125,7 +1125,7 @@ class PageRender extends Visitor { + + foreach ($attribute->getSelection() as $value => $description) { + printf('',$value, +- ((strcasecmp($value,$val) == 0) && $found = true) ? 'selected="selected"' : '',$description); ++ ((strcasecmp((string) $value,(string) $val) == 0) && (string) $found = true) ? 'selected="selected"' : '',(string) $description); + + if ($value == '') + $empty_value = true; +@@ -1140,7 +1140,7 @@ class PageRender extends Visitor { + echo "\n"; + } + +- if ((strlen($val) > 0) && ! $empty_value && $this->template->getDN()) { ++ if ((strlen((string) $val) > 0) && ! $empty_value && $this->template->getDN()) { + printf('',_('none, remove value')); + echo "\n"; + } +@@ -1212,11 +1212,11 @@ class PageRender extends Visitor { + $today = date('U'); + + echo '
'; +- if (($today < $shadow_date) && in_array(strtolower($attribute->getName()),$shadow_before_today_attrs)) ++ if (($today < $shadow_date) && in_array(strtolower((string) $attribute->getName()),$shadow_before_today_attrs)) + printf('(%s)', + strftime($_SESSION[APPCONFIG]->getValue('appearance','date'),$shadow_date)); + +- elseif (($today > $shadow_date) && in_array(strtolower($attribute->getName()),$shadow_after_today_attrs)) ++ elseif (($today > $shadow_date) && in_array(strtolower((string) $attribute->getName()),$shadow_after_today_attrs)) + printf('(%s)', + strftime($_SESSION[APPCONFIG]->getValue('appearance','date'),$shadow_date)); + diff --git a/net/phpldapadmin/files/patch-lib_Query.php b/net/phpldapadmin/files/patch-lib_Query.php new file mode 100644 index 000000000000..21d5f9b7b896 --- /dev/null +++ b/net/phpldapadmin/files/patch-lib_Query.php @@ -0,0 +1,68 @@ +--- lib/Query.php.orig 2021-12-12 02:35:51 UTC ++++ lib/Query.php +@@ -87,9 +87,9 @@ class Query extends xmlTemplate { + if (in_array($xml_key,$storelower)) + if (is_array($xml_value)) + foreach ($xml_value as $index => $value) +- $xml_value[$index] = strtolower($value); ++ $xml_value[$index] = strtolower((string) $value); + else +- $xml_value = strtolower($xml_value); ++ $xml_value = strtolower((string) $xml_value); + + # Items that must be stored as arrays + if (in_array($xml_key,$storearray) && ! is_array($xml_value)) +@@ -109,7 +109,7 @@ class Query extends xmlTemplate { + # Check we have some manditory items. + foreach (array() as $key) { + if (! isset($this->$key) +- || (! is_array($this->$key) && ! trim($this->$key))) { ++ || (! is_array($this->$key) && ! trim((string) $this->$key))) { + + $this->setInvalid(sprintf(_('Missing %s in the XML file.'),$key)); + break; +@@ -138,7 +138,7 @@ class Query extends xmlTemplate { + $query['scope'] = get_request('scope','REQUEST',false,'sub'); + $attrs = get_request('display_attrs','REQUEST'); + +- $attrs = preg_replace('/\s+/','',$attrs); ++ $attrs = preg_replace('/\s+/','',is_null($attrs)? "":$attrs); + if ($attrs) + $query['attrs'] = explode(',',$attrs); + else +@@ -198,9 +198,9 @@ class Query extends xmlTemplate { + public function getDNEncode($url=true) { + // @todo Be nice to do all this in 1 location + if ($url) +- return urlencode(preg_replace('/%([0-9a-fA-F]+)/',"%25\\1",$this->dn)); ++ return urlencode(preg_replace('/%([0-9a-fA-F]+)/',"%25\\1",is_null($this->dn)? "":$this->dn)); + else +- return preg_replace('/%([0-9a-fA-F]+)/',"%25\\1",$this->dn); ++ return preg_replace('/%([0-9a-fA-F]+)/',"%25\\1",is_null($this->dn)? "":$this->dn); + } + + public function getAttrSortOrder() { +@@ -216,9 +216,9 @@ class Query extends xmlTemplate { + array_push($result,$attribute->getName()); + + } else { +- $display = preg_replace('/,\s+/',',',get_request('orderby','REQUEST',false,'dn')); ++ $display = preg_replace('/,\s+/',',',get_request('orderby','REQUEST',false,is_null('dn')? "":'dn')); + +- if (trim($display)) ++ if (trim((string) $display)) + $result = explode(',',$display); + } + +@@ -238,9 +238,9 @@ class Query extends xmlTemplate { + array_push($result,$attribute->getName()); + + } else { +- $display = preg_replace('/,\s+/',',',get_request('display_attrs','REQUEST',false,'')); ++ $display = preg_replace('/,\s+/',',',get_request('display_attrs','REQUEST',false,is_null('')? "":'')); + +- if (trim($display)) ++ if (trim((string) $display)) + $result = explode(',',$display); + } + diff --git a/net/phpldapadmin/files/patch-lib_QueryRender.php b/net/phpldapadmin/files/patch-lib_QueryRender.php new file mode 100644 index 000000000000..ee9255bd6c83 --- /dev/null +++ b/net/phpldapadmin/files/patch-lib_QueryRender.php @@ -0,0 +1,38 @@ +--- lib/QueryRender.php.orig 2021-12-12 02:35:51 UTC ++++ lib/QueryRender.php +@@ -280,7 +280,7 @@ class QueryRender extends PageRender { + + # Iterate over each attribute for this entry + foreach (explode(',',$ado) as $attr) { +- $attr = strtolower($attr); ++ $attr = strtolower((string) $attr); + + # Ignore DN, we've already displayed it. + if ($attr == 'dn') +@@ -379,7 +379,7 @@ class QueryRender extends PageRender { + + # Special case for DNs + if ($attr == 'dn') { +- $dn_display = strlen($dndetails['dn']) > 40 ++ $dn_display = strlen((string) $dndetails['dn']) > 40 + ? sprintf('%s...',htmlspecialchars($dndetails['dn']),htmlspecialchars(substr($dndetails['dn'],0,40))) + : htmlspecialchars($dndetails['dn']); + +@@ -461,7 +461,7 @@ class QueryRender extends PageRender { + $results = array(); + + foreach (explode(',',$this->template->getAttrDisplayOrder()) as $attr) +- $results[strtolower($attr)] = $attribute_factory->newAttribute($attr,array('values'=>array()),$this->getServerID()); ++ $results[strtolower((string) $attr)] = $attribute_factory->newAttribute($attr,array('values'=>array()),$this->getServerID()); + + return $results; + } +@@ -470,7 +470,7 @@ class QueryRender extends PageRender { + if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) + debug_log('Entered (%%)',129,0,__FILE__,__LINE__,__METHOD__,$fargs); + +- return preg_replace('/=/','.',base64_encode($dn)); ++ return preg_replace('/=/','.',is_null(base64_encode($dn)? "":base64_encode($dn)); + } + + private function drawBaseTabs() { diff --git a/net/phpldapadmin/files/patch-lib_Template.php b/net/phpldapadmin/files/patch-lib_Template.php *** 2164 LINES SKIPPED ***
%s
'; diff --git a/net/phpldapadmin/files/patch-htdocs_purge__cache.php b/net/phpldapadmin/files/patch-htdocs_purge__cache.php new file mode 100644 index 000000000000..c72239368b37 --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_purge__cache.php @@ -0,0 +1,11 @@ +--- htdocs/purge_cache.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/purge_cache.php +@@ -16,7 +16,7 @@ $purge_session_keys = array('app_initialized','backtra + $size = 0; + foreach ($purge_session_keys as $key) + if (isset($_SESSION[$key])) { +- $size += strlen(serialize($_SESSION[$key])); ++ $size += strlen((string) serialize($_SESSION[$key])); + unset($_SESSION[$key]); + } + diff --git a/net/phpldapadmin/files/patch-htdocs_schema.php b/net/phpldapadmin/files/patch-htdocs_schema.php new file mode 100644 index 000000000000..191d2a2b1647 --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_schema.php @@ -0,0 +1,165 @@ +--- htdocs/schema.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/schema.php +@@ -25,7 +25,7 @@ $entry['value'] = get_request('viewvalue','GET'); + + if (! is_null($entry['value'])) { + $entry['viewed'] = false; +- $entry['value'] = strtolower($entry['value']); ++ $entry['value'] = strtolower((string) $entry['value']); + } + + $schema_error_str = sprintf('%s %s.

%s
  • %s
  • %s
  • %s
  • %s
', +@@ -149,12 +149,12 @@ switch($entry['view']) { + echo '
'; + + foreach ($sattrs as $attr) { +- if (isAjaxEnabled() || (is_null($entry['value']) || ! trim($entry['value']) || $entry['value']==$attr->getName())) { +- if ((! is_null($entry['value']) && $entry['value']==$attr->getName()) || ! trim($entry['value'])) ++ if (isAjaxEnabled() || (is_null($entry['value']) || ! trim((string) $entry['value']) || $entry['value']==$attr->getName())) { ++ if ((! is_null($entry['value']) && $entry['value']==$attr->getName()) || ! trim((string) $entry['value'])) + $entry['viewed'] = true; + + if (isAjaxEnabled() && $entry['value']) +- printf('
',$attr->getName(),strcasecmp($entry['value'],$attr->getName()) ? 'none' : 'block'); ++ printf('
',(string) $attr->getName(),strcasecmp((string) $entry['value'],(string) $attr->getName()) ? 'none' : 'block'); + else + printf('
',$attr->getName()); + +@@ -193,10 +193,10 @@ switch($entry['view']) { + printf('(%s)',_('none')); + + else { +- $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['attributes'],strtolower($attr->getSupAttribute()))); ++ $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['attributes'],strtolower((string) $attr->getSupAttribute()))); + if (isAjaxEnabled()) + printf('%s', +- $href,strtolower($attr->getSupAttribute()),$attr->getSupAttribute()); ++ $href,strtolower((string) $attr->getSupAttribute()),$attr->getSupAttribute()); + else + printf('%s',$href,$attr->getSupAttribute()); + } +@@ -287,10 +287,10 @@ switch($entry['view']) { + + else + foreach ($attr->getAliases() as $alias) { +- $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['attributes'],strtolower($alias))); ++ $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['attributes'],strtolower((string) $alias))); + if (isAjaxEnabled()) + printf('%s', +- $href,strtolower($alias),$alias); ++ $href,strtolower((string) $alias),$alias); + else + printf('%s',$href,$alias); + } +@@ -306,10 +306,10 @@ switch($entry['view']) { + + else + foreach ($attr->getUsedInObjectClasses() as $objectclass) { +- $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['objectclasses'],strtolower($objectclass))); ++ $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['objectclasses'],strtolower((string) $objectclass))); + if (isAjaxEnabled()) + printf('%s ', +- $href,$href,_('ObjectClasses'),strtolower($objectclass),$objectclass); ++ $href,$href,_('ObjectClasses'),strtolower((string) $objectclass),$objectclass); + else + printf('%s ',$href,$objectclass); + } +@@ -379,8 +379,8 @@ switch($entry['view']) { + $oid = $rule->getOID(); + $desc = $rule->getName(false); + +- if (isAjaxEnabled() || (is_null($entry['value']) || ! trim($entry['value']) || $entry['value']==$rule->getName())) { +- if ((! is_null($entry['value']) && $entry['value']==$rule->getName()) || ! trim($entry['value'])) ++ if (isAjaxEnabled() || (is_null($entry['value']) || ! trim((string) $entry['value']) || $entry['value']==$rule->getName())) { ++ if ((! is_null($entry['value']) && $entry['value']==$rule->getName()) || ! trim((string) $entry['value'])) + $entry['viewed'] = true; + + if (null != $rule->getDescription()) +@@ -391,7 +391,7 @@ switch($entry['view']) { + + if (isAjaxEnabled() && $entry['value']) + printf('
%s
%s: ',_('Parent to')); +- if (strcasecmp($oclass->getName(),'top') == 0) { ++ if (strcasecmp((string) $oclass->getName(),'top') == 0) { + $href = htmlspecialchars($entry['href']['objectclasses']); + if (isAjaxEnabled()) + printf('all', +@@ -521,10 +521,10 @@ switch($entry['view']) { + + else + foreach ($oclass->getChildObjectClasses() as $i => $object_class) { +- $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['objectclasses'],strtolower($object_class))); ++ $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['objectclasses'],strtolower((string) $object_class))); + if (isAjaxEnabled()) + printf('%s', +- $href,_('Jump to this objectClass definition'),strtolower($object_class),$object_class); ++ $href,_('Jump to this objectClass definition'),strtolower((string) $object_class),$object_class); + else + printf('%s',$href,_('Jump to this objectClass definition'),$object_class); + +@@ -553,11 +553,11 @@ switch($entry['view']) { + + if ($attr->getSource() != $oclass->getName(false)) { + echo '
'; +- $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['objectclasses'],strtolower($attr->getSource()))); ++ $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['objectclasses'],strtolower((string) $attr->getSource()))); + printf('(%s ',_('Inherited from')); + if (isAjaxEnabled()) + printf('%s', +- $href,_('Jump to this objectClass definition'),strtolower($attr->getSource()),$attr->getSource()); ++ $href,_('Jump to this objectClass definition'),strtolower((string) $attr->getSource()),$attr->getSource()); + else + printf('%s',$href,$attr->getSource()); + echo ')'; +@@ -586,11 +586,11 @@ switch($entry['view']) { + + if ($attr->getSource() != $oclass->getName(false)) { + echo '
'; +- $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['objectclasses'],strtolower($attr->getSource()))); ++ $href = htmlspecialchars(sprintf('%s&viewvalue=%s',$entry['href']['objectclasses'],strtolower((string) $attr->getSource()))); + printf('(%s ',_('Inherited from')); + if (isAjaxEnabled()) + printf('%s', +- $href,_('Jump to this objectClass definition'),strtolower($attr->getSource()),$attr->getSource()); ++ $href,_('Jump to this objectClass definition'),strtolower((string) $attr->getSource()),$attr->getSource()); + else + printf('%s',$href,$attr->getSource()); + echo ')'; diff --git a/net/phpldapadmin/files/patch-htdocs_server__info.php b/net/phpldapadmin/files/patch-htdocs_server__info.php new file mode 100644 index 000000000000..cf3ce2cf59ed --- /dev/null +++ b/net/phpldapadmin/files/patch-htdocs_server__info.php @@ -0,0 +1,20 @@ +--- htdocs/server_info.php.orig 2021-12-12 02:35:51 UTC ++++ htdocs/server_info.php +@@ -60,7 +60,7 @@ foreach ($attrs as $key => $values) { + printf('
%s%s
%s
 
',$this->getDepth()+3-1); + printf('%s',$server->getName()); + ++ // strftime('%H:%M',$server->inactivityTime())); + if (! is_null($server->inactivityTime())) { + $m = sprintf(_('Inactivity will log you off at %s'), +- strftime('%H:%M',$server->inactivityTime())); ++ date('H:i',$server->inactivityTime())); + printf(' %s',IMGDIR,$m,'Timeout'); + } + echo '