mirror of
https://github.com/e107inc/e107.git
synced 2025-01-17 20:58:30 +01:00
95 lines
2.2 KiB
PHP
95 lines
2.2 KiB
PHP
<?php
|
|
/*
|
|
* e107 website system
|
|
*
|
|
* Copyright (C) 2008-2014 e107 Inc (e107.org)
|
|
* Released under the terms and conditions of the
|
|
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
|
*
|
|
* Chatbox e_search addon
|
|
*/
|
|
|
|
|
|
if (!defined('e107_INIT')) { exit; }
|
|
|
|
// v2 e_search addon.
|
|
// Removes the need for search_parser.php, search_advanced.php and in most cases search language files.
|
|
|
|
class chatbox_menu_search extends e_search // include plugin-folder in the name.
|
|
{
|
|
|
|
function config()
|
|
{
|
|
$search = array(
|
|
'name' => LAN_PLUGIN_CHATBOX_MENU_NAME,
|
|
'table' => 'chatbox',
|
|
|
|
'advanced' => array(
|
|
'date' => array('type' => 'date', 'text' => LAN_DATE_POSTED),
|
|
'author'=> array('type' => 'author', 'text' => LAN_SEARCH_61)
|
|
),
|
|
|
|
'return_fields' => array('cb_id', 'cb_nick', 'cb_message', 'cb_datestamp'),
|
|
'search_fields' => array('cb_nick' => '1', 'cb_message' => '1'), // fields and weights.
|
|
|
|
'order' => array('cb_datestamp' => DESC),
|
|
'refpage' => 'chat.php'
|
|
);
|
|
|
|
|
|
return $search;
|
|
}
|
|
|
|
|
|
|
|
/* Compile Database data for output */
|
|
function compile($row)
|
|
{
|
|
$tp = e107::getParser();
|
|
|
|
preg_match("/([0-9]+)\.(.*)/", $row['cb_nick'], $user);
|
|
|
|
$res = array();
|
|
|
|
$res['link'] = e_PLUGIN."chatbox_menu/chat.php?".$row['cb_id'].".fs";
|
|
$res['pre_title'] = LAN_SEARCH_7;
|
|
$res['title'] = $user[2];
|
|
$res['summary'] = $row['cb_message'];
|
|
$res['detail'] = $tp->toDate($row['cb_datestamp'], "long");
|
|
|
|
return $res;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* Optional - Advanced Where
|
|
* @param $parm - data returned from $_GET (ie. advanced fields included. in this case 'date' and 'author' )
|
|
*/
|
|
function where($parm=null)
|
|
{
|
|
$tp = e107::getParser();
|
|
|
|
$qry = "";
|
|
|
|
if (vartrue($parm['time']) && is_numeric($parm['time']))
|
|
{
|
|
$qry .= " cb_datestamp ".($parm['on'] == 'new' ? '>=' : '<=')." '".(time() - $parm['time'])."' AND";
|
|
}
|
|
|
|
if (vartrue($parm['author']))
|
|
{
|
|
$qry .= " cb_nick LIKE '%".$tp -> toDB($parm['author'])."%' AND";
|
|
}
|
|
|
|
return $qry;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
//Old v1.
|
|
// $search_info[] = array('sfile' => e_PLUGIN.'chatbox_menu/search/search_parser.php', 'qtype' => CB_SCH_LAN_1, 'refpage' => 'chat.php', 'advanced' => e_PLUGIN.'chatbox_menu/search/search_advanced.php');
|
|
|
|
?>
|