⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tform.inc.php

📁 MyDNSConfig-1.1.0 基于LINUX内核系统的DNS解析系统
💻 PHP
📖 第 1 页 / 共 3 页
字号:
                                                $new_record[$key] = '';                                        break;                                        case 'CHECKBOX':                                                $checked = (empty($val))?'':' CHECKED';                                                $new_record[$key] = "<input name=\"".$key."\" type=\"checkbox\" value=\"".$field['value']."\" $checked>\r\n";                                        break;                                        case 'CHECKBOXARRAY':                                                if(is_array($field['value'])) {                                                        // aufsplitten ergebnisse                                                        $vals = explode($field['separator'],$val);                                                        // HTML schreiben                                                        $out = '';                                                        foreach($field['value'] as $k => $v) {                                                                $checked = '';                                                                foreach($vals as $tvl) {                                                                        if(trim($tvl) == trim($k)) $checked = ' CHECKED';                                                                }                                                                $out .= "<input name=\"".$key."[]\" type=\"checkbox\" value=\"$k\" $checked>$v <br />\r\n";                                                        }                                                }                                                $new_record[$key] = $out;                                        break;                                        case 'RADIO':                                                if(is_array($field['value'])) {                                                        // HTML schreiben                                                        $out = '';                                                        foreach($field['value'] as $k => $v) {                                                                $checked = ($k == $val)?' CHECKED':'';                                                                $out .= "<input name='".$key."[]' type='radio' value='$k'$checked> $v<br>\r\n";                                                        }                                                }                                                $new_record[$key] = $out;                                        break;                                        default:                                                $new_record[$key] = htmlspecialchars($record[$key]);                                        }                                }                        }                } else {                        // Action: NEW                        foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {                                // If Datasource is set, get the data from there                                if(is_array($field['datasource'])) {                                        $field["value"] = $this->getDatasourceData($field, $record);                                }                                switch ($field['formtype']) {                                case 'SELECT':                                        if(is_array($field['value'])) {                                                $out = '';                                                foreach($field['value'] as $k => $v) {                                                        $selected = ($k == $val)?' SELECTED':'';                                                        $out .= "<option value='$k'$selected>$v</option>\r\n";                                                }                                        }                                        $new_record[$key] = $out;                                break;                                case 'MULTIPLE':                                                if(is_array($field['value'])) {                                                        // aufsplitten ergebnisse                                                        $vals = explode($field['separator'],$val);                                                        // HTML schreiben                                                        $out = '';                                                        foreach($field['value'] as $k => $v) {                                                                $out .= "<option value='$k'>$v</option>\r\n";                                                        }                                                }                                                $new_record[$key] = $out;                                        break;                                case 'PASSWORD':                                        $new_record[$key] = '';                                break;                                case 'CHECKBOX':                                        $checked = (empty($field["default"]))?'':' CHECKED';                                        $new_record[$key] = "<input name=\"".$key."\" type=\"checkbox\" value=\"".$field['value']."\" $checked>\r\n";                                break;                                case 'CHECKBOXARRAY':                                        if(is_array($field['value'])) {                                                // aufsplitten ergebnisse                                                $vals = explode($field['separator'],$field["default"]);                                                // HTML schreiben                                                $out = '';                                                foreach($field['value'] as $k => $v) {                                                        $checked = '';                                                        foreach($vals as $tvl) {                                                                if(trim($tvl) == trim($k)) $checked = ' CHECKED';                                                        }                                                        $out .= "<input name=\"".$key."[]\" type=\"checkbox\" value=\"$k\" $checked> $v<br />\r\n";                                                }                                        }                                        $new_record[$key] = $out;                                break;                                case 'RADIO':                                        if(is_array($field['value'])) {                                                // HTML schreiben                                                $out = '';                                                foreach($field['value'] as $k => $v) {                                                        $checked = ($k == $field["default"])?' CHECKED':'';                                                        $out .= "<input name='".$key."[]' type='radio' value='$k'$checked> $v<br>\r\n";                                                }                                        }                                        $new_record[$key] = $out;                                break;                                default:                                        $new_record[$key] = htmlspecialchars($field['default']);                                }                        }                }                if($this->debug == 1) $this->dbg($new_record);                return $new_record;        }        /**        * Record in "maschinen lesbares" Format 黚erf黨ren        * und Werte gegen regul鋜e Ausdr點ke pr黤en.        *        * @param record = Datensatz als Array        * @return record        */        function encode($record,$tab) {                if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab ist leer oder existiert nicht (TAB: $tab).");                //$this->errorMessage = '';                if(is_array($record)) {                        foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {                                if(is_array($field['validators'])) $this->validateField($key, $record[$key], $field['validators']);                                switch ($field['datatype']) {                                case 'VARCHAR':                                        if(!is_array($record[$key])) {                                                $new_record[$key] = addslashes($record[$key]);                                        } else {                                                $new_record[$key] = implode($field['separator'],$record[$key]);                                        }                                break;                                case 'TEXT':                                        if(!is_array($record[$key])) {                                                $new_record[$key] = addslashes($record[$key]);                                        } else {                                                $new_record[$key] = implode($field['separator'],$record[$key]);                                        }                                break;                                case 'DATE':                                        if($record[$key] > 0) {                                                list($tag,$monat,$jahr) = explode('.',$record[$key]);                                                $new_record[$key] = mktime(0,0,0,$monat,$tag,$jahr);                                        } else {											$new_record[$key] = 0;										}                                break;                                case 'INTEGER':                                        $new_record[$key] = intval($record[$key]);                                        //if($new_record[$key] != $record[$key]) $new_record[$key] = $field['default'];                                        //if($key == 'refresh') die($record[$key]);                                break;                                case 'DOUBLE':                                        $new_record[$key] = addslashes($record[$key]);                                break;                                case 'CURRENCY':                                        $new_record[$key] = str_replace(",",".",$record[$key]);                                break;                                }                                // The use of the field value is deprecated, use validators instead                                if($field['regex'] != '') {                                        // Enable that "." matches also newlines                                        $field['regex'] .= 's';                                        if(!preg_match($field['regex'], $record[$key])) {                                                $errmsg = $field['errmsg'];                                                $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";                                        }                                }                        }                }                return $new_record;        }        /**        * process the validators for a given field.        *        * @param field_name = Name of the field        * @param field_value = value of the field        * @param validatoors = Array of validators        * @return record        */        function validateField($field_name, $field_value, $validators) {                global $app;				                // loop trough the validators                foreach($validators as $validator) {                        switch ($validator['type']) {                                case 'REGEX':                                        $validator['regex'] .= 's';                                        if(!preg_match($validator['regex'], $field_value)) {                                                $errmsg = $validator['errmsg'];                                                $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";                                        }                                break;                                case 'UNIQUE':                                        if($this->action == 'NEW') {                                                $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."'");                                                if($num_rec["number"] > 0) {                                                        $errmsg = $validator['errmsg'];														if(isset($this->wordbook[$errmsg])) {                                                        	$this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";														} else {															$this->errorMessage .= $errmsg."<br>\r\n";														}                                                }                                        } else {                                                $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."' AND ".$this->formDef['db_table_idx']." != ".$this->primary_id);                                                if($num_rec["number"] > 0) {                                                        $errmsg = $validator['errmsg'];                                                        if(isset($this->wordbook[$errmsg])) {                                                        	$this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";														} else {															$this->errorMessage .= $errmsg."<br>\r\n";														}                                                }                                        }                                break;                                case 'NOTEMPTY':                                        if(empty($field_value)) {                                                $errmsg = $validator['errmsg'];                                                if(isset($this->wordbook[$errmsg])) {                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";												} else {													$this->errorMessage .= $errmsg."<br>\r\n";												}                                        }                                break;                                case 'ISEMAIL':                                        if(!preg_match("/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z]{2,10}$/i", $field_value)) {                                                $errmsg = $validator['errmsg'];                                                if(isset($this->wordbook[$errmsg])) {                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";												} else {													$this->errorMessage .= $errmsg."<br>\r\n";												}                                        }                                break;                                case 'ISINT':                                        $tmpval = intval($field_value);                                        if($tmpval === 0 and !empty($field_value)) {                                                $errmsg = $validator['errmsg'];                                                if(isset($this->wordbook[$errmsg])) {                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";												} else {													$this->errorMessage .= $errmsg."<br>\r\n";												}                                        }                                break;                                case 'ISPOSITIVE':                                        if(!is_numeric($field_value) || $field_value <= 0){                                          $errmsg = $validator['errmsg'];                                          if(isset($this->wordbook[$errmsg])) {                                             $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";										  } else {											 $this->errorMessage .= $errmsg."<br>\r\n";										  }                                        }                                break;                                case 'CUSTOM':                                        // Calls a custom class to validate this record                                        if($validator['class'] != '' and $validator['function'] != '') {                                                $validator_class = $validator['class'];                                                $validator_function = $validator['function'];                                                $app->uses($validator_class);                                                $this->errorMessage .= $app->$validator_class->$validator_function($validator);                                        } else {                                                $this->errorMessage .= "Custom validator class or function is empty<br>\r\n";                                        }                                break;								default:									$this->errorMessage .= "Unknown Validator: ".$validator['type'];								break;                        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -