openrat-cms

OpenRat Content Management System
git clone http://git.code.weiherhei.de/openrat-cms.git
Log | Files | Refs | README

commit 1c25ad2ec929c2b9142c714a830e465d29d36f57
parent 087806f7c37df37ff6648f82fadbf018eccbd67c
Author: Jan Dankert <develop@jandankert.de>
Date:   Sat, 31 Oct 2020 00:55:00 +0100

Fix: OpenId-Connect-Buttons must be clickable; Fixed OpenId-Connect configuration.

Diffstat:
Mmodules/cms/action/LoginAction.class.php | 2+-
Mmodules/cms/ui/themes/default/html/views/login/login.php | 2+-
Mmodules/cms/ui/themes/default/html/views/login/login.tpl.src.xml | 2+-
Mmodules/cms/ui/themes/default/script/openrat.js | 2+-
Mmodules/cms/ui/themes/default/script/openrat.min.js | 2+-
Mmodules/cms/ui/themes/default/script/plugin/jquery-plugin-orLinkify.js | 2+-
Rmodules/openid_connect/OpenIDConnectClient.php -> modules/openid_connect/OpenIDConnectClient.class.php | 0
7 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/modules/cms/action/LoginAction.class.php b/modules/cms/action/LoginAction.class.php @@ -171,7 +171,7 @@ class LoginAction extends BaseAction $providerName = $this->request->getRequiredRequestVar('id',RequestParams::FILTER_ALPHANUM); - $providerConfig = Configuration::subset(['security']['oidc']['provider'][$providerName]); + $providerConfig = Configuration::subset(['security','oidc','provider',$providerName]); $oidc = new OpenIDConnectClient(); $oidc->setProviderURL ( $providerConfig->get('url' )); diff --git a/modules/cms/ui/themes/default/html/views/login/login.php b/modules/cms/ui/themes/default/html/views/login/login.php @@ -40,7 +40,7 @@ </h2> <div class="<?php echo O::escapeHtml('or-collapsible-value or-group-value') ?>"><?php echo O::escapeHtml('') ?> <?php foreach((array)$provider as $name=>$label) { ?> - <a target="<?php echo O::escapeHtml('_self') ?>" data-type="<?php echo O::escapeHtml('window') ?>" data-action="<?php echo O::escapeHtml('login') ?>" data-method="<?php echo O::escapeHtml('oidc') ?>" data-id="<?php echo O::escapeHtml(''.@$name.'') ?>" data-extra="<?php echo O::escapeHtml('[]') ?>" href="<?php echo O::escapeHtml('#/login/'.@$name.'') ?>" class="<?php echo O::escapeHtml('or-link or-btn') ?>"><?php echo O::escapeHtml('') ?> + <a target="<?php echo O::escapeHtml('_self') ?>" data-type="<?php echo O::escapeHtml('window') ?>" data-action="<?php echo O::escapeHtml('login') ?>" data-method="<?php echo O::escapeHtml('oidc') ?>" data-id="<?php echo O::escapeHtml(''.@$name.'') ?>" data-extra="<?php echo O::escapeHtml('[]') ?>" href="<?php echo O::escapeHtml('#/login/'.@$name.'') ?>" class="<?php echo O::escapeHtml('or-link or-btn or-act-clickable') ?>"><?php echo O::escapeHtml('') ?> <span><?php echo O::escapeHtml(''.@$label.'') ?> </span> </a> diff --git a/modules/cms/ui/themes/default/html/views/login/login.tpl.src.xml b/modules/cms/ui/themes/default/html/views/login/login.tpl.src.xml @@ -27,7 +27,7 @@ <if true="${enableOpenIdConnect}"> <group title="${message:login}"> <list list="${provider}" key="name" value="label"> - <link class="btn" type="window" action="login" subaction="oidc" id="${name}"> + <link class="btn" type="window" clickable="true" action="login" subaction="oidc" id="${name}"> <text value="${label}"/> </link> </list> diff --git a/modules/cms/ui/themes/default/script/openrat.js b/modules/cms/ui/themes/default/script/openrat.js @@ -269,7 +269,7 @@ jQuery.fn.orLinkify = function( options ) window.open( $link.attr('data-url'),' _blank' ); break; case 'window': - window.location.href = Openrat.Workbench.createUrl($link.attr('data-action'),$link.attr('data-method'),$link.attr('data-id')); + window.location.href = Openrat.View.createUrl($link.attr('data-action'),$link.attr('data-method'),$link.attr('data-id')); break; case 'popup': diff --git a/modules/cms/ui/themes/default/script/openrat.min.js b/modules/cms/ui/themes/default/script/openrat.min.js @@ -116,7 +116,7 @@ else{this.currentItem.show()};if(this.fromOutside&&!e){s.push(function(t){this._ ;jQuery.fn.orSearch=function(e){var t=$.extend({'dropdown':$(),'select':function(e){},'afterSelect':function(){},'action':'search','method':'quicksearch'},e);return $(this).on('input',function(){let searchArgument=$(this).val();let dropdownEl=$(t.dropdown);if(searchArgument.length){$.ajax({'type':'GET',url:'./api/?action='+t.action+'&subaction='+t.method+'&output=json&search='+searchArgument,data:null,success:function(e,n,o){$(dropdownEl).empty();for(id in e.output.result){let result=e.output.result[id];let div=$('<div class="or-dropdown-entry or-search-result or-dropdown-entry--active" title="'+result.desc+'"></div>');div.data('object',{'name':result.name,'action':result.type,'id':result.id});let link=$('<a class="or-link"/>').attr('href',Openrat.Navigator.createShortUrl(result.type,result.id));link.click(function(e){e.preventDefault()});$(link).append('<i class="or-image-icon or-image-icon--action-'+result.type+'" />');$(link).append('<span class="or-dropdown-text">'+result.name+'</span>');$(div).append(link);$(dropdownEl).append(div)};if(e.output.result){$(dropdownEl).closest('.or-menu').addClass('menu--is-open');$(dropdownEl).addClass('dropdown--is-open')} else{$(dropdownEl).removeClass('dropdown--is-open')};$(dropdownEl).find('.or-search-result').click(function(e){t.select($(this).data('object'));t.afterSelect()})}})} else{$(dropdownEl).empty()}})}; -;jQuery.fn.orLinkify=function(t){var a=$.extend({'openAction':function(t,a,e){Openrat.Workbench.openNewAction(t,a,e)}},t);$(this).addClass('linkified');if($(this).is('a'))$(this).click(function(t){t.preventDefault()});else $(this).find('a').click(function(t){t.preventDefault()});return $(this).click(function(t){$el=$(this);if($el.is('a'))$link=$el;else $link=$el.find('a').first();let type=$link.attr('data-type');if($link.parent().hasClass('dropdown-entry--inactive'))return;switch(type){case'post':$form=$('<form />').attr('method','POST').addClass('invisible');$form.data('afterSuccess',$link.data('afterSuccess'));let params=jQuery.parseJSON($link.attr('data-data'));params.output='json';$.each(params,function(t,a){let $input=$('<input />').attr('type','hidden').attr('name',t).attr('value',a);$form.append($input)});let form=new Openrat.Form();form.initOnElement($form);form.submit();break;case'edit':case'dialog':Openrat.Workbench.startDialog($link.attr('data-name'),$link.attr('data-action'),$link.attr('data-method'),$link.attr('data-id'),$link.attr('data-extra'));break;case'external':window.open($link.attr('data-url'),' _blank');break;case'window':window.location.href=Openrat.Workbench.createUrl($link.attr('data-action'),$link.attr('data-method'),$link.attr('data-id'));break;case'popup':Openrat.Workbench.popupWindow=window.open($link.attr('data-url'),'Popup','location=no,menubar=no,scrollbars=yes,toolbar=no,resizable=yes');break;case'help':help($link,$link.attr('data-url'),$link.attr('data-suffix'));break;case'fullscreen':fullscreen($link);break;case'open':a.openAction($link.text().trim(),$link.attr('data-action'),$link.attr('data-id'));break;default:throw'UI error: Unknown link type: '+type+' in link '+$link.html()}})}; +;jQuery.fn.orLinkify=function(t){var a=$.extend({'openAction':function(t,a,e){Openrat.Workbench.openNewAction(t,a,e)}},t);$(this).addClass('linkified');if($(this).is('a'))$(this).click(function(t){t.preventDefault()});else $(this).find('a').click(function(t){t.preventDefault()});return $(this).click(function(t){$el=$(this);if($el.is('a'))$link=$el;else $link=$el.find('a').first();let type=$link.attr('data-type');if($link.parent().hasClass('dropdown-entry--inactive'))return;switch(type){case'post':$form=$('<form />').attr('method','POST').addClass('invisible');$form.data('afterSuccess',$link.data('afterSuccess'));let params=jQuery.parseJSON($link.attr('data-data'));params.output='json';$.each(params,function(t,a){let $input=$('<input />').attr('type','hidden').attr('name',t).attr('value',a);$form.append($input)});let form=new Openrat.Form();form.initOnElement($form);form.submit();break;case'edit':case'dialog':Openrat.Workbench.startDialog($link.attr('data-name'),$link.attr('data-action'),$link.attr('data-method'),$link.attr('data-id'),$link.attr('data-extra'));break;case'external':window.open($link.attr('data-url'),' _blank');break;case'window':window.location.href=Openrat.View.createUrl($link.attr('data-action'),$link.attr('data-method'),$link.attr('data-id'));break;case'popup':Openrat.Workbench.popupWindow=window.open($link.attr('data-url'),'Popup','location=no,menubar=no,scrollbars=yes,toolbar=no,resizable=yes');break;case'help':help($link,$link.attr('data-url'),$link.attr('data-suffix'));break;case'fullscreen':fullscreen($link);break;case'open':a.openAction($link.text().trim(),$link.attr('data-action'),$link.attr('data-id'));break;default:throw'UI error: Unknown link type: '+type+' in link '+$link.html()}})}; ;jQuery.fn.orTree=function(e){var n=$.extend({'openAction':function(e,n,o){}},e);let registerTreeBranchEvents=function(e){Openrat.Workbench.registerDraggable(e)};$(this).each(function(o,e){$(e).children('.or-navtree-node-control').click(function(){let $node=$(this).parent('.or-navtree-node');if($node.is('.or-navtree-node--is-open')){$node.children('ul').slideUp('fast').remove();$node.removeClass('navtree-node--is-open').addClass('navtree-node--is-closed').find('.or-navtree-tree-icon').removeClass('image-icon--node-open').addClass('image-icon--node-closed')} else{$(e).closest('div.view').addClass('loader');let $link=$node.find('a');let id=$link.data('id');let extraId=$link.data('extra');let loadBranchUrl='./?action=tree&subaction=branch&id='+id+'';if(typeof extraId==='string'){jQuery.each(jQuery.parseJSON(extraId.replace(/'/g,'"')),function(e,n){loadBranchUrl=loadBranchUrl+'&'+e+'='+n})} else if(typeof extraId==='object'){jQuery.each(extraId,function(e,n){loadBranchUrl=loadBranchUrl+'&'+e+'='+n})} diff --git a/modules/cms/ui/themes/default/script/plugin/jquery-plugin-orLinkify.js b/modules/cms/ui/themes/default/script/plugin/jquery-plugin-orLinkify.js @@ -75,7 +75,7 @@ jQuery.fn.orLinkify = function( options ) window.open( $link.attr('data-url'),' _blank' ); break; case 'window': - window.location.href = Openrat.Workbench.createUrl($link.attr('data-action'),$link.attr('data-method'),$link.attr('data-id')); + window.location.href = Openrat.View.createUrl($link.attr('data-action'),$link.attr('data-method'),$link.attr('data-id')); break; case 'popup': diff --git a/modules/openid_connect/OpenIDConnectClient.php b/modules/openid_connect/OpenIDConnectClient.class.php