Email Encryption Problem

MLeonard 16 Jul, 2015
Hi, I have been having great success with the Chronoforms component and have found all its features very useful, so firstly thank you to the creators.

However today I have tried to implement encrypted emails and am receiving the following error:

Fatal error: Class 'GCore\Admin\Extensions\Chronoforms\Actions\Email\Crypt_GPG' not found in /home/webtest/public_html/administrator/components/com_chronoforms5/chronoforms/actions/email/email.php on line 244

I have added
require_once 'Crypt/GPG.php';
to a custom code element before the email element on the form submit. I have also tried adding it to the email.php file instead with no success.

I believe CryptGPG is loading correctly and the class is available as in the email.php it seems to successfully pass the class exists test:

if($config->get('encrypt_enabled', 0) == 1 AND class_exists('Crypt_GPG')){


but is failing on line 244 which is:
$gpg = new Crypt_GPG();


Am I missing something? Any help in this matter would be hugely appreciated.

Thanks
GreyHead 16 Jul, 2015
Hi MLeonard,

I can't easily test this as I don't have the library installed.

Where is the Crypt/GPG.php file on your site? I'm wondering if that isn't being loaded - but then don't understand why the filter is being passed :-(

Bob
MLeonard 20 Jul, 2015
Hi GreyHead thanks for your reply.

After some further digging I have found that the Crypt/GPG library is loading and that it is just the call to create a new instance that is the problem.

Because of the declared namespace at the beginning of the email.php file the call on line 244 to:
$gpg = new Crypt_GPG();
needs to have a backslash added to access the class to become:

$gpg = new \Crypt_GPG();


In my particular hosting set up I have also had to pass 'homedir' and 'binary' variables to Crypt so they too have had to be hard coded into the email.php file as below:

$gpg = new \Crypt_GPG(array('homedir' => '/home/webtest' binary => '//home/webtest/bin/gpg'));


Hopefully this may help any others that may have an issue getting this feature to work in CF V5.

Mark
GreyHead 20 Jul, 2015
1 Likes
Hi MLeonard,

Well found - thank you. I have added a link to your post in the FAQ.

Bob
This topic is locked and no more replies can be posted.