mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-17 18:29:55 +09:00
85 lines
4.6 KiB
PHP
85 lines
4.6 KiB
PHP
<?php
|
|
/**
|
|
* @brief div 또는 span에 member_번호 가 있을때 해당 회원 번호에 맞는 이미지이름이나 닉이미지를 대체
|
|
**/
|
|
function memberTransImageName($matches) {
|
|
// 회원번호를 추출하여 0보다 찾으면 본문중 text만 return
|
|
$member_srl = $matches[3];
|
|
if($member_srl<0) return $matches[5];
|
|
|
|
// 회원이 아닐경우(member_srl = 0) 본문 전체를 return
|
|
$nick_name = $matches[5];
|
|
if(!$member_srl) return $matches[0];
|
|
|
|
// 전역변수에 미리 설정한 데이터가 있다면 그걸 return
|
|
if(!$GLOBALS['_transImageNameList'][$member_srl]->cached) {
|
|
$GLOBALS['_transImageNameList'][$member_srl]->cached = true;
|
|
$image_name_file = sprintf('./files/member_extra_info/image_name/%s%d.gif', getNumberingPath($member_srl), $member_srl);
|
|
$image_mark_file = sprintf('./files/member_extra_info/image_mark/%s%d.gif', getNumberingPath($member_srl), $member_srl);
|
|
if(file_exists($image_name_file)) $GLOBALS['_transImageNameList'][$member_srl]->image_name_file = $image_name_file;
|
|
else $image_name_file = '';
|
|
if(file_exists($image_mark_file)) $GLOBALS['_transImageNameList'][$member_srl]->image_mark_file = $image_mark_file;
|
|
else $image_mark_file = '';
|
|
} else {
|
|
$image_name_file = $GLOBALS['_transImageNameList'][$member_srl]->image_name_file;
|
|
$image_mark_file = $GLOBALS['_transImageNameList'][$member_srl]->image_mark_file;
|
|
}
|
|
|
|
// 이미지이름이나 마크가 없으면 원본 정보를 세팅
|
|
if(!$image_name_file && !$image_mark_file) return $matches[0];
|
|
|
|
$text = $nick_name = htmlspecialchars(strip_tags($nick_name));
|
|
|
|
// 이미지 이름이 있을 경우
|
|
if($image_name_file) $text = sprintf('<img src="%s" border="0" alt="id: %s" title="id: %s" style="vertical-align:middle;margin-right:3px" />', $image_name_file, $nick_name, $nick_name);
|
|
|
|
if($image_mark_file) $text = sprintf('<img src="%s" border="0" alt="id: %s" title="id : %s" style="vertical-align:middle;margin-right:3px"/>%s', $image_mark_file, $nick_name, $nick_name, $text);
|
|
|
|
return sprintf('<span class="nowrap member_%d" style="cursor:pointer">%s</span>',$member_srl, $text);
|
|
}
|
|
|
|
/**
|
|
* @brief 게시글의 하단에 서명을 추가하는 코드
|
|
**/
|
|
function memberTransSignature($matches) {
|
|
$member_srl = $matches[2];
|
|
if(!$member_srl) return $matches[0];
|
|
|
|
if(!$GLOBALS['_memberModuleConfig_']) {
|
|
$oModuleModel = &getModel('module');
|
|
$GLOBALS['_memberModuleConfig_'] = $oModuleModel->getModuleConfig('member');
|
|
}
|
|
$memberModuleConfig = $GLOBALS['_memberModuleConfig_'];
|
|
|
|
// 전역변수에 미리 설정한 데이터가 있다면 그걸 return
|
|
if(!$GLOBALS['_transSignatureList'][$member_srl]->cached) {
|
|
$GLOBALS['_transSignatureList'][$member_srl]->cached = true;
|
|
|
|
// 서명을 구해옴
|
|
$signature = null;
|
|
$signature_file = sprintf('files/member_extra_info/signature/%s%d.signature.php', getNumberingPath($member_srl), $member_srl);
|
|
if(file_exists($signature_file)) $signature = trim(substr(FileHandler::readFile($signature_file),40));
|
|
|
|
// 프로필 이미지를 구해옴
|
|
$exts = array('gif','jpg','png');
|
|
for($i=0;$i<3;$i++) {
|
|
$profile_file = sprintf('files/member_extra_info/profile_image/%s%d.%s', getNumberingPath($member_srl), $member_srl, $exts[$i]);
|
|
if(file_exists($profile_file)) {
|
|
$signature = sprintf('<img src="%s" alt="" class="member_profile_image" />%s', $profile_file, $signature);
|
|
break;
|
|
}
|
|
}
|
|
|
|
$GLOBALS['_transSignatureList'][$member_srl]->signature = $signature;
|
|
} else $signature = $GLOBALS['_transSignatureList'][$member_srl]->signature;
|
|
|
|
if(!$signature) return $matches[0];
|
|
|
|
// 서명 높이 제한 값이 있으면 표시 높이 제한
|
|
if($memberModuleConfig->signature_max_height) {
|
|
return sprintf('<div class="member_signature" style="max-height: %spx; overflow: auto; height: expression(this.scrollHeight > %s? \'%spx\': \'auto\');">%s<div class="clear"></div></div>', $memberModuleConfig->signature_max_height, $memberModuleConfig->signature_max_height, $memberModuleConfig->signature_max_height, $signature);
|
|
} else {
|
|
return sprintf('<div class="member_signature">%s<div class="clear"></div></div>', $signature);
|
|
}
|
|
}
|
|
?>
|