mirror of
https://github.com/ACSPRI/queXS
synced 2024-04-02 12:12:16 +00:00
189 lines
6.3 KiB
JavaScript
189 lines
6.3 KiB
JavaScript
/*
|
|
* LimeSurvey
|
|
* Copyright (C) 2007 The LimeSurvey Project Team / Carsten Schmitz
|
|
* All rights reserved.
|
|
* License: GNU/GPL License v2 or later, see LICENSE.php
|
|
* LimeSurvey is free software. This version may have been modified pursuant
|
|
* to the GNU General Public License, and as distributed it includes or
|
|
* is derivative of works licensed under the GNU General Public License or
|
|
* other free or open source software licenses.
|
|
* See COPYRIGHT.php for copyright notices and details.
|
|
*
|
|
* $Id: browse.js 11664 2011-12-16 05:19:42Z tmswhite $
|
|
*/
|
|
|
|
$(document).ready(function(){
|
|
// Delete individual file
|
|
$(".deleteresponse").click(function(){
|
|
thisid=removechars($(this).attr('id'));
|
|
answer = confirm(strdeleteconfirm);
|
|
if (answer==true)
|
|
{
|
|
$('#deleteanswer').val(thisid);
|
|
$('.cbResponseMarker').attr('checked',false);
|
|
$('#resulttableform').submit();
|
|
}
|
|
});
|
|
|
|
// Delete all marked responses
|
|
$("#imgDeleteMarkedResponses").click(function(){
|
|
if ($('.cbResponseMarker:checked').size()>0)
|
|
{
|
|
thisid=removechars($(this).attr('id'));
|
|
answer = confirm(strDeleteAllConfirm);
|
|
if (answer==true)
|
|
{
|
|
$('#deleteanswer').val('marked');
|
|
$('#resulttableform').submit();
|
|
}
|
|
}
|
|
else
|
|
alert(noFilesSelectedForDeletion)
|
|
});
|
|
|
|
// Download individual file bundle
|
|
$(".downloadfile").click(function() {
|
|
thisid = removechars($(this).attr('id'));
|
|
$('#downloadfile').val(thisid);
|
|
$('.cbResponseMarker').attr('checked', false);
|
|
$('#resulttableform').submit();
|
|
});
|
|
|
|
// Download all marked files
|
|
$("#imgDownloadMarkedFiles").click(function() {
|
|
if ($('.cbResponseMarker:checked').size() > 0)
|
|
{
|
|
$('#downloadfile').val('marked');
|
|
$('#resulttableform').submit();
|
|
}
|
|
else
|
|
alert(noFilesSelectedForDnld)
|
|
});
|
|
|
|
$("#selectall").click(function(){
|
|
$('.cbResponseMarker').attr('checked',$(this).attr('checked'));
|
|
});
|
|
|
|
$('#browseresponses').qtip({
|
|
content:{
|
|
text:$('#browselangpopup')
|
|
},
|
|
style: { name: 'cream',
|
|
tip:true,
|
|
color:'#111111',
|
|
border: {
|
|
width: 1,
|
|
radius: 5,
|
|
color: '#EADF95'}
|
|
},
|
|
position: { adjust: {
|
|
screen: true, scroll:true },
|
|
corner: {
|
|
target: 'bottomMiddle',
|
|
tooltip: 'topMiddle'}
|
|
},
|
|
show: {effect: { length:50},
|
|
when: {
|
|
event:'click'
|
|
}},
|
|
hide: {fixed:true,
|
|
when: {
|
|
event:'unfocus'
|
|
}}
|
|
});
|
|
|
|
// Fix the heigh of the cell
|
|
$('.browsetable td').each(function(){
|
|
if ($(this).text().length> 30){
|
|
$(this).html("<span class=\"content\" title=\""+htmlspecialchars(htmlspecialchars($(this).text(),'ENT_HTML_QUOTE_DOUBLE'),'ENT_QUOTES')+"\">"+$(this).html()+"</span>");
|
|
}
|
|
});
|
|
$('.browsetable th strong').each(function(){
|
|
if ($(this).text().length> 30){
|
|
$(this).addClass("content");
|
|
$(this).attr("title",$(this).text());
|
|
}
|
|
});
|
|
|
|
$('.browsetable td span.content').qtip({
|
|
hide: {
|
|
fixed: true,
|
|
delay: 500
|
|
},
|
|
position: {
|
|
corner: {
|
|
target: 'leftMiddle',
|
|
tooltip: 'topRight'
|
|
}
|
|
}
|
|
});
|
|
$('.browsetable th strong.content').qtip({
|
|
hide: {
|
|
fixed: true,
|
|
delay: 500
|
|
},
|
|
position: {
|
|
corner: {
|
|
target: 'leftMiddle',
|
|
tooltip: 'topRight'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
function htmlspecialchars (string, quote_style, charset, double_encode) {
|
|
// Convert special characters to HTML entities
|
|
//
|
|
// version: 1109.2015
|
|
// discuss at: http://phpjs.org/functions/htmlspecialchars // + original by: Mirek Slugen
|
|
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
|
// + bugfixed by: Nathan
|
|
// + bugfixed by: Arno
|
|
// + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + bugfixed by: Brett Zamir (http://brett-zamir.me)
|
|
// + input by: Ratheous
|
|
// + input by: Mailfaker (http://www.weedem.fr/)
|
|
// + reimplemented by: Brett Zamir (http://brett-zamir.me)
|
|
// + input by: felix // + bugfixed by: Brett Zamir (http://brett-zamir.me)
|
|
// % note 1: charset argument not supported
|
|
// * example 1: htmlspecialchars("<a href='test'>Test</a>", 'ENT_QUOTES');
|
|
// * returns 1: '<a href='test'>Test</a>'
|
|
// * example 2: htmlspecialchars("ab\"c'd", ['ENT_NOQUOTES', 'ENT_QUOTES']); // * returns 2: 'ab"c'd'
|
|
// * example 3: htmlspecialchars("my "&entity;" is still here", null, null, false);
|
|
// * returns 3: 'my "&entity;" is still here'
|
|
var optTemp = 0,
|
|
i = 0, noquotes = false;
|
|
if (typeof quote_style === 'undefined' || quote_style === null) {
|
|
quote_style = 2;
|
|
}
|
|
string = string.toString(); if (double_encode !== false) { // Put this first to avoid double-encoding
|
|
string = string.replace(/&/g, '&');
|
|
}
|
|
string = string.replace(/</g, '<').replace(/>/g, '>');
|
|
var OPTS = {
|
|
'ENT_NOQUOTES': 0,
|
|
'ENT_HTML_QUOTE_SINGLE': 1,
|
|
'ENT_HTML_QUOTE_DOUBLE': 2,
|
|
'ENT_COMPAT': 2, 'ENT_QUOTES': 3,
|
|
'ENT_IGNORE': 4
|
|
};
|
|
if (quote_style === 0) {
|
|
noquotes = true; }
|
|
if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags
|
|
quote_style = [].concat(quote_style);
|
|
for (i = 0; i < quote_style.length; i++) {
|
|
// Resolve string input to bitwise e.g. 'ENT_IGNORE' becomes 4
|
|
if (OPTS[quote_style[i]] === 0) {
|
|
noquotes = true;
|
|
}
|
|
else if (OPTS[quote_style[i]]) {
|
|
optTemp = optTemp | OPTS[quote_style[i]]; }
|
|
}
|
|
quote_style = optTemp;
|
|
}
|
|
if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) { string = string.replace(/'/g, ''');
|
|
}
|
|
if (!noquotes) {
|
|
string = string.replace(/"/g, '"');
|
|
}
|
|
return string;
|
|
} |