Re: how to repair the conf object?

Michael J Rubinsky <[email protected]> Sat, 25 May 2019 16:37:47 +0000
Newsgroups gmane.comp.horde.devel
Message-ID <20190525163747.Horde.r3gLTQiPEx9Z03B6lPdtJUE@tarn.theupstairsroom.com>
This message is in MIME format and has been PGP signed.

--===============2977492070517044307==
Content-Type: multipart/signed; boundary="=_OAcAUZCKlB8gAOztD69dBhL";
 protocol="application/pgp-signature"; micalg=pgp-sha1

This message is in MIME format and has been PGP signed.

--=_OAcAUZCKlB8gAOztD69dBhL
Content-Type: multipart/mixed; boundary="=_Z_I_xyhzaTzLtmffmlTjbz_"
MIME-Version: 1.0

This message is in MIME format.

--=_Z_I_xyhzaTzLtmffmlTjbz_
Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable


Quoting Sebastian Birnbach <[email protected]>:

> Am Fr., 24. Mai 2019 um 22:13 Uhr schrieb Michael J Rubinsky <
> [email protected]>:
>
>>
>> Quoting Sebastian Birnbach <[email protected]>:
>>
>> > I recently installed nag and found out that my own application had sto=
len
>> > one of its settings:
>> > $GLOBALS['conf']['storage']['driver'].
>>
>> Each application runs in it's own configuration scope, so I'm not sure
>> what you mean here. How did it steal it?
>>
>
> I happened to choose $GLOBALS['conf'][dossierstorage]['driver'] for my ow=
n
> purposes. That is, my conf.xml looked like this:
>
> <?xml version=3D"1.0"?>
> <!-- $Id: 0f00ea4b8b9ffa35aef42705c8eca2d06ca65177 $ -->
> <configuration>
>  <configsection name=3D"storage">
>   <configheader>Storage System Settings</configheader>
>   <configswitch name=3D"driver" desc=3D"What storage driver should we use=
?">
>    <case name=3D"sql" desc=3D"SQL">
>     <configsection name=3D"params">
>      <configsql switchname=3D"driverconfig">
>      </configsql>
>     </configsection>
>    </case>
>    <case name=3D"rdo" desc=3D"RDO">
>     <configsection name=3D"params">
>      <configsql switchname=3D"driverconfig">
>      </configsql>
>     </configsection>
>    </case>
>   </configswitch>
>  </configsection>
>
>  <configsection name=3D"templates">
>   <configheader>Templates Location</configheader>
>   <configstring name=3D"path" desc=3D"Storage location of office template
> files. Make sure the directory exists and is writable for the webserver"
> required=3D"true">
>   /usr/local/www/apache24/data/abakus/officetemplates</configstring>
>  </configsection>
>
> </configuration>

And this is the conf.xml of you own application, correct? I.e.=20=20
/horde/dossierstorage/conf/conf.xml?


>>=20> (It took me a while to figure this out)
>> >
>> > I changed my application so that it uses
>> > $GLOBALS['conf'][dossierstorage]['driver'] instead. This side works we=
ll
>> > again.
>> >
>> > Problem is, I am unable to get nag's configuration hash entry back. I =
can
>> > see and manipulate nag's configuration in the console and settings get
>> > reflected in nag/config/conf.php no problem. But when I dump them with
>> > print_r($GLOBALS['conf']) they are missing.
>>
>> Where are you dumping the values? You have to do it from within Nag's
>> context if you want to see Nag's $conf entries. Use the php shell in
>> the horde admin, and select 'Nag' in the context drop down.
>>
>
> I started playing around with Nag_Api and kept getting
>
> Cannot instantiate abstract class Nag_Drivererrors.
>
>
>  So I looked into nag/lib/Factory/Driver.php to see what is the matter.
> Around line 39 the name of the driver is pulled from
> $GLOBALS['conf'][dossierstorage]['driver'] .
>
> I dumped the configuration hash there with print_r($GLOBALS['conf']) and
> found the setting contained 'rdo'. Changing the configuration of my own
> application made this value change as well, so I thought I had found the
> problem. I changed my application not to use said configuration entry as
> described. The dump now shows the changed setting ('dossierstorage'), but
> not the original ('storage') any more.
>
> Nag's driver works fine if I edit Driver.php north of line 39 to read
> $driver =3D 'sql'; I can access tasklists and everything through the api =
then.
>
> By way of testing: managing conf.php seems to work fine.
> $myconfig =3D new Horde_Config('nag');
> print_r($myconfig->getPHPConfig());
> reflects the file's contents and I can change the file through the admin
> console.
>
> Only conf.php's contents do not seem to get promoted into the configurati=
on
> hash.

It sounds to me like there is some error in how you are initializing=20=20
your=20application within horde and the application's context is leaking=20=
=20
out=20to other applications.  Did you create a registry entry for your=20=
=20
application?=20Are you calling Horde_Registry::appInit() at the=20=20
beginning=20of each of your application's requests?

Normally, when you load an application, as part of the init process,=20=20
your=20application is pushed onto the registry stack and it's conf.php=20=
=20
values=20are merged with the horde(base) application's conf.php values.=20=
=20
There=20should be no other entries in $conf other than the horde/base=20=20
application=20and the currently scoped application.



>> > I tried logging out and back in, restarting the web server and even
>> > reinstalling nag, but to no avail. I also tried setting conf values
>> > manually
>> > $GLOBALS['conf']['storage'] =3D array('params' =3D> array('driverconfi=
g' =3D>
>> > 'horde'), 'driver' =3D> 'sql');
>> > but such changes do not get saved.
>> > --
>> > dev mailing list
>> > Frequently Asked Questions: http://wiki.horde.org/FAQ
>> > To unsubscribe, mail: [email protected]
>>
>>
>>
>> --
>> mike
>> The Horde Project
>> http://www.horde.org
>> https://www.facebook.com/hordeproject
>> https://www.twitter.com/hordeproject
>> --
>> dev mailing list
>> Frequently Asked Questions: http://wiki.horde.org/FAQ
>> To unsubscribe, mail: [email protected]
>>



--=20
mike
The=20Horde Project
http://www.horde.org
https://www.facebook.com/hordeproject
https://www.twitter.com/hordeproject

--=_Z_I_xyhzaTzLtmffmlTjbz_
Content-Type: application/pgp-keys
Content-Description: PGP Public Key

-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org

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
Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2ODApLCBxdWFs
aXR5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsL
DQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0L
DRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU
FBQU/8AAEQgAUABQAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgME
BQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQy
gZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RV
VldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqy
s7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E
AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQE
AAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEX
GBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKD
hIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW
19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A831PR7S5ut8kKsw7
kVbgs0igAQBQOgFQXM5N26+lTRSkpivNN7DxHuB5rh/GvgdPFEyh2wimuzjYliKa
Y8u1IZ2/wF8Pr4f8ItbqPkTivXRoyaro/kTwF1PZuBWT8FPDjSaAl1cLtt3PyAj7
2D1r067a2gCoAvPAAWsp15RfubnsYPARqwTqrTseSyeCtM0XBj06CT1G2rukah4b
UtHPaJZTr/C+CD9DXT66kcjSZACr7V5D4us3ikdyflJwM965li6tN3buenPKsLOF
oR5X5Hpf/CR+HLQcGLj0Wqs3xD0OA/Lz/urXAfDHVNHuNVbQ9biX7RJl7Od+jgDL
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
az3hoEpTEtFUT4UsrAIiat2ZnT5N8SS/qsPHqWJ5r4C2uyQJVMmzcJ5AKKvyKa4a
f/txy8eL7/SGtbT3AdGMCc8fE1wW9JWQI9ZPXyuFrSAKvQ1YTh4F23u+NTktpnSJ
jUQUA6FTwGXqsb9lnNh8HYAmJR0SGYniyU3lyj1olziMpOJ3R7nV17x1JzI27ZY3
+OsKWXfuWo9fjSJnsPq7Se1aWy6NJZ0rYNtERqmsHe2WZbJHrZr5QFQVCPifAAJp
u+nBZP8V6srwFudTtChwvnjZ/Y/VOxPRwmABNHGfW47SANfuxCL+hatsvO0E6T4V
+VVyYRRbBofE6BkapGpzoTv5zV2JlTMIsmMmrpFVg5fH8MGsAQl+mnSQeAdqRgZi
G+q7IFFOsBEW0KC7t42cVEugBrCc4N+4oWMCoFE+QjpC2UNRUOTGN853jSkyRqwP
IK/GkScghKQKEBZA7ZSsk/84SGUm5Yr8fPYM/4m/NlC9b/HB5B4nOf+TufTqT47X
jPeqbnXh/CeLEZYOT88mgeQLFaENRnLc/YOwZ6Ru9MV+2GElop4EBPZw83BaDeBu
4rDHs8e7Q8kIhTGg1mlQ4bWPEUXvYQXvR7zDUw3YHYgqLyuYPWdxSdsfVVi/P0de
1ML1s9twVauPVTTetDBNaWNoYWVsIEpvc2VwaCBSdWJpbnNreSA8bWlrZXJ1Ymlu
c2t5QGdtYWlsLmNvbT6JAj0EEwEKACcFAlkCGLACGwMFCQlmAYAFCwkIBwMFFQoJ
CAsFFgIDAQACHgECF4AACgkQkZKCRtGzFtuyaA//Q22/SHwtSWm24MGgJi0bMqBY
CHdyK2IYTH93nyt5oB+MV9oz7fERjjSwwueKJZANer6d6tJz09K1N6DoN3DNUAYS
XhFM/Fc3JDUOP5iDdnhKd4Vnpd1qeuXzBJgV9V5gCqJHWX7NRWjIxvNl63XBvc3W
W3I7gY1aR1XTL6Ha98w/EbM4NOst8WwxPfLf3wisQK+Bd1HODTPvCp7iamSIxrhg
VBxbZUIDfmXIrs+FiKoSLqxTyysW7dXi4KJpnEhn62YHeUCa2QfoHRSemtgudIMC
xWzh7sR94tyNvLomzCn3g9QRBmrRUieunWmmKi7eSPw2v6bXxxQvZfGdYiBrV35b
Tpb6tzDcKRFpIxCw7rrtMNTZGf+zDpJRYVZl+6YWqpinPRwkyPu90nadOiutqtpK
oDmEGFxd7mSF7E6C13Xq8FmD42jpwufqzIkBwpHVYKfHkks+Rt8yLRnL6zXojQ9I
SYHuWKe2mnJ1nEjI08V/oZubzqsMqB+qWOO/0sGjP3O9hpV2bbYtvthU4zXIGYKw
s8fPlGbS5Y2AlNRdsLWwmtljK4prRWLxps0Mj2hsio8Eq0/nN6EEbGSDl6xxpuSW
8fJpuwqBPseJd4KdMT7DvB20nplyvNkxjHcubl2VUXo6gyEnVQlQWWBVO7cM9yq/
jgCFB/EQ+zmJsndYI065Ag0EWQIYFAEQANbPiNW7YOHgnYiyrPdPcr8L89TxLKnu
LOFIW1X2aE7C6CpQdqydLfckwIslEcxQTj4z6G+ESgGVqZmBn6aUqBtGv+tFJo45
QvmGFi5U3QkyJCSTGV9ak/B/7r2wXSm9x2MB94R9GaX+Jiv8QmwQIL0OHsrJgayt
ncIFjhx2hUWZeezp8fVUlz4c6tzz3Dkrs/Vd1BCSSW5cJBKey+Thgf/cr+fEUqER
kM/FGZTDdPZzoU5U7i2ElVc9tDjltbajPntXLL04L1cPzDqOLqQdPJtU7SxF1+E3
7YzjzlT3YODJCrAkpd76edFfS1WkuK90y9bi3mAYHlCn+eJacLLLTT94LQS6SaIx
7eyv86clsO/mYJL22vYxE/mXK6JWBfz4fuNQb7PwUO6m4lQy09Ac6KPHDSzTIM5O
wYSjBCxwaByQu/IdGa+fIPQLvfxzO0o8sKAUfEkYFZ5G9pXHEPLGUehHoOPtBYIz
qc26+5cvV+LqiKgllPMrMdXUuj66a/PLga9U+albDThJllREElouTTBcT4OqTHpg
X+KwoK3xNqpbc8de43Vex9KHlkTv9g0UR2XznQC1BXBcSBHzLMQeXkY4iN8B4ivd
dOek8K7Jah9EpEEXMLrGSVAgyRYhVrcSYt7MQ5jkejQnxLAoaR6aRka6ludYmQmr
QJqCL6Z4Ea1DABEBAAGJAiUEGAEKAA8FAlkCGBQCGwwFCQlmAYAACgkQkZKCRtGz
FtuXZQ/+IjpYtuf9oUN2cMd5NhzWNFLwTIZhBCeSJp7JsQTxjpW4bNzq+4TQDEDT
ITodbqe2kHEe8ezS7MvEXCykBQC0WxxyxKP4OPQJD1HDj+nqXTJIXvnYrGYW8PSG
7oQ+kjEwJHOh+4qxYE5kbulSw+3nAJ4eDqasEjy5UEd48b3xPfXfvQmsdYcC08hq
HR2tnq1D90+93lvuvpWrh77/ts9MGSM2q6UkM84evc3FAtNkRM0CEzdH81wvi88Z
AyIlcvu5MOipAkKG5p04jrbjvGaHa8/lIIRdqe/0lo7Bl+wT9wrSL+oQvRGifPkN
lMlPUPeXIfi35tqDvQrNGtxxZcfysvnpTmC4e/h81JCf+Dp0ncomF3V47jQWtk6A
zmg7IyBm/B+FWykVtT1bgUfiTJzqYM12JZyF831PuQJs2hLtjZ55xy+5MIC0LzFv
1IdIYjCb7yZwMej7ive529erFTQF87q+/mOQ5ZNJSyTacM/IFO5vDhOsC6w+eoWq
E99wmdr9imqIMTOAc+J0s3OQ75ZH4fg5mQW7msBknMhzCBlKnD/RUJQ1MhOKpFS+
K4WT+tWfOjpwsRByJgAzetSWMRE+516UocT/DUQg8cZJayuqaxMY02WjIW4tDqIY
nnlHbwPi/niSQC85dbt5KyYcWUgKQopqyOKkXdOSpJCALTH2oXE=
=Tsm0
-----END PGP PUBLIC KEY BLOCK-----
--=_Z_I_xyhzaTzLtmffmlTjbz_--

--=_OAcAUZCKlB8gAOztD69dBhL
Content-Type: application/pgp-signature
Content-Description: PGP Digital Signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4

iQIcBAABAgAGBQJc6W9bAAoJEJGSgkbRsxbbo1UP/j5/hCTAMPQL6YXAGhoGuSvB
zKJQu0CQMPAj/at10TIzE3MzFxdauctx3HQmCsUVQlfCoZtDlWfPIDnRFBX30/fa
An20dywoViRjX/jFK/irCterqwi5pNaNXNfJTOXRn1qWPpBvBJfun6W4tsA0tDFy
E8+p3h/Bz1C3wNXAURQef0qGpCC+rEcIdDnfZNQhrDtpWlMM9A8j7oZBVx1HFT2h
OD7oUxpRJ4VHKmWeSrvnzHpYG91jV9NZPfIHC84sXiOEqpDfD5YJJSB5w3AByCkC
UGGEeAfC83T7Rdkl9Lo/awyhH/jtVHz1RqyH8SUjF73E3HAP3xVACeeou+pFQ/dk
be9qsddaLI2qTCcI4AKeMTKWo5BFtJjSkWiWq4yefBr7OSewL5sEUbvZp4SZ5vwL
aBeVfAhsPUTXzI/y3o+cpQlKCuPZtIJ6fuxRdfKNZNaFFjguG9UPRJUA/D+YCSfv
OVsqB8d+yJOeChpP0wi+u8T0sIslp1uf8JgtAu7JKpG4VgDtwgTFNjoTO65LDEdf
vhKoJwhucWtQdag+ELl4PpMU37lzwRUBg8VtZg1NUprd7vc1iMre4Rqt7EYrts+2
8EGZ+lJfKvDgAtBJ/94KMIks4BF2dZ1PF0IZnCYFenNxXSDftvP5QD3Qa60nyd6O
o+hhYCX0v4i/OPNL+J0d
=AmQz
-----END PGP SIGNATURE-----

--=_OAcAUZCKlB8gAOztD69dBhL--


--===============2977492070517044307==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-- 
dev mailing list
Frequently Asked Questions: http://wiki.horde.org/FAQ
To unsubscribe, mail: [email protected]

--===============2977492070517044307==--