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

Vbulletin Konu ve Reply Tek Sınıf Sorulara %80 Otomatik Cevap

Konuyu Okuyan Kişiler (0)

ByTRiSLaSiS

webmaster.tc
Katılım
6 Ağu 2012
Mesajlar
133
Beğeniler
0
Konum
İstanbul
#1
http://www.phpogreniyorum.com/post.rar
Kodları Download Edebilirsiniz...


PHP:
include("tris_config.php");
class poster {
public  function hesap($islem)
{
    $sonuc = preg_replace('~([^0-9])~', ')$1', join($islem[0]));
    $sonuc = str_repeat('(', count(preg_split('~[0-9]+~', $sonuc)) - 1) . $sonuc . ")";
    eval('$sonuc = '.$sonuc.';');
    return $sonuc;
}

public $login ="login.php?do=login",$index = "index.php",$data =  array(),$reply =  "newreply.php?do=newreply&noquote=1&p=",$theread =  "newthread.php?do=newthread&f=";
    public function VB (){
        if(!file_exists(dirname(__FILE__).$this->data[0]['bilgiler']['klasor'])){
            mkdir(dirname(__FILE__).$this->data[0]['bilgiler']['klasor']);}
        if(!file_exists(dirname(__FILE__).$this->data[0]['bilgiler']['klasor'].$this->data[0]['bilgiler']['cerez'])){}    
    $a = (substr($this->data[0]['bilgiler']['domain'],  strlen($this->data[0]['bilgiler']['domain'])-1) ==  "/")?$this->data[0]['bilgiler']['domain']:$this->data[0]['bilgiler']['domain']."/";

    $bullet = curl_init();
        curl_setopt_array($bullet,$this->data[0]['curl']);
        curl_setopt($bullet,CURLOPT_URL,$a.$this->index);
        curl_setopt($bullet,CURLOPT_POST,1);
        curl_setopt($bullet,CURLOPT_POSTFIELDS,$this->data[0]['bilgiler']);
    $exec = curl_exec($bullet);//index.php
        preg_match('/securitytoken" value="(.*?)"/',$exec,$securitytoken);
        curl_setopt($bullet , CURLOPT_URL,$a.$this->login);
        curl_setopt($bullet , CURLOPT_POST, TRUE);
    $md = md5($this->data[0]['bilgiler']['password']);
        curl_setopt($bullet , CURLOPT_COOKIEJAR,  dirname(__FILE__).$this->data[0]['bilgiler']['klasor'].$this->data[0]['bilgiler']['cerez']);
        curl_setopt($bullet , CURLOPT_COOKIEFILE,  dirname(__FILE__).$this->data[0]['bilgiler']['klasor'].$this->data[0]['bilgiler']['cerez']);
        curl_setopt($bullet , CURLOPT_POSTFIELDS,  'cookieuser=1&vb_login_username='.$this->data[0]['bilgiler']['username'].'&vb_login_password='.$this->data[0]['bilgiler']['password'].'&s=&vb_login_md5password='.$md.'&vb_login_md5password_utf='.$md.'&securitytoken='.$securitytoken[1].'&do=login');
    $exec = curl_exec($bullet);
        curl_setopt($bullet , CURLOPT_POST, FALSE);
                if($this->data[0]['bilgiler']['option']){
                    curl_setopt($bullet,CURLOPT_URL,$a.$this->theread.$this->data[0]['bilgiler']['boardid']);
                }else{
                    curl_setopt($bullet,CURLOPT_URL,$a.$this->reply.$this->data[0]['bilgiler']['topic']);
                }
     $exec = curl_exec($bullet);
          preg_match_all('/name="securitytoken" value="(.*?)"/',$exec,                                        $istekler[]);
          preg_match('/<input type="hidden" name="do" value="post(.*?)"/',$exec,                                $istekler[]);
          preg_match('/name="iconid" value="(.*?)"/',$exec,                                                    $istekler[]);
          preg_match('/name="loggedinuser" value="(.*?)"/',$exec,                                                $istekler[]);
          preg_match('/sname="multiquoteempty" id="multiquote_empty_input" value="(.*?)"/',$exec,                $istekler[]);
          preg_match('/name="p" value="(.*?)"/',$exec,                                                        $istekler[]);
          preg_match('/name="parseurl" value="(.*?)"/',$exec,                                                    $istekler[]);
          preg_match('/name="posthash" value="(.*?)"/',$exec,                                                    $istekler[]);
          preg_match('/name="poststarttime" value="(.*?)"/',$exec,                                            $istekler[]);
          preg_match('/name="s" value="(.*?)"/',$exec,                                                        $istekler[]);
          preg_match('/name="sbutton" id="vB_Editor_001_save" value="(.*?)"/',$exec,                            $istekler[]);
          preg_match('/name="specifiedpost" value="(.*?)"/',$exec,                                            $istekler[]);
          preg_match('/id="subscribe" name="subscribe" tabindex="1" class="dep_ctrl" value="(.*?)"/',$exec,    $istekler[]);
          preg_match('/name="t" value="(.*?)"/',$exec,                                                        $istekler[]);
          preg_match('/name="wysiwyg" id="vB_Editor_001_mode" value="(.*?)"/',$exec,                            $istekler[]);
          preg_match('/<label  for="humanverify">(.*?)</label>/',$exec,                                         $istekler[]);
          preg_match('/<p  class="description">(d.*)</p>/',$exec,                                             $istekler[]);
          preg_match('/name="humanverify[hash]" value="(.*?)"/',$exec,                                        $istekler[]);
          preg_match('/name="emailupdate" tabindex="(.*?)"/',$exec,                                            $istekler[]);
          preg_match('/charset=(.*?)"/',$exec,                                                                $istekler[]);
          
          if($istekler[16][1] == ""){
          if(preg_match('/(d)/',$istekler[15][1],$varmi)){
        preg_match_all('/([0-9+])/',$istekler[15][1],$islem);
        $cevap = $this->hesap($islem);
}elseif(preg_match('/((.*?))/',$istekler[15][1],$islem)>0){
        $sorgu = $istekler[15][1];
        $soru = mysql_fetch_object(mysql_query("select * from tris_sorular where soru = '$sorgu'"));
          $cevap = $soru->cevap;  
}else{
    $sorgu = $istekler[15][1];
          $soru = mysql_fetch_object(mysql_query("select * from tris_sorular where soru = '$sorgu'"));
          $cevap = $soru->cevap;      
}  
}else{
           preg_match_all('/(d.*W.*)/',$istekler[16][1], $islem);
           $cevap =  $this->hesap($islem);
}
          if(count($istekler[0][1] > 1)){
              $sec = $istekler[0][1][1];
          }else{
              $sec = $istekler[0][1][0];
          }
    $PostData = array(
                        "do"                                    =>    "post".$istekler[1][1],
                        "emailupdate"                            =>    $istekler[18][1],
                        "humanverify[hash]"                        =>    $istekler[17][1],
                        "humanverify[input]"                    =>    $cevap,
                        "iconid"                                =>    $istekler[2][1],
                        "loggedinuser"                            =>    $istekler[3][1],
                        "message"                                 =>    iconv("utf-8","ascii//translit","mesajjjjj"),
                        "multiquoteempty"                        =>    "",
                        "p"                                        =>    $istekler[5][1],
                        "parseurl"                                =>    $istekler[6][1],
                        "posthash"                                =>    $istekler[7][1],
                        "poststarttime"                            =>    $istekler[8][1],
                        "s"                                        =>    $istekler[9][1],
                        "sbutton"                                =>    $istekler[10][1],
                        "securitytoken"                            =>    $sec,
                        "specifiedpost"                            =>    $istekler[11][1],
                        "subscribe"                                =>    $istekler[12][1],
                        "t"                                        =>    $istekler[13][1],
                        "subject"                                =>  "Hiiii",
                        "title"                                    =>    "",
                        "wysiwyg"                                =>    $istekler[14][1]);
    
            if($this->data[0]['bilgiler']['option']){
                            curl_setopt($bullet,  CURLOPT_URL,$a."newthread.php?do=postthread&f=".$this->data[0]['bilgiler']['boardid']);
                              curl_setopt($bullet, CURLOPT_POSTFIELDS,$PostData);
                    }else{
                            curl_setopt($bullet, CURLOPT_URL,$a."newreply.php?do=postreply&t=".$istekler[13][1]);
                              curl_setopt($bullet, CURLOPT_POSTFIELDS,$PostData);}                      
echo      $exec = curl_exec($bullet);
          }}

$a = new poster();
array_push($a->data,
array("bilgiler"    =>array(
"domain"             =>    "domain.com",            //DOMAİN  sonuan /  koymanız gerekmez koysanızda sorun olmaz
"username"             =>    "username",                //Kullanıcı Adınız
"password"             =>    "password",                //Şifreniz
"klasor"             =>    "/kayitlar",            //Cookie Oluşturulacak Klasör Adı
"cerez"             =>    "/cookie.txt",            //Cookielerin Yazılacağı Dosya Adı
"topic"             =>     "4733397",                //Sitedeki Topic Numaranız
"boardid"            =>    0,                        //Konu Acmak İstiyorsanız Forumdaki Kategori Numarası
"option"            =>     0),                        // 0  Kalırsa  burası Belirttiğiniz Sitede Konu Açar 1 Yaparsanız Konu Yerine Reply  Moduna Geçer
"curl"                =>array(
                            //CURL ayarları  Sabit Kalsın Dokunmayın
                            CURLOPT_RETURNTRANSFER => true,    
                            CURLOPT_HEADER         => FALSE,        
                            CURLOPT_FOLLOWLOCATION => true,        
                            CURLOPT_USERAGENT      => "Mozilla/5.0  (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",        
                            CURLOPT_CONNECTTIMEOUT => 120,        
                            CURLOPT_TIMEOUT        => 120,
                            CURLOPT_COOKIEFILE       => 1)));
                           //CURL ayarları  Bitiş
$a->VB();



//tris_config.php
PHP:
//Kişisel Web Sitesi http://www.phpogreniyorum.com
$localhost     =     "localhost";
$dbuser        =    "root";
$dbpass     =     "123456789";
$database     =     "poster";
           $baglan = mysql_connect($localhost,$dbuser,$dbpass) or die ("Kullanıcı Adı Veya Şifre Yalnış");
                 $vt= mysql_select_db($database) or die("<font color='red'><b> $database </b> </font> Ad?nda Veritaban? Yok");      
                            mysql_query("SET NAMES 'utf8'");
                            mysql_query("SET CHARACTER SET utf8");
                            mysql_query("SET COLLATION_CONNECTION = 'utf-8'");

kodları inceleyin arkadaşlar anlayacaksınız zaten projelerinizde kullanırsınız belki

ayrıca diyelimki forumda su sekilde bir soru soruyor size reply yapmak veya konu açmak için

soru | Siteye cevap yazmak için 5*10
soru | Siteye cevap yazmak için 5/10/5
soru | Siteye cevap yazmak için 5+10-500
soru | Siteye cevap yazmak için 5+10-50+14/20

bu tarz sorulara otomatik cevap verir

ama şu şekil sorulara
Fransanın başkenti nere
bu tarz soruları veritabanına eklemeniz gerekmekte
ayrıca
PHP:
"option"            =>     0),
0 olarak bırakırsanız sadece konu açar
PHP:
"option"            =>     1),
1 yaparsanız konuya sadece reply yani cevap atar
eksikler olabilirs geliştirebilirsiniz...



unutmadan sql
PHP:
CREATE TABLE `sorular` (
  `id` int(11) NOT NULL auto_increment,
  `soru` text character set utf8 collate utf8_bin NOT NULL,
  `cevap` text character set utf8 collate utf8_bin NOT NULL,
  `forum` text character set utf8 collate utf8_bin NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
unuttum yazmayı (mesajjjjj) yazan kısıma gönderimi yapın arkadaşlar ben testlerde böyle kullanmıştım
timeout değerlerini 3 yapmanız ideal bence siz bilirsniiz..


geliştirmeyi bıraktım işi bilen arkadaşlar kendilerine göre editler zaten... şu olmadı bunu yapmadım vs.. gibi sorular sormayın bu cümleyede kızmayın lütfen fırsatım olsa zaten tam anlamı ile geliştirir veriridim bilen arkadaşlardan destek alabilirsiniz