정의 위치
- ./config/func.inc.php
정의 내용
/** * Set Sequence number to session * * @param int $seq sequence number * @return void */ function setUserSequence($seq) { $arr_seq = array(); if(isset($_SESSION['seq'])) { $arr_seq = $_SESSION['seq']; } $arr_seq[] = $seq; $_SESSION['seq'] = $arr_seq; }
용도
- 시퀀스 번호에 대해서 이 세션에 권한을 허용한다는 표시해두는 용도로 사용합니다.
- 단순히 권한이 있다 없다(논리값)를 저장하기만 합니다. setUserSequence() 로 호출되거나 getNextSequence()로 이 세션에서 생성한 시퀀스일 경우 checkUserSequence() 는 boolen TRUE를 반환합니다.
파라메터
- integer $seq : 설정할 시퀀스 값을 전달합니다. 전달된 값은 세션에 저장됩니다.
예시
- ./modules/editor/editor.model.php 중 getSavedDoc() 메소드
-
/** * @brief Get information which has been auto-saved */ function getSavedDoc($upload_target_srl) { $auto_save_args = new stdClass(); // Find a document by using member_srl for logged-in user and ipaddress for non-logged user if(Context::get('is_logged')) { $logged_info = Context::get('logged_info'); $auto_save_args->member_srl = $logged_info->member_srl; } else { $auto_save_args->ipaddress = $_SERVER['REMOTE_ADDR']; } $auto_save_args->module_srl = Context::get('module_srl'); // Get the current module if module_srl doesn't exist if(!$auto_save_args->module_srl) { $current_module_info = Context::get('current_module_info'); $auto_save_args->module_srl = $current_module_info->module_srl; } // Extract auto-saved data from the DB $output = executeQuery('editor.getSavedDocument', $auto_save_args); $saved_doc = $output->data; // Return null if no result is auto-saved if(!$saved_doc) return; // Check if the auto-saved document already exists $oDocumentModel = getModel('document'); $oSaved = $oDocumentModel->getDocument($saved_doc->document_srl); if($oSaved->isExists()) return; // Move all the files if the auto-saved data contains document_srl and file // Then set document_srl to editor_sequence if($saved_doc->document_srl && $upload_target_srl && !Context::get('document_srl')) { $saved_doc->module_srl = $auto_save_args->module_srl; $oFileController = getController('file'); $oFileController->moveFile($saved_doc->document_srl, $saved_doc->module_srl, $upload_target_srl); } else if($upload_target_srl) $saved_doc->document_srl = $upload_target_srl; // Change auto-saved data $oEditorController = getController('editor'); $oEditorController->deleteSavedDoc(false); $oEditorController->doSaveDoc($saved_doc); setUserSequence($saved_doc->document_srl); return $saved_doc; }
-