Пример #1
0
function getDiscountPrice($campaignCode, $courseCostTotal)
{
    if (!$campaignCode == "") {
        //$campaignCode = campaignSetcode;
        $campaignDetails = getCampaignDetails($campaignCode);
    } else {
        $campaignCode = false;
        $campaignDetails = false;
    }
    if ($campaignDetails) {
        if ($campaignDetails['discountType'] == 1) {
            //Percent Discount
            $courseCostTotal = $courseCostTotal - $courseCostTotal * ("0." . $campaignDetails['discountAmount']);
            $manualInvoiceEmailPrice = $courseCostTotal;
            $customPriceOption = true;
            $sendManualInvoice = true;
        } else {
            if ($campaignDetails['discountType'] == 2) {
                //Custom Price Override - Location
                $customPriceOption = 2;
                $courseCostTotal = courseCustomPriceLookup($customPriceOption, $courseID, $courseCostTotal, $campaignCode);
                $manualInvoiceEmailPrice = $courseCostTotal;
                $dontInvoiceUser = true;
                $sendManualInvoice = true;
            } else {
                if ($campaignDetails['discountType'] == 3) {
                    //Custom Price Override - Course
                    $customPriceOption = 3;
                    $courseCostTotal = courseCustomPriceLookup($customPriceOption, $courseID, $courseCostTotal, $campaignCode);
                    //return errorBackResponse($courseCostTotal." - ".$courseID);
                    $manualInvoiceEmailPrice = $courseCostTotal;
                    $dontInvoiceUser = true;
                    $sendManualInvoice = true;
                } else {
                    //Dollor Amount Discount
                    $courseCostTotal = $courseCostTotal - $campaignDetails['discountAmount'];
                    $manualInvoiceEmailPrice = $courseCostTotal;
                    $customPriceOption = true;
                    $sendManualInvoice = true;
                }
            }
        }
    } else {
        $manualInvoiceEmailPrice = $courseCostTotal;
        $customPriceOption = false;
        $sendManualInvoice = false;
    }
    return $courseCostTotal;
}
Пример #2
0
         $manualInvoiceEmailPrice = $courseCostTotal;
         $customPriceOption = false;
         $sendManualInvoice = false;
     } else {
         if ($campaignDetails['discountType'] == 2) {
             //Custom Price Override - Location
             $customPriceOption = 2;
             $courseCostTotal = courseCustomPriceLookup($customPriceOption, $courseID, $courseCostTotal, $campaignCode);
             $manualInvoiceEmailPrice = $courseCostTotal;
             $dontInvoiceUser = true;
             $sendManualInvoice = true;
         } else {
             if ($campaignDetails['discountType'] == 3) {
                 //Custom Price Override - Course
                 $customPriceOption = 3;
                 $courseCostTotal = courseCustomPriceLookup($customPriceOption, $courseID, $courseCostTotal, $campaignCode);
                 //return errorBackResponse($courseCostTotal." - ".$courseID);
                 $manualInvoiceEmailPrice = $courseCostTotal;
                 $dontInvoiceUser = true;
                 $sendManualInvoice = true;
             } else {
                 //Dollor Amount Discount
                 $courseCostTotal = $courseCostTotal - $campaignDetails['discountAmount'];
                 $manualInvoiceEmailPrice = $courseCostTotal;
                 $customPriceOption = false;
                 $sendManualInvoice = false;
             }
         }
     }
     //return errorBackResponse("Disc Type: ".$campaignDetails['discountType']);
 } else {
function goEnrolments()
{
    $progroup = db::runQuery("select * from process_group where process_status = '2'");
    if ($progroup) {
        foreach ($progroup as $pgr) {
            $supressInvoiceEmail = "0";
            $generateInvoice = "true";
            $archiveINvoice = "true";
            if ($pgr['campaign_code'] == "") {
                $campaignCode = false;
                $campaignDetails = false;
                $campaignID = 0;
                $campaignName = false;
                $allowOfflinePayments = false;
                $forceOfflinePayments = false;
                $dontInvoiceUser = false;
                $addressToInvoice = false;
                $contactIDtoInvoice = false;
            } else {
                $campaignCode = $pgr['campaign_code'];
                $campaignDetails = getCampaignDetails($campaignCode);
                $campaignID = $campaignDetails['ID'];
                $campaignName = $campaignDetails['campaignName'];
                $allowOfflinePayments = $campaignDetails['allowOfflinePayments'];
                $forceOfflinePayments = $campaignDetails['forceOfflinePayments'];
                $dontInvoiceUser = $campaignDetails['dontInvoiceUser'];
                $addressToInvoice = $campaignDetails['addressToInvoice'];
                $contactIDtoInvoice = $campaignDetails['contactIDtoInvoice'];
                if ($forceOfflinePayments) {
                    $forceOfflinePayments = true;
                } else {
                    $forceOfflinePayments = false;
                }
                if ($contactIDtoInvoice == "") {
                    $contactIDtoInvoice = false;
                }
            }
            $courseID = $pgr['eventID'];
            $courseDetails = getEventDetails($courseID);
            //var_dump($courseDetails);
            if ($campaignDetails) {
                //Course Details
                $courseCostTotal = intval($courseDetails['cost']);
                $totalAttend = $pgr['total_trainee'];
                $courseCostTotal = $courseCostTotal * $totalAttend;
                if ($campaignDetails['discountType'] == 1) {
                    //Percent Discount
                    $courseCostTotal = $courseCostTotal - $courseCostTotal * ("0." . $campaignDetails['discountAmount']);
                    $manualInvoiceEmailPrice = $courseCostTotal;
                    $customPriceOption = false;
                    $sendManualInvoice = false;
                } else {
                    if ($campaignDetails['discountType'] == 2) {
                        //Custom Price Override - Location
                        $customPriceOption = 2;
                        $courseCostTotal = courseCustomPriceLookup($customPriceOption, $courseID, $courseCostTotal, $campaignCode);
                        $manualInvoiceEmailPrice = $courseCostTotal;
                        $dontInvoiceUser = true;
                        $sendManualInvoice = true;
                    } else {
                        if ($campaignDetails['discountType'] == 3) {
                            //Custom Price Override - Course
                            $customPriceOption = 3;
                            $courseCostTotal = courseCustomPriceLookup($customPriceOption, $courseID, $courseCostTotal, $campaignCode);
                            //return errorBackResponse($courseCostTotal." - ".$courseID);
                            $manualInvoiceEmailPrice = $courseCostTotal;
                            $dontInvoiceUser = true;
                            $sendManualInvoice = true;
                        } else {
                            //Dollor Amount Discount
                            $courseCostTotal = $courseCostTotal - $campaignDetails['discountAmount'];
                            $manualInvoiceEmailPrice = $courseCostTotal;
                            $customPriceOption = false;
                            $sendManualInvoice = false;
                        }
                    }
                }
                //return errorBackResponse("Disc Type: ".$campaignDetails['discountType']);
            } else {
                //Course Details
                $courseCostTotal = intval($courseDetails['cost']);
                $totalAttend = $pgr['total_trainee'];
                $courseCostTotal = $courseCostTotal * $totalAttend;
                $manualInvoiceEmailPrice = $courseCostTotal;
            }
            $processgroup = db::esc($pgr['processgroupID']);
            $contactIDtoInvoice = db::esc($contactIDtoInvoice);
            $allowOfflinePayments = db::esc($allowOfflinePayments);
            $forceOfflinePayments = db::esc($forceOfflinePayments);
            $dontInvoiceUser = db::esc($dontInvoiceUser);
            $addressToInvoice = db::esc($addressToInvoice);
            db::insertQuery("update process_group set process_status = '3', primaryContactID = '{$contactIDtoInvoice}', allowOfflinePayments = '{$allowOfflinePayments}', forceOfflinePayments = '{$forceOfflinePayments}', dontInvoiceUser = '******', addressToInvoice = '{$addressToInvoice}', contactIDtoInvoice = '{$contactIDtoInvoice}' where processgroupID = '{$processgroup}'");
            //Create Multi Enrolment
            $trainees = db::runQuery("select * from process_trainee where processgroupID = '{$processgroup}'");
            $primaryContact = "";
            $courseInstanceID = "";
            $processgroup = "";
            $costperperson = $courseDetails['cost'];
            if ($trainees) {
                $contactList = "";
                foreach ($trainees as $trn) {
                    if ($contactList == "") {
                        $contactList = $contactList . $trn['contactID'];
                        $primaryContact = $trn['contactID'];
                        $courseInstanceID = $trn['eventID'];
                        $processgroup = $trn['processgroupID'];
                        $processgroup = $trn['processgroupID'];
                        $costperperson = $trn['cost'];
                    } else {
                        $contactList = $contactList . "," . $trn['contactID'];
                    }
                }
                if ($contactIDtoInvoice != false) {
                    $primaryContact = $contactIDtoInvoice;
                }
                //contact IDS in list   55555,111211,515456
                $supressInvoiceEmail = true;
                //$generateInvoice = true;
                $archiveINvoice = false;
                //$contactInvoiceID = '236951';
                $enrollVars = array('contactID' => $contactList, 'instanceID' => $courseInstanceID, 'invoiceID' => $contactInvoiceID, 'payerID' => $primaryContact, 'type' => 'w');
                $enrollNow = axcelerate_multienroll($enrollVars, $processgroup);
                $contactListarr = explode(",", $contactList);
                $totalCost = 0;
                foreach ($contactListarr as $contact) {
                    $enrollVarsupdate = array('contactID' => $contact, 'instanceID' => $courseInstanceID, 'payerID' => $primaryContact, 'type' => 'w', 'cost' => $costperperson);
                    $enrollNowupdate = axcelerate_multienrollupdate($enrollVarsupdate, $processgroup);
                    var_dump($enrollNowupdate);
                    $totalCost = $totalCost + $costperperson;
                }
                if (isset($enrollNow->error)) {
                    $enrollIsError = true;
                    $trans['message'] = $enrollNow->MESSAGES;
                    dlog("Enrol-Enrolment: Axcelerate returned error: {$processgroup} - " . $trans['message']);
                    markGroupError($processgroup, "");
                    die;
                }
                $groupInvoiceID = "";
                $totalCost = 0;
                foreach ($enrollNow as $student) {
                    $InvoiceID = db::esc($student->INVOICEID);
                    $ContactID = db::esc($student->CONTACTID);
                    $LearnerID = db::esc($student->LEARNERID);
                    $Amount = db::esc($student->AMOUNT);
                    $totalCost = $totalCost + $student->AMOUNT;
                    $groupInvoiceID = $InvoiceID;
                    db::insertQuery("update process_trainee set learnerID = '{$LearnerID}', invoiceID = '{$InvoiceID}' where contactID = '{$ContactID}' and processgroupID = '{$processgroup}'");
                }
                if ($forceOfflinePayments == true) {
                    db::insertQuery("update process_group set GroupInvoiceID = '{$groupInvoiceID}', process_status = '4', totalcost = '{$courseCostTotal}', payment_type = 'offline', primaryContactID = '{$primaryContact}' where processgroupID = '{$processgroup}'");
                } else {
                    db::insertQuery("update process_group set GroupInvoiceID = '{$groupInvoiceID}', process_status = '4', totalcost = '{$courseCostTotal}', primaryContactID = '{$primaryContact}' where processgroupID = '{$processgroup}'");
                }
            }
        }
    }
}