PostDataAction.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * summary: 更新目录列表
  4. * author: justin
  5. * date: 2014.03.04
  6. */
  7. class PostDataAction extends CAction
  8. {
  9. public $scenario = '';
  10. public function run(){
  11. $status = intval(Yii::app()->request->getParam('status', 1));
  12. $level = intval(Yii::app()->request->getParam('level', 1));
  13. $name = Yii::app()->request->getParam('name', '');
  14. $url = Yii::app()->request->getParam('url', '');
  15. $sort = intval(Yii::app()->request->getParam('sort', 1));
  16. $_id = Yii::app()->request->getParam('_id', '');
  17. $parent = Yii::app()->request->getParam('parent', '');
  18. $controller = $this->getController();
  19. $success = false;
  20. $message = '';
  21. $data = array();
  22. switch($this->scenario){
  23. case 'insert':
  24. $parent_id = '';
  25. if ($parent != ''){
  26. $parent_id = new MongoId($parent);
  27. }
  28. $am = new AdminMenuAR();
  29. $am->status = $status;
  30. $am->name = $name;
  31. $am->parent = $parent_id;
  32. $am->level = $level;
  33. $am->url = $url;
  34. $am->sort = $sort;
  35. $success = $am->save();
  36. $message = $am->getScenarioError();
  37. $data['_id'] = (string)$am->_id;
  38. break;
  39. case 'update':
  40. $criteria = new EMongoCriteria();
  41. $criteria->_id('==', new MongoId($_id));
  42. $am = AdminMenuAR::model()->find($criteria);
  43. $am->url = $url;
  44. $am->status = $status;
  45. $am->name = $name;
  46. $am->sort = $sort;
  47. $success = $am->save(true, array('status', 'name', 'url', 'sort'), true);
  48. $message = $am->getScenarioError();
  49. break;
  50. case 'delete':
  51. $criteria = new EMongoCriteria();
  52. $criteria->_id('==', new MongoId($_id));
  53. $am = AdminMenuAR::model()->find($criteria);
  54. $am->status = -1;
  55. $success = $am->save(true, array('status'), true);
  56. break;
  57. default:
  58. break;
  59. }
  60. CommonFn::requestAjax($success, $message, $data);
  61. }
  62. }