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('标题及说明不能为空!'); } }
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); }
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; }