Recognize links inside parentheses/brackets
[blerg.git] / www / js / blerg.js
index 83483fa..8cb5bab 100644 (file)
@@ -401,7 +401,7 @@ function mangleRecord(record, template) {
         l = l.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
 
         // Turn HTTP URLs into links
-        l = l.replace(/(\s|^)(https?:\/\/[a-zA-Z0-9.-]*[a-zA-Z0-9](\/([^\s"]*[^.!,;?()\s])?)?)/g, '$1<a href="$2">$2</a>');
+        l = l.replace(/(\s[()\[\]{}]?|^)(https?:\/\/[a-zA-Z0-9.-]*[a-zA-Z0-9](\/([^\s"]*[^.!,;?()\s])?)?)/g, '$1<a href="$2">$2</a>');
 
         // Turn markdown links into links
         var re;
@@ -647,6 +647,36 @@ function signup_cancel() {
     urlSwitch();
 }
 
+function passwd() {
+    var old_password = $('passwd.old_password').value;
+    var new_password = $('passwd.new_password').value;
+
+    new Ajax.Request(baseURL + '/passwd', {
+        parameters: {
+            username: loginStatus.username,
+            password: old_password,
+            new_password: new_password
+        },
+        onSuccess: function(r) {
+            if (r.responseJSON.status == 'success') {
+                alert('Password changed');
+                passwd_cancel();
+            } else {
+                alert('Password change failed.  Your password has NOT been changed.');
+            }
+        },
+        onFailure: function(r) {
+            alert('Password change error');
+        }
+    });
+}
+
+function passwd_cancel() {
+    $('passwd').hide();
+    $('navigation').show();
+    urlSwitch();
+}
+
 function subscribe() {
     new Ajax.Request(baseURL + '/subscribe/' + currentPager.username, {
         method: 'post',
@@ -814,6 +844,10 @@ Welcome.prototype.hide = function() {
     $('welcome').hide();
 }
 
+Welcome.prototype.updateState = function() {
+    this.show();
+}
+
 function ExternalURLPost(m) {
     this.title = decodeURIComponent(m[1]).replace(']','').replace('[','');
     this.url = decodeURIComponent(m[2]);