if (origlicense) {
origlicense = origlicense.getContent();
}
- var newlicenseval = license.get('value');
- if (newlicenseval && this.options.licenses[newlicenseval] != origlicense) {
- Y.Cookie.set('recentlicense', newlicenseval);
- }
+ this.set_preference('recentlicense', license.get('value'));
}
params['author'] = selectnode.one('.fp-setauthor input').get('value');
}
this.viewbar_set_enabled(true)
this.view_files();
- Y.Cookie.set('recentviewmode', this.viewmode);
+ this.set_preference('recentviewmode', this.viewmode);
}
},
render: function() {
set('id', 'fp-repo-'+client_id+'-'+repository.id).
on('click', function(e, repository_id) {
e.preventDefault();
- Y.Cookie.set('recentrepository', repository_id);
+ this.set_preference('recentrepository', repository_id);
this.hide_header();
this.list({'repo_id':repository_id});
}, this /*handler running scope*/, repository.id/*second argument of handler*/);
}
node.setContent('');
var licenses = this.options.licenses;
- var recentlicense = Y.Cookie.get('recentlicense');
+ var recentlicense = this.get_preference('recentlicense');
if (recentlicense) {
this.options.defaultlicense=recentlicense;
}
});
if (!licenseset) {
// we did not find the value in the list
- var recentlicense = Y.Cookie.get('recentlicense');
+ var recentlicense = this.get_preference('recentlicense');
node.all('option[selected]').set('selected', false);
node.all('option[value='+recentlicense+']').set('selected', true);
}
content.one('.fp-upload-btn').on('click', function(e) {
e.preventDefault();
var license = content.one('.fp-setlicense select');
- Y.Cookie.set('recentlicense', license.get('value'));
+
+ this.set_preference('recentlicense', license.get('value'));
if (!content.one('.fp-file input').get('value')) {
scope.print_msg(M.str.repository.nofilesattached, 'error');
return false;
show_recent_repository: function() {
this.hide_header();
this.viewbar_set_enabled(false);
- var repository_id = Y.Cookie.get('recentrepository');
- this.viewmode = Y.Cookie.get('recentviewmode', Number);
+ var repository_id = this.get_preference('recentrepository');
+ this.viewmode = this.get_preference('recentviewmode');
if (this.viewmode != 2 && this.viewmode != 3) {
this.viewmode = 1;
}
if (this.options.repositories[repository_id]) {
this.list({'repo_id':repository_id});
}
+ },
+ get_preference: function (name) {
+ if (this.options.userprefs[name]) {
+ return this.options.userprefs[name];
+ } else {
+ return false;
+ }
+ },
+ set_preference: function(name, value) {
+ if (this.options.userprefs[name] != value) {
+ M.util.set_user_preference('filepicker_' + name, value);
+ this.options.userprefs[name] = value;
+ }
}
});
var loading = Y.one('#filepicker-loading-'+options.client_id);
$return->externallink = true;
}
+ $return->userprefs = array();
+ $return->userprefs['recentrepository'] = get_user_preferences('filepicker_recentrepository', '');
+ $return->userprefs['recentlicense'] = get_user_preferences('filepicker_recentlicense', '');
+ $return->userprefs['recentviewmode'] = get_user_preferences('filepicker_recentviewmode', '');
+
+ user_preference_allow_ajax_update('filepicker_recentrepository', PARAM_INT);
+ user_preference_allow_ajax_update('filepicker_recentlicense', PARAM_SAFEDIR);
+ user_preference_allow_ajax_update('filepicker_recentviewmode', PARAM_INT);
+
+
// provided by form element
$return->accepted_types = file_get_typegroup('extension', $args->accepted_types);
$return->return_types = $args->return_types;