¿Como modificar las búsquedas en WordPress?

Tips sobre programacion

Ya días que no publicaba Snippets (Porciones de código de programación que puedes utilizar en tus proyectos), el día de hoy hablaremos de como modificar las búsquedas del administrador de contenidos WordPress, en otras palabras modificar las búsquedas por defecto de este sistema, para que pueda arrojar resultados basadas en nuestros parámetros.

Para lograr el objetivo anterior debemos crear dos funciones para dos filtros respectivamente, a continuación les dejo las funciones:

[cc lang=”php” tab_size=”5″ lines=”40″]

add_filter(‘posts_results’, ‘mi_search’);
function mi_search($posts) {
$s = get_query_var(‘s’);
if (condicion($s)) {
$posts = array();
$paged = intval(get_query_var(‘paged’));
if ($paged < 1) $paged = 1; $posts_per_page = intval(get_query_var(‘posts_per_page’)); $from = ($paged-1)*$posts_per_page; global $wpdb; $_posts = $wpdb->get_results(“select post_id from $wpdb->posts where loquesea order by post_id desc limit $from, $posts_per_page”);
foreach($_posts as $p) {
$posts[] = get_post($p->post_id);
}
}
return $posts;
}

add_filter(‘found_posts’, ‘mi_found_posts’);
function mi_found_posts($n) {
$s = get_query_var(‘s’);
if (condicion($s)) {
global $wpdb;
$res = $wpdb->get_results(“select count(*) as n from $wpdb->posts where condicion “);
$n = $res[0]->n;
}

return $n;
}

[/cc]


Ideone: Un compilador online con buenas características

Ideone: Un compilador online con excelentes características

Ideone es un compilador y depurador de código de programación capaz de trabajar con más de 40 lenguajes.

Su uso es muy sencillo, primero deberán seleccionar el lenguaje de programación ubicado en la parte izquierda, como dijimos anteriormente existen 40 lenguajes. La imagen nos muestra una pequeña porción de código en el lenguaje de Java.

Ideone presenta restricciones acerca del tamaño del código, un usuario registrado puede guardar cualquier trozo de código que haya probado anteriormente. Pero más interesante es ver los últimos trozos de código ejecutados en este sitio. Interesante si estás empezando a aprender un lenguaje, o si, simplemente, te preguntas qué aspecto tendrán algunos lenguajes de programación.

Debido a que se puede compilar y ejecutar un código, sin demasiadas restricciones y sin ninguna instalación en tu computadora, parece una buena herramienta para entornos educativos dedicados al mundo de la programación.

Sitio Oficial: Ideone
Vía: Genbeta


Librería en PHP que te permitirá evitar SQL injection y XSS

Librería PHP para evitar SQL injection y XSS

En Sentido web, encontre una librería en Php que sin duda a muchos les sacará de apuros y que evitará algunos posibles fallos de seguridad en nuestra aplicación web, debemos tener muy en cuenta limpiar la entrada de datos de contenido malicioso, ya sea para SQL injection o cross-site scripting (XSS). Los frameworks suelen tener su propia librería que se encarga de ello, pero para aquellos que no usen framework o hagan una aplicación muy sencilla, esta librería servirá mucho.

[cc lang=”php” tab_size=”5″ lines=”40″]
// Output an unsafe string, presumably user input
$xss = ‘‘;
echo ‘If your entered your name as ‘ . $xss . ‘, we’d be in trouble.
‘ . “n”;

// Sanitize that string, and output it safely
$htmlContentContext = sgSanitizer::sanitizeForHTMLContent($xss);
echo “But if we sanitize your name, ” . $htmlContentContext . “, then all is well.
n”;
[/cc]

Genius Open Source Libraries

Vía: PHPDeveloper.org y Sentido Web

Google Docs Printer: librería para mostrar documentos de Google Docs

Google Docs

Google Docs Printer es una librería que permite recuperar y mostrar documentos alojados en Google Docs, para ello hace uso del identificador del documento dado por Google.

Esta librería tan solo accede al documento y obtiene el HTML que muestra el documento, no tiene más funcionalidades, pero aún así puede venirnos muy bien.

[cc lang=”php” tab_size=”5″ lines=”40″]
require_once ‘GoogleDocPrinter.php’;
GoogleDocPrinter::PrintGoogleDoc(“ddw2x8n_169dpzsxfng”);
[/cc]

7 cosas simples en PHP que algunas personas encuentran complicadas

Tips de Php

Confieso que cuando uno comienza en PHP puede utilizar muchas líneas de código, pero con la experiencia, investigación y si estás usando versiones recientes de PHP de la 5 en adelante existen nuevas funciones que te ayudan a hacer más rápido las cosas, Diogo un joven programador de Brasil nos explica 7 ejemplos.

Listar archivos de un directorio

$iterator = new DirectoryIterator('/var/www');

foreach ( $iterator as $entry ) {
    echo $entry->getFilename(), "n";
}

Y para listar archivos recursivamente:

$iterator = new RecursiveDirectoryIterator('/var/www');
$recursiveIterator = new RecursiveIteratorIterator($iterator);

foreach ( $recursiveIterator as $entry ) {
    echo $entry->getFilename(), "n";
}

Google Chrome quiere deshacerse de la cabecera HTTP de las direcciones web

Categoria : Diseño Web, Informatica, Linux, Mac, Navegadores, PHP, Windows · (2) Comentarios · Por Apr 19th, 2010

Google Chrome sin cabecera HTTP

Chrome sigue evolucionando de forma acelerada respecto a su competencia, y desde la versión para desarrolladores no paran de realizar pruebas de posibles nuevas funciones. Una de ellas es la eliminación de la cabecera HTTP con la que comienza cada página web.

Dicha cabecera de las direcciones web está usada en prácticamente todas las páginas, de modo que hemos llegado a un punto en el que los usuarios se preguntan si realmente es necesario recordar esa parte de la dirección ya que es siempre idéntica.

Sin embargo, desde el canal de desarrolladores de Chromium ya se ha avisado de un posible error que puede conllevar este cambio, y es que muchas páginas programadas con lenguajes como PHP dependen de ese elemento de la dirección para poder funcionar, de modo que los desarrolladores del navegador de Google están estudiando las posibles consecuencias de eliminar algo que, según ellos, más que ser útil molesta.

Vía: Mashable

Notepad++ el mejor editor de código para programadores

Notepad++

Nuestro amigo Carlos Leopoldo del Blog Techtastico nos comenta sobre el mejor software para escribir código HTML y PHP, sin duda que Coda, pero este es solamente para MacOS X y sé que muchos necesitan uno pero para Windows, y este es Notepad++, cuando necesito escribir código y estoy en Windows prefiero mil veces más usar Notepad++ en lugar de el clásico Dreamweaver que si es bueno pero es lento y pesado para mi gusto.

Además Notepad++ se puede extender por medio de plugins, graba macros y reproduce de las pulsaciones de teclado, también tiene una poderosa búsqueda y reemplazo por medio de  expresiones regulares, y lo mejor de todo es que no solo nos sirve para programar HTML y PHP sino que tiene soporte para muchos lenguajes de programación.

Las verdad es que no podría dejar de hablar bien de este editor que tiene más características de las que he mencionado, además tiene una versión Portable de Notepad++ y es totalmente gratis bajo licencia GPL.

Enlace: descargar Notepad++.
Vía: Techtastico

Paste question, comunidad de preguntas y respuestas para programadores

Preguntas y Respuestas

Cuando uno revisa cualquier código de programación que le está planteando problemas, habrá ocasiones en las que no encuentra respuesta, y tendrá que acudir a foros, a mensajes de correo electrónico a determinados contactos, o resolver como buenamente pueda esos problemas. Es por ello por lo que existe Paste Question.

Se trata de una comunidad de preguntas y respuestas para programadores, donde unos plantean los problemas que tienen en sus códigos, añadiendo un fragmento de los mismos, para que otros les ofrezcan las mejores soluciones posibles. O sea, podíamos verlo como una comunidad tipo Yahoo Answers, aunque más simple y enfocado a los problemas que tienen los desarrolladores en los códigos de programación en los que están trabajando. Hay que señalar que Paste Question dispone de coloreado de sintaxis, lo que permite trata mejor los códigos expuestos.

Enviar emails HTML con PHP

Tips de Programación

Enviar un mail en texto con PHP es tan sencillo como usar la función mail(), que únicamente puede ocuparnos una línea de texto como esta:

mail($to, $asunto, $body, $headers);

Resalto los $headers por que son la clave para permitirnos enviar un email en HTML. En ellos indicaremos los datos que los lectores de correo deberán tener en cuenta para distinguir entre un simple email de texto y uno de HTML.

$headers = "From: " . strip_tags($from) . "rn";
$headers .= "Reply-To: ". strip_tags($to) . "rn";
$headers .= "CC: CON COPIArn";
$headers .= "MIME-Version: 1.0rn";
$headers .= "Content-Type: text/html; charset=ISO-8859-1rn";

Como podemos ver en el código en negrita estamos indican que el Content-type del email es un text/html y con la codificación ISO-8859-1, además de permitir añadir un emails en copia o incluso en copia oculta.

Esto nos permitirá usar un HTML bastante limitado, pero en fin HTML para hacer nuestros emails algo más elegantes y más ordenados. Nuestro $body ya podrá contener dichos tags.

$body = '<strong>Texto en negrita</strong> este no lo es :D';

La mágia es que podemos seguir usando la misma función mail() para enviar nuestro email.

Mach5 Web for Mobile, páginas web en el móvil como en la computadora

Categoria : Ajax, Diseño Web, Html, Informatica, Javascript, PHP, Redes · No Comentario · Por May 10th, 2009

YahooLlega más competencia al terreno de los navegadores para Windows Mobile con Mach5 Web for Mobile, que sigue la estela de Skyfire, utilizando un proxy para renderizar los datos en el servidor y mostrarlos en nuestro teléfono.

Esto le permite mostrar páginas tal y como lo haríamos en nuestra computadora, así como ser compatible con tecnologías como Flash 10, AJAX, ActiveX,… De este modo funcionan páginas como Youtube o Google Maps sin ningún problema. La pregunta que me hago es la siguiente, que pasará con el lenguaje de programación WML ? recuerdo que estudie dicho lenguaje y lo implemente en un proyecto de la universidad.

Mach5 for Web Mobile incorpora otras capacidades, entre las que encontramos la posibilidad de hacer zoom, de mostrar solo el texto para una mejor visualización, guardar imágenes o bloquear popups. Lo único malo es que, por ahora, se trata de una beta que caduca a mediados de este mes, y no se sabe si pasado este periodo será de pago o se continuará su desarrollo.

Vía: PhoneArena y Xataka Movil
Más información: Mach5.