예제 #1
0
 public function afterDesign()
 {
     $ds = Wekit::load('design.PwDesignPage');
     Wind::import('SRV:design.dm.PwDesignPageDm');
     $dm = new PwDesignPageDm($this->pageid);
     $dm->setModuleIds(array_unique($this->moduleIds))->setStrucNames($this->structNames)->setSegments($this->segments);
     $resource = $ds->updatePage($dm);
     Wekit::load('design.PwDesignModule')->batchUpdateIsUsed($this->moduleIds);
     if ($this->isDesign) {
         $loginUser = Wekit::getLoginUser();
         $dm = new PwDesignPageDm($this->pageid);
         $dm->setDesignLock($loginUser->uid, Pw::getTime());
         $ds->updatePage($dm);
         Wekit::load('design.srv.PwPageBakService')->doSnap($this->pageid);
     }
 }
예제 #2
0
 protected function updatePage()
 {
     Wind::import('SRV:design.dm.PwDesignPageDm');
     $moduleIds = implode(',', $this->newIds);
     $moduleIds = $moduleIds ? $moduleIds . ',' . $this->_pageInfo['module_ids'] : $this->_pageInfo['module_ids'];
     $moduleIds = array_filter(explode(',', $moduleIds));
     $dm = new PwDesignPageDm($this->_pageInfo['page_id']);
     $dm->setModuleIds($moduleIds)->setStrucNames($this->_structures);
     $resource = Wekit::load('design.PwDesignPage')->updatePage($dm);
     return $resource;
 }
    public function tagModule()
    {
        $ds = $this->_getPageDs();
        Wind::import('SRV:design.dm.PwDesignPageDm');
        $dm = new PwDesignPageDm();
        $dm->setType(PwDesignPage::SYSTEM)->setName('话题')->setRouter('tag/index/run')->setSegments(array('huatidemo'));
        $pageid = $ds->addPage($dm);
        if ($pageid instanceof PwError) {
            return false;
        }
        Wind::import('SRV:design.srv.vo.PwDesignComponentSo');
        $vo = new PwDesignComponentSo();
        $vo->setCompname('话题封面 [ 间隔 ]');
        $comp = Wekit::load('design.PwDesignComponent')->searchComponent($vo);
        if (!$comp) {
            return false;
        }
        $comp = array_shift($comp);
        $tpl = $comp['comp_tpl'];
        $property = array("islogo" => 1, "order" => 5, "limit" => 18, "timefmt" => "m-d");
        $cache = array('expired' => 15, 'start_hour' => 0, 'start_minute' => 0, 'end_hour' => 0, 'end_minute' => 0);
        Wind::import('SRV:design.dm.PwDesignModuleDm');
        $moduleDm = new PwDesignModuleDm();
        $moduleDm->setFlag('tag')->setPageId($pageid)->setName('演示:热门话题')->setModuleTpl($tpl)->setProperty($property)->setCache($cache)->setCompid($comp['comp_id'])->setIsused(1);
        $moduleid = Wekit::load('design.PwDesignModule')->addModule($moduleDm);
        if ($moduleid instanceof PwError) {
            return false;
        }
        $dm = new PwDesignPageDm($pageid);
        $dm->setModuleIds(array($moduleid));
        $ds->updatePage($dm);
        $rand = WindUtility::generateRandStr(8);
        $tpl = <<<TPL
<div id="{$rand}" class="design_layout_style J_mod_layout box_no" role="structure_{$rand}" data-lcm="100">\t\t\t
<h2 class="design_layout_hd cc J_layout_hd" role="titlebar"></h2>\t\t\t
<div id="J_mod_{$moduleid}" class="design_layout_ct mod_box J_mod_box" data-id="{$moduleid}">
<design id="D_mod_{$moduleid}" role="module">
</design>
</div>
</div>
TPL;
        Wekit::load('design.PwDesignSegment')->replaceSegment('huatidemo', $pageid, $tpl);
        Wind::import('SRV:design.srv.data.PwAutoData');
        $srv = new PwAutoData($moduleid);
        $srv->addAutoData();
        return true;
    }
예제 #4
0
 protected function clearPage($pageInfo)
 {
     $pageid = $pageInfo['page_id'];
     //doclear start
     //@see DesignController->doclearAction
     $ids = explode(',', $pageInfo['module_ids']);
     $names = explode(',', $pageInfo['struct_names']);
     $moduleDs = $this->_getModuleDs();
     $bakDs = $this->_getBakDs();
     $dataDs = $this->_getDataDs();
     $pushDs = $this->_getPushDs();
     $imageSrv = Wekit::load('design.srv.PwDesignImage');
     // module
     $moduleDs->deleteByPageId($pageid);
     // data && push
     foreach ($ids as $id) {
         $dataDs->deleteByModuleId($id);
         $pushDs->deleteByModuleId($id);
         $imageSrv->clearFolder($id);
     }
     //structure
     $ds = $this->_getStructureDs();
     foreach ($names as $name) {
         $ds->deleteStruct($name);
     }
     //segment
     $this->_getSegmentDs()->deleteSegmentByPageid($pageid);
     $bakDs->deleteByPageId($pageid);
     Wind::import('SRV:design.dm.PwDesignPageDm');
     $dm = new PwDesignPageDm($pageid);
     $dm->setModuleIds(array())->setStrucNames(array());
     $this->_getPageDs()->updatePage($dm);
     //doclear end
 }