Example #1
0
 private function _addData()
 {
     $usedDataids = array();
     $ds = Wekit::load('design.PwDesignData');
     Wind::import('SRV:design.dm.PwDesignDataDm');
     $time = Pw::getTime();
     list($start, $end, $refresh) = $this->bo->refreshTime($time);
     $orderid = $ds->getMaxOrder($this->bo->moduleid);
     foreach ($this->sourData as $k => $v) {
         if (!isset($v['standard_title']) && $v['from_type'] == 'auto') {
             continue;
         }
         $orderid++;
         $dm = new PwDesignDataDm();
         $dm->setDatatype(PwDesignData::AUTO)->setFromType(PwDesignData::FROM_AUTO)->setFromApp($v['standard_fromapp'])->setFromid($v['standard_fromid'])->setModuleid($this->bo->moduleid)->setStandard($v['standard'])->setVieworder($orderid)->setStarttime($time)->setEndtime($refresh);
         if ($v['from_type'] == 'push') {
             $dm->setFromType(PwDesignData::FROM_PUSH)->setVieworder($v['vieworder']);
         }
         if (isset($v['bold'])) {
             $dm->setStyle($v['bold'], $v['underline'], $v['italic'], $v['color']);
         }
         $extend = $this->getExtend($v);
         $dm->setExtend($extend);
         $resource = $ds->addData($dm);
         if (isset($extend['__asyn'])) {
             $imageDs->updateDataId($extend['__asyn'], $resource);
         }
     }
 }
 public function updateDesignData($dataid, $sign, $thumbUrl, $thumb)
 {
     Wind::import('SRV:design.dm.PwDesignDataDm');
     $ds = $this->_getDataDs();
     $data = $ds->getData($dataid);
     $extend = unserialize($data['extend_info']);
     if ($thumbUrl) {
         $extend['standard_image'] .= $thumb . "|||";
         $extend[$sign] = $thumbUrl;
     }
     $dm = new PwDesignDataDm($dataid);
     $dm->setExtend($extend);
     $ds->updateData($dm);
     return '';
 }
 public function reviseDefaultData()
 {
     $ds = Wekit::load('design.PwDesignData');
     Wind::import('SRV:design.srv.vo.PwDesignDataSo');
     Wind::import('SRV:design.dm.PwDesignDataDm');
     $vo = new PwDesignDataSo();
     $list = $ds->searchData($vo);
     foreach ($list as $k => $v) {
         $v['extend_info'] = unserialize($v['extend_info']);
         foreach ($v['extend_info'] as &$_v) {
             $_v = str_replace('install.php', 'index.php', $_v);
         }
         $dm = new PwDesignDataDm($k);
         $dm->setExtend($v['extend_info']);
         $ds->updateData($dm);
     }
     return true;
 }
Example #4
0
 private function _addData()
 {
     $delDataIds = $newOrderIds = array();
     $delImages = '';
     $delImgIds = array();
     $ds = Wekit::load('design.PwDesignData');
     $pushDs = Wekit::load('design.PwDesignPush');
     $imageDs = Wekit::load('design.PwDesignAsynImage');
     Wind::import('SRV:design.dm.PwDesignDataDm');
     list($start, $end, $refresh) = $this->bo->refreshTime($this->time);
     foreach ($this->designData as $k => $v) {
         $k++;
         if (!$v) {
             $newOrderIds[] = $k;
             continue;
         }
         if ($v['from_type'] == PwDesignData::FROM_PUSH) {
             if (isset($this->_newPushIds[$v['from_id']])) {
                 if ($v['data_type'] == PwDesignData::ISFIXED) {
                     unset($this->_newPushIds[$v['from_id']]);
                     continue;
                 }
                 $data = $this->formatDesginData($v);
                 $data['vieworder'] = $this->_newPushIds[$v['from_id']]['vieworder'];
                 $data['from_type'] = $this->_newPushIds[$v['from_id']]['from_type'];
                 if (!$this->_newPushIds[$v['from_id']]['vieworder'] && !$data['is_edited']) {
                     $data['data_type'] = PwDesignData::AUTO;
                 }
                 $this->_newPushIds[$v['from_id']] = $data;
                 $delDataIds[] = $v['data_id'];
                 // $delImages .= $data['standard_image'];
                 unset($v);
             }
         }
         if ($v['from_type'] == PwDesignData::FROM_AUTO) {
             if (isset($this->_newAutoIds[$v['from_id']])) {
                 if ($v['data_type'] == PwDesignData::ISFIXED) {
                     $ds->updateEndTime($v['data_id'], $refresh);
                     unset($this->_newAutoIds[$v['from_id']]);
                     continue;
                 }
                 $data = $this->formatDesginData($v);
                 $data['vieworder'] = $this->_newAutoIds[$v['from_id']]['vieworder'];
                 $data['from_type'] = $this->_newAutoIds[$v['from_id']]['from_type'];
                 $this->_newAutoIds[$v['from_id']] = $data;
                 $delDataIds[] = $v['data_id'];
                 $delImages .= $data['standard_image'];
                 isset($data['__asyn']) && ($delImgIds[] = $data['__asyn']);
                 unset($v);
             }
         }
         if ($v) {
             if ($v['data_type'] == PwDesignData::ISFIXED) {
                 continue;
             }
             $delDataIds[] = $v['data_id'];
             if ($v['from_type'] != PwDesignData::FROM_PUSH) {
                 $extend = unserialize($v['extend_info']);
                 $delImages .= $extend['standard_image'];
                 isset($data['__asyn']) && ($delImgIds[] = $data['__asyn']);
             }
         }
         $newOrderIds[] = $k;
     }
     $ds->batchDelete($delDataIds);
     if ($delImages) {
         Wekit::load('design.srv.PwDesignImage')->clearFiles($this->bo->moduleid, explode('|||', $delImages));
     }
     if ($delImgIds) {
         Wekit::load('design.PwDesignAsynImage')->batchDelete($delImgIds);
     }
     // 添加新显示数据
     $limit = count($delDataIds);
     $i = 1;
     foreach ($this->_newPushIds as $key => $newData) {
         if (!$newData['vieworder']) {
             continue;
         }
         if ($i > $limit) {
             break;
         }
         $_k = array_search($newData['vieworder'], $newOrderIds);
         if ($_k !== false) {
             unset($newOrderIds[$_k]);
         }
         $dm = new PwDesignDataDm();
         $dm->setDatatype(PwDesignData::AUTO)->setFromType(PwDesignData::FROM_AUTO)->setFromApp($newData['standard_fromapp'])->setFromid($newData['standard_fromid'])->setModuleid($this->bo->moduleid)->setStandard($newData['standard'])->setVieworder($newData['vieworder'])->setStarttime($this->time)->setEdited($newData['is_edited'])->setEndtime($refresh);
         if ($newData['standard_style']) {
             list($bold, $underline, $italic, $color) = $newData['standard_style'];
             $dm->setStyle($bold, $underline, $italic, $color);
         }
         if ($newData['from_type'] == 'push') {
             $dm->setFromType(PwDesignData::FROM_PUSH)->setStarttime($newData['start_time'])->setEndtime($newData['end_time']);
         }
         if ($newData['data_type']) {
             $dm->setDatatype($newData['data_type']);
         }
         if ($newData['vieworder']) {
             $dm->setDatatype(PwDesignData::ISFIXED);
         }
         $extend = $this->getExtend($newData);
         $dm->setExtend($extend);
         $resource = $ds->addData($dm);
         if (isset($extend['__asyn'])) {
             $imageDs->updateDataId($extend['__asyn'], $resource);
         }
         unset($this->_newPushIds[$key]);
         $i++;
     }
     foreach ($newOrderIds as $order) {
         $isupdate = false;
         $newData = array_shift($this->_newPushIds);
         if (!$newData) {
             $newData = array_shift($this->_newAutoIds);
         }
         if (!$newData) {
             break;
         }
         $newData['vieworder'] && ($order = $newData['vieworder']);
         $dm = new PwDesignDataDm();
         $dm->setDatatype(PwDesignData::AUTO)->setFromType(PwDesignData::FROM_AUTO)->setFromApp($newData['standard_fromapp'])->setFromid($newData['standard_fromid'])->setModuleid($this->bo->moduleid)->setStandard($newData['standard'])->setVieworder($order)->setStarttime($this->time)->setEndtime($refresh)->setEdited($newData['is_edited']);
         if ($newData['standard_style']) {
             list($bold, $underline, $italic, $color) = $newData['standard_style'];
             $dm->setStyle($bold, $underline, $italic, $color);
         }
         if ($newData['from_type'] == 'push') {
             $dm->setFromType(PwDesignData::FROM_PUSH)->setStarttime($newData['start_time'])->setEndtime($newData['end_time']);
         }
         if ($newData['data_type']) {
             $dm->setDatatype($newData['data_type']);
         }
         if ($newData['vieworder']) {
             $dm->setDatatype(PwDesignData::ISFIXED);
         }
         $extend = $this->getExtend($newData, $order);
         $dm->setExtend($extend);
         $resource = $ds->addData($dm);
         if (isset($extend['__asyn'])) {
             $imageDs->updateDataId($extend['__asyn'], $resource);
         }
     }
     // 添加预定数据
     foreach ($this->_reservData as $newData) {
         $dm = new PwDesignDataDm();
         $dm->setDatatype(PwDesignData::AUTO)->setFromType(PwDesignData::FROM_PUSH)->setFromApp($newData['standard_fromapp'])->setFromid($newData['standard_fromid'])->setModuleid($this->bo->moduleid)->setStandard($newData['standard'])->setVieworder($newData['vieworder'])->setStarttime($newData['start_time'])->setEndtime($newData['end_time'])->setReservation(1)->setEdited(0);
         if ($newData['standard_style']) {
             list($bold, $underline, $italic, $color) = $newData['standard_style'];
             $dm->setStyle($bold, $underline, $italic, $color);
         }
         if ($newData['vieworder']) {
             $dm->setDatatype(PwDesignData::ISFIXED);
         }
         $extend = $this->getExtend($newData);
         $dm->setExtend($extend);
         $resource = $ds->addData($dm);
         if (isset($extend['__asyn'])) {
             $imageDs->updateDataId($extend['__asyn'], $resource);
         }
     }
 }