Compare commits

...

7 Commits

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.cloudsolutions.mohemm" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<widget id="hmg.cloudSolutions.mohem" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>MyApp</name>
<description>An awesome Ionic/Cordova app.</description>
<author email="hi@ionicframework.com" href="http://ionicframework.com/">Ionic Framework Team</author>
@ -86,10 +86,6 @@
<plugin name="cordova-plugin-ionic-webview" spec="^4.0.0" />
<plugin name="call-number" spec="^1.0.1" />
<plugin name="cordova-android-support-gradle-release" spec="^2.1.0" />
<plugin name="phonegap-plugin-push" spec="2.2.3">
<variable name="GOOGLE_PLAY_SERVICES_VERSION" value="16.0.0" />
<variable name="FCM_VERSION" value="15.0.0" />
</plugin>
<plugin name="cordova-sqlite-storage" spec="^3.2.0" />
<plugin name="cordova-plugin-nativestorage" spec="^2.3.2" />
<plugin name="cordova-plugin-ble-central" spec="^1.2.2" />

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.cloudsolutions.alhabibmohemm" version="1.4" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<widget id="hmg.cloudSolutions.mohem" version="1.4" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>MOHEMM</name>
<description>an app created by cloud Solutions</description>
<author email="eservicescs@cloudsolution-sa.com" href="http://cloudsolution-sa.com">HMG</author>
@ -95,10 +95,6 @@
<variable name="ANDROID_SUPPORT_ANNOTATIONS_VERSION" value="27.+" />
</plugin>
<plugin name="cordova-android-support-gradle-release" spec="^3.0.1" />
<plugin name="phonegap-plugin-push" spec="^2.3.0">
<variable name="GOOGLE_PLAY_SERVICES_VERSION" value="16.0.0" />
<variable name="FCM_VERSION" value="15.0.0" />
</plugin>
<plugin name="cordova-sqlite-storage" spec="^3.4.0" />
<plugin name="cordova-plugin-nativestorage" spec="^2.3.2" />
<plugin name="cordova-plugin-ble-central" spec="^1.2.4" />
@ -124,7 +120,6 @@
<plugin name="cordova-plugin-file" spec="^6.0.2" />
<plugin name="cordova-plugin-filepath" spec="^1.5.6" />
<plugin name="com-badrit-base64" spec="^0.2.0" />
<plugin name="onesignal-cordova-plugin" spec="^2.7.0" />
<plugin name="cordova-plugin-fingerprint-aio" spec="^3.0.0">
<variable name="FACEID_USAGE_DESCRIPTION" value="User Authentication" />
</plugin>

@ -1,35 +1,42 @@
{
"project_info": {
"project_number": "608631731238",
"firebase_url": "https://mohemm-cs.firebaseio.com",
"project_id": "mohemm-cs",
"storage_bucket": "mohemm-cs.appspot.com"
"project_number": "679409052782",
"firebase_url": "https://mohemm-dce93.firebaseio.com",
"project_id": "mohemm-dce93",
"storage_bucket": "mohemm-dce93.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:608631731238:android:3a8384007f8700ec",
"mobilesdk_app_id": "1:679409052782:android:dba155ac0859d7fea78a7f",
"android_client_info": {
"package_name": "com.cloudsolutions.mohemm"
"package_name": "hmg.cloudSolutions.mohem"
}
},
"oauth_client": [
{
"client_id": "608631731238-83a5qndedia496ssa6ekkd3db5jo8khr.apps.googleusercontent.com",
"client_id": "679409052782-mtd6d8rjltucnm9uatn6g7et08sm6lbv.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyB5zpz9vC2NOxsU1dPr0TK0dVaMY5D4Mjg"
"current_key": "AIzaSyDgWjuSBIKGghWxYg_KGBRIZTi-O_UA8mU"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "608631731238-83a5qndedia496ssa6ekkd3db5jo8khr.apps.googleusercontent.com",
"client_id": "679409052782-mtd6d8rjltucnm9uatn6g7et08sm6lbv.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "679409052782-3teqf8vdh9e1suvnhddj3pgmna7vg5rt.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "com.cloudsolutions.mohemm"
}
}
]
}

@ -38,11 +38,6 @@ call npm install --save angular-calendar date-fns
@echo install android support gradle release because of barcode scanner to install missing android attributes
call ionic cordova plugin add cordova-android-support-gradle-release --fetch
@echo push notifications
call ionic cordova plugin add phonegap-plugin-push --variable GOOGLE_PLAY_SERVICES_VERSION="16.0.0" --variable FCM_VERSION="15.0.0"
call npm install @ionic-native/push
@echo sqlite storage
call ionic cordova plugin add cordova-sqlite-storage
call npm install @ionic-native/sqlite

@ -39,12 +39,6 @@ echo calendar https://mattlewis92.github.io/angular-calendar/#/kitchen-sink
echo install android support gradle release because of barcode scanner to install missing android attributes
ionic cordova plugin add cordova-android-support-gradle-release --fetch
echo push notifications
ionic cordova plugin add phonegap-plugin-push --variable GOOGLE_PLAY_SERVICES_VERSION="16.0.0" --variable FCM_VERSION="15.0.0"
npm install @ionic-native/push
echo sqlite storage
ionic cordova plugin add cordova-sqlite-storage
npm install @ionic-native/sqlite

@ -1,35 +1,42 @@
{
"project_info": {
"project_number": "448880075189",
"firebase_url": "https://al-habib-mohemm.firebaseio.com",
"project_id": "al-habib-mohemm",
"storage_bucket": "al-habib-mohemm.appspot.com"
"project_number": "679409052782",
"firebase_url": "https://mohemm-dce93.firebaseio.com",
"project_id": "mohemm-dce93",
"storage_bucket": "mohemm-dce93.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:448880075189:android:5bb4821d515a826d88b9fc",
"mobilesdk_app_id": "1:679409052782:android:dba155ac0859d7fea78a7f",
"android_client_info": {
"package_name": "com.cloudsolutions.alhabibmohemm"
"package_name": "hmg.cloudSolutions.mohem"
}
},
"oauth_client": [
{
"client_id": "448880075189-49hc2l78pr9hsmr9p3k7j411r40diej8.apps.googleusercontent.com",
"client_id": "679409052782-mtd6d8rjltucnm9uatn6g7et08sm6lbv.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyC8nrli7eyuRNow8nF-QHvDMOxqUkj6fEw"
"current_key": "AIzaSyDgWjuSBIKGghWxYg_KGBRIZTi-O_UA8mU"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "448880075189-49hc2l78pr9hsmr9p3k7j411r40diej8.apps.googleusercontent.com",
"client_id": "679409052782-mtd6d8rjltucnm9uatn6g7et08sm6lbv.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "679409052782-3teqf8vdh9e1suvnhddj3pgmna7vg5rt.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "com.cloudsolutions.mohemm"
}
}
]
}

@ -38,11 +38,6 @@ call npm install --save angular-calendar date-fns
@echo install android support gradle release because of barcode scanner to install missing android attributes
call ionic cordova plugin add cordova-android-support-gradle-release --fetch
@echo push notifications
call ionic cordova plugin add phonegap-plugin-push --variable GOOGLE_PLAY_SERVICES_VERSION="16.0.0" --variable FCM_VERSION="15.0.0"
call npm install @ionic-native/push
@echo sqlite storage
call ionic cordova plugin add cordova-sqlite-storage
call npm install @ionic-native/sqlite
@ -149,9 +144,9 @@ call npm install @ionic-native/file-path
call ionic cordova plugin add com-badrit-base64
call npm install @ionic-native/base64
@echo install OneSignal plugin
call ionic cordova plugin add onesignal-cordova-plugin
call npm install @ionic-native/onesignal
@echo install Firebasex plugin
call ionic cordova plugin add cordova-plugin-firebasex
call npm install @ionic-native/firebase-x
@echo reinitializing git repository
@echo git init

@ -40,11 +40,6 @@ echo install android support gradle release because of barcode scanner to insta
ionic cordova plugin add cordova-android-support-gradle-release --fetch
echo push notifications
ionic cordova plugin add phonegap-plugin-push --variable GOOGLE_PLAY_SERVICES_VERSION="16.0.0" --variable FCM_VERSION="15.0.0"
npm install @ionic-native/push
echo sqlite storage
ionic cordova plugin add cordova-sqlite-storage
npm install @ionic-native/sqlite

3847
Mohem/package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -21,38 +21,37 @@
"@angular/platform-browser": "^7.2.2",
"@angular/platform-browser-dynamic": "^7.2.2",
"@angular/router": "^7.2.2",
"@ionic-native/android-permissions": "^5.17.0",
"@ionic-native/app-availability": "^5.17.0",
"@ionic-native/app-rate": "^5.17.0",
"@ionic-native/android-permissions": "^5.18.0",
"@ionic-native/app-availability": "^5.18.0",
"@ionic-native/app-rate": "^5.18.0",
"@ionic-native/background-geolocation": "^5.4.0",
"@ionic-native/badge": "^5.17.0",
"@ionic-native/barcode-scanner": "^5.17.0",
"@ionic-native/base64": "^5.17.0",
"@ionic-native/ble": "^5.17.0",
"@ionic-native/call-number": "^5.17.0",
"@ionic-native/camera": "^5.17.0",
"@ionic-native/badge": "^5.18.0",
"@ionic-native/barcode-scanner": "^5.18.0",
"@ionic-native/base64": "^5.18.0",
"@ionic-native/ble": "^5.18.0",
"@ionic-native/call-number": "^5.18.0",
"@ionic-native/camera": "^5.18.0",
"@ionic-native/core": "^5.8.0",
"@ionic-native/date-picker": "^5.10.0",
"@ionic-native/device": "^5.17.0",
"@ionic-native/diagnostic": "^5.17.0",
"@ionic-native/file": "^5.17.0",
"@ionic-native/file-path": "^5.17.0",
"@ionic-native/fingerprint-aio": "^5.17.1",
"@ionic-native/device": "^5.18.0",
"@ionic-native/diagnostic": "^5.18.0",
"@ionic-native/file": "^5.18.0",
"@ionic-native/file-path": "^5.18.0",
"@ionic-native/fingerprint-aio": "^5.18.0",
"@ionic-native/firebase-x": "^5.19.1",
"@ionic-native/geolocation": "^5.10.0",
"@ionic-native/globalization": "^5.17.0",
"@ionic-native/globalization": "^5.18.0",
"@ionic-native/health": "^5.4.0",
"@ionic-native/in-app-browser": "^5.17.0",
"@ionic-native/keyboard": "^5.17.0",
"@ionic-native/launch-navigator": "^5.17.0",
"@ionic-native/local-notifications": "^5.17.0",
"@ionic-native/native-storage": "^5.17.0",
"@ionic-native/onesignal": "^5.19.0",
"@ionic-native/open-native-settings": "^5.14.0",
"@ionic-native/push": "^5.17.0",
"@ionic-native/splash-screen": "^5.0.0",
"@ionic-native/sqlite": "^5.17.0",
"@ionic-native/sqlite": "^5.18.0",
"@ionic-native/status-bar": "^5.0.0",
"@ionic-native/themeable-browser": "^5.17.0",
"@ionic-native/themeable-browser": "^5.18.0",
"@ionic-native/zbar": "^5.10.0",
"@ionic/angular": "^4.1.0",
"@ng-bootstrap/ng-bootstrap": "^4.2.2",
@ -62,7 +61,7 @@
"call-number": "~0.0.2",
"chart.js": "^2.9.3",
"com-badrit-base64": "^0.2.0",
"cordova-android": "8.1.0",
"cordova-android": "^8.1.0",
"cordova-android-support-gradle-release": "^3.0.1",
"cordova-browser": "5.0.4",
"cordova-ios": "4.5.5",
@ -71,6 +70,8 @@
"cordova-plugin-actionsheet": "^2.3.3",
"cordova-plugin-add-swift-support": "^2.0.2",
"cordova-plugin-android-permissions": "^1.0.2",
"cordova-plugin-androidx": "^1.0.2",
"cordova-plugin-androidx-adapter": "^1.1.0",
"cordova-plugin-appavailability": "^0.4.2",
"cordova-plugin-apprate": "^1.4.0",
"cordova-plugin-badge": "^0.8.8",
@ -82,6 +83,7 @@
"cordova-plugin-file": "^6.0.2",
"cordova-plugin-filepath": "^1.5.6",
"cordova-plugin-fingerprint-aio": "^3.0.0",
"cordova-plugin-firebasex": "^7.0.1",
"cordova-plugin-geolocation": "^4.0.2",
"cordova-plugin-globalization": "^1.11.0",
"cordova-plugin-inappbrowser": "^3.1.0",
@ -103,10 +105,8 @@
"ng2-file-upload": "^1.3.0",
"ng2-pdf-viewer": "^5.3.2",
"npm": "^6.13.1",
"onesignal-cordova-plugin": "^2.7.0",
"phonegap-plugin-barcodescanner": "^8.1.0",
"phonegap-plugin-multidex": "^1.0.0",
"phonegap-plugin-push": "^2.3.0",
"primeicons": "^1.0.0",
"primeng": "^7.1.3",
"run": "1.4.0",
@ -136,6 +136,7 @@
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"node-sass": "^4.13.0",
"protractor": "~5.4.0",
"ts-node": "~8.0.0",
"tslint": "~5.12.0",
@ -162,17 +163,19 @@
"cordova-plugin-ionic-webview": {
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
},
"cordova-android-support-gradle-release": {},
"cordova.plugins.diagnostic": {},
"cordova-android-support-gradle-release": {
"ANDROID_SUPPORT_VERSION": "27.+"
},
"cordova.plugins.diagnostic": {
"ANDROID_SUPPORT_VERSION": "28.+"
},
"cordova-open-native-settings": {},
"cordova-plugin-camera": {},
"cordova-plugin-camera": {
"ANDROID_SUPPORT_V4_VERSION": "27.+"
},
"cordova-plugin-file": {},
"cordova-plugin-filepath": {},
"com-badrit-base64": {},
"phonegap-plugin-push": {
"GOOGLE_PLAY_SERVICES_VERSION": "16.0.0",
"FCM_VERSION": "15.0.0"
},
"cordova-sqlite-storage": {},
"cordova-plugin-ble-central": {},
"uk.co.workingedge.phonegap.plugin.launchnavigator": {},
@ -184,9 +187,22 @@
"cordova-opentok-android-permissions": {},
"cordova-plugin-appavailability": {},
"cordova-plugin-apprate": {},
"onesignal-cordova-plugin": {},
"cordova-plugin-fingerprint-aio": {
"FACEID_USAGE_DESCRIPTION": "User Authentication"
},
"cordova-plugin-firebasex": {
"FIREBASE_ANALYTICS_COLLECTION_ENABLED": "true",
"FIREBASE_PERFORMANCE_COLLECTION_ENABLED": "true",
"FIREBASE_CRASHLYTICS_COLLECTION_ENABLED": "true",
"ANDROID_ICON_ACCENT": "#FF00FFFF",
"ANDROID_PLAY_SERVICES_TAGMANAGER_VERSION": "17.0.0",
"ANDROID_FIREBASE_ANALYTICS_VERSION": "17.2.1",
"ANDROID_FIREBASE_MESSAGING_VERSION": "20.0.0",
"ANDROID_FIREBASE_CONFIG_VERSION": "19.0.3",
"ANDROID_FIREBASE_PERF_VERSION": "19.0.1",
"ANDROID_FIREBASE_AUTH_VERSION": "19.1.0",
"ANDROID_CRASHLYTICS_VERSION": "2.10.1",
"ANDROID_CRASHLYTICS_NDK_VERSION": "2.1.1"
}
},
"platforms": [

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 161 KiB

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

After

Width:  |  Height:  |  Size: 132 KiB

@ -1,25 +1,109 @@
<!-- <ion-nav [root]="rootPage" #mycontent swipeBackEnabled="false"></ion-nav> -->
<!-- (ionWillOpen)="menuOpened(true)" -->
<ion-app [dir]="direction">
<ion-split-pane>
<ion-menu [side]=" direction === 'rtl' ? 'end' : 'start'" [swipeGesture]="false">
<ion-content class="sidebar-menu">
<div class="header-div">
<div class="centerDiv">
<p class="TxtPlace">{{ts.trPK('home','hello')}}, {{User_name_Emp}}</p>
<!-- <div> <img src="{{user_image}}" class="profileImg"></div> -->
<div><img class="menuImg" [src]="user_image"></div>
<div>
<ion-button class="closeIcon" (click)="closeMenu()">
<img style= "height: 18px !important;" src="../assets/imgs/close_menu_icon.png "></ion-button>
</div>
<div style="border-bottom: rgb(190, 186, 186) solid 1px;" >
<img class="mohemmLogo" src="../assets/imgs/menu_mohemm_logo.png" ></div>
<hr>
</div>
<div class="centerDiv homeBox" (click)="openPersonalInfo()">
<div class="profileDiv">
<!-- <ion-img class="profileImg" src="{{user_image}}"></ion-img> -->
<img class="profileImg" [src]="user_image">
<p class="TxtPlace">{{User_name_Emp}}</p>
<p class="TxtPlaces"> {{User_Job_name}}</p>
</div>
</div>
<ion-list>
<ion-item (click)="openNotification()">
<div class="changeImgBtn">
<button ion-button icon-only menuToggle class="menubutton" (click)="changeImage()">
<ion-icon (click)="changeImage();" class="changeIcon" name="md-create"></ion-icon></button>
</div>
<!-- <div class="changeImgBtn">
<ion-button class="editIcon" (click)="changeImage()">
<img style= "height: 13px !important;" src="../assets/imgs/edit_icon.png ">
</ion-button>
<img class="menuImg" [src]="user_image"></div> -->
<!-- <div class="centerDiv">
<p class="TxtPlace">{{ts.trPK('home')}}, {{User_name_Emp}}</p>
//<div> <img src="{{user_image}}" class="profileImg"></div>
//<div><img class="menuImg" [src]="user_image"></div>
<p class="TxtPlaces">{{ts.trPK('home')}}, {{User_Job_name}}</p>
</div> -->
<div style="border-bottom: rgb(190, 187, 187) solid 1px;" >
<button class="logout" ion-button (click)="logout();" > {{ts.trPK('home','logout')}}</button>
</div>
<!-- <div>
<ion-item (click)="logout();">
<ion-thumbnail slot="start" class="menu-thumb">
<img width="30" src="../assets/imgs/bell.png" item-left>
<img width="30" src="../assets/imgs/signout.png" item-left>
</ion-thumbnail>
<ion-label>
{{ts.trPK('home','worklist')}}
{{ts.trPK('home','logout')}}
</ion-label>
</ion-item>
</div> -->
<br>
<ion-list>
<ion-item (click)="profile()">
<ion-thumbnail slot="start" class="menu-thumb">
<img style= "height: 24px !important;" src="../assets/imgs/profile_icon.png" item-left>
</ion-thumbnail>
<ion-label class="profile">
{{ts.trPK('userProfile','title')}}
</ion-label>
</ion-item>
<ion-item (click)="openChangePassword()">
<ion-thumbnail slot="start" class="menu-thumb">
<img style= "height: 25px !important;" src="../assets/imgs/lock_icon.png" item-left>
</ion-thumbnail>
<ion-label class="changepassword" >
{{ts.trPK('login','changepassword')}}
<ion-badge [ngClass]=" direction === 'rtl' ? 'end-badge' : 'start-badge'" slot="end" color="danger" class="main-badge">{{notBadge}}</ion-badge>
</ion-label>
@ -29,15 +113,15 @@
</button> -->
</ion-item>
<ion-item (click)="profile()">
<!-- <ion-item (click)="profile()">
<ion-thumbnail slot="start" class="menu-thumb">
<img width="30" src="../assets/imgs/username.png" item-left>
<img width="30" src="../assets/imgs/profile_icon.png" item-left>
</ion-thumbnail>
<ion-label>
{{ts.trPK('userProfile','title')}}
</ion-label>
</ion-item>
<ion-item (click)="logout();">
</ion-item> -->
<!-- <ion-item (click)="logout();">
<ion-thumbnail slot="start" class="menu-thumb">
@ -47,7 +131,7 @@
{{ts.trPK('home','logout')}}
</ion-label>
</ion-item>
</ion-item> -->
</ion-list>
<div class="" style="text-align:center">
@ -55,7 +139,7 @@
<p class="companyTxt">{{CompanyImageDescription}}</p>
</div>
<div class="menuFooter">
<div> <img src="../assets/imgs/CS.png" class="CompanyImg"></div>
<!-- <div> <img src="../assets/imgs/CS.png" class="CompanyImg"></div> -->
<p class="companyTxt">{{companyDesc}}</p>
</div>
</ion-content>

@ -8,9 +8,112 @@ header
.content-ios:not([no-bounce])>.scroll-content::before {
bottom: 0;
}
.mohemmLogo{
max-width: 46% !important;
border: 0 !important;
margin-left: 70px !important;
margin-top: -24px !important;
margin-bottom: 11px;
}
.closeIcon{
height: 10px !important;
margin-left: 255px !important;
margin-top: 0px !important;
background: transparent;
--background: white !important;
}
// .editIcon{
// margin-left: 174px !important;
// margin-bottom: -104px !important;
// padding: 6px -3px !important;
// // margin-top: 50px !important;
// background: transparent;
// --background: rgb(235, 232, 232) !important;
// --border-radius: 80% !important;
// // border-color: rgb(211, 208, 208) !important;
// --box-shadow: 3px 0 rgb(194, 191, 191) !important;
// z-index: 3 !important;
// }
.menubutton{
white-space: normal;
color: var(--light);
text-transform: capitalize;
min-height: 39px;
background: #f0ecec;
font-size: 2rem;
position: absolute;
width: 35px !important;
height: 19px;
box-shadow: 3px 0px 7px 0px #c5c2c2;
border-radius: 50%;
// box-shadow: 0px 2px 7px 0px #dfe1e3 #7f8c8d;
// white-space: normal;
// color: var(--light);
// text-transform: capitalize;
// min-height: 47px;
// background: transparent;
// font-size: 2rem;
// position: absolute;
// top: 40px;
}
.changeIcon{
/* background: #c1c1c1; */
width: 21px;
/* height: 26px; */
border-radius: 50% !important;
position: relative;
color: #7f8c8d;
// background: #c1c1c1;
// width: 40px;
// height: 39px;
// border-radius: 50% !important;
// position: relative;
// left: 51px;
// top:16px;
}
.changeImgBtn{
// margin: 0;
position: absolute;
top: 18%;
left: 68%;
// -ms-transform: translate(-50%, -50%);
// transform: translate(-50%, -50%);
}
.logout{
background-color:#22C6B3;
border: none;
color:white;
// padding: 20px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 12px;
margin-left: 120px !important;
margin-top: 15px !important;
margin-bottom: 20px !important;
border-radius: 30px;
// width: 40px;
height: 26px;
padding: 6px 24px;
}
.menuImg{
width: 80px;
height: 80px;
width: 105px !important;
height: 105px !important;
margin-left: 90px !important;
display: inline-flex;
overflow: hidden;
background: transparent;
@ -122,17 +225,19 @@ header
margin-left: 0.2cm;
}
.sidebar-menu .header-div {
background: var(--primary);
background: -moz-linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%, var(--secondary) 59%, var(--customnavy) 100%);
background: -webkit-linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%, var(--secondary) 59%, var(--customnavy) 100%);
background: linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%, var(--secondary) 59%, var(--customnavy) 100%);
color: var(--light);
// background: var(--primary);
// background: -moz-linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%, var(--secondary) 59%, var(--customnavy) 100%);
// background: -webkit-linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%, var(--secondary) 59%, var(--customnavy) 100%);
// background: linear-gradient(45deg, var(--primary) 0%, var(--secondary) 36%, var(--secondary) 59%, var(--customnavy) 100%);
// color: var(--light);
text-transform: capitalize;
height: 120px;
height: 100px;
position: relative;
display: block;
margin-bottom: 40px;
margin-bottom: -28px;
}
.list-md .item-block .item-inner,
@ -154,8 +259,20 @@ button.menu-item.item.item-block.item-ios {
.TxtPlace {
margin: 0;
padding: 40px 0 10px 0;
padding: 0;
text-align: center;
font-weight: bolder;
color: black;
font-size: 16px;
}
.TxtPlaces{
margin: 0;
padding: 0;
text-align: center;
font-weight: bolder;
font-size: 14px;
color: darkgray;
}
.menuFooter {
@ -189,6 +306,17 @@ button.menu-item.item.item-block.item-ios {
text-align: center;
}
ion-thumbnail.menu-thumb{
width:30px;
height:30px;
width:20px;
height:20px;
// margin-top: 5px !important;
}
.changepassword{
color: black !important;
font-weight: bolder !important;
}
.profile{
color: black !important;
font-weight: bolder !important;
}

@ -28,6 +28,7 @@ export class AppComponent implements OnInit, AfterViewInit {
companyUrl: string = "../assets/imgs/CS.png";
companyDesc: string = "Powered By Cloud Solutions";
public direction = "ltr";
User_Job_name: string;
constructor(
public ts: TranslatorService,
private cs: CommonService,
@ -38,8 +39,7 @@ export class AppComponent implements OnInit, AfterViewInit {
private menu: MenuController,
private authService: AuthenticationService,
private sanitizer: DomSanitizer,
public pushService: PushService,
public pushService: PushService
) {
this.events.subscribe("img-change", displayImg => {
console.log("app compont: "+displayImg);
@ -72,7 +72,6 @@ export class AppComponent implements OnInit, AfterViewInit {
private startReceivingPushService() {
this.pushService.startReceiving();
}
subscribeEvents() {
this.events.subscribe("setMenu", () => {
@ -91,6 +90,8 @@ export class AppComponent implements OnInit, AfterViewInit {
this.user_image = user.EMPLOYEE_IMAGE
? "data:image/png;base64," + user.EMPLOYEE_IMAGE
: "../assets/imgs/profile.png";
this.User_Job_name=user.JOB_NAME;
console.log(user);
} else {
console.log(user);
@ -135,4 +136,18 @@ export class AppComponent implements OnInit, AfterViewInit {
this.menu.toggle();
}
openChangePassword(){
this.cs.openChangePassword();
this.menu.toggle();
}
private changeImage() {
this.cs.openChangeImagePage();
this.menu.toggle();
}
closeMenu(){
this.menu.toggle();
}
}

@ -5,7 +5,6 @@ import { HmgCommonModule } from './hmg-common/hmg-common.module';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { OneSignal } from '@ionic-native/onesignal/ngx';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
@ -16,6 +15,8 @@ import {Camera,CameraOptions,PictureSourceType} from'@ionic-native/Camera/ngx';
import { FilePath } from "@ionic-native/file-path/ngx";
import { File } from "@ionic-native/file/ngx";
import { Base64 } from "@ionic-native/base64/ngx";
import { FirebaseX } from '@ionic-native/firebase-x/ngx';
@NgModule({
declarations: [AppComponent],
entryComponents: [],
@ -37,7 +38,7 @@ import { Base64 } from "@ionic-native/base64/ngx";
File,
FilePath,
Base64,
OneSignal,
FirebaseX,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]

@ -15,6 +15,7 @@ import { LoginRequest } from "src/app/hmg-common/services/authentication/models/
import { Password } from '../models/password';
import { CheckUserAuthenticationRequest } from 'src/app/hmg-common/services/authentication/models/check-user-auth.request';
import { CheckAppVersionResponse } from 'src/app/hmg-common/services/authentication/models/check-app-version.response';
import { PushService } from 'src/app/hmg-common/services/push/push.service';
@Component({
selector: "login",
@ -52,7 +53,8 @@ export class LoginComponent implements OnInit, OnDestroy {
public device: Device,
public splash: SplashScreen,
public sharedData: SharedDataService,
public plt: Platform
public plt: Platform,
public pushService: PushService
) { }
ngOnInit() {
@ -107,8 +109,18 @@ export class LoginComponent implements OnInit, OnDestroy {
}
public onLogin() {
this.checkAppUpdated();
// this.checkUserAuthentication();
let deviceToken = localStorage.getItem('deviceToken');
if (deviceToken) {
console.log('login enabled first time: ' + deviceToken);
this.checkAppUpdated();
} else {
this.pushService.startReceiving();
setTimeout(() => {
deviceToken = localStorage.getItem('deviceToken');
this.checkAppUpdated();
console.log('login enabled second time: ' + deviceToken);
}, 1000);
}
}
public checkAppUpdated() {

@ -131,7 +131,7 @@ export class SmsPageComponent implements OnInit {
this.loginTypeData= this.common.sharedService.getSharedData(SMSCheckRequest.SHARED_DATA, false);
console.log("loginType :"+this.loginTypeData.loginType);
// console.log("loginType :"+this.loginTypeData.loginType);

@ -16,7 +16,8 @@ import { SessionModel } from './models/session.model';
import { AuthenticatedUser } from '../authentication/models/authenticated-user';
// import { NotificationsCenterService } from 'src/app/eservices/notifications-center/service/notifications-center.service';
// import { NotificationsComponent } from 'src/app/eservices/notifications-center/notifications/notifications.component';
import {OneSignal} from '@ionic-native/onesignal/ngx'
import { FirebaseX } from '@ionic-native/firebase-x/ngx';
@Injectable({
providedIn: 'root'
})
@ -37,13 +38,13 @@ export class PushService {
public ngZone: NgZone,
// public notifyService: NotificationsCenterService,
public events: Events,
private oneSignal: OneSignal,
public firebasex: FirebaseX,
) { }
public startReceiving() {
this.processStartReceiving();
// this.processStartReceiving();
this.processStartReceivingWithFirebase();
}
private processStartReceiving1() {
// if (this.cs.isCordova()) {
@ -160,11 +161,15 @@ export class PushService {
}
private registerInBackend(data: any) {
console.log("registerInBackend");
console.log('firebasex Token ID: ' + data);
if (data) {
this.cs.sharedService.setSharedData(data, AuthenticationService.DEVICE_TOKEN);
localStorage.setItem('deviceToken', data);
}
if (this.authService.isAuthenticated()) {
this.registerAuthenticatedUser(data.registrationId);
this.registerAuthenticatedUser(data);
} else {
this.registerNotAuthenticatedUser(data.registrationId);
this.registerNotAuthenticatedUser(data);
}
}
@ -210,45 +215,17 @@ export class PushService {
}
private processStartReceiving() {
console.log('processStartReceiving');
console.log("processStartReceiving openConference");
this.oneSignal.startInit('8d9b8313-0365-4934-a2a9-fdee5aeac66e', PushService.SENDER_ID);
this.oneSignal.inFocusDisplaying(this.oneSignal.OSInFocusDisplayOption.Notification);
this.oneSignal.handleNotificationReceived().subscribe(data => this.onPushReceived(data.payload));
this.oneSignal.handleNotificationOpened().subscribe(data => this.onPushOpened(data.notification.payload));
console.log("this.oneSignal: "+ this.oneSignal.getIds());
this.oneSignal.endInit();
this.oneSignal.getIds().then(result => {
console.log("result.userId: " +result.userId);
//there is no part for notLoggedInUserURL () as patient app
if(result.userId){
this.cs.sharedService.setSharedData(result.userId, AuthenticationService.DEVICE_TOKEN);
localStorage.setItem("deviceToken", result.userId);
}
this.registerInBackend(result.userId);
}, err => {
console.log("getIds() error: "+err);
private processStartReceivingWithFirebase() {
this.firebasex.getToken().then(token => {
console.log(token);
this.registerInBackend(token);
});
this.firebasex.onTokenRefresh().subscribe(token => {
console.log(token);
this.registerInBackend(token);
});
// if (this.cs.isCordova()) {
// console.log('Notification Channel Called');
// if (this.platform.is('android')) {
// this.stopNotifications(() => {
// });
// } else {
// //initialize code
// }
// }
}
public onPushReceived(payload: any) {
console.log(JSON.parse(JSON.stringify(payload)));
console.log('Push-Received whole payload: ' + payload);

@ -1,10 +1,28 @@
<div class="centerDiv changeImgBtn">
<!-- <div class="centerDiv changeImgBtn">
<ion-button class="btnImge" color="customnavy" ion-button (click)="openFile()" expand="block" fill="outline">
<!-- <ion-icon class="changeIcon" name="camera" ></ion-icon> -->
<ion-icon class="changeIcon" name="camera" ></ion-icon>
{{'userProfile,changeImg' | translate}}
</ion-button>
</div>
</div> -->
<div class="centerDiv changeImgBtn">
<button ion-button class="btnImge" (click)="openFile()">
<img style= "height: 28px !important;" src="../assets/imgs/camera_icon.png ">
</button>
</div>
<!-- <div class="centerDiv changeImgBtn">
<button ion-button class="btnImge" (click)="openFile()">
<ion-icon class="changeIcon" name="camera" ></ion-icon>
</button>
</div> -->

@ -8,13 +8,24 @@
transform: translate(-50%, -50%);
}
.btnImge{
button{
border-color:transparent !important;
}
// button{
border-color:transparent !important;
--background: #22C6B3 !important;
background: #22C6B3 !important;
height: 57px !important;
width: 60px !important;
border-radius: 50% !important;
// }
}
//test
.changeIcon{
background: #19a163;
width: 15px;
height: 15px;
background: #22C6B3 !important;
border-radius: 50% !important;
width: 73px;
height: 55px;
color: white !important;
width: 80px;
height: 71px;
}

@ -11,9 +11,9 @@
<img class="menuImg" src="../assets/imgs/home/burgerMenu.png"/>
<ion-badge id="homeBadgeBtn" slot="end" color="danger">{{notBadge}}</ion-badge>
</button>
<button ion-button icon-only menuToggle class="menubuttonTrans" (click)="openMenu()">
<!-- <button ion-button icon-only menuToggle class="menubuttonTrans" (click)="openMenu()">
<img class="transImg" src="../assets/imgs/home/arabicSwitch.png"/>
</button>
</button> -->
<div class="centerDiv homeBox" (click)="openPersonalInfo()">
<p class="TxtPlace">{{ts.trPK('home','hello')}}, {{userData.EMPLOYEE_DISPLAY_NAME}}</p>
<div class="profileDiv">
@ -84,7 +84,7 @@
</button>
</ion-col>
<ion-col size="6" class="col-grid">
<!-- <ion-col size="6" class="col-grid">
<button ion-button block class="serviceItem" (click)="Change_password()">
<ion-img class="serviceItemImg" src="../assets/imgs/home/announcements.png"></ion-img>
<p>{{ts.trPK('login','announcement')}}</p>
@ -95,7 +95,7 @@
<ion-img class="serviceItemImg" src="../assets/imgs/home/timeAttendance.png"></ion-img>
<p>{{ts.trPK('home','timeAndAttendance')}}</p>
</button>
</ion-col>
</ion-col> -->
<!-- <ion-col size="6" class="col-grid">
<button ion-button block class="serviceItem" (click)="openPayslip()">

@ -133,17 +133,17 @@ export class HomePage implements OnInit {
}
}
getCount() {
const req: any = {};
this.menuService.getNotificationCount(req).subscribe((result: any) => {
if (this.common.validResponse(result)) {
this.notBadge =
result.GetOpenNotificationsNumList.P_OPEN_NOTIFICATIONS_NUM;
if (this.notBadge <= 0) {
this.notBadge = null;
}
this.events.publish("getNotCount", this.notBadge);
}
});
// const req: any = {};
// this.menuService.getNotificationCount(req).subscribe((result: any) => {
// if (this.common.validResponse(result)) {
// this.notBadge =
// result.GetOpenNotificationsNumList.P_OPEN_NOTIFICATIONS_NUM;
// if (this.notBadge <= 0) {
// this.notBadge = null;
// }
// this.events.publish("getNotCount", this.notBadge);
// }
// });
}
// ionViewDidLoad() {
// this.geolocation

@ -3,7 +3,7 @@
<ion-buttons slot="start">
<ion-back-button color="light" class="btnBack" defaultHref="/home"></ion-back-button>
</ion-buttons>
<ion-title color="light" > {{ts.trPK('userProfile','title')}}</ion-title>
<ion-title color="light" > {{ts.trPK('userProfile','changepicture')}}</ion-title>
<ion-buttons slot="end">
<button style="color: white !important;" class="headerBtn" *ngIf="saveChange != ''" (click)="updateImageProfile();" >
{{ts.trPK('general','save')}}

@ -22,8 +22,9 @@
// // margin:0 auto 40px;
position: relative;
width: 400px;
height: 400px;
width: 234px;
height: 215px;
margin-top: 33px !important;
margin: auto;
display: block;
// background: red;
@ -32,7 +33,7 @@ height: 400px;
border-radius: 50% !important;
color:#fff;
background-color: rgba(0,0,0,0.1);
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
// box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
img{
-webkit-border-radius:50% !important;

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 B

@ -877,6 +877,10 @@
"en": "My Profile",
"ar": "معلوماتي"
},
"changepicture":{
"en":"Change Picture",
"ar":"تغيير الصوره"
},
"empNo": {
"en": "Employee Number",
"ar": "الرقم الوظيفي"

@ -0,0 +1,6 @@
-----BEGIN PRIVATE KEY-----
MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQgpFHLFUMeYsa60Ljq
iLNjrd5vW54LWW29shqYplVrbJGgCgYIKoZIzj0DAQehRANCAATtOB42ERmP9URQ
ERKOSOsNs84YYhYOYgJWzEl8vawi4mUI2MaliCdXkTxzqChTWuPw2YN4n1ebAclM
GEIcObMj
-----END PRIVATE KEY-----

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CLIENT_ID</key>
<string>448880075189-tcgggmh2ua9tsmdr97c1ttcgrmf5kg5m.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.448880075189-tcgggmh2ua9tsmdr97c1ttcgrmf5kg5m</string>
<key>API_KEY</key>
<string>AIzaSyB--KUTUYVpcdxpETCEsdhKs5cV3QawW7Q</string>
<key>GCM_SENDER_ID</key>
<string>448880075189</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.cloudsolutions.alhabibmohemm</string>
<key>PROJECT_ID</key>
<string>al-habib-mohemm</string>
<key>STORAGE_BUCKET</key>
<string>al-habib-mohemm.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:448880075189:ios:c6fd2b86fe7b388088b9fc</string>
<key>DATABASE_URL</key>
<string>https://al-habib-mohemm.firebaseio.com</string>
</dict>
</plist>

@ -0,0 +1,47 @@
{
"project_info": {
"project_number": "448880075189",
"firebase_url": "https://al-habib-mohemm.firebaseio.com",
"project_id": "al-habib-mohemm",
"storage_bucket": "al-habib-mohemm.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:448880075189:android:5bb4821d515a826d88b9fc",
"android_client_info": {
"package_name": "com.cloudsolutions.alhabibmohemm"
}
},
"oauth_client": [
{
"client_id": "448880075189-49hc2l78pr9hsmr9p3k7j411r40diej8.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyC8nrli7eyuRNow8nF-QHvDMOxqUkj6fEw"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "448880075189-49hc2l78pr9hsmr9p3k7j411r40diej8.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "448880075189-tcgggmh2ua9tsmdr97c1ttcgrmf5kg5m.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "com.cloudsolutions.alhabibmohemm"
}
}
]
}
}
}
],
"configuration_version": "1"
}

@ -0,0 +1,6 @@
-----BEGIN PRIVATE KEY-----
MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQg+oBl9YdOiMRXfQZe
nIe6tR1tojoOvvcohNJmJtH+SsagCgYIKoZIzj0DAQehRANCAATDY9E82MAgMI/g
bKF1t4zLHJ1Yt9uoOnedNYsfyZLhh3l3ZyXRj02uDXz04AsNbNFjkLJXPc4xY9ad
+A4rY70x
-----END PRIVATE KEY-----

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CLIENT_ID</key>
<string>679409052782-3teqf8vdh9e1suvnhddj3pgmna7vg5rt.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.679409052782-3teqf8vdh9e1suvnhddj3pgmna7vg5rt</string>
<key>API_KEY</key>
<string>AIzaSyCjMjhbeS7qilBoP4SH0t3SgkkHryf34JA</string>
<key>GCM_SENDER_ID</key>
<string>679409052782</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.cloudsolutions.mohemm</string>
<key>PROJECT_ID</key>
<string>mohemm-dce93</string>
<key>STORAGE_BUCKET</key>
<string>mohemm-dce93.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:679409052782:ios:ace07cf8ba043b48a78a7f</string>
<key>DATABASE_URL</key>
<string>https://mohemm-dce93.firebaseio.com</string>
</dict>
</plist>

@ -0,0 +1,47 @@
{
"project_info": {
"project_number": "679409052782",
"firebase_url": "https://mohemm-dce93.firebaseio.com",
"project_id": "mohemm-dce93",
"storage_bucket": "mohemm-dce93.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:679409052782:android:dba155ac0859d7fea78a7f",
"android_client_info": {
"package_name": "hmg.cloudSolutions.mohem"
}
},
"oauth_client": [
{
"client_id": "679409052782-mtd6d8rjltucnm9uatn6g7et08sm6lbv.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyDgWjuSBIKGghWxYg_KGBRIZTi-O_UA8mU"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "679409052782-mtd6d8rjltucnm9uatn6g7et08sm6lbv.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "679409052782-3teqf8vdh9e1suvnhddj3pgmna7vg5rt.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "com.cloudsolutions.mohemm"
}
}
]
}
}
}
],
"configuration_version": "1"
}

@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICoTCCAYkCAQAwXDEzMDEGCSqGSIb3DQEJARYkQ2hvdWRocnkuTWFzb29kQGNs
b3Vkc29sdXRpb24tc2EuY29tMRgwFgYDVQQDDA9DaG91ZGhyeSBNYXNvb2QxCzAJ
BgNVBAYTAlNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApkQA87EF
GiHTVqx7SWD+3qaVSHTFrTCro9DJZ5na/WGsF06xfoZJT/S5jFW5DlWHWsJak/vx
BqsuH3VGTEneoEiWc+Zyh6Lb6SvgDmfee2MB+k8E6dHE4Z5Z7aiBXSTjIjKcWEjj
41++FVihddY+p9723WFhcEWcA2Nq2p9KSZlKZNqui5xU/16z6RW7YSu0ylBUE8+g
E5GLzRgALzoSNT5OedXqdIoR9k1Jds2ep+DKqjl35hKOX215b3tzfyamPK2i1UHB
eaYBXnObkyJe4EIcqlTM8Eeo23yxsHYyRrJmJDDm4GaXRXrQ2193XpLHNlq88no5
wgI+yYsb7zvwowIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAIQsZ1fP8XImSQ+L
TvR4mT98DI5Ld/xLnw/LXRNJrZVtxMjdUwwcMhvxbfGX4Ji4wpttkzbkr86Jyh+U
dbfVqHKLIGo8xjYl4uCcjYIqnY2hBduv+/aWWoFAJ9w5tv8Oo/3hasF97zQi+vZh
Uzqdp/8IWb8/QGE2HRqKbSUMKBeUzDmyQTnM7QeS5kuT5MQZjDnFLV2v3Sxa383L
9jFqNQjS7b1mcVJ4/HsW7yUYoDZ8C90fUp2zs5k4SFad8MG4J1IsoshXuBgBvcFg
haDt0P+hh6QVk9yf4zGgcbU7501ya5T5MgZ8moxnlklf3mqGUCK2IU8PBc2IquyG
2PrSkpI=
-----END CERTIFICATE REQUEST-----
Loading…
Cancel
Save