Fatal error: Class 'SystemCaptchaLibrary' not found

Permalink 1 user found helpful
Hello,

I don't know what went wrong, I suspect installation of a package did that but don't know which one, and now I have the following error every time I click on Edit to uninstall any package:

Fatal error: Class 'SystemCaptchaLibrary' not found in /MY_SITE/concrete/core/models/package.php on line 281

and also my contact form now gives me this error:

Fatal error: Class 'SystemCaptchaLibrary' not found in /MY_SITE/concrete/core/helpers/validation/captcha.php on line 9

anyone have any clue how to fix this? Is there any way to uninstall packages manually? I can't find any of them anywhere (unless they always stay in the Packages folder even after installation). But even after deleting the package from the Packages folder I still have it shown as installed and the errors don't go away.

I've also cleared Cache and removed the Concrete folder and replaced it with a new one - no change.

Will really appreciate it. Thank you.

linuxoid
 
linuxoid replied on at Permalink Reply
linuxoid
I've just noticed that in ver. 5.5.* the classes have been called

SystemCaptchaLibrary

in ver. 5.6.* the classes are now called

Concrete5_Model_SystemCaptchaLibrary

and I don't understand why the Captcha suddenly stopped working because I have not touched the system files at all!
linuxoid replied on at Permalink Reply
linuxoid
I've completely reinstalled my site 10 times, tried different versions - still had that error... until now, the last time I've reinstalled it started working. WTH??? It's totally bizarre!!!
linuxoid replied on at Permalink Reply
linuxoid
Now I've got a pattern - every time I copy a package to the Packages folder, Install the package and then this always breaks the Captcha thing (whatever file that is), then if I go to the package Edit or my contact form it shows me that error

Fatal error: Class 'SystemCaptchaLibrary' not found in /MY_SITE/concrete/core/models/package.php on line 281

and nothing can fix the site except for a complete reinstall from scratch.

This time I installed a Print Page package. What's it to do with Captcha? Why's Captcha get broken?

Is the ver. 5.6.* broken? Is there any way to fix the problem? Any way to uninstall already installed packages? Because there's just no way they can be uninstalled due to the error.

Thank you.
linuxoid replied on at Permalink Reply
linuxoid
Now, there's definitely something wrong here in Concrete 5.6.*. I've just installed everything from scratch - haven't touched anything. Then copied a Print Page package to the Packages folder, clicked Install, then Edit - and got the Captcha error right away.

Please help.
mkly replied on at Permalink Reply
mkly
Do you happen to have a file at the root of your site in
/models/system/captcha/library.php

or something similar?

Best Wishes,
Mike
linuxoid replied on at Permalink Reply
linuxoid
Yes, there are 2 files in there: controller.php and library.php + a folder types.
am1020 replied on at Permalink Reply
Did you every find a solution to this?

I am having a similar problem with the following error message.

Fatal error: Class 'SecurimageSystemCaptchaTypeController' not found in /public_html/updates/concrete5.6.1.2_updater/concrete/core/models/system/captcha/library.php on line 129

Any help would be appreciated.
mhawke replied on at Permalink Reply
mhawke
To follow-up on what mkly mentions above... do you have anything in your '[root]/models/system/captcha' ? If you do then these files are 'over-riding' the core functionality and might be causing a problem. Make sure you are not looking inside the '[root]/concrete/models...' folder for these files because there will be core files inside the concrete folder.
am1020 replied on at Permalink Reply
Deleting that file solved the problem. However, I was using that file to adjust the captcha display.

Do you know of any other way to adjust the captcha? I know I can change the core file, but I prefer not too.
mhawke replied on at Permalink Reply
mhawke
What exactly did you have in the over-ride folder? Did you have both the controller.php and library.php files?
am1020 replied on at Permalink Reply
No, I had only the controller.php to adjust the size of the captcha only.

I had previously found instructions on this forum on how to change the size. Basically they stated to copy the folder concrete\core\models\system\captcha\types\securimage\controller.php file and add it to the root model location and make the changes in that file. In addition, it stated to copy the folder /concrete/libraries/3rdparty/securimage/securimage.php to /libraries root directory and also make the changes there.
mhawke replied on at Permalink Reply
mhawke
Can you find that original post and ask your questions there? It seems whoever gave that advice must know a little bit about this. I am not an expert in the finer points of overriding, especially if it gets past the /core/ folder. Mostly I just keep guessing until it works.
am1020 replied on at Permalink Reply
Thanks, will do.
mhawke replied on at Permalink Reply
mhawke