diff options
Diffstat (limited to 'public')
| -rw-r--r-- | public/js/protocols_site.js | 160 |
1 files changed, 76 insertions, 84 deletions
diff --git a/public/js/protocols_site.js b/public/js/protocols_site.js index 3a38ab9..41123bd 100644 --- a/public/js/protocols_site.js +++ b/public/js/protocols_site.js @@ -3,7 +3,7 @@ var URLregexp = /^(https?:\/\/)(www.)?([-A-Z0-9.]+)(\/)?([-A-Z0-9+&@#\/%?=~_|!:, var months = { Jan: 0, Feb: 1, Mar: 2, Apr: 3, May: 4, Jun: 5, Jul: 6, Aug: 7, Sep: 8, Oct: 9, Nov: 10, Dec: 11 } function isScrolledIntoView (elem) { - return true; + return true; var docViewTop = $(window).scrollTop(); var docViewBottom = docViewTop + $(window).height(); var elemTop = $(elem).offset().top; @@ -31,7 +31,7 @@ function is_image(s) } return false } -var domain_extensions = [".com",".net",".org",".uk",".fr",".de",".ch",".info",".nu",".mu","facebook.com","twitter.com"] +var domain_extensions = [".com",".net",".org",".uk",".fr",".de",".ch",".info",".nu",".mu",".io","facebook.com","twitter.com"] function has_domain(s) { for (var i in domain_extensions) @@ -75,9 +75,9 @@ function linkify(s) { var link = ''; var punctuation = ''; - var end = s.length-1; + var end = s.length-1; - // strip the terminal punctuation mark if it's a period or comma + // strip the terminal punctuation mark if it's a period or comma if (s.indexOf(".", end) === end || s.indexOf(",", end) === end) { punctuation = s.substr(end, 1); @@ -91,26 +91,26 @@ function linkify(s) uname = partz[partz.length-1]; else if (parts[-2].length) uname = partz[partz.length-2]; - link = '<a href="' + s + '" target="_blank">@' + uname + '</a>'; + link = '<a href="https://twitter.com/' + uname + '" target="_blank">@' + uname + '</a>'; } else { // link = s.replace(URLregexp,"<a href='$1$2$3$4$5' target='_blank'>[$3]</a>"); - var match = URLregexp.exec(s); - if (match && match.length == 6) - { - var url = match[0] || ""; - var http = match[1] || ""; - var www = match[2] || ""; - var domain = match[3] || ""; - var slash = match[4] || ""; - var uri = match[5] ? match[5].replace(/\/?index.html$/, "") : ""; - link = '<a href="' + url + '" target="_blank">[' + domain + ']</a>'; - } - else - { - link = s.replace(URLregexp,"<a href='$1$2$3$4$5' target='_blank'>[$3]</a>"); - } + var match = URLregexp.exec(s); + if (match && match.length == 6) + { + var url = match[0] || ""; + var http = match[1] || ""; + var www = match[2] || ""; + var domain = match[3] || ""; + var slash = match[4] || ""; + var uri = match[5] ? match[5].replace(/\/?index.html$/, "") : ""; + link = '<a href="' + url + '" target="_blank">[' + domain + ']</a>'; + } + else + { + link = s.replace(URLregexp,"<a href='$1$2$3$4$5' target='_blank'>[$3]</a>"); + } } return link + punctuation; } @@ -118,21 +118,21 @@ var URL = { auth: { - login: "/cgi-bin/auth/login.cgi", - logout: "/cgi-bin/auth/logout.cgi", + login: "/login", + logout: "/logout", }, party: { - list: "/cgi-bin/party/list.cgi", - view: "/cgi-bin/party/view.cgi", - edit: "/cgi-bin/party/edit.cgi", + list: "/api/party/list", + view: "/api/party/view", + edit: "/api/party/edit", }, user: { - all: "/cgi-bin/user/all.cgi", - view: "/cgi-bin/user/view.cgi", - edit: "/cgi-bin/user/edit.cgi", - deleter: "/cgi-bin/user/delete.cgi", + all: "/api/user/all", + view: "/api/user/view", + edit: "/api/user/edit", + destroy: "/api/user/destroy", }, }; var Party = @@ -194,7 +194,7 @@ var Party = $('#userEditContainer').hide() $('#partyEditContainer').hide() $('#userListContainer').fadeOut(200) - $.get(URL.party.view,{'id':id},Party.viewCallback) + $.get(URL.party.view, {'id':id}, Party.viewCallback) }, viewCallback: function (raw) { @@ -352,7 +352,7 @@ var Users = userlist: {}, hovering: true, current: false, - allCount: 0, + allCount: 0, userListIndex: [], currentIdx: -1, all: function () @@ -373,7 +373,7 @@ var Users = return } var partyUserList = []; - var guestHosts = []; + var guestHosts = []; var editable = []; var firstletter = "A"; Users.allCount = 0; @@ -392,9 +392,9 @@ var Users = var a = fields[2].substr(0,1) var li = "li id='r-"+Users.allCount+"'" - var userRow = ""; - var editSpan = ""; - + var userRow = ""; + var editSpan = ""; + if (firstletter !== a) { firstletter = a @@ -407,34 +407,34 @@ var Users = editable.push(fields[0]); } - switch (fields[1]) { - case '2': // host - userRow = "<"+li+"><span class='view' id='user-"+fields[0]+"'>"+fields[2]+" *</span>" + editSpan + "</li>"; - break; - case '1': // guest host - userRow = "<"+li+"><span class='view' id='user-"+fields[0]+"'>"+fields[2]+" *</span>" + editSpan + "</li>"; - guestHosts.push(userRow); - Users.userListIndex.unshift('user-'+fields[0]); - Users.allCount += 1; + switch (fields[1]) { + case '2': // host + userRow = "<"+li+"><span class='view' id='user-"+fields[0]+"'>"+fields[2]+" *</span>" + editSpan + "</li>"; + break; + case '1': // guest host + userRow = "<"+li+"><span class='view' id='user-"+fields[0]+"'>"+fields[2]+" *</span>" + editSpan + "</li>"; + guestHosts.push(userRow); + Users.userListIndex.unshift('user-'+fields[0]); + Users.allCount += 1; - break; - default: // guest - userRow = "<"+li+"><span class='view' id='user-"+fields[0]+"'>"+fields[2]+"</span>" + editSpan + "</li>"; - } + break; + default: // guest + userRow = "<"+li+"><span class='view' id='user-"+fields[0]+"'>"+fields[2]+"</span>" + editSpan + "</li>"; + } - partyUserList.push(userRow); + partyUserList.push(userRow); Users.userlist['user-'+fields[0]] = fields; Users.userListIndex.push('user-'+fields[0]); Users.allCount += 1; } $('#partyLocation').html(""); - var guestHostHeader = "<li class='hostlist'>Guest Hosts</li>"; - var guestListHeader = "<li class='br'></li><li class='hostlist'>Guest List</li>"; - for (var i in guestHosts) - guestHosts[i] = guestHosts[i].replace("class='br'","").replace("*",""); - // console.log(guestHosts); - // guestHosts[guestHosts.length-1] = guestHosts[guestHosts.length-1].replace("<li", "<li class='br'"); + var guestHostHeader = "<li class='hostlist'>Guest Hosts</li>"; + var guestListHeader = "<li class='br'></li><li class='hostlist'>Guest List</li>"; + for (var i in guestHosts) + guestHosts[i] = guestHosts[i].replace("class='br'","").replace("*",""); + // console.log(guestHosts); + // guestHosts[guestHosts.length-1] = guestHosts[guestHosts.length-1].replace("<li", "<li class='br'"); $('#userList').html(guestHostHeader + guestHosts.join("") + guestListHeader + partyUserList.join("")); $('#user-add').hide(); @@ -678,7 +678,7 @@ var Users = var name = $('#user-name').val() var r = confirm("ARE YOU SURE YOU WANT TO DELETE " + name + "?") if (r) - $.post(URL.user.deleter, {'id':id}, Users.deleteClickCallback) + $.post(URL.user.destroy, {'id':id}, Users.deleteClickCallback) }, deleteClickCallback: function () { @@ -802,7 +802,7 @@ var Auth = hosts: {}, init: function () { - if (document.cookie.indexOf("_protocols") !== -1) + if (document.cookie.indexOf("sid.protocols") !== -1) { warn('got cookie') $.post(URL.auth.login, {}, Auth.loginCallback) @@ -845,19 +845,11 @@ var Auth = $('#login-password').val(''), $.post(URL.auth.login, data, Auth.loginCallback) }, - loginCallback: function (raw) + loginCallback: function (json) { Main.saving = false - var lines = raw.split("\n") - if (lines.shift() !== API_MAGIC) - { - if (! Auth.loginPrompt) - Auth.load() - warn("bad api: login") - return - } - var result = lines.shift().split("\t") - if (result[0] === '0') + + if (json.error) { if (! Auth.loginPrompt) Auth.load() @@ -867,28 +859,28 @@ var Auth = } // 0 id 1 name 2 firstname 3 email 4 access - var name = result[1].split(' ')[0] || result[1].split('@')[0] + var user = Auth.user = json.user + + var name = user.name.split(' ')[0] || user.email.split('@')[0] warn( "Logged in! Hello "+name ) - Auth.userID = result[0] - Auth.isHost = result[4] == 2 ? true : false; - Auth.name = result[1] - Auth.firstName = result[2] + Auth.userID = user.id + Auth.isHost = user.access == 2 ? true : false; + Auth.name = user.name + Auth.firstName = name $('#profile-edit').html(Auth.firstName + "!") $('#logout').click( Auth.logout ) var hostSelect = "" - for (i in lines) - { - if (! lines[i]) - continue - var host = lines[i].split("\t") - if (host[0] === Auth.userID) - hostSelect += "<option value='"+host[0]+"' selected='1'>"+host[1]+"</option>" + Auth.hosts = {} + json.hosts.forEach(function(host){ + if (host.id === Auth.userID) + hostSelect += "<option value='"+host.id+"' selected='1'>"+host.name+"</option>" else - hostSelect += "<option value='"+host[0]+"'>"+host[1]+"</option>" - Auth.hosts[host[0]] = host[1] - } + hostSelect += "<option value='"+host.id+"'>"+host.name+"</option>" + Auth.hosts[ host.id ] = host.name + }) + $("#user-host").html(hostSelect) Auth.unload() @@ -896,7 +888,7 @@ var Auth = logout: function () { warn("logging out") - document.cookie = '_protocols=LOGGEDOUT; expires=Mon, 1 Jan 2001 12:00:00 UTC; path=/' + document.cookie = 'sid.protocols=LOGGEDOUT; expires=Mon, 1 Jan 2001 12:00:00 UTC; path=/' Main.unload() }, }; |
