For Investors
Investors
Get information on the latest announcements, financial reports, ratings and investor events.
Financial Reports
Half-yearly accounts 2023 (20 September 2023)
PDF605 kB
PPF transaction with e& - special investor call presentation (updated with Fitch commentary on CETIN Group) (8 Aug 2023)
PDF344 kB
PPF transaction with e& - special investor call audio recording (8 Aug 2023)
mp34.0 MB
We are one of the largest telecommunications networks across Central and Eastern Europe
Select a country site to learn more about our organizations or technology
Latest stories
CETIN Group is always in motion. Discover all the latest stories.
An error occurred while processing the template.
The following has evaluated to null or missing: ==> docXML.selectSingleNode("/root/dynamic-element[@field-reference='publishDate']/dynamic-content") [in template "20096#20121#43720" at line 21, column 47] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: articleDate = docXML.selectSingleNode... [in template "20096#20121#43720" at line 21, column 33] ----
1<style>
2 .news-main {
3 margin-bottom: 2rem;
4 }
5</style>
6
7<div class="page-section__wrapper section__media-press">
8 <div class="page-section__inner row">
9 <div class="media-news">
10 <div class="media-news__list">
11 <div class="media-news__list media-news__list-press">
12 <#if entries?has_content>
13 <#list entries as curEntry>
14 <#assign
15 assetRenderer = curEntry.getAssetRenderer()
16 journalArticle = assetRenderer.getArticle()
17 docXML = saxReaderUtil.read(journalArticle.getDocument().asXML())
18
19 articleImage = docXML.selectSingleNode("/root/dynamic-element[@field-reference='image']/dynamic-content").getText()
20 articleImageUrl = jsonFactoryUtil.createJSONObject(articleImage).getString("url")
21 articleDate = docXML.selectSingleNode("/root/dynamic-element[@field-reference='publishDate']/dynamic-content").getText()
22 articleTitle = docXML.selectSingleNode("/root/dynamic-element[@field-reference='title']/dynamic-content").getText()
23 perex = docXML.selectSingleNode("/root/dynamic-element[@field-reference='summary']/dynamic-content").getText()
24 perexShort = stringUtil.shorten(perex, 125)
25 viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, curEntry, !stringUtil.equals(assetLinkBehavior, "showFullContent"))
26 viewURL = assetRenderer.getURLViewInContext(renderRequest, renderResponse, viewURL)
27 viewUrlTitle = languageUtil.get(locale, "read-more")
28 />
29
30 <a href="${viewURL}" class="operators-news__column">
31 <div class="news-other loading">
32 <img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="${articleImageUrl}" alt="${articleTitle}" class="news-other__image b-lazy">
33 <div class="news-other__inner">
34 <div class="news-other__date">
35 ${articleDate} <!-- <@getMetadataField fieldName="publish-date" /> -->
36 </div>
37 <div class="news-other__title">
38 ${articleTitle}
39 </div>
40 <div class="news-other__text">
41 ${perexShort}
42 </div>
43 <div class="news-other__more">
44 <span class="button button--link">
45 ${viewUrlTitle}
46 </span>
47 </div>
48 </div>
49 </div>
50 </a>
51 </#list>
52 </#if>
53 </div>
54 </div>
55 </div>
56 </div>
57</div>
58
59<#macro getMetadataField fieldName>
60 <#if stringUtil.split(metadataFields)?seq_contains(fieldName)>
61 <span class="metadata-entry metadata-${fieldName}">
62 <#assign dateFormat = "dd. MM. yyyy" />
63
64 <#if stringUtil.equals(fieldName, "author")>
65 <@liferay.language key="by" /> ${htmlUtil.escape(portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName()))}
66 <#elseif stringUtil.equals(fieldName, "categories")>
67 <@liferay_asset["asset-categories-summary"]
68 className=entry.getClassName()
69 classPK=entry.getClassPK()
70 portletURL=renderResponse.createRenderURL()
71 />
72 <#elseif stringUtil.equals(fieldName, "create-date")>
73 ${dateUtil.getDate(entry.getCreateDate(), dateFormat, locale)}
74 <#elseif stringUtil.equals(fieldName, "expiration-date")>
75 ${dateUtil.getDate(entry.getExpirationDate(), dateFormat, locale)}
76 <#elseif stringUtil.equals(fieldName, "modified-date")>
77 ${dateUtil.getDate(entry.getModifiedDate(), dateFormat, locale)}
78 <#elseif stringUtil.equals(fieldName, "priority")>
79 ${entry.getPriority()}
80 <#elseif stringUtil.equals(fieldName, "publish-date")>
81 ${dateUtil.getDate(entry.getPublishDate(), dateFormat, locale)}
82 <#elseif stringUtil.equals(fieldName, "tags")>
83 <@liferay_asset["asset-tags-summary"]
84 className=entry.getClassName()
85 classPK=entry.getClassPK()
86 portletURL=renderResponse.createRenderURL()
87 />
88 <#elseif stringUtil.equals(fieldName, "view-count")>
89 ${entry.getViewCount()} <@liferay.language key="views" />
90 </#if>
91 </span>
92 </#if>
93</#macro>