model.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. class logModel extends model
  3. {
  4. /**
  5. * get action records
  6. * @access public
  7. * @param string @orderBy
  8. * @param string @objectType
  9. * @param string @search
  10. * @param string @date
  11. * @param object $pager
  12. * @param bool $onlyAdmins 仅返回系统管理员和安全管理员操作所产生的日志
  13. * @return array
  14. */
  15. public function getActionRecords($orderBy = 'date_desc', $objectType = 'all', $search = '', $date = '', $pager = null, $onlyAdmins = false)
  16. {
  17. $adminsAccountList = $onlyAdmins ? $this->loadModel('group')->getAdminsAccountList() : array();
  18. return $this->dao->select('*')->from(TABLE_ACTION)
  19. ->where(1)
  20. ->beginIF($search)
  21. ->andWhere('actor')->like("%$search%")
  22. ->fi()
  23. ->beginIF($date)
  24. ->andWhere('date')->like("$date%")
  25. ->fi()
  26. ->beginIF($objectType != 'all')
  27. ->andWhere('objectType')->eq($objectType)
  28. ->fi()
  29. ->beginIF($onlyAdmins)
  30. ->andWhere('actor')->in($adminsAccountList)
  31. ->fi()
  32. ->orderBy($orderBy)
  33. ->page($pager)
  34. ->fetchAll();
  35. }
  36. }