WeiboUserLevelAction.class.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?php
  2. class WeiboUserLevelAction extends CommonAction{
  3. public function index(){
  4. parent::index();
  5. }
  6. public function add(){
  7. $this->assign("new_level", M("UserLevel")->max("level")+1);
  8. $this->assign("old_score", M("UserLevel")->max("score"));
  9. $this->display();
  10. }
  11. public function edit(){
  12. $id = intval($_REQUEST ['id']);
  13. $condition['id'] = $id;
  14. $vo = M("UserLevel")->where($condition)->find();
  15. $old_level = M("UserLevel")->where('level='.($vo['level']-1))->find();
  16. $this->assign("old_score",$old_level['score']);
  17. $this->assign ( 'vo', $vo );
  18. $this->display ();
  19. }
  20. public function update(){
  21. B('FilterString');
  22. $data = M("UserLevel")->create ();
  23. rm_auto_cache("user_level");
  24. $log_info = M("UserLevel")->where("id=".intval($data['id']))->getField("name");
  25. //开始验证有效性
  26. $this->assign("jumpUrl",u("UserLevel"."/edit",array("id"=>$data['id'])));
  27. if(!check_empty($data['level']))
  28. {
  29. $this->error("请输入等级");
  30. }
  31. if(!check_empty($data['name']))
  32. {
  33. $this->error("请输入等级名称");
  34. }
  35. if(defined('DISTRIBUTION_MODULE')&&DISTRIBUTION_MODULE==1&&!(intval($data['level'])>0))
  36. {
  37. $this->error("等级必须大于0");
  38. }
  39. $user_level_list = M("UserLevel")->where("level=".intval($data['level']-1))->find();
  40. if($user_level_list)
  41. {
  42. if(intval($data['score'])<=$user_level_list['score']){
  43. $this->error('所需积分值必须大于上一级所需积分值');
  44. }
  45. }else{
  46. if(intval($data['score'])<0)
  47. {
  48. $this->error("积分值必须大于等于0");
  49. }
  50. }
  51. $data['point'] = $data['score'];
  52. $list=M("UserLevel")->save ($data);
  53. if (false !== $list) {
  54. //成功提示
  55. save_log($log_info.L("UPDATE_SUCCESS"),1);
  56. $this->success(L("UPDATE_SUCCESS"));
  57. } else {
  58. //错误提示
  59. save_log($log_info.L("UPDATE_FAILED"),0);
  60. $this->error(L("UPDATE_FAILED"),0,$log_info.L("UPDATE_FAILED"));
  61. }
  62. }
  63. public function insert() {
  64. B('FilterString');
  65. $ajax = intval($_REQUEST['ajax']);
  66. $data = M("UserLevel")->create ();
  67. rm_auto_cache("user_level");
  68. //开始验证有效性
  69. $this->assign("jumpUrl",u("UserLevel"."/add"));
  70. if(!check_empty($data['level']))
  71. {
  72. $this->error("请输入等级");
  73. }
  74. if(!check_empty($data['name']))
  75. {
  76. $this->error("请输入等级名称");
  77. }
  78. if(defined('DISTRIBUTION_MODULE')&&DISTRIBUTION_MODULE==1&&!(intval($data['level'])>0))
  79. {
  80. $this->error("等级必须大于0");
  81. }
  82. $user_level_list = M("UserLevel")->where("level=".intval($data['level']-1))->find();
  83. if($user_level_list)
  84. {
  85. if(intval($data['score'])<=$user_level_list['score']){
  86. $this->error('所需积分值必须大于上一级所需积分值');
  87. }
  88. }else{
  89. if(intval($data['score'])<0)
  90. {
  91. $this->error("积分值必须大于等于0");
  92. }
  93. }
  94. // 更新数据
  95. $log_info = $data['name'];
  96. $data['point'] = $data['score'];
  97. $list=M("UserLevel")->add($data);
  98. if (false !== $list) {
  99. //成功提示
  100. save_log($log_info.L("INSERT_SUCCESS"),1);
  101. $this->success(L("INSERT_SUCCESS"));
  102. } else {
  103. //错误提示
  104. save_log($log_info.L("INSERT_FAILED"),0);
  105. $this->error(L("INSERT_FAILED"));
  106. }
  107. }
  108. public function delete(){
  109. //彻底删除指定记录
  110. $ajax = intval($_REQUEST['ajax']);
  111. $id = $_REQUEST ['id'];
  112. rm_auto_cache("user_level");
  113. if (isset ( $id )) {
  114. $condition = array ('id' => array ('in', explode ( ',', $id ) ) );
  115. $rel_data = M("UserLevel")->where($condition)->findAll();
  116. foreach($rel_data as $data)
  117. {
  118. $info[] = $data['name'];
  119. if(conf("DEFAULT_ADMIN")==$data['name'])
  120. {
  121. $this->error ($data['name'].l("DEFAULT_ADMIN_CANNOT_DELETE"),$ajax);
  122. }
  123. }
  124. if($info) $info = implode(",",$info);
  125. $list = M("UserLevel")->where ( $condition )->delete();
  126. if ($list!==false) {
  127. save_log($info.l("FOREVER_DELETE_SUCCESS"),1);
  128. $this->success (l("FOREVER_DELETE_SUCCESS"),$ajax);
  129. } else {
  130. save_log($info.l("FOREVER_DELETE_FAILED"),0);
  131. $this->error (l("FOREVER_DELETE_FAILED"),$ajax);
  132. }
  133. } else {
  134. $this->error (l("INVALID_OPERATION"),$ajax);
  135. }
  136. }
  137. }
  138. ?>