Bug#1040949: bookworm-pu: package gosa/2.8~git20230203.10abe45+dfsg-1+deb12u1
Mike Gabriel
mike.gabriel at das-netzwerkteam.de
Wed Jul 12 23:20:20 BST 2023
Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian.org at packages.debian.org
Usertags: pu
X-Debbugs-Cc: gosa at packages.debian.org
Control: affects -1 + src:gosa
GOsa²'s PHP 8.2 support was rather poor at the release time of Debian 12.
This update will amend various issues found while testing GOsa² with
Debian Edu.
[ Reason ]
Various issues could be resolved:
* deprecation warnings
* missing smarty template file
* broken debug support
[ Impact ]
Only GOsa² users will be affected by this upload.
[ Tests ]
Manual tests on Debian Edu TJENER system.
[ Risks ]
Introduction of regressions in GOsa² in Debian 12.
[ Checklist ]
[x] *all* changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in (old)stable
[x] the issue is verified as fixed in unstable
[ Changes ]
+ [ Mike Gabriel ]
+ * debian/patches:
+ + Add 1003_php-deprecations.patch. Silence various PHP 8.2 deprecation
+ warnings. (Closes: #1038682).
+
+ [ Daniel Teichmann ]
+ * debian/patches:
+ + Add 1004_missing_templates.patch. (Closes: #1039697)
+ + Update 1002_php82-allow-dynamic-properties.patch: Tolerate dyn. prop. for
+ ALL PHP classes. (Closes: #1039894)
+ + Add 1005_preg_replace_deprecation.patch.
+ + Add 1006_fix-overflow-debug-print_a-func.patch. (Closes: #1040839)
[ Other info ]
This might not be the last pu of GOsa² to bookworm. But various noises
should be reduced after this update has landed. We also work with
upstream on amending the patched issues there.
-------------- next part --------------
diff -Nru gosa-2.8~git20230203.10abe45+dfsg/debian/changelog gosa-2.8~git20230203.10abe45+dfsg/debian/changelog
--- gosa-2.8~git20230203.10abe45+dfsg/debian/changelog 2023-02-06 20:43:44.000000000 +0100
+++ gosa-2.8~git20230203.10abe45+dfsg/debian/changelog 2023-07-12 23:12:05.000000000 +0200
@@ -1,3 +1,20 @@
+gosa (2.8~git20230203.10abe45+dfsg-1+deb12u1) bookworm; urgency=medium
+
+ [ Mike Gabriel ]
+ * debian/patches:
+ + Add 1003_php-deprecations.patch. Silence various PHP 8.2 deprecation
+ warnings. (Closes: #1038682).
+
+ [ Daniel Teichmann ]
+ * debian/patches:
+ + Add 1004_missing_templates.patch. (Closes: #1039697)
+ + Update 1002_php82-allow-dynamic-properties.patch: Tolerate dyn. prop. for
+ ALL PHP classes. (Closes: #1039894)
+ + Add 1005_preg_replace_deprecation.patch.
+ + Add 1006_fix-overflow-debug-print_a-func.patch. (Closes: #1040839)
+
+ -- Mike Gabriel <sunweaver at debian.org> Wed, 12 Jul 2023 23:12:05 +0200
+
gosa (2.8~git20230203.10abe45+dfsg-1) unstable; urgency=medium
* New upstream Git snapshot.
diff -Nru gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1002_php82-allow-dynamic-properties.patch gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1002_php82-allow-dynamic-properties.patch
--- gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1002_php82-allow-dynamic-properties.patch 2023-01-21 20:42:25.000000000 +0100
+++ gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1002_php82-allow-dynamic-properties.patch 2023-07-12 23:10:08.000000000 +0200
@@ -1,6 +1,200 @@
-Description: Tolerate dynamic properties in managepws class, deprecated in PHP 8.2
-Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
-
+Description: Tolerate dynamic properties in all classes, deprecated in PHP 8.2
+Author: Daniel Teichmann <daniel.teichmann at das-netzwerkteam.de>
+
+--- a/include/class_CopyPasteHandler.inc
++++ b/include/class_CopyPasteHandler.inc
+@@ -22,6 +22,7 @@
+
+ define("LDAP_DUMP_PATH","/var/cache/gosa/tmp");
+
++#[\AllowDynamicProperties]
+ class CopyPasteHandler {
+
+ var $config;
+--- a/include/class_GOsaRegistration.inc
++++ b/include/class_GOsaRegistration.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class GOsaRegistration
+ {
+
+--- a/include/class_ItemSelector.inc
++++ b/include/class_ItemSelector.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class ItemSelector {
+
+ public $base;
+--- a/include/class_SnapShotDialog.inc
++++ b/include/class_SnapShotDialog.inc
+@@ -21,6 +21,7 @@
+ */
+
+ /* Snap shot dialog class */
++#[\AllowDynamicProperties]
+ class SnapShotDialog extends plugin
+ {
+ var $config;
+--- a/include/class_SnapshotHandler.inc
++++ b/include/class_SnapshotHandler.inc
+@@ -21,6 +21,7 @@
+ */
+
+
++#[\AllowDynamicProperties]
+ class SnapshotHandler {
+
+ var $config;
+--- a/include/class_acl.inc
++++ b/include/class_acl.inc
+@@ -21,6 +21,8 @@
+ */
+
+ /*! \brief ACL management plugin */
++
++#[\AllowDynamicProperties]
+ class acl extends plugin
+ {
+ /* Definitions */
+--- a/include/class_baseSelector.inc
++++ b/include/class_baseSelector.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class baseSelector
+ {
+ private $base;
+--- a/include/class_certificate.inc
++++ b/include/class_certificate.inc
+@@ -26,6 +26,7 @@
+ define("PEM","pem");
+ define("DER","der");
+
++#[\AllowDynamicProperties]
+ class certificate
+ {
+ /* vars */
+--- a/include/class_config.inc
++++ b/include/class_config.inc
+@@ -27,6 +27,7 @@
+ * gosa configuration file.
+ */
+
++#[\AllowDynamicProperties]
+ class config {
+
+ /* XML parser */
+--- a/include/class_configRegistry.inc
++++ b/include/class_configRegistry.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class configRegistry{
+
+ public $config = NULL;
+@@ -573,7 +574,7 @@
+ }
+ }
+
+-
++#[\AllowDynamicProperties]
+ class gosaProperty
+ {
+ protected $name = "";
+--- a/include/class_core.inc
++++ b/include/class_core.inc
+@@ -106,6 +106,7 @@
+ */
+
+
++#[\AllowDynamicProperties]
+ class all extends plugin {
+ static function plInfo()
+ {
+@@ -122,6 +123,7 @@
+ }
+ }
+
++#[\AllowDynamicProperties]
+ class core extends plugin {
+
+ static function getPropertyValues($class,$name,$value,$type)
+--- a/include/class_departmentSortIterator.inc
++++ b/include/class_departmentSortIterator.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class departmentSortIterator implements Iterator {
+ private $data;
+
+--- a/include/class_filter.inc
++++ b/include/class_filter.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class filter
+ {
+ public $searches = [];
+--- a/include/class_filterLDAP.inc
++++ b/include/class_filterLDAP.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class filterLDAP {
+
+ static function query($base, $scope, $filter, $attributes, $category, $objectStorage= array(""))
+--- a/include/class_filterNOACL.inc
++++ b/include/class_filterNOACL.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class filterNOACL extends filterLDAPBlacklist{
+
+ static function query($base, $scope, $filter, $attributes, $category, $objectStorage= array(""))
+--- a/include/class_jsonRPC.inc
++++ b/include/class_jsonRPC.inc
+@@ -1,6 +1,7 @@
+ <?php
+
+
++#[\AllowDynamicProperties]
+ class jsonRPC {
+
+ private $curlHandler = NULL;
+--- a/include/class_ldap.inc
++++ b/include/class_ldap.inc
+@@ -28,6 +28,7 @@
+ define("INSERT_OK",10000);
+ define("SPECIALS_OVERRIDE", TRUE);
+
++#[\AllowDynamicProperties]
+ class LDAP
+ {
+ public static $characterMap = NULL;
+--- a/include/class_ldapMultiplexer.inc
++++ b/include/class_ldapMultiplexer.inc
+@@ -21,6 +21,7 @@
+ */
+
+
++#[\AllowDynamicProperties]
+ class ldapMultiplexer {
+
+ /* Internal stuff */
--- a/include/class_listing.inc
+++ b/include/class_listing.inc
@@ -20,6 +20,7 @@
@@ -11,6 +205,16 @@
class listing
{
public $xmlData;
+--- a/include/class_listingSortIterator.inc
++++ b/include/class_listingSortIterator.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class listingSortIterator implements Iterator {
+ private $data;
+
--- a/include/class_management.inc
+++ b/include/class_management.inc
@@ -20,6 +20,7 @@
@@ -21,6 +225,75 @@
class management
{
// Public
+--- a/include/class_msg_dialog.inc
++++ b/include/class_msg_dialog.inc
+@@ -27,6 +27,7 @@
+ define("OK_CANCEL_DIALOG" , 10005);
+ define("FATAL_ERROR_DIALOG" , 10006);
+
++#[\AllowDynamicProperties]
+ class msg_dialog
+ {
+ private $s_Title = "Undefined";
+--- a/include/class_multi_plug.inc
++++ b/include/class_multi_plug.inc
+@@ -121,6 +121,7 @@
+ 2. All given objects specified by '$dn' will be initialized and the collected
+ data from the dummy object will be populated to them.
+ */
++#[\AllowDynamicProperties]
+ class multi_plug
+ {
+ /* Tab handler for each given dn entry */
+--- a/include/class_pathNavigator.inc
++++ b/include/class_pathNavigator.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class pathNavigator
+ {
+ public static function registerPlugin($class, $title = '')
+--- a/include/class_plugin.inc
++++ b/include/class_plugin.inc
+@@ -30,6 +30,7 @@
+ within this class. Extend your plugins from this class.
+ */
+
++#[\AllowDynamicProperties]
+ class plugin
+ {
+ /*! \brief The title shown in path menu while this plugin is visible.
+--- a/include/class_pluglist.inc
++++ b/include/class_pluglist.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class pluglist
+ {
+ // The id of the last registered plugin id
+--- a/include/class_releaseSelector.inc
++++ b/include/class_releaseSelector.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class releaseSelector {
+
+ public $base;
+--- a/include/class_remoteObject.inc
++++ b/include/class_remoteObject.inc
+@@ -6,6 +6,7 @@
+ * on the server using RPC calls.
+ * Properties will bestored directly (directStorage=TRUE) or when commit() is called.
+ */
++#[\AllowDynamicProperties]
+ class remoteObject
+ {
+ private $rpcHandle;
--- a/include/class_session.inc
+++ b/include/class_session.inc
@@ -20,6 +20,7 @@
@@ -31,3 +304,1060 @@
class session {
public static function get_session_size()
+--- a/include/class_socketClient.inc
++++ b/include/class_socketClient.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class Socket_Client
+ {
+ private $host = "";
+--- a/include/class_sortableListing.inc
++++ b/include/class_sortableListing.inc
+@@ -24,6 +24,7 @@
+ define('LIST_MARKED', 1);
+ define('LIST_DISABLED', 2);
+
++#[\AllowDynamicProperties]
+ class sortableListing
+ {
+ private $header= null;
+--- a/include/class_stats.inc
++++ b/include/class_stats.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class stats
+ {
+
+--- a/include/class_tabs.inc
++++ b/include/class_tabs.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class tabs
+ {
+ var $dn;
+--- a/include/class_userFilter.inc
++++ b/include/class_userFilter.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class userFilter extends plugin
+ {
+ public $pathTitle= "Filter";
+--- a/include/class_userFilterEditor.inc
++++ b/include/class_userFilterEditor.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class userFilterEditor extends plugin
+ {
+ public $pathTitle= "Edit";
+--- a/include/class_userinfo.inc
++++ b/include/class_userinfo.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class userinfo
+ {
+ var $dn;
+--- a/include/exporter/class_csvExporter.inc
++++ b/include/exporter/class_csvExporter.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class csvExporter
+ {
+ var $result;
+--- a/include/exporter/class_pdfExporter.inc
++++ b/include/exporter/class_pdfExporter.inc
+@@ -10,6 +10,7 @@
+ include('class_PDF.inc');
+ }
+
++#[\AllowDynamicProperties]
+ class pdfExporter
+ {
+ var $result;
+--- a/include/functions_debug.inc
++++ b/include/functions_debug.inc
+@@ -65,6 +65,7 @@
+ ** Stephan Pirson (Saibot)
+ ************************************************/
+
++#[\AllowDynamicProperties]
+ class Print_a_class {
+
+ # this can be changed to FALSE if you don't like the fancy string formatting
+--- a/include/functions_helpviewer.inc
++++ b/include/functions_helpviewer.inc
+@@ -21,6 +21,7 @@
+ */
+
+ /* Simple class to parse the xml help file */
++#[\AllowDynamicProperties]
+ class parseXml
+ {
+ var $parser;
+--- a/include/password-methods/class_password-methods-clear.inc
++++ b/include/password-methods/class_password-methods-clear.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class passwordMethodClear extends passwordMethod
+ {
+ var $lockable = FALSE;
+--- a/include/password-methods/class_password-methods-crypt.inc
++++ b/include/password-methods/class_password-methods-crypt.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class passwordMethodCrypt extends passwordMethod
+ {
+ function __construct($config)
+--- a/include/password-methods/class_password-methods-md5.inc
++++ b/include/password-methods/class_password-methods-md5.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class passwordMethodMd5 extends passwordMethod
+ {
+ function __construct($config)
+--- a/include/password-methods/class_password-methods-remote.inc
++++ b/include/password-methods/class_password-methods-remote.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class passwordMethodRemote extends passwordMethod
+ {
+ var $dn = "";
+--- a/include/password-methods/class_password-methods-sasl.inc
++++ b/include/password-methods/class_password-methods-sasl.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class passwordMethodsasl extends passwordMethod
+ {
+ var $dn = "";
+--- a/include/password-methods/class_password-methods-sha.inc
++++ b/include/password-methods/class_password-methods-sha.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class passwordMethodsha extends passwordMethod
+ {
+ function __construct($config)
+--- a/include/password-methods/class_password-methods-smd5.inc
++++ b/include/password-methods/class_password-methods-smd5.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class passwordMethodsmd5 extends passwordMethod
+ {
+ function __construct($config)
+--- a/include/password-methods/class_password-methods-ssha.inc
++++ b/include/password-methods/class_password-methods-ssha.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class passwordMethodssha extends passwordMethod
+ {
+ function __construct($config)
+--- a/include/password-methods/class_password-methods.inc
++++ b/include/password-methods/class_password-methods.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class passwordMethod
+ {
+ var $config = false;
+--- a/include/utils/class_msgPool.inc
++++ b/include/utils/class_msgPool.inc
+@@ -7,6 +7,7 @@
+ define ("LDAP_AUTH", 6);
+
+ /*! \brief Some common needed messages */
++#[\AllowDynamicProperties]
+ class msgPool
+ {
+
+--- a/include/utils/class_tests.inc
++++ b/include/utils/class_tests.inc
+@@ -31,6 +31,7 @@
+ * The functions need to be handled with care, because they are not as strict
+ * as one might expect.
+ */
++#[\AllowDynamicProperties]
+ class tests {
+
+ /*! \brief Test if the given string is a phone number */
+--- a/include/utils/class_timezone.inc
++++ b/include/utils/class_timezone.inc
+@@ -18,6 +18,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class timezone {
+
+ /* This function returns the offset for the default timezone.
+--- a/include/utils/class_xml.inc
++++ b/include/utils/class_xml.inc
+@@ -19,6 +19,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class xml {
+
+ static function validate($file, $schema) {
+--- a/include/utils/excel/class.writeexcel_biffwriter.inc.php
++++ b/include/utils/excel/class.writeexcel_biffwriter.inc.php
+@@ -24,6 +24,7 @@
+ * Spreadsheet::WriteExcel was written by John McNamara, jmcnamara at cpan.org
+ */
+
++#[\AllowDynamicProperties]
+ class writeexcel_biffwriter {
+ var $byte_order;
+ var $BIFF_version;
+--- a/include/utils/excel/class.writeexcel_format.inc.php
++++ b/include/utils/excel/class.writeexcel_format.inc.php
+@@ -24,6 +24,7 @@
+ * Spreadsheet::WriteExcel was written by John McNamara, jmcnamara at cpan.org
+ */
+
++#[\AllowDynamicProperties]
+ class writeexcel_format {
+
+ var $_xf_index;
+--- a/include/utils/excel/class.writeexcel_formula.inc.php
++++ b/include/utils/excel/class.writeexcel_formula.inc.php
+@@ -66,6 +66,7 @@
+ // @const SPREADSHEET_EXCEL_WRITER_NE token identifier for character "<>"
+
+
++#[\AllowDynamicProperties]
+ class writeexcel_formula {
+
+ ###############################################################################
+--- a/include/utils/excel/class.writeexcel_olewriter.inc.php
++++ b/include/utils/excel/class.writeexcel_olewriter.inc.php
+@@ -24,6 +24,7 @@
+ * Spreadsheet::WriteExcel was written by John McNamara, jmcnamara at cpan.org
+ */
+
++#[\AllowDynamicProperties]
+ class writeexcel_olewriter {
+ var $_OLEfilename;
+ var $_OLEtmpfilename; /* ABR */
+--- a/include/utils/excel/class.writeexcel_workbook.inc.php
++++ b/include/utils/excel/class.writeexcel_workbook.inc.php
+@@ -29,6 +29,7 @@
+ require_once "class.writeexcel_formula.inc.php";
+ require_once "class.writeexcel_olewriter.inc.php";
+
++#[\AllowDynamicProperties]
+ class writeexcel_workbook extends writeexcel_biffwriter {
+
+ var $_filename;
+--- a/include/utils/excel/class.writeexcel_worksheet.inc.php
++++ b/include/utils/excel/class.writeexcel_worksheet.inc.php
+@@ -26,6 +26,7 @@
+
+ require_once "class.writeexcel_biffwriter.inc.php";
+
++#[\AllowDynamicProperties]
+ class writeexcel_worksheet extends writeexcel_biffwriter {
+
+ var $_name;
+--- a/plugins/addons/dyngroup/class_DynamicLdapGroup.inc
++++ b/plugins/addons/dyngroup/class_DynamicLdapGroup.inc
+@@ -25,6 +25,7 @@
+ * @author Thomas Chemineau - thomas.chemineau<at>gmail.com
+ * @version 0.01
+ */
++#[\AllowDynamicProperties]
+ class DynamicLdapGroup extends plugin
+ {
+
+--- a/plugins/addons/propertyEditor/class_commandVerifier.inc
++++ b/plugins/addons/propertyEditor/class_commandVerifier.inc
+@@ -1,4 +1,5 @@
+ <?php
++#[\AllowDynamicProperties]
+ class commandVerifier
+ {
+ private $property = NULL;
+--- a/plugins/addons/propertyEditor/class_filterProperties.inc
++++ b/plugins/addons/propertyEditor/class_filterProperties.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class filterCONFIGPROPERTIES {
+
+ static function query($base, $scope, $filter, $attributes, $category, $objectStorage= "")
+--- a/plugins/addons/propertyEditor/class_propertyEditor.inc
++++ b/plugins/addons/propertyEditor/class_propertyEditor.inc
+@@ -1,6 +1,7 @@
+ <?php
+
+
++#[\AllowDynamicProperties]
+ class propertyEditor extends management
+ {
+ var $plHeadline = "Preferences";
+--- a/plugins/addons/propertyEditor/migration/class_migrateRDN.inc
++++ b/plugins/addons/propertyEditor/migration/class_migrateRDN.inc
+@@ -2,6 +2,7 @@
+
+
+
++#[\AllowDynamicProperties]
+ class migrateRDN implements propertyMigration
+ {
+ protected $property = NULL;
+--- a/plugins/admin/acl/class_aclManagement.inc
++++ b/plugins/admin/acl/class_aclManagement.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class aclManagement extends management
+ {
+ var $plHeadline = "Access control";
+--- a/plugins/admin/acl/class_aclRole.inc
++++ b/plugins/admin/acl/class_aclRole.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class aclrole extends acl
+ {
+ /* Definitions */
+--- a/plugins/admin/acl/class_filterACL.inc
++++ b/plugins/admin/acl/class_filterACL.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class filterACL {
+
+ static function query($base, $scope, $filter, $attributes, $category, $objectStorage= "")
+--- a/plugins/admin/acl/migration/class_migrate_aclRoleRDN.inc
++++ b/plugins/admin/acl/migration/class_migrate_aclRoleRDN.inc
+@@ -1,4 +1,5 @@
+ <?php
++#[\AllowDynamicProperties]
+ class migrate_aclRoleRDN extends migrateRDN implements propertyMigration
+ {
+ protected $filter = "(&(objectClass=gosaRole)%s)";
+--- a/plugins/admin/acl/tabs_acl.inc
++++ b/plugins/admin/acl/tabs_acl.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class acltab extends tabs
+ {
+
+--- a/plugins/admin/acl/tabs_acl_role.inc
++++ b/plugins/admin/acl/tabs_acl_role.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class aclroletab extends tabs
+ {
+
+--- a/plugins/admin/departments/class_countryGeneric.inc
++++ b/plugins/admin/departments/class_countryGeneric.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class country extends department
+ {
+ /* attribute list for save action */
+--- a/plugins/admin/departments/class_dcObject.inc
++++ b/plugins/admin/departments/class_dcObject.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class dcObject extends department
+ {
+ /* attribute list for save action */
+--- a/plugins/admin/departments/class_department.inc
++++ b/plugins/admin/departments/class_department.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class department extends plugin
+ {
+ /* department attributes */
+--- a/plugins/admin/departments/class_departmentManagement.inc
++++ b/plugins/admin/departments/class_departmentManagement.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class departmentManagement extends management
+ {
+ var $plHeadline = "Directory structure";
+--- a/plugins/admin/departments/class_domain.inc
++++ b/plugins/admin/departments/class_domain.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class domain extends department
+ {
+ /* attribute list for save action */
+--- a/plugins/admin/departments/class_filterDEPARTMENT.inc
++++ b/plugins/admin/departments/class_filterDEPARTMENT.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class filterDEPARTMENT {
+
+ static function query($base, $scope, $filter, $attributes, $category, $objectStorage= array(""))
+--- a/plugins/admin/departments/class_localityGeneric.inc
++++ b/plugins/admin/departments/class_localityGeneric.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class locality extends department
+ {
+ /* attribute list for save action */
+--- a/plugins/admin/departments/class_organizationGeneric.inc
++++ b/plugins/admin/departments/class_organizationGeneric.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class organization extends department
+ {
+ /* attribute list for save action */
+--- a/plugins/admin/departments/tabs_department.inc
++++ b/plugins/admin/departments/tabs_department.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class deptabs extends tabs
+ {
+ var $base= "";
+--- a/plugins/admin/groups/class_filterGroupLDAP.inc
++++ b/plugins/admin/groups/class_filterGroupLDAP.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class filterGroupLDAP {
+
+ static function query($base, $scope, $filter, $attributes, $category, $objectStorage= "")
+--- a/plugins/admin/groups/class_group.inc
++++ b/plugins/admin/groups/class_group.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class group extends plugin
+ {
+ // Group attributes
+--- a/plugins/admin/groups/class_groupManagement.inc
++++ b/plugins/admin/groups/class_groupManagement.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class groupManagement extends management
+ {
+ public $plHeadline = "Groups";
+--- a/plugins/admin/groups/migration/class_migrate_groupRDN.inc
++++ b/plugins/admin/groups/migration/class_migrate_groupRDN.inc
+@@ -1,4 +1,5 @@
+ <?php
++#[\AllowDynamicProperties]
+ class migrate_groupRDN extends migrateRDN implements propertyMigration
+ {
+ protected $filter = "(&(objectClass=posixGroup)%s)";
+--- a/plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc
++++ b/plugins/admin/groups/singleUserSelect/class_singleUserSelect.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class singleUserSelect extends management
+ {
+
+--- a/plugins/admin/groups/tabs_group.inc
++++ b/plugins/admin/groups/tabs_group.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class grouptabs extends tabs
+ {
+
+--- a/plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc
++++ b/plugins/admin/groups/userGroupSelect/class_userGroupSelect.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class userGroupSelect extends management
+ {
+ // Tab definition
+--- a/plugins/admin/groups/userSelect/class_userSelect.inc
++++ b/plugins/admin/groups/userSelect/class_userSelect.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class userSelect extends management
+ {
+ public $plHeadline = "User selection";
+--- a/plugins/admin/ogroups/class_ogroup.inc
++++ b/plugins/admin/ogroups/class_ogroup.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class ogroup extends plugin
+ {
+ public $typeToClass = array(
+--- a/plugins/admin/ogroups/class_ogroupManagement.inc
++++ b/plugins/admin/ogroups/class_ogroupManagement.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class ogroupManagement extends management
+ {
+ var $plHeadline = "Object groups";
+--- a/plugins/admin/ogroups/migration/class_migrate_ogroupRDN.inc
++++ b/plugins/admin/ogroups/migration/class_migrate_ogroupRDN.inc
+@@ -1,4 +1,5 @@
+ <?php
++#[\AllowDynamicProperties]
+ class migrate_ogroupRDN extends migrateRDN implements propertyMigration
+ {
+ protected $filter = "(&(objectClass=gosaGroupOfNames)%s)";
+--- a/plugins/admin/ogroups/objectSelect/class_filterLDAPDepartmentBlacklist.inc
++++ b/plugins/admin/ogroups/objectSelect/class_filterLDAPDepartmentBlacklist.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class filterLDAPDepartmentBlacklist extends filterLDAPBlacklist{
+
+ static function query($base, $scope, $filter, $attributes, $category, $objectStorage= "")
+--- a/plugins/admin/ogroups/objectSelect/class_objectSelect.inc
++++ b/plugins/admin/ogroups/objectSelect/class_objectSelect.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class objectSelect extends management
+ {
+ // Tab definition
+--- a/plugins/admin/ogroups/tabs_ogroups.inc
++++ b/plugins/admin/ogroups/tabs_ogroups.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class ogrouptabs extends tabs
+ {
+ var $base= "";
+--- a/plugins/admin/users/class_userManagement.inc
++++ b/plugins/admin/users/class_userManagement.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class userManagement extends management
+ {
+ var $plHeadline = "Users";
+--- a/plugins/admin/users/migration/class_migrate_userRDN.inc
++++ b/plugins/admin/users/migration/class_migrate_userRDN.inc
+@@ -1,4 +1,5 @@
+ <?php
++#[\AllowDynamicProperties]
+ class migrate_userRDN extends migrateRDN implements propertyMigration
+ {
+ protected $filter = '(&(objectClass=gosaAccount)(!(&(objectClass=sambaSamAccount)(uid=*$)))%s)';
+--- a/plugins/admin/users/tabs_user.inc
++++ b/plugins/admin/users/tabs_user.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class usertabs extends tabs
+ {
+ var $base;
+--- a/plugins/generic/dashBoard/Register/class_RegistrationDialog.inc
++++ b/plugins/generic/dashBoard/Register/class_RegistrationDialog.inc
+@@ -6,6 +6,7 @@
+ *
+ */
+
++#[\AllowDynamicProperties]
+ class RegistrationDialog extends plugin
+ {
+ protected $selectedRegistrationType = "registrate";
+--- a/plugins/generic/dashBoard/class_dashBoard.inc
++++ b/plugins/generic/dashBoard/class_dashBoard.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class dashBoard extends plugin
+ {
+ var $plHeadline = 'Dash board';
+--- a/plugins/generic/dashBoard/class_rssReader.inc
++++ b/plugins/generic/dashBoard/class_rssReader.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class rssReader{
+
+ public static $attributes = array(
+--- a/plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc
++++ b/plugins/generic/dashBoard/dbChannelStatus/class_dbChannelStatus.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class dbChannelStatus extends plugin
+ {
+ function __construct($config)
+--- a/plugins/generic/dashBoard/dbInformation/class_dbInformation.inc
++++ b/plugins/generic/dashBoard/dbInformation/class_dbInformation.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class dbInformation extends plugin
+ {
+ function __construct($config)
+--- a/plugins/generic/dashBoard/dbNotifications/class_dbNotifications.inc
++++ b/plugins/generic/dashBoard/dbNotifications/class_dbNotifications.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class dbNotifications extends plugin
+ {
+ function __construct($config)
+--- a/plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc
++++ b/plugins/generic/dashBoard/dbPluginStatus/class_dbPluginStatus.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class dbPluginStatus extends plugin
+ {
+
+--- a/plugins/generic/infoPage/class_infoPage.inc
++++ b/plugins/generic/infoPage/class_infoPage.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class infoPage extends plugin
+ {
+ private $ui;
+--- a/plugins/generic/references/class_aclResolver.inc
++++ b/plugins/generic/references/class_aclResolver.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class aclResolver
+ {
+ private $classMapping = array();
+--- a/plugins/generic/references/class_ldifViewer.inc
++++ b/plugins/generic/references/class_ldifViewer.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class ldifViewer extends plugin
+ {
+ private $ldif;
+--- a/plugins/generic/references/class_reference.inc
++++ b/plugins/generic/references/class_reference.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class reference extends plugin
+ {
+ var $attributes= array('uid','modifyTimestamp');
+--- a/plugins/generic/statistics/chartClasses/class_actionSelectChart.inc
++++ b/plugins/generic/statistics/chartClasses/class_actionSelectChart.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class actionSelectChart extends statChart
+ {
+ protected $title = 'Action count per plugin';
+--- a/plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc
++++ b/plugins/generic/statistics/chartClasses/class_categoryActionOverTime.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class categoryActionsOverTime extends statChart
+ {
+ protected $title = 'Plugin usage over time';
+--- a/plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc
++++ b/plugins/generic/statistics/chartClasses/class_cpuLoadChart.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class cpuLoadChart extends memoryUsageChart
+ {
+ protected $title = 'CPU load';
+--- a/plugins/generic/statistics/chartClasses/class_durationTimeChart.inc
++++ b/plugins/generic/statistics/chartClasses/class_durationTimeChart.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class durationTimeChart extends memoryUsageChart
+ {
+ protected $title = 'Plugin duration';
+--- a/plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc
++++ b/plugins/generic/statistics/chartClasses/class_memoryUsageChart.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class memoryUsageChart extends statChart
+ {
+ protected $title = 'Memory usage';
+--- a/plugins/generic/statistics/chartClasses/class_objectCountChart.inc
++++ b/plugins/generic/statistics/chartClasses/class_objectCountChart.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class objectCountChart extends statChart
+ {
+ protected $title = 'Object count';
+--- a/plugins/generic/statistics/chartClasses/class_passwordChangeChart.inc
++++ b/plugins/generic/statistics/chartClasses/class_passwordChangeChart.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class passwordChangeChart extends statChart
+ {
+ protected $title = 'Password changes';
+--- a/plugins/generic/statistics/chartClasses/class_pieChart1.inc
++++ b/plugins/generic/statistics/chartClasses/class_pieChart1.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class pieChart1 extends statChart
+ {
+ protected $title = 'Plugin usage';
+--- a/plugins/generic/statistics/chartClasses/class_pieChart2.inc
++++ b/plugins/generic/statistics/chartClasses/class_pieChart2.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class pieChart2 extends pieChart1
+ {
+ protected $title = 'Action usage';
+--- a/plugins/generic/statistics/chartClasses/class_renderTimeChart.inc
++++ b/plugins/generic/statistics/chartClasses/class_renderTimeChart.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class renderTimeChart extends memoryUsageChart
+ {
+ protected $title = 'Render time';
+--- a/plugins/generic/statistics/chartClasses/class_statChart.inc
++++ b/plugins/generic/statistics/chartClasses/class_statChart.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class statChart{
+
+ // Graph data
+--- a/plugins/generic/statistics/class_statistics.inc
++++ b/plugins/generic/statistics/class_statistics.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class statistics extends plugin
+ {
+ var $plHeadline = 'Statistics';
+--- a/plugins/generic/welcome/class_welcome.inc
++++ b/plugins/generic/welcome/class_welcome.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class welcome extends plugin
+ {
+ var $plHeadline = "Back to main menu";
+--- a/plugins/personal/generic/class_user.inc
++++ b/plugins/personal/generic/class_user.inc
+@@ -31,6 +31,7 @@
+ from/to the LDAP. It does syntax checking and displays the formulars required.
+ */
+
++#[\AllowDynamicProperties]
+ class user extends plugin
+ {
+ /* Definitions */
+--- a/plugins/personal/myaccount/MyAccountTabs.inc
++++ b/plugins/personal/myaccount/MyAccountTabs.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class MyAccountTabs extends tabs
+ {
+ var $password_change_needed = FALSE;
+--- a/plugins/personal/myaccount/class_MyAccount.inc
++++ b/plugins/personal/myaccount/class_MyAccount.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class MyAccount extends plugin
+ {
+ var $plHeadline= "My account";
+--- a/plugins/personal/password/class_password.inc
++++ b/plugins/personal/password/class_password.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class password extends plugin
+ {
+ /* Definitions */
+--- a/plugins/personal/posix/class_posixAccount.inc
++++ b/plugins/personal/posix/class_posixAccount.inc
+@@ -31,6 +31,7 @@
+ does syntax checking and displays the formulars required.
+ */
+
++#[\AllowDynamicProperties]
+ class posixAccount extends plugin
+ {
+ /* Definitions */
+--- a/plugins/personal/posix/groupSelect/class_filterLDAPBlacklist.inc
++++ b/plugins/personal/posix/groupSelect/class_filterLDAPBlacklist.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class filterLDAPBlacklist {
+
+ static function query($base, $scope, $filter, $attributes, $category, $objectStorage= "")
+--- a/plugins/personal/posix/groupSelect/class_groupSelect.inc
++++ b/plugins/personal/posix/groupSelect/class_groupSelect.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class groupSelect extends management
+ {
+
+--- a/plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc
++++ b/plugins/personal/posix/trustModeDialog/class_trustModeDialog.inc
+@@ -1,5 +1,6 @@
+ <?php
+
++#[\AllowDynamicProperties]
+ class trustModeDialog extends plugin
+ {
+ public $attributes = array("accessTo","trustModel");
+--- a/plugins/personal/posix/trustSelect/class_trustSelect.inc
++++ b/plugins/personal/posix/trustSelect/class_trustSelect.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class trustSelect extends management
+ {
+
+--- a/setup/class_setup.inc
++++ b/setup/class_setup.inc
+@@ -23,6 +23,7 @@
+ require_once("class_setupStep.inc");
+
+
++#[\AllowDynamicProperties]
+ class setup
+ {
+ var $i_steps = 9; // Number of setup steps
+--- a/setup/class_setupStep.inc
++++ b/setup/class_setupStep.inc
+@@ -20,6 +20,7 @@
+ */
+
+
++#[\AllowDynamicProperties]
+ class setup_step extends plugin
+ {
+ var $s_title = "Still undefined";
+--- a/setup/class_setupStep_Checks.inc
++++ b/setup/class_setupStep_Checks.inc
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#[\AllowDynamicProperties]
+ class Step_Checks extends setup_step
+ {
+ var $basic_checks = array();
+--- a/setup/class_setupStep_Finish.inc
++++ b/setup/class_setupStep_Finish.inc
+@@ -20,6 +20,7 @@
+ */
+
+
++#[\AllowDynamicProperties]
+ class Step_Finish extends setup_step
+ {
+ var $gosa_conf_contrib = "/gosa.conf";
+--- a/setup/class_setupStep_Language.inc
++++ b/setup/class_setupStep_Language.inc
+@@ -20,6 +20,7 @@
+ */
+
+
++#[\AllowDynamicProperties]
+ class Step_Language extends setup_step
+ {
+ var $lang_selected = ""; /* Language selected from select box */
+--- a/setup/class_setupStep_Ldap.inc
++++ b/setup/class_setupStep_Ldap.inc
+@@ -20,6 +20,7 @@
+ */
+
+
++#[\AllowDynamicProperties]
+ class Step_Ldap extends setup_step
+ {
+ var $connection = "ldap://localhost:389";
+--- a/setup/class_setupStep_License.inc
++++ b/setup/class_setupStep_License.inc
+@@ -20,6 +20,7 @@
+ */
+
+
++#[\AllowDynamicProperties]
+ class Step_License extends setup_step
+ {
+ var $license_found = false;
+--- a/setup/class_setupStep_Migrate.inc
++++ b/setup/class_setupStep_Migrate.inc
+@@ -22,6 +22,7 @@
+
+
+
++#[\AllowDynamicProperties]
+ class Step_Migrate extends setup_step
+ {
+ var $header_image = "images/setup/migrate.png";
+--- a/setup/class_setupStep_Schema.inc
++++ b/setup/class_setupStep_Schema.inc
+@@ -20,6 +20,7 @@
+ */
+
+
++#[\AllowDynamicProperties]
+ class Step_Schema extends setup_step
+ {
+ var $checked = array();
+--- a/setup/class_setupStep_Welcome.inc
++++ b/setup/class_setupStep_Welcome.inc
+@@ -19,7 +19,7 @@
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+-
++#[\AllowDynamicProperties]
+ class Step_Welcome extends setup_step
+ {
+ var $languages = array();
diff -Nru gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1003_php-deprecations.patch gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1003_php-deprecations.patch
--- gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1003_php-deprecations.patch 1970-01-01 01:00:00.000000000 +0100
+++ gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1003_php-deprecations.patch 2023-07-12 23:10:08.000000000 +0200
@@ -0,0 +1,60 @@
+Description: Silence various PHP 8.2 deprecation warnings.
+Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+--- a/include/class_acl.inc
++++ b/include/class_acl.inc
+@@ -1213,7 +1213,7 @@
+
+ switch ($this->theme) {
+ case 'classic':
+- $display .= " <td style='border-top:1px solid #A0A0A0;${rb}width:".(int)(100/$cols)."%'>
++ $display .= " <td style='border-top:1px solid #A0A0A0;{$rb}width:".(int)(100/$cols)."%'>
+ <b>$dsc</b> ($attr)<br>".$this->mkrwbx($key."_".$attr, $state)."
+ </td>$end";
+ break;
+@@ -1314,20 +1314,20 @@
+ if($this->acl_is_writeable("")){
+ switch ($this->theme) {
+ case 'classic':
+- return "<input id='acl_".$tname."_r' type='checkbox' name='acl_${name}_r' $rstate>
++ return "<input id='acl_".$tname."_r' type='checkbox' name='acl_{$name}_r' $rstate>
+ <label for='acl_".$tname."_r'>"._("read")."</label>
+- <input id='acl_".$tname."_w' type='checkbox' name='acl_${name}_w' $wstate>
++ <input id='acl_".$tname."_w' type='checkbox' name='acl_{$name}_w' $wstate>
+ <label for='acl_".$tname."_w'>"._("write")."</label>";
+ default:
+ return "<label>
+ <p>
+- <input type='checkbox' id='acl_".$tname."_r' name='acl_${name}_r' $rstate>
++ <input type='checkbox' id='acl_".$tname."_r' name='acl_{$name}_r' $rstate>
+ <span>"._("read")."</span>
+ </p>
+ </label>
+ <label>
+ <p>
+- <input type='checkbox' id='acl_".$tname."_w' name='acl_${name}_w' $wstate>
++ <input type='checkbox' id='acl_".$tname."_w' name='acl_{$name}_w' $wstate>
+ <span>"._("write")."</span>
+ </p>
+ </label>" ;
+--- a/include/class_config.inc
++++ b/include/class_config.inc
+@@ -31,7 +31,7 @@
+ class config {
+
+ /* XML parser */
+- static $parser;
++ static $parser = NULL;
+ var $config_found= FALSE;
+ var $tags= array();
+ var $level= 0;
+--- a/include/class_sortableListing.inc
++++ b/include/class_sortableListing.inc
+@@ -322,6 +322,7 @@
+ foreach ($this->displayData[$row] as $column) {
+
+ // Do NOT use the onClick statement for columns that contain links or buttons.
++ $column = is_null($column) ? "" : $column;
+ if (preg_match("<.*type=.submit..*>", $column) || preg_match("<a.*href=.*>", $column)) {
+ $result.= " <td$first>".$column."</td>\n";
+ } else {
diff -Nru gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1004_missing_templates.patch gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1004_missing_templates.patch
--- gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1004_missing_templates.patch 1970-01-01 01:00:00.000000000 +0100
+++ gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1004_missing_templates.patch 2023-07-12 23:10:13.000000000 +0200
@@ -0,0 +1,156 @@
+Description: Add missing template files to user plugin. (Just copied from classic theme.)
+Author: Daniel Teichmann <daniel.teichmann at das-netzwerkteam.de>
+
+Index: gosa-core/plugins/admin/users/default/template.tpl
+===================================================================
+--- /dev/null
++++ gosa-core/plugins/admin/users/default/template.tpl
+@@ -0,0 +1,71 @@
++<div style="font-size:18px;">
++ {t}Creating a new user using templates{/t}
++</div>
++
++<p>
++ {t}Creating a new user can be assisted by using templates. Many database records will be filled automatically. Choose 'none' to skip the usage of templates.{/t}
++</p>
++
++<hr>
++
++<br>
++
++<table summary="{t}User template selection dialog{/t}" cellpadding=4 border=0>
++ <tr>
++ <td><b><LABEL for="template">{t}Template{/t}</LABEL></b></td>
++ <td>
++ <select size="1" name="template" id="template">
++ {html_options options=$templates selected=$template}
++ </select>
++ </td>
++ </tr>
++ <tr>
++ <td><b><LABEL for="sn">{t}Last name{/t}</LABEL></b></td>
++ <td><input type='text' name="sn" id="sn" size="30" maxlength="40" value="{$sn}"></td>
++ </tr>
++ <tr>
++ <td><b><LABEL for="givenName">{t}First name{/t}</LABEL></b></td>
++ <td><input type='text' name="givenName" id="givenName" size="30" maxlength="40" value="{$givenName}"></td>
++ </tr>
++ {if $got_uid eq "true"}
++ <tr>
++ <td><b>{t}Login{/t}</b></td>
++ <td>
++ {if $edit_uid eq "false"}
++ {if $allowUidProposalModification == "true"}
++ <select size="1" name="uidSelect" id='uidSelect' onChange="
++ document.getElementById('uid').value = document.getElementById('uidSelect').value;">
++ {html_options output=$uids values=$uids selected=$uid}
++ </select>
++ <input type='text' id="uid" name="uid" size="30" maxlength="40" value="{$uid}"
++ style="display: none;">
++ <img src="images/lists/edit.png" onClick="$('uid').toggle();"
++ title="{t}Modify the uid proposal{/t}">
++ {else}
++ <select size="1" name="uid">
++ {html_options output=$uids values=$uids selected=$uid}
++ </select>
++ {/if}
++ {else}
++ <input type='text' id="uid" name="uid" size="30" maxlength="40" value="{$uid}">
++ {/if}
++ </td>
++ </tr>
++ {/if}
++</table>
++
++
++<hr>
++<div class="plugin-actions">
++ <button type='submit' name='template_continue'>{t}Continue{/t}</button>
++ <button type='submit' name='edit_cancel'>{msgPool type=cancelButton}</button>
++</div>
++
++
++
++<!-- Place cursor -->
++<script language="JavaScript" type="text/javascript">
++ <!-- // First input field on page
++ focus_field('sn');
++ -->
++</script>
+Index: gosa-core/plugins/admin/users/default/templatize.tpl
+===================================================================
+--- /dev/null
++++ gosa-core/plugins/admin/users/default/templatize.tpl
+@@ -0,0 +1,42 @@
++<div class="template-wrapper">
++ <h2>{t}Applying a template{/t}</h2>
++
++ <p>
++ {t}Applying a template to several users will replace all user attributes defined in the template.{/t}
++ </p>
++
++ {if $templates}
++ <div class="row">
++ <div class="col s6">
++ <div class="input-field">
++ <select size="1" name="template" id="template">
++ {html_options options=$templates}
++ </select>
++ <label for="template">{t}Template{/t}</label>
++ </div>
++ </div>
++ </div>
++
++ <div class="plugin-actions card-action">
++ <button class="btn-small primary" type='submit' name='templatize_continue'>{msgPool type=applyButton}</button>
++ <button class="btn-small primary" type='submit' name='edit_cancel'>{msgPool type=cancelButton}</button>
++ </div>
++ {else}
++ <p class="no-templates">
++ {t}No templates available!{/t}
++ </p>
++
++ <div class="plugin-actions card-action">
++ <button class="btn-small primary" type='submit' name='edit_cancel'>{msgPool type=cancelButton}</button>
++ </div>
++
++ {/if}
++
++
++ <!-- Place cursor -->
++ <script language="JavaScript" type="text/javascript">
++ <!-- // First input field on page
++ focus_field('template');
++ -->
++ </script>
++</div>
+Index: gosa-core/plugins/admin/users/default/user-list.tpl
+===================================================================
+--- /dev/null
++++ gosa-core/plugins/admin/users/default/user-list.tpl
+@@ -0,0 +1,25 @@
++<div id="mainlist">
++
++ <div class="mainlist-header">
++ <p>{$HEADLINE} {$SIZELIMIT}</p>
++ <div class="mainlist-nav">
++ <table summary="{$HEADLINE}">
++ <tr>
++ <td>{$ROOT}</td>
++ <td>{$BACK}</td>
++ <td>{$HOME}</td>
++ <td>{$RELOAD}</td>
++ <td class="left-border">{t}Base{/t} {$BASE}</td>
++ <td class="left-border">{$ACTIONS}</td>
++ <td class="left-border">{$FILTER}</td>
++ </tr>
++ </table>
++ </div>
++ </div>
++
++ {$LIST}
++</div>
++
++<div class="clear"></div>
++
++<input type="hidden" name="ignore">
diff -Nru gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1005_preg_replace_deprecation.patch gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1005_preg_replace_deprecation.patch
--- gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1005_preg_replace_deprecation.patch 1970-01-01 01:00:00.000000000 +0100
+++ gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1005_preg_replace_deprecation.patch 2023-07-12 23:11:12.000000000 +0200
@@ -0,0 +1,17 @@
+Description: Fix deprecation warning for calling preg_replace with NULL at argument #3.
+Author: Daniel Teichmann <daniel.teichmann at das-netzwerkteam.de>
+
+--- a/html/main.php
++++ b/html/main.php
+@@ -340,6 +340,11 @@
+ set_object_info();
+ }
+
++/* Avoid calling preg_replace with NULL */
++if (!isset($lang)) {
++ $lang = "";
++}
++
+ /* show web frontend */
+ $smarty->assign ("title","GOsa");
+ $smarty->assign ("logo", get_template_path("images/logo.png"));
diff -Nru gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1006_fix-overflow-debug-print_a-func.patch gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1006_fix-overflow-debug-print_a-func.patch
--- gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1006_fix-overflow-debug-print_a-func.patch 1970-01-01 01:00:00.000000000 +0100
+++ gosa-2.8~git20230203.10abe45+dfsg/debian/patches/1006_fix-overflow-debug-print_a-func.patch 2023-07-12 23:11:18.000000000 +0200
@@ -0,0 +1,25 @@
+Description: Make table of print_a() scrollable and allow overflow on body. This makes debugLevel > 0 usable again.
+Author: Daniel Teichmann <daniel.teichmann at das-netzwerkteam.de>
+
+--- a/include/functions_debug.inc
++++ b/include/functions_debug.inc
+@@ -226,7 +226,7 @@
+ if($return_mode) {
+ return $output;
+ } else {
+- print $output;
++ print "<div style='overflow: scroll; width: auto; max-height: 500px;'>" . $output . "</div>";
+ return TRUE;
+ }
+ }
+--- a/html/themes/default/css/main.css
++++ b/html/themes/default/css/main.css
+@@ -9,7 +9,7 @@
+ margin: 0;
+ font-family: "LiberationSans", Arial, Verdana, sans-serif;
+ font-size: 12px;
+- overflow-y: hidden;
++ /* overflow-y: hidden; */
+ }
+
+ h1 {
diff -Nru gosa-2.8~git20230203.10abe45+dfsg/debian/patches/series gosa-2.8~git20230203.10abe45+dfsg/debian/patches/series
--- gosa-2.8~git20230203.10abe45+dfsg/debian/patches/series 2023-02-06 20:43:26.000000000 +0100
+++ gosa-2.8~git20230203.10abe45+dfsg/debian/patches/series 2023-07-12 23:11:29.000000000 +0200
@@ -1,3 +1,4 @@
+1004_missing_templates.patch
2001_fix-smarty-location.patch
2002_fix-template-location.patch
2003_fix-class-mapping.patch
@@ -7,3 +8,6 @@
2007_no-pChart.patch
2008_set-version-file-path.patch
1002_php82-allow-dynamic-properties.patch
+1003_php-deprecations.patch
+1005_preg_replace_deprecation.patch
+1006_fix-overflow-debug-print_a-func.patch
More information about the Debian-edu-pkg-team
mailing list