Вход Регистрация
Файл: sys/plugins/classes/widgets.class.php
Строк: 39
<?php

class widgets
{
    static public function 
exists($name)
    {
        return !!
self::getWidgetByName($name);
    }

    
/**
     * @param bool $nocache
     * @return widget[]
     */
    
static public function getAllWidgets($nocache false)
    {
        static 
$widgets false;
        if (!
$widgets && !$nocache) {
            
$widgets cache::get('widgets');
        }

        if (!
$widgets) {
            
$widgets = array();
            
$widgets_path '/sys/widgets';
            
$od opendir($widgets_path);
            while (
$el_name readdir($od)) {
                if (
$el_name{0} === '.') {
                    continue;
                }
                if (!
is_dir($widgets_path '/' $el_name)) {
                    continue;
                }
                if (!
is_file($widgets_path '/' $el_name '/config.ini')) {
                    continue;
                }
                try {
                    
$widget = new widget($widgets_path '/' $el_name);
                    
$widgets[] = $widget;
                } catch (
Exception $e) {

                }
            }
            
closedir($od);
            
cache::set('widgets'$widgets60);
        }
        return 
$widgets;
    }

    
/**
     * @param $name
     * @return null|widget
     */
    
static public function getWidgetByName($name){
        
$widgets self::getAllWidgets();
        foreach(
$widgets AS $widget){
            if (
$widget->getName() === $name){
                return 
$widget;
            }
        }
        return 
null;
    }
}
Онлайн: 0
Реклама