Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
558
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.73 KB | None | 0 0
  1. Version := 1.0
  2.  
  3. SendMode Input
  4. #SingleInstance force
  5. #NoTrayIcon
  6. setworkingdir, %a_scriptdir%
  7. ListLines Off
  8.  
  9. #include mysql.ahk ; pull from local directory
  10.  
  11. mysql := new mysql ; instantiates an object using this class
  12.  
  13. db := mysql.connect("host,"user","password","database")
  14.  
  15. if db =
  16. return
  17.  
  18. _serial = 0
  19. IniRead, _V1remember, Settings.ini, LoginData, _remember
  20. IniRead, _user_name, Settings.ini, LoginData, _user_name
  21. IniRead, _password, Settings.ini, LoginData, _password
  22.  
  23. ;===========================================
  24. ; LOGIN TO APP
  25. ;===========================================
  26. ;-----------------------
  27. ; Create LOGIN gui
  28. ;-----------------------
  29.  
  30. Gui, Add, Text, x2 y3 w80 h20 , Username
  31. Gui, Add, Edit, x82 y3 w130 h20 Limit12 vUser_name
  32. Gui, Add, Text, x2 y30 w80 h20 , Password
  33. Gui, Add, Edit, x82 y30 w130 h20 Limit20 vPassword
  34. Gui, Add, CheckBox, x90 y60 w130 h20 v_1remember g_RememberLoginData, Remember Me
  35. Gui, Add, Picture, x2 y50 w80 h40 , C:\Users\Zielu\Desktop\icon.png
  36. Gui, Add, Button, x2 y90 w90 h20 g_Login , Login
  37. Gui, Add, Button, x112 y90 w100 h20 g_Register , Register
  38.  
  39. Gui, Show, center h112 w217, HeadHunt Login
  40.  
  41. GuiControl,, _1remember, %_V1remember%
  42.  
  43. If _V1remember = 1
  44. GuiControl,, User_name, %_user_name%
  45. GuiControl,, Password, %_password%
  46.  
  47. sql =
  48. (
  49. SELECT version
  50. FROM versions
  51. WHERE id = 1
  52. )
  53. versionresult := mysql.query(db, sql)
  54. mysql.lvfill(sql, versionresult)
  55.  
  56. if versionresult != %Version%
  57. {
  58. MsgBox, Update is available, go to download site.
  59. }
  60.  
  61. Return
  62.  
  63. GuiClose:
  64. ExitApp
  65. Return
  66.  
  67. ;-----------------------
  68. ; SAVE LOGIN DATA
  69. ;-----------------------
  70.  
  71. _RememberLoginData:
  72. GuiControlGet, _1remember
  73. IniWrite, %_1remember%,Settings.ini, LoginData, _remember
  74. IniRead, _V1remember, Settings.ini, LoginData, _remember
  75. return
  76.  
  77. ;-----------------------
  78. ; LOGIN BUTTON
  79. ;-----------------------
  80.  
  81. _Login:
  82.  
  83. GuiControlGet, User_name
  84. GuiControlGet, Password
  85.  
  86. if _V1remember = 1
  87. {
  88. IniWrite, %User_name%,Settings.ini, LoginData, _user_name
  89. IniWrite, %Password%,Settings.ini, LoginData, _password
  90. Gosub, _Login2
  91. }
  92. else
  93. {
  94. Gosub, _Login2
  95. }
  96.  
  97. return
  98.  
  99.  
  100.  
  101. _Login2:
  102. gui, submit, nohide
  103. sql =
  104. (
  105. SELECT password
  106. FROM users
  107. WHERE user_name = "%User_name%"
  108. )
  109. loginresult := mysql.query(db, sql)
  110. mysql.lvfill(sql, loginresult)
  111.  
  112. if loginresult =
  113. {
  114. msgbox, Username or password is not correct.
  115. }
  116. else
  117. if loginresult = %Password%
  118. {
  119. Gosub, UserHardwareId
  120. }
  121. else
  122. {
  123. msgbox, Username or password is not correct.
  124. }
  125. gui, submit, nohide
  126.  
  127. return
  128.  
  129. Return
  130. ;-----------------------
  131. ; Get hardware id
  132. ;-----------------------
  133.  
  134. UserHardwareId:
  135.  
  136. gui, submit, nohide
  137.  
  138.  
  139. windir = %A_WinDir%
  140. StringMid, Drive, windir,1,2
  141. DriveGet, fingerprintLOGIN, Serial, %Drive%
  142.  
  143. sql =
  144. (
  145. SELECT hardID
  146. FROM users
  147. WHERE user_name = "%User_name%"
  148. )
  149. hardresult := mysql.query(db, sql)
  150. mysql.lvfill(sql, hardresult)
  151.  
  152. if hardresult =
  153. {
  154. msgbox, Hardware ID not match.
  155. }
  156. else
  157. if hardresult = %fingerprintLOGIN%
  158. {
  159. Gosub, CheckLicenceDays
  160. }
  161. else
  162. {
  163. msgbox, Hardware ID not match.
  164. }
  165. gui, submit, nohide
  166.  
  167. return
  168.  
  169. ;-----------------------
  170. ; Check Licence Days
  171. ;-----------------------
  172.  
  173. CheckLicenceDays:
  174.  
  175. gui, submit, nohide
  176.  
  177. sql =
  178. (
  179. SELECT days
  180. FROM users
  181. WHERE user_name = "%User_name%"
  182. )
  183. daysresult := mysql.query(db, sql)
  184. mysql.lvfill(sql, daysresult)
  185.  
  186. if daysresult <= 0
  187. {
  188. msgbox, Your licence expired, purchase application.
  189. ExitApp
  190. }
  191. else
  192. {
  193. Gui, 1:Destroy
  194. MsgBox, Welcome %User_name%! You have %daysresult% days licence.
  195. Gosub, access
  196. }
  197.  
  198. return
  199.  
  200. ;===========================================
  201. ; REGISTER
  202. ;===========================================
  203.  
  204. _Register:
  205.  
  206. Gui, 1:Destroy
  207.  
  208. Gui, 2:Add, Text, x2 y0 w240 h40 , Welcome to registration panel! Insert all data carefully. If you have any problems please contact support.
  209.  
  210. Gui, 2:Add, Text, x2 y50 w80 h20 , User name
  211. Gui, 2:Add, Edit, x82 y50 w160 h20 vuser_name
  212.  
  213. Gui, 2:Add, Text, x2 y80 w80 h20 , Password
  214. Gui, 2:Add, Edit, x82 y80 w160 h20 vpassword
  215.  
  216. Gui, 2:Add, Text, x2 y105 w80 h28 , Repeat password
  217. Gui, 2:Add, Edit, x82 y110 w160 h20 vpassword2
  218.  
  219. Gui, 2:Add, Text, x2 y140 w80 h20 , Email adress
  220. Gui, 2:Add, Edit, x82 y140 w160 h20 vmail
  221.  
  222. Gui, 2:Add, Text, x2 y170 w80 h20 , Serial
  223. Gui, 2:Add, Edit, x82 y170 w160 h20 vserial
  224.  
  225. Gui, 2:Add, Button, x72 y200 w100 h20 gRegister, Register
  226.  
  227. Gui, 2:Show, center h224 w248, Register
  228. Return
  229.  
  230. 2GuiClose:
  231. ExitApp
  232. Return
  233.  
  234. ;============================================================
  235. ; rejestracja
  236. ;============================================================
  237.  
  238. Register: ; check username
  239.  
  240.  
  241. gui, submit, nohide
  242. StringLen, userlength, user_name
  243. If user_name =
  244. {
  245. MsgBox, Username can not be empty.
  246. }
  247. else
  248. if userlength < 5
  249. {
  250. MsgBox, Username have to contain at least 5 characters.
  251. }
  252. else
  253. Found := RegExMatch(user_name,"\W",Char)
  254. If Found <> 0
  255. {
  256. MsgBox, Username contain illegal character.
  257. }
  258. else
  259. {
  260. Gosub, checkpassword
  261. }
  262. return
  263.  
  264. ;-----------------------
  265. ; Check passwords
  266. ;-----------------------
  267.  
  268. checkpassword:
  269.  
  270. gui, submit, nohide
  271. StringLen, passlength, password
  272. if password =
  273. {
  274. MsgBox, Password can not be empty.
  275. }
  276. else
  277. if password = %user_name%
  278. {
  279. MsgBox, Password can not be the same as the user name.
  280. }
  281. else
  282. if passlength < 8
  283. {
  284. MsgBox, Password have to contain at least 8 characters.
  285. }
  286. else
  287. Found := RegExMatch(password,"\W",Char)
  288. If Found <> 0
  289. {
  290. MsgBox, Password contain illegal character.
  291. }
  292. else
  293. if password != %password2%
  294. {
  295. MsgBox, Entered passwords do not match.
  296. }
  297. else
  298. if password = %password2%
  299. {
  300. Gosub, checklength
  301. }
  302. return
  303.  
  304. checklength:
  305. gui, submit, nohide
  306. StringLen, passlength, password
  307. if passlength > 7
  308. Gosub, usercheck
  309. return
  310.  
  311.  
  312. ;-----------------------
  313. ; Check username
  314. ;-----------------------
  315.  
  316. usercheck:
  317.  
  318. gui, submit, nohide
  319.  
  320. sql =
  321. (
  322. SELECT COUNT(user_name)
  323. FROM users
  324. WHERE user_name = "%user_name%"
  325. )
  326. result := mysql.query(db, sql)
  327. mysql.lvfill(sql, result)
  328.  
  329. if result = 1
  330. {
  331. MsgBox, Username is currently used.
  332. }
  333. else
  334. {
  335. Gosub, mailcheck
  336. }
  337. gui, submit, nohide
  338. Return
  339.  
  340. ;-----------------------
  341. ; Check email
  342. ;-----------------------
  343.  
  344. mailcheck:
  345. gui, submit, nohide
  346. If mail =
  347. {
  348. MsgBox, Your email is required for security reasons.
  349. }
  350. else
  351. IfNotInString, mail, @
  352. {
  353. MsgBox, Email adress is not correct.
  354. }
  355. else
  356. {
  357. Gosub, mailcheckdb
  358. }
  359. return
  360.  
  361. mailcheckdb:
  362. gui, submit, nohide
  363.  
  364. sql =
  365. (
  366. SELECT COUNT(email)
  367. FROM users
  368. WHERE email = "%mail%"
  369. )
  370. result := mysql.query(db, sql)
  371. mysql.lvfill(sql, result)
  372.  
  373. if result = 1
  374. {
  375. MsgBox, Email adress is currently used.
  376. }
  377. else
  378. {
  379. Gosub, serialcheck
  380. }
  381. gui, submit, nohide
  382. Return
  383.  
  384. ;-----------------------
  385. ; Check serial
  386. ;-----------------------
  387.  
  388. serialcheck:
  389.  
  390. gui, submit, nohide
  391.  
  392. sql =
  393. (
  394. SELECT COUNT(serial)
  395. FROM licencje
  396. WHERE serial = "%serial%"
  397. )
  398. result := mysql.query(db, sql)
  399. mysql.lvfill(sql, result)
  400.  
  401. if result =
  402. {
  403. msgbox, Your serial is not correct or already consumed.
  404. }
  405. else
  406. if result = 1
  407. {
  408. Gosub, register_user
  409. }
  410. else
  411. {
  412. msgbox, Your serial is not correct or already consumed.
  413. }
  414.  
  415. Return
  416.  
  417. ;-----------------------
  418. ; Register user
  419. ;-----------------------
  420.  
  421. register_user:
  422.  
  423. windir = %A_WinDir%
  424. StringMid, Drive, windir,1,2
  425. DriveGet, fingerprint, Serial, %Drive%
  426.  
  427. gui, submit, nohide
  428.  
  429. sql =
  430. (
  431. SELECT days
  432. FROM licencje
  433. WHERE serial = "%serial%"
  434. )
  435. days := mysql.query(db, sql)
  436. mysql.lvfill(sql, days)
  437.  
  438. sql =
  439. (
  440. INSERT INTO users (
  441. user_name,
  442. password,
  443. serial,
  444. email,
  445. hardID,
  446. days
  447. `)
  448. VALUES (
  449. '%user_name%',
  450. '%password%',
  451. '%serial%',
  452. '%mail%',
  453. '%fingerprint%',
  454. '%days%'
  455. `)
  456. )
  457. result := mysql.query(db, sql)
  458. Sleep 200
  459.  
  460. sql =
  461. (
  462. DELETE
  463. FROM licencje
  464. WHERE serial = "%serial%"
  465. )
  466. result := mysql.query(db, sql)
  467.  
  468. Sleep 200
  469. msgbox, Your registration is complete.
  470. Gui, 2:Destroy
  471. Reload
  472. Sleep 1000
  473. msgbox, ERROR ERROR GRRRR : (
  474.  
  475. return
  476.  
  477. ;===========================================
  478. ; ACCESS TO APP
  479. ;===========================================
  480.  
  481. access:
  482. msgbox, have a nice day
  483. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement