write.php에서 이해가 않가는 구문이 있어서 질문드려요~ > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

write.php에서 이해가 않가는 구문이 있어서 질문드려요~ 정보

write.php에서 이해가 않가는 구문이 있어서 질문드려요~

본문

[ bbs/write.php ] 소스를 보면, 194라인에 아래와 같은 문장이 있습니다..
이 문장이 뜻하는 바를 잘 모르겠어요.. 설명부탁드립니다..

그리고 다른 if문과는 다르게, !$member[mb_id]와 같이 부정일때 조건을 만족
하게 했는지도 궁금합니다..
-----------------------------------------------------------------------------------------------------------------------------------
 if (!$member[mb_id] || ($is_admin && $w == 'u' && $member[mb_id] != $write[mb_id])) {
    $is_name = true;
    $is_password = true;
    $is_email = true;
    $is_homepage = true;
}

댓글 전체

-. 들어가기에 앞서...

  <<부정일때 조건을 만족시키는 방법>>

  '{긍정조건}이 아니라면 {다음의 루틴}을 실행해라.'라는 형식이,
  가장 논리적이며 기본으로 구현되는 방식이겠지만,
  심플한 소스코드와 기타 프로그래머의 성향에 따라서
  {부정문} 하나만으로(단, 두가지 가정이라는 조건하에서...) 돌리는
  경우가 일반적인 형태라고 볼 수 있습니다.

  뭐 "딱 이거다!"싶게 '부정문'으로 루틴을 짜는 경우와,
  '긍정 아니면 부정'으로 루틴을 구성하는 경우가 확연히 구분되는 것은 아닙니다.
  그때 그때 상황에 맞게 혼용하겠지요.


-. 게시물 수정($w=='u')에 관한 루틴인것 같습니다.


[조건 하나]
!$member[mb_id] //회원이 아님

[조건 둘]
$is_admin//관리자이고,
&& $w == 'u'//수정모드이며,
&& $member[mb_id] != $write[mb_id]//회원이나 게시물 작성자가 아님.(즉, 게시물 작성회원이 아님)

-. 전체루틴
함축하기 : [조건 하나] 또는 [조건 둘]
풀어쓰기 : [비회원이거나], [이미 작성된 게시물의 수정모드이며, 관리자이고, 게시물 작성자가 아니라면]

★☆★주의사항★☆★
$is_admin이라는 변수는 항상 '최고관리자'를 지칭한다?!

땡...때대대대 ~댕.

$is_admin은,
 super(최고관리자) == $config[cf_admin]
 group(그룹관리자) == $group[gr_admin]
 board(게시판관리자) == $board[bo_admin]
===========================
[조건 하나]
!$member[mb_id] //회원이 아님
===========================
상기된 조건이 or 조건으로 언급되어 있지 않다면,
단순히 '수정모드'에 관한 루틴이 되겠으나,
말씀하신 루틴을 간단히 줄여 말하자면,
아마도 그렇게(비회원이 새글을 작성하거나, 관리자가 타 회원의 게시물을 수정하는 것) 생각하시면 될 것 같습니다.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT