PageRenderTime 54ms CodeModel.GetById 28ms RepoModel.GetById 0ms app.codeStats 1ms

/src/testSource/phpcms/content/application/controllers/pageslog.php

https://gitlab.com/loda.sun.suryani/qijiatuku
PHP | 135 lines | 111 code | 6 blank | 18 comment | 24 complexity | 943bca301593340c9bf60b65d2d7c8d0 MD5 | raw file
  1. <?php
  2. if (! defined ( 'BASEPATH' ))
  3. exit ( 'No direct script access allowed' );
  4. class pageslog extends My_Controller {
  5. function __construct() {
  6. parent::__construct ();
  7. $this->load->library ( 'datagrid' );
  8. $this->load->helper ( 'pagenav' );
  9. $this->load->config ( 'mongodbconfig' );
  10. $mongodb_config_arr = $this->config->item ( 'mongodbconfig' );
  11. $this->load->library ( 'mongodb', $mongodb_config_arr ["default"] ); //加载mongo类
  12. }
  13. /**loge_list
  14. * page发布日志列表
  15. *
  16. * date 2012-11-26
  17. * author 王云飞
  18. * emile wangyunfei@qeeka.com
  19. */
  20. function log_list() {
  21. //权限检查-begin.
  22. $success = validation_check ( $this->uid, "pageslog" );
  23. if ($success != 1) {
  24. msg ( "无权限:页面日志列表(pageslog)", "", "message" );
  25. safe_exit ();
  26. }
  27. //权限检查-end.
  28. $page_id = ( int ) $this->input->get ( "page_id" );
  29. $curt_page = ( int ) $this->input->post ( "page_num" );
  30. if ($page_id) {
  31. $view_data = array ();
  32. $view_data ['main_grid'] = '';
  33. $viwe_data ['pages_nav'] = '';
  34. $order = array ('_id' => - 1 );
  35. $limit = 25;
  36. if (! $curt_page) {
  37. $curt_page = 1;
  38. }
  39. //查询条件
  40. $where = '';
  41. $where = "->where(array('page_id'=>$page_id))->";
  42. $x = '';
  43. $y = '';
  44. if (trim ( $this->input->post ( 'start_time' ) )) {
  45. $x = strtotime ( trim ( $this->input->post ( 'start_time' ) ) );
  46. }
  47. if (trim ( $this->input->post ( 'end_time' ) )) {
  48. $y = strtotime ( trim ( $this->input->post ( 'end_time' ) ) );
  49. }
  50. if ($x && ! $y) {
  51. $where = "->where_gte('time',$x)" . $where;
  52. }
  53. if (! $x && $y) {
  54. $where = "->where_lte('time',$y)" . $where;
  55. }
  56. if ($x && $y) {
  57. $where = "->where_between('time',$x,$y)" . $where;
  58. }
  59. $total_data = '$this->mongodb' . $where . 'get(\'pageslog_list\')';
  60. eval ( "\$total_data = $total_data;" );
  61. $total_num = count ( $total_data );
  62. $real_page = 0;
  63. if ($total_num > 0) {
  64. $real_page = ceil ( $total_num / $limit );
  65. }
  66. if ($real_page && $curt_page > $real_page) {
  67. $curt_page = $real_page;
  68. }
  69. $offset = $limit * $curt_page - $limit;
  70. $pages_obj = new PageNav ( $limit, $total_num, $curt_page, 10, 2 );
  71. $view_data ['pages_nav'] = $pages_obj->show_pages ();
  72. $mongoinfo = '$this->mongodb' . $where . 'order_by($order)->offset($offset)->limit($limit)->get(\'pageslog_list\')';
  73. eval ( "\$mongoinfo = $mongoinfo;" );
  74. $field_list = trim ( 'none' );
  75. $field_arr = null;
  76. if ($field_list) {
  77. $field_arr = explode ( ',', $field_list );
  78. $field_arr = array_flip ( $field_arr );
  79. }
  80. $data = array ();
  81. if (count ( $mongoinfo ) > 0) {
  82. foreach ( $mongoinfo as $k => $v ) {
  83. if ($field_arr) {
  84. $data [$k] = array_intersect_key ( $v, $field_arr );
  85. }
  86. $data [$k] ['版本ID'] = $v ['pageslog_id'];
  87. $data [$k] ['版本时间'] = date ( "Y-m-d H:i:s", $v ['time'] );
  88. $data [$k] ['操作'] = sprintf ( "<a href='%s' target='_blank'>查看</a>", modify_build_url ( array ('c' => "pageslog", 'm' => "log_info", "pageslog_id" => $v ['pageslog_id'] ), site_url () ) );
  89. }
  90. //my_debug($data);
  91. $this->datagrid->reset ();
  92. $view_data ['main_grid'] = $this->datagrid->build ( 'datagrid', $data, TRUE );
  93. }
  94. $this->load->view ( 'pageslog/pagesloglist_view', $view_data );
  95. } else {
  96. echo "page_id为空";
  97. }
  98. }
  99. /**log_info
  100. * page发布日志详情
  101. *
  102. * date 2012-11-26
  103. * author 王云飞
  104. * emile wangyunfei@qeeka.com
  105. */
  106. function log_info() {
  107. $pageslog_id = $this->input->get ( "pageslog_id" );
  108. if ($pageslog_id) {
  109. $cms_all_db = $this->mongodb->mongo_all->cms; //全局可用的调用mongo 适用于非封装的mongo调用(在框架内
  110. $pageslogdb = $cms_all_db->pageslog;
  111. $where = array ();
  112. $where ['_id'] = ( int ) $pageslog_id;
  113. $mongoinfo = $pageslogdb->find ( $where );
  114. $loginfo = "";
  115. foreach ( $mongoinfo as $key => $value ) {
  116. $loginfo = $value;
  117. }
  118. $view_data = array ();
  119. if ($loginfo) {
  120. $view_data ['loginfo'] = $loginfo;
  121. $this->load->view ( 'pageslog/pagesloginfo_view', $view_data );
  122. } else {
  123. echo "pageslog_id错误";
  124. }
  125. } else {
  126. echo "pageslog_id为空";
  127. }
  128. }
  129. }