XSS fix, books only shows title with out color atm...
This commit is contained in:
parent
1d9e4fa598
commit
135e877fa8
@ -6,12 +6,11 @@ var list = function(user) {
|
||||
.withConverter(bookConverter)
|
||||
.get()
|
||||
.then(function(query) {
|
||||
html = '<br/>'
|
||||
$('#books').html('<br/>')
|
||||
query.forEach(function(doc) {
|
||||
book = doc.data()
|
||||
html += book.toHtml(user)
|
||||
book.toHtml($('#books'))
|
||||
})
|
||||
$('#books').html(html)
|
||||
}).catch(function(error) {
|
||||
$('#books').html('<h3>Kunne ikke hente bøker!</h3><br/><p>'+error+'</p>')
|
||||
$('#books').css('color', 'red')
|
||||
@ -30,7 +29,7 @@ var add = function() {
|
||||
)).then(function() {
|
||||
$('#status').html('<p>La til bok '+$('#title')[0].value+'!</p>')
|
||||
$('#status').css('color', 'green')
|
||||
list(firebase.auth().currentUser)
|
||||
list()
|
||||
}).catch(function() {
|
||||
$('#status').html('<p>Problem med å legge til bok '+$('#title')[0].value+'!</p>')
|
||||
$('#status').css('color', 'red')
|
||||
@ -40,7 +39,7 @@ var add = function() {
|
||||
var remove = function(id) {
|
||||
db.collection("bibliotek").doc(id)
|
||||
.delete().then(function() {
|
||||
list(firebase.auth().currentUser)
|
||||
list()
|
||||
}).catch(function(error) {
|
||||
alert("Error removing document: ", error)
|
||||
})
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
#kommentar {
|
||||
.kommentar {
|
||||
font-size: 1.1rem;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
@ -6,15 +6,14 @@ var list = function() {
|
||||
.withConverter(commentConverter)
|
||||
.get()
|
||||
.then(function(query) {
|
||||
html = '<br/>'
|
||||
$('#kommentarer').html('<br/>')
|
||||
query.forEach(function(doc) {
|
||||
book = doc.data()
|
||||
html += book.toHtml(firebase.auth().currentUser)
|
||||
book.toHtml($('#kommentarer'))
|
||||
})
|
||||
$('#kommentarer').html(html)
|
||||
}).catch(function(error) {
|
||||
$('#kommentarer').html('<h3>Kunne ikke hente bøker!</h3><br/><p>'+error+'</p>')
|
||||
$('#kommentarer').css('color', 'red')
|
||||
$('#status').html('<h3>Kunne ikke hente kommentarer!</h3><br/><p>'+error.message+'</p>')
|
||||
$('#status').css('color', 'red')
|
||||
})
|
||||
}
|
||||
|
||||
@ -27,6 +26,7 @@ var add = function() {
|
||||
)).then(function() {
|
||||
$('#status').html('<p>La til melding med navn '+$('#navn')[0].value+'!</p>')
|
||||
$('#status').css('color', 'green')
|
||||
$('#kommentarer').html('')
|
||||
list()
|
||||
}).catch(function() {
|
||||
$('#status').html('<p>Problem med å legge til melding med navn '+$('#navn')[0].value+'!</p>')
|
||||
@ -37,6 +37,7 @@ var add = function() {
|
||||
var remove = function(id) {
|
||||
db.collection("gjestebok").doc(id)
|
||||
.delete().then(function() {
|
||||
$('#kommentarer').html('')
|
||||
list()
|
||||
}).catch(function(error) {
|
||||
alert("Error removing document: ", error)
|
||||
|
@ -32,6 +32,7 @@
|
||||
<!-- <a type="submit" class="btn btn-primary" href="javascript: list()">Hent kommentarer</a> -->
|
||||
<div id="kommentarer">
|
||||
</div>
|
||||
<p id="status"></p>
|
||||
</div>
|
||||
<script type="text/javascript" src="/it1/gjestebok/gjestebok.js"></script>
|
||||
</body>
|
||||
|
@ -11,14 +11,26 @@ class Book {
|
||||
toString() {
|
||||
return this.title+' av '+this.author+', terningkast '+this.rating+', utgitt '+this.published.toString().slice(0,15)+', forlag; '+this.publisher
|
||||
}
|
||||
toHtml(user=false) {
|
||||
let span = function(string, color='red') {
|
||||
return '<span style="color: '+color+'">'+string+'</span>'
|
||||
toHtml(elm) {
|
||||
let span = function(selector, string, color='red') {
|
||||
$($(selector)[$(selector).length-1]).append('<span style="color: '+color+'"></span>')
|
||||
//$($(selector+' > span')[$(selector+' > span').length-1])
|
||||
}
|
||||
let user = firebase.auth().currentUser
|
||||
elm.append('<p class="book"></p>', this.title)
|
||||
span('.book')
|
||||
//.text(this.toString())
|
||||
if (user) {
|
||||
$($('.kommentar')[$('.kommentar').length-1]).append(' <a class="btn btn-primary" href="javascript: remove(\''+this.cfid+'\')">Slett</a>')
|
||||
}
|
||||
} /*
|
||||
let span = function(string, color='red') {
|
||||
return '<span style="color: '+color+'">'+string+'</span>'
|
||||
}
|
||||
return '<p>'+span(this.title)+' av '+span(this.author)+', terningkast '+span(this.rating)+', utgitt '
|
||||
+span(this.published.toString().slice(0,15), 'green')+', forlag; '+span(this.publisher, 'yellow')
|
||||
+(user?' <a class="btn btn-primary" href="javascript: remove(\''+this.cfid+'\')">Slett</a>':'')+'</p>'
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
bookConverter = {
|
||||
|
@ -8,9 +8,13 @@ class Comment {
|
||||
toString() {
|
||||
return this.name+': '+this.message
|
||||
}
|
||||
toHtml(user) {
|
||||
return '<p id="kommentar">'+this.name+': '+this.message
|
||||
+(user?' <a class="btn btn-primary" href="javascript: remove(\''+this.cfid+'\')">Slett</a>':'')+'</p>'
|
||||
toHtml(elm) {
|
||||
let user = firebase.auth().currentUser
|
||||
elm.append('<p class="kommentar"></p>')
|
||||
$($('.kommentar')[$('.kommentar').length-1]).text(this.toString())
|
||||
if (user) {
|
||||
$($('.kommentar')[$('.kommentar').length-1]).append(' <a class="btn btn-primary" href="javascript: remove(\''+this.cfid+'\')">Slett</a>')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user