Chronos chronos left.png
Rusmed logo color.png
Chronos chronos right.png

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Différences entre les versions de « Module:Institution »

De Commission Historique
(Page créée avec « local pagetitle = tostring(mw.title.getCurrentTitle()) local p = {} function p.main(frame) f = require("Module:Fonctions") local P, refer = {}, {} local publicati… »)
 
m
 
(3 versions intermédiaires par le même utilisateur non affichées)
Ligne 5 : Ligne 5 :
f = require("Module:Fonctions")
f = require("Module:Fonctions")
fo = require("Module:Fo")
local P, refer = {}, {}
local publications,sources, pers_pers, pers_inst, pers_act, pers_conc='','','','','',''
local strong_links={"directeur_de_these","superieur_hierarchique","inf_hier","disciple"}
local langue = frame:preprocess("{{int:lang}}")
local langue = frame:preprocess("{{int:lang}}")
local lang = mw.getLanguage( langue )
local lang = mw.getLanguage( langue )
Ligne 14 : Ligne 12 :
-- Relations personnes/institutions
-- Relations personnes/institutions


local tables = 'Pers_inst, Institutions'
local tables = 'Pers_inst'
local fields = 'Pers_inst._pageName=Prel,Pers_inst.RefBib=Ref,Pers_inst.Date_debut=Debut,Pers_inst.Date_fin=Fin,Pers_inst.Resume_fr=Resume_fr,Pers_inst.Resume_de=Resume_de,Pers_inst.Resume_en=Resume_en,Pers_inst.Nature=Nature,Pers_inst.Objet_1=Objet_1,Pers_inst.Objet_2=Objet_2'
 
local fields = 'Objet_1,Nature,RefBib,_pageName=Prel'
local arguments = {
local arguments = {
join='Institutions._pageName=Pers_inst.Objet_2',
where='Objet_2 WITHIN "' .. pagetitle .. '" ',
where='Pers_inst.Objet_2 IS NOT NULL and Pers_inst.Objet_2="' .. pagetitle .. '"',
groupBy='Nature,Objet_1',
groupBy='Pers_inst.Nature,Pers_inst.Objet_1',
orderBy='Nature,Objet_1',
orderBy='Pers_inst.Nature,Pers_inst.Objet_1',
intro=''
intro=''
}
}
local result = mw.ext.cargo.query(tables, fields, arguments)
local result = mw.ext.cargo.query(tables, fields, arguments)
if next(result) then
local pers_inst
if result then
pers_inst = '\n=={{int:Template-Personnels_et_protagonistes}}==\n'  
pers_inst = '\n=={{int:Template-Personnels_et_protagonistes}}==\n'  
local relations = f.trie_relations(result,"Nature",langue)
local relations = f.trie_relations(result,"Nature",langue)
Ligne 30 : Ligne 29 :
pers_inst = pers_inst .. '\r===' .. nature .. '===\r'
pers_inst = pers_inst .. '\r===' .. nature .. '===\r'
for _,role in ipairs(relation) do
for _,role in ipairs(relation) do
local rref = {}
pers_inst = pers_inst .. '* [[' .. role["Objet_1"] .. ']]' .. fo.splitTextN(role['RefBib']) .. '[[' .. role["Prel"] .. '|→]]\n'
for _,ref in ipairs(mw.text.split(role['Ref'],'#')) do
f.tableRef(ref,rref)
end
pers_inst = pers_inst .. '* [[' .. role["Objet_1"] .. ']]' .. f.expandRef(frame,rref['Reference']).. '[[' .. role["Prel"] .. '|→]]\n'
end
end
end
end
end
end
pers_inst = frame:preprocess(pers_inst)
return frame:preprocess(pers_inst)
return pers_inst
end
end
return p
return p

Version actuelle datée du 4 février 2022 à 11:49

La documentation pour ce module peut être créée à Module:Institution/doc

local pagetitle = tostring(mw.title.getCurrentTitle())

local p = {}
function p.main(frame)
	
	f = require("Module:Fonctions")
	fo = require("Module:Fo")
	
	local langue = frame:preprocess("{{int:lang}}")
	local lang = mw.getLanguage( langue )

-- Relations personnes/institutions

	local tables = 'Pers_inst'

	local fields = 'Objet_1,Nature,RefBib,_pageName=Prel'
	local arguments = {
		where='Objet_2 WITHIN "' .. pagetitle .. '" ',
		groupBy='Nature,Objet_1',
		orderBy='Nature,Objet_1',		
		intro=''
	}	
	local result = mw.ext.cargo.query(tables, fields, arguments)
	local pers_inst
	if result then
		pers_inst = '\n=={{int:Template-Personnels_et_protagonistes}}==\n' 
		local relations = f.trie_relations(result,"Nature",langue)
		for nature, relation in pairs(relations) do
			pers_inst = pers_inst .. '\r===' .. nature .. '===\r'
			for _,role in ipairs(relation) do
				 pers_inst = pers_inst .. '* [[' .. role["Objet_1"] .. ']]' .. fo.splitTextN(role['RefBib']) .. '[[' .. role["Prel"] .. '|→]]\n'
			end
		end	
	end
	
	return frame:preprocess(pers_inst)
end
return p