Microsoft 365 Connector

Application

Table of Contents

Interfaces

GetFilesAndFoldersServiceInterface
Interface for GetFilesAndFoldersService class.
GetMailServiceInterface
Interface for the GetMailService class.
AuthenticationServiceInterface
The interface for the AuthenticationService.
O365ConnectorInterface
Provides as interface defining a SocialO365 entity.
O365LoggerServiceInterface
The interface for the O365LoggerService service.

Classes

O365ContactsController
Returns responses for o365_contacts routes.
SearchContactForm
Provides a o365_contacts form.
SearchContactBlock
Provides a 'Contact Search' block.
O365GroupsFilesControllerAccessCheck
Access check class for the files controller.
O365GroupsFilesController
Returns responses for Microsoft 365 - Groups routes.
O365GroupsTeamsConnectForm
Create the form where we connect groups to MS Teams.
GroupFilesService
Service that returns the list of files.
GroupsService
Service used to do all kinds of stuff with groups and teams.
SettingsForm
Configure o365_links settings for this site.
O365CacheInvalidator
Create a custom cache invalidator.
O365LinksConstants
Some constants we need in the links module.
O365LinksBlock
Provides a 'Microsoft 365 Application Links' block.
OneDriveListController
Class OndeDriveListController.
GetFilesAndFoldersService
Class used to retrieve folder listings from onedrive.
RecentFilesBlock
Provides a 'Recent Files' block.
SharedFilesBlock
Provides a 'Shared Files' block.
OutlookCalendarSaveAjaxController
Returns responses for Microsoft 365 - Outlook Calendar routes.
OutlookCalendarSettingsForm
Configure Microsoft 365 - Outlook Calendar settings for this site.
OutlookCalendarSaveEventService
Service that handles to saving of events in Outlook.
AddToCalendarBlock
Provides an add node to calendar block.
CalendarBlock
Provides a 'Upcoming Appointments' block.
MyMailController
Controller that renders a list of emails belonging to the logged in user.
GetMailService
This service retrieves emails for the currently logged in user.
LatestMailBlock
Provides a 'Latest Mail' block.
LatestUnreadMailBlock
Provides a 'Latest Unread Mail' block.
O365ProfileTeamsLinksConfigForm
Configure Microsoft 365 - Profiles and personas settings for this site.
O365ProfileGetDataService
O365ProfileGetDataService service gives basic information about the user.
O365ProfileTeamsService
The service too connect Teams with profiles.
PersonaBlock
Provides a 'Persona' block.
TeamsLinksBlock
Provides a 'Teams Links' block.
O365ProfileRestResource
Provides a resource for get the Microsoft 365 profile data.
GetAccessTokenResource
Provides a resource to get view modes by entity and bundle.
O365SharepointFieldController
Returns responses for Microsoft 365 - SharePoint search Field routes.
SharePointSearchDefaultFormatter
Plugin implementation 'sharepoint_search_link' formatter.
SharePointSearchItem
Defines the 'sharepoint_search_link' field type.
SharePointSearchWidget
Defines the 'field_sharepoint_search_link' field widget.
O365SharepointController
Returns responses for o365_sharepoint_file routes.
SearchSharepointForm
Provides a o365_files form.
SharepointSearchBlock
Provides a 'Sharepoint File Search' block.
LoginCallbackController
LoginCallbackController. Call when returning from the o365 service.
LoginController
Login controller, let the user actually login.
LogoutController
Custom logout controller for o365_sso module.
UserLoginController
UserLoginController. Used when returned from the callback.
RouteSubscriber
Route subscriber for the custom logout functionality.
SettingsForm
Settings form for the SSO module.
O365CheckLoginAccess
Access checker for the login page.
UserLoginFormRouteSubscriber
Auto redirect users when the auto redirect option is enabled.
SettingsForm
Settings form for the o365_sso_user module.
SsoUserSync
User sync service that syncs data from Graph API to entities.
TeamsRecipientAutocompleteController
Custom controller for the autocomplete callback.
O365TeamsSendMessageForm
Provides an Microsoft 365 - Teams integration form.
O365TeamsSendMessageService
This service is used to send messages to users / channels.
AuthenticationService
Service used to authenticate users between Microsoft 365 and Drupal.
O365BlockBase
Custom block base for o365 for access checking.
O365UncachedBlockBase
Extending the O365BlockBase with a non-cachable dependency.
ConstantsService
Some constants we use in the code.
O365AuthScopesController
Returns responses for Microsoft 365 Connector routes.
O365ConnectorListBuilder
Defines a class to build a listing of Microsoft 365 connector entities.
O365Connector
Defines the Microsoft 365 connector entity.
RoleEventSubscriber
Custom event subscriber to handle roles on login.
O365ConnectorDeleteForm
Builds the form to delete Microsoft 365 connector entities.
O365ConnectorForm
Builds the form to create/edit Microsoft 365 connector entities.
RoleSettingsForm
Map groups in Microsoft 365 to Drupal roles.
SettingsForm
Settings form for the o365 module.
GraphService
This is the GraphService.
HelperService
Service with some helpful methods that we use in different locations.
O365ConnectorAccessControlHandler
Access controller for the Microsoft 365 connector entity.
O365LoggerService
Our custom Logger service.
O365OAuth2Client
OAuth2 Client to authenticate with Microsoft 365.
RolesService
Service for managing user roles based on Microsoft 365 group membership.
InstallTest
Test module installation.

Functions

o365_sso_post_update_update_default_link_text_config()  : mixed
Update the default link text configuration.
hook_o365_auth_scopes()  : mixed
Create a list of authorization scopes.
o365_post_update_remove_api_settings_config()  : mixed
Remove API settings configuration.

Functions

o365_sso_post_update_update_default_link_text_config()

Update the default link text configuration.

o365_sso_post_update_update_default_link_text_config() : mixed

hook_o365_auth_scopes()

Create a list of authorization scopes.

hook_o365_auth_scopes(array<string|int, mixed> &$scopes, O365ConnectorInterface $connector) : mixed
Parameters
$scopes : array<string|int, mixed>

An array of authorization scopes.

$connector : O365ConnectorInterface

o365_post_update_remove_api_settings_config()

Remove API settings configuration.

o365_post_update_remove_api_settings_config() : mixed
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
            <title>Microsoft 365 Connector</title>
    
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <base href="./">
    <link rel="icon" href="images/favicon.ico"/>
    <link rel="stylesheet" href="css/normalize.css">
    <link rel="stylesheet" href="css/base.css">
            <link rel="preconnect" href="https://fonts.gstatic.com">
        <link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@100;200;300;400;600;700&display=swap" rel="stylesheet">
        <link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;600;700&display=swap" rel="stylesheet">
        <link rel="stylesheet" href="css/template.css">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0/css/all.min.css" integrity="sha256-ybRkN9dBjhcS2qrW1z+hfCxq+1aBdwyQM5wlQoQVt/0=" crossorigin="anonymous" />
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/themes/prism-okaidia.css">
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-numbers/prism-line-numbers.css">
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-highlight/prism-line-highlight.css">
                <script src="https://cdn.jsdelivr.net/npm/fuse.js@3.4.6"></script>
        <script src="https://cdn.jsdelivr.net/npm/css-vars-ponyfill@2"></script>
        <script src="js/template.js"></script>
        <script src="js/search.js"></script>
        <script defer src="js/searchIndex.js"></script>
    </head>
<body id="top">
    <header class="phpdocumentor-header phpdocumentor-section">
    <h1 class="phpdocumentor-title"><a href="" class="phpdocumentor-title__link">Microsoft 365 Connector</a></h1>
    <input class="phpdocumentor-header__menu-button" type="checkbox" id="menu-button" name="menu-button" />
    <label class="phpdocumentor-header__menu-icon" for="menu-button">
        <i class="fas fa-bars"></i>
    </label>
    <section data-search-form class="phpdocumentor-search">
    <label>
        <span class="visually-hidden">Search for</span>
        <svg class="phpdocumentor-search__icon" width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg">
            <circle cx="7.5" cy="7.5" r="6.5" stroke="currentColor" stroke-width="2"/>
            <line x1="12.4892" y1="12.2727" x2="19.1559" y2="18.9393" stroke="currentColor" stroke-width="3"/>
        </svg>
        <input type="search" class="phpdocumentor-field phpdocumentor-search__field" placeholder="Loading .." disabled />
    </label>
</section>

    <nav class="phpdocumentor-topnav">
    <ul class="phpdocumentor-topnav__menu">
        </ul>
</nav>
</header>

    <main class="phpdocumentor">
        <div class="phpdocumentor-section">
            <input class="phpdocumentor-sidebar__menu-button" type="checkbox" id="sidebar-button" name="sidebar-button" />
<label class="phpdocumentor-sidebar__menu-icon" for="sidebar-button">
    Menu
</label>
<aside class="phpdocumentor-column -three phpdocumentor-sidebar">
                    <section class="phpdocumentor-sidebar__category -namespaces">
            <h2 class="phpdocumentor-sidebar__category-header">Namespaces</h2>
                                    <h4 class="phpdocumentor-sidebar__root-namespace">
    <a class href='/namespaces/drupal'>Drupal</a>
</h4>
    <ul class="phpdocumentor-list">
                    <li>
                <a class href='/namespaces/drupal-o365-contacts'>o365_contacts</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-groups'>o365_groups</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-links'>o365_links</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-onedrive'>o365_onedrive</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-outlook-calendar'>o365_outlook_calendar</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-outlook-mail'>o365_outlook_mail</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-profile'>o365_profile</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-profile-rest'>o365_profile_rest</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-rest'>o365_rest</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-sharepoint-field'>o365_sharepoint_field</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-sharepoint-file'>o365_sharepoint_file</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-sso'>o365_sso</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-sso-user'>o365_sso_user</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365-teams'>o365_teams</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-o365'>o365</a>
                
            </li>
                    <li>
                <a class href='/namespaces/drupal-tests'>Tests</a>
                
            </li>
            </ul>

                        </section>
                <section class="phpdocumentor-sidebar__category -packages">
            <h2 class="phpdocumentor-sidebar__category-header">Packages</h2>
                                    <h4 class="phpdocumentor-sidebar__root-namespace">
    <a class href='/packages/application'>Application</a>
</h4>

                                    <h4 class="phpdocumentor-sidebar__root-namespace">
    <a class href='/packages/drupal'>Drupal</a>
</h4>
    <ul class="phpdocumentor-list">
                    <li>
                <a class href='/packages/drupal-o365'>o365</a>
                
            </li>
            </ul>

                        </section>
            
    <section class="phpdocumentor-sidebar__category -reports">
        <h2 class="phpdocumentor-sidebar__category-header">Reports</h2>
                <h3 class="phpdocumentor-sidebar__root-package"><a href='/reports/deprecated'>Deprecated</a></h3>
        <h3 class="phpdocumentor-sidebar__root-package"><a href='/reports/errors'>Errors</a></h3>
        <h3 class="phpdocumentor-sidebar__root-package"><a href='/reports/markers'>Markers</a></h3>
    </section>

    <section class="phpdocumentor-sidebar__category -indices">
        <h2 class="phpdocumentor-sidebar__category-header">Indices</h2>
        <h3 class="phpdocumentor-sidebar__root-package"><a href='/indices/files'>Files</a></h3>
    </section>
</aside>

            <div class="phpdocumentor-column -nine phpdocumentor-content">
                                        <section>
        <h2>Documentation</h2>

        
        
<h3 id="toc">
    Table of Contents
    <a class='headerlink' href='/namespaces/default#toc'><i class="fas fa-link"></i></a>

</h3>

<h4 id="packages">
    Packages
    <a class='headerlink' href='/namespaces/default#packages'><i class="fas fa-link"></i></a>

</h4>
<dl class="phpdocumentor-table-of-contents">
            <dt class="phpdocumentor-table-of-contents__entry -package"><a href='/packages/application'><abbr title="\Application">Application</abbr></a></dt>
            <dt class="phpdocumentor-table-of-contents__entry -package"><a href='/packages/drupal'><abbr title="\Drupal">Drupal</abbr></a></dt>
    </dl>

<h4 id="namespaces">
    Namespaces
    <a class='headerlink' href='/namespaces/default#namespaces'><i class="fas fa-link"></i></a>

</h4>
<dl class="phpdocumentor-table-of-contents">
            <dt class="phpdocumentor-table-of-contents__entry -namespace"><a href='/namespaces/drupal'><abbr title="\Drupal">Drupal</abbr></a></dt>
    </dl>









<h4 id="toc-functions">
    Functions
    <a class='headerlink' href='/namespaces/default#toc-functions'><i class="fas fa-link"></i></a>

</h4>
<dl class="phpdocumentor-table-of-contents">
            <dt class="phpdocumentor-table-of-contents__entry -function -">
    <a class href='/namespaces/default#function_o365_sso_post_update_update_default_link_text_config'>o365_sso_post_update_update_default_link_text_config()</a>
    <span>
                                &nbsp;: mixed    </span>
</dt>
<dd>Update the default link text configuration.</dd>

            <dt class="phpdocumentor-table-of-contents__entry -function -">
    <a class href='/namespaces/default#function_hook_o365_auth_scopes'>hook_o365_auth_scopes()</a>
    <span>
                                &nbsp;: mixed    </span>
</dt>
<dd>Create a list of authorization scopes.</dd>

            <dt class="phpdocumentor-table-of-contents__entry -function -">
    <a class href='/namespaces/default#function_o365_post_update_remove_api_settings_config'>o365_post_update_remove_api_settings_config()</a>
    <span>
                                &nbsp;: mixed    </span>
</dt>
<dd>Remove API settings configuration.</dd>

    </dl>

        

            <section class="phpdocumentor-functions">
        <h3 class="phpdocumentor-elements__header" id="functions">
            Functions
            <a class='headerlink' href='/namespaces/default#functions'><i class="fas fa-link"></i></a>

        </h3>
                    <article class="phpdocumentor-element -function - ">
    <h4 class="phpdocumentor-element__name" id="function_o365_sso_post_update_update_default_link_text_config">
        o365_sso_post_update_update_default_link_text_config()
        <a class='headerlink' href='/namespaces/default#function_o365_sso_post_update_update_default_link_text_config'><i class="fas fa-link"></i></a>

    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="modules/o365_sso/o365_sso.post_update.php"><a href='/files/modules-o365-sso-o365-sso-post-update'><abbr title="modules/o365_sso/o365_sso.post_update.php">o365_sso.post_update.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">11</span>

    </aside>

        <p class="phpdocumentor-summary">Update the default link text configuration.</p>

    
    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility"></span>
                    <span class="phpdocumentor-signature__name">o365_sso_post_update_update_default_link_text_config</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>

    
    
    

    
</article>
                    <article class="phpdocumentor-element -function - ">
    <h4 class="phpdocumentor-element__name" id="function_hook_o365_auth_scopes">
        hook_o365_auth_scopes()
        <a class='headerlink' href='/namespaces/default#function_hook_o365_auth_scopes'><i class="fas fa-link"></i></a>

    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="o365.api.php"><a href='/files/o365-api'>o365.api.php</a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">20</span>

    </aside>

        <p class="phpdocumentor-summary">Create a list of authorization scopes.</p>

    
    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility"></span>
                    <span class="phpdocumentor-signature__name">hook_o365_auth_scopes</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;&nbsp;</span><span class="phpdocumentor-signature__argument__reference-operator">&amp;</span><span class="phpdocumentor-signature__argument__name">$scopes</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><a href='/classes/drupal-o365-o365connectorinterface'><abbr title="\Drupal\o365\O365ConnectorInterface">O365ConnectorInterface</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$connector</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>

    
        <h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
    <dl class="phpdocumentor-argument-list">
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$scopes</span>
                : <span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, mixed&gt;</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>An array of authorization scopes.</p>
</section>

            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$connector</span>
                : <span class="phpdocumentor-signature__argument__return-type"><a href='/classes/drupal-o365-o365connectorinterface'><abbr title="\Drupal\o365\O365ConnectorInterface">O365ConnectorInterface</abbr></a></span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                
            </dd>
            </dl>

    

    
</article>
                    <article class="phpdocumentor-element -function - ">
    <h4 class="phpdocumentor-element__name" id="function_o365_post_update_remove_api_settings_config">
        o365_post_update_remove_api_settings_config()
        <a class='headerlink' href='/namespaces/default#function_o365_post_update_remove_api_settings_config'><i class="fas fa-link"></i></a>

    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="o365.post_update.php"><a href='/files/o365-post-update'>o365.post_update.php</a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">11</span>

    </aside>

        <p class="phpdocumentor-summary">Remove API settings configuration.</p>

    
    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility"></span>
                    <span class="phpdocumentor-signature__name">o365_post_update_remove_api_settings_config</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>

    
    
    

    
</article>
            </section>

    </section>
                            </div>
            <section data-search-results class="phpdocumentor-search-results phpdocumentor-search-results--hidden">
    <section class="phpdocumentor-search-results__dialog">
        <header class="phpdocumentor-search-results__header">
            <h2 class="phpdocumentor-search-results__title">Search results</h2>
            <button class="phpdocumentor-search-results__close"><i class="fas fa-times"></i></button>
        </header>
        <section class="phpdocumentor-search-results__body">
            <ul class="phpdocumentor-search-results__entries"></ul>
        </section>
    </section>
</section>
        </div>
        <a class='phpdocumentor-back-to-top' href='/#top'><i class="fas fa-chevron-circle-up"></i></a>

    </main>

    <script>
        cssVars({});
    </script>
    <script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/prism.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/autoloader/prism-autoloader.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-numbers/prism-line-numbers.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-highlight/prism-line-highlight.min.js"></script>
</body>
</html>
On this page

Search results