0
votes

I installed magento and i installed ModuleCreator via connector. It installed fine but when i access it via mysite/moduleCreator and i log in(as Administrator) it gives me this error:

Fatal error: Uncaught exception 'Exception' with message 'Warning: array_key_exists() expects parameter 2 to be array, null given in /var/www/html/develop.scsprovider.com/ebp/calin/magento/app/code/core/Mage/Captcha/Model/Observer.php on line 166' in /var/www/html/develop.scsprovider.com/ebp/calin/magento/app/code/core/Mage/Core/functions.php:245 Stack trace: #0 [internal function]: mageCoreErrorHandler(2, 'array_key_exist...', '/var/www/html/d...', 166, Array) #1 /var/www/html/develop.scsprovider.com/ebp/calin/magento/app/code/core/Mage/Captcha/Model/Observer.php(166): array_key_exists('username', NULL) #2 /var/www/html/develop.scsprovider.com/ebp/calin/magento/app/code/core/Mage/Core/Model/App.php(1338): Mage_Captcha_Model_Observer->checkUserLoginBackend(Object(Varien_Event_Observer)) #3 /var/www/html/develop.scsprovider.com/ebp/calin/magento/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Mage_Captcha_Model_Observer), 'checkUserLoginB...', Object(Varien_Event_Observer)) #4 in /var/www/html/develop.scsprovider.com/ebp/calin/magento/app/code/core/Mage/Core/functions.php on line 245

1

1 Answers

1
votes

I found that there is a problem on new versions of magento and fount the fix:

After successfull installation go to your favourate file manager go to path:

app/code/core/mage/captcha/model/observer.php

and change

public function checkUserLoginBackend($observer)
    {
    $formId = 'backend_login';
            $captchaModel = Mage::helper('captcha')->getCaptcha($formId);
            $loginParams = Mage::app()->getRequest()->getPost('login');
            $login = array_key_exists('username', $loginParams) ? $loginParams['username'] : null;
            if ($captchaModel->isRequired($login)) {
                if (!$captchaModel->isCorrect($this->_getCaptchaString(Mage::app()->getRequest(), $formId))) {
                    $captchaModel->logAttempt($login);
                    Mage::throwException(Mage::helper('captcha')->__('Incorrect CAPTCHA.'));
                }
            }
            $captchaModel->logAttempt($login);
            return $this;
        }

TO

public function checkUserLoginBackend($observer)
    {
        $formId = 'backend_login';
        $captchaModel = Mage::helper('captcha')->getCaptcha($formId);

        $login = Mage::app()->getRequest()->getPost('username');
        if ($captchaModel->isRequired($login)) {
            if (!$captchaModel->isCorrect($this->_getCaptchaString(Mage::app()->getRequest(), $formId))) {
                $captchaModel->logAttempt($login);
                Mage::throwException(Mage::helper('captcha')->__('Incorrect CAPTCHA.'));
            }


        }
        $captchaModel->logAttempt($login);
        return $this;
    }