Merge pull request #931 from dawnbreak/master
Some JavaScript cleanups.
This commit is contained in:
commit
e780dada83
@ -523,9 +523,7 @@ function downgrade_accounts() {
|
||||
|
||||
$basic = get_config('system','default_service_class');
|
||||
|
||||
|
||||
foreach($r as $rr) {
|
||||
|
||||
if(($basic) && ($rr['account_service_class']) && ($rr['account_service_class'] != $basic)) {
|
||||
$x = q("UPDATE account set account_service_class = '%s', account_expires = '%s'
|
||||
where account_id = %d",
|
||||
@ -550,97 +548,96 @@ function downgrade_accounts() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// check service_class restrictions. If there are no service_classes defined, everything is allowed.
|
||||
// if $usage is supplied, we check against a maximum count and return true if the current usage is
|
||||
// less than the subscriber plan allows. Otherwise we return boolean true or false if the property
|
||||
// is allowed (or not) in this subscriber plan. An unset property for this service plan means
|
||||
// the property is allowed, so it is only necessary to provide negative properties for each plan,
|
||||
// or what the subscriber is not allowed to do.
|
||||
|
||||
|
||||
/**
|
||||
* @brief Check service_class restrictions.
|
||||
*
|
||||
* If there are no service_classes defined, everything is allowed.
|
||||
* If $usage is supplied, we check against a maximum count and return true if
|
||||
* the current usage is less than the subscriber plan allows. Otherwise we
|
||||
* return boolean true or false if the property is allowed (or not) in this
|
||||
* subscriber plan. An unset property for this service plan means the property
|
||||
* is allowed, so it is only necessary to provide negative properties for each
|
||||
* plan, or what the subscriber is not allowed to do.
|
||||
*
|
||||
* Like account_service_class_allows() but queries directly by account rather
|
||||
* than channel. Service classes are set for accounts, so we look up the
|
||||
* account for the channel and fetch the service class restrictions of the
|
||||
* account.
|
||||
*
|
||||
* @see account_service_class_allows() if you have a channel_id already
|
||||
* @see service_class_fetch()
|
||||
*
|
||||
* @param int $uid The channel_id to check
|
||||
* @param string $property The service class property to check for
|
||||
* @param string|boolean $usage (optional) The value to check against
|
||||
* @return boolean
|
||||
*/
|
||||
function service_class_allows($uid, $property, $usage = false) {
|
||||
$a = get_app();
|
||||
if($uid == local_channel()) {
|
||||
$service_class = $a->account['account_service_class'];
|
||||
}
|
||||
else {
|
||||
$r = q("select account_service_class as service_class
|
||||
from channel c, account a
|
||||
where c.channel_account_id=a.account_id and c.channel_id= %d limit 1",
|
||||
intval($uid)
|
||||
);
|
||||
if($r !== false and count($r)) {
|
||||
$service_class = $r[0]['service_class'];
|
||||
}
|
||||
}
|
||||
if(! x($service_class))
|
||||
return true; // everything is allowed
|
||||
$limit = service_class_fetch($uid, $property);
|
||||
|
||||
$arr = get_config('service_class',$service_class);
|
||||
if(! is_array($arr) || (! count($arr)))
|
||||
return true;
|
||||
if($limit === false)
|
||||
return true; // No service class set => everything is allowed
|
||||
|
||||
if($usage === false)
|
||||
return ((x($arr[$property])) ? (bool) $arr[$property] : true);
|
||||
else {
|
||||
if(! array_key_exists($property,$arr))
|
||||
return true;
|
||||
|
||||
return (((intval($usage)) < intval($arr[$property])) ? true : false);
|
||||
if($usage === false) {
|
||||
// We use negative values for not allowed properties in a subscriber plan
|
||||
return ((x($limit)) ? (bool) $limit : true);
|
||||
} else {
|
||||
return (((intval($usage)) < intval($limit)) ? true : false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Checks service class restrictions by account_id.
|
||||
* @brief Check service class restrictions by account.
|
||||
*
|
||||
* Like service_class_allows() but queries by account rather than channel.
|
||||
* If there are no service_classes defined, everything is allowed.
|
||||
* If $usage is supplied, we check against a maximum count and return true if
|
||||
* the current usage is less than the subscriber plan allows. Otherwise we
|
||||
* return boolean true or false if the property is allowed (or not) in this
|
||||
* subscriber plan. An unset property for this service plan means the property
|
||||
* is allowed, so it is only necessary to provide negative properties for each
|
||||
* plan, or what the subscriber is not allowed to do.
|
||||
*
|
||||
* @see service_class_allows()
|
||||
* Like service_class_allows() but queries directly by account rather than channel.
|
||||
*
|
||||
* @param int $aid account_id
|
||||
* @param string $property
|
||||
* @param int|boolean $usage, default false
|
||||
* @see service_class_allows() if you have a channel_id instead of an account_id
|
||||
* @see account_service_class_fetch()
|
||||
*
|
||||
* @param int $aid The account_id to check
|
||||
* @param string $property The service class property to check for
|
||||
* @param int|boolean $usage, (optional) The value to check against
|
||||
* @return boolean
|
||||
*
|
||||
* @todo Can't we use here internally account_service_class_fetch() to reduce duplicate code?
|
||||
*/
|
||||
function account_service_class_allows($aid, $property, $usage = false) {
|
||||
$r = q("select account_service_class as service_class from account where account_id = %d limit 1",
|
||||
intval($aid)
|
||||
);
|
||||
if($r !== false and count($r)) {
|
||||
$service_class = $r[0]['service_class'];
|
||||
}
|
||||
|
||||
if(! x($service_class))
|
||||
return true; // everything is allowed
|
||||
$limit = account_service_class_fetch($aid, $property);
|
||||
|
||||
$arr = get_config('service_class', $service_class);
|
||||
if(! is_array($arr) || (! count($arr)))
|
||||
return true;
|
||||
if($limit === false)
|
||||
return true; // No service class is set => everything is allowed
|
||||
|
||||
if($usage === false)
|
||||
return ((x($arr[$property])) ? (bool) $arr[$property] : true);
|
||||
else {
|
||||
if(! array_key_exists($property, $arr))
|
||||
return true;
|
||||
|
||||
return (((intval($usage)) < intval($arr[$property])) ? true : false);
|
||||
if($usage === false) {
|
||||
// We use negative values for not allowed properties in a subscriber plan
|
||||
return ((x($limit)) ? (bool) $limit : true);
|
||||
} else {
|
||||
return (((intval($usage)) < intval($limit)) ? true : false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Fetches a service class for a channel_id and property.
|
||||
* @brief Queries a service class value for a channel and property.
|
||||
*
|
||||
* Service classes are set for accounts, so look up the account for this channel
|
||||
* and fetch the service classe of the account.
|
||||
*
|
||||
* This method not just checks if a service class is allowed like service_class_allows(),
|
||||
* but also returns the service class value.
|
||||
* If no service class is available it returns false and everything should be
|
||||
* allowed.
|
||||
*
|
||||
* @param int $uid channel_id
|
||||
* @param string $property
|
||||
* @see account_service_class_fetch()
|
||||
*
|
||||
* @param int $uid The channel_id to query
|
||||
* @param string $property The service property name to check for
|
||||
* @return boolean|int
|
||||
*
|
||||
* @todo Should we merge this with account_service_class_fetch()?
|
||||
*/
|
||||
function service_class_fetch($uid, $property) {
|
||||
$a = get_app();
|
||||
@ -668,8 +665,18 @@ function service_class_fetch($uid, $property) {
|
||||
return((array_key_exists($property, $arr)) ? $arr[$property] : false);
|
||||
}
|
||||
|
||||
// like service_class_fetch but queries by account rather than channel
|
||||
|
||||
/**
|
||||
* @brief Queries a service class value for an account and property.
|
||||
*
|
||||
* Like service_class_fetch() but queries by account rather than channel.
|
||||
*
|
||||
* @see service_class_fetch() if you have channel_id.
|
||||
* @see account_service_class_allows()
|
||||
*
|
||||
* @param int $aid The account_id to query
|
||||
* @param string $property The service property name to check for
|
||||
* @return boolean|int
|
||||
*/
|
||||
function account_service_class_fetch($aid, $property) {
|
||||
|
||||
$r = q("select account_service_class as service_class from account where account_id = %d limit 1",
|
||||
|
@ -5,7 +5,7 @@ function ACL(backend_url, preset){
|
||||
|
||||
that.kp_timer = null;
|
||||
|
||||
if (preset==undefined) preset = [];
|
||||
if (preset === undefined) preset = [];
|
||||
that.allow_cid = (preset[0] || []);
|
||||
that.allow_gid = (preset[1] || []);
|
||||
that.deny_cid = (preset[2] || []);
|
||||
@ -20,7 +20,7 @@ function ACL(backend_url, preset){
|
||||
// set the initial ACL lists in case the enclosing form gets submitted before the ajax loader completes.
|
||||
that.on_submit();
|
||||
|
||||
if (preset.length==0) that.showall.removeClass("btn-default").addClass("btn-warning");
|
||||
if (preset.length === 0) that.showall.removeClass("btn-default").addClass("btn-warning");
|
||||
|
||||
/*events*/
|
||||
|
||||
@ -36,7 +36,6 @@ function ACL(backend_url, preset){
|
||||
that.on_submit();
|
||||
// }, 5000 );
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// no longer called on submit - call to update whenever a change occurs to the acl list.
|
||||
@ -55,26 +54,24 @@ ACL.prototype.on_submit = function(){
|
||||
$(that.deny_cid).each(function(i,v) {
|
||||
aclfileds.append("<input type='hidden' name='contact_deny[]' value='"+v+"'>");
|
||||
});
|
||||
// alert(aclfileds);
|
||||
|
||||
//areYouSure jquery plugin: recheck the form here
|
||||
$('form').trigger('checkform.areYouSure');
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
ACL.prototype.search = function() {
|
||||
var srcstr = $("#acl-search").val();
|
||||
that.list_content.html("");
|
||||
that.get(0, 100, srcstr);
|
||||
}
|
||||
};
|
||||
|
||||
ACL.prototype.on_search = function(event) {
|
||||
if (that.kp_timer) clearTimeout(that.kp_timer);
|
||||
that.kp_timer = setTimeout( that.search, 1000);
|
||||
}
|
||||
};
|
||||
|
||||
ACL.prototype.on_showall = function(event) {
|
||||
event.preventDefault()
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
if (that.showall.hasClass("btn-warning")) {
|
||||
@ -91,11 +88,11 @@ ACL.prototype.on_showall = function(event){
|
||||
that.on_submit();
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
ACL.prototype.on_button_show = function(event) {
|
||||
event.preventDefault()
|
||||
event.stopImmediatePropagation()
|
||||
event.preventDefault();
|
||||
event.stopImmediatePropagation();
|
||||
event.stopPropagation();
|
||||
|
||||
/*that.showall.removeClass("selected");
|
||||
@ -104,11 +101,13 @@ ACL.prototype.on_button_show = function(event){
|
||||
|
||||
that.set_allow($(this).parent().attr('id'));
|
||||
that.on_submit();
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
ACL.prototype.on_button_hide = function(event) {
|
||||
event.preventDefault()
|
||||
event.stopImmediatePropagation()
|
||||
event.preventDefault();
|
||||
event.stopImmediatePropagation();
|
||||
event.stopPropagation();
|
||||
|
||||
/*that.showall.removeClass("selected");
|
||||
@ -117,8 +116,9 @@ ACL.prototype.on_button_hide = function(event){
|
||||
|
||||
that.set_deny($(this).parent().attr('id'));
|
||||
that.on_submit();
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
ACL.prototype.set_allow = function(itemid) {
|
||||
type = itemid[0];
|
||||
@ -126,7 +126,7 @@ ACL.prototype.set_allow = function(itemid){
|
||||
switch(type) {
|
||||
case "g":
|
||||
if (that.allow_gid.indexOf(id)<0) {
|
||||
that.allow_gid.push(id)
|
||||
that.allow_gid.push(id);
|
||||
}else {
|
||||
that.allow_gid.remove(id);
|
||||
}
|
||||
@ -134,7 +134,7 @@ ACL.prototype.set_allow = function(itemid){
|
||||
break;
|
||||
case "c":
|
||||
if (that.allow_cid.indexOf(id)<0) {
|
||||
that.allow_cid.push(id)
|
||||
that.allow_cid.push(id);
|
||||
} else {
|
||||
that.allow_cid.remove(id);
|
||||
}
|
||||
@ -142,7 +142,7 @@ ACL.prototype.set_allow = function(itemid){
|
||||
break;
|
||||
}
|
||||
that.update_view();
|
||||
}
|
||||
};
|
||||
|
||||
ACL.prototype.set_deny = function(itemid) {
|
||||
type = itemid[0];
|
||||
@ -150,7 +150,7 @@ ACL.prototype.set_deny = function(itemid){
|
||||
switch(type) {
|
||||
case "g":
|
||||
if (that.deny_gid.indexOf(id)<0) {
|
||||
that.deny_gid.push(id)
|
||||
that.deny_gid.push(id);
|
||||
} else {
|
||||
that.deny_gid.remove(id);
|
||||
}
|
||||
@ -158,7 +158,7 @@ ACL.prototype.set_deny = function(itemid){
|
||||
break;
|
||||
case "c":
|
||||
if (that.deny_cid.indexOf(id)<0) {
|
||||
that.deny_cid.push(id)
|
||||
that.deny_cid.push(id);
|
||||
} else {
|
||||
that.deny_cid.remove(id);
|
||||
}
|
||||
@ -166,20 +166,19 @@ ACL.prototype.set_deny = function(itemid){
|
||||
break;
|
||||
}
|
||||
that.update_view();
|
||||
}
|
||||
};
|
||||
|
||||
ACL.prototype.update_view = function() {
|
||||
if (that.allow_gid.length==0 && that.allow_cid.length==0 &&
|
||||
that.deny_gid.length==0 && that.deny_cid.length==0){
|
||||
if (that.allow_gid.length === 0 && that.allow_cid.length === 0 &&
|
||||
that.deny_gid.length === 0 && that.deny_cid.length === 0) {
|
||||
that.showall.removeClass("btn-default").addClass("btn-warning");
|
||||
/* jot acl */
|
||||
$('#jot-perms-icon').removeClass('icon-lock').addClass('icon-unlock');
|
||||
$('#jot-public').show();
|
||||
$('.profile-jot-net input').attr('disabled', false);
|
||||
if(typeof editor != 'undefined' && editor != false) {
|
||||
if(typeof editor !== 'undefined' && editor !== false) {
|
||||
$('#profile-jot-desc').html(ispublic);
|
||||
}
|
||||
|
||||
} else {
|
||||
that.showall.removeClass("btn-warning").addClass("btn-default");
|
||||
/* jot acl */
|
||||
@ -191,7 +190,6 @@ ACL.prototype.update_view = function(){
|
||||
$("#acl-list-content .acl-list-item").each(function() {
|
||||
$(this).removeClass("groupshow grouphide");
|
||||
});
|
||||
|
||||
$("#acl-list-content .acl-list-item").each(function() {
|
||||
itemid = $(this).attr('id');
|
||||
type = itemid[0];
|
||||
@ -213,20 +211,18 @@ ACL.prototype.update_view = function(){
|
||||
bthide.removeClass("btn-default").addClass("btn-danger");
|
||||
uclass = "grouphide";
|
||||
}
|
||||
|
||||
$(that.group_uids[id]).each(function(i, v) {
|
||||
if(uclass == "grouphide")
|
||||
$("#c"+v).removeClass("groupshow");
|
||||
if(uclass != "") {
|
||||
if(uclass !== "") {
|
||||
var cls = $("#c"+v).attr('class');
|
||||
if( cls == undefined)
|
||||
if( cls === undefined)
|
||||
return true;
|
||||
var hiding = cls.indexOf('grouphide');
|
||||
if(hiding == -1)
|
||||
$("#c"+v).addClass(uclass);
|
||||
}
|
||||
});
|
||||
|
||||
break;
|
||||
case "c":
|
||||
if (that.allow_cid.indexOf(id)>=0){
|
||||
@ -238,18 +234,15 @@ ACL.prototype.update_view = function(){
|
||||
bthide.removeClass("btn-default").addClass("btn-danger");
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
ACL.prototype.get = function(start, count, search) {
|
||||
var postdata = {
|
||||
start: start,
|
||||
count: count,
|
||||
search: search,
|
||||
}
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
@ -258,7 +251,7 @@ ACL.prototype.get = function(start,count, search){
|
||||
dataType: 'json',
|
||||
success: that.populate
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
ACL.prototype.populate = function(data) {
|
||||
var height = Math.ceil(data.items.length / that.nw) * 42;
|
||||
@ -266,7 +259,7 @@ ACL.prototype.populate = function(data){
|
||||
$(data.items).each(function(){
|
||||
html = "<div class='acl-list-item {4} {7} {5}' title='{6}' id='{2}{3}'>"+that.item_tpl+"</div>";
|
||||
html = html.format(this.photo, this.name, this.type, this.xid, '', this.self, this.link, this.taggable);
|
||||
if (this.uids!=undefined) that.group_uids[this.id] = this.uids;
|
||||
if (this.uids !== undefined) that.group_uids[this.id] = this.uids;
|
||||
//console.log(html);
|
||||
that.list_content.append(html);
|
||||
});
|
||||
@ -276,5 +269,4 @@ ACL.prototype.populate = function(data){
|
||||
$(el).removeAttr("data-src");
|
||||
});
|
||||
that.update_view();
|
||||
}
|
||||
|
||||
};
|
@ -12,13 +12,13 @@ function contact_search(term, callback, backend_url, type, extra_channels, spine
|
||||
if(!(bt in contact_search.cache)) contact_search.cache[bt] = {};
|
||||
|
||||
var lterm = term.toLowerCase(); // Ignore case
|
||||
for(t in contact_search.cache[bt]) {
|
||||
for(var t in contact_search.cache[bt]) {
|
||||
if(lterm.indexOf(t) >= 0) { // A more broad search has been performed already, so use those results
|
||||
$(spinelement).spin(false);
|
||||
// Filter old results locally
|
||||
var matching = contact_search.cache[bt][t].filter(function (x) { return (x.name.toLowerCase().indexOf(lterm) >= 0 || (typeof x.nick !== 'undefined' && x.nick.toLowerCase().indexOf(lterm) >= 0)); }); // Need to check that nick exists because groups don't have one
|
||||
matching.unshift({taggable:false, text: term, replace: term});
|
||||
setTimeout(function() { callback(matching)} , 1); // Use "pseudo-thread" to avoid some problems
|
||||
setTimeout(function() { callback(matching); } , 1); // Use "pseudo-thread" to avoid some problems
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -28,7 +28,7 @@ function contact_search(term, callback, backend_url, type, extra_channels, spine
|
||||
count:100,
|
||||
search:term,
|
||||
type:type,
|
||||
}
|
||||
};
|
||||
|
||||
if(typeof extra_channels !== 'undefined' && extra_channels)
|
||||
postdata['extra_channels[]'] = extra_channels;
|
||||
@ -57,13 +57,13 @@ contact_search.cache = {};
|
||||
function contact_format(item) {
|
||||
// Show contact information if not explicitly told to show something else
|
||||
if(typeof item.text === 'undefined') {
|
||||
var desc = ((item.label) ? item.nick + ' ' + item.label : item.nick)
|
||||
var desc = ((item.label) ? item.nick + ' ' + item.label : item.nick);
|
||||
if(typeof desc === 'undefined') desc = '';
|
||||
if(desc) desc = ' ('+desc+')';
|
||||
return "<div class='{0}' title='{4}'><img src='{1}'><span class='contactname'>{2}</span><span class='dropdown-sub-text'>{3}</span><div class='clear'></div></div>".format(item.taggable, item.photo, item.name, desc, item.link)
|
||||
return "<div class='{0}' title='{4}'><img src='{1}'><span class='contactname'>{2}</span><span class='dropdown-sub-text'>{3}</span><div class='clear'></div></div>".format(item.taggable, item.photo, item.name, desc, item.link);
|
||||
}
|
||||
else
|
||||
return "<div>"+item.text+"</div>"
|
||||
return "<div>" + item.text + "</div>";
|
||||
}
|
||||
|
||||
function editor_replace(item) {
|
||||
@ -77,6 +77,7 @@ function editor_replace(item) {
|
||||
// 16 chars is also the minimum length in the backend (otherwise it's interpreted as a local id).
|
||||
if(id.length > 16)
|
||||
id = item.id.substring(0,16);
|
||||
|
||||
return '$1$2' + item.nick.replace(' ', '') + '+' + id + ' ';
|
||||
}
|
||||
|
||||
@ -105,15 +106,15 @@ function submit_form(e) {
|
||||
search: function(term, callback) { contact_search(term, callback, backend_url, 'c', extra_channels, spinelement=false); },
|
||||
replace: editor_replace,
|
||||
template: contact_format,
|
||||
}
|
||||
};
|
||||
|
||||
smilies = {
|
||||
match: /(^|\s)(:[a-z]{2,})$/,
|
||||
index: 2,
|
||||
search: function(term, callback) { $.getJSON('/smilies/json').done(function(data) { callback($.map(data, function(entry) { return entry['text'].indexOf(term) === 0 ? entry : null })) }) },
|
||||
template: function(item) { return item['icon'] + item['text'] },
|
||||
replace: function(item) { return "$1"+item['text'] + ' '; },
|
||||
}
|
||||
search: function(term, callback) { $.getJSON('/smilies/json').done(function(data) { callback($.map(data, function(entry) { return entry.text.indexOf(term) === 0 ? entry : null; })); }); },
|
||||
template: function(item) { return item.icon + item.text; },
|
||||
replace: function(item) { return "$1" + item.text + ' '; },
|
||||
};
|
||||
this.attr('autocomplete','off');
|
||||
this.textcomplete([contacts,smilies], {className:'acpopup', zIndex:1020});
|
||||
};
|
||||
@ -124,7 +125,6 @@ function submit_form(e) {
|
||||
*/
|
||||
(function( $ ) {
|
||||
$.fn.search_autocomplete = function(backend_url) {
|
||||
|
||||
// Autocomplete contacts
|
||||
contacts = {
|
||||
match: /(^@)([^\n]{2,})$/,
|
||||
@ -132,18 +132,15 @@ function submit_form(e) {
|
||||
search: function(term, callback) { contact_search(term, callback, backend_url, 'x', [], spinelement='#nav-search-spinner'); },
|
||||
replace: basic_replace,
|
||||
template: contact_format,
|
||||
}
|
||||
};
|
||||
this.attr('autocomplete', 'off');
|
||||
var a = this.textcomplete([contacts], {className:'acpopup', maxCount:100, zIndex: 1020, appendTo:'nav'});
|
||||
|
||||
a.on('textComplete:select', function(e, value, strategy) { submit_form(this); });
|
||||
|
||||
};
|
||||
})( jQuery );
|
||||
|
||||
(function( $ ) {
|
||||
$.fn.contact_autocomplete = function(backend_url, typ, autosubmit, onselect) {
|
||||
|
||||
if(typeof typ === 'undefined') typ = '';
|
||||
if(typeof autosubmit === 'undefined') autosubmit = false;
|
||||
|
||||
@ -154,7 +151,7 @@ function submit_form(e) {
|
||||
search: function(term, callback) { contact_search(term, callback, backend_url, typ,[], spinelement=false); },
|
||||
replace: basic_replace,
|
||||
template: contact_format,
|
||||
}
|
||||
};
|
||||
|
||||
this.attr('autocomplete','off');
|
||||
var a = this.textcomplete([contacts], {className:'acpopup', zIndex:1020});
|
||||
@ -166,4 +163,3 @@ function submit_form(e) {
|
||||
a.on('textComplete:select', function(e, value, strategy) { onselect(value); });
|
||||
};
|
||||
})( jQuery );
|
||||
|
||||
|
190
view/js/main.js
190
view/js/main.js
@ -1,12 +1,11 @@
|
||||
|
||||
function confirmDelete() { return confirm(aStr['delitem']); }
|
||||
function confirmDelete() { return confirm(aStr.delitem); }
|
||||
|
||||
function commentOpenUI(obj, id) {
|
||||
|
||||
$(document).unbind( "click.commentOpen", handler );
|
||||
|
||||
var handler = function() {
|
||||
if(obj.value == aStr['comment']) {
|
||||
if(obj.value == aStr.comment) {
|
||||
obj.value = '';
|
||||
$("#comment-edit-text-" + id).addClass("comment-edit-text-full").removeClass("comment-edit-text-empty");
|
||||
// Choose an arbitrary tab index that's greater than what we're using in jot (3 of them)
|
||||
@ -18,16 +17,14 @@
|
||||
};
|
||||
|
||||
$(document).bind( "click.commentOpen", handler );
|
||||
|
||||
}
|
||||
|
||||
function commentCloseUI(obj, id) {
|
||||
|
||||
$(document).unbind( "click.commentClose", handler );
|
||||
|
||||
var handler = function() {
|
||||
if(obj.value == '') {
|
||||
obj.value = aStr['comment'];
|
||||
if(obj.value === '') {
|
||||
obj.value = aStr.comment;
|
||||
$("#comment-edit-text-" + id).removeClass("comment-edit-text-full").addClass("comment-edit-text-empty");
|
||||
$("#comment-edit-text-" + id).removeAttr('tabindex');
|
||||
$("#comment-edit-submit-" + id).removeAttr('tabindex');
|
||||
@ -36,11 +33,10 @@
|
||||
};
|
||||
|
||||
$(document).bind( "click.commentClose", handler );
|
||||
|
||||
}
|
||||
|
||||
function commentOpen(obj, id) {
|
||||
if(obj.value == aStr['comment']) {
|
||||
if(obj.value == aStr.comment) {
|
||||
obj.value = '';
|
||||
$("#comment-edit-text-" + id).addClass("comment-edit-text-full");
|
||||
$("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
|
||||
@ -52,8 +48,8 @@
|
||||
}
|
||||
|
||||
function commentClose(obj, id) {
|
||||
if(obj.value == '') {
|
||||
obj.value = aStr['comment'];
|
||||
if(obj.value === '') {
|
||||
obj.value = aStr.comment;
|
||||
$("#comment-edit-text-" + id).removeClass("comment-edit-text-full");
|
||||
$("#comment-edit-text-" + id).addClass("comment-edit-text-empty");
|
||||
$("#mod-cmnt-wrap-" + id).hide();
|
||||
@ -66,8 +62,7 @@
|
||||
function showHideCommentBox(id) {
|
||||
if( $('#comment-edit-form-' + id).is(':visible')) {
|
||||
$('#comment-edit-form-' + id).hide();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$('#comment-edit-form-' + id).show();
|
||||
}
|
||||
}
|
||||
@ -88,7 +83,6 @@
|
||||
$("#comment-edit-text-" + id).val(tmpStr + ins);
|
||||
}
|
||||
|
||||
|
||||
function insertbbcomment(comment, BBcode, id) {
|
||||
// allow themes to override this
|
||||
if(typeof(insertFormatting) != 'undefined')
|
||||
@ -136,11 +130,8 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function insertCommentURL(comment, id) {
|
||||
|
||||
reply = prompt(aStr['linkurl']);
|
||||
reply = prompt(aStr.linkurl);
|
||||
if(reply && reply.length) {
|
||||
reply = bin2hex(reply);
|
||||
$('body').css('cursor', 'wait');
|
||||
@ -157,22 +148,18 @@
|
||||
textarea = document.getElementById("comment-edit-text-" +id);
|
||||
textarea.value = textarea.value + data;
|
||||
$('body').css('cursor', 'auto');
|
||||
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function viewsrc(id) {
|
||||
$.colorbox({href: 'viewsrc/' + id, maxWidth: '80%', maxHeight: '80%' });
|
||||
}
|
||||
|
||||
function qCommentInsert(obj, id) {
|
||||
var tmpStr = $("#comment-edit-text-" + id).val();
|
||||
if(tmpStr == aStr['comment']) {
|
||||
if(tmpStr == aStr.comment) {
|
||||
tmpStr = '';
|
||||
$("#comment-edit-text-" + id).addClass("comment-edit-text-full");
|
||||
$("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
|
||||
@ -191,42 +178,38 @@
|
||||
if( $('#collapsed-comments-' + id).is(':visible')) {
|
||||
$('#collapsed-comments-' + id + ' .autotime').timeago('dispose');
|
||||
$('#collapsed-comments-' + id).slideUp();
|
||||
$('#hide-comments-' + id).html(aStr['showmore']);
|
||||
$('#hide-comments-' + id).html(aStr.showmore);
|
||||
$('#hide-comments-total-' + id).show();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$('#collapsed-comments-' + id + ' .autotime').timeago();
|
||||
$('#collapsed-comments-' + id).slideDown();
|
||||
$('#hide-comments-' + id).html(aStr['showfewer']);
|
||||
$('#hide-comments-' + id).html(aStr.showfewer);
|
||||
$('#hide-comments-total-' + id).hide();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function openClose(theID) {
|
||||
if(document.getElementById(theID).style.display == "block") {
|
||||
document.getElementById(theID).style.display = "none"
|
||||
}
|
||||
else {
|
||||
document.getElementById(theID).style.display = "block"
|
||||
document.getElementById(theID).style.display = "none";
|
||||
} else {
|
||||
document.getElementById(theID).style.display = "block";
|
||||
}
|
||||
}
|
||||
|
||||
function closeOpen(theID) {
|
||||
if(document.getElementById(theID).style.display == "none") {
|
||||
document.getElementById(theID).style.display = "block"
|
||||
}
|
||||
else {
|
||||
document.getElementById(theID).style.display = "none"
|
||||
document.getElementById(theID).style.display = "block";
|
||||
} else {
|
||||
document.getElementById(theID).style.display = "none";
|
||||
}
|
||||
}
|
||||
|
||||
function openMenu(theID) {
|
||||
document.getElementById(theID).style.display = "block"
|
||||
document.getElementById(theID).style.display = "block";
|
||||
}
|
||||
|
||||
function closeMenu(theID) {
|
||||
document.getElementById(theID).style.display = "none"
|
||||
document.getElementById(theID).style.display = "none";
|
||||
}
|
||||
|
||||
function markRead(notifType) {
|
||||
@ -242,7 +225,6 @@
|
||||
}
|
||||
|
||||
|
||||
|
||||
var src = null;
|
||||
var prev = null;
|
||||
var livetime = null;
|
||||
@ -280,7 +262,6 @@
|
||||
val = $(this).val();
|
||||
id = $(this).attr("id");
|
||||
$("#"+id+"_onoff ."+ (val==0?"on":"off")).addClass("hidden");
|
||||
|
||||
});
|
||||
$(".onoff > a").click(function(event){
|
||||
event.preventDefault();
|
||||
@ -310,7 +291,6 @@
|
||||
return;
|
||||
});
|
||||
|
||||
|
||||
function manage_popup_menu(w,e) {
|
||||
menu = $( $(w).attr('rel') );
|
||||
|
||||
@ -330,8 +310,6 @@
|
||||
'transition' : 'elastic'
|
||||
});
|
||||
|
||||
|
||||
|
||||
NavUpdate();
|
||||
// Allow folks to stop the ajax page updates with the pause/break key
|
||||
$(document).keydown(function(event) {
|
||||
@ -360,7 +338,7 @@
|
||||
|
||||
if(event.keyCode == '19' || (event.ctrlKey && event.which == '32')) {
|
||||
event.preventDefault();
|
||||
if(stopped == false) {
|
||||
if(stopped === false) {
|
||||
stopped = true;
|
||||
if (event.ctrlKey) {
|
||||
totStopped = true;
|
||||
@ -375,26 +353,20 @@
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
function NavUpdate() {
|
||||
|
||||
if(liking)
|
||||
$('.like-rotator').spin(false);
|
||||
|
||||
if(! stopped) {
|
||||
|
||||
var pingCmd = 'ping' + ((localUser != 0) ? '?f=&uid=' + localUser : '');
|
||||
|
||||
$.get(pingCmd,function(data) {
|
||||
|
||||
if(data.invalid == 1) {
|
||||
window.location.href=window.location.href
|
||||
window.location.href=window.location.href;
|
||||
}
|
||||
|
||||
|
||||
if(! updateCountsOnly) {
|
||||
// start live update
|
||||
|
||||
@ -407,7 +379,7 @@
|
||||
if($('#live-photos').length) {
|
||||
if(liking) {
|
||||
liking = 0;
|
||||
window.location.href=window.location.href
|
||||
window.location.href=window.location.href;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -416,48 +388,46 @@
|
||||
|
||||
if(data.network == 0) {
|
||||
data.network = '';
|
||||
$('.net-update').removeClass('show')
|
||||
}
|
||||
else {
|
||||
$('.net-update').addClass('show')
|
||||
$('.net-update').removeClass('show');
|
||||
} else {
|
||||
$('.net-update').addClass('show');
|
||||
}
|
||||
$('.net-update').html(data.network);
|
||||
|
||||
if(data.home == 0) { data.home = ''; $('.home-update').removeClass('show') } else { $('.home-update').addClass('show') }
|
||||
if(data.home == 0) { data.home = ''; $('.home-update').removeClass('show'); } else { $('.home-update').addClass('show'); }
|
||||
$('.home-update').html(data.home);
|
||||
|
||||
|
||||
if(data.intros == 0) { data.intros = ''; $('.intro-update').removeClass('show') } else { $('.intro-update').addClass('show') }
|
||||
if(data.intros == 0) { data.intros = ''; $('.intro-update').removeClass('show'); } else { $('.intro-update').addClass('show'); }
|
||||
$('.intro-update').html(data.intros);
|
||||
|
||||
if(data.mail == 0) { data.mail = ''; $('.mail-update').removeClass('show') } else { $('.mail-update').addClass('show') }
|
||||
if(data.mail == 0) { data.mail = ''; $('.mail-update').removeClass('show'); } else { $('.mail-update').addClass('show'); }
|
||||
$('.mail-update').html(data.mail);
|
||||
|
||||
|
||||
if(data.notify == 0) { data.notify = ''; $('.notify-update').removeClass('show') } else { $('.notify-update').addClass('show') }
|
||||
if(data.notify == 0) { data.notify = ''; $('.notify-update').removeClass('show'); } else { $('.notify-update').addClass('show'); }
|
||||
$('.notify-update').html(data.notify);
|
||||
|
||||
if(data.register == 0) { data.register = ''; $('.register-update').removeClass('show') } else { $('.register-update').addClass('show') }
|
||||
if(data.register == 0) { data.register = ''; $('.register-update').removeClass('show'); } else { $('.register-update').addClass('show'); }
|
||||
$('.register-update').html(data.register);
|
||||
|
||||
if(data.events == 0) { data.events = ''; $('.events-update').removeClass('show') } else { $('.events-update').addClass('show') }
|
||||
if(data.events == 0) { data.events = ''; $('.events-update').removeClass('show'); } else { $('.events-update').addClass('show'); }
|
||||
$('.events-update').html(data.events);
|
||||
|
||||
if(data.events_today == 0) { data.events_today = ''; $('.events-today-update').removeClass('show') } else { $('.events-today-update').addClass('show'); $('.events-update').html(data.events + '*'); }
|
||||
if(data.events_today == 0) { data.events_today = ''; $('.events-today-update').removeClass('show'); } else { $('.events-today-update').addClass('show'); $('.events-update').html(data.events + '*'); }
|
||||
$('.events-today-update').html(data.events_today);
|
||||
|
||||
if(data.birthdays == 0) { data.birthdays = ''; $('.birthdays-update').removeClass('show') } else { $('.birthdays-update').addClass('show'); }
|
||||
if(data.birthdays == 0) { data.birthdays = ''; $('.birthdays-update').removeClass('show'); } else { $('.birthdays-update').addClass('show'); }
|
||||
$('.birthdays-update').html(data.birthdays);
|
||||
|
||||
if(data.birthdays_today == 0) { data.birthdays_today = ''; $('.birthdays-today-update').removeClass('show') } else { $('.birthdays-today-update').addClass('show'); $('.birthdays-update').html(data.birthdays + '*'); }
|
||||
if(data.birthdays_today == 0) { data.birthdays_today = ''; $('.birthdays-today-update').removeClass('show'); } else { $('.birthdays-today-update').addClass('show'); $('.birthdays-update').html(data.birthdays + '*'); }
|
||||
$('.birthdays-today-update').html(data.birthdays_today);
|
||||
|
||||
if(data.all_events == 0) { data.all_events = ''; $('.all_events-update').removeClass('show') } else { $('.all_events-update').addClass('show') }
|
||||
if(data.all_events == 0) { data.all_events = ''; $('.all_events-update').removeClass('show'); } else { $('.all_events-update').addClass('show'); }
|
||||
$('.all_events-update').html(data.all_events);
|
||||
if(data.all_events_today == 0) { data.all_events_today = ''; $('.all_events-today-update').removeClass('show') } else { $('.all_events-today-update').addClass('show'); $('.all_events-update').html(data.all_events + '*'); }
|
||||
|
||||
if(data.all_events_today == 0) { data.all_events_today = ''; $('.all_events-today-update').removeClass('show'); } else { $('.all_events-today-update').addClass('show'); $('.all_events-update').html(data.all_events + '*'); }
|
||||
$('.all_events-today-update').html(data.all_events_today);
|
||||
|
||||
$.jGrowl.defaults.closerTemplate = '<div>[ ' + aStr['closeAll'] + ']</div>';
|
||||
$.jGrowl.defaults.closerTemplate = '<div>[ ' + aStr.closeAll + ']</div>';
|
||||
|
||||
$(data.notice).each(function() {
|
||||
$.jGrowl(this.message, { sticky: true, theme: 'notice' });
|
||||
@ -466,19 +436,14 @@
|
||||
$(data.info).each(function(){
|
||||
$.jGrowl(this.message, { sticky: false, theme: 'info', life: 10000 });
|
||||
});
|
||||
|
||||
|
||||
|
||||
}) ;
|
||||
}
|
||||
timer = setTimeout(NavUpdate, updateInterval);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function updatePageItems(mode, data) {
|
||||
|
||||
|
||||
if(mode === 'append') {
|
||||
$(data).each(function() {
|
||||
$('#page-end').before($(this));
|
||||
@ -495,7 +460,6 @@ function updatePageItems(mode,data) {
|
||||
}
|
||||
|
||||
collapseHeight();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -504,7 +468,6 @@ function updateConvItems(mode,data) {
|
||||
if(mode === 'update') {
|
||||
prev = 'threads-begin';
|
||||
|
||||
|
||||
$('.thread-wrapper.toplevel_item',data).each(function() {
|
||||
|
||||
var ident = $(this).attr('id');
|
||||
@ -545,11 +508,7 @@ function updateConvItems(mode,data) {
|
||||
|
||||
next = 'threads-end';
|
||||
|
||||
|
||||
|
||||
$('.thread-wrapper.toplevel_item',data).each(function() {
|
||||
|
||||
|
||||
var ident = $(this).attr('id');
|
||||
var commentWrap = $('#'+ident+' .collapsed-comments').attr('id');
|
||||
var itmId = 0;
|
||||
@ -606,14 +565,12 @@ function updateConvItems(mode,data) {
|
||||
$('img',this).each(function() {
|
||||
$(this).attr('src',$(this).attr('dst'));
|
||||
});
|
||||
|
||||
if($('#collapsed-comments-'+itmId).is(':visible'))
|
||||
isVisible = true;
|
||||
$('#' + prev).after($(this));
|
||||
if(isVisible)
|
||||
showHideComments(itmId);
|
||||
$("> .wall-item-outside-wrapper .autotime, > .thread-wrapper .autotime",this).timeago();
|
||||
|
||||
}
|
||||
prev = ident;
|
||||
});
|
||||
@ -629,7 +586,6 @@ function updateConvItems(mode,data) {
|
||||
if (title)
|
||||
document.title = title + " - " + document.title;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$('.like-rotator').spin(false);
|
||||
@ -650,13 +606,11 @@ function updateConvItems(mode,data) {
|
||||
bimgcount--;
|
||||
if (! bimgcount) {
|
||||
collapseHeight();
|
||||
|
||||
}
|
||||
});
|
||||
} else {
|
||||
collapseHeight();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -666,8 +620,8 @@ function updateConvItems(mode,data) {
|
||||
if(! $(this).hasClass('divmore')) {
|
||||
$(this).readmore({
|
||||
collapsedHeight: divmore_height,
|
||||
moreLink: '<a href="#" class="divgrow-showmore">'+aStr['divgrowmore']+'</a>',
|
||||
lessLink: '<a href="#" class="divgrow-showmore">'+aStr['divgrowless']+'</a>'
|
||||
moreLink: '<a href="#" class="divgrow-showmore">' + aStr.divgrowmore + '</a>',
|
||||
lessLink: '<a href="#" class="divgrow-showmore">' + aStr.divgrowless + '</a>'
|
||||
});
|
||||
$(this).addClass('divmore');
|
||||
}
|
||||
@ -677,7 +631,7 @@ function updateConvItems(mode,data) {
|
||||
|
||||
function liveUpdate() {
|
||||
if(typeof profile_uid === 'undefined') profile_uid = false; /* Should probably be unified with channelId defined in head.tpl */
|
||||
if((src == null) || (stopped) || (! profile_uid)) { $('.like-rotator').spin(false); return; }
|
||||
if((src === null) || (stopped) || (! profile_uid)) { $('.like-rotator').spin(false); return; }
|
||||
if(($('.comment-edit-text-full').length) || (in_progress)) {
|
||||
if(livetime) {
|
||||
clearTimeout(livetime);
|
||||
@ -685,7 +639,7 @@ function updateConvItems(mode,data) {
|
||||
livetime = setTimeout(liveUpdate, 10000);
|
||||
return;
|
||||
}
|
||||
if(livetime != null)
|
||||
if(livetime !== null)
|
||||
livetime = null;
|
||||
|
||||
prev = 'live-' + src;
|
||||
@ -738,8 +692,6 @@ function updateConvItems(mode,data) {
|
||||
if(timer) clearTimeout(timer);
|
||||
timer = setTimeout(NavUpdate,10);
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
function pageUpdate() {
|
||||
@ -769,7 +721,6 @@ function updateConvItems(mode,data) {
|
||||
$("#page-spinner").spin(false);
|
||||
in_progress = false;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function justifyPhotos() {
|
||||
@ -808,13 +759,11 @@ function updateConvItems(mode,data) {
|
||||
$.get(pingExCmd, function(data) {
|
||||
|
||||
if(data.invalid == 1) {
|
||||
window.location.href=window.location.href
|
||||
window.location.href=window.location.href;
|
||||
}
|
||||
|
||||
|
||||
if(data.notify.length == 0){
|
||||
$("#nav-" + notifyType + "-menu").html(aStr[nothingnew]);
|
||||
|
||||
} else {
|
||||
$("#nav-" + notifyType + "-menu").html(notifications_all + notifications_mark);
|
||||
|
||||
@ -829,7 +778,6 @@ function updateConvItems(mode,data) {
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -855,8 +803,6 @@ function updateConvItems(mode,data) {
|
||||
$.get('like/' + ident + '?verb=' + verb, function() { window.location.href=window.location.href; });
|
||||
}
|
||||
|
||||
|
||||
|
||||
function dosubthread(ident) {
|
||||
unpause();
|
||||
$('#like-rotator-' + ident.toString()).spin('tiny');
|
||||
@ -864,7 +810,6 @@ function updateConvItems(mode,data) {
|
||||
liking = 1;
|
||||
}
|
||||
|
||||
|
||||
function dostar(ident) {
|
||||
ident = ident.toString();
|
||||
$('#like-rotator-' + ident).spin('tiny');
|
||||
@ -920,6 +865,7 @@ function updateConvItems(mode,data) {
|
||||
$('#cloud-index-' + last_filestorage_id).removeClass('cloud-index-active');
|
||||
$('#perms-panel-' + last_filestorage_id).hide().html('');
|
||||
$('#file-edit-' + id).spin('tiny');
|
||||
// What for do we need this here?
|
||||
delete acl;
|
||||
$.get('filestorage/' + nick + '/' + id + '/edit', function(data) {
|
||||
$('#cloud-index-' + id).addClass('cloud-index-active');
|
||||
@ -957,7 +903,6 @@ function updateConvItems(mode,data) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
function preview_comment(id) {
|
||||
$("#comment-preview-inp-" + id).val("1");
|
||||
$("#comment-edit-preview-" + id).show();
|
||||
@ -966,7 +911,6 @@ function updateConvItems(mode,data) {
|
||||
$("#comment-edit-form-" + id).serialize(),
|
||||
function(data) {
|
||||
if(data.preview) {
|
||||
|
||||
$("#comment-edit-preview-" + id).html(data.preview);
|
||||
$("#comment-edit-preview-" + id + " a").click(function() { return false; });
|
||||
}
|
||||
@ -985,7 +929,6 @@ function updateConvItems(mode,data) {
|
||||
timer = setTimeout(NavUpdate,10);
|
||||
}
|
||||
);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -1008,7 +951,6 @@ function updateConvItems(mode,data) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
function unpause() {
|
||||
// unpause auto reloads if they are currently stopped
|
||||
totStopped = false;
|
||||
@ -1016,7 +958,6 @@ function updateConvItems(mode,data) {
|
||||
$('#pause').html('');
|
||||
}
|
||||
|
||||
|
||||
function bin2hex(s) {
|
||||
// Converts the binary representation of data to hex
|
||||
//
|
||||
@ -1073,12 +1014,10 @@ function updateConvItems(mode,data) {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function checkboxhighlight(box) {
|
||||
if($(box).is(':checked')) {
|
||||
$(box).addClass('checkeditem');
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$(box).removeClass('checkeditem');
|
||||
}
|
||||
}
|
||||
@ -1090,7 +1029,6 @@ function fcFileBrowser (field_name, url, type, win) {
|
||||
the session name and session ID in the request string (can look like this: "?PHPSESSID=88p0n70s9dsknra96qhuk6etm5").
|
||||
These lines of code extract the necessary parameters and add them back to the filebrowser URL again. */
|
||||
|
||||
|
||||
var cmsURL = baseurl+"/fbrowser/"+type+"/";
|
||||
|
||||
tinyMCE.activeEditor.windowManager.open({
|
||||
@ -1141,7 +1079,7 @@ function setupFieldRichtext(){
|
||||
/**
|
||||
* sprintf in javascript
|
||||
* "{0} and {1}".format('zero','uno');
|
||||
**/
|
||||
*/
|
||||
String.prototype.format = function() {
|
||||
var formatted = this;
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
@ -1152,7 +1090,8 @@ String.prototype.format = function() {
|
||||
};
|
||||
// Array Remove
|
||||
Array.prototype.remove = function(item) {
|
||||
to=undefined; from=this.indexOf(item);
|
||||
to = undefined;
|
||||
from = this.indexOf(item);
|
||||
var rest = this.slice((to || from) + 1 || this.length);
|
||||
this.length = from < 0 ? this.length + from : from;
|
||||
return this.push.apply(this, rest);
|
||||
@ -1161,9 +1100,8 @@ Array.prototype.remove = function(item) {
|
||||
function previewTheme(elm) {
|
||||
theme = $(elm).val();
|
||||
$.getJSON('pretheme?f=&theme=' + theme,function(data) {
|
||||
$('#theme-preview').html('<div id="theme-desc">' + data.desc + '</div><div id="theme-version">' + data.version + '</div><div id="theme-credits">' + data.credits + '</div><a href="' + data.img + '"><img src="' + data.img + '" style="max-width:100%; max-height:300px" alt="' + theme + '" /></a>');
|
||||
$('#theme-preview').html('<div id="theme-desc">' + data.desc + '</div><div id="theme-version">' + data.version + '</div><div id="theme-credits">' + data.credits + '</div><a href="' + data.img + '"><img src="' + data.img + '" style="max-width:100%; max-height:300px" alt="' + theme + '"></a>');
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
@ -1188,26 +1126,21 @@ $(document).ready(function() {
|
||||
numbers : aStr['t17'],
|
||||
};
|
||||
|
||||
|
||||
$(".autotime").timeago();
|
||||
$("#toc").toc();
|
||||
|
||||
|
||||
});
|
||||
|
||||
function zFormError(elm,x) {
|
||||
if(x) {
|
||||
$(elm).addClass("zform-error");
|
||||
$(elm).removeClass("zform-ok");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$(elm).addClass("zform-ok");
|
||||
$(elm).removeClass("zform-error");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
$(window).scroll(function () {
|
||||
if(typeof buildCmd == 'function') {
|
||||
// This is a content page with items and/or conversations
|
||||
@ -1254,7 +1187,6 @@ $(window).scroll(function () {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
var chanviewFullSize = false;
|
||||
@ -1278,13 +1210,11 @@ function chanviewFull() {
|
||||
addeditortext(data);
|
||||
}
|
||||
|
||||
|
||||
function loadText(textRegion,data) {
|
||||
var currentText = $(textRegion).val();
|
||||
$(textRegion).val(currentText + data);
|
||||
}
|
||||
|
||||
|
||||
function addeditortext(data) {
|
||||
if(plaintext == 'none') {
|
||||
var currentText = $("#profile-jot-text").val();
|
||||
@ -1294,12 +1224,11 @@ function chanviewFull() {
|
||||
tinyMCE.execCommand('mceInsertRawHTML',false,data);
|
||||
}
|
||||
|
||||
|
||||
function h2b(s) {
|
||||
var y = s;
|
||||
function rep(re, str) {
|
||||
y = y.replace(re,str);
|
||||
};
|
||||
}
|
||||
|
||||
rep(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]");
|
||||
rep(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]");
|
||||
@ -1311,7 +1240,6 @@ function chanviewFull() {
|
||||
rep(/<img.*?src=\"(.*?)\".*?width=\"(.*?)\".*?height=\"(.*?)\".*?\/>/gi,"[img=$2x$3]$1[/img]");
|
||||
rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");
|
||||
|
||||
|
||||
rep(/<ul class=\"listbullet\" style=\"list-style-type\: circle\;\">(.*?)<\/ul>/gi,"[list]$1[/list]");
|
||||
rep(/<ul class=\"listnone\" style=\"list-style-type\: none\;\">(.*?)<\/ul>/gi,"[list=]$1[/list]");
|
||||
rep(/<ul class=\"listdecimal\" style=\"list-style-type\: decimal\;\">(.*?)<\/ul>/gi,"[list=1]$1[/list]");
|
||||
@ -1328,7 +1256,6 @@ function chanviewFull() {
|
||||
rep(/<(em|i)>/gi,"[i]");
|
||||
rep(/<\/u>/gi,"[/u]");
|
||||
|
||||
|
||||
rep(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]");
|
||||
rep(/<u>/gi,"[u]");
|
||||
rep(/<blockquote[^>]*>/gi,"[quote]");
|
||||
@ -1346,14 +1273,13 @@ function chanviewFull() {
|
||||
rep(/&/gi,"&");
|
||||
|
||||
return y;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
function b2h(s) {
|
||||
var y = s;
|
||||
function rep(re, str) {
|
||||
y = y.replace(re,str);
|
||||
};
|
||||
}
|
||||
|
||||
rep(/\&/gi,"&");
|
||||
rep(/\</gi,"<");
|
||||
@ -1400,16 +1326,18 @@ function chanviewFull() {
|
||||
rep(/\<(.*?)(src|href)=\"[^hfm](.*?)\>/gi,'<$1$2="">');
|
||||
|
||||
return y;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
function zid(s) {
|
||||
if((! s.length) || (s.indexOf('zid=') != (-1)))
|
||||
return s;
|
||||
|
||||
if(! zid.length)
|
||||
return s;
|
||||
|
||||
var has_params = ((s.indexOf('?') == (-1)) ? false : true);
|
||||
var achar = ((has_params) ? '&' : '?');
|
||||
s = s + achar + 'f=&zid=' + zid;
|
||||
|
||||
return s;
|
||||
}
|
@ -1,5 +1,8 @@
|
||||
$(document).ready(function() {
|
||||
/**
|
||||
* JavaScript for mod/chat
|
||||
*/
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
|
||||
var selstr;
|
||||
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
|
||||
@ -7,10 +10,9 @@ $(document).ready(function() {
|
||||
$('#jot-perms-icon').removeClass('icon-unlock').addClass('icon-lock');
|
||||
$('#jot-public').hide();
|
||||
});
|
||||
if(selstr == null) {
|
||||
if(selstr === null) {
|
||||
$('#jot-perms-icon').removeClass('icon-lock').addClass('icon-unlock');
|
||||
$('#jot-public').show();
|
||||
}
|
||||
|
||||
}).trigger('change');
|
||||
});
|
@ -1,11 +1,9 @@
|
||||
function dirdetails(hash) {
|
||||
|
||||
$.get('dirprofile' + '?f=&hash=' + hash, function( data ) {
|
||||
$.colorbox({ maxWidth: "80%", maxHeight: "75%", scrolling: false, html: data });
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
var ratingVal = 0;
|
||||
var ratingText = '';
|
||||
var currentHash = '';
|
||||
@ -20,13 +18,12 @@ function fetchRatings(hash) {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function doRatings(hash) {
|
||||
fetchRatings(hash);
|
||||
}
|
||||
|
||||
function buildRatingForm(hash) {
|
||||
var html = '<form id="ratings_form" action="prate" method="post"><input type="hidden" name="target" value="'+hash+'" /><div class="rating-desc">'+aStr['rating_desc']+'</div><input id="dir-rating-range" class="directory-slider" type="text" value="'+ratingVal+'" name="rating" style="display: none;" /><div class="rating-text-label">'+aStr['rating_text']+'<input type="text" name="rating_text" class="directory-rating-text" value="'+ratingText+'" /><br /><input name="submit" class="directory-rating-submit" type="submit" value="'+aStr['submit']+'" onclick="postRatings(); return false;"></form><div class="clear"></div><script>$("#dir-rating-range").jRange({ from: -10, to: 10, step: 1, showLabels: false, showScale: true, scale : [ "-10","-5","0","5","10" ], onstatechange: function(v) { $("#dir-rating-range").val(v); } });</script>';
|
||||
var html = '<form id="ratings_form" action="prate" method="post"><input type="hidden" name="target" value="'+hash+'" /><div class="rating-desc">' + aStr.rating_desc + '</div><input id="dir-rating-range" class="directory-slider" type="text" value="' + ratingVal + '" name="rating" style="display: none;" /><div class="rating-text-label">' + aStr.rating_text + '<input type="text" name="rating_text" class="directory-rating-text" value="' + ratingText + '" /><br /><input name="submit" class="directory-rating-submit" type="submit" value="' + aStr.submit + '" onclick="postRatings(); return false;"></form><div class="clear"></div><script>$("#dir-rating-range").jRange({ from: -10, to: 10, step: 1, showLabels: false, showScale: true, scale: [ "-10","-5","0","5","10" ], onstatechange: function(v) { $("#dir-rating-range").val(v); } });</script>';
|
||||
|
||||
$.colorbox({maxwidth: "50%", maxHeight: "50%", scrolling: false, html: html, close: 'X' });
|
||||
currentHash = hash;
|
||||
|
@ -1,3 +1,6 @@
|
||||
/**
|
||||
* JavaScript for mod/events
|
||||
*/
|
||||
|
||||
$(document).ready( function() { showHideFinishDate(); });
|
||||
|
||||
@ -7,7 +10,6 @@ $(document).ready( function() { showHideFinishDate(); });
|
||||
else
|
||||
$('#event-finish-wrapper').show();
|
||||
}
|
||||
|
||||
function eventGetStart() {
|
||||
//reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
|
||||
$('#startModal').modal();
|
||||
@ -17,9 +19,7 @@ $(document).ready( function() { showHideFinishDate(); });
|
||||
$('#start-text').val(reply);
|
||||
$('#startModal').modal('hide');
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
function eventGetFinish() {
|
||||
//reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
|
||||
@ -30,6 +30,5 @@ $(document).ready( function() { showHideFinishDate(); });
|
||||
$('#finish-text').val(reply);
|
||||
$('#finishModal').modal('hide');
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
}
|
@ -1,5 +1,7 @@
|
||||
/**
|
||||
* JavaScript used by mod/filestorage
|
||||
*/
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
|
||||
var selstr;
|
||||
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
|
||||
@ -7,11 +9,9 @@ $(document).ready(function() {
|
||||
$('#jot-perms-icon').removeClass('icon-unlock').addClass('icon-lock');
|
||||
$('#jot-public').hide();
|
||||
});
|
||||
if(selstr == null) {
|
||||
if(selstr === null) {
|
||||
$('#jot-perms-icon').removeClass('icon-lock').addClass('icon-unlock');
|
||||
$('#jot-public').show();
|
||||
}
|
||||
|
||||
}).trigger('change');
|
||||
|
||||
});
|
@ -1,11 +1,12 @@
|
||||
/**
|
||||
* JavaScript used by mod/mitem.
|
||||
*/
|
||||
$(document).ready(function() {
|
||||
|
||||
$("a#settings-default-perms-menu").colorbox({
|
||||
'inline' : true,
|
||||
'transition' : 'elastic'
|
||||
});
|
||||
|
||||
|
||||
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
|
||||
var selstr;
|
||||
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
|
||||
@ -13,10 +14,9 @@ $(document).ready(function() {
|
||||
$('#jot-perms-icon').removeClass('icon-unlock').addClass('icon-lock');
|
||||
$('#jot-public').hide();
|
||||
});
|
||||
if(selstr == null) {
|
||||
if(selstr === null) {
|
||||
$('#jot-perms-icon').removeClass('icon-lock').addClass('icon-unlock');
|
||||
$('#jot-public').show();
|
||||
}
|
||||
|
||||
}).trigger('change');
|
||||
});
|
@ -1,5 +1,9 @@
|
||||
/**
|
||||
* JavaScript used by mod/photos
|
||||
*/
|
||||
|
||||
var ispublic = aStr['everybody'];
|
||||
// is this variable used anywhere?
|
||||
var ispublic = aStr.everybody;
|
||||
|
||||
$(document).ready(function() {
|
||||
$(document).ready(function() {
|
||||
@ -15,10 +19,9 @@ $(document).ready(function() {
|
||||
$('#jot-perms-icon').removeClass('icon-unlock').addClass('icon-lock');
|
||||
$('#jot-public').hide();
|
||||
});
|
||||
if(selstr == null) {
|
||||
if(selstr === null) {
|
||||
$('#jot-perms-icon').removeClass('icon-lock').addClass('icon-unlock');
|
||||
$('#jot-public').show();
|
||||
}
|
||||
|
||||
}).trigger('change');
|
||||
});
|
@ -8,7 +8,7 @@
|
||||
});
|
||||
$("#register-password").blur(function() {
|
||||
if(($("#register-password").val()).length < 6 ) {
|
||||
$("#register-password-feedback").html(aStr['pwshort']);
|
||||
$("#register-password-feedback").html(aStr.pwshort);
|
||||
zFormError("#register-password-feedback", true);
|
||||
}
|
||||
else {
|
||||
@ -18,7 +18,7 @@
|
||||
});
|
||||
$("#register-password2").blur(function() {
|
||||
if($("#register-password").val() != $("#register-password2").val()) {
|
||||
$("#register-password2-feedback").html(aStr['pwnomatch']);
|
||||
$("#register-password2-feedback").html(aStr.pwnomatch);
|
||||
zFormError("#register-password2-feedback", true);
|
||||
}
|
||||
else {
|
||||
|
@ -1,5 +1,9 @@
|
||||
/**
|
||||
* JavaScript used by mod/settings
|
||||
*/
|
||||
|
||||
var ispublic = aStr['everybody'] ;
|
||||
// is this used anywhere?
|
||||
var ispublic = aStr.everybody;
|
||||
|
||||
$(document).ready(function() {
|
||||
$('form').areYouSure({'addRemoveFieldsMarksDirty':true}); // Warn user about unsaved settings
|
||||
@ -19,13 +23,11 @@ $(document).ready(function() {
|
||||
$('#jot-perms-icon').removeClass('icon-unlock').addClass('icon-lock');
|
||||
$('#jot-public').hide();
|
||||
});
|
||||
if(selstr == null) {
|
||||
if(selstr === null) {
|
||||
$('#jot-perms-icon').removeClass('icon-lock').addClass('icon-unlock');
|
||||
$('#jot-public').show();
|
||||
}
|
||||
|
||||
}).trigger('change');
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
@ -132,7 +134,5 @@ function channel_privacy_macro(n) {
|
||||
$('#id_profile_in_directory_onoff .on').removeClass('hidden');
|
||||
$('#id_profile_in_directory_onoff .off').addClass('hidden');
|
||||
$('#id_profile_in_directory').val(1);
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -13,13 +13,12 @@ function fetchRatings(hash) {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function doRatings(hash) {
|
||||
fetchRatings(hash);
|
||||
}
|
||||
|
||||
function buildRatingForm(hash) {
|
||||
var html = '<form id="ratings_form" action="prate" method="post"><input type="hidden" name="target" value="'+hash+'" /><div class="rating-desc">'+aStr['rating_desc']+'</div><input id="dir-rating-range" class="directory-slider" type="text" value="'+ratingVal+'" name="rating" style="display: none;" /><div class="rating-text-label">'+aStr['rating_text']+'<input type="text" name="rating_text" class="directory-rating-text" value="'+ratingText+'" /><br /><input name="submit" class="directory-rating-submit" type="submit" value="'+aStr['submit']+'" onclick="postRatings(); return false;"></form><div class="clear"></div><script>$("#dir-rating-range").jRange({ from: -10, to: 10, step: 1, showLabels: false, showScale: true, scale : [ "-10","-5","0","5","10" ], onstatechange: function(v) { $("#dir-rating-range").val(v); } });</script>';
|
||||
var html = '<form id="ratings_form" action="prate" method="post"><input type="hidden" name="target" value="' + hash + '" /><div class="rating-desc">' + aStr.rating_desc + '</div><input id="dir-rating-range" class="directory-slider" type="text" value="' + ratingVal + '" name="rating" style="display: none;" /><div class="rating-text-label">' + aStr.rating_text + '<input type="text" name="rating_text" class="directory-rating-text" value="' + ratingText + '" /><br><input name="submit" class="directory-rating-submit" type="submit" value="' + aStr.submit + '" onclick="postRatings(); return false;"></form><div class="clear"></div><script>$("#dir-rating-range").jRange({ from: -10, to: 10, step: 1, showLabels: false, showScale: true, scale: [ "-10","-5","0","5","10" ], onstatechange: function(v) { $("#dir-rating-range").val(v); } });</script>';
|
||||
|
||||
$.colorbox({maxwidth: "50%", maxHeight: "50%", html: html, close: 'X' });
|
||||
currentHash = hash;
|
||||
@ -31,4 +30,3 @@ function postRatings() {
|
||||
$('#edited-' + currentHash).show();
|
||||
}, 'json');
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
|
||||
/**
|
||||
* redbasic theme specific JavaScript
|
||||
*/
|
||||
$(document).ready(function() {
|
||||
|
||||
// CSS3 calc() fallback (for unsupported browsers)
|
||||
$('body').append('<div id="css3-calc" style="width: 10px; width: calc(10px + 10px); display: none;"></div>');
|
||||
if( $('#css3-calc').width() == 10) {
|
||||
@ -19,7 +20,7 @@ $('#expand-aside').click(function() {
|
||||
$('main').toggleClass('region_1-on');
|
||||
});
|
||||
|
||||
if($('aside').length && $('aside').html().length == 0) {
|
||||
if($('aside').length && $('aside').html().length === 0) {
|
||||
$('#expand-aside').hide();
|
||||
}
|
||||
|
||||
@ -30,23 +31,21 @@ $('#expand-tabs').click(function() {
|
||||
$('#expand-tabs-icon').toggleClass('icon-circle-arrow-down').toggleClass('icon-circle-arrow-up');
|
||||
});
|
||||
|
||||
if($('#tabs-collapse-1').length == 0) {
|
||||
if($('#tabs-collapse-1').length === 0) {
|
||||
$('#expand-tabs').hide();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function(){
|
||||
var doctitle = document.title;
|
||||
function checkNotify() {
|
||||
var notifyUpdateElem = document.getElementById('notify-update');
|
||||
if(notifyUpdateElem !== null) {
|
||||
if(notifyUpdateElem.innerHTML != "")
|
||||
if(notifyUpdateElem.innerHTML !== "")
|
||||
document.title = "(" + notifyUpdateElem.innerHTML + ") " + doctitle;
|
||||
else
|
||||
document.title = doctitle;
|
||||
}
|
||||
};
|
||||
}
|
||||
setInterval(function () {checkNotify();}, 10 * 1000);
|
||||
});
|
Reference in New Issue
Block a user