Skip to content

Page load flowchart

Robert Spencer edited this page Jun 13, 2024 · 1 revision
graph TD;

subgraph apache
    HTTPRequest --> CRMRootDirectory{Does Requested Path Exist}

    CRMRootDirectory --yes--> PageExists{LoadPage}
    CRMRootDirectory --no--> index{.htaccess forces index.php to Look for<br/> prettyurl or redirect to Menu}
    index --> PageExists{Is Page root dir, v2, or API?}
  end

subgraph AuthenticationManager
    beginAuthenticationManager(AuthManager) --> SelectAuthProvider
    subgraph localAuth
        SelectAuthProvider --> isUserLoginValid
      end
    isUserLoginValid --> endAuthenticationManager
    endAuthenticationManager
  end

subgraph initPage
    PageExists --root--> PageExistsRoot
    PageExists --v2--> v2index(v2/index.php)
    v2index --> config1
    PageExistsRoot --> config1
    config1(read settings from Config.php) --> config2(initialize bootstrapper in LoadConfigs.php)
    config2 --> peroot2AuthenticationManager
    subgraph Functionsphp
        peroot2AuthenticationManager(Ensure Session<br/> See AuthenticationManager) --> beginAuthenticationManager
        endAuthenticationManager --> LoadGlobals(LoadGlobalFunctions)
      end
  end

subgraph initApi
    PageExists --api--> PageIsAPI
    PageIsAPI --> apiconfig1
    apiconfig1(read settings from Config.php) --> apiconfig2(initialize bootstrapper in LoadConfigs.php)
    apiconfig2 --> apiSlim(Start Slim API app)
    apiSlim .-> beginAuthenticationManager
    endAuthenticationManager .->  RenderAPIResult
  end

LoadGlobals --root--> render(Render Page)
LoadGlobals --v2--> renderslim(Load Slim App / Routes)
Loading
Clone this wiki locally