public function getmodulepermissionsAction() { $other = array('html', 'searchbar', 'image'); $tab = array(); $moduleId = (int) $this->getInput('moduleid', 'post'); $pageid = (int) $this->getInput('pageid', 'post'); $module = $this->_getModuleDs()->getModule($moduleId); if (!$module || !$module['isused']) { $this->showError("DESIGN:module.is.delete"); } Wekit::load('design.PwDesignPermissions'); $permissions = $this->_getPermissionsService()->getPermissionsForModule($this->loginUser->uid, $moduleId, $pageid); if ($permissions <= PwDesignPermissions::NEED_CHECK) { $this->showError("DESIGN:permissions.fail"); } switch ($permissions) { case '4': if ($module['module_type'] == PwDesignModule::TYPE_DRAG) { $tab = array('data', 'push', 'add', 'title', 'style', 'property', 'template', 'delete'); } else { $tab = array('data', 'push', 'add', 'title', 'property', 'template', 'delete'); } break; case '3': if ($module['module_type'] == PwDesignModule::TYPE_DRAG) { $tab = array('data', 'push', 'add', 'title', 'style', 'property', 'template'); } else { $tab = array('data', 'push', 'add', 'title', 'property', 'template'); } break; case '2': if (in_array($module['model_flag'], $other)) { $tab = array('property'); } else { $tab = array('data', 'push', 'add'); } break; default: $this->showError("DESIGN:permissions.fail"); } //对config里的tab进行过滤 Wind::import('SRV:design.bo.PwDesignModelBo'); $bo = new PwDesignModelBo($module['model_flag']); $modelInfo = $bo->getModel(); if (is_array($modelInfo['tab'])) { foreach ($tab as $k => $v) { if (in_array($v, $modelInfo['tab'])) { $_tab[] = $tab[$k]; } } $tab = $_tab; } $this->setOutput($tab, 'data'); $this->showMessage("operate.success"); }
public function getStandardSignkey($model) { Wind::import('SRV:design.bo.PwDesignModelBo'); $bo = new PwDesignModelBo($model); $signKeys = $bo->getSignKeys(); $standard = $bo->getStandardSign(); foreach ($standard as &$v) { $v = $this->_transformSign($v); } return $standard; }
/** * (non-PHPdoc) * @see src/library/base/PwBaseController::beforeAction() */ public function beforeAction($handlerAdapter) { parent::beforeAction($handlerAdapter); $isapi = ''; $moduleid = $this->getInput('moduleid'); Wind::import('SRV:design.bo.PwDesignModuleBo'); $this->bo = new PwDesignModuleBo($moduleid); $module = $this->bo->getModule(); if (!$module) { $this->showError('operate.fail'); } if ($module['module_type'] == PwDesignModule::TYPE_SCRIPT) { $isapi = 'api'; } $modelBo = new PwDesignModelBo($module['model_flag']); $model = $modelBo->getModel(); $isdata = true; if ($model['tab'] && !in_array('data', $model['tab'])) { $isdata = false; } $this->setOutput($moduleid, 'moduleid'); $this->setOutput($isapi, 'isapi'); $this->setOutput($isdata, 'isdata'); }
private function _formatData() { $_tmp = $_data = array(); Wind::import('SRV:design.bo.PwDesignModelBo'); $bo = new PwDesignModelBo($this->_moduleBo->getModel()); $signKeys = $bo->getSignKeys(); $standard = $bo->getStandardSign(); foreach ($standard as &$v) { $v = $this->_transformSign($v); } foreach ($this->_data as $data) { foreach ($signKeys as $signKey) { list($sign, $name, $key) = $signKey; if (!($sign = $this->_transformSign($sign))) { continue; } if (isset($data[$key])) { $_data[$sign] = $data[$key]; } } $_data['standard_title'] = $_data[$standard['sTitle']]; $_data['standard_fromid'] = $_data[$standard['sFromId']]; $_data['standard_fromapp'] = $this->_moduleBo->getModel(); $_data['standard_style'] = $data['__style']; $_data['standard'] = $standard; $_tmp[] = $_data; } return $_tmp; }
public function gettabAction() { $model = $this->getInput('model', 'post'); $pageid = $this->getInput('pageid', 'post'); if (!$model) { $this->showError('operate.fail'); } Wekit::load('design.PwDesignPermissions'); $permissions = $this->_getPermissionsService()->getPermissionsForPage($this->loginUser->uid, $pageid); if ($permissions < PwDesignPermissions::IS_DESIGN) { $this->showError("DESIGN:permissions.fail"); } //对config里的tab进行过滤 $tab = array('property', 'template'); Wind::import('SRV:design.bo.PwDesignModelBo'); $bo = new PwDesignModelBo($model); $modelInfo = $bo->getModel(); if (is_array($modelInfo['tab'])) { foreach ($tab as $k => $v) { if (in_array($v, $modelInfo['tab'])) { $_tab[] = $tab[$k]; } } $tab = $_tab; } $this->setOutput($tab, 'data'); $this->showMessage("operate.success"); }
public function run() { $isapi = $this->getInput('type'); $ismodule = $this->getInput('ismodule'); $model = $this->getInput('model'); $moduleid = $this->getInput('moduleid'); $modulename = $this->getInput('name'); $pageid = $this->getInput('pageid'); $page = (int) $this->getInput('page', 'get'); $perpage = 10; $page = $page > 1 ? $page : 1; list($start, $perpage) = Pw::page2limit($page, $perpage); $ds = $this->_getDesignModuleDs(); Wind::import('SRV:design.srv.vo.PwDesignModuleSo'); $vo = new PwDesignModuleSo(); $vo->setIsUse(1); if ($isapi == 'api') { $vo->setModuleType(PwDesignModule::TYPE_SCRIPT); $args['type'] = 'api'; } else { $vo->setModuleType(PwDesignModule::TYPE_DRAG | PwDesignModule::TYPE_IMPORT); } if ($model) { $vo->setModelFlag($model); $args['model'] = $model; } if ($moduleid > 0) { $vo->setModuleId($moduleid); $args['moduleid'] = $moduleid; } if ($modulename) { $vo->setModuleName($modulename); $args['name'] = $modulename; } if ($pageid) { $vo->setPageId($pageid); $args['pageid'] = $pageid; } $vo->orderbyModuleId(false); $list = $ds->searchModule($vo, $start, $perpage); $count = $ds->countModule($vo); Wind::import('SRV:design.bo.PwDesignModelBo'); $pageDs = $this->_getPageDs(); foreach ($list as $k => $v) { $list[$k]['pageInfo'] = $pageDs->getPage($v['page_id']); $bo = new PwDesignModelBo($v['model_flag']); $model = $bo->getModel(); $list[$k]['isdata'] = true; if ($model['tab'] && !in_array('data', $model['tab'])) { $list[$k]['isdata'] = false; } } $this->setOutput($this->_getDesignService()->getModelList(), 'models'); $this->setOutput($args, 'args'); $this->setOutput($list, 'list'); $this->setOutput($count, 'count'); $this->setOutput($page, 'page'); $this->setOutput($perpage, 'perpage'); $this->setOutput(ceil($count / $perpage), 'totalpage'); $this->setOutput('design/module/run', 'pageurl'); $this->setOutput($isapi, 'isapi'); if ($isapi == 'api') { $this->setTemplate('module_api'); } }
/** * 标准化标签 * Enter description here ... */ public function getStandardSign() { Wind::import('SRV:design.bo.PwDesignModelBo'); $bo = new PwDesignModelBo($this->getModel()); return $bo->getStandardSign(); }
public function editAction() { $isedit = false; $model = $this->getInput('model', 'get'); //前台为post if ($model) { $isedit = true; $this->bo->setModel($model); } else { $model = $this->bo->getModel(); } $module = $this->bo->getModule(); if (!$model) { $this->showError('operate.fail'); } $cls = sprintf('PwDesign%sDataService', ucwords($model)); Wind::import('SRV:design.srv.model.' . $model . '.' . $cls); $service = new $cls(); $decorator = $service->decorateEditProperty($this->bo); Wind::import('SRV:design.bo.PwDesignModelBo'); $modelBo = new PwDesignModelBo($model); $property = $modelBo->getProperty(); $vProperty = $isedit ? array() : $this->bo->getProperty(); $isedit && ($vProperty['compid'] = null); $service = $this->_getDesignService(); $types = $service->getDesignModelType(); $models = $service->getModelList(); foreach ($models as $k => $v) { $_models[$v['type']][] = array('name' => $v['name'], 'model' => $k); } $this->setOutput($types, 'types'); $this->setOutput($_models, 'models'); $this->setOutput($model, 'model'); $this->setOutput($modelBo->getProperty(), 'property'); $this->setOutput($decorator, 'decorator'); $this->setOutput($module, 'module'); $this->setOutput($vProperty, 'vProperty'); $this->setOutput($this->bo->getCache(), 'cache'); $this->setOutput($modelBo->getModel(), 'modelInfo'); $this->setOutput($isedit, 'isedit'); }
public function editAction() { $id = (int) $this->getInput('id', 'get'); $page = (int) $this->getInput('page', 'get'); $comp = $this->_getDesignComponentDs()->getComponent($id); if (!$comp) { $this->showMessage("operate.fail"); } Wind::import('SRV:design.bo.PwDesignModelBo'); $bo = new PwDesignModelBo($comp['model_flag']); $this->setOutput($bo->getSignKeys(), 'signKeys'); $this->setOutput($comp, 'comp'); $this->setOutput($page, 'page'); }