login.php 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <?php
  2. include "Connection.php";
  3. $conn = new Connection();
  4. //$login = '/';
  5. if(isset($_REQUEST["funName"])){
  6. $db = $conn->getConnection();
  7. $fun = $_REQUEST["funName"];
  8. switch($fun){
  9. case "login":
  10. case "logout":
  11. case "checksession":
  12. $fun();
  13. break;
  14. default:
  15. $conn->message(false,"PAGE NOT FOUND");
  16. break;
  17. }
  18. }else
  19. {
  20. $conn->message(false,"PAGE NOT FOUND");
  21. }
  22. // Sessions Checking
  23. function checksession() {
  24. global $conn;
  25. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  26. //$pageData = $conn->loadJSON($_REQUEST["lang"]);
  27. if(isset($_SESSION["userid"])) {
  28. $role = $_SESSION["role"];
  29. $start = (int)$_REQUEST["start"];
  30. $limit = (int)$_REQUEST["limit"];
  31. $isloaded = $_REQUEST["ismenuload"];
  32. $username = $_SESSION["username"];
  33. $obj = new stdClass();
  34. $obj->username = $_SESSION["username"];
  35. $obj->userid = $_SESSION["userid"];
  36. $obj->role = $_SESSION["role"];
  37. if(strtolower($isloaded) == "no") {
  38. if($role == 0) {
  39. $module_str = "SELECT a.moduleid,a.modulepath, a.modulename, a.issubmodule,a.parentid FROM ".TABLE_MODULE." a WHERE a.status=1 AND a.issubmodule=0 ORDER BY `a`.`moduleid` ASC";
  40. $module_query = $conn->query($module_str);
  41. $mainarr = $module_query->fetchAll(PDO::FETCH_OBJ);
  42. for($id = 0;$id < count($mainarr);$id++){
  43. $mainarr[$id]->permission = "1|1|1";
  44. }
  45. $submodule_str = "SELECT a.moduleid,a.modulepath, a.modulename, a.issubmodule, a.parentid FROM ".TABLE_MODULE." a WHERE a.status=1 AND a.issubmodule=1 ORDER BY `a`.`moduleid` ASC";
  46. $submodule_query = $conn->query($submodule_str);
  47. $submodule_arr = $submodule_query->fetchAll(PDO::FETCH_OBJ);
  48. for($nid = 0;$nid < count($submodule_arr);$nid++){
  49. $submodule_arr[$nid]->permission = "1|1|1";
  50. }
  51. $module_arr = checkModule($mainarr,$submodule_arr,$lang);
  52. }
  53. else {
  54. $module_str = "SELECT b.moduleid, b.modulename, b.modulepath,b.issubmodule,b.parentid,a.permission FROM ".TABLE_PERMISSION." a LEFT JOIN (SELECT * FROM ".TABLE_MODULE.")b ON b.moduleid=a.moduleid WHERE a.roleid='$role' AND b.status='1' AND b.issubmodule=0 ORDER BY b.`moduleid` ASC";
  55. $module_query = $conn->query($module_str);
  56. $mainarr = $module_query->fetchAll(PDO::FETCH_OBJ);
  57. $submodule_str = "SELECT b.moduleid, b.modulename, b.modulepath,b.issubmodule,b.parentid,a.permission FROM ".TABLE_PERMISSION." a LEFT JOIN (SELECT * FROM ".TABLE_MODULE.")b ON b.moduleid=a.moduleid WHERE a.roleid='$role' AND b.status='1' AND b.issubmodule=1 ORDER BY b.`moduleid` ASC";
  58. $submodule_query = $conn->query($submodule_str);
  59. $submodule_arr = $submodule_query->fetchAll(PDO::FETCH_OBJ);
  60. $module_arr = checkModule($mainarr, $submodule_arr, $lang);
  61. }
  62. $obj->control = $module_arr;
  63. }
  64. $statusstr = "SELECT a.statusid, a.status FROM ".TABLE_STATUS." a ORDER BY a.statusid ASC LIMIT ".$start.",".$limit;
  65. $status_query = $conn->query($statusstr);
  66. $status_arr = $status_query->fetchAll(PDO::FETCH_OBJ);
  67. $obj->status = $status_arr;
  68. $conn->message(true,$conn->getMessage($lang,'login','success1'),$obj );
  69. }else{
  70. $conn->message(false,$conn->getMessage($lang,'login','error1'));
  71. }
  72. }
  73. // Login
  74. function login() {
  75. global $conn;
  76. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  77. $emp_code = escape_str($_REQUEST["emp_code"]);
  78. $password = md5($_REQUEST["password"]);
  79. //$pageData = $conn->loadJSON($_REQUEST["lang"]);
  80. try{
  81. $str = "SELECT * FROM ".TABLE_USER." WHERE emp_code = '".$emp_code."' AND password='".$password."' AND (role = 1 OR role = 2) AND status = 1 AND is_deleted=0";
  82. $query = $conn->query($str);
  83. $row = $query->rowCount();
  84. if($row != 0) {
  85. $arr = $query->fetchAll(PDO::FETCH_OBJ);
  86. $obj = new stdClass();
  87. $obj->emp_code = $emp_code;
  88. $obj->username = $emp_code;
  89. $obj->userid = $arr[0]->userid;
  90. $obj->role=$arr[0]->role;
  91. $_SESSION["userid"] =$arr[0]->userid;
  92. $_SESSION["role"] =$arr[0]->role;
  93. $_SESSION["emp_code"] =$arr[0]->emp_code;
  94. $_SESSION["username"]=$arr[0]->fname;
  95. $role = $arr[0]->role;
  96. if($role == 0) {
  97. $module_str = "SELECT a.moduleid, a.modulepath, a.modulename, a.issubmodule, a.parentid FROM ".TABLE_MODULE." a WHERE a.status = 1 AND a.issubmodule = 0 ORDER BY `a`.`moduleid` ASC";
  98. $module_query = $conn->query($module_str);
  99. $mainarr = $module_query->fetchAll(PDO::FETCH_OBJ);
  100. for($id = 0;$id < count($mainarr);$id++){
  101. $mainarr[$id]->permission = "1|1|1";
  102. }
  103. $submodule_str = "SELECT a.moduleid, a.modulepath, a.modulename, a.issubmodule, a.parentid FROM ".TABLE_MODULE." a WHERE a.status = 1 AND a.issubmodule = 1 ORDER BY `a`.`moduleid` ASC";
  104. $submodule_query = $conn->query($submodule_str);
  105. $submodule_arr = $submodule_query->fetchAll(PDO::FETCH_OBJ);
  106. for($nid = 0;$nid < count($submodule_arr);$nid++){
  107. $submodule_arr[$nid]->permission = "1|1|1";
  108. }
  109. $module_arr = checkModule($mainarr, $submodule_arr, $lang);
  110. $obj->control = $module_arr;
  111. $conn->message(true,$conn->getMessage($lang,'login','success1'),$obj);
  112. }
  113. else if($role == 1 || $role == 2) {
  114. $module_str = "SELECT b.moduleid, b.modulename, b.modulepath, b.issubmodule, b.parentid, a.permission FROM ".TABLE_PERMISSION." a LEFT JOIN (SELECT * FROM ".TABLE_MODULE.") b ON b.moduleid = a.moduleid WHERE a.roleid = '$role' AND b.status = 1 AND b.issubmodule = 0 ORDER BY `b`.`moduleid` ASC";
  115. $module_query = $conn->query($module_str);
  116. $mainarr = $module_query->fetchAll(PDO::FETCH_OBJ);
  117. $submodule_str = "SELECT b.moduleid, b.modulename, b.modulepath, b.issubmodule, b.parentid, a.permission FROM ".TABLE_PERMISSION." a LEFT JOIN (SELECT * FROM ".TABLE_MODULE." ) b ON b.moduleid=a.moduleid WHERE a.roleid = '$role' AND b.status = 1 AND b.issubmodule = 1 ORDER BY `b`.`moduleid` ASC";
  118. $submodule_query = $conn->query($submodule_str);
  119. $submodule_arr = $submodule_query->fetchAll(PDO::FETCH_OBJ);
  120. $module_arr = checkModule($mainarr, $submodule_arr, $lang);
  121. $obj->control = $module_arr;
  122. $conn->message(true,$conn->getMessage($lang,'login','success1'),$obj);
  123. }
  124. else {
  125. $conn->message(false,$conn->getMessage($lang,'login','error2'));
  126. }
  127. }
  128. else{
  129. $conn->message(false,$conn->getMessage($lang,'login','error3'));
  130. }
  131. }
  132. catch(PDOException $e){
  133. $conn->message(false,$conn->getMessage($lang,'login','error4'));
  134. }
  135. }
  136. // Logout
  137. function logout() {
  138. global $conn;
  139. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  140. session_destroy();
  141. $conn->message(true,$conn->getMessage($lang,'login','success1'));
  142. }
  143. // Check Modules
  144. function checkModule ($arr, $subarr, $lang){
  145. global $conn;
  146. $parentarray = array();
  147. $submodularr = array();
  148. $submodulparentarr = array();
  149. try{
  150. for($id = 0; $id < count($arr); $id++){
  151. $parentarray[] = $arr[$id]->moduleid;
  152. $obj = subModule($arr[$id],$subarr);
  153. if($obj->cont){
  154. $arr[$id]->menuitems = $obj->items;
  155. $arr[$id]->issubmenu = true;
  156. }else{
  157. $arr[$id]->issubmenu = false;
  158. }
  159. }
  160. for($mid = 0; $mid < count($subarr); $mid++){
  161. if(!array_search($subarr[$mid]->parentid,$parentarray)){
  162. $submodulparentarr[] = $subarr[$mid]->parentid;
  163. $submodularr[] = $subarr[$mid];
  164. }
  165. }
  166. $returnArr = array_unique($submodulparentarr);
  167. if(count($returnArr) != 0){
  168. for($kid = 0;$kid < count($returnArr); $kid++){
  169. $moduleid = $returnArr[$kid];
  170. $module_str = "SELECT a.moduleid,a.modulepath, a.modulename, a.issubmodule, a.parentid FROM ".TABLE_MODULE." a WHERE a.status = 1 AND a.issubmodule = 0 AND a.moduleid = '$moduleid'";
  171. $module_query = $conn->query($module_str);
  172. $mainarr = $module_query->fetchAll(PDO::FETCH_OBJ);
  173. }
  174. for($nid = 0; $nid < count($mainarr);$nid++){
  175. $mainarr[$nid]->permission = "0|0|0";
  176. $mainarr[$nid]->modulepath = "";
  177. $obj = subModule($mainarr[$nid],$submodularr);
  178. if($obj->cont){
  179. $mainarr[$nid]->menuitems = $obj->items;
  180. $mainarr[$nid]->issubmenu = true;
  181. }
  182. }
  183. }
  184. }catch(PDOException $e){
  185. $conn->message(false,$conn->getMessage($lang,'login','error4'));
  186. }
  187. return $arr;
  188. }
  189. // Check Sub Modules
  190. function checkSubModule($obj,$subarr){
  191. global $conn;
  192. $subobj = new stdClass();
  193. $subobj->cont = false;
  194. $itemarr = array();
  195. try{
  196. for($id = 0; $id < count($subarr); $id++){
  197. if($subarr[$id]->moduleid == $obj->parentid){
  198. $subobj->cont = true;
  199. $itemarr[] = $subarr[$id];
  200. $subobj->items = $itemarr;
  201. }
  202. }
  203. }catch(PDOException $e){
  204. $conn->message(false,$conn->getMessage($lang,'login','error4'));
  205. }
  206. return $subobj;
  207. }
  208. // Sub Modules
  209. function subModule($obj,$subarr){
  210. global $conn;
  211. $subobj = new stdClass();
  212. $subobj->cont = false;
  213. $itemarr = array();
  214. try{
  215. for($id = 0; $id < count($subarr); $id++){
  216. if($subarr[$id]->parentid == $obj->moduleid){
  217. $subobj->cont = true;
  218. $itemarr[] = $subarr[$id];
  219. $subobj->items = $itemarr;
  220. }
  221. }
  222. }catch(PDOException $e){
  223. $conn->message(false,$conn->getMessage($lang,'login','error4'));
  224. }
  225. return $subobj;
  226. }