aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof <ports@bsdserwis.com>2022-12-08 09:23:03 +0000
committerRonald Klop <ronald@FreeBSD.org>2022-12-12 10:36:10 +0000
commit05adb0bbb787e824fd84aa7aed170182a55268e7 (patch)
tree4df4a77493b5bf13a4cdedccbd49bc2adaf911fa
parentecdc5449e95cfa67e396a1b5c8ccfacd982804da (diff)
downloadports-05adb0bbb787e824fd84aa7aed170182a55268e7.tar.gz
ports-05adb0bbb787e824fd84aa7aed170182a55268e7.zip
net/phpldapadmin: additional fix to support for php81+
PR: 266678 268135 264672 Approved by: rene (mentor) Differential Revision: https://reviews.freebsd.org/D37633
-rw-r--r--net/phpldapadmin/Makefile2
-rw-r--r--net/phpldapadmin/files/patch-lib_AttributeFactory.php7
-rw-r--r--net/phpldapadmin/files/patch-lib_PageRender.php29
-rw-r--r--net/phpldapadmin/files/patch-lib_Tree.php9
-rw-r--r--net/phpldapadmin/files/patch-lib_common.php11
-rw-r--r--net/phpldapadmin/files/patch-lib_ds__ldap.php35
-rw-r--r--net/phpldapadmin/files/patch-lib_ds__ldap__pla.php27
-rw-r--r--net/phpldapadmin/files/patch-lib_functions.php29
-rw-r--r--net/phpldapadmin/files/patch-lib_xmlTemplates.php9
9 files changed, 154 insertions, 4 deletions
diff --git a/net/phpldapadmin/Makefile b/net/phpldapadmin/Makefile
index 62831744b9d2..140a93c19f30 100644
--- a/net/phpldapadmin/Makefile
+++ b/net/phpldapadmin/Makefile
@@ -1,6 +1,6 @@
PORTNAME= phpldapadmin
PORTVERSION= 1.2.6.3
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= net www
PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX}
diff --git a/net/phpldapadmin/files/patch-lib_AttributeFactory.php b/net/phpldapadmin/files/patch-lib_AttributeFactory.php
index 12488014c85c..7f53c65e6b79 100644
--- a/net/phpldapadmin/files/patch-lib_AttributeFactory.php
+++ b/net/phpldapadmin/files/patch-lib_AttributeFactory.php
@@ -39,7 +39,7 @@
return $this->newShadowAttribute($name,$values,$server_id,$source);
} elseif ($app['server']->isAttrBoolean($name)) {
-@@ -129,7 +129,7 @@ class AttributeFactory {
+@@ -129,11 +129,11 @@ class AttributeFactory {
} elseif ($app['server']->isMultiLineAttr($name)) {
return $this->newMultiLineAttribute($name,$values,$server_id,$source);
@@ -48,3 +48,8 @@
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_PageRender.php b/net/phpldapadmin/files/patch-lib_PageRender.php
index f97df7e2ebaf..eaafb0cfc1f6 100644
--- a/net/phpldapadmin/files/patch-lib_PageRender.php
+++ b/net/phpldapadmin/files/patch-lib_PageRender.php
@@ -59,6 +59,35 @@
return sprintf('<acronym title="%s: \'%s\' %s \'%s\'">%s</acronym>',
_('Note'),$friendly_name,_('is an alias for'),$attribute->getName(false),_('alias'));
else
+@@ -827,7 +827,7 @@ class PageRender extends Visitor {
+ if (! $attribute->getOldValue($i))
+ return;
+
+- 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);
+ }
+
+ /**
+@@ -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);
+ }
+
+ protected function drawFormReadOnlyValueJpegAttribute($attribute,$i) {
+ $this->draw('HiddenValue',$attribute,$i);
+ $_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);
+ }
+
+ protected function drawFormReadOnlyValueMultiLineAttribute($attribute,$i) {
@@ -954,7 +954,7 @@ class PageRender extends Visitor {
$server = $this->getServer();
$val = $attribute->getValue($i);
diff --git a/net/phpldapadmin/files/patch-lib_Tree.php b/net/phpldapadmin/files/patch-lib_Tree.php
index 17113e51bee1..59e1ecbdcc1e 100644
--- a/net/phpldapadmin/files/patch-lib_Tree.php
+++ b/net/phpldapadmin/files/patch-lib_Tree.php
@@ -1,5 +1,14 @@
--- lib/Tree.php.orig 2021-12-12 02:35:51 UTC
+++ lib/Tree.php
+@@ -68,7 +68,7 @@ abstract class Tree {
+ }
+ }
+
+- set_cached_item($server_id,'tree','null',$tree);
++ set_cached_item($server_id,$tree,'tree','null');
+ }
+
+ return $tree;
@@ -132,7 +132,7 @@ abstract class Tree {
if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
debug_log('Entered (%%)',33,0,__FILE__,__LINE__,__METHOD__,$fargs);
diff --git a/net/phpldapadmin/files/patch-lib_common.php b/net/phpldapadmin/files/patch-lib_common.php
index 9e464a0fd2a1..33b76dae081a 100644
--- a/net/phpldapadmin/files/patch-lib_common.php
+++ b/net/phpldapadmin/files/patch-lib_common.php
@@ -12,3 +12,14 @@
}
$app['lang_http'] = array_unique($app['lang_http']);
+@@ -296,7 +296,9 @@ if ($app['language'] == 'auto') {
+ * Strip slashes from GET, POST, and COOKIE variables if this
+ * PHP install is configured to automatically addslashes()
+ */
+-if (@get_magic_quotes_gpc() && (! isset($slashes_stripped) || ! $slashes_stripped)) {
++if (@version_compare(phpversion(), '5.4.0', '<') &&
++ @get_magic_quotes_gpc() &&
++ (!isset($slashes_stripped) || !$slashes_stripped)) {
+ array_stripslashes($_REQUEST);
+ array_stripslashes($_GET);
+ array_stripslashes($_POST);
diff --git a/net/phpldapadmin/files/patch-lib_ds__ldap.php b/net/phpldapadmin/files/patch-lib_ds__ldap.php
index 8ed7f9831b50..389cf1128878 100644
--- a/net/phpldapadmin/files/patch-lib_ds__ldap.php
+++ b/net/phpldapadmin/files/patch-lib_ds__ldap.php
@@ -182,7 +182,7 @@
continue;
$object_class = new ObjectClass($line,$this);
-@@ -1762,8 +1765,8 @@ class ldap extends DS {
+@@ -1762,13 +1765,13 @@ class ldap extends DS {
# Now go through and reference the parent/child relationships
foreach ($return as $oclass)
foreach ($oclass->getSupClasses() as $parent_name)
@@ -193,6 +193,12 @@
ksort($return);
+ # cache the schema to prevent multiple schema fetches from LDAP server
+- set_cached_item($this->index,'schema','objectclasses',$return);
++ set_cached_item($this->index,$return,'schema','objectclasses');
+ }
+
+ if (DEBUG_ENABLED)
@@ -1816,7 +1819,7 @@ class ldap extends DS {
*/
$attrs_oid = array();
@@ -241,7 +247,7 @@
/* Since this attribute's superior attribute does not have another superior
* attribute, clone its properties for this attribute. Then, replace
-@@ -1936,18 +1939,18 @@ class ldap extends DS {
+@@ -1936,24 +1939,24 @@ class ldap extends DS {
# Add Used In.
foreach ($oclass_attrs as $attr_name)
@@ -266,6 +272,13 @@
}
$return = $attrs;
+
+ # cache the schema to prevent multiple schema fetches from LDAP server
+- set_cached_item($this->index,'schema','attributes',$return);
++ set_cached_item($this->index,$return,'schema','attributes');
+ }
+
+ if (DEBUG_ENABLED)
@@ -1987,7 +1990,7 @@ class ldap extends DS {
$rules = array();
@@ -293,6 +306,15 @@
if (isset($rules[$rule_key]))
$rules[$rule_key]->addUsedByAttr($attr->getName(false));
+@@ -2029,7 +2032,7 @@ class ldap extends DS {
+ $return = $rules;
+
+ # cache the schema to prevent multiple schema fetches from LDAP server
+- set_cached_item($this->index,'schema','matchingrules',$return);
++ set_cached_item($this->index,$return,'schema','matchingrules');
+ }
+
+ if (DEBUG_ENABLED)
@@ -2063,11 +2066,11 @@ class ldap extends DS {
$return = array();
@@ -307,6 +329,15 @@
if (! $key)
continue;
+@@ -2078,7 +2081,7 @@ class ldap extends DS {
+ ksort($return);
+
+ # cache the schema to prevent multiple schema fetches from LDAP server
+- set_cached_item($this->index,'schema','syntaxes',$return);
++ set_cached_item($this->index,$return,'schema','syntaxes');
+ }
+
+ if (DEBUG_ENABLED)
@@ -2097,7 +2100,7 @@ class ldap extends DS {
if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
debug_log('Entered (%%)',17,0,__FILE__,__LINE__,__METHOD__,$fargs);
diff --git a/net/phpldapadmin/files/patch-lib_ds__ldap__pla.php b/net/phpldapadmin/files/patch-lib_ds__ldap__pla.php
index 2de761e9e9c4..fc33585335fc 100644
--- a/net/phpldapadmin/files/patch-lib_ds__ldap__pla.php
+++ b/net/phpldapadmin/files/patch-lib_ds__ldap__pla.php
@@ -29,6 +29,33 @@
return true;
return false;
+@@ -371,7 +371,7 @@ class ldap_pla extends ldap {
+
+ $tree->addEntry($dn);
+
+- set_cached_item($this->index,'tree','null',$tree);
++ set_cached_item($this->index,$tree,'tree','null');
+
+ run_hook('post_entry_create',array('server_id'=>$this->index,'method'=>$method,'dn'=>$dn,'attrs'=>$entry_array));
+
+@@ -403,7 +403,7 @@ class ldap_pla extends ldap {
+ $tree = get_cached_item($this->index,'tree');
+ $tree->delEntry($dn);
+
+- set_cached_item($this->index,'tree','null',$tree);
++ set_cached_item($this->index,$tree,'tree','null');
+
+ run_hook('post_entry_delete',array('server_id'=>$this->index,'method'=>$method,'dn'=>$dn));
+ }
+@@ -430,7 +430,7 @@ class ldap_pla extends ldap {
+ $newdn = sprintf('%s,%s',$new_rdn,$container);
+ $tree->renameEntry($dn,$newdn);
+
+- set_cached_item($this->index,'tree','null',$tree);
++ set_cached_item($this->index,$tree,'tree','null');
+
+ run_hook('post_entry_rename',array('server_id'=>$this->index,'method'=>$method,'dn'=>$dn,'rdn'=>$new_rdn,'container'=>$container));
+ }
@@ -674,7 +674,7 @@ class ldap_pla extends ldap {
if ($this->getValue('appearance', 'show_authz') && function_exists('ldap_exop_whoami')) {
$result = @ldap_exop_whoami($this->connect($method));
diff --git a/net/phpldapadmin/files/patch-lib_functions.php b/net/phpldapadmin/files/patch-lib_functions.php
index d97a5febf06e..91951e3ca8b5 100644
--- a/net/phpldapadmin/files/patch-lib_functions.php
+++ b/net/phpldapadmin/files/patch-lib_functions.php
@@ -113,6 +113,15 @@
if ($length > 0) { // str_repeat doesn't like negatives
if ($pad_type == STR_PAD_RIGHT) { // STR_PAD_RIGHT == 1
+@@ -928,7 +929,7 @@ function get_cached_item($index,$item,$subitem='null')
+ *
+ * Returns true on success of false on failure.
+ */
+-function set_cached_item($index,$item,$subitem='null',$data) {
++function set_cached_item($index,$data,$item,$subitem='null') {
+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
+ debug_log('Entered (%%)',1,0,__FILE__,__LINE__,__METHOD__,$fargs);
+
@@ -1090,7 +1091,7 @@ function masort(&$data,$sortby,$rev=0) {
$code .= " \$a = array_change_key_case(\$a);\n";
$code .= " \$b = array_change_key_case(\$b);\n";
@@ -254,6 +263,26 @@
}
}
}
+@@ -2032,8 +2033,8 @@ function ldap_error_msg($msg,$errnum) {
+ *
+ * Usage Examples:
+ * <code>
+- * draw_jpeg_photo(0,'cn=Bob,ou=People,dc=example,dc=com',"jpegPhoto",0,true,array('img_opts'=>"border: 1px; width: 150px"));
+- * draw_jpeg_photo(1,'cn=Fred,ou=People,dc=example,dc=com',null,1);
++ * draw_jpeg_photo(0,'cn=Bob,ou=People,dc=example,dc=com',0,"jpegPhoto",true,array('img_opts'=>"border: 1px; width: 150px"));
++ * draw_jpeg_photo(1,'cn=Fred,ou=People,dc=example,dc=com',1,null);
+ * </code>
+ *
+ * @param object The Server to get the image from.
+@@ -2046,7 +2047,7 @@ function ldap_error_msg($msg,$errnum) {
+ * @param array Specifies optional image and CSS style attributes for the table tag. Supported keys are
+ * fixed_width, fixed_height, img_opts.
+ */
+-function draw_jpeg_photo($server,$dn,$attr_name='jpegphoto',$index,$draw_delete_buttons=false,$options=array()) {
++function draw_jpeg_photo($server,$dn,$index,$attr_name='jpegphoto',$draw_delete_buttons=false,$options=array()) {
+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
+ debug_log('Entered (%%)',1,0,__FILE__,__LINE__,__METHOD__,$fargs);
+
@@ -2164,7 +2165,7 @@ function pla_password_hash($password_clear,$enc_type)
if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
debug_log('Entered (%%)',1,0,__FILE__,__LINE__,__METHOD__,$fargs);
diff --git a/net/phpldapadmin/files/patch-lib_xmlTemplates.php b/net/phpldapadmin/files/patch-lib_xmlTemplates.php
index 9088d3297f1e..64602daf25fe 100644
--- a/net/phpldapadmin/files/patch-lib_xmlTemplates.php
+++ b/net/phpldapadmin/files/patch-lib_xmlTemplates.php
@@ -18,6 +18,15 @@
$this->templates[$counter] = new $class['name']($this->server_id,$templatename,$filename,$type,$counter);
$counter++;
}
+@@ -140,7 +140,7 @@ abstract class xmlTemplates {
+
+ if ($changed) {
+ masort($this->templates,'title');
+- set_cached_item($server_id,$class['item'],'null',$this->templates);
++ set_cached_item($server_id,$this->templates,$class['item'],'null');
+ }
+ }
+
@@ -304,7 +304,7 @@ abstract class xmlTemplate {
debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);