30 May

Motore di Ricerca per il tuo sito (Php + Yahoo).

Ho cercato molte volte un prodotto che potesse fare le ricerche interne al mio sito. Ci sono molti prodotti ma tutti o quasi obbligano and inserire il loro logo o il loro template. Insomma non danno la possibilità di personalizzare al 100% la ricerca sul vostro sito. Così ho ho utilizzato le API di Yahoo e PHP 5(Non penso funzioni con versioni inferiori) e ho modificando il loro script ho creato un motore di ricerca locale per il tuo sito. Qui potete fare delle prove

Sono necessari solo due file common.php e index.php , la richiesta della API key a Yahoo e l’inserimento del vostro sito. E siete pronti ad andare.

Vi inserisco i file qui. (Non linkate direttamente ai file ma alla pagina)

E qui di seguito il codice:

common.php

<?php
// Redevelop of the work from Rasmus Lerdorf
// Please link to mandile.it
// This version uses PHP5’s SimpleXML extension

$appid = ‘YourApi’;
$yoursite = ”;//if empty searches on the web. Example: ‘&site=www.mysite.com’

$service = array(‘web’=>’http://search.yahooapis.com/WebSearchService/V1/webSearch’,
‘image’=>’http://search.yahooapis.com/ImageSearchService/V1/imageSearch’);

header(‘Content-Type: text/html; charset=UTF-8’);
?>
<html>
<head><title>Esempio Yahoo Api Search</title></head>
<body>
<form action=”index.php” method=”GET”>
Search Term: <input type=”text” name=”query” /> <input type=”submit” value=” Go! ” />
<select name=”type”>
<?php foreach($service as $name => $val) {
if(!empty($_REQUEST[‘type’]) && $name == $_REQUEST[‘type’])
echo “<option SELECTED>$name</option>\n”;
else echo “<option>$name</option>\n”;
} ?>
</select>
</form>
<?php

function done() {
echo ‘</body></html>’;
exit;
}

function build_query() {
global $appid, $service;
if(empty($_REQUEST[‘query’]) || !in_array($_REQUEST[‘type’],array_keys($service))) done();

$q = ‘?query=’.rawurlencode(“”.$_REQUEST[‘query’].””);
if(!empty($_REQUEST[‘zip’])) $q.=”&zip=”.$_REQUEST[‘zip’];
if(!empty($_REQUEST[‘start’])) $q.=”&start=”.$_REQUEST[‘start’];
$q .= “&appid=$appid”;
return $q;
}

// Create Previous/Next Page links
function next_prev($res, $start, $last) {
if($start > 1)
echo ‘<a href=”‘.$_SERVER[‘PHP_SELF’].
‘?query=’.rawurlencode($_REQUEST[‘query’]).
‘&type=’.rawurlencode($_REQUEST[‘type’]).
‘&start=’.($start-10).'”><-Previous Page</a> ‘;
if($last < $res[‘totalResultsAvailable’])
echo ‘<a href=”‘.$_SERVER[‘PHP_SELF’].
‘?query=’.rawurlencode($_REQUEST[‘query’]).
‘&type=’.rawurlencode($_REQUEST[‘type’]).
‘&start=’.($last+1).'”>Next Page-></a>’;
}
?>

index.php

<?php
// Redevelop of the work from Rasmus Lerdorf
// Please link to mandile.it
// This version uses PHP5’s SimpleXML extension

require ‘common.php’;
$q=build_query();
// Create a CURL object for later use
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$url = $service[$_REQUEST[‘type’]].$q.$yoursite;
curl_setopt($ch, CURLOPT_URL, $url);
$response = utf8_encode(curl_exec($ch));
//echo $url;
// Then send it to the appropriate service
$xml = simplexml_load_string($response);

// Load up the root element attributes
foreach($xml->attributes() as $name=>$attr) $res[$name]=$attr;
$first = $res[‘firstResultPosition’];
$last = $first + $res[‘totalResultsReturned’]-1;
echo “<p>Matched ${res[totalResultsAvailable]}, showing $first to $last</p>\n”;

print'<script type=”text/javascript”><!–
google_ad_client = “pub-8659254839827892”;
/* 728×15, created 30/05/08 */
google_ad_slot = “8775688669”;
google_ad_width = 728;
google_ad_height = 15;
//–>
</script>
<script type=”text/javascript”
src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”>
</script><br>’;

if(!empty($res[‘ResultSetMapUrl’])) {
echo “<p>Result Set Map: <a href=\”${res[ResultSetMapUrl]}\”>${res[ResultSetMapUrl]}</a></p>\n”;
}

if($_REQUEST[‘type’] == “web”){

foreach($xml as $result) {
//print_r($xml);
echo “<a href=\””.$result->ClickUrl.”\”>”.utf8_encode($result->Title).”</a>”;

echo”<br>”;
echo utf8_encode($result->Summary);
echo”<br>”;
}
}elseif($_REQUEST[‘type’] == “image”){

foreach($xml as $result) {
//print_r($xml);
echo “<a href=\””.$result->ClickUrl.”\”><img src=\””.$result->Thumbnail->Url.”\”></a>”.utf8_encode($result->Summary).””;
echo “File Name:”.utf8_encode($result->Title).””;
echo “Page:”;
echo”<br>”;
echo utf8_encode($result->Summary);
echo”<br>”;
}

};
echo “<br>\n”;
next_prev($res, $first, $last);
done();
?>

29 May

It’s confirmed, for my boss I was a monkey!

I have been working for an IT company for about 18 months. I have often complaint with my manager that my job was a monkey job even if they have sold me as a “great opportunity to develop”. Today, posting a video I have realized that they are aware that we are doing a monkey job!

Enjoy the screenshot!Monkey Job in Youtube Server Error

29 May

Amore e follia

Questa è un altra delle molte mail che mi arrivani.E’ una storia con una morale leggetela, alla fine troverete i miei commenti e potrete inserire i vostri.

Per gli sfaticati c’è un video:

La Follia decise di invitare i suoi amici a prendere un caffè da lei.
Dopo il caffè, la Follia propose: ‘Si gioca a nascondino?’.
‘Nascondino? Che cos’è?’ – domandò la Curiosità.
‘Nascondino è un gioco. Io conto fino a cento e voi vi nascondete.
Quando avrò terminato di contare, cercherò e il primo che troverò sarà il prossimo a contare’.
Accettarono tutti ad eccezione della Paura e della Pigrizia.
‘1,2,3. – la Follia cominciò a contare.
La Fretta si nascose per prima, dove le capitò.
La Timidezza, timida come sempre, si nascose in un gruppo d’alberi.
La Gioiacorse in mezzo al giardino.
La Tristezza cominciò a piangere, perché non trovava un angolo adatto per nascondersi.
L’ Invidia si unì al Trionfo e si nascose accanto a lui dietro un sasso.
La Follia continuava a contare mentre i suoi amici si nascondevano.
La Disperazione era disperata vedendo che la Follia era gia a novantanove.
‘CENTO! – gridò la Follia – Comincerò a cercare.’
La prima ad essere trovata fu la Curiosità, poiché non aveva potuto impedirsi di uscire per vedere chi sarebbe stato il primo ad essere scoperto.
Guardando da una parte, la Follia vide il Dubbio sopra un recinto che non sapeva da quale lato si sarebbe meglio nascosto.
E così di seguito scoprì la Gioia, la Tristezza , la Timidezza.
Quando tutti erano riuniti, la Curiosità domandò: ‘Dov’è l’Amore?’.
Nessuno l’aveva visto.
La Follia cominciò a cercarlo.
Cercò in cima ad una montagna, nei fiumi sotto le rocce.
Ma non trovò l’Amore.
Cercando da tutte le parti, la Follia vide un rosaio, prese un pezzo di legno e cominciò cercare tra i rami, allorché ad un tratto sentì un grido.
Era l’Amore, che gridava perché una spina gli aveva forato un occhio.
La Follia non sapeva che cosa fare.
Si scusò, implorò l’Amoreper avere il suo perdono e arrivò perfino a promettergli di seguirlo per sempre.
L’Amore accettò le scuse.
Oggi, l’ l’Amore è cieco e la Follia lo accompagna sempre.
(fine)

Da quanto ho compreso, la morale dice che chi ama è folle o che chi cerca l’amore è folle.

Allora mi chiedo perchè una sentimento definito “folle” viene così spesso preso come l’ideale da seguire. Suggeriresti al tuo miglior amico di diventare folle?

O perchè spesso le persone cercano l’amore, cercano forse la follia? Cercano forse di perdere il contatto con la triste realtà? Se la follia è qualcosa di buono, perchè i più grandi criminali vengono spesso definiti folli? Forse queste persone amano solo più del normale…

Voi che dite?

08 May

Il finocchio più costoso del mondo!

Molti si lamentano del costo della vita in Italia, sinceramente è un pochino che non vengo nel Bel Paese ma forse molti non sono a conoscenza di quello che succede all’estero.

Qualche giorno fà ero a comprare della frutta a Dublion e ho visto un ortaggio esotico, il Finocchio! Così volevo comprarlo ma sfortunatamente qualcosa me lo ha impedito, il prezzo! Un finocchio, e dico UNO di numero, costa 3,49 euro! Ebbene si a Dublino questo è il prezzo del finocchio ! 😉

Tempi duri per gli amanti dei finocchi da queste parti…Shopping a Dublino

07 May

Google Analytics Data Sharing

This morning I logged to my Google Analytics account to check some of the stats about my websites. So I decided to clean up some old mess and I went to admin my Profiles. And, bang a huge pop up in front of me asking if I wanted to “Share my data” with Google…

Google Analytics Sharing Data

For what I remember I have been already asked about this question and my answer was NO, why I should share my strategical data with the big G?

And what kind of use are they going to do?(Here the info from the Help Center) They state Your website data will not be used to affect your natural search results, ad quality score or ad placement. Aggregate data across many customers will be used to improve our products and services. But why not? If my website is receiving loads of traffic from a “wrong” keyword and I am all happy to receive this traffic, you can easily find out and “adjust” for a better service and I will loose my traffic.

So at the moment I keep the traffic information for me (Hopefully!) and I will think to share my data with the Big G that already decide if I will get at the end of the month or not.