bulletin.php 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <?php
  2. /****************************
  3. * File : bulletin.php
  4. * Author : Cygnusa
  5. * @2018
  6. ****************************/
  7. //SECURITY
  8. if ( ! defined('APPLICATION_PATH')) exit('No direct script access allowed');
  9. class bulletin
  10. {
  11. //FUNCTION LISTS
  12. function __construct($parent)
  13. {
  14. //GET PAGE MESSAGE
  15. $this->page_data=globalfunc::getMessage($parent,$parent->lang,'bulletin');
  16. if(count($parent->params)==0)
  17. {
  18. $this->bulletinfunc($parent);
  19. }else
  20. {
  21. $qry_params=explode ("?",$parent->params[0]);
  22. $parameter_val=strtolower($qry_params[0]);
  23. switch($parameter_val){
  24. case "bulletin_status":
  25. case "bulletin_viewed":
  26. $this->$parameter_val($parent );
  27. break;
  28. default:
  29. $parent->response(array('response'=>'failed', 'message' => 'PAGE NOT FOUND'), 404);
  30. break;
  31. }
  32. }
  33. $parent->response(array('response'=>'failed', 'message' => 'PAGE NOT FOUND'), 404);
  34. }
  35. /* /////////////////////////////// BULLETIN LIST //////////////////////////////////////////////// */
  36. private function bulletinfunc($parent)
  37. {
  38. globalfunc::checkMethodType($parent,array('GET'));
  39. globalfunc::checkParamCount($parent,0);
  40. globalfunc::checkAuthrozation($parent,array('type'=>'user'));
  41. //PAGINATION SETTINGS
  42. $limit_cond='';
  43. $data_arr=array();
  44. $limit_str=globalfunc::setPageLimit($parent,$parent->funcparams[0]);
  45. $limit_cond=($limit_str)?" LIMIT ".$limit_str:'';
  46. //$data=@explode('?',$parent->params[0]);
  47. //USER FILTER CONDITION APPLY
  48. $user_cond='';
  49. //COMMAN USER FILTER
  50. $user_filter_str=projectfunc::getUserfiltervalue($parent,array('role','zone','city','dealer_code'));
  51. $user_cond.=$user_filter_str;
  52. //NEW ROLE CONDITION
  53. //$user_cond.=($parent->current_user_role>7 && $parent->current_user_role<14)?" AND user_type=0 ":" AND user_type=1 ";
  54. //NEW SEGMENT CONDITION
  55. if($parent->current_user_role>7 && $parent->current_user_role<14)
  56. {
  57. $user_cond.=" AND (segment='0' OR segment='".$parent->current_user_data->segment."')";
  58. }
  59. $get_bulletin_arr=$parent->selectQuery(TABLE_BULLETIN ,"*"," status='1' AND is_deleted='0' ".$user_cond." ORDER BY published_date DESC ".$limit_cond,"");
  60. //$parent->executeQuery("INSERT INTO `".TABLE_QUERY_LOG."`( `query_str`, `query_type`, `created_on`) VALUES ('". escape_str("status='1' AND is_deleted='0' ".$user_cond." ORDER BY published_date DESC")."', 'assessment', '".NOW."')");
  61. if($get_bulletin_arr['nr'])
  62. {
  63. //CONNECT S3
  64. $s3=awsfileserver::connectS3();
  65. foreach($get_bulletin_arr['result'] as $res)
  66. {
  67. $res->image_url=BULLETIN_NOIMAGE_URL;
  68. if($res->image)
  69. {
  70. $res->image_url=awsfileserver::getS3FileUrl($s3,S3_BUCKET,S3_BULLETIN_URL.$res->image);
  71. }
  72. $data_arr[]=$res;
  73. }
  74. }
  75. //GET COUNT
  76. $get_bulletin_count=$parent->selectQuery(TABLE_BULLETIN,"COUNT(bulletin_id)as bulletin_count"," status='1' AND is_deleted='0' ".$user_cond,"1");
  77. $total=($get_bulletin_count['nr'])?$get_bulletin_count['result'][0]->bulletin_count:0;
  78. //LOG
  79. $logstr='BULLETIN';
  80. globalfunc::insertUserLog($parent,$logstr);
  81. $last_page=($total)?ceil($total/$parent->current_limit)-1:0;
  82. $parent->response(array('response'=>'success', 'data'=>$data_arr,'total'=>$total,'last_page'=>$last_page,'current_page'=>$parent->current_page,'message'=>$this->page_data['success1']),200);
  83. }
  84. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  85. /* /////////////////////////////// BULLETIN VIEW //////////////////////////////////////////////// */
  86. private function bulletin_viewed($parent)
  87. {
  88. globalfunc::checkMethodType($parent,array('GET'));
  89. globalfunc::checkParamCount($parent,2);
  90. globalfunc::checkAuthrozation($parent,array('type'=>'user'));
  91. $bulletin_id = escape_str($parent->params['1']);
  92. $user_cond='';
  93. //COMMAN USER FILTER
  94. $user_filter_str=projectfunc::getUserfiltervalue($parent,array('role','zone','city','dealer_code'));
  95. $user_cond.=$user_filter_str;
  96. //NEW SEGMENT CONDITION
  97. if($parent->current_user_role>7 && $parent->current_user_role<14)
  98. {
  99. $user_cond.=" AND (segment='0' OR segment='".$parent->current_user_data->segment."')";
  100. }
  101. $get_bulletin_arr=$parent->selectQuery(TABLE_BULLETIN ,"*"," status='1' AND is_deleted='0' AND bulletin_id='".$bulletin_id."' ".$user_cond." ","1");
  102. if($get_bulletin_arr['nr'])
  103. {
  104. $insert_str="INSERT INTO ".TABLE_BULLETINSTATUS." (`bulletin_id`, `userid`, `created_on`, `modified_on`) VALUES ('".$bulletin_id."','".$parent->current_user_id."','".NOW."','".NOW."') ";
  105. $parent->executeQuery($insert_str);
  106. }else
  107. {
  108. $parent->response(array('response'=>'failed', 'message'=>$this->page_data['error2']),406);
  109. }
  110. //LOG
  111. $logstr='BULLETIN VIEW';
  112. globalfunc::insertUserLog($parent,$logstr,$bulletin_id);
  113. $parent->response(array('response'=>'success', 'message'=>$this->page_data['success1']),200);
  114. }
  115. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  116. /* /////////////////////////////// BULLETIN LIST //////////////////////////////////////////////// */
  117. private function bulletin_status($parent)
  118. {
  119. globalfunc::checkMethodType($parent,array('GET'));
  120. globalfunc::checkParamCount($parent,2);
  121. globalfunc::checkAuthrozation($parent,array('type'=>'user'));
  122. $bulletin_id = escape_str($parent->params['1']);
  123. $user_cond='';
  124. //COMMAN USER FILTER
  125. $user_filter_str=projectfunc::getUserfiltervalue($parent,array('role','zone','city','dealer_code'));
  126. $user_cond.=$user_filter_str;
  127. //NEW SEGMENT CONDITION
  128. if($parent->current_user_role>7 && $parent->current_user_role<14)
  129. {
  130. $user_cond.=" AND (segment='0' OR segment='".$parent->current_user_data->segment."')";
  131. }
  132. $get_bulletin_arr=$parent->selectQuery(TABLE_BULLETIN ,"*"," status='1' AND is_deleted='0' AND bulletin_id='".$bulletin_id."' ".$user_cond." ","1");
  133. if($get_bulletin_arr['nr'])
  134. {
  135. //CONNECT S3
  136. $s3=awsfileserver::connectS3();
  137. foreach($get_bulletin_arr['result'] as $res)
  138. {
  139. $res->image_url=BULLETIN_NOIMAGE_URL;
  140. if($res->image)
  141. {
  142. $res->image_url=awsfileserver::getS3FileUrl($s3,S3_BUCKET,S3_BULLETIN_URL.$res->image);
  143. }
  144. $data_arr[]=$res;
  145. }
  146. }else
  147. {
  148. $parent->response(array('response'=>'failed', 'message'=>$this->page_data['error2']),406);
  149. }
  150. //LOG
  151. $logstr='BULLETIN STATUS';
  152. globalfunc::insertUserLog($parent,$logstr,$bulletin_id);
  153. $parent->response(array('response'=>'success', 'data'=>$data_arr[0],'message'=>$this->page_data['success1']),200);
  154. }
  155. /* //////////////////////////////////////////////////////////////////////////////////////////// */
  156. }
  157. ?>