Un Valericio en Internet

Blog

Pizza

–¿Hola, Pizza Hut?
–No, señor. Pizzería Google.
–Ah, discúlpeme… marqué mal.
–No señor, marcó bien. Google compró la cadena Pizza Hut.
–Ah, bueno… entonces anote mi pedido, por favor…
–¿Lo mismo de siempre?
–¿Y usted cómo sabe lo que pido yo?
–Según su calle y su número de RUT, las últimas 12 veces usted ordenó una napolitana grande con jamón.
–Sí, esa quiero…
–¿Me permite sugerirle una pizza sin sal, con ricota, rúcula y tomate seco?
–¡No! Detesto las verduras.
–Su colesterol no es bueno, señor.
–¿Y usted cómo sabe?
–Cruzamos datos con su Isapre y tenemos los resultados de sus últimos 7 análisis de sangre. Acá me sale que sus triglicéridos tienen un valor de 280 mg/DL y su LDL es de…
–¡Basta, basta! ¡Quiero la napolitana! ¡Yo tomo mi medicamento!
–Perdón, señor, pero según nuestra base de datos no lo toma regularmente. La última caja de Lipitor de 30 comprimidos que usted compró en Ahumada fue el pasado 2 de diciembre a las 3:26 pm.
–¡Pero compré más en otra farmacia!
–Los datos de sus consumos con tarjeta de crédito no lo demuestran.
–¡Pagué en efectivo, tengo otra fuente de ingresos!!!
–Su última declaración de ingresos no lo demuestra. No queremos que tenga problemas con el SII señor…
–¡Ándate a la mierda wn!
–Perdón, señor, sólo queremos ayudarlo.
–¿Ayudarme? ¡Estoy harto de Google, Facebook, Twitter,v WhatsApp, Instagram!!
Me voy a ir a una isla sin Internet, cable ni telefonía celular.
–Comprendo, señor, pero aquí me sale que su pasaporte está vencido hace 5 meses!!

Top

Comparando fechas que no lo son

Este es un problema más frecuente que lo que se pueda pensar, ¿cómo hago una consulta MySQL que debe comparar fechas usando campos que no son del tipo DATE si no más bien VARCHAR?.

La solucion es bastante sencilla, solo utilizando la funcion de MySQL STR_TO_DATE.

SELECT * 
  FROM 
     usuarios 
  WHERE 
     MONTH(CURDATE()) = MONTH(STR_TO_DATE(fnac,'%d-%m-%Y'));
Top

Update a campos con correo electronico

En unos de mis ultimos desarrollos realizados para una Clinica, tengo el registro de todos los medicos que trabajan alli entre estos esta el correo electronico, cuando solicite los datos de ellos, venian varios dominios no solo el dominio de la clinica, sino el dominio anterior que utilizaban, lo cual me parecio que daba incluso lo mismo, pues es un tema que no altera mucjo la base de datos.

Son mas de 500 registros de medicos y entre ellos habian mas de 100 con los dominios antiguos y a pesar de que la aplicacion ya cuenta con un mantenedor de medicos con las operaciones basicas (CRUD), siempre es mas facil para el cliente que el desarrollador los cambie y no se haga uno por uno, por tanto aqui la solucion cambiar directamente el dominio en la base de datos:

UPDATE   users
SET      email = CONCAT(LEFT(email, INSTR(email, ‘@’)), ‘dominionuevo.com’)
WHERE    email LIKE ‘%@dominioantiguo.com%’

En el codigo anterior el nombre de la tabla se llama users y el campo en la tabla email

Facil bonito y rapído

Top

Imprimir nombre de la pagina actual

Para un desarrollo en el cual estoy trabajando necesitaba mostrar por pantalla el nombre de la pagina actual sin la extension de esta, me acordaba que con $_SERVER[‘PHP_SELF’], obtenia dicho valor, asi que google y encontre la solucion, facil y bonita la cual sirve solo si todos los archivos tienen la misma extension en mi caso php :

<?php echo basename($_SERVER[‘PHP_SELF’],”.php”) ?>

Por ejemplo si el archivo se llama index.php solo imprimira por pantalla la palabra index

 

 

Top

Update Nexcloud

Nextcloud es un completo software que permite sincronizar archivos, carpetas, calendarios y contactos entre múltiples dispositivos.

Una muy buena palicacion web, pero tien un problema conocido y es que al ejecutar una actualizacion del software este queda por alguna razon en modo mantrenimiento lo que hace que no se pueda volver a usar.

modo_mantenimiento

Buscando como solucionar este problema di con muchas soluciones del tipo consola pensando que se esta trabajando en entorno Linux (de hecho esto es asi pero aveces no se tiene el acceso a terminal si uno inghrea via Cpanel), asi que pensando en donde encontrar la solucion mas facil, busque algun at¿rchivo de configuracion y lo encontre en la siguiente ruta /public_html/cloud/config e archivo se llama config.php al abrirlo con algun editor de texto encontre al final la siguiente linea : ‘maintenance’ => true, asi que si remplazamos por false ya podremos actualizar como corresponde.

nextcloud_update

Lo demas es solo un clic.

 

Top

Forzar conexión SSL / https utilizando .htaccess y mod_rewrite

Desde que Google Chrome comenzo a marcar las paguinas como inseguras si no tienen el Certificado SSL  no basta con tener el certificado instalado sino que hay que asegurarse de que los usuarios esten navegando en su sitio web a traves de una conexion segura SSL/https

Un camino facil para redirigir siempre a los  usuarios a una conexion segura (https://) es mediante un archivo .htaccess que contenga las siguientes líneas:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

El archivo archivo .htaccess debe estar ubicado en la carpeta principal del sitio web.

En caso de que desee forzar HTTPS para una carpeta determinada se puede utilizar:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} somefolder
RewriteRule ^(.*)$ https://www.domain.com/somefolder/$1 [R,L]

El archivo .htaccess debe ser colocado en la carpeta en la que tenga que forzar a HTTPS

Top

Verificar hora en servidor MySQL

Con esto de que en Chile cambia la hora dos veces en el año,  es importante tener certeza de la hora sobre todo cuando la fecha y hora de la insercion de datos es critica.

La mejor manera de saber cual es la hora del  servidor y asi poder verificar si esta todo OK es simplemente una pequeña consulta

SELECT NOW();

la cual nos devolvera la hora del servidor en formato  yy-mm-dd  hh:mm:ss  2016-08-24 16:00:45 , facil y bonito

Top

Sincronizar hora en Windows 2008 Server

Por alguna razon que no hemos podido entender, el servidor de dominio se atrasa dos minutos con respecto a la hora oficial de Chile,  esto provoca que todos funcionemos con dos minutos de retraso(?),  la forma mas facil que encontre para solucionar este inconveniente es generar un archivo .bat  y que este se encargue de sincronizar la hora del servidor con la hora oficial de Chile via ntp para lo cual se utiliza el siguiente script.

@echo off
echo Configurar el servicio de hora para sincronizarse con el servidor NTP: ntp.shoa.cl
echo.
w32tm /config /manualpeerlist:ntp.shoa.cl,0x8 /syncfromflags:MANUAL /reliable:yes /update
w32tm /resync
echo.
Pause

 

Con esto se puede sincronizar la hora cuando deseemos o bien podemos generar una tarea automatica para que todos los dias a cierto horario se realice esta tarea por nosotros.

 

Top

htaccess en Opencart

Existe un problema con las urls amigables en opencart y es que aunque tu las actives desde el panel de administracion, por alguna razon no se puede escribir el archivo .htaccess y esto provoca que no  funcione las urls amigables dando como error el tipico 404.

La solucion es escribir dentro del .htaccess el siguiente codigo:

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

# 2. In your opencart directory rename htaccess.txt to .htaccess.

# For any support issues please visit: http://www.opencart.com

Options +FollowSymlinks

# Prevent Directoy listing
Options -Indexes

# Prevent Direct Access to files
<FilesMatch “\.(tpl|ini|log)”>
Order deny,allow
Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

### Additional Settings that may need to be enabled for some servers
### Uncomment the commands by removing the # sign in front of it.
### If you get an “Internal Server Error 500” after enabling any of the following settings, restore the # as this means your host doesn’t allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

 

Y con esto que da funcionando como corresponde.

Top

DNS

dns

Top
1 2 Page 1 of 2