| [ Index ] |
PHP Cross Reference of Joomla 1.5.26 DE |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * @version $Id: joomla.php 14401 2010-01-26 14:10:00Z louis $ 4 * @package Joomla 5 * @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved. 6 * @license GNU/GPL, see LICENSE.php 7 * Joomla! is free software. This version may have been modified pursuant 8 * to the GNU General Public License, and as distributed it includes or 9 * is derivative of works licensed under the GNU General Public License or 10 * other free or open source software licenses. 11 * See COPYRIGHT.php for copyright notices and details. 12 */ 13 14 // no direct access 15 defined( '_JEXEC' ) or die( 'Restricted access' ); 16 17 jimport('joomla.plugin.plugin'); 18 19 /** 20 * Joomla! Base XML-RPC Plugin 21 * 22 * @package XML-RPC 23 * @since 1.5 24 */ 25 class plgXMLRPCJoomla extends JPlugin 26 { 27 28 /** 29 * Constructor 30 * 31 * For php4 compatability we must not use the __constructor as a constructor for plugins 32 * because func_get_args ( void ) returns a copy of all passed arguments NOT references. 33 * This causes problems with cross-referencing necessary for the observer design pattern. 34 * 35 * @param object $subject The object to observe 36 * @param object $params The object that holds the plugin parameters 37 * @since 1.5 38 */ 39 function plgXMLRPCJoomla(& $subject, $config) 40 { 41 parent::__construct($subject, $config); 42 } 43 44 /** 45 * Get available web services for this plugin 46 * 47 * @access public 48 * @return array Array of web service descriptors 49 * @since 1.5 50 */ 51 function onGetWebServices() 52 { 53 global $xmlrpcString; 54 55 // Initialize variables 56 $services = array(); 57 58 // Site search service 59 $services['joomla.searchSite'] = array( 60 'function' => 'plgXMLRPCJoomlaServices::searchSite', 61 'docstring' => 'Searches a remote site.', 62 'signature' => array(array($xmlrpcString, $xmlrpcString, $xmlrpcString)) 63 ); 64 65 return $services; 66 } 67 } 68 69 class plgXMLRPCJoomlaServices 70 { 71 /** 72 * Remote Search method 73 * 74 * The sql must return the following fields that are used in a common display 75 * routine: href, title, section, created, text, browsernav 76 * 77 * @param string Target search string 78 * @param string mathcing option, exact|any|all 79 * @param string ordering option, newest|oldest|popular|alpha|category 80 * @return array Search Results 81 * @since 1.5 82 */ 83 function searchSite($searchword, $phrase='', $order='') 84 { 85 global $mainframe; 86 87 // Initialize variables 88 $db =& JFactory::getDBO(); 89 90 // Prepare arguments 91 $searchword = $db->getEscaped( trim( $searchword ) ); 92 $phrase = ''; 93 $ordering = ''; 94 95 // Load search plugins and fire the onSearch event 96 JPluginHelper::importPlugin( 'search' ); 97 $results = $mainframe->triggerEvent( 'onSearch', array( $searchword, $phrase, $ordering ) ); 98 99 // Iterate through results building the return array 100 require_once(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_search'.DS.'helpers'.DS.'search.php'); 101 102 foreach ($results as $i=>$rows) 103 { 104 foreach ($rows as $j=>$row) { 105 $results[$i][$j]->href = preg_match('#^(http|https)://#i', $row->href) ? $row->href : JURI::root().'/'.$row->href; 106 $results[$i][$j]->text = SearchHelper::prepareSearchContent( $row->text, 200, $searchword); 107 } 108 } 109 return $results; 110 } 111 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Wed Mar 28 15:54:07 2012 | Cross-referenced by PHPXref 0.7.1 |