|
| 1 | +<?php |
| 2 | + |
| 3 | +/** |
| 4 | + * [BEGIN_COT_EXT] |
| 5 | + * Hooks=page.tags,ajax |
| 6 | + * Tags=page.tpl:{PLUGIN_SIMILARPAGES} |
| 7 | + * [END_COT_EXT] |
| 8 | + */ |
| 9 | + |
| 10 | +/** |
| 11 | + * Similar Pages for Cotonti CMF |
| 12 | + * |
| 13 | + * @version 2.0.0 |
| 14 | + * @author esclkm, http://www.littledev.ru |
| 15 | + * @copyright (c) 2008-2011 esclkm, http://www.littledev.ru |
| 16 | + */ |
| 17 | +defined('COT_CODE') or die('Wrong URL.'); |
| 18 | + |
| 19 | +require_once(cot_langfile('similarpages')); |
| 20 | +require_once(cot_incfile('page', 'module')); |
| 21 | +require_once(cot_incfile('users', 'module')); |
| 22 | + |
| 23 | +$relev = $cfg['plugin']['similarpages']['relev']; |
| 24 | +$limit = $cfg['plugin']['similarpages']['limit']; |
| 25 | + |
| 26 | + |
| 27 | +if (COT_AJAX) |
| 28 | +{ |
| 29 | + $id = cot_import('id', 'G', 'INT'); |
| 30 | + $sql = $db->query("SELECT page_id, page_title, page_cat FROM $db_pages WHERE page_id='$id'"); |
| 31 | + $pag = $sql->fetch(); |
| 32 | +} |
| 33 | + |
| 34 | +$catsub = array(); |
| 35 | +$catsub = cot_structure_children('page', $pag['page_cat']); |
| 36 | +if (count($catsub) > 0 && $cfg['plugin']['similarpages']['catcontrol']) |
| 37 | +{ |
| 38 | + $sqladd = " AND page_cat IN ('".implode("','", $catsub)."')"; |
| 39 | +} |
| 40 | + |
| 41 | +$sim_p = new XTemplate(cot_tplfile('similarpages', 'plug')); |
| 42 | +$similartext = $db->prep($pag['page_title']); |
| 43 | + |
| 44 | +$sql_sim = $db->query("SELECT p.*, u.* FROM $db_pages AS p LEFT JOIN $db_users AS u ON u.user_id=p.page_ownerid WHERE (p.page_state='0' OR p.page_state='2') AND p.page_id != ".$pag['page_id']." $sqladd AND MATCH (page_title) AGAINST ('$similartext')>$relev LIMIT $limit"); |
| 45 | +$jj = 0; |
| 46 | +while ($pag2 = $sql_sim->fetch()) |
| 47 | +{ |
| 48 | + $jj++; |
| 49 | + $sim_p->assign(cot_generate_pagetags($pag2, 'PAGE_ROW_')); |
| 50 | + $sim_p->assign(array( |
| 51 | + "PAGE_ROW_ODDEVEN" => cot_build_oddeven($jj), |
| 52 | + "PAGE_ROW_NUM" => $jj, |
| 53 | + )); |
| 54 | + |
| 55 | + $sim_p->parse("SIMILARPAGES.SIMILAR_LIST.PAGE_ROW"); |
| 56 | +} |
| 57 | +if ($jj < 1) |
| 58 | +{ |
| 59 | + $sim_p->parse("SIMILARPAGES.NOSIMILAR_LIST"); |
| 60 | +} |
| 61 | +else |
| 62 | +{ |
| 63 | + $sim_p->parse("SIMILARPAGES.SIMILAR_LIST"); |
| 64 | +} |
| 65 | + |
| 66 | +$sim_p->parse("SIMILARPAGES"); |
| 67 | +if (COT_AJAX) |
| 68 | +{ |
| 69 | + cot_sendheaders(); |
| 70 | + $sim_p->out("SIMILARPAGES"); |
| 71 | +} |
| 72 | +else |
| 73 | +{ |
| 74 | + $pop_text = $sim_p->text("SIMILARPAGES"); |
| 75 | + $t->assign("PLUGIN_SIMILARPAGES", $pop_text); |
| 76 | +} |
| 77 | +?> |
0 commit comments