diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a3e565c..bbd9e7d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,20 @@ android:supportsRtl="true" android:theme="@style/Theme.R3ForumTest" tools:targetApi="31"> + + + + + + diff --git a/app/src/main/java/asgardius/page/r3forumtest/AccountDel.java b/app/src/main/java/asgardius/page/r3forumtest/AccountDel.java new file mode 100644 index 0000000..6d24016 --- /dev/null +++ b/app/src/main/java/asgardius/page/r3forumtest/AccountDel.java @@ -0,0 +1,106 @@ +package asgardius.page.r3forumtest; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import java.net.URL; + +import javax.net.ssl.HttpsURLConnection; + +public class AccountDel extends AppCompatActivity { + EditText user; + Button delAccount; + boolean success; + HttpsURLConnection myConnection; + URL endpoint; + String myData; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_account_del); + user = (EditText)findViewById(R.id.username); + delAccount = (Button)findViewById(R.id.delete); + + delAccount.setOnClickListener(new View.OnClickListener(){ + @Override + public void onClick(View view) { + //buttonaction + if(user.getText().toString().equals("")) { + Toast.makeText(getApplicationContext(),"Seleccione un usuario", Toast.LENGTH_SHORT).show(); + }else { + Thread login = new Thread(new Runnable() { + + @Override + public void run() { + try { + //Your code goes here + endpoint = new URL("https://desktop.asgardius.company/test/restful/items/delete.php"); + myConnection = (HttpsURLConnection) endpoint.openConnection(); + myConnection.setRequestProperty("User-Agent", "r3-forum-test"); + myConnection.setRequestMethod("POST"); + // Create the data + myData = "{\n" + + "\"id\": \""+user.getText().toString().toLowerCase()+"\"\n" + + "}"; + // Enable writing + myConnection.setDoOutput(true); + // Write the data + myConnection.getOutputStream().write(myData.getBytes()); + System.out.println(myConnection.getResponseCode()); + if (myConnection.getResponseCode() == 200) { + success = true; + } else { + success = false; + } + + runOnUiThread(new Runnable() { + + @Override + public void run() { + //Test + if (success) { + Toast.makeText(getApplicationContext(), "Usuario eliminado", Toast.LENGTH_SHORT).show(); + finish(); + } else { + Toast.makeText(getApplicationContext(), "Usuario inexistente", Toast.LENGTH_SHORT).show(); + } + } + }); + + } catch (Exception e) { + e.printStackTrace(); + runOnUiThread(new Runnable() { + + @Override + public void run() { + Toast.makeText(getApplicationContext(), "Conexión fallida", Toast.LENGTH_SHORT).show(); + } + }); + //Toast.makeText(getApplicationContext(),getResources().getString(R.string.media_list_fail), Toast.LENGTH_SHORT).show(); + //finish(); + } + } + }); + + login.start(); + } + } + }); + } + + private void mainMenu() { + + Intent intent = new Intent(this, MainScreen.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.putExtra("EXIT", true); + startActivity(intent); + + } +} \ No newline at end of file diff --git a/app/src/main/java/asgardius/page/r3forumtest/AccountEdit.java b/app/src/main/java/asgardius/page/r3forumtest/AccountEdit.java new file mode 100644 index 0000000..79f9eb7 --- /dev/null +++ b/app/src/main/java/asgardius/page/r3forumtest/AccountEdit.java @@ -0,0 +1,138 @@ +package asgardius.page.r3forumtest; + +import androidx.appcompat.app.AppCompatActivity; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Switch; +import android.widget.Toast; + +import java.net.URL; + +import javax.net.ssl.HttpsURLConnection; + +public class AccountEdit extends AppCompatActivity { + Button editUser; + EditText user, pwd, pwdc, nacion, fname, lname, mail, dated, datem, datey; + @SuppressLint("UseSwitchCompatOrMaterialCode") + Switch setAdmin; + URL endpoint; + HttpsURLConnection myConnection; + boolean success; + String myData, permission; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_account_edit); + user = (EditText)findViewById(R.id.username); + pwd = (EditText)findViewById(R.id.password); + pwdc = (EditText)findViewById(R.id.passwordConfirm); + nacion = (EditText)findViewById(R.id.nacionalidad); + fname = (EditText)findViewById(R.id.firstname); + mail = (EditText)findViewById(R.id.email); + dated = (EditText)findViewById(R.id.Date); + datem = (EditText)findViewById(R.id.Month); + datey = (EditText)findViewById(R.id.Year); + lname = (EditText)findViewById(R.id.lastname); + setAdmin = (Switch)findViewById(R.id.permission); + editUser = (Button)findViewById(R.id.edituser); + + editUser.setOnClickListener(new View.OnClickListener(){ + @Override + public void onClick(View view) { + //buttonaction + if(user.getText().toString().equals("") || pwd.getText().toString().equals("") || + pwdc.getText().toString().equals("") || nacion.getText().toString().equals("") || + fname.getText().toString().equals("") || lname.getText().toString().equals("") || + mail.getText().toString().equals("") || dated.getText().toString().equals("") || + datem.getText().toString().equals("") || datey.getText().toString().equals("")) { + Toast.makeText(getApplicationContext(),"Todos los campos son obligatorios", Toast.LENGTH_SHORT).show(); + } else if(!pwd.getText().toString().equals(pwdc.getText().toString())) { + Toast.makeText(getApplicationContext(),"Las contraseñas no coinciden", Toast.LENGTH_SHORT).show(); + }else { + Thread login = new Thread(new Runnable() { + + @Override + public void run() { + try { + //Your code goes here + if(setAdmin.isChecked()) { + permission = "admin"; + } else { + permission = "user"; + } + endpoint = new URL("https://desktop.asgardius.company/test/restful/items/update.php"); + myConnection = (HttpsURLConnection) endpoint.openConnection(); + myConnection.setRequestProperty("User-Agent", "r3-forum-test"); + myConnection.setRequestMethod("POST"); + // Create the data + myData = "{\n" + + "\"id\": \""+user.getText().toString().toLowerCase()+"\",\n" + + "\"firstname\": \""+fname.getText().toString()+"\",\n" + + "\"lastname\":\""+lname.getText().toString()+"\",\n" + + "\"email\":\""+mail.getText().toString().toLowerCase()+"\",\n" + + "\"password\": \""+pwd.getText().toString()+"\",\n" + + "\"country\":\""+nacion.getText().toString()+"\",\n" + + "\"birthdate\": \""+datey.getText().toString()+"-"+datem.getText().toString()+"-"+dated.getText().toString()+"\",\n" + + "\"permission\":\""+permission+"\"\n" + + "}"; + // Enable writing + myConnection.setDoOutput(true); + // Write the data + myConnection.getOutputStream().write(myData.getBytes()); + System.out.println(myConnection.getResponseCode()); + if (myConnection.getResponseCode() == 200) { + success = true; + } else { + success = false; + } + + runOnUiThread(new Runnable() { + + @Override + public void run() { + //Test + if (success) { + Toast.makeText(getApplicationContext(), "Datos actualizados", Toast.LENGTH_SHORT).show(); + finish(); + } else { + Toast.makeText(getApplicationContext(), "Usuario invalido", Toast.LENGTH_SHORT).show(); + } + } + }); + + } catch (Exception e) { + e.printStackTrace(); + runOnUiThread(new Runnable() { + + @Override + public void run() { + Toast.makeText(getApplicationContext(), "Conexión fallida", Toast.LENGTH_SHORT).show(); + } + }); + //Toast.makeText(getApplicationContext(),getResources().getString(R.string.media_list_fail), Toast.LENGTH_SHORT).show(); + //finish(); + } + } + }); + + login.start(); + } + } + }); + } + + private void mainMenu() { + + Intent intent = new Intent(this, MainScreen.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.putExtra("EXIT", true); + startActivity(intent); + + } +} \ No newline at end of file diff --git a/app/src/main/java/asgardius/page/r3forumtest/MainActivity.java b/app/src/main/java/asgardius/page/r3forumtest/MainActivity.java index be2381b..7357a75 100644 --- a/app/src/main/java/asgardius/page/r3forumtest/MainActivity.java +++ b/app/src/main/java/asgardius/page/r3forumtest/MainActivity.java @@ -12,9 +12,6 @@ import android.widget.EditText; import android.widget.Toast; import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; import javax.net.ssl.HttpsURLConnection; @@ -50,7 +47,7 @@ public class MainActivity extends AppCompatActivity { } user = (EditText)findViewById(R.id.username); pwd = (EditText)findViewById(R.id.password); - signUp = (Button)findViewById(R.id.signup); + signUp = (Button)findViewById(R.id.delete); login = (Button)findViewById(R.id.login); signUp.setOnClickListener(new View.OnClickListener(){ @Override diff --git a/app/src/main/java/asgardius/page/r3forumtest/MainScreen.java b/app/src/main/java/asgardius/page/r3forumtest/MainScreen.java index 4d5dcac..705a441 100644 --- a/app/src/main/java/asgardius/page/r3forumtest/MainScreen.java +++ b/app/src/main/java/asgardius/page/r3forumtest/MainScreen.java @@ -67,6 +67,7 @@ public class MainScreen extends AppCompatActivity { try { //Your code goes here endpoint = new URL("https://desktop.asgardius.company/test/restful/items/read.php"); + //System.out.println(endpoint); myConnection = (HttpsURLConnection) endpoint.openConnection(); myConnection.setRequestProperty("User-Agent", "r3-forum-test"); myConnection.setRequestMethod("POST"); @@ -87,7 +88,7 @@ public class MainScreen extends AppCompatActivity { while ((output = br.readLine()) != null) { sb.append(output); } - System.out.println(sb.toString()); + //System.out.println(sb.toString()); jsonObj = new JSONObject(sb.toString()); } else { success = false; @@ -200,14 +201,16 @@ public class MainScreen extends AppCompatActivity { @Override public void onClick(View view) { //buttonaction - Toast.makeText(getApplicationContext(),"editar", Toast.LENGTH_SHORT).show(); + //Toast.makeText(getApplicationContext(),"editar", Toast.LENGTH_SHORT).show(); + accountEdit(); } }); delete.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view) { //buttonaction - Toast.makeText(getApplicationContext(),"eliminar", Toast.LENGTH_SHORT).show(); + //Toast.makeText(getApplicationContext(),"eliminar", Toast.LENGTH_SHORT).show(); + accountDelete(); } }); } @@ -221,6 +224,20 @@ public class MainScreen extends AppCompatActivity { } + private void accountEdit() { + + Intent intent = new Intent(this, AccountEdit.class); + startActivity(intent); + + } + + private void accountDelete() { + + Intent intent = new Intent(this, AccountDel.class); + startActivity(intent); + + } + public void onBackPressed(){ Intent a = new Intent(Intent.ACTION_MAIN); a.addCategory(Intent.CATEGORY_HOME); diff --git a/app/src/main/java/asgardius/page/r3forumtest/SignUp.java b/app/src/main/java/asgardius/page/r3forumtest/SignUp.java index 293cfe0..c8630e7 100644 --- a/app/src/main/java/asgardius/page/r3forumtest/SignUp.java +++ b/app/src/main/java/asgardius/page/r3forumtest/SignUp.java @@ -36,7 +36,7 @@ public class SignUp extends AppCompatActivity { datem = (EditText)findViewById(R.id.Month); datey = (EditText)findViewById(R.id.Year); lname = (EditText)findViewById(R.id.lastname); - signUp = (Button)findViewById(R.id.signup); + signUp = (Button)findViewById(R.id.signUp); signUp.setOnClickListener(new View.OnClickListener(){ @Override diff --git a/app/src/main/res/layout/activity_account_del.xml b/app/src/main/res/layout/activity_account_del.xml new file mode 100644 index 0000000..f2fada4 --- /dev/null +++ b/app/src/main/res/layout/activity_account_del.xml @@ -0,0 +1,45 @@ + + + + + + + +