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; }