setUserSequence($seq)
정의 위치
- ./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;
}
* 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;
}
-
댓글 0