prepare("SHOW TABLES LIKE ?"); $stmt->execute([$table]); return (bool)$stmt->fetchColumn(); } catch (Throwable $e) { return false; } } function getColumns(PDO $pdo, string $table): array { try { $stmt = $pdo->query("SHOW COLUMNS FROM `$table`"); return array_map(fn($r) => $r['Field'], $stmt->fetchAll(PDO::FETCH_ASSOC)); } catch (Throwable $e) { return []; } } function firstExistingColumn(array $available, array $preferred): ?string { foreach ($preferred as $col) { if (in_array($col, $available, true)) return $col; } return null; } function getParam(string $key): string { return trim((string)($_GET[$key] ?? '')); } function detectJournalSlugFromRequest(): string { foreach ([getParam('slug'), getParam('journal'), getParam('journal_slug')] as $v) { if ($v !== '') return $v; } $uri = parse_url($_SERVER['REQUEST_URI'] ?? '', PHP_URL_PATH); $segments = array_values(array_filter(explode('/', (string)$uri))); foreach ($segments as $segment) { if (!in_array($segment, ['journal-info','reviewer-thanks.php','reviewer-thanks','index.php'], true)) { if (preg_match('/^[a-z0-9\-]+$/i', $segment)) return $segment; } } return ''; } function buildCurrentPageUrl(string $slug): string { return '/journal-info/reviewer-thanks.php?journal=' . urlencode($slug); } function renderHtmlOrText(string $content): string { $content = trim($content); if ($content === '') return ''; if (strip_tags($content) !== $content) return $content; return '

' . nl2br(e($content)) . '

'; } if (!isset($pdo) || !$pdo) die('Database connection is not available.'); if (!tableExists($pdo, 'tb_journals')) die('Table tb_journals not found.'); $journalCols = getColumns($pdo, 'tb_journals'); $journalIdCol = firstExistingColumn($journalCols, ['id']); $journalNameCol = firstExistingColumn($journalCols, ['journal_title', 'journal_name', 'name', 'title']); $journalSlugCol = firstExistingColumn($journalCols, ['journal_slug', 'slug', 'url_slug']); $journalDescCol = firstExistingColumn($journalCols, ['description', 'journal_description', 'about_journal', 'short_description']); $journalShortCol = firstExistingColumn($journalCols, ['journal_short_name', 'short_name', 'abbreviation']); $journalStatusCol = firstExistingColumn($journalCols, ['status']); $journalThanksCol = firstExistingColumn($journalCols, ['reviewer_thanks', 'reviewer_acknowledgement', 'reviewer_acknowledgment']); if (!$journalIdCol || !$journalNameCol) die('tb_journals is missing required columns.'); $requestedSlug = detectJournalSlugFromRequest(); $requestedId = (int)($_GET['id'] ?? ($_GET['journal_id'] ?? 0)); $journal = null; try { if ($requestedSlug !== '' && $journalSlugCol) { $sql = "SELECT * FROM `tb_journals` WHERE `$journalSlugCol` = ? "; if ($journalStatusCol) $sql .= "AND `$journalStatusCol` IN ('Active','active',1,'1') "; $sql .= "LIMIT 1"; $stmt = $pdo->prepare($sql); $stmt->execute([$requestedSlug]); $journal = $stmt->fetch(PDO::FETCH_ASSOC); } if (!$journal && $requestedId > 0) { $sql = "SELECT * FROM `tb_journals` WHERE `$journalIdCol` = ? "; if ($journalStatusCol) $sql .= "AND `$journalStatusCol` IN ('Active','active',1,'1') "; $sql .= "LIMIT 1"; $stmt = $pdo->prepare($sql); $stmt->execute([$requestedId]); $journal = $stmt->fetch(PDO::FETCH_ASSOC); } if (!$journal) { $sql = "SELECT * FROM `tb_journals` "; if ($journalStatusCol) $sql .= "WHERE `$journalStatusCol` IN ('Active','active',1,'1') "; $sql .= "ORDER BY `$journalIdCol` ASC LIMIT 1"; $stmt = $pdo->query($sql); $journal = $stmt->fetch(PDO::FETCH_ASSOC); } } catch (Throwable $e) { die('Error loading journal: ' . e($e->getMessage())); } if (!$journal) die('No journal found.'); $journalId = (int)($journal[$journalIdCol] ?? 0); $journalName = trim((string)($journal[$journalNameCol] ?? 'Journal')); $journalSlug = $journalSlugCol ? trim((string)($journal[$journalSlugCol] ?? '')) : ''; $journalDesc = $journalDescCol ? trim((string)($journal[$journalDescCol] ?? '')) : ''; $journalShort = $journalShortCol ? trim((string)($journal[$journalShortCol] ?? '')) : ''; $reviewerThanks = $journalThanksCol ? trim((string)($journal[$journalThanksCol] ?? '')) : ''; $reviewerTable = null; foreach (['tb_journal_reviewer_board', 'journal_reviewer_board', 'reviewer_board'] as $tbl) { if (tableExists($pdo, $tbl)) { $reviewerTable = $tbl; break; } } $reviewers = []; $pageMessage = ''; if ($reviewerTable) { $reviewerCols = getColumns($pdo, $reviewerTable); $revIdCol = firstExistingColumn($reviewerCols, ['id']); $revJournalIdCol = firstExistingColumn($reviewerCols, ['journal_id']); $revJournalSlugCol = firstExistingColumn($reviewerCols, ['journal_slug', 'slug']); $revJournalNameCol = firstExistingColumn($reviewerCols, ['journal_name', 'journal']); $revNameCol = firstExistingColumn($reviewerCols, ['member_name', 'name', 'full_name', 'reviewer_name']); $revTypeCol = firstExistingColumn($reviewerCols, ['member_type', 'role', 'position']); $revDesignationCol = firstExistingColumn($reviewerCols, ['designation', 'title']); $revInstitutionCol = firstExistingColumn($reviewerCols, ['institution', 'affiliation', 'organization', 'university']); $revCountryCol = firstExistingColumn($reviewerCols, ['country']); $revOrderCol = firstExistingColumn($reviewerCols, ['display_order', 'sort_order', 'position_order', 'id']); $revStatusCol = firstExistingColumn($reviewerCols, ['status']); if ($revNameCol) { $select = [ $revIdCol ? "`$revIdCol` AS `id`" : "0 AS `id`", $revJournalIdCol ? "`$revJournalIdCol` AS `journal_id`" : "0 AS `journal_id`", $revJournalSlugCol ? "`$revJournalSlugCol` AS `journal_slug`" : "'' AS `journal_slug`", $revJournalNameCol ? "`$revJournalNameCol` AS `journal_name`" : "'' AS `journal_name`", "`$revNameCol` AS `member_name`", $revTypeCol ? "`$revTypeCol` AS `member_type`" : "'' AS `member_type`", $revDesignationCol ? "`$revDesignationCol` AS `designation`" : "'' AS `designation`", $revInstitutionCol ? "`$revInstitutionCol` AS `institution`" : "'' AS `institution`", $revCountryCol ? "`$revCountryCol` AS `country`" : "'' AS `country`", $revOrderCol ? "`$revOrderCol` AS `display_order`" : "999999 AS `display_order`" ]; $whereParts = []; $params = []; if ($revJournalIdCol && $journalId > 0) { $whereParts[] = "`$revJournalIdCol` = ?"; $params[] = $journalId; } if ($revJournalSlugCol && $journalSlug !== '') { $whereParts[] = "LOWER(TRIM(`$revJournalSlugCol`)) = LOWER(TRIM(?))"; $params[] = $journalSlug; } if ($revJournalNameCol && $journalName !== '') { $whereParts[] = "LOWER(TRIM(`$revJournalNameCol`)) = LOWER(TRIM(?))"; $params[] = $journalName; } $sql = "SELECT " . implode(", ", $select) . " FROM `$reviewerTable`"; if (!empty($whereParts)) { $sql .= " WHERE (" . implode(' OR ', $whereParts) . ")"; } else { $sql .= " WHERE 1=1"; } if ($revStatusCol) { $sql .= " AND `$revStatusCol` IN ('Active','active',1,'1')"; } $sql .= " ORDER BY CAST(display_order AS UNSIGNED) ASC, id ASC"; try { $stmt = $pdo->prepare($sql); $stmt->execute($params); $reviewers = $stmt->fetchAll(PDO::FETCH_ASSOC) ?: []; } catch (Throwable $e) { $pageMessage = 'Unable to load reviewer records: ' . $e->getMessage(); } } else { $pageMessage = 'Reviewer board table exists, but reviewer name column was not found.'; } } else { $pageMessage = 'Reviewer board table not found.'; } $totalReviewers = count($reviewers); $metaTitle = 'Reviewers Thanks | ' . $journalName; $metaDescription = 'Reviewer thanks and acknowledgement page for ' . $journalName . ', recognizing reviewer contributions to peer review and editorial quality.'; $canonicalUrl = buildCurrentPageUrl($journalSlug ?: (string)$journalId); $defaultThanks = $journalName . ' sincerely thanks its reviewers for their time, expertise, and commitment to academic quality. Reviewer contributions are central to maintaining rigorous editorial standards, fair assessment, and constructive scholarly communication across submissions received by the journal.'; ?> <?= e($metaTitle) ?>
· Peer Review Community

Reviewers Thanks

values the time, expertise, and academic commitment of reviewers who support the journal’s peer review process.

Reviewers Reviewer records are loaded dynamically from the journal reviewer board table.
Academic Acknowledgement Recognizing reviewer service, scholarly evaluation, and editorial support.

Reviewer acknowledgements

01

Expert insight

Reviewers bring subject knowledge that supports informed editorial assessment.

02

Constructive evaluation

Reviewer recommendations help authors improve clarity, structure, and reporting.

03

Scholarly integrity

Peer review contributes to fairness, transparency, and confidence in published research.

Annual thanks

Each year, recognizes the valuable service of reviewers who support submissions, revisions, and editorial consultations.

Become a reviewer

welcomes qualified clinicians, researchers, and academic professionals interested in contributing to the peer review process.

  • Contribute to the quality and integrity of scholarly publishing
  • Engage with current research in the journal’s subject areas
  • Support authors through constructive academic feedback
  • Strengthen professional and editorial experience

Reviewer criteria

Reviewers should have relevant academic or clinical expertise, research experience, and a clear understanding of scholarly communication.

  • Subject expertise in the journal’s research scope
  • Experience in research, clinical practice, or academic publishing
  • Commitment to confidentiality and ethical review conduct
  • Ability to provide timely and constructive feedback

Reviewer Recognition List

The following reviewers are associated with and are displayed dynamically from your database.

No reviewer records found

Reviewer names will appear here once reviewer board members are added and linked to this journal.

Peer review support

The journal supports reviewers with clear expectations, editorial guidance, and communication throughout the review process.

  • Reviewer guidance and policy references
  • Editorial communication during review
  • Support for confidentiality and conflict of interest questions
  • Clarification on review expectations and timelines

Interested in supporting peer review?

Join our reviewer community or contact the Editorial Office to learn more.