2014-09-08 15:54:52 +00:00
|
|
|
#ifndef JCELOGINHTMLSCRIPTS_H
|
|
|
|
#define JCELOGINHTMLSCRIPTS_H
|
|
|
|
|
2014-09-17 01:08:38 +00:00
|
|
|
#include "./src/jceSettings/user.h"
|
2014-09-08 15:54:52 +00:00
|
|
|
|
|
|
|
#define dst_host "yedion.jce.ac.il"
|
|
|
|
#define dst_port 443
|
|
|
|
|
2014-09-17 01:08:38 +00:00
|
|
|
/**
|
|
|
|
* @brief The jceLoginHtmlScripts class
|
|
|
|
* this class gets parameters and making the httml request string to be sent
|
|
|
|
* the headers of the http request were written according to JCE's student portal login page
|
|
|
|
*/
|
2014-09-08 15:54:52 +00:00
|
|
|
|
|
|
|
class jceLoginHtmlScripts
|
|
|
|
{
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
jceLoginHtmlScripts();
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
2014-09-17 01:08:38 +00:00
|
|
|
static QString makeRequest(QString parameters)
|
2014-09-08 15:54:52 +00:00
|
|
|
{
|
2014-09-17 01:08:38 +00:00
|
|
|
QString msg;
|
2014-09-08 15:54:52 +00:00
|
|
|
msg = "POST /yedion/fireflyweb.aspx HTTP/1.1\r\n";
|
2014-09-17 01:08:38 +00:00
|
|
|
msg += "Host: " + QString(dst_host) + "\r\n";
|
2014-09-08 15:54:52 +00:00
|
|
|
msg += "Content-Type: application/x-www-form-urlencoded\r\n";
|
2014-09-17 01:08:38 +00:00
|
|
|
msg += "Content-Length: " + QString::number(parameters.length()) + "\r\n";
|
2014-09-08 15:54:52 +00:00
|
|
|
msg += "Proxy-Connection: Keep-Alive\r\n";
|
|
|
|
msg += "Accept-Charset: UTF-8";
|
|
|
|
msg += "Accept: text/plain\r\n";
|
|
|
|
msg += "Connection: Keep-Alive\r\n";
|
|
|
|
msg += "\r\n";
|
|
|
|
msg += parameters;
|
|
|
|
return msg;
|
|
|
|
}
|
|
|
|
|
2014-09-17 01:08:38 +00:00
|
|
|
const static QString getFirstValidationStep(const user &usr)
|
2014-09-08 15:54:52 +00:00
|
|
|
{
|
2014-09-17 01:08:38 +00:00
|
|
|
QString parameters = "?appname=BSHITA&prgname=LoginValidation&arguments=-N";
|
2014-09-08 15:54:52 +00:00
|
|
|
parameters += usr.getUsername();
|
|
|
|
parameters += ",-N";
|
|
|
|
parameters += usr.getPassword();
|
|
|
|
return parameters;
|
|
|
|
}
|
|
|
|
|
2014-09-17 01:08:38 +00:00
|
|
|
const static QString getSecondValidationStep(const user &usr)
|
2014-09-08 15:54:52 +00:00
|
|
|
{
|
2014-09-17 01:08:38 +00:00
|
|
|
QString parameters;
|
2014-09-08 15:54:52 +00:00
|
|
|
parameters = "prgname=LoginValidtion1&Arguments=-N";
|
|
|
|
parameters += usr.getUserID();
|
|
|
|
parameters += ",-A,-N";
|
|
|
|
parameters += usr.getHashedPassword();
|
|
|
|
parameters += ",-A,-A";
|
|
|
|
return parameters;
|
|
|
|
}
|
2014-09-17 01:08:38 +00:00
|
|
|
const static QString getGradesPath(const user &usr,
|
2014-09-08 15:54:52 +00:00
|
|
|
int fromYear,
|
|
|
|
int toYear,
|
|
|
|
int fromSemester,
|
|
|
|
int toSemester)
|
|
|
|
{
|
2014-09-17 01:08:38 +00:00
|
|
|
QString parameters;
|
2014-09-08 15:54:52 +00:00
|
|
|
parameters = "PRGNAME=HADPASAT_MISMAHIM_LETALMID&ARGUMENTS=TZ,-N4,R1C2,R1C4,R1C1,R1C3,-A,-A,R1C5,-A,UNIQ&";
|
|
|
|
parameters += "TZ=" + usr.getUserID() + "&";
|
|
|
|
parameters += "UNIQ=" + usr.getHashedPassword() + "&";
|
2014-09-17 01:08:38 +00:00
|
|
|
parameters += "R1C2=" + QString::number(fromYear) + "&";
|
|
|
|
parameters += "R1C1=" + QString::number(toYear) + "&";
|
|
|
|
parameters += "R1C3=" + QString::number(toSemester) + "&";
|
|
|
|
parameters += "R1C4=" + QString::number(fromSemester) + "&";
|
2014-09-08 15:54:52 +00:00
|
|
|
parameters += "R1C5=0";
|
|
|
|
return parameters;
|
|
|
|
}
|
2014-09-17 01:08:38 +00:00
|
|
|
const static QString getCalendar(const user &usr,int year, int semester)
|
2014-09-08 15:54:52 +00:00
|
|
|
{
|
2014-09-17 01:08:38 +00:00
|
|
|
QString parameters;
|
2014-09-08 15:54:52 +00:00
|
|
|
parameters = "PRGNAME=Bitsua_maarechet_shaot&ARGUMENTS=TZ,UNIQ,MisparSheilta,R1C1,R1C2&";
|
|
|
|
parameters += "TZ=" + usr.getUserID() + "&";
|
|
|
|
parameters += "UNIQ=" + usr.getHashedPassword() + "&";
|
|
|
|
parameters += "MisparSheilta=3&";
|
2014-09-17 01:08:38 +00:00
|
|
|
parameters += "R1C1=" + QString::number(year) + "&";
|
|
|
|
parameters += "R1C2=" + QString::number(semester) + "&";
|
2014-09-08 15:54:52 +00:00
|
|
|
return parameters;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // JCELOGINHTMLSCRIPTS_H
|