गवर्नरों - आरबीआई - Reserve Bank of India
गवर्नर
श्री संजय मल्होत्रा
श्री संजय मल्होत्रा, 1990 बैच के राजस्थान कैडर के भारतीय प्रशासनिक सेवा अधिकारी, ने 11 दिसंबर 2024 से अगले तीन वर्ष की अवधि के लिए भारतीय रिज़र्व बैंक के 26वें गवर्नर के रूप में कार्यभार संभाला। इस नियुक्ति से ठीक पहले, श्री मल्होत्रा भारत सरकार के वित्त मंत्रालय में राजस्व विभाग (डीओआर) के सचिव थे, उससे पहले श्री मल्होत्रा भारत सरकार के वित्त मंत्रालय में वित्तीय सेवा विभाग में सचिव के पद पर थे।
श्री मल्होत्रा के पास विद्युत, वित्त एवं कराधान, सूचना प्रौद्योगिकी आदि सहित विभिन्न प्रमुख क्षेत्रों का व्यापक एवं विविध अनुभव है तथा संयुक्त राष्ट्र एजेंसी में कार्यकाल के अलावा उन्होंने राज्य एवं केन्द्र सरकार में भी प्रमुख पदों पर कार्य किया है। वह ग्रामीण विद्युतीकरण निगम लिमिटेड के अध्यक्ष और प्रबंध निदेशक भी थे। श्री मल्होत्रा ने 16 फरवरी 2022 से 14 नवंबर 2022 तक भारतीय रिज़र्व बैंक के केंद्रीय बोर्ड में सरकार द्वारा नामित निदेशक के रूप में कार्य किया।
श्री मल्होत्रा भारतीय प्रौद्योगिकी संस्थान, कानपुर से कंप्यूटर विज्ञान और इंजीनियरिंग में स्नातक हैं तथा उन्होंने प्रिंसटन विश्वविद्यालय, अमेरिका से सार्वजनिक नीति में स्नातकोत्तर की उपाधि प्राप्त की है।
संपर्क विवरण
- भारतीय रिज़र्व बैंक
18वीं मंजिल, केंद्रीय कार्यालय भवन शहीद भगत सिंह मार्ग
मुंबई-400 001 -
22661784
पिछले गवर्नरों की सूची
श्री शक्तिकान्त दास
श्री शक्तिकान्त दास, आईएएस सेवानिवृत्त, पूर्व सचिव, राजस्व विभाग और आर्थिक कार्य विभाग, वित्त मंत्रालय, भारत सरकार ने 12 दिसंबर, 2018 से भारतीय रिजर्व बैंक के 25 वें गवर्नर के रूप में पदभार ग्रहण किया। अपने वर्तमान कार्यभार से ठीक पहले वे 15 वें वित्त आयोग के सदस्य और G20 शेरपा ऑफ़ इंडिया के रूप में कार्य कर रहे थे। पिछले 38 वर्षों में श्री शक्तिकान्त दास ने अभिशासन के विभिन्न क्षेत्रों में व्यापक अनुभव प्राप्त किया है। श्री दास ने केंद्र और राज्य सरकारों में वित्त, कराधान (टैक्सेशन), उद्योग, आधार-संरचना, आदि क्षेत्रों में महत्वपूर्ण पदों पर कार्य किया है। भारत सरकार के वित्त मंत्रालय में अपने लंबे कार्यकाल के दौरान, वे सीधे तौर पर 8 यूनियन बजटों की तैयारी से जुड़े थे। श्री दास ने में भारत के वैकल्पिक गवर्नर के रूप में वर्ल्ड बैंक में, एशियन डेवलपमेंट बैंक (एडीबी), न्यू डेवलपमेंट बैंक (एनडीबी) और एशियन इन्फ्रास्ट्रक्चर इन्वेस्टमेंट बैंक (एईआईआईबी) में भी काम किया है। उन्होंने अंतर्राष्ट्रीय मंचों जैसे आईएमएफ, जी 20, ब्रिक्स, सार्क आदि में भारत का प्रतिनिधित्व किया है। श्री शक्तिकान्त दास सेंट स्टीफन कॉलेज, दिल्ली विश्वविद्यालय से स्नातकोत्तर हैं।
केंद्र सरकार ने श्री शक्तिकान्त दास को गवर्नर, भारतीय रिज़र्व बैंक के रूप में दिसंबर 2021 के 10वें दिन से आगे तीन वर्ष की अवधि के लिए या अगले आदेश तक, जो भी पहले हो, के लिए पुन: नियुक्त किया है।
डॉ. ऊर्जित पटेल
डॉ ऊर्जित आर पटेल ने जनवरी 2013 से उप – गवर्नर के रूप में कार्य करने के बाद 4 सितंबर, 2016 को भारतीय रिज़र्व बैंक के चौबीसवें गवर्नर के रूप में पदभार ग्रहण किया। प्रथम तीन वर्ष के कार्यकाल के बाद 11 जनवरी 2016 को उप गवर्नर के रूप में उन्हें पुनः नियुक्त किया गया। उप गवर्नर के रूप में डॉ पटेल ने मौद्रिक नीति ढाँचे को संशोधित और मजबूत करने के लिए विशेषज्ञ समिति की अध्यक्षता की। भारत का प्रतिनिधित्व करते हुए, उन्होंने ब्रिक्स राष्ट्रों के बीच अंतर-सरकारी संधि और अंतर-केंद्रीय बैंक समझौते (आईसीबीए) पर हस्ताक्षर करने में सक्रिय रूप से भाग लिया, जिसके कारण आकस्मिक रिजर्व व्यवस्था (सीआरएए), स्थापित हुई जो इन देशों के केंद्रीय बैंकों के बीच एक स्वैप लाइन का ढाँचा है।
डॉ पटेल ने अंतर्राष्ट्रीय मुद्रा कोष (आईएमएफ) में भी काम किया है। 1996-1997 के दौरान वे आईएमएफ से रिजर्व बैंक में प्रतिनियुक्ति पर थे, और उस क्षमता में उन्होंने ऋण बाजार के विकास, बैंकिंग क्षेत्र में सुधार, पेंशन फंड सुधार और विदेशी मुद्रा बाजार के विकास पर सुझाव दिए। वे 1998 से 2001 तक भारत सरकार के वित्त मंत्रालय (आर्थिक कार्य विभाग) के सलाहकार थे। उन्होंने सार्वजनिक और निजी क्षेत्रों में अन्य कार्य भी किए हैं।
डॉ पटेल ने कई केंद्रीय और राज्य सरकार के उच्च स्तरीय समितियों के साथ मिलकर काम किया है, जिसमें प्रत्यक्ष कर (केलकर समिति) पर कार्य बल, सिविल और रक्षा सेवा पेंशन प्रणाली की समीक्षा के लिए उच्च स्तरीय विशेषज्ञ समूह, बुनियादी ढाँचे पर प्रधान मंत्री कार्य दल, टेलीकॉम मामलों पर मंत्रियों के समूह, नागरिक उड्डयन सुधार समिति और राज्य बिजली बोर्डों पर विद्युत विशेषज्ञ समूह शामिल हैं।
डॉ पटेल के नाम भारतीय मैक्रोइकॉनॉमिक्स, मौद्रिक नीति, लोक वित्त, भारतीय वित्तीय क्षेत्र, अंतरराष्ट्रीय व्यापार और नियामक अर्थशास्त्र के क्षेत्रों में कई प्रकाशन हैं।।
डॉ पटेल ने येल विश्वविद्यालय से अर्थशास्त्र में पीएचडी, यूनिवर्सिटी ऑफ ऑक्सफोर्ड से एम फिल और लंदन विश्वविद्यालय से बी.एससी की है।
डॉ. रघुराम राजन
डॉ. रघुराम राजन ने 4 सितंबर, 2013 को भारतीय रिज़र्व बैंक के 23 वें गवर्नर के रूप में पदभार ग्रहण किया। इससे पहले, वे वित्त मंत्रालय, भारत सरकार के मुख्य आर्थिक सलाहकार और शिकागो विश्वविद्यालय के बूथ स्कूल में वित्त के एरिक जे ग्लेशियर डिस्टिंग्विश्ड सर्विस प्रोफेसर थे। 2003 और 2006 के बीच, डॉ. राजन अंतर्राष्ट्रीय मुद्रा कोष में मुख्य अर्थशास्त्री और अनुसंधान निदेशक थे।
डॉ. राजन की अनुसंधान रुचियां बैंकिंग, कॉर्पोरेट वित्त और आर्थिक विकास में हैं, विशेषत: इसमें वित्त की भूमिका में। उन्होंने 2003 में लुइगी ज़िंगेल्स के साथ सेविंग कैपिटलिज्म फ्रॉम कैपिटलिस्ट्स का सह-लेखन किया है। उन्होंने इसके बाद फॉल्ट लाइन्स: हाउ हिडन फ्रैक्चर्स स्टिल थ्रेटेन द वर्ल्ड इकोनॉमी लिखा, जिसके लिए उन्हें 2010 में सर्वोत्तम कारोबारी पुस्तक (बेस्ट बिजनेस बुक) के लिए फाइनेंशियल टाइम्स-गोल्डमैन जाक्स पुरस्कार से सम्मानित किया गया।
डॉ. राजन ग्रूप ऑफ़ थर्टी के सदस्य हैं। वह 2011 में अमेरिकन फाइनेंस एसोसिएशन के अध्यक्ष थे और अमेरिकन एकेडमी ऑफ आर्ट्स एंड साइंसेज के सदस्य हैं। जनवरी 2003 में, अमेरिकन फाइनेंस एसोसिएशन ने डॉ. राजन को 40 वर्ष से कम आयु के सर्वश्रेष्ठ वित्त शोधकर्ता के लिए उद्घाटन फिशर ब्लैक पुरस्कार से सम्मानित किया। उन्हें जो अन्य पुरस्कार मिले हैं, उनमें 2011 में नैसकॉम का वैश्विक भारतीय अवार्ड, 2012 में आर्थिक विज्ञान के लिए इन्फोसिस पुरस्कार, और 2013 में वित्तीय अर्थशास्त्र के लिए सेंटर फॉर फाइनैंशियल स्टडीज़-ड्यूश बैंक प्राइज़ शामिल है।
डॉ. राजन का जन्म 3 फरवरी, 1963 को हुआ, उनकी पत्नी का नाम राधिका है और उनके दो बच्चे हैं।
डॉ. डी. सुब्बाराव
डॉ डी सुब्बाराव ने 5 सितंबर, 2008 को भारतीय रिज़र्व बैंक के 22 वें गवर्नर के रूप में पदभार संभाला। डॉ सुब्बाराव को तीन साल के कार्यकाल के लिए नियुक्त किए गए। इस नियुक्ति से पहले, डॉ सुब्बाराव भारत सरकार के वित्त मंत्रालय में वित्त सचिव थे
डॉ सुब्बाराव इससे पहले प्रधान मंत्री आर्थिक सलाहकार परिषद के सचिव (2005-2007), विश्व बैंक में प्रमुख अर्थशास्त्री (1999-2004), आंध्र प्रदेश सरकार के वित्त सचिव (1993-98) और आर्थिक कार्य विभाग, वित्त मंत्रालय, भारत सरकार में संयुक्त सचिव रह चुके हैं(1988-1993)।
डॉ सुब्बाराव को लोक वित्त का काफ़ी अनुभव है। विश्व बैंक में, उन्होंने अफ्रीका और पूर्वी एशिया के देशों में लोक वित्त के मुद्दों पर काम किया। उन्होंने चीन, इंडोनेशिया, वियतनाम, फिलीपींस और कंबोडिया सहित पूर्वी एशिया के प्रमुख देशों में विकेंद्रीकरण पर एक प्रमुख अध्ययन किया। डॉ सुब्बाराव राज्य स्तर पर राजकोषीय सुधार की शुरुआत में भी शामिल थे। डॉ। सुब्बाराव ने लोक वित्त, विकेंद्रीकरण और सुधारों की राजनीतिक अर्थव्यवस्था से जुड़े मुद्दों पर विस्तार से लिखा है।
11 अगस्त 1949 को जन्मे डॉ सुब्बाराव ने भारतीय प्रौद्योगिकी संस्थान, खड़गपुर से भौतिक विज्ञान में बीएससी (ऑनर्स) और भारतीय प्रौद्योगिकी संस्थान, कानपुर से भौतिकी में एम.एससी की डिग्री हासिल की है। डॉ सुब्बाराव ओहियो स्टेट यूनिवर्सिटी से अर्थशास्त्र में एमएस की डिग्री भी रखते हैं। 1982-83 में एमआईटी में हम्फ्री फेलो थे। उन्होंने अर्थशास्त्र में पीएचडी की है और उनकी थीसिस उप-राष्ट्रीय स्तर पर राजकोषीय सुधार पर है। डॉ सुब्बाराव 1972 में भारतीय प्रशासनिक सेवा और भारतीय विदेश सेवाओं में प्रवेश के लिए अखिल भारतीय सिविल सेवा परीक्षा में टॉपर थे। वह सिविल सेवा में शामिल होने वाले पहले आईआईटीयन्स में से थे।
डॉ. वाइ.वी. रेड्डी
इक्कीसवें गवर्नर डॉ यागा वेणुगोपाल रेड्डी, भारतीय प्रशासनिक सेवा के सदस्य हैं। उन्होंने अपने कैरीयर का अधिकांश समय वित्त और योजना के क्षेत्रों में बिताया है। उन्होंने वित्त मंत्रालय में सचिव (बैंकिंग), अतिरिक्त सचिव, वाणिज्य मंत्रालय, भारत सरकार में वित्त मंत्रालय में संयुक्त सचिव, आंध्र प्रदेश सरकार के प्रधान सचिव, और रिज़र्व बैंक के उप-राज्यपाल के रूप में छः वर्ष का कार्यकाल पूरा किया। राज्यपाल के रूप में अपनी नियुक्ति से पहले, डॉ रेड्डी अंतर्राष्ट्रीय मुद्रा कोष के बोर्ड में भारत के कार्यकारी निदेशक थे। डॉ रेड्डी ने वित्तीय क्षेत्र के सुधारों; वित्त व्यापार; भुगतान संतुलन और विदेशी मुद्रा दर की निगरानी; बाहरी वाणिज्यिक उधार; केंद्र-राज्य वित्तीय संबंध; क्षेत्रीय योजना; और सार्वजनिक उद्यम सुधार के क्षेत्रों में महत्वपूर्ण नीतिगत योगदान दिया है और संस्थाओं के निर्माण में करीब से जुड़े रहे हैं। उनके नाम कई पुस्तकें हैं जो मुख्यत: वित्त, योजना और सार्वजनिक उद्यमों से संबंधित हैं। |
The following has evaluated to null or missing: ==> speakerCategoryId [in template "20099#20125#104631168" at line 43, column 226] ---- 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: #if category.getCategoryId() == speak... [in template "20099#20125#104631168" at line 43, column 193] ----
1<#assign
2 assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")
3 dLFileEntryLocalService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")
4 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
5 assetCategoryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
6<#assign UUID="" groupId="" fileSize="" docURL="" />
7<#assign index= 0 />
8<#assign currDate=.now?date />
9<#assign contentCategoryId = 8508119 />
10<#assign speakerVocabularyId = 45696473 />
11<#assign plId = layout.getPlid()>
12<#assign layoutEntry = assetEntryLocalService.fetchEntry("com.liferay.portal.kernel.model.Layout", plId) />
13<#assign assetCategories = layoutEntry.getCategories()/>
14 <#list assetCategories as assetCategory>
15 <#if assetCategory.getVocabularyId() == speakerVocabularyId >
16 <#assign speakerCategoryId = assetCategory.getCategoryId()/>
17 </#if>
18 </#list>
19<#assign count = 0 />
20<#if entries?has_content>
21<div class="Notification-content-wrap full-width governor-page-related-links dynamic-resize" tabindex="0">
22 <div class="container">
23 <div class="row no-gutters">
24 <div class="col-10" id="title-heading">
25 <h3 class="section-blcok-heading">${languageUtil.get(locale, "speeches")} </h3>
26 </div>
27 <div class="col-12">
28 <div class="notifications-row-wrapper toogle-grid-row show-row-view">
29 <div class="row">
30 <#list entries as curEntry>
31
32 <#if curEntry.getClassName()== "com.liferay.journal.model.JournalArticle">
33 <#assign assetRenderer=curEntry.getAssetRenderer()
34 article=assetRenderer.getArticle()
35 journalArticle=assetRenderer.getAssetObject()
36 resourceKey = journalArticle.getResourcePrimKey()
37 categories = assetCategoryLocalService.getCategories(curEntry.getClassName(),resourceKey?number) />
38 <#list categories as category>
39
40 <#if category.getCategoryId()== contentCategoryId >
41 <#list categories as category>
42
43 <#if category.getCategoryId() == speakerCategoryId >
44 <#assign article=assetRenderer.getArticle()
45 URL=article.getExpandoBridge().getAttribute("pdf-url")
46 groupId=article.getGroupId()
47 content=saxReaderUtil.read(assetRenderer.getArticle().getContentByLocale(locale))
48 displayDate=article.getDisplayDate()
49 publishDate=curEntry.publishDate
50 speaker=content.valueOf("//dynamic-element[@name='Text48856133']/dynamic-content")
51 designation=content.valueOf("//dynamic-element[@name='Text01027456']/dynamic-content")
52 videoLink=content.valueOf("//dynamic-element[@name='Field62975852']/dynamic-content")
53 viewURL=assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse,
54 curEntry) viewURL=assetRenderer.getURLViewInContext(renderRequest, renderResponse,
55 viewURL) index=index+1 />
56 <#assign count=count + 1 />
57 <#if count gt 5>
58 <#break>
59 </#if>
60 <#if index gt 5>
61 <div class=" col-12 toggle-content-each grid-view-col d-none">
62 <#else>
63 <div class="col-12 toggle-content-each grid-view-col">
64 </#if>
65 <div class="notification-row-each">
66 <div class="notification-row-each-inner">
67 <div class="notification-date">
68 <#if displayDate?has_content>
69 ${dateUtil.getDate(publishDate, "MMM dd, yyyy", locale)}
70 <#if publishDate?has_content>
71 <#if currDate?string==publishDate?date?string>
72 <div class="tag-new tag-date"><span>New</span></div>
73 </#if>
74 </#if>
75 </#if>
76 </div>
77 <a href="${viewURL}" class="mtm_list_item_heading">
78 <div class="covid19-result-heading c-tooltips position-relative">
79 <span class="mtm_list_item_heading textTruncate governor-page-title">
80 ${curEntry.getTitle(locale)} </span>
81 <div class="custom-tooltip covid19-tooltip">
82 <div class="tooltip-arrow-up"></div>
83 <div class="tooltip-content covid19-content">
84 ${curEntry.getSummary(locale)}
85 </div>
86 </div>
87 </div>
88 </a>
89 <div class="speaker-content font-resized">
90 <#if speaker?has_content>${speaker}, </#if>
91 <#if designation?has_content>${designation} </#if>
92 </div>
93 <#if URL?has_content>
94 <#list URL?keys as key>
95 <#if key==locale>
96 <#assign docURL=URL?values[key_index] />
97 </#if>
98 </#list>
99 </#if>
100 <#if docURL?has_content>
101 <#list docURL?split("/") as sValue>
102 <#if sValue?is_last>
103 <#list sValue?split("?") as uuid>
104 <#if uuid?is_first>
105 <#assign UUID=uuid />
106 </#if>
107 </#list>
108 </#if>
109 </#list>
110 </#if>
111 <#attempt>
112 <#if UUID?has_content>
113 <#assign
114 DLFileEntry=dLFileEntryLocalService.fetchFileEntry(UUID,groupId?number)
115 fileSize=DLFileEntry.getSize()
116 fileAssetEntry=assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",
117 DLFileEntry.getFileEntryId())
118 docURL=fileAssetEntry.getAssetRenderer().getURLDownload(themeDisplay) />
119 </#if>
120 <#recover>
121 </#attempt>
122
123 <div class="btn-wrap">
124 <#if docURL?has_content && docURL!="">
125 <div class="inner-wrap">
126 <a href="${docURL?split('?')[0]}" target="_blank"
127 class="matomo_download ">
128 <img src="/documents/70233/0/fileDownload.svg"
129 class="downloadFile" alt="Download File"
130 title="Download File">
131 ${languageUtil.get(locale, "pdf")} (<span class="fileSizeSpeeches">${fileSize}</span>)
132 </a>
133 </div>
134
135 </#if>
136
137 <#if videoLink?has_content && videoLink!="">
138 <div class="inner-wrap yt-link-wrap">
139 <a href="javascript:void(0)"
140 data-toggle="modal"
141 data-target="#videoPopUpYT-${curEntry?counter}">
142 <img src="/documents/20125/67624/icon-youtube.svg"
143 class="downloadFile mtm_yt"
144 alt="${languageUtil.get(locale,'youtube')}"
145 title="${languageUtil.get(locale,'youtube')}">
146 <span
147 class="mtm_yt">${languageUtil.get(locale,'youtube')}</span>
148 </a>
149 </div>
150 </#if>
151 </div>
152 </div>
153 </div>
154 </div>
155 </#if>
156 </#list>
157 </#if>
158 </#list>
159 </#if>
160 </#list>
161
162 <#if index gt 5>
163 <div class="col-12 ">
164 <div class="view-all-wrap toggle-view-content">
165 <a href=" ${themeDisplay.getURLPortal()}/web/rbi/speeches?speaker=${speakerCategoryId}" role="button"
166 class=" link-view-more link-animation-hover">
167 <span class="txtToggle"> ${languageUtil.get(locale, "view-more")} </span>
168 <span>
169 <img class="down-arrow" src="/documents/20125/67624/icon+feather-down.svg"
170 alt="view more" title="view more">
171 </span>
172 </a>
173
174 </div>
175 </div>
176 </#if>
177 </div>
178 </div>
179 </div>
180 </div>
181 </div>
182 </div>
183 </#if>
184
185 <input type="hidden" id="speechesIndex" value="${index}">
186
187<script>
188 $(document).ready(function () {
189 $(".youtube-video-popup #yt-player").each(function () {
190 let newYoutubeLink = $(this).find("#iframe-yt").attr("data-src");
191 if (newYoutubeLink.includes("youtube.com")) {
192 if (newYoutubeLink.includes('?')) {
193 if (newYoutubeLink.includes('/live/')) {
194 if (newYoutubeLink.includes('www')) {
195 newYoutubeLink = newYoutubeLink.replace('youtube.com/live/', 'youtube.com/embed/')
196 }
197 else {
198 newYoutubeLink = newYoutubeLink.replace('youtube.com/live/', 'www.youtube.com/embed/')
199 }
200 }
201 if (!newYoutubeLink.includes('?enablejsapi=1')) {
202 newYoutubeLink = newYoutubeLink + '&enablejsapi=1'
203 }
204 }
205 else {
206 if (newYoutubeLink.includes('/live/')) {
207 if (newYoutubeLink.includes('www')) {
208 newYoutubeLink = newYoutubeLink.replace('youtube.com/live/', 'youtube.com/embed/')
209 }
210 else {
211 newYoutubeLink = newYoutubeLink.replace('youtube.com/live/', 'www.youtube.com/embed/')
212 }
213 }
214 newYoutubeLink = newYoutubeLink + '?enablejsapi=1';
215 }
216 $(this).find("#iframe-yt").attr("data-src", newYoutubeLink);
217 }
218 else if (newYoutubeLink.includes("youtu.be")) {
219 newYoutubeLink = newYoutubeLink.replace("youtu.be", "www.youtube.com/embed");
220 if (newYoutubeLink.includes('?')) {
221 if (!newYoutubeLink.includes('?enablejsapi=1')) {
222 newYoutubeLink = newYoutubeLink + '&enablejsapi=1'
223 }
224 }
225 else {
226 newYoutubeLink = newYoutubeLink + '?enablejsapi=1';
227 }
228 $(this).find("#iframe-yt").attr("data-src", newYoutubeLink);
229 return;
230 } else if (newYoutubeLink.includes("watch?v=")) {
231 newYoutubeLink = newYoutubeLink.replace("watch?v=", "embed/");
232 if (newYoutubeLink.includes('?')) {
233 if (!newYoutubeLink.includes('?enablejsapi=1')) {
234 newYoutubeLink = newYoutubeLink + '&enablejsapi=1'
235 }
236 }
237 else {
238 newYoutubeLink = newYoutubeLink + '?enablejsapi=1';
239 }
240 $(this).find("#iframe-yt").attr("data-src", newYoutubeLink);
241 return;
242 }
243 });
244 $(".fileSizeSpeeches").each(function () {
245 var fileSizeSpeeches = $(this).html()
246 if (fileSizeSpeeches != "") {
247 $(this).html(formatFileSizeSpeeches(parseInt(fileSizeSpeeches), 2))
248 }
249 });
250
251 function formatFileSizeSpeeches(bytes, decimalPoint) {
252 if (bytes == 0)
253 return '0 Bytes';
254 var k = 1024,
255 dm = decimalPoint || 2,
256 sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
257 i = Math.floor(Math.log(bytes) / Math.log(k));
258 return (parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]);
259 }
260 });
261
262</script>
The following has evaluated to null or missing: ==> speakerCategoryId [in template "20099#20125#104631164" at line 40, column 226] ---- 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: #if category.getCategoryId() == speak... [in template "20099#20125#104631164" at line 40, column 193] ----
1<#assign
2 assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")
3 dLFileEntryLocalService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")
4 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
5 assetCategoryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
6<#assign UUID="" groupId="" fileSize="" docURL="" />
7<#assign indexInteractions= 0 />
8<#assign currDate=.now?date />
9<#assign contentCategoryId = 8508122 />
10<#assign speakerVocabularyId = 45696473 />
11<#assign plId = layout.getPlid()>
12<#assign layoutEntry = assetEntryLocalService.fetchEntry("com.liferay.portal.kernel.model.Layout", plId) />
13<#assign assetCategories = layoutEntry.getCategories()/>
14 <#list assetCategories as assetCategory>
15 <#if assetCategory.getVocabularyId() == speakerVocabularyId >
16 <#assign speakerCategoryId = assetCategory.getCategoryId()/>
17 </#if>
18 </#list>
19<#assign count = 0 />
20<#if entries?has_content>
21<div class="Notification-content-wrap full-width governor-page-related-links dynamic-resize" tabindex="0">
22 <div class="container">
23 <div class="row no-gutters">
24 <div class="col-10" id="title-interaction">
25 <h3 class="section-blcok-heading">${languageUtil.get(locale, "interviews")}</h3>
26 </div>
27 <div class="col-12">
28 <div class="notifications-row-wrapper toogle-grid-row show-row-view">
29 <div class="row">
30 <#list entries as curEntry>
31 <#if curEntry.getClassName()== "com.liferay.journal.model.JournalArticle">
32 <#assign assetRenderer=curEntry.getAssetRenderer()
33 article=assetRenderer.getArticle()
34 journalArticle=assetRenderer.getAssetObject()
35 resourceKey = journalArticle.getResourcePrimKey()
36 categories = assetCategoryLocalService.getCategories(curEntry.getClassName(),resourceKey?number) />
37 <#list categories as category>
38 <#if category.getCategoryId()== contentCategoryId >
39 <#list categories as category>
40 <#if category.getCategoryId() == speakerCategoryId >
41 <#assign article=assetRenderer.getArticle()
42 URL=article.getExpandoBridge().getAttribute("pdf-url")
43 groupId=article.getGroupId()
44 content=saxReaderUtil.read(assetRenderer.getArticle().getContentByLocale(locale))
45 displayDate=article.getDisplayDate()
46 publishDate=curEntry.publishDate
47 speaker=content.valueOf("//dynamic-element[@name='Text48856133']/dynamic-content")
48 designation=content.valueOf("//dynamic-element[@name='Text01027456']/dynamic-content")
49 viewURL=assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse,
50 curEntry) viewURL=assetRenderer.getURLViewInContext(renderRequest, renderResponse,
51 viewURL) indexInteractions=indexInteractions+1 />
52 <#assign count=count + 1 />
53 <#if count gt 5>
54 <#break>
55 </#if>
56 <#if indexInteractions gt 5>
57 <div class=" col-12 toggle-content-each grid-view-col d-none">
58 <#else>
59 <div class="col-12 toggle-content-each grid-view-col">
60 </#if>
61 <div class="notification-row-each">
62 <div class="notification-row-each-inner">
63 <div class="notification-date">
64 <#if displayDate?has_content>
65 ${dateUtil.getDate(publishDate, "MMM dd, yyyy", locale)}
66 <#if publishDate?has_content>
67 <#if currDate?string==publishDate?date?string>
68 <div class="tag-new tag-date"><span>New</span></div>
69 </#if>
70 </#if>
71 </#if>
72 </div>
73 <a href="${viewURL}" class="mtm_list_item_heading">
74 <div class="covid19-result-heading c-tooltips position-relative">
75 <span class="mtm_list_item_heading textTruncate governor-page-title">
76 ${curEntry.getTitle(locale)} </span>
77 <div class="custom-tooltip covid19-tooltip">
78 <div class="tooltip-arrow-up"></div>
79 <div class="tooltip-content covid19-content">
80 ${curEntry.getSummary(locale)}
81 </div>
82 </div>
83 </div>
84 </a>
85 <div class="speaker-content font-resized">
86 <#if speaker?has_content>${speaker}, </#if>
87 <#if designation?has_content>${designation} </#if>
88 </div>
89 <#if URL?has_content>
90 <#list URL?keys as key>
91 <#if key==locale>
92 <#assign docURL=URL?values[key_index] />
93 </#if>
94 </#list>
95 </#if>
96 <#if docURL?has_content>
97 <#list docURL?split("/") as sValue>
98 <#if sValue?is_last>
99 <#list sValue?split("?") as uuid>
100 <#if uuid?is_first>
101 <#assign UUID=uuid />
102 </#if>
103 </#list>
104 </#if>
105 </#list>
106 </#if>
107 <!-- File -->
108 <#attempt>
109 <#if UUID?has_content>
110 <#assign
111 DLFileEntry=dLFileEntryLocalService.fetchFileEntry(UUID,groupId?number)
112 fileSize=DLFileEntry.getSize()
113 fileAssetEntry=assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",
114 DLFileEntry.getFileEntryId())
115 docURL=fileAssetEntry.getAssetRenderer().getURLDownload(themeDisplay) />
116 </#if>
117 <#recover>
118 </#attempt>
119
120 <div class="btn-wrap">
121 <#if docURL?? && docURL?has_content>
122 <div class="inner-wrap">
123
124 <a href="${docURL?split('?')[0]}" target="_blank"
125 class="matomo_download ">
126 <img src="/documents/70233/0/fileDownload.svg"
127 class="downloadFile" alt="Download File"
128 title="Download File">
129 ${languageUtil.get(locale, "pdf")} (<span class="fileSizeInteractions">${fileSize}</span>)
130 </a>
131 </div>
132 </#if>
133
134 <#if videoLink?has_content>
135 <div class="inner-wrap yt-link-wrap">
136 <a href="javascript:void(0)"
137 data-toggle="modal"
138 data-target="#videoPopUpYT-${curEntry?counter}">
139 <img src="/documents/20125/67624/icon-youtube.svg"
140 class="downloadFile mtm_yt"
141 alt="${languageUtil.get(locale,'youtube')}"
142 title="${languageUtil.get(locale,'youtube')}">
143 <span
144 class="mtm_yt">${languageUtil.get(locale,'youtube')}</span>
145 </a>
146
147 </div>
148 </#if>
149
150
151 </div>
152
153
154 </div>
155 </div>
156 </div>
157 </#if>
158 </#list>
159 </#if>
160 </#list>
161 </#if>
162 </#list>
163
164 <#if indexInteractions gt 5>
165 <div class="col-12 ">
166 <div class="view-all-wrap toggle-view-content">
167 <a href=" ${themeDisplay.getURLPortal()}/web/rbi/interviews?interviewees=${speakerCategoryId}" role="button"
168 class=" link-view-more link-animation-hover">
169 <span class="txtToggle">${languageUtil.get(locale, "view-more")}</span>
170 <span>
171 <img class="down-arrow" src="/documents/20125/67624/icon+feather-down.svg"
172 alt="view more" title="view more">
173 </span>
174 </a>
175
176 </div>
177 </div>
178 </#if>
179
180 </div>
181 </div>
182 </div>
183 </div>
184 </div>
185 </div>
186 </#if>
187
188 <input type="hidden" id="indexInteractions" value="${indexInteractions}">
189
190<script>
191 $(document).ready(function () {
192 $(".youtube-video-popup #yt-player").each(function () {
193 let newYoutubeLink = $(this).find("#iframe-yt").attr("data-src");
194 if (newYoutubeLink.includes("youtube.com")) {
195 if (newYoutubeLink.includes('?')) {
196 if (newYoutubeLink.includes('/live/')) {
197 if (newYoutubeLink.includes('www')) {
198 newYoutubeLink = newYoutubeLink.replace('youtube.com/live/', 'youtube.com/embed/')
199 }
200 else {
201 newYoutubeLink = newYoutubeLink.replace('youtube.com/live/', 'www.youtube.com/embed/')
202 }
203 }
204 if (!newYoutubeLink.includes('?enablejsapi=1')) {
205 newYoutubeLink = newYoutubeLink + '&enablejsapi=1'
206 }
207 }
208 else {
209 if (newYoutubeLink.includes('/live/')) {
210 if (newYoutubeLink.includes('www')) {
211 newYoutubeLink = newYoutubeLink.replace('youtube.com/live/', 'youtube.com/embed/')
212 }
213 else {
214 newYoutubeLink = newYoutubeLink.replace('youtube.com/live/', 'www.youtube.com/embed/')
215 }
216 }
217 newYoutubeLink = newYoutubeLink + '?enablejsapi=1';
218 }
219 $(this).find("#iframe-yt").attr("data-src", newYoutubeLink);
220 }
221 else if (newYoutubeLink.includes("youtu.be")) {
222 newYoutubeLink = newYoutubeLink.replace("youtu.be", "www.youtube.com/embed");
223 if (newYoutubeLink.includes('?')) {
224 if (!newYoutubeLink.includes('?enablejsapi=1')) {
225 newYoutubeLink = newYoutubeLink + '&enablejsapi=1'
226 }
227 }
228 else {
229 newYoutubeLink = newYoutubeLink + '?enablejsapi=1';
230 }
231 $(this).find("#iframe-yt").attr("data-src", newYoutubeLink);
232 return;
233 } else if (newYoutubeLink.includes("watch?v=")) {
234 newYoutubeLink = newYoutubeLink.replace("watch?v=", "embed/");
235 if (newYoutubeLink.includes('?')) {
236 if (!newYoutubeLink.includes('?enablejsapi=1')) {
237 newYoutubeLink = newYoutubeLink + '&enablejsapi=1'
238 }
239 }
240 else {
241 newYoutubeLink = newYoutubeLink + '?enablejsapi=1';
242 }
243 $(this).find("#iframe-yt").attr("data-src", newYoutubeLink);
244 return;
245 }
246 });
247 $(".fileSizeInteractions").each(function () {
248 var fileSizeInteractions = $(this).html()
249 if (fileSizeInteractions != "") {
250 $(this).html(formatFileSizeInteractions(parseInt(fileSizeInteractions), 2))
251 }
252 });
253
254 function formatFileSizeInteractions(bytes, decimalPoint) {
255 if (bytes == 0)
256 return '0 Bytes';
257 var k = 1024,
258 dm = decimalPoint || 2,
259 sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
260 i = Math.floor(Math.log(bytes) / Math.log(k));
261 return (parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]);
262 }
263 });
264
265</script>
The following has evaluated to null or missing: ==> speakerCategoryId [in template "20099#20125#104631160" at line 37, column 226] ---- 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: #if category.getCategoryId() == speak... [in template "20099#20125#104631160" at line 37, column 193] ----
1<#assign
2 assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")
3 dLFileEntryLocalService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")
4 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
5 assetCategoryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
6<#assign UUID="" groupId="" fileSize="" docURL="" />
7<#assign indexKeyReleases= 0 />
8<#assign currDate=.now?date />
9<#assign speakerVocabularyId = 45696473 />
10<#assign plId = layout.getPlid()>
11<#assign layoutEntry = assetEntryLocalService.fetchEntry("com.liferay.portal.kernel.model.Layout", plId) />
12<#assign assetCategories = layoutEntry.getCategories()/>
13 <#list assetCategories as assetCategory>
14 <#if assetCategory.getVocabularyId() == speakerVocabularyId >
15 <#assign speakerCategoryId = assetCategory.getCategoryId()/>
16 </#if>
17 </#list>
18<#assign count = 0 />
19<#if entries?has_content>
20<div class="Notification-content-wrap full-width governor-page-related-links dynamic-resize" tabindex="0">
21 <div class="container">
22 <div class="row no-gutters">
23 <div class="col-10" id = "title-keyreleases">
24 <h3 class="section-blcok-heading">${languageUtil.get(locale, "Key-Releases")}</h3>
25 </div>
26 <div class="col-12">
27 <div class="notifications-row-wrapper toogle-grid-row show-row-view">
28 <div class="row">
29 <#list entries as curEntry>
30 <#if curEntry.getClassName()== "com.liferay.journal.model.JournalArticle">
31 <#assign assetRenderer=curEntry.getAssetRenderer()
32 article=assetRenderer.getArticle()
33 journalArticle=assetRenderer.getAssetObject()
34 resourceKey = journalArticle.getResourcePrimKey()
35 categories = assetCategoryLocalService.getCategories(curEntry.getClassName(),resourceKey?number) />
36 <#list categories as category>
37 <#if category.getCategoryId() == speakerCategoryId >
38 <#assign article=assetRenderer.getArticle()
39 URL=article.getExpandoBridge().getAttribute("pdf-url")
40 groupId=article.getGroupId()
41 content=saxReaderUtil.read(assetRenderer.getArticle().getContentByLocale(locale))
42 displayDate=article.getDisplayDate()
43 publishDate=curEntry.publishDate
44 viewURL=assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse,
45 curEntry) viewURL=assetRenderer.getURLViewInContext(renderRequest, renderResponse,
46 viewURL) indexKeyReleases=indexKeyReleases+1 />
47 <#assign count=count + 1 />
48 <#if count gt 5>
49 <#break>
50 </#if>
51 <#if indexKeyReleases gt 5>
52 <div class=" col-12 toggle-content-each grid-view-col d-none">
53 <#else>
54 <div class="col-12 toggle-content-each grid-view-col">
55 </#if>
56 <div class="notification-row-each">
57 <div class="notification-row-each-inner">
58 <div class="notification-date">
59 <#if displayDate?has_content>
60 ${dateUtil.getDate(publishDate, "MMM dd, yyyy", locale)}
61 <#if publishDate?has_content>
62 <#if currDate?string==publishDate?date?string>
63 <div class="tag-new tag-date"><span>New</span></div>
64 </#if>
65 </#if>
66 </#if>
67 </div>
68 <a href="${viewURL}" class="mtm_list_item_heading">
69 <div class="covid19-result-heading c-tooltips position-relative">
70 <span class="mtm_list_item_heading textTruncate governor-page-title">
71 ${curEntry.getTitle(locale)} </span>
72 <div class="custom-tooltip covid19-tooltip">
73 <div class="tooltip-arrow-up"></div>
74 <div class="tooltip-content covid19-content">
75 ${curEntry.getSummary(locale)}
76 </div>
77 </div>
78 </div>
79 </a>
80 <div class="speaker-content font-resized">
81 <#if speaker?has_content>${speaker}, </#if>
82 <#if designation?has_content>${designation} </#if>
83 </div>
84 <#if URL?has_content>
85 <#list URL?keys as key>
86 <#if key==locale>
87 <#assign docURL=URL?values[key_index] />
88 </#if>
89 </#list>
90 </#if>
91 <#if docURL?has_content>
92 <#list docURL?split("/") as sValue>
93 <#if sValue?is_last>
94 <#list sValue?split("?") as uuid>
95 <#if uuid?is_first>
96 <#assign UUID=uuid />
97 </#if>
98 </#list>
99 </#if>
100 </#list>
101 </#if>
102 <!-- File -->
103 <#attempt>
104 <#if UUID?has_content>
105 <#assign
106 DLFileEntry=dLFileEntryLocalService.fetchFileEntry(UUID,groupId?number)
107 fileSize=DLFileEntry.getSize()
108 fileAssetEntry=assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",
109 DLFileEntry.getFileEntryId())
110 docURL=fileAssetEntry.getAssetRenderer().getURLDownload(themeDisplay) />
111 </#if>
112 <#recover>
113 </#attempt>
114
115 <div class="btn-wrap">
116 <#if docURL?? && docURL?has_content>
117 <div class="inner-wrap">
118 <a href="${docURL?split('?')[0]}" target="_blank"
119 class="matomo_download ">
120 <img src="/documents/70233/0/fileDownload.svg"
121 class="downloadFile" alt="Download File"
122 title="Download File">
123 ${languageUtil.get(locale, "pdf")} (<span class="fileSizeReleases">${fileSize}</span>)
124 </a>
125 </div>
126 </#if>
127
128 <#if videoLink?has_content>
129 <div class="inner-wrap yt-link-wrap">
130 <a href="javascript:void(0)"
131 data-toggle="modal"
132 data-target="#videoPopUpYT-${curEntry?counter}">
133 <img src="/documents/20125/67624/icon-youtube.svg"
134 class="downloadFile mtm_yt"
135 alt="${languageUtil.get(locale,'youtube')}"
136 title="${languageUtil.get(locale,'youtube')}">
137 <span
138 class="mtm_yt">${languageUtil.get(locale,'youtube')}</span>
139 </a>
140
141 </div>
142 </#if>
143 </div>
144
145 </div>
146 </div>
147 </div>
148 </#if>
149 </#list>
150 </#if>
151 </#list>
152
153 </div>
154 </div>
155 </div>
156 </div>
157 </div>
158 </div>
159 </#if>
160
161 <input type="hidden" id="indexKeyReleases" value="${indexKeyReleases}">
162
163<script>
164 $( document ).ready(function() {
165 var indexSp = $('#speechesIndex').val();
166 console.log("indexSp " + indexSp);
167 var indexMI = $('#indexInteractions').val();
168 console.log("indexMI " + indexMI);
169 var indexKR = $('#indexKeyReleases').val();
170 console.log("indexKR " + indexKR);
171 if (indexSp == 0) {
172 $('#title-heading').hide(); // Hide the div
173 }
174 if(indexMI == 0){
175 $('#title-interaction').hide(); // Hide the div
176 }
177 if(indexKR == 0){
178 $('#title-keyreleases').hide(); // Hide the div
179 }
180 if (indexSp == 0 && indexMI == 0 && indexKR == 0){
181 $('.governor-page-related-links,.related_links_heading').hide();
182 }
183 $(".youtube-video-popup #yt-player").each(function(){
184 let newYoutubeLink = $(this).find("#iframe-yt").attr("data-src");
185 console.log("newYoutubeLink : "+newYoutubeLink);
186 if(newYoutubeLink.includes("youtube.com")){
187 if(newYoutubeLink.includes('?')){
188 newYoutubeLink = newYoutubeLink + '&enablejsapi=1'
189 }
190 else{
191 newYoutubeLink = newYoutubeLink + '?enablejsapi=1';
192 }
193 $(this).find("#iframe-yt").attr("data-src",newYoutubeLink);
194 }
195 else if(newYoutubeLink.includes("youtu.be")){
196 newYoutubeLink = newYoutubeLink.replace("youtu.be","www.youtube.com/embed");
197 if(newYoutubeLink.includes('?')){
198 newYoutubeLink = newYoutubeLink + '&enablejsapi=1'
199 }
200 else{
201 newYoutubeLink = newYoutubeLink + '?enablejsapi=1';
202 }
203 console.log("newYoutubeLink : "+newYoutubeLink);
204 $(this).find("#iframe-yt").attr("data-src",newYoutubeLink);
205 return;
206 }else if(newYoutubeLink.includes("watch?v=")){
207 newYoutubeLink = newYoutubeLink.replace("watch?v=","embed/");
208 if(newYoutubeLink.includes('?')){
209 newYoutubeLink = newYoutubeLink + '&enablejsapi=1'
210 }
211 else{
212 newYoutubeLink = newYoutubeLink + '?enablejsapi=1';
213 }
214 console.log(newYoutubeLink);
215 $(this).find("#iframe-yt").attr("data-src",newYoutubeLink);
216 return;
217 }
218 });
219 $(".fileSizeReleases").each(function () {
220 var fileSizeReleases = $(this).html()
221 if (fileSizeReleases != "") {
222 $(this).html(formatFileSizeReleases(parseInt(fileSizeReleases), 2))
223 }
224 });
225
226 function formatFileSizeReleases(bytes, decimalPoint) {
227 if (bytes == 0)
228 return '0 Bytes';
229 var k = 1024,
230 dm = decimalPoint || 2,
231 sizes = ['Bytes' , 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
232 i = Math.floor(Math.log(bytes) / Math.log(k));
233 return (parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]);
234 }
235 $('.search-filter-wrapper .search-option').click(function (ev) {
236 if ($(this).hasClass("selected")) {
237 $(this).removeClass("selected");
238 } else {
239 $(this).addClass("selected");
240 }
241 });
242 });
243 </script>