common.php 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607
  1. <?php
  2. /****************************
  3. * File : common.php
  4. * Author : Cygnusa
  5. * @2018
  6. ****************************/
  7. //SECURITY
  8. if (!defined('APPLICATION_PATH')) {
  9. exit('No direct script access allowed');
  10. }
  11. class common
  12. {
  13. //FUNCTION LISTS
  14. public function __construct($parent)
  15. {
  16. //GET PAGE MESSAGE
  17. $this->page_data = globalfunc::getMessage($parent, $parent->lang, 'common');
  18. if (count($parent->params) == 0) {
  19. // $this->dashboardfunc($parent);
  20. } else {
  21. $qry_params = explode("?", $parent->params[0]);
  22. $parameter_val = strtolower($qry_params[0]);
  23. switch ($parameter_val) {
  24. case "zone":
  25. case "state":
  26. case "city":
  27. case "dealer":
  28. case "learning":
  29. case "show":
  30. case "salutation":
  31. case "trainerzoneam":
  32. case "trainerrm":
  33. case "traineram":
  34. case "trainerdealer":
  35. case "dselist":
  36. case "amlist":
  37. case "ilearnuserlist":
  38. $this->$parameter_val($parent);
  39. break;
  40. default:
  41. break;
  42. }
  43. }
  44. $parent->response(array('response' => 'failed', 'message' => 'PAGE NOT FOUND'), 404);
  45. }
  46. /* /////////////////////////////// ZONE //////////////////////////////////////////////// */
  47. private function zone($parent)
  48. {
  49. globalfunc::checkMethodType($parent, array('POST'));
  50. globalfunc::checkParamCount($parent, 1);
  51. globalfunc::checkAuthrozation($parent, array('type' => 'user'));
  52. $query_str = "SELECT zone FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' " . $cond . " GROUP BY zone ";
  53. $data_arr = $parent->getQueryValue($query_str);
  54. //LOG
  55. $logstr = 'COMMON ZONE';
  56. globalfunc::insertUserLog($parent, $logstr);
  57. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  58. }
  59. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  60. /* /////////////////////////////// STATE //////////////////////////////////////////////// */
  61. private function state($parent)
  62. {
  63. globalfunc::checkMethodType($parent, array('POST'));
  64. globalfunc::checkParamCount($parent, 1);
  65. globalfunc::checkAuthrozation($parent, array('type' => 'user'));
  66. $cond = '';
  67. //ZONE
  68. if ((isset($parent->_request["zone"]))) {
  69. $zone = (isset($parent->_request["zone"])) ? escape_str($parent->_request["zone"]) : '';
  70. if ($zone) {
  71. $zone_arr = @explode(',', $zone);
  72. $zone_quotes = array_map("quotes_array", $zone_arr);
  73. $cond .= " AND zone IN (" . @implode(',', $zone_quotes) . ")";
  74. } else {
  75. $cond .= " AND zone IN ('')";
  76. }
  77. }
  78. //TRAINER ID
  79. if (isset($parent->_request["trainer_id"])) {
  80. $trainer_id = (isset($parent->_request["trainer_id"])) ? escape_str($parent->_request["trainer_id"]) : '';
  81. if ($trainer_id) {
  82. $query_str = "SELECT h.zone FROM " . DMS_HOUSER . " as h JOIN " . TABLE_USER . " as u ON h.emp_code=u.emp_code WHERE u.status='1' AND u.is_deleted='0' AND u.userid='" . $trainer_id . "' AND u.role='5' LIMIT 1";
  83. $arr = $parent->getQueryValue($query_str);
  84. if (count($arr) > 0) {
  85. $cond .= " AND zone='" . $arr[0]->zone . "'";
  86. } else {
  87. $cond .= " AND zone=''";
  88. }
  89. } else {
  90. //$cond=" AND state IN ('')";
  91. }
  92. }
  93. $query_str = "SELECT state FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' " . $cond . " GROUP BY state LIMIT 2 ";
  94. $data_arr = $parent->getQueryValue($query_str);
  95. //LOG
  96. $logstr = 'COMMON STATE';
  97. globalfunc::insertUserLog($parent, $logstr);
  98. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  99. }
  100. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  101. /* /////////////////////////////// CITY //////////////////////////////////////////////// */
  102. private function city($parent)
  103. {
  104. globalfunc::checkMethodType($parent, array('POST'));
  105. globalfunc::checkParamCount($parent, 1);
  106. globalfunc::checkAuthrozation($parent, array('type' => 'user'));
  107. $cond = '';
  108. //ZONE
  109. if ((isset($parent->_request["zone"]))) {
  110. $zone = (isset($parent->_request["zone"])) ? escape_str($parent->_request["zone"]) : '';
  111. if ($zone) {
  112. $zone_arr = @explode(',', $zone);
  113. $zone_quotes = array_map("quotes_array", $zone_arr);
  114. $cond .= " AND zone IN (" . @implode(',', $zone_quotes) . ")";
  115. } else {
  116. $cond .= " AND zone IN ('')";
  117. }
  118. }
  119. //STATE
  120. if (isset($parent->_request["state"])) {
  121. $state = (isset($parent->_request["state"])) ? escape_str($parent->_request["state"]) : '';
  122. if ($state) {
  123. $state_arr = @explode(',', $state);
  124. $state_quotes = array_map("quotes_array", $state_arr);
  125. $cond .= " AND state IN (" . @implode(',', $state_quotes) . ")";
  126. } else {
  127. $cond .= " AND state IN ('')";
  128. }
  129. }
  130. //TRAINER ID
  131. if (isset($parent->_request["trainer_id"])) {
  132. $trainer_id = (isset($parent->_request["trainer_id"])) ? escape_str($parent->_request["trainer_id"]) : '';
  133. if ($trainer_id) {
  134. $query_str = "SELECT h.zone FROM " . DMS_HOUSER . " as h JOIN " . TABLE_USER . " as u ON h.emp_code=u.emp_code WHERE u.status='1' AND u.is_deleted='0' AND u.userid='" . $trainer_id . "' AND u.role='5' LIMIT 1";
  135. $arr = $parent->getQueryValue($query_str);
  136. if (count($arr) > 0) {
  137. $cond .= " AND zone='" . $arr[0]->zone . "'";
  138. } else {
  139. $cond .= " AND zone=''";
  140. }
  141. } else {
  142. //$cond=" AND state IN ('')";
  143. }
  144. }
  145. $query_str = "SELECT city FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' " . $cond . " GROUP BY city ";
  146. $data_arr = $parent->getQueryValue($query_str);
  147. //LOG
  148. $logstr = 'COMMON CITY';
  149. globalfunc::insertUserLog($parent, $logstr);
  150. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  151. }
  152. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  153. /* /////////////////////////////// DEALER //////////////////////////////////////////////// */
  154. private function dealer($parent)
  155. {
  156. globalfunc::checkMethodType($parent, array('POST'));
  157. globalfunc::checkParamCount($parent, 1);
  158. globalfunc::checkAuthrozation($parent, array('type' => 'user'));
  159. $cond = '';
  160. //ZONE
  161. if ((isset($parent->_request["zone"]))) {
  162. $zone = (isset($parent->_request["zone"])) ? escape_str($parent->_request["zone"]) : '';
  163. if ($zone) {
  164. $zone_arr = @explode(',', $zone);
  165. $zone_quotes = array_map("quotes_array", $zone_arr);
  166. $cond .= " AND zone IN (" . @implode(',', $zone_quotes) . ")";
  167. } else {
  168. $cond .= " AND zone IN ('')";
  169. }
  170. }
  171. //STATE
  172. if (isset($parent->_request["state"])) {
  173. $state = (isset($parent->_request["state"])) ? escape_str($parent->_request["state"]) : '';
  174. if ($state) {
  175. $state_arr = @explode(',', $state);
  176. $cond .= " AND zone IN (" . @implode(',', $zone_quotes) . ")";
  177. } else {
  178. $cond .= " AND state IN ('')";
  179. }
  180. }
  181. //TRAINER ID
  182. if (isset($parent->_request["trainer_id"])) {
  183. $trainer_id = (isset($parent->_request["trainer_id"])) ? escape_str($parent->_request["trainer_id"]) : '';
  184. if ($trainer_id) {
  185. $query_str = "SELECT h.zone FROM " . DMS_HOUSER . " as h JOIN " . TABLE_USER . " as u ON h.emp_code=u.emp_code WHERE u.status='1' AND u.is_deleted='0' AND u.userid='" . $trainer_id . "' AND u.role='5' LIMIT 1";
  186. $arr = $parent->getQueryValue($query_str);
  187. if (count($arr) > 0) {
  188. $cond .= " AND zone='" . $arr[0]->zone . "'";
  189. } else {
  190. $cond .= " AND zone=''";
  191. }
  192. } else {
  193. //$cond=" AND state IN ('')";
  194. }
  195. }
  196. //CITY
  197. if (isset($parent->_request["city"])) {
  198. $state = (isset($parent->_request["city"])) ? escape_str($parent->_request["city"]) : '';
  199. if ($state) {
  200. $city_arr = @explode(',', $city);
  201. $city_quotes = array_map("quotes_array", $city_arr);
  202. $cond .= " AND city IN (" . @implode(',', $city_quotes) . ")";
  203. } else {
  204. $cond .= " AND city IN ('')";
  205. }
  206. }
  207. $query_str = "SELECT `dealer_code`, `dealer_name` FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' " . $cond . " GROUP BY dealer_code LIMIT 3";
  208. $data_arr = $parent->getQueryValue($query_str);
  209. //LOG
  210. $logstr = 'COMMON DEALER';
  211. globalfunc::insertUserLog($parent, $logstr);
  212. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  213. }
  214. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  215. /* /////////////////////////////// LEARNING //////////////////////////////////////////////// */
  216. private function learning($parent)
  217. {
  218. globalfunc::checkMethodType($parent, array('GET'));
  219. globalfunc::checkParamCount($parent, 1);
  220. globalfunc::checkAuthrozation($parent, array('type' => 'user'));
  221. $query_str = "SELECT `lvl_id`, `lvl_name`, `lvl_points` FROM " . TABLE_TRAINING_LEVEL . " ";
  222. $data_arr = $parent->getQueryValue($query_str);
  223. //LOG
  224. $logstr = 'LEARNING LEVEL';
  225. globalfunc::insertUserLog($parent, $logstr);
  226. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  227. }
  228. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  229. /* /////////////////////////////// SHOW //////////////////////////////////////////////// */
  230. private function show($parent)
  231. {
  232. globalfunc::checkMethodType($parent, array('GET'));
  233. globalfunc::checkParamCount($parent, 1);
  234. $data_arr = array('is_show' => 1);
  235. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  236. }
  237. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  238. /* /////////////////////////////// SALUTATION //////////////////////////////////////////////// */
  239. private function salutation($parent)
  240. {
  241. globalfunc::checkMethodType($parent, array('GET'));
  242. globalfunc::checkParamCount($parent, 1);
  243. $data_arr = array('Mr', 'Mrs', 'Ms', 'Dr');
  244. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  245. }
  246. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  247. /* /////////////////////////////// TRAINERRM //////////////////////////////////////////////// */
  248. private function trainerrm($parent)
  249. {
  250. globalfunc::checkMethodType($parent, array('POST'));
  251. //globalfunc::checkParamCount($parent,1);
  252. globalfunc::checkAuthrozation($parent, array('type' => 'user'));
  253. $zone = $parent->_request["zone"];
  254. projectfunc::authorizedRole($parent, array('4', '5')); //ONLY FOR ZM,TRAINER
  255. if ($parent->current_user_role == '4') {
  256. $dcond = " and zm_email='" . $parent->current_user_data->emailid . "'";
  257. } else {
  258. if (empty($zone)) {
  259. $get_trainer_str = "SELECT h.zone FROM " . DMS_HOUSER . " h JOIN " . TABLE_USER . " u ON u.emp_code=h.emp_code WHERE u.userid='" . $parent->current_user_id . "' AND u.role='5' LIMIT 1";
  260. $trainer_arr = $parent->getQueryValue($get_trainer_str);
  261. $zone = (count($trainer_arr) > 0) ? $trainer_arr[0]->zone : '';
  262. }
  263. $dcond = " and zone='" . $zone . "'";
  264. }
  265. $query_str = "SELECT rm_email,rm_name FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' " . $dcond . " GROUP BY rm_email ";
  266. $data_arr = $parent->getQueryValue($query_str);
  267. //LOG
  268. $logstr = 'TRAINER RM';
  269. globalfunc::insertUserLog($parent, $logstr);
  270. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  271. }
  272. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  273. /* /////////////////////////////// TRAINER AM //////////////////////////////////////////////// */
  274. private function traineram($parent)
  275. {
  276. globalfunc::checkMethodType($parent, array('POST'));
  277. globalfunc::checkParamCount($parent, 1);
  278. globalfunc::checkAuthrozation($parent, array('type' => 'user'));
  279. projectfunc::authorizedRole($parent, array('4', '5', '6'));
  280. $rm_email_str = $parent->_request["rm_email"];
  281. $rm_email = json_decode($rm_email_str);
  282. if (!(is_array($rm_email) && count($rm_email) > 0)) {
  283. $parent->response(array('response' => 'failed', 'message' => $this->page_data['error2']), 406);
  284. }
  285. $rmemail_quotes = array_map("quotes_array", $rm_email);
  286. $query_str = "SELECT am_email,am_name, rm_email FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' and rm_email IN (" . @implode(',', $rmemail_quotes) . ") GROUP BY am_email ORDER BY `am_name` ASC ";
  287. $data_arr = $parent->getQueryValue($query_str);
  288. $data_arr = (count($data_arr) > 0) ? $data_arr : array();
  289. //LOG
  290. $logstr = 'TRAINER AM';
  291. globalfunc::insertUserLog($parent, $logstr);
  292. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  293. }
  294. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  295. /* /////////////////////////////// TRAINER AM //////////////////////////////////////////////// */
  296. private function trainerzoneam($parent)
  297. {
  298. globalfunc::checkMethodType($parent, array('GET'));
  299. //globalfunc::checkParamCount($parent,1);
  300. globalfunc::checkAuthrozation($parent, array('type' => 'user'));
  301. projectfunc::authorizedRole($parent, array('4', '5', '6'));
  302. $zone = escape_str($parent->params[1]);
  303. $user_emp_code = $parent->current_user_data->emp_code;
  304. if (empty($user_emp_code)) {
  305. $parent->response(array('response' => 'failed', 'message' => $this->page_data['error2']), 406);
  306. }
  307. //$query_str = "SELECT am_email,am_name FROM ".DMS_DEALER." WHERE status='1' AND is_deleted='0' and zone IN (SELECT zone from " . DMS_HOUSER . " WHERE emp_code = '" . $user_emp_code . "' ) GROUP BY am_email ORDER BY `am_name` ASC ";
  308. if (!empty($zone)) {
  309. $query_str = "SELECT am_email,am_name FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' and zone = '" . $zone . "' GROUP BY am_email ORDER BY `am_name` ASC ";
  310. } else {
  311. $query_str = "SELECT am_email,am_name FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' and zone IN (SELECT zone from " . DMS_HOUSER . " WHERE emp_code = '" . $user_emp_code . "' ) GROUP BY am_email ORDER BY `am_name` ASC ";
  312. }
  313. $data_arr = $parent->getQueryValue($query_str);
  314. $data_arr = (count($data_arr) > 0) ? $data_arr : array();
  315. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  316. }
  317. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  318. /* /////////////////////////////// TRAINER DEALER //////////////////////////////////////////////// */
  319. private function trainerdealer($parent)
  320. {
  321. globalfunc::checkMethodType($parent, array('POST'));
  322. globalfunc::checkParamCount($parent, 1);
  323. globalfunc::checkAuthrozation($parent, array('type' => 'user'));
  324. projectfunc::authorizedRole($parent, array('4', '5', '6', '7'));
  325. $am_email = $parent->_request["am_email"];
  326. $segment = $parent->_request["segment"];
  327. $am_email = json_decode($am_email);
  328. if (!(is_array($am_email) && count($am_email) > 0)) {
  329. $parent->response(array('response' => 'failed', 'message' => $this->page_data['error2']), 406);
  330. }
  331. $amemail_quotes = array_map("quotes_array", $am_email);
  332. $query_str = "SELECT dealer_code,dealer_name,address, am_email FROM " . DMS_DEALER . " WHERE status='1' AND is_deleted='0' and am_email IN (" . @implode(',', $amemail_quotes) . ") GROUP BY dealer_code ORDER BY `dealer_name` ASC ";
  333. $data_arr = $parent->getQueryValue($query_str);
  334. //print_r($data_arr) . '<br/><br/><br/>';
  335. foreach ($data_arr as $key => $dealers) {
  336. $dealer_code = $dealers->dealer_code;
  337. $parent->_request["dealer_code"] = '["' . $dealer_code . '"]';
  338. $check_dselist = $this->dselist($parent, 1, $segment);
  339. if (!empty($check_dselist)) {
  340. $dealer_data[] = $dealers;
  341. }
  342. }
  343. //print_r($dealer_data);
  344. //print_r($data_arr);
  345. $data_arr = (count($dealer_data) > 0) ? $dealer_data : array();
  346. //LOG
  347. $logstr = 'TRAINER DEALER';
  348. globalfunc::insertUserLog($parent, $logstr);
  349. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  350. }
  351. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  352. /* /////////////////////////////// DSELIST //////////////////////////////////////////////// */
  353. private function dselist($parent, $check = '', $dealer_segment = '')
  354. {
  355. globalfunc::checkMethodType($parent, array('POST'));
  356. globalfunc::checkParamCount($parent, 1);
  357. globalfunc::checkAuthrozation($parent, array('type' => 'user'));
  358. projectfunc::authorizedRole($parent, array('3', '4', '5', '6', '7', '14'));
  359. $dealer_code = $parent->_request["dealer_code"];
  360. $typeid = $parent->_request["typeid"];
  361. $segment = $parent->_request["segment"];
  362. $dealer_code = json_decode($dealer_code);
  363. if (!(is_array($dealer_code) && count($dealer_code) > 0)) {
  364. $parent->response(array('response' => 'failed', 'message' => $this->page_data['error2']), 406);
  365. }
  366. $dealer_code_quotes = array_map("quotes_array", $dealer_code);
  367. $usercond = "AND d.dealer_code IN (" . @implode(',', $dealer_code_quotes) . ")";
  368. // Segment Condition
  369. if ($dealer_segment == 1 or $dealer_segment == 2) {
  370. $segment_cond = " AND u.segment = '" . $dealer_segment . "' ";
  371. }
  372. if ($segment == 1 or $segment == 2) {
  373. $segment_cond = " AND u.segment = '" . $segment . "' ";
  374. }
  375. switch ($typeid) {
  376. case "base":
  377. $usercond .= " and l.lvl_id=1 AND l.current_status=1";
  378. $jointable = "JOIN " . TABLE_USER_LEARNING . " l ON u.smpin=l.smpin";
  379. break;
  380. case "bronze":
  381. $usercond .= " and l.lvl_id=2 AND l.current_status=1";
  382. $jointable = "JOIN " . TABLE_USER_LEARNING . " l ON u.smpin=l.smpin";
  383. break;
  384. case "silverlevel1":
  385. //$usercond.=" and l.lvl_id=3 AND l.current_status=1 and l.status in (0,5,6)";
  386. $usercond .= " and l.lvl_id=3 AND l.current_status=1";
  387. $jointable = "JOIN " . TABLE_USER_LEARNING . " l ON u.smpin=l.smpin";
  388. break;
  389. case "silverlevel2":
  390. //$usercond.=" and l.lvl_id=3 AND l.current_status=1 and l.status in (4,2,3,7)";
  391. $usercond .= " and l.lvl_id=4 AND l.current_status=1";
  392. $jointable = "JOIN " . TABLE_USER_LEARNING . " l ON u.smpin=l.smpin";
  393. break;
  394. case "goldlevel1":
  395. //$usercond.=" and l.lvl_id=4 AND l.current_status=1 and l.status in (0,5,6)";
  396. $usercond .= " and l.lvl_id=5 AND l.current_status=1";
  397. $jointable = "JOIN " . TABLE_USER_LEARNING . " l ON u.smpin=l.smpin";
  398. break;
  399. case "goldlevel2":
  400. //$usercond.=" and l.lvl_id=4 and l.status in (4,2,3,7)";
  401. $usercond .= " and l.lvl_id=6 AND l.current_status=1";
  402. $jointable = "JOIN " . TABLE_USER_LEARNING . " l ON u.smpin=l.smpin";
  403. break;
  404. default:
  405. $jointable = '';
  406. break;
  407. }
  408. $query_str = "SELECT u.userid,u.fname,u.lname, concat(u.fname, ' ', u.lname) as name, u.smpin,u.dealer_code,d.dealer_name,u.segment,CASE WHEN u.segment=0 THEN 'Student Learner' WHEN u.segment=1 THEN 'Parents/Guardian' WHEN u.segment=2 THEN 'Instructor' END as segment_str,u.profile_photo FROM " . TABLE_USER . " u LEFT JOIN " . DMS_EMPLOYEE . " e ON u.smpin=e.smpin LEFT JOIN " . DMS_DEALER . " d ON u.dealer_code=d.dealer_code " . $jointable . " WHERE e.is_current='1' AND u.status='1' AND u.is_deleted='0' AND u.role>7 AND u.role<14 " . $segment_cond . " " . $usercond . " GROUP BY u.userid ORDER BY u.dealer_code ASC, u.fname ASC, u.userid ASC";
  409. $data_arr = $parent->getQueryValue($query_str);
  410. $data_arr = (count($data_arr) > 0) ? $data_arr : array();
  411. if (count($data_arr) > 0) {
  412. //CONNECT S3
  413. $s3 = awsfileserver::connectS3();
  414. foreach ($data_arr as $key => $res) {
  415. if ($res->profile_photo != '') {
  416. $data_arr[$key]->profile = awsfileserver::getS3FileUrl($s3, S3_BUCKET, S3_PROFILE_IMAGE_URL . $res->profile_photo);} else {
  417. $data_arr[$key]->profile = USER_NOIMAGE_URL;
  418. }
  419. }
  420. }
  421. if (!empty($check)) {
  422. return $data_arr;
  423. } else {
  424. //LOG
  425. $logstr = 'DSE LIST';
  426. globalfunc::insertUserLog($parent, $logstr);
  427. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  428. }
  429. }
  430. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  431. /* /////////////////////////////// AM LIST //////////////////////////////////////////////// */
  432. private function amlist($parent)
  433. {
  434. globalfunc::checkMethodType($parent, array('POST'));
  435. globalfunc::checkParamCount($parent, 1);
  436. globalfunc::checkAuthrozation($parent, array('type' => 'user'));
  437. //projectfunc::authorizedRole($parent,array('4','5','6','7','14'));
  438. $rm_email_str = $parent->_request["rm_email"];
  439. $rm_email_arr = json_decode($rm_email_str);
  440. $dealer_code = $parent->_request["dealer_code"];
  441. //$typeid=$parent->_request["typeid"];
  442. //$dealer_code=json_decode($dealer_code);
  443. if (!(is_array($rm_email_arr) && count($rm_email_arr) > 0)) {
  444. $parent->response(array('response' => 'failed', 'message' => $this->page_data['error2']), 406);
  445. }
  446. $rm_email_quotes = array_map("quotes_array", $rm_email_arr);
  447. $usercond = "AND d.rm_email IN (" . @implode(',', $rm_email_quotes) . ")";
  448. $query_str = "SELECT u.userid,u.fname,u.lname,u.emp_code as smpin,'' as dealer_code,'' as dealer_name,'' as segment,'' as segment_str,u.profile_photo FROM " . TABLE_USER . " u LEFT JOIN " . DMS_DEALER . " d ON u.emailid=d.am_email WHERE u.status='1' AND u.is_deleted='0' AND u.role=7 " . $usercond . " GROUP BY u.userid ORDER BY u.fname ASC,u.userid ASC";
  449. $data_arr = $parent->getQueryValue($query_str);
  450. $data_arr = (count($data_arr) > 0) ? $data_arr : array();
  451. if (count($data_arr) > 0) {
  452. //CONNECT S3
  453. $s3 = awsfileserver::connectS3();
  454. foreach ($data_arr as $key => $res) {
  455. if ($res->profile_photo != '') {
  456. $data_arr[$key]->profile = awsfileserver::getS3FileUrl($s3, S3_BUCKET, S3_PROFILE_IMAGE_URL . $res->profile_photo);} else {
  457. $data_arr[$key]->profile = USER_NOIMAGE_URL;
  458. }
  459. }
  460. }
  461. //LOG
  462. $logstr = 'AM LIST';
  463. globalfunc::insertUserLog($parent, $logstr);
  464. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  465. }
  466. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  467. /* /////////////////////////////// I LEARN USER LIST //////////////////////////////////////////////// */
  468. private function ilearnuserlist($parent)
  469. {
  470. globalfunc::checkMethodType($parent, array('POST'));
  471. globalfunc::checkParamCount($parent, 1);
  472. globalfunc::checkAuthrozation($parent, array('type' => 'user'));
  473. projectfunc::authorizedRole($parent, array('5'));
  474. $REQUEST_KEYS = array('role' => 'number');
  475. globalfunc::mandatoryKey($parent, $REQUEST_KEYS);
  476. $role = escape_str($parent->_request["role"]);
  477. //GET TRAINER ZONE
  478. $get_trainer_str = "SELECT h.zone FROM " . DMS_HOUSER . " h JOIN " . TABLE_USER . " u ON u.emp_code=h.emp_code WHERE u.userid='" . $parent->current_user_id . "' AND u.role='5' LIMIT 1";
  479. $trainer_arr = $parent->getQueryValue($get_trainer_str);
  480. if (!count($trainer_arr) > 0) {
  481. $parent->response(array('response' => 'failed', 'message' => $this->page_data['error2']), 406);
  482. }
  483. switch ($role) {
  484. case "4":
  485. $dealer_cond = " ON u.emailid=d.zm_email ";
  486. $usercond = " AND u.role=4 ";
  487. break;
  488. case "6":
  489. $dealer_cond = " ON u.emailid=d.rm_email ";
  490. $usercond = " AND u.role=6 AND d.zone='" . $trainer_arr[0]->zone . "'";
  491. break;
  492. case "7":
  493. $dealer_cond = " ON u.emailid=d.am_email ";
  494. $usercond = " AND u.role=7 AND d.zone='" . $trainer_arr[0]->zone . "'";
  495. break;
  496. default:$parent->response(array('response' => 'failed', 'message' => $this->page_data['error2']), 406);
  497. break;
  498. }
  499. $query_str = "SELECT u.userid,u.fname,u.lname,u.emp_code as smpin,'' as dealer_code,'' as dealer_name,'' as segment,'' as segment_str,u.profile_photo FROM " . TABLE_USER . " u LEFT JOIN " . DMS_DEALER . " d " . $dealer_cond . " WHERE u.status='1' AND u.is_deleted='0' " . $usercond . " GROUP BY u.userid ORDER BY u.fname ASC,u.userid ASC";
  500. $data_arr = $parent->getQueryValue($query_str);
  501. $data_arr = (count($data_arr) > 0) ? $data_arr : array();
  502. if (count($data_arr) > 0) {
  503. //CONNECT S3
  504. $s3 = awsfileserver::connectS3();
  505. foreach ($data_arr as $key => $res) {
  506. if ($res->profile_photo != '') {
  507. $data_arr[$key]->profile = awsfileserver::getS3FileUrl($s3, S3_BUCKET, S3_PROFILE_IMAGE_URL . $res->profile_photo);} else {
  508. $data_arr[$key]->profile = USER_NOIMAGE_URL;
  509. }
  510. }
  511. }
  512. //LOG
  513. $logstr = 'ILEARN USER LIST';
  514. globalfunc::insertUserLog($parent, $logstr);
  515. $parent->response(array('response' => 'success', 'data' => $data_arr, 'message' => $this->page_data['success1']), 200);
  516. }
  517. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  518. }