Spade

Mini Shell

Directory:~$ /home/lmsyaran/public_html/joomla4/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ /home/lmsyaran/public_html/joomla4/hikamarket_vendors.tar

hikamarket_vendors.php000064400000012406151160541300011134
0ustar00<?php
/**
 * @package    HikaMarket for Joomla!
 * @version    3.1.1
 * @author     Obsidev S.A.R.L.
 * @copyright  (C) 2011-2020 OBSIDEV. All rights reserved.
 * @license    GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php
class plgSearchHikamarket_vendors extends JPlugin {

	public function __construct(&$subject, $config) {
		$this->loadLanguage('com_hikamarket');
		$this->loadLanguage('plg_search_hikamarket_vendors');
		$this->loadLanguage('plg_search_hikamarket_vendors_override');
		parent::__construct($subject, $config);
		if(!isset($this->params)) {
			$plugin = JPluginHelper::getPlugin('search',
'hikamarket_vendors');
			$this->params = new JRegistry($plugin->params);
		}
	}

	public function onContentSearchAreas() {
		return $this->onSearchAreas();
	}

	public function onContentSearch($text, $phrase = '', $ordering =
'', $areas = null) {
		return $this->onSearch($text, $phrase, $ordering, $areas);
	}

	public function &onSearchAreas() {
		$areas = array(
			'vendors' => JText::_('HIKA_VENDORS')
		);
		return $areas;
	}

	public function onSearch($text, $phrase = '', $ordering =
'', $areas = null) {
		if(!defined('DS'))
			define('DS', DIRECTORY_SEPARATOR);
		if(!include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikamarket'.DS.'helpers'.DS.'helper.php'))
			return array();

		$db	= JFactory::getDBO();

		if(is_array($areas)) {
			if(!array_intersect($areas, array_keys( $this->onSearchAreas() )))
				return array();
		}

		$limit = $this->params->def('search_limit', 50);
		$add_image = $this->params->def('add_image', 0);
		$text = trim($text);
		if(empty($text))
			return array();

		switch($ordering) {
			case 'alpha':
				$order = 'vendor.vendor_name ASC';
				break;
			case 'newest':
				$order = 'vendor.vendor_created DESC, vendor.vendor_id
DESC';
				break;
			case 'oldest':
				$order = 'vendor.vendor_created ASC, vendor.vendor_id DESC';
				break;
			case 'category':
			case 'popular':
			default:
				$order = 'vendor.vendor_name DESC';
				break;
		}

		$rows = array();

		$filters = array(
			'vendor.vendor_published = 1'
		);

		$filters2 = array();

		$fields = $this->params->get('fields', '');
		if(empty($fields)) {
			$fields = array('vendor_name',
'vendor_description');
		} else {
			$fields = explode(',', $fields);
		}

		switch($phrase){
			case 'exact':
				$text = $db->Quote('%' . hikamarket::getEscaped($text,
true) . '%', false);
				foreach($fields as $field) {
					$filters[] = 'vendor.'.$field.' LIKE '.$text;
				}
				break;
			case 'all':
			case 'any':
			default:
				$words = explode( ' ', $text );
				$wordFilters = array();
				$subWordFilters = array();
				foreach($words as $word) {
					$word = $db->Quote('%' . hikamarket::getEscaped($word,
true) . '%', false);
					foreach($fields as $i => $field) {
						$subWordFilters[$i][] = 'vendor.' . $field . ' LIKE
' . $word;
					}
				}
				foreach($subWordFilters as $i => $subWordFilter){
					$wordFilters[$i]= '((' .implode( ($phrase == 'all'
? ') AND (' : ') OR ('),$subWordFilter).
'))';
				}
				$filters[] = '((' . implode( ') OR (', $wordFilters
) . '))';
				break;
		}

		$new_page =
(int)$this->params->get('new_page','1');

		$select = ' vendor.vendor_id AS id, vendor.vendor_name AS title,
vendor.vendor_description AS text, vendor_created as created,
"'.$new_page.'" AS browsernav';
		$count = 0;

		if($add_image) {
			$select .= ', vendor_image ';
		}

		if($limit){
			$query = 'SELECT DISTINCT ' . $select . ' FROM ' .
hikamarket::table('vendor') . ' AS vendor WHERE ' .
implode(' AND ', $filters) . ' ORDER BY ' . $order;
			$db->setQuery($query, 0, $limit);
			$mainRows = $db->loadObjectList('id');
			if(!empty($mainRows)) {
				foreach($mainRows as $k => $main) {
					$rows[$k] = $main;
				}
				$count = count($rows);
			}
		}

		if(!$count)
			return $rows;

		$item_id = $this->params->get('item_id', '');
		$menuClass = hikashop_get('class.menus');
		$Itemid = '';
		if(!empty($item_id))
			$Itemid = '&Itemid=' . $item_id;

		$itemids = array();
		$app = JFactory::getApplication();
		$urlSafe = (method_exists($app,'stringURLSafe'));

		if($add_image) {
			$shopConfig = hikamarket::config(false);
			$uploadFolder =
ltrim(JPath::clean(html_entity_decode($shopConfig->get('uploadfolder'))),DS);
			$uploadFolder = rtrim($uploadFolder,DS).DS;
			$uploadFolder_url = str_replace(DS,'/',$uploadFolder);
			$app = JFactory::getApplication();
			if($app->isAdmin()){
				$uploadFolder_url = '../'.$uploadFolder_url;
			}else{
				$uploadFolder_url =
rtrim(JURI::base(true),'/').'/'.$uploadFolder_url;
			}
		}

		foreach($rows as $k => $row) {
			if($urlSafe) {
				$alias = $app->stringURLSafe(strip_tags($row->title));
			} else {
				$alias = JFilterOutput::stringURLSafe(strip_tags($row->title));
			}

			if($add_image && !empty($row->vendor_image)) {
				$rows[$k]->text = '<img
src="'.$uploadFolder_url.$row->vendor_image.'"
alt=""/>'.$rows[$k]->text;
			}

			$rows[$k]->section = JText::_('HIKA_VENDOR');
			$rows[$k]->href =
'index.php?option=com_hikamarket&ctrl=vendor&task=show&name='
. $alias . '&cid=' . $row->id . $Itemid;
		}

		return $rows;
	}
}
hikamarket_vendors.xml000064400000005325151160541300011147 0ustar00<?xml
version="1.0" encoding="utf-8"?>
<extension version="2.5" type="plugin"
group="search" method="upgrade">
	<name>Search - HikaMarket Vendors</name>
	<hikainstall ordering="0" enable="1"
report="0" />
	<creationDate>20 juillet 2020</creationDate>
	<version>3.1.1</version>
	<author>Obsidev</author>
	<authorEmail>dev@obsidev.com</authorEmail>
	<authorUrl>http://www.obsidev.com</authorUrl>
	<copyright>Copyright (C) 2012-2020 OBSIDEV SARL - All rights
reserved.</copyright>
	<license>http://www.gnu.org/licenses/gpl-2.0.html
GNU/GPL</license>
	<description>Allows Searching of vendors</description>
	<files>
		<filename
plugin="hikamarket_vendors">hikamarket_vendors.php</filename>
	</files>
	<params addpath="/components/com_hikamarket/params">
		<param name="search_limit" type="text"
size="5" default="50" label="Search Limit"
description="Number of Search items to return" />
		<param name="item_id" type="text"
size="5" default="" label="Itemid for
vendors" description="The id of the menu to append to the URLs so
that the vendor page uses the corresponding HikaMarket options" />
		<param name="new_page" type="radio"
default="1" label="New page" description="Open
links on a new page">
			<option value="2">No</option>
			<option value="1">Yes</option>
		</param>
		<param name="fields" type="vendorsearchfields"
default="vendor_name,vendor_description" label="Fields"
description="Select the fields you want to be searchable" />
		<param name="add_image" type="radio"
default="0" label="Add image" description="Add an
image in the returned content">
			<option value="0">No</option>
			<option value="1">Yes</option>
		</param>
	</params>
	<config>
		<fields name="params"
addfieldpath="/components/com_hikamarket/fields">
			<fieldset name="basic">
				<field name="search_limit" type="text"
label="Search Limit" size="5" default="50"
description="Number of Search items to return" />
				<field name="item_id" type="text"
label="Itemid for vendors" size="5"
default="" description="The id of the menu to append to the
URLs so that the vendor page uses the corresponding HikaMarket
options" />
				<field name="new_page" type="radio"
default="1" label="New page" description="Open
links on a new page">
					<option value="2">No</option>
					<option value="1">Yes</option>
				</field>
				<field name="fields" type="vendorsearchfields"
default="vendor_name,vendor_description" label="Fields"
description="Select the fields you want to be searchable" />
				<field name="add_image" type="radio"
default="0" label="Add image" description="Add an
image in the returned content">
					<option value="0">No</option>
					<option value="1">Yes</option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
index.html000064400000000054151160541300006534 0ustar00<html><body
bgcolor="#FFFFFF"></body></html>