Server : nginx/1.22.1 System : Linux iZwz9daxib3w3i063fw434Z 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 User : www ( 1000) PHP Version : 5.6.40 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /www/wwwroot/www.jkmold.com/caches/caches_model/caches_data/ |
<?php class member_form { var $modelid; var $fields; var $id; var $formValidator; function __construct($modelid) { $this->modelid = $modelid; $this->fields = getcache('model_field_'.$modelid,'model'); } function get($data = array()) { $_roleid = param::get_cookie('_roleid'); $_groupid = param::get_cookie('_groupid'); $this->data = $data; if(isset($data['id'])) $this->id = $data['id']; $info = array(); foreach($this->fields as $field=>$v) { if(defined('IN_ADMIN')) { if($v['disabled'] || $v['iscore'] || check_in($_roleid, $v['unsetroleids']) || check_in($_groupid, $v['unsetgroupids'])) continue; } else { if($v['disabled'] || $v['iscore'] || !$v['isadd'] || check_in($_roleid, $v['unsetroleids']) || 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) { $star = $v['minlength'] || $v['pattern'] ? 1 : 0; $info[$field] = array('name'=>$v['name'], 'tips'=>$v['tips'], 'form'=>$form, 'star'=>$star, 'isbase'=>$v['isbase'],'isomnipotent'=>$v['isomnipotent'],'formtype'=>$v['formtype']); } } return $info; } function text($field, $value, $fieldinfo) { extract($fieldinfo); $setting = string2array($setting); $size = $setting['size']; if(!$value) $value = $defaultvalue; $type = $ispassword ? 'password' : 'text'; $errortips = $this->fields[$field]['errortips']; $regexp = $pattern ? '.regexValidator({regexp:"'.substr($pattern,1,-1).'",onerror:"'.$errortips.'"})' : ''; if($errortips && $this->fields[$field]['isbase']) $this->formValidator .= '$("#'.$field.'").formValidator({onshow:"'.$errortips.'",onfocus:"'.$errortips.'"}).inputValidator({min:'.$minlength.',max:'.$maxlength.',onerror:"'.$errortips.'"})'.$regexp.';'; return '<input type="text" name="info['.$field.']" id="'.$field.'" size="'.$size.'" value="'.$value.'" class="input-text" '.$formattribute.' '.$css.'>'; } function textarea($field, $value, $fieldinfo) { extract($fieldinfo); $setting = string2array($setting); extract($setting); if(!$value) $value = $defaultvalue; $allow_empty = 'empty:true,'; if($minlength || $pattern) $allow_empty = ''; if($errortips && $this->fields[$field]['isbase']) $this->formValidator .= '$("#'.$field.'").formValidator({'.$allow_empty.'onshow:"'.$errortips.'",onfocus:"'.$errortips.'"}).inputValidator({min:1,onerror:"'.$errortips.'"});'; $value = empty($value) ? $setting['defaultvalue'] : $value; return "<textarea name='info[{$field}]' id='$field' style='width:{$width}%;height:{$height}px;' $formattribute $css>{$value}</textarea>"; } function editor($field, $value, $fieldinfo) { //是否允许用户上传附件 ,后台管理员开启此功能 extract($fieldinfo); extract(string2array($setting)); $allowupload = defined('IN_ADMIN') || $allowupload ? 1 : 0; if(!$value) $value = $defaultvalue; if($minlength || $pattern) $allow_empty = ''; if($errortips) $this->formValidator .= '$("#'.$field.'").formValidator({'.$allow_empty.'onshow:"",onfocus:"'.$errortips.'"}).inputValidator({min:1,onerror:"'.$errortips.'"});'; return "<div id='{$field}_tip'></div>".'<textarea name="info['.$field.']" id="'.$field.'" boxid="'.$field.'">'.$value.'</textarea>'.form::editor($field,$toolbar,'member','','',$allowupload,1,'',300); } function box($field, $value, $fieldinfo) { $setting = string2array($fieldinfo['setting']); if($value=='') $value = $this->fields[$field]['defaultvalue']; $options = explode("\n",$this->fields[$field]['options']); foreach($options as $_k) { $v = explode("|",$_k); $k = trim($v[1]); $option[$k] = $v[0]; } $values = explode(',',$value); $value = array(); foreach($values as $_k) { if($_k != '') $value[] = $_k; } $value = implode(',',$value); switch($this->fields[$field]['boxtype']) { case 'radio': $string = form::radio($option,$value,"name='info[$field]'",$setting['width'],$field); break; case 'checkbox': $string = form::checkbox($option,$value,"name='info[$field][]'",1,$setting['width'],$field); break; case 'select': $string = form::select($option,$value,"name='info[$field]' id='$field'"); break; case 'multiple': $string = form::select($option,$value,"name='info[$field][]' id='$field' size=2 multiple='multiple' style='height:60px;'"); break; } return $string; } function image($field, $value, $fieldinfo) { $setting = string2array($fieldinfo['setting']); extract($setting); if(!defined('IMAGES_INIT')) { $str = '<script type="text/javascript" src="statics/js/swfupload/swf2ckeditor.js"></script>'; define('IMAGES_INIT', 1); } $authkey = upload_key("1,$upload_allowext,$isselectimage,$images_width,$images_height"); if($show_type) { $preview_img = $value ? $value : IMG_PATH.'icon/upload-pic.png'; return $str."<div class='upload-pic img-wrap'><input type='hidden' name='info[$field]' id='$field' value='$value'> <a href='javascript:;' onclick=\"javascript:flashupload('{$field}_images', '".L('attachment_upload')."','{$field}',thumb_images,'1,$upload_allowext,$isselectimage,$images_width,$images_height','member','','{$authkey}')\"> <img src='$preview_img' id='{$field}_preview' width='135' height='113' style='cursor:hand' /></a></div>"; } else { return $str."<input type='text' name='info[$field]' id='$field' value='$value' size='$size' class='input-text' /> <input type='button' class='button' onclick=\"javascript:flashupload('{$field}_images', '".L('attachment_upload')."','{$field}',submit_images,'1,{$upload_allowext},$isselectimage,$images_width,$images_height','member','','{$authkey}')\"/ value='".L('image_upload')."'>"; } } function images($field, $value, $fieldinfo) { extract($fieldinfo); $list_str = ''; if($value) { $value = string2array(new_html_entity_decode($value)); if(is_array($value)) { foreach($value as $_k=>$_v) { $list_str .= "<li id='image{$_k}' style='padding:1px'><input type='text' name='{$field}_url[]' value='{$_v[url]}' style='width:310px;' ondblclick='image_priview(this.value);' class='input-text'> <input type='text' name='{$field}_alt[]' value='{$_v[alt]}' style='width:160px;' class='input-text'> <a href=\"javascript:remove_div('image{$_k}')\">".L('remove')."</a></li>"; } } } else { //$list_str .= "<input type='hidden' name='{$field}_url[]' value='0'>"; $list_str .= "<center><div class='onShow' id='nameTip'>".L('max_upload_num')." <font color='red'>{$upload_number}</font> ".L('zhang')."</div></center>"; } $string = '<input name="info['.$field.']" type="hidden" value="1"> <fieldset class="blue pad-10"> <legend>'.L('picutre_list').'</legend>'; $string .= $list_str; $string .= '<ul id="'.$field.'" class="picList"></ul> </fieldset> <div class="bk10"></div> '; if(!defined('IMAGES_INIT')) { $str = '<script type="text/javascript" src="statics/js/swfupload/swf2ckeditor.js"></script>'; define('IMAGES_INIT', 1); } else { $str = ''; } $authkey = upload_key("$upload_number,$upload_allowext,$isselectimage"); $string .= $str."<div class='picBut cu'><a herf='javascript:void(0);' onclick=\"javascript:flashupload('{$field}_images', '".L('attachment_upload')."','{$field}',change_images,'{$upload_number},{$upload_allowext},{$isselectimage}','member','','{$authkey}')\"/> ".L('select_picture')." </a></div>"; return $string; } function number($field, $value, $fieldinfo) { extract($fieldinfo); if(!$value) $value = $defaultvalue; $errortips = $this->fields[$field]['errortips']; $min = $minnumber ? ",min:$minnumber" : ''; $max = $maxnumber ? ",max:$maxnumber" : ''; if($errortips && $this->fields[$field]['isbase']) $this->formValidator .= '$("#'.$field.'").formValidator({onshow:"'.$errortips.'",onfocus:"'.$errortips.'"}).inputValidator({type:"number"'.$min.$max.',onerror:"'.$errortips.'"}).regexValidator({regexp:"num",datatype:"enum",onerror:"'.$errortips.'"});'; return "<input type='text' name='info[$field]' id='$field' value='$value' size='$size' class='input-text' {$formattribute} {$css}>"; } function datetime($field, $value, $fieldinfo) { extract(string2array($fieldinfo['setting'])); $isdatetime = 0; $timesystem = 0; if($fieldtype=='int') { if(!$value) $value = SYS_TIME; $format_txt = $format == 'm-d' ? 'm-d' : $format; if($format == 'Y-m-d Ah:i:s') $format_txt = 'Y-m-d h:i:s'; $value = date($format_txt,$value); $isdatetime = strlen($format) > 6 ? 1 : 0; if($format == 'Y-m-d Ah:i:s') { $timesystem = 0; } else { $timesystem = 1; } } elseif($fieldtype=='datetime') { $isdatetime = 1; $timesystem = 1; } elseif($fieldtype=='datetime_a') { $isdatetime = 1; $timesystem = 0; } return form::date("info[$field]",$value,$isdatetime,1,'true',$timesystem); } function linkage($field, $value, $fieldinfo) { $setting = string2array($fieldinfo['setting']); $linkageid = $setting['linkageid']; return menu_linkage($linkageid,$field,$value); } function omnipotent($field, $value, $fieldinfo) { extract($fieldinfo); $formtext = str_replace('{FIELD_VALUE}',$value,$formtext); $formtext = str_replace('{MODELID}',$this->modelid,$formtext); $id = $this->id ? $this->id : 0; $formtext = str_replace('{ID}',$id,$formtext); $errortips = $this->fields[$field]['errortips']; if($errortips && $this->fields[$field]['isbase']) $this->formValidator .= '$("#'.$field.'").formValidator({onshow:"'.$errortips.'",onfocus:"'.$errortips.'"}).inputValidator({min:1,onerror:"'.$errortips.'"});'; return $formtext; } function checkmobile($field, $value, $fieldinfo) { $errortips = L('please_input_mobile'); if(defined('IN_ADMIN')) { $string = "<div id='mobile_div'><input type='text' name='info[mobile]' id='mobile' value='".$value."' size='36' class='input-text'></div>"; $this->formValidator .= '$("#'.$field.'").formValidator({onshow:"'.$errortips.'",onfocus:"'.$errortips.'"}).inputValidator({min:1,onerror:"'.$errortips.'"});'; } elseif($value && ROUTE_A!='register') { $string = "<div id='mobile_div'>".$value."</div>"; } else { $string = "<div id='mobile_div'><input type='text' name='info[mobile]' id='mobile' value='' size='36' class='input-text' title='".L('sms_tips')."'> <div class='submit'><button onclick='get_verify()' type='button' class='hqyz'>".L('get_sms_code')."</button></div> <div id='mobileTip' class='onShow'></div> <br> </div><div id='mobile_send_div' style='display:none'>".L('sms_checkcode_send_to')."<span id='mobile_send'></span>,<span id='edit_mobile' style='display:none'><a href='javascript:void();' onclick='edit_mobile()'>".L('sms_edit_mobile')."</a>,</span> ".L('repeat_send')."<br><br> <div class='submit'><button type='button' id='GetVerify' onclick='get_verify()' class='hqyz'>".L('repeat_sms_code')."</button></div> <BR><BR></div>".L('receive_sms_code')."<input type='text' name='mobile_verify' id='mobile_verify' value='' size='14' class='input-text'>"; $this->formValidator .= '$("#'.$field.'").formValidator({onshow:"'.$errortips.'",onfocus:"'.$errortips.'"}).inputValidator({min:1,onerror:"'.$errortips.'"});'; $errortips = L('input_receive_sms_code'); $this->formValidator .= '$("#mobile_verify").formValidator({onshow:"'.$errortips.'",onfocus:"'.$errortips.'"}).inputValidator({min:1,onerror:"'.$errortips.'"}).ajaxValidator({ type : "get", url : "api.php", data :"op=sms_idcheck&action=id_code", datatype : "html", getdata:{mobile:"mobile"}, async:"false", success : function(data){ if( data == "1" ) { return true; } else { return false; } }, buttons: $("#dosubmit"), onerror : "'.L('checkcode_wrong').'", onwait : "'.L('connecting_please_wait').'" });'; } $string .= ' <SCRIPT LANGUAGE="JavaScript"> <!-- var times = 90; var isinerval; function get_verify() { var mobile = $("#mobile").val(); var partten = /^1[3-9]\d{9}$/; if(!partten.test(mobile)){ alert("'.L('input_right_mobile').'"); return false; } $.get("api.php?op=sms",{ mobile: mobile,random:Math.random()}, function(data){ if(data=="0") { $("#mobile_send").html(mobile); $("#mobile_div").css("display","none"); $("#mobile_send_div").css("display",""); times = 90; $("#GetVerify").attr("disabled", true); isinerval = setInterval("CountDown()", 1000); } else if(data=="-1") { alert("'.L('sms_have_reached_the_limit').'"); } else { alert("'.L('sms_send_fail').'"); } }); } function CountDown() { if (times < 1) { $("#GetVerify").html("'.L('get_sms_code').'").attr("disabled", false); $("#edit_mobile").css("display",""); clearInterval(isinerval); return; } $("#GetVerify").html(times+"'.L('wait_second_repeat_sms_code').'"); times--; } function edit_mobile() { $("#mobile_div").css("display",""); $("#mobile_send_div").css("display","none"); } //--> </SCRIPT> '; return $string; } } ?>