ModuleTools

Package modules.tools
Inheritance class ModuleTools » Module » LsObject
Since 1.0
Source Code /classes/modules/tools/Tools.class.php
Модуль Tools - различные вспомогательные методы

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
bIsInit bool Указывает на то, была ли проведенна инициализация модуля Module
oEngine Engine Объект ядра Module

Public Methods

Hide inherited methods

MethodDescriptionDefined By
Init() Инициализация ModuleTools
MakeCloud() Строит логарифмическое облако - расчитывает значение size в зависимости от count ModuleTools
SetInit() Помечает модуль как инициализированный Module
Shutdown() Метод срабатывает при завершении работы ядра Module
__call() Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля Module
__construct() При создании модуля передаем объект ядра Module
isInit() Возвращает значение флага инициализации модуля Module

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
__clone() Блокируем копирование/клонирование объекта Module

Method Details

Init() method
public void Init()
Source Code: /classes/modules/tools/Tools.class.php#29 (show)
public function Init() {

}

Инициализация

MakeCloud() method
public array MakeCloud(aray $aCollection, int $iMinSize=1, int $iMaxSize=10)
$aCollection aray Список тегов
$iMinSize int Минимальный размер
$iMaxSize int Максимальный размер
{return} array
Source Code: /classes/modules/tools/Tools.class.php#42 (show)
public function MakeCloud($aCollection,$iMinSize=1,$iMaxSize=10) {
    if (
count($aCollection)) {
        
$iSizeRange=$iMaxSize-$iMinSize;

        
$iMin=10000;
        
$iMax=0;
        foreach(
$aCollection as $oObject) {
            if (
$iMax<$oObject->getCount()) {
                
$iMax=$oObject->getCount();
            }
            if (
$iMin>$oObject->getCount()) {
                
$iMin=$oObject->getCount();
            }
        }
        
$iMinCount=log($iMin+1);
        
$iMaxCount=log($iMax+1);
        
$iCountRange=$iMaxCount-$iMinCount;
        if (
$iCountRange==0) {
            
$iCountRange=1;
        }
        foreach(
$aCollection as $oObject) {
            
$iTagSize=$iMinSize+(log($oObject->getCount()+1)-$iMinCount)*($iSizeRange/$iCountRange);
            
$oObject->setSize(round($iTagSize));
        }
    }
    return 
$aCollection;
}

Строит логарифмическое облако - расчитывает значение size в зависимости от count У объектов в коллекции обязательно должны быть методы getCount() и setSize()