OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
opalv1
/
api
Server IP: 10.0.0.4
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/25/2024 03:43:29 AM
rwxr-xr-x
📄
add.edit.paper.php
7.04 KB
02/18/2024 05:41:10 AM
rw-rw-r--
📄
article.php
1.13 KB
02/18/2024 05:42:18 AM
rw-rw-r--
📄
featured.articles.php
517 bytes
02/18/2024 05:04:20 AM
rw-rw-r--
📄
login.php
1.19 KB
02/17/2024 03:38:38 PM
rw-rw-r--
📄
register.php
1.73 KB
02/17/2024 03:38:38 PM
rw-rw-r--
📄
search.php
3.13 KB
02/18/2024 05:01:46 AM
rw-rw-r--
📄
user.articles.php
1.03 KB
02/18/2024 05:49:34 AM
rw-rw-r--
📄
verify.php
869 bytes
02/18/2024 06:01:26 AM
rw-rw-r--
Editing: search.php
Close
<? // Opal API: Search Articles - By Title, Author, Category require_once '../inc/config.php'; $searchType = isset($_POST['type']) ? $_POST['type'] : ''; $searchVal = isset($_POST['val']) ? $_POST['val'] : ''; if ($searchType == '' || $searchVal == '') die(json_encode(['status' => 500, 'message' => 'Invalid Call!'])); // Search by Title if ($searchType == 'title') { $data = []; $sql = "SELECT articleId AS id,articleTitle AS title,articleDOI AS doi,articleSummary AS summary,filePdf,yearPublished FROM articles WHERE articleTitle LIKE '%$searchVal%' ORDER BY articleTitle"; $result = mysqli_query($db, $sql); while($row = mysqli_fetch_assoc($result)) { $articleId = $row['id']; $sql = "SELECT A.salutation,A.firstName,A.lastName FROM authors A INNER JOIN article_authors B WHERE A.authorId=B.authorId AND B.articleId=$articleId"; $resultAuthor = mysqli_query($db, $sql); $numRowsAuthor = mysqli_num_rows($resultAuthor); if ($numRowsAuthor > 0) { $dataAuthor = mysqli_fetch_all($resultAuthor, MYSQLI_ASSOC); $row['author'] = $dataAuthor; } else { $row['author'] = []; } array_push($data,$row); } $dataJSON = ['status' => 200, 'data' => $data]; } // Search by Author if ($searchType == 'author') { $data = []; $sql = "SELECT articleId AS id,articleTitle AS title,articleDOI AS doi,articleSummary AS summary,filePdf,yearPublished FROM articles WHERE articleId IN (SELECT A.articleId FROM article_authors A INNER JOIN authors B WHERE A.authorId=B.authorId AND (B.firstName LIKE '%$searchVal%' OR B.lastName LIKE '%$searchVal%')) ORDER BY articleTitle"; $result = mysqli_query($db, $sql); while($row = mysqli_fetch_assoc($result)) { $articleId = $row['id']; $sql = "SELECT A.salutation,A.firstName,A.lastName FROM authors A INNER JOIN article_authors B WHERE A.authorId=B.authorId AND B.articleId=$articleId"; $resultAuthor = mysqli_query($db, $sql); $numRowsAuthor = mysqli_num_rows($resultAuthor); if ($numRowsAuthor > 0) { $dataAuthor = mysqli_fetch_all($resultAuthor, MYSQLI_ASSOC); $row['author'] = $dataAuthor; } else { $row['author'] = []; } array_push($data,$row); } $dataJSON = ['status' => 200, 'data' => $data]; } // Search by Category if ($searchType == 'category') { $data = []; $sql = "SELECT articleId AS id,articleTitle AS title,articleDOI AS doi,articleSummary AS summary,filePdf,yearPublished FROM articles WHERE categoryId IN (SELECT categoryId FROM category WHERE category LIKE '%$searchVal%') ORDER BY articleTitle"; $result = mysqli_query($db, $sql); while($row = mysqli_fetch_assoc($result)) { $articleId = $row['id']; $sql = "SELECT A.salutation,A.firstName,A.lastName FROM authors A INNER JOIN article_authors B WHERE A.authorId=B.authorId AND B.articleId=$articleId"; $resultAuthor = mysqli_query($db, $sql); $numRowsAuthor = mysqli_num_rows($resultAuthor); if ($numRowsAuthor > 0) { $dataAuthor = mysqli_fetch_all($resultAuthor, MYSQLI_ASSOC); $row['author'] = $dataAuthor; } else { $row['author'] = []; } array_push($data,$row); } $dataJSON = ['status' => 200, 'data' => $data]; } echo json_encode($dataJSON);