#php: post subir image a #twitter @cbielich

#php: post subir image a #twitter @cbielich

fuente: http://stackoverflow.com/questions/35350822/posting-image-status-with-the-twitter-api-using-php

Twitter-PPC

tras mucho buscar y probar y arrancarme el pelo de la cabeza gracias a Cesar Bielich por fin he encontrado solucion, twittear desde php muy guapo pero para publicar una foto con el tweet me las vi y me las desee … con este codiguillo y descargando la libreria codebird, mano de santo:

tweet(‘This is my sample tweet message’,’../audi-a3-grande.jpg’);

function tweet($message,$image) {

// add the codebird library
require_once(‘codebird-php-develop/src/codebird.php’);

// note: consumerKey, consumerSecret, accessToken, and accessTokenSecret all come from your twitter app at https://apps.twitter.com/
\Codebird\Codebird::setConsumerKey(“xxx”, “xxx”);
$cb = \Codebird\Codebird::getInstance();
$cb->setToken(“xxx”, “xxx”);

//build an array of images to send to twitter
$reply = $cb->media_upload(array(
‘media’ => $image
));
//upload the file to your twitter account
$mediaID = $reply->media_id_string;

//build the data needed to send to twitter, including the tweet and the image id
$params = array(
‘status’ => $message,
‘media_ids’ => $mediaID
);
//post the tweet with codebird
$reply = $cb->statuses_update($params);

}

#php: obtener #string de una cadena de texto usando caracteres como limites

fuente: http://www.forosdelweb.com/2218767-post9.html

$cadena="cualqasdasduiercosahttp://www.forosdelweb.com/index.htmlterminando";
$maximo= strlen ($cadena);
$ide= "http://";
$ide2= ".html";
$total= strpos($cadena,$ide);
$total2= stripos($cadena,$ide2);
echo "Largo de la cadena: $maximo";
echo "<br>";
echo "Lo que sobra al inicio: $total";
echo "<br>";
$total3= ($maximo-$total2-5);
echo "Lo que sobra al final: $total3";
echo"<br>";
$final= substr ($cadena,$total,-$total3);
echo "Esto es lo que queremos: $final";

leer contenido de FEED/RSS con #PHP by @Govaniso

leer contenido de FEED/RSS con #PHP by @Govaniso

fuente: http://soyprogramador.liz.mx/leer-contenido-de-feedrss-con-php/

Debes en cuando hace falta leer un RSS de alguna página, pues bien en este post veremos como podemos hacerlo.
La clase encargada.

<?
class RssReader {
var $url;
var $data;
function RssReader ($url){
$this->url;
$this->data = implode ("", file ($url));
}
function get_items (){
preg_match_all ("/<item .*>.*<\/item>/xsmUi", $this->data, $matches);
$items = array ();
foreach ($matches[0] as $match){
$items[] = new RssItem ($match);
}
return $items;
}
}
class RssItem {
var $title, $url, $description;
function RssItem ($xml){
$this->populate ($xml);
}
function populate ($xml){
preg_match ("/<title> (.*) <\/title>/xsmUi", $xml, $matches);
$this->title = $matches[1];
preg_match ("/<link> (.*) <\/link>/xsmUi", $xml, $matches);
$this->url = $matches[1];
preg_match ("/<description> (.*) <\/description>/xsmUi", $xml, $matches);
$this->description = $matches[1];
}
function get_title (){
return $this->title;
}
function get_url (){
return $this->url;
}
function get_description (){
return $this->description;
}
}
?>

Y la implementación seria:

<?
include('class.php');//archivo donde este el class
$rss = new RssReader ("http://dedydamy.com/feed");//aqui donde esta http://dedydamy.com/feed tienes que poner la url de tu feed o rss
foreach ($rss->get_items () as $item){ //aca hacemos un foreach para el array de las entradas que se muestren en el feed
echo($item->get_title()."<br />");//escribimos titulo
echo($item->get_url()."<br />");///url del post
echo($item->get_description()."<br />");//descripcion o lo principal del post
echo("<hr><br />");
}
?>

#php y #css: Galería de #fotos automática desde un directorio by inofaqs.blogspot.com.es/

fuente: http://inofaqs.blogspot.com.es/2012/05/galeria-de-fotografias-automatica-solo.html

Me gustan las cosas cómodas, aunque esto conlleve por lo general un esfuerzo adicional dado que no soy un experto en nada.
La cosa esta vez fue que desarrollando (de una forma menos que amateur) un sitio se me pido que manejara una galería de imágenes, rápidamente pensé… “Bueno existen muchos programas que generan galerías de manera automática en php o en flash de manera rápida solo dándole una lista de la imágenes que se desean poner en la web….” y  voilá, miles de gestores en la web… luego la pregunta matando mis ilusiones… “después puedo agregar mas fotos verdad?” El viento helado en mi espalda me recuerda que la mayoría de los gestores en la web no son automáticos, no es que uno les agregue una carpeta a su ruta y auto generen una galería, en la vida real esto no es así, y aunque hay algunos que si lo hacen, son un infierno de archivos… un infierno en el que no estoy dispuesto a entrar.
Pues bien el tema esa vez era crear una galería automática (que tome las fotos directamente del directorio donde se encuentran) de una manera absolutamente minimalista que genere vistas previas y que permita a su vez abrir individualmente cada foto haciendo un efecto tipo presentación, cabe señalar que no había mucho tiempo y mis conocimientos en javascript eran y son bastante limitados, por tanto me dispuse a programar con lo que mas o menos dominaba PHP y CSS
No voy a entrar en detalles respecto al código esta vez pues son varios archivos, en vez de eso dejare el un link con la galería a la vista y uno para su descarga completa y funcional (contiene álbumes con imágenes de muestra) con comentarios en el archivo principal “galeria.php”.

Vista de Galería:

Vista de presentación:

Link de descarga: galeria_automatica.rar

Están advertidos que el código no esta completamente depurado y que quizá a partir de este alguien pueda crear algo que sea 1 chilion de veces mas eficiente, en fin…. a mi me resulto bien, pero como digo siempre… si alguien quiere lo mejora o encuentra errores siempre estaré agradecido de que me lo comenten.

#php #prestashop: modificar condigo de bloque cms personalizado o blockcmsinfo

buenas a todos

vamos a enredar a nivel de codigo el BLOQUE DE INFORMACIÓN CMS PERSONALIZADO

prestashop-modulo-bloque-informacion-cms-personalizado-html-css-php-smarty

el panel de administracion esta muy guay, pero en mi caso necesitaba 2 bloques en vez de tres como viene la plantilla por lo cual no me queba otro remedio que toquetear el codigo … y que desapareciera el bloque de facebook pero eso lo hacemos desde el panel en la seccion modulos desactivandolo

los archivos correspondientes estan en el raiz en modules/blockcmsinfo

aqui dentro destacamos dos archivos: blockcmsinfo.tpl que es la vista y blockcmsinfo.php que es donde esta el show de funciones y peticiones de datos a la base de datos

en el .tpl se usa el codigo de programacion smarty para leer la info que php le pasa

en el php:

$smarty = new Smarty;
$smarty->assign('firstname', 'Doug');
$smarty->display('index.tpl');

y en el .tpl

Hello {$firstname} {$lastname}, glad to see you can make it.

el codigo smarty va entre llaves {}

en el blockcmsinfo.tpl nos encontramos con esto:

div id="cmsinfo_block">
 {foreach from=$infos item=info}
 
{$info.text}
{/foreach} /div>

infos es un array con los registros de la base de datos de la tabla perteneciente al bloque, dichos registros los hemos introducido en el panel. si vmaos al php y buscamos infos encontraremos la funcion en donde se hace la asignacion para smarty

como veis esto es asi un poco por encima, simplemente para poner en la pista a la gente que como yo necesita adaptar templates o hacer virgueiras dentro de los archivos porque como viene todo por defecto no cubre

yo en mi caso ademas necesitaba sacar en este modulo el ultimo post del blog, seguramente haya hooks o modulos que lo hagan pero no lo encontre asi que como siempre, te tienes que sacar las castañas del fuego como puedas y rebozarte por todos los archivos de prestashop

de esta manera en el php te creas la consulta para hacer lectura de la tabla del blog y en el tpl recoges la info, en prestashop es un poco diferente el tema smarty a como lo he puesto mas arriba. El pequeño condigo de ejemplo de antes seria como se usaria en una pagina normal, no en prestashop. En prestashop pase las variables de esta manera, aprovechando como ya lo tienen montado:

$this->context->smarty->assign(‘nombre_variable’, $nombre_variable);

y la recogida en el tpl es de la misma manera que en el ejemplo

como siempre espero haber servido de ayuda a alguien mas que a mi … s eque este post e sun poco rollo, podria estar mucho mejor explicado bla bla bla pero ye lo que hay chavales no me da pa mas la neurona! xDD

#php #prestashop 1.6: codigo del “configurador de temas” o themeconfigurator

buenas a todos

muy guapo el panel de prestashop y el modulo “configurador de temas” pero yo quiero 4 fotos en vez de tres

prestashop-configurador-temas-themeconfigurator-php-tpl

desde el panel podemos poner titulos descripciones links y cambiar las fotos … pero no jugar con el css

para ello tenemos que irnos a la carpeta modules del raiz, y en la carpeta themeconfigurator/views/templates/hook (muy a mano si señor) tenemos el archivo hook.tpl (que no tiene nada que ver con peter pan) que es donde tenemos acceso al codigo

para pasar de 3 columnas a 4 solo tenemos que cambiar el class de esta linea

– <li class=”htmlcontent-item-{$smarty.foreach.items.iteration|escape:’htmlall’:’UTF-8′} col-xs-4″> a <li class=”htmlcontent-item-{$smarty.foreach.items.iteration|escape:’htmlall’:’UTF-8′} col-xs-3″>

aprovecho este post para comentar que queria que s emostrara encima de las fotos el titulo que introducimos en el panel para el link, asi que solo hay que hacer esto:

  • {$hItem.title|escape:’htmlall’:’UTF-8′}

como siempre espero ser de ayuda a alguien mas que a mi, gracias

un saludo

Cortar una Imagen con #PHP by @CodigoAdicto #crop #image

fuente: http://codigoadicto.com/cortar-una-imagen-con-php

Este código muestra la parte seleccionada de una imagen utilizando coordenadas para hacer la función de corte, este código es bastante útil cuando queremos usar imágenes como Featureden los post sin importar el tamaño de esta indicarle que haga un corte estándar para poder visualizarla a la medida.

$filename= "ejemplo-de-imagen.jpg";
list($w, $h, $type, $attr) = getimagesize($filename);
$src_im = imagecreatefromjpeg($filename);

$src_x = '0';   // comienza x
$src_y = '0';   // comienza y
$src_w = '100'; // ancho
$src_h = '100'; // alto
$dst_x = '0';   // termina x
$dst_y = '0';   // termina y

$dst_im = imagecreatetruecolor($src_w, $src_h);
$white = imagecolorallocate($dst_im, 255, 255, 255);
imagefill($dst_im, 0, 0, $white);

imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);

header("Content-type: image/png");
imagepng($dst_im);
imagedestroy($dst_im);