Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • perun/perun-proxyidp/v1/simplesamlphp-module-bbmri
1 result
Show changes
Commits on Source (55)
Showing
with 1878 additions and 703 deletions
## Ansible
*.retry
## composer
composer.phar
/vendor/
## Java
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
## JetBrains
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
.idea/modules.xml
.idea/*.iml
.idea/modules
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
## macOS
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
## maven
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar
## node
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
#DynamoDB Local files
.dynamodb/
## Python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib64/
parts/
sdist/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
## vim
# Swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
## Visual Studio
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
bower_components/
# ASP.NET Core default setup: bower directory is configured as wwwroot/lib/ and bower restore is true
**/wwwroot/lib/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
## Windows
# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
include:
- project: perun-proxy-aai/common
file: /templates/.gitlab-ci-template.yml
## Ansible
*.retry
## composer
composer.phar
/vendor/
## Java
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
## JetBrains
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
.idea/modules.xml
.idea/*.iml
.idea/modules
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
## macOS
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
## maven
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar
## node
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
#DynamoDB Local files
.dynamodb/
## Python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib64/
parts/
sdist/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
## vim
# Swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
## Visual Studio
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
bower_components/
# ASP.NET Core default setup: bower directory is configured as wwwroot/lib/ and bower restore is true
**/wwwroot/lib/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
## Windows
# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
package-lock.json
composer.lock
CHANGELOG.md
.git
*.min.css
*.min.js
www/res/js/jquery.js
www/res/bootstrap/js/bootstrap.js
www/res/bootstrap/css/bootstrap.css
www/res/bootstrap/css/bootstrap-theme.css
{}
{ "extends": ["@perun-proxy-aai/semantic-release-proxy-config"] }
## [2.1.2](https://gitlab.ics.muni.cz/perun-proxy-aai/simplesamlphp/simplesamlphp-module-bbmri/compare/v2.1.1...v2.1.2) (2023-04-12)
### Bug Fixes
* 🐛 new version of logo ([d4a38f2](https://gitlab.ics.muni.cz/perun-proxy-aai/simplesamlphp/simplesamlphp-module-bbmri/commit/d4a38f24b313417c6aad09f2cd4c96d7dda557dd))
# Change Log # Change Log
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [Unreleased] ## [Unreleased]
[Changed] #### Fixed
- Fixed the style of Added,Changed,Fixed,Removed,...
#### Changed
- Removed warning template - it is no longer needed here because it was moved to module perun
## [v2.3.0]
#### Added
- Added file phpcs.xml
#### Changed
- Changed code style to PSR-2
- addInstitution URL and email in disco-tpl.php are loaded from a config file
- Templates are included from module perun
- Using of short array syntax (from array() to [])
#### Fixed
- Fixed the email address in footer
## [v2.2.0]
#### Added
- Added support for pass selected IdP from SP in AuthnContextClassRef attribute.
- It's required add this line into module_perun.php config file
<pre>
'disco.removeAuthnContextClassRefPrefix' => 'urn:cesnet:proxyidp:',
</pre>
#### Changed
- Social Idps are not shown when adding institution - Social Idps are not shown when adding institution
## [v2.1.1] ## [v2.1.1]
[Fixed] #### Fixed
- Fixed RegistrationURL for LifeScience Hostel - Fixed RegistrationURL for LifeScience Hostel
## [v2.1.0] ## [v2.1.0]
[Added] #### Added
- Added support for LifeScience hostel - Added support for LifeScience hostel
## [V2.0.0] ## [V2.0.0]
[Added] #### Added
- Added favicon - Added favicon
[Changed] #### Changed
- Renamed directory 'themes/bbmri-eric' to 'themes/bbmri' and file 'bbmri-eric.css' to 'bbmri.css' - Renamed directory 'themes/bbmri-eric' to 'themes/bbmri' and file 'bbmri-eric.css' to 'bbmri.css'
- Fixed names in LICENSE, footer and other files - Fixed names in LICENSE, footer and other files
## [v1.0.0] ## [v1.0.0]
[Added] #### Added
- Possibility to show a warning in disco-tpl - Possibility to show a warning in disco-tpl
- Added License - Added License
- Added badges to README - Added badges to README
[Changed] #### Changed
- Filling email is now required for reporting error - Filling email is now required for reporting error
- Changed help-block text for email in report error form - Changed help-block text for email in report error form
- Whole module now uses a dictionary - Whole module now uses a dictionary
[Unreleased]: https://github.com/CESNET/bbmri-aai-proxy-idp-template/tree/master [Unreleased]: https://github.com/CESNET/bbmri-aai-proxy-idp-template/tree/master
[v2.3.0]: https://github.com/CESNET/bbmri-aai-proxy-idp-template/tree/v2.3.0
[v2.2.0]: https://github.com/CESNET/bbmri-aai-proxy-idp-template/tree/v2.2.0
[v2.1.1]: https://github.com/CESNET/bbmri-aai-proxy-idp-template/tree/v2.1.1 [v2.1.1]: https://github.com/CESNET/bbmri-aai-proxy-idp-template/tree/v2.1.1
[v2.1.0]: https://github.com/CESNET/bbmri-aai-proxy-idp-template/tree/v2.1.0 [v2.1.0]: https://github.com/CESNET/bbmri-aai-proxy-idp-template/tree/v2.1.0
[v2.0.0]: https://github.com/CESNET/bbmri-aai-proxy-idp-template/tree/v2.0.0 [v2.0.0]: https://github.com/CESNET/bbmri-aai-proxy-idp-template/tree/v2.0.0
......
BSD 2-Clause License BSD 3-Clause License
Copyright (c) 2017, BBMRI-ERIC Copyright (c) 2022, CESNET, z. s. p. o. and Institute of Computer Science, Masaryk University
All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met: modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this 1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer. list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, 2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution. and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
...@@ -22,4 +25,4 @@ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ...@@ -22,4 +25,4 @@ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
# bbmri-aai-proxy-idp-template # bbmri-aai-proxy-idp-template
[![Latest Stable Version](https://poser.pugx.org/bbmri/simplesamlphp-module-bbmri/v/stable)](https://packagist.org/packages/bbmri/simplesamlphp-module-bbmri)
[![Latest Unstable Version](https://poser.pugx.org/bbmri/simplesamlphp-module-bbmri/v/unstable)](https://packagist.org/packages/bbmri/simplesamlphp-module-bbmri)
[![CodeFactor](https://www.codefactor.io/repository/github/cesnet/bbmri-aai-proxy-idp-template/badge)](https://www.codefactor.io/repository/github/cesnet/bbmri-aai-proxy-idp-template)
[![License](https://poser.pugx.org/bbmri/simplesamlphp-module-bbmri/license)](https://packagist.org/packages/bbmri/simplesamlphp-module-bbmri)
Template for BBMRI AAI Proxy IdP component Template for BBMRI AAI Proxy IdP component
## Instalation ## Contribution
`php composer.phar require bbmri/simplesamlphp-module-bbmri`
\ No newline at end of file This repository uses [Conventional Commits](https://www.npmjs.com/package/@commitlint/config-conventional).
Any change that significantly changes behavior in a backward-incompatible way or requires a configuration change must be marked as BREAKING CHANGE.
### Available scopes:
- theme
## Instalation
`php composer.phar require`
{ {
"name": "bbmri/simplesamlphp-module-bbmri", "name": "bbmri/simplesamlphp-module-bbmri",
"description": "A SimpleSAMLphp module providing template for DiscoPower and user-facing parts of the SSP for BBMRI-ERIC", "description": "A SimpleSAMLphp module providing template for DiscoPower and user-facing parts of the SSP for BBMRI-ERIC",
"version": "2.2.0-dev", "type": "simplesamlphp-module",
"type": "simplesamlphp-module", "keywords": [
"keywords": ["BBMRI", "bbmri", "BBMRI-ERIC", "bbmri-eric", "simplesamlphp"], "BBMRI",
"license": "BSD-2-Clause", "bbmri",
"authors": [ "BBMRI-ERIC",
{ "bbmri-eric",
"name": "Pavel Vyskocil", "simplesamlphp"
"email": "vyskocilpavel@muni.cz" ],
}, "license": "BSD-3-Clause",
{ "require": {
"name": "Michal Prochazka", "simplesamlphp/composer-module-installer": "~1.0"
"email": "michalp@ics.muni.cz" },
} "config": {
], "platform": {
"require": { "php": "7.4"
"simplesamlphp/composer-module-installer": "~1.0" },
"allow-plugins": {
"simplesamlphp/composer-module-installer": true
} }
},
"authors": [
{
"name": "Perun proxy AAI team",
"email": "proxyidp@cesnet.cz"
}
]
} }
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "f94a656cb4cddb12a0859e09f91dd45c",
"packages": [
{
"name": "simplesamlphp/assert",
"version": "v0.8.0",
"source": {
"type": "git",
"url": "https://github.com/simplesamlphp/assert.git",
"reference": "d3b0f38f4ae083822471c15e3c4a0401ddaeac73"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/simplesamlphp/assert/zipball/d3b0f38f4ae083822471c15e3c4a0401ddaeac73",
"reference": "d3b0f38f4ae083822471c15e3c4a0401ddaeac73",
"shasum": ""
},
"require": {
"ext-spl": "*",
"php": "^7.4 || ^8.0",
"webmozart/assert": "^1.11"
},
"require-dev": {
"simplesamlphp/simplesamlphp-test-framework": "^1.2.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "v0.8.x-dev"
}
},
"autoload": {
"psr-4": {
"SimpleSAML\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-2.1-or-later"
],
"authors": [
{
"name": "Tim van Dijen",
"email": "tvdijen@gmail.com"
},
{
"name": "Jaime Perez Crespo",
"email": "jaimepc@gmail.com"
}
],
"description": "A wrapper around webmozart/assert to make it useful beyond checking method arguments",
"support": {
"issues": "https://github.com/simplesamlphp/assert/issues",
"source": "https://github.com/simplesamlphp/assert/tree/v0.8.0"
},
"time": "2022-09-20T20:18:55+00:00"
},
{
"name": "simplesamlphp/composer-module-installer",
"version": "v1.3.4",
"source": {
"type": "git",
"url": "https://github.com/simplesamlphp/composer-module-installer.git",
"reference": "36508ed9580a30c4d5ab0bb3c25c00d0b5d42946"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/simplesamlphp/composer-module-installer/zipball/36508ed9580a30c4d5ab0bb3c25c00d0b5d42946",
"reference": "36508ed9580a30c4d5ab0bb3c25c00d0b5d42946",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.1 || ^2.0",
"php": "^7.4 || ^8.0",
"simplesamlphp/assert": "^0.8.0 || ^1.0"
},
"require-dev": {
"composer/composer": "^2.4",
"simplesamlphp/simplesamlphp-test-framework": "^1.2.1"
},
"type": "composer-plugin",
"extra": {
"class": "SimpleSAML\\Composer\\ModuleInstallerPlugin"
},
"autoload": {
"psr-4": {
"SimpleSAML\\Composer\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-2.1-only"
],
"description": "A Composer plugin that allows installing SimpleSAMLphp modules through Composer.",
"support": {
"issues": "https://github.com/simplesamlphp/composer-module-installer/issues",
"source": "https://github.com/simplesamlphp/composer-module-installer/tree/v1.3.4"
},
"time": "2023-03-08T20:58:22+00:00"
},
{
"name": "webmozart/assert",
"version": "1.11.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
"reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
"reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"php": "^7.2 || ^8.0"
},
"conflict": {
"phpstan/phpstan": "<0.12.20",
"vimeo/psalm": "<4.6.1 || 4.6.2"
},
"require-dev": {
"phpunit/phpunit": "^8.5.13"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.10-dev"
}
},
"autoload": {
"psr-4": {
"Webmozart\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "Assertions to validate method input/output with nice error messages.",
"keywords": [
"assert",
"check",
"validate"
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
"source": "https://github.com/webmozarts/assert/tree/1.11.0"
},
"time": "2022-06-03T18:03:27+00:00"
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": [],
"platform-dev": [],
"platform-overrides": {
"php": "7.4"
},
"plugin-api-version": "2.3.0"
}
<?php
/**
* This config template is able to show a warning to a user.
*/
$config = array(
/**
* When true, the config file is switched on.
*/
'isOn' => true,
/**
* When true, user is able to continue.
*/
'userCanContinue' => true,
/**
* Title of the warning. It is possible to use HTML.
*/
'title' => '<b> Title of the warning </b>',
/**
* Text of the warning. It is possible to use HTML.
*/
'text' => '<p> Due to maintenance it won\'t be possible to access our service from <b>1.1.2018 2:00</b> to <b>1.1.2018 4:00</b> </p>',
);
{
"error_report_email_message": {
"en": "Please provide your mail so that we can contact you for further information or let you know the issue was fixed."
},
"error_number": {
"en": "Error number: "
},
"error_id": {
"en": "Error ID"
},
"note": {
"en": "Note:"
},
"browser_not_support_javascript": {
"en": " Since your browser does not support JavaScript, you must press the button below once to proceed."
},
"previous_selection": {
"en": "your previous selection"
},
"cannot_find_institution": {
"en": "Don't have an account? Create it by clicking the button below or contact us at "
},
"create_account_hostel": {
"en": "Create account at Hostel"
},
"create_account_lifeScienceHostel": {
"en": "Create account at LifeScience Hostel"
},
"cannot_find_institution_extended": {
"en": "Can't find your institution? Select it in extended list and help us "
},
"more": {
"en": "more "
},
"type_name_institution": {
"en": "Type the name of your institution"
},
"institutional_account": {
"en": "your institutional account"
},
"add_institution": {
"en": "Add your institution"
},
"warning": {
"en": "Warning!"
}
}
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["local>perun-proxy-aai/renovate-config"]
}
<?php <?php
/**
* Template form for giving consent.
*
* Parameters:
* - 'srcMetadata': Metadata/configuration for the source.
* - 'dstMetadata': Metadata/configuration for the destination.
* - 'yesTarget': Target URL for the yes-button. This URL will receive a POST request.
* - 'yesData': Parameters which should be included in the yes-request.
* - 'noTarget': Target URL for the no-button. This URL will receive a GET request.
* - 'noData': Parameters which should be included in the no-request.
* - 'attributes': The attributes which are about to be released.
* - 'sppp': URL to the privacy policy of the destination, or FALSE.
*
* @package SimpleSAMLphp
*/
assert('is_array($this->data["srcMetadata"])');
assert('is_array($this->data["dstMetadata"])');
assert('is_string($this->data["yesTarget"])');
assert('is_array($this->data["yesData"])');
assert('is_string($this->data["noTarget"])');
assert('is_array($this->data["noData"])');
assert('is_array($this->data["attributes"])');
assert('is_array($this->data["hiddenAttributes"])');
assert('$this->data["sppp"] === false || is_string($this->data["sppp"])');
// Parse parameters declare(strict_types=1);
if (array_key_exists('name', $this->data['srcMetadata'])) {
$srcName = $this->data['srcMetadata']['name'];
} elseif (array_key_exists('OrganizationDisplayName', $this->data['srcMetadata'])) {
$srcName = $this->data['srcMetadata']['OrganizationDisplayName'];
} else {
$srcName = $this->data['srcMetadata']['entityid'];
}
if (is_array($srcName)) { include \SimpleSAML\Module::getModuleDir('perun') . '/themes/perun/consent/consentform.php';
$srcName = $this->t($srcName);
}
if (array_key_exists('name', $this->data['dstMetadata'])) {
$dstName = $this->data['dstMetadata']['name'];
} elseif (array_key_exists('OrganizationDisplayName', $this->data['dstMetadata'])) {
$dstName = $this->data['dstMetadata']['OrganizationDisplayName'];
} else {
$dstName = $this->data['dstMetadata']['entityid'];
}
if (is_array($dstName)) {
$dstName = $this->t($dstName);
}
$srcName = htmlspecialchars($srcName);
$dstName = htmlspecialchars($dstName);
$attributes = $this->data['attributes'];
$this->data['header'] = $this->t('{consent:consent:consent_header}');
$this->data['head'] = '<link rel="stylesheet" media="screen" type="text/css" href="' . SimpleSAML\Module::getModuleUrl('consent/style.css') . '" />';
$this->data['head'] .= '<link rel="stylesheet" media="screen" type="text/css" href="' . SimpleSAML\Module::getModuleUrl('bbmri/res/css/consent.css') . '" />';
$this->includeAtTemplateBase('includes/header.php');
?>
<?php
/*
echo $this->t(
'{consent:consent:consent_accept}',
array( 'SPNAME' => $dstName, 'IDPNAME' => $srcName)
);
*/
if (array_key_exists('descr_purpose', $this->data['dstMetadata'])) {
echo '</p><p>' . $this->t(
'{consent:consent:consent_purpose}',
array(
'SPNAME' => $dstName,
'SPDESC' => $this->getTranslation(
SimpleSAML\Utils\Arrays::arrayize(
$this->data['dstMetadata']['descr_purpose'],
'en'
)
),
)
);
}
?>
<?php
if ($this->data['sppp'] !== false) {
echo "<p>" . htmlspecialchars($this->t('{consent:consent:consent_privacypolicy}')) . " ";
echo "<a target='_blank' href='" . htmlspecialchars($this->data['sppp']) . "'>" . $dstName . "</a>";
echo "</p>";
}
echo '<h3 id="attributeheader">' .
$this->t(
'{consent:consent:consent_attributes_header}',
array( 'SPNAME' => $dstName, 'IDPNAME' => $srcName)
) .
'</h3>';
echo present_attributes($this, $attributes, '');
?>
<div class="row">
<div class="col-xs-6">
<form action="<?php echo htmlspecialchars($this->data['yesTarget']); ?>">
<?php
if ($this->data['usestorage']) {
$checked = ($this->data['checked'] ? 'checked="checked"' : '');
echo '<div class="checkbox">
<label>
<input type="checkbox" name="saveconsent" value="1" /> ' . $this->t('{perun:consent:remember}') . '
</label>
</div>';
}
?>
<?php
// Embed hidden fields...
foreach ($this->data['yesData'] as $name => $value) {
echo '<input type="hidden" name="' . htmlspecialchars($name) .
'" value="' . htmlspecialchars($value) . '" />';
}
?>
<button type="submit" name="yes" class="btn btn-lg btn-success btn-block" id="yesbutton">
<?php echo htmlspecialchars($this->t('{consent:consent:yes}')) ?>
</button>
</form>
</div>
<div class="col-xs-6">
<form action="<?php echo htmlspecialchars($this->data['noTarget']); ?>">
<?php
foreach ($this->data['noData'] as $name => $value) {
echo('<input type="hidden" name="' . htmlspecialchars($name) .
'" value="' . htmlspecialchars($value) . '" />');
}
?>
<button type="submit" class="btn btn-lg btn-default btn-block btn-no" name="no" id="nobutton">
<?php echo htmlspecialchars($this->t('{consent:consent:no}')) ?>
</button>
</form>
</div>
</div>
<?php
$this->includeAtTemplateBase('includes/footer.php');
<?php <?php
if (array_key_exists('name', $this->data['dstMetadata'])) { declare(strict_types=1);
$dstName = $this->data['dstMetadata']['name'];
} elseif (array_key_exists('OrganizationDisplayName', $this->data['dstMetadata'])) {
$dstName = $this->data['dstMetadata']['OrganizationDisplayName'];
} else {
$dstName = $this->data['dstMetadata']['entityid'];
}
if (is_array($dstName)) {
$dstName = $this->t($dstName);
}
$dstName = htmlspecialchars($dstName);
include \SimpleSAML\Module::getModuleDir('perun') . '/themes/perun/consent/noconsent.php';
$this->data['header'] = $this->t('{consent:consent:noconsent_title}');;
$this->data['head'] = '<link rel="stylesheet" media="screen" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />';
$this->data['head'] .= '<link rel="stylesheet" media="screen" type="text/css" href="' . SimpleSAML\Module::getModuleUrl('bbmri/res/css/consent.css') . '" />';
$this->includeAtTemplateBase('includes/header.php');
echo '<p>' . $this->t('{consent:consent:noconsent_text}', array('SPNAME' => $dstName)) . '</p>';
if ($this->data['resumeFrom']) {
echo('<p><a class="btn btn-default" href="' . htmlspecialchars($this->data['resumeFrom']) . '">');
echo('<i class="glyphicon glyphicon-chevron-left"></i> ');
echo($this->t('{consent:consent:noconsent_return}'));
echo('</a></p>');
}
if ($this->data['aboutService']) {
echo('<p><a href="' . htmlspecialchars($this->data['aboutService']) . '">');
echo('<i class="glyphicon glyphicon-info-sign"></i> ');
echo($this->t('{consent:consent:noconsent_goto_about}'));
echo('</a></p>');
}
echo('<p><a class="btn btn-default" href="' . htmlspecialchars($this->data['logoutLink']) . '">');
echo('<i class="glyphicon glyphicon-ban-circle"></i> ');
echo($this->t('{consent:consent:abort}', array('SPNAME' => $dstName)));
echo('</a></p>');
$this->includeAtTemplateBase('includes/footer.php');
<?php <?php
$this->data['header'] = $this->t('{login:user_pass_header}');
if (strlen($this->data['username']) > 0) { declare(strict_types=1);
$this->data['autofocus'] = 'password';
} else {
$this->data['autofocus'] = 'username';
}
$this->includeAtTemplateBase('includes/header.php');
?> include \SimpleSAML\Module::getModuleDir('perun') . '/themes/perun/core/loginuserpass.php';
<?php
if ($this->data['errorcode'] !== null) {
?>
<div class="alert alert-danger" >
<span class="glyphicon glyphicon-exclamation-sign" style="float:left; font-size: 38px; margin-right: 10px;"></span>
<strong>
<?php
echo htmlspecialchars($this->t(
'{errors:title_'.$this->data['errorcode'].'}',
$this->data['errorparams']
));
?>
</strong>
<?php
echo htmlspecialchars($this->t(
'{errors:descr_'.$this->data['errorcode'].'}',
$this->data['errorparams']
));
?>
</div>
<?php
}
?>
<p><?php echo $this->t('{login:user_pass_text}'); ?></p>
<br>
<form action="?" method="post" name="f" class="form-horizontal">
<div class="form-group">
<label for="username" class="col-sm-2 control-label"><?php echo $this->t('{login:username}'); ?></label>
<div class="col-sm-10">
<input id="username" <?php echo ($this->data['forceUsername']) ? 'disabled="disabled"' : ''; ?>
type="text" name="username" class="form-control"
<?php if (!$this->data['forceUsername']) {
echo 'tabindex="1"';
} ?> value="<?php echo htmlspecialchars($this->data['username']); ?>"/>
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-2 control-label"><?php echo $this->t('{login:password}'); ?></label>
<div class="col-sm-10">
<input id="password" type="password" tabindex="2" name="password" class="form-control"/>
</div>
</div>
<?php
if ($this->data['rememberUsernameEnabled'] && !$this->data['forceUsername']) {
// display the "remember my username" checkbox
?>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox" id="remember_username" tabindex="4"
<?php echo ($this->data['rememberUsernameChecked']) ? 'checked="checked"' : ''; ?>
name="remember_username" value="Yes"/>
<?php echo $this->t('{login:remember_username}'); ?>
</label>
</div>
</div>
</div>
<?php
}
?>
<?php
if ($this->data['rememberMeEnabled']) {
// display the remember me checkbox (keep me logged in)
?>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox" id="remember_me" tabindex="5"
<?php echo ($this->data['rememberMeChecked']) ? 'checked="checked"' : ''; ?>
name="remember_me" value="Yes"/>
<?php echo $this->t('{login:remember_me}'); ?>
</label>
</div>
</div>
</div>
<?php
}
?>
<?php
if (array_key_exists('organizations', $this->data)) {
?>
<div class="form-group">
<label for="organization" class="col-sm-2 control-label"><?php echo $this->t('{login:organization}'); ?></label>
<div class="col-sm-10">
<select name="organization" tabindex="3" class="form-control">
<?php
if (array_key_exists('selectedOrg', $this->data)) {
$selectedOrg = $this->data['selectedOrg'];
} else {
$selectedOrg = null;
}
foreach ($this->data['organizations'] as $orgId => $orgDesc) {
if (is_array($orgDesc)) {
$orgDesc = $this->t($orgDesc);
}
if ($orgId === $selectedOrg) {
$selected = 'selected="selected" ';
} else {
$selected = '';
}
echo '<option '.$selected.'value="'.htmlspecialchars($orgId).'">'.htmlspecialchars($orgDesc).'</option>';
}
?>
</select>
</div>
</div>
<?php
}
?>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button class="btn btn-success"
onclick="this.value='<?php echo $this->t('{login:processing}'); ?>';
this.disabled=true; this.form.submit(); return true;" tabindex="6">
<?php echo $this->t('{login:login_button}'); ?>
</button>
</div>
</div>
<?php
foreach ($this->data['stateparams'] as $name => $value) {
echo('<input type="hidden" name="'.htmlspecialchars($name).'" value="'.htmlspecialchars($value).'" />');
}
?>
</form>
<?php
if (!empty($this->data['links'])) {
echo '<ul class="links" style="margin-top: 2em">';
foreach ($this->data['links'] as $l) {
echo '<li><a href="'.htmlspecialchars($l['href']).'">'.htmlspecialchars($this->t($l['text'])).'</a></li>';
}
echo '</ul>';
}
$this->includeAtTemplateBase('includes/footer.php');
<?php <?php
$this->data['header'] = '<i class="glyphicon glyphicon-exclamation-sign text-danger"></i> '. $this->t($this->data['dictTitle']);
$this->data['head'] = <<<EOF declare(strict_types=1);
<meta name="robots" content="noindex, nofollow" />
<meta name="googlebot" content="noarchive, nofollow" />
EOF;
$this->data['head'] .= '<script src="' . SimpleSAML\Module::getModuleUrl('bbmri/res/js/jquery.js') . '" ></script>'; include \SimpleSAML\Module::getModuleDir('perun') . '/themes/perun/default/error.php';
$this->data['head'] .= '<script src="' . SimpleSAML\Module::getModuleUrl('bbmri/res/bootstrap/js/bootstrap.min.js') . '" ></script>';
$this->includeAtTemplateBase('includes/header.php');
?>
<p>
<?php
echo htmlspecialchars($this->t($this->data['dictDescr'], $this->data['parameters']));
?>
<a href="#moreInfo" data-toggle="collapse"><?php echo $this->t('{bbmri:bbmri:more}'); ?><span class="caret"></span></a>
</p>
<?php
// include optional information for error
if (isset($this->data['includeTemplate'])) {
$this->includeAtTemplateBase($this->data['includeTemplate']);
}
?>
<div id="moreInfo" class="collapse">
<p id="trackid" class="input-left"><?php echo $this->t('{bbmri:bbmri:error_number}'); ?><?php echo $this->data['error']['trackId']; ?></p>
<?php
// print out exception only if the exception is available
if ($this->data['showerrors']) {
?>
<p style="margin: 1px"><?php echo htmlspecialchars($this->data['error']['exceptionMsg']); ?></p>
<pre style="padding: 1em; font-family: monospace;"><?php
echo htmlspecialchars($this->data['error']['exceptionTrace']);
?></pre>
<?php
}
?>
</div>
<?php
/* Add error report submit section if we have a valid technical contact. 'errorreportaddress' will only be set if
* the technical contact email address has been set.
*/
if (isset($this->data['errorReportAddress'])) {
?>
<br>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><?php echo $this->t('report_header'); ?></h3>
</div>
<div class="panel-body">
<form action="<?php echo htmlspecialchars($this->data['errorReportAddress']); ?>" method="post" class="form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label" for="reportId"><?php echo $this->t('{bbmri:bbmri:error_id}'); ?></label>
<div class="col-sm-10">
<input name="reportId" type="text" class="form-control" id="reportId" value="<?php echo $this->data['error']['reportId']; ?>" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="email"><?php echo $this->t('report_email'); ?></label>
<div class="col-sm-10">
<input name="email" type="email" class="form-control" id="email" placeholder="Email" required>
<span class="help-block"><?php echo $this->t('{bbmri:bbmri:error_report_email_message}');?></span>
</div>
</div>
<div class="form-group">
<div class="col-sm-12">
<textarea name="text" class="form-control" rows="3" placeholder="<?php echo $this->t('report_explain'); ?>"></textarea>
</div>
</div>
<button type="submit" name="send" class="btn btn-primary"><?php echo $this->t('report_submit'); ?></button>
</form>
</div>
</div>
<?php
}
?>
<?php
$this->includeAtTemplateBase('includes/footer.php');
<?php <?php
$this->data['header'] = $this->t('errorreport_header');
$this->includeAtTemplateBase('includes/header.php');
?>
<p><?php echo $this->t('errorreport_text'); ?></p> declare(strict_types=1);
<?php $this->includeAtTemplateBase('includes/footer.php'); include \SimpleSAML\Module::getModuleDir('perun') . '/themes/perun/default/errorreport.php';
<?php <?php
if(!empty($this->data['htmlinject']['htmlContentPost'])) {
foreach($this->data['htmlinject']['htmlContentPost'] AS $c) { declare(strict_types=1);
echo $c;
} use SimpleSAML\Module;
if (! empty($this->data['htmlinject']['htmlContentPost'])) {
foreach ($this->data['htmlinject']['htmlContentPost'] as $c) {
echo $c;
}
} }
?> ?>
</div><!-- #content --> </div><!-- #content -->
...@@ -12,21 +17,20 @@ if(!empty($this->data['htmlinject']['htmlContentPost'])) { ...@@ -12,21 +17,20 @@ if(!empty($this->data['htmlinject']['htmlContentPost'])) {
<div style="margin: 0px auto; max-width: 1000px;"> <div style="margin: 0px auto; max-width: 1000px;">
<div style="float: left;"> <div style="float: left;">
<img src="<?php echo SimpleSAML\Module::getModuleUrl('bbmri/res/img/BBMRI-ERIC-gateway-for-health_216.png') ?>"> <img src="<?php echo Module::getModuleUrl('bbmri/res/img/BBMRI-ERIC-gateway-for-health_216.png') ?>">
</div> </div>
<div style="float: left;"> <div style="float: left;">
<p>BBMRI-ERIC, Neue Stiftingtalstrasse 2/B/6, 8010 Graz, Austria <p>BBMRI-ERIC, Neue Stiftingtalstrasse 2/B/6, 8010 Graz, Austria
&nbsp; &nbsp; +43 316 34 99 17-0 &nbsp; &nbsp; &nbsp; +43 316 34 99 17-0 &nbsp;
<a href="mailto:contact@bbmri_eric.eu">contact@bbmri_eric.eu</a> <a href="mailto:contact@bbmri-eric.eu">contact@bbmri-eric.eu</a>
</p> </p>
<p>Copyright © BBMRI-ERIC <?php echo date("Y"); ?> </p> <p>Copyright © BBMRI-ERIC <?php echo date('Y'); ?> </p>
</div> </div>
</div> </div>
</div><!-- #footer --> </div><!-- #footer -->
</body> </body>
</html> </html>
<?php <?php
declare(strict_types=1);
use SimpleSAML\Module;
/** /*
* Support the htmlinject hook, which allows modules to change header, pre and post body on all pages. * Support the htmlinject hook, which allows modules to change header, pre and post body on all pages.
*/ */
$this->data['htmlinject'] = array(
'htmlContentPre' => array(),
'htmlContentPost' => array(),
'htmlContentHead' => array(),
);
$this->data['htmlinject'] = [
'htmlContentPre' => [],
'htmlContentPost' => [],
'htmlContentHead' => [],
];
$jquery = array(); $jquery = [];
if (array_key_exists('jquery', $this->data)) $jquery = $this->data['jquery']; if (array_key_exists('jquery', $this->data)) {
$jquery = $this->data['jquery'];
}
if (array_key_exists('pageid', $this->data)) { if (array_key_exists('pageid', $this->data)) {
$hookinfo = array( $hookinfo = [
'pre' => &$this->data['htmlinject']['htmlContentPre'], 'pre' => &$this->data['htmlinject']['htmlContentPre'],
'post' => &$this->data['htmlinject']['htmlContentPost'], 'post' => &$this->data['htmlinject']['htmlContentPost'],
'head' => &$this->data['htmlinject']['htmlContentHead'], 'head' => &$this->data['htmlinject']['htmlContentHead'],
'jquery' => &$jquery, 'jquery' => &$jquery,
'page' => $this->data['pageid'] 'page' => $this->data['pageid'],
); ];
SimpleSAML\Module::callHooks('htmlinject', $hookinfo); Module::callHooks('htmlinject', $hookinfo);
} }
// - o - o - o - o - o - o - o - o - o - o - o - o - // - o - o - o - o - o - o - o - o - o - o - o - o -
/** /**
* Do not allow to frame SimpleSAMLphp pages from another location. * Do not allow to frame SimpleSAMLphp pages from another location. This prevents clickjacking attacks in modern
* This prevents clickjacking attacks in modern browsers. * browsers.
* *
* If you don't want any framing at all you can even change this to * If you don't want any framing at all you can even change this to 'DENY', or comment it out if you actually want to
* 'DENY', or comment it out if you actually want to allow foreign * allow foreign sites to put SimpleSAMLphp in a frame. The latter is however probably not a good security practice.
* sites to put SimpleSAMLphp in a frame. The latter is however
* probably not a good security practice.
*/ */
header('X-Frame-Options: SAMEORIGIN'); header('X-Frame-Options: SAMEORIGIN');
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0"/>
<script type="text/javascript" src="/<?php echo $this->data['baseurlpath']; ?>resources/script.js"></script> <script type="text/javascript" src="/<?php echo $this->data['baseurlpath']; ?>resources/script.js"></script>
<title><?php <title><?php
if(array_key_exists('header', $this->data)) { if (array_key_exists('header', $this->data)) {
echo $this->data['header']; echo $this->data['header'];
} else { } else {
echo 'SimpleSAMLphp'; echo 'SimpleSAMLphp';
} }
?></title> ?></title>
<link rel="stylesheet" type="text/css" href="/<?php echo $this->data['baseurlpath']; ?>resources/default.css" /> <link rel="stylesheet" type="text/css" href="/<?php echo $this->data['baseurlpath']; ?>resources/default.css"/>
<link rel="icon" type="image/icon" href="<?php echo SimpleSAML\Module::getModuleUrl('bbmri/res/img/icons/favicon.ico'); ?>" /> <link rel="icon" type="image/icon"
href="<?php echo Module::getModuleUrl('bbmri/res/img/icons/favicon.ico'); ?>"/>
<?php
<?php
if(!empty($jquery)) {
$version = '1.8'; if (! empty($jquery)) {
if (array_key_exists('version', $jquery)) $version = '1.8';
$version = $jquery['version']; if (array_key_exists('version', $jquery)) {
$version = $jquery['version'];
if ($version == '1.8') { }
if (isset($jquery['core']) && $jquery['core'])
echo('<script type="text/javascript" src="/' . $this->data['baseurlpath'] . 'resources/jquery-1.8.js"></script>' . "\n"); if ($version === '1.8') {
if (isset($jquery['core']) && $jquery['core']) {
if (isset($jquery['ui']) && $jquery['ui']) echo '<script type="text/javascript" src="/' . $this->data['baseurlpath'] .
echo('<script type="text/javascript" src="/' . $this->data['baseurlpath'] . 'resources/jquery-ui-1.8.js"></script>' . "\n"); 'resources/jquery-1.8.js"></script>' . "\n";
}
if (isset($jquery['css']) && $jquery['css'])
echo('<link rel="stylesheet" media="screen" type="text/css" href="/' . $this->data['baseurlpath'] . if (isset($jquery['ui']) && $jquery['ui']) {
'resources/uitheme1.8/jquery-ui.css" />' . "\n"); echo '<script type="text/javascript" src="/' . $this->data['baseurlpath'] .
} 'resources/jquery-ui-1.8.js"></script>' . "\n";
} }
if (isset($this->data['clipboard.js'])) { if (isset($jquery['css']) && $jquery['css']) {
echo '<script type="text/javascript" src="/'. $this->data['baseurlpath'] . echo '<link rel="stylesheet" media="screen" type="text/css" href="/' . $this->data['baseurlpath'] .
'resources/clipboard.min.js"></script>'."\n"; 'resources/uitheme1.8/jquery-ui.css" />' . "\n";
} }
}
if(!empty($this->data['htmlinject']['htmlContentHead'])) { }
foreach($this->data['htmlinject']['htmlContentHead'] AS $c) {
echo $c; if (isset($this->data['clipboard.js'])) {
} echo '<script type="text/javascript" src="/' . $this->data['baseurlpath'] .
} 'resources/clipboard.min.js"></script>' . "\n";
}
if (! empty($this->data['htmlinject']['htmlContentHead'])) {
foreach ($this->data['htmlinject']['htmlContentHead'] as $c) {
if ($this->isLanguageRTL()) { echo $c;
?> }
<link rel="stylesheet" type="text/css" href="/<?php echo $this->data['baseurlpath']; ?>resources/default-rtl.css" /> }
<?php
} if ($this->isLanguageRTL()) {
?> ?>
<link rel="stylesheet" type="text/css"
<link rel="stylesheet" type="text/css" href="<?php echo SimpleSAML\Module::getModuleUrl('bbmri/res/bootstrap/css/bootstrap.min.css'); ?>" /> href="/<?php echo $this->data['baseurlpath']; ?>resources/default-rtl.css"/>
<link rel="stylesheet" type="text/css" href="<?php echo SimpleSAML\Module::getModuleUrl('bbmri/res/css/bbmri.css'); ?>" /> <?php
}
<meta name="robots" content="noindex, nofollow" /> ?>
<link rel="stylesheet" type="text/css"
<?php href="<?php echo Module::getModuleUrl('bbmri/res/bootstrap/css/bootstrap.min.css'); ?>"/>
if(array_key_exists('head', $this->data)) { <link rel="stylesheet" type="text/css"
echo '<!-- head -->' . $this->data['head'] . '<!-- /head -->'; href="<?php echo Module::getModuleUrl('bbmri/res/css/bbmri.css'); ?>"/>
}
?> <meta name="robots" content="noindex, nofollow"/>
<?php
if (array_key_exists('head', $this->data)) {
echo '<!-- head -->' . $this->data['head'] . '<!-- /head -->';
}
?>
</head> </head>
<?php <?php
$onLoad = ''; $onLoad = '';
if(array_key_exists('autofocus', $this->data)) { if (array_key_exists('autofocus', $this->data)) {
$onLoad .= 'SimpleSAML_focus(\'' . $this->data['autofocus'] . '\');'; $onLoad .= 'SimpleSAML_focus(\'' . $this->data['autofocus'] . '\');';
} }
if (isset($this->data['onLoad'])) { if (isset($this->data['onLoad'])) {
$onLoad .= $this->data['onLoad']; $onLoad .= $this->data['onLoad'];
} }
if($onLoad !== '') { if ($onLoad !== '') {
$onLoad = ' onload="' . $onLoad . '"'; $onLoad = ' onload="' . $onLoad . '"';
} }
?> ?>
<body<?php echo $onLoad; ?>> <body<?php echo $onLoad; ?>>
<div id="wrap"> <div id="wrap">
<div id="header">
<img src="<?php echo SimpleSAML\Module::getModuleUrl('bbmri/res/img/BBMRI-ERIC-gateway-for-health_430.png'); ?>" alt="BBMRI-ERIC logo">
<h1>
<?php
echo (isset($this->data['header']) ? $this->data['header'] : 'BBMRI-ERIC proxy IdP');
?>
</h1>
</div>
<div id="content">
<div id="header">
<img src="<?php echo Module::getModuleUrl('bbmri/res/img/BBMRI-ERIC-gateway-for-health_430.png'); ?>"
alt="BBMRI-ERIC logo">
<h1>
<?php
echo isset($this->data['header']) ? $this->data['header'] : 'BBMRI-ERIC proxy IdP';
?>
</h1>
</div>
<div id="content">
<?php <?php
if(!empty($this->data['htmlinject']['htmlContentPre'])) { if (! empty($this->data['htmlinject']['htmlContentPre'])) {
foreach($this->data['htmlinject']['htmlContentPre'] AS $c) { foreach ($this->data['htmlinject']['htmlContentPre'] as $c) {
echo $c; echo $c;
} }
} }