Enviar SMS con CakePHP
Este artículo describe cómo instalar, configurar y enviar mensajes cortos SMS utilizando CakePHP.
Para enviar SMS, primero debemos buscar un proveedor y contratar (abrir) una cuenta. Algunos proveedores usan prepago de mensajes y otros son en demanda con una visa (no lo recomiendo). En todo caso, nosotros hemos estado analizando varios de ellos y nos terminamos decidiendo en España por este: SMS Dinahosting
Por cierto, si alguien conoce un proveedor mejor o más barato (aquí pego los precios a día de hoy que aparecen en su web), que nos lo diga para corregir el post.
-
- Pack 50 SMS
- 4,5 €
- comprar
-
- Pack 100 SMS
- 8,7 €
- comprar
-
- Pack 1000 SMS
- 85 €
- comprar
-
- Pack 5000 SMS
- 410 €
- comprar
-
- Pack 20000 SMS
- 1.580 €
- comprar
Después de contratar los mensajes y enviar alguno de prueba, se baja uno el api y se lo lee (opción para gente con tiempo y ganas) o se baja el código preparado para cakePHP, cambia el usuario y la contraseña del servicio y lo usa en su aplicación (opción recomendada).
Colocar en la carpeta vendors en la carpeta enviossms/smsSender.inc.php
Añadir en components/enviosmsdinahost.php el siguiente codigo
<?php
vendor('enviossms/smsSender.inc');
class EnviosmsdinahostComponent extends Object {
function enviarsms($phone,$text,$account,$password,$remite="") {
$sendOk = array();
$sms=new smsSender($account,$password,$remite);
// Obtener cuanto crédito te queda.
if (($credito=$sms->getCredito()) !== false){
}else {
$sendOk['ok']= "-1";
$sendOk['errors']= "";
foreach ($sms->errores as $error) {
$sendOk['errors'] .= $error;
}
}
if (is_array($phone)) {// envio a varios numeros
$respuesta=$sms->sendBulk($phones,$text);
}else {
$respuesta= $sms->send($phone,$text);
}
if (!$respuesta) {
$sendOk['ok']= "-1";
$sendOk['errors']= "";
foreach ($sms->errores as $error) {
$sendOk['errors'] .= $error;
}
}else {
$sendOk['ok']= "0";
$sendOk['errors']= "";
}
return $sendOk;
}
}
?>
En el controlador donde se vaya a usar :
nombrecontrolador_controller.php
var $components = array('Enviosmsdinahost');
colocar la siguiente funcion \\
$this→Enviosmsdinahost→enviarsms($phone,$text,$account,$pass)
Nota: account y pass son los datos de acceso facilidados por dinahos
Los archivos se adjuntan a este post en un zip (en las carpetas que van), para los ultra-cómodos como nosotros.
Descargar Envío SMS desde CakePHP a través de Dinahosting
Las empresas de Canarias y sus páginas web
Internet se ha transformado en los últimos años en un instrumento imprescindible, necesario en prácticamente todos los sectores de la economía española y mundial, pero sobre todo para una empresa, ya sea pyme o gran empresa.
Según el informe “Uso y perfil de Usuarios de Internet en España”, Sólo en España, el número de usuarios de Internet ha crecido en los últimos dos años, hasta situarse en el 48% de la población, 21 millones de personas aproximadamente. Esto supone 21 millones de clientes potenciales para nuestro negocio, que solo esta siendo aprovechado por el 44.6% de las empresas de Canarias, según la Encuesta sobre el uso de Tecnologías de la Información y las Comunicaciones (TIC) y del Comercio Electrónico.
Parece un poco ilógico como puede llegar a ser desaprovechado un canal ventas en el que ya no solo expongo mis productos, sino que es todo un espacio de venta, de comunicación y de marketing empresarial, donde puedo dar a conocer ofertas, promociones, enviar publicidad, hacer marketing online, etc. todo lo que se nos ocurra para conseguir un mayor nivel de ventas en la empresa.
No hay excusa posible para este dato, sobre todo en Canarias, donde la cantidad de empresas es limitada (por nuestra orografía) y en la que debemos poder visualizar como el uso de Internet y sobre todo poseer una buena página Web, que aparezca en los principales buscadores, puede incrementar los clientes potenciales de nuestro negocio. Hoy en día, podemos llegar a afirmar que una empresa que “no aparezca” en Internet no existe, siendo un hecho imprescindible que debamos incorporarnos lo antes posible al uso que nos ofrecen para extraer todas sus ventajas.
RewriteBase, .htaccess y cakephp
Si utilizas cakephp en un servidor virtual hospedado en una empresa externa, probablemente encuentres el siguiente problema:
La instalación por defecto de cakephp no funciona
Si es tu caso, intenta lo siguiente:¡ Lee el manual de cakephp ! Allí también lo explican, pero como has llegado hasta aquí entendemos que ese punto se te habrá pasado de largo.Localiza los ficheros .htaccess mediante tu cliente FTP, o mediante tu accesso ssh al servidor del hosting. Para ello será necesario que contactes con tu proveedor de servicio, aunque probablemente ya lo sepas (si no es que no has subido tú mismo la aplicación cakephp al servidor !!)Edita los siguientes ficheros .htaccess
tu_ruta/.htaccesstu_ruta/app/.htaccesstu_ruta/app/webroot/.htaccess
En cada uno de estos ficheros, al principio, debería aparecer el código
RewriteEngine OnRewriteBase tu_ruta/
Ojo, si tu servicio está instalado en la ruta raíz “/”, debe aparecer
RewriteBase /
Tras esto, haz la siguiente prueba:Navega por http://tusitioweb/tu_ruta/Deberías ver la página de bienvenida de tu web, con los estilos y los enlaces correctamente colocados, de la forma
url/controlador/accion/parámetros
Por ejemplo, un enlace en tu página principal podría ser:
http://tusitioweb/tu_ruta/items/view/3
Si has instalado una aplicación cakephp por defecto para probar, deberías ver la página de bienvenida de cakephp que indica que la base de datos no está configurada, etc.En este caso prueba a provocar un error, por ejemplo
http://tusitioweb/tu_ruta/provocaerror
y te deberá aparecer una página web indicando que el controlador no existe, y con el diseño y el css correcto de cake.Si el diseño está roto, es que la redirección no está funcionando como debe.En caso de que aparezca un “ERROR 500″ o un “ERROR 404″ y sobre todo en este último caso, puede que existan otros problemas con la instalación de cakephp como pueden ser:
- Tu servidor no usa mod_rewrite (esto es raro, habla con tu proveedor para descartar esto)
- Tu servidor no permite usar ficheros .htaccess (otra vez, habla con tu proveedor)
- Tus ficheros .htaccess no tienen los permisos correctos (chmod 665 por si acaso)
- Los permisos de la carpeta de instalación del cakephp no son los correctos. Más concretamente, la carpeta tmp debe tener la estructura correcta y debe poderse escribir para que las sesiones y los logs funcionen (chmod 775 por si acaso)
- El php.ini no define una carpeta correcta para usar como directorio temporal (consulta el fichero app/config/core.php para cambiar el modo en el que cakephp almacena las sesiones de usuario a “cake”)
Problemas con cakephp y .htaccess
Este artículo pretende analizar un problema con la distribución 1.2.0.5427 alpha de cakephp y su posterior solución.
Antecedentes:La aplicación está hospedada en aplus.net (www.aplus.net) y funciona correctamente durante meses.
El Problema:De forma imprevista, la redirección vía .htaccess no funciona de forma esperada. El servidor comienza a tratar mal los links a ficheros css y js.
Incluso se instala una aplicación cakephp limpia, se corrigen los .htaccess para incluir las líneas
RewriteEngine On RewriteBase <<carpeta_desde_home_del_servidor_virtual>>
Migrando Blog de One Planet Tech a Wordpress
Tras varios intentos, y mucho tiempo empleado en encontrar un componente de blog que incluya las funcionalidades que queríamos en Joomla, hemos optado por integrar un blog original en Wordpress.
En el pasado hemos empleado Wordpress para el desarrollo de otras webs, y por supuesto para la instalación de blogs.
Está claro que no hay que reinventar la rueda, y wordpress es uno de los proyectos web más interesantes y con mejor recorrido que hemos usado en los últimos meses, les recomendamos que lo prueben si aún no lo han hecho.
En los próximos días migraremos el contenido y publicaremos algunos artículos interesantes para nuestra sección de cakePHP.
