Example #1
0
/**
 * Add commission to customer from order
 *
 * @param integer - order id
 */
function affp_addCommissionFromOrder($_orderID)
{
    $Commission = affp_getCommissionByOrder($_orderID);
    if ($Commission['cID']) {
        return 0;
    }
    $Order = ordGetOrder($_orderID);
    if ($Order['customerID']) {
        $RefererID = affp_getReferer($Order['customerID']);
    } else {
        $RefererID = $Order['affiliateID'];
    }
    if (!$RefererID) {
        return 0;
    }
    $CustomerLogin = regGetLoginById($Order['customerID']);
    if (!$CustomerLogin) {
        $CustomerLogin = $Order['customer_email'];
    }
    $Commission = array('Amount' => sprintf("%.2f", $Order['currency_value'] * $Order['order_amount'] * CONF_AFFILIATE_AMOUNT_PERCENT / 100), 'CurrencyISO3' => $Order['currency_code'], 'xDateTime' => date("Y-m-d H:i:s"), 'OrderID' => $_orderID, 'CustomerID' => $RefererID, 'Description' => xEscSQL(str_replace(array('{ORDERID}', '{USERLOGIN}'), array($_orderID, $CustomerLogin), AFFP_COMMISSION_DESCRIPTION)));
    do {
        if (CONF_AFFILIATE_EMAIL_NEW_COMMISSION) {
            $Settings = affp_getSettings($RefererID);
            if (!$Settings['EmailOrders']) {
                break;
            }
            $t = '';
            $Email = '';
            $FirstName = '';
            regGetContactInfo(regGetLoginById($RefererID), $t, $Email, $FirstName, $t, $t, $t);
            xMailTxt($Email, AFFP_NEW_COMMISSION, 'customer.affiliate.commission_notifi.tpl', array('customer_firstname' => $FirstName, '_AFFP_MAIL_NEW_COMMISSION' => str_replace('{MONEY}', $Commission['Amount'] . ' ' . $Commission['CurrencyISO3'], AFFP_MAIL_NEW_COMMISSION)));
        }
    } while (0);
    affp_addCommission($Commission);
}
Example #2
0
function stChangeOrderStatus($orderID, $statusID, $comment = '', $notify = 0)
{
    $q_status_name = db_query("select status_name from " . ORDER_STATUES_TABLE . " where statusID=" . (int) $statusID);
    list($status_name) = db_fetch_row($q_status_name);
    $sql = "insert into " . ORDER_STATUS_CHANGE_LOG_TABLE . " ( orderID, status_name, status_change_time, status_comment ) " . " values( " . (int) $orderID . ", '" . xToText($status_name) . "', '" . xEscSQL(get_current_time()) . "', '" . xToText(trim($comment)) . "' ) ";
    db_query($sql);
    if ($notify) {
        $Order = ordGetOrder($orderID);
        $t = '';
        $Email = '';
        $FirstName = '';
        regGetContactInfo(regGetLoginById($Order['customerID']), $t, $Email, $FirstName, $t, $t, $t);
        if (!$Email) {
            $Email = $Order['customer_email'];
        }
        if (!$FirstName) {
            $FirstName = $Order['customer_firstname'];
        }
        xMailTxt($Email, STRING_CHANGE_ORDER_STATUS, 'customer.order.change_status.tpl', array('customer_firstname' => $FirstName, '_MSG_CHANGE_ORDER_STATUS' => str_replace(array('{STATUS}', '{ORDERID}'), array($status_name == 'STRING_CANCELED_ORDER_STATUS' ? STRING_CANCELED_ORDER_STATUS : $status_name, $orderID), MSG_CHANGE_ORDER_STATUS), '_ADMIN_COMMENT' => $comment));
    }
}
Example #3
0
         $smarty->assign('error_new_commission', ERROR_INPUT_LOGIN);
         break;
     } else {
         $_POST['NEW_COMMISSION']['customerID'] = regGetIdByLogin($_POST['NEW_COMMISSION']['customerLogin']);
         $tLogin = $_POST['NEW_COMMISSION']['customerLogin'];
         unset($_POST['NEW_COMMISSION']['customerLogin']);
     }
     $_POST['NEW_COMMISSION']['Amount'] = isset($_POST['NEW_COMMISSION']['Amount']) ? sprintf("%.2f", $_POST['NEW_COMMISSION']['Amount']) : 0;
     $_POST['NEW_COMMISSION']['xDateTime'] = $xDateTime;
     unset($_POST['NEW_COMMISSION']['xDate']);
     #email to customer
     $t = '';
     $Email = '';
     $FirstName = '';
     regGetContactInfo($tLogin, $t, $Email, $FirstName, $t, $t, $t);
     xMailTxt($Email, AFFP_NEW_COMMISSION, 'customer.affiliate.commission_notifi.tpl', array('customer_firstname' => $FirstName, '_AFFP_MAIL_NEW_COMMISSION' => str_replace('{MONEY}', $_POST['NEW_COMMISSION']['Amount'] . ' ' . $_POST['NEW_COMMISSION']['CurrencyISO3'], AFFP_MAIL_NEW_COMMISSION)));
     affp_addCommission($_POST['NEW_COMMISSION']);
     Redirect(set_query('new_commission=ok', $_POST['fREDIRECT']));
     break;
 case 'DELETE_COMMISSION':
     if (!isset($_POST['COMMISSION']['cID'])) {
         break;
     }
     affp_deleteCommission($_POST['COMMISSION']['cID']);
     Redirect(set_query('delete_commission=ok', $_POST['fREDIRECT']));
     break;
 case 'SAVE_COMMISSION':
     #check date
     if (!isTemplateDate($_POST['COMMISSION']['xDateTime'], CONF_DATE_FORMAT)) {
         $error_message = AFFP_MSG_ERROR_DATE_FORMAT;
         break;