• Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha fazla bilgi edin.

Smf Forumlara Curl İle Post Atmak

Konuyu Okuyan Kişiler (0)

ByTRiSLaSiS

webmaster.tc
Katılım
6 Ağu 2012
Mesajlar
133
Beğeniler
0
Konum
İstanbul
#1
Arşivimden bir kod blogu gecen 2 sene önce yazmıştım paylaşmak istedim arkadaşlar smf tüm sürümlre mesaj atar veya konu acar kullanımını en altta verdim


PHP:
class SMF1_REPLY {
 var $login_page = "/index.php?action=login2";
 var $cerez         = "/Cache/cerez.txt";
 var $post_adres = "/index.php?action=post;topic=";
 var $post_yolla = "/index.php?action=post2;start=0;board=";
 public function SeoLink($text){
 $tr = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç');
 $eng = array('s','S','i','I','g','G','u','U','o','O','C','c');
 $text = str_replace($tr,$eng,$text);
 return strtolower($text);}
 public function __construct($username,$password,$url,$topic,$mesaj){
 $smf1 = curl_init();
 curl_setopt($smf1,CURLOPT_URL,$url.$this->login_page);
 curl_setopt($smf1,CURLOPT_TIMEOUT,3);
 curl_setopt($smf1,CURLOPT_COOKIEJAR,dirname(__FILE__).$this->cerez);
 curl_setopt($smf1,CURLOPT_COOKIEFILE,dirname(__FILE__).$this->cerez);
 curl_setopt($smf1,CURLOPT_FOLLOWLOCATION,TRUE);
 curl_setopt($smf1,CURLOPT_RETURNTRANSFER,TRUE);
 curl_setopt($smf1,CURLOPT_POST,TRUE);
 $login_bilgileri = array("user"=>$username,"passwrd"=>$password,"cookieneverexp"=>"on","submit"=>"login");

 curl_setopt($smf1,CURLOPT_POSTFIELDS,$login_bilgileri);
 curl_exec($smf1);

 curl_setopt($smf1,CURLOPT_URL,$url.$this->post_adres.$topic);
 $exe = curl_exec($smf1);

 preg_match('/name="num_replies" value="(.*?)"/',$exe,$num_replies);
 $replies = $num_replies[1];

 preg_match('/name="additional_options" value="(.*?)"/',$exe,$additional_options);
 $additional = $additional_options[1];

 preg_match('/name="sc" value="(.*?)"/',$exe,$sc1);
 $sc = $sc1[1];

 preg_match('/name="seqnum" value="(.*?)"/',$exe,$seqnum1);
 $seqnum = $seqnum1[1];

 preg_match('/var current_board = (.*?);/',$exe,$board1);
 $board = $board1[1];

 preg_match('/name="subject" value="(.*?)"/',$exe,$subject1);
 $subject = $subject1[1];

 preg_match("/sSessionVar: '(.*?)'/",$exe,$sSessionVar1);
 $sSessionVar = $sSessionVar1[1];

 preg_match("/sSessionId: '(.*?)'/",$exe,$sSessionId1);
 $sSessionId = $sSessionId1[1];
 $gonder = array(
 "topic"                        =>$topic,
 "subject"                    =>$this->SeoLink($subject),
 "icon"                         =>"",
 "message"                     =>$this->SeoLink($mesaj),
 "notify"                    =>"",
 "lock"                        =>"",
 "sticky"                    =>"",
 "move"                        =>"",
 "attachment[]"                =>"",
 "post"                        =>"",
 "num_replies"                =>$replies,
 "additional_options"        =>$additional,
 "sc"                        =>$sc,
 "seqnum"                    =>$seqnum,
 $sSessionVar                 => $sSessionId);

curl_setopt($smf1,CURLOPT_URL,$url.$this->post_yolla.$board);
curl_setopt($smf1,CURLOPT_POSTFIELDS,$gonder);

echo curl_exec($smf1);

}}

class SMF_NEW_THEREAD{
 var $login_page = "/index.php?action=login2";
 var $cerez         = "/Cache/cerez.txt";
 var $konu_ac     = "/index.php?action=post;board=";
 var $konu_ac_post_adres = "/index.php?action=post2;start=0;board=";
 public function SeoLink($text){
 $tr = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç');
 $eng = array('s','S','i','I','g','G','u','U','o','O','C','c');
 $text = str_replace($tr,$eng,$text);
 return strtolower($text);}
 public function __construct($username,$password,$url,$board_id,$baslik,$mesaj){
 $smf1 = curl_init();
 curl_setopt($smf1,CURLOPT_URL,$url.$this->login_page);
 curl_setopt($smf1,CURLOPT_TIMEOUT,3);
 curl_setopt($smf1,CURLOPT_COOKIEJAR,dirname(__FILE__).$this->cerez);
 curl_setopt($smf1,CURLOPT_COOKIEFILE,dirname(__FILE__).$this->cerez);
 curl_setopt($smf1,CURLOPT_FOLLOWLOCATION,TRUE);
 curl_setopt($smf1,CURLOPT_RETURNTRANSFER,TRUE);
 curl_setopt($smf1,CURLOPT_POST,TRUE);
 $login_bilgileri = array("user"=>$username,"passwrd"=>$password,"cookieneverexp"    =>"on","submit"=>"login");

 curl_setopt($smf1,CURLOPT_POSTFIELDS,$login_bilgileri);
 curl_exec($smf1);
 curl_setopt($smf1, CURLOPT_URL,$url.$this->konu_ac.$board_id);
 $exe = curl_exec($smf1);

 preg_match('/name="num_replies" value="(.*?)"/',$exe,$num_replies);
 $replies = $num_replies[1];

 preg_match('/name="additional_options" value="(.*?)"/',$exe,$additional_options);
 $additional = $additional_options[1];

 preg_match('/name="sc" value="(.*?)"/',$exe,$sc1);
 $sc = $sc1[1];

 preg_match('/name="seqnum" value="(.*?)"/',$exe,$seqnum1);
 $seqnum = $seqnum1[1];

 preg_match('/var current_board = (.*?);/',$exe,$board1);
 $board = $board1[1];

 preg_match('/name="subject" value="(.*?)"/',$exe,$subject1);
 $subject = $subject1[1];

 preg_match("/sSessionVar: '(.*?)'/",$exe,$sSessionVar1);
 $sSessionVar = $sSessionVar1[1];

 preg_match("/sSessionId: '(.*?)'/",$exe,$sSessionId1);
 $sSessionId = $sSessionId1[1];

 $gonder = array(
 "topic"                        =>"",
 "subject"                    =>$baslik,
 "icon"                         =>"",
 "message"                     =>$this->SeoLink($mesaj),
 "notify"                    =>"",
 "lock"                        =>"",
 "sticky"                    =>"",
 "move"                        =>"",
 "attachment[]"                =>"",
 "post"                        =>"",
 "num_replies"                =>$replies,
 "additional_options"        =>$additional,
 "sc"                        =>$sc,
 "seqnum"                    =>$seqnum,
 $sSessionVar                 => $sSessionId);

curl_setopt($smf1,CURLOPT_URL,$url.$this->konu_ac_post_adres.$board_id);
curl_setopt($smf1,CURLOPT_POSTFIELDS,$gonder);
echo curl_exec($smf1);
 }
}

//post için
$smf_Post_At = new SMF1_REPLY("bypckopatkral","12342378","http://www.kralforumcu.net","152410","Mesajımız Buraya");

//konu için
$smf_Konu_Ac = new SMF_NEW_THEREAD("bypckopatkral","12234678","http://www.kralforumcu.net","458","deneme Konu","Deneme İçeriği");

aynı dizinde Cache diye bir klasör oluşturup yazma iznini verin çalışacaktır
 

demir4735

webmaster.tc
Katılım
6 Ağu 2012
Mesajlar
12
Beğeniler
0
#2
tam olarak açarmısın hocam nasıl kullanılır. kodda değiştirmemiz gereken yerler nelerdir.