Subversion Repositories php_users

Rev

Blame | Last modification | View Log | Download | RSS feed

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Documentation</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=Source+Sans+Pro:wght@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/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">Documentation</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 -four phpdocumentor-sidebar">
        
    <section class="phpdocumentor-sidebar__category">
        <h2 class="phpdocumentor-sidebar__category-header">Namespaces</h2>
            </section>

        <section class="phpdocumentor-sidebar__category">
        <h2 class="phpdocumentor-sidebar__category-header">Packages</h2>
                    <h3 class="phpdocumentor-sidebar__root-package"><a href="packages/Application.html"><abbr title="\Application">Application</abbr></a></h3>
                        </section>
    
    <section class="phpdocumentor-sidebar__category">
        <h2 class="phpdocumentor-sidebar__category-header">Reports</h2>
                <h3 class="phpdocumentor-sidebar__root-package"><a href="reports/deprecated.html">Deprecated</a></h3>
        <h3 class="phpdocumentor-sidebar__root-package"><a href="reports/errors.html">Errors</a></h3>
        <h3 class="phpdocumentor-sidebar__root-package"><a href="reports/markers.html">Markers</a></h3>
    </section>

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

            <div class="phpdocumentor-column -eight phpdocumentor-content">
                    <ul class="phpdocumentor-breadcrumbs">
            <li class="phpdocumentor-breadcrumb"><a href="packages/Application.html">Application</a></li>
    </ul>

    <article class="phpdocumentor-element -class">
        <h2 class="phpdocumentor-content__title">
    UsersPermissions

        <span class="phpdocumentor-element__extends">
        extends <a href="classes/Users.html"><abbr title="\Users">Users</abbr></a>
    </span>
    
            <div class="phpdocumentor-element__package">
            in package
            <ul class="phpdocumentor-breadcrumbs">
                                    <li class="phpdocumentor-breadcrumb"><a href="packages/Application.html">Application</a></li>
                            </ul>
        </div>
    
    
    </h2>

        <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="UsersPermissions.class.php"><a href="files/userspermissions-class.html"><abbr title="UsersPermissions.class.php">UsersPermissions.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">49</span>

    </aside>

            <p class="phpdocumentor-summary">User Permissions Login class</p>

    <section class="phpdocumentor-description"><p>IMPORTANT: Requires a data source. See UsersDataSourceMySQLi.class.php
for code which provides this for MySQLi</p>
<p>UsersPermissions extends the Users class to include boolean
permissions.</p>
</section>


    <h5 class="phpdocumentor-tag-list__heading" id="tags">
        Tags
        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
    </h5>
    <dl class="phpdocumentor-tag-list">
                                    <dt class="phpdocumentor-tag-list__entry">
                    <span class="phpdocumentor-tag__name">author</span>
                </dt>
                <dd class="phpdocumentor-tag-list__definition">
                                                                                
                                                 <section class="phpdocumentor-description"><p>R. W. Rodolico <a href="mailto:rodo@unixservertech.com">rodo@unixservertech.com</a></p>
</section>

                                    </dd>
                                                <dt class="phpdocumentor-tag-list__entry">
                    <span class="phpdocumentor-tag__name">version</span>
                </dt>
                <dd class="phpdocumentor-tag-list__definition">
                                            <span class="phpdocumentor-tag-link">1.0.0</span>
                                                                                
                                                 <section class="phpdocumentor-description"><p>(beta)</p>
</section>

                                    </dd>
                                                <dt class="phpdocumentor-tag-list__entry">
                    <span class="phpdocumentor-tag__name">copyright</span>
                </dt>
                <dd class="phpdocumentor-tag-list__definition">
                                                                                
                                                 <section class="phpdocumentor-description"><p>2021 Daily Data, Inc.</p>
</section>

                                    </dd>
                        </dl>






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

<dl class="phpdocumentor-table-of-contents">
                <dt class="phpdocumentor-table-of-contents__entry -property -protected">
    <a href="classes/Users.html#property_configuration">$configuration</a>
    <span>
                &nbsp;: array&lt;string|int, string&gt;            </span>
</dt>
<dd></dd>

            <dt class="phpdocumentor-table-of-contents__entry -property -protected">
    <a href="classes/Users.html#property_data">$data</a>
    <span>
                &nbsp;: array&lt;string|int, string&gt;            </span>
</dt>
<dd></dd>

            <dt class="phpdocumentor-table-of-contents__entry -property -protected">
    <a href="classes/Users.html#property_errors">$errors</a>
    <span>
                &nbsp;: array&lt;string|int, string&gt;            </span>
</dt>
<dd></dd>

            <dt class="phpdocumentor-table-of-contents__entry -property -protected">
    <a href="classes/Users.html#property_workingOn">$workingOn</a>
    <span>
                &nbsp;: array&lt;string|int, string&gt;            </span>
</dt>
<dd></dd>

                <dt class="phpdocumentor-table-of-contents__entry -method -public">
    <a href="classes/UsersPermissions.html#method___construct">__construct()</a>
    <span>
                        &nbsp;: mixed    </span>
</dt>
<dd>Extends Users::_construct</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -public">
    <a href="classes/UsersPermissions.html#method_addPermission">addPermission()</a>
    <span>
                        &nbsp;: mixed    </span>
</dt>
<dd>Adds a permission to the permissions table</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -public">
    <a href="classes/Users.html#method_admin">admin()</a>
    <span>
                        &nbsp;: string    </span>
</dt>
<dd>Sets up the admin function which allows users to edit themselves and, optionally, others</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -public">
    <a href="classes/Users.html#method_allUsersHTML">allUsersHTML()</a>
    <span>
                        &nbsp;: string    </span>
</dt>
<dd>Get all users from data source and put them in an HTML list</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -public">
    <a href="classes/Users.html#method_clearErrors">clearErrors()</a>
    <span>
                        &nbsp;: mixed    </span>
</dt>
<dd>clears the errors array</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -public">
    <a href="classes/UsersPermissions.html#method_editScreen">editScreen()</a>
    <span>
                        &nbsp;: string    </span>
</dt>
<dd>Extends Users::editScreen</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -public">
    <a href="classes/Users.html#method_errors">errors()</a>
    <span>
                        &nbsp;: string    </span>
</dt>
<dd>getter for $this-&gt;errors</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -public">
    <a href="classes/Users.html#method_HTML">HTML()</a>
    <span>
                        &nbsp;: string    </span>
</dt>
<dd>Main display function.</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -public">
    <a href="classes/Users.html#method_isAdmin">isAdmin()</a>
    <span>
                        &nbsp;: bool    </span>
</dt>
<dd>getter for isAdmin</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -public">
    <a href="classes/UsersPermissions.html#method_isAuthorized">isAuthorized()</a>
    <span>
                        &nbsp;: mixed    </span>
</dt>
<dd>returns boolean as to whether the user has the passed in permission</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -public">
    <a href="classes/Users.html#method_logOut">logOut()</a>
    <span>
                        &nbsp;: mixed    </span>
</dt>
<dd>Logs user out of system</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -public">
    <a href="classes/Users.html#method_name">name()</a>
    <span>
                        &nbsp;: string    </span>
</dt>
<dd>getter for login name</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -protected">
    <a href="classes/UsersPermissions.html#method_addEdit">addEdit()</a>
    <span>
                        &nbsp;: mixed    </span>
</dt>
<dd>Adds/Updates existing record</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -protected">
    <a href="classes/Users.html#method_emptyWorkingOn">emptyWorkingOn()</a>
    <span>
                        &nbsp;: array&lt;string|int, string&gt;    </span>
</dt>
<dd>Creates a variable designed to replace $this-&gt;workingOn</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -protected">
    <a href="classes/Users.html#method_getNextScript">getNextScript()</a>
    <span>
                        &nbsp;: string    </span>
</dt>
<dd>Simple helper script to calculate next script to call</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -protected">
    <a href="classes/UsersPermissions.html#method_initWorkingOn">initWorkingOn()</a>
    <span>
                        &nbsp;: mixed    </span>
</dt>
<dd>Initializes $this-&gt;workingOn</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -protected">
    <a href="classes/Users.html#method_logInScreen">logInScreen()</a>
    <span>
                        &nbsp;: string    </span>
</dt>
<dd>Creates the fields needed for a login screen</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -protected">
    <a href="classes/Users.html#method_makeHTMLField">makeHTMLField()</a>
    <span>
                        &nbsp;: string    </span>
</dt>
<dd>Creates an HTML field for display</dd>

            <dt class="phpdocumentor-table-of-contents__entry -method -protected">
    <a href="classes/UsersPermissions.html#method_validate">validate()</a>
    <span>
                        &nbsp;: mixed    </span>
</dt>
<dd>Extends Users::validate</dd>

        </dl>



        

        
    <section class="phpdocumentor-properties">
        <h3 class="phpdocumentor-elements__header" id="properties">
            Properties
            <a href="classes/UsersPermissions.html#properties" class="headerlink"><i class="fas fa-link"></i></a>
        </h3>
                    <article
        class="
            phpdocumentor-element
            -property
            -protected
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="property_configuration">
        $configuration
        <a href="classes/Users.html#property_configuration" class="headerlink"><i class="fas fa-link"></i></a>
        <span class="phpdocumentor-element__modifiers">
                                </span>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">64</span>

    </aside>

    
    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">protected</span>
        <span class="phpdocumentor-signature__type">array&lt;string|int, string&gt;</span>
    <span class="phpdocumentor-signature__name">$configuration</span>
     = <span class="phpdocumentor-signature__default-value">array(
    /*
     * what to use for html input fields
     * These are passed to sprintf, with label, fieldname, title, placeholder and current value, in that order
     */
    &#039;screens&#039; =&gt; array(&#039;login form&#039; =&gt; &quot;&lt;h1&gt;Login&lt;/h1&gt;
&lt;form class=&#039;login_form&#039; action=&#039;%s&#039; method=&#039;post&#039;&gt;
%s
&lt;input type=&#039;submit&#039; value=&#039;Login&#039;&gt;&lt;/form&gt;
&quot;, &#039;edit form&#039; =&gt; &quot;&lt;form class=&#039;login_form&#039; action=&#039;%s&#039; method=&#039;post&#039;&gt;
%s
&lt;input type=&#039;submit&#039; name=&#039;btnUpdate&#039; value=&#039;Update&#039;&gt;
&lt;/form&gt;&quot;, &#039;loginScreen&#039; =&gt; &quot;&lt;div class=&#039;login_field&#039;&gt;
&lt;input class=&#039;login_field&#039; type=&#039;text&#039; name=&#039;username&#039; placeholder=&#039;Username&#039; required autofocus&gt;
&lt;/div&gt;
&lt;div class=&#039;login_field&#039;&gt;
&lt;input class=&#039;login_field&#039; type=&#039;password&#039; name=&#039;password&#039; placeholder=&#039;Password&#039; required&gt;
&lt;/div&gt;&quot;, &#039;adminScreen&#039; =&gt; &quot;&lt;input type=&#039;hidden&#039; name=&#039;doAdmin&#039; value=&#039;1&#039;&gt;
&quot;, &#039;validateScript&#039; =&gt; &#039;&#039;),
    &#039;html input fields&#039; =&gt; array(&#039;text&#039; =&gt; &quot;&lt;div class=&#039;login_field&#039;&gt;
&lt;label&gt;%s
&lt;input class=&#039;login_field&#039; type=&#039;text&#039; name=&#039;%s&#039; title=&#039;%s&#039; placeholder=&#039;%s&#039; value=&#039;~~%s~~&#039;&gt;
&lt;/label&gt;
&lt;/div&gt;&quot;, &#039;password&#039; =&gt; &quot;&lt;div class=&#039;login_field&#039;&gt;
&lt;label&gt;%s
&lt;input class=&#039;login_field&#039; type=&#039;password&#039; name=&#039;%s&#039; title=&#039;%s&#039; placeholder=&#039;%s&#039;&gt;
&lt;/label&gt;
&lt;/div&gt;&quot;, &#039;boolean&#039; =&gt; &quot;&lt;div class=&#039;login_field&#039;&gt;
&lt;label&gt;%s
&lt;input class=&#039;login_field&#039; type=&#039;checkbox&#039; name=&#039;%s&#039; title=&#039;%s&#039; value=&#039;1&#039; %s ~~%s~~&gt;
&lt;/label&gt;
&lt;/div&gt;&quot;, &#039;textarea&#039; =&gt; &quot;&lt;div class=&#039;login_field&#039;&gt;
&lt;label&gt;%s
&lt;textarea class=&#039;login_field&#039; name=&#039;%s&#039; title=&#039;%s&#039; placeholder=&#039;%s&#039;&gt;~~%s~~&lt;/textarea&gt;
&lt;/label&gt;
&lt;/div&gt;&quot;),
    &#039;input prefix&#039; =&gt; &#039;admin_&#039;,
    // prefix the name with this in a form
    &#039;tables&#039; =&gt; array(&#039;users&#039; =&gt; array(
        &#039;table&#039; =&gt; &#039;_users&#039;,
        // table name for user records
        &#039;id&#039; =&gt; &#039;_user_id&#039;,
        // ID column name
        &#039;display&#039; =&gt; array(
            // fields which are displayed to select
            &#039;login&#039;,
        ),
        &#039;form test&#039; =&gt; &#039;login&#039;,
        // field to test if form submitted
        &#039;fields&#039; =&gt; array(&#039;login&#039; =&gt; array(
            &#039;label&#039; =&gt; &#039;Username&#039;,
            // login name column name
            &#039;html type&#039; =&gt; &#039;text&#039;,
            &#039;filter&#039; =&gt; &#039;/^[a-zA-Z0-9_]+$/&#039;,
            &#039;instructions&#039; =&gt; &#039;Username can only contain alpha numerics and an underscore&#039;,
            &#039;hint&#039; =&gt; &#039;Change User Name&#039;,
            &#039;unique&#039; =&gt;    rue,
        ), &#039;pass&#039; =&gt; array(
            &#039;label&#039; =&gt; &#039;Password&#039;,
            // password column name
            &#039;html type&#039; =&gt; &#039;password&#039;,
            &#039;instructions&#039; =&gt; &#039;Leave blank to keep same password&#039;,
            &#039;hint&#039; =&gt; &#039;Change Password&#039;,
        ), &#039;admin&#039; =&gt; array(&#039;label&#039; =&gt; &#039;isAdmin&#039;, &#039;html type&#039; =&gt; &#039;boolean&#039;, &#039;restrict&#039; =&gt;       rue, &#039;instructions&#039; =&gt; &#039;If checked, user will be able to add/edit users&#039;), &#039;enabled&#039; =&gt; array(&#039;label&#039; =&gt; &#039;Enabled&#039;, &#039;html type&#039; =&gt; &#039;boolean&#039;, &#039;restrict&#039; =&gt;  rue, &#039;instructions&#039; =&gt; &#039;Uncheck to disable log in&#039;)),
    )),
)</span></code>

    
        <section class="phpdocumentor-description"><p>Contains the configuration for the class</p>
<p>May be modified by the calling program. Must be replicated in userDataSource class</p>
</section>

    

</article>
                    <article
        class="
            phpdocumentor-element
            -property
            -protected
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="property_data">
        $data
        <a href="classes/Users.html#property_data" class="headerlink"><i class="fas fa-link"></i></a>
        <span class="phpdocumentor-element__modifiers">
                                </span>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">124</span>

    </aside>

    
    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">protected</span>
        <span class="phpdocumentor-signature__type">array&lt;string|int, string&gt;</span>
    <span class="phpdocumentor-signature__name">$data</span>
     = <span class="phpdocumentor-signature__default-value">array()</span></code>

    
        <section class="phpdocumentor-description"><p>Contains the information for the current logged in user</p>
</section>

    

</article>
                    <article
        class="
            phpdocumentor-element
            -property
            -protected
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="property_errors">
        $errors
        <a href="classes/Users.html#property_errors" class="headerlink"><i class="fas fa-link"></i></a>
        <span class="phpdocumentor-element__modifiers">
                                </span>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">126</span>

    </aside>

    
    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">protected</span>
        <span class="phpdocumentor-signature__type">array&lt;string|int, string&gt;</span>
    <span class="phpdocumentor-signature__name">$errors</span>
     = <span class="phpdocumentor-signature__default-value">array()</span></code>

    
        <section class="phpdocumentor-description"><p>Contains errors that can occur</p>
</section>

    

</article>
                    <article
        class="
            phpdocumentor-element
            -property
            -protected
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="property_workingOn">
        $workingOn
        <a href="classes/Users.html#property_workingOn" class="headerlink"><i class="fas fa-link"></i></a>
        <span class="phpdocumentor-element__modifiers">
                                </span>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">128</span>

    </aside>

    
    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">protected</span>
        <span class="phpdocumentor-signature__type">array&lt;string|int, string&gt;</span>
    <span class="phpdocumentor-signature__name">$workingOn</span>
     = <span class="phpdocumentor-signature__default-value">array()</span></code>

    
        <section class="phpdocumentor-description"><p>During administration, contains the record being modified</p>
</section>

    

</article>
            </section>

            <section class="phpdocumentor-methods">
        <h3 class="phpdocumentor-elements__header" id="methods">
            Methods
            <a href="classes/UsersPermissions.html#methods" class="headerlink"><i class="fas fa-link"></i></a>
        </h3>
                    <article
        class="phpdocumentor-element
            -method
            -public
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method___construct">
        __construct()
        <a href="classes/UsersPermissions.html#method___construct" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="UsersPermissions.class.php"><a href="files/userspermissions-class.html"><abbr title="UsersPermissions.class.php">UsersPermissions.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">60</span>

    </aside>

        <p class="phpdocumentor-summary">Extends Users::_construct</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">public</span>
                <span class="phpdocumentor-signature__name">__construct</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, string&gt;&nbsp;</span><span class="phpdocumentor-signature__argument__name">$customFields</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">array()</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>

        <section class="phpdocumentor-description"><p>Adds additional fields needed for permissions. However, this
information is not actually used in the code, but is included here
for documentation and/or possible extensions</p>
</section>

        <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">$customFields</span>
                : <span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, string&gt;</span>
                 = <span class="phpdocumentor-signature__argument__default-value">array()</span>            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>Array of definition modifications to underlying structure</p>
</section>

            </dd>
            </dl>

    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">mixed</span>
            &mdash;
        
    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -public
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_addPermission">
        addPermission()
        <a href="classes/UsersPermissions.html#method_addPermission" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="UsersPermissions.class.php"><a href="files/userspermissions-class.html"><abbr title="UsersPermissions.class.php">UsersPermissions.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">193</span>

    </aside>

        <p class="phpdocumentor-summary">Adds a permission to the permissions table</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">public</span>
                <span class="phpdocumentor-signature__name">addPermission</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">mixed&nbsp;</span><span class="phpdocumentor-signature__argument__name">$connection</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">mixed&nbsp;</span><span class="phpdocumentor-signature__argument__name">$category</span></span><span class="phpdocumentor-signature__argument&quot;><span>, </span><span class="phpdocumentor-signature__argument__return-type">mixed&nbsp;</span><span class="phpdocumentor-signature__argument__name">$name</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">mixed&nbsp;</span><span class="phpdocumentor-signature__argument__name">$description</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">mixed&nbsp;</span><span class="phpdocumentor-signature__argument__name">$defaultValue</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>

        <section class="phpdocumentor-description"><p>This simply adds a permission to the permissions table, adding the
category if it doesn't exist already. Since this is already written
in usersPermissionsDataSource, we simply call it.</p>
</section>

        <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">$connection</span>
                : <span class="phpdocumentor-signature__argument__return-type">mixed</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"></section>

            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$category</span>
                : <span class="phpdocumentor-signature__argument__return-type">mixed</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"></section>

            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$name</span>
                : <span class="phpdocumentor-signature__argument__return-type">mixed</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"></section>

            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$description</span>
                : <span class="phpdocumentor-signature__argument__return-type">mixed</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"></section>

            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$defaultValue</span>
                : <span class="phpdocumentor-signature__argument__return-type">mixed</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"></section>

            </dd>
            </dl>

    
    <h5 class="phpdocumentor-tag-list__heading" id="tags">
        Tags
        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
    </h5>
    <dl class="phpdocumentor-tag-list">
                                    <dt class="phpdocumentor-tag-list__entry">
                    <span class="phpdocumentor-tag__name">parameter</span>
                </dt>
                <dd class="phpdocumentor-tag-list__definition">
                                                                                
                                                 <section class="phpdocumentor-description"><p>string $category Category to place the permission into</p>
</section>

                                    </dd>
                            <dt class="phpdocumentor-tag-list__entry">
                    <span class="phpdocumentor-tag__name">parameter</span>
                </dt>
                <dd class="phpdocumentor-tag-list__definition">
                                                                                
                                                 <section class="phpdocumentor-description"><p>string $name The short name of the permission</p>
</section>

                                    </dd>
                            <dt class="phpdocumentor-tag-list__entry">
                    <span class="phpdocumentor-tag__name">parameter</span>
                </dt>
                <dd class="phpdocumentor-tag-list__definition">
                                                                                
                                                 <section class="phpdocumentor-description"><p>string $description The long (display) name for the permission</p>
</section>

                                    </dd>
                            <dt class="phpdocumentor-tag-list__entry">
                    <span class="phpdocumentor-tag__name">parameter</span>
                </dt>
                <dd class="phpdocumentor-tag-list__definition">
                                                                                
                                                 <section class="phpdocumentor-description"><p>boolean $defaultValue The default value for the permission</p>
</section>

                                    </dd>
                        </dl>

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">mixed</span>
            &mdash;
        
    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -public
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_admin">
        admin()
        <a href="classes/Users.html#method_admin" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">502</span>

    </aside>

        <p class="phpdocumentor-summary">Sets up the admin function which allows users to edit themselves and, optionally, others</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">public</span>
                <span class="phpdocumentor-signature__name">admin</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/usersDataSource.html"><abbr title="\usersDataSource">usersDataSource</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$connection</span></span><span class="phpdocumentor-signature__argument"><span>[</span><span>, </span><span class="phpdocumentor-signature__argument__return-type">mixed&nbsp;</span><span class="phpdocumentor-signature__argument__name">$nextScript</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">null</span><span> ]</span></span><span>)</span><span> : </span>;<span class="phpdocumentor-signature__response_type">string</span></code>

        <section class="phpdocumentor-description"><p>This should be called the first time, then repeatedly called until it is done
(it returns the string &quot;Updated&quot;, &quot;Failed&quot; or &quot;No changes&quot;.</p>
<p>The first iteration returns an edit screen displaying the users
information for them to edit. It will display an HTML INPUT for
each field that is not restricted. The user can then edit the
chosen entries and press the button, which will call the script
again, and update the record.</p>
<p>If the user has the admin right, the Edit screen also displays a
list of all users as an unsigned list of anchors. If the user
clicks on one of those, it will choose that user, load their data
and allow the user to edit that users record. NOTE: this is the
only way to edit fields with the restrict flag set.</p>
</section>

        <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">$connection</span>
                : <span class="phpdocumentor-signature__argument__return-type"><a href="classes/usersDataSource.html"><abbr title="\usersDataSource">usersDataSource</abbr></a></span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>A connection to the data source</p>
</section>

            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$nextScript</span>
                : <span class="phpdocumentor-signature__argument__return-type">mixed</span>
                 = <span class="phpdocumentor-signature__argument__default-value">null</span>            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"></section>

            </dd>
            </dl>

    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">string</span>
            &mdash;
            <section class="phpdocumentor-description"><p>This may be an HTML table or a single screen</p>
</section>

    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -public
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_allUsersHTML">
        allUsersHTML()
        <a href="classes/Users.html#method_allUsersHTML" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">247</span>

    </aside>

        <p class="phpdocumentor-summary">Get all users from data source and put them in an HTML list</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">public</span>
                <span class="phpdocumentor-signature__name">allUsersHTML</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/usersDataSource.html"><abbr title="\usersDataSource">usersDataSource</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$connection</span></span><span class="phpdocumentor-signature__argument"><span>[</span><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$nextPage</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">null</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>

        <section class="phpdocumentor-description"><p>Will retrieve the ID and login name of all users, putting them
in a list of anchors to allow an admin to select one for editing</p>
</section>

        <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">$connection</span>
                : <span class="phpdocumentor-signature__argument__return-type"><a href="classes/usersDataSource.html"><abbr title="\usersDataSource">usersDataSource</abbr></a></span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>A connection to the data source</p>
</section>

            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$nextPage</span>
                : <span class="phpdocumentor-signature__argument__return-type">string</span>
                 = <span class="phpdocumentor-signature__argument__default-value">null</span>            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>The URL of the page to be used in the link</p>
</section>

            </dd>
            </dl>

    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">string</span>
            &mdash;
            <section class="phpdocumentor-description"><p>an unordered list (UL) containing links with names</p>
</section>

    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -public
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_clearErrors">
        clearErrors()
        <a href="classes/Users.html#method_clearErrors" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">157</span>

    </aside>

        <p class="phpdocumentor-summary">clears the errors array</p>

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

    
    
    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">mixed</span>
            &mdash;
        
    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -public
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_editScreen">
        editScreen()
        <a href="classes/UsersPermissions.html#method_editScreen" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="UsersPermissions.class.php"><a href="files/userspermissions-class.html"><abbr title="UsersPermissions.class.php">UsersPermissions.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">95</span>

    </aside>

        <p class="phpdocumentor-summary">Extends Users::editScreen</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">public</span>
                <span class="phpdocumentor-signature__name">editScreen</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><abbr title="\usersPermissionsDataSource">usersPermissionsDataSource</abbr>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$connection</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>

        <section class="phpdocumentor-description"><p>Adds permissions in div of class category</p>
</section>

        <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">$connection</span>
                : <span class="phpdocumentor-signature__argument__return-type"><abbr title="\usersPermissionsDataSource">usersPermissionsDataSource</abbr></span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                
            </dd>
            </dl>

    
    <h5 class="phpdocumentor-tag-list__heading" id="tags">
        Tags
        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
    </h5>
    <dl class="phpdocumentor-tag-list">
                                    <dt class="phpdocumentor-tag-list__entry">
                    <span class="phpdocumentor-tag__name">returns</span>
                </dt>
                <dd class="phpdocumentor-tag-list__definition">
                                                                                
                                                 <section class="phpdocumentor-description"><p>string HTML display screen</p>
</section>

                                    </dd>
                        </dl>

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">string</span>
            &mdash;
            <section class="phpdocumentor-description"><p>HTML containing all of the INPUT records a user can edit</p>
</section>

    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -public
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_errors">
        errors()
        <a href="classes/Users.html#method_errors" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">149</span>

    </aside>

        <p class="phpdocumentor-summary">getter for $this-&gt;errors</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">public</span>
                <span class="phpdocumentor-signature__name">errors</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>

    
    
    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">string</span>
            &mdash;
            <section class="phpdocumentor-description"><p>html div containing one paragraph for every error</p>
</section>

    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -public
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_HTML">
        HTML()
        <a href="classes/Users.html#method_HTML" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">191</span>

    </aside>

        <p class="phpdocumentor-summary">Main display function.</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">public</span>
                <span class="phpdocumentor-signature__name">HTML</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/usersDataSource.html"><abbr title="\usersDataSource">usersDataSource</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$connection</span></span><span class="phpdocumentor-signature__argument"><span>[</span><span>, </span><span class="phpdocumentor-signature__argument__return-type"></FONT>string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$nextScript</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">null</span><span> ]</span></span><span>)</span><span> : </span>;<span class="phpdocumentor-signature__response_type">string</span></code>

        <section class="phpdocumentor-description"><p>This function should be called to perform the login. It performs all functions
needed to log in and validate, but once logged in, will return an empty string.</p>
</section>

        <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">$connection</span>
                : <span class="phpdocumentor-signature__argument__return-type"><a href="classes/usersDataSource.html"><abbr title="\usersDataSource">usersDataSource</abbr></a></span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>A connection to the data source</p>
</section>

            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$nextScript</span>
                : <span class="phpdocumentor-signature__argument__return-type">string</span>
                 = <span class="phpdocumentor-signature__argument__default-value">null</span>            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>The url to be run when logged in</p>
</section>

            </dd>
            </dl>

    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">string</span>
            &mdash;
            <section class="phpdocumentor-description"><p>A (possibly empty) HTML div</p>
</section>

    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -public
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_isAdmin">
        isAdmin()
        <a href="classes/Users.html#method_isAdmin" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">166</span>

    </aside>

        <p class="phpdocumentor-summary">getter for isAdmin</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">public</span>
                <span class="phpdocumentor-signature__name">isAdmin</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">bool</span></code>

    
    
    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">bool</span>
            &mdash;
            <section class="phpdocumentor-description"><p>true if user is an admin, false if not</p>
</section>

    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -public
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_isAuthorized">
        isAuthorized()
        <a href="classes/UsersPermissions.html#method_isAuthorized" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="UsersPermissions.class.php"><a href="files/userspermissions-class.html"><abbr title="UsersPermissions.class.php">UsersPermissions.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">177</span>

    </aside>

        <p class="phpdocumentor-summary">returns boolean as to whether the user has the passed in permission</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">public</span>
                <span class="phpdocumentor-signature__name">isAuthorized</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$permission</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>

        <section class="phpdocumentor-description"><p>If user is an admin, they automatically have all permissions, otherwise
we check for the permission. NOTE: the existence of a permission
is not validated. If a permission does not exist, will return false
for anyone but an admin</p>
</section>

        <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">$permission</span>
                : <span class="phpdocumentor-signature__argument__return-type">string</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>short form of permission</p>
</section>

            </dd>
            </dl>

    
    <h5 class="phpdocumentor-tag-list__heading" id="tags">
        Tags
        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
    </h5>
    <dl class="phpdocumentor-tag-list">
                                    <dt class="phpdocumentor-tag-list__entry">
                    <span class="phpdocumentor-tag__name">returns</span>
                </dt>
                <dd class="phpdocumentor-tag-list__definition">
                                                                                
                                                 <section class="phpdocumentor-description"><p>boolean</p>
</section>

                                    </dd>
                        </dl>

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">mixed</span>
            &mdash;
        
    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -public
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_logOut">
        logOut()
        <a href="classes/Users.html#method_logOut" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">271</span>

    </aside>

        <p class="phpdocumentor-summary">Logs user out of system</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">public</span>
                <span class="phpdocumentor-signature__name">logOut</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name"ONT>>$nextScript</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">null</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span>B></code>

        <section class="phpdocumentor-description"><p>destroys itself ($_SESSION['user'], then session, then calls
$nextScript by doing a header call.</p>
</section>

        <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">$nextScript</span>
                : <span class="phpdocumentor-signature__argument__return-type">string</span>
                 = <span class="phpdocumentor-signature__argument__default-value">null</span>            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>URL of next script to call</p>
</section>

            </dd>
            </dl>

    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">mixed</span>
            &mdash;
        
    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -public
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_name">
        name()
        <a href="classes/Users.html#method_name" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">175</span>

    </aside>

        <p class="phpdocumentor-summary">getter for login name</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">public</span>
                <span class="phpdocumentor-signature__name">name</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>

    
    
    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">string</span>
            &mdash;
            <section class="phpdocumentor-description"><p>user name</p>
</section>

    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -protected
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_addEdit">
        addEdit()
        <a href="classes/UsersPermissions.html#method_addEdit" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="UsersPermissions.class.php"><a href="files/userspermissions-class.html"><abbr title="UsersPermissions.class.php">UsersPermissions.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">131</span>

    </aside>

        <p class="phpdocumentor-summary">Adds/Updates existing record</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">protected</span>
                <span class="phpdocumentor-signature__name">addEdit</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><abbr title="\usersPermissionsDataSource">usersPermissionsDataSource</abbr>&nbsp;</span>ONT><span class="phpdocumentor-signature__argument__name">$connection</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>

        <section class="phpdocumentor-description"><p>Extending Users::addEdit by updating the permissions</p>
</section>

        <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">$connection</span>
                : <span class="phpdocumentor-signature__argument__return-type"><abbr title="\usersPermissionsDataSource">usersPermissionsDataSource</abbr></span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                
            </dd>
            </dl>

    
    <h5 class="phpdocumentor-tag-list__heading" id="tags">
        Tags
        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
    </h5>
    <dl class="phpdocumentor-tag-list">
                                    <dt class="phpdocumentor-tag-list__entry">
                    <span class="phpdocumentor-tag__name">returns</span>
                </dt>
                <dd class="phpdocumentor-tag-list__definition">
                                                                                
                                                 <section class="phpdocumentor-description"><p>string Message saying whether the update/insert worked</p>
</section>

                                    </dd>
                        </dl>

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">mixed</span>
            &mdash;
        
    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -protected
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_emptyWorkingOn">
        emptyWorkingOn()
        <a href="classes/Users.html#method_emptyWorkingOn" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">401</span>

    </aside>

        <p class="phpdocumentor-summary">Creates a variable designed to replace $this-&gt;workingOn</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">protected</span>
                <span class="phpdocumentor-signature__name">emptyWorkingOn</span><span>(</span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">array&lt;string|int, string&gt;</span></code>

        <section class="phpdocumentor-description"><p>Initializes all fields to something non-null and sets id to -1</p>
</section>

    
    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">array&lt;string|int, string&gt;</span>
            &mdash;
            <section class="phpdocumentor-description"><p>An array initialized with all records needed</p>
</section>

    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -protected
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_getNextScript">
        getNextScript()
        <a href="classes/Users.html#method_getNextScript" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">289</span>

    </aside>

        <p class="phpdocumentor-summary">Simple helper script to calculate next script to call</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">protected</span>
                <span class="phpdocumentor-signature__name">getNextScript</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name&quot;>$nextScript</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">null</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></FONT></code>

        <section class="phpdocumentor-description"><p>Returns one of three URL strings, in order of precedence
$nextScript
$configuration['screens']['validateScript']
PHP_SELF</p>
</section>

        <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">$nextScript</span>
                : <span class="phpdocumentor-signature__argument__return-type">string</span>
                 = <span class="phpdocumentor-signature__argument__default-value">null</span>            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>URL to call</p>
</section>

            </dd>
            </dl>

    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">string</span>
            &mdash;
            <section class="phpdocumentor-description"><p>URL</p>
</section>

    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -protected
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_initWorkingOn">
        initWorkingOn()
        <a href="classes/UsersPermissions.html#method_initWorkingOn" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="UsersPermissions.class.php"><a href="files/userspermissions-class.html"><abbr title="UsersPermissions.class.php">UsersPermissions.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">159</span>

    </aside>

        <p class="phpdocumentor-summary">Initializes $this-&gt;workingOn</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">protected</span>
                <span class="phpdocumentor-signature__name">initWorkingOn</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">mixed&nbsp;</span><span class="phpdocumentor-signature__argument__name">$connection</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">mixed&nbsp;</span><span class="phpdocumentor-signature__argument__name">$id</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>

        <section class="phpdocumentor-description"><p>This is a modification to Users::initWorkingOn to add permissions</p>
</section>

        <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">$connection</span>
                : <span class="phpdocumentor-signature__argument__return-type">mixed</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"></section>

            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$id</span>
                : <span class="phpdocumentor-signature__argument__return-type">mixed</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"></section>

            </dd>
            </dl>

    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">mixed</span>
            &mdash;
        
    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -protected
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_logInScreen">
        logInScreen()
        <a href="classes/Users.html#method_logInScreen" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">307</span>

    </aside>

        <p class="phpdocumentor-summary">Creates the fields needed for a login screen</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">protected</span>
                <span class="phpdocumentor-signature__name">logInScreen</span><span>(</span><span class="phpdocumentor-signature__argument"><span>[</span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name&quot;>$nextScript</span><span> = </span><span class="phpdocumentor-signature__argument__default-value">null</span><span> ]</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span>ONT></code>

        <section class="phpdocumentor-description"><p>Populates %s's in 'login form' with values for $nextScript and
'loginScreen'</p>
</section>

        <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">$nextScript</span>
                : <span class="phpdocumentor-signature__argument__return-type">string</span>
                 = <span class="phpdocumentor-signature__argument__default-value">null</span>            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>URL to call form</p>
</section>

            </dd>
            </dl>

    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">string</span>
            &mdash;
            <section class="phpdocumentor-description"><p>HTML code for display</p>
</section>

    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -protected
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_makeHTMLField">
        makeHTMLField()
        <a href="classes/Users.html#method_makeHTMLField" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="Users.class.php"><a href="files/users-class.html"><abbr title="Users.class.php">Users.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">339</span>

    </aside>

        <p class="phpdocumentor-summary">Creates an HTML field for display</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">protected</span>
                <span class="phpdocumentor-signature__name">makeHTMLField</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$field</span>;</span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, string&gt;&nbsp;</span><span class="phpdocumentor-signature__argument__name">$record</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$value</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">string</span></code>

        <section class="phpdocumentor-description"><p>Retrieves the template for the record type, then populates it from
$record, $value and $field. The template MUST have %s's in the
following order for an HTML INPUT field
label=
name=
title=
placeholder=
value</p>
<p>Knows how to handle INPUT types TEXT, TEXTAREA, PASSWORD and
special html type boolean, which is checkboxes.</p>
</section>

        <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">$field</span>
                : <span class="phpdocumentor-signature__argument__return-type">string</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>name of the field to populate</p>
</section>

            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$record</span>
                : <span class="phpdocumentor-signature__argument__return-type">array&lt;string|int, string&gt;</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>Record from $configuration[...][fields]</p>
</section>

            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$value</span>
                : <span class="phpdocumentor-signature__argument__return-type">string</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                    <section class="phpdocumentor-description"><p>the current value to put in INPUT</p>
</section>

            </dd>
            </dl>

    

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">string</span>
            &mdash;
            <section class="phpdocumentor-description"><p>An HTML INPUT entity</p>
</section>

    
</article>
                    <article
        class="phpdocumentor-element
            -method
            -protected
                                                        "
>
    <h4 class="phpdocumentor-element__name" id="method_validate">
        validate()
        <a href="classes/UsersPermissions.html#method_validate" class="headerlink"><i class="fas fa-link"></i></a>
    </h4>
    <aside class="phpdocumentor-element-found-in">
    <abbr class="phpdocumentor-element-found-in__file" title="UsersPermissions.class.php"><a href="files/userspermissions-class.html"><abbr title="UsersPermissions.class.php">UsersPermissions.class.php</abbr></a></abbr>
    :
    <span class="phpdocumentor-element-found-in__line">78</span>

    </aside>

        <p class="phpdocumentor-summary">Extends Users::validate</p>

    <code class="phpdocumentor-code phpdocumentor-signature ">
    <span class="phpdocumentor-signature__visibility">protected</span>
                <span class="phpdocumentor-signature__name">validate</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$username</span></FONT></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$password</span></span><span class="phpdocumentor-signature__argument"</FONT>><span>, </span><span class="phpdocumentor-signature__argument__return-type"><abbr title="\usersPermissionsDataSource">usersPermissionsDataSource</abbr>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$connection</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>

        <section class="phpdocumentor-description"><p>Loads permissions if user was validated</p>
</section>

        <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">$username</span>
                : <span class="phpdocumentor-signature__argument__return-type">string</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                
            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$password</span>
                : <span class="phpdocumentor-signature__argument__return-type">string</span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                
            </dd>
                    <dt class="phpdocumentor-argument-list__entry">
                <span class="phpdocumentor-signature__argument__name">$connection</span>
                : <span class="phpdocumentor-signature__argument__return-type"><abbr title="\usersPermissionsDataSource">usersPermissionsDataSource</abbr></span>
                            </dt>
            <dd class="phpdocumentor-argument-list__definition">
                
            </dd>
            </dl>

    
    <h5 class="phpdocumentor-tag-list__heading" id="tags">
        Tags
        <a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
    </h5>
    <dl class="phpdocumentor-tag-list">
                                    <dt class="phpdocumentor-tag-list__entry">
                    <span class="phpdocumentor-tag__name">returns</span>
                </dt>
                <dd class="phpdocumentor-tag-list__definition">
                                                                                
                                                 <section class="phpdocumentor-description"><p>boolean true if username/password are correct</p>
</section>

                                    </dd>
                        </dl>

        <h5 class="phpdocumentor-return-value__heading">Return values</h5>
    <span class="phpdocumentor-signature__response_type">mixed</span>
            &mdash;
        
    
</article>
            </section>

        
    <script type="text/javascript">
        function loadExternalCodeSnippets(line) {
            Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach((pre) => {
                var src = pre.getAttribute('data-src').replace( /\\/g, '/');
                var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
                var language = 'php';

                var code = document.createElement('code');
                code.className = 'language-' + language;

                pre.textContent = '';

                pre.setAttribute('data-line', line)
                code.textContent = 'Loading…';

                pre.appendChild(code);

                var xhr = new XMLHttpRequest();

                xhr.open('GET', src, true);

                xhr.onreadystatechange = function () {
                    if (xhr.readyState == 4) {

                        if (xhr.status < 400 && xhr.responseText) {
                            code.textContent = xhr.responseText;

                            Prism.highlightElement(code);
                        }
                        else if (xhr.status >= 400) {
                            code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
                        }
                        else {
                            code.textContent = '✖ Error: File does not exist, is empty or trying to view from localhost';
                        }
                    }
                };

                xhr.send(null);
            });
        }

        var modals = document.querySelectorAll("[data-modal]");

        modals.forEach(function (trigger) {
            trigger.addEventListener("click", function (event) {
                //event.preventDefault();
                const modal = document.getElementById(trigger.dataset.modal);
                modal.classList.add("phpdocumentor-modal__open");
                loadExternalCodeSnippets(trigger.dataset.line)
                const exits = modal.querySelectorAll("[data-exit-button]");
                exits.forEach(function (exit) {
                    exit.addEventListener("click", function (event) {
                        event.preventDefault();
                        modal.classList.remove("phpdocumentor-modal__open");
                    });
                });
            });
        });
    </script>

    </article>
                <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>
        </div>
        <a href="classes/UsersPermissions.html#top" class="phpdocumentor-back-to-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>

Generated by GNU Enscript 1.6.5.90.