Exemple #1
0
 public function agentUpgrade_exec($data)
 {
     $userData = user::getUserData("agent_id", $data['agent_id']);
     $agent_id = $data['agent_id'];
     $payment_data = array();
     $payment_data['agent_id'] = $agent_id;
     $payment_data['payment_for'] = "[UPGRADE] " . $data['payment_for'];
     $payment_data['payment_date'] = $data['payment_date'];
     $payment_data['payment_time'] = $data['payment_time'];
     $payment_data['from_acc'] = $data['from_acc'];
     $payment_data['to_acc'] = $data['to_acc'];
     $payment_data['payment_type'] = $data['payment_type'];
     $payment_data['ref'] = $data['ref'];
     $payment_data['payment_price'] = $data['payment_price'];
     $payment_data['amount'] = $data['payment_price'];
     $payment_data['payment_bal'] = 0;
     $payment_data['date_submit'] = $data['date_submit'];
     $payment_data['auth_datetime'] = $data['date_submit'];
     $payment_data['remarks'] = $data['remarks'];
     $payment_data['status'] = 2;
     $upgrade_data = array();
     $upgrade_data['ads_pin_limit'] = $data['ads_pin_limit'];
     $upgrade_data['available_pin'] = $data['ads_pin_limit'] + $userData['available_pin'];
     $upgrade_data['acc_type'] = $data['acc_type'];
     $upgrade_data['payment'] = 2;
     $response_array = array();
     $error = array();
     $curr_acc_type = $userData['acc_type'];
     switch ($data['acc_type']) {
         case "aa":
             if ($curr_acc_type == "aa" or $curr_acc_type == "ad" or $curr_acc_type == "ed" or $curr_acc_type == "ep") {
                 $error['msg'] = "<b>Account To Upgrade</b> must be higher then current account.)";
             }
             break;
         case "ad":
             if ($curr_acc_type == "ad" or $curr_acc_type == "ed" or $curr_acc_type == "ep") {
                 $error['msg'] = "<b>Account To Upgrade</b> must be higher then current account.)";
             }
             break;
         case "ed":
             if ($curr_acc_type == "ed" or $curr_acc_type == "ep") {
                 $error['msg'] = "<b>Account To Upgrade</b> must be higher then current account.)";
             }
             break;
         default:
             break;
     }
     if (count($error) != 0) {
         $response_array['r'] = "false";
         $response_array['msg'] = $error['msg'];
     } else {
         //		Insert payment upgrade
         foreach ($payment_data as $key => $value) {
             if ($value == "") {
                 $payment_data[$key] = NULL;
             }
         }
         $r_payment = $this->db->insert("user_payment", $payment_data);
         //		Upgrade agent account
         foreach ($upgrade_data as $key => $value) {
             if ($value == "") {
                 $upgrade_data[$key] = NULL;
             }
         }
         $r_upgrade = $this->db->update("user_accounts", $upgrade_data, "agent_id = {$agent_id}");
         //		Generate Commission
         $commData = array();
         $commData['agent_id'] = $data['agent_id'];
         $commData['acc_type'] = $data['acc_type'];
         $commData['date'] = $data['payment_date'];
         $r_pdi = commission::generatePDICommission($commData, TRUE);
         $r_gdi = commission::generateGDICommission($commData, TRUE);
         $r_gai = commission::generateGAICommission($commData, TRUE);
         //		TODO: Generate email for upgraded agent
         $response_array['r'] = "true";
         $response_array['msg'] = BASE_PATH . "management/upgradeResult?agent_id={$agent_id}&payment={$r_payment}&upgrade={$r_upgrade}&pdi={$r_pdi}&gdi={$r_gdi}&gai={$r_gai}";
     }
     return $response_array;
 }
Exemple #2
0
 /**
  * 
  * @param type $data (agent_id, acc_type, date)
  * @param type $upgrade (default: false)
  * @return type
  */
 public static function generateAPRCommission($data)
 {
     $agent_id = $data['agent_id'];
     $db = new database(DBTYPE, DBHOST, DBNAME, DBUSER, DBPASS);
     $userdata = $db->select("user_accounts", "ads_pin, acc_type, username", "agent_id = {$agent_id}", "fetch");
     $commission_data = $db->select("commissions_type", "*", "code = 'apr'", "fetch");
     $idata = array();
     $idata['agent_id'] = $userdata['ads_pin'];
     $idata['ads_pin'] = $userdata['ads_pin'];
     $accDetails = user::getAccType($data['acc_type']);
     $username = $userdata['username'];
     $acc_typeLabel = $accDetails['label'];
     $idata['subject'] = $commission_data['subject'] . " <b>{$username} - {$acc_typeLabel}</b>";
     $idata['from'] = $agent_id;
     $idata['type'] = $commission_data['code'];
     $idata['amount'] = 1200;
     $dateProcess = $data['date'];
     $idata['date_release'] = date("Y-m-d H:i:s", mktime(0, 0, 0, date("m", strtotime($dateProcess)), date("t", strtotime($dateProcess)), date("Y", strtotime($dateProcess))));
     $idata['date'] = $dateProcess;
     $idata['remarks'] = NULL;
     $idata['f'] = 0;
     $r = commission::addCommission($idata);
     return $r;
 }