Пример #1
0
	public static function getDocumentDisplayParams($doc_id)
	{
		if (!$doc_id)
		{
			return null;
		}

		$storeId = md5(__METHOD__ . "::$doc_id");
		if (!isset(self::$cache[$storeId]))
		{
			$params                         = JUDownloadHelper::getParams(null, $doc_id);
			$global_display_params          = $params->get('display_params');
			$global_document_display_object = isset($global_display_params->doc) ? $global_display_params->doc : array();
			$global_document_display_params = new JRegistry($global_document_display_object);

			$docObj          = JUDownloadHelper::getDocumentById($doc_id);
			$document_params = $docObj->params;
			if ($document_params)
			{
				$document_params         = json_decode($document_params);
				$document_display_params = $document_params->display_params;

				if ($document_display_params)
				{
					$global_document_display_params = JUDownloadFrontHelperField::mergeFieldOptions($global_document_display_params->toObject(), $document_display_params);
					unset($document_display_params->fields);

					foreach ($document_display_params AS $option => $value)
					{
						if ($value == '-2')
						{
							unset($document_display_params->$option);
						}
					}

					$global_document_display_params->loadObject($document_display_params);
				}
			}

			self::$cache[$storeId] = $global_document_display_params;
		}

		return self::$cache[$storeId];
	}