Magento客户激活模块破解了客户群

时间:2013-02-12 01:40:47

标签: php magento

我在客户登录之前安装了一个需要管理员批准的免费扩展程序。我正在攻击它以尝试让它允许除一个以外的所有客户群。我认为以下是我要编辑的功能,但是当我进行测试注册时,测试cookie不会显示在我的控制台中。有什么想法吗?

/**
     * Flag new accounts as such
     *
     * @param Varien_Event_Observer $observer
     */
    public function customerSaveBefore($observer)
    {
        $customer = $observer->getEvent()->getCustomer();

        $storeId = Mage::helper('customeractivation')->getCustomerStoreId($customer);
        $session = Mage::getSingleton('customer/session'); // var $session Mage_Customer_Model_Session
$customer_info = $session->getCustomer(); // var $customer Mage_Customer_Model_Customer
$userinfo = $customer_info->_origData; // fetch users info

// get user's customer group id number
$customer_group = $userinfo['group_id']; 
setcookie("Group", "yes");

        if (Mage::getStoreConfig(self::XML_PATH_MODULE_DISABLED, $storeId))
        {
            return;
        }

        if (!$customer->getId())
        {
            $defaultStatus = Mage::getStoreConfig(self::XML_PATH_DEFAULT_STATUS, $storeId);
            $customer->setCustomerActivated($defaultStatus);
            $customer->setCustomerActivationNewAccount(true);
        }
    }

我的代码是:

$customer_info = $session->getCustomer(); // var $customer Mage_Customer_Model_Customer
$userinfo = $customer_info->_origData; // fetch users info

// get user's customer group id number
$customer_group = $userinfo['group_id']; 
setcookie("Group", "yes");

2 个答案:

答案 0 :(得分:0)

首先:请不要试图破解该模块。最好创建自己的模块来重写原始模块的类,这样你仍然可以更新原始模块。

第二:你确定部分代码是执行的吗?如果你输入die()会怎么样?

第三:您可以通过实现firegento-debug模块查看所有已触发事件的列表,这样您就可以检查该事件是否真的被触发并且观察者是否被调用。

答案 1 :(得分:0)

您好我正在定制相同的扩展程序。

问题是你没有得到客户群。

尝试此行以获取客户群

$ customer = $ observer-> getEvent() - > getCustomer();

$ groupId = $ customer-> getGroupId();