PageRenderTime 26ms CodeModel.GetById 12ms RepoModel.GetById 1ms app.codeStats 0ms

/upload/src/applications/design/admin/PortalController.php

https://gitlab.com/wuhang2003/phpwind
PHP | 144 lines | 107 code | 20 blank | 17 comment | 5 complexity | 3642901c5a86b4290cf7a28b5eb71fd2 MD5 | raw file
  1. <?php
  2. Wind::import('ADMIN:library.AdminBaseController');
  3. /**
  4. * the last known user to change this file in the repository <$LastChangedBy: gao.wanggao $>
  5. * @author $Author: gao.wanggao $ Foxsee@aliyun.com
  6. * @copyright ©2003-2103 phpwind.com
  7. * @license http://www.phpwind.com
  8. * @version $Id: PortalController.php 28818 2013-05-24 10:10:46Z gao.wanggao $
  9. * @package
  10. */
  11. class PortalController extends AdminBaseController {
  12. public function run() {
  13. $page = (int)$this->getInput('page','get');
  14. $perpage = 10;
  15. $args = array();
  16. $page = $page > 1 ? $page : 1;
  17. list($start, $perpage) = Pw::page2limit($page, $perpage);
  18. Wind::import('SRV:design.srv.vo.PwDesignPortalSo');
  19. $vo = new PwDesignPortalSo();
  20. $ds = $this->_getPortalDs();
  21. $count = $ds->countPartal($vo);
  22. $list = $ds->searchPortal($vo, $start, $perpage);
  23. $pageList = $this->_getPageDs()->fetchPageByTypeUnique(PwDesignPage::PORTAL, array_keys($list));
  24. foreach ($pageList AS $k=>$v) {
  25. foreach ($list AS $_k=>$_v) {
  26. if ($v['page_unique'] == $_k) $list[$_k]['page_id'] = $k;
  27. }
  28. }
  29. $this->setOutput($list ,'list');
  30. $this->setOutput($count, 'count');
  31. $this->setOutput($page, 'page');
  32. $this->setOutput($perpage, 'perpage');
  33. $this->setOutput(ceil($count/$perpage), 'totalpage');
  34. $this->setOutput('design/portal/run', 'pageurl');
  35. }
  36. public function deleteAction() {
  37. $portalid = (int)$this->getInput('id','post');
  38. $portal = $this->_getPortalDs()->getPortal($portalid);
  39. $pageInfo = $this->_getPageDs()->getPageByTypeAndUnique(PwDesignPage::PORTAL,$portalid);
  40. Wind::import('SRV:design.bo.PwDesignPageBo');
  41. $pageBo = new PwDesignPageBo($pageInfo['page_id']);
  42. if ($pageInfo) {
  43. $ids = explode(',', $pageInfo['module_ids']);
  44. $names = explode(',', $pageInfo['module_names']);
  45. $moduleDs = $this->_getModuleDs();
  46. $bakDs = $this->_getBakDs();
  47. $dataDs = $this->_getDataDs();
  48. $pushDs = $this->_getPushDs();
  49. $imageSrv = Wekit::load('design.srv.PwDesignImage');
  50. $moduleDs->deleteByPageId($pageInfo['page_id']);
  51. // module&& data && push
  52. $list = Wekit::load('design.PwDesignModule')->getByPageid($this->pageid);
  53. foreach ($list AS $id=>$v) {
  54. $dataDs->deleteByModuleId($id);
  55. $pushDs->deleteByModuleId($id);
  56. $imageSrv->clearFolder($id);
  57. }
  58. //structure
  59. $ds = $this->_getStructureDs();
  60. foreach ($names AS $name) {
  61. $ds->deleteStruct($name);
  62. }
  63. //segment
  64. $this->_getSegmentDs()->deleteSegmentByPageid($pageInfo['page_id']);
  65. $this->_getPageDs()->deletePage($pageInfo['page_id']);
  66. $this->_getPermissionsDs()->deleteByTypeAndDesignId(PwDesignPermissions::TYPE_PAGE, $pageInfo['page_id']);
  67. }
  68. $this->_getDesignService()->clearTemplate($pageBo->pageid, $pageBo->getTplPath());
  69. if ($this->_getPortalDs()->deletePortal($portalid)) {
  70. if ($portal['cover']) {
  71. $ext = strrchr($portal['cover'],".");
  72. $filename = 'portal/'.$portalid . $ext;
  73. Pw::deleteAttach($filename);
  74. }
  75. $this->showMessage("operate.success");
  76. }
  77. $this->showMessage("operate.fail");
  78. }
  79. public function batchopenAction() {
  80. $ids = $this->getInput('ids','post');
  81. $isopen = $this->getInput('isopen','post');
  82. $ds = $this->_getPortalDs();
  83. foreach ($ids AS $id) {
  84. $ds->updatePortalOpen($id, $isopen[$id]);
  85. }
  86. $this->showMessage("operate.success");
  87. }
  88. /*
  89. public function batchdeleteAction() {
  90. $ids = (int)$this->getInput('ids','post');
  91. if ($this->_getPortalDs()->batchDelete($ids)) $this->showMessage("operate.success");
  92. $this->showMessage("operate.fail");
  93. }*/
  94. private function _getDesignService() {
  95. return Wekit::load('design.srv.PwDesignService');
  96. }
  97. private function _getPermissionsDs() {
  98. return Wekit::load('design.PwDesignPermissions');
  99. }
  100. private function _getStructureDs() {
  101. return Wekit::load('design.PwDesignStructure');
  102. }
  103. private function _getModuleDs() {
  104. return Wekit::load('design.PwDesignModule');
  105. }
  106. private function _getBakDs() {
  107. return Wekit::load('design.PwDesignBak');
  108. }
  109. private function _getSegmentDs() {
  110. return Wekit::load('design.PwDesignSegment');
  111. }
  112. private function _getDataDs() {
  113. return Wekit::load('design.PwDesignData');
  114. }
  115. private function _getPushDs() {
  116. return Wekit::load('design.PwDesignPush');
  117. }
  118. private function _getPortalDs() {
  119. return Wekit::load('design.PwDesignPortal');
  120. }
  121. private function _getPageDs() {
  122. return Wekit::load('design.PwDesignPage');
  123. }
  124. }