excelupload.php 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677
  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 "dsedata":
  10. case "dsesalesdata":
  11. case "dsecertification":
  12. $fun();
  13. break;
  14. }
  15. }
  16. //USERS DSE
  17. function dsedata() {
  18. global $conn;
  19. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  20. try {
  21. if(isset($_SESSION["userid"]))
  22. {
  23. if(isset($_FILES['file']) && $_FILES['file']['name'])
  24. {
  25. $obj = new stdClass();
  26. $obj->filekey = 'file';
  27. $obj->size = '10'; //IN MB
  28. $obj->type = array('xlsx');
  29. $conn->validateFile($obj);
  30. $obj->path = "../hypermupload/import/";
  31. $obj->filename = 'import_dse_'.date('Ymd')."_".uniqid();
  32. $import_file = $conn->uploadFile($obj);
  33. }else
  34. {
  35. $conn->message(false,$conn->getMessage($lang,'excelupload','error2'));
  36. }
  37. require('excelreader/excel_reader2.php');
  38. require('excelreader/SpreadsheetReader.php');
  39. $Spreadsheet = new SpreadsheetReader('../hypermupload/import/'.$import_file);
  40. $Spreadsheet -> ChangeSheet(0);
  41. $update_emp=array();
  42. $update_arr=array();
  43. $ins_arr=array();
  44. $no_update_smpin=array();
  45. $log_arr=array();
  46. $smpin_arr=array();
  47. $header_arr=array("S.No","SMPIN","EMPLOYEE CODE","DEALER CODE","FIRST NAME","LAST NAME","EMAILID","MOBILE","DATE OF JOIN","SEGMENT");
  48. foreach ($Spreadsheet as $Key => $Row)
  49. {
  50. if($Key<=1)
  51. {
  52. if($Key==0)
  53. {
  54. if(!(strpos(strtolower($Row[0]), 'import user' ) !== false)||$Row[0]=='') {
  55. $conn->message(false,$conn->getMessage($lang,'excelupload','error3'));
  56. }
  57. }else
  58. {
  59. if(count($Row)>=9 || count($Row)>=10)
  60. {
  61. foreach($Row as $m=>$val)
  62. {
  63. if($header_arr[$m]!=$val)
  64. {
  65. $conn->message(false,$conn->getMessage($lang,'excelupload','error3'));
  66. }
  67. }
  68. }else
  69. {
  70. $conn->message(false,$conn->getMessage($lang,'excelupload','error3'));
  71. }
  72. }
  73. }else
  74. { //S.No SMPIN EMPLOYEE CODE DEALER CODE FIRST NAME LAST NAME EMAILID MOBILE DATE OF JOIN
  75. $i=1;
  76. $smpin = trim(escape_str($Row[$i++]));
  77. $emp_code = trim(escape_str($Row[$i++]));
  78. $dealer_code = trim(escape_str($Row[$i++]));
  79. $fname = trim(escape_str($Row[$i++]));
  80. $lname = trim(escape_str($Row[$i++]));
  81. $email = trim(escape_str($Row[$i++]));
  82. $mobile = trim(escape_str($Row[$i++]));
  83. $doj = trim(escape_str($Row[$i++]));
  84. $doj = date('Y-m-d',strtotime($doj));
  85. $segment_str =(count($Row)>=10)? strtolower(trim(escape_str($Row[$i++]))):'0';
  86. switch($segment_str)
  87. {
  88. case 'Parents/Guardian': $segment='1';
  89. break;
  90. case 'Instructor':$segment='2';
  91. break;
  92. default:
  93. $segment='0';
  94. break;
  95. }
  96. if($smpin!='')
  97. {
  98. $smpin_arr[]=$smpin;
  99. $query_str = "SELECT * FROM ".DMS_EMPLOYEE." WHERE smpin='".$smpin."' LIMIT 1 ";
  100. $result_arr=$conn->getQueryValue($query_str);
  101. if(count($result_arr)>0)
  102. {
  103. if($result_arr[0]->emp_code!=$smpin || $result_arr[0]->fname!=$fname || $result_arr[0]->lname!=$lname || $result_arr[0]->dealer_code!=$dealer_code || $result_arr[0]->mobile!=$mobile || $result_arr[0]->date_of_join!=$doj || $result_arr[0]->segment!=$segment)
  104. {
  105. $segment_str=($segment==0)?"":",segment='".$segment."'";
  106. $update_emp[]=" UPDATE `".DMS_EMPLOYEE."` SET `emp_code`='".$smpin."', `fname`='".$fname."', `lname`='".$lname."', `dealer_code`= '".$dealer_code."',mobile='".$mobile."', `date_of_join`='".$doj."' ".$segment_str.", `modified_on`='".NOW."',status=1,is_current=1 WHERE smpin='".$smpin."';";
  107. }else
  108. {
  109. $no_update_smpin[]=$smpin;
  110. }
  111. $query_str = "SELECT * FROM ".TABLE_USER." WHERE smpin='".$smpin."' AND role>7 LIMIT 1 ";
  112. $user_result_arr=$conn->getQueryValue($query_str);
  113. if(count($user_result_arr)>0)
  114. {
  115. if($user_result_arr[0]->emp_code!=$smpin || $user_result_arr[0]->fname!=$fname || $user_result_arr[0]->lname!=$lname || $user_result_arr[0]->dealer_code!=$dealer_code || $user_result_arr[0]->mobileno!=$mobile || $user_result_arr[0]->doj!=$doj|| $user_result_arr[0]->segment!=$segment)
  116. {
  117. $segment_str=($segment==0)?"":",segment='".$segment."'";
  118. $update_arr[]=" UPDATE `".TABLE_USER."` SET `emp_code`='".$smpin."', `fname`='".$fname."', `lname`='".$lname."', `dealer_code`= '".$dealer_code."',mobileno='".$mobile."', `doj`='".$doj."' ".$segment_str." WHERE role>7 AND smpin='".$smpin."';";
  119. }
  120. }
  121. }else
  122. {
  123. //$ins_arr[]="`smpin`, `emp_code`, `fname`, `lname`, `dealer_code`, `role`, `mobile`, `date_of_join`, `status`, `created_on`, `modified_on`)";
  124. $ins_arr[]=" ('".$smpin."', '".$smpin."', '".$fname."', '".$lname."', '".$dealer_code."', 'Sales Executive(DSE)','".$mobile."', '".$doj."','".$segment."','1','1', '".NOW."', '".NOW."')";
  125. }
  126. $log_arr[]=" ('".$smpin."', '".$smpin."', '".$fname."', '".$lname."', '".$dealer_code."', 'Sales Executive(DSE)','".$mobile."', '".$doj."','".$segment."','1','1', '".NOW."', '".NOW."')";
  127. }
  128. }
  129. }
  130. //OLD STATUS
  131. $update_str=" UPDATE `tbl__dms_employee` SET is_current=0 WHERE is_current=1";
  132. $conn->executeQuery($update_str);
  133. //INSERT EMPLOYEE
  134. if(count($ins_arr)>0)
  135. {
  136. $insert_chunk=array_chunk($ins_arr, 1000);
  137. foreach($insert_chunk as $chunk_ins)
  138. {
  139. $insert_str="INSERT INTO `".DMS_EMPLOYEE."`(`smpin`, `emp_code`, `fname`, `lname`, `dealer_code`, `role`, `mobile`, `date_of_join`,segment, `status`,is_current, `created_on`, `modified_on`) VALUES ".@implode(',',$chunk_ins);
  140. $conn->executeQuery($insert_str);
  141. }
  142. }
  143. //EMPLOYEE LOG
  144. if(count($log_arr)>0)
  145. {
  146. //DELETE LOG
  147. $delete_chunk=array_chunk($smpin_arr, 500);
  148. foreach($delete_chunk as $delete_smpin)
  149. {
  150. $delete_smpin_str = array_map("quotes_array", $delete_smpin);
  151. $delete_str="DELETE FROM ".DMS_EMPLOYEE_LOG." WHERE DATE_FORMAT(created_on,'%Y-%m-%d')='".CUR_DATE."' AND smpin IN (".@implode(',',$delete_smpin_str).")" ;
  152. $conn->executeQuery($delete_str);
  153. }
  154. $insert_chunk=array_chunk($log_arr, 1000);
  155. foreach($insert_chunk as $chunk_ins)
  156. {
  157. $insert_str="INSERT INTO `".DMS_EMPLOYEE_LOG."`(`smpin`, `emp_code`, `fname`, `lname`, `dealer_code`, `role`, `mobile`, `date_of_join`,segment, `status`,is_current, `created_on`, `modified_on`) VALUES ".@implode(',',$chunk_ins);
  158. $conn->executeQuery($insert_str);
  159. }
  160. }
  161. //UPDATE modified_on
  162. if(count($no_update_smpin)>0)
  163. {
  164. $update_chunk=array_chunk($no_update_smpin, 1000);
  165. foreach($update_chunk as $chunk_ins)
  166. {
  167. $quotes_smpin = array_map("quotes_array",$chunk_ins);
  168. $update_str=" UPDATE `".DMS_EMPLOYEE."` SET `modified_on`='".NOW."',status=1,is_current=1 WHERE smpin IN (".@implode(',',$quotes_smpin).");";
  169. $conn->executeQuery($update_str);
  170. }
  171. }
  172. $insert_count=count($ins_arr);
  173. $query_str = "SELECT smpin FROM `".DMS_EMPLOYEE_LOG."` GROUP BY smpin HAVING COUNT(smpin)>5 " ;
  174. $log_arr=$conn->getQueryValue($query_str);
  175. if(count($log_arr)>0)
  176. {
  177. foreach($log_arr as $res_log)
  178. {
  179. //DELETE LAST created_on
  180. $query_str = "DELETE from ".DMS_EMPLOYEE_LOG." WHERE smpin='".$res_log->smpin."' order by created_on ASC limit 1" ;
  181. $conn->executeQuery($query_str);
  182. }
  183. }
  184. //UPDATE EMPLOYEE
  185. if(count($update_emp)>0)
  186. {
  187. foreach($update_emp as $emp)
  188. {
  189. $conn->executeQuery($emp);
  190. }
  191. }
  192. $update_count=count($update_emp);
  193. //UPDATE USER
  194. if(count($update_arr)>0)
  195. {
  196. foreach($update_arr as $user)
  197. {
  198. $conn->executeQuery($user);
  199. }
  200. }
  201. @unlink("../hypermupload/import/".$import_file);
  202. $arr=array('insert'=>$insert_count,'upload'=>$update_count);
  203. $conn->message(true,$conn->getMessage($lang,'excelupload','success1'),$arr );
  204. }else {
  205. $conn->message(false,$conn->getMessage($lang,'excelupload','error1'));
  206. }
  207. }
  208. catch(PDOException $e) {
  209. $conn->message(false,$conn->getMessage($lang,'excelupload','error4'));
  210. }
  211. }
  212. //DSE SALES
  213. function dsesalesdata() {
  214. global $conn;
  215. try {
  216. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  217. if(isset($_SESSION["userid"]))
  218. {
  219. if(isset($_FILES['file']) && $_FILES['file']['name'])
  220. {
  221. $obj = new stdClass();
  222. $obj->filekey = 'file';
  223. $obj->size = '10'; //IN MB
  224. $obj->type = array('csv');
  225. $conn->validateFile($obj);
  226. $obj->path = "../hypermupload/import/";
  227. $obj->filename = 'import_dsesales_'.date('Ymd')."_".uniqid();
  228. $import_file = $conn->uploadFile($obj);
  229. }else
  230. {
  231. $conn->message(false,$conn->getMessage($lang,'excelupload','error2'));
  232. }
  233. $salesdate=escape_str($_REQUEST["salesdate"]);
  234. if(!$salesdate)
  235. {
  236. $conn->message(false,$conn->getMessage($lang,'excelupload','error4'));
  237. }
  238. $salesdate=date('Y-m-',strtotime($salesdate))."01";
  239. require('excelreader/excel_reader2.php');
  240. require('excelreader/SpreadsheetReader.php');
  241. $Spreadsheet = new SpreadsheetReader('../hypermupload/import/'.$import_file);
  242. $Spreadsheet -> ChangeSheet(0);
  243. $update_emp=array();
  244. $update_arr=array();
  245. $ins_arr=array();
  246. $header_arr=array("SMPIN","MUL Dealer Code","Dealer Name","Model Name","Net Retail as on Date");
  247. foreach ($Spreadsheet as $Key => $Row)
  248. {
  249. if($Key==0)
  250. {
  251. //heading
  252. if(count($Row)>=4)
  253. {
  254. foreach($Row as $m=>$val)
  255. {
  256. if($header_arr[$m]!=$val)
  257. {
  258. $conn->message(false,$conn->getMessage($lang,'excelupload','error3'));
  259. }
  260. }
  261. }else
  262. {
  263. $conn->message(false,$conn->getMessage($lang,'excelupload','error3'));
  264. }
  265. }else
  266. { //S.No SMPIN EMPLOYEE CODE DEALER CODE FIRST NAME LAST NAME EMAILID MOBILE DATE OF JOIN
  267. $i=0;
  268. $smpin = trim(escape_str($Row[$i++]));
  269. $dealer_code = trim(escape_str($Row[$i++]));
  270. $dealer_name = trim(escape_str($Row[$i++]));
  271. $model = trim(escape_str($Row[$i++]));
  272. $sales_count = trim(escape_str($Row[$i++]));
  273. if($smpin!='')
  274. {
  275. switch(strtolower($model))
  276. {
  277. case "access-z":
  278. case "access":
  279. $model_name="ACCESS 125";
  280. break;
  281. case "burgman":
  282. $model_name="BURGMAN";
  283. break;
  284. case "gixxer-sf":
  285. case "gixxer":
  286. $model_name="GIXXER";
  287. break;
  288. case "gl150":
  289. $model_name="INTRUDER";
  290. break;
  291. case "hayate":
  292. case "let's":
  293. case "let\'s":
  294. $model_name="OTHERS";
  295. break;
  296. default : $model_name=''; break;
  297. }
  298. if($model_name==''){continue;}
  299. $ins_arr[]=" ('".$smpin."', '".$model_name."', '".$salesdate."', '".$sales_count."', '".NOW."', '".NOW."')";
  300. }
  301. }
  302. }
  303. if(count($ins_arr)>0)
  304. {
  305. //DELETE OLD
  306. $delete_str = "DELETE FROM ".DMS_EMPLOYEE_SALES." WHERE `sale_date`='".$salesdate."'";
  307. $deletequery = $conn->executeQuery($delete_str);
  308. $query_str = "SELECT `id` FROM ".DMS_EMPLOYEE_SALES." ORDER BY id desc LIMIT 1";
  309. $result_arr=$conn->getQueryValue($query_str);
  310. if(count($result_arr)>0)
  311. {
  312. $autoinc=$result_arr[0]->id+1;
  313. }else
  314. {
  315. $autoinc=1;
  316. }
  317. //AUTOINCREMENT UPDATE
  318. $conn->executeQuery("ALTER TABLE ".DMS_EMPLOYEE_SALES." auto_increment = ".$autoinc);
  319. $insert_chunk=array_chunk($ins_arr, 1000);
  320. foreach($insert_chunk as $chunk_ins)
  321. {
  322. $insert_str= "INSERT INTO ".DMS_EMPLOYEE_SALES."( `smpin`, `model`, `sale_date`, `sales_count`, `created_on`, `modified_on`) VALUES ".@implode(',',$chunk_ins);
  323. $conn->executeQuery($insert_str);
  324. }
  325. }
  326. @unlink("../hypermupload/import/".$import_file);
  327. $arr=array('insert'=>$ins_arr );
  328. $conn->message(true,$conn->getMessage($lang,'excelupload','success1'),$arr );
  329. }else {
  330. $conn->message(false,$conn->getMessage($lang,'excelupload','error1'));
  331. }
  332. }
  333. catch(PDOException $e) {
  334. $conn->message(false,$conn->getMessage($lang,'excelupload','error4'));
  335. }
  336. }
  337. //DSE CERTIFICATION
  338. function dsecertification() {
  339. global $conn;
  340. try {
  341. $lang = (isset($_REQUEST["lang"]))?$_REQUEST["lang"]:'en_us';
  342. $_SESSION["userid"]=1;
  343. if(isset($_SESSION["userid"]))
  344. {
  345. if(isset($_FILES['file']) && $_FILES['file']['name'])
  346. {
  347. $obj = new stdClass();
  348. $obj->filekey = 'file';
  349. $obj->size = '30'; //IN MB
  350. $obj->type = array('xlsx');
  351. $conn->validateFile($obj);
  352. $obj->path = "../hypermupload/import/";
  353. $obj->filename = 'import_dsecertification_'.date('Ymd')."_".uniqid();
  354. $import_file = $conn->uploadFile($obj);
  355. }else
  356. {
  357. $conn->message(false,$conn->getMessage($lang,'excelupload','error2'));
  358. }
  359. require('excelreader/excel_reader2.php');
  360. require('excelreader/SpreadsheetReader.php');
  361. $Spreadsheet = new SpreadsheetReader('../hypermupload/import/'.$import_file);
  362. $Spreadsheet -> ChangeSheet(0);
  363. $smpin_arr=array();
  364. $ins_arr=array();
  365. $ins_qryarr=array();
  366. $ins_historyarr=array();
  367. $update_pointarr=array();
  368. $log_insert=array();
  369. $header_arr=array("S.No","SMPIN","CERTIFICATE","FINAL STATUS","SEGMENT");
  370. foreach ($Spreadsheet as $Key => $Row)
  371. {
  372. if($Key==0)
  373. {
  374. //heading
  375. if(count($Row)>=5)
  376. {
  377. foreach($Row as $m=>$val)
  378. {
  379. if(strtolower($header_arr[$m])!=strtolower($val))
  380. {
  381. $conn->message(false,$conn->getMessage($lang,'excelupload','error3'));
  382. }
  383. }
  384. }else
  385. {
  386. $conn->message(false,$conn->getMessage($lang,'excelupload','error3'));
  387. }
  388. }else
  389. { //"S.No","SMPIN","CERTIFICATE","FINAL STATUS","SEGMENT"
  390. if(!count($Row)==5)
  391. {
  392. $conn->message(false,$conn->getMessage($lang,'excelupload','error3'));
  393. }
  394. $i=1;
  395. $smpin = trim(escape_str($Row[$i++]));
  396. $certificate = trim(escape_str($Row[$i++]));
  397. $certificate_status = trim(escape_str($Row[$i++]));
  398. if($smpin!='')
  399. {
  400. //CHECK SMPIN ALREDY EXIST
  401. if(in_array($smpin, $smpin_arr))
  402. {
  403. $conn->message(false, "SMPIN REPEATING IN ROW NO.".($Key+1).".");
  404. }
  405. $smpin_arr[]=$smpin;
  406. //certificate STRING CHECK
  407. if(!in_array(strtolower($certificate_status),array('certified','not certified','not-certified','de-certified','de certified')))
  408. {
  409. $conn->message(false, "INVALID STATUS IN ROW NO.".($Key+1).".");
  410. }
  411. $c_status = (strtolower($certificate_status)=='certified')?"3":"2";
  412. if($c_status=='3')
  413. {
  414. //SMPIN COMPLETED CERTIFICATION
  415. $smpin_arr[]="'".$smpin."'";
  416. switch(strtolower($certificate))
  417. {
  418. case 'base':
  419. $ins_qryarr[]=" ('".$smpin."','1', '".$c_status."','0','".NOW."', '".NOW."')";
  420. $ins_qryarr[]=" ('".$smpin."','2', '0','1','".NOW."', '".NOW."')";
  421. //LOG
  422. $log_insert[]=" ('".$smpin."',1, 1,'".NOW."', '".NOW."')";
  423. break;
  424. case 'bronze':
  425. $ins_qryarr[]=" ('".$smpin."','1', '".$c_status."','0','".NOW."', '".NOW."')";
  426. $ins_qryarr[]=" ('".$smpin."','2', '".$c_status."','0','".NOW."', '".NOW."')";
  427. $ins_qryarr[]=" ('".$smpin."','3', '0','1','".NOW."', '".NOW."')";
  428. //LOG
  429. $log_insert[]=" ('".$smpin."',2, 1,'".NOW."', '".NOW."')";
  430. $query_str = "SELECT `eid` FROM ".TABLE_USER_EPOINTS." WHERE smpin='".$smpin."'";
  431. $result_arr=$conn->getQueryValue($query_str);
  432. if(count($result_arr)>0)
  433. {
  434. $history_str = "SELECT * FROM ".TABLE_USER_EPOINTS_HISTORY." WHERE smpin='".$smpin."' AND type='reward_bronze' LIMIT 1";
  435. $history_arr=$conn->getQueryValue($history_str);
  436. if(count($history_arr)>0)
  437. {
  438. }else
  439. {
  440. $update_pointarr[]=" UPDATE ".TABLE_USER_EPOINTS." SET points=points+".REWARD_POINTS_BRONZE." WHERE smpin='".$smpin."' ";
  441. $ins_historyarr[]="( '".$smpin."','reward_bronze','0','Points for completion of Bronze Level - Learning path','".REWARD_POINTS_BRONZE."','C','".NOW."', '".NOW."' )";
  442. }
  443. }else
  444. {
  445. $ins_pointarr[]="( '".$smpin."','".REWARD_POINTS_BRONZE."','".NOW."', '".NOW."' )";
  446. }
  447. break;
  448. case 'silver':
  449. $ins_qryarr[]=" ('".$smpin."','1', '".$c_status."','0','".NOW."', '".NOW."')";
  450. $ins_qryarr[]=" ('".$smpin."','2', '".$c_status."','0','".NOW."', '".NOW."')";
  451. $ins_qryarr[]=" ('".$smpin."','3', '".$c_status."','0','".NOW."', '".NOW."')";
  452. $ins_qryarr[]=" ('".$smpin."','4', '0','1','".NOW."', '".NOW."')";
  453. //LOG
  454. $log_insert[]=" ('".$smpin."',3, 1,'".NOW."', '".NOW."' )";
  455. $query_str = "SELECT `eid` FROM ".TABLE_USER_EPOINTS." WHERE smpin='".$smpin."'";
  456. $result_arr=$conn->getQueryValue($query_str);
  457. if(count($result_arr)>0)
  458. {
  459. $history_str = "SELECT * FROM ".TABLE_USER_EPOINTS_HISTORY." WHERE smpin='".$smpin."' AND type='reward_silver' LIMIT 1";
  460. $history_arr=$conn->getQueryValue($history_str);
  461. if(count($history_arr)>0)
  462. {
  463. }else
  464. {
  465. $update_pointarr[]=" UPDATE ".TABLE_USER_EPOINTS." SET points=points+".REWARD_POINTS_SILVER." WHERE smpin='".$smpin."' ";
  466. $ins_historyarr[]=" ('".$smpin."','reward_silver','0','Points for completion of Silver Level - Learning path','".REWARD_POINTS_SILVER."','C','".NOW."', '".NOW."' )";
  467. }
  468. }else
  469. {
  470. $ins_pointarr[]="( '".$smpin."','".REWARD_POINTS_SILVER."','".NOW."', '".NOW."' )";
  471. }
  472. break;
  473. case 'gold':
  474. $ins_qryarr[]=" ('".$smpin."','1', '".$c_status."','0','".NOW."', '".NOW."')";
  475. $ins_qryarr[]=" ('".$smpin."','2', '".$c_status."','0','".NOW."', '".NOW."')";
  476. $ins_qryarr[]=" ('".$smpin."','3', '".$c_status."','0','".NOW."', '".NOW."')";
  477. $ins_qryarr[]=" ('".$smpin."','4', '".$c_status."','0','".NOW."', '".NOW."')";
  478. $log_insert[]="( '".$smpin."',4, 1,'".NOW."', '".NOW."' )";
  479. $query_str = "SELECT `eid` FROM ".TABLE_USER_EPOINTS." WHERE smpin='".$smpin."'";
  480. $result_arr=$conn->getQueryValue($query_str);
  481. if(count($result_arr)>0)
  482. {
  483. $history_str = "SELECT * FROM ".TABLE_USER_EPOINTS_HISTORY." WHERE smpin='".$smpin."' AND type='reward_gold' LIMIT 1";
  484. $history_arr=$conn->getQueryValue($history_str);
  485. if(count($history_arr)>0)
  486. {
  487. }else
  488. {
  489. $update_pointarr[]=" UPDATE ".TABLE_USER_EPOINTS." SET points=points+".REWARD_POINTS_GOLD." WHERE smpin='".$smpin."' ";
  490. $ins_historyarr[]=" ('".$smpin."','reward_gold','0','Points for completion of Gold Level - Learning path','".REWARD_POINTS_GOLD."','C','".NOW."', '".NOW."' )";
  491. }
  492. }else
  493. {
  494. $ins_pointarr[]=" ('".$smpin."','".REWARD_POINTS_GOLD."','".NOW."', '".NOW."' )";
  495. }
  496. break;
  497. default:
  498. $conn->message(false, "INVALID CERTIFICATE IN ROW NO.".($Key+1).".");
  499. break;
  500. }
  501. }else
  502. {
  503. $lvl_id=0;
  504. switch(strtolower($certificate))
  505. {
  506. case 'base':
  507. $lvl_id=1;
  508. break;
  509. case 'bronze':
  510. $lvl_id=2;
  511. break;
  512. case 'silver':
  513. $lvl_id=3;
  514. break;
  515. case 'gold':
  516. $lvl_id=4;
  517. break;
  518. default:
  519. $conn->message(false, "INVALID CERTIFICATE IN ROW NO.".($Key+1).".");
  520. break;
  521. }
  522. //FAILED IN CERTIFICATION
  523. $log_insert[]="( '".$smpin."','".$lvl_id."', 0,'".NOW."', '".NOW."' )";
  524. }
  525. }
  526. }
  527. }
  528. //DELETE CURRENT LEARNING
  529. if(count($smpin_arr)>0)
  530. {
  531. $smpin_chunk=array_chunk($smpin_arr, 1000);
  532. foreach($smpin_chunk as $delete_smpin)
  533. {
  534. $conn->executeQuery("DELETE FROM ".TABLE_USER_LEARNING." WHERE smpin IN (".@implode(',',$delete_smpin).")");
  535. }
  536. }
  537. //INSERT LEARNING
  538. if(count($ins_qryarr)>0)
  539. {
  540. $insert_chunk=array_chunk($ins_qryarr, 1000);
  541. foreach($insert_chunk as $chunk_ins)
  542. {
  543. $conn->executeQuery("INSERT INTO ".TABLE_USER_LEARNING." ( `smpin`, `lvl_id`, `status`, `current_status`, `created_on`, `modified_on`) VALUES ".@implode(',',$chunk_ins));
  544. }
  545. }
  546. //INSERT POINTS
  547. if(count($ins_pointarr)>0)
  548. {
  549. $insert_chunk=array_chunk($ins_pointarr, 1000);
  550. foreach($insert_chunk as $chunk_ins)
  551. {
  552. $conn->executeQuery("INSERT INTO ".TABLE_USER_EPOINTS." ( `smpin`, `points`, `created_on`, `modified_on`) VALUES ".@implode(',',$chunk_ins)); }
  553. }
  554. //INSERT HISTROY
  555. if(count($ins_historyarr)>0)
  556. {
  557. $insert_chunk=array_chunk($ins_historyarr, 1000);
  558. foreach($insert_chunk as $chunk_ins)
  559. {
  560. $conn->executeQuery("INSERT INTO ".TABLE_USER_EPOINTS_HISTORY." ( `smpin`, `type`, `type_id`, `description`, `points`, `transaction_type`, `created_on`, `modified_on`) VALUES ".@implode(',',$chunk_ins));
  561. }
  562. }
  563. //UPDATE POINTS
  564. if(count($update_pointarr)>0)
  565. {
  566. foreach($update_pointarr as $val)
  567. {
  568. $conn->executeQuery($val);
  569. }
  570. }
  571. //INSERT LOG
  572. if(count($log_insert)>0)
  573. {
  574. $insert_chunk=array_chunk($log_insert, 1000);
  575. foreach($insert_chunk as $chunk_ins)
  576. {
  577. $conn->executeQuery("INSERT INTO ".TABLE_USER_LEARNING_UPLOADLOG." ( `smpin`, `lvl_id`, `status`, `created_on`, `modified_on`) VALUES ".@implode(',',$chunk_ins));
  578. }
  579. }
  580. @unlink("../hypermupload/import/".$import_file);
  581. $arr=array('insert'=>$ins_arr );
  582. $conn->message(true,$conn->getMessage($lang,'excelupload','success1'),$arr );
  583. }else {
  584. $conn->message(false,$conn->getMessage($lang,'excelupload','error1'));
  585. }
  586. }
  587. catch(PDOException $e) {
  588. $conn->message(false,$conn->getMessage($lang,'excelupload','error4'));
  589. }
  590. }
  591. ?>