Skip to content
This repository has been archived by the owner on Nov 25, 2020. It is now read-only.

Commit

Permalink
Fix password-protected minisite behaviours
Browse files Browse the repository at this point in the history
  • Loading branch information
cdujeu committed Jun 14, 2014
1 parent a266359 commit 5a01be8
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 43 deletions.
103 changes: 61 additions & 42 deletions core/src/plugins/gui.ajax/manifest.xml
Expand Up @@ -248,29 +248,35 @@
</div>
</div>
<script>
window.setTimeout(function(){
document.observe("ajaxplorer:selection_changed", function(e){
try{
var dm = ajaxplorer.getContextHolder();
var root = dm.getRootNode();
document.observe("ajaxplorer:selection_changed", function(e){
try{
var nodes = dm.getSelectedNodes();
if(nodes[0].isLeaf() && e.memo._selectionSource.__className == 'FilesList'){
ajaxplorer.actionBar.fireDefaultAction("file");
}
}catch(e){}
});
if(root.isLoaded()) {
dm.setSelectedNodes([root.getChildren().first()], "dataModel");
var nodes = dm.getSelectedNodes();
if(nodes[0].isLeaf() && e.memo._selectionSource.__className == 'FilesList'){
ajaxplorer.actionBar.fireDefaultAction("file");
} else {
root.observe("loaded", function(){
dm.setSelectedNodes([root.getChildren().first()], "dataModel");
ajaxplorer.actionBar.fireDefaultAction("file");
});
}
}catch(e){}
}, 1000);
});
var p;
document.observe("ajaxplorer:user_logged", function(){
if(p) return;
try{
p = new PeriodicalExecuter(function(){
var dm = ajaxplorer.getContextHolder();
if(dm.getSelectedNodes().length){
p.stop();
return;
}
var root = dm.getRootNode();
if(root.getChildren().length){
dm.setSelectedNodes([root.getChildren().first()], "dataModel");
window.setTimeout(function(){ajaxplorer.actionBar.fireDefaultAction("file");}, 1);
p.stop();
return;
}
}, 1);
}catch(e){}
});
</script>
]]></template>
<template name="unique_preview_file" element="ajxp_unique_strip" position="top" label="Unique File Preview"><![CDATA[
Expand Down Expand Up @@ -323,21 +329,27 @@
</div>
</div>
<script>
window.setTimeout(function(){
document.observe("ajaxplorer:user_logged", function(){
try{
var dm = ajaxplorer.getContextHolder();
var root = dm.getRootNode();
if(root.isLoaded()) {
dm.setSelectedNodes([root.getChildren().first()], "dataModel");
ajaxplorer.actionBar.fireDefaultAction("file");
} else {
root.observe("loaded", function(){
var p = new PeriodicalExecuter(function(){
var dm = ajaxplorer.getContextHolder();
if(dm.getSelectedNodes().length){
p.stop();
return;
}
var root = dm.getRootNode();
if(root.getChildren().length){
dm.setSelectedNodes([root.getChildren().first()], "dataModel");
ajaxplorer.actionBar.fireDefaultAction("file");
});
}
}catch(e){}
}, 500);
window.setTimeout(function(){ajaxplorer.actionBar.fireDefaultAction("file");}, 1);
p.stop();
return;
}
}, 1);
}catch(e){
if (console) console.log(e);
}
});
</script>
]]></template>
<template name="unique_preview_download" element="ajxp_unique_dl" position="top" label="Big download button"><![CDATA[
Expand Down Expand Up @@ -410,19 +422,26 @@
</div>
</div>
<script>
window.setTimeout(function(){
document.observe("ajaxplorer:user_logged", function(){
try{
var dm = ajaxplorer.getContextHolder();
var root = dm.getRootNode();
if(root.isLoaded()) {
dm.setSelectedNodes([root.getChildren().first()], "dataModel");
} else {
root.observe("loaded", function(){
var p = new PeriodicalExecuter(function(){
var dm = ajaxplorer.getContextHolder();
if(dm.getSelectedNodes().length){
p.stop();
return;
}
var root = dm.getRootNode();
if(root.getChildren().length){
dm.setSelectedNodes([root.getChildren().first()], "dataModel");
});
}
}catch(e){}
}, 500);
p.stop();
return;
}
}, 1);
}catch(e){
if (console) console.log(e);
}
});
</script>
]]></template>
<template name="minisite_bare" element="ajxp_embed_template" position="top" label="Embedded"><![CDATA[
Expand Down
2 changes: 1 addition & 1 deletion core/src/plugins/gui.ajax/res/js/ajaxplorer.js

Large diffs are not rendered by default.

Expand Up @@ -591,9 +591,14 @@ Class.create("ActionsManager", {
else if(childs[i].tagName == "logging_result")
{
if(childs[i].getAttribute("secure_token")){
var regex = new RegExp('.*?[&\\?]' + 'minisite_session' + '=(.*?)&.*');
val = window.ajxpServerAccessPath.replace(regex, "$1");
var minisite_session = ( val == window.ajxpServerAccessPath ? false : val );

Connexion.SECURE_TOKEN = childs[i].getAttribute("secure_token");
var parts = window.ajxpServerAccessPath.split("?secure_token");
window.ajxpServerAccessPath = parts[0] + "?secure_token=" + Connexion.SECURE_TOKEN;
if(minisite_session) window.ajxpServerAccessPath += "&minisite_session=" + minisite_session;
ajxpBootstrap.parameters.set('ajxpServerAccess', window.ajxpServerAccessPath);
}
if($("generic_dialog_box") && $("generic_dialog_box").down(".ajxp_login_error")){
Expand Down

0 comments on commit 5a01be8

Please sign in to comment.