Guest User

Untitled

a guest
Feb 16th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.10 KB | None | 0 0
  1. package com.mobiapp.hospmgmt;
  2.  
  3. import android.app.ProgressDialog;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.view.View;
  8. import android.widget.Button;
  9. import android.widget.EditText;
  10. import android.widget.Toast;
  11.  
  12. import com.android.volley.Request;
  13. import com.android.volley.Response;
  14. import com.android.volley.VolleyError;
  15. import com.android.volley.toolbox.JsonObjectRequest;
  16.  
  17. import org.json.JSONException;
  18. import org.json.JSONObject;
  19.  
  20. import java.util.Date;
  21.  
  22. public class RegisterActivity extends AppCompatActivity {
  23. private static final String KEY_STATUS = "status";
  24. private static final String KEY_MESSAGE = "message";
  25. private static final String KEY_FULL_NAME = "full_name";
  26. private static final String KEY_USERNAME = "username";
  27. private static final String KEY_PASSWORD = "password";
  28. private static final String KEY_ADDR1 = "addr1";
  29. private static final String KEY_ADDR2 = "addr2";
  30. private static final String KEY_ADDR3 = "addr3";
  31. private static final String KEY_CITY = "city";
  32. private static final String KEY_PIN = "pin";
  33. private static final String KEY_STATE = "state";
  34. private static final String KEY_COUNTRY = "country";
  35. private static final String KEY_EMAIL = "email";
  36. private static final String KEY_PHONE = "phone";
  37. private static final String KEY_MOBILE = "mobile";
  38. private static final String KEY_USERTYPE = "usertype";
  39.  
  40. private static final String KEY_EMPTY = "";
  41. private EditText etUsername;
  42. private EditText etPassword;
  43. private EditText etConfirmPassword;
  44. private EditText etFullName;
  45. private EditText etAddr1;
  46. private EditText etAddr2;
  47. private EditText etAddr3;
  48. private EditText etCity;
  49. private EditText etPin;
  50. private EditText etState;
  51. private EditText etCountry;
  52. private EditText etEmail;
  53. private EditText etPhone;
  54. private EditText etMobile;
  55. private EditText etUsertype;
  56.  
  57. private String username;
  58. private String password;
  59. private String confirmPassword;
  60. private String fullName;
  61. private String addr1;
  62. private String addr2;
  63. private String addr3;
  64. private String city;
  65. private String pin;
  66. private String ustate;
  67. private String country;
  68. private String email;
  69. private String phone;
  70. private String mobile;
  71. private String usertype;
  72.  
  73. private ProgressDialog pDialog;
  74. private String register_url = "http://192.168.42.252:80/hospmgmt/register.php";
  75. private SessionHandler session;
  76.  
  77. @Override
  78. protected void onCreate(Bundle savedInstanceState) {
  79. super.onCreate(savedInstanceState);
  80. session = new SessionHandler(getApplicationContext());
  81. setContentView(R.layout.activity_register);
  82.  
  83. etUsername = findViewById(R.id.etUsername);
  84. etPassword = findViewById(R.id.etPassword);
  85. etConfirmPassword = findViewById(R.id.etConfirmPassword);
  86. etFullName = findViewById(R.id.etFullName);
  87. etAddr1 = findViewById(R.id.etAddr1);
  88. etAddr2 = findViewById(R.id.etAddr2);
  89. etAddr3 = findViewById(R.id.etAddr3);
  90. etCity = findViewById(R.id.etCity);
  91. etPin = findViewById(R.id.etPin);
  92. etState = findViewById(R.id.etState);
  93. etCountry = findViewById(R.id.etCountry);
  94. etEmail = findViewById(R.id.etEmail);
  95. etPhone = findViewById(R.id.etPhone);
  96. etMobile = findViewById(R.id.etMobile);
  97. etUsertype = findViewById(R.id.etUsertype);
  98.  
  99. Button login = findViewById(R.id.btnRegisterLogin);
  100. Button register = findViewById(R.id.btnRegister);
  101.  
  102. //Launch Login screen when Login Button is clicked
  103. login.setOnClickListener(new View.OnClickListener() {
  104. @Override
  105. public void onClick(View v) {
  106. Intent i = new Intent(RegisterActivity.this, MainActivity.class);
  107. startActivity(i);
  108. finish();
  109. }
  110. });
  111.  
  112. register.setOnClickListener(new View.OnClickListener() {
  113. @Override
  114. public void onClick(View v) {
  115. //Retrieve the data entered in the edit texts
  116. username = etUsername.getText().toString().toLowerCase().trim();
  117. password = etPassword.getText().toString().trim();
  118. confirmPassword = etConfirmPassword.getText().toString().trim();
  119. fullName = etFullName.getText().toString().trim();
  120. addr1 = etAddr1.getText().toString().trim();
  121. addr2 = etAddr2.getText().toString().trim();
  122. addr3 = etAddr3.getText().toString().trim();
  123. city = etCity.getText().toString().trim();
  124. ustate = etState.getText().toString().trim();
  125. pin = etPin.getText().toString().trim();
  126. country = etCountry.getText().toString().trim();
  127. email = etEmail.getText().toString().trim();
  128. phone = etPhone.getText().toString().trim();
  129. mobile = etMobile.getText().toString().trim();
  130. usertype = etUsertype.getText().toString().trim();
  131.  
  132. if (validateInputs()) {
  133. registerUser();
  134. }
  135.  
  136. }
  137. });
  138.  
  139. }
  140.  
  141. /**
  142. * Display Progress bar while registering
  143. */
  144. private void displayLoader() {
  145. pDialog = new ProgressDialog(RegisterActivity.this);
  146. pDialog.setMessage("Signing Up.. Please wait...");
  147. pDialog.setIndeterminate(false);
  148. pDialog.setCancelable(false);
  149. pDialog.show();
  150.  
  151. }
  152.  
  153. /**
  154. * Launch Dashboard Activity on Successful Sign Up
  155. */
  156. private void loadDashboard() {
  157. Intent i = new Intent(getApplicationContext(), DashboardActivity.class);
  158. startActivity(i);
  159. finish();
  160.  
  161. }
  162.  
  163. private void registerUser() {
  164. displayLoader();
  165. JSONObject request = new JSONObject();
  166. try {
  167. //Populate the request parameters
  168. request.put(KEY_USERNAME, username);
  169. request.put(KEY_PASSWORD, password);
  170. request.put(KEY_FULL_NAME, fullName);
  171. request.put(KEY_ADDR1, addr1);
  172. request.put(KEY_ADDR2, addr2);
  173. request.put(KEY_ADDR3, addr3);
  174. request.put(KEY_CITY, city);
  175. request.put(KEY_STATE, ustate);
  176. request.put(KEY_PIN, pin);
  177. request.put(KEY_COUNTRY,country);
  178. request.put(KEY_EMAIL, email);
  179. request.put(KEY_PHONE, phone);
  180. request.put(KEY_MOBILE, mobile);
  181. request.put(KEY_USERTYPE,usertype);
  182.  
  183. } catch (JSONException e) {
  184. e.printStackTrace();
  185. }
  186. JsonObjectRequest jsArrayRequest = new JsonObjectRequest
  187. (Request.Method.POST, register_url, request, new Response.Listener<JSONObject>() {
  188. @Override
  189. public void onResponse(JSONObject response) {
  190. pDialog.dismiss();
  191. try {
  192. //Check if user got registered successfully
  193. if (response.getInt(KEY_STATUS) == 0) {
  194. //Set the user session
  195. session.loginUser(username,fullName);
  196. loadDashboard();
  197.  
  198. }else if(response.getInt(KEY_STATUS) == 1){
  199. //Display error message if username is already existsing
  200. etUsername.setError("Username already taken!");
  201. etUsername.requestFocus();
  202.  
  203. }else{
  204. Toast.makeText(getApplicationContext(),
  205. response.getString(KEY_MESSAGE), Toast.LENGTH_SHORT).show();
  206.  
  207. }
  208. } catch (JSONException e) {
  209. e.printStackTrace();
  210. }
  211. }
  212. }, new Response.ErrorListener() {
  213.  
  214. @Override
  215. public void onErrorResponse(VolleyError error) {
  216. pDialog.dismiss();
  217.  
  218. //Display error message whenever an error occurs
  219. Toast.makeText(getApplicationContext(),
  220. error.getMessage(), Toast.LENGTH_SHORT).show();
  221.  
  222. }
  223. });
  224.  
  225. // Access the RequestQueue through your singleton class.
  226. MySingleton.getInstance(this).addToRequestQueue(jsArrayRequest);
  227. }
  228.  
  229. /**
  230. * Validates inputs and shows error if any
  231. * @return
  232. */
  233. private boolean validateInputs() {
  234. if (KEY_EMPTY.equals(fullName)) {
  235. etFullName.setError("Full Name cannot be empty");
  236. etFullName.requestFocus();
  237. return false;
  238.  
  239. }
  240. if (KEY_EMPTY.equals(username)) {
  241. etUsername.setError("Username cannot be empty");
  242. etUsername.requestFocus();
  243. return false;
  244. }
  245. if (KEY_EMPTY.equals(password)) {
  246. etPassword.setError("Password cannot be empty");
  247. etPassword.requestFocus();
  248. return false;
  249. }
  250.  
  251. if (KEY_EMPTY.equals(confirmPassword)) {
  252. etConfirmPassword.setError("Confirm Password cannot be empty");
  253. etConfirmPassword.requestFocus();
  254. return false;
  255. }
  256. if (!password.equals(confirmPassword)) {
  257. etConfirmPassword.setError("Password and Confirm Password does not match");
  258. etConfirmPassword.requestFocus();
  259. return false;
  260. }
  261.  
  262. return true;
  263. }
  264. }
  265.  
  266. <?php
  267.  
  268. ini_set('display_errors', 'On');
  269. error_reporting(E_ALL | E_STRICT);
  270.  
  271. $response = array();
  272. require("db/db_connect.php");
  273. require("userfunctions.php");
  274.  
  275. //Get the input request parameters
  276. $inputJSON = file_get_contents('php://input');
  277.  
  278. echo $inputJSON;
  279. $input = json_decode($inputJSON, TRUE); //convert JSON into array
  280. echo $input;
  281.  
  282. var_dump($inputJSON);
  283. var_dump($input);
  284. //Check for Mandatory parameters
  285. if(isset($input['username']) && isset($input['password']) && isset($input['full_name'])){
  286. $userid = 0;
  287. $username = $input['username'];
  288. $password = $input['password'];
  289. $fullName = $input['full_name'];
  290. $datecreated = date("d/m/Y");
  291. $addr1 = $input['addr1'];
  292. $addr2 = $input['addr2'];
  293. $addr3 = $input['addr3'];
  294. $city = $input['city'];
  295. $pin = $input['pin'];
  296. $state = $input['state'];
  297. $country = $input['country'];
  298. $email = $input['email'];
  299. $phone = $input['phone'];
  300. $mobile = $input['mobile'];
  301. $usertype = $input['usertype'];
  302.  
  303. //Check if user already exist
  304. if(!userExists($username)){
  305.  
  306. //Get a unique Salt
  307. $salt = getSalt();
  308.  
  309. //Generate a unique password Hash
  310. $passwordHash = password_hash(concatPasswordWithSalt($password,$salt),PASSWORD_DEFAULT);
  311.  
  312. //Query to register new user
  313. $insertQuery = "INSERT INTO user(user_id, user_name, user_fullname, user_passwordhash, user_passwordsalt, user_datecreated, user_addr1, user_addr2, user_addr3, user_city, user_pin, user_state, user_country, user_email, user_phone, user_mobile, user_type) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
  314. if($stmt = $con->prepare($insertQuery)){
  315. $stmt->bind_param("issssssssssssssss", $userid, $username,$fullName,$passwordHash,$salt, $datecreated, $addr1, $addr2, $addr3, $city, $pin, $state, $country, $email, $phone, $mobile, $usertype);
  316. $stmt->execute();
  317. $response["status"] = 0;
  318. $response["message"] = "User created";
  319. error_log("$response set - 1");
  320. $stmt->close();
  321. }
  322. else{
  323. $response["status"] = 9;
  324. $response["message"] = "Error preparing INSERT query for database table USER";
  325. error_log("$response set - 2");
  326. }
  327. }
  328. else{
  329. $response["status"] = 1;
  330. $response["message"] = "User exists";
  331. error_log("$response set - 3");
  332. }
  333. }
  334. else{
  335. $response["status"] = 2;
  336. $response["message"] = "Missing mandatory parameters";
  337. error_log("$response set - 4");
  338. }
  339. var_dump($response);
  340. echo json_encode($response);
  341. ?>
Add Comment
Please, Sign In to add comment