aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2015-03-15 16:51:35 -0700
committerfriendica <info@friendica.com>2015-03-15 16:51:35 -0700
commitd7a6dae3cbf88cfc579674caa694a01f4e54ab89 (patch)
tree8d76a3635a61fedf57ff74442311bb3453d84a26
parent6da40fc559f540e67802f771411aa9f85dc8d64d (diff)
parente780dada832acbb9d46870178f9a6488f4e265d9 (diff)
downloadvolse-hubzilla-d7a6dae3cbf88cfc579674caa694a01f4e54ab89.tar.gz
volse-hubzilla-d7a6dae3cbf88cfc579674caa694a01f4e54ab89.tar.bz2
volse-hubzilla-d7a6dae3cbf88cfc579674caa694a01f4e54ab89.zip
Merge https://github.com/friendica/red into pending_merge
-rw-r--r--include/account.php151
-rw-r--r--view/js/acl.js202
-rw-r--r--view/js/autocomplete.js146
-rw-r--r--view/js/main.js1832
-rw-r--r--view/js/mod_chat.js10
-rw-r--r--view/js/mod_directory.js11
-rw-r--r--view/js/mod_events.js51
-rw-r--r--view/js/mod_filestorage.js10
-rw-r--r--view/js/mod_mitem.js16
-rw-r--r--view/js/mod_photos.js15
-rw-r--r--view/js/mod_register.js54
-rw-r--r--view/js/mod_settings.js14
-rw-r--r--view/js/ratings.js14
-rw-r--r--view/theme/redbasic/js/redbasic.js71
14 files changed, 1259 insertions, 1338 deletions
diff --git a/include/account.php b/include/account.php
index 5793c2724..caac0b178 100644
--- a/include/account.php
+++ b/include/account.php
@@ -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
-
- $arr = get_config('service_class',$service_class);
- if(! is_array($arr) || (! count($arr)))
- return true;
+ $limit = service_class_fetch($uid, $property);
- if($usage === false)
- return ((x($arr[$property])) ? (bool) $arr[$property] : true);
- else {
- if(! array_key_exists($property,$arr))
- return true;
+ if($limit === false)
+ return true; // No service class set => everything is allowed
- 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
- * @return boolean
+ * @see service_class_allows() if you have a channel_id instead of an account_id
+ * @see account_service_class_fetch()
*
- * @todo Can't we use here internally account_service_class_fetch() to reduce duplicate code?
+ * @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
*/
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",
@@ -692,7 +699,7 @@ function account_service_class_fetch($aid, $property) {
function upgrade_link($bbcode = false) {
- $l = get_config('service_class','upgrade_link');
+ $l = get_config('service_class', 'upgrade_link');
if(! $l)
return '';
if($bbcode)
@@ -710,4 +717,4 @@ function upgrade_message($bbcode = false) {
function upgrade_bool_message($bbcode = false) {
$x = upgrade_link($bbcode);
return t('This action is not available under your subscription plan.') . (($x) ? ' ' . $x : '') ;
-}
+} \ No newline at end of file
diff --git a/view/js/acl.js b/view/js/acl.js
index 152ff6490..626d1a750 100644
--- a/view/js/acl.js
+++ b/view/js/acl.js
@@ -1,18 +1,18 @@
-function ACL(backend_url, preset){
+function ACL(backend_url, preset) {
that = this;
-
+
that.url = backend_url;
-
+
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] || []);
that.deny_gid = (preset[3] || []);
that.group_uids = [];
that.nw = 4; //items per row. should be calulated from #acl-list.width
-
+
that.list_content = $("#acl-list-content");
that.item_tpl = unescape($(".acl-list-item[rel=acl-template]").html());
that.showall = $("#acl-showall");
@@ -20,8 +20,8 @@ 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*/
$(document).ready(function() {
@@ -36,66 +36,63 @@ 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.
-ACL.prototype.on_submit = function(){
+ACL.prototype.on_submit = function() {
aclfileds = $("#acl-fields").html("");
- $(that.allow_gid).each(function(i,v){
+ $(that.allow_gid).each(function(i,v) {
aclfileds.append("<input type='hidden' name='group_allow[]' value='"+v+"'>");
});
- $(that.allow_cid).each(function(i,v){
+ $(that.allow_cid).each(function(i,v) {
aclfileds.append("<input type='hidden' name='contact_allow[]' value='"+v+"'>");
});
- $(that.deny_gid).each(function(i,v){
+ $(that.deny_gid).each(function(i,v) {
aclfileds.append("<input type='hidden' name='group_deny[]' value='"+v+"'>");
});
- $(that.deny_cid).each(function(i,v){
+ $(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(){
+ACL.prototype.search = function() {
var srcstr = $("#acl-search").val();
that.list_content.html("");
- that.get(0,100, srcstr);
-}
+ that.get(0, 100, srcstr);
+};
-ACL.prototype.on_search = function(event){
+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()
+ACL.prototype.on_showall = function(event) {
+ event.preventDefault();
event.stopPropagation();
-
- if (that.showall.hasClass("btn-warning")){
+
+ if (that.showall.hasClass("btn-warning")) {
return false;
}
that.showall.removeClass("btn-default").addClass("btn-warning");
-
+
that.allow_cid = [];
that.allow_gid = [];
that.deny_cid = [];
that.deny_gid = [];
-
+
that.update_view();
that.on_submit();
-
+
return false;
-}
+};
-ACL.prototype.on_button_show = function(event){
- event.preventDefault()
- event.stopImmediatePropagation()
+ACL.prototype.on_button_show = function(event) {
+ 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()
+};
+
+ACL.prototype.on_button_hide = function(event) {
+ event.preventDefault();
+ event.stopImmediatePropagation();
event.stopPropagation();
/*that.showall.removeClass("selected");
@@ -117,48 +116,49 @@ 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){
+ACL.prototype.set_allow = function(itemid) {
type = itemid[0];
- id = itemid.substr(1);
- switch(type){
+ id = itemid.substr(1);
+ switch(type) {
case "g":
- if (that.allow_gid.indexOf(id)<0){
- that.allow_gid.push(id)
+ if (that.allow_gid.indexOf(id)<0) {
+ that.allow_gid.push(id);
}else {
that.allow_gid.remove(id);
}
if (that.deny_gid.indexOf(id)>=0) that.deny_gid.remove(id);
break;
case "c":
- if (that.allow_cid.indexOf(id)<0){
- that.allow_cid.push(id)
+ if (that.allow_cid.indexOf(id)<0) {
+ that.allow_cid.push(id);
} else {
that.allow_cid.remove(id);
}
- if (that.deny_cid.indexOf(id)>=0) that.deny_cid.remove(id);
+ if (that.deny_cid.indexOf(id)>=0) that.deny_cid.remove(id);
break;
}
that.update_view();
-}
+};
-ACL.prototype.set_deny = function(itemid){
+ACL.prototype.set_deny = function(itemid) {
type = itemid[0];
- id = itemid.substr(1);
- switch(type){
+ id = itemid.substr(1);
+ switch(type) {
case "g":
- if (that.deny_gid.indexOf(id)<0){
- that.deny_gid.push(id)
+ if (that.deny_gid.indexOf(id)<0) {
+ that.deny_gid.push(id);
} else {
that.deny_gid.remove(id);
}
if (that.allow_gid.indexOf(id)>=0) that.allow_gid.remove(id);
break;
case "c":
- if (that.deny_cid.indexOf(id)<0){
- that.deny_cid.push(id)
+ if (that.deny_cid.indexOf(id)<0) {
+ that.deny_cid.push(id);
} else {
that.deny_cid.remove(id);
}
@@ -166,67 +166,63 @@ 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){
+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) {
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) {
- $('#profile-jot-desc').html(ispublic);
- }
-
+ $('#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) {
+ $('#profile-jot-desc').html(ispublic);
+ }
} else {
- that.showall.removeClass("btn-warning").addClass("btn-default");
- /* jot acl */
- $('#jot-perms-icon').removeClass('icon-unlock').addClass('icon-lock');
- $('#jot-public').hide();
- $('.profile-jot-net input').attr('disabled', 'disabled');
- $('#profile-jot-desc').html('&nbsp;');
+ that.showall.removeClass("btn-warning").addClass("btn-default");
+ /* jot acl */
+ $('#jot-perms-icon').removeClass('icon-unlock').addClass('icon-lock');
+ $('#jot-public').hide();
+ $('.profile-jot-net input').attr('disabled', 'disabled');
+ $('#profile-jot-desc').html('&nbsp;');
}
- $("#acl-list-content .acl-list-item").each(function(){
+ $("#acl-list-content .acl-list-item").each(function() {
$(this).removeClass("groupshow grouphide");
});
-
- $("#acl-list-content .acl-list-item").each(function(){
+ $("#acl-list-content .acl-list-item").each(function() {
itemid = $(this).attr('id');
type = itemid[0];
- id = itemid.substr(1);
-
+ id = itemid.substr(1);
+
btshow = $(this).children(".acl-button-show").removeClass("btn-success").addClass("btn-default");
bthide = $(this).children(".acl-button-hide").removeClass("btn-danger").addClass("btn-default");
-
- switch(type){
+
+ switch(type) {
case "g":
var uclass = "";
- if (that.allow_gid.indexOf(id)>=0){
+ if (that.allow_gid.indexOf(id)>=0) {
btshow.removeClass("btn-default").addClass("btn-success");
bthide.removeClass("btn-danger").addClass("btn-default");
uclass="groupshow";
}
- if (that.deny_gid.indexOf(id)>=0){
+ if (that.deny_gid.indexOf(id)>=0) {
btshow.removeClass("btn-success").addClass("btn-default");
bthide.removeClass("btn-default").addClass("btn-danger");
- uclass="grouphide";
+ uclass = "grouphide";
}
-
- $(that.group_uids[id]).each(function(i,v) {
+ $(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){
@@ -236,45 +232,41 @@ ACL.prototype.update_view = function(){
if (that.deny_cid.indexOf(id)>=0){
btshow.removeClass("btn-success").addClass("btn-default");
bthide.removeClass("btn-default").addClass("btn-danger");
- }
+ }
}
-
});
-
-}
+};
-
-ACL.prototype.get = function(start,count, search){
+ACL.prototype.get = function(start, count, search) {
var postdata = {
- start:start,
- count:count,
- search:search,
- }
-
+ start: start,
+ count: count,
+ search: search,
+ };
+
$.ajax({
- type:'POST',
+ type: 'POST',
url: that.url,
data: postdata,
dataType: 'json',
- success:that.populate
+ success: that.populate
});
-}
+};
-ACL.prototype.populate = function(data){
+ACL.prototype.populate = function(data) {
var height = Math.ceil(data.items.length / that.nw) * 42;
that.list_content.height(height);
$(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);
});
- $("#acl-list-content .acl-list-item img[data-src]").each(function(i, el){
+ $("#acl-list-content .acl-list-item img[data-src]").each(function(i, el) {
// Replace data-src attribute with src attribute for every image
$(el).attr('src', $(el).data("src"));
$(el).removeAttr("data-src");
});
that.update_view();
-}
-
+}; \ No newline at end of file
diff --git a/view/js/autocomplete.js b/view/js/autocomplete.js
index b93cc16b3..e077dc88d 100644
--- a/view/js/autocomplete.js
+++ b/view/js/autocomplete.js
@@ -4,7 +4,7 @@
* require jQuery, jquery.textcomplete
*/
function contact_search(term, callback, backend_url, type, extra_channels, spinelement) {
- if(spinelement){
+ if(spinelement) {
$(spinelement).spin('tiny');
}
// Check if there is a cached result that contains the same information we would get with a full server-side search
@@ -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
+ 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,17 +28,17 @@ 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;
-
+
$.ajax({
type:'POST',
url: backend_url,
data: postdata,
dataType: 'json',
- success:function(data){
+ success: function(data){
// Cache results if we got them all (more information would not improve results)
// data.count represents the maximum number of items
if(data.items.length -1 < data.count) {
@@ -57,18 +57,18 @@ 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) {
if(typeof item.replace !== 'undefined') {
- return '$1$2'+item.replace;
+ return '$1$2' + item.replace;
}
// $2 ensures that prefix (@,@!) is preserved
@@ -77,7 +77,8 @@ 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 + ' ';
+
+ return '$1$2' + item.nick.replace(' ', '') + '+' + id + ' ';
}
function basic_replace(item) {
@@ -94,76 +95,71 @@ function submit_form(e) {
/**
* jQuery plugin 'editor_autocomplete'
*/
-(function( $ ){
+(function( $ ) {
$.fn.editor_autocomplete = function(backend_url, extra_channels) {
- if (typeof extra_channels === 'undefined') extra_channels = false;
-
- // Autocomplete contacts
- contacts = {
- match: /(^|\s)(@\!*)([^ \n]+)$/,
- index: 3,
- 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'] + ' '; },
- }
- this.attr('autocomplete','off');
- this.textcomplete([contacts,smilies],{className:'acpopup',zIndex:1020});
- };
+ if (typeof extra_channels === 'undefined') extra_channels = false;
+
+ // Autocomplete contacts
+ contacts = {
+ match: /(^|\s)(@\!*)([^ \n]+)$/,
+ index: 3,
+ 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 + ' '; },
+ };
+ this.attr('autocomplete','off');
+ this.textcomplete([contacts,smilies], {className:'acpopup', zIndex:1020});
+ };
})( jQuery );
/**
* jQuery plugin 'search_autocomplete'
*/
-(function( $ ){
+(function( $ ) {
$.fn.search_autocomplete = function(backend_url) {
-
- // Autocomplete contacts
- contacts = {
- match: /(^@)([^\n]{2,})$/,
- index: 2,
- 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); });
-
- };
+ // Autocomplete contacts
+ contacts = {
+ match: /(^@)([^\n]{2,})$/,
+ index: 2,
+ 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( $ ){
+(function( $ ) {
$.fn.contact_autocomplete = function(backend_url, typ, autosubmit, onselect) {
-
- if(typeof typ === 'undefined') typ = '';
- if(typeof autosubmit === 'undefined') autosubmit = false;
-
- // Autocomplete contacts
- contacts = {
- match: /(^)([^\n]+)$/,
- index: 2,
- 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});
-
- if(autosubmit)
- a.on('textComplete:select', function(e,value,strategy) { submit_form(this); });
-
- if(typeof onselect !== 'undefined')
- a.on('textComplete:select',function(e,value,strategy) { onselect(value); });
- };
-})( jQuery );
-
+ if(typeof typ === 'undefined') typ = '';
+ if(typeof autosubmit === 'undefined') autosubmit = false;
+
+ // Autocomplete contacts
+ contacts = {
+ match: /(^)([^\n]+)$/,
+ index: 2,
+ 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});
+
+ if(autosubmit)
+ a.on('textComplete:select', function(e,value,strategy) { submit_form(this); });
+
+ if(typeof onselect !== 'undefined')
+ a.on('textComplete:select', function(e, value, strategy) { onselect(value); });
+ };
+})( jQuery ); \ No newline at end of file
diff --git a/view/js/main.js b/view/js/main.js
index 68a140a33..d86b74345 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -1,483 +1,448 @@
- function confirmDelete() { return confirm(aStr['delitem']); }
+function confirmDelete() { return confirm(aStr.delitem); }
- function commentOpenUI(obj,id) {
+function commentOpenUI(obj, id) {
+ $(document).unbind( "click.commentOpen", handler );
- $(document).unbind( "click.commentOpen", handler );
-
- var handler = function() {
- 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)
- // The submit button gets tabindex + 1
- $("#comment-edit-text-" + id).attr('tabindex','9');
- $("#comment-edit-submit-" + id).attr('tabindex','10');
- $("#comment-tools-" + id).show();
- }
- };
-
- $(document).bind( "click.commentOpen", handler );
-
- }
+ var handler = function() {
+ 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)
+ // The submit button gets tabindex + 1
+ $("#comment-edit-text-" + id).attr('tabindex','9');
+ $("#comment-edit-submit-" + id).attr('tabindex','10');
+ $("#comment-tools-" + id).show();
+ }
+ };
- function commentCloseUI(obj,id) {
+ $(document).bind( "click.commentOpen", handler );
+}
- $(document).unbind( "click.commentClose", handler );
+function commentCloseUI(obj, id) {
+ $(document).unbind( "click.commentClose", handler );
- var handler = function() {
- 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');
- $("#comment-tools-" + id).hide();
- }
- };
-
- $(document).bind( "click.commentClose", handler );
+ var handler = function() {
+ 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');
+ $("#comment-tools-" + id).hide();
+ }
+ };
- }
+ $(document).bind( "click.commentClose", handler );
+}
- function commentOpen(obj,id) {
- 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");
- $("#mod-cmnt-wrap-" + id).show();
- openMenu("comment-tools-" + id);
- return true;
- }
- return false;
+function commentOpen(obj, id) {
+ 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");
+ $("#mod-cmnt-wrap-" + id).show();
+ openMenu("comment-tools-" + id);
+ return true;
}
+ return false;
+}
- function commentClose(obj,id) {
- 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();
- closeMenu("comment-tools-" + id);
- return true;
- }
- return false;
+function commentClose(obj, id) {
+ 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();
+ closeMenu("comment-tools-" + id);
+ return true;
}
+ return false;
+}
- function showHideCommentBox(id) {
- if( $('#comment-edit-form-' + id).is(':visible')) {
- $('#comment-edit-form-' + id).hide();
- }
- else {
- $('#comment-edit-form-' + id).show();
- }
+function showHideCommentBox(id) {
+ if( $('#comment-edit-form-' + id).is(':visible')) {
+ $('#comment-edit-form-' + id).hide();
+ } else {
+ $('#comment-edit-form-' + id).show();
}
+}
- function commentInsert(obj,id) {
- var tmpStr = $("#comment-edit-text-" + id).val();
- if(tmpStr == '$comment') {
- tmpStr = '';
- $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
- $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
- openMenu("comment-tools-" + id);
- }
- var ins = $(obj).html();
- ins = ins.replace('&lt;','<');
- ins = ins.replace('&gt;','>');
- ins = ins.replace('&amp;','&');
- ins = ins.replace('&quot;','"');
- $("#comment-edit-text-" + id).val(tmpStr + ins);
+function commentInsert(obj, id) {
+ var tmpStr = $("#comment-edit-text-" + id).val();
+ if(tmpStr == '$comment') {
+ tmpStr = '';
+ $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
+ $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
+ openMenu("comment-tools-" + id);
}
+ var ins = $(obj).html();
+ ins = ins.replace('&lt;','<');
+ ins = ins.replace('&gt;','>');
+ ins = ins.replace('&amp;','&');
+ ins = ins.replace('&quot;','"');
+ $("#comment-edit-text-" + id).val(tmpStr + ins);
+}
+function insertbbcomment(comment, BBcode, id) {
+ // allow themes to override this
+ if(typeof(insertFormatting) != 'undefined')
+ return(insertFormatting(comment, BBcode, id));
- function insertbbcomment(comment,BBcode,id) {
- // allow themes to override this
- if(typeof(insertFormatting) != 'undefined')
- return(insertFormatting(comment,BBcode,id));
-
- var urlprefix = ((BBcode == 'url') ? '#^' : '');
-
- var tmpStr = $("#comment-edit-text-" + id).val();
- if(tmpStr == comment) {
- tmpStr = "";
- $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
- $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
- openMenu("comment-tools-" + id);
- $("#comment-edit-text-" + id).val(tmpStr);
- }
+ var urlprefix = ((BBcode == 'url') ? '#^' : '');
- textarea = document.getElementById("comment-edit-text-" +id);
- if (document.selection) {
- textarea.focus();
- selected = document.selection.createRange();
- selected.text = urlprefix+"["+BBcode+"]" + selected.text + "[/"+BBcode+"]";
- } else if (textarea.selectionStart || textarea.selectionStart == "0") {
- var start = textarea.selectionStart;
- var end = textarea.selectionEnd;
- textarea.value = textarea.value.substring(0, start) + urlprefix+"["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
- }
- return true;
+ var tmpStr = $("#comment-edit-text-" + id).val();
+ if(tmpStr == comment) {
+ tmpStr = "";
+ $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
+ $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
+ openMenu("comment-tools-" + id);
+ $("#comment-edit-text-" + id).val(tmpStr);
}
- function inserteditortag(BBcode) {
- // allow themes to override this
- if(typeof(insertEditorFormatting) != 'undefined')
- return(insertEditorFormatting(BBcode));
-
- textarea = document.getElementById('profile-jot-text');
- if (document.selection) {
- textarea.focus();
- selected = document.selection.createRange();
- selected.text = urlprefix+"["+BBcode+"]" + selected.text + "[/"+BBcode+"]";
- } else if (textarea.selectionStart || textarea.selectionStart == "0") {
- var start = textarea.selectionStart;
- var end = textarea.selectionEnd;
- textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
- }
- return true;
+ textarea = document.getElementById("comment-edit-text-" +id);
+ if (document.selection) {
+ textarea.focus();
+ selected = document.selection.createRange();
+ selected.text = urlprefix+"["+BBcode+"]" + selected.text + "[/"+BBcode+"]";
+ } else if (textarea.selectionStart || textarea.selectionStart == "0") {
+ var start = textarea.selectionStart;
+ var end = textarea.selectionEnd;
+ textarea.value = textarea.value.substring(0, start) + urlprefix+"["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
}
+ return true;
+}
+function inserteditortag(BBcode) {
+ // allow themes to override this
+ if(typeof(insertEditorFormatting) != 'undefined')
+ return(insertEditorFormatting(BBcode));
+
+ textarea = document.getElementById('profile-jot-text');
+ if (document.selection) {
+ textarea.focus();
+ selected = document.selection.createRange();
+ selected.text = urlprefix+"["+BBcode+"]" + selected.text + "[/"+BBcode+"]";
+ } else if (textarea.selectionStart || textarea.selectionStart == "0") {
+ var start = textarea.selectionStart;
+ var end = textarea.selectionEnd;
+ textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
+ }
+ return true;
+}
+function insertCommentURL(comment, id) {
+ reply = prompt(aStr.linkurl);
+ if(reply && reply.length) {
+ reply = bin2hex(reply);
+ $('body').css('cursor', 'wait');
+ $.get('parse_url?binurl=' + reply, function(data) {
+ var tmpStr = $("#comment-edit-text-" + id).val();
+ if(tmpStr == comment) {
+ tmpStr = "";
+ $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
+ $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
+ openMenu("comment-tools-" + id);
+ $("#comment-edit-text-" + id).val(tmpStr);
+ }
- function insertCommentURL(comment,id) {
-
- reply = prompt(aStr['linkurl']);
- if(reply && reply.length) {
- reply = bin2hex(reply);
- $('body').css('cursor', 'wait');
- $.get('parse_url?binurl=' + reply, function(data) {
- var tmpStr = $("#comment-edit-text-" + id).val();
- if(tmpStr == comment) {
- tmpStr = "";
- $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
- $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
- openMenu("comment-tools-" + id);
- $("#comment-edit-text-" + id).val(tmpStr);
- }
-
- textarea = document.getElementById("comment-edit-text-" +id);
- textarea.value = textarea.value + data;
- $('body').css('cursor', 'auto');
-
- });
- }
- return true;
+ 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) {
+ tmpStr = '';
+ $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
+ $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
+ openMenu("comment-edit-submit-wrapper-" + id);
+ }
+ var ins = $(obj).val();
+ ins = ins.replace('&lt;','<');
+ ins = ins.replace('&gt;','>');
+ ins = ins.replace('&amp;','&');
+ ins = ins.replace('&quot;','"');
+ $("#comment-edit-text-" + id).val(tmpStr + ins);
+ $(obj).val('');
+}
-
- function viewsrc(id) {
- $.colorbox({href: 'viewsrc/' + id, maxWidth: '80%', maxHeight: '80%' });
+function showHideComments(id) {
+ if( $('#collapsed-comments-' + id).is(':visible')) {
+ $('#collapsed-comments-' + id + ' .autotime').timeago('dispose');
+ $('#collapsed-comments-' + id).slideUp();
+ $('#hide-comments-' + id).html(aStr.showmore);
+ $('#hide-comments-total-' + id).show();
+ } else {
+ $('#collapsed-comments-' + id + ' .autotime').timeago();
+ $('#collapsed-comments-' + id).slideDown();
+ $('#hide-comments-' + id).html(aStr.showfewer);
+ $('#hide-comments-total-' + id).hide();
}
+}
- function qCommentInsert(obj,id) {
- var tmpStr = $("#comment-edit-text-" + id).val();
- if(tmpStr == aStr['comment']) {
- tmpStr = '';
- $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
- $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
- openMenu("comment-edit-submit-wrapper-" + id);
- }
- var ins = $(obj).val();
- ins = ins.replace('&lt;','<');
- ins = ins.replace('&gt;','>');
- ins = ins.replace('&amp;','&');
- ins = ins.replace('&quot;','"');
- $("#comment-edit-text-" + id).val(tmpStr + ins);
- $(obj).val('');
+function openClose(theID) {
+ if(document.getElementById(theID).style.display == "block") {
+ document.getElementById(theID).style.display = "none";
+ } else {
+ document.getElementById(theID).style.display = "block";
}
+}
- function showHideComments(id) {
- if( $('#collapsed-comments-' + id).is(':visible')) {
- $('#collapsed-comments-' + id + ' .autotime').timeago('dispose');
- $('#collapsed-comments-' + id).slideUp();
- $('#hide-comments-' + id).html(aStr['showmore']);
- $('#hide-comments-total-' + id).show();
- }
- else {
- $('#collapsed-comments-' + id + ' .autotime').timeago();
- $('#collapsed-comments-' + id).slideDown();
- $('#hide-comments-' + id).html(aStr['showfewer']);
- $('#hide-comments-total-' + id).hide();
- }
+function closeOpen(theID) {
+ if(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";
+}
+
+function closeMenu(theID) {
+ document.getElementById(theID).style.display = "none";
+}
- function openClose(theID) {
- if(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"
- }
- }
-
- function openMenu(theID) {
- document.getElementById(theID).style.display = "block"
- }
-
- function closeMenu(theID) {
- document.getElementById(theID).style.display = "none"
- }
-
- function markRead(notifType) {
+function markRead(notifType) {
$.get('ping?f=&markRead='+notifType);
if(timer) clearTimeout(timer);
$('#' + notifType + '-update').html('');
timer = setTimeout(NavUpdate,2000);
- }
+}
- function markItemRead(itemId) {
+function markItemRead(itemId) {
$.get('ping?f=&markItemRead='+itemId);
$('.unseen-wall-indicator-'+itemId).hide();
- }
-
-
-
- var src = null;
- var prev = null;
- var livetime = null;
- var msie = false;
- var stopped = false;
- var totStopped = false;
- var timer = null;
- var pr = 0;
- var liking = 0;
- var in_progress = false;
- var langSelect = false;
- var commentBusy = false;
- var last_popup_menu = null;
- var last_popup_button = null;
- var scroll_next = false;
- var next_page = 1;
- var page_load = true;
- var loadingPage = true;
- var pageHasMoreContent = true;
- var updateCountsOnly = false;
- var divmore_height = 400;
- var last_filestorage_id = null;
-
- $(function() {
- $.ajaxSetup({cache: false});
-
- msie = false; // $.browser.msie ;
-
- var e = document.getElementById('content-complete');
- if(e)
- pageHasMoreContent = false;
-
- /* setup onoff widgets */
- $(".onoff input").each(function(){
- val = $(this).val();
- id = $(this).attr("id");
- $("#"+id+"_onoff ."+ (val==0?"on":"off")).addClass("hidden");
-
- });
- $(".onoff > a").click(function(event){
- event.preventDefault();
- var input = $(this).siblings("input");
- var val = 1-input.val();
- var id = input.attr("id");
- $("#"+id+"_onoff ."+ (val==0?"on":"off")).addClass("hidden");
- $("#"+id+"_onoff ."+ (val==1?"on":"off")).removeClass("hidden");
- input.val(val);
- //console.log(id);
- });
-
- /* setup field_richtext */
- setupFieldRichtext();
+}
- /* Turn elements with one of our special rel tags into popup menus */
- /* CHANGES: let bootstrap handle popups and only do the loading here */
-
- $('a[rel^=#]').click(function(e){
- manage_popup_menu(this,e);
- return;
- });
+var src = null;
+var prev = null;
+var livetime = null;
+var msie = false;
+var stopped = false;
+var totStopped = false;
+var timer = null;
+var pr = 0;
+var liking = 0;
+var in_progress = false;
+var langSelect = false;
+var commentBusy = false;
+var last_popup_menu = null;
+var last_popup_button = null;
+var scroll_next = false;
+var next_page = 1;
+var page_load = true;
+var loadingPage = true;
+var pageHasMoreContent = true;
+var updateCountsOnly = false;
+var divmore_height = 400;
+var last_filestorage_id = null;
+
+$(function() {
+ $.ajaxSetup({cache: false});
+
+ msie = false; // $.browser.msie ;
- $('span[rel^=#]').click(function(e){
- manage_popup_menu(this,e);
- return;
- });
+ var e = document.getElementById('content-complete');
+ if(e)
+ pageHasMoreContent = false;
+ /* setup onoff widgets */
+ $(".onoff input").each(function(){
+ val = $(this).val();
+ id = $(this).attr("id");
+ $("#"+id+"_onoff ."+ (val==0?"on":"off")).addClass("hidden");
+ });
+ $(".onoff > a").click(function(event){
+ event.preventDefault();
+ var input = $(this).siblings("input");
+ var val = 1-input.val();
+ var id = input.attr("id");
+ $("#"+id+"_onoff ."+ (val==0?"on":"off")).addClass("hidden");
+ $("#"+id+"_onoff ."+ (val==1?"on":"off")).removeClass("hidden");
+ input.val(val);
+ //console.log(id);
+ });
- function manage_popup_menu(w,e) {
- menu = $( $(w).attr('rel') );
+ /* setup field_richtext */
+ setupFieldRichtext();
- /* notification menus are loaded dynamically
- * - here we find a rel tag to figure out what type of notification to load */
- var loader_source = $(menu).attr('rel');
-
- if(typeof(loader_source) != 'undefined' && loader_source.length) {
- notify_popup_loader(loader_source);
- }
+ /* Turn elements with one of our special rel tags into popup menus */
+ /* CHANGES: let bootstrap handle popups and only do the loading here */
+
+ $('a[rel^=#]').click(function(e){
+ manage_popup_menu(this, e);
+ return;
+ });
+
+ $('span[rel^=#]').click(function(e){
+ manage_popup_menu(this, e);
+ return;
+ });
+
+ function manage_popup_menu(w,e) {
+ menu = $( $(w).attr('rel') );
+
+ /* notification menus are loaded dynamically
+ * - here we find a rel tag to figure out what type of notification to load */
+
+ var loader_source = $(menu).attr('rel');
+
+ if(typeof(loader_source) != 'undefined' && loader_source.length) {
+ notify_popup_loader(loader_source);
}
+ }
- // fancyboxes
- // Is this actually used anywhere?
- $("a.popupbox").colorbox({
- 'transition' : 'elastic'
- });
-
-
-
- NavUpdate();
- // Allow folks to stop the ajax page updates with the pause/break key
- $(document).keydown(function(event) {
- if(event.keyCode == '8') {
- var target = event.target || event.srcElement;
- if (!/input|textarea/i.test(target.nodeName)) {
- return false;
- }
+ // fancyboxes
+ // Is this actually used anywhere?
+ $("a.popupbox").colorbox({
+ 'transition' : 'elastic'
+ });
+
+ NavUpdate();
+ // Allow folks to stop the ajax page updates with the pause/break key
+ $(document).keydown(function(event) {
+ if(event.keyCode == '8') {
+ var target = event.target || event.srcElement;
+ if (!/input|textarea/i.test(target.nodeName)) {
+ return false;
}
- if(event.keyCode == '34') {
- if((pageHasMoreContent) && (! loadingPage)) {
- $('#more').hide();
- $('#no-more').hide();
-
- next_page++;
- scroll_next = true;
- loadingPage = true;
-
- if(($('.directory-end').length == 0) && ($('.photos-end').length == 0))
- liveUpdate();
- else
- pageUpdate();
- return true;
- }
+ }
+ if(event.keyCode == '34') {
+ if((pageHasMoreContent) && (! loadingPage)) {
+ $('#more').hide();
+ $('#no-more').hide();
+
+ next_page++;
+ scroll_next = true;
+ loadingPage = true;
+
+ if(($('.directory-end').length == 0) && ($('.photos-end').length == 0))
+ liveUpdate();
+ else
+ pageUpdate();
+ return true;
}
+ }
- if(event.keyCode == '19' || (event.ctrlKey && event.which == '32')) {
- event.preventDefault();
- if(stopped == false) {
- stopped = true;
- if (event.ctrlKey) {
- totStopped = true;
- }
- $('#pause').html('<img src="images/pause.gif" alt="pause" style="border: 1px solid black;" />');
- } else {
- unpause();
+ if(event.keyCode == '19' || (event.ctrlKey && event.which == '32')) {
+ event.preventDefault();
+ if(stopped === false) {
+ stopped = true;
+ if (event.ctrlKey) {
+ totStopped = true;
}
+ $('#pause').html('<img src="images/pause.gif" alt="pause" style="border: 1px solid black;" />');
} else {
- if (!totStopped) {
- unpause();
- }
+ unpause();
}
- });
-
-
+ } else {
+ if (!totStopped) {
+ unpause();
+ }
+ }
});
+});
- function NavUpdate() {
-
- if(liking)
- $('.like-rotator').spin(false);
-
- if(! stopped) {
-
- var pingCmd = 'ping' + ((localUser != 0) ? '?f=&uid=' + localUser : '');
+function NavUpdate() {
+ if(liking)
+ $('.like-rotator').spin(false);
- $.get(pingCmd,function(data) {
-
- if(data.invalid == 1) {
- window.location.href=window.location.href
- }
+ if(! stopped) {
+ var pingCmd = 'ping' + ((localUser != 0) ? '?f=&uid=' + localUser : '');
+ $.get(pingCmd,function(data) {
+ if(data.invalid == 1) {
+ window.location.href=window.location.href;
+ }
- if(! updateCountsOnly) {
- // start live update
+ if(! updateCountsOnly) {
+ // start live update
- if($('#live-network').length) { src = 'network'; liveUpdate(); }
- if($('#live-channel').length) { src = 'channel'; liveUpdate(); }
- if($('#live-home').length) { src = 'home'; liveUpdate(); }
- if($('#live-display').length) { src = 'display'; liveUpdate(); }
- if($('#live-search').length) { src = 'search'; liveUpdate(); }
+ if($('#live-network').length) { src = 'network'; liveUpdate(); }
+ if($('#live-channel').length) { src = 'channel'; liveUpdate(); }
+ if($('#live-home').length) { src = 'home'; liveUpdate(); }
+ if($('#live-display').length) { src = 'display'; liveUpdate(); }
+ if($('#live-search').length) { src = 'search'; liveUpdate(); }
- if($('#live-photos').length) {
- if(liking) {
- liking = 0;
- window.location.href=window.location.href
- }
+ if($('#live-photos').length) {
+ if(liking) {
+ liking = 0;
+ window.location.href=window.location.href;
}
}
+ }
- updateCountsOnly = false;
-
- if(data.network == 0) {
- data.network = '';
- $('.net-update').removeClass('show')
- }
- else {
- $('.net-update').addClass('show')
- }
- $('.net-update').html(data.network);
+ updateCountsOnly = false;
- if(data.home == 0) { data.home = ''; $('.home-update').removeClass('show') } else { $('.home-update').addClass('show') }
- $('.home-update').html(data.home);
-
+ if(data.network == 0) {
+ data.network = '';
+ $('.net-update').removeClass('show');
+ } else {
+ $('.net-update').addClass('show');
+ }
+ $('.net-update').html(data.network);
- if(data.intros == 0) { data.intros = ''; $('.intro-update').removeClass('show') } else { $('.intro-update').addClass('show') }
- $('.intro-update').html(data.intros);
+ if(data.home == 0) { data.home = ''; $('.home-update').removeClass('show'); } else { $('.home-update').addClass('show'); }
+ $('.home-update').html(data.home);
- if(data.mail == 0) { data.mail = ''; $('.mail-update').removeClass('show') } else { $('.mail-update').addClass('show') }
- $('.mail-update').html(data.mail);
-
+ if(data.intros == 0) { data.intros = ''; $('.intro-update').removeClass('show'); } else { $('.intro-update').addClass('show'); }
+ $('.intro-update').html(data.intros);
- if(data.notify == 0) { data.notify = ''; $('.notify-update').removeClass('show') } else { $('.notify-update').addClass('show') }
- $('.notify-update').html(data.notify);
+ if(data.mail == 0) { data.mail = ''; $('.mail-update').removeClass('show'); } else { $('.mail-update').addClass('show'); }
+ $('.mail-update').html(data.mail);
- if(data.register == 0) { data.register = ''; $('.register-update').removeClass('show') } else { $('.register-update').addClass('show') }
- $('.register-update').html(data.register);
+ if(data.notify == 0) { data.notify = ''; $('.notify-update').removeClass('show'); } else { $('.notify-update').addClass('show'); }
+ $('.notify-update').html(data.notify);
- if(data.events == 0) { data.events = ''; $('.events-update').removeClass('show') } else { $('.events-update').addClass('show') }
- $('.events-update').html(data.events);
+ if(data.register == 0) { data.register = ''; $('.register-update').removeClass('show'); } else { $('.register-update').addClass('show'); }
+ $('.register-update').html(data.register);
- 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.events == 0) { data.events = ''; $('.events-update').removeClass('show'); } else { $('.events-update').addClass('show'); }
+ $('.events-update').html(data.events);
- if(data.birthdays == 0) { data.birthdays = ''; $('.birthdays-update').removeClass('show') } else { $('.birthdays-update').addClass('show'); }
- $('.birthdays-update').html(data.birthdays);
+ 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_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.birthdays == 0) { data.birthdays = ''; $('.birthdays-update').removeClass('show'); } else { $('.birthdays-update').addClass('show'); }
+ $('.birthdays-update').html(data.birthdays);
- 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 + '*'); }
- $('.all_events-today-update').html(data.all_events_today);
+ 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);
- $.jGrowl.defaults.closerTemplate = '<div>[ ' + aStr['closeAll'] + ']</div>';
+ 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);
- $(data.notice).each(function() {
- $.jGrowl(this.message, { sticky: true, theme: 'notice' });
- });
+ 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);
- $(data.info).each(function(){
- $.jGrowl(this.message, { sticky: false, theme: 'info', life: 10000 });
- });
+ $.jGrowl.defaults.closerTemplate = '<div>[ ' + aStr.closeAll + ']</div>';
-
+ $(data.notice).each(function() {
+ $.jGrowl(this.message, { sticky: true, theme: 'notice' });
+ });
- }) ;
- }
- timer = setTimeout(NavUpdate,updateInterval);
+ $(data.info).each(function(){
+ $.jGrowl(this.message, { sticky: false, theme: 'info', life: 10000 });
+ });
+ }) ;
}
+ timer = setTimeout(NavUpdate, updateInterval);
+}
-
-function updatePageItems(mode,data) {
-
+function updatePageItems(mode, data) {
if(mode === 'append') {
$(data).each(function() {
@@ -491,11 +456,10 @@ function updatePageItems(mode,data) {
var e = document.getElementById('content-complete');
if(e) {
- pageHasMoreContent = false;
+ pageHasMoreContent = false;
}
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,18 +508,14 @@ 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;
var isVisible = false;
if(typeof commentWrap !== 'undefined')
- itmId = commentWrap.replace('collapsed-comments-','');
+ itmId = commentWrap.replace('collapsed-comments-', '');
if($('#' + ident).length == 0) {
$('img',this).each(function() {
@@ -571,7 +530,7 @@ function updateConvItems(mode,data) {
}
else {
$('img',this).each(function() {
- $(this).attr('src',$(this).attr('dst'));
+ $(this).attr('src', $(this).attr('dst'));
});
if($('#collapsed-comments-'+itmId).is(':visible'))
isVisible = true;
@@ -606,18 +565,16 @@ 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;
});
-
+
if(loadingPage) {
loadingPage = false;
}
@@ -629,7 +586,6 @@ function updateConvItems(mode,data) {
if (title)
document.title = title + " - " + document.title;
}
-
}
$('.like-rotator').spin(false);
@@ -641,472 +597,454 @@ function updateConvItems(mode,data) {
/* autocomplete @nicknames */
$(".comment-edit-form textarea").editor_autocomplete(baseurl+"/acl?f=&n=1");
-
+
var bimgs = $(".wall-item-body img").not(function() { return this.complete; });
var bimgcount = bimgs.length;
if (bimgcount) {
bimgs.load(function() {
- bimgcount--;
- if (! bimgcount) {
- collapseHeight();
-
- }
- });
+ bimgcount--;
+ if (! bimgcount) {
+ collapseHeight();
+ }
+ });
} else {
collapseHeight();
}
-
}
- function collapseHeight() {
- $(".wall-item-body, .contact-info").each(function() {
- if($(this).height() > divmore_height + 10) {
- 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>'
- });
- $(this).addClass('divmore');
- }
- }
- });
- }
-
- 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(($('.comment-edit-text-full').length) || (in_progress)) {
- if(livetime) {
- clearTimeout(livetime);
+function collapseHeight() {
+ $(".wall-item-body, .contact-info").each(function() {
+ if($(this).height() > divmore_height + 10) {
+ 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>'
+ });
+ $(this).addClass('divmore');
}
- livetime = setTimeout(liveUpdate, 10000);
- return;
}
- if(livetime != null)
- livetime = null;
-
- prev = 'live-' + src;
-
- in_progress = true;
-
- var update_url;
- var update_mode;
+ });
+}
- if(scroll_next) {
- bParam_page = next_page;
- page_load = true;
- }
- else {
- bParam_page = 1;
+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(($('.comment-edit-text-full').length) || (in_progress)) {
+ if(livetime) {
+ clearTimeout(livetime);
}
+ livetime = setTimeout(liveUpdate, 10000);
+ return;
+ }
+ if(livetime !== null)
+ livetime = null;
- update_url = buildCmd();
+ prev = 'live-' + src;
- if(page_load) {
- $("#page-spinner").spin('small');
- if(bParam_page == 1)
- update_mode = 'replace';
- else
- update_mode = 'append';
- }
- else
- update_mode = 'update';
-
- $.get(update_url,function(data) {
- page_load = false;
- scroll_next = false;
- updateConvItems(update_mode,data);
- $("#page-spinner").spin(false);
- $("#profile-jot-text-loading").spin(false);
-
- in_progress = false;
-
- // FIXME - the following lines were added so that almost
- // immediately after we update the posts on the page, we
- // re-check and update the notification counts.
- // As it turns out this causes a bit of an inefficiency
- // as we're pinging twice for every update, once before
- // and once after. A btter way to do this is to rewrite
- // NavUpdate and perhaps LiveUpdate so that we check for
- // post updates first and only call the notification ping
- // once.
-
- updateCountsOnly = true;
- if(timer) clearTimeout(timer);
- timer = setTimeout(NavUpdate,10);
- });
+ in_progress = true;
+ var update_url;
+ var update_mode;
+ if(scroll_next) {
+ bParam_page = next_page;
+ page_load = true;
+ }
+ else {
+ bParam_page = 1;
}
- function pageUpdate() {
-
- in_progress = true;
+ update_url = buildCmd();
- var update_url;
- var update_mode;
+ if(page_load) {
+ $("#page-spinner").spin('small');
+ if(bParam_page == 1)
+ update_mode = 'replace';
+ else
+ update_mode = 'append';
+ }
+ else
+ update_mode = 'update';
+
+ $.get(update_url, function(data) {
+ page_load = false;
+ scroll_next = false;
+ updateConvItems(update_mode,data);
+ $("#page-spinner").spin(false);
+ $("#profile-jot-text-loading").spin(false);
+
+ in_progress = false;
+
+ // FIXME - the following lines were added so that almost
+ // immediately after we update the posts on the page, we
+ // re-check and update the notification counts.
+ // As it turns out this causes a bit of an inefficiency
+ // as we're pinging twice for every update, once before
+ // and once after. A btter way to do this is to rewrite
+ // NavUpdate and perhaps LiveUpdate so that we check for
+ // post updates first and only call the notification ping
+ // once.
+
+ updateCountsOnly = true;
+ if(timer) clearTimeout(timer);
+ timer = setTimeout(NavUpdate,10);
+ });
+}
- if(scroll_next) {
- bParam_page = next_page;
- page_load = true;
- }
- else {
- bParam_page = 1;
- }
+function pageUpdate() {
- update_url = baseurl + '/' + page_query + '/?f=&aj=1&page=' + bParam_page + extra_args ;
+ in_progress = true;
- $("#page-spinner").spin('small');
- update_mode = 'append';
-
- $.get(update_url,function(data) {
- page_load = false;
- scroll_next = false;
- updatePageItems(update_mode,data);
- $("#page-spinner").spin(false);
- in_progress = false;
- });
+ var update_url;
+ var update_mode;
+ if(scroll_next) {
+ bParam_page = next_page;
+ page_load = true;
}
-
- function justifyPhotos() {
- justifiedGalleryActive = true;
- $('#photo-album-contents').justifiedGallery({
- margins: 3,
- border: 0,
- ignoreElement: '#page-end',
- sizeRangeSuffixes: {
- 'lt100': '-2',
- 'lt240': '-2',
- 'lt320': '-2',
- 'lt500': '',
- 'lt640': '-1',
- 'lt1024': '-0'
- }
- }).on('jg.complete', function(e){ justifiedGalleryActive = false; });
+ else {
+ bParam_page = 1;
}
- function justifyPhotosAjax() {
- justifiedGalleryActive = true;
- $('#photo-album-contents').justifiedGallery('norewind').on('jg.complete', function(e){ justifiedGalleryActive = false; });
- }
+ update_url = baseurl + '/' + page_query + '/?f=&aj=1&page=' + bParam_page + extra_args ;
- function notify_popup_loader(notifyType) {
+ $("#page-spinner").spin('small');
+ update_mode = 'append';
- /* notifications template */
- var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html());
- var notifications_all = unescape($('<div>').append( $("#nav-" + notifyType + "-see-all").clone() ).html()); //outerHtml hack
- var notifications_mark = unescape($('<div>').append( $("#nav-" + notifyType + "-mark-all").clone() ).html()); //outerHtml hack
- var notifications_empty = unescape($("#nav-" + notifyType + "-menu").html());
-
- var notify_menu = $("#nav-" + notifyType + "-menu");
+ $.get(update_url,function(data) {
+ page_load = false;
+ scroll_next = false;
+ updatePageItems(update_mode,data);
+ $("#page-spinner").spin(false);
+ in_progress = false;
+ });
+}
- var pingExCmd = 'ping/' + notifyType + ((localUser != 0) ? '?f=&uid=' + localUser : '');
- $.get(pingExCmd,function(data) {
+function justifyPhotos() {
+ justifiedGalleryActive = true;
+ $('#photo-album-contents').justifiedGallery({
+ margins: 3,
+ border: 0,
+ ignoreElement: '#page-end',
+ sizeRangeSuffixes: {
+ 'lt100': '-2',
+ 'lt240': '-2',
+ 'lt320': '-2',
+ 'lt500': '',
+ 'lt640': '-1',
+ 'lt1024': '-0'
+ }
+ }).on('jg.complete', function(e){ justifiedGalleryActive = false; });
+}
- if(data.invalid == 1) {
- window.location.href=window.location.href
- }
+function justifyPhotosAjax() {
+ justifiedGalleryActive = true;
+ $('#photo-album-contents').justifiedGallery('norewind').on('jg.complete', function(e){ justifiedGalleryActive = false; });
+}
+function notify_popup_loader(notifyType) {
- if(data.notify.length==0){
- $("#nav-" + notifyType + "-menu").html(aStr[nothingnew]);
+ /* notifications template */
+ var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html());
+ var notifications_all = unescape($('<div>').append( $("#nav-" + notifyType + "-see-all").clone() ).html()); //outerHtml hack
+ var notifications_mark = unescape($('<div>').append( $("#nav-" + notifyType + "-mark-all").clone() ).html()); //outerHtml hack
+ var notifications_empty = unescape($("#nav-" + notifyType + "-menu").html());
- } else {
- $("#nav-" + notifyType + "-menu").html(notifications_all + notifications_mark);
+ var notify_menu = $("#nav-" + notifyType + "-menu");
- $(data.notify).each(function() {
- html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass);
- $("#nav-" + notifyType + "-menu").append(html);
- });
- $(".dropdown-menu img[data-src]").each(function(i, el){
- // Replace data-src attribute with src attribute for every image
- $(el).attr('src', $(el).data("src"));
- $(el).removeAttr("data-src");
- });
- }
- });
+ var pingExCmd = 'ping/' + notifyType + ((localUser != 0) ? '?f=&uid=' + localUser : '');
+ $.get(pingExCmd, function(data) {
- }
+ if(data.invalid == 1) {
+ 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);
- // Since our ajax calls are asynchronous, we will give a few
- // seconds for the first ajax call (setting like/dislike), then
- // run the updater to pick up any changes and display on the page.
- // The updater will turn any rotators off when it's done.
- // This function will have returned long before any of these
- // events have completed and therefore there won't be any
- // visible feedback that anything changed without all this
- // trickery. This still could cause confusion if the "like" ajax call
- // is delayed and NavUpdate runs before it completes.
+ $(data.notify).each(function() {
+ html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass);
+ $("#nav-" + notifyType + "-menu").append(html);
+ });
+ $(".dropdown-menu img[data-src]").each(function(i, el){
+ // Replace data-src attribute with src attribute for every image
+ $(el).attr('src', $(el).data("src"));
+ $(el).removeAttr("data-src");
+ });
+ }
+ });
+}
- function dolike(ident,verb) {
- unpause();
- $('#like-rotator-' + ident.toString()).spin('tiny');
- $.get('like/' + ident.toString() + '?verb=' + verb, NavUpdate );
- liking = 1;
- }
+// Since our ajax calls are asynchronous, we will give a few
+// seconds for the first ajax call (setting like/dislike), then
+// run the updater to pick up any changes and display on the page.
+// The updater will turn any rotators off when it's done.
+// This function will have returned long before any of these
+// events have completed and therefore there won't be any
+// visible feedback that anything changed without all this
+// trickery. This still could cause confusion if the "like" ajax call
+// is delayed and NavUpdate runs before it completes.
- function doprofilelike(ident,verb) {
- $.get('like/' + ident + '?verb=' + verb, function() { window.location.href=window.location.href; });
- }
+function dolike(ident, verb) {
+ unpause();
+ $('#like-rotator-' + ident.toString()).spin('tiny');
+ $.get('like/' + ident.toString() + '?verb=' + verb, NavUpdate );
+ liking = 1;
+}
+function doprofilelike(ident, verb) {
+ $.get('like/' + ident + '?verb=' + verb, function() { window.location.href=window.location.href; });
+}
- function dosubthread(ident) {
- unpause();
- $('#like-rotator-' + ident.toString()).spin('tiny');
- $.get('subthread/' + ident.toString(), NavUpdate );
- liking = 1;
- }
+function dosubthread(ident) {
+ unpause();
+ $('#like-rotator-' + ident.toString()).spin('tiny');
+ $.get('subthread/' + ident.toString(), NavUpdate );
+ liking = 1;
+}
+function dostar(ident) {
+ ident = ident.toString();
+ $('#like-rotator-' + ident).spin('tiny');
+ $.get('starred/' + ident, function(data) {
+ if(data.result == 1) {
+ $('#starred-' + ident).addClass('starred');
+ $('#starred-' + ident).removeClass('unstarred');
+ $('#starred-' + ident).addClass('icon-star-full');
+ $('#starred-' + ident).removeClass('icon-star-empty');
+ $('#star-' + ident).addClass('hidden');
+ $('#unstar-' + ident).removeClass('hidden');
+ }
+ else {
+ $('#starred-' + ident).addClass('unstarred');
+ $('#starred-' + ident).removeClass('starred');
+ $('#starred-' + ident).addClass('icon-star-empty');
+ $('#starred-' + ident).removeClass('icon-star-full');
+ $('#star-' + ident).removeClass('hidden');
+ $('#unstar-' + ident).addClass('hidden');
+ }
+ $('#like-rotator-' + ident).spin(false);
+ });
+}
- function dostar(ident) {
- ident = ident.toString();
- $('#like-rotator-' + ident).spin('tiny');
- $.get('starred/' + ident, function(data) {
- if(data.result == 1) {
- $('#starred-' + ident).addClass('starred');
- $('#starred-' + ident).removeClass('unstarred');
- $('#starred-' + ident).addClass('icon-star-full');
- $('#starred-' + ident).removeClass('icon-star-empty');
- $('#star-' + ident).addClass('hidden');
- $('#unstar-' + ident).removeClass('hidden');
- }
- else {
- $('#starred-' + ident).addClass('unstarred');
- $('#starred-' + ident).removeClass('starred');
- $('#starred-' + ident).addClass('icon-star-empty');
- $('#starred-' + ident).removeClass('icon-star-full');
- $('#star-' + ident).removeClass('hidden');
- $('#unstar-' + ident).addClass('hidden');
- }
- $('#like-rotator-' + ident).spin(false);
- });
+function getPosition(e) {
+ var cursor = {x:0, y:0};
+ if ( e.pageX || e.pageY ) {
+ cursor.x = e.pageX;
+ cursor.y = e.pageY;
}
-
- function getPosition(e) {
- var cursor = {x:0, y:0};
- if ( e.pageX || e.pageY ) {
- cursor.x = e.pageX;
- cursor.y = e.pageY;
+ else {
+ if( e.clientX || e.clientY ) {
+ cursor.x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
+ cursor.y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
}
else {
- if( e.clientX || e.clientY ) {
- cursor.x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
- cursor.y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
- }
- else {
- if( e.x || e.y ) {
- cursor.x = e.x;
- cursor.y = e.y;
- }
+ if( e.x || e.y ) {
+ cursor.x = e.x;
+ cursor.y = e.y;
}
}
- return cursor;
}
+ return cursor;
+}
- function lockview(event,id) {
- $.get('lockview/' + id, function(data) {
- $('#panel-' + id).html(data);
- });
- }
+function lockview(event, id) {
+ $.get('lockview/' + id, function(data) {
+ $('#panel-' + id).html(data);
+ });
+}
- function filestorage(event,nick,id) {
- $('#cloud-index-' + last_filestorage_id).removeClass('cloud-index-active');
- $('#perms-panel-' + last_filestorage_id).hide().html('');
- $('#file-edit-' + id).spin('tiny');
- delete acl;
- $.get('filestorage/' + nick + '/' + id + '/edit', function(data) {
- $('#cloud-index-' + id).addClass('cloud-index-active');
- $('#perms-panel-' + id).html(data).show();
- $('#file-edit-' + id).spin(false);
- last_filestorage_id = id;
- });
- }
+function filestorage(event, nick, id) {
+ $('#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');
+ $('#perms-panel-' + id).html(data).show();
+ $('#file-edit-' + id).spin(false);
+ last_filestorage_id = id;
+ });
+}
- function post_comment(id) {
- unpause();
- commentBusy = true;
- $('body').css('cursor', 'wait');
- $("#comment-preview-inp-" + id).val("0");
- $.post(
- "item",
- $("#comment-edit-form-" + id).serialize(),
- function(data) {
- if(data.success) {
- $("#comment-edit-preview-" + id).hide();
- $("#comment-edit-wrapper-" + id).hide();
- $("#comment-edit-text-" + id).val('');
- var tarea = document.getElementById("comment-edit-text-" + id);
- if(tarea)
- commentClose(tarea,id);
- if(timer) clearTimeout(timer);
- timer = setTimeout(NavUpdate,1500);
- }
- if(data.reload) {
- window.location.href=data.reload;
- }
- },
- "json"
- );
- return false;
- }
+function post_comment(id) {
+ unpause();
+ commentBusy = true;
+ $('body').css('cursor', 'wait');
+ $("#comment-preview-inp-" + id).val("0");
+ $.post(
+ "item",
+ $("#comment-edit-form-" + id).serialize(),
+ function(data) {
+ if(data.success) {
+ $("#comment-edit-preview-" + id).hide();
+ $("#comment-edit-wrapper-" + id).hide();
+ $("#comment-edit-text-" + id).val('');
+ var tarea = document.getElementById("comment-edit-text-" + id);
+ if(tarea)
+ commentClose(tarea, id);
+ if(timer) clearTimeout(timer);
+ timer = setTimeout(NavUpdate,1500);
+ }
+ if(data.reload) {
+ window.location.href=data.reload;
+ }
+ },
+ "json"
+ );
+ return false;
+}
+function preview_comment(id) {
+ $("#comment-preview-inp-" + id).val("1");
+ $("#comment-edit-preview-" + id).show();
+ $.post(
+ "item",
+ $("#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; });
+ }
+ },
+ "json"
+ );
+ return true;
+}
- function preview_comment(id) {
- $("#comment-preview-inp-" + id).val("1");
- $("#comment-edit-preview-" + id).show();
- $.post(
- "item",
- $("#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; });
- }
- },
- "json"
- );
- return true;
- }
+function importElement(elem) {
+ $.post(
+ "impel",
+ { "element" : elem },
+ function(data) {
+ if(timer) clearTimeout(timer);
+ timer = setTimeout(NavUpdate,10);
+ }
+ );
+ return false;
+}
- function importElement(elem) {
- $.post(
- "impel",
- { "element" : elem },
- function(data) {
- if(timer) clearTimeout(timer);
- timer = setTimeout(NavUpdate,10);
+function preview_post() {
+ $("#jot-preview").val("1");
+ $("#jot-preview-content").show();
+// tinyMCE.triggerSave();
+ $.post(
+ "item",
+ $("#profile-jot-form").serialize(),
+ function(data) {
+ if(data.preview) {
+ $("#jot-preview-content").html(data.preview);
+ $("#jot-preview-content" + " a").click(function() { return false; });
}
- );
+ },
+ "json"
+ );
+ $("#jot-preview").val("0");
+ return true;
+}
- return false;
- }
+function unpause() {
+ // unpause auto reloads if they are currently stopped
+ totStopped = false;
+ stopped = false;
+ $('#pause').html('');
+}
- function preview_post() {
- $("#jot-preview").val("1");
- $("#jot-preview-content").show();
-// tinyMCE.triggerSave();
- $.post(
- "item",
- $("#profile-jot-form").serialize(),
- function(data) {
- if(data.preview) {
- $("#jot-preview-content").html(data.preview);
- $("#jot-preview-content" + " a").click(function() { return false; });
- }
- },
- "json"
- );
- $("#jot-preview").val("0");
- return true;
+function bin2hex(s) {
+ // Converts the binary representation of data to hex
+ //
+ // version: 812.316
+ // discuss at: http://phpjs.org/functions/bin2hex
+ // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
+ // + bugfixed by: Onno Marsman
+ // + bugfixed by: Linuxworld
+ // * example 1: bin2hex('Kev');
+ // * returns 1: '4b6576'
+ // * example 2: bin2hex(String.fromCharCode(0x00));
+ // * returns 2: '00'
+ var v,i, f = 0, a = [];
+ s += '';
+ f = s.length;
+
+ for (i = 0; i<f; i++) {
+ a[i] = s.charCodeAt(i).toString(16).replace(/^([\da-f])$/,"0$1");
}
+ return a.join('');
+}
- function unpause() {
- // unpause auto reloads if they are currently stopped
- totStopped = false;
- stopped = false;
- $('#pause').html('');
- }
-
-
- function bin2hex(s){
- // Converts the binary representation of data to hex
- //
- // version: 812.316
- // discuss at: http://phpjs.org/functions/bin2hex
- // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
- // + bugfixed by: Onno Marsman
- // + bugfixed by: Linuxworld
- // * example 1: bin2hex('Kev');
- // * returns 1: '4b6576'
- // * example 2: bin2hex(String.fromCharCode(0x00));
- // * returns 2: '00'
- var v,i, f = 0, a = [];
- s += '';
- f = s.length;
-
- for (i = 0; i<f; i++) {
- a[i] = s.charCodeAt(i).toString(16).replace(/^([\da-f])$/,"0$1");
- }
-
- return a.join('');
- }
-
- function hex2bin(hex) {
- var bytes = [], str;
-
- for(var i=0; i< hex.length-1; i+=2)
- bytes.push(parseInt(hex.substr(i, 2), 16));
-
- return String.fromCharCode.apply(String, bytes);
- }
+function hex2bin(hex) {
+ var bytes = [], str;
- function groupChangeMember(gid, cid, sec_token) {
- $('body .fakelink').css('cursor', 'wait');
- $.get('group/' + gid + '/' + cid + "?t=" + sec_token, function(data) {
- $('#group-update-wrapper').html(data);
- $('body .fakelink').css('cursor', 'auto');
- });
- }
+ for(var i=0; i< hex.length-1; i+=2)
+ bytes.push(parseInt(hex.substr(i, 2), 16));
- function profChangeMember(gid,cid) {
- $('body .fakelink').css('cursor', 'wait');
- $.get('profperm/' + gid + '/' + cid, function(data) {
- $('#prof-update-wrapper').html(data);
- $('body .fakelink').css('cursor', 'auto');
- });
- }
+ return String.fromCharCode.apply(String, bytes);
+}
- function contactgroupChangeMember(gid,cid) {
- $('body').css('cursor', 'wait');
- $.get('contactgroup/' + gid + '/' + cid, function(data) {
- $('body').css('cursor', 'auto');
- $('#group-' + gid).toggleClass('icon-check icon-check-empty');
- });
- }
+function groupChangeMember(gid, cid, sec_token) {
+ $('body .fakelink').css('cursor', 'wait');
+ $.get('group/' + gid + '/' + cid + "?t=" + sec_token, function(data) {
+ $('#group-update-wrapper').html(data);
+ $('body .fakelink').css('cursor', 'auto');
+ });
+}
+function profChangeMember(gid, cid) {
+ $('body .fakelink').css('cursor', 'wait');
+ $.get('profperm/' + gid + '/' + cid, function(data) {
+ $('#prof-update-wrapper').html(data);
+ $('body .fakelink').css('cursor', 'auto');
+ });
+}
+
+function contactgroupChangeMember(gid, cid) {
+ $('body').css('cursor', 'wait');
+ $.get('contactgroup/' + gid + '/' + cid, function(data) {
+ $('body').css('cursor', 'auto');
+ $('#group-' + gid).toggleClass('icon-check icon-check-empty');
+ });
+}
function checkboxhighlight(box) {
- if($(box).is(':checked')) {
- $(box).addClass('checkeditem');
- }
- else {
- $(box).removeClass('checkeditem');
- }
+ if($(box).is(':checked')) {
+ $(box).addClass('checkeditem');
+ } else {
+ $(box).removeClass('checkeditem');
+ }
}
// code from http://www.tinymce.com/wiki.php/How-to_implement_a_custom_file_browser
function fcFileBrowser (field_name, url, type, win) {
- /* TODO: If you work with sessions in PHP and your client doesn't accept cookies you might need to carry
- 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({
- file : cmsURL,
- title : 'File Browser',
- width : 420, // Your dimensions may differ - toy around with them!
- height : 400,
- resizable : "yes",
- inline : "yes", // This parameter only has an effect if you use the inlinepopups plugin!
- close_previous : "no"
- }, {
- window : win,
- input : field_name
- });
- return false;
- }
+ /* TODO: If you work with sessions in PHP and your client doesn't accept cookies you might need to carry
+ 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({
+ file : cmsURL,
+ title : 'File Browser',
+ width : 420, // Your dimensions may differ - toy around with them!
+ height : 400,
+ resizable : "yes",
+ inline : "yes", // This parameter only has an effect if you use the inlinepopups plugin!
+ close_previous : "no"
+ }, {
+ window : win,
+ input : field_name
+ });
+ return false;
+}
function setupFieldRichtext(){
return;
@@ -1138,32 +1076,32 @@ function setupFieldRichtext(){
}
-/**
- * sprintf in javascript
- * "{0} and {1}".format('zero','uno');
- **/
+/**
+ * sprintf in javascript
+ * "{0} and {1}".format('zero','uno');
+ */
String.prototype.format = function() {
- var formatted = this;
- for (var i = 0; i < arguments.length; i++) {
- var regexp = new RegExp('\\{'+i+'\\}', 'gi');
- formatted = formatted.replace(regexp, arguments[i]);
- }
- return formatted;
+ var formatted = this;
+ for (var i = 0; i < arguments.length; i++) {
+ var regexp = new RegExp('\\{'+i+'\\}', 'gi');
+ formatted = formatted.replace(regexp, arguments[i]);
+ }
+ return formatted;
};
// Array Remove
Array.prototype.remove = function(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);
+ 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);
};
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,32 +1126,27 @@ $(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 {
- $(elm).addClass("zform-ok");
- $(elm).removeClass("zform-error");
- }
+function zFormError(elm,x) {
+ if(x) {
+ $(elm).addClass("zform-error");
+ $(elm).removeClass("zform-ok");
+ } 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
- $('#more').hide();
- $('#no-more').hide();
-
+ $('#more').hide();
+ $('#no-more').hide();
+
if($(window).scrollTop() + $(window).height() > $(document).height() - 200) {
$('#more').css("top","400");
$('#more').show();
@@ -1254,7 +1187,6 @@ $(window).scroll(function () {
}
}
}
-
});
var chanviewFullSize = false;
@@ -1273,143 +1205,139 @@ function chanviewFull() {
}
}
- function addhtmltext(data) {
- data = h2b(data);
- addeditortext(data);
- }
+function addhtmltext(data) {
+ data = h2b(data);
+ addeditortext(data);
+}
+function loadText(textRegion,data) {
+ var currentText = $(textRegion).val();
+ $(textRegion).val(currentText + 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();
+ $("#profile-jot-text").val(currentText + data);
}
+ else
+ tinyMCE.execCommand('mceInsertRawHTML',false,data);
+}
-
- function addeditortext(data) {
- if(plaintext == 'none') {
- var currentText = $("#profile-jot-text").val();
- $("#profile-jot-text").val(currentText + data);
- }
- else
- 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]");
+ rep(/<span style=\"color:(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]");
+ rep(/<font>(.*?)<\/font>/gi,"$1");
+ rep(/<img.*?width=\"(.*?)\".*?height=\"(.*?)\".*?src=\"(.*?)\".*?\/>/gi,"[img=$1x$2]$3[/img]");
+ rep(/<img.*?height=\"(.*?)\".*?width=\"(.*?)\".*?src=\"(.*?)\".*?\/>/gi,"[img=$2x$1]$3[/img]");
+ rep(/<img.*?src=\"(.*?)\".*?height=\"(.*?)\".*?width=\"(.*?)\".*?\/>/gi,"[img=$3x$2]$1[/img]");
+ 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]");
+ rep(/<ul class=\"listlowerroman\" style=\"list-style-type\: lower-roman\;\">(.*?)<\/ul>/gi,"[list=i]$1[/list]");
+ rep(/<ul class=\"listupperroman\" style=\"list-style-type\: upper-roman\;\">(.*?)<\/ul>/gi,"[list=I]$1[/list]");
+ rep(/<ul class=\"listloweralpha\" style=\"list-style-type\: lower-alpha\;\">(.*?)<\/ul>/gi,"[list=a]$1[/list]");
+ rep(/<ul class=\"listupperalpha\" style=\"list-style-type\: upper-alpha\;\">(.*?)<\/ul>/gi,"[list=A]$1[/list]");
+ rep(/<li>(.*?)<\/li>/gi,"[li]$1[/li]");
+
+ rep(/<code>(.*?)<\/code>/gi,"[code]$1[/code]");
+ rep(/<\/(strong|b)>/gi,"[/b]");
+ rep(/<(strong|b)>/gi,"[b]");
+ rep(/<\/(em|i)>/gi,"[/i]");
+ 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]");
+ rep(/<\/blockquote>/gi,"[/quote]");
+ rep(/<hr \/>/gi,"[hr]");
+ rep(/<br (.*?)\/>/gi,"\n");
+ rep(/<br\/>/gi,"\n");
+ rep(/<br>/gi,"\n");
+ rep(/<p>/gi,"");
+ rep(/<\/p>/gi,"\n");
+ rep(/&nbsp;/gi," ");
+ rep(/&quot;/gi,"\"");
+ rep(/&lt;/gi,"<");
+ rep(/&gt;/gi,">");
+ rep(/&amp;/gi,"&");
+
+ return y;
+}
- 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]");
- rep(/<span style=\"color:(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]");
- rep(/<font>(.*?)<\/font>/gi,"$1");
- rep(/<img.*?width=\"(.*?)\".*?height=\"(.*?)\".*?src=\"(.*?)\".*?\/>/gi,"[img=$1x$2]$3[/img]");
- rep(/<img.*?height=\"(.*?)\".*?width=\"(.*?)\".*?src=\"(.*?)\".*?\/>/gi,"[img=$2x$1]$3[/img]");
- rep(/<img.*?src=\"(.*?)\".*?height=\"(.*?)\".*?width=\"(.*?)\".*?\/>/gi,"[img=$3x$2]$1[/img]");
- 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]");
- rep(/<ul class=\"listlowerroman\" style=\"list-style-type\: lower-roman\;\">(.*?)<\/ul>/gi,"[list=i]$1[/list]");
- rep(/<ul class=\"listupperroman\" style=\"list-style-type\: upper-roman\;\">(.*?)<\/ul>/gi,"[list=I]$1[/list]");
- rep(/<ul class=\"listloweralpha\" style=\"list-style-type\: lower-alpha\;\">(.*?)<\/ul>/gi,"[list=a]$1[/list]");
- rep(/<ul class=\"listupperalpha\" style=\"list-style-type\: upper-alpha\;\">(.*?)<\/ul>/gi,"[list=A]$1[/list]");
- rep(/<li>(.*?)<\/li>/gi,"[li]$1[/li]");
-
- rep(/<code>(.*?)<\/code>/gi,"[code]$1[/code]");
- rep(/<\/(strong|b)>/gi,"[/b]");
- rep(/<(strong|b)>/gi,"[b]");
- rep(/<\/(em|i)>/gi,"[/i]");
- 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]");
- rep(/<\/blockquote>/gi,"[/quote]");
- rep(/<hr \/>/gi,"[hr]");
- rep(/<br (.*?)\/>/gi,"\n");
- rep(/<br\/>/gi,"\n");
- rep(/<br>/gi,"\n");
- rep(/<p>/gi,"");
- rep(/<\/p>/gi,"\n");
- rep(/&nbsp;/gi," ");
- rep(/&quot;/gi,"\"");
- rep(/&lt;/gi,"<");
- rep(/&gt;/gi,">");
- rep(/&amp;/gi,"&");
-
- return y;
- };
-
-
- function b2h(s) {
- var y = s;
- function rep(re, str) {
- y = y.replace(re,str);
- };
-
- rep(/\&/gi,"&amp;");
- rep(/\</gi,"&lt;");
- rep(/\>/gi,"&gt;");
- rep(/\"/gi,"&quot;");
-
- rep(/\n/gi,"<br />");
- rep(/\[b\]/gi,"<strong>");
- rep(/\[\/b\]/gi,"</strong>");
- rep(/\[i\]/gi,"<em>");
- rep(/\[\/i\]/gi,"</em>");
- rep(/\[u\]/gi,"<u>");
- rep(/\[\/u\]/gi,"</u>");
- rep(/\[hr\]/gi,"<hr />");
- rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"<a href=\"$1\">$2</a>");
- rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");
- rep(/\[img=(.*?)x(.*?)\](.*?)\[\/img\]/gi,"<img width=\"$1\" height=\"$2\" src=\"$3\" />");
- rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />");
-
- // FIXME - add zid()
- rep(/\[zrl=([^\]]+)\](.*?)\[\/zrl\]/gi,"<a href=\"$1" + '?f=&zid=' + zid + "\">$2</a>");
- rep(/\[zrl\](.*?)\[\/zrl\]/gi,"<a href=\"$1" + '?f=&zid=' + zid + "\">$1</a>");
- rep(/\[zmg=(.*?)x(.*?)\](.*?)\[\/zmg\]/gi,"<img width=\"$1\" height=\"$2\" src=\"$3" + '?f=&zid=' + zid + "\" />");
- rep(/\[zmg\](.*?)\[\/zmg\]/gi,"<img src=\"$1" + '?f=&zid=' + zid + "\" />");
-
- rep(/\[list\](.*?)\[\/list\]/gi, '<ul class="listbullet" style="list-style-type: circle;">$1</ul>');
- rep(/\[list=\](.*?)\[\/list\]/gi, '<ul class="listnone" style="list-style-type: none;">$1</ul>');
- rep(/\[list=1\](.*?)\[\/list\]/gi, '<ul class="listdecimal" style="list-style-type: decimal;">$1</ul>');
- rep(/\[list=i\](.*?)\[\/list\]/gi,'<ul class="listlowerroman" style="list-style-type: lower-roman;">$1</ul>');
- rep(/\[list=I\](.*?)\[\/list\]/gi, '<ul class="listupperroman" style="list-style-type: upper-roman;">$1</ul>');
- rep(/\[list=a\](.*?)\[\/list\]/gi, '<ul class="listloweralpha" style="list-style-type: lower-alpha;">$1</ul>');
- rep(/\[list=A\](.*?)\[\/list\]/gi, '<ul class="listupperalpha" style="list-style-type: upper-alpha;">$1</ul>');
- rep(/\[li\](.*?)\[\/li\]/gi, '<li>$1</li>');
- rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<span style=\"color: $1;\">$2</span>");
- rep(/\[size=(.*?)\](.*?)\[\/size\]/gi,"<span style=\"font-size: $1;\">$2</span>");
- rep(/\[code\](.*?)\[\/code\]/gi,"<code>$1</code>");
- rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<blockquote>$1</blockquote>");
-
- rep(/\[video\](.*?)\[\/video\]/gi,"<a href=\"$1\">$1</a>");
- rep(/\[audio\](.*?)\[\/audio\]/gi,"<a href=\"$1\">$1</a>");
-
- rep(/\[\&amp\;([#a-z0-9]+)\;\]/gi,'&$1;');
-
- rep(/\<(.*?)(src|href)=\"[^hfm](.*?)\>/gi,'<$1$2="">');
-
- return y;
- };
+function b2h(s) {
+ var y = s;
+ function rep(re, str) {
+ y = y.replace(re,str);
+ }
+ rep(/\&/gi,"&amp;");
+ rep(/\</gi,"&lt;");
+ rep(/\>/gi,"&gt;");
+ rep(/\"/gi,"&quot;");
+
+ rep(/\n/gi,"<br />");
+ rep(/\[b\]/gi,"<strong>");
+ rep(/\[\/b\]/gi,"</strong>");
+ rep(/\[i\]/gi,"<em>");
+ rep(/\[\/i\]/gi,"</em>");
+ rep(/\[u\]/gi,"<u>");
+ rep(/\[\/u\]/gi,"</u>");
+ rep(/\[hr\]/gi,"<hr />");
+ rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"<a href=\"$1\">$2</a>");
+ rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");
+ rep(/\[img=(.*?)x(.*?)\](.*?)\[\/img\]/gi,"<img width=\"$1\" height=\"$2\" src=\"$3\" />");
+ rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />");
+
+ // FIXME - add zid()
+ rep(/\[zrl=([^\]]+)\](.*?)\[\/zrl\]/gi,"<a href=\"$1" + '?f=&zid=' + zid + "\">$2</a>");
+ rep(/\[zrl\](.*?)\[\/zrl\]/gi,"<a href=\"$1" + '?f=&zid=' + zid + "\">$1</a>");
+ rep(/\[zmg=(.*?)x(.*?)\](.*?)\[\/zmg\]/gi,"<img width=\"$1\" height=\"$2\" src=\"$3" + '?f=&zid=' + zid + "\" />");
+ rep(/\[zmg\](.*?)\[\/zmg\]/gi,"<img src=\"$1" + '?f=&zid=' + zid + "\" />");
+
+ rep(/\[list\](.*?)\[\/list\]/gi, '<ul class="listbullet" style="list-style-type: circle;">$1</ul>');
+ rep(/\[list=\](.*?)\[\/list\]/gi, '<ul class="listnone" style="list-style-type: none;">$1</ul>');
+ rep(/\[list=1\](.*?)\[\/list\]/gi, '<ul class="listdecimal" style="list-style-type: decimal;">$1</ul>');
+ rep(/\[list=i\](.*?)\[\/list\]/gi,'<ul class="listlowerroman" style="list-style-type: lower-roman;">$1</ul>');
+ rep(/\[list=I\](.*?)\[\/list\]/gi, '<ul class="listupperroman" style="list-style-type: upper-roman;">$1</ul>');
+ rep(/\[list=a\](.*?)\[\/list\]/gi, '<ul class="listloweralpha" style="list-style-type: lower-alpha;">$1</ul>');
+ rep(/\[list=A\](.*?)\[\/list\]/gi, '<ul class="listupperalpha" style="list-style-type: upper-alpha;">$1</ul>');
+ rep(/\[li\](.*?)\[\/li\]/gi, '<li>$1</li>');
+ rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<span style=\"color: $1;\">$2</span>");
+ rep(/\[size=(.*?)\](.*?)\[\/size\]/gi,"<span style=\"font-size: $1;\">$2</span>");
+ rep(/\[code\](.*?)\[\/code\]/gi,"<code>$1</code>");
+ rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<blockquote>$1</blockquote>");
+
+ rep(/\[video\](.*?)\[\/video\]/gi,"<a href=\"$1\">$1</a>");
+ rep(/\[audio\](.*?)\[\/audio\]/gi,"<a href=\"$1\">$1</a>");
+
+ rep(/\[\&amp\;([#a-z0-9]+)\;\]/gi,'&$1;');
+
+ 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;
-}
+} \ No newline at end of file
diff --git a/view/js/mod_chat.js b/view/js/mod_chat.js
index 88c1cf7d8..6c432742f 100644
--- a/view/js/mod_chat.js
+++ b/view/js/mod_chat.js
@@ -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');
-});
+}); \ No newline at end of file
diff --git a/view/js/mod_directory.js b/view/js/mod_directory.js
index 861900704..90942f9ac 100644
--- a/view/js/mod_directory.js
+++ b/view/js/mod_directory.js
@@ -1,17 +1,15 @@
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 = '';
function fetchRatings(hash) {
- $.get('prate/'+hash, function(data) {
+ $.get('prate/' + hash, function(data) {
if(typeof(data.rating) !== 'undefined') {
ratingVal = data.rating;
ratingText = data.rating_text;
@@ -20,22 +18,21 @@ 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;
}
function postRatings() {
- $.post('prate',$('#ratings_form').serialize(),function(data) {
+ $.post('prate', $('#ratings_form').serialize(), function(data) {
$.colorbox.remove();
- $('#edited-'+currentHash).show();
+ $('#edited-' + currentHash).show();
},'json');
}
diff --git a/view/js/mod_events.js b/view/js/mod_events.js
index fc25e4331..270bf798b 100644
--- a/view/js/mod_events.js
+++ b/view/js/mod_events.js
@@ -1,35 +1,34 @@
+/**
+ * JavaScript for mod/events
+ */
$(document).ready( function() { showHideFinishDate(); });
- function showHideFinishDate() {
- if( $('#id_nofinish').is(':checked'))
- $('#event-finish-wrapper').hide();
- else
- $('#event-finish-wrapper').show();
- }
-
- function eventGetStart() {
- //reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
- $('#startModal').modal();
- $('#start-modal-OKButton').on('click', function() {
- reply=$('#start-date').val();
- if(reply && reply.length) {
+function showHideFinishDate() {
+ if( $('#id_nofinish').is(':checked'))
+ $('#event-finish-wrapper').hide();
+ else
+ $('#event-finish-wrapper').show();
+}
+function eventGetStart() {
+ //reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
+ $('#startModal').modal();
+ $('#start-modal-OKButton').on('click', function() {
+ reply=$('#start-date').val();
+ if(reply && reply.length) {
$('#start-text').val(reply);
$('#startModal').modal('hide');
}
- })
-
-
- }
- function eventGetFinish() {
- //reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
- $('#finishModal').modal();
- $('#finish-modal-OKButton').on('click', function() {
- reply=$('#finish-date').val();
- if(reply && reply.length) {
+ });
+}
+function eventGetFinish() {
+ //reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
+ $('#finishModal').modal();
+ $('#finish-modal-OKButton').on('click', function() {
+ reply=$('#finish-date').val();
+ if(reply && reply.length) {
$('#finish-text').val(reply);
$('#finishModal').modal('hide');
}
- })
-
- }
+ });
+} \ No newline at end of file
diff --git a/view/js/mod_filestorage.js b/view/js/mod_filestorage.js
index bee37767f..df04b4a83 100644
--- a/view/js/mod_filestorage.js
+++ b/view/js/mod_filestorage.js
@@ -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');
-
-});
+}); \ No newline at end of file
diff --git a/view/js/mod_mitem.js b/view/js/mod_mitem.js
index 979a15297..e883763df 100644
--- a/view/js/mod_mitem.js
+++ b/view/js/mod_mitem.js
@@ -1,11 +1,12 @@
+/**
+ * JavaScript used by mod/mitem.
+ */
$(document).ready(function() {
-
- $("a#settings-default-perms-menu").colorbox({
- 'inline' : true,
- 'transition' : 'elastic'
+ $("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');
-});
+}); \ No newline at end of file
diff --git a/view/js/mod_photos.js b/view/js/mod_photos.js
index 0526fd1e6..b254370c1 100644
--- a/view/js/mod_photos.js
+++ b/view/js/mod_photos.js
@@ -1,12 +1,16 @@
+/**
+ * JavaScript used by mod/photos
+ */
-var ispublic = aStr['everybody'];
+// is this variable used anywhere?
+var ispublic = aStr.everybody;
$(document).ready(function() {
- $(document).ready(function() {
+ $(document).ready(function() {
$("#photo-edit-newtag").contact_autocomplete(baseurl + '/acl', 'p', false, function(data) {
$("#photo-edit-newtag").val('@' + data.name);
});
- });
+ });
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
var selstr;
@@ -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');
-});
+}); \ No newline at end of file
diff --git a/view/js/mod_register.js b/view/js/mod_register.js
index 839c91911..95bc7bbbb 100644
--- a/view/js/mod_register.js
+++ b/view/js/mod_register.js
@@ -1,29 +1,29 @@
- $(document).ready(function() {
- $("#register-email").blur(function() {
- var zreg_email = $("#register-email").val();
- $.get("register/email_check.json?f=&email=" + encodeURIComponent(zreg_email),function(data) {
- $("#register-email-feedback").html(data.message);
- zFormError("#register-email-feedback",data.error);
- });
- });
- $("#register-password").blur(function() {
- if(($("#register-password").val()).length < 6 ) {
- $("#register-password-feedback").html(aStr['pwshort']);
- zFormError("#register-password-feedback",true);
- }
- else {
- $("#register-password-feedback").html("");
- zFormError("#register-password-feedback",false);
- }
- });
- $("#register-password2").blur(function() {
- if($("#register-password").val() != $("#register-password2").val()) {
- $("#register-password2-feedback").html(aStr['pwnomatch']);
- zFormError("#register-password2-feedback",true);
- }
- else {
- $("#register-password2-feedback").html("");
- zFormError("#register-password2-feedback",false);
- }
+$(document).ready(function() {
+ $("#register-email").blur(function() {
+ var zreg_email = $("#register-email").val();
+ $.get("register/email_check.json?f=&email=" + encodeURIComponent(zreg_email), function(data) {
+ $("#register-email-feedback").html(data.message);
+ zFormError("#register-email-feedback",data.error);
});
});
+ $("#register-password").blur(function() {
+ if(($("#register-password").val()).length < 6 ) {
+ $("#register-password-feedback").html(aStr.pwshort);
+ zFormError("#register-password-feedback", true);
+ }
+ else {
+ $("#register-password-feedback").html("");
+ zFormError("#register-password-feedback", false);
+ }
+ });
+ $("#register-password2").blur(function() {
+ if($("#register-password").val() != $("#register-password2").val()) {
+ $("#register-password2-feedback").html(aStr.pwnomatch);
+ zFormError("#register-password2-feedback", true);
+ }
+ else {
+ $("#register-password2-feedback").html("");
+ zFormError("#register-password2-feedback", false);
+ }
+ });
+}); \ No newline at end of file
diff --git a/view/js/mod_settings.js b/view/js/mod_settings.js
index e144ed6cd..9c1821494 100644
--- a/view/js/mod_settings.js
+++ b/view/js/mod_settings.js
@@ -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);
-
}
-
-}
+} \ No newline at end of file
diff --git a/view/js/ratings.js b/view/js/ratings.js
index 3d48ecca5..5ce4c0d00 100644
--- a/view/js/ratings.js
+++ b/view/js/ratings.js
@@ -4,7 +4,7 @@ var ratingText = '';
var currentHash = '';
function fetchRatings(hash) {
- $.get('prate/'+hash, function(data) {
+ $.get('prate/' + hash, function(data) {
if(typeof(data.rating) !== 'undefined') {
ratingVal = data.rating;
ratingText = data.rating_text;
@@ -13,22 +13,20 @@ 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;
}
function postRatings() {
- $.post('prate',$('#ratings_form').serialize(),function(data) {
+ $.post('prate', $('#ratings_form').serialize(), function(data) {
$.colorbox.remove();
- $('#edited-'+currentHash).show();
- },'json');
-}
-
+ $('#edited-' + currentHash).show();
+ }, 'json');
+} \ No newline at end of file
diff --git a/view/theme/redbasic/js/redbasic.js b/view/theme/redbasic/js/redbasic.js
index 3db67dc87..c825b0485 100644
--- a/view/theme/redbasic/js/redbasic.js
+++ b/view/theme/redbasic/js/redbasic.js
@@ -1,52 +1,51 @@
-
+/**
+ * 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) {
+ $(window).resize(function() {
+ if($(window).width() < 767) {
+ $('main').css('width', $(window).width() + 231 );
+ } else {
+ $('main').css('width', '100%' );
+ }
+ });
+ }
+ $('#css3-calc').remove(); // Remove the test element
-// 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) {
- $(window).resize(function() {
- if($(window).width() < 767) {
- $('main').css('width', $(window).width() + 231 );
- } else {
- $('main').css('width', '100%' );
- }
+ $('#expand-aside').click(function() {
+ $('#expand-aside-icon').toggleClass('icon-circle-arrow-right').toggleClass('icon-circle-arrow-left');
+ $('main').toggleClass('region_1-on');
});
-}
-$('#css3-calc').remove(); // Remove the test element
-$('#expand-aside').click(function() {
- $('#expand-aside-icon').toggleClass('icon-circle-arrow-right').toggleClass('icon-circle-arrow-left');
- $('main').toggleClass('region_1-on');
-});
-
-if($('aside').length && $('aside').html().length == 0) {
- $('#expand-aside').hide();
-}
-
-$('#expand-tabs').click(function() {
- if(!$('#tabs-collapse-1').hasClass('in')){
- $('html, body').animate({ scrollTop: 0 }, 'slow');
+ if($('aside').length && $('aside').html().length === 0) {
+ $('#expand-aside').hide();
}
- $('#expand-tabs-icon').toggleClass('icon-circle-arrow-down').toggleClass('icon-circle-arrow-up');
-});
-if($('#tabs-collapse-1').length == 0) {
- $('#expand-tabs').hide();
-}
+ $('#expand-tabs').click(function() {
+ if(!$('#tabs-collapse-1').hasClass('in')){
+ $('html, body').animate({ scrollTop: 0 }, 'slow');
+ }
+ $('#expand-tabs-icon').toggleClass('icon-circle-arrow-down').toggleClass('icon-circle-arrow-up');
+ });
+ 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 != "")
- document.title = "("+notifyUpdateElem.innerHTML+") " + doctitle;
- else
- document.title = doctitle;
+ if(notifyUpdateElem.innerHTML !== "")
+ document.title = "(" + notifyUpdateElem.innerHTML + ") " + doctitle;
+ else
+ document.title = doctitle;
}
- };
+ }
setInterval(function () {checkNotify();}, 10 * 1000);
-});
+}); \ No newline at end of file