1
0
mirror of https://github.com/schollz/cowyo.git synced 2023-08-10 21:13:00 +03:00

Added noprompting for encryption

This commit is contained in:
Zack Scholl 2016-03-14 14:31:28 -04:00
parent 573f976ea3
commit a7589f1408
3 changed files with 21 additions and 33 deletions

View File

@ -29,11 +29,9 @@ func encryptionRoute(c *gin.Context) {
fmt.Println(option, title)
var jsonLoad EncryptionPost
if option == "/decrypt" {
fmt.Println("Decrypting...")
if c.BindJSON(&jsonLoad) == nil {
var err error
currentText, _, _, _, encrypted := getCurrentText(title, -1)
fmt.Println(currentText, encrypted, jsonLoad.Password)
if encrypted == true {
currentText, err = decryptString(currentText, jsonLoad.Password)
if err != nil {
@ -65,7 +63,6 @@ func encryptionRoute(c *gin.Context) {
}
if option == "/encrypt" {
if c.BindJSON(&jsonLoad) == nil {
fmt.Println(jsonLoad)
p := WikiData{strings.ToLower(title), "", []string{}, []string{}, true}
p.save(encryptString(jsonLoad.Text, jsonLoad.Password))
c.JSON(200, gin.H{
@ -114,7 +111,6 @@ func editNote(c *gin.Context) {
c.Redirect(302, "/"+title+"/view")
}
numRows := len(strings.Split(currentText, "\n")) + 10
if currentVersion {
c.HTML(http.StatusOK, "index.tmpl", gin.H{
"Title": title,
"WikiName": RuntimeArgs.WikiName,
@ -124,20 +120,8 @@ func editNote(c *gin.Context) {
"Versions": versions,
"TotalTime": totalTime,
"SocketType": RuntimeArgs.Socket,
"NoEdit": !currentVersion,
})
} else {
c.HTML(http.StatusOK, "index.tmpl", gin.H{
"Title": title,
"WikiName": RuntimeArgs.WikiName,
"ExternalIP": RuntimeArgs.ExternalIP,
"CurrentText": currentText,
"NumRows": numRows,
"Versions": versions,
"TotalTime": totalTime,
"SocketType": RuntimeArgs.Socket,
"NoEdit": true,
})
}
}
}
@ -148,6 +132,7 @@ func everythingElse(c *gin.Context) {
title := c.Param("title")
if option == "/view" {
version := c.DefaultQuery("version", "-1")
noprompt := c.DefaultQuery("noprompt", "-1")
versionNum, _ := strconv.Atoi(version)
if strings.ToLower(title) == "about" {
versionNum = -1
@ -159,9 +144,9 @@ func everythingElse(c *gin.Context) {
p := WikiData{strings.ToLower(title), "", []string{}, []string{}, false}
p.save("")
}
renderMarkdown(c, currentText, title, versions, "", totalTime, encrypted)
renderMarkdown(c, currentText, title, versions, "", totalTime, encrypted, noprompt == "-1")
} else if title == "ls" && option == "/"+RuntimeArgs.AdminKey && len(RuntimeArgs.AdminKey) > 1 {
renderMarkdown(c, listEverything(), "ls", nil, RuntimeArgs.AdminKey, time.Now().Sub(time.Now()), false)
renderMarkdown(c, listEverything(), "ls", nil, RuntimeArgs.AdminKey, time.Now().Sub(time.Now()), false, false)
} else if option == "/list" {
renderList(c, title)
} else if title == "static" {
@ -180,7 +165,7 @@ func serveStaticFile(c *gin.Context, option string) {
}
}
func renderMarkdown(c *gin.Context, currentText string, title string, versions []versionsInfo, AdminKey string, totalTime time.Duration, encrypted bool) {
func renderMarkdown(c *gin.Context, currentText string, title string, versions []versionsInfo, AdminKey string, totalTime time.Duration, encrypted bool, noprompt bool) {
r, _ := regexp.Compile("\\[\\[(.*?)\\]\\]")
for _, s := range r.FindAllString(currentText, -1) {
currentText = strings.Replace(currentText, s, "["+s[2:len(s)-2]+"](/"+s[2:len(s)-2]+"/view)", 1)
@ -218,6 +203,7 @@ func renderMarkdown(c *gin.Context, currentText string, title string, versions [
"TotalTime": totalTime.String(),
"AdminKey": AdminKey,
"Encrypted": encrypted,
"Prompt": noprompt,
})
}

View File

@ -174,7 +174,7 @@
success: function (data) {
if (data['success'] == true) {
swal("Encryption", "Encrypted!", "success");
window.location.href = '/{{ .Title }}/view';
window.location.href = '/{{ .Title }}/view?noprompt=1';
} else {
swal("Encryption", "Something went wrong.", "error");
}

View File

@ -74,9 +74,10 @@ a.deleteable {
$( document ).ready(function() {
{{ if .Encrypted }}
{{ if .Prompt }}
var pass1 = "";
swal({
title: "Encryption",
title: "Decryption",
text: "Enter your passphrase:",
type: "input",
showCancelButton: true,
@ -109,11 +110,12 @@ $( document ).ready(function() {
}
});
});
{{ end }}
$('.postdecrypt').click(function(event) {
var pass1 = "";
event.preventDefault();
swal({
title: "Encryption",
title: "Decryption",
text: "Enter your passphrase:",
type: "input",
showCancelButton: true,