Exemple #1
0
 public function ussdConfirmation($user, $message = null)
 {
     //we need to update the status of the responses confirmed to 1
     $Response_Model = new Model_Response();
     $result = $Response_Model->confirmResponses($user);
     $menuModel = new Model_Menu();
     $menu = $menuModel->getMenu($user['confirm_from']);
     if ($menu['id'] == 4) {
         //echo "hapa";
         //exit;
         $menuItemsModel = new Model_MenuItems();
         $MenuItems = $menuItemsModel->getMenuItems($menu['id']);
         //build up the array
         //print_r($MenuItems);
         //exit;
         $data = array();
         //$confirmation = "Confirm?: ".$menu->description;
         foreach ($MenuItems as $key => $value) {
             $phrase = $value[4];
             //print_r($value[4]);
             //$menu_item_id = $value['']
             $response = $Response_Model->getResponse($user['id'], $menu['id'], $value[3]);
             //lets build the data array
             switch ($value[0]) {
                 case '3':
                     $data['names'] = ucwords($response['response']);
                     break;
                 case '4':
                     $data['phoneno'] = $response['response'];
                     break;
                 case '5':
                     $data['idno'] = $response['response'];
                     break;
                 case '6':
                     if ($response['response'] == 1) {
                         $data['gender'] = 'Male';
                     } elseif ($response['response'] == 2) {
                         $data['gender'] = 'Female';
                     }
                     break;
                 case '7':
                     if ($response['response'] == 1) {
                         $data['language'] = 'English';
                     } elseif ($response['response'] == 2) {
                         $data['language'] = 'Kiswahili';
                     }
                     break;
                 default:
                     break;
             }
             //}
         }
         //print_r($data);
         //exit;
         // print_r($confirmation);
         // exit;
         //update the status to waiting for confirmation
         $farmerModel = new Model_Farmers();
         //$data = array('session' => 2,'confirm_from' => $menu->id );
         //print_r($user['id']);
         //exit;
         $result = $farmerModel->addData($data);
         //$result = $userModel -> updateUserData($data,$user['id']);
         //if ($result == 1) {
         $message33 = "You have been successfully registered as a farmer. Thanks for using ACILD";
         $phone = "+254" . substr($data['phoneno'], -9);
         $this->sendSMS($phone, $message33);
         //}
         //rudihapa
         //print_r($result);
         //exit;
     }
     if ($menu['id'] == 2) {
         //this person just bought produce
         $menuItemsModel = new Model_MenuItems();
         $MenuItems = $menuItemsModel->getMenuItems($menu['id']);
         //build up the array
         // print_r($MenuItems);
         // exit;
         $data = array();
         //$confirmation = "Confirm?: ".$menu->description;
         foreach ($MenuItems as $key => $value) {
             $phrase = $value[4];
             //print_r($value[4]);
             //$menu_item_id = $value['']
             $response = $Response_Model->getResponse($user['id'], $menu['id'], $value[3]);
             //lets build the data array
             switch ($value[0]) {
                 case '9':
                     $userModel = new Model_User();
                     $farmer = $userModel->getUserWithNationaID($response['response']);
                     $data['user_id'] = $farmer['id'];
                     //$data['national_id'] = ucwords($response['response']);
                     break;
                 case '10':
                     $data['commodity'] = $response['response'];
                     break;
                 case '11':
                     $data['quantity'] = $response['response'];
                     break;
                 case '12':
                     $data['price'] = $response['response'];
                     $data['points_earned'] = $data['price'] / 10;
                     $whole = floor($data['points_earned']);
                     break;
                     break;
             }
             //}
         }
         //print_r($farmer);
         //exit;
         //print_r($farmer['points']);
         //exit;
         //update the status to waiting for confirmation
         $Farmer_purchases = new Model_FarmerPurchases();
         $result = $Farmer_purchases->createPurchase($data);
         $farmer_total_points = $farmer['points'] + $data['points_earned'];
         $whole_total = floor($farmer_total_points);
         $userModel = new Model_User();
         //update user
         $data = array('points' => $farmer_total_points);
         $result = $userModel->updateUserData($data, $farmer['id']);
         //print_r($Response_Model);
         //exit;
         if ($result == 1) {
             $message33 = "Congratulations! You have been awarded " . $whole . " points for your purchase. Your total points is " . $whole_total . ". Thanks for using ACILD";
             $phone = "+254" . substr($farmer['phoneno'], -9);
             $this->sendSMS($phone, $message33);
         }
         //rudihapa
         //print_r($result);
         //exit;
     }
     //print_r($menu);
     //exit;
     $sms_message = $menu->message;
     //set user session to zero
     $userModel = new Model_User();
     //update user
     $data = array('session' => 0, 'step' => 0, 'menu_item_id' => 0);
     $result = $userModel->updateUserData($data, $user['id']);
     //lets send a message to the user
     $result = $this->sendSMS($user['phoneno'], $sms_message);
     return "end" . $sms_message;
 }