Archives de la catégorie Fonctions Sympas

Twitter, Avez-vous votre robot ?

Voici une petite fonction sympa pour Twitter Aléatoirement un message… Vos messages sont soit dans un tableau ( Array ) soit seul ( $message = »toto »;

La fonction s’occupe d’elle même de transformer un message seul en tableau :


/**
 * alea_twitter_post
 * Envois aléatoirement un Twitt
 * contenu dans un Array()
 *
 * @param string $login,$mot_de_passe
 * @param array $messages
 * @return $reponse|true ou false
 */

function alea_twitter_post($login, $mot_de_passe, $messages){
 if (!is_array($messages)){
 $messages = array($messages);
 }
 $message = $messages[array_rand($messages)];
 $url = 'http://twitter.com/statuses/update.xml';
 $curl_handle = curl_init();
 curl_setopt($curl_handle, CURLOPT_URL, "$url");
 curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
 curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($curl_handle, CURLOPT_POST, 1);
 curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
 curl_setopt($curl_handle, CURLOPT_USERPWD, "$login:$mot_de_passe");
 $buffer = curl_exec($curl_handle);
 curl_close($curl_handle);
 if (!empty($buffer)){
 $reponse = TRUE;
 }else{
 $reponse = FALSE;
 }
 return $reponse;
}

On peut ensuite tester ainsi:


//TEST
$login = "VotreLogin";
$pass = "VotreMotDePasse";
$messages = array("Message 1","message 2","message 3","etc...");
// ou tout simplement $messages = "Un petit dernier pour le e-commerce et pokerice";
if (alea_twitter_post($login, $pass, $messages) != FALSE){
echo "Twitt Posté";
}

Rapide et éfficace, il ne reste plus qu’a en faire un Cron, charger des messages en Bdd, ou encore faire appeler cette fonction par image par vos visiteurs…

A vos commentaires ;)

, ,

Pas de commentaire

Où sont les Bots ?

Une petite fonction sympa pour surveiller les Bots ( save en BDD ou cloaking )

L’interêt de cette fonction et de pouvoir traiter des tableaux multiples en redéfinissant des plages d’ip éventuelles des Robots ou tout autre recherche que vous souhaiteriez traquer

/**
 * Is_bot
 * traque la présence d'un bot par plage d'ip
 *
 * @param string $ip
 * @param array $array_bots
 * @return string|false
 */

function is_bot ($ip,$array_bots) {
    $ip = strval($ip);
    $reponse = false;
    foreach($array_bots as $bot=>$val) {
	foreach($array_bots[$bot] as $ip_bot) {
	    $reponse = strpos($ip,$ip_bot);
	    if ($reponse !== FALSE) return $bot;
	}
    }
    return $reponse;
}

Utilisation:

$bots = array(
    'google' => array('216.239.46','64.68.8','66.249.','64.233.173'),
    'yahoo' => array('66.196.','68.142.','202.165.','66.142.')
);
$test = is_bot('216.239.46.654',$bots); //renverra TRUE car 216.239.46 est présent dans l'ip
if($test != FALSE) {
    //action affichage bot ou cloaking ;)
    $bot = $test;
    echo "bot présent<br/>";
    echo $bot;
} else {
    echo "pas de bot";
}

Le code vous retourne donc un true ou false avec possibilité de reprendre le nom du bot.

, ,

Pas de commentaire