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

Commit

Permalink
New driver to replace "Shared Elements" by a user "Dashboard" with al…
Browse files Browse the repository at this point in the history
…l user parameters and custom data. Add "switch_to_user_dashboard" option to go there.
  • Loading branch information
cdujeu committed Nov 11, 2013
1 parent 29332be commit 8aa0726
Show file tree
Hide file tree
Showing 14 changed files with 1,134 additions and 3 deletions.
340 changes: 340 additions & 0 deletions core/src/plugins/access.ajxp_user/class.UserDashboardDriver.php

Large diffs are not rendered by default.

56 changes: 56 additions & 0 deletions core/src/plugins/access.ajxp_user/class.UserProfileEditor.js
@@ -0,0 +1,56 @@
Class.create("UserProfileEditor", AjxpPane, {

_formManager: null,

initialize: function($super, oFormObject, editorOptions){

$super(oFormObject, editorOptions);



if(ajaxplorer.actionBar.getActionByName('custom_data_edit')){

this._formManager = new FormManager();
var definitions = this._formManager.parseParameters(ajaxplorer.getXmlRegistry(), "user/preferences/pref[@exposed]|//param[contains(@scope,'user')]");
this._formManager.createParametersInputs(oFormObject, definitions, true, ajaxplorer.user.preferences, false, true);
this._formManager.disableShortcutsOnForm(oFormObject);

var saveButton = new Element('a', {}).update('<span class="icon-save"></span> <span>'+MessageHash[53]+'</span>');
oFormObject.down('.toolbarGroup').insert({top: saveButton});


saveButton.observe("click", function(){
var params = $H();
this._formManager.serializeParametersInputs(oFormObject, params, 'PREFERENCES_');
var conn = new Connexion();
params.set("get_action", "custom_data_edit");
conn.setParameters(params);
conn.setMethod("POST");
conn.onComplete = function(transport){
ajaxplorer.actionBar.parseXmlMessage(transport.responseXML);
document.observeOnce("ajaxplorer:registry_part_loaded", function(event){
if(event.memo != "user/preferences") return;
ajaxplorer.logXmlUser(ajaxplorer.getXmlRegistry());
});
ajaxplorer.loadXmlRegistry(false, "user/preferences");
};
conn.sendAsync();

}.bind(this));

}

if(ajaxplorer.actionBar.getActionByName('pass_change')){

var chPassButton = new Element('a', {className:''}).update('<span class="icon-key"></span> <span>'+MessageHash[194]+'</span>');
oFormObject.down('.toolbarGroup').insert(chPassButton);
chPassButton.observe("click", function(){
ajaxplorer.actionBar.getActionByName('pass_change').apply();
});

}

}


});
88 changes: 88 additions & 0 deletions core/src/plugins/access.ajxp_user/class.WebDAVprefsEditor.js
@@ -0,0 +1,88 @@
Class.create("WebDAVprefsEditor", AjxpPane, {

initialize: function($super, element, options){
$super(element, options);

if(!ajaxplorer.user) return;
var cont = element.down('#webdav_repo_list');
cont.update('');
var activator = element.down("#webdav_activator");

var even = false;
var conn = new Connexion();
conn.setParameters(new Hash({get_action:'webdav_preferences'}));
conn.onComplete = function(transport){
ajaxplorer.webdavCurrentPreferences = transport.responseJSON;
activator.checked = ajaxplorer.webdavCurrentPreferences.webdav_active;
if(activator.checked && !ajaxplorer.webdavCurrentPreferences.digest_set
&& !ajaxplorer.webdavCurrentPreferences.webdav_force_basic) {
element.down('#webdav_password_form').show();
}
ajaxplorer.user.getRepositoriesList().each(function(pair){
if(ajaxplorer.webdavCurrentPreferences.webdav_repositories[pair.key]){
var div = new Element('div', {className:(even?'even':'')});
div.update('<span>'+pair.value.label+'</span><input readonly type="text" value="'+ ajaxplorer.webdavCurrentPreferences.webdav_repositories[pair.key] +'">' );
cont.insert(div);
even = !even;
}
});
element.down('#webdav_main_access').setValue(ajaxplorer.webdavCurrentPreferences.webdav_base_url);
element.down('#webdav_main_access').observe("click", function(){
element.down('#webdav_main_access').select();
});
element.down('#perworkspace-urls-toggle').observe("click", function(event){
element.down('#webdav_repo_list').toggle();
var span = element.down('#perworkspace-urls-toggle').down("span");
var open = span.hasClassName("icon-caret-right");
span.removeClassName(open ? "icon-caret-right" : "icon-caret-down");
span.addClassName(!open ? "icon-caret-right" : "icon-caret-down");
});

//element.down('input[name="ok"]').observe("click", hideLightBox);
if(!activator.hasObserver){
activator.observe("change", function(e){
var checked = activator.checked;
var conn = new Connexion();
conn.setParameters(new Hash({
get_action:'webdav_preferences',
activate:(checked?'true':'false')
}));
conn.onComplete = function(transport){
ajaxplorer.webdavCurrentPreferences = transport.responseJSON;
if(ajaxplorer.webdavCurrentPreferences.webdav_active){
if(!ajaxplorer.webdavCurrentPreferences.digest_set
|| ajaxplorer.webdavCurrentPreferences.webdav_force_basic) {
element.down('#webdav_password_form').show();
}
ajaxplorer.displayMessage("SUCCESS", MessageHash[408]);
}else {
element.down('#webdav_password_form').hide();
ajaxplorer.displayMessage("SUCCESS", MessageHash[409]);
}
};
conn.sendAsync();
});
if(!ajaxplorer.webdavCurrentPreferences.digest_set){
element.down('#webdav_pass_saver').observe("click", function(){
var conn = new Connexion();
conn.setMethod('POST');
conn.setParameters(new Hash({
get_action:'webdav_preferences',
webdav_pass: element.down('#webdav_password').value
}));
conn.onComplete = function(transport){
ajaxplorer.displayMessage("SUCCESS", MessageHash[410]);
};
conn.sendAsync();
});
}
activator.hasObserver = true;
}
};
conn.sendAsync();


}


});
55 changes: 55 additions & 0 deletions core/src/plugins/access.ajxp_user/i18n/de.php
@@ -0,0 +1,55 @@
<?php
/*
* Copyright 2007-2013 Charles du Jeu - Abstrium SAS <team (at) pyd.io>
* This file is part of Pydio.
*
* Pydio is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Pydio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Pydio. If not, see <http://www.gnu.org/licenses/>.
*
* The latest code can be found at <http://pyd.io/>.
*/
$mess=array(
"1" => "Gemeinsame Benutzer",
"2" => "Gemeinsame Repositories",
"3" => "Öffentliche Dateien",
"4" => "Dateipfad",
"5" => "Repository",
"6" => "Passwort",
"7" => "Ablauf",
"8" => "Elemente",
"9" => "Verknüpfte Benutzer",
"10"=> "Verknüpfte Repositories",
"11"=> "Sollen die ausgewählten Elemente wirklich gelöscht werden?",
"12"=> "Die Berechtigung zum Löschen dieses Elements fehlt.",
"13"=> "Öffentliche Dateien erfolgreich entfernt.",
"14"=> "Integrität",
"15"=> "OK",
"16"=> "Fehlerhaft",
"17"=> "Download URL",
"18"=> "URL kopieren",
"19"=> "URL zum Senden per E-Mail kopieren.",
"20"=> "Downloads",
"21"=> "Ja",
"22"=> "Nein",
"23"=> "%s Dateien erfolgreich gelöscht.",
"24"=> "Nichts zum Entfernen.",
"25"=> "Entfernen abgelaufen",
"26"=> "Ausgelaufene freigegebene Dateien entfernen.",
"27"=> "Besitzer",
"28"=> "Dateien zum direkten Download mit oder ohne Passwortschutz freigegeben.",
"29"=> "Repositories von Benutzern übertragen.",
"30"=> "Erzeugte Benutzer zum Zugriff auf die übertragenen Repositories.",
"31"=> "Beschreibung",
"32"=> "Zurücksetzen",
"33"=> "Download-Zähler zurücksetzen",
);
61 changes: 61 additions & 0 deletions core/src/plugins/access.ajxp_user/i18n/en.php
@@ -0,0 +1,61 @@
<?php
/*
* Copyright 2007-2013 Charles du Jeu - Abstrium SAS <team (at) pyd.io>
* This file is part of Pydio.
*
* Pydio is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Pydio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Pydio. If not, see <http://www.gnu.org/licenses/>.
*
* The latest code can be found at <http://pyd.io/>.
*/
$mess=array(
"title"=> "My Dashboard",
"desc" => "Manage my account preferences, my address book, shared elements, etc.",
"1" => "Address Book",
"2" => "Shared folders",
"3" => "Shared files",
"4" => "File Path",
"5" => "Repository",
"6" => "Password",
"7" => "Expiration",
"8" => "Elements",
"9" => "Associated users",
"10"=> "Associated workspaces",
"11"=> "Are you sure that you want to delete the selected element(s)?",
"12"=> "You don't have the permission to delete this element.",
"13"=> "Successfully deleted public file.",
"14"=> "Integrity",
"15"=> "Ok",
"16"=> "Broken",
"17"=> "Download URL",
"18"=> "Copy URL",
"19"=> "Copy url to send by email.",
"20"=> "Downloads",
"21"=> "Yes",
"22"=> "No",
"23"=> "Successfully deleted %s files.",
"24"=> "Nothing to delete.",
"25"=> "Clear Expired",
"26"=> "Delete expired shared files.",
"27"=> "Owner",
"28"=> "Files shared for direct download, either protected by a password or not.",
"29"=> "Delegates workspaces created by users.",
"30"=> "Users created to access the delegated workspaces.",
"31"=> "Description",
"32"=> "Reset",
"33"=> "Reset download counter",
"34"=> "My Shares",
"35"=> "All my shared items (files and folders)",
"36"=> "Parameters",
"37"=> "My profile and application settings"
);
57 changes: 57 additions & 0 deletions core/src/plugins/access.ajxp_user/i18n/es.php
@@ -0,0 +1,57 @@
<?php
/*
* Copyright 2007-2013 Charles du Jeu - Abstrium SAS <team (at) pyd.io>
* This file is part of Pydio.
*
* Pydio is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Pydio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Pydio. If not, see <http://www.gnu.org/licenses/>.
*
* The latest code can be found at <http://pyd.io/>.
*/
// spanish translation: Ion Rey Bakaikoa <ionrei@gmail.com>, 2010
// spanish corrections: Cristóbal Sabroe Yde <cristyde at gmail.com>, 2010
$mess=array(
"1" => "Usuarios compartidos",
"2" => "Repositorios compartidos",
"3" => "Archivos públicos",
"4" => "Camino del archivo",
"5" => "Repositorio",
"6" => "Contraseña",
"7" => "Caduca",
"8" => "Elementos",
"9" => "Usuarios asociados",
"10"=> "Repositorios asociados",
"11"=> "¿Está seguro de que quiere borrar los elemento selecionado?",
"12"=> "No tienes permiso para borrar este elemento.",
"13"=> "Se ha borrado el archivo público.",
"14"=> "Integridad",
"15"=> "Ok",
"16"=> "Roto",
"17"=> "Descargar URL",
"18"=> "Copiar URL",
"19"=> "Copiar url para enviar email.",
"20"=> "Descargas",
"21"=> "Si",
"22"=> "No",
"23"=> "Se han borrado %s archivos.",
"24"=> "Nada para borrar.",
"25"=> "Limpiar caducados",
"26"=> "Borra archivos caducados.",
"27"=> "Dueño",
"28"=> "Archivos compartidos para descargas directas, con o sin contraseñaa.",
"29"=> "Repositorios delegados creados por usuarios.",
"30"=> "Usuarios creados para acceder a repositorios delegados.",
"31"=> "Descripción",
"32"=> "Resetear",
"33"=> "Resetear el contador de descargas",
);
55 changes: 55 additions & 0 deletions core/src/plugins/access.ajxp_user/i18n/fr.php
@@ -0,0 +1,55 @@
<?php
/*
* Copyright 2007-2013 Charles du Jeu - Abstrium SAS <team (at) pyd.io>
* This file is part of Pydio.
*
* Pydio is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Pydio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Pydio. If not, see <http://www.gnu.org/licenses/>.
*
* The latest code can be found at <http://pyd.io/>.
*/
$mess=array(
"1" => "Utilisateurs partagés",
"2" => "Dépôts délégués",
"3" => "Fichiers publics",
"4" => "Chemin",
"5" => "Dépôt",
"6" => "Pass",
"7" => "Expiration",
"8" => "Eléments",
"9" => "Utilisateurs associés",
"10"=> "Dépôts associés",
"11"=> "Etes vous sûr de vouloir effacer les éléments sélectionnés?",
"12"=> "Vous n'avez pas la permission pour effacer ces élements.",
"13"=> "Les fichiers publics ont été effacés.",
"14"=> "Integrité",
"15"=> "Ok",
"16"=> "Cassée",
"17"=> "Téléchargement",
"18"=> "Copier l'URL",
"19"=> "Copier l'url pour l'envoyer par email.",
"20"=> "Compteur",
"21"=> "Oui",
"22"=> "Non",
"23"=> "%s fichiers ont été effacés.",
"24"=> "Rien à supprimer.",
"25"=> "Nettoyage",
"26"=> "Effacer les fichiers publics expirés.",
"27"=> "Possesseur",
"28"=> "Fichiers partagés pour un téléchargement direct, protégés par mot de passe ou non.",
"29"=> "Dépôts délégués créés par les utilisateurs.",
"30"=> "Utilisateurs associés aux dépôts délégués.",
"31"=> "Description",
"32"=> "RàZ",
"33"=> "Remise à zéro du compteur",
);

0 comments on commit 8aa0726

Please sign in to comment.