PageSourceSearch

https://portaleducacional.unibrasil.com.br/FrameHTML/web/app/edu/PortalEducacional/login/

html unibrasil.com.br collected 2026-09-24 09:17:13 UTC 25,361 bytes, 404 lines download raw bytes

1<!DOCTYPE html>
2<html>
3
4<head>
5    <title>Portal do Aluno</title>
6
7    <!-- start: Meta -->
8    <meta http-equiv="content-type" content="text/html; charset=utf-8">
9
10    <meta charset="utf-8">
11
12    <meta name="description" content="TOTVS Portal - TOTVS Educacional">
13    <meta name="keywords" content="totvs">
14    <meta name="author" content="totvs">
15    <!-- start: Mobile Specific -->
16    <meta name="viewport" content="width=device-width, initial-scale=1">
17    <!-- end: Mobile Specific -->
18    <!-- end: Meta -->
19    <!-- start: Favicon and Touch Icons -->
20    <link rel="shortcut icon" href="../assets/img/favicon.ico" type="image/x-icon">
21    <!-- end: Favicon and Touch Icons -->
22    <link rel="stylesheet" href="../../../../js/libs/bootstrap/dist/css/bootstrap.min.css">
23    <link rel="stylesheet" href="assets/css/animacao.css">
24    <link rel="stylesheet" href="../../../../js/libs/AngularJS-Toaster/toaster.min.css">
25    <!-- Custom Stylesheet -->
26    <link rel="stylesheet" href="assets/css/style.css">
27    <link rel="stylesheet" href="assets/css/customProviders.css">
28</head>
29
30<body ng-cloak class="align" ng-controller="EduLoginController as controller">
31
32    <!-- Component TOASTER -->
33    <toaster-container toaster-options="{'time-out':3000, 'close-button': true}"></toaster-container>
34
35    <!-- LOGIN FORM -->
36    <div class="container">
37        <!-- Modal -->
38        <div class="modal fade" id="modalLogin" tabindex="-1" role="dialog" aria-labelledby="modalLoginLabel">
39            <div class="modal-dialog modal-md" role="document">
40                <div class="modal-content">
41                    <div class="modal-header header-login">
42                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
43                                aria-hidden="true">&times;</span></button>
44                        <h4 class="modal-title" id="modalLoginLabel">
45                            {{ ::'l-vincular-contas' | i18n }}
46                        </h4>
47                    </div>
48                    <div class="modal-body body-login">
49                        <div class="row">
50                            <div class="col-md-12 col-lg-12 col-xs-12 col-sm-12 login">
51                                <div class="form__field">
52                                    {{ ::'l-usuario-nao-associado' | i18n }}
53                                    <br><br>
54                                    {{ ::'l-fique-tranquilo' | i18n }}
55                                </div>
56                                <div class="form__field">
57                                    <label for="User">
58                                        <object data="assets/img/user.svg" width="26px" height="26px"
59                                            type="image/svg+xml">
60                                            <img src="assets/img/user.png" alt="user.svg" />
61                                        </object>
62                                        <span class="hidden">{{ ::'l-usuario' | i18n }}</span>
63                                    </label>
64                                    <input id="User2" ng-model="user" type="text" tabindex="5" name="User"
65                                        class="form__input" placeholder="{{ ::'l-usuario' | i18n }}" required>
66                                </div>
67                                <div class="form__field">
68                                    <label for="Pass">
69                                        <object data="assets/img/senha.svg" width="26px" height="26px"
70                                            type="image/svg+xml">
71                                            <img src="assets/img/senha.png" alt="senha.svg" />
72                                        </object>
73                                        <span class="hidden">{{ ::'l-senha' | i18n }}</span>
74                                    </label>
75                                    <input id="Pass2" ng-model="pass" type="password" tabindex="6" name="Pass"
76                                        class="form__input" placeholder="{{ ::'l-senha' | i18n }}" required>
77                                </div>
78                                <div class="form__field"
79                                    ng-if="controller.exibirAlias && !controller.exibirFormAlterarSenha">
80                                    <label for="Alias">
81                                        <object data="assets/img/alias.svg" width="26px" height="26px"
82                                            type="image/svg+xml">
83                                            <img src="assets/img/alias.png" alt="alias.svg" />
84                                        </object>
85                                        <span class="hidden">{{ ::'l-alias' | i18n }}</span>
86                                    </label>
87                                    <select id="Alias2" name="Alias" tabindex="7" class="form__input selection"
88                                        ng-change="controller.aliasSelectChanged()" required
89                                        ng-options="alias as alias for alias in controller.listaAlias track by alias"
90                                        ng-model="controller.alias">
91                                    </select>
92                                </div>
93                            </div>
94                        </div>
95                        <br />
96                    </div>
97                    <div class="modal-footer login">
98                        <input type="button" ng-click="controller.onClickAssociarContas()" tabindex="8"
99                            value="{{ ::'l-associar-contas' | i18n }}">
100                    </div>
101                </div>
102            </div>
103        </div>
104
105        <!-- LOADING -->
106        <div id="loading-screen" class="overlay" ng-if="pendingRequests > 0">
107            <img src="../assets/img/loading.gif">
108            <p class="text-center text-muted">{{ ::'loading' | i18n }}</p>
109        </div>
110        <div class="logo hidden-box">
111            <img src="assets/img/logo-responsivo.png" alt="marca">
112        </div>
113        <div class="login-box hidden-box">
114            <div class="box-header">
115                <h1>{{ ::'l-portal-aluno' | i18n }}</h1>
116            </div>
117            <form name="controller.formLogin" method="POST" class="form login"
118                ng-attr-action="{{controller.urlLoginPost}}"
119                ng-show="!controller.exibirFormEsqueceuSenha && !controller.exibirFormNovaSenha && !controller.exibirFormAlterarSenha"
120                ng-submit="(submitted=true) && controller.formLogin.$invalid && $event.preventDefault()">
121                <div class="form__field">
122                    <label for="User">
123                        <object data="assets/img/user.svg" width="26px" height="26px" type="image/svg+xml">
124                            <img src="assets/img/user.png" alt="user.svg" />
125                        </object>
126                        <span class="hidden">{{ ::'l-usuario' | i18n }}</span>
127                    </label>
128                    <input id="User" ng-model="user" type="text" tabindex="1" name="User" class="form__input"
129                        placeholder="{{ ::'l-usuario' | i18n }}" required>
130                </div>
131                <div class="form__field">
132                    <label for="Pass">
133                        <object data="assets/img/senha.svg" width="26px" height="26px" type="image/svg+xml">
134                            <img src="assets/img/senha.png" alt="senha.svg" />
135                        </object>
136                        <span class="hidden">{{ ::'l-senha' | i18n }}</span>
137                    </label>
138                    <input id="Pass" ng-model="pass" type="password" tabindex="2" name="Pass" class="form__input"
139                        placeholder="{{ ::'l-senha' | i18n }}" required>
140                </div>
141                <div class="form__field" ng-show="controller.exibirAlias">
142                    <label for="Alias">
143                        <object data="assets/img/alias.svg" width="26px" height="26px" type="image/svg+xml">
144                            <img src="assets/img/alias.png" alt="alias.svg" />
145                        </object>
146                        <span class="hidden">{{ ::'l-alias' | i18n }}</span>
147                    </label>
148                    <select id="Alias" name="Alias" tabindex="3" class="form__input selection"
149                        ng-change="controller.aliasSelectChanged()" required
150                        ng-options="alias as alias for alias in controller.listaAlias track by alias"
151                        ng-model="controller.alias">
152                    </select>
153                </div>
154
155                <div class="form__field">
156                    <input type="submit" ng-class="!controller.urlLoginPost ? 'button-disabled': ''"
157                        ng-disabled="!controller.urlLoginPost" ng-click="controller.validarDadosLogin()" tabindex="4"
158                        value="{{ ::'l-acessar' | i18n }}">
159                </div>
160                <div ng-if="controller.oauthProviders.length > 0">
161                    <p style="color: white">{{ ::'l-ou-acesse-via-external' | i18n }}</p>
162                    <p ng-repeat="provider in controller.oauthProviders">
163                        <span ng-if="provider.Type !== 1">
164                            <!--Botão com customização sem background-->
165                            <span class="custom-button" ng-click="externalLogin(provider.Id)"
166                                ng-style="{{provider._styleStr}}"
167                                ng-if="!isNullOrUndefined(provider.CustomizeEntity) && (isNumeral(provider.CustomizeEntity.ImageInBackGround) && provider.CustomizeEntity.ImageInBackGround == 0) || provider.CustomizeEntity.ImageInBackGround == false">
168                                <span class="custom-button-wrapper"
169                                    ng-if="(isNumeric(provider.CustomizeEntity.TextBeforeImage) && provider.CustomizeEntity.TextBeforeImage == 1) || provider.CustomizeEntity.TextBeforeImage == true">
170                                    <span class="custom-button-text"
171                                        ng-if="isNullOrWhiteSpace(provider.CustomizeEntity.Text) && isNullOrWhiteSpace(provider.ImageBase64)">{{provider.ProviderName}}</span>
172                                    <span class="custom-button-text"
173                                        ng-if="!isNullOrWhiteSpace(provider.CustomizeEntity.Text)">{{provider.CustomizeEntity.Text}}</span>
174                                    <span class="custom-button-icon" ng-if="!isNullOrWhiteSpace(provider.ImageBase64)">
175                                        <img ng-src="data:image/png;base64,{{provider.ImageBase64}}" />
176                                    </span>
177                                </span>
178                                <span class="custom-button-wrapper"
179                                    ng-if="(isNumeric(provider.CustomizeEntity.TextBeforeImage) && provider.CustomizeEntity.TextBeforeImage == 0) || provider.CustomizeEntity.TextBeforeImage == false">
180                                    <span class="custom-button-icon" ng-if="!isNullOrWhiteSpace(provider.ImageBase64)">
181                                        <img ng-src="data:image/png;base64,{{provider.ImageBase64}}" />
182                                    </span>
183                                    <span class="custom-button-text"
184                                        ng-if="isNullOrWhiteSpace(provider.CustomizeEntity.Text) && isNullOrWhiteSpace(provider.ImageBase64)">{{provider.ProviderName}}</span>
185                                    <span class="custom-button-text"
186                                        ng-if="!isNullOrWhiteSpace(provider.CustomizeEntity.Text)">{{provider.CustomizeEntity.Text}}</span>
187                                </span>
188                            </span>
189                            <!--Botão com customização com background-->
190                            <span class="custom-button" ng-click="externalLogin(provider.Id)"
191                                ng-style="{{provider._styleStr}}"
192                                ng-if="!isNullOrUndefined(provider.CustomizeEntity) && (isNumeral(provider.CustomizeEntity.ImageInBackGround) && provider.CustomizeEntity.ImageInBackGround == 1) || provider.CustomizeEntity.ImageInBackGround == true">
193                            </span>
194                            <!--Botão sem customização-->
195                            <span class="custom-button" ng-click="externalLogin(provider.Id)"
196                                ng-style="{{provider._styleStr}}" ng-if="isNullOrUndefined(provider.CustomizeEntity) ">
197                                <span class="custom-button-wrapper">
198                                    <span class="custom-button-icon" ng-if="!isNullOrWhiteSpace(provider.ImageBase64)">
199                                        <img ng-src="data:image/png;base64,{{provider.ImageBase64}}" />
200                                    </span>
201                                    <span class="custom-button-text">{{provider.ProviderName}}</span>
202                                </span>
203                            </span>
204                        </span>
205                        <span ng-if="provider.Type === 1">
206                            <!--Facebook-->
207                            <fb:login-button scope="public_profile,email" onlogin="efetuarLoginComFacebookCallback();"
208                                max-rows="1" size="large" button-type="login_with" show-faces="false"
209                                auto-logout-link="false" use-continue-as="true">
210                                {{ ::'l-botao-acesse-facebook' | i18n }}
211                            </fb:login-button>
212                        </span>
213                    </p>
214                </div>
215                <p class="small">
216                    <a href="#" ng-class="!controller.urlLoginPost ? 'hidden-box': ''"
217                        ng-click="controller.exibirEsqueceuSenha(true)" tabindex="5">{{ ::'l-esqueceu-senha' | i18n
218                        }}</a>
219                </p>
220            </form>
221            <div class="box-title" ng-if="controller.exibirFormEsqueceuSenha">
222                <h2>{{ ::'l-esqueceu-senha' | i18n }}</h2>
223            </div>
224            <form name="controller.formRecover" class="form login" ng-if="controller.exibirFormEsqueceuSenha">
225                <div class="form__field">
226                    <label for="UserRecover">
227                        <object data="assets/img/user.svg" width="26px" height="26px" type="image/svg+xml">
228                            <img src="assets/img/user.png" alt="user.svg" />
229                        </object>
230                        <span class="hidden">{{ ::'l-usuario' | i18n }}</span>
231                    </label>
232                    <input id="UserRecover" ng-model="controller.userRecover" type="text" tabindex="1"
233                        name="UserRecover" class="form__input" placeholder="{{ ::'l-usuario' | i18n }}" required>
234                </div>
235
236                <div class="form__field">
237                    <label for="Email">
238                        <object data="assets/img/email.svg" width="26px" height="26px" type="image/svg+xml">
239                            <img src="assets/img/email.png" alt="email.svg" />
240                        </object>
241                        <span class="hidden">{{ ::'l-email' | i18n }}</span>
242                    </label>
243                    <input id="Email" ng-model="controller.emailRecover" type="email" tabindex="1" name="Email"
244                        class="form__input" placeholder="{{ ::'l-email' | i18n }}" required>
245                </div>
246                <div class="form__field">
247                    <input type="submit" ng-click="controller.registrarEsqueciSenha()" tabindex="4"
248                        value="{{ ::'l-continuar' | i18n }}">
249                </div>
250                <p class="small">
251                    <a href="#" ng-click="controller.exibirEsqueceuSenha(false)">
252                        {{
253                        ::'l-voltar-realizar-login' | i18n
254                        }}
255                    </a>
256                </p>
257            </form>
258            <form name="controller.formNewPassword" class="form login" ng-if="controller.exibirFormNovaSenha">
259                <div class="form__field">
260                    <label for="PassRecover">
261                        <object data="assets/img/senha.svg" width="26px" height="26px" type="image/svg+xml">
262                            <img src="assets/img/senha.png" alt="senha.svg" />
263                        </object>
264                        <span class="hidden">{{ ::'l-senha1' | i18n }}</span>
265                    </label>
266                    <input id="PassRecover" ng-model="controller.novaSenha" type="password" tabindex="2"
267                        name="PassRecover" class="form__input" placeholder="{{ ::'l-senha1' | i18n }}" required>
268                </div>
269                <div class="form__field">
270                    <label for="PassRecover2">
271                        <object data="assets/img/senha.svg" width="26px" height="26px" type="image/svg+xml">
272                            <img src="assets/img/senha.png" alt="senha.svg" />
273                        </object>
274                        <span class="hidden">{{ ::'l-senha2' | i18n }}</span>
275                    </label>
276                    <input id="PassRecover2" ng-model="controller.novaSenha2" type="password" tabindex="2"
277                        name="PassRecover2" class="form__input" placeholder="{{ ::'l-senha2' | i18n }}" required>
278                </div>
279                <div class="form__field">
280                    <input type="submit" ng-click="controller.registrarNovaSenha()" tabindex="4"
281                        value="{{ ::'l-continuar' | i18n }}">
282                </div>
283            </form>
284            <form name="controller.formAlterarSenha" class="form login" ng-if="controller.exibirFormAlterarSenha">
285                <div class="form__field">
286                    <label for="usuario">
287                        <object data="assets/img/user.svg" width="26px" height="26px" type="image/svg+xml">
288                            <img src="assets/img/user.png" alt="user.svg" />
289                        </object>
290                        <span class="hidden">{{ ::'l-usuario' | i18n }}</span>
291                    </label>
292                    <input id="usuario" ng-model="controller.usuario" type="text" tabindex="1" name="usuario"
293                        class="form__input" placeholder="{{ ::'l-usuario' | i18n }}" required>
294                </div>
295                <div class="form__field">
296                    <label for="OldPass">
297                        <object data="assets/img/senha.svg" width="26px" height="26px" type="image/svg+xml">
298                            <img src="assets/img/senha.png" alt="senha.svg" />
299                        </object>
300                        <span class="hidden">{{ ::'l-senha-antiga' | i18n }}</span>
301                    </label>
302                    <input id="OldPass" ng-model="controller.antigaSenha" type="password" tabindex="2" name="OldPass"
303                        class="form__input" placeholder="{{ ::'l-senha-antiga' | i18n }}" required>
304                </div>
305                <div class="form__field">
306                    <label for="PassRecover">
307                        <object data="assets/img/senha.svg" width="26px" height="26px" type="image/svg+xml">
308                            <img src="assets/img/senha.png" alt="senha.svg" />
309                        </object>
310                        <span class="hidden">{{ ::'l-senha1' | i18n }}</span>
311                    </label>
312                    <input id="PassRecover" ng-model="controller.novaSenha" type="password" tabindex="3"
313                        name="PassRecover" class="form__input" placeholder="{{ ::'l-senha1' | i18n }}" required>
314                </div>
315                <div class="form__field">
316                    <label for="PassRecover2">
317                        <object data="assets/img/senha.svg" width="26px" height="26px" type="image/svg+xml">
318                            <img src="assets/img/senha.png" alt="senha.svg" />
319                        </object>
320                        <span class="hidden">{{ ::'l-senha2' | i18n }}</span>
321                    </label>
322                    <input id="PassRecover2" ng-model="controller.novaSenha2" type="password" tabindex="4"
323                        name="PassRecover2" class="form__input" placeholder="{{ ::'l-senha2' | i18n }}" required>
324                </div>
325                <div class="form__field">
326                    <input type="submit" ng-click="controller.alterarSenha()" tabindex="5"
327                        value="{{ ::'btn-save' | i18n }}">
328                </div>
329            </form>
330        </div>
331    </div>
332
333    <div class="modal fade" id="modalMobileDetect" tabindex="-1" role="dialog"
334        aria-labelledby="mInfoLabelmodalDisciplinas">
335        <div class="modal-dialog modal-lg" role="document">
336            <div class="modal-content">
337                <div class="modal-header">
338                    <h4 class="modal-title text-center" id="mInfoLabelModalDownloadMateriais">
339                        {{ ::'l-dispositivo-mobile' | i18n }}
340                    </h4>
341                </div>
342                <div class="modal-body">
343                    <div class="panel-body">
344                        <p>{{ ::'l-msg-mobile-1' | i18n }}</p>
345                        <p>{{ ::'l-msg-mobile-2' | i18n }}</p>
346                    </div>
347                </div>
348                <div class="modal-footer">
349                    <button type="button" class="btn btn-acessar-mobile" data-backdrop="false"
350                        ng-click="controller.redirecionarMobile()">
351                        <span>
352                            {{ :: 'l-btn-acessar-versao-mobile' | i18n }}
353                        </span>
354                        <object data="assets/img/mobile.svg" width="26px" height="26px" type="image/svg+xml">
355                            <img src="assets/img/mobile.png" alt="mobile.svg" />
356                        </object>
357                    </button>
358                    <button type="button" class="btn btn-continuar-site" data-dismiss="modal" data-backdrop="false">
359                        {{ ::'l-btn-continuar-portal' | i18n }}
360                    </button>
361                </div>
362            </div>
363        </div>
364    </div>
365
366    
366<script src="https://connect.facebook.net/pt_BR/sdk.js"></script>
366
367    
367<script src="../../../../js/libs/jquery-3.6.0/dist/jquery.min.js"></script>
367
368    
368<script src="../../../../js/libs/angular-custom/angular.min.js"></script>
368
369    
369<script src="../../../../js/libs/angular-ui-select/dist/select.min.js"></script>
369
370    
370<script src="../../../../js/libs/angular-resource/angular-resource.js"></script>
370
371    
371<script src="../../../../js/libs/angular-i18n/angular-locale_pt-br.js"></script>
371
372    
372<script src="../../../../js/libs/angular-sanitize/angular-sanitize.js"></script>
372
373    
373<script src="../../../../js/libs/angular-animate/angular-animate.js"></script>
373
374    
374<script src="../../../../js/libs/angular-scroll/angular-scroll.min.js"></script>
374
375    
375<script src="../../../../js/libs/angular-nestable/src/angular-nestable.js"></script>
375
376
377    
377<script src="../../../../js/libs/angular-bootstrap/ui-bootstrap-tpls.js"></script>
377
378    
378<script src="../../../../js/libs/bootstrap/dist/js/bootstrap.js"></script>
378
379    
379<script src="../../../../js/libs/AngularJS-Toaster/toaster.js"></script>
379
380    
380<script src="../../../../js/libs/mobile-detect/mobile-detect.min.js"></script>
380
381
382    
382<script src="../../../../js/libs/angular-hotkeys/build/hotkeys.js"></script>
382
383
384    
384<script src="../../../../js/libs/ngMask/dist/ngMask.min.js"></script>
384
385
386    
386<script src="../../../../js/libs/telerik.kendoui/js/kendo.all.min.js"></script>
386
387    
387<script src="../../../../js/libs/totvs-html-framework/totvs-html-framework.min.js"></script>
387
388
389    <!-- Script de configuração global(CONSTANTES) -->
390    
390<script src="../../../../js/totvs-app.global.config.js"></script>
390
391
392    <!-- Script de configuração global(CONSTANTES) para o Edu-Portal Educacional -->
393    
393<script src="../js/edu-contantes.global.config.js"></script>
393
394
395    <!-- OpenID Connect Client -->
396    
396<script src="../../../../js/libs/oidc-client/dist/oidc-client.min.js" data-main="js/main"
397        type="text/javascript"></script>
397
398
399    <!-- Script de Controller Login -->
400    
400<script src="login.controller.js"></script>
400
401<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"4db1bb7e2c5c4935a49981db93fa5950","r":1,"spa":2}' crossorigin="anonymous"></script>
401
402</body>
403
404</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.