cai-exos-systems/daveadmin-exos-new:clients.php
clients.php
```text
<?php
/**
* Exos Systems - Clients
*/
require_once __DIR__ . '/config/config.php';
enforcePublicModuleVisible('page_clients', [
'current_page' => 'clients',
'page_title' => 'Clients unavailable | Exos Systems',
'page_description' => 'The clients page is not currently public.',
]);
$page = getPage('clients');
$currentPage = 'clients';
$pageTitle = $page['meta_title'] ?? 'Clients | Exos Systems';
$pageDescription = $page['meta_description'] ?? 'Explore Exos client relationships, transformation stories, and delivery proof across telecom programmes.';
$pageSeoExtra = [
'og_title' => $page['og_title'] ?? $pageTitle,
'og_description' => $page['og_description'] ?? $pageDescription,
'og_image' => $page['og_image'] ?? '',
'twitter_card' => $page['twitter_card'] ?? 'summary_large_image',
'canonical_url' => $page['canonical_url'] ?? SITE_URL . '/clients.php',
'meta_title' => $pageTitle,
'meta_description' => $pageDescription,
];
$clients = getClients();
$featuredCaseStudies = getFeaturedCaseStudies(3);
$featuredTestimonials = getFeaturedTestimonials(2);
$breadcrumbItems = [['label' => 'Clients']];
$pageJsonLd = getJsonLd('BreadcrumbList', [
'items' => [
['label' => 'Home', 'url' => 'index.php'],
['label' => 'Clients', 'url' => 'clients.php'],
],
]);
require_once EXOS_INCLUDES_PATH . '/header.php';
?>
<section class="page-hero">
<div class="container" data-animate="fade-up">
<?= buildBreadcrumb($breadcrumbItems) ?>
<h1 class="page-hero__title"><?= sanitize($page['title'] ?? 'Our Clients') ?></h1>
<p class="page-hero__subtitle"><?= sanitize($page['subtitle'] ?? 'Trusted partnerships, delivery proof, and transformation stories from the telecom organisations Exos has supported.') ?></p>
</div>
</section>
<?php if (!empty($page['content'])): ?>
<section class="section">
<div class="container" data-animate="fade-up">
<div class="cms-content"><?= $page['content'] ?></div>
</div>
</section>
<?php endif; ?>
<?php if ($clients): ?>
<section class="section">
<div class="container">
<div class="section__visual-break" style="margin-bottom: 2.5rem;" data-animate="fade-up">
<img src="assets/images/pages/clients-business.jpg" alt="Exos Systems — Global Client Partnerships" loading="lazy">
</div>
<div class="section__header section__header--center" data-animate="fade-up">
<div class="section__label">Client Portfolio</div>
<h2 class="section__title">Organisations We Support</h2>
<p class="section__subtitle">Telecom operators, enterprise platforms, and transformation programmes where Exos has delivered measurable results.</p>
</div>
<div class="client-grid">
<?php foreach ($clients as $i => $client): ?>
<a href="<?= sanitize(getClientUrl($client)) ?>" class="client-card" data-animate="fade-up" data-delay="<?= $i * 80 ?>">
<div class="client-card__header">
<div>
<?php if (!empty($client['logo_url'])): ?>
<div style="margin-bottom: 0.75rem;">
<img src="<?= sanitize($client['logo_url']) ?>" alt="<?= sanitize($client['company_name']) ?>" class="client-logo__img" loading="lazy">
</div>
<?php endif; ?>
<?php if (!empty($client['is_featured'])): ?>
<div class="service-card__eyebrow">Featured Client</div>
<?php endif; ?>
<h3 class="client-card__title"><?= sanitize($client['company_name']) ?></h3>
</div>
<?php if (!empty($client['website_url'])): ?>
<span class="client-card__external">Website</span>
<?php endif; ?>
</div>
<div class="client-card__meta">
<?php if (!empty($client['industry'])): ?>
<span><?= sanitize($client['industry']) ?></span>
<?php endif; ?>
<?php if (!empty($client['country'])): ?>
<span><?= sanitize($client['country']) ?></span>
<?php endif; ?>
</div>
<p class="client-card__summary"><?= sanitize($client['headline'] ?: 'Telecom transformation and delivery partnership with Exos Systems.') ?></p>
<span class="service-card__cta">
View Client Page
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="14" height="14"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
</span>
</a>
<?php endforeach; ?>
</div>
</div>
</section>
<?php endif; ?>
<?php if ($featuredCaseStudies || $featuredTestimonials): ?>
<section class="section section--alt">
<div class="container">
<div class="section__header section__header--center" data-animate="fade-up">
<div class="section__label">Delivery Impact</div>
<h2 class="section__title">Featured Case Studies & Testimonials</h2>
<p class="section__subtitle">Selected proof points from real engagements—transformation outcomes, client perspectives, and programme delivery results.</p>
</div>
clients.php View Client Page <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="14" height="14"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg> </span> </a> <?php endforeach; ?> </div> </div> </section> <?php endif; ?> <?php if ($featuredCaseStudies || $featuredTestimonials): ?> <section class="section section--alt"> <div class="container"> <div class="section__header section__header--center" data-animate="fade-up"> <div class="section__label">Delivery Impact</div> <h2 class="section__title">Featured Case Studies & Testimonials</h2> <p class="section__subtitle">Selected proof points from real engagements—transformation outcomes, client perspectives, and programme delivery results.</p> </div> <?php if ($featuredCaseStudies): ?> <div class="proof-grid" style="margin-bottom: 1.5rem;"> <?php foreach ($featuredCaseStudies as $i => $caseStudy): ?> <a href="<?= sanitize(getCaseStudyUrl($caseStudy)) ?>" class="case-study-card case-study-card--link" data-animate="fade-up" data-delay="<?= $i * 100 ?>" style="text-decoration: none;"> <div class="case-study-card__meta"> <span><?= sanitize($caseStudy['client_company_name'] ?? 'Exos Client') ?></span> <?php if (!empty($caseStudy['region'])): ?> <span><?= sanitize($caseStudy['region']) ?></span> <?php endif; ?> </div> <h3 class="case-study-card__title"><?= sanitize($caseStudy['title']) ?></h3> <?php if (!empty($caseStudy['summary'])): ?> <p class="case-study-card__summary"><?= sanitize($caseStudy['summary']) ?></p> <?php endif; ?> <span class="proof-link">Read case study</span> </a> <?php endforeach; ?> </div> <?php endif; ?> <?php if ($featuredTestimonials): ?> <div class="testimonials-grid"> <?php foreach ($featuredTestimonials as $i => $testimonial): ?> <div class="testimonial-card" data-animate="fade-up" data-delay="<?= $i * 100 ?>"> <div class="testimonial-card__quote-mark">“</div> <p class="testimonial-card__quote"><?= sanitize($testimonial['quote']) ?></p> <div class="testimonial-card__author"> <div class="testimonial-card__avatar"><?= sanitize(getInitials($testimonial['author_name'])) ?></div> <div> <div class="testimonial-card__name"><?= sanitize($testimonial['author_name']) ?></div> <div class="testimonial-card__title"><?= sanitize($testimonial['author_title']) ?>, <?= sanitize($testimonial['author_company'] ?: ($testimonial['client_company_name'] ?? 'Exos Client')) ?></div> </div> </div> </div> <?php endforeach; ?> </div> <?php endif; ?> <div class="section-actions" data-animate="fade-up"> <a href="case-studies.php" class="btn btn--primary">Explore Case Studies</a> <a href="testimonials.php" class="btn btn--outline">Read Testimonials</a> </div> </div> </section> <?php endif; ?> <?php require_once EXOS_INCLUDES_PATH . '/footer.php'; ?> ```
clients.php View Client Page <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="14" height="14"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg> </span> </a> <?php endforeach; ?> </div> </div> </section> <?php endif; ?> <?php if ($featuredCaseStudies || $featuredTestimonials): ?> <section class="section section--alt"> <div class="container"> <div class="section__header section__header--center" data-animate="fade-up"> <div class="section__label">Delivery Impact</div> <h2 class="section__title">Featured Case Studies & Testimonials</h2> <p class="section__subtitle">Selected proof points from real engagements—transformation outcomes, client perspectives, and programme delivery results.</p> </div> <?php if ($featuredCaseStudies): ?> <div class="proof-grid" style="margin-bottom: 1.5rem;"> <?php foreach ($featuredCaseStudies as $i => $caseStudy): ?> <a href="<?= sanitize(getCaseStudyUrl($caseStudy)) ?>" class="case-study-card case-study-card--link" data-animate="fade-up" data-delay="<?= $i * 100 ?>" style="text-decoration: none;"> <div class="case-study-card__meta"> <span><?= sanitize($caseStudy['client_company_name'] ?? 'Exos Client') ?></span> <?php if (!empty($caseStudy['region'])): ?> <span><?= sanitize($caseStudy['region']) ?></span> <?php endif; ?> </div> <h3 class="case-study-card__title"><?= sanitize($caseStudy['title']) ?></h3> <?php if (!empty($caseStudy['summary'])): ?> <p class="case-study-card__summary"><?= sanitize($caseStudy['summary']) ?></p> <?php endif; ?> <span class="proof-link">Read case study</span> </a> <?php endforeach; ?> </div> <?php endif; ?> <?php if ($featuredTestimonials): ?> <div class="testimonials-grid"> <?php foreach ($featuredTestimonials as $i => $testimonial): ?> <div class="testimonial-card" data-animate="fade-up" data-delay="<?= $i * 100 ?>"> <div class="testimonial-card__quote-mark">“</div> <p class="testimonial-card__quote"><?= sanitize($testimonial['quote']) ?></p> <div class="testimonial-card__author"> <div class="testimonial-card__avatar"><?= sanitize(getInitials($testimonial['author_name'])) ?></div> <div> <div class="testimonial-card__name"><?= sanitize($testimonial['author_name']) ?></div> <div class="testimonial-card__title"><?= sanitize($testimonial['author_title']) ?>, <?= sanitize($testimonial['author_company'] ?: ($testimonial['client_company_name'] ?? 'Exos Client')) ?></div> </div> </div> </div> <?php endforeach; ?> </div> <?php endif; ?> <div class="section-actions" data-animate="fade-up"> <a href="case-studies.php" class="btn btn--primary">Explore Case Studies</a> <a href="testimonials.php" class="btn btn--outline">Read Testimonials</a> </div> </div> </section> <?php endif; ?> <?php require_once EXOS_INCLUDES_PATH . '/footer.php'; ?> ```