Archivo de conexión a la Base de Datos en OSClass

En OSClass el archivo que contiene la información necesaria para poder establecer la conexión a la Base de datos se encuentra en raíz y lleva el nombre de config.php, si revisas este archivo te encontrarás las siguientes lineas que determinan la configuración de la conexión a la Base de Datos de tu proyecto:

/** MySQL database name for OSClass */
define('DB_NAME', 'osclass');

/** MySQL database username */
define('DB_USER', 'root');

/** MySQL database password */
define('DB_PASSWORD', 'pass');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Table prefix */
define('DB_TABLE_PREFIX', 'oc_');

Como puedes observar la información es mas que clara y se determinan los siguientes parametros:

  • Nombre de la Base de Datos
  • Usuario
  • Contraseña
  • Nombre del Host (generalmente localhost)
  • Prefijo para las tablas de la D.B.

Así, si en un futuro te ves en la necesidad de cambiar el nombre a tu base de datos o modificar la contraseña de tu usuario (por citar un ejemplo), ya sabes que archivo modificar.

Obtener las subcategorias de una categoria en WordPress

Estos ultimos días he estado diseñando un template para WordPress, y en esta ocasión quiero compartir con ustedes la forma de obtener las subcategorias de una categoria por medio del Slug de esta última, para ello utilizamos la function get_category_by_slug()


<?php
// Obtenemos la informacion de las subcategorias contenidas en la categoria "work"
$idObj = get_category_by_slug('work'); 
$categories = get_categories(array('child_of' => $idObj->term_id)); 

print_r($categories);  // para ver toda la informacion contenida en el array $categories

// Por ejemplo, imprimimos el nombre de las subcategorias
foreach ($categories as $category) : 
    echo $category->name;
endforeach;
 
?>

PHP envío de parámetros a una función SOAP

Estos días he estado trabajando con la conexión a un Servicio Web al cual tenía que enviarle un array de argumentos a uno de los métodos del objeto SoapClient también llamados funciones SOAP, algo que hay que tomar en cuenta es que la mayoría de los servidores SOAP requieren que los nombres de los parámetros sean enviados en formato de array asociativo, de la siguiente forma:

// Conexion al Web Service
$client = new SoapClient("url.wsdl", array('trace' => TRUE,'connection_timeout'=>15));

$user = new SoapVar('valoruser',XSD_STRING);
$password = new SoapVar('valorpassword',XSD_STRING);
$token = new SoapVar('valortoken',XSD_STRING);

// Realizamos la llamada a la funcion SOAP (validar)
$result = $client->__soapCall('validar',array('parameters' => array('username'=>$user,'password'=>$password,'token'=>$token)));

Fuente:
http://php.net/manual/es/soapclient.soapcall.php

PHP SoapVar parámetro XML

El día me di a la tarea de consumir un web service al cual tenia que enviar un XML como parametro a una de sus funciones. Es bastante sencillo, y después de investigar quedó de la forma siguiente:


try {
    // Conexion al web service
    $client = new SoapClient("url.wsdl", array('trace' => TRUE,'connection_timeout'=>15));

    $varXml = new SoapVar($xml,XSD_ANYXML,null,null,null);

    // Llamamos a la función que recibe como parametro el XML
    // el resultado lo asignamos a la variable $result.
    $result = $client->function($varXml);
} catch (Exception $e) {
    // Codigo
}

Donde:

$xml es la variable que contiene el XML.

Enviar correo con PHPMailer y Gmail

Ejemplo sencillo de como enviar un email utilizando la librería de PHPMailer y una cuenta de Gmail.

include ("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();
$mail->Host     = "ssl://smtp.gmail.com";
$mail->Port     = 465;
$mail->SMTPAuth = true;

$mail->Username = "usuario@gmail.com";
$mail->Password = "password";

$mail->From     = "usuario@gmail.com";
$mail->FromName = "Webmaster";

$mail->Subject  = "Prueba desde Gmail";
$mail->WordWrap = 50;

$mail->AddAttachment("/path/to/file.zip");                // archivo adjunto
$mail->AddAttachment("/path/to/image.jpg", "image2.jpg"); // archivo adjunto

$mail->AddAddress("usuario@dominio.com");                 // Correo destino
$mail->IsHTML(TRUE);

$mail->Body = "Mensaje de prueba";

if(!$mail->Send()) {
    echo "Error: " . $mail->ErrorInfo;
} else {
    echo "Mensaje enviado";
}

Links:

http://sourceforge.net/projects/phpmailer/?source=directory
http://code.google.com/a/apache-extras.org/p/phpmailer/
https://github.com/Synchro/PHPMailer

OSClass para crear sitios web de anuncios clasificados

OSClass

OSclass es un CMS con el cual podemos crear un sitio web de clasificados de manera fácil y sencilla, está desarrollado en PHP y utiliza MySQL como base de datos, dispone de una buena lista de plugins y templates que lo hacen sumamente flexible, la documentación oficial es bastante clara y existe mucha información del proyecto en la web así como también los foros de ayuda están activos.

El proceso de instalación es muy sencilla y el panel de administración es similar a WordPress, asi es que has utilizado este último te resultará muy familiar.

Sin duda OSClass es una muy buena opción cuando tengas la necesidad de montar un sitio de avisos clasificados.

Sitio oficial del proyecto: http://osclass.org.

Geo IP Location PHP

Determinar el nombre del país al que pertenece determinada dirección IP utilizando el servicio de geoip.wtanaka.com es relativamente muy sencillo, mediante el siguiente script de PHP:

<?php

function get_geo_ip_code($ipaddr) {
   return file_get_contents("http://geoip.wtanaka.com/cc/$ipaddr");
}

get_geo_ip_code(getenv("REMOTE_ADDR"));

// Puedes usar getenv("REMOTE_ADDR") ó $_SERVER['REMOTE_ADDR'] para determinar la IP

?>

Página del Proyecto:
http://code.google.com/p/geo-ip-location/

Habilitar allow_url_fopen PHP

En algunas ocasiones nos podemos encontrar que algunas configuraciones del Web Server en el cual estamos trabajando no permiten utilizar la función de PHP file_get_contents y nos regresan un mensaje de error como este:

failed to open stream: no suitable wrapper

La solución es habilitar la directiva allow_url_fopen. La forma de activarla es creando un archivo “.htaccess” en la carpeta raiz, a este archivo hay que agregarle la linea siguiente:

php_value allow_url_fopen On

Y eso es todo.

* Nota: Generalmente se recomienda NO habilitarla para evitar poner en riesgo la seguridad de nuestro sitio web.

Crear URLs cortas con PHP y Bit.ly API

Clase que nos permite trabajar con la API versión 3 de Bit.ly, usa txt como formato de respuesta y contiene dos métodos:

shortUrl: Devuelve la URL corta de un enlace dado.
largeUrl: Devuelve la URL original a partir de una URL corta proporcionada.

class BitLy
{
	private $user;
	private $key;
	private $urlTemp;
	private $urlApi = "http://api.bit.ly/v3/";
	
	public function __construct($user, $key) {
		$this->user = $user;
		$this->key  = $key;
	}
	
	public function shortUrl($url) {
		$this->urlTemp = $this->urlApi . "shorten?login=" . $this->user . "&apiKey=" . $this->key . "&uri=" . $url . "&format=txt";
		
        return file_get_contents($this->urlTemp);
	}
	
	public function largeUrl($url) {
        $this->urlTemp = $this->urlApi . "expand?login=" . $this->user . "&apiKey=" . $this->key . "&shortUrl=" . $url . "&format=txt";
		
        return file_get_contents($this->urlTemp);
	}
}

$bitly = new BitLy('userBitLy','API_KEY');

// obtener la url corta de un enlace, imprime http://bit.ly/o46ZXN
echo $bitly->shortUrl('https://microbuffer.wordpress.com');    

// obtener la URL original a partir de un enlace corto
// imprime https://microbuffer.wordpress.com/2011/07/08/crear-url-corta-php-bitly/ 
echo $bitly->largeUrl('http://bit.ly/rqqnSJ');

Te recomiendo que revises la documentación de Bitly-api.

A %d blogueros les gusta esto: