• 15-04-2007, 18:51:57
    #1
    Üyeliği durduruldu
    Öncelikle Bu Mod degildir. Tamamen php bilgim ile yabancı forumlardaki rss feed posteri geliştirdim.
    Tüm smf sürümlerinde çalışır.
    ve Feed poster modulundeki tüm aksaklıkları kapsamaz

    Avantajları
    1) Serverınızı asla kasmaz yormaz
    2) Tamamen işinizi bota degil botu sizin yönetmenizi saglar.
    3) Kullanımı cok basitir.

    +
    Yenilikler bitmiyo
    Haber botu eklediginde 3 cumle alır haberden ve altına haber linkini adres olarak eklemez
    Devamını Oku Şeklinde otomatik tanımlama yapar.

    Neyse kurulum anlatımına geciyim.

    1) SimplePie: Downloads adresinden simplepie indirip serverınızın root dizinize atınız.
    2) SimplePie: Server Compatibility Test (Beta 3) gordugunuz gibi Herşey enabled olucak disabled olmıyıcak. ( Sebep Hostunuzu kasan şeylerin önlemini alan kısımlardır )

    3) Aşagıdaki kodları Kendinize göre düzenliyip rss.php olarak root a atınız.


    <?php
    error_reporting(E_ALL);
    
    require("simplepie/simplepie.inc");
    // these need the full path to your SMF files
    require_once('/home/siteisminiz/public_html/SSI.php');
    require_once('/home/siteisminiz/public_html/Sources/Subs-Post.php');
    
    /** DATABASE Configuration */
    define("DB_HOSTNAME","localhost"); //Insert your DB server name here
    define("DB_USERNAME","*****"); //DB Kullanıcı adı
    define("DB_PASSWD","******"); // DB Şifre
    define("DB_DATABASE","*******"); //DB İsmi
    
    // initialize variables ** Don't touch these.
    $sSql                 = "";
    $aryMsgOptions        = Array();
    $aryTopicOptions    = Array();
    $aryPosterOptions    = Array();
    $encoding = "iso-8859-9";
    
    // set variables ** Modify these to match your board
    $iUserId         = 99999;     // Haber botunuzun Üye ID si
    $iBoardId         = 99999;    // Haberin eklenecegi kategori ID si
    $sRealName         = "Haberci";    // Haber botunuzun üye adı
    $sEmailAddr     = "haberci@xxxx.net";    // Haber botunuzun mail adresi
    $iMarkAsRead    = TRUE; // Set this either true or false This defines whether the injected posts are marked as read.
    $iUpdatePostCount = TRUE;// Set this to either true or false.  This defines whether to include the injected items in your post counts.
    $sFeedUrl         = "http://www.zaman.com.tr/webapp-tr/kultursanat.rss"; // Bu Kısımlar rss yada xml haber cekilicek adres satırları
    $iMaxItemsToRetrieve = 50; // Kaç Haber eklenicekse Haber sayısını belirtin..
    // Instantiate SimplePie object
    $feed = new SimplePie();
    
    $feed->feed_url($sFeedUrl);
    
    $feed->enable_caching(false);
    
    $feed->init();
    
    $feed->handle_content_type();
    
    $obj_db = mysql_connect(DB_HOSTNAME,DB_USERNAME,DB_PASSWD) or die (mysql_error());
    mysql_select_db(DB_DATABASE,$obj_db) or die (mysql_error());
    
    
    if ($feed->data) 
    {    
        $max = $feed->get_item_quantity($iMaxItemsToRetrieve);
        for ($x = 0; $x < $max; $x++) 
        {
    
            $item = $feed->get_item($x);
            $hoppa = $item->get_title();
    $hoppa1 = iconv("UTF-8", "ISO-8859-9", $hoppa);
    $tekrakibimmicrosoft = addslashes($hoppa1);
    
            // This is a simple check to make sure that the item doesn't already exist in your SMF.
            $sSql = "SELECT
                    COUNT(ID_MSG) AS ENTRY_EXISTS
                    FROM smf_messages 
                    WHERE subject = '$tekrakibimmicrosoft'";
            
            $obj_query = mysql_query($sSql, $obj_db) or die(mysql_error());
    
            $int_count = mysql_fetch_assoc($obj_query) or die(mysql_error());
            
            mysql_free_result($obj_query);
            
            // If it's a new item, insert it!
            if ($int_count['ENTRY_EXISTS'] == 0) 
            { 
                $sItemTitle = $tekrakibimmicrosoft;
                //$sItemTitle = smart_trim(addslashes($item->get_title()), 50, false, "...");
    
                $hoppa2 = $item->get_description();
                      $hoppa3 = iconv("UTF-8", "ISO-8859-9", $hoppa2);
                      $phpninustasigozlerininhastasiyim = addslashes($hoppa3);
                $sItemBody = "<p>" . $item->get_date('j M Y') . "</p><p>$phpninustasigozlerininhastasiyim</p><p><a href=\"" . $item->get_permalink() . "\">Devamini Oku</a></p>";
     
                // Setup the variables for creatPost()
                $aryTopicOptions = array
                (
                        'id' => 0,
                        'board' => $iBoardId,
                        'mark_as_read' => $iMarkAsRead,
                );
                
                $aryPosterOptions = array
                (
                        'id' => $iUserId,
                        'name' => $sRealName,
                        'email' => $sEmailAddr,
                        'ip' => '127.0.0.1',
                        'update_post_count' => $iUpdatePostCount,
                );
                
                $aryMsgOptions = array
                (
                        'id' => 0,
                        'subject' => $sItemTitle,
                        'body' => $sItemBody,
                );  
                          
                echo("*******************************************************************<br />\r\n");
                echo("title: " . $sItemTitle . "<br />\r\n");
                echo("*******************************************************************<br />\r\n");
                
                createPost($aryMsgOptions, $aryTopicOptions, $aryPosterOptions);
            }
            else 
            {
                echo("There is already a match<br />\r\n");    
            } 
        }
    }
    
    if ($obj_db) {
        @mysql_close($obj_db);
    }
    ?>
    Ve en sonunda www.siteisminiz.com/rss.php dediginizde Haberleriniz eklenecektir

    kaynak: Home of SMF: Free PHP and MySQL forum software
  • 15-04-2007, 19:41:49
    #2
    Tamam teşekkürlerde Mod sahibinin izni varmı izni olmadan yayınlamak yasak biliyorsun
  • 15-04-2007, 19:48:43
    #3
    Üyeliği durduruldu
    fark ettiyseniz smf sitenin forumundan aldım orda yayınlanan her eklentinin paylaşılması serbest kaynakda belirtim ayrıca bunu biliyo olmalısınız
  • 15-04-2007, 19:55:39
    #4
    Evet biliyorum lakin resmi site dışında yapılan eklentiler bazen kötü niyetli olduğundan orada onlarca konu açılıyor sitem hacklendi diye...
  • 15-04-2007, 19:57:53
    #5
    Üyeliği durduruldu
    izmirli_ adlı üyeden alıntı: mesajı görüntüle
    Evet biliyorum lakin resmi site dışında yapılan eklentiler bazen kötü niyetli olduğundan orada onlarca konu açılıyor sitem hacklendi diye...
    bildiğim için yararlı ve denenmiş eklentileri resmi siteden alıyorum..
  • 19-05-2007, 02:04:00
    #6
    iyisite.NET
    mbstring Enabled Disabled iconv Enabled Disabled

    Fatal error: Call to undefined function: iconv() in /home2/gmekan/public_html/forum/rss.php on line 54

    böyle bir hata aldım.
  • 26-05-2007, 10:09:53
    #7
    Bu Modun sahibi olarak art nıyet gormuyorum yayınlamasında arkadaşın sonucta paylaşımdır.
  • 11-06-2007, 12:27:46
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    dreamhost'ta rss ile sitelerime bi şey çekemiyorum nasıl yapıcam ben
  • 11-06-2007, 12:32:33
    #9
    Gangstamonu adlı üyeden alıntı: mesajı görüntüle
    dreamhost'ta rss ile sitelerime bi şey çekemiyorum nasıl yapıcam ben
    verdiği hatayı yazarsan yardımcı olabilirim.sistemi incelemedim ama muhtemelen rss yi file_get_content ile açıyordurki dreamhost ta aktif değil bunun yerine curl ile kaynağa erişebilirsin

    <?php
    $ch = curl_init();
    $timeout = 5; // set to zero for no timeout
    curl_setopt ($ch, CURLOPT_URL, 'http://example.com');
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $file_contents = curl_exec($ch);
    curl_close($ch);
    
    // display file
    echo $file_contents;
    ?>
    yada işi garantiye alıp her ikisininde varlıgını araştırabilrisin
        public function getUrl($url) {
            $text='';
            if (function_exists('curl_init')) {
                $ch = curl_init($url);
                curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
                curl_setopt($ch, CURLOPT_HEADER, 0);
                $text = curl_exec($ch);
                curl_close($ch);
            }
            else {
                $text =  @file_get_contents($url) or die($url . ' can not be reached');
            }
            return $text;
        }
    http://wiki.dreamhost.com/index.php/CURL