정의 위치

  • ./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 : 설정할 시퀀스 값을 전달합니다. 전달된 값은 세션에 저장됩니다.

예시

  1. ./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;
      		}