public function actividadUsuarios() { //funcion que determina la inactividad de los usuarios date_default_timezone_set("America/Bogota"); $fechaActual = date("Y-m-d"); $mesAct = substr($fechaActual, 5, 2); //se extaren el mes y el día de la fecha actual $diaAct = substr($fechaActual, 8, 2); $revision = $this->getControl('*****@*****.**')->fetch_array(MYSQLI_ASSOC); $ultimaRevision = $revision['fecha']; if ($fechaActual != $ultimaRevision) { $conexion = new Conexion(); $conexion = $conexion->conectar(); $resultado = new Resultado(); $activacion = new Activacion(); $controlRevision = new Control('*****@*****.**'); $controlRevision->upControl($conexion, 0, 0, 0, $fechaActual); $users = new Usuario(); $usuarios = $users->getAllUsers($conexion); // se realiza una consulta que devuelve usuarios registrados. if ($usuarios->num_rows != 0) { foreach ($usuarios as $user) { $datos = $this->getControl($user['email'])->fetch_array(MYSQLI_ASSOC); //por cada usuario registado se extraen los datos de la tabla control $mes = substr($datos['fecha'], 5, 2); //ultimo día y mes donde el usuario realizo alguna prueba $dia = substr($datos['fecha'], 8, 2); $semana_usuario = $datos['semana_usuario']; if ($semana_usuario != 4) { if ($dia != '00' && $mes != '00') { if ($mesAct != $mes && $diaAct - $dia > -3) { //si el usuario lleva mas de un mes sin resolver las pruebas se envia un correo avisandole que sera eliminado del sistema $contenido = "Neuroentrenamiento: \nTe informamos que llevas más de 1 mes sin actividad alguna \n en el aplicativo en el cual estas registrado, debido a esto seras eliminado de nuestro\n sistema. Si quieres seguir entrenandote, tendras que registrarte de nuevo. \n \nTe agradecemos tu atención y comprensión\n\n Atentamente: Administración Neuroentrenamiento\n\n neurocartilla@gmail.com \nUniversidad de Cundinamarca Facatativá. "; mail($datos['users_email'], "Informe Neuroentrenamiento", $contenido); $resultado->deleteResult($conexion, $datos['users_email']); //se elimina todos los resultados que corresponden a ese usuario. $activacion->deleteActive($conexion, $datos['users_email']); //se elimina tambien de la tabla activacion $users->deleteUser($conexion, $datos['users_email']); //se elimina al usuario de la tabla users $control = new Control($datos['users_email']); $control->deleteControl($conexion); //se elimina el usuario de la tabla control $contenido = "Se ha eliminado al usuario : " . $datos['users_email'] . "\n del sistema por inactividad de más de 1 mes"; mail('*****@*****.**', "Informe Neuroentrenamiento", $contenido); //se informa al administrador mediante un correo que un usuario ha sido eliminado } elseif ($mesAct == $mes && $diaAct - $dia > 15 || $mesAct != $mes && $diaAct - $dia > -16) { //Si el usuario lleva mas de 2 semanas sin resolver las pruebas se le envia un correo diciendole que debera iniciar de cero $contenido = "Neuroentrenamiento: \nTe informamos que llevas más de 2 semanas sin actividad alguna \n en el aplicativo en el cual estas registrado, cuando vuelvas tendras que realizar las \n actividades desde el inicio.\nTe agradecemos tu atención y comprensión\n\n Atentamente: Administración Neuroentrenamiento\n\n neurocartilla@gmail.com \nUniversidad de Cundinamarca Facatativá. "; mail($datos['users_email'], "Informe Neuroentrenamiento", $contenido); $resultado->deleteResult($conexion, $datos['users_email']); //se elimina todos los resultados que corresponden a ese usuario. $contador = 0; $dia = 1; $semana = 1; $fecha = $datos['fecha']; $control = new Control($datos['users_email']); $control->upControl($conexion, $contador, $dia, $semana, $fecha); //se actualizan los datos de la tabla control para que el usuario inicie desde cero $contenido = "Se ha Reiniciado al usuario : " . $datos['users_email'] . "\n en el sistema por inactividad de más de 2 semanas"; mail('*****@*****.**', "Informe Neuroentrenamiento", $contenido); //se informa al administrador mediante un correo que un usuario ha sido eliminado } } } } } } }