6.0.0-git
2025-04-20

Diff for Doc/Dev/H6/Developer/KnownIssues between 16 and 17

+ Known issues for the lastest alpha version

Installation on debian bookworm:

composer create-project horde/bundle
composer require require horde/mnemo horde/nag horde/imphorde/nag:^5 horde/imp:^7 horde/gollem horde/kronolithhorde/kronolith:^5 horde/turba horde/ldap horde/activesync horde/passwd horde/jonah horde/ingo

composer.json:
 {
    "name": "horde/bundle",
    "description": "A base project for a horde installation",
    "type": "project",
    "require": {
        "composer-plugin-api": "^2.0",
        "horde/horde-installer-plugin": "^2.5.1 || dev-FRAMEWORK_6_0 || dev-master",
        "horde/horde": "^6 || dev-FRAMEWORK_6_0",
        "horde/routes": "^3 || dev-FRAMEWORK_6_0",
        "horde/hordectl": "^1 || dev-FRAMEWORK_6_0 || dev-master",
        "pear/console_color2": "^0.1.2",
        "pear/console_table": "^1.3",
        "horde/mnemo": "^5.0@alpha",
        "horde/gollem": "dev-FRAMEWORK_6_0",
        "horde/nag": "^5.0@alpha",
        "horde/imp": "^7.0@alpha",
        "horde/kronolith": "^5.0@alpha",
        "horde/ldap": "^3.0@alpha",
        "horde/passwd": "^6.0@alpha",
        "horde/turba": "^5.0@alpha"
    },
    "require-dev": {
        "horde/test": "^3 || dev-FRAMEWORK_6_0 || dev-master"
    },
    "license": "GPL-3.0-only",
    "authors": [
        {
            "name": "Ralf Lang",
            "email": "ralf.lang@ralf-lang.de"
        }
    ],
    "minimum-stability": "dev",
    "prefer-stable": true,
    "extra": {
        "installer-types": [
            "horde-library",
            "horde-application"
        ]
    },
    "config": {
        "allow-plugins": {
            "horde/horde-installer-plugin": true
        }
    }
}


PHP: 8.2.13
apache: 2.4.57


++ horde

+++ autoload.php): Failed to open stream
Fixed with: https://github.com/horde/base/commit/81a8a11a23a15b3383a8049e1f428a5dbf52f904
**Issue description:**

<code>
Got error 'PHP message: PHP Warning:  require_once(/var/www/html/horde/vendor/vendor/autoload.php): Failed to open stream: No such file or directory in /var/www/html/horde/vendor/horde/horde/rampage.php on line 2 PHP message: PHP Fatal error:  Uncaught Error: Failed opening required '/var/www/html/horde/vendor/vendor/autoload.php' (include_path='.:/usr/share/php') in /var/www/html/horde/vendor/horde/horde/rampage.php:2\nStack trace:\n#0 {main}\n  thrown in /var/www/html/horde/vendor/horde/horde/rampage.php on line 2'
</code>

**Proposed solution from Michael <michael at johalla.de>**

I changed the path to autoload.php in vendor/horde/horde/rampage.php from
<code>
require_once dirname(__FILE__, 3) . '/vendor/autoload.php';
</code>
to
<code>
require_once dirname(__FILE__, 4) . '/vendor/autoload.php';
</code>

+++ can't edit/change events since 'start_year' doesn't go back far enough: 

**Proposed solution from Brent <impuser at bitrealm.com>**

<horde-dir>/vendor/horde/core/lib/Horde/Core/Ui/VarRenderer/Html.php

Hardcode start year to 1900 (hack, not sure where start_year is being determined.

Line 529:
<code>
-  for ($i = $var->type->getProperty('start_year'); $i <= $var->type->getProperty('end_year'); $i++) {
+  for ($i = 1900; $i <= $var->type->getProperty('end_year'); $i++) {
</code>

++ turba

+++ Non-static method Horde_Form::getType() cannot be called statically
PR: https://github.com/horde/turba/pull/14
**Issue description:**

<code>
A FATAL ERROR HAS OCCURRED

NON-STATIC METHOD HORDE_FORM::GETTYPE() CANNOT BE CALLED STATICALLY

in /var/www/html/horde/vendor/horde/turba/templates/browse/row.inc:75  
1. require() /var/www/html/horde/vendor/horde/turba/index.php:24 
2. Turba_View_Browse->run() /var/www/html/horde/vendor/horde/turba/browse.php:48
3. Turba_View_List->display() /var/www/html/horde/vendor/horde/turba/lib/View/Browse.php:425
4. Turba_View_List->getAlpha() /var/www/html/horde/vendor/horde/turba/lib/View/List.php:234
5. Turba_View_List->_get() /var/www/html/horde/vendor/horde/turba/lib/View/List.php:294 
6. include() /var/www/html/horde/vendor/horde/turba/lib/View/List.php:442
</code>

**Proposed solution from Brent <impuser at bitrealm.com>**
I have found the fix for this. I had to "patch" the  
/var/www/html/horde/vendor/horde/turba/templates/browse/row.inc   
file.  Here's my patch...I am decidedly NOT a programmer, so I've no  
idea if this is the right way to fix this, created a bottleneck, or if  
maybe I've unleashed Zod from his mirror prison.

<code>
@@ -72,11 +72,11 @@
         if ($type == 'email') {
             $this->variables[$this->columns[$c - 1]] =
                 new Horde_Form_Variable('', $this->columns[$c - 1],
-                                        Horde_Form::getType('html'), false);
+                                        (new  
Horde_Form(0))->getType('html'), false);
         } else {
             $this->variables[$this->columns[$c - 1]] =
                 new Horde_Form_Variable('', $this->columns[$c - 1],
-                                        Horde_Form::getType($type, $params),
+                                        (new  
Horde_Form(0))->getType($type, $params),
                                         false);
         }
</code>


+++ Fixed: This will fix the error you get if you try to add an image or edit an image for a contact in your address book
Commit number: https://github.com/horde/Core/commit/7e1e507b7d01e36f2e96a93d222fed9a5fb16ca1
**Proposed solution from Brent <impuser at bitrealm.com>**

<code>

<horde-root>/vendor/horde/core/lib/Horde/Core/Ui/VarRenderer/Html.php

Line 209 has:
 $html .= sprintf('<input class="button" name="%s" id="%S" type="submit" value="%s" /> ',

The upper-case "S" should be lower-case:
 $html .= sprintf('<input class="button" name="%s" id="%s" type="submit" value="%s" /> ',
</code>

++ kronolith

+++ Non-static method Date_TimeZone::isValidID() cannot be called statically in /usr/share/php/Date/TimeZone.php:4717

**Issue description:**

<code>
EMERG: HORDE [kronolith] Error: Non-static method Date_TimeZone::isValidID() cannot be called statically in /usr/share/php/Date/TimeZone.php:4717
Stack trace:
#0 /usr/share/php/Date.php(55): require_once()
#1 /usr/share/php/Date/Holidays.php(39): require_once('...')
#2 /var/www/html/horde/vendor/horde/autoloader/lib/Horde/Autoloader.php(129): include('...')
#3 /var/www/html/horde/vendor/horde/autoloader/lib/Horde/Autoloader.php(66): Horde_Autoloader->_include()
#4 [internal function]: Horde_Autoloader->loadClass()
#5 /var/www/html/horde/vendor/horde/kronolith/lib/CalendarsManager.php(549): class_exists()
#6 /var/www/html/horde/vendor/horde/kronolith/lib/CalendarsManager.php(201): Kronolith_CalendarsManager->_getAllHolidays()
#7 /var/www/html/horde/vendor/horde/kronolith/lib/CalendarsManager.php(572): Kronolith_CalendarsManager->get()
#8 /var/www/html/horde/vendor/horde/kronolith/lib/CalendarsManager.php(207): Kronolith_CalendarsManager->_getDisplayHolidays()
#9 /var/www/html/horde/vendor/horde/kronolith/lib/Kronolith.php(282): Kronolith_CalendarsManager->get()
#10 /var/www/html/horde/vendor/horde/kronolith/lib/Block/Summary.php(110): Kronolith::listEvents()
#11 /var/www/html/horde/vendor/horde/core/lib/Horde/Core/Block.php(278): Kronolith_Block_Summary->_content()
#12 /var/www/html/horde/vendor/horde/core/lib/Horde/Core/Block.php(175): Horde_Core_Block->_call()
#13 /var/www/html/horde/vendor/horde/core/lib/Horde/Core/Block/Layout/View.php(98): Horde_Core_Block->getContent()
#14 /var/www/html/horde/vendor/horde/horde/services/portal/index.php(35): Horde_Core_Block_Layout_View->toHtml()
</code>

**Proposed solution from Michael <michael at johalla.de>**

Change configuration of Kronolith and switch off:
Displaying Holidays -> $conf[holidays][enable]