- Совместимость
- не проверялся на совместимость
- Изменения в БД
- требуются
- Автор
- frost444
- Общественное достояние
- да
Описание: добавляет возможность вывода блока с цитатами с известных сайтов.
Возможности:
Возможности:
- Получение всех новостей или цитат с сайтов: Башорг (основной или бездна), IThappens, Задолбали, Игромания.ру
- Удобный вывод с навигацией, вывод рандомных цитат или новостей с AJAX-навигацией в удобное для вас место
- Инструкция по установке
-
PHP:
Автор мода: frost444 ####[ВЫПОЛНИТЬ]-----SQL CREATE TABLE `bb_bash` ( `quote_id` int(11) NOT NULL DEFAULT '0', `quote_cat` varchar(250) NOT NULL DEFAULT '', `quote_time` int(11) NOT NULL DEFAULT '0', `quote_text` text NOT NULL, PRIMARY KEY (`quote_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; CREATE TABLE `bb_abyss` ( `quote_id` int(11) NOT NULL DEFAULT '0', `quote_cat` varchar(250) NOT NULL DEFAULT '', `quote_time` int(11) NOT NULL DEFAULT '0', `quote_text` text NOT NULL, PRIMARY KEY (`quote_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; CREATE TABLE `bb_igromania` ( `quote_id` int(11) NOT NULL DEFAULT '0', `quote_cat` varchar(250) NOT NULL DEFAULT '', `quote_title` varchar(250) NOT NULL DEFAULT '', `quote_time` int(11) NOT NULL DEFAULT '0', `quote_autor` varchar(250) NOT NULL DEFAULT '', `quote_text` text NOT NULL, PRIMARY KEY (`quote_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; CREATE TABLE `bb_ithappens` ( `quote_id` int(11) NOT NULL DEFAULT '0', `quote_cat` varchar(250) NOT NULL DEFAULT '', `quote_title` varchar(250) NOT NULL DEFAULT '', `quote_time` int(11) NOT NULL DEFAULT '0', `quote_text` text NOT NULL, PRIMARY KEY (`quote_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; CREATE TABLE `bb_zadolbali` ( `quote_id` int(11) NOT NULL DEFAULT '0', `quote_cat` varchar(250) NOT NULL DEFAULT '', `quote_title` varchar(250) NOT NULL DEFAULT '', `quote_time` int(11) NOT NULL DEFAULT '0', `quote_text` text 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'].'', false, true), )); $template->assign_vars(array( 'QUOTE_ON' =>true, )); } } ####[СОХРАНИТЬ_ФАЙЛ]#### ####[ОТКРЫТЬ]----- index.tpl -----[в любое место]----- <!-- IF QUOTE_START --> <div class="post_body_m"> <a 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"> <p class="floatL pad_4"><a href="{quote.U_QUOTE_ID}">#{quote.ID}</a></p> <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"> </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 --> ####[СОХРАНИТЬ_ФАЙЛ]####