Цитатник 1.0.0

Добавляет возможность вывода блока с цитатами с известных сайтов.

  1. Exile
    Совместимость:
    не проверялся на совместимость
    Изменения в БД:
    требуются
    Автор:
    frost444
    Общественное достояние:
    да
    Описание: добавляет возможность вывода блока с цитатами с известных сайтов.

    Возможности:
    • Получение всех новостей или цитат с сайтов: Башорг (основной или бездна), IThappens, Задолбали, Игромания.ру
    • Удобный вывод с навигацией, вывод рандомных цитат или новостей с AJAX-навигацией в удобное для вас место
    Инструкция по установке:
    PHP:
    Автор модаfrost444
    ####[ВЫПОЛНИТЬ]-----SQL

    CREATE TABLE `bb_bash` (
      `
    quote_idint(11NOT NULL DEFAULT '0',
      `
    quote_catvarchar(250NOT NULL DEFAULT '',
      `
    quote_timeint(11NOT NULL DEFAULT '0',
      `
    quote_texttext NOT NULL,
      
    PRIMARY KEY (`quote_id`)
    ENGINE=MyISAM DEFAULT CHARSET=utf8    ;

    CREATE TABLE `bb_abyss` (
      `
    quote_idint(11NOT NULL DEFAULT '0',
      `
    quote_catvarchar(250NOT NULL DEFAULT '',
      `
    quote_timeint(11NOT NULL DEFAULT '0',
      `
    quote_texttext NOT NULL,
      
    PRIMARY KEY (`quote_id`)
    ENGINE=MyISAM DEFAULT CHARSET=utf8    ;

    CREATE TABLE `bb_igromania` (
      `
    quote_idint(11NOT NULL DEFAULT '0',
      `
    quote_catvarchar(250NOT NULL DEFAULT '',
      `
    quote_titlevarchar(250NOT NULL DEFAULT '',
      `
    quote_timeint(11NOT NULL DEFAULT '0',
      `
    quote_autorvarchar(250NOT NULL DEFAULT '',
      `
    quote_texttext NOT NULL,
      
    PRIMARY KEY (`quote_id`)
    ENGINE=MyISAM DEFAULT CHARSET=utf8    ;

    CREATE TABLE `bb_ithappens` (
      `
    quote_idint(11NOT NULL DEFAULT '0',
      `
    quote_catvarchar(250NOT NULL DEFAULT '',
      `
    quote_titlevarchar(250NOT NULL DEFAULT '',
      `
    quote_timeint(11NOT NULL DEFAULT '0',
      `
    quote_texttext NOT NULL,
      
    PRIMARY KEY (`quote_id`)
    ENGINE=MyISAM DEFAULT CHARSET=utf8    ;

    CREATE TABLE `bb_zadolbali` (
      `
    quote_idint(11NOT NULL DEFAULT '0',
      `
    quote_catvarchar(250NOT NULL DEFAULT '',
      `
    quote_titlevarchar(250NOT NULL DEFAULT '',
      `
    quote_timeint(11NOT NULL DEFAULT '0',
      `
    quote_texttext NOT NULL,
      
    PRIMARY KEY (`quote_id`)
    ENGINE=MyISAM DEFAULT CHARSET=utf8    ;


    ####[КОНЕЦ]-----SQL

    ####[ОТКРЫТЬ]----- config.php
    -----[в конец]-----
    $bb_cfg['quote'] = array(
      
    'on'          => true,
      
    'site'        => array('bb_bash','bb_abyss','bb_ithappens','bb_zadolbali'),
      
    'cache'       => 2//кеш держится в часах
    );

    ####[СОХРАНИТЬ_ФАЙЛ]####

    ####[ОТКРЫТЬ]----- ajax.php
    -----[найти]-----

            
    'index_data'        => array('guest'),

    -----[
    добавить ниже]-----

            
    'quote'             => array('user'),
           
    -----[
    найти последнюю скобку и перед ней добавить]-----

        function 
    quote()
        {
            require(
    AJAX_DIR .'quote.php');
        }

    ####[СОХРАНИТЬ_ФАЙЛ]####

    ####[ОТКРЫТЬ]----- lang_main.php
    -----[в конец]-----

    $lang['GRAB_SELECT'] = array(
                 
    'bash'  => "Цитатки с Баша",
                 
    'abyss' => "Цитаты с бездны баша",
                 
    'ithappens'  => "Истории с IThappens",
                 
    'zadolbali' => "Истории с сайта ЗАДОЛБАЛИ!",
                 
    'igromania' => "Игровые новости с Игромания.ру",
    );

    ####[СОХРАНИТЬ_ФАЙЛ]####

    ####[ОТКРЫТЬ]----- index.php
    -----[найти]-----

    $user->session_start();

    -----[
    добавить ниже]-----

    if (
    $bb_cfg['quote']['on'])
    {
        
    $template->assign_vars(array(
            
    'QUOTE_START'    => $bb_cfg['quote']['on'],
        ));
        
    $base $bb_cfg['quote']['site'];   
        
    $rand_base array_rand($base,1);
       
        if(!
    CACHE('bb_cache')->get('quotes['.$base[$rand_base].']'))
        {      
            
    $max DB()->fetch_row("SELECT COUNT(quote_id) as max FROM ".$base[$rand_base]." LIMIT 1");
            if (
    $max['max'] <= 0)
            {
                
    $template->assign_block_vars('not_quote', array());
            }else{
                
    $sql_q DB()->fetch_rowset("SELECT * FROM ".$base[$rand_base]." ORDER BY rand() LIMIT 26");

                
    CACHE('bb_cache')->set('quotes['.$base[$rand_base].']'$sql_q$bb_cfg['quote']['cache']*60*60);   
            }
        }else{
            
    $sql_q CACHE('bb_cache')->get('quotes['.$base[$rand_base].']');
        }
        if(!empty(
    $sql_q))
        {
            
    $rand_sql array_rand($sql_q,1);
            
    $r_sql $sql_q[$rand_sql];

            
    $url 'quote.php?mode='.$r_sql['quote_cat'].'';
            
    $template->assign_block_vars('quote',array(
                
    'ID'        =>  $r_sql['quote_id'],
                
    'TITLE'     =>  (isset($r_sql['quote_title'])) ? '<div class="small"><h2>'.$r_sql['quote_title'].'</h2></div>' '',
                
    'AUTOR'     =>  (isset($r_sql['quote_autor'])) ? '<div class="small">'.$r_sql['quote_autor'].'</div>' '<div class="small"><div class="floatR pad_4">Автор: <b>guest</b></div></div><div class="clear hr1"></div>',
                
    'TEXT'      =>  $r_sql['quote_text'],
                
    'DATE'      =>  bb_date($r_sql['quote_time']),
                
    'U_QUOTE_ID'  => seo_url(''.$url.'&id='.$r_sql['quote_id'].'#'.$r_sql['quote_id'].''falsetrue),
            ));
            
    $template->assign_vars(array(
                
    'QUOTE_ON'    =>true,
            ));
        }   
    }

    ####[СОХРАНИТЬ_ФАЙЛ]####

    ####[ОТКРЫТЬ]----- index.tpl
    -----[в любое место]-----

    <!-- IF 
    QUOTE_START -->
    <
    div class="post_body_m">
        <
    class="footeri" ><u>Цитаты</u></a>
       
        <
    script type="text/javascript">
            
    ajax.callback.quote = function(data) {
              $(
    '#'+data.mode).html(data.html);
            };
        </
    script>
       
        <
    div align="center" class="hrs"></div>
        <
    table width="100%">
            <
    tr>
            <!-- IF 
    QUOTE_ON -->
                <
    td id="random">
                    <!-- 
    BEGIN quote -->
                    <
    div id="random_flow" class="q_index"><a name="{quote.ID}">
                        {
    quote.TITLE}
                        <
    div class="small">
                            <
    class="floatL pad_4"><a href="{quote.U_QUOTE_ID}">#{quote.ID}</a></p>
                            
    <class="floatR pad_4"><i>{quote.DATE}</i></p>
                        </
    div>
                        <
    div class="clear hr1"></div>
                        <
    div class="mrg_6">{quote.TEXT}</div>
                        {
    quote.AUTOR}
                    </
    div>
                    <!-- 
    END quote -->
                    <
    div class="spacer">&nbsp;</div>
                    <
    table align="center" cellspacing="0" border="0" width="100%" class="tCenter cmh_mask_links">
                        <
    tr>
                            <
    td class="wAuto"><a title="Следующая цитата" class="morebutton" href="#" onclick="ajax.exec({action : 'quote', mode: 'random', id: 0}); return false;">Хочу еще!!!</a></td>
                            <!-- IF 
    IS_AM --><td class="wAuto"><a title="Обновить" class="morebutton" href="#" onclick="ajax.exec({action : 'quote', mode: 'update'}); return false;">Update</a></td><!-- ENDIF -->
                        </
    tr>
                    </
    table>
                </
    td>
                <!-- ENDIF -->
                <
    td>
                    <!-- 
    BEGIN not_quote -->
                    <
    div align="center" class="notice">Цитаты не были добавлены</div>
                    <!-- 
    END not_quote -->
                </
    td>       
            </
    tr>
        </
    table>
    </
    div>
    <!-- ENDIF -->
               
    ####[СОХРАНИТЬ_ФАЙЛ]####

    Изображения

    1. 1232.jpg
    2. 1233.jpg
    3. 1234.jpg