Advertisement
Guest User

Untitled

a guest
Mar 8th, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.65 KB | None | 0 0
  1. <?php
  2. /**
  3. * project : Sistem Informasi Akademik - Telegram BOT API
  4. *
  5. * Programmer : Fika Ridaul Maulayya
  6. *
  7. * Telegram : @maulayyacyber
  8. *
  9. * Alamat Email : ridaulmaulayya@gmail.com
  10. *
  11. * Website : https://www.rubypedia.com
  12. **/
  13.  
  14. // call medoo library
  15. require_once 'medoo.php';
  16.  
  17. // koneksi database ke MySQL
  18. $database = new medoo([
  19. 'database_type' => 'mysql',
  20. 'database_name' => 'tmp_sia',
  21. 'server' => 'localhost',
  22. 'username' => 'root',
  23. 'password' => 'maulayyacyber17',
  24. 'charset' => 'utf8'
  25. ]);
  26.  
  27. // fungsi daftar akun di BOT Telegram
  28. function daftar($idchat, $pesanproses, $pesanproses2)
  29. {
  30. /**
  31. * @param $idchat = Chat ID
  32. * @param $pesanproses = NIM / Username
  33. * @param $pesanproses2 = password
  34. **/
  35.  
  36. //call database
  37. global $database;
  38.  
  39. $hasil = '⛔️ *PENDAFTARAN GAGAL!* Data yang anda masukkan salah.';
  40.  
  41. //query check Chat ID apakah sudah daftar dengan NIM / Username lain.
  42. $query = $database->select(
  43. 'user',
  44. ['username', 'chat_id'],
  45. ['username' => $pesanproses]
  46. );
  47.  
  48. foreach ($query as $data) {
  49. //buat variabel untuk check isi Chat ID
  50. $chat_id = $data['chat_id'];
  51. }
  52.  
  53. //check apakah Chat ID sudah ada di field chat_id ?
  54. $check_chatid = $database->select(
  55. 'user',
  56. ['chat_id'],
  57. ['chat_id' => $idchat]
  58. );
  59.  
  60. if ($check_chatid) {
  61. $hasil = '⚠️ *PENDAFTARAN GAGAL!* perangkat Anda sudah digunakan mendaftar';
  62.  
  63. return $hasil;
  64. }
  65.  
  66. //buat variabel untuk check Chat ID apakah itu benar
  67. if ($chat_id == $idchat) {
  68. $hasil = '✅ *TERHUBUNG* status akun Anda sudah terhubung di sistem.';
  69.  
  70. return $hasil;
  71. }
  72.  
  73. //check apakah field chat_id kosong atau tidak
  74. if ($chat_id !=null) {
  75. $hasil = '⚠️ *MAAF!* akun sudah digunakan.';
  76.  
  77. return $hasil;
  78. } else {
  79.  
  80. //query chack username, password
  81. $query2 = $database->select(
  82. 'user',
  83. ['username','password'],
  84. ['AND' =>
  85. ['username' => $pesanproses,'password' => $pesanproses2]]
  86. );
  87.  
  88. if ($query2) {
  89.  
  90. //update Chat ID berdasarkan NIM / username yang request
  91. $insert = $database->update('user', [
  92.  
  93. 'chat_id' => $idchat,
  94. ], [
  95. 'username' => $pesanproses
  96. ]);
  97.  
  98. $hasil = '✅ *BERHASIL* Akun Anda sekarang sudah terhubung ke sistem.';
  99.  
  100. return $hasil;
  101. } else {
  102. $hasil = '⛔️ *PENDAFTARAN GAGAL:* Data tidak ditemukan di dalam database sistem.';
  103.  
  104. return $hasil;
  105. }
  106. }
  107. }
  108.  
  109. // fungsi untuk mendapatkan informasi tentang akademik
  110. function info($idchat)
  111. {
  112.  
  113. /**
  114. * @param $idchat = Chat ID
  115. * @param $pesanproses = NIM / Username
  116. **/
  117.  
  118. //call database
  119. global $database;
  120.  
  121. //check apakah Chat ID sudah ada di field chat_id ?
  122. $check_chatid = $database->select(
  123. 'user',
  124. ['chat_id', 'level', 'username'],
  125. ['chat_id' => $idchat]
  126. );
  127.  
  128. //dapatkan data level
  129. foreach ($check_chatid as $data) {
  130. //buat variabel untuk check level user
  131. $level = $data['level'];
  132. $username = $data['username'];
  133. }
  134.  
  135. //jika Chat ID ada, maka cek kode fakultas
  136. if ($check_chatid) {
  137.  
  138. // check kode fakultas
  139. $check_kode_fakultas = $database->select(
  140. 'mahasiswa',
  141.  
  142. ['nim', 'kode_fakultas'],
  143. ['nim' => $username]
  144. );
  145.  
  146. //dapatkan data kode fakultas
  147. foreach ($check_kode_fakultas as $get) {
  148. //buat variabel untuk check level user
  149. $kode_fakultas = $get['kode_fakultas'];
  150. }
  151.  
  152. $query = $database->query("SELECT * FROM pengumuman WHERE aktif='Y' AND kategori='$level' AND level='Universitas' OR kode_fakultas='$kode_fakultas' ORDER BY id_info DESC");
  153.  
  154. //tampilkan data informasi
  155. foreach ($query as $result) {
  156. $hasil = "🔊 " .strip_tags(str_replace(chr(13), "\n\n", $result['informasi']));
  157.  
  158. return $hasil;
  159. }
  160. } else {
  161. $hasil .= "⚠️ *MAAF!* Anda belum terhubung di sistem.\n\n";
  162. $hasil .= "Silahkan lakukan pendaftaran terlebih dahulu.\n\n";
  163. $hasil .= "Untuk bantuan cara penggunaan aplikasi silahkan ketik: /bantuan";
  164.  
  165. return $hasil;
  166. }
  167. }
  168.  
  169. // fungsi unregister atau
  170. function keluar($idchat, $pesanproses, $pesanproses2)
  171. {
  172. /**
  173. * @param $idchat = Chat ID
  174. * @param $pesanproses = NIM / Username
  175. * @param $pesanproses2 = password
  176. **/
  177.  
  178. //call database
  179. global $database;
  180.  
  181. //query berdasarkan NIM yang dimasukkan
  182. $check_chatid = $database->select(
  183. 'user',
  184. ['username', 'chat_id', 'password'],
  185. ['chat_id' => $idchat]
  186.  
  187. );
  188.  
  189. //tampilkan data
  190. foreach ($check_chatid as $data) {
  191. //get data username
  192. $username = $data['username'];
  193. $password = $data['password'];
  194. $chat_id = $data['chat_id'];
  195. }
  196.  
  197. //fungsi check apakah Chat ID didatabase sama dengan Chat ID yang dimasukkan
  198. if ($idchat == $chat_id) {
  199.  
  200. //Chat ID sesuai, lakukan pengecheck.an username
  201. if ($username == $pesanproses) {
  202.  
  203. //username sesuai, lakukan pengecheck.an Password
  204. if ($password == $pesanproses2) {
  205.  
  206. //password sesuai, lakukan penghapusan Chat ID di tabel user berdasarkan NIM yang dimasukkan
  207. $insert = $database->update('user', [
  208.  
  209. 'chat_id' => null,
  210. ], [
  211. 'username' => $pesanproses
  212. ]);
  213.  
  214. $hasil = '✅ *BERHASIL* Akun Anda sekarang sudah tidak terhubung lagi di sistem.';
  215.  
  216. return $hasil;
  217. } else {
  218.  
  219. //password yang dimasukkan salah
  220. $hasil = '⚠️ *MAAF!* password yang Anda masukkan salah.';
  221.  
  222. return $hasil;
  223. }
  224. } else {
  225.  
  226. //username tidak terdaftar dengan akun yang dimasukkan
  227. $hasil = '⚠️ *MAAF!* username Anda tidak sesuai dengan ID perangkat.';
  228.  
  229. return $hasil;
  230. }
  231. } else {
  232.  
  233. //Chat ID tidak terdaftar dengan akun yang dimasukkan
  234. $hasil .= "⚠️ *MAAF!* Anda belum terhubung di sistem.\n\n";
  235. $hasil .= "Silahkan lakukan pendaftaran terlebih dahulu.\n\n";
  236. $hasil .= "Untuk bantuan cara penggunaan aplikasi silahkan ketik: /bantuan";
  237.  
  238. return $hasil;
  239. }
  240. }
  241.  
  242. // fungsi profil
  243. function profil($idchat)
  244. {
  245.  
  246. /**
  247. * @param $idchat = Chat ID
  248. **/
  249.  
  250. //call database
  251. global $database;
  252.  
  253. //query berdasarkan NIM yang dimasukkan
  254. $check_chatid = $database->select(
  255. 'user',
  256. ['username', 'chat_id', 'password'],
  257. ['chat_id' => $idchat]
  258.  
  259. );
  260.  
  261. //tampilkan data
  262. foreach ($check_chatid as $data) {
  263. //get data username
  264. $username = $data['username'];
  265. $password = $data['password'];
  266. $chat_id = $data['chat_id'];
  267. }
  268.  
  269. if ($chat_id == $idchat) {
  270.  
  271. // query data mahasiswa berdasarkan NIM / Username
  272. $query = $database->select(
  273. 'mahasiswa',
  274. ['username', 'nama_mhs', 'kode_jurusan', 'kode_fakultas', 'tahun_masuk', 'foto'],
  275. ['username' => $username]
  276. );
  277.  
  278. //loop data mahasiswa
  279. foreach ($query as $hasil) {
  280. //get data mahasiswa
  281. $nama_mhs = $hasil['nama_mhs'];
  282. $foto = $hasil['foto'];
  283. $kode_jurusan = $hasil['kode_jurusan'];
  284. $kode_fakultas = $hasil['kode_fakultas'];
  285. $tahun_masuk = $hasil['tahun_masuk'];
  286. }
  287.  
  288. // query kode jurusan
  289. $query_jurusan = $database->select(
  290. 'jurusan',
  291. ['kode_jurusan', 'nama_jurusan'],
  292. ['kode_jurusan' => $kode_jurusan]
  293. );
  294.  
  295. //loop data jurusan
  296. foreach ($query_jurusan as $hasil_jurusan) {
  297. //get data jurusan
  298. $nama_jurusan = $hasil_jurusan['nama_jurusan'];
  299. }
  300.  
  301. // query fakultas
  302. $query_fakultas = $database->select(
  303. 'fakultas',
  304. ['kode_fakultas', 'nama_fakultas'],
  305. ['kode_fakultas' => $kode_fakultas]
  306. );
  307.  
  308. //loop data fakultas
  309. foreach ($query_fakultas as $hasil_fakultas) {
  310. //get data fakultas
  311. $nama_fakultas = $hasil_fakultas['nama_fakultas'];
  312. }
  313.  
  314. if ($foto == "") {
  315. //image profil default
  316. $foto_profil = "[​​​​​​​​​​​](https://raw.githubusercontent.com/maulayyacyber/phantom0308/master/Graduateicon-240x320.png) *FOTO PROFIL* :\n\n";
  317. } else {
  318. //image profil from database
  319. $foto_profil = "[​​​​​​​​​​​](http://sia.unwaha.ac.id/photomhs/'".$foto."') *FOTO PROFIL* :\n\n";
  320. }
  321.  
  322. $hasil = '*NAMA LENGKAP* : '.$nama_mhs ."\n\n";
  323. $hasil .= '*NIM / USERNAME* : '.$username ."\n\n";
  324. $hasil .= '*PROGRAM STUDI* : '.$nama_jurusan ."\n\n";
  325. $hasil .= '*FAKULTAS* : '.$nama_fakultas ."\n\n";
  326. $hasil .= '*TAHUN MASUK* : '.$tahun_masuk ."\n\n";
  327. $hasil .= $foto_profil;
  328.  
  329. return $hasil;
  330. } else {
  331.  
  332. //Chat ID tidak terdaftar dengan akun yang dimasukkan
  333. $hasil .= "⚠️ *MAAF!* Anda belum terhubung di sistem.\n\n";
  334. $hasil .= "Silahkan lakukan pendaftaran terlebih dahulu.\n\n";
  335. $hasil .= "Untuk bantuan cara penggunaan aplikasi silahkan ketik: /bantuan";
  336.  
  337. return $hasil;
  338. }
  339. }
  340.  
  341. // fungsi lihat data KHS
  342. function lihatkhs($idchat)
  343. {
  344.  
  345. /**
  346. * @param $idchat = Chat ID
  347. **/
  348.  
  349. //call database
  350. global $database;
  351.  
  352. //query berdasarkan NIM yang dimasukkan
  353. $check_chatid = $database->select(
  354. 'user',
  355. ['username', 'chat_id', 'password'],
  356. ['chat_id' => $idchat]
  357.  
  358. );
  359.  
  360. //tampilkan data
  361. foreach ($check_chatid as $data) {
  362. //get data username
  363. $username = $data['username'];
  364. $password = $data['password'];
  365. $chat_id = $data['chat_id'];
  366. }
  367.  
  368. if ($chat_id == $idchat) {
  369. $query = $database->query("SELECT DISTINCT k.kode_tahun, ta.nama_tahun FROM krs k LEFT JOIN tahun_akademik ta ON k.kode_tahun = ta.kode_tahun WHERE nim='$username' ORDER BY ta.kode_tahun DESC");
  370.  
  371. $hasil = "";
  372. $hasil .= "*SILAHKAN PILIH TAHUN AKADEMIK*\n";
  373. $hasil .= "===============================\n\n";
  374. foreach ($query as $item) {
  375. if ($item['kode_tahun'] % 2 == 0) {
  376. $hasil .= '*GENAP - '. $item['nama_tahun']."*"."\n\n";
  377. $hasil .= 'LIHAT KHS'. " 👉 ". "/LIHATKHS\_$item[kode_tahun]\n\n";
  378. $hasil .= 'CETAK KHS'. " 👉 ". "/CETAKKHS\_$item[kode_tahun]\n\n";
  379. $hasil .= "=====================================\n\n";
  380. } else {
  381. $hasil .= '*GANJIL - '. $item['nama_tahun']."*"."\n\n";
  382. $hasil .= 'LIHAT KHS'. " 👉 ". "/LIHATKHS\_$item[kode_tahun]\n\n";
  383. $hasil .= 'CETAK KHS'. " 👉 ". "/CETAKKHS\_$item[kode_tahun]\n\n";
  384. $hasil .= "=====================================\n\n";
  385. }
  386. }
  387.  
  388. return $hasil;
  389. } else {
  390.  
  391. //Chat ID tidak terdaftar dengan akun yang dimasukkan
  392. $hasil .= "⚠️ *MAAF!* Anda belum terhubung di sistem.\n\n";
  393. $hasil .= "Silahkan lakukan pendaftaran terlebih dahulu.\n\n";
  394. $hasil .= "Untuk bantuan cara penggunaan aplikasi silahkan ketik: /bantuan";
  395.  
  396. return $hasil;
  397. }
  398. }
  399.  
  400. // fungsi lihat data KHS
  401. function lihatkrs($idchat)
  402. {
  403.  
  404. /**
  405. * @param $idchat = Chat ID
  406. **/
  407.  
  408. //call database
  409. global $database;
  410.  
  411. //query berdasarkan NIM yang dimasukkan
  412. $check_chatid = $database->select(
  413. 'user',
  414. ['username', 'chat_id', 'password'],
  415. ['chat_id' => $idchat]
  416.  
  417. );
  418.  
  419. //tampilkan data
  420. foreach ($check_chatid as $data) {
  421. //get data username
  422. $username = $data['username'];
  423. $password = $data['password'];
  424. $chat_id = $data['chat_id'];
  425. }
  426.  
  427. if ($chat_id == $idchat) {
  428. $query = $database->query("SELECT DISTINCT k.kode_tahun, ta.nama_tahun FROM krs k LEFT JOIN tahun_akademik ta ON k.kode_tahun = ta.kode_tahun WHERE nim='$username' ORDER BY ta.kode_tahun DESC");
  429.  
  430. $hasil = "";
  431. $hasil .= "*SILAHKAN PILIH TAHUN AKADEMIK*\n";
  432. $hasil .= "=====================================\n\n";
  433. foreach ($query as $item) {
  434. if ($item['kode_tahun'] % 2 == 0) {
  435. $hasil .= '*GENAP - '. $item['nama_tahun']."*"."\n\n";
  436. $hasil .= 'LIHAT KRS'. " 👉 ". "/LIHATKRS\_$item[kode_tahun]\n\n";
  437. $hasil .= 'CETAK KRS'. " 👉 ". "/CETAKKRS\_$item[kode_tahun]\n\n";
  438. $hasil .= "=====================================\n\n";
  439. } else {
  440. $hasil .= '*GANJIL - '. $item['nama_tahun']."*"."\n\n";
  441. $hasil .= 'LIHAT KRS'. " 👉 ". "/LIHATKRS\_$item[kode_tahun]\n\n";
  442. $hasil .= 'CETAK KRS'. " 👉 ". "/CETAKKRS\_$item[kode_tahun]\n\n";
  443. $hasil .= "=====================================\n\n";
  444. }
  445. }
  446.  
  447. return $hasil;
  448. } else {
  449.  
  450. //Chat ID tidak terdaftar dengan akun yang dimasukkan
  451. $hasil .= "⚠️ *MAAF!* Anda belum terhubung di sistem.\n\n";
  452. $hasil .= "Silahkan lakukan pendaftaran terlebih dahulu.\n\n";
  453. $hasil .= "Untuk bantuan cara penggunaan aplikasi silahkan ketik: /bantuan";
  454.  
  455. return $hasil;
  456. }
  457. }
  458.  
  459. // fungsi lihat data KHS
  460. function getkhs($idchat, $pesanproses)
  461. {
  462.  
  463. /**
  464. * @param $idchat = Chat ID
  465. * @param $pesanproses = kode_tahun
  466. **/
  467.  
  468. //call database
  469. global $database;
  470.  
  471. //query berdasarkan NIM yang dimasukkan
  472. $check_chatid = $database->select(
  473. 'user',
  474. ['username', 'chat_id', 'password'],
  475. ['chat_id' => $idchat]
  476.  
  477. );
  478.  
  479. //tampilkan data
  480. foreach ($check_chatid as $data) {
  481. //get data username
  482. $username = $data['username'];
  483. $password = $data['password'];
  484. $chat_id = $data['chat_id'];
  485. }
  486.  
  487. if ($chat_id = $idchat) {
  488.  
  489. //check kode tahun
  490. if (substr($pesanproses, 0, 2) == '01') {
  491.  
  492. //Chat ID ditemukan, lakukan get data KHS berdasarkan kode_tahun
  493. $query_data_khs = $database->query("SELECT k.id_krs,k.nim, k.dosen,k.kode_mk,k.kode_jurusan,k.nilai_huruf,
  494. (SELECT nama_mk from matakuliah WHERE kode_mk=k.kode_mk AND kode_jurusan=k.kode_jurusan limit 1) AS nama_mk,
  495. (SELECT sks FROM matakuliah WHERE kode_mk=k.kode_mk AND kode_jurusan=k.kode_jurusan limit 1) AS sks,
  496. (SELECT nama_dosen FROM dosen WHERE id_dosen=k.dosen) AS nama_dosen,
  497. (SELECT angka FROM nilaipai WHERE huruf=k.nilai_huruf limit 1) as indeks FROM krs k WHERE k.nim = '$username' AND k.kode_tahun='$pesanproses' ORDER BY k.no_urut");
  498. } else {
  499.  
  500. //Chat ID ditemukan, lakukan get data KHS berdasarkan kode_tahun
  501. $query_data_khs = $database->query("SELECT k.id_krs,k.nim, k.dosen,k.kode_mk,k.kode_jurusan,k.nilai_huruf,
  502. (SELECT nama_mk from matakuliah WHERE kode_mk=k.kode_mk AND kode_jurusan=k.kode_jurusan LIMIT 1) AS nama_mk,
  503. (SELECT sks FROM matakuliah WHERE kode_mk=k.kode_mk AND kode_jurusan=k.kode_jurusan LIMIT 1) AS sks,
  504. (SELECT nama_dosen FROM dosen WHERE id_dosen=k.dosen) AS nama_dosen,
  505. (SELECT angka FROM nilai WHERE huruf=k.nilai_huruf LIMIT 1) as indeks FROM krs k WHERE k.nim = '$username' AND k.kode_tahun='$pesanproses' ORDER BY k.no_urut");
  506. }
  507.  
  508. $hasil = "";
  509. foreach ($query_data_khs as $data_khs) {
  510. //loop data KHS
  511. $hasil .= "*MATA KULIAH* ".": " . $data_khs['nama_mk']."\n";
  512. $hasil .= "*SKS* ". ": " . $data_khs['sks']."\n";
  513. $hasil .= "*NILAI* ". ": " . $data_khs['nilai_huruf']."\n";
  514. $hasil .= "=================================\n\n";
  515. }
  516.  
  517. $hasil .="*JUMLAH IPK KOMULATIF* : Proses Development.";
  518.  
  519. return $hasil;
  520.  
  521. } else {
  522.  
  523. //Chat ID tidak terdaftar dengan akun yang dimasukkan
  524. $hasil .= "⚠️ *MAAF!* Anda belum terhubung di sistem.\n\n";
  525. $hasil .= "Silahkan lakukan pendaftaran terlebih dahulu.\n\n";
  526. $hasil .= "Untuk bantuan cara penggunaan aplikasi silahkan ketik: /bantuan";
  527.  
  528. return $hasil;
  529. }
  530. }
  531.  
  532. // fungsi lihat data KRS
  533. function getkrs($idchat, $pesanproses)
  534. {
  535.  
  536. /**
  537. * @param $idchat = Chat ID
  538. * @param $pesanproses = kode_tahun
  539. **/
  540.  
  541. //call database
  542. global $database;
  543.  
  544. //query berdasarkan NIM yang dimasukkan
  545. $check_chatid = $database->select(
  546. 'user',
  547. ['username', 'chat_id', 'password'],
  548. ['chat_id' => $idchat]
  549.  
  550. );
  551.  
  552. //tampilkan data
  553. foreach ($check_chatid as $data) {
  554. //get data username
  555. $username = $data['username'];
  556. $password = $data['password'];
  557. $chat_id = $data['chat_id'];
  558. }
  559.  
  560. if ($chat_id = $idchat) {
  561.  
  562. //Chat ID ditemukan, lakukan get data KRS berdasarkan kode_tahun
  563. $query_data_krs = $database->query("SELECT k.id_krs,nim, k.dosen,k.kode_mk,k.kode_jurusan,k.nilai_huruf,
  564. (SELECT nama_mk FROM matakuliah WHERE kode_mk=k.kode_mk AND kode_jurusan=k.kode_jurusan limit 1) AS nama_mk,
  565. (SELECT sks FROM matakuliah WHERE kode_mk=k.kode_mk AND kode_jurusan=k.kode_jurusan limit 1) as sks,
  566. (SELECT nama_dosen FROM dosen WHERE id_dosen=k.dosen) AS nama_dosen,
  567. (SELECT jadwal FROM pengajar_mk WHERE id_pengajar=k.id_pengajar LIMIT 1) AS jadwal,
  568. (SELECT kode_kelas FROM pengajar_mk WHERE id_pengajar=k.id_pengajar LIMIT 1) AS kelas
  569. FROM krs k WHERE k.nim = '$username' AND k.kode_tahun='$pesanproses' ORDER BY k.no_urut");
  570.  
  571. $hasil = "";
  572. foreach ($query_data_krs as $data_krs) {
  573. //loop data KHS
  574. $hasil .= "*MATA KULIAH* ".": " . $data_krs['nama_mk']."\n";
  575. $hasil .= "*JUMLAH SKS* ". ": " . $data_krs['sks']."\n";
  576. $hasil .= "*KELAS* ". ": " . $data_krs['kelas']."\n";
  577. $hasil .= "*JADWAL* ". ": " . $data_krs['jadwal']."\n\n";
  578. $hasil .= "=================================\n\n";
  579. }
  580.  
  581. return $hasil;
  582.  
  583. } else {
  584.  
  585. //Chat ID tidak terdaftar dengan akun yang dimasukkan
  586. $hasil .= "⚠️ *MAAF!* Anda belum terhubung di sistem.\n\n";
  587. $hasil .= "Silahkan lakukan pendaftaran terlebih dahulu.\n\n";
  588. $hasil .= "Untuk bantuan cara penggunaan aplikasi silahkan ketik: /bantuan";
  589.  
  590. return $hasil;
  591. }
  592. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement