Пример #1
0
function updateCoupon($id)
{
    if (null === $id) {
        return false;
    }
    $customer = Mage::getModel("customer/customer")->load($id);
    // fetches customer
    $customer = $customer->load($customer->getId());
    // fetches code of customer
    $code = $customer->getInvoiceCoupon();
    $coupon = Mage::getModel("salesrule/coupon")->load($code, "code");
    $used = $coupon->getTimesUsed();
    $name = $customer->getName();
    // fetches the name of the customer
    // no coupons for guests ?? guess not
    switch ($name) {
        case null:
        case "":
            return false;
    }
    // continues without a name of a customer (customer is a guest)
    if (5 > strlen($name)) {
        return false;
    }
    // checks whether or not the coupon code is used
    if (4 > strlen($code) ||  0 < $used) {
        // print "writing new code: " . $code . "\n";
        // generates new coupon code (once the coupon code is used)
        $code = generateNextCoupon();
        $customer->setInvoiceCoupon($code);
        $customer->save();
    }
    print "name: " . $name . "\n";
    print "code: " . $code . "\n";
    print "used: " . $used . "\n";
}
Пример #2
0
}
exit(1);
$coll = Mage::getModel("customer/customer")->getCollection();
foreach ($coll as $customer) {
    $customer = $customer->load($customer->getId());
    print $customer->getInvoiceCoupon() . "\n";
    print $customer->getName() . "\n";
    switch ($customer->getName()) {
        case null:
        case "":
            continue;
    }
    switch ($customer->getInvoiceCoupon()) {
        case null:
        case "":
            $code = generateNextCoupon();
            print "code: {$code}\n";
            $customer->setInvoiceCoupon($code);
            $customer->save();
    }
}
function generateNextCoupon()
{
    $coupon = "no-coupon";
    $tries = 1;
    while ($tries--) {
        $coupon = Mage::helper("core")->getRandomString(5);
        $res = writeCoupon($coupon);
        if ($res) {
            $tries = 0;
        }