php – ¿REST_Controller con codeignaiter no funciona en cpanel?

Estoy probando REST_Controller en codeignaiter 3 para hacer una API rest, pero cuando lo subo a cPanel no me encuentra las rutas.
En la documentación dice que tengo que poner el dominio en el base_url en el archivo config.php pero no funciona.

introducir la descripción de la imagen aquí

Esta es mi ruta escrita en el archivo routes.php.

introducir la descripción de la imagen aquí

Este es mi controller.

introducir la descripción de la imagen aquí

Estos son mis archivos.

introducir la descripción de la imagen aquí

En el localhost funciona perfectamente y cuando creo una ruta que no dependa de la clase funciona, de antemano muchas gracias por su tiempo.

mysql – Cual es la pelicula con mayor existencias en inventario en cada tienda

Tengo 2 tiendas en las cuales se venden varias peliculas, y la mayoria son similares, necesito un codigo de consulta de SQL que me muestre el nombre de la pelicula misma pelicula que tiene mayor numero de copias por cada tienda, junto con la tienda y la cantidad exacta. Lo he intentado usando este:

select film.title as Pelicula, count(*) as Cantidad
from film, store
where  store.store_id = film.film_id 

pero solo da el nombre y la cantidad, y necesito tambien se muestre tanto la id de la tienda, como todas las tiendas

python – Buscar dos valores con re.search

Me gustaría saber si se puede buscar en un archivo de texto, usando re.search, dos valores distintos en una misma variable (se que se puede obtener usando dos variables) ya que quiero “asociar” el valor1 al valor2 y trabajar conjuntamente con ellos.

archivo.txt:

ESTE ES UN ARCHIVO QUE CONTIENE EL VALOR120 CON LA MIDA50

Con un valor sería así:

valor= re.search(r"VALOR(d+)", archivo)

Con dos valores a buscar, se me ha ocurrido esto, pero no me ha funcionado:

valor= re.search(r"VALOR(d+)|MIDA(d+)", archivo)

El output que me gustaría obtener es el siguiente: 120, 50

mysql – Aumentar un mes a una fecha con SQL

Estoy trabajando en una función en SQL que aumente un mes a una fecha determinada (@FECHA), considerando que, si la fecha resultante es día inhábil se sumen los días (sábado o domingo, o ambos según corresponda) y comience en día lunes(hábil).

Código SQL

DECLARE @FECHA AS DATETIME  
SET @FECHA = '2016-11-14 08:09:48.507' --ejemplo con cálculo incorrecto
SET @FECHA = '2016-11-16 08:09:48.507' --ejemplo con cálculo correcto

CASE WHEN DATEPART(WEEKDAY, CASE WHEN DATEPART(DAY,@FECHA)<15 
    THEN CONVERT(DATE,DATEADD(DAY,14,DATEADD(MM,DATEDIFF(MM,0,@FECHA),0))) 
    
ELSE 

    CONVERT(DATE,DATEADD(DAY,14,DATEADD(MM,DATEDIFF(MM,0,DATEADD(MM,1,@FECHA)),0))) END) >= 4 
        THEN DATEADD(DAY,(6 - DATEPART(WEEKDAY, CASE WHEN DATEPART(DAY,@FECHA)<15 
        THEN CONVERT(DATE,DATEADD(DAY,14,DATEADD(MM,DATEDIFF(MM,0,@FECHA),0))) 

ELSE 
    CONVERT(DATE,DATEADD(DAY,14,DATEADD(MM,DATEDIFF(MM,0,DATEADD(MM,1,@FECHA)),0))) END)),
    CASE WHEN DATEPART(DAY,@FECHA)<15 
    THEN CONVERT(DATE,DATEADD(DAY,14,DATEADD(MM,DATEDIFF(MM,0,@FECHA),0))) 

ELSE 
    CONVERT(DATE,DATEADD(DAY,14,DATEADD(MM,DATEDIFF(MM,0,DATEADD(MM,1,@FECHA)),0))) END)

ELSE 
    DATEADD(DAY,-1*((DATEPART(WEEKDAY, CASE WHEN DATEPART(DAY,@FECHA)<15 
    THEN CONVERT(DATE,DATEADD(DAY,14,DATEADD(MM,DATEDIFF(MM,0,@FECHA),0))) 
    
ELSE 
    CONVERT(DATE,DATEADD(DAY,14,DATEADD(MM,DATEDIFF(MM,0,DATEADD(MM,1,@FECHA)),0))) END))+2),
    CASE WHEN DATEPART(DAY,@FECHA)<15 
    THEN CONVERT(DATE,DATEADD(DAY,14,DATEADD(MM,DATEDIFF(MM,0,@FECHA),0))) 
ELSE 
    CONVERT(DATE,DATEADD(DAY,14,DATEADD(MM,DATEDIFF(MM,0,DATEADD(MM,1,@FECHA)),0))) END) END AS FECHARESULTANTE

Hasta el momento mi resultado es correcto cuando en @FECHA, el día de la fecha es mayor a 15, pero cuando este es menor a 15, se está haciendo incorrecto el cálculo.

Como guardar los datos de login/registro con FACEBOOK y Gmail en MySQL con PHP

estoy haciendo un login en mi pagina y he implementado el logueo con FB y Gmail, quisiera saber como llevo estos datos a mi base de datos, estas API ya funcionan y las apliqué con Composer.
Mi base de datos es en MySQL

En mi base ya tengo una tabla para los usuarios que se han registrado a través del formulario y ya funciona correctamente, pero debo crear una nueva para los que usen FB y Gmail?

Este es el código en mi pagina principal:

     <?php
     include('config.php');
//GMAIL login
     $login_button = '';
     if(isset($_GET("code")))
     {
      $token = $google_client->fetchAccessTokenWithAuthCode($_GET("code"));
      if(!isset($token('error')))
      {
       $google_client->setAccessToken($token('access_token'));
       $_SESSION('access_token') = $token('access_token');
       $google_service = new Google_Service_Oauth2($google_client);
       $data = $google_service->userinfo->get();
       if(!empty($data('given_name')))
       {
        $_SESSION('user_first_name') = $data('given_name');
       }
       if(!empty($data('family_name')))
       {
        $_SESSION('user_last_name') = $data('family_name');
       }
       if(!empty($data('email')))
       {
        $_SESSION('user_email_address') = $data('email');
       }
       if(!empty($data('gender')))
       {
        $_SESSION('user_gender') = $data('gender');
       }
       if(!empty($data('picture')))
       {
        $_SESSION('user_image') = $data('picture');
       }
      }
     }
     if(!isset($_SESSION('access_token')))
     {
     $login_button = '<br /><a href="'.$google_client->createAuthUrl().'"class="g-btn btn-block btn-social btn-google"><span class="fa fa-google"></span> Inicia sesion con Google</a>';
     }
     ?>
            <!--FACEBOOK LOGIN-->
     <?php
     include('config.php');
     $fb = new FacebookFacebook((
       'app_id' => '222531989569526',
       'app_secret' => '1970290c2d34ba55b268187c22f1751f',
       'default_graph_version' => 'v3.2',
       ));
     $helper = $fb->getRedirectLoginHelper();
     $permissions = ('email'); // Optional permissions
     $redirectURL = "https://".$_SERVER('SERVER_NAME')."/config.php";
     $loginUrl = $helper->getLoginUrl($redirectURL, $permissions);
     echo '<a href="' . $loginUrl . '"class="b-btn btn-block btn-social btn-facebook"><span class="fa fa-facebook"></span> Inicia sesion con Facebook</a>';
      ?>
                           <?php
                           if($login_button == '')
                           {
                            echo '<div class="panel-heading">Welcome User</div><div class="panel-body">';
                            echo '<img src="'.$_SESSION("user_image").'" class="img-responsive img-circle img-thumbnail" />';
                            echo '<h3><b>Name :</b> '.$_SESSION('user_first_name').' '.$_SESSION('user_last_name').'</h3>';
                            echo '<h3><b>Email :</b> '.$_SESSION('user_email_address').'</h3>';
                            echo '<h3><a href="logout.php">Logout</h3></div>';
                           }
                           else
                           {
                            echo '<div align="center">'.$login_button . '</div>';
                           }
                           ?>

Soy bastante nueva en php, agradezco de ante mano.

Cambiar automáticamente la imagen de fondo de pantalla con Kotlin en Android Studio

Me gustaría poner un fondo de pantalla en mi aplicación que cambie según la hora del dia. Al menos dos veces, una imagen para el dia y otra imagen para la noche. Sólo he conseguido poner una imagen desde el home_activity.xml

<LinearLayout
       android:layout_width="match_parent"
       android:layout_height="200dp"
       android:background="@drawable/fondodia"
       android:orientation="horizontal">

data – Como hago una búsqueda genérica sobre todos los campos en un documento con Lucene?

Tengo una x cantidad de documentos en un directorio de Lucene, uso la implementacion de .Net Core, version 8.4, necesito mediante una frase o string, que la consulta me coincida con cualquier campo del documento, no que de la manera que se hacerlo ahora, necesito especificar cada termino por cada campo, cuando pudiera perfectamente existir una manera de simplificarlo.

sql – Error con java JSP

Cuando intento acceder a mi vista para agregar un nuevo producto, me vuelve a llevar a listar. No tengo ni idea de porqué se produce esto, ya que creo que todo se encuentra correcto. Adjunto el código de la vista de agregar:

agregar.jsp

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="ISO-8859-1">
        <title>Agregar producto</title>
    </head>
    <body>
    
        <div>
            <h1>Agregar producto</h1>
            
            <form action="Controlador">
                Nombre: <br>
                <input type="text" name="nombreForm"><br>
                Descripcion: <br>
                <input type="text" name="descripcionForm">
                Precio: <br>
                <input type="text" name="precioForm"><br>
                <input type="submit" name="accion" value="agregar">
                
            </form>
        </div>
    
    </body>
</html>

Adjunto también el código del controlador donde llamo al formulario de agregar:

Controlador.java

package controllers;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import modeloDAO.ProductoDAO;
import models.Producto;

/**
 * Servlet implementation class Controlador
 */
@WebServlet("/Controlador")
public class Controlador extends HttpServlet {
    
    String listar = "views/listar.jsp";
    String add = "views/agregar.jsp";
    String edit = "views/editar.jsp";
    Producto p = new Producto();
    ProductoDAO dao = new ProductoDAO();
    
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Controlador() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String acceso = ""; 
        String action = request.getParameter("accion");
        if (action.equalsIgnoreCase("listar")) {
            
            acceso = listar;
            
        } else if(action.equalsIgnoreCase("add")) {
            
            acceso = add;
            
        } else if(action.equalsIgnoreCase("agregar")) {
            
            String nombre = request.getParameter("nombreForm");
            String descripcion = request.getParameter("descripcionForm");
            String precio = request.getParameter("precioForm");
            p.setNombre(nombre);
            p.setDescripcion(descripcion);
            p.setPrecio(precio);
            dao.add(p);
            
            acceso = listar;
            
        }
        
        RequestDispatcher vista = request.getRequestDispatcher(acceso);
        vista.forward(request, response);
    }

Como digo, no veo nada incorrecto para que me llame a listar en vez de a agregar. También voy a adjuntar el código de productoDAO, por si hubiera algún error en el método add, ya que lo dudo.

ProductoDAO.java

public boolean add(Producto pro) {
    String sql = "INSERT INTO producto(nombre, descripcion, precio) VALUES"
            + "('" + pro.getNombre()+"','" + pro.getDescripcion() + "','" + pro.getPrecio() + "')";
    try {
        
        con = cn.getConnection();
        ps = con.prepareStatement(sql);
        rs = ps.executeQuery();
        
    } catch (Exception e) {
        
        
    }
    return false;
}

Siento si tal vez sea un error muy tonto y no lo vea, espero no molestar con estos errores… Muchas gracias de antemano al que tenga la paciencia para leerlo y responder.

excepcion java.sql.SQLException: java.lang.ClassCastException: en jelastic con aplicacion mvc servlet

Estoy desplegando una aplicacion mvc con una consulta muy simple en Jelastic pero al realizar la consulta solo se imprime: “Gracias por tu consulta.
Linea 28 Linea 39 Excepcion e” y me salta la excepcion java.sql.SQLException: java.lang.ClassCastException: class java.math.BigInteger cannot be cast to class java.lang.Long (java.math.BigInteger and java.lang.Long are in module java.base of loader ‘bootstrap’) y no entiendo por qué. Tengo incluido el mysql-connector-java-5.1.23-bin.jar en el directorio lib. En jelastic estoy usando Apache Balancer 2.4.41, Tomcat 9.0.41 y MYSQL CE 8.0.22. Agradezco cualquiero ayuda, estoy desesperado.

Código Servlet:

package despliegueApp2;
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;

@WebServlet("/Consulta")
public class ConsultaServlet extends HttpServlet {
// El método doGet() se ejecuta una vez por cada petición HTTP GET.

private static final long serialVersionUID = 1L;

@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {
// Establecemos el tipo MIME del mensaje de respuesta
response.setContentType("text/html");
// Creamos un objeto para poder escribir la respuesta
PrintWriter out = response.getWriter();
out.println("<h3>Gracias por tu consulta.</h3>");
Connection conn = null;
Statement stmt = null;

try {
    out.println("Linea 28");
    // Paso 1: Cargar el driver JDBC.
    
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    
    // Paso 2: Conectarse a la Base de Datos utilizando la clase Connection
    String userName="root";
    String password="";

    //URL de la base de datos(equipo, puerto, base de datos)
    String url="jdbc:mysql://node29974-evagil3.es-1.axarnet.cloud/discosmusica";
    out.println("Linea 39");
    conn = java.sql.DriverManager.getConnection(url, userName, password);
    out.println("Linea 41");
    // Paso 3: Crear sentencias SQL, utilizando objetos de tipo Statement
    stmt = conn.createStatement();
    
    // Paso 4: Ejecutar las sentencias SQL a través de los objetos Statement
    String sqlStr = "select * from cds where artista = "
    + "'" + request.getParameter("artista") + "'";

    // Generar una página HTML como resultado de la consulta
    out.println("<html><head><title>Resultado de la consulta</title></head><body>");
    out.println("<h3>Gracias por tu consulta.</h3>");
    out.println("<p>Tu consulta es: " + sqlStr + "</p></body></html>");
    ResultSet rset = stmt.executeQuery(sqlStr);
    
    // Paso 5: Procesar el conjunto de registros resultante utilizando ResultSet
    int count = 0;
    while (rset.next())  {
        out.println("<p>" + rset.getString("artista") + ", " + rset.getString("titulo")
        + ", " + rset.getDouble("precio") + "</p>");
        count++;
    }
    
    out.println("<p>==== " + count + " registros encontrados =====</p>");
    out.println("</body></html>");
    
    } catch (Exception ex) {
        out.println("Excepcion e");
        out.println(ex);
        ex.printStackTrace();
    } finally {
        out.close();  // Cerramos el flujo de escritura
        try {
            // Cerramos el resto de recursos
            if (stmt != null) stmt.close();
            if (conn != null) conn.close();
        } catch (SQLException ex) {
            out.println("SQLException e");
            ex.printStackTrace();
        }
    }
}
}

index.html:

<body>
    <h2>TIENDA DE MUSICA</h2>
    <form method="get" action="Consulta"
        class="formulario">
        <span><b>Elige un artista:</b></span><br>
        <br> <input type="checkbox" name="artista"
            value="Michael Jackson">Michael Jackson <input
            type="checkbox" name="artista" value="AC/DC">AC/DC <input
            type="checkbox" name="artista" value="Pink Floyd">Pink Floyd
        <input type="checkbox" name="artista" value="Queen">Queen <br>
        <br>
        <input type="submit" value="Buscar">
    </form>
</body>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>despliegueApp2</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>ConsultaCDS</servlet-name>
    <servlet-class>ConsultaServlet</servlet-class>
    </servlet>
    
  <servlet-mapping>
    <servlet-name>ConsultaCDS</servlet-name>
    <url-pattern>/consulta</url-pattern>
  </servlet-mapping>
</web-app>

php – ¿Cómo acomodar datos con columnas responsivas?

Espero poder explicarme bien. Tengo que acomodar X cantidad de datos en una X cantidad de columnas. Es decir en uno de los datos de la tabla de MYSQL, puse cantcolumnas = 4, y luego en otro dato puse cantcolumnas = 2. Dependiendo de la cantidad de columnas, X cantidad de datos se van a ir acomodando uno al lado del otro y, si alcanzó la cant de columnas máximas (ej, 2), baja y se acomoda en el siguiente. Es como hacer columnas responsivas en HTML pero en vez de texto, datos que vienen desde MYSQL, y todos uno al lado del otro.

No tengo idea de si esto puede hacerse, si es así, o si hay alguna otra opción similar ¿Tienen idea de cómo hacerlo?