PHPFusion\ImageRepo::cache PHP Метод

cache() приватный статический Метод

Fetch and cache all off the imagepaths
private static cache ( )
    private static function cache()
    {
        if (self::$cached) {
            return;
        }
        self::$cached = TRUE;
        //<editor-fold desc="imagePaths">
        // You need to + sign it, so setImage will work.
        self::$imagePaths += array("arrow" => IMAGES . "arrow.png", "attach" => FORUM . "images/attach.png", "blank" => THEME . "images/blank.gif", "calendar" => IMAGES . "dl_calendar.png", "down" => THEME . "images/down.gif", "download" => IMAGES . "dl_download.png", "downloads" => IMAGES . "dl_downloads1.png", "edit" => IMAGES . "edit.png", "folder" => THEME . "forum/folder.gif", "folderlock" => THEME . "forum/folderlock.gif", "foldernew" => THEME . "forum/foldernew.gif", "forum_edit" => THEME . "forum/edit.gif", "go_first" => IMAGES . "go_first.png", "go_last" => IMAGES . "go_last.png", "go_next" => IMAGES . "go_next.png", "go_previous" => IMAGES . "go_previous.png", "homepage" => IMAGES . "dl_homepage.png", "hot" => FORUM . "images/hot.png", "info" => IMAGES . "dl_info.png", "imagenotfound" => IMAGES . "imagenotfound.jpg", "image_attach" => FORUM . "images/image_attach.png", "left" => THEME . "images/left.gif", "lastpost" => FORUM . "images/lastpost.png", "lastpostnew" => FORUM . "images/lastpostnew.png", "newthread" => THEME . "forum/newthread.gif", "no" => IMAGES . "no.png", "noavatar50" => "noavatar50.png", "noavatar100" => "noavatar100.png", "noavatar150" => "noavatar150.png", "panel_on" => THEME . "images/panel_on.gif", "panel_off" => THEME . "images/panel_off.gif", "pm" => THEME . "forum/pm.gif", "poll_posticon" => FORUM . "images/poll_posticon.gif", "pollbar" => THEME . "images/pollbar.gif", "printer" => IMAGES . "printer.png", "quote" => THEME . "forum/quote.gif", "reply" => THEME . "forum/reply.gif", "right" => THEME . "images/right.gif", "rss_article" => INFUSIONS . "rss_feeds_panel/images/rss_articles.gif", "rss_blog" => INFUSIONS . "rss_feeds_panel/images/rss_blog.gif", "rss_downloads" => INFUSIONS . "rss_feeds_panel/images/rss_downloads.gif", "rss_forums" => INFUSIONS . "rss_feeds_panel/images/rss_forums.gif", "rss_news" => INFUSIONS . "rss_feeds_panel/images/rss_news.gif", "rss_weblinks" => INFUSIONS . "rss_feeds_panel/images/rss_weblinks.gif", "save" => IMAGES . "php-save.png", "screenshot" => IMAGES . "dl_screenshot.png", "star" => IMAGES . "star.png", "statistics" => IMAGES . "dl_stats.png", "stickythread" => THEME . "forum/stickythread.gif", "tick" => IMAGES . "tick.png", "up" => THEME . "images/up.gif", "web" => THEME . "forum/web.gif", "yes" => IMAGES . "yes.png");
        //</editor-fold>
        $installedTables = array('blog' => db_exists('blog'), 'news' => db_exists('news'));
        $selects = array("SELECT admin_image as image, admin_rights as name, 'ac_' as prefix FROM " . DB_ADMIN);
        if ($installedTables['blog']) {
            $selects[] = "SELECT blog_cat_image as image, blog_cat_name as name, 'bl_' as prefix FROM " . DB_BLOG_CATS . " " . (multilang_table("BL") ? " where blog_cat_language='" . LANGUAGE . "'" : "");
        }
        if ($installedTables['news']) {
            $selects[] = "SELECT news_cat_image as image, news_cat_name as name, 'nc_' as prefix FROM " . DB_NEWS_CATS . " " . (multilang_table("NS") ? " where news_cat_language='" . LANGUAGE . "'" : "");
        }
        //smiley
        foreach (cache_smileys() as $smiley) {
            // set image
            if (empty(self::$imagePaths["smiley_" . $smiley['smiley_text']])) {
                self::$imagePaths["smiley_" . $smiley['smiley_text']] = IMAGES . "smiley/" . $smiley['smiley_image'];
            }
        }
        $union = implode(' union ', $selects);
        $result = dbquery($union);
        while ($data = dbarray($result)) {
            $image = "";
            switch ($data['prefix']) {
                case 'ac_':
                    $image = file_exists(ADMIN . "images/" . $data['image']) ? ADMIN . "images/" . $data['image'] : (file_exists(INFUSIONS . $data['image']) ? INFUSIONS . $data['image'] : ADMIN . "images/infusion_panel.png");
                    break;
                case 'nc_':
                default:
                    $image = file_exists(IMAGES_NC . $data['image']) ? IMAGES_NC . $data['image'] : IMAGES . "imagenotfound.jpg";
                    break;
                case 'bl_':
                    $image = file_exists(IMAGES_BC . $data['image']) ? IMAGES_BC . $data['image'] : IMAGES . "imagenotfound.jpg";
                    break;
            }
            // Set image
            if (empty(self::$imagePaths[$data['prefix'] . $data['name']])) {
                self::$imagePaths[$data['prefix'] . $data['name']] = $image;
            }
        }
    }