Connect site to DB and enable contact email
This commit is contained in:
@@ -0,0 +1,809 @@
|
||||
<?php
|
||||
require __DIR__ . '/config/db.php';
|
||||
|
||||
$profileId = 1;
|
||||
|
||||
$profileStmt = $pdo->prepare('SELECT * FROM profile WHERE id = ? AND is_active = 1 LIMIT 1');
|
||||
$profileStmt->execute([$profileId]);
|
||||
$profile = $profileStmt->fetch();
|
||||
|
||||
$rolesStmt = $pdo->prepare('SELECT role_title FROM profile_roles WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$rolesStmt->execute([$profileId]);
|
||||
$roles = $rolesStmt->fetchAll();
|
||||
|
||||
$menuItems = $pdo->query('SELECT label, anchor, icon_class FROM menu_items WHERE is_active = 1 ORDER BY sort_order, id')->fetchAll();
|
||||
|
||||
$socialLinksStmt = $pdo->prepare('SELECT label, icon_class, url FROM social_links WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$socialLinksStmt->execute([$profileId]);
|
||||
$socialLinks = $socialLinksStmt->fetchAll();
|
||||
|
||||
$aboutStmt = $pdo->prepare('SELECT description FROM about_me WHERE profile_id = ? AND is_active = 1 LIMIT 1');
|
||||
$aboutStmt->execute([$profileId]);
|
||||
$about = $aboutStmt->fetch();
|
||||
|
||||
$personalInfoStmt = $pdo->prepare('SELECT label, value FROM personal_info_items WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$personalInfoStmt->execute([$profileId]);
|
||||
$personalInfo = $personalInfoStmt->fetchAll();
|
||||
|
||||
$servicesStmt = $pdo->prepare('SELECT icon_class, title, description FROM services WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$servicesStmt->execute([$profileId]);
|
||||
$services = $servicesStmt->fetchAll();
|
||||
|
||||
$testimonialsStmt = $pdo->prepare('SELECT author_name, company, photo_url, quote FROM testimonials WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$testimonialsStmt->execute([$profileId]);
|
||||
$testimonials = $testimonialsStmt->fetchAll();
|
||||
|
||||
$clientsStmt = $pdo->prepare('SELECT name, logo_url, website_url FROM clients WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$clientsStmt->execute([$profileId]);
|
||||
$clients = $clientsStmt->fetchAll();
|
||||
|
||||
$pricingPlansStmt = $pdo->prepare('SELECT id, name, price, billing_period, is_featured, button_label, button_url FROM pricing_plans WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$pricingPlansStmt->execute([$profileId]);
|
||||
$pricingPlans = $pricingPlansStmt->fetchAll();
|
||||
|
||||
$pricingFeaturesStmt = $pdo->query('SELECT pricing_plan_id, feature_text FROM pricing_features WHERE is_active = 1 ORDER BY sort_order, id');
|
||||
$pricingFeaturesRaw = $pricingFeaturesStmt->fetchAll();
|
||||
$pricingFeatures = [];
|
||||
foreach ($pricingFeaturesRaw as $row) {
|
||||
$pricingFeatures[(int) $row['pricing_plan_id']][] = $row['feature_text'];
|
||||
}
|
||||
|
||||
$funFactsStmt = $pdo->prepare('SELECT icon_class, title, value FROM fun_facts WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$funFactsStmt->execute([$profileId]);
|
||||
$funFacts = $funFactsStmt->fetchAll();
|
||||
|
||||
$educationStmt = $pdo->prepare('SELECT period_label, institution, degree_title, description FROM education WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$educationStmt->execute([$profileId]);
|
||||
$education = $educationStmt->fetchAll();
|
||||
|
||||
$experienceStmt = $pdo->prepare('SELECT period_label, company, role_title, description FROM experience WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$experienceStmt->execute([$profileId]);
|
||||
$experience = $experienceStmt->fetchAll();
|
||||
|
||||
$skillsStmt = $pdo->prepare('SELECT skill_type, name, proficiency FROM skills WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$skillsStmt->execute([$profileId]);
|
||||
$skillsRaw = $skillsStmt->fetchAll();
|
||||
$skills = ['design' => [], 'coding' => []];
|
||||
foreach ($skillsRaw as $row) {
|
||||
$type = $row['skill_type'];
|
||||
if (!isset($skills[$type])) {
|
||||
$skills[$type] = [];
|
||||
}
|
||||
$skills[$type][] = $row;
|
||||
}
|
||||
|
||||
$knowledgesStmt = $pdo->prepare('SELECT name FROM knowledges WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$knowledgesStmt->execute([$profileId]);
|
||||
$knowledges = $knowledgesStmt->fetchAll();
|
||||
|
||||
$certificatesStmt = $pdo->prepare('SELECT title, membership_id, date_label, company, logo_url FROM certificates WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$certificatesStmt->execute([$profileId]);
|
||||
$certificates = $certificatesStmt->fetchAll();
|
||||
|
||||
$portfolioCategories = $pdo->query('SELECT id, name, slug FROM portfolio_categories WHERE is_active = 1 ORDER BY sort_order, id')->fetchAll();
|
||||
|
||||
$portfolioCategoryMap = [];
|
||||
foreach ($portfolioCategories as $cat) {
|
||||
$portfolioCategoryMap[$cat['slug']] = $cat['name'];
|
||||
}
|
||||
|
||||
$portfolioItemsStmt = $pdo->prepare('SELECT id, title, item_type, thumb_url, link_url, icon_class FROM portfolio_items WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$portfolioItemsStmt->execute([$profileId]);
|
||||
$portfolioItems = $portfolioItemsStmt->fetchAll();
|
||||
|
||||
$portfolioItemCategoriesStmt = $pdo->query('SELECT pic.portfolio_item_id, pc.slug FROM portfolio_item_categories pic JOIN portfolio_categories pc ON pc.id = pic.portfolio_category_id WHERE pc.is_active = 1');
|
||||
$portfolioItemCategoriesRaw = $portfolioItemCategoriesStmt->fetchAll();
|
||||
$portfolioItemCategories = [];
|
||||
foreach ($portfolioItemCategoriesRaw as $row) {
|
||||
$portfolioItemCategories[(int) $row['portfolio_item_id']][] = $row['slug'];
|
||||
}
|
||||
|
||||
$blogPostsStmt = $pdo->prepare('SELECT bp.title, bp.slug, bp.cover_image_url, bp.published_date, bc.name AS category_name FROM blog_posts bp JOIN blog_categories bc ON bc.id = bp.category_id WHERE bp.profile_id = ? AND bp.is_active = 1 ORDER BY bp.published_date DESC, bp.id DESC');
|
||||
$blogPostsStmt->execute([$profileId]);
|
||||
$blogPosts = $blogPostsStmt->fetchAll();
|
||||
|
||||
$contactInfoStmt = $pdo->prepare('SELECT label, value, icon_class FROM contact_info WHERE profile_id = ? AND is_active = 1 ORDER BY sort_order, id');
|
||||
$contactInfoStmt->execute([$profileId]);
|
||||
$contactInfo = $contactInfoStmt->fetchAll();
|
||||
|
||||
$contactMetaStmt = $pdo->prepare('SELECT location_label, map_iframe_url, availability_label, recaptcha_site_key FROM contact_meta WHERE profile_id = ? AND is_active = 1 LIMIT 1');
|
||||
$contactMetaStmt->execute([$profileId]);
|
||||
$contactMeta = $contactMetaStmt->fetch();
|
||||
|
||||
function e($value)
|
||||
{
|
||||
return htmlspecialchars((string) $value, ENT_QUOTES, 'UTF-8');
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" class="no-js">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>BreezyCV - Resume / CV / vCard Template</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
||||
<meta name="description" content="BreezyCV - Resume / CV / vCard Template" />
|
||||
<meta name="keywords" content="vcard, resposnive, retina, resume, jquery, css3, bootstrap, Material CV, portfolio" />
|
||||
<meta name="author" content="lmpixels" />
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="css/reset.css" type="text/css">
|
||||
<link rel="stylesheet" href="css/bootstrap-grid.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="css/animations.css" type="text/css">
|
||||
<link rel="stylesheet" href="css/perfect-scrollbar.css" type="text/css">
|
||||
<link rel="stylesheet" href="css/owl.carousel.css" type="text/css">
|
||||
<link rel="stylesheet" href="css/magnific-popup.css" type="text/css">
|
||||
<link rel="stylesheet" href="css/main.css" type="text/css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Animated Background -->
|
||||
<div class="lm-animated-bg" style="background-image: url(img/main_bg.png);"></div>
|
||||
<!-- /Animated Background -->
|
||||
|
||||
<!-- Loading animation -->
|
||||
<div class="preloader">
|
||||
<div class="preloader-animation">
|
||||
<div class="preloader-spinner">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Loading animation -->
|
||||
|
||||
<div class="page">
|
||||
<div class="page-content">
|
||||
|
||||
<header id="site_header" class="header mobile-menu-hide">
|
||||
<div class="header-content">
|
||||
<div class="header-photo">
|
||||
<img src="<?php echo e($profile['photo_url'] ?? 'img/main_photo.jpg'); ?>" alt="<?php echo e($profile['full_name'] ?? 'Profile'); ?>">
|
||||
</div>
|
||||
<div class="header-titles">
|
||||
<h2><?php echo e($profile['full_name'] ?? ''); ?></h2>
|
||||
<h4><?php echo e($profile['headline'] ?? ''); ?></h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="main-menu">
|
||||
<?php foreach ($menuItems as $index => $item): ?>
|
||||
<li<?php echo $index === 0 ? ' class="active"' : ''; ?>>
|
||||
<a href="#<?php echo e($item['anchor']); ?>" class="nav-anim">
|
||||
<span class="menu-icon <?php echo e($item['icon_class']); ?>"></span>
|
||||
<span class="link-text"><?php echo e($item['label']); ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
|
||||
<div class="social-links">
|
||||
<ul>
|
||||
<?php foreach ($socialLinks as $link): ?>
|
||||
<li><a href="<?php echo e($link['url']); ?>" target="_blank"><i class="<?php echo e($link['icon_class']); ?>"></i></a></li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="header-buttons">
|
||||
<a href="<?php echo e($profile['cv_url'] ?: '#'); ?>" target="_blank" class="btn btn-primary">Download CV</a>
|
||||
</div>
|
||||
|
||||
<div class="copyrights">© 2020 All rights reserved.</div>
|
||||
</header>
|
||||
|
||||
<!-- Mobile Navigation -->
|
||||
<div class="menu-toggle">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
<!-- End Mobile Navigation -->
|
||||
|
||||
<!-- Arrows Nav -->
|
||||
<div class="lmpixels-arrows-nav">
|
||||
<div class="lmpixels-arrow-right"><i class="lnr lnr-chevron-right"></i></div>
|
||||
<div class="lmpixels-arrow-left"><i class="lnr lnr-chevron-left"></i></div>
|
||||
</div>
|
||||
<!-- End Arrows Nav -->
|
||||
|
||||
<div class="content-area">
|
||||
<div class="animated-sections">
|
||||
<!-- Home Subpage -->
|
||||
<section data-id="home" class="animated-section start-page">
|
||||
<div class="section-content vcentered">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-12">
|
||||
<div class="title-block">
|
||||
<h2><?php echo e($profile['full_name'] ?? ''); ?></h2>
|
||||
<div class="owl-carousel text-rotation">
|
||||
<?php foreach ($roles as $role): ?>
|
||||
<div class="item">
|
||||
<div class="sp-subtitle"><?php echo e($role['role_title']); ?></div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- End of Home Subpage -->
|
||||
|
||||
<!-- About Me Subpage -->
|
||||
<section data-id="about-me" class="animated-section">
|
||||
<div class="section-content">
|
||||
<div class="page-title">
|
||||
<h2>About <span>Me</span></h2>
|
||||
</div>
|
||||
|
||||
<!-- Personal Information -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-7">
|
||||
<p><?php echo e($about['description'] ?? ''); ?></p>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-sm-5">
|
||||
<div class="info-list">
|
||||
<ul>
|
||||
<?php foreach ($personalInfo as $info): ?>
|
||||
<li>
|
||||
<span class="title"><?php echo e($info['label']); ?></span>
|
||||
<span class="value"><?php echo e($info['value']); ?></span>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End of Personal Information -->
|
||||
|
||||
<div class="white-space-50"></div>
|
||||
|
||||
<!-- Services -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<div class="block-title">
|
||||
<h3>What <span>I Do</span></h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<?php
|
||||
$serviceChunks = array_chunk($services, 2);
|
||||
foreach ($serviceChunks as $chunk):
|
||||
?>
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<div class="col-inner">
|
||||
<div class="info-list-w-icon">
|
||||
<?php foreach ($chunk as $service): ?>
|
||||
<div class="info-block-w-icon">
|
||||
<div class="ci-icon">
|
||||
<i class="<?php echo e($service['icon_class']); ?>"></i>
|
||||
</div>
|
||||
<div class="ci-text">
|
||||
<h4><?php echo e($service['title']); ?></h4>
|
||||
<p><?php echo e($service['description']); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<!-- End of Services -->
|
||||
|
||||
<div class="white-space-30"></div>
|
||||
|
||||
<!-- Testimonials -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<div class="block-title">
|
||||
<h3>Testimonials</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<div class="testimonials owl-carousel">
|
||||
<?php foreach ($testimonials as $testimonial): ?>
|
||||
<div class="testimonial">
|
||||
<div class="img">
|
||||
<img src="<?php echo e($testimonial['photo_url']); ?>" alt="<?php echo e($testimonial['author_name']); ?>">
|
||||
</div>
|
||||
<div class="text">
|
||||
<p><?php echo e($testimonial['quote']); ?></p>
|
||||
</div>
|
||||
|
||||
<div class="author-info">
|
||||
<h4 class="author"><?php echo e($testimonial['author_name']); ?></h4>
|
||||
<h5 class="company"><?php echo e($testimonial['company']); ?></h5>
|
||||
<div class="icon">
|
||||
<i class="fas fa-quote-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End of Testimonials -->
|
||||
|
||||
<div class="white-space-50"></div>
|
||||
|
||||
<!-- Clients -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<div class="block-title">
|
||||
<h3>Cilents</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<div class="clients owl-carousel">
|
||||
<?php foreach ($clients as $client): ?>
|
||||
<div class="client-block">
|
||||
<a href="<?php echo e($client['website_url'] ?: '#'); ?>" target="_blank" title="<?php echo e($client['name']); ?>">
|
||||
<img src="<?php echo e($client['logo_url']); ?>" alt="<?php echo e($client['name']); ?>">
|
||||
</a>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End of Clients -->
|
||||
|
||||
<div class="white-space-50"></div>
|
||||
|
||||
<!-- Pricing -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
|
||||
<div class="block-title">
|
||||
<h3>Pricing</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class=" col-xs-12 col-sm-12 ">
|
||||
<div class="fw-pricing clearfix row">
|
||||
<?php foreach ($pricingPlans as $plan): ?>
|
||||
<div class="fw-package-wrap col-md-6 <?php echo $plan['is_featured'] ? 'highlight-col ' : ''; ?>">
|
||||
<div class="fw-package">
|
||||
<div class="fw-heading-row">
|
||||
<span><?php echo e($plan['name']); ?></span>
|
||||
</div>
|
||||
|
||||
<div class="fw-pricing-row">
|
||||
<span>$<?php echo e($plan['price']); ?></span>
|
||||
<small><?php echo e($plan['billing_period']); ?></small>
|
||||
</div>
|
||||
|
||||
<div class="fw-button-row">
|
||||
<a href="<?php echo e($plan['button_url'] ?: '#'); ?>" target="_self" class="btn <?php echo $plan['is_featured'] ? 'btn-primary' : 'btn-secondary'; ?>"><?php echo e($plan['button_label'] ?: 'Free Trial'); ?></a>
|
||||
</div>
|
||||
|
||||
<?php foreach ($pricingFeatures[$plan['id']] ?? [] as $feature): ?>
|
||||
<div class="fw-default-row"><?php echo e($feature); ?></div>
|
||||
<?php endforeach; ?>
|
||||
<?php if (empty($pricingFeatures[$plan['id']] ?? [])): ?>
|
||||
<div class="fw-default-row"></div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End of Pricing -->
|
||||
|
||||
<div class="white-space-50"></div>
|
||||
|
||||
<!-- Fun Facts -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
|
||||
<div class="block-title">
|
||||
<h3>Fun <span>Facts</span></h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<?php foreach ($funFacts as $fact): ?>
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<div class="fun-fact gray-default">
|
||||
<i class="<?php echo e($fact['icon_class']); ?>"></i>
|
||||
<h4><?php echo e($fact['title']); ?></h4>
|
||||
<span class="fun-fact-block-value"><?php echo e($fact['value']); ?></span>
|
||||
<span class="fun-fact-block-text"></span>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<!-- End of Fun Facts -->
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- End of About Me Subpage -->
|
||||
|
||||
<!-- Resume Subpage -->
|
||||
<section data-id="resume" class="animated-section">
|
||||
<div class="section-content">
|
||||
<div class="page-title">
|
||||
<h2>Resume</h2>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-7">
|
||||
|
||||
<div class="block-title">
|
||||
<h3>Education</h3>
|
||||
</div>
|
||||
|
||||
<div class="timeline timeline-second-style clearfix">
|
||||
<?php foreach ($education as $item): ?>
|
||||
<div class="timeline-item clearfix">
|
||||
<div class="left-part">
|
||||
<h5 class="item-period"><?php echo e($item['period_label']); ?></h5>
|
||||
<span class="item-company"><?php echo e($item['institution']); ?></span>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<div class="right-part">
|
||||
<h4 class="item-title"><?php echo e($item['degree_title']); ?></h4>
|
||||
<p><?php echo e($item['description']); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
<div class="white-space-50"></div>
|
||||
|
||||
<div class="block-title">
|
||||
<h3>Experience</h3>
|
||||
</div>
|
||||
|
||||
<div class="timeline timeline-second-style clearfix">
|
||||
<?php foreach ($experience as $item): ?>
|
||||
<div class="timeline-item clearfix">
|
||||
<div class="left-part">
|
||||
<h5 class="item-period"><?php echo e($item['period_label']); ?></h5>
|
||||
<span class="item-company"><?php echo e($item['company']); ?></span>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<div class="right-part">
|
||||
<h4 class="item-title"><?php echo e($item['role_title']); ?></h4>
|
||||
<p><?php echo e($item['description']); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Skills & Certificates -->
|
||||
<div class="col-xs-12 col-sm-5">
|
||||
<!-- Design Skills -->
|
||||
<div class="block-title">
|
||||
<h3>Design <span>Skills</span></h3>
|
||||
</div>
|
||||
|
||||
<div class="skills-info skills-second-style">
|
||||
<?php $skillIndex = 1; ?>
|
||||
<?php foreach ($skills['design'] ?? [] as $skill): ?>
|
||||
<div class="skill clearfix">
|
||||
<h4><?php echo e($skill['name']); ?></h4>
|
||||
<div class="skill-value"><?php echo e($skill['proficiency']); ?>%</div>
|
||||
</div>
|
||||
<div class="skill-container skill-<?php echo $skillIndex; ?>">
|
||||
<div class="skill-percentage"></div>
|
||||
</div>
|
||||
<?php $skillIndex++; ?>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<!-- End of Design Skills -->
|
||||
|
||||
<div class="white-space-10"></div>
|
||||
|
||||
<!-- Coding Skills -->
|
||||
<div class="block-title">
|
||||
<h3>Coding <span>Skills</span></h3>
|
||||
</div>
|
||||
|
||||
<div class="skills-info skills-second-style">
|
||||
<?php foreach ($skills['coding'] ?? [] as $skill): ?>
|
||||
<div class="skill clearfix">
|
||||
<h4><?php echo e($skill['name']); ?></h4>
|
||||
<div class="skill-value"><?php echo e($skill['proficiency']); ?>%</div>
|
||||
</div>
|
||||
<div class="skill-container skill-<?php echo $skillIndex; ?>">
|
||||
<div class="skill-percentage"></div>
|
||||
</div>
|
||||
<?php $skillIndex++; ?>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<!-- End of Coding Skills -->
|
||||
|
||||
<div class="white-space-10"></div>
|
||||
|
||||
<!-- Knowledges -->
|
||||
<div class="block-title">
|
||||
<h3>Knowledges</h3>
|
||||
</div>
|
||||
|
||||
<ul class="knowledges">
|
||||
<?php foreach ($knowledges as $knowledge): ?>
|
||||
<li><?php echo e($knowledge['name']); ?></li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<!-- End of Knowledges -->
|
||||
</div>
|
||||
<!-- End of Skills & Certificates -->
|
||||
</div>
|
||||
|
||||
<div class="white-space-50"></div>
|
||||
|
||||
<!-- Certificates -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<div class="block-title">
|
||||
<h3>Certificates</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<?php foreach ($certificates as $cert): ?>
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<div class="certificate-item clearfix">
|
||||
<div class="certi-logo">
|
||||
<img src="<?php echo e($cert['logo_url']); ?>" alt="logo">
|
||||
</div>
|
||||
|
||||
<div class="certi-content">
|
||||
<div class="certi-title">
|
||||
<h4><?php echo e($cert['title']); ?></h4>
|
||||
</div>
|
||||
<div class="certi-id">
|
||||
<span><?php echo e($cert['membership_id']); ?></span>
|
||||
</div>
|
||||
<div class="certi-date">
|
||||
<span><?php echo e($cert['date_label']); ?></span>
|
||||
</div>
|
||||
<div class="certi-company">
|
||||
<span><?php echo e($cert['company']); ?></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<!-- End of Certificates -->
|
||||
</div>
|
||||
</section>
|
||||
<!-- End of Resume Subpage -->
|
||||
|
||||
<!-- Portfolio Subpage -->
|
||||
<section data-id="portfolio" class="animated-section">
|
||||
<div class="section-content">
|
||||
<div class="page-title">
|
||||
<h2>Portfolio</h2>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<!-- Portfolio Content -->
|
||||
<div class="portfolio-content">
|
||||
|
||||
<ul class="portfolio-filters">
|
||||
<?php foreach ($portfolioCategories as $index => $cat): ?>
|
||||
<li<?php echo $index === 0 ? ' class="active"' : ''; ?>>
|
||||
<a class="filter btn btn-sm btn-link" data-group="<?php echo e($cat['slug']); ?>"><?php echo e($cat['name']); ?></a>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
|
||||
<!-- Portfolio Grid -->
|
||||
<div class="portfolio-grid three-columns">
|
||||
<?php foreach ($portfolioItems as $item): ?>
|
||||
<?php
|
||||
$itemId = (int) $item['id'];
|
||||
$groups = $portfolioItemCategories[$itemId] ?? [];
|
||||
if (!in_array('category_all', $groups, true)) {
|
||||
array_unshift($groups, 'category_all');
|
||||
}
|
||||
$groupJson = e(json_encode($groups));
|
||||
$type = $item['item_type'];
|
||||
$figureClass = 'standard';
|
||||
$linkClass = 'ajax-page-load';
|
||||
if ($type === 'audio') {
|
||||
$figureClass = 'lbaudio';
|
||||
$linkClass = 'lightbox mfp-iframe';
|
||||
} elseif ($type === 'video') {
|
||||
$figureClass = 'lbvideo';
|
||||
$linkClass = 'lightbox mfp-iframe';
|
||||
} elseif ($type === 'image') {
|
||||
$figureClass = 'lbimage';
|
||||
$linkClass = 'lightbox';
|
||||
}
|
||||
?>
|
||||
<figure class="item <?php echo e($figureClass); ?>" data-groups='<?php echo $groupJson; ?>'>
|
||||
<div class="portfolio-item-img">
|
||||
<img src="<?php echo e($item['thumb_url']); ?>" alt="<?php echo e($item['title']); ?>" title="" />
|
||||
<a href="<?php echo e($item['link_url']); ?>" class="<?php echo e($linkClass); ?>" title="<?php echo e($item['title']); ?>"></a>
|
||||
</div>
|
||||
|
||||
<i class="<?php echo e($item['icon_class']); ?>"></i>
|
||||
<h4 class="name"><?php echo e($item['title']); ?></h4>
|
||||
<?php
|
||||
$categoryLabels = array_values(array_filter($groups, function ($slug) {
|
||||
return $slug !== 'category_all';
|
||||
}));
|
||||
$displayCategory = '';
|
||||
if (!empty($categoryLabels)) {
|
||||
$first = $categoryLabels[0];
|
||||
$displayCategory = $portfolioCategoryMap[$first] ?? $first;
|
||||
}
|
||||
?>
|
||||
<span class="category"><?php echo e($displayCategory); ?></span>
|
||||
</figure>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End of Portfolio Content -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- End of Portfolio Subpage -->
|
||||
|
||||
<!-- Blog Subpage -->
|
||||
<section data-id="blog" class="animated-section">
|
||||
<div class="section-content">
|
||||
<div class="page-title">
|
||||
<h2>Blog</h2>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<div class="blog-masonry two-columns clearfix">
|
||||
<?php foreach ($blogPosts as $index => $post): ?>
|
||||
<div class="item post-<?php echo $index % 2 === 0 ? '1' : '2'; ?>">
|
||||
<div class="blog-card">
|
||||
<div class="media-block">
|
||||
<div class="category">
|
||||
<a href="#" title="View all posts in <?php echo e($post['category_name']); ?>"><?php echo e($post['category_name']); ?></a>
|
||||
</div>
|
||||
<a href="blog-post-1.html">
|
||||
<img src="<?php echo e($post['cover_image_url']); ?>" class="size-blog-masonry-image-two-c" alt="<?php echo e($post['title']); ?>" title="" />
|
||||
<div class="mask"></div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="post-info">
|
||||
<div class="post-date"><?php echo e($post['published_date'] ? date('d M Y', strtotime($post['published_date'])) : ''); ?></div>
|
||||
<a href="blog-post-1.html">
|
||||
<h4 class="blog-item-title"><?php echo e($post['title']); ?></h4>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</section>
|
||||
<!-- End of Blog Subpage -->
|
||||
|
||||
<!-- Contact Subpage -->
|
||||
<section data-id="contact" class="animated-section">
|
||||
<div class="section-content">
|
||||
<div class="page-title">
|
||||
<h2>Contact</h2>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<!-- Contact Info -->
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<?php foreach ($contactInfo as $info): ?>
|
||||
<div class="lm-info-block gray-default">
|
||||
<i class="<?php echo e($info['icon_class']); ?>"></i>
|
||||
<h4><?php echo e($info['label']); ?></h4>
|
||||
<span class="lm-info-block-value"><?php echo e($info['value']); ?></span>
|
||||
<span class="lm-info-block-text"></span>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<!-- End of Contact Info -->
|
||||
|
||||
<!-- Contact Form -->
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<div class="lmpixels-map">
|
||||
<iframe frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="<?php echo e($contactMeta['map_iframe_url'] ?? ''); ?>"></iframe>
|
||||
</div>
|
||||
<div class="block-title">
|
||||
<h3>How Can I <span>Help You?</span></h3>
|
||||
</div>
|
||||
|
||||
<form id="contact_form" class="contact-form" action="contact_form/contact_form.php" method="post">
|
||||
|
||||
<div class="messages"></div>
|
||||
|
||||
<div class="controls two-columns">
|
||||
<div class="fields clearfix">
|
||||
<div class="left-column">
|
||||
<div class="form-group form-group-with-icon">
|
||||
<input id="form_name" type="text" name="name" class="form-control" placeholder="" required="required" data-error="Name is required.">
|
||||
<label>Full Name</label>
|
||||
<div class="form-control-border"></div>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group form-group-with-icon">
|
||||
<input id="form_email" type="email" name="email" class="form-control" placeholder="" required="required" data-error="Valid email is required.">
|
||||
<label>Email Address</label>
|
||||
<div class="form-control-border"></div>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group form-group-with-icon">
|
||||
<input id="form_subject" type="text" name="subject" class="form-control" placeholder="" required="required" data-error="Subject is required.">
|
||||
<label>Subject</label>
|
||||
<div class="form-control-border"></div>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-column">
|
||||
<div class="form-group form-group-with-icon">
|
||||
<textarea id="form_message" name="message" class="form-control" placeholder="" rows="7" required="required" data-error="Please, leave me a message."></textarea>
|
||||
<label>Message</label>
|
||||
<div class="form-control-border"></div>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="g-recaptcha" data-sitekey="<?php echo e($contactMeta['recaptcha_site_key'] ?? ''); ?>" data-theme="dark"></div>
|
||||
|
||||
<input type="submit" class="button btn-send" value="Send message">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- End of Contact Form -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- End of Contact Subpage -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="js/jquery.min.js"></script>
|
||||
<script src="js/modernizr.custom.js"></script>
|
||||
<script src="js/animating.js"></script>
|
||||
|
||||
<script src="js/imagesloaded.pkgd.min.js"></script>
|
||||
<script src='https://www.google.com/recaptcha/api.js'></script>
|
||||
|
||||
<script src='js/perfect-scrollbar.min.js'></script>
|
||||
<script src='js/jquery.shuffle.min.js'></script>
|
||||
<script src='js/masonry.pkgd.min.js'></script>
|
||||
<script src='js/owl.carousel.min.js'></script>
|
||||
<script src="js/jquery.magnific-popup.min.js"></script>
|
||||
|
||||
<script src="js/validator.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user