report_content.php 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715
  1. <?php
  2. /* * **************************
  3. * File : report_content.php
  4. * Author : Cygnusa
  5. * @2020
  6. * ************************** */
  7. // included in report.php
  8. function content_report_v2() {
  9. global $conn;
  10. try {
  11. $lang = "en_us";
  12. $pageData = $conn->loadJSON($lang);
  13. $arr=array('report'=>array(),'total'=>array('total_view'=>0,'total_completed'=>0));
  14. if(isset($_SESSION["userid"]))
  15. {
  16. $cateid = escape_str($_REQUEST["cateid"]);
  17. $zm_email = escape_str($_REQUEST["zm_email"]);
  18. $rm_email = escape_str($_REQUEST["rm_email"]);
  19. $am_email = escape_str($_REQUEST["am_email"]);
  20. $user_cond='';
  21. if(($am_email!='all' && $am_email!='')||($rm_email!='all' && $rm_email!='')||($zm_email!='all' && $zm_email!=''))
  22. {
  23. $mcond='';
  24. $mcond=($am_email!='all' && $am_email!='')?" AND d.am_email='".$am_email."'":'';
  25. $mcond.=($rm_email!='all' && $rm_email!='')?" AND d.rm_email='".$rm_email."'":'';
  26. $mcond.=($zm_email!='all' && $zm_email!='')?" AND d.zm_email='".$zm_email."'":'';
  27. //AM
  28. //$user_cond=" AND u.dealer_code IN (SELECT dealer_code FROM ".DMS_DEALER." WHERE is_deleted='0' ".$mcond.")";
  29. $user_cond=$mcond;
  30. }else
  31. {
  32. //PAN
  33. $user_cond='';
  34. }
  35. $pn = escape_str($_REQUEST["pn"]);
  36. $nr = escape_str($_REQUEST["nr"]);
  37. $key = escape_str($_REQUEST["key"]);
  38. //CATEGORY
  39. $query_str = "SELECT `cateid`, `catename` FROM ".TABLE_CATEGORY." WHERE cateid='".$cateid."' LIMIT 1";
  40. $cat_arr=$conn->getQueryValue($query_str);
  41. if(!count($cat_arr)>0)
  42. {
  43. $conn->message(false,$conn->getMessage($lang,'report','error2'));
  44. }
  45. //GET ALL CONTENTS OF CATEGORY
  46. $query_str="SELECT c.assettopicid,ca.cateid,c.title,t.topicname,c.contentid,c.title FROM `".TABLE_ASSET_CONTENT."` as c LEFT JOIN ".TABLE_ASSET_TOPIC." as t ON c.assettopicid=t.assettopicid LEFT JOIN ".TABLE_CATEGORY." as ca ON ca.cateid=t.cateid LEFT JOIN ".TABLE_ASSET_FILE." as f ON f.contentid=c.contentid WHERE ca.cateid ='".$cateid."' AND t.is_deleted='0' AND c.is_deleted='0' GROUP BY c.contentid ORDER BY t.position ASC,t.assettopicid ASC,c.contentid ASC ";
  47. $contentresult_arr=$conn->getQueryValue($query_str);
  48. $total_view=0;
  49. $total_completed=0;
  50. if(count($contentresult_arr))
  51. {
  52. foreach($contentresult_arr as $res_content)
  53. {
  54. $count_str="SELECT COUNT(c.userid) as total_view FROM (SELECT userid,contentid FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE contentid='".$res_content->contentid."' AND assettopicid='".$res_content->assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid JOIN ".DMS_EMPLOYEE." e ON u.smpin=e.smpin JOIN ".DMS_DEALER." as d ON d.dealer_code=u.dealer_code WHERE u.role>7 AND u.role<14 AND u.is_deleted=0 AND e.is_current=1 ".$user_cond." GROUP BY c.contentid LIMIT 1";
  55. $count_arr=$conn->getQueryValue($count_str);
  56. $res_content->total_view=(count($count_arr)>0)?$count_arr[0]->total_view:0;
  57. $total_view+=$res_content->total_view;
  58. $count_str="SELECT COUNT(c.userid) as total_view FROM (SELECT userid,contentid FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE status=2 AND contentid='".$res_content->contentid."' AND assettopicid='".$res_content->assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid JOIN ".DMS_EMPLOYEE." e ON u.smpin=e.smpin JOIN ".DMS_DEALER." as d ON d.dealer_code=u.dealer_code WHERE u.role>7 AND u.role<14 AND u.is_deleted=0 AND e.is_current=1 ".$user_cond." GROUP BY c.contentid LIMIT 1";
  59. $count_arr=$conn->getQueryValue($count_str);
  60. $res_content->total_completed=(count($count_arr)>0)?$count_arr[0]->total_view:0;
  61. $total_completed+=$res_content->total_completed;
  62. //$res_content->total_query=$count_str;
  63. $data_arr[]=$res_content;
  64. }
  65. $arr['report'] = $data_arr;
  66. $arr['total'] = array('total_view'=>$total_view,'total_completed'=>$total_completed);
  67. }
  68. $conn->message(true,$conn->getMessage($lang,'report','success1'), $arr);
  69. }else{
  70. $conn->message(false,$conn->getMessage($lang,'report','error1'));
  71. }
  72. }catch (PDOException $e) {
  73. $conn->message(false,$conn->getMessage($lang,'report','error4'));
  74. }
  75. }
  76. // content_report_list_v2
  77. function content_report_list_v2() {
  78. global $conn;
  79. try {
  80. $lang = "en_us";
  81. $pageData = $conn->loadJSON($lang);
  82. if(isset($_SESSION["userid"]))
  83. {
  84. $assettopicid = escape_str($_REQUEST["assettopicid"]);
  85. $contentid = escape_str($_REQUEST["contentid"]);
  86. $zm_email = escape_str($_REQUEST["zm_email"]);
  87. $rm_email = escape_str($_REQUEST["rm_email"]);
  88. $am_email = escape_str($_REQUEST["am_email"]);
  89. $user_cond='';
  90. if(($am_email!='all' && $am_email!='')||($rm_email!='all' && $rm_email!='')||($zm_email!='all' && $zm_email!=''))
  91. {
  92. $mcond='';
  93. $mcond=($am_email!='all' && $am_email!='')?" AND d.am_email='".$am_email."'":'';
  94. $mcond.=($rm_email!='all' && $rm_email!='')?" AND d.rm_email='".$rm_email."'":'';
  95. $mcond.=($zm_email!='all' && $zm_email!='')?" AND d.zm_email='".$zm_email."'":'';
  96. //AM
  97. //$user_cond=" AND u.dealer_code IN (SELECT dealer_code FROM ".DMS_DEALER." WHERE is_deleted='0' ".$mcond.")";
  98. $user_cond=$mcond;
  99. }else
  100. {
  101. //PAN
  102. $user_cond='';
  103. }
  104. $pn = escape_str($_REQUEST["pn"]);
  105. $nr = escape_str($_REQUEST["nr"]);
  106. $key = escape_str($_REQUEST["key"]);
  107. //CONTENT
  108. $query_str="SELECT c.assettopicid,ca.cateid,c.title,t.topicname,c.contentid,c.title FROM `".TABLE_ASSET_CONTENT."` as c LEFT JOIN ".TABLE_ASSET_TOPIC." as t ON c.assettopicid=t.assettopicid LEFT JOIN ".TABLE_CATEGORY." as ca ON ca.cateid=t.cateid LEFT JOIN ".TABLE_ASSET_FILE." as f ON f.contentid=c.contentid WHERE c.contentid ='".$contentid."' AND c.assettopicid='".$assettopicid."' AND t.is_deleted='0' AND c.is_deleted='0' GROUP BY c.contentid LIMIT 1 ";
  109. $content_arr=$conn->getQueryValue($query_str);
  110. if(!count($content_arr)>0)
  111. {
  112. $conn->message(false,$conn->getMessage($lang,'report','error2'));
  113. }
  114. $arr['content'] = $content_arr;
  115. //GET ALL USER
  116. $content_user_str="SELECT SQL_CALC_FOUND_ROWS u.smpin,u.fname,u.lname,u.mobileno,u.dealer_code,d.dealer_name,d.zone,d.`zm_name`,d.`rm_name`,d.`am_name`,c.status, CASE WHEN c.status=0 THEN 'Started' WHEN c.status=1 THEN 'In progress' WHEN c.status=2 THEN 'Completed' ELSE 'In progress' END as content_status,c.completeddate FROM (SELECT id,userid,contentid,status,completeddate FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE contentid='".$contentid."' AND assettopicid='".$assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid JOIN ".DMS_EMPLOYEE." e ON u.smpin=e.smpin JOIN ".DMS_DEALER." as d ON d.dealer_code=u.dealer_code WHERE e.is_current=1 AND u.role>7 AND u.role<14 ".$user_cond." GROUP BY c.userid ORDER BY c.status DESC,c.id ASC ";
  117. // Pagination
  118. if (!empty($pn) and !empty($nr)) {
  119. // Navigation
  120. $content_user_str.= " LIMIT ".(($pn - 1) * $nr).", ".$nr;
  121. }
  122. $query = $conn->query($content_user_str);
  123. $data_arr=array();
  124. if($query->rowCount()>0)
  125. {
  126. $data_arr = $query->fetchAll(PDO::FETCH_OBJ);
  127. }
  128. $arr['report'] = $data_arr;
  129. // Total records
  130. $rows_query = $conn->query("select FOUND_ROWS() as total_records");
  131. $rows_result = $rows_query->fetchAll(PDO::FETCH_OBJ);
  132. $total_records = $rows_result[0]->total_records;
  133. $arr['total_records'] = $total_records;
  134. $conn->message(true,$conn->getMessage($lang,'report','success1'), $arr);
  135. }else{
  136. $conn->message(false,$conn->getMessage($lang,'report','error1'));
  137. }
  138. }catch (PDOException $e) {
  139. $conn->message(false,$conn->getMessage($lang,'report','error4'));
  140. }
  141. }
  142. // content_report_zm
  143. function content_report_zm() {
  144. global $conn;
  145. try {
  146. $lang = "en_us";
  147. $pageData = $conn->loadJSON($lang);
  148. $arr=array('report'=>array(),'total'=>array('total_view'=>0,'total_completed'=>0));
  149. if(isset($_SESSION["userid"]))
  150. {
  151. $cateid = escape_str($_REQUEST["cateid"]);
  152. $user_cond='';
  153. $pn = escape_str($_REQUEST["pn"]);
  154. $nr = escape_str($_REQUEST["nr"]);
  155. $key = escape_str($_REQUEST["key"]);
  156. //CATEGORY
  157. $query_str = "SELECT `cateid`, `catename` FROM ".TABLE_CATEGORY." WHERE cateid='".$cateid."' LIMIT 1";
  158. $cat_arr=$conn->getQueryValue($query_str);
  159. if(!count($cat_arr)>0)
  160. {
  161. $conn->message(false,$conn->getMessage($lang,'report','error2'));
  162. }
  163. //GET ALL CONTENTS OF CATEGORY
  164. $query_str="SELECT c.assettopicid,ca.cateid,c.title,t.topicname,c.contentid,c.title FROM `".TABLE_ASSET_CONTENT."` as c LEFT JOIN ".TABLE_ASSET_TOPIC." as t ON c.assettopicid=t.assettopicid LEFT JOIN ".TABLE_CATEGORY." as ca ON ca.cateid=t.cateid LEFT JOIN ".TABLE_ASSET_FILE." as f ON f.contentid=c.contentid WHERE ca.cateid ='".$cateid."' AND (c.filter_role='' OR FIND_IN_SET(4,c.filter_role)) AND t.is_deleted='0' AND c.is_deleted='0' GROUP BY c.contentid ORDER BY t.position ASC,t.assettopicid ASC,c.contentid ASC ";
  165. $contentresult_arr=$conn->getQueryValue($query_str);
  166. $total_view=0;
  167. $total_completed=0;
  168. if(count($contentresult_arr))
  169. {
  170. foreach($contentresult_arr as $res_content)
  171. {
  172. $count_str="SELECT COUNT(c.userid) as total_view FROM (SELECT userid,contentid FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE contentid='".$res_content->contentid."' AND assettopicid='".$res_content->assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid WHERE u.role=4 AND u.is_deleted=0 ".$user_cond." GROUP BY c.contentid LIMIT 1";
  173. $count_arr=$conn->getQueryValue($count_str);
  174. $res_content->total_view=(count($count_arr)>0)?$count_arr[0]->total_view:0;
  175. $total_view+=$res_content->total_view;
  176. $count_str="SELECT COUNT(c.userid) as total_view FROM (SELECT userid,contentid FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE status=2 AND contentid='".$res_content->contentid."' AND assettopicid='".$res_content->assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid WHERE u.role=4 AND u.is_deleted=0 ".$user_cond." GROUP BY c.contentid LIMIT 1";
  177. $count_arr=$conn->getQueryValue($count_str);
  178. $res_content->total_completed=(count($count_arr)>0)?$count_arr[0]->total_view:0;
  179. $total_completed+=$res_content->total_completed;
  180. //$res_content->total_query=$count_str;
  181. $data_arr[]=$res_content;
  182. }
  183. $arr['report'] = $data_arr;
  184. $arr['total'] = array('total_view'=>$total_view,'total_completed'=>$total_completed);
  185. }
  186. $conn->message(true,$conn->getMessage($lang,'report','success1'), $arr);
  187. }else{
  188. $conn->message(false,$conn->getMessage($lang,'report','error1'));
  189. }
  190. }catch (PDOException $e) {
  191. $conn->message(false,$conn->getMessage($lang,'report','error4'));
  192. }
  193. }
  194. // content_report_trainer
  195. function content_report_trainer() {
  196. global $conn;
  197. try {
  198. $lang = "en_us";
  199. $pageData = $conn->loadJSON($lang);
  200. $arr=array('report'=>array(),'total'=>array('total_view'=>0,'total_completed'=>0));
  201. if(isset($_SESSION["userid"]))
  202. {
  203. $cateid = escape_str($_REQUEST["cateid"]);
  204. $user_cond='';
  205. $pn = escape_str($_REQUEST["pn"]);
  206. $nr = escape_str($_REQUEST["nr"]);
  207. $key = escape_str($_REQUEST["key"]);
  208. //CATEGORY
  209. $query_str = "SELECT `cateid`, `catename` FROM ".TABLE_CATEGORY." WHERE cateid='".$cateid."' LIMIT 1";
  210. $cat_arr=$conn->getQueryValue($query_str);
  211. if(!count($cat_arr)>0)
  212. {
  213. $conn->message(false,$conn->getMessage($lang,'report','error2'));
  214. }
  215. //GET ALL CONTENTS OF CATEGORY
  216. $query_str="SELECT c.assettopicid,ca.cateid,c.title,t.topicname,c.contentid,c.title FROM `".TABLE_ASSET_CONTENT."` as c LEFT JOIN ".TABLE_ASSET_TOPIC." as t ON c.assettopicid=t.assettopicid LEFT JOIN ".TABLE_CATEGORY." as ca ON ca.cateid=t.cateid LEFT JOIN ".TABLE_ASSET_FILE." as f ON f.contentid=c.contentid WHERE ca.cateid ='".$cateid."' AND (c.filter_role='' OR FIND_IN_SET(5,c.filter_role)) AND t.is_deleted='0' AND c.is_deleted='0' GROUP BY c.contentid ORDER BY t.position ASC,t.assettopicid ASC,c.contentid ASC ";
  217. $contentresult_arr=$conn->getQueryValue($query_str);
  218. $total_view=0;
  219. $total_completed=0;
  220. if(count($contentresult_arr))
  221. {
  222. foreach($contentresult_arr as $res_content)
  223. {
  224. $count_str="SELECT COUNT(c.userid) as total_view FROM (SELECT userid,contentid FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE contentid='".$res_content->contentid."' AND assettopicid='".$res_content->assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid WHERE u.role=5 AND u.is_deleted=0 ".$user_cond." GROUP BY c.contentid LIMIT 1";
  225. $count_arr=$conn->getQueryValue($count_str);
  226. $res_content->total_view=(count($count_arr)>0)?$count_arr[0]->total_view:0;
  227. $total_view+=$res_content->total_view;
  228. $count_str="SELECT COUNT(c.userid) as total_view FROM (SELECT userid,contentid FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE status=2 AND contentid='".$res_content->contentid."' AND assettopicid='".$res_content->assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid WHERE u.role=5 AND u.is_deleted=0 ".$user_cond." GROUP BY c.contentid LIMIT 1";
  229. $count_arr=$conn->getQueryValue($count_str);
  230. $res_content->total_completed=(count($count_arr)>0)?$count_arr[0]->total_view:0;
  231. $total_completed+=$res_content->total_completed;
  232. //$res_content->total_query=$count_str;
  233. $data_arr[]=$res_content;
  234. }
  235. $arr['report'] = $data_arr;
  236. $arr['total'] = array('total_view'=>$total_view,'total_completed'=>$total_completed);
  237. }
  238. $conn->message(true,$conn->getMessage($lang,'report','success1'), $arr);
  239. }else{
  240. $conn->message(false,$conn->getMessage($lang,'report','error1'));
  241. }
  242. }catch (PDOException $e) {
  243. $conn->message(false,$conn->getMessage($lang,'report','error4'));
  244. }
  245. }
  246. // content_report_rm
  247. function content_report_rm() {
  248. global $conn;
  249. try {
  250. $lang = "en_us";
  251. $pageData = $conn->loadJSON($lang);
  252. $arr=array('report'=>array(),'total'=>array('total_view'=>0,'total_completed'=>0));
  253. if(isset($_SESSION["userid"]))
  254. {
  255. $cateid = escape_str($_REQUEST["cateid"]);
  256. $zm_email = escape_str($_REQUEST["zm_email"]);
  257. $user_cond='';
  258. if(($zm_email!='all' && $zm_email!=''))
  259. {
  260. $mcond='';
  261. $mcond.=($zm_email!='all' && $zm_email!='')?" AND d.zm_email='".$zm_email."'":'';
  262. $user_cond=$mcond;
  263. }else
  264. {
  265. //PAN
  266. $user_cond='';
  267. }
  268. $pn = escape_str($_REQUEST["pn"]);
  269. $nr = escape_str($_REQUEST["nr"]);
  270. $key = escape_str($_REQUEST["key"]);
  271. //CATEGORY
  272. $query_str = "SELECT `cateid`, `catename` FROM ".TABLE_CATEGORY." WHERE cateid='".$cateid."' LIMIT 1";
  273. $cat_arr=$conn->getQueryValue($query_str);
  274. if(!count($cat_arr)>0)
  275. {
  276. $conn->message(false,$conn->getMessage($lang,'report','error2'));
  277. }
  278. //GET ALL CONTENTS OF CATEGORY
  279. $query_str="SELECT c.assettopicid,ca.cateid,c.title,t.topicname,c.contentid,c.title FROM `".TABLE_ASSET_CONTENT."` as c LEFT JOIN ".TABLE_ASSET_TOPIC." as t ON c.assettopicid=t.assettopicid LEFT JOIN ".TABLE_CATEGORY." as ca ON ca.cateid=t.cateid LEFT JOIN ".TABLE_ASSET_FILE." as f ON f.contentid=c.contentid WHERE ca.cateid ='".$cateid."' AND (c.filter_role='' OR FIND_IN_SET(6,c.filter_role)) AND t.is_deleted='0' AND c.is_deleted='0' GROUP BY c.contentid ORDER BY t.position ASC,t.assettopicid ASC,c.contentid ASC ";
  280. $contentresult_arr=$conn->getQueryValue($query_str);
  281. $total_view=0;
  282. $total_completed=0;
  283. if(count($contentresult_arr))
  284. {
  285. foreach($contentresult_arr as $res_content)
  286. {
  287. $count_str="SELECT COUNT(c.userid) as total_view FROM (SELECT userid,contentid FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE contentid='".$res_content->contentid."' AND assettopicid='".$res_content->assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid JOIN ".DMS_DEALER." d ON u.emailid=d.rm_email WHERE u.role=6 AND u.is_deleted=0 ".$user_cond." GROUP BY c.contentid LIMIT 1";
  288. $count_arr=$conn->getQueryValue($count_str);
  289. $res_content->total_view=(count($count_arr)>0)?$count_arr[0]->total_view:0;
  290. $total_view+=$res_content->total_view;
  291. $count_str="SELECT COUNT(c.userid) as total_view FROM (SELECT userid,contentid FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE status=2 AND contentid='".$res_content->contentid."' AND assettopicid='".$res_content->assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid JOIN ".DMS_DEALER." d ON u.emailid=d.rm_email WHERE u.role=6 AND u.is_deleted=0 ".$user_cond." GROUP BY c.contentid LIMIT 1";
  292. $count_arr=$conn->getQueryValue($count_str);
  293. $res_content->total_completed=(count($count_arr)>0)?$count_arr[0]->total_view:0;
  294. $total_completed+=$res_content->total_completed;
  295. //$res_content->total_query=$count_str;
  296. $data_arr[]=$res_content;
  297. }
  298. $arr['report'] = $data_arr;
  299. $arr['total'] = array('total_view'=>$total_view,'total_completed'=>$total_completed);
  300. }
  301. $conn->message(true,$conn->getMessage($lang,'report','success1'), $arr);
  302. }else{
  303. $conn->message(false,$conn->getMessage($lang,'report','error1'));
  304. }
  305. }catch (PDOException $e) {
  306. $conn->message(false,$conn->getMessage($lang,'report','error4'));
  307. }
  308. }
  309. // content_report_am
  310. function content_report_am() {
  311. global $conn;
  312. try {
  313. $lang = "en_us";
  314. $pageData = $conn->loadJSON($lang);
  315. $arr=array('report'=>array(),'total'=>array('total_view'=>0,'total_completed'=>0));
  316. if(isset($_SESSION["userid"]))
  317. {
  318. $cateid = escape_str($_REQUEST["cateid"]);
  319. $zm_email = escape_str($_REQUEST["zm_email"]);
  320. $rm_email = escape_str($_REQUEST["rm_email"]);
  321. $user_cond='';
  322. if(($rm_email!='all' && $rm_email!='')||($zm_email!='all' && $zm_email!=''))
  323. {
  324. $mcond='';
  325. $mcond.=($rm_email!='all' && $rm_email!='')?" AND d.rm_email='".$rm_email."'":'';
  326. $mcond.=($zm_email!='all' && $zm_email!='')?" AND d.zm_email='".$zm_email."'":'';
  327. $user_cond=$mcond;
  328. }else
  329. {
  330. //PAN
  331. $user_cond='';
  332. }
  333. $pn = escape_str($_REQUEST["pn"]);
  334. $nr = escape_str($_REQUEST["nr"]);
  335. $key = escape_str($_REQUEST["key"]);
  336. //CATEGORY
  337. $query_str = "SELECT `cateid`, `catename` FROM ".TABLE_CATEGORY." WHERE cateid='".$cateid."' LIMIT 1";
  338. $cat_arr=$conn->getQueryValue($query_str);
  339. if(!count($cat_arr)>0)
  340. {
  341. $conn->message(false,$conn->getMessage($lang,'report','error2'));
  342. }
  343. //GET ALL CONTENTS OF CATEGORY
  344. $query_str="SELECT c.assettopicid,ca.cateid,c.title,t.topicname,c.contentid,c.title FROM `".TABLE_ASSET_CONTENT."` as c LEFT JOIN ".TABLE_ASSET_TOPIC." as t ON c.assettopicid=t.assettopicid LEFT JOIN ".TABLE_CATEGORY." as ca ON ca.cateid=t.cateid LEFT JOIN ".TABLE_ASSET_FILE." as f ON f.contentid=c.contentid WHERE ca.cateid ='".$cateid."' AND (c.filter_role='' OR FIND_IN_SET(7,c.filter_role)) AND t.is_deleted='0' AND c.is_deleted='0' GROUP BY c.contentid ORDER BY t.position ASC,t.assettopicid ASC,c.contentid ASC ";
  345. $contentresult_arr=$conn->getQueryValue($query_str);
  346. $total_view=0;
  347. $total_completed=0;
  348. if(count($contentresult_arr))
  349. {
  350. foreach($contentresult_arr as $res_content)
  351. {
  352. $count_str="SELECT COUNT(c.userid) as total_view FROM (SELECT userid,contentid FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE contentid='".$res_content->contentid."' AND assettopicid='".$res_content->assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid JOIN ".DMS_DEALER." d ON u.emailid=d.am_email WHERE u.role=7 AND u.is_deleted=0 ".$user_cond." GROUP BY c.contentid LIMIT 1";
  353. $count_arr=$conn->getQueryValue($count_str);
  354. $res_content->total_view=(count($count_arr)>0)?$count_arr[0]->total_view:0;
  355. $total_view+=$res_content->total_view;
  356. $count_str="SELECT COUNT(c.userid) as total_view FROM (SELECT userid,contentid FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE status=2 AND contentid='".$res_content->contentid."' AND assettopicid='".$res_content->assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid JOIN ".DMS_DEALER." d ON u.emailid=d.am_email WHERE u.role=7 AND u.is_deleted=0 ".$user_cond." GROUP BY c.contentid LIMIT 1";
  357. $count_arr=$conn->getQueryValue($count_str);
  358. $res_content->total_completed=(count($count_arr)>0)?$count_arr[0]->total_view:0;
  359. $total_completed+=$res_content->total_completed;
  360. //$res_content->total_query=$count_str;
  361. $data_arr[]=$res_content;
  362. }
  363. $arr['report'] = $data_arr;
  364. $arr['total'] = array('total_view'=>$total_view,'total_completed'=>$total_completed);
  365. }
  366. $conn->message(true,$conn->getMessage($lang,'report','success1'), $arr);
  367. }else{
  368. $conn->message(false,$conn->getMessage($lang,'report','error1'));
  369. }
  370. }catch (PDOException $e) {
  371. $conn->message(false,$conn->getMessage($lang,'report','error4'));
  372. }
  373. }
  374. // content_report_list_zm
  375. function content_report_list_zm() {
  376. global $conn;
  377. try {
  378. $lang = "en_us";
  379. $pageData = $conn->loadJSON($lang);
  380. if(isset($_SESSION["userid"]))
  381. {
  382. $assettopicid = escape_str($_REQUEST["assettopicid"]);
  383. $contentid = escape_str($_REQUEST["contentid"]);
  384. $user_cond='';
  385. $pn = escape_str($_REQUEST["pn"]);
  386. $nr = escape_str($_REQUEST["nr"]);
  387. $key = escape_str($_REQUEST["key"]);
  388. //CONTENT
  389. $query_str="SELECT c.assettopicid,ca.cateid,c.title,t.topicname,c.contentid,c.title FROM `".TABLE_ASSET_CONTENT."` as c LEFT JOIN ".TABLE_ASSET_TOPIC." as t ON c.assettopicid=t.assettopicid LEFT JOIN ".TABLE_CATEGORY." as ca ON ca.cateid=t.cateid LEFT JOIN ".TABLE_ASSET_FILE." as f ON f.contentid=c.contentid WHERE c.contentid ='".$contentid."' AND c.assettopicid='".$assettopicid."' AND t.is_deleted='0' AND c.is_deleted='0' GROUP BY c.contentid LIMIT 1 ";
  390. $content_arr=$conn->getQueryValue($query_str);
  391. if(!count($content_arr)>0)
  392. {
  393. $conn->message(false,$conn->getMessage($lang,'report','error2'));
  394. }
  395. $arr['content'] = $content_arr;
  396. //GET ALL USER
  397. $content_user_str="SELECT SQL_CALC_FOUND_ROWS u.emp_code,u.fname,u.lname,u.mobileno,u.emailid,c.status, CASE WHEN c.status=0 THEN 'Started' WHEN c.status=1 THEN 'In progress' WHEN c.status=2 THEN 'Completed' ELSE 'In progress' END as content_status,c.completeddate FROM (SELECT id,userid,contentid,status,completeddate FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE contentid='".$contentid."' AND assettopicid='".$assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid WHERE u.role=4 ".$user_cond." GROUP BY c.userid ORDER BY c.status DESC,c.id ASC ";
  398. // Pagination
  399. if (!empty($pn) and !empty($nr)) {
  400. // Navigation
  401. $content_user_str.= " LIMIT ".(($pn - 1) * $nr).", ".$nr;
  402. }
  403. $query = $conn->query($content_user_str);
  404. $data_arr=array();
  405. if($query->rowCount()>0)
  406. {
  407. $data_arr = $query->fetchAll(PDO::FETCH_OBJ);
  408. }
  409. $arr['report'] = $data_arr;
  410. // Total records
  411. $rows_query = $conn->query("select FOUND_ROWS() as total_records");
  412. $rows_result = $rows_query->fetchAll(PDO::FETCH_OBJ);
  413. $total_records = $rows_result[0]->total_records;
  414. $arr['total_records'] = $total_records;
  415. $conn->message(true,$conn->getMessage($lang,'report','success1'), $arr);
  416. }else{
  417. $conn->message(false,$conn->getMessage($lang,'report','error1'));
  418. }
  419. }catch (PDOException $e) {
  420. $conn->message(false,$conn->getMessage($lang,'report','error4'));
  421. }
  422. }
  423. // content_report_list_trainer
  424. function content_report_list_trainer() {
  425. global $conn;
  426. try {
  427. $lang = "en_us";
  428. $pageData = $conn->loadJSON($lang);
  429. if(isset($_SESSION["userid"]))
  430. {
  431. $assettopicid = escape_str($_REQUEST["assettopicid"]);
  432. $contentid = escape_str($_REQUEST["contentid"]);
  433. $user_cond='';
  434. $pn = escape_str($_REQUEST["pn"]);
  435. $nr = escape_str($_REQUEST["nr"]);
  436. $key = escape_str($_REQUEST["key"]);
  437. //CONTENT
  438. $query_str="SELECT c.assettopicid,ca.cateid,c.title,t.topicname,c.contentid,c.title FROM `".TABLE_ASSET_CONTENT."` as c LEFT JOIN ".TABLE_ASSET_TOPIC." as t ON c.assettopicid=t.assettopicid LEFT JOIN ".TABLE_CATEGORY." as ca ON ca.cateid=t.cateid LEFT JOIN ".TABLE_ASSET_FILE." as f ON f.contentid=c.contentid WHERE c.contentid ='".$contentid."' AND c.assettopicid='".$assettopicid."' AND t.is_deleted='0' AND c.is_deleted='0' GROUP BY c.contentid LIMIT 1 ";
  439. $content_arr=$conn->getQueryValue($query_str);
  440. if(!count($content_arr)>0)
  441. {
  442. $conn->message(false,$conn->getMessage($lang,'report','error2'));
  443. }
  444. $arr['content'] = $content_arr;
  445. //GET ALL USER
  446. $content_user_str="SELECT SQL_CALC_FOUND_ROWS u.emp_code,u.fname,u.lname,u.mobileno,u.emailid,c.status, CASE WHEN c.status=0 THEN 'Started' WHEN c.status=1 THEN 'In progress' WHEN c.status=2 THEN 'Completed' ELSE 'In progress' END as content_status,c.completeddate FROM (SELECT id,userid,contentid,status,completeddate FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE contentid='".$contentid."' AND assettopicid='".$assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid WHERE u.role=5 ".$user_cond." GROUP BY c.userid ORDER BY c.status DESC,c.id ASC ";
  447. // Pagination
  448. if (!empty($pn) and !empty($nr)) {
  449. // Navigation
  450. $content_user_str.= " LIMIT ".(($pn - 1) * $nr).", ".$nr;
  451. }
  452. $query = $conn->query($content_user_str);
  453. $data_arr=array();
  454. if($query->rowCount()>0)
  455. {
  456. $data_arr = $query->fetchAll(PDO::FETCH_OBJ);
  457. }
  458. $arr['report'] = $data_arr;
  459. // Total records
  460. $rows_query = $conn->query("select FOUND_ROWS() as total_records");
  461. $rows_result = $rows_query->fetchAll(PDO::FETCH_OBJ);
  462. $total_records = $rows_result[0]->total_records;
  463. $arr['total_records'] = $total_records;
  464. $conn->message(true,$conn->getMessage($lang,'report','success1'), $arr);
  465. }else{
  466. $conn->message(false,$conn->getMessage($lang,'report','error1'));
  467. }
  468. }catch (PDOException $e) {
  469. $conn->message(false,$conn->getMessage($lang,'report','error4'));
  470. }
  471. }
  472. // content_report_list_rm
  473. function content_report_list_rm() {
  474. global $conn;
  475. try {
  476. $lang = "en_us";
  477. $pageData = $conn->loadJSON($lang);
  478. if(isset($_SESSION["userid"]))
  479. {
  480. $assettopicid = escape_str($_REQUEST["assettopicid"]);
  481. $contentid = escape_str($_REQUEST["contentid"]);
  482. $zm_email = escape_str($_REQUEST["zm_email"]);
  483. $user_cond='';
  484. if(($zm_email!='all' && $zm_email!=''))
  485. {
  486. $mcond='';
  487. $mcond.=($zm_email!='all' && $zm_email!='')?" AND d.zm_email='".$zm_email."'":'';
  488. $user_cond=$mcond;
  489. }else
  490. {
  491. //PAN
  492. $user_cond='';
  493. }
  494. $pn = escape_str($_REQUEST["pn"]);
  495. $nr = escape_str($_REQUEST["nr"]);
  496. $key = escape_str($_REQUEST["key"]);
  497. //CONTENT
  498. $query_str="SELECT c.assettopicid,ca.cateid,c.title,t.topicname,c.contentid,c.title FROM `".TABLE_ASSET_CONTENT."` as c LEFT JOIN ".TABLE_ASSET_TOPIC." as t ON c.assettopicid=t.assettopicid LEFT JOIN ".TABLE_CATEGORY." as ca ON ca.cateid=t.cateid LEFT JOIN ".TABLE_ASSET_FILE." as f ON f.contentid=c.contentid WHERE c.contentid ='".$contentid."' AND c.assettopicid='".$assettopicid."' AND t.is_deleted='0' AND c.is_deleted='0' GROUP BY c.contentid LIMIT 1 ";
  499. $content_arr=$conn->getQueryValue($query_str);
  500. if(!count($content_arr)>0)
  501. {
  502. $conn->message(false,$conn->getMessage($lang,'report','error2'));
  503. }
  504. $arr['content'] = $content_arr;
  505. //$content_user_str="SELECT SQL_CALC_FOUND_ROWS u.emp_code,u.fname,u.lname,u.mobileno,u.emailid,c.status, CASE WHEN c.status=0 THEN 'Started' WHEN c.status=1 THEN 'In progress' WHEN c.status=2 THEN 'Completed' ELSE 'In progress' END as content_status,c.completeddate FROM (SELECT id,userid,contentid,status,completeddate FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE contentid='".$contentid."' AND assettopicid='".$assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid WHERE AND u.role=5 ".$user_cond." GROUP BY c.userid ORDER BY c.status DESC,c.id ASC ";
  506. //GET ALL USER
  507. $content_user_str="SELECT SQL_CALC_FOUND_ROWS u.emp_code,u.fname,u.lname,u.mobileno,u.emailid,c.status, CASE WHEN c.status=0 THEN 'Started' WHEN c.status=1 THEN 'In progress' WHEN c.status=2 THEN 'Completed' ELSE 'In progress' END as content_status,c.completeddate FROM (SELECT id,userid,contentid,status,completeddate FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE contentid='".$contentid."' AND assettopicid='".$assettopicid."')c JOIN ".TABLE_USER." u ON u.userid=c.userid JOIN ".DMS_DEALER." as d ON d.rm_email=u.emailid WHERE u.role=6 ".$user_cond." GROUP BY c.userid ORDER BY c.status DESC,c.id ASC ";
  508. // Pagination
  509. if (!empty($pn) and !empty($nr)) {
  510. // Navigation
  511. $content_user_str.= " LIMIT ".(($pn - 1) * $nr).", ".$nr;
  512. }
  513. $query = $conn->query($content_user_str);
  514. $data_arr=array();
  515. if($query->rowCount()>0)
  516. {
  517. $data_arr = $query->fetchAll(PDO::FETCH_OBJ);
  518. }
  519. $arr['report'] = $data_arr;
  520. // Total records
  521. $rows_query = $conn->query("select FOUND_ROWS() as total_records");
  522. $rows_result = $rows_query->fetchAll(PDO::FETCH_OBJ);
  523. $total_records = $rows_result[0]->total_records;
  524. $arr['total_records'] = $total_records;
  525. $conn->message(true,$conn->getMessage($lang,'report','success1'), $arr);
  526. }else{
  527. $conn->message(false,$conn->getMessage($lang,'report','error1'));
  528. }
  529. }catch (PDOException $e) {
  530. $conn->message(false,$conn->getMessage($lang,'report','error4'));
  531. }
  532. }
  533. // content_report_list_am
  534. function content_report_list_am() {
  535. global $conn;
  536. try {
  537. $lang = "en_us";
  538. $pageData = $conn->loadJSON($lang);
  539. if(isset($_SESSION["userid"]))
  540. {
  541. $assettopicid = escape_str($_REQUEST["assettopicid"]);
  542. $contentid = escape_str($_REQUEST["contentid"]);
  543. $zm_email = escape_str($_REQUEST["zm_email"]);
  544. $rm_email = escape_str($_REQUEST["rm_email"]);
  545. $user_cond='';
  546. if(($rm_email!='all' && $rm_email!='')||($zm_email!='all' && $zm_email!=''))
  547. {
  548. $mcond='';
  549. $mcond.=($rm_email!='all' && $rm_email!='')?" AND d.rm_email='".$rm_email."'":'';
  550. $mcond.=($zm_email!='all' && $zm_email!='')?" AND d.zm_email='".$zm_email."'":'';
  551. $user_cond=$mcond;
  552. }else
  553. {
  554. //PAN
  555. $user_cond='';
  556. }
  557. $pn = escape_str($_REQUEST["pn"]);
  558. $nr = escape_str($_REQUEST["nr"]);
  559. $key = escape_str($_REQUEST["key"]);
  560. //CONTENT
  561. $query_str="SELECT c.assettopicid,ca.cateid,c.title,t.topicname,c.contentid,c.title FROM `".TABLE_ASSET_CONTENT."` as c LEFT JOIN ".TABLE_ASSET_TOPIC." as t ON c.assettopicid=t.assettopicid LEFT JOIN ".TABLE_CATEGORY." as ca ON ca.cateid=t.cateid LEFT JOIN ".TABLE_ASSET_FILE." as f ON f.contentid=c.contentid WHERE c.contentid ='".$contentid."' AND c.assettopicid='".$assettopicid."' AND t.is_deleted='0' AND c.is_deleted='0' GROUP BY c.contentid LIMIT 1 ";
  562. $content_arr=$conn->getQueryValue($query_str);
  563. if(!count($content_arr)>0)
  564. {
  565. $conn->message(false,$conn->getMessage($lang,'report','error2'));
  566. }
  567. $arr['content'] = $content_arr;
  568. //$content_user_str="SELECT SQL_CALC_FOUND_ROWS u.emp_code,u.fname,u.lname,u.mobileno,u.emailid,c.status, CASE WHEN c.status=0 THEN 'Started' WHEN c.status=1 THEN 'In progress' WHEN c.status=2 THEN 'Completed' ELSE 'In progress' END as content_status,c.completeddate FROM (SELECT id,userid,contentid,status,completeddate FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE contentid='".$contentid."' AND assettopicid='".$assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid WHERE AND u.role=5 ".$user_cond." GROUP BY c.userid ORDER BY c.status DESC,c.id ASC ";
  569. //GET ALL USER
  570. $content_user_str="SELECT SQL_CALC_FOUND_ROWS u.emp_code,u.fname,u.lname,u.mobileno,u.emailid,c.status, CASE WHEN c.status=0 THEN 'Started' WHEN c.status=1 THEN 'In progress' WHEN c.status=2 THEN 'Completed' ELSE 'In progress' END as content_status,c.completeddate FROM (SELECT id,userid,contentid,status,completeddate FROM `".TABLE_USER_COMPLETE_CONTENT."` WHERE contentid='".$contentid."' AND assettopicid='".$assettopicid."') c JOIN ".TABLE_USER." u ON u.userid=c.userid JOIN ".DMS_DEALER." as d ON d.am_email=u.emailid WHERE u.role=7 ".$user_cond." GROUP BY c.userid ORDER BY c.status DESC,c.id ASC ";
  571. // Pagination
  572. if (!empty($pn) and !empty($nr)) {
  573. // Navigation
  574. $content_user_str.= " LIMIT ".(($pn - 1) * $nr).", ".$nr;
  575. }
  576. $query = $conn->query($content_user_str);
  577. $data_arr=array();
  578. if($query->rowCount()>0)
  579. {
  580. $data_arr = $query->fetchAll(PDO::FETCH_OBJ);
  581. }
  582. $arr['report'] = $data_arr;
  583. // Total records
  584. $rows_query = $conn->query("select FOUND_ROWS() as total_records");
  585. $rows_result = $rows_query->fetchAll(PDO::FETCH_OBJ);
  586. $total_records = $rows_result[0]->total_records;
  587. $arr['total_records'] = $total_records;
  588. $conn->message(true,$conn->getMessage($lang,'report','success1'), $arr);
  589. }else{
  590. $conn->message(false,$conn->getMessage($lang,'report','error1'));
  591. }
  592. }catch (PDOException $e) {
  593. $conn->message(false,$conn->getMessage($lang,'report','error4'));
  594. }
  595. }
  596. ?>