Exemplo n.º 1
0
 public function insert()
 {
     $list = D('Sys_viewmodel');
     $condition = D('sys_viewcondition');
     $fields = D('Sys_viewfields');
     if ($_REQUEST[title] != '' && $_REQUEST[caption] != '') {
         $date = $_REQUEST;
         $date['projectid'] = $_SESSION['workingprojectid'];
         $date['title'] = uplower($date['title']);
         $list->create();
         $vid = $list->add($date);
         foreach ($_SESSION[condition] as $c) {
             if ($c[in_tid] != '') {
                 $c[vid] = $vid;
                 $c[condition] = 'eqf';
                 $condition->create();
                 $condition->add($c);
             }
         }
         foreach ($_SESSION[fields] as $f) {
             if ($f[tid] != '') {
                 $f[vid] = $vid;
                 $fields->create();
                 $fields->add($f);
             }
         }
         $_SESSION[condition] = null;
         $_SESSION[fields] = null;
         redirect(__URL__ . "/index");
     } else {
         $this->error('标题及说明不能为空!');
     }
 }
Exemplo n.º 2
0
 function makeprotpl($id)
 {
     //生成基本Action
     $app_path = $this->getapppath();
     //获取生成程序的根目录
     $tpl_path = $this->gettplpath();
     //获取程序模板的根目录
     $data = $this->gettables($id);
     $tablename = uplower($data['title']);
     //第一个字母变成大写,其它变成小写
     $caption = $data['caption'];
     $fields = $this->getfieldsbytbid($id);
     tpmk_dir($app_path . '/Tpl/default/' . $tablename . '/');
     //生成目录
     $islist = $data['list'] == 1 ? true : false;
     //是否列表
     $issearch = $data['search'] == 1 ? true : false;
     //issearch
     $isadd = $data['add'] == 1 ? true : false;
     //是否增加
     $isedit = $data['edit'] == 1 ? true : false;
     //是否允许编辑
     $isview = $data['view'] == 1 ? true : false;
     //是否允许查看详细
     $isdel = $data['del'] == 1 ? true : false;
     //是否允许删除数据
     //生成INDEX.HMTL包括LIST及SEARCH的
     if ($islist) {
         $filename = $app_path . '/Tpl/default/' . $tablename . '/index.html';
         //生成的模板文件名
         $tpl = new tpl($tpl_path . '/Html_tpl/index.html');
         //源模板文件名
         $tpl->tplsign('tablecaption', $caption);
         //替换
         $tpl->tplsign('tablelist', $tablename);
         //替换表名
         $filecontent = $tpl->tplreturn();
         writefile($filename, $filecontent);
     }
     //生成ajaxlist.HMTL
     if ($islist || $issearch) {
         $filename = $app_path . '/Tpl/default/' . $tablename . '/ajaxlist.html';
         //生成的模板文件名
         $tpl = new tpl($tpl_path . '/Html_tpl/ajaxlist.html');
         //源模板文件名
         $listshowsort = $this->makerowslistsort($fields, 'islist');
         $listshowtd = $this->makerowslisttd($fields, 'islist');
         $tpl->tplblocksign('listshowsort', $listshowsort);
         //替换
         $tpl->tplblocksign('listshowtd', $listshowtd);
         //替换
         $tpl->tplissign('issearch', $issearch);
         //替换是否搜索
         $tpl->tplissign('isadd', $isadd);
         //替换是否增加
         $tpl->tplissign('isedit', $isedit);
         //替换是否编辑
         $tpl->tplissign('isview', $isview);
         //替换查看详细
         $tpl->tplissign('isdel', $isdel);
         //替换删除数据
         $tpl->tplsign('tablecaption', $caption);
         //替换
         $tpl->tplsign('tablelist', $tablename);
         //替换表名
         $filecontent = $tpl->tplreturn();
         writefile($filename, $filecontent);
     }
     //生成Add.HMTL
     if ($isadd) {
         $filename = $app_path . '/Tpl/default/' . $tablename . '/add.html';
         //生成的模板文件名
         $tpl = new tpl($tpl_path . '/Html_tpl/add.html');
         //源模板文件名
         if (count($fields) > 0) {
             foreach ($fields as $field) {
                 $vartype = $field['addtype'];
                 $varname = $this->maketags($field['addtype'], 'addtype', $field['name'], $field['indexvar'], $field['outkey'], $field['outkeyid'], $field['outkeyf'], $field['outkeywhere']);
                 $varcaption = $field['caption'];
                 $rows_contents[] = array("rows_type" => $vartype, "rows_name" => $varname, "rows_caption" => $varcaption);
                 //替换方式
             }
         }
         $tpl->tplblocksign('rows_contents', $rows_contents);
         $tpl->tplissign('issearch', $issearch);
         //替换是否搜索
         $tpl->tplissign('isadd', $isadd);
         //替换是否增加
         $tpl->tplissign('isedit', $isedit);
         //替换是否编辑
         $tpl->tplissign('isview', $isview);
         //替换查看详细
         $tpl->tplissign('isdel', $isdel);
         //替换删除数据
         $tpl->tplsign('tablecaption', $caption);
         //替换
         $tpl->tplsign('tablename', $tablename);
         //替换表名
         $filecontent = $tpl->tplreturn();
         writefile($filename, $filecontent);
         unset($rows_contents);
     }
     //生成Edit.HMTL
     if ($isedit) {
         $filename = $app_path . '/Tpl/default/' . $tablename . '/edit.html';
         //生成的模板文件名
         $tpl = new tpl($tpl_path . '/Html_tpl/edit.html');
         //源模板文件名
         if (count($fields) > 0) {
             foreach ($fields as $field) {
                 $vartype = $field['edittype'];
                 $varname = $this->maketags($field['edittype'], 'edittype', $field['name'], $field['indexvar'], $field['outkey'], $field['outkeyid'], $field['outkeyf'], $field['outkeywhere']);
                 $varcaption = $field['caption'];
                 $rows_contents[] = array("rows_type" => $vartype, "rows_name" => $varname, "rows_caption" => $varcaption);
                 //替换方式
             }
         }
         $tpl->tplblocksign('rows_contents', $rows_contents);
         $tpl->tplissign('issearch', $issearch);
         //替换是否搜索
         $tpl->tplissign('isadd', $isadd);
         //替换是否增加
         $tpl->tplissign('isedit', $isedit);
         //替换是否编辑
         $tpl->tplissign('isview', $isview);
         //替换查看详细
         $tpl->tplissign('isdel', $isdel);
         //替换删除数据
         $tpl->tplsign('tablecaption', $caption);
         //替换
         $tpl->tplsign('tablename', $tablename);
         //替换表名
         $filecontent = $tpl->tplreturn();
         writefile($filename, $filecontent);
         unset($rows_contents);
     }
     //生成Veiw.HMTL
     if ($isview) {
         $filename = $app_path . '/Tpl/default/' . $tablename . '/view.html';
         //生成的模板文件名
         $tpl = new tpl($tpl_path . '/Html_tpl/view.html');
         //源模板文件名
         if (count($fields) > 0) {
             foreach ($fields as $field) {
                 $vartype = $field['viewtype'];
                 $varname = $this->maketags($field['viewtype'], 'viewtype', $field['name'], $field['indexvar'], $field['outkey'], $field['outkeyid'], $field['outkeyf'], $field['outkeywhere']);
                 $varcaption = $field['caption'];
                 $rows_contents[] = array("rows_type" => $vartype, "rows_name" => $varname, "rows_caption" => $varcaption);
                 //替换方式
             }
         }
         $tpl->tplblocksign('rows_contents', $rows_contents);
         $tpl->tplissign('issearch', $issearch);
         //替换是否搜索
         $tpl->tplissign('isadd', $isadd);
         //替换是否增加
         $tpl->tplissign('isedit', $isedit);
         //替换是否编辑
         $tpl->tplissign('isview', $isview);
         //替换查看详细
         $tpl->tplissign('isdel', $isdel);
         //替换删除数据
         $tpl->tplsign('tablecaption', $caption);
         //替换
         $tpl->tplsign('tablename', $tablename);
         //替换表名
         $filecontent = $tpl->tplreturn();
         writefile($filename, $filecontent);
         unset($rows_contents);
     }
     unset($data);
 }
Exemplo n.º 3
0
 function maketags($typeid, $actiontype, $name, $value, $outtable, $outkey, $outfield, $outcondition, $outorder, $outadd, $id, $class, $style, $disabled, $readonly, $othervar)
 {
     $tag = D('sub_' . $actiontype);
     //指定MODEL
     //msg($actiontype.'<br>');
     $tag = $tag->getByid($typeid);
     //取得相应的值
     $tagtype = !empty($tagtype) ? $tagtype : $tag['htmltype'];
     //表单[htmltype]//没值则
     $name = !empty($name) ? $name : $tag['htmlname'];
     //表单名称[htmlname]
     $id = !empty($id) ? $id : $tag['htmlid'];
     //表单ID[htmlid]//没值则用NAME为值
     $id = !empty($id) ? $id : $name;
     //表单ID[$name]//没值则用NAME为值
     $value = !empty($value) ? $value : $tag['htmlvar'];
     //表单[htmlvar]//没值则
     $class = !empty($class) ? $class : $tag['htmlclass'];
     //表单[htmlclass]//没值则
     $style = !empty($style) ? $style : $tag['htmlstyle'];
     //表单[htmlstyle]//没值则
     $disabled = !empty($disabled) ? $disabled : $tag['isdisabled'];
     //表单[isdisabled]//没值则
     $readonly = !empty($readonly) ? $readonly : $tag['isreadonly'];
     //表单[isreadonly]//没值则
     $othervar = !empty($othervar) ? $othervar : $tag['othervar'];
     //表单[othervar]//没值则
     $outtable = !empty($outtable) ? $outtable : $tag['outtable'];
     //表单[outtable]//没值则
     $outkey = !empty($outkey) ? $outkey : $tag['outkey'];
     //表单[outkey]//没值则
     $outfield = !empty($outfield) ? $outfield : $tag['outfield'];
     //表单[outfield]//没值则
     $outcondition = !empty($outcondition) ? $outcondition : $tag['outcondition'];
     //表单[outcondition]//没值则
     $outorder = !empty($outorder) ? $outorder : $tag['outorder'];
     //表单[outorder]//没值则
     $outadd = !empty($outadd) ? $outadd : $tag['outadd'];
     //表单[outadd]//没值则
     if (empty($outtable)) {
         $outkey = '';
         $outfield = '';
         $outcondition = '';
         $outorder = '';
         $outadd = '';
         $outtagets = '';
     } else {
         $outtagets = ' outtable="' . uplower($outtable) . '"  outfield="' . $outfield . '"  outkey="' . $outkey . '"  outcondition="' . $outcondition . '"  outorder="' . $outorder . '"  outadd="' . $outadd . '" ';
     }
     $htmltages = '<mkrtags:' . $tagtype . ' id="' . $id . '" name="' . $name . '" ';
     if (!empty($class)) {
         $htmltages .= ' class="' . $class . '"';
     }
     if (!empty($style)) {
         $htmltages .= ' style="' . $style . '"';
     }
     if (!empty($disabled)) {
         $htmltages .= ' disabled="' . $disabled . '"';
     }
     switch ($actiontype) {
         case 'viewtype':
             $htmltages .= ' value="$list[\'' . $name . '\']"';
             break;
         case 'edittype':
             $htmltages .= ' value="$list[\'' . $name . '\']"';
             break;
         case 'addtype':
             $htmltages .= ' value="' . $value . '"';
             break;
     }
     /*
     if($tag['usetype']==2){
     	if(empty($value)){	$htmltages.=' value="'.$name.'"';}//查看形式的标签是不同的
     }else{
     	if(empty($value)){	$htmltages.=' value="$list.'.$name.'"';}
     }
     */
     if (!empty($readonly)) {
         $htmltages .= ' readonly="' . $readonly . '"';
     }
     if (!empty($othervar)) {
         $htmltages .= ' othervar="' . $othervar . '"';
     }
     $htmltages .= $outtagets;
     $htmltages .= "/>";
     return $htmltages;
 }