PageRenderTime 46ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/Lib/Lib/Action/Home/IndexAction.class.php

https://gitlab.com/llwhois/woaimm
PHP | 227 lines | 172 code | 51 blank | 4 comment | 13 complexity | 239caa703ed24a511cf15cca23548f29 MD5 | raw file
  1. <?php
  2. class IndexAction extends Action {
  3. protected function _initialize(){
  4. $ClassifyList = FH_getClassify();
  5. $PagesList = FH_getPages();
  6. $ConfigData = FH_getConfig();
  7. $this->assign('ClassifyList',$ClassifyList);
  8. $this->assign('PagesList',$PagesList);
  9. $this->assign('ConfigData',$ConfigData);
  10. }
  11. public function index(){
  12. $this->display('index');
  13. }
  14. public function content($id=0){
  15. $id = (int)$id;
  16. $db = M('Pic');
  17. if(S('content_'.$id)){
  18. $Data =S('content_'.$id);
  19. }else{
  20. $Data = $db->find($id);
  21. S('content_'.$id,$Data,C('data_cache_pic'));
  22. }
  23. if(!$Data){
  24. $this->error('参数错误!');
  25. }
  26. $this->assign('Data',$Data);
  27. $this->display('content');
  28. }
  29. public function classify($id=0){
  30. $ClassifyList = $this->ClassifyList;
  31. if(!is_numeric($id)){
  32. $id = str_replace('/','',$id);
  33. foreach($ClassifyList as $k=>$v){
  34. if($id==$v['ename']){
  35. $id = $k;
  36. break;
  37. }
  38. }
  39. }
  40. $id = (int)$id;
  41. if(array_key_exists($id,$ClassifyList)){
  42. $ClassifyData = $ClassifyList[$id];
  43. $where = array(
  44. 'cid' => array('eq',$id)
  45. );
  46. $page = I('get.page',1,'intval');
  47. $page = $page<1?1:$page;
  48. $db = M("Pic");
  49. $pageSize = 40;
  50. $DataCount = $db->where($where)->count();
  51. $maxPage = ceil($DataCount/$pageSize);
  52. $page = $page>$maxPage?1:$page;
  53. $pageLink = get_url_classify($id,'[page]');
  54. $PageList = FH_getPageList_Li($pageLink,$DataCount,$page,$pageSize,12);
  55. if(S('classify_'.$id.'_'.$page)){
  56. $DataList=S('classify_'.$id.'_'.$page);
  57. #echo $id.'_'.$page;
  58. #exit;
  59. }else{
  60. $DataList = $db->where($where)->order('lasttime desc')->page($page)->limit($pageSize)->select();
  61. S('classify_'.$id.'_'.$page,$DataList,C('data_cache_name'));
  62. }
  63. $this->assign('ClassifyData',$ClassifyData);
  64. $this->assign('DataList',$DataList);
  65. $this->assign('DataCount',$DataCount);
  66. $this->assign('pageSize',$pageSize);
  67. $this->assign('page',$page);
  68. $this->assign('id',$id);
  69. $this->assign('PageList',$PageList);
  70. $this->display('classify');
  71. }else{
  72. $this->error('参数错误!',U('index'));
  73. }
  74. }
  75. public function search($keyword=''){
  76. $keyword = str_replace('/','',$keyword);
  77. if(!$keyword){
  78. $this->error('请输入你要搜索的关键词!');
  79. }
  80. $where = array(
  81. 'title' => array('like','%'.$keyword.'%')
  82. );
  83. $page = I('get.page',1,'intval');
  84. $page = $page<1?1:$page;
  85. $db = M('Pic');
  86. $pageSize = 40;
  87. $DataCount = $db->where($where)->count();
  88. if($DataCount){
  89. $maxPage = ceil($DataCount/$pageSize);
  90. $page = $page>$maxPage?1:$page;
  91. $pageLink = get_url_search($keyword,'[page]');
  92. $PageList = FH_getPageList_Li($pageLink,$DataCount,$page,$pageSize,12);
  93. $DataList = $db->where($where)->page($page)->limit($pageSize)->select();
  94. }else{
  95. $DataList = array();
  96. $PageList = "";
  97. $page = 1;
  98. }
  99. $this->assign('Keyword',$keyword);
  100. $this->assign('DataList',$DataList);
  101. $this->assign('DataCount',$DataCount);
  102. $this->assign('pageSize',$pageSize);
  103. $this->assign('page',$page);
  104. $this->assign('id',$id);
  105. $this->assign('PageList',$PageList);
  106. $this->display('search');
  107. }
  108. public function tags($name=''){
  109. if($name!=''){
  110. $db_tags = M('Tags');
  111. $db = D('PicTagsView');
  112. $name = str_replace('/','',$name);
  113. $where = array(
  114. 'name' => array('eq',trim($name))
  115. );
  116. $tags = $db_tags->where($where)->find();
  117. $page = I('get.page',1,'intval');
  118. $page = $page<1?1:$page;
  119. $pageSize = 40;
  120. if($tags){
  121. $where = array('tid'=>array('eq',$tags['id']));
  122. $DataCount = $db->where($where)->count();
  123. $maxPage = ceil($DataCount/$pageSize);
  124. $page = $page>$maxPage?1:$page;
  125. $pageLink = get_url_tags($name,'[page]');
  126. $PageList = FH_getPageList_Li($pageLink,$DataCount,$page,$pageSize,12);
  127. $DataList = $db->where($where)->page($page)->limit($pageSize)->order('id desc')->select();
  128. }else{
  129. $DataCount = 0;
  130. $DataList = array();
  131. $page = 1;
  132. $pageList = '';
  133. }
  134. $this->assign('DataList',$DataList);
  135. $this->assign('DataCount',$DataCount);
  136. $this->assign('pageSize',$pageSize);
  137. $this->assign('page',$page);
  138. $this->assign('TagsData',$tags);
  139. $this->assign('PageList',$PageList);
  140. $this->display('tags');
  141. }else{
  142. $this->error('参数错误','./');
  143. }
  144. }
  145. public function pages($name=''){
  146. if(!is_numeric($name)){
  147. $name = trim($name);
  148. $where = array(
  149. 'ename' => array('eq',$name)
  150. );
  151. }else{
  152. $name = (int)$name;
  153. $where = array(
  154. 'id' => array('eq',$name)
  155. );
  156. }
  157. $db = M('Pages');
  158. $Data = $db->where($where)->find();
  159. if($Data){
  160. $skinname = $Data['skinname'];
  161. if($skinname==''){
  162. $skinname = 'pages';
  163. }
  164. $this->assign('Data',$Data);
  165. $this->display($skinname);
  166. }else{
  167. $this->error('信息出错了');
  168. }
  169. }
  170. public function _empty($name){
  171. //$this->E($name);
  172. }
  173. protected function E($name){
  174. //
  175. }
  176. }