public static function getDocumentLayout($docId) { $storeId = md5(__METHOD__ . "::" . $docId); if (!isset(self::$cache[$storeId])) { $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('layout'); $query->from('#__judownload_documents'); $query->where('id =' . $docId); $db->setQuery($query); $layout = $db->loadResult(); if ($layout == -2) { $params = JUDownloadHelper::getParams(null, $docId); $layout = $params->get('layout_document', '_:default'); } elseif ($layout == -1) { $parentId = (int) JUDownloadFrontHelperCategory::getMainCategoryId($docId); if ($parentId == 0) { $params = JUDownloadHelper::getParams(null, $docId); $layout = $params->get('layout_document', '_:default'); } else { $layout = JUDownloadFrontHelperDocument::getDocumentLayoutFromCategory($parentId); } } else { $layout = trim($layout); } self::$cache[$storeId] = $layout; } return self::$cache[$storeId]; }