modelid = $modelid; $this->catid = $catid; $this->categorys = $categorys; $this->fields = getcache('model_field_'.$modelid,'model'); $this->siteid = get_siteid(); } function get($data = array()) { $_groupid = param::get_cookie('_groupid'); $this->data = $data; if(isset($data['id'])) $this->id = $data['id']; $info = array(); $this->content_url = $data['url']; foreach($this->fields as $field=>$v) { if(defined('IN_ADMIN')) { if($v['iscore'] || check_in($_SESSION['roleid'], $v['unsetroleids'])) continue; } else { if($v['iscore'] || !$v['isadd'] || check_in($_groupid, $v['unsetgroupids'])) continue; } $func = $v['formtype']; $value = isset($data[$field]) ? new_html_special_chars($data[$field]) : ''; if($func=='pages' && isset($data['maxcharperpage'])) { $value = $data['paginationtype'].'|'.$data['maxcharperpage']; } if(!method_exists($this, $func)) continue; $form = $this->$func($field, $value, $v); if($form !== false) { if(defined('IN_ADMIN')) { if($v['isbase']) { $star = $v['minlength'] || $v['pattern'] ? 1 : 0; $info['base'][$field] = array('name'=>$v['name'], 'tips'=>$v['tips'], 'form'=>$form, 'star'=>$star,'isomnipotent'=>$v['isomnipotent'],'formtype'=>$v['formtype']); } else { $star = $v['minlength'] || $v['pattern'] ? 1 : 0; $info['senior'][$field] = array('name'=>$v['name'], 'tips'=>$v['tips'], 'form'=>$form, 'star'=>$star,'isomnipotent'=>$v['isomnipotent'],'formtype'=>$v['formtype']); } } else { $star = $v['minlength'] || $v['pattern'] ? 1 : 0; $info[$field] = array('name'=>$v['name'], 'tips'=>$v['tips'], 'form'=>$form, 'star'=>$star,'isomnipotent'=>$v['isomnipotent'],'formtype'=>$v['formtype']); } } } return $info; } }?>