示例#1
0
 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");
 }
示例#2
0
 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;
 }
示例#3
0
 /**
  * (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;
 }
示例#5
0
 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");
 }
示例#6
0
 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');
     }
 }
示例#7
0
 /**
  * 标准化标签
  * 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');
 }