مهمان عزیز خوش آمدید. ورود ثبت نام



امتیاز موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
کلمات کلیدی
نمایش توییت ها در انجمن یا وبسایت با php و jquery

نمایش توییت ها در انجمن یا وبسایت با PHP و jQuery
این آموزش به سفارش آقای توفیقی گل گذاشته شده استتصویر: images/smilies/tongue.gifتصویر: images/smilies/heart.gif
برای دسترسی به اطلاعات یک user در توییتر راه های مختلفی وجود دارد و توییتر API خود را به صورت JSON و فایل XML در اختیار برنامه نویسان قرار میدهد تا برنامه نویسان بتوانند توییت ها و اطلاعات آن را به نمایش بگذارند.

در کدی که خواهید دید فقط با دادن username توییتر خود می توانید امکانات زیر را دارا باشید:
  • نمایش ۱۰ عدد از جدیدترین توییت ها(در صورت این که تعداد توییت ها بیشتر از ۱۰ باشد) به صورت اسلاید
  • ایجاد لینک به لینک های توییت ها
  • توقف اسلاید در هنگام رفتن موس به روی باکس توییت ها و راه افتادن اسلاید ۵ ثانیه پس از برداشتن موس
  • به روز شدن فایل XML هر یک ساعت یک بار در صورت لود شدن صفحه
به دلیل فیلتر بودن وب سایت توییتر شما نمی توانید توییت های خود را به همه نشان دهید اما می توانید با دانلود کردن فایل XML مورد نظر خود از این لینک:
http://api.twitter.com/1/statuses/user_t...ERNAME.xml
نکته: در آدرس بالا بجای YOUR_USERNAME یوزرنیم توییتر خود را جایگذاری نمایید!
توییت های خود را بدون داشتن فیلتر شکن به بازدیدکنندگان وب سایت خود نشان دهید و یا می توانید این کد را آفلاین(localhost) هم تست کنید. فقط توجه داشته باشید که فایل XML باید در کنار فایل PHP قرار گیرد. در صورتی که قسمت کد آنلاین را فعال کنید(در کدهای زیر) نیازی به دانلود فایل XML نیست چون به صورت خودکار هر یک ساعت یک بار در صورت لود شدن صفحه ی شما فایل XML دانلود میشود.

ابتدا کد PHP زیر را در پوشه ای به نام assets در فایلی به نام twitter.php ذخیره کنید و مقدار متغییر username را به username توییتر خود تغییر دهید:
کد پی‌اچ‌پی:
<?php
///* Website: http://www.vafa-forum.ir *///
///* توییت برای انجمن *///
class Twitter
{
public function 
show_tweet($twitter_user)
{
$xmlpath $twitter_user.".xml";
@
$xml simplexml_load_file($xmlpath);
$count_tweet sizeof($xml);
if(
$count_tweet 11)
{
for(
$i=$i $count_tweet $i++)
{
$findme '+0000';
@
$date $xml->status[$i]->created_at;
@
$string $xml->status[$i]->text;
$pos strpos($date$findme);
$reg_exUrl "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
if (
$pos === false)
{
if(
preg_match($reg_exUrl$string$url))
{
$string preg_replace($reg_exUrl"<a href=".$url[0].">.$url[0].</a> "$string);
$Tweet $string ."<br/>".$date."<br/>";
}
else
{
$Tweet $string ."<br/>".$date."<br/>";
}
}
else
{
if(
preg_match($reg_exUrl$string$url))
{
$string preg_replace($reg_exUrl"<a href=".$url[0].">.$url[0].</a> "$string);
$Tweet $string ."<br/>".str_replace($findme,"",$date)."<br/>";
}
else
{
$Tweet $string ."<br/>".str_replace($findme,"",$date)."<br/>";
}
}
}
}
else
{
for(
$i=$i 10 $i++)
{
$findme '+0000';
@
$date $xml->status[$i]->created_at;
@
$string $xml->status[$i]->text;
$pos strpos($date$findme);
$reg_exUrl "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
if (
$pos === false)
{
if(
preg_match($reg_exUrl$string$url))
{
$string preg_replace($reg_exUrl"<a href=".$url[0].">.$url[0].</a> "$string);
$Tweet $string ."<br/>".$date."<br/>";
}
else
{
$Tweet $string ."<br/>".$date."<br/>";
}
}
else
{
if(
preg_match($reg_exUrl$string$url))
{
$string preg_replace($reg_exUrl"<a href=".$url[0].">.$url[0].</a> "$string);
$Tweet $string ."<br/>".str_replace($findme,"",$date)."<br/>";
}
else
{
$Tweet $string ."<br/>".str_replace($findme,"",$date)."<br/>";
}
}
}
}
return 
$Tweet;
}
}

$num $_GET["num"];
$username "Your_Usename";
$isXml true;
/*
* در صورتی که میخواهید کد را آنلاین و با فیلتر شکن اجرا شود
* کدهای زیر را از حالت کامنت بردارید
* در غیر این صورت فایل مورد نظر را دانلود کرده
* و در کنار این فایل قرار دهید
*/
/*
if(is_file($username.".xml"))
{
if ( filemtime($username.".xml") <= time()-60*60)
{
unlink($username.".xml");
$xml_file = "http://api.twitter.com/1/statuses/user_timeline/".$username.".xml";
if(copy($xml_file,$username.".xml"))
{
$isXml = true;
}
else
{
$isXml = false;
}
}
}
else
{
$xml_file = "http://api.twitter.com/1/statuses/user_timeline/".$username.".xml";
if(copy($xml_file,$username.".xml"))
{
$isXml = true;
}
else
{
$isXml = false;
}
} */

if($num 9)
{
$num 0;
}
if(
$isXml)
{
$Tweet = new Twitter();
$var $Tweet->show_tweet($username);
echo @
$var[$num];
}
else
{
echo 
"just a sec, loading tweets...";
}
?>

حالا زمان اضافه کردن فایل jQuery است قبل از پوشه assets فایلی به نام tweet.js بسازید و کدهای زیر را در آن کپی کنید:

کد:
// tweet
$(function()
{

getStatus();

});
var num = 0;
var t = setInterval("getStatus()", 5000);
function getStatus()
{
if(num != 0)
{
$("#tweet").fadeOut(500,function()
{
$("#tweet").load("assets/twitter.php?num=" + num, function()
{
$("#tweet").fadeIn(500);
});
});
}
else
{
$("#tweet").load("assets/twitter.php?num=" + num);
}
num++;
if(num > 9)
{
num = 0;
}
$("#tweet").mouseover(function()
{
clearInterval(t);
t = 0;
});
$("#tweet").mouseout(function()
{
if(t == 0)
{
t = setInterval("getStatus()", 5000);
}
});
}
در صفحه ای که میخواهید توییت ها به نمایش گذاشته شود در قسمت head صفحه, فایل tweet.js را صدا بزنید
برای مثال برای انجمن مای بی بی شما پس از ساخت و ذخیره فایل tweet.js به هاست خود رفته و آن را در پوشه jscripts هاست آپلود مینمایید.
سپس به کنترل پنل>> قالب ها و پوسته ها>> قالب های پیشفرض>> headerincloude >> رفته و کد زیر را کپی مینمایید:

کد:
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/tweet.js"></script>
و در body در قالب و یا قسمتی که میخواهید توییتها نمایش داده شود کد زیر را کپی کنید:

کد:
<div id="tweet">
</div>
به همین راحتی به همین خوشمزگیتصویر: images/smilies/tongue.gifتصویر: images/smilies/heart.gif
اگر بدون سپاس و اعتبار دادن از این مطلب استفاده کنید من راضی نیستمتصویر: images/smilies/rolleyes.gif
با تشکرتصویر: images/smilies/heart.gif


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  قراردادن آخرین ارسال‌های انجمن در دیگر CMS ها Tofighi 17 3,169 ۰۴ خرداد ۱۳۹۴، ۰۷:۲۲ ق.ظ
آخرین ارسال: ali5866
  آموزش سئو وبسایت با استفاده از تگهای heading Tofighi 35 7,191 ۰۲ خرداد ۱۳۹۳، ۰۵:۴۸ ب.ظ
آخرین ارسال: Mehr@ban
  حفاظت از انجمن در مقابل حملات DDoS Amir-Me 10 2,547 ۲۰ بهمن ۱۳۹۲، ۱۰:۱۶ ب.ظ
آخرین ارسال: IrIsT
  آموزش ایجاد نوار نمایش امکانات Tofighi 48 8,025 ۲۵ دى ۱۳۹۲، ۱۲:۴۶ ب.ظ
آخرین ارسال: KoG
Star نمایش اواتار ادمین ، مدیران در صفحه تیم مدیریتی انجمن KoG 0 972 ۱۱ شهریور ۱۳۹۲، ۰۲:۵۲ ب.ظ
آخرین ارسال: KoG
  [هدیه ویژه] باکس تاپیک های کارآمد برای انجمن شما KoG 12 2,432 ۲۰ تير ۱۳۹۲، ۱۰:۵۳ ق.ظ
آخرین ارسال: KoG
Thumbs Up تغییر فونت انجمن در یک چشم به هم زدن hamidkag 14 4,519 ۰۲ تير ۱۳۹۲، ۰۸:۵۲ ق.ظ
آخرین ارسال: KoG
Thumbs Up تغییر شکل نشانگر موس در انجمن KoG 3 1,412 ۲۳ اسفند ۱۳۹۱، ۱۱:۳۰ ب.ظ
آخرین ارسال: Tofighi
  نمایش نام کاربری به صورت رنگین کمان reza 0 957 ۳۰ آذر ۱۳۹۱، ۰۴:۰۸ ب.ظ
آخرین ارسال: reza
  نمایش "نشانی" و "نمایش اطلاعات" در بخش کاربران آنلاین @-Hoosk-@ 0 968 ۱۹ آذر ۱۳۹۱، ۰۳:۵۷ ب.ظ
آخرین ارسال: @-Hoosk-@

پرش به انجمن:


کاربران در حال بازدید این موضوع:

1 مهمان


درباره‌ی ما

گروه پشتیبانی فارسی مای بی بی My-BB.Ir در واپسین روزهای پاییز 1391 کار خود را در زمینه مای بی بی آغاز کرد. این گروه با توکل بر خدای منان و دانش فنی خود در تلاش است فعالیتی هرچند ناچیز در زمینه ارتقا و پشتیبانی مای بی بی انجام دهد.
تمامی حقوق برای وب‌سایت پشتیبانی فارسی مای بی‌بی (My-BB.Ir) محفوظ می‌باشد و هرگونه کپی‌برداری از آن شرعا حرام و قانونا غیرمجاز می‌باشد.
قدرت گرفته از مای بی‌بی - فارسی‌ساز: My-BB.Ir و IORA.Ir