Skip to content
Snippets Groups Projects
Commit 9f29abb1 authored by Razzan Yoni's avatar Razzan Yoni
Browse files

fix some errors

parent 298afe51
No related merge requests found
...@@ -107,4 +107,10 @@ This plain web service is a monolithic web application to stream your personal m ...@@ -107,4 +107,10 @@ This plain web service is a monolithic web application to stream your personal m
| AJAX | 13521087 | | AJAX | 13521087 |
## Changes Made ## Changes Made
- New subscription features - New subscription features
\ No newline at end of file
| Task | Student ID |
|------------------|------------|
| SOAP Client | 13521087 |
| REST Client | 13521087 |
| Premium Album UI | 13521063 |
<?php
require_once ROOT_DIR . "src/cores/Application.php";
use cores\Application;
use models\PremiumAlbumModel;
function AlbumCard(PremiumAlbumModel $album): string
{
$albumId = $album->get('album_id');
$coverFileName = $album->get('cover_filename') ? : 'default-cover.jpg';
$coverUrl = STORAGE_FOLDER . '/' . $coverFileName;
$albumName = $album->get('album_name');
$albumArtist = $album->get('artist');
return <<<"EOT"
<a href="/premiumAlbum/$albumId" class="album-card">
<div class="album-info-container">
<img src=$coverUrl alt="album cover image" class="album-cover-image"/>
<div class="album-name">$albumName</div>
<div class="artist-name">$albumArtist</div>
</div>
</a>
EOT;
}
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
require_once ROOT_DIR . "src/models/PremiumAlbumModel.php"; require_once ROOT_DIR . "src/models/PremiumAlbumModel.php";
require_once ROOT_DIR . "src/controllers/PremiumAlbumController.php"; require_once ROOT_DIR . "src/controllers/PremiumAlbumController.php";
require_once ROOT_DIR . "src/repositories/PremiumAlbumRepository.php"; require_once ROOT_DIR . "src/repositories/PremiumAlbumRepository.php";
require_once ROOT_DIR . "public/components/AlbumCard.php"; require_once ROOT_DIR . "public/components/PremiumAlbumCard.php";
use models\PremiumAlbumModel; use models\PremiumAlbumModel;
......
...@@ -41,6 +41,7 @@ class PremiumAlbumController extends BaseController ...@@ -41,6 +41,7 @@ class PremiumAlbumController extends BaseController
'totalPage' => $premiumAlbumsTotalPage, 'totalPage' => $premiumAlbumsTotalPage,
'page' => $page, 'page' => $page,
'size' => $size, 'size' => $size,
'is_admin' => Application::$app->loggedUser->isAdmin(),
] ]
]); ]);
} }
...@@ -53,8 +54,15 @@ class PremiumAlbumController extends BaseController ...@@ -53,8 +54,15 @@ class PremiumAlbumController extends BaseController
if (isset($request->getBody()['size'])) $size = $request->getBody()['size']; if (isset($request->getBody()['size'])) $size = $request->getBody()['size'];
if (isset($request->getBody()['searchQuery'])) $searchQuery = $request->getBody()['searchQuery']; if (isset($request->getBody()['searchQuery'])) $searchQuery = $request->getBody()['searchQuery'];
$premiumAlbums = PremiumAlbumRepository::getInstance()->searchPremiumAlbumOwned($page, $size, $searchQuery); $premiumAlbums = PremiumAlbumRepository::getInstance()->searchPremiumAlbumOwned($page, $size, $searchQuery);
$premiumAlbumsTotalPage = ceil($premiumAlbums["paging"]["totalAlbums"] / ROWS_PER_PAGE); if (isset($premiumAlbums["data"]))
$premiumAlbums = $premiumAlbums["data"]; {
$premiumAlbumsTotalPage = ceil($premiumAlbums["paging"]["totalAlbums"] / ROWS_PER_PAGE);
$premiumAlbums = $premiumAlbums["data"];
}
if (!$premiumAlbums) {
$premiumAlbums = [];
$premiumAlbumsTotalPage = 0;
}
$this->setLayout('PremiumAlbum'); $this->setLayout('PremiumAlbum');
return $this->render('premium/premiumAlbumOwned', [ return $this->render('premium/premiumAlbumOwned', [
...@@ -67,6 +75,7 @@ class PremiumAlbumController extends BaseController ...@@ -67,6 +75,7 @@ class PremiumAlbumController extends BaseController
'page' => $page, 'page' => $page,
'size' => $size, 'size' => $size,
'searchQuery' => $searchQuery, 'searchQuery' => $searchQuery,
'is_admin' => Application::$app->loggedUser->isAdmin()
] ]
]); ]);
} }
......
...@@ -4,7 +4,7 @@ namespace models; ...@@ -4,7 +4,7 @@ namespace models;
use bases\BaseModel; use bases\BaseModel;
class PremiumAlbumModel class PremiumAlbumModel extends BaseModel
{ {
protected $album_id; protected $album_id;
protected $album_name; protected $album_name;
...@@ -22,4 +22,16 @@ class PremiumAlbumModel ...@@ -22,4 +22,16 @@ class PremiumAlbumModel
$this->cover_filename = $data['coverFilename']; $this->cover_filename = $data['coverFilename'];
return $this; return $this;
} }
public function toArray(): array
{
return [
'albumId' => $this->album_id,
'albumName' => $this->album_name,
'releaseDate' => $this->release_date,
'genre' => $this->genre,
'artist' => $this->artist,
'coverFilename' => $this->cover_filename
];
}
} }
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
namespace repositories; namespace repositories;
require_once __DIR__ . '/../clients/TonalitySOAPClient.php'; require_once ROOT_DIR . "src/clients/TonalitySOAPClient.php";
// https://www.w3docs.com/snippets/php/how-to-send-a-post-request-with-php.html // https://www.w3docs.com/snippets/php/how-to-send-a-post-request-with-php.html
use clients\TonalitySOAPClient; use clients\TonalitySOAPClient;
...@@ -47,7 +47,7 @@ class SubscriptionRepository ...@@ -47,7 +47,7 @@ class SubscriptionRepository
public function getSubscriptionByUserId($userId, $page, $size) { public function getSubscriptionByUserId($userId, $page, $size) {
$subscriptions = []; $subscriptions = [];
foreach ($this->soapClient->handler( $test = $this->soapClient->handler(
'getSubscriptionsByUserId', 'getSubscriptionsByUserId',
"POST", "POST",
[ [
...@@ -55,7 +55,8 @@ class SubscriptionRepository ...@@ -55,7 +55,8 @@ class SubscriptionRepository
'page' => $page, 'page' => $page,
'size' => $size 'size' => $size
], ],
)->subscription as $value) { )->subscription ?? [];
foreach ($test as $value) {
$subscriptionModel = new SubscriptionModel(); $subscriptionModel = new SubscriptionModel();
$subscriptionModel->set('user_id', $value->userId); $subscriptionModel->set('user_id', $value->userId);
$subscriptionModel->set('premium_album_id', $value->premiumAlbumId); $subscriptionModel->set('premium_album_id', $value->premiumAlbumId);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment