14 $record =&
$app->getRecord();
15 $query =&
$app->getQuery();
16 if ( !isset($query[
'--subsearch']) ) $query[
'--subsearch'] =
'';
20 foreach ( $record->_table->relationships() as $rname=>$r){
25 $qstr[] =
'`'.str_replace(
'`',
'',$field).
"` LIKE '%".addslashes($query[
'--subsearch']).
"%'";
27 $qstr = implode(
' OR ', $qstr);
28 $results[$rname] = $record->getRelatedRecordObjects($rname, 0, 10, $qstr);
33 if ( @$query[
'--format'] ==
'RSS2.0' ){
36 df_display(array(
'results'=>&$results,
'queryString'=>$query[
'--subsearch']),
'Dataface_single_record_search.html');
42 $record =&
$app->getRecord();
43 $query =&
$app->getQuery();
44 import(
'feedcreator.class.php');
45 import(
'Dataface/FeedTool.php');
47 $rss =
new UniversalFeedCreator();
48 $rss->encoding =
$app->_conf[
'oe'];
50 $del =& $record->_table->getDelegate();
51 if ( !$del or !method_exists($del,
'getSingleRecordSearchFeed') ){
52 $del =&
$app->getDelegate();
54 if ( $del and method_exists($del,
'getSingleRecordSearchFeed') ){
55 $feedInfo = $del->getSingleRecordSearchFeed($record, $query);
56 if ( !$feedInfo ) $feedInfo = array();
58 if ( isset($feedInfo[
'title']) ) $rss->title = $feedInfo[
'title'];
59 else $rss->title = $record->getTitle().
'[ Search for "'.$query[
'--subsearch'].
'"]';
61 if ( isset($feedInfo[
'description']) ) $rss->description = $feedInfo[
'description'];
62 else $rss->description =
'';
64 if ( isset($feedInfo[
'link']) ) $rss->link = $feedInfo[
'link'];
65 else $rss->link = htmlentities(df_absolute_url(
$app->url(
'').
'&--subsearch='.urlencode($query[
'--subsearch'])));
67 $rss->syndicationURL = $rss->link;
73 foreach ($result as $rec){
74 $records[] = $rec->toRecord();
79 uasort($records, array($this,
'cmp_last_modified') );
83 foreach ($records as $rec){
84 if ( $rec->checkPermission(
'view') and $rec->checkPermission(
'view in rss') ){
85 $rss->addItem($ft->createFeedItem($rec));
89 if ( !$query[
'--subsearch'] ){
90 $rss->addItem($ft->createFeedItem($record));
93 header(
"Content-Type: application/xml; charset=".
$app->_conf[
'oe']);
94 echo $rss->createFeed(
'RSS2.0');
100 $amod = $a->getLastModified();
101 $bmod = $b->getLastModified();
102 if ( $amod == $bmod )
return 0;
103 else return ( ($amod < $bmod) ? 1:-1);