fetch_by_uid_verifytype($uid, 0)) { $fields = dunserialize($value['field']); foreach($fields as $key => $fvalue) { if($_G['cache']['profilesetting'][$key]['needverify']) { $_G['profile_verifys'][$uid][$key] = $fvalue; } } } } $verifyvalue = NULL; if(isset($_G['profile_verifys'][$uid][$fieldid])) { if($fieldid=='gender') { $verifyvalue = lang('space', 'gender_'.intval($_G['profile_verifys'][$uid][$fieldid])); } elseif($fieldid=='birthday') { $verifyvalue = $_G['profile_verifys'][$uid]['birthyear'].'-'.$_G['profile_verifys'][$uid]['birthmonth'].'-'.$_G['profile_verifys'][$uid]['birthday']; } else { $verifyvalue = $_G['profile_verifys'][$uid][$fieldid]; } } } $html = ''; $field['unchangeable'] = !$ignoreunchangable && $field['unchangeable'] ? 1 : 0; if($fieldid == 'birthday') { if($field['unchangeable'] && !empty($space[$fieldid])) { return ''.$space['birthyear'].'-'.$space['birthmonth'].'-'.$space['birthday'].''; } $birthyeayhtml = ''; $nowy = dgmdate($_G['timestamp'], 'Y'); for ($i=0; $i<100; $i++) { $they = $nowy - $i; $selectstr = $they == $space['birthyear']?' selected':''; $birthyeayhtml .= ""; } $birthmonthhtml = ''; for ($i=1; $i<13; $i++) { $selectstr = $i == $space['birthmonth']?' selected':''; $birthmonthhtml .= ""; } $birthdayhtml = ''; if(empty($space['birthmonth']) || in_array($space['birthmonth'], array(1, 3, 5, 7, 8, 10, 12))) { $days = 31; } elseif(in_array($space['birthmonth'], array(4, 6, 9, 11))) { $days = 30; } elseif($space['birthyear'] && (($space['birthyear'] % 400 == 0) || ($space['birthyear'] % 4 == 0 && $space['birthyear'] % 100 != 0))) { $days = 29; } else { $days = 28; } for ($i=1; $i<=$days; $i++) { $selectstr = $i == $space['birthday']?' selected':''; $birthdayhtml .= ""; } $html = '' .' ' .'' .' ' .''; } elseif($fieldid=='gender') { if($field['unchangeable'] && $space[$fieldid] > 0) { return ''.lang('space', 'gender_'.intval($space[$fieldid])).''; } $selected = array($space[$fieldid]=>' selected="selected"'); $html = ''; } elseif($fieldid=='birthcity') { if($field['unchangeable'] && !empty($space[$fieldid])) { return ''.$space['birthcountry'].'-'.$space['birthprovince'].'-'.$space['birthcity'].''; } $values = array(0,0,0,0,0); $elems = array('birthcountry', 'birthprovince', 'birthcity', 'birthdist', 'birthcommunity'); if(!empty($space['birthcountry'])) { $html = profile_show('birthcity', $space); $html .= ' ('.lang('spacecp', 'profile_edit').')'; $html .= '
'; } else { $html = ''.showdistrict($values, $elems, 'birthdistrictbox', 1, 'birth').'
'; } } elseif($fieldid=='residecity') { if($field['unchangeable'] && !empty($space[$fieldid])) { return ''.$space['resideprovince'].'-'.$space['residecity'].''; } $values = array(0,0,0,0,0); $elems = array('residecountry', 'resideprovince', 'residecity', 'residedist', 'residecommunity'); if(!empty($space['residecountry'])) { $html = profile_show('residecity', $space); $html .= ' ('.lang('spacecp', 'profile_edit').')'; $html .= ''; } else { $html = ''.showdistrict($values, $elems, 'residedistrictbox', 1, 'reside').'
'; } } elseif($fieldid=='qq') { $html = "".lang('spacecp', 'qq_set_status')."
"; } else { if($field['unchangeable'] && $space[$fieldid]!='') { if($field['formtype']=='file') { $imgurl = getglobal('setting/attachurl').'./profile/'.$space[$fieldid]; return '' . $tips . '
'; } return $html; } function profile_check($fieldid, &$value, $space=array()) { global $_G; if(empty($_G['cache']['profilesetting'])) { loadcache('profilesetting'); } if(empty($_G['profilevalidate'])) { include libfile('spacecp/profilevalidate', 'include'); $_G['profilevalidate'] = $profilevalidate; } $field = $_G['cache']['profilesetting'][$fieldid]; if(empty($field) || !$field['available']) { return false; } if($value=='') { if($field['required']) { if(in_array($fieldid, array('birthcountry', 'birthprovince', 'birthcity', 'birthdist', 'birthcommunity', 'residecountry', 'resideprovince', 'residecity', 'residedist', 'residecommunity'))) { if(substr($fieldid, 0, 5) == 'birth') { if(!empty($_GET['birthcountry']) || !empty($_GET['birthprovince']) || !empty($_GET['birthcity']) || !empty($_GET['birthdist']) || !empty($_GET['birthcommunity'])) { return true; } } elseif(!empty($_GET['residecountry']) || !empty($_GET['resideprovince']) || !empty($_GET['residecity']) || !empty($_GET['residedist']) || !empty($_GET['residecommunity'])) { return true; } } return false; } else { return true; } } if($field['unchangeable'] && !empty($space[$fieldid])) { return false; } include_once libfile('function/home'); if(in_array($fieldid, array('birthday', 'birthmonth', 'birthyear', 'gender'))) { $value = intval($value); return true; } elseif(in_array($fieldid, array('birthcountry', 'birthprovince', 'birthcity', 'birthdist', 'birthcommunity', 'residecountry', 'resideprovince', 'residecity', 'residedist', 'residecommunity'))) { $value = getstr($value); return true; } if($field['choices']) { $field['choices'] = explode("\n", $field['choices']); } if($field['formtype'] == 'text' || $field['formtype'] == 'textarea') { $value = getstr($value); if($field['size'] && strlen($value) > $field['size']) { return false; } else { $field['validate'] = !empty($field['validate']) ? $field['validate'] : ($_G['profilevalidate'][$fieldid] ? $_G['profilevalidate'][$fieldid] : ''); if($field['validate'] && !preg_match($field['validate'], $value)) { return false; } } } elseif($field['formtype'] == 'checkbox' || $field['formtype'] == 'list') { $arr = array(); foreach ($value as $op) { if(in_array($op, $field['choices'])) { $arr[] = $op; } } $value = implode("\n", $arr); if($field['size'] && count($arr) > $field['size']) { return false; } } elseif($field['formtype'] == 'radio' || $field['formtype'] == 'select') { if(!in_array($value, $field['choices'])){ return false; } } return true; } function profile_show($fieldid, $space=array(), $getalone = false) { global $_G; if(empty($_G['cache']['profilesetting'])) { loadcache('profilesetting'); } if($fieldid == 'qqnumber') { $_G['cache']['profilesetting'][$fieldid] = $_G['cache']['profilesetting']['qq']; } $field = $_G['cache']['profilesetting'][$fieldid]; if(empty($field) || !$field['available'] || (!$getalone && in_array($fieldid, array('uid', 'birthmonth', 'birthyear', 'birthcountry', 'residecountry')))) { return false; } if($fieldid=='gender') { return lang('space', 'gender_'.intval($space['gender'])); } elseif($fieldid=='birthday' && !$getalone) { $return = $space['birthyear'] ? $space['birthyear'].' '.lang('space', 'year').' ' : ''; if($space['birthmonth'] && $space['birthday']) { $return .= $space['birthmonth'].' '.lang('space', 'month').' '.$space['birthday'].' '.lang('space', 'day'); } return $return; } elseif($fieldid=='birthcity' && !$getalone) { return $space['birthcountry'] .(!empty($space['birthprovince']) ? ' '.$space['birthprovince'] : '') .(!empty($space['birthcity']) ? ' '.$space['birthcity'] : '') .(!empty($space['birthdist']) ? ' '.$space['birthdist'] : '') .(!empty($space['birthcommunity']) ? ' '.$space['birthcommunity'] : ''); } elseif($fieldid=='residecity' && !$getalone) { return $space['residecountry'] .(!empty($space['resideprovince']) ? ' '.$space['resideprovince'] : '') .(!empty($space['residecity']) ? ' '.$space['residecity'] : '') .(!empty($space['residedist']) ? ' '.$space['residedist'] : '') .(!empty($space['residecommunity']) ? ' '.$space['residecommunity'] : ''); } elseif($fieldid == 'site') { $url = str_replace('"', '\\"', $space[$fieldid]); return "$url"; } elseif($fieldid == 'position') { return nl2br($space['office'] ? : ($space['field_position']?:$space['position'])); } elseif($fieldid == 'qq') { return '