RSS Media Grabber 3.5 + 2 Skin

Тема в разделе "Скрипты", создана пользователем reslas, 10 дек 2007.

Информация :
Уважаемые пользователи если Вы ищите скрипт, то создайте тему в соответствующем разделе "Коммерческие" или "OpenSource"
В данном разделе создавать темы с префиксом"ИЩУ" запрещено.
Статус темы:
Закрыта.
Модераторы: DMS
  1. reslas

    reslas Постоялец

    Регистр.:
    23 июл 2006
    Сообщения:
    69
    Симпатии:
    20
    граббер из rss лент

    демо http://www.rssmediafun.com/

    скачать

    http://rapidshare.com/files/74595982/RSS_Media_Grabber_3.5___2_Skin.rar.html
     
  2. pilot233

    pilot233

    Регистр.:
    24 июн 2006
    Сообщения:
    405
    Симпатии:
    88
    Перезалейте ссылочьку пожалуйста!
     
  3. anthrax

    anthrax Писатель

    Заблокирован
    Регистр.:
    30 окт 2006
    Сообщения:
    382
    Симпатии:
    198
  4. Poltava

    Poltava Создатель

    Заблокирован
    Регистр.:
    4 ноя 2006
    Сообщения:
    138
    Симпатии:
    5
    а на рапиду залейте пожалуйста
     
  5. aktuba

    aktuba Читатель

    Заблокирован
    Регистр.:
    5 авг 2007
    Сообщения:
    93
    Симпатии:
    9
    После парсинга rss, русский текст попадает в базу в виде ???????... Понимаю, что надо для базы установить SET NAMES UTF-8, но вот где и как - не знаю. Может кто подскажет? Вот код Connector.php:

    Код:
    <?php
    //query type
    define('SQL_ONE', 1);
    define('SQL_ALL', 2);
    
    include_once(DOC_ROOT . 'libs/PEAR/DB.php');
    
    class Connector {
    
        var $dblink = null;
        var $is_db_connected = null;
        var $insert_array;
        var $update_array;
        var $sql_query_string;
        var $affected_rows;
        var $num_records;
        var $data;
        var $error;
    
        function Connector($dsn)
        {
            $this->dblink =& DB::connect($dsn);
    
            if (PEAR::isError($this->dblink)) {
                
                $this->error = $this->dblink->getMessage();
            }
            $this->is_db_connected = true;
    
        }
    
        function addRecord($table_name)
        {
        	
            if($this->is_db_connected == true) { 
                $res = $this->dblink->autoExecute($table_name, $this->insert_array, DB_AUTOQUERY_INSERT);
                
                if (PEAR::isError($res)) {
                    //echo "aaa".$this->sql_query_string;
                    $this->error = 'Query Error: ' . $this->sql_query_string;
                    $this->error .= '<br /> <br />' . $res->getMessage();
                    return false;
                } else {
                    
                    $this->affected_rows = $this->dblink->affectedRows();
                    $this->insert_array = '';
    
                    return true;
                }
            } else {
                
                $this->error = ('Not connected to database !!! ');
                return false;
            }
    
        }
    
        function updateRecord($table_name, $sql_where_string)
        {
            if($this->is_db_connected == true) {
                $res = $this->dblink->autoExecute($table_name, $this->update_array, DB_AUTOQUERY_UPDATE, $sql_where_string);
    
                if (PEAR::isError($res)) {
    //var_dump($res);
                    $this->error = 'Query error: ' . print_r($this->update_array);
                    $this->error .= '<br /> <br />' . $res->getMessage();
                    return false;
                } else {
                    
                    $this->affected_rows = $this->dblink->affectedRows();
                    $this->update_array = "";
                    return true;
                }
            } else {
                
                $this->error = 'Not connected to database !!! ';
                return false;
            }
        }
    
        function deleteRecord($table_name, $sql_where_string, $custom_query = false)
        {
            if($this->is_db_connected==true) {
    
                if(!$custom_query) {
                    $this->sql_query_string="DELETE FROM $table_name WHERE " . $sql_where_string;
                } else {
                    $this->sql_query_string = $sql_where_string;
                }
    
                $this->result_set = $this->dblink->query($this->sql_query_string);
    
                if (PEAR::isError($this->result_set)) {
                    
                    $this->error = $this->sql_query_string;
                    $this->error .= '<br /> <br />' . $this->result_set->getMessage();
                    return false;
                } else {
                    
                    $this->affected_rows = $this->dblink->affectedRows();
                    return true;
                }
    
            } else {
                
                $this->error = 'Not connected to database !!! ';
                return false;
            }
        }
    
        function getRecords($sql_string, $type = SQL_ALL)
        {
        	
    //    	echo'<pre style="font-size:9px;">';var_dump($sql_string);echo'</pre>';
        	
            $this->sql_query_string = $sql_string;
            if($this->is_db_connected == true) {
    
                switch($type) {
    
                    case SQL_ALL :
                    
                        $this->data =& $this->dblink->getAll( $this->sql_query_string, array(), DB_FETCHMODE_ASSOC);
                        if (PEAR::isError($this->data)) {
                            
                            $this->error = $this->data->getMessage();
                            return false;
                        }
                        $this->num_records = count($this->data);
                        break;
    
                    case SQL_ONE:
                    
                        $this->data = $this->dblink->getOne($this->sql_query_string);
                        if (PEAR::isError($this->data)) {
                            
                            $this->error = $this->data->getMessage();
                            return false;
                        }
                        break;
                }
    
                return true;
            } else {
                
                $this->error = 'Not connected to database !!! ';
                return false;
            }
        }
        
        function getLastId() {
            
            if($this->is_db_connected == true) {
                
                $this->getRecords('select last_insert_id()', SQL_ONE);
                $result = $this->data; 
            } else {
                
                $this->error = 'Not connected to database !!! ';
                $result = false;   
            }
            
            return $result;
        }
        
        function buildLimit($limit = null, $offset = null) 
        {
            if (isset ($limit)) $limitStr = " LIMIT $limit";
            if (isset ($offset)) $limitStr .= " OFFSET $offset";
            
            return $limitStr;
        }
        
        function buildPagingLimit($pageSize = null, $currentPage = null) 
        {
            $pagingStr = "";
            if (isset ($pageSize)) {
                
                if (!isset ($currentPage) || empty($currentPage)) $currentPage = 1;
                $pagingStr = $this->buildLimit ($pageSize, $pageSize * (intval($currentPage) - 1));
            }
            
            return $pagingStr;
        }
        
        function getFoundRows()
        {
            $sql = "Select FOUND_ROWS() AS cnt";  
    	    $this->getRecords($sql, SQL_ONE);
    	    
    	    return $this->data;; 
        } 
    
        function disconnect()
        {
            $this->dblink->disconnect();
        }
    }
    ?>
     
  6. triode-master

    triode-master Постоялец

    Регистр.:
    23 апр 2007
    Сообщения:
    123
    Симпатии:
    17
    Можно подробнее что это за штучка?
    На сколько я понял текстовый контент не грабит, а только медиа контент.
    Да и то, только анонсы.
     
  7. aktuba

    aktuba Читатель

    Заблокирован
    Регистр.:
    5 авг 2007
    Сообщения:
    93
    Симпатии:
    9
    Да. Но мне подходит, т.к. необходим только граббинг youtub-а... Осталось вот только решить проблему с кодировкой :(
     
  8. tim12

    tim12

    Регистр.:
    29 апр 2006
    Сообщения:
    159
    Симпатии:
    49
    да вот если бы эту красоту кто нибудь руссифицировал, а грабинг одного youtub-а вот пример с кучей рекламы вокруг
    meoko.ru
     
  9. aktuba

    aktuba Читатель

    Заблокирован
    Регистр.:
    5 авг 2007
    Сообщения:
    93
    Симпатии:
    9
    Так я это и делаю... Точнее уже сделал (попутно выкинул все, что мне не нужно). Осталась проблема только с базой...
     
  10. 4lien

    4lien Читатель

    Заблокирован
    Регистр.:
    22 июн 2007
    Сообщения:
    43
    Симпатии:
    4
    ну как? сделал? можеш поделиться русиком ?
     
Статус темы:
Закрыта.