videotraining.php 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853
  1. <?php
  2. include "Connection.php";
  3. require_once(dirname(__FILE__)."/_api/global.php");
  4. $conn = new Connection();
  5. if(isset($_REQUEST["funName"])) {
  6. $db = $conn->getConnection();
  7. $fun = $_REQUEST["funName"];
  8. switch($fun) {
  9. case "traininglist":
  10. case "addtraining":
  11. case "role":
  12. case "getroleuser":
  13. case "getrmlist":
  14. case "getamlist":
  15. case "getdealerlist":
  16. case "getdselist":
  17. case "typelist":
  18. case "gettraineruser":
  19. case "getzmuser":
  20. case "getrmuser":
  21. case "getamuser":
  22. case "getdealeruser":
  23. case "deletetraining":
  24. case "trainingparticipantlist":
  25. case "addparticipant":
  26. case "deleteparticipant":
  27. case "ilearnuserlist":
  28. $fun();
  29. break;
  30. }
  31. }
  32. //TRAINING LIST
  33. function traininglist () {
  34. global $conn;
  35. try {
  36. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  37. $pn = escape_str($_REQUEST["pn"]);
  38. $nr = escape_str($_REQUEST["nr"]);
  39. $key = escape_str($_REQUEST["key"]);
  40. //$_SESSION["userid"]=1;
  41. if(isset($_SESSION["userid"]))
  42. {
  43. $excond='';
  44. if ($key!='') {
  45. $excond .= " AND title like '%".$key."%' ";
  46. }
  47. //PAGINATION
  48. if (!empty($pn) and !empty($nr)) {
  49. // Navigation
  50. $limitcond = " limit ".(($pn - 1) * $nr).", " . $nr;
  51. }
  52. $query_str = "SELECT SQL_CALC_FOUND_ROWS * FROM ".TABLE_VIDEOTRAININGSCHEDULE." WHERE is_deleted='0' AND status=1 AND is_admin=1 ORDER BY fromdate DESC,id DESC ".$limitcond;
  53. $query = $conn->query($query_str);
  54. // Total records
  55. $rows_query = $conn->query("SELECT FOUND_ROWS() as total_records");
  56. $rows_result = $rows_query->fetchAll(PDO::FETCH_OBJ);
  57. $total_records = $rows_result[0]->total_records;
  58. $training_arr= $query->fetchAll(PDO::FETCH_OBJ);
  59. if(count($training_arr)>0)
  60. {
  61. foreach($training_arr as $akey=>$res_train)
  62. {
  63. $user_str = "SELECT fname,lname,emp_code FROM ".TABLE_USER." WHERE userid='".$res_train->organiser."' LIMIT 1 ";
  64. $user_arr=$conn->getQueryValue($user_str);
  65. $training_arr[$akey]->organisercode=$user_arr[0]->emp_code;
  66. $training_arr[$akey]->organisername=trim($user_arr[0]->fname." ".$user_arr[0]->lname);
  67. }
  68. }else
  69. {
  70. $training_arr=array();
  71. }
  72. if (!empty($pn) and !empty($nr))
  73. {
  74. $arr['total_records'] = $total_records;
  75. }
  76. $arr['training'] = $training_arr;
  77. if(count($arr) != 0){
  78. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  79. }else{
  80. $conn->message(false,$conn->getMessage($lang,'videotraining','error2'));
  81. }
  82. }
  83. else{
  84. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  85. }
  86. }
  87. catch(PDOException $e){
  88. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  89. }
  90. }
  91. //ROLE
  92. function role () {
  93. global $conn;
  94. try {
  95. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  96. //$_SESSION["userid"]=1;
  97. if(isset($_SESSION["userid"]))
  98. {
  99. $cond.=' AND id=5';
  100. //$cond.=' AND ( id=14 OR (id>3 AND id<8)) ';
  101. $query_str = "SELECT `id`, `rolename` FROM ".TABLE_ROLE." WHERE status=1 ".$cond;
  102. $query = $conn->query($query_str);
  103. $arr = $query->fetchAll(PDO::FETCH_OBJ);
  104. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  105. }
  106. else{
  107. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  108. }
  109. }
  110. catch(PDOException $e){
  111. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  112. }
  113. }
  114. //GET ROLE USER
  115. function getroleuser () {
  116. global $conn;
  117. try {
  118. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  119. //$_SESSION["userid"]=1;
  120. if(isset($_SESSION["userid"]))
  121. {
  122. $role=escape_str($_REQUEST['role']);
  123. if(!in_array($role,array("4","5","6","7","14"))) $conn->message(false,$conn->getMessage($lang,'videotraining','error3'));
  124. $query_str = "SELECT userid,emp_code,fname,lname,dealer_code,CASE WHEN role=14 THEN dealer_code WHEN role=5 THEN emp_code ELSE emailid END as value FROM ".TABLE_USER." WHERE is_deleted=0 AND status='1' AND role='".$role."' ORDER BY fname ASC,userid ASC ";
  125. $query = $conn->query($query_str);
  126. $arr = $query->fetchAll(PDO::FETCH_OBJ);
  127. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  128. }
  129. else{
  130. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  131. }
  132. }
  133. catch(PDOException $e){
  134. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  135. }
  136. }
  137. //GET RM LIST
  138. function getrmlist () {
  139. global $conn;
  140. try {
  141. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  142. if(isset($_SESSION["userid"]))
  143. {
  144. $role=escape_str($_REQUEST['role']);
  145. $value=escape_str($_REQUEST['value']);
  146. if(!is_array($value)&& count($value)>0) $conn->message(false,$conn->getMessage($lang,'videotraining','error5'));
  147. if($role=='5')
  148. {
  149. $empcode_quotes = array_map("quotes_array", $value);
  150. $cond=" AND emp_code IN (".@implode(",",$empcode_quotes).")";
  151. $get_trainer_str = "SELECT zone FROM ".DMS_HOUSER." WHERE status='1' ".$cond." LIMIT 1";
  152. $trainer_arr=$conn->getQueryValue($get_trainer_str);
  153. $dcond=(count($trainer_arr)>0)?" AND zone='".$trainer_arr[0]->zone."'":" AND zone=''";
  154. }else
  155. {
  156. $email_quotes = array_map("quotes_array", $value);
  157. $dcond=" AND zm_email IN (".@implode(",",$email_quotes).")";
  158. }
  159. $query_str = "SELECT rm_name as name,rm_email as value FROM ".DMS_DEALER." WHERE status='1' AND is_deleted='0' ".$dcond." GROUP BY rm_email ";
  160. $query = $conn->query($query_str);
  161. $arr = $query->fetchAll(PDO::FETCH_OBJ);
  162. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  163. }
  164. else{
  165. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  166. }
  167. }
  168. catch(PDOException $e){
  169. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  170. }
  171. }
  172. //GET AM LIST
  173. function getamlist () {
  174. global $conn;
  175. try {
  176. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  177. if(isset($_SESSION["userid"]))
  178. {
  179. $value=escape_str($_REQUEST['value']);
  180. if(!is_array($value)&& count($value)>0) $conn->message(false,$conn->getMessage($lang,'videotraining','error5'));
  181. $email_quotes = array_map("quotes_array", $value);
  182. $dcond=" AND rm_email IN (".@implode(",",$email_quotes).")";
  183. $query_str = "SELECT am_name as name,am_email as value FROM ".DMS_DEALER." WHERE status='1' AND is_deleted='0' ".$dcond." GROUP BY am_email ";
  184. $query = $conn->query($query_str);
  185. $arr = $query->fetchAll(PDO::FETCH_OBJ);
  186. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  187. }
  188. else{
  189. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  190. }
  191. }
  192. catch(PDOException $e){
  193. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  194. }
  195. }
  196. //GET DEALER LIST
  197. function getdealerlist () {
  198. global $conn;
  199. try {
  200. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  201. if(isset($_SESSION["userid"]))
  202. {
  203. $value=escape_str($_REQUEST['value']);
  204. if(!is_array($value)&& count($value)>0) $conn->message(false,$conn->getMessage($lang,'videotraining','error5'));
  205. $email_quotes = array_map("quotes_array", $value);
  206. $dcond=" AND am_email IN (".@implode(",",$email_quotes).")";
  207. $query_str = "SELECT dealer_name as name,dealer_code as value FROM ".DMS_DEALER." WHERE status='1' AND is_deleted='0' ".$dcond."";
  208. $query = $conn->query($query_str);
  209. $arr = $query->fetchAll(PDO::FETCH_OBJ);
  210. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  211. }
  212. else{
  213. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  214. }
  215. }
  216. catch(PDOException $e){
  217. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  218. }
  219. }
  220. //GET DSE LIST
  221. function getdselist () {
  222. global $conn;
  223. try {
  224. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  225. if(isset($_SESSION["userid"]))
  226. {
  227. $value=escape_str($_REQUEST['value']);
  228. if(!is_array($value)&& count($value)>0) $conn->message(false,$conn->getMessage($lang,'videotraining','error5'));
  229. $typeid=escape_str($_REQUEST["typeid"]);
  230. $quotes = array_map("quotes_array", $value);
  231. $usercond=" AND d.dealer_code IN (".@implode(",",$quotes).")";
  232. switch ($typeid)
  233. {
  234. case "base":
  235. $usercond.=" and l.lvl_id=1 AND l.current_status=1";
  236. $jointable="JOIN ".TABLE_USER_LEARNING." l ON u.smpin=l.smpin";
  237. break;
  238. case "bronze":
  239. $usercond.=" and l.lvl_id=2 AND l.current_status=1";
  240. $jointable="JOIN ".TABLE_USER_LEARNING." l ON u.smpin=l.smpin";
  241. break;
  242. case "silverlevel1":
  243. $usercond.=" and l.lvl_id=3 AND l.current_status=1 and l.status in (0,5,6)";
  244. $jointable="JOIN ".TABLE_USER_LEARNING." l ON u.smpin=l.smpin";
  245. break;
  246. case "silverlevel2":
  247. $usercond.=" and l.lvl_id=3 AND l.current_status=1 and l.status in (4,2,3,7)";
  248. $jointable="JOIN ".TABLE_USER_LEARNING." l ON u.smpin=l.smpin";
  249. break;
  250. case "goldlevel1":
  251. $usercond.=" and l.lvl_id=4 AND l.current_status=1 and l.status in (0,5,6)";
  252. $jointable="JOIN ".TABLE_USER_LEARNING." l ON u.smpin=l.smpin";
  253. break;
  254. case "goldlevel2":
  255. $usercond.=" and l.lvl_id=4 and l.status in (4,2,3,7)";
  256. $jointable="JOIN ".TABLE_USER_LEARNING." l ON u.smpin=l.smpin";
  257. break;
  258. default:
  259. $jointable='';
  260. break;
  261. }
  262. $query_str = "SELECT u.userid,u.fname,u.lname,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 ".$usercond." ORDER BY u.dealer_code ASC,u.fname ASC,u.userid ASC";
  263. $query = $conn->query($query_str);
  264. $arr = $query->fetchAll(PDO::FETCH_OBJ);
  265. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  266. }
  267. else{
  268. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  269. }
  270. }
  271. catch(PDOException $e){
  272. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  273. }
  274. }
  275. //ADD TRAINING
  276. function addtraining () {
  277. global $conn;
  278. try {
  279. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  280. $userid=escape_str($_REQUEST['userid']);
  281. $role=escape_str($_REQUEST['role']);
  282. $title=escape_str($_REQUEST['title']);
  283. $description=escape_str($_REQUEST['description']);
  284. $fromdate=escape_str($_REQUEST['fromdate']);
  285. $todate=escape_str($_REQUEST['todate']);
  286. if(strtotime($fromdate)<NOW) $conn->message(false,$conn->getMessage($lang,'videotraining','error7'));
  287. if(strtotime($todate)<NOW) $conn->message(false,$conn->getMessage($lang,'videotraining','error7'));
  288. if(strtotime($fromdate)>strtotime($todate)) $conn->message(false,"to datetime should be greater than from datetime");
  289. $dse=$_REQUEST['dse'];
  290. $dse=json_decode($dse); //sending as string
  291. $channel=escape_str($_REQUEST['channel']);
  292. $typeid=escape_str($_REQUEST['typeid']);
  293. //UPDATED FOR APP TEAM
  294. $channeltemp = explode("_",$channel);
  295. $gettrname="select emp_code from tbl__user where userid='".$userid."'";
  296. $trname_arr=$conn->getQueryValue($gettrname);
  297. $channel = $trname_arr[0]->emp_code."_".$channeltemp[1]."_".$channeltemp[2];
  298. if(!($userid!=''&& $role!='' && $title!='' && $description!='' && $fromdate!='' && $todate!='')) $conn->message(false,$conn->getMessage($lang,'videotraining','error8'));
  299. if(!(is_array($dse) && count($dse)>0)) $conn->message(false,$conn->getMessage($lang,'videotraining','error6'));
  300. //INSERT
  301. $insert_str = "INSERT INTO ".TABLE_VIDEOTRAININGSCHEDULE."(typeid, `title`, `description`, `fromdate`, `todate`,channel, `status`, `organiser_role`, `organiser`, is_admin,`created_on`, `modified_on`) VALUES ('".$typeid."','".$title."','".$description."','".$fromdate."','".$todate."','".$channel."','1','".$role."','".$userid."',1,'".NOW."','".NOW."')";
  302. $conn->executeQuery($insert_str);
  303. $trainingid=$conn->lastinsetid();
  304. foreach($dse as $userid)
  305. {
  306. $ins_arr[]="('".$trainingid."', '".$userid."', 1,'".NOW."','".NOW."')";
  307. }
  308. $insert_str = "INSERT INTO ".TABLE_VIDEOSCHEDULEUSER." ( `sid`, `userid`, `status`, `created_on`, `modified_on`) VALUES ".@implode(",", $ins_arr);
  309. $conn->executeQuery($insert_str);
  310. notificationtriggervideotraining($trainingid); //TRIGGER NOTIFICATION
  311. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  312. }
  313. catch(PDOException $e){
  314. $conn->message(false,$conn->getMessage($lang,'training','error4'));
  315. }
  316. }
  317. function notificationtriggervideotraining($trainingid,$extobj=NULL)
  318. {
  319. global $conn;
  320. $schedule_arr=$conn->selectQuery(TABLE_VIDEOTRAININGSCHEDULE ,"*","id='".$trainingid."'","1");
  321. if($extobj!=NULL)
  322. {
  323. if(isset($extobj->userid)&& is_array($extobj->userid))
  324. {
  325. $excond=" AND u.userid IN(".implode(',',$extobj->userid).")";
  326. }
  327. }
  328. $ntype=($extobj!=NULL && isset($extobj->type))?$extobj->type:"";
  329. if($ntype=='removed')
  330. {
  331. $get_list_arr=$conn->selectQuery(TABLE_USER." u " ,"u.userid "," u.is_deleted=0 ".$excond." ORDER BY u.userid ","");
  332. }else
  333. {
  334. $get_list_arr=$conn->selectQuery("(SELECT * FROM ".TABLE_VIDEOSCHEDULEUSER." WHERE sid='".$trainingid."' )sv JOIN ".TABLE_USER." u ON sv.userid=u.userid " ,"u.userid "," u.is_deleted=0 ".$excond." ORDER BY u.userid ","");
  335. }
  336. if($schedule_arr['nr']>0 && $get_list_arr['nr']>0)
  337. {
  338. if($schedule_arr['nr']>0)
  339. {
  340. $obj=new stdClass();
  341. $obj->id=$trainingid;
  342. $notificationdata= json_encode($obj);
  343. $notificationtype='9';
  344. $ins_arr=array();
  345. switch($ntype)
  346. {
  347. case 'removed':
  348. $notificationtitle="i-Learn - ".$schedule_arr['result'][0]->title ." cancelled for you";
  349. $notificationtext="i-Learn - ".$schedule_arr['result'][0]->title." schdeuled on ".date('d-M-Y h:i A', strtotime($schedule_arr['result'][0]->fromdate))." is cancelled for you.";
  350. break;
  351. case 'delete':
  352. $notificationtitle="i-Learn - ".$schedule_arr['result'][0]->title ." cancelled";
  353. $notificationtext="i-Learn - ".$schedule_arr['result'][0]->title." schdeuled on ".date('d-M-Y h:i A', strtotime($schedule_arr['result'][0]->fromdate))." is cancelled.";
  354. $ins_arr[]=" ('".$notificationid."', '".$schedule_arr['result'][0]->organiser."', '0', '".NOW."')"; //ADD ORGANISER ALSO
  355. break;
  356. default:
  357. $notificationtitle="New i-Learn - ".$schedule_arr['result'][0]->title;
  358. $notificationtext="New i-Learn - ".$schedule_arr['result'][0]->title." schdeuled on ".date('d-M-Y h:i A', strtotime($schedule_arr['result'][0]->fromdate)).".";
  359. $ins_arr[]=" ('".$notificationid."', '".$schedule_arr['result'][0]->organiser."', '0', '".NOW."')"; //ADD ORGANISER ALSO
  360. break;
  361. }
  362. $conn->executeQuery("INSERT INTO `".TABLE_NOTIFICATION."` ( `notificationtitle`, `notificationtext`, `notificationdata`, `notificationtype`, `status`, `publisheddate`, `created_on`, `modified_on`) VALUES ('".escape_str($notificationtitle)."','".escape_str($notificationtext)."','".$notificationdata."','".$notificationtype."' ,'1','".NOW."','".NOW."','".NOW."')");
  363. $notificationid=$conn->lastinsetid();
  364. $data=array('notification_id'=>$notificationid,'title'=>$notificationtitle,'message'=> $notificationtext,'notificationtype'=>$notificationtype,'notificationdata'=>$notificationdata,'created_date'=>NOW);
  365. foreach($get_list_arr['result'] as $res)
  366. {
  367. $ins_arr[]=" ('".$notificationid."', '".$res->userid."', '0', '".NOW."')";
  368. }
  369. $insert_chunk=array_chunk($ins_arr, 1000);
  370. foreach($insert_chunk as $chunk_ins)
  371. {
  372. $conn->executeQuery("INSERT INTO ".TABLE_NOTIFICATION_USER."(`notificationid`, `userid`, `status`, `created_on`) VALUES ".@implode(',',$chunk_ins)." ON DUPLICATE KEY UPDATE `status` =0");
  373. }
  374. $usertokenarr['ios']=array();
  375. $usertokenarr['android']=array();
  376. $user_device_str = "SELECT ud.devicetype,ud.token FROM `".TABLE_USER_DEVICES."` as ud JOIN (SELECT userid FROM ".TABLE_NOTIFICATION_USER." WHERE notificationid='".$notificationid."') as u ON ud.userid=u.userid WHERE ud.is_deleted='0' AND (devicetype='ios' OR devicetype='android') AND token!=''";
  377. $user_device_arr = $conn->getQueryValue($user_device_str);
  378. if(count($user_device_arr)>0)
  379. {
  380. foreach($user_device_arr as $res_user)
  381. {
  382. if(strtolower($res_user->devicetype)=='ios')
  383. {
  384. $usertokenarr['ios'][]=$res_user->token;
  385. }else if(strtolower($res_user->devicetype)=='android')
  386. {
  387. $usertokenarr['android'][]=$res_user->token;
  388. }
  389. }
  390. // $conn->sendUserNotification($data,$usertokenarr);
  391. }
  392. }
  393. }
  394. }
  395. //GET TYPE LIST
  396. function typelist () {
  397. global $conn;
  398. try {
  399. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  400. // $_SESSION["userid"]=1;
  401. if(isset($_SESSION["userid"]))
  402. {
  403. $training_str = "SELECT type_id as id,title FROM ".TABLE_VIDEOTRAININGTITLE." ORDER BY id ASC";
  404. $trainer_arr=$conn->getQueryValue($training_str);
  405. $arr=(count($trainer_arr)>0)?$trainer_arr:array();
  406. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  407. }
  408. else{
  409. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  410. }
  411. }
  412. catch(PDOException $e){
  413. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  414. }
  415. }
  416. //GET ROLE USER
  417. function gettraineruser () {
  418. global $conn;
  419. try {
  420. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  421. //$_SESSION["userid"]=1;
  422. if(isset($_SESSION["userid"]))
  423. {
  424. $role='5';
  425. $query_str = "SELECT userid,emp_code,fname,lname,dealer_code,CASE WHEN role=14 THEN dealer_code WHEN role=5 THEN emp_code ELSE emailid END as value FROM ".TABLE_USER." WHERE is_deleted=0 AND status='1' AND role='".$role."' ORDER BY fname ASC,userid ASC ";
  426. $query = $conn->query($query_str);
  427. $arr = $query->fetchAll(PDO::FETCH_OBJ);
  428. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  429. }
  430. else{
  431. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  432. }
  433. }
  434. catch(PDOException $e){
  435. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  436. }
  437. }
  438. //GET ZM
  439. function getzmuser () {
  440. global $conn;
  441. try {
  442. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  443. //$_SESSION["userid"]=1;
  444. if(isset($_SESSION["userid"]))
  445. {
  446. $role='4';
  447. $query_str = "SELECT userid,emp_code,fname,lname,dealer_code, emailid as value FROM ".TABLE_USER." WHERE is_deleted=0 AND status='1' AND role='".$role."' ORDER BY fname ASC,userid ASC ";
  448. $query = $conn->query($query_str);
  449. $arr = $query->fetchAll(PDO::FETCH_OBJ);
  450. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  451. }
  452. else{
  453. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  454. }
  455. }
  456. catch(PDOException $e){
  457. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  458. }
  459. }
  460. //GET RM
  461. function getrmuser () {
  462. global $conn;
  463. try {
  464. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  465. //$_SESSION["userid"]=1;
  466. if(isset($_SESSION["userid"]))
  467. {
  468. $role='6';
  469. $zmid=escape_str($_REQUEST['pid']);
  470. $user_str = "SELECT emailid FROM ".TABLE_USER." WHERE userid='".$zmid."' AND role=4";
  471. $user_arr=$conn->getQueryValue($user_str);
  472. $cond=(count($user_arr)>0)? " AND d.zm_email='".$user_arr[0]->emailid."'":" AND d.zm_email='00'";
  473. $query_str = "SELECT u.userid,u.emp_code,u.fname,u.lname,u.dealer_code, u.emailid as value FROM ".TABLE_USER." u JOIN ".DMS_DEALER." d ON u.emailid=d.rm_email WHERE d.is_deleted=0 AND u.is_deleted=0 AND u.status='1' AND u.role='".$role."' ".$cond." GROUP BY u.userid ORDER BY u.fname ASC,u.userid ASC ";
  474. $query = $conn->query($query_str);
  475. $arr = $query->fetchAll(PDO::FETCH_OBJ);
  476. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  477. }
  478. else{
  479. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  480. }
  481. }
  482. catch(PDOException $e){
  483. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  484. }
  485. }
  486. //GET AM
  487. function getamuser () {
  488. global $conn;
  489. try {
  490. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  491. //$_SESSION["userid"]=1;
  492. if(isset($_SESSION["userid"]))
  493. {
  494. $role='7';
  495. $rmid=escape_str($_REQUEST['pid']);
  496. $user_str = "SELECT emailid FROM ".TABLE_USER." WHERE userid='".$rmid."' AND role=6";
  497. $user_arr=$conn->getQueryValue($user_str);
  498. $cond=(count($user_arr)>0)? " AND d.rm_email='".$user_arr[0]->emailid."'":" AND d.rm_email='00'";
  499. $query_str = "SELECT u.userid,u.emp_code,u.fname,u.lname,u.dealer_code, u.emailid as value FROM ".TABLE_USER." u JOIN ".DMS_DEALER." d ON u.emailid=d.am_email WHERE d.is_deleted=0 AND u.is_deleted=0 AND u.status='1' AND u.role='".$role."' ".$cond." GROUP BY u.userid ORDER BY u.fname ASC,u.userid ASC ";
  500. $query = $conn->query($query_str);
  501. $arr = $query->fetchAll(PDO::FETCH_OBJ);
  502. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  503. }
  504. else{
  505. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  506. }
  507. }
  508. catch(PDOException $e){
  509. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  510. }
  511. }
  512. //GET DEALERUSER
  513. function getdealeruser () {
  514. global $conn;
  515. try {
  516. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  517. //$_SESSION["userid"]=1;
  518. if(isset($_SESSION["userid"]))
  519. {
  520. $role='14';
  521. $amid=escape_str($_REQUEST['pid']);
  522. $user_str = "SELECT emailid FROM ".TABLE_USER." WHERE userid='".$amid."' AND role=7";
  523. $user_arr=$conn->getQueryValue($user_str);
  524. $cond=(count($user_arr)>0)? " AND d.am_email='".$user_arr[0]->emailid."'":" AND d.am_email='00'";
  525. $query_str = "SELECT u.userid,u.emp_code,u.fname,u.lname,u.dealer_code, u.dealer_code as value FROM ".TABLE_USER." u JOIN ".DMS_DEALER." d ON d.dealer_code=u.dealer_code WHERE d.is_deleted=0 AND u.is_deleted=0 AND u.status='1' AND u.role='".$role."' ".$cond." GROUP BY u.userid ORDER BY u.fname ASC,u.userid ASC ";
  526. $query = $conn->query($query_str);
  527. $arr = $query->fetchAll(PDO::FETCH_OBJ);
  528. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  529. }
  530. else{
  531. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  532. }
  533. }
  534. catch(PDOException $e){
  535. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  536. }
  537. }
  538. //DELETE TRAINING
  539. function deletetraining () {
  540. global $conn;
  541. try {
  542. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  543. if(isset($_SESSION["userid"]))
  544. {
  545. $deleteid=escape_str($_REQUEST['id']);
  546. $get_list_arr=$conn->selectQuery(TABLE_VIDEOTRAININGSCHEDULE." s " ,"s.id"," s.status='1' AND s.is_deleted=0 AND s.id='".$deleteid."' AND s.is_admin=1","1");
  547. if(!$get_list_arr['nr']>0) $conn->message(false,$conn->getMessage($lang,'videotraining','error2'));
  548. $delete_str= "DELETE FROM ".TABLE_VIDEOTRAININGSCHEDULE ." WHERE id='".$deleteid."' and is_admin='1'";
  549. $conn->executeQuery($delete_str);
  550. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'));
  551. }
  552. else{
  553. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  554. }
  555. } catch (Exception $ex) {
  556. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  557. }
  558. }
  559. //GET TRAINING PARTICIPANT LIST
  560. function trainingparticipantlist () {
  561. global $conn;
  562. try {
  563. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  564. //$_SESSION["userid"]=1;
  565. if(isset($_SESSION["userid"]))
  566. {
  567. $id=escape_str($_REQUEST['id']);
  568. $get_list_arr=$conn->selectQuery(TABLE_VIDEOTRAININGSCHEDULE ,"id"," is_deleted=0 AND id='".$id."' AND is_admin=1","1");
  569. if(!$get_list_arr['nr']>0) $conn->message(false,$conn->getMessage($lang,'videotraining','error2'));
  570. $query_str="SELECT u.userid,u.fname,u.lname,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 FROM ".TABLE_VIDEOSCHEDULEUSER." vu JOIN ".TABLE_USER." u ON vu.userid=u.userid LEFT JOIN ".DMS_EMPLOYEE." e ON u.smpin=e.smpin LEFT JOIN ".DMS_DEALER." d ON u.dealer_code=d.dealer_code WHERE u.status='1' AND u.is_deleted='0' AND vu.sid='".$id."' ORDER BY u.dealer_code ASC,u.fname ASC,u.userid ASC";
  571. $arr=$conn->getQueryValue($query_str);
  572. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  573. }
  574. else{
  575. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  576. }
  577. }
  578. catch(PDOException $e){
  579. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  580. }
  581. }
  582. //ADD PARTICIPANT
  583. function addparticipant () {
  584. global $conn;
  585. try {
  586. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  587. //$_SESSION["userid"]=1;
  588. if(isset($_SESSION["userid"]))
  589. {
  590. $id=escape_str($_REQUEST['id']);
  591. $userids=escape_str($_REQUEST['userid']);
  592. $trainingid=$id;
  593. $get_list_arr=$conn->selectQuery(TABLE_VIDEOTRAININGSCHEDULE ,"id"," is_deleted=0 AND id='".$id."' AND is_admin=1","1");
  594. if(!$get_list_arr['nr']>0) $conn->message(false,$conn->getMessage($lang,'videotraining','error2'));
  595. if(is_array($userids) && count($userids)>0)
  596. {
  597. $ins_arr=array();
  598. $uids=array();
  599. foreach($userids as $userid)
  600. {
  601. $ins_arr[]=" ('".$trainingid."','".$userid."','1','".NOW."','".NOW."')";
  602. $uids[]=$userid;
  603. }
  604. //check already exist
  605. $check_arr=$conn->selectQuery(TABLE_VIDEOSCHEDULEUSER ,"id"," sid='".$trainingid."' AND userid IN (".@implode(",",$uids).")","1");
  606. if($check_arr['nr']>0 )$conn->message(false,$conn->getMessage($lang,'videotraining','error9'));
  607. $insert_usr= "INSERT INTO ".TABLE_VIDEOSCHEDULEUSER ." (`sid`, `userid`, `status`, `created_on`, `modified_on`) VALUES ".@implode(',',$ins_arr);
  608. $conn->executeQuery($insert_usr);
  609. $extobj=new stdClass();
  610. $extobj->userid=$uids;
  611. notificationtriggervideotraining($trainingid,$extobj);
  612. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'));
  613. }else
  614. {
  615. $conn->message(false,$conn->getMessage($lang,'videotraining','error5'));
  616. }
  617. }
  618. else{
  619. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  620. }
  621. }
  622. catch(PDOException $e){
  623. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  624. }
  625. }
  626. //DELETE PARTICIPANT
  627. function deleteparticipant () {
  628. global $conn;
  629. try {
  630. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  631. //$_SESSION["userid"]=1;
  632. if(isset($_SESSION["userid"]))
  633. {
  634. $trainingid=escape_str($_REQUEST['id']);
  635. $userid=escape_str($_REQUEST['userid']);
  636. $delete_msg= "DELETE FROM ".TABLE_VIDEOSCHEDULEUSER ." WHERE sid='".$trainingid."' and userid='".$userid."'";
  637. $conn->executeQuery($delete_msg);
  638. //TRIGGER NOTIFICATION
  639. $extobj=new stdClass();
  640. $extobj->userid=array($userid);
  641. $extobj->type='removed';
  642. notificationtriggervideotraining($trainingid,$extobj);
  643. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'));
  644. }
  645. else{
  646. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  647. }
  648. }
  649. catch(PDOException $e){
  650. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  651. }
  652. }
  653. //ilearnuserlist LIST
  654. function ilearnuserlist () {
  655. global $conn;
  656. try {
  657. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  658. $role = escape_str($_REQUEST["role"]);
  659. $userid = escape_str($_REQUEST["userid"]);
  660. if(isset($_SESSION["userid"]))
  661. {
  662. $get_trainer_str = "SELECT h.zone FROM ".DMS_HOUSER." h JOIN ".TABLE_USER." u ON u.emp_code=h.emp_code WHERE u.userid='".$userid."' AND u.role='5' LIMIT 1";
  663. $trainer_arr=$conn->getQueryValue($get_trainer_str);
  664. if(!count($trainer_arr)>0) $conn->message(false,$conn->getMessage($lang,'videotraining','error10'));
  665. switch ($role)
  666. {
  667. case "4":
  668. $dealer_cond=" ON u.emailid=d.zm_email ";
  669. $usercond=" AND u.role=4 ";
  670. break;
  671. case "6":
  672. $dealer_cond=" ON u.emailid=d.rm_email ";
  673. $usercond=" AND u.role=6 AND d.zone='".$trainer_arr[0]->zone."'";
  674. break;
  675. case "7":
  676. $dealer_cond=" ON u.emailid=d.am_email ";
  677. $usercond=" AND u.role=7 AND d.zone='".$trainer_arr[0]->zone."'";
  678. break;
  679. default :$conn->message(false,$conn->getMessage($lang,'videotraining','error3')); break;
  680. }
  681. $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";
  682. $data_arr=$conn->getQueryValue($query_str);
  683. $arr=(count($data_arr)>0)?$data_arr:array();
  684. if(count($arr) != 0){
  685. $conn->message(true,$conn->getMessage($lang,'videotraining','success1'), $arr);
  686. }else{
  687. $conn->message(false,$conn->getMessage($lang,'videotraining','error2'));
  688. }
  689. }
  690. else{
  691. $conn->message(false,$conn->getMessage($lang,'videotraining','error1'));
  692. }
  693. }
  694. catch(PDOException $e){
  695. $conn->message(false,$conn->getMessage($lang,'videotraining','error4'));
  696. }
  697. }
  698. ?>