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 #3
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);
         }
     }
 }
Example #4
0
 public function batchEditDataAction()
 {
     $dataid = $this->getInput('dataid', 'post');
     $order_tmp = $vieworder = $this->getInput('vieworder', 'post');
     $vieworder_tmp = $this->getInput('vieworder_tmp', 'post');
     $vieworder_reserv = $this->getInput('vieworder_reserv', 'post');
     $isfixed = $this->getInput('isfixed', 'post');
     Wind::import('SRV:design.dm.PwDesignDataDm');
     Wind::import('SRV:design.dm.PwDesignPushDm');
     $ds = $this->_getDataDs();
     //转换排序数字
     asort($vieworder);
     $i = 1;
     foreach ($vieworder as &$order) {
         $order = $i;
         $i++;
     }
     foreach ($dataid as $id) {
         $data = $ds->getData($id);
         if ($data['is_reservation']) {
             continue;
         }
         $dm = new PwDesignDataDm($id);
         $orderid = (int) $vieworder[$id];
         if ($isfixed[$id]) {
             $dm->setDatatype(PwDesignData::ISFIXED);
             if ($data['from_type'] == PwDesignData::FROM_PUSH) {
                 $this->_getPushDs()->updateAutoByModuleAndOrder($data['module_id'], $orderid);
                 $pushDm = new PwDesignPushDm($data['from_id']);
                 $pushDm->setOrderid($orderid);
                 $this->_getPushDs()->updatePush($pushDm);
             }
         } else {
             $dm->setDatatype(PwDesignData::AUTO);
             if ($data['from_type'] == PwDesignData::FROM_PUSH) {
                 $pushDm = new PwDesignPushDm($data['from_id']);
                 $pushDm->setOrderid(0);
                 $this->_getPushDs()->updatePush($pushDm);
             }
         }
         $dm->setVieworder($orderid);
         //产品要求,没显性改过排序的不作编辑处理......
         if ($order_tmp[$id] != $vieworder_tmp[$id]) {
             $dm->setEdited(1);
         }
         $ds->updateData($dm);
     }
     //预订
     foreach ($dataid as $id) {
         $data = $ds->getData($id);
         if (!$data['is_reservation']) {
             continue;
         }
         $dm = new PwDesignDataDm($id);
         $orderid = (int) $vieworder_reserv[$id];
         if ($isfixed[$id]) {
             $dm->setDatatype(PwDesignData::ISFIXED);
             $dm->setVieworder($orderid);
             if ($data['from_type'] == PwDesignData::FROM_PUSH) {
                 $this->_getPushDs()->updateAutoByModuleAndOrder($data['module_id'], $orderid);
                 $ds->updateFixedToAuto($data['module_id'], $orderid);
                 $pushDm = new PwDesignPushDm($data['from_id']);
                 $pushDm->setOrderid($orderid);
                 $this->_getPushDs()->updatePush($pushDm);
             }
         } else {
             $dm->setDatatype(PwDesignData::AUTO);
             if ($data['from_type'] == PwDesignData::FROM_PUSH) {
                 $pushDm = new PwDesignPushDm($data['from_id']);
                 $pushDm->setOrderid(0);
                 $this->_getPushDs()->updatePush($pushDm);
             }
         }
         $ds->updateData($dm);
     }
     $this->showMessage("operate.success");
 }
Example #5
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);
         }
     }
 }
Example #6
0
 public function updateData(PwDesignDataDm $dm)
 {
     $resource = $dm->beforeUpdate();
     if ($resource instanceof PwError) {
         return $resource;
     }
     return $this->_getDao()->updateData($dm->dataid, $dm->getData());
 }
 protected function restoreData($pageid, $issnap = 0)
 {
     $data = $this->_getBakDs()->getBak(PwDesignBak::DATA, $pageid, $issnap);
     if (!is_array($data['bak_info'])) {
         return false;
     }
     Wind::import('SRV:design.dm.PwDesignDataDm');
     $ds = $this->_getDataDs();
     foreach ($data['bak_info'] as $k => $v) {
         $this->_getDataDs()->deleteByModuleId($k);
         list($bold, $underline, $italic, $color) = $v['style'];
         $dm = new PwDesignDataDm();
         $dm->setDatatype($v['data_type'])->setFromType($v['from_type'])->setFromApp($v['from_app'])->setFromid($v['from_id'])->setModuleid($v['module_id'])->setStandard(unserialize($v['standard']))->setStyle($bold, $underline, $italic, $color)->setExtend(unserialize($v['extend_info']))->setVieworder($v['vieworder'])->setStarttime($v['start_time'])->setEndtime($v['end_time']);
         $resource = $ds->addData($dm);
     }
     return true;
 }