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; }
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 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"); }
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); } } }
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; }