123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- import { Modal } from 'ngx-modialog/plugins/bootstrap';
- import { HttpClient, HttpRequest } from '@angular/common/http';
- import { Injectable } from '@angular/core';
- import * as JWT from 'jwt-decode';
- import { tokenNotExpired, JwtHelper } from 'angular2-jwt';
- import { Observable, Subject } from 'rxjs';
- import { ActivatedRoute } from '@angular/router';
- import { JwtHelperService } from '@auth0/angular-jwt';
- import { Location } from '@angular/common';
- @Injectable({
- providedIn: 'root'
- })
- export class AuthServiceService {
- constructor(private http: HttpClient,
- private location: Location,
- private modal: Modal,
- private route: ActivatedRoute) {
- }
- jwtHelper: JwtHelper = new JwtHelper();
- //user permision name
- addButton: string = 'add_user';
- editButton: string = 'edit_user';
- deleteButton: string = 'delete_uder';
- showAddBtn: boolean = false;
- showDeleteBtn:boolean = false;
- showEditBtn: boolean = false;
- showReportBtn: boolean = false;
- showPrintBtn: boolean = false;
- showPermissionsBtn: boolean = false;
- showHeaderLogin: boolean = false;
- showHeaderDashBoard: boolean = false;
- showMoreLinks:boolean = false;
- showDashboardHeader: boolean = false;
- internalHeader: boolean = false;
-
-
- end = '1990-01-01';
- arabicTemplate: boolean;
- arabicLanguage: boolean;
- englishLanguage:boolean;
- showArabicIcon:boolean;
- showEnglishIcon:boolean;
- // pathApi: string = 'http://10.93.50.2/kfmc_back_end/index.php/api';
- // pathImg: string = "http://10.93.50.2/kfmc_back_end/public/";
- pathApi: string = 'http://kfmc.info/back_end/api';
- pathImg: string = "http://kfmc.info/back_end/public/";
-
- myInnerHeight = window.innerHeight;
- imgSrc: string = '../../assets/image/avatar.png'; //page profile default
- iconImg: string = '../../assets/image/Group 92.png';
- showSearchHeader: boolean = true;
- headereClassActive:boolean = false;
- homeActivate:boolean = true;
- cachedRequests: Array<HttpRequest<any>> = [];
- notificationLogin: boolean = true;
- checkExternalFooter: boolean = false;
-
- parentsPage = [];
- footerData=[];
-
- dataLoginUser: any;
-
-
- //login function
- login(dataForm) {
- console.log(dataForm);
- return this.http.post(this.pathApi + '/login', dataForm);
- }
- //signup Function
- signUp(dataSignUp){
- console.log(dataSignUp);
- return this.http.post(this.pathApi + '/register', dataSignUp);
- }
- //return data user function
- setDataUser(user) {
- this.dataLoginUser = user.user;
- localStorage.setItem('userObject', JSON.stringify(this.dataLoginUser));
- console.log('data loooogin' , this.dataLoginUser);
- }
- //return user data
- returnUserData() {
- this.dataLoginUser = JSON.parse(localStorage.getItem('userObject'));
- return this.dataLoginUser;
- }
- //Authentication
- public getToken(): string {
- return localStorage.getItem('token');
- }
- public isAuthenticated(): boolean {
- // get the token
- const token = this.getToken();
- // console.log('toooooken',this.jwtHelper.isTokenExpired(token));
- // return a boolean reflecting
- // whether or not the token is expired
- if(token){
- return this.jwtHelper.isTokenExpired(token);
- }
- return true;
- }
- public collectFailedRequest(request): void {
- this.cachedRequests.push(request);
- }
- //previous back locarion
- perviousLocation() {
- this.location.back();
- }
- //out of page
- backFromEdit() {
- const dialogRef = this.modal.alert()
- .size('sm')
- .showClose(true)
- .title('تأكيد الخروج')
- .body(`
- <h4>الخروج من هذه الصفحه ؟ </h4>
- `)
- .open();
- dialogRef.result
- .then( result =>
- this.perviousLocation()
- );
- }
- setLocalLang(){
- if(! localStorage.getItem('lang')){
- localStorage.setItem('lang', "ar");
- this.arabicTemplate = true;
- this.arabicLanguage = true;
- this.englishLanguage = false;
- this.showArabicIcon= false;
- this.showEnglishIcon=true;
- }else{
- if(localStorage.getItem('lang')=='ar'){
- this.arabicTemplate = true;
- this.arabicLanguage = true;
- this.englishLanguage = false;
- this.showArabicIcon= false;
- this.showEnglishIcon=true;
- }else if(localStorage.getItem('lang')=='en'){
- this.arabicTemplate = false;
- this.arabicLanguage = false;
- this.englishLanguage = true;
- this.showArabicIcon = true;
- this.showEnglishIcon = false;
- }
- }
- }
- //language content
- onLanguageContent(typeLang:string) {
- localStorage.setItem('lang', typeLang);
- this.setLocalLang();
- }
- //get footer list
- onGetFooterData(typePageFooter:string) {
- if(typePageFooter == 'external') {
- return this.http.get(this.pathApi + '/get_footers_links/1');
- } else if(typePageFooter == 'internal' || 'dashboard') {
- return this.http.get(this.pathApi + '/get_footers_links');
- }
- }
- //prevent ngative value in input number
- onKeydown(e) {
- if(!((e.keyCode > 95 && e.keyCode < 106)
- || (e.keyCode > 47 && e.keyCode < 58)
- || e.keyCode == 8)) {
- return false;
- }
- }
- //function return higri date
- //function to convert date to higri date
- writeHijri(date, lang, type) {
-
- lang = lang || 'en';
-
- var options = {
- year: 'numeric', month: 'long', day: 'numeric'
- };
- var days = ['الأحد', 'الأثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعه', 'السبت'];
- if(type == 'system') {
- var date = date;
- } else if(type == 'header') {
- date = new Date();
- var dayName = days[date.getDay()];
- }
- //var date = date || new Date();
- if(dayName) {
- return dayName + ' ' + date.toLocaleString(lang + '-u-ca-islamic', options);
- } else {
- return date.toLocaleString(lang + '-u-ca-islamic', options);
- }
- }
- //convert arabic number to english number
- parseArabic(str) {
- return Number( str.replace(/[٠١٢٣٤٥٦٧٨٩]/g, function(d) {
- return d.charCodeAt(0) - 1632; // Convert Arabic numbers
- }).replace(/[۰۱۲۳۴۵۶۷۸۹]/g, function(d) {
- return d.charCodeAt(0) - 1776; // Convert Persian numbers
- }) );
- }
- }
|