Два исправления для плагина Pokupalka (версия под ls 0.4.2)

1. Исправляет не верный подсчет кол-ва объявлений в категориях.


Не верный подсчет кол-ва объявлений в категориях
Товар был добавлен в категорию «Компьютерная техника» в кол-ве одна штука.
Предыстория проблемы была описана тут: livestreet.ru/blog/addons/7073.html#comment118191

В файле /plugins/pokupalka/classes/modules/pokupalka/Pokupalka.class.php

функцию

public function getCategoryChildren($sCategory, $aCategories=null) {
		
		if($aCategories == null) {
			$aCategories = $this -> getCategories(Config::Get('plugin.pokupalka.goods.types'));
		}
		$depth = 0;
		$found = false;
		$aResult = array();
		for($i = 0; $i < count($aCategories); $i++) {
			if($found and intval($aCategories[$i]['Level']) <= $depth) {
				return $aResult;
			}
			if($found==true) {
				$aResult[] = $aCategories[$i]['Item'];
			}
			if($aCategories[$i]['Item'] == $sCategory) {
				$found = true;
				$aResult[] = $sCategory;
				if($aCategories[$i]['haschildren'] == 0) {
					return $aResult;
				}
			}
		}
		return $aResult;
	}


Заменяем на этот код
public function getCategoryChildren($sCategory, $aCategories=null) {
		
		if($aCategories == null) {
			$aCategories = $this -> getCategories(Config::Get('plugin.pokupalka.goods.types'));
		}
		$depth = 0;
		$found = false;
		$aResult = array();
		for($i = 0; $i < count($aCategories); $i++) {
			if($found and intval($aCategories[$i]['Level']) <= $depth) {
				return $aResult;
			}
			if($found==true and $aCategories[$i]['Level']>$found_Level) {
				$aResult[] = $aCategories[$i]['Item'];
			}
                        else
                          $found=false;  

			if($aCategories[$i]['Item'] == $sCategory) {
				$found = true;
                                $found_Level = intval($aCategories[$i]['Level']);
				$aResult[] = $sCategory;
				if($aCategories[$i]['haschildren'] == 0) {
					return $aResult;
				}
			}
		}
		return $aResult;
	}


2. Исправляет то что название валюты при выводе объявлений (одиночно или списком) не бралось из языкового файла.

В файле /plugins/pokupalka/classes/modules/pokupalka/entity/Pokupalka.entity.class.php

функцию
public function getCurrency() {
		return $this -> _aData['goods_currency'];
	}


Заменяем на этот код
public function getCurrency() {
        	$currency_ = $this -> _aData['goods_currency'];
        	$currency_list_lang = $this->Lang_Get('pokupalka_currency_list');
        	foreach (Config::Get('plugin.pokupalka.currencylist') as $oCurrency)
        	{
			if ($oCurrency==$this -> _aData['goods_currency']) 
			{
				$currency_ = $currency_list_lang[$oCurrency];
                        	break;
			}
        	}
                return $currency_;
	}


Имхо было бы не плохо внести эти фиксы в дистрибутив плагина Pokupalka. ;)

Выражаю огромное спасибо автору linkevich плагина Pokupalka (доска объявлений) за отличный плагин!

9 комментариев

avatar
привет! спасибо за фиксы!!!
второй баг правильнее править на уровне шаблона — это я уже исправил.
что касается первого, то я к сожалению, пока не смог добиться такого глюка, как у тебя, но еще попробую.
Завтра вечером выложу обновленный плагин.
avatar
Спасибо, но я когда поставил ваш плагин, столько багов и ошибок было на страницах, что я его сразу удалил…
avatar
engine…
avatar
)))
avatar
фиксы добавил, плагин обновил
avatar
а как слово «pokupalka» в меню сменить? на «Объявления» например, а то как-то странно звучит. А так хорошая тема))
avatar
Это правится в этом файле /plugins/pokupalka/templates/language/russian.php
avatar
СПАССИБИЩЕ!!! теперь всё кул))
avatar
Спасибо! Но есть вопрос!
В плагине при написании обьявления висит кнопка «Загрузить». Все работает, поля заполнения и т.п. Но почему то загрузить картинку нет возможности, висит только кнопка и пустое поле после Добавить изображение. Ничего нет между ними ни строк ничего… Почему так?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.