pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: [pkgsrc-2024Q1] pkgsrc/databases/phpldapadmin
Module Name: pkgsrc
Committed By: bsiegert
Date: Fri Jun 7 13:52:44 UTC 2024
Modified Files:
pkgsrc/databases/phpldapadmin [pkgsrc-2024Q1]: Makefile distinfo
pkgsrc/databases/phpldapadmin/patches [pkgsrc-2024Q1]:
patch-lib_PLAAttribute.php patch-lib_xmlTemplates.php
Added Files:
pkgsrc/databases/phpldapadmin/patches [pkgsrc-2024Q1]:
patch-lib_TemplateRender.php patch-lib_page.php
patch-lib_schema__functions.php
Removed Files:
pkgsrc/databases/phpldapadmin/patches [pkgsrc-2024Q1]:
patch-htdocs_collapse.php patch-htdocs_draw__tree__node.php
patch-htdocs_expand.php patch-htdocs_refresh.php
patch-lib_Attribute.php patch-lib_AttributeFactory.php
patch-lib_BinaryAttribute.php patch-lib_DateAttribute.php
patch-lib_DnAttribute.php patch-lib_GidAttribute.php
patch-lib_MultiLineAttribute.php patch-lib_ObjectClassAttribute.php
patch-lib_PageRender.php patch-lib_PasswordAttribute.php
patch-lib_SelectionAttribute.php patch-lib_ShadowAttribute.php
patch-lib_Tree.php patch-lib_Visitor.php patch-lib_common.php
patch-lib_ds__ldap.php patch-lib_ds__ldap__pla.php
patch-lib_functions.php
Log Message:
Pullup ticket #6857 - requested by taca
databases/phpldapadmin: security fix
Revisions pulled up:
- databases/phpldapadmin/Makefile 1.48
- databases/phpldapadmin/distinfo 1.21
- databases/phpldapadmin/patches/patch-htdocs_collapse.php deleted
- databases/phpldapadmin/patches/patch-htdocs_draw__tree__node.php deleted
- databases/phpldapadmin/patches/patch-htdocs_expand.php deleted
- databases/phpldapadmin/patches/patch-htdocs_refresh.php deleted
- databases/phpldapadmin/patches/patch-lib_Attribute.php deleted
- databases/phpldapadmin/patches/patch-lib_AttributeFactory.php deleted
- databases/phpldapadmin/patches/patch-lib_BinaryAttribute.php deleted
- databases/phpldapadmin/patches/patch-lib_DateAttribute.php deleted
- databases/phpldapadmin/patches/patch-lib_DnAttribute.php deleted
- databases/phpldapadmin/patches/patch-lib_GidAttribute.php deleted
- databases/phpldapadmin/patches/patch-lib_MultiLineAttribute.php deleted
- databases/phpldapadmin/patches/patch-lib_ObjectClassAttribute.php deleted
- databases/phpldapadmin/patches/patch-lib_PLAAttribute.php 1.2
- databases/phpldapadmin/patches/patch-lib_PageRender.php deleted
- databases/phpldapadmin/patches/patch-lib_PasswordAttribute.php deleted
- databases/phpldapadmin/patches/patch-lib_SelectionAttribute.php deleted
- databases/phpldapadmin/patches/patch-lib_ShadowAttribute.php deleted
- databases/phpldapadmin/patches/patch-lib_TemplateRender.php 1.3
- databases/phpldapadmin/patches/patch-lib_Tree.php deleted
- databases/phpldapadmin/patches/patch-lib_Visitor.php deleted
- databases/phpldapadmin/patches/patch-lib_common.php deleted
- databases/phpldapadmin/patches/patch-lib_ds__ldap.php deleted
- databases/phpldapadmin/patches/patch-lib_ds__ldap__pla.php deleted
- databases/phpldapadmin/patches/patch-lib_functions.php deleted
- databases/phpldapadmin/patches/patch-lib_page.php 1.1
- databases/phpldapadmin/patches/patch-lib_schema__functions.php 1.1
- databases/phpldapadmin/patches/patch-lib_xmlTemplates.php 1.2
---
Module Name: pkgsrc
Committed By: khorben
Date: Wed May 8 21:32:20 UTC 2024
Modified Files:
pkgsrc/databases/phpldapadmin: Makefile distinfo
pkgsrc/databases/phpldapadmin/patches: patch-lib_PLAAttribute.php
patch-lib_xmlTemplates.php
Added Files:
pkgsrc/databases/phpldapadmin/patches: patch-lib_TemplateRender.php
patch-lib_page.php patch-lib_schema__functions.php
Removed Files:
pkgsrc/databases/phpldapadmin/patches: patch-htdocs_collapse.php
patch-htdocs_draw__tree__node.php patch-htdocs_expand.php
patch-htdocs_refresh.php patch-lib_Attribute.php
patch-lib_AttributeFactory.php patch-lib_BinaryAttribute.php
patch-lib_DateAttribute.php patch-lib_DnAttribute.php
patch-lib_GidAttribute.php patch-lib_MultiLineAttribute.php
patch-lib_ObjectClassAttribute.php patch-lib_PageRender.php
patch-lib_PasswordAttribute.php patch-lib_SelectionAttribute.php
patch-lib_ShadowAttribute.php patch-lib_Tree.php
patch-lib_Visitor.php patch-lib_common.php patch-lib_ds__ldap.php
patch-lib_ds__ldap__pla.php patch-lib_functions.php
Log Message:
phpldapadmin: update to version 1.2.6.7
This fixes an XSS vulnerability when importing using a file upload without a
valid LDIF.
Tested on NetBSD/amd64, Darwin/amd64.
To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.47.16.1 pkgsrc/databases/phpldapadmin/Makefile
cvs rdiff -u -r1.20 -r1.20.16.1 pkgsrc/databases/phpldapadmin/distinfo
cvs rdiff -u -r1.1 -r0 \
pkgsrc/databases/phpldapadmin/patches/patch-htdocs_collapse.php \
pkgsrc/databases/phpldapadmin/patches/patch-htdocs_draw__tree__node.php \
pkgsrc/databases/phpldapadmin/patches/patch-htdocs_expand.php \
pkgsrc/databases/phpldapadmin/patches/patch-htdocs_refresh.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_Attribute.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_AttributeFactory.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_BinaryAttribute.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_DateAttribute.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_DnAttribute.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_GidAttribute.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_MultiLineAttribute.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_ObjectClassAttribute.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_PasswordAttribute.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_SelectionAttribute.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_ShadowAttribute.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_Tree.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_Visitor.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_common.php
cvs rdiff -u -r1.1 -r1.1.16.1 \
pkgsrc/databases/phpldapadmin/patches/patch-lib_PLAAttribute.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_xmlTemplates.php
cvs rdiff -u -r1.2 -r0 \
pkgsrc/databases/phpldapadmin/patches/patch-lib_PageRender.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_ds__ldap.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_ds__ldap__pla.php
cvs rdiff -u -r0 -r1.3.2.2 \
pkgsrc/databases/phpldapadmin/patches/patch-lib_TemplateRender.php
cvs rdiff -u -r1.5 -r0 \
pkgsrc/databases/phpldapadmin/patches/patch-lib_functions.php
cvs rdiff -u -r0 -r1.1.2.2 \
pkgsrc/databases/phpldapadmin/patches/patch-lib_page.php \
pkgsrc/databases/phpldapadmin/patches/patch-lib_schema__functions.php
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/databases/phpldapadmin/Makefile
diff -u pkgsrc/databases/phpldapadmin/Makefile:1.47 pkgsrc/databases/phpldapadmin/Makefile:1.47.16.1
--- pkgsrc/databases/phpldapadmin/Makefile:1.47 Sat Apr 16 03:11:28 2022
+++ pkgsrc/databases/phpldapadmin/Makefile Fri Jun 7 13:52:43 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.47 2022/04/16 03:11:28 khorben Exp $
+# $NetBSD: Makefile,v 1.47.16.1 2024/06/07 13:52:43 bsiegert Exp $
DISTNAME= phpldapadmin-${VERSION}
PKGNAME= ${PHP_PKG_PREFIX}-${DISTNAME}
@@ -20,7 +20,7 @@ DEPENDS+= ${PHP_PKG_PREFIX}-gettext>=4.1
USE_TOOLS+= pax
-VERSION= 1.2.6.3
+VERSION= 1.2.6.7
NO_BUILD= YES
CONF_FILES+= ${PREFIX}/share/examples/phpldapadmin/config.php.example \
Index: pkgsrc/databases/phpldapadmin/distinfo
diff -u pkgsrc/databases/phpldapadmin/distinfo:1.20 pkgsrc/databases/phpldapadmin/distinfo:1.20.16.1
--- pkgsrc/databases/phpldapadmin/distinfo:1.20 Sat Apr 16 03:11:28 2022
+++ pkgsrc/databases/phpldapadmin/distinfo Fri Jun 7 13:52:43 2024
@@ -1,29 +1,10 @@
-$NetBSD: distinfo,v 1.20 2022/04/16 03:11:28 khorben Exp $
+$NetBSD: distinfo,v 1.20.16.1 2024/06/07 13:52:43 bsiegert Exp $
-BLAKE2s (phpldapadmin-1.2.6.3.tar.gz) = 357714bc52f95ce722eb85b008b395ce22843b223e312e9ec22e5ecb7304a2e9
-SHA512 (phpldapadmin-1.2.6.3.tar.gz) = 66aeb81c812830968df5d3a2f0ccdd479fe5d7ed3bb729c0fb9991d3efa20263a493b38bfe48c99ad2c93c2ee549f51f53e064fb1381bc7e126ca2ad2bfc3167
-Size (phpldapadmin-1.2.6.3.tar.gz) = 1130061 bytes
-SHA1 (patch-htdocs_collapse.php) = 2ba096f8ba5c8304e27f3d10818605da667be72c
-SHA1 (patch-htdocs_draw__tree__node.php) = 63ec819e6fdc7be05188df9a4d603e0d01261b2e
-SHA1 (patch-htdocs_expand.php) = 06b83f5093e23f1628cb1be7a741b0eabe5e0e97
-SHA1 (patch-htdocs_refresh.php) = ea724a89cd540191ec4c2e2adbb3c25b359cdbe6
-SHA1 (patch-lib_Attribute.php) = e0d95fc787e19da0b779dc0b974a2755f0d1c0e7
-SHA1 (patch-lib_AttributeFactory.php) = 7db91e50bc649ee0a4bea6a63cb9f055be3f9340
-SHA1 (patch-lib_BinaryAttribute.php) = 108b6fdca6f0013513adc81c6f092ef85c821a2b
-SHA1 (patch-lib_DateAttribute.php) = 051ebe274fa7ebb53955464d7b6a63d34c334d4b
-SHA1 (patch-lib_DnAttribute.php) = 8014cf8e8fe278298979197aaf8370b31adf65cb
-SHA1 (patch-lib_GidAttribute.php) = 483c4a5ad673a2244cbdf5efd008395174520544
-SHA1 (patch-lib_MultiLineAttribute.php) = e5ac91a1d20b1103fd708c463b3bab1b42cc3b4d
-SHA1 (patch-lib_ObjectClassAttribute.php) = 710741d4938345b4548c7fdc7b281c7f50c18eab
-SHA1 (patch-lib_PLAAttribute.php) = 4ea90a667d341789a825f2d3a022d47e0c31f582
-SHA1 (patch-lib_PageRender.php) = b9dfb3a1eb7d7170fc054b46ce78a333a5693047
-SHA1 (patch-lib_PasswordAttribute.php) = 6c75b2e79c185ab213f4b5b12838c457b56641fc
-SHA1 (patch-lib_SelectionAttribute.php) = 541fa3d50c0d971d86eb57c53c2cafbb2ed79076
-SHA1 (patch-lib_ShadowAttribute.php) = f75dbda7c48172381d786d170cde674232673798
-SHA1 (patch-lib_Tree.php) = 3a19a78e12c125d86e5c61abcceee40e620f2558
-SHA1 (patch-lib_Visitor.php) = fa7606271887feaa94eb74f80933d6c2f572f21b
-SHA1 (patch-lib_common.php) = e039f34c44640022cb3501cc0e625b1dfc348268
-SHA1 (patch-lib_ds__ldap.php) = 5ef5eabcbca6b4c4d877f864e8beae3cb6d84c41
-SHA1 (patch-lib_ds__ldap__pla.php) = 69f1fd2e6b019ed741595099f6acfe5052a65833
-SHA1 (patch-lib_functions.php) = 1a2fa831a150d84b67dd3c9e5dde9d153d5e6383
-SHA1 (patch-lib_xmlTemplates.php) = f58ea751b9d2c9f5adfc968a73dcb94a3fe121c2
+BLAKE2s (phpldapadmin-1.2.6.7.tar.gz) = 36020f7bf84bc1171d74002cf7d0e142a29a568566ba88513c30bfe1c8b39fee
+SHA512 (phpldapadmin-1.2.6.7.tar.gz) = 4a0ea1cb5bfeeb6a6a242b29137cdd26c014788d771ce9cf5dcef771756b38575a2fd3e04d00cd3ff5181bf8891037bc347d4f933c67958376d2246fa72752c7
+Size (phpldapadmin-1.2.6.7.tar.gz) = 1133418 bytes
+SHA1 (patch-lib_PLAAttribute.php) = d95e873f4ee418d9a5fb3a88fa99968a6f0cf883
+SHA1 (patch-lib_TemplateRender.php) = 3b0945d796152cb4a432d5219a2ea3841eb1c160
+SHA1 (patch-lib_page.php) = 6721e35db12e5f71352a113e8dda680214cef20b
+SHA1 (patch-lib_schema__functions.php) = 4c723edaed93458f71e9a54245366b5e62b8e8a9
+SHA1 (patch-lib_xmlTemplates.php) = a6e70d783fb8bbc18b127f64c3ebb221644a151e
Index: pkgsrc/databases/phpldapadmin/patches/patch-lib_PLAAttribute.php
diff -u pkgsrc/databases/phpldapadmin/patches/patch-lib_PLAAttribute.php:1.1 pkgsrc/databases/phpldapadmin/patches/patch-lib_PLAAttribute.php:1.1.16.1
--- pkgsrc/databases/phpldapadmin/patches/patch-lib_PLAAttribute.php:1.1 Sat Apr 16 03:11:28 2022
+++ pkgsrc/databases/phpldapadmin/patches/patch-lib_PLAAttribute.php Fri Jun 7 13:52:43 2024
@@ -1,922 +1,16 @@
-$NetBSD: patch-lib_PLAAttribute.php,v 1.1 2022/04/16 03:11:28 khorben Exp $
+$NetBSD: patch-lib_PLAAttribute.php,v 1.1.16.1 2024/06/07 13:52:43 bsiegert Exp $
---- lib/PLAAttribute.php.orig 2022-04-15 22:53:04.000000000 +0000
+Avoid deprecation warnings.
+
+--- lib/PLAAttribute.php.orig 2024-01-10 22:23:54.000000000 +0000
+++ lib/PLAAttribute.php
-@@ -0,0 +1,917 @@
-+<?php
-+/**
-+ * Classes and functions for the template engine.
-+ *
-+ * @author The phpLDAPadmin development team
-+ * @package phpLDAPadmin
-+ */
-+
-+/**
-+ * Represents an attribute of a template.
-+ *
-+ * @package phpLDAPadmin
-+ * @subpackage Templates
-+ */
-+class PLAAttribute {
-+ # Attribute Name
-+ public $name;
-+ # Source of this attribute definition
-+ protected $source;
-+
-+ # Current and Old Values
-+ protected $oldvalues = array();
-+ protected $values = array();
-+
-+ # MIN/MAX number of values
-+ protected $min_value_count = -1;
-+ protected $max_value_count = -1;
-+
-+ # Is the attribute internal
-+ protected $internal = false;
-+ # Has the attribute been modified
-+ protected $modified = false;
-+ # Is the attribute being deleted because of an object class removal
-+ protected $forcedelete = false;
-+ # Is the attribute visible
-+ protected $visible = false;
-+ protected $forcehide = false;
-+ # Is the attribute modifiable
-+ protected $readonly = false;
-+ # LDAP attribute type MUST/MAY
-+ protected $ldaptype = null;
-+ # Attribute property type (eg password, select, multiselect)
-+ protected $type = '';
-+ # Attribute value to keep unique
-+ protected $unique = false;
-+
-+ # Display parameters
-+ protected $display = '';
-+ protected $icon = '';
-+ protected $hint = '';
-+ # Helper details
-+ protected $helper = array();
-+ protected $helpervalue = array();
-+ # Onchange details
-+ protected $onchange = array();
-+ # Show spacer after this attribute is rendered
-+ protected $spacer = false;
-+ protected $verify = false;
-+
-+ # Component size
-+ protected $size = 0;
-+ # Value max length
-+ protected $maxlength = 0;
-+ # Text Area sizings
-+ protected $cols = 0;
-+ protected $rows = 0;
-+
-+ # Public for sorting
-+ public $page = 1;
-+ public $order = 255;
-+ public $ordersort = 255;
-+ public $rdn = false;
-+
-+ # Schema Aliases for this attribute (stored in lowercase)
-+ protected $aliases = array();
-+
-+ # Configuration for automatically generated values
-+ protected $autovalue = array();
-+ protected $postvalue = array();
-+
-+ public function __construct($name,$values,$server_id,$source=null) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $server = $_SESSION[APPCONFIG]->getServer($server_id);
-+
-+ $sattr = $server->getSchemaAttribute($name);
-+ if ($sattr) {
-+ $this->name = $sattr->getName(false);
-+ $this->setLDAPdetails($sattr);
-+
-+ } else
-+ $this->name = $name;
-+
-+ $this->source = $source;
-+
-+ # XML attributes are shown by default
-+ switch ($source) {
-+ case 'XML': $this->show();
-+ $this->setXML($values);
-+
-+ break;
-+
-+ default:
-+ if (! isset($values['values']))
-+ debug_dump_backtrace('no index "values"',1);
-+
-+ $this->initValue($values['values']);
-+ }
-+
-+ # Should this attribute be hidden
-+ if ($server->isAttrHidden($this->name))
-+ $this->forcehide = true;
-+
-+ # Should this attribute value be read only
-+ if ($server->isAttrReadOnly($this->name))
-+ $this->readonly = true;
-+
-+ # Should this attribute value be unique
-+ if ($server->isAttrUnique($this->name))
-+ $this->unique = true;
-+ }
-+
-+ /**
-+ * Return the name of the attribute.
-+ *
-+ * @param boolean $lower - Return the attribute in normal or lower case (default lower)
-+ * @param boolean $real - Return the real attribute name (with ;binary, or just the name)
-+ * @return string Attribute name
-+ */
-+ public function getName($lower=true,$real=false) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs,$this->name);
-+
-+ if ($real)
-+ return $lower ? strtolower($this->name) : $this->name;
-+ else
-+ return $lower ? strtolower($this->real_attr_name()) : $this->real_attr_name();
-+ }
-+
-+ public function getValues() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->values);
-+
-+ return $this->values;
-+ }
-+
-+ public function getOldValues() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->oldvalues);
-+
-+ return $this->oldvalues;
-+ }
-+
-+ public function getValueCount() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs,$this->values);
-+
-+ return count($this->values);
-+ }
-+
-+ public function getSource() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->source);
-+
-+ return $this->source;
-+ }
-+
-+ /**
-+ * Autovalue is called after the attribute is initialised, and thus the values from the ldap server will be set.
-+ */
-+ public function autoValue($new_val) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ if ($this->values)
-+ return;
-+
-+ $this->values = $new_val;
-+ }
-+
-+ public function initValue($new_val) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ if ($this->values || $this->oldvalues) {
-+ debug_dump(array('new_val'=>$new_val,'this'=>$this));
-+ debug_dump_backtrace('new and/or old values are set',1);
-+ }
-+
-+ $this->values = $new_val;
-+ }
-+
-+ public function clearValue() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->values = array();
-+ }
-+
-+ public function setOldValue($val) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->oldvalues = $val;
-+ }
-+
-+ public function setValue($new_val) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ if ($this->values) {
-+ if ($this->values == $new_val)
-+ return;
-+
-+ if ($this->oldvalues) {
-+ debug_dump($this);
-+ debug_dump_backtrace('old values are set',1);
-+ } else
-+ $this->oldvalues = $this->values;
-+ }
-+
-+ if ($new_val == $this->values)
-+ return;
-+
-+ $this->values = $new_val;
-+ $this->justModified();
-+ }
-+
-+ public function addValue($new_val,$i=-1) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ if ($i < 0)
-+ $i = $this->getValueCount();
-+
-+ $old_val = $this->getValue($i);
-+ if (is_null($old_val) || ($old_val != $new_val))
-+ $this->justModified();
-+
-+ $this->values[$i] = $new_val;
-+ }
-+
-+ public function delValue($i=-1) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ if ($i < 0)
-+ $this->setValue(array());
-+
-+ if (! $this->hasBeenModified())
-+ $this->oldvalues = $this->values;
-+
-+ if (isset($this->values[$i])) {
-+ unset($this->values[$i]);
-+ $this->values = array_values($this->values);
-+ $this->justModified();
-+ }
-+ }
-+
-+ public function getValue($i) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ if (isset($this->values[$i]))
-+ return $this->values[$i];
-+ else
-+ return null;
-+ }
-+
-+ public function getOldValue($i) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ if (isset($this->oldvalues[$i]))
-+ return $this->oldvalues[$i];
-+ else
-+ return null;
-+ }
-+
-+ public function getMinValueCount() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->min_value_count);
-+
-+ return $this->min_value_count;
-+ }
-+
-+ public function setMinValueCount($min) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->min_value_count = $min;
-+ }
-+
-+ public function getMaxValueCount() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->max_value_count);
-+
-+ return $this->max_value_count;
-+ }
-+
-+ public function setMaxValueCount($max) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->max_value_count = $max;
-+ }
-+
-+ public function haveMoreValues() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ if ($this->getMaxValueCount() < 0 || ($this->getValueCount() < $this->getMaxValueCount()))
-+ return true;
-+ else
-+ return false;
-+ }
-+
-+ public function justModified() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->modified = true;
-+ }
-+
-+ public function hasBeenModified() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->modified);
-+
-+ return $this->modified;
-+ }
-+
-+ public function isForceDelete() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->forcedelete);
-+
-+ return $this->forcedelete;
-+ }
-+
-+ public function setForceDelete() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->forcedelete = true;
-+ $this->oldvalues = $this->values;
-+ $this->values = array();
-+ $this->justModified();
-+ }
-+
-+ public function isInternal() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->internal);
-+
-+ return $this->internal;
-+ }
-+
-+ public function setInternal() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->internal = true;
-+ }
-+
-+ public function isRequired() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ if ($this->getMinValueCount() > 0)
-+ return true;
-+ elseif ($this->ldaptype == 'must')
-+ return true;
-+ elseif ($this->isRDN())
-+ return true;
-+ else
-+ return false;
-+ }
-+
-+ public function isMay() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ if (($this->ldaptype == 'may') && ! $this->isRequired())
-+ return true;
-+ else
-+ return false;
-+ }
-+
-+ public function setType($type) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->type = strtolower($type);
-+ }
-+
-+ public function getType() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->type);
-+
-+ return $this->type;
-+ }
-+
-+ public function setLDAPtype($type) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->ldaptype = strtolower($type);
-+ }
-+
-+ public function getLDAPtype() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->ldaptype);
-+
-+ return $this->ldaptype;
-+ }
-+
-+ public function setProperties($properties) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ foreach ($properties as $index => $value) {
-+ if ($index == 'maxvalnb') {
-+ $this->setMaxValueCount($value);
-+ continue;
-+
-+ } elseif ($index == 'minvalnb') {
-+ $this->setMinValueCount($value);
-+ continue;
-+
-+ } elseif ($index == 'maxlength') {
-+ $this->setMinValueCount($value);
-+ continue;
-+
-+ } elseif ($index == 'hidden') {
-+ $this->visible = $value;
-+ continue;
-+
-+ } elseif (in_array($index,array('cols','rows'))) {
-+ # @todo To be implemented
-+ continue;
-+ }
-+
-+ if (isset($this->$index))
-+ $this->$index = $value;
-+ else {
-+ debug_dump($this);
-+ debug_dump_backtrace(sprintf('Unknown property (%s) with value (%s) for (%s)',$index,$value,$this->getName()),1);
-+ }
-+ }
-+ }
-+
-+ public function setRequired() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ if ($this->getMinValueCount() <= 0)
-+ $this->setMinValueCount(1);
-+ }
-+
-+ public function setOptional() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->setMinValueCount(0);
-+ }
-+
-+ public function isReadOnly() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->readonly);
-+
-+ return $this->readonly;
-+ }
-+
-+ public function setReadOnly() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->readonly = true;
-+ }
-+
-+ public function isMultiple() {
-+ return false;
-+ }
-+
-+ public function isVisible() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ return $this->visible && (! $this->forcehide);
-+ }
-+
-+ public function hide() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->visible = false;
-+ }
-+
-+ public function show() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->visible = true;
-+ }
-+
-+ public function haveFriendlyName() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ return $_SESSION[APPCONFIG]->haveFriendlyName($this);
-+ }
-+
-+ public function getFriendlyName() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->display);
-+
-+ if ($this->display)
-+ return $this->display;
-+ else
-+ return $_SESSION[APPCONFIG]->getFriendlyName($this);
-+ }
-+
-+ public function setDescription($description) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->description = $description;
-+ }
-+
-+ public function getDescription() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->description);
-+
-+ return $this->description;
-+ }
-+
-+ public function setIcon($icon) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->icon = $icon;
-+ }
-+
-+ public function getIcon() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->icon);
-+
-+ return $this->icon ? sprintf('%s/%s',IMGDIR,$this->icon) : '';
-+ }
-+
-+ public function getHint() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->hint);
-+
-+ return $this->hint;
-+ }
-+
-+ public function setHint($hint) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->hint = $hint;
-+ }
-+
-+ public function getMaxLength() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->maxlength);
-+
-+ return $this->maxlength;
-+ }
-+
-+ public function setMaxLength($maxlength) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->maxlength = $maxlength;
-+ }
-+
-+ public function getSize() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->size);
-+
-+ return $this->size;
-+ }
-+
-+ public function setSize($size) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->size = $size;
-+ }
-+
-+ public function getSpacer() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->spacer);
-+
-+ return $this->spacer;
-+ }
-+
-+ public function getPage() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->page);
-+
-+ return $this->page;
-+ }
-+ public function setPage($page) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->page = $page;
-+ }
-+
-+ public function getOnChange() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->onchange);
-+
-+ return $this->onchange;
-+ }
-+
-+ public function getHelper() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->helper);
-+
-+ return $this->helper;
-+ }
-+
-+ public function getHelperValue() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->helpervalue);
-+
-+ return $this->helpervalue;
-+ }
-+
-+ public function getVerify() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->verify);
-+
-+ return $this->verify;
-+ }
-+
-+ public function setRDN($rdn) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->rdn = $rdn;
-+ }
-+
-+ /**
-+ * Return if this attribute is an RDN attribute
-+ *
-+ * @return boolean
-+ */
-+ public function isRDN() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs,$this->rdn);
-+
-+ return $this->rdn;
-+ }
-+
-+ /**
-+ * Capture all the LDAP details we are interested in
-+ *
-+ * @param sattr Schema Attribute
-+ */
-+ private function setLDAPdetails($sattr) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ # By default, set this as a MAY attribute, later processing should make it a MUST attribute if it is.
-+ if (! $this->ldaptype)
-+ $this->ldaptype = 'may';
-+
-+ # Store our Aliases
-+ foreach ($sattr->getAliases() as $alias)
-+ array_push($this->aliases,strtolower($alias));
-+
-+ if ($sattr->getIsSingleValue())
-+ $this->setMaxValueCount(1);
-+ }
-+
-+ /**
-+ * Return a list of aliases for this Attribute (as defined by the schema)
-+ * This list will be lowercase.
-+ */
-+ public function getAliases() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->aliases);
-+
-+ return $this->aliases;
-+ }
-+
-+ public function getAutoValue() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->autovalue);
-+
-+ return $this->autovalue;
-+ }
-+
-+ public function getPostValue() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs,$this->postvalue);
-+
-+ return $this->postvalue;
-+ }
-+
-+ public function setPostValue($postvalue) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,1,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ $this->postvalue = $postvalue;
-+ }
-+
-+ public function setXML($values) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ # Mostly all the time, this should be an array
-+ if (is_array($values))
-+ foreach ($values as $index => $value)
-+ switch ($index) {
-+ # Helpers should be accompanied with a <post> attribute.
-+ case 'helper':
-+ if (! isset($values['post']) && ! $_SESSION[APPCONFIG]->getValue('appearance','hide_template_warning'))
-+ system_message(array(
-+ 'title'=>sprintf('%s [<i>%s</i>]',_('Missing [post] setting in XML file'),$index),
-+ 'body'=>_('[helper] needs an accompanying [post] action.'),
-+ 'type'=>'warn'));
-+
-+ if (isset($value['value']) && ! is_array($value['value']) && preg_match('/^=php\.(\w+)\((.*)\)$/',$value['value'],$matches)) {
-+ $this->helpervalue['function'] = $matches[1];
-+ $this->helpervalue['args'] = $matches[2];
-+
-+ unset ($value['value']);
-+ }
-+
-+ foreach ($value as $i => $detail) {
-+ if (! in_array($i,array('default','display','id','value'))) {
-+ if (! $_SESSION[APPCONFIG]->getValue('appearance','hide_template_warning'))
-+ system_message(array(
-+ 'title'=>sprintf('%s [<i>%s</i>]',_('Unknown XML setting'),$i),
-+ 'body'=>sprintf('%s <small>[%s]</small>',_('Unknown XML type setting for helper will be ignored.'),$detail),
-+ 'type'=>'warn'));
-+
-+ unset($value[$i]);
-+ }
-+ }
-+
-+ $this->$index = $value;
-+
-+ break;
-+
-+ case 'hidden': $value ? $this->visible = false : $this->visible = true;
-+ break;
-+
-+ case 'spacer': $value ? $this->$index = true : $this->$index = false;
-+ break;
-+
-+ # Essentially, we ignore type, it is used to select an Attribute type in the Factory. But we'll generated a warning if there is an unknown type.
-+ case 'type':
-+ if (! in_array($value,array('password','multiselect','select','textarea')) && ! $_SESSION[APPCONFIG]->getValue('appearance','hide_template_warning'))
-+ system_message(array(
-+ 'title'=>sprintf('%s [<i>%s</i>]',_('Unknown XML setting'),$index),
-+ 'body'=>sprintf('%s <small>[%s]</small>',_('Unknown XML type setting will be ignored.'),$value),
-+ 'type'=>'warn'));
-+
-+ break;
-+
-+ case 'post':
-+ if (preg_match('/^=php\.(\w+)\((.*)\)$/',$value,$matches)) {
-+ $this->postvalue['function'] = $matches[1];
-+ $this->postvalue['args'] = $matches[2];
-+
-+ } else
-+ if (! $_SESSION[APPCONFIG]->getValue('appearance','hide_template_warning'))
-+ system_message(array(
-+ 'title'=>sprintf('%s [<i>%s</i>]',_('Unknown XML setting'),$index),
-+ 'body'=>sprintf('%s <small>[%s]</small>',_('Unknown XML type setting will be ignored.'),$value),
-+ 'type'=>'warn'));
-+
-+ case 'value':
-+ if (is_array($value))
-+ foreach ($value as $x => $y) {
-+ if (! $this->haveMoreValues()) {
-+ system_message(array(
-+ 'title'=>_('Automatically removed attribute values from template'),
-+ 'body'=>sprintf('%s <small>[%s]</small>',_('Template defines more values than can be accepted by
attribute.'),$this->getName(true)),
-+ 'type'=>'warn'));
-+
-+ $this->clearValue();
-+
-+ break;
-+
-+ } else
-+ $this->addValue($x,$y);
-+ }
-+
-+ else
-+ # Check to see if the value is auto generated.
-+ if (preg_match('/^=php\.(\w+)\((.*)\)$/',$value,$matches)) {
-+ $this->autovalue['function'] = $matches[1];
-+ $this->autovalue['args'] = $matches[2];
-+
-+ # We'll add a hint too
-+ if (! $this->hint)
-+ $this->hint = _('Automatically determined');
-+
-+ } else
-+ $this->addValue($value);
-+
-+ break;
-+
-+ # Queries
-+ case 'ordersort':
-+
-+ # Creation/Editing Templates
-+ case 'cols':
-+ case 'default':
-+ case 'display':
-+ case 'hint':
-+ case 'icon':
-+ case 'maxlength':
-+ case 'onchange':
-+ case 'order':
-+ case 'page':
-+ case 'readonly':
-+ case 'rows':
-+ case 'size':
-+ case 'values':
-+ case 'verify': $this->$index = $value;
-+ break;
-+
-+ case 'max':
-+ if ($this->getMaxValueCount() == -1)
-+ $this->setMaxValueCount($value);
-+
-+ default:
-+ if (! $_SESSION[APPCONFIG]->getValue('appearance','hide_template_warning'))
-+ system_message(array(
-+ 'title'=>sprintf('%s [<i>%s</i>]',_('Unknown XML setting'),$index),
-+ 'body'=>sprintf('%s <small>[%s]</small>',_('Unknown attribute setting will be ignored.'),serialize($value)),
-+ 'type'=>'warn'));
-+ }
-+
-+ elseif (is_string($values) && (strlen($values) > 0))
-+ $this->values = array($values);
-+ }
-+
-+ /**
-+ * Display the values removed in an attribute.
-+ */
-+ public function getRemovedValues() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ return array_diff($this->getOldValues(),$this->getValues());
-+ }
-+
-+ /**
-+ * Display the values removed in an attribute.
-+ */
-+ public function getAddedValues() {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ return array_diff($this->getValues(),$this->getOldValues());
-+ }
-+
-+ /**
-+ * Prunes off anything after the ";" in an attr name. This is useful for
-+ * attributes that may have ";binary" appended to their names. With
-+ * real_attr_name(), you can more easily fetch these attributes' schema
-+ * with their "real" attribute name.
-+ *
-+ * @param string $attr_name The name of the attribute to examine.
-+ * @return string
-+ */
-+ private function real_attr_name() {
-+ 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);
-+ }
-+
-+ /**
-+ * Does this attribute need supporting JS
-+ */
-+ public function needJS($type=null) {
-+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
-+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
-+
-+ if (is_null($type)) {
-+ foreach (array('focus','blur','validate') as $type)
-+ if ($this->needJS($type))
-+ return true;
-+
-+ return false;
-+
-+ } elseif ($type == 'focus') {
-+ # We dont have any focus javascript routines.
-+ return false;
-+
-+ } elseif ($type == 'blur') {
-+ if ($this->onchange || $this->isRequired())
-+ return true;
-+ else
-+ return false;
-+
-+ } elseif ($type == 'validate') {
-+ if ($this->isRequired())
-+ return true;
-+ else
-+ return false;
-+
-+ } else
-+ debug_dump_backtrace(sprintf('Unknown JS request %s',$type),1);
-+ }
-+}
-+?>
+@@ -78,6 +78,9 @@ class PLAAttribute {
+ protected $autovalue = array();
+ protected $postvalue = array();
+
++ # Additional properties
++ public $js;
++
+ public function __construct($name,$values,$server_id,$source=null) {
+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
Index: pkgsrc/databases/phpldapadmin/patches/patch-lib_xmlTemplates.php
diff -u pkgsrc/databases/phpldapadmin/patches/patch-lib_xmlTemplates.php:1.1 pkgsrc/databases/phpldapadmin/patches/patch-lib_xmlTemplates.php:1.1.16.1
--- pkgsrc/databases/phpldapadmin/patches/patch-lib_xmlTemplates.php:1.1 Sat Apr 16 03:11:28 2022
+++ pkgsrc/databases/phpldapadmin/patches/patch-lib_xmlTemplates.php Fri Jun 7 13:52:44 2024
@@ -1,13 +1,16 @@
-$NetBSD: patch-lib_xmlTemplates.php,v 1.1 2022/04/16 03:11:28 khorben Exp $
+$NetBSD: patch-lib_xmlTemplates.php,v 1.1.16.1 2024/06/07 13:52:44 bsiegert Exp $
---- lib/xmlTemplates.php.orig 2012-10-01 06:54:14.000000000 +0000
+Avoid deprecation warnings.
+
+--- lib/xmlTemplates.php.orig 2024-01-10 22:23:54.000000000 +0000
+++ lib/xmlTemplates.php
-@@ -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');
- }
- }
+@@ -272,6 +272,9 @@ abstract class xmlTemplate {
+ # The TEMPLATE attributes as per the template definition, or the DN entry
+ protected $attributes = array();
++ # Additional properties
++ protected $askcontainer;
++
+ public function __construct($server_id,$name='',$filename=null,$type=null,$id=null) {
+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
+ debug_log('Entered (%%)',5,0,__FILE__,__LINE__,__METHOD__,$fargs);
Added files:
Index: pkgsrc/databases/phpldapadmin/patches/patch-lib_TemplateRender.php
diff -u /dev/null pkgsrc/databases/phpldapadmin/patches/patch-lib_TemplateRender.php:1.3.2.2
--- /dev/null Fri Jun 7 13:52:44 2024
+++ pkgsrc/databases/phpldapadmin/patches/patch-lib_TemplateRender.php Fri Jun 7 13:52:43 2024
@@ -0,0 +1,16 @@
+$NetBSD: patch-lib_TemplateRender.php,v 1.3.2.2 2024/06/07 13:52:43 bsiegert Exp $
+
+Avoid deprecation warnings.
+
+--- lib/TemplateRender.php.orig 2024-01-10 22:23:54.000000000 +0000
++++ lib/TemplateRender.php
+@@ -16,6 +16,9 @@ class TemplateRender extends PageRender
+ # Page number
+ private $pagelast;
+
++ # Additional properties
++ private $layout, $url_base;
++
+ /** CORE FUNCTIONS **/
+
+ /**
Index: pkgsrc/databases/phpldapadmin/patches/patch-lib_page.php
diff -u /dev/null pkgsrc/databases/phpldapadmin/patches/patch-lib_page.php:1.1.2.2
--- /dev/null Fri Jun 7 13:52:44 2024
+++ pkgsrc/databases/phpldapadmin/patches/patch-lib_page.php Fri Jun 7 13:52:44 2024
@@ -0,0 +1,16 @@
+$NetBSD: patch-lib_page.php,v 1.1.2.2 2024/06/07 13:52:44 bsiegert Exp $
+
+Avoid deprecation warnings.
+
+--- lib/page.php.orig 2024-05-08 18:12:37.313204677 +0000
++++ lib/page.php
+@@ -25,6 +25,9 @@ class page {
+ # Default values array.
+ protected $_default;
+
++ # Additional properties
++ protected $index, $sysmsg, $_block;
++
+ public function __construct($index=null) {
+ if (defined('DEBUG_ENABLED') && DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
+ debug_log('Entered (%%)',129,0,__FILE__,__LINE__,__METHOD__,$fargs);
Index: pkgsrc/databases/phpldapadmin/patches/patch-lib_schema__functions.php
diff -u /dev/null pkgsrc/databases/phpldapadmin/patches/patch-lib_schema__functions.php:1.1.2.2
--- /dev/null Fri Jun 7 13:52:44 2024
+++ pkgsrc/databases/phpldapadmin/patches/patch-lib_schema__functions.php Fri Jun 7 13:52:44 2024
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_schema__functions.php,v 1.1.2.2 2024/06/07 13:52:44 bsiegert Exp $
+
+Avoid deprecation warnings.
+
+--- lib/schema_functions.php.orig 2024-01-10 22:23:54.000000000 +0000
++++ lib/schema_functions.php
+@@ -24,7 +24,7 @@ abstract class SchemaItem {
+ # The description of this schema item.
+ protected $description = '';
+ # Boolean value indicating whether this objectClass is obsolete
+- private $is_obsolete = false;
++ protected $is_obsolete = false;
+
+ public function setOID($oid) {
+ if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
Home |
Main Index |
Thread Index |
Old Index