mirror of
				https://gitlab.com/MrFry/mrfrys-node-server
				synced 2025-04-01 20:24:18 +02:00 
			
		
		
		
	Removed unused old format handlers
This commit is contained in:
		@@ -34,7 +34,6 @@ const actions = require('../utils/actions.js')
 | 
			
		||||
 | 
			
		||||
const recivedFiles = 'public/recivedfiles'
 | 
			
		||||
const uloadFiles = 'public/f'
 | 
			
		||||
const staticFile = 'public/data/static'
 | 
			
		||||
const dataFile = 'public/data.json'
 | 
			
		||||
const msgFile = 'stats/msgs'
 | 
			
		||||
 | 
			
		||||
@@ -72,20 +71,6 @@ app.get('/manual', function (req, res) {
 | 
			
		||||
  logger.LogReq(req)
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
app.get('/public', function (req, res) {
 | 
			
		||||
  var response = '@Plz update :)'
 | 
			
		||||
  response += utils.ReadFile(staticFile)
 | 
			
		||||
  res.write(response)
 | 
			
		||||
  res.end()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
app.get('/static', function (req, res) {
 | 
			
		||||
  var response = '@Plz update :)'
 | 
			
		||||
  response += utils.ReadFile(staticFile)
 | 
			
		||||
  res.write(response)
 | 
			
		||||
  res.end()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
app.get('/legacy', function (req, res) {
 | 
			
		||||
  var f = utils.ReadFile(dataFile)
 | 
			
		||||
  var d = actions.LoadJSON(f)
 | 
			
		||||
@@ -110,11 +95,7 @@ app.post('/postfeedback', function (req, res) {
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
app.get('/postfeedback', function (req, res) {
 | 
			
		||||
  // TODO: res.redirect("/"); or if needs this anyways, becouse /postfeedback post handler already
 | 
			
		||||
  // redirects
 | 
			
		||||
  res.render('qmining/main', {
 | 
			
		||||
    sdata: utils.ReadFile(staticFile)
 | 
			
		||||
  })
 | 
			
		||||
  res.redirect('/')
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
app.post('/isAdding', function (req, res) {
 | 
			
		||||
@@ -154,7 +135,7 @@ app.get('/greasy', function (req, res) {
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
app.get('/install', function (req, res) {
 | 
			
		||||
  res.redirect('http://qmining.frylabs.net/moodle-test-userscript/stable.user.js')
 | 
			
		||||
  res.redirect(siteUrl + '/moodle-test-userscript/stable.user.js?install')
 | 
			
		||||
  res.end()
 | 
			
		||||
  logger.LogReq(req)
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
 Submodule public/moodle-test-userscript updated: de7760ea82...fe74436ab1
									
								
							
							
								
								
									
										128
									
								
								utils/actions.js
									
									
									
									
									
								
							
							
						
						
									
										128
									
								
								utils/actions.js
									
									
									
									
									
								
							@@ -25,7 +25,6 @@ module.exports = {
 | 
			
		||||
  ProcessQA: ProcessQA
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const staticFile = './public/data/static'
 | 
			
		||||
const dataFile = './public/data.json'
 | 
			
		||||
const recDataFile = './stats/recdata'
 | 
			
		||||
const versionFile = './public/version'
 | 
			
		||||
@@ -36,33 +35,6 @@ var logger = require('../utils/logger.js')
 | 
			
		||||
var utils = require('../utils/utils.js')
 | 
			
		||||
const classes = require('./question-classes/classes.js')
 | 
			
		||||
 | 
			
		||||
function Process (d, file) {
 | 
			
		||||
  try {
 | 
			
		||||
    logger.Log('File: ' + file)
 | 
			
		||||
    if (d.data.split('\n').length > 1) {
 | 
			
		||||
      var oldFile = utils.ReadFile(file)
 | 
			
		||||
      var newFile = oldFile + '\n'
 | 
			
		||||
      if (d.data[0] === '+') { newFile += d.data } else { newFile += '+' + d.data }
 | 
			
		||||
 | 
			
		||||
      var newRes = CheckData(newFile)
 | 
			
		||||
      var oldRes = CheckData(oldFile)
 | 
			
		||||
 | 
			
		||||
      if (oldRes.count > 0) { logger.Log('\t\told public result: ' + oldRes.count, logger.GetColor('blue')) } else { logger.Log('\t\told public NLOD error, ' + oldRes.log, logger.GetColor('redbg'), true) }
 | 
			
		||||
 | 
			
		||||
      if (newRes.count > 0) { logger.Log('\t\tnew file result: ' + newRes.count, logger.GetColor('blue')) } else { logger.Log('\t\tnew file NLOD error, ' + newRes.log, logger.GetColor('redbg'), true) }
 | 
			
		||||
 | 
			
		||||
      utils.WriteFile(newFile, file)
 | 
			
		||||
      logger.Log('\t\tNew data written to: ' + file)
 | 
			
		||||
 | 
			
		||||
      return newRes.count - oldRes.count
 | 
			
		||||
    } else { logger.Log('\t\tNo new data') }
 | 
			
		||||
  } catch (e) {
 | 
			
		||||
    logger.Log('\tError at processing data! File: ' + file, logger.GetColor('redbg'))
 | 
			
		||||
    logger.Log(e.toString(), logger.GetColor('redbg'))
 | 
			
		||||
  }
 | 
			
		||||
  return -1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function ProcessIncomingRequest (data) {
 | 
			
		||||
  if (data === undefined) {
 | 
			
		||||
    logger.Log('\tRecieved data is undefined!', logger.GetColor('redbg'))
 | 
			
		||||
@@ -81,93 +53,47 @@ function ProcessIncomingRequest (data) {
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    var d = JSON.parse(data)
 | 
			
		||||
    var dfile = utils.ReadFile(dataFile)
 | 
			
		||||
    data = LoadJSON(dfile)
 | 
			
		||||
    var allQuestions = []
 | 
			
		||||
    for (let i = 0; i < d.allData.length; i++) {
 | 
			
		||||
      allQuestions.push(new classes.Question(d.allData[i].Q, d.allData[i].A, d.allData[i].I))
 | 
			
		||||
    }
 | 
			
		||||
    var questions = []
 | 
			
		||||
    for (let i = 0; i < d.data.length; i++) {
 | 
			
		||||
      let q = new classes.Question(d.data[i].Q, d.data[i].A, d.data[i].I)
 | 
			
		||||
      questions.push(q)
 | 
			
		||||
      data.AddQuestion(d.subj, q)
 | 
			
		||||
 | 
			
		||||
    let color = logger.GetColor('green')
 | 
			
		||||
    let questions = []
 | 
			
		||||
    let msg = ''
 | 
			
		||||
    if (d.data.length > 0) {
 | 
			
		||||
      let qdb = LoadJSON(utils.ReadFile(dataFile))
 | 
			
		||||
      d.data.forEach((x) => {
 | 
			
		||||
        let q = new classes.Question(x.Q, x.A, x.I)
 | 
			
		||||
        questions.push(q)
 | 
			
		||||
        qdb.AddQuestion(d.subj, q)
 | 
			
		||||
      })
 | 
			
		||||
 | 
			
		||||
      try {
 | 
			
		||||
        data.version = utils.ReadFile(versionFile)
 | 
			
		||||
        data.motd = utils.ReadFile(motdFile)
 | 
			
		||||
      } catch (e) {
 | 
			
		||||
        logger.Log('MOTD/Version writing/reading error!')
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      msg += 'All / new count: ' + allQuestions.length + ' / ' + questions.length
 | 
			
		||||
      if (qdb !== undefined && d.data.length > 0) {
 | 
			
		||||
        utils.WriteBackup()
 | 
			
		||||
        utils.WriteFile(JSON.stringify(qdb), dataFile)
 | 
			
		||||
        msg += ' - Data file written!'
 | 
			
		||||
        color = logger.GetColor('blue')
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    logger.Log('\t' + d.subj)
 | 
			
		||||
    var msg = 'All / new count: ' + allQuestions.length + ' / ' + questions.length
 | 
			
		||||
    if (d.version !== undefined) { msg += '. Version: ' + d.version }
 | 
			
		||||
 | 
			
		||||
    var color = logger.GetColor('green')
 | 
			
		||||
 | 
			
		||||
    try {
 | 
			
		||||
      data.version = utils.ReadFile(versionFile)
 | 
			
		||||
      data.motd = utils.ReadFile(motdFile)
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
      logger.Log('MOTD/Version writing/reading error!')
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (data !== undefined && d.data.length > 0) {
 | 
			
		||||
      utils.WriteBackup()
 | 
			
		||||
      utils.WriteFile(JSON.stringify(data), dataFile)
 | 
			
		||||
      msg += ' - Data file written!'
 | 
			
		||||
      color = logger.GetColor('blue')
 | 
			
		||||
    }
 | 
			
		||||
    logger.Log('\t' + msg, color)
 | 
			
		||||
  } catch (e) {
 | 
			
		||||
    logger.Log('Couldnt parse JSON data, trying old format...', logger.GetColor('redbg'))
 | 
			
		||||
    d = SetupData(data)
 | 
			
		||||
    var qcount = -1
 | 
			
		||||
    try {
 | 
			
		||||
      var splitted = d.alldata.split('\n')
 | 
			
		||||
      var count = 0
 | 
			
		||||
      for (var i = 0; i < splitted.length; i++) {
 | 
			
		||||
        if (splitted[i][0] === '?') { count++ }
 | 
			
		||||
      }
 | 
			
		||||
      qcount = count
 | 
			
		||||
    } catch (e) { console.log('Error :c'); console.log(e) }
 | 
			
		||||
 | 
			
		||||
    logger.Log('\tProcessing data: ' + d.subj + ' (' + d.type + '), count: ' + qcount, logger.GetColor('green'))
 | 
			
		||||
    if (d.subj === undefined) {
 | 
			
		||||
      logger.Log(JSON.stringify(d), logger.GetColor('red'))
 | 
			
		||||
      return
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    var newStatItems = Process(d, staticFile)
 | 
			
		||||
 | 
			
		||||
    PrintNewCount(d, newStatItems, staticFile)
 | 
			
		||||
    logger.Log('Couldnt parse JSON data', logger.GetColor('redbg'))
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function PrintNewCount (d, newItems, file) {
 | 
			
		||||
  if (newItems > 0) {
 | 
			
		||||
    var count = 0
 | 
			
		||||
    var splitted = d.alldata.split('\n')
 | 
			
		||||
    for (var i = 0; i < splitted.length; i++) {
 | 
			
		||||
      if (splitted[i].startsWith('?')) { count++ }
 | 
			
		||||
    }
 | 
			
		||||
    logger.Log('\t' + file + ' All / New: ' + count + ' / ' + newItems, logger.GetColor('cyan'))
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function SetupData (data) {
 | 
			
		||||
  var pdata = data.split('<#>')
 | 
			
		||||
  if (pdata.length <= 0) {
 | 
			
		||||
    logger.Log('Data length is zero !', logger.GetColor('redbg'))
 | 
			
		||||
    throw new Error('No data recieved!')
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var d = {} // parsed data
 | 
			
		||||
  for (var i = 0; i < pdata.length; i++) {
 | 
			
		||||
    var td = pdata[i].split('<=>')
 | 
			
		||||
    if (td.length === 2) { d[td[0]] = td[1] } else {
 | 
			
		||||
      logger.Log('Invalid parameter!', logger.GetColor('redbg'))
 | 
			
		||||
      throw new Error('Invalid parameter recieved!')
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return d
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function CheckData (data) {
 | 
			
		||||
  try {
 | 
			
		||||
    var presult = NLoad(data)
 | 
			
		||||
 
 | 
			
		||||
@@ -191,10 +191,8 @@
 | 
			
		||||
		</li>
 | 
			
		||||
		</p>
 | 
			
		||||
		<li>
 | 
			
		||||
			Egyéb:<br><a target="_blank"
 | 
			
		||||
			href="https://greasyfork.org/en/scripts/38999-moodle-elearning-kmooc-test-help/feedback">Script
 | 
			
		||||
			Feedback</a> vagy <a target="_blank" href="http://qmining.frylabs.net/">észrevétel</a> vagy <a
 | 
			
		||||
			target="_blank" href="http://qmining.frylabs.net/irc">IRC.</a>
 | 
			
		||||
			Egyéb:<br>
 | 
			
		||||
            <a target="_blank" href="http://qmining.frylabs.net/">észrevétel</a>
 | 
			
		||||
		</li>
 | 
			
		||||
	</ul>
 | 
			
		||||
	<hr> Jogosultságok:
 | 
			
		||||
@@ -209,14 +207,6 @@
 | 
			
		||||
	<hr>
 | 
			
		||||
	<center>
 | 
			
		||||
	<h1>
 | 
			
		||||
	<a target="_blank"
 | 
			
		||||
	href="https://greasyfork.org/en/scripts/38999-moodle-elearning-kmooc-test-help">Script
 | 
			
		||||
	Greasyforkon</a>
 | 
			
		||||
	|
 | 
			
		||||
	<a target="_blank"
 | 
			
		||||
	href="https://greasyfork.org/en/scripts/38999-moodle-elearning-kmooc-test-help/feedback">Script
 | 
			
		||||
	Feedback</a>
 | 
			
		||||
	|
 | 
			
		||||
	<a target="_blank" href="http://qmining.frylabs.net/">Weboldal</a>
 | 
			
		||||
	</h1>
 | 
			
		||||
	</center>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user