diff --git a/src/apis/auth.php b/src/apis/auth.php
index 1e206e5..9626b05 100755
--- a/src/apis/auth.php
+++ b/src/apis/auth.php
@@ -10,14 +10,14 @@ $data = json_decode(file_get_contents("php://input"));
if(isset($_GET['act']) && $_GET['act'] == 'login') {
if($data->usr == 'admin' && $data->pwd == 'JohnHolmes') {
$content->status = 200;
- $content->authToken = base64_encode(date("Y-m-d"));
+ $content->authToken = base64_encode('admin:JohnHolmes'.date("Y-m-d"));
} else {
$content->status = 403;
}
} else if(isset($_GET['act']) && $_GET['act'] == 'check') {
- if($data->token == base64_encode(date("Y-m-d"))) {
+ if($data->token == base64_encode('admin:JohnHolmes'.date("Y-m-d"))) {
$content->status = 200;
- $content->authToken = base64_encode(date("Y-m-d"));
+ $content->authToken = base64_encode('admin:JohnHolmes'.date("Y-m-d"));
} else {
$content->status = 403;
}
diff --git a/src/apis/remove.php b/src/apis/remove.php
new file mode 100644
index 0000000..6051c5a
--- /dev/null
+++ b/src/apis/remove.php
@@ -0,0 +1,16 @@
+imageUrl = 'http://unsplash.it/800/600';
+
+header("Access-Control-Allow-Origin: *");
+header("Content-Type: application/json; charset=UTF-8");
+header("Access-Control-Allow-Methods: GET");
+header("Access-Control-Max-Age: 3600");
+
+echo json_encode($content);
+
+?>
diff --git a/src/app/admin/admin.component.html b/src/app/admin/admin.component.html
index df32ada..97cb952 100644
--- a/src/app/admin/admin.component.html
+++ b/src/app/admin/admin.component.html
@@ -29,12 +29,12 @@
+
diff --git a/src/app/admin/admin.component.ts b/src/app/admin/admin.component.ts
index ed9b305..e441e1e 100644
--- a/src/app/admin/admin.component.ts
+++ b/src/app/admin/admin.component.ts
@@ -13,6 +13,7 @@ import { editorConfig } from '../../config/config'
export class AdminComponent implements OnInit {
private restApi = `${environment.API_URL}`
+ public basePath = `${environment.BASE_PATH}`
public authCheck: boolean = false
public userName: string = ''
@@ -29,7 +30,7 @@ export class AdminComponent implements OnInit {
public type: string = ''
public content: string = ''
public tags: string = ''
- public mainImage: any = null
+ public mainImage: string = ''
public videoType: string = ''
public videoURL: string = ''
@@ -42,18 +43,6 @@ export class AdminComponent implements OnInit {
ngOnInit(): void {
- this.selectedGallery = [
- {
- main: true,
- title: '',
- url: 'http://unsplash.it/800/600'
- },
- {
- title: '',
- url: 'http://unsplash.it/800/700'
- }
- ]
-
const body = { token: window.sessionStorage.getItem('authToken') }
this.authService.authCheck(body).toPromise().then((response) => {
this.authCheck = response.status == 200
@@ -119,6 +108,8 @@ export class AdminComponent implements OnInit {
onFileChanged(e) {
const file = (e.target).files[0]
const uploadData = new FormData()
+ uploadData.append('token', window.sessionStorage.getItem('authToken'))
+ uploadData.append('path', 'assets')
uploadData.append('file', file, file.name)
this.apisService.uploadImage(uploadData).toPromise().then((response) => {
this.selectedGallery.push({
@@ -143,7 +134,11 @@ export class AdminComponent implements OnInit {
}
galleryRemove(url): void {
- this.apisService.removeImage(url).toPromise().then((response) => {
+ const body = {
+ token: window.sessionStorage.getItem('authToken'),
+ url: url
+ }
+ this.apisService.removeImage(body).toPromise().then((response) => {
this.selectedGallery = this.selectedGallery.filter(item => item.url != url)
},(error) => {
console.error(error)
@@ -151,4 +146,55 @@ export class AdminComponent implements OnInit {
console.error(e)
})
}
+
+ saveWork(): void {
+
+ let error = false
+ let errorMessages = []
+ const mainImage = this.selectedGallery.filter(item => item.main)
+
+ if(!this.title){
+ error = true
+ errorMessages.push('No title')
+ }
+ if(!this.type){
+ error = true
+ errorMessages.push('No type selected')
+ }
+ if(this.selectedGallery.length == 0 || mainImage.length == 0){
+ error = true
+ errorMessages.push('No main image selected')
+ }
+
+ if(error) {
+ console.log('ERORS:',errorMessages)
+ } else {
+ const body = {
+ token: window.sessionStorage.getItem('authToken'),
+ title: this.title,
+ content: this.content,
+ type: this.type,
+ tags: this.tags,
+ image: mainImage[0].url,
+ exhibitions: this.selectedExhibitions.map(a => a.id).join(','),
+ gallery: JSON.stringify(this.selectedGallery),
+ videos: JSON.stringify(this.selectedVideos)
+ }
+
+ this.apisService.saveWork(body).toPromise().then((response) => {
+ console.log(response)
+ this.title = ''
+ this.content = ''
+ this.type = ''
+ this.tags = ''
+ this.selectedExhibitions = []
+ this.selectedGallery = []
+ this.selectedVideos = []
+ },(error) => {
+ console.error(error)
+ }).catch((e) => {
+ console.error(e)
+ })
+ }
+ }
}
diff --git a/src/app/services/apis.service.ts b/src/app/services/apis.service.ts
index 106aab6..4f730e1 100644
--- a/src/app/services/apis.service.ts
+++ b/src/app/services/apis.service.ts
@@ -38,9 +38,16 @@ export class ApisService extends BaseService {
)
}
- removeImage(url): Observable {
- let urlApi = `${this.restApi}remove.php?url=${url}`
- return this.http.get(urlApi).pipe(
+ removeImage(body): Observable {
+ let urlApi = `${this.restApi}remove.php`
+ return this.http.post(urlApi, JSON.stringify(body)).pipe(
+ catchError(this.handleError)
+ )
+ }
+
+ saveWork(body): Observable {
+ let urlApi = `${this.restApi}work.php?act=save`
+ return this.http.post(urlApi, JSON.stringify(body)).pipe(
catchError(this.handleError)
)
}
diff --git a/src/assets/scss/forms.scss b/src/assets/scss/forms.scss
index 8281026..d60b308 100644
--- a/src/assets/scss/forms.scss
+++ b/src/assets/scss/forms.scss
@@ -57,6 +57,7 @@ select {
appearance: none;
color: $white;
border: none;
+ border-radius: 4px;
background: $black;
display: inline-block;
padding: 10px 20px 10px 20px !important;
diff --git a/src/assets/scss/global.scss b/src/assets/scss/global.scss
index 03331ed..b39e98f 100644
--- a/src/assets/scss/global.scss
+++ b/src/assets/scss/global.scss
@@ -28,6 +28,10 @@ button {
.w-#{$size} {width: percentage($size/100) !important;}
}
+.text-right {text-align: right !important;}
+.text-center {text-align: center !important;}
+.text-left {text-align: left !important;}
+
.particles {
position: fixed;
top: 0;
diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts
index 66a3c6b..bf9c1f7 100644
--- a/src/environments/environment.prod.ts
+++ b/src/environments/environment.prod.ts
@@ -1,4 +1,5 @@
export const environment = {
production: true,
- API_URL: `https://apis.dslak.it/`
+ API_URL: `https://apis.dslak.it/`,
+ BASE_PATH: `https://apis.dslak.it/`
}
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
index 2710fb4..32977b6 100644
--- a/src/environments/environment.ts
+++ b/src/environments/environment.ts
@@ -1,4 +1,5 @@
export const environment = {
production: false,
- API_URL: `http://dslakng.local/apis/`
+ API_URL: `http://dslakng.local/apis/`,
+ BASE_PATH: `http://dslakng.local`
}